Merge "Made SwiftFileBackend::loadObjectListing() populate stat entries in reverse...
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 7 Jun 2013 23:40:44 +0000 (23:40 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 7 Jun 2013 23:40:44 +0000 (23:40 +0000)
683 files changed:
.jshintignore
RELEASE-NOTES-1.21 [deleted file]
RELEASE-NOTES-1.22
api.php
docs/hooks.txt
docs/php-memcached/Documentation
docs/skin.txt
docs/uidesign/child-selector-emu.html
docs/uidesign/design.html
docs/uidesign/mediawiki.action.history.diff.html
docs/uidesign/monospace.html
docs/uidesign/table-layout.html
img_auth.php
includes/Article.php
includes/AutoLoader.php
includes/CategoryViewer.php
includes/ChangesList.php
includes/DefaultSettings.php
includes/GitInfo.php
includes/GlobalFunctions.php
includes/HTMLForm.php
includes/Html.php
includes/HttpFunctions.php
includes/ImagePage.php
includes/LinksUpdate.php
includes/OutputPage.php
includes/Preferences.php
includes/RecentChange.php
includes/Sanitizer.php
includes/ScopedCallback.php
includes/Setup.php
includes/SiteStats.php
includes/Skin.php
includes/SkinTemplate.php
includes/SpecialPage.php
includes/Title.php
includes/User.php
includes/WatchedItem.php
includes/WebRequest.php
includes/WebResponse.php
includes/WebStart.php
includes/Wiki.php
includes/WikiPage.php
includes/XmlTypeCheck.php
includes/actions/InfoAction.php
includes/actions/RawAction.php
includes/api/ApiBase.php
includes/api/ApiPageSet.php
includes/api/ApiParse.php
includes/api/ApiQueryInfo.php
includes/api/ApiQueryUsers.php
includes/api/ApiUpload.php
includes/api/ApiUserrights.php
includes/cache/LinkCache.php
includes/cache/MessageCache.php
includes/clientpool/RedisConnectionPool.php
includes/content/AbstractContent.php
includes/content/CssContent.php
includes/content/JavaScriptContent.php
includes/content/TextContent.php
includes/content/WikitextContent.php
includes/db/Database.php
includes/db/DatabaseMysql.php
includes/db/DatabaseOracle.php
includes/db/DatabasePostgres.php
includes/db/LoadBalancer.php
includes/debug/Debug.php
includes/diff/DifferenceEngine.php
includes/filebackend/lockmanager/LockManager.php
includes/filebackend/lockmanager/ScopedLock.php
includes/filerepo/file/LocalFile.php
includes/installer/Installer.i18n.php
includes/installer/LocalSettingsGenerator.php
includes/installer/OracleInstaller.php
includes/installer/OracleUpdater.php
includes/installer/WebInstallerPage.php
includes/job/JobQueueAggregator.php [deleted file]
includes/job/JobQueueAggregatorMemc.php [deleted file]
includes/job/JobQueueAggregatorRedis.php [deleted file]
includes/job/JobQueueDB.php
includes/job/JobQueueRedis.php
includes/job/aggregator/JobQueueAggregator.php [new file with mode: 0644]
includes/job/aggregator/JobQueueAggregatorMemc.php [new file with mode: 0644]
includes/job/aggregator/JobQueueAggregatorRedis.php [new file with mode: 0644]
includes/job/jobs/RefreshLinksJob.php
includes/logging/LogPage.php
includes/logging/PatrolLog.php
includes/media/FormatMetadata.php
includes/media/GIF.php
includes/media/GIFMetadataExtractor.php
includes/media/JpegMetadataExtractor.php
includes/media/MediaHandler.php
includes/media/MediaTransformOutput.php
includes/media/PNG.php
includes/media/PNGMetadataExtractor.php
includes/media/SVG.php
includes/normal/README
includes/parser/CoreParserFunctions.php
includes/parser/Parser.php
includes/profiler/Profiler.php
includes/resourceloader/ResourceLoader.php
includes/resourceloader/ResourceLoaderContext.php
includes/resourceloader/ResourceLoaderFileModule.php
includes/resourceloader/ResourceLoaderSiteModule.php
includes/resourceloader/ResourceLoaderWikiModule.php
includes/specials/SpecialNewpages.php
includes/specials/SpecialPasswordReset.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialUndelete.php
includes/specials/SpecialUpload.php
includes/specials/SpecialWatchlist.php
includes/templates/UsercreateVForm.php
includes/templates/UserloginVForm.php
includes/upload/UploadBase.php
includes/upload/UploadFromChunks.php
includes/upload/UploadFromStash.php
includes/upload/UploadStash.php
index.php
languages/Language.php
languages/LanguageConverter.php
languages/Names.php
languages/classes/LanguageGan.php
languages/classes/LanguageIu.php
languages/classes/LanguageKk.php
languages/classes/LanguageKu.php
languages/classes/LanguageShi.php
languages/classes/LanguageSr.php
languages/classes/LanguageTg.php
languages/classes/LanguageUz.php
languages/classes/LanguageZh.php
languages/messages/MessagesAf.php
languages/messages/MessagesAln.php
languages/messages/MessagesAm.php
languages/messages/MessagesAn.php
languages/messages/MessagesAnp.php
languages/messages/MessagesAr.php
languages/messages/MessagesArc.php
languages/messages/MessagesArn.php
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/MessagesBbc.php [new file with mode: 0644]
languages/messages/MessagesBbc_latn.php [new file with mode: 0644]
languages/messages/MessagesBcc.php
languages/messages/MessagesBcl.php
languages/messages/MessagesBe.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBg.php
languages/messages/MessagesBjn.php
languages/messages/MessagesBn.php
languages/messages/MessagesBo.php
languages/messages/MessagesBpy.php
languages/messages/MessagesBqi.php
languages/messages/MessagesBr.php
languages/messages/MessagesBrh.php
languages/messages/MessagesBs.php
languages/messages/MessagesBug.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/MessagesDv.php
languages/messages/MessagesDz.php
languages/messages/MessagesEe.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/MessagesFf.php
languages/messages/MessagesFi.php
languages/messages/MessagesFit.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrc.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/MessagesGn.php
languages/messages/MessagesGrc.php
languages/messages/MessagesGsw.php
languages/messages/MessagesGu.php
languages/messages/MessagesGv.php
languages/messages/MessagesHa.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/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/MessagesJut.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/MessagesKoi.php
languages/messages/MessagesKrc.php
languages/messages/MessagesKri.php
languages/messages/MessagesKsh.php
languages/messages/MessagesKu_latn.php
languages/messages/MessagesKw.php
languages/messages/MessagesKy.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/MessagesLiv.php
languages/messages/MessagesLmo.php
languages/messages/MessagesLn.php
languages/messages/MessagesLo.php
languages/messages/MessagesLoz.php
languages/messages/MessagesLt.php
languages/messages/MessagesLtg.php
languages/messages/MessagesLus.php
languages/messages/MessagesLv.php
languages/messages/MessagesLzh.php
languages/messages/MessagesLzz.php
languages/messages/MessagesMai.php
languages/messages/MessagesMap_bms.php
languages/messages/MessagesMdf.php
languages/messages/MessagesMg.php
languages/messages/MessagesMin.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesMn.php
languages/messages/MessagesMo.php
languages/messages/MessagesMr.php
languages/messages/MessagesMrj.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/MessagesNap.php
languages/messages/MessagesNb.php
languages/messages/MessagesNds.php
languages/messages/MessagesNds_nl.php
languages/messages/MessagesNe.php
languages/messages/MessagesNew.php
languages/messages/MessagesNl.php
languages/messages/MessagesNl_informal.php
languages/messages/MessagesNn.php
languages/messages/MessagesNov.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/MessagesPdt.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/MessagesRgn.php
languages/messages/MessagesRif.php
languages/messages/MessagesRm.php
languages/messages/MessagesRmy.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/MessagesSd.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/MessagesSma.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/MessagesTo.php
languages/messages/MessagesTpi.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/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.php
maintenance/Doxyfile
maintenance/Maintenance.php
maintenance/archives/upgradeLogging.php
maintenance/attachLatest.php
maintenance/backup.inc
maintenance/backupTextPass.inc
maintenance/benchmarks/Benchmarker.php
maintenance/benchmarks/bench_HTTP_HTTPS.php
maintenance/benchmarks/bench_delete_truncate.php
maintenance/benchmarks/bench_if_switch.php
maintenance/benchmarks/bench_strtr_str_replace.php
maintenance/benchmarks/bench_utf8_title_check.php
maintenance/benchmarks/bench_wfBaseConvert.php
maintenance/benchmarks/bench_wfIsWindows.php
maintenance/benchmarks/benchmarkHooks.php
maintenance/benchmarks/benchmarkPurge.php
maintenance/cdb.php
maintenance/changePassword.php
maintenance/checkBadRedirects.php
maintenance/checkImages.php
maintenance/checkSyntax.php
maintenance/checkUsernames.php
maintenance/cleanupAncientTables.php
maintenance/cleanupCaps.php
maintenance/cleanupImages.php
maintenance/cleanupPreferences.php
maintenance/cleanupRemovedModules.php
maintenance/cleanupSpam.php
maintenance/cleanupTable.inc
maintenance/cleanupTitles.php
maintenance/cleanupUploadStash.php
maintenance/cleanupWatchlist.php
maintenance/clearCacheStats.php
maintenance/clearInterwikiCache.php
maintenance/commandLine.inc
maintenance/compareParsers.php
maintenance/convertLinks.php
maintenance/convertUserOptions.php
maintenance/copyFileBackend.php
maintenance/copyJobQueue.php
maintenance/createAndPromote.php
maintenance/deleteArchivedFiles.php
maintenance/deleteArchivedRevisions.php
maintenance/deleteBatch.php
maintenance/deleteDefaultMessages.php
maintenance/deleteEqualMessages.php
maintenance/deleteImageMemcached.php
maintenance/deleteOldRevisions.php
maintenance/deleteOrphanedRevisions.php
maintenance/deleteRevision.php
maintenance/deleteSelfExternals.php
maintenance/dev/includes/router.php
maintenance/dictionary/mediawiki.dic
maintenance/doMaintenance.php
maintenance/dumpBackup.php
maintenance/dumpIterator.php
maintenance/dumpLinks.php
maintenance/dumpSisterSites.php
maintenance/dumpTextPass.php
maintenance/dumpUploads.php
maintenance/edit.php
maintenance/eraseArchivedFile.php [new file with mode: 0644]
maintenance/eval.php
maintenance/fetchText.php
maintenance/fileOpPerfTest.php
maintenance/findHooks.php
maintenance/fixDoubleRedirects.php
maintenance/fixExtLinksProtocolRelative.php
maintenance/fixSlaveDesync.php
maintenance/fixTimestamps.php
maintenance/fixUserRegistration.php
maintenance/formatInstallDoc.php
maintenance/fuzz-tester.php
maintenance/generateSitemap.php
maintenance/getConfiguration.php
maintenance/getLagTimes.php
maintenance/getSlaveServer.php
maintenance/getText.php
maintenance/hiphop/run-server
maintenance/importDump.php
maintenance/importImages.php
maintenance/importSiteScripts.php
maintenance/importTextFile.php
maintenance/initEditCount.php
maintenance/initSiteStats.php
maintenance/install.php
maintenance/jsparse.php
maintenance/lag.php
maintenance/language/alltrans.php
maintenance/language/checkDupeMessages.php
maintenance/language/checkExtensions.php
maintenance/language/checkLanguage.php
maintenance/language/countMessages.php
maintenance/language/date-formats.php
maintenance/language/digit2html.php
maintenance/language/dumpMessages.php
maintenance/language/generateCollationData.php
maintenance/language/generateNormalizerData.php
maintenance/language/langmemusage.php
maintenance/language/languages.inc
maintenance/language/messageTypes.inc
maintenance/language/messages.inc
maintenance/language/rebuildLanguage.php
maintenance/language/transstat.php
maintenance/language/validate.php
maintenance/language/writeMessagesArray.inc
maintenance/mcc.php
maintenance/mctest.php
maintenance/mergeMessageFileList.php
maintenance/migrateUserGroup.php
maintenance/minify.php
maintenance/moveBatch.php
maintenance/mwdocgen.php
maintenance/namespaceDupes.php
maintenance/nextJobDB.php
maintenance/nukeNS.php
maintenance/nukePage.php
maintenance/oracle/alterSharedConstraints.php
maintenance/oracle/tables.sql
maintenance/orphans.php
maintenance/parse.php
maintenance/patchSql.php
maintenance/populateCategory.php
maintenance/populateFilearchiveSha1.php
maintenance/populateImageSha1.php
maintenance/populateLogSearch.php
maintenance/populateLogUsertext.php
maintenance/populateParentId.php
maintenance/populateRevisionLength.php
maintenance/populateRevisionSha1.php
maintenance/preprocessDump.php
maintenance/preprocessorFuzzTest.php
maintenance/protect.php
maintenance/pruneFileCache.php
maintenance/purgeDeletedFiles.php
maintenance/purgeList.php
maintenance/purgeOldText.php
maintenance/purgeParserCache.php
maintenance/reassignEdits.php
maintenance/rebuildFileCache.php
maintenance/rebuildImages.php
maintenance/rebuildLocalisationCache.php
maintenance/rebuildall.php
maintenance/rebuildmessages.php
maintenance/rebuildrecentchanges.php
maintenance/rebuildtextindex.php
maintenance/refreshFileHeaders.php
maintenance/refreshImageMetadata.php
maintenance/refreshLinks.php
maintenance/removeUnusedAccounts.php
maintenance/renameDbPrefix.php
maintenance/renderDump.php
maintenance/resetUserTokens.php
maintenance/rollbackEdits.php
maintenance/runBatchedQuery.php
maintenance/runJobs.php
maintenance/showCacheStats.php
maintenance/showJobs.php
maintenance/showSiteStats.php
maintenance/sql.php
maintenance/sqlite.php
maintenance/storage/checkStorage.php
maintenance/storage/compressOld.php
maintenance/storage/dumpRev.php
maintenance/storage/fixBug20757.php
maintenance/storage/moveToExternal.php
maintenance/storage/orphanStats.php
maintenance/storage/recompressTracked.php
maintenance/storage/resolveStubs.php
maintenance/storage/storageTypeStats.php
maintenance/storage/testCompression.php
maintenance/storage/trackBlobs.php
maintenance/syncFileBackend.php
maintenance/undelete.php
maintenance/update.php
maintenance/updateArticleCount.php
maintenance/updateCollation.php
maintenance/updateDoubleWidthSearch.php
maintenance/updateRestrictions.php
maintenance/updateSearchIndex.php
maintenance/updateSpecialPages.php
maintenance/userOptions.inc
maintenance/waitForSlave.php
mw-config/index.php
opensearch_desc.php
profileinfo.php
resources/Resources.php
resources/jquery/jquery.byteLimit.js
resources/jquery/jquery.client.js
resources/jquery/jquery.tablesorter.js
resources/jquery/jquery.textSelection.js
resources/mediawiki.action/images/green-checkmark.png [new file with mode: 0644]
resources/mediawiki.action/mediawiki.action.view.postEdit.css [new file with mode: 0644]
resources/mediawiki.action/mediawiki.action.view.postEdit.js
resources/mediawiki.api/mediawiki.api.edit.js
resources/mediawiki.special/images/arrow-collapsed-ltr.png [deleted file]
resources/mediawiki.special/images/arrow-collapsed-rtl.png [deleted file]
resources/mediawiki.special/images/arrow-expanded.png [deleted file]
resources/mediawiki.special/images/glyph-people-large.png
resources/mediawiki.special/images/icon-contributors.png
resources/mediawiki.special/images/icon-edits.png
resources/mediawiki.special/images/icon-lock.png
resources/mediawiki.special/images/icon-pages.png
resources/mediawiki.special/mediawiki.special.changeslist.css
resources/mediawiki.special/mediawiki.special.createAccount.vform.css
resources/mediawiki.ui/mediawiki.ui.default.css
resources/mediawiki.ui/mediawiki.ui.vector.css
resources/mediawiki.ui/sourcefiles/scss/mixins/_forms.scss
resources/mediawiki/images/arrow-collapsed-ltr.png [new file with mode: 0644]
resources/mediawiki/images/arrow-collapsed-rtl.png [new file with mode: 0644]
resources/mediawiki/images/arrow-expanded.png [new file with mode: 0644]
resources/mediawiki/mediawiki.htmlform.js
resources/mediawiki/mediawiki.icon.css [new file with mode: 0644]
resources/mediawiki/mediawiki.searchSuggest.js
resources/mediawiki/mediawiki.util.js
serialized/serialize.php
skins/MonoBook.php
skins/Vector.php
skins/common/ajax.js
skins/common/images/question-small.png [new file with mode: 0644]
skins/common/images/question.svg [new file with mode: 0644]
skins/common/shared.css
skins/common/wikibits.js
skins/monobook/main.css
tests/RunSeleniumTests.php
tests/TestsAutoLoader.php
tests/parser/parserTest.inc
tests/parser/parserTests.txt
tests/parserTests.php
tests/phpunit/AutoLoaderTest.php [deleted file]
tests/phpunit/StructureTest.php [deleted file]
tests/phpunit/bootstrap.php
tests/phpunit/includes/CollationTest.php
tests/phpunit/includes/FauxRequestTest.php [new file with mode: 0644]
tests/phpunit/includes/FauxResponseTest.php
tests/phpunit/includes/OutputPageTest.php
tests/phpunit/includes/ResourceLoaderTest.php
tests/phpunit/includes/SanitizerTest.php
tests/phpunit/includes/WebRequestTest.php
tests/phpunit/includes/XmlTypeCheckTest.php [new file with mode: 0644]
tests/phpunit/includes/api/generateRandomImages.php
tests/phpunit/includes/cache/MessageCacheTest.php [new file with mode: 0644]
tests/phpunit/includes/content/ContentHandlerTest.php
tests/phpunit/includes/content/CssContentTest.php
tests/phpunit/includes/content/TextContentTest.php
tests/phpunit/includes/db/DatabaseSQLTest.php
tests/phpunit/includes/installer/OracleInstallerTest.php [new file with mode: 0644]
tests/phpunit/includes/media/XMPTest.php
tests/phpunit/includes/parser/MediaWikiParserTest.php
tests/phpunit/includes/parser/NewParserTest.php
tests/phpunit/includes/upload/UploadBaseTest.php [new file with mode: 0644]
tests/phpunit/includes/upload/UploadTest.php [deleted file]
tests/phpunit/languages/LanguageTest.php
tests/phpunit/mocks/media/MockBitmapHandler.php
tests/phpunit/phpunit.php
tests/phpunit/resources/ResourcesTest.php [deleted file]
tests/phpunit/structure/AutoLoaderTest.php [new file with mode: 0644]
tests/phpunit/structure/ResourcesTest.php [new file with mode: 0644]
tests/phpunit/structure/StructureTest.php [new file with mode: 0644]
tests/phpunit/suite.xml
tests/phpunit/suites/UploadFromUrlTestSuite.php
tests/qunit/data/generateJqueryMsgData.php
tests/qunit/suites/resources/jquery/jquery.byteLimit.test.js
tests/qunit/suites/resources/jquery/jquery.client.test.js
tests/qunit/suites/resources/jquery/jquery.tablesorter.test.js
tests/selenium/SeleniumTestHTMLLogger.php
tests/selenium/installer/MediaWikiButtonsAvailabilityTestCase.php
tests/selenium/installer/MediaWikiDifferentDatabaseAccountTestCase.php
tests/selenium/installer/MediaWikiDifferntDatabasePrefixTestCase.php
tests/selenium/installer/MediaWikiErrorsConnectToDatabasePageTestCase.php
tests/selenium/installer/MediaWikiErrorsNamepageTestCase.php
tests/selenium/installer/MediaWikiHelpFieldHintTestCase.php
tests/selenium/installer/MediaWikiInstallationCommonFunction.php
tests/selenium/installer/MediaWikiInstallerTestSuite.php
tests/selenium/installer/MediaWikiMySQLDataBaseTestCase.php
tests/selenium/installer/MediaWikiMySQLiteDataBaseTestCase.php
tests/selenium/installer/MediaWikiOnAlreadyInstalledTestCase.php
tests/selenium/installer/MediaWikiRestartInstallationTestCase.php
tests/selenium/installer/MediaWikiRightFrameworkLinksTestCase.php
tests/selenium/installer/MediaWikiUpgradeExistingDatabaseTestCase.php
tests/selenium/installer/MediaWikiUserInterfaceTestCase.php
tests/selenium/installer/README.txt
tests/selenium/suites/SimpleSeleniumTestSuite.php
thumb_handler.php
wiki.phtml

index 64add55..ad5e959 100644 (file)
@@ -26,7 +26,10 @@ resources/mediawiki.libs/
 resources/jquery.chosen/chosen.jquery.js
 
 # legacy scripts
-skins/common/
+skins/common/IEFixes.js
+skins/common/config.js
+skins/common/protect.js
+skins/common/upload.js
 
 # github.com/jshint/jshint/issues/729
 tests/qunit/suites/resources/mediawiki/mediawiki.jscompat.test.js
diff --git a/RELEASE-NOTES-1.21 b/RELEASE-NOTES-1.21
deleted file mode 100644 (file)
index 717906a..0000000
+++ /dev/null
@@ -1,414 +0,0 @@
-Security reminder: MediaWiki does not require PHP's register_globals. If you
-have it on, turn it '''off''' if you can.
-
-== MediaWiki 1.21 ==
-
-THIS IS NOT A RELEASE YET
-
-MediaWiki 1.21 is an alpha-quality branch and is not recommended for use in
-production.
-
-=== Configuration changes in 1.21 ===
-* (bug 29374) $wgVectorUseSimpleSearch is now enabled by default.
-* Deprecated $wgAllowRealName is removed. Use $wgHiddenPrefs[] = 'realname'
-  instead.
-* (bug 39957) Added $wgUnwatchedPageThreshold, specifying minimum count
-  of page watchers required for the number to be accessible to users
-  without the unwatchedpages permission.
-* $wgBug34832TransitionalRollback has been removed.
-* (bug 29472) $wgUseDynamicDates has been removed and its functionality
-  disabled.
-
-=== New features in 1.21 ===
-* (bug 38110) Schema changes (adding or dropping tables, indices and
-  fields) can be now be done separately from from other changes that
-  update.php makes.  This is useful in environments that use database
-  permissions to restrict schema changes but allow the DB user that
-  MediaWiki normally runs as to perform other changes that update.php
-  makes.  Schema changes can be run separately.  See the file UPGRADE
-  for more information.
-* (bug 34876) jquery.makeCollapsible has been improved in performance.
-* Added ContentHandler facility to allow extensions to support other content
-  than wikitext. See docs/contenthandler.txt for details.
-* New feature was developed for showing high-DPI thumbnails for high-DPI mobile
-  and desktop displays (configurable with $wgResponsiveImages).
-* Added new backend to represent and store information about sites and site
-  specific configuration.
-* jQuery upgraded from 1.8.2 to 1.8.3.
-* jQuery UI upgraded from 1.8.23 to 1.8.24.
-* Added separate fa_sha1 field to filearchive table. This allows sha1
-  searches with the api in miser mode for deleted files.
-* Add initial and programmatic sorting for tablesorter.
-* Add the event "sortEnd.tablesorter", triggered after sorting has completed.
-* The Job system was refactored to allow for different backing stores for
-  queues as well as cross-wiki access to queues, among other things. The schema
-  for the DB queue was changed to support better concurrency and reduce
-  deadlock errors.
-* Added ApiQueryORM class to facilitate creation of query API modules based on
-  tables that have a corresponding ORMTable class.
-* (bug 40876) Icon for PSD (Adobe Photoshop) file types.
-* (bug 40641) Implemented Special:Version/Credits with a list of contributors.
-* (bug 7851) Implemented one-click AJAX patrolling.
-* The <data>, <time>, <meta>, and <link> elements are allowed within WikiText
-  for use with Microdata.
-* The HTML5 <mark> tag has been whitelisted.
-* Added ParserCloned hook for when the Parser object is cloned.
-* Added AlternateEditPreview hook to allow extensions to replace the page
-  preview from the edit page.
-* Added EditPage::showStandardInputs:options hook to allow extensions to add
-  new fields to the "editOptions" area of the edit form.
-* Upload stash DB schema altered to improve upload performance.
-* The following global functions are now reporting deprecated warnings in
-  debug mode: wfMsg, wfMsgNoTrans, wfMsgForContent, wfMsgForContentNoTrans,
-  wfMsgReal, wfMsgGetKey, wfMsgHtml, wfMsgWikiHtml, wfMsgExt, wfEmptyMsg. Use
-  the Message class, or the global method wfMessage.
-* Added $wgEnableCanonicalServerLink, off by default. If enabled, a
-  <link rel=canonical> tag is added to every page indicating the correct server
-  to use.
-* Debug message emitted by wfDebugLog() will now be prefixed with the group
-  name when its logged to the default log file. That is the case whenever the
-  group has no key in wgDebugLogGroups, that will help triage the default log.
-* (bug 24620) Add types to LogFormatter.
-* jQuery JSON upgraded from 2.3 to 2.4.0.
-* Added GetDoubleUnderscoreIDs hook, for modifying the list of magic words.
-* DatabaseUpdater class has two new methods to ease extensions schema changes:
-  dropExtensionIndex and renameExtensionIndex.
-* New preference type - 'api'. Preferences of this type are not shown on
-  Special:Preferences, but are still available via the action=options API.
-* (bug 39397) Hide rollback link if a user is the only contributor of the page.
-* $wgPageInfoTransclusionLimit limits the list size of transcluded articles
-  on the info action. Default is 50.
-* Added action=createaccount to allow user account creation.
-* (bug 40124) action=options API also allows for setting of arbitrary
-  preferences, provided that their names are prefixed with 'userjs-'. This
-  officially reenables the feature that was undocumented and defective
-  in MW 1.20 (saving preferences using Special:Preferences cleared any
-  additional fields) and which has been disabled in 1.20.1 as a part of
-  a security fix (bug 42202).
-* Added option to specify "others" as author in extension credits using
-  "..." as author name.
-* Added the ability to limit the wall clock time used by shell processes,
-  as well as the CPU time. Configurable with $wgMaxShellWallClockTime.
-* Allow memory of shell subprocesses to be limited using Linux cgroups
-  instead of ulimit -v, which tends to cause deadlocks in recent versions
-  of ImageMagick. Configurable with $wgShellCgroup.
-* Added $wgWhitelistReadRegexp for regex whitelisting.
-* (bug 5346) Categories that are redirects will be displayed italic in
-  the category links section at the bottom of a page.
-* (bug 43915) New maintenance script deleteEqualMessages.php.
-* You can now create checkbox option matrices through the HTMLCheckMatrix
-  subclass in HTMLForm.
-* WikiText now permits the use of WAI-ARIA's role="presentation" inside of
-  html elements and tables. This allows presentational markup, especially
-  tables. To be marked up as such.
-* maintenance/sql.php learned the --cluster option. Let you run the script
-  on some external cluster instead of the primary cluster for a given wiki.
-* (bug 20281) test the parsing of inline URLs.
-* Added Special:PagesWithProp, which lists pages using a particular page property.
-* Implemented language-specific collations for category sorting for 67 languages
-  based in latin, greek and cyrillic alphabets. This allows one to *finally* get
-  articles to be correctly sorted on category pages. They are named
-  'uca-<langcode>', where <langcode> is one of: af, ast, az, be, bg, br, bs, ca,
-  co, cs, cy, da, de, dsb, el, en, eo, es, et, eu, fi, fo, fr, fur, fy, ga, gd,
-  gl, hr, hsb, hu, is, it, kk, kl, ku, ky, la, lb, lt, lv, mk, mo, mt, nl, no,
-  oc, pl, pt, rm, ro, ru, rup, sco, sk, sl, smn, sq, sr, sv, tk, tl, tr, tt, uk,
-  uz, vi.
-* Added 'CategoryAfterPageAdded' and 'CategoryAfterPageRemoved' hooks.
-* Added 'HistoryRevisionTools' and 'DiffRevisionTools' hooks.
-* Added 'SpecialSearchResultsPrepend' and 'SpecialSearchResultsAppend' hooks.
-* (bug 33186) Add image rotation api "imagerotate"
-* (bug 34040) Add "User rights management" link on user page toolbox.
-* (bug 45526) Add QUnit assertion helper "QUnit.assert.htmlEqual" for asserting
-  structual equality of HTML (ignoring insignificant differences like
-  quotmarks, order and whitespace in the attribute list).
-
-=== Bug fixes in 1.21 ===
-* (bug 42649) PHP Fatal error: Call to a member function isLocal() on a
-  non-object in Title.php
-* (bug 46493) Special:ProtectedPages results in whitepage when a bad title is protected
-* (bug 40617) Installer can now customize the logo in LocalSettings.php
-* (bug 40353) SpecialDoubleRedirect should support interwiki redirects.
-* (bug 40352) fixDoubleRedirects.php should support interwiki redirects.
-* (bug 9237) SpecialBrokenRedirect should not list interwiki redirects.
-* (bug 34960) Drop unused fields rc_moved_to_ns and rc_moved_to_title from
-  recentchanges table.
-* (bug 32951) Do not register internal externals with absolute protocol,
-  when server has relative protocol.
-* (bug 39005) When purging proxies listed in $wgSquidServers using HTTP PURGE
-  method requests, we now send a Host header by default, for Varnish
-  compatibility. This also works with Squid in reverse-proxy mode. If you wish
-  to support Squid configured in forward-proxy mode, set
-  $wgSquidPurgeUseHostHeader to false.
-* (bug 37020) sql.php with readline eats semicolon.
-* (bug 11748) Properly handle optionally-closed HTML tags when Tidy is
-  disabled, and don't wrap HTML-syntax definition lists in paragraphs.
-* (bug 41409) Diffs while editing an old revision should again diff against the
-  current revision.
-* (bug 41494) Honor $wgLogExceptionBacktrace when logging non-API exceptions
-  caught during API execution.
-* (bug 37963) Fixed loading process for user options.
-* (bug 26995) Update filename field on Upload page after having sanitized it.
-* (bug 41793) Contribution links to users with 0 edits on Special:ListUsers
-  didn't show up red.
-* (bug 41899) A PHP notice no longer occurs when using the "rvcontinue" API
-  parameter.
-* (bug 42036) Account creation emails now contain canonical (not
-  protocol-relative) URLs.
-* (bug 41990) Fix regression: API edit with redirect=true and lacking
-  starttimestamp and basetimestamp should not cause an edit conflict.
-* (bug 41706) EditPage: Preloaded page should be converted if possible and
-  needed.
-* (bug 41886) Rowspans are no longer exploded by tablesorter until the table is
-  actually sorted.
-* (bug 2865)  User interface HTML elements don't use lang attribute.
-  (completed the fix by adding the lang attribute to firstHeading).
-* (bug 42173) Removed namespace prefixes on Special:UncategorizedCategories.
-* (bug 36053) Log in "returnto" feature forgets query parameters if no
-  title parameter was specified.
-* (bug 42410) API action=edit now returns correct timestamp for the new edit.
-* (bug 14901) Email notification mistakes log action for new page creation.
-  Enotif no longer sends "page has been created" notifications for some log
-  actions. The following events now have a correct message: page creation,
-  deletion, move, restore (undeletion), change (edit). Parameter
-  $CHANGEDORCREATED is deprecated in 'enotif_body' and scheduled for removal in
-  MediaWiki 1.23.
-* (bug 457) In the sidebar of Vector, CologneBlue, Monobook, and Monobook-based
-  skins, the heading levels have been changed from (variously per skin)
-  <h4>, <h5> or <h6> to only <h3>s, with a <h2> hidden heading above them.
-  If you are styling or scripting the headings in a custom way, this change
-  will require updates to your site's CSS or JS.
-* (bug 41342) jquery.suggestions should cancel any active (async) fetches
-  before it triggers another fetch.
-* (bug 42184) $wgUploadSizeWarning missing second variable.
-* (bug 34581) removeUnusedAccounts.php maintenance script now ignores newuser
-  log when determining whether an account is used.
-* (bug 43379) Gracefully fail if rev_len is unavailable for a revision on the
-  History page.
-* (bug 42949) API no longer assumes all exceptions are MWException.
-* (bug 41733) Hide "New user message" (.usermessage) element from printable view.
-* (bug 39062) Special:Contributions will display changes that don't have
-  a parent id instead of just an empty bullet item.
-* (bug 37209) "LinkCache doesn't currently know about this title" error fixed.
-* wfMerge() now works if $wgDiff3 contains spaces
-* (bug 43052) mediawiki.action.view.dblClickEdit.dblClickEdit should trigger
-  ca-edit click instead opening URL directly.
-* (bug 43964) Invalid value of "link" parameter in <gallery> no longer produces
-  a fatal error.
-* (bug 44775) The username field is not pre-filled when creating an account.
-* (bug 45069) wfParseUrl() no longer produces a PHP notice if passed a "mailto:"
-  URL without address
-* (bug 45012) Creating an account by e-mail can no longer show a
-  "password mismatch" error.
-* (bug 44599) On Special:Version, HEADs for submodule checkouts (e.g. for
-  extensions) performed using Git 1.7.8+ should now appear.
-* (bug 42184) $wgUploadSizeWarning missing second variable
-* (bug 40326) Check if files exist with a different extension during uploading
-* (bug 34798) Updated CSS for Atom/RSS recent changes feeds to match on-wiki diffs.
-* (bug 42430) Calling numRows on MySQL no longer propagates unrelated errors.
-* (bug 44719) Removed mention of non-existing maintenance/migrateCurStubs.php
-  script in includes/DefaultSettings.php
-* (bug 45143) jquery.badge: Treat non-Latin variants of zero as zero as well.
-* (bug 46151) mwdocgen.php should not ignore exit code of doxygen command.
-* (bug 41889) Fix $.tablesorter rowspan exploding for complex cases.
-* (bug 47489) Installer now automatically selects the next-best database type if
-  the PHP mysql extension is not loaded, preventing fatal errors in some cases.
-* (bug 47202) wikibits: FF2Fixes.css should not be loaded in Firefox 20.
-
-=== API changes in 1.21 ===
-* prop=revisions can now report the contentmodel and contentformat.
-  See docs/contenthandler.txt.
-* action=edit and action=parse now support contentmodel and contentformat
-  parameters to control the interpretation of page content.
-  See docs/contenthandler.txt for details.
-* (bug 35693) ApiQueryImageInfo now suppresses errors when unserializing metadata.
-* (bug 40111) Disable minor edit for page/section creation by API.
-* (bug 41042) Revert change to action=parse&page=... behavior when the page
-  does not exist.
-* (bug 27202) Add timestamp sort to list=allimages.
-* (bug 43137) Don't return the sha1 of revisions through the API if the content is
-  revision-deleted.
-* ApiQueryImageInfo now also returns imageinfo for redirects.
-* list=alltransclusions added to enumerate every instance of page embedding
-* list=alllinks & alltransclusions now allow both 'from' and 'continue' in
-  the same query. When both are present, 'from' is simply ignored.
-* list=alllinks & alltransclusions now allow 'unique' in generators, to yield
-  a list of all link/template target pages instead of source pages.
-* BREAKING CHANGE: list=logevents output format changed for details of some log
-  types. Specifically, details that were formerly reported under a key like
-  "4::foo" will now be reported under a key of simply "foo".
-* BREAKING CHANGE: '??_badcontinue' error code was changed to '??badcontinue'
-  for all query modules.
-* ApiQueryBase adds 'badcontinue' error code if module has 'continue' parameter.
-* (bug 35885) Removed version parameter and all getVersion() methods.
-* action=options now takes a "resetkinds" option, which allows only resetting
-  certain types of preferences when the "reset" option is set.
-* (bug 36751) ApiQueryImageInfo now returns imageinfo for the redirect target
-  when queried with &redirects=.
-* (bug 31849) ApiQueryImageInfo no longer gets confused when asked for info on
-  a redirect and its target.
-* (bug 43849) ApiQueryImageInfo no longer throws exceptions with ForeignDBRepo
-  redirects.
-* On error, any warnings generated before that error will be shown in the result.
-* action=help supports generalized submodules (modules=query+value), querymodules obsolete
-* ApiQueryImageInfo continuation is more reliable. The only major change is
-  that the imagerepository property will no longer be set on page objects not
-  processed in the current query (i.e. non-images or those skipped due to
-  iicontinue).
-* Add supports for all pageset capabilities - generators, redirects, converttitles to
-  action=purge and action=setnotificationtimestamp.
-* (bug 43251) prop=pageprops&ppprop= now accepts multiple props to query.
-* ApiQueryImageInfo will now limit the number of calls to File::transform made
-  in any one query. If there are too many, iicontinue will be returned.
-* action=query&meta=siteinfo&siprop=general will now return the regexes used for
-  link trails and link prefixes. Added for Parsoid support.
-* Added an API query module list=pageswithprop, which lists pages using a
-  particular page property.
-* Added an API query module list=pagepropnames, which lists all page prop names
-  currently in use on the wiki.
-* (bug 44921) ApiMain::execute() will now return after the CORS check for an
-  HTTP OPTIONS request.
-* (bug 44923) action=upload works correctly if the entire file is uploaded in
-  the first chunk.
-* Added 'continue=' parameter to streamline client iteration over complex query results
-* (bug 44909) API parameters may now be marked as type "upload", which is now
-  used for action=upload's 'file' and 'chunk' parameters. This type will raise
-  an error during parameter validation if the parameter is given but not
-  recognized as an uploaded file.
-* (bug 44244) prop=info may now return the number of people watching each page.
-* (bug 33304) list=allpages will no longer return duplicate entries when
-  querying protection.
-* (bug 33304) list=allpages will now find really old indefinite protections.
-* (bug 45937) meta=allmessages will report a syntactically invalid lang as a
-  proper error instead of as an uncaught exception.
-* The JSON output formatter now leaves forward slashes unescaped to improve human
-  readability of URLs and similar strings. Also, a "utf8" option is now provided
-  to use UTF-8 encoding instead of hex escape codes for most non-ASCII characters.
-
-=== API internal changes in 1.21 ===
-* For debugging only, a new global $wgDebugAPI removes many API restrictions when true.
-  Never use on the production servers, as this flag introduces security holes.
-  Whenever enabled, a warning will also be added to all output.
-* ApiModuleManager now handles all submodules (actions,props,lists) and instantiation
-* Query stores prop/list/meta as submodules
-* ApiPageSet can now be used in any action to process titles/pageids/revids or any generator.
-* BREAKING CHANGE: ApiPageSet constructor now has two params instead of three, with only the
-  first one keeping its meaning. ApiPageSet is now derived from ApiBase.
-* BREAKING CHANGE: ApiQuery::newGenerator() and executeGeneratorModule() were deleted.
-* ApiQueryGeneratorBase::setGeneratorMode() now requires a pageset param.
-* $wgAPIGeneratorModules is now obsolete and will be ignored.
-* Added flags ApiResult::OVERRIDE and ADD_ON_TOP to setElement() and addValue()
-* Internal API calls will now include <warnings> in case of unused parameters
-
-=== Languages updated in 1.21 ===
-
-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.
-
-* South Azerbaijani (azb) added.
-* (bug 30040) Autonym for nds-nl is now 'Nedersaksies' (was 'Nedersaksisch').
-* (bug 45436) Autonym for pi (Pali) is now 'पालि' (was ''पाळि').
-* (bug 34977) Now formatted numbers in Spanish use space as separator
-  for thousands, as mandated by the Real Academia Española.
-* (bug 35031) Kurdish formatted numbers now use period and comma
-  as separators for thousands and decimals respectively.
-
-=== Other changes in 1.21 ===
-* BREAKING CHANGE: (bug 44385) Removed the jquery.collapsibleTabs module and
-  moved it to the Vector extension. It was entirely Vector-extension-specific,
-  deeply interconnected with the extension, and this functionality really
-  belongs to the extension instead of the skin anyway. In the unlikely case you
-  were using it, you have to either copy it to your extension, or install the
-  Vector extension (and possibly disable its features using config settings if
-  you don't want them).
-* Experimental IBM DB2 support was removed due to lack of interest and maintainership.
-* BREAKING CHANGE: Filenames of maintenance scripts were standardized into
-  lowerCamelCase format, and made more explicit:
-  - clear_stats.php -> clearCacheStats.php
-  - clear_interwiki_cache.php -> clearInterwikiCache.php
-  - initStats.php -> initSiteStats.php
-  - proxy_check.php -> proxyCheck.php
-  - stats.php -> showCacheStats.php
-  - showStats.php -> showSiteStats.php.
-  Class names were renamed accordingly:
-  - clear_stats -> ClearCacheStats
-  - InitStats -> InitSiteStats
-  - CacheStats -> ShowCacheStats
-  - ShowStats -> ShowSiteStats.
-* BREAKING CHANGE: (bug 38244) Removed the mediawiki.api.titleblacklist module
-  and moved it to the TitleBlacklist extension.
-* BREAKING CHANGE: Implementation of MediaWiki's JS and JSON value encoding
-  has changed:
-** MediaWiki no longer supports PHP installations in which the native JSON
-   extension is missing or disabled.
-** XmlJsCode objects can no longer be nested inside objects or arrays.
-   (For Xml::encodeJsCall(), this individually applies to each argument.)
-** The sets of characters escaped by default, along with the precise escape
-   sequences used, have changed (except for the Xml::escapeJsString()
-   function, which is now deprecated).
-* BREAKING CHANGE: The Services_JSON class has been removed. If necessary,
-  be sure to upgrade affected extensions at the same time (e.g. Collection).
-
-== Compatibility ==
-
-MediaWiki 1.21 requires PHP 5.3.2 or later.
-
-MySQL is the recommended DBMS. PostgreSQL or SQLite can also be used, but
-support for them is somewhat less mature. There is experimental support for
-Oracle.
-
-The supported versions are:
-
-* MySQL 5.0.2 or later
-* PostgreSQL 8.3 or later
-* SQLite 3.3.7 or later
-* Oracle 9.0.1 or later
-
-== Upgrading ==
-
-1.21 has several database changes since 1.20, and will not work without schema
-updates. Note that due to changes to some very large tables like the revision
-table, the schema update may take quite long (minutes on a medium sized site,
-many hours on a large site).
-
-If upgrading from before 1.11, and you are using a wiki as a commons
-repository, make sure that it is updated as well. Otherwise, errors may arise
-due to database schema changes.
-
-If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
-new database fields are filled with data.
-
-If you are upgrading from MediaWiki 1.4.x or earlier, you should upgrade to
-1.5 first. The upgrade script maintenance/upgrade1_5.php has been removed
-with MediaWiki 1.21.
-
-Don't forget to always back up your database before upgrading!
-
-See the file UPGRADE for more detailed upgrade instructions.
-
-For notes on 1.19.x and older releases, see HISTORY.
-
-== Online documentation ==
-
-Documentation for both end-users and site administrators is available on
-MediaWiki.org, and is covered under the GNU Free Documentation License (except
-for pages that explicitly state that their contents are in the public domain):
-
-       https://www.mediawiki.org/wiki/Documentation
-
-== Mailing list ==
-
-A mailing list is available for MediaWiki user support and discussion:
-
-       https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
-
-A low-traffic announcements-only list is also available:
-
-       https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
-
-It's highly recommended that you sign up for one of these lists if you're
-going to run a public MediaWiki, so you can be notified of security fixes.
-
-== IRC help ==
-
-There's usually someone online in #mediawiki on irc.freenode.net.
index 168f2f7..e32d484 100644 (file)
@@ -23,6 +23,13 @@ production.
   It is still set to true for extension compatibility but doing so in extensions is deprecated.
 * $wgXhtmlDefaultNamespace is no longer used by core. Setting it will no longer change the
   xmlns used by MediaWiki. Reliance on this variable by extensions is deprecated.
+* $wgHandheldStyle was removed.
+* $wgHandheldForIPhone was removed.
+* $wgJsMimeType is no longer used by core. Most usage has been removed since
+  HTML output is now exclusively HTML5.
+* $wgDBOracleDRCP added. True enables persistent connection with DRCP on Oracle.
+* $wgLogAutopatrol added to allow disabling logging of autopatrol edits in the logging table.
+  default for $wgLogAutopatrol is true.
 
 === New features in 1.22 ===
 * (bug 44525) mediawiki.jqueryMsg can now parse (whitelisted) HTML elements and attributes.
@@ -79,6 +86,21 @@ production.
   which can be cascading (previously 'sysop' was hard-coded as the only one).
 * XHTML5 support has been improved. If you set $wgMimeType = 'application/xhtml+xml'
   MediaWiki will try outputting markup acording to XHTML5 rules.
+* New hook 'TitleSquidURLs' for manipulating the list of URLs to be purged from
+  HTTP caches when a page is changed.
+* Changed the patrolling system to always show the link for patrolling in case the
+  current revision is patrollable. This also removed the usage of the rcid URI parameters.
+* Oracle DB backend now supports Database Resident Connection Pooling (DRCP).
+  Can be enabled by setting $wgDBOracleDRCP=true.
+  Requires Oracle DB 11gR1 or above, enabled DRCP inside the DB itself and a
+  propper connect string.
+  More about DRCP can be found at:
+  http://www.oracle-base.com/articles/11g/database-resident-connection-pool-11gr1.php
+* Add a new parameter $patrolFooterShown to hook ArticleViewFooter so the hook
+  handlers can take further action based on the status of the patrol footer
+* LinkCache singleton can now be altered or cleared, letting one to specify
+  another instance that does not rely on a database backend.
+* MediaWiki's PHPUnit tests can now use PHPUnit installed using composer --dev.
 
 === Bug fixes in 1.22 ===
 * Disable Special:PasswordReset when $wgEnableEmail is false. Previously one
@@ -101,6 +123,16 @@ production.
   strings will now start with digits 0 and 8-f as often as they should.
 * (bug 45371) Removed Parser_LinkHooks and CoreLinkFunctions classes.
 * (bug 41545) Allow <kbd>, <samp>, and <var> to be nested like allowed in html.
+* PLURAL magic word no longer causes a PHP notice when no matching form exists.
+* (bug 36641) Patrol page links no longer show on non-existent revisions.
+* (bug 35810) Pages not linked from Special:RecentChanges or Special:NewPages
+  are patrollable now.
+* (bug 30213) JavaScript for search suggestions is now disabled when the API
+  is disabled, and AJAX patrolling and watching are now disabled when use of
+  the write API is not allowed.
+* (bug 48294) API: Fix chunk upload async mode.
+* (bug 46749) Broken files tracking category removed from pages if an image
+  with that name is uploaded.
 
 === API changes in 1.22 ===
 * (bug 46626) xmldoublequote parameter was removed. Because of a bug, the
@@ -124,9 +156,10 @@ production.
   stored in the database.
 * (bug 47219) Allow specifying change type of Wikipedia feed items
 * prop=imageinfo now allows setting iiurlheight without setting iiurlwidth
-* prop=info now adds the content model of the title.
+* prop=info now adds the content model and page language of the title.
 * New upload log entries will now contain information on the relavent
   image (sha1 and timestamp).
+* (bug 49239) action=parse now can parse in preview mode.
 
 === Languages updated in 1.22===
 
@@ -134,6 +167,7 @@ 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.
 
+* Batak Toba (bbc-latn) added.
 * (bug 46751) Made Buryat (Russia) (буряад) (bxr) fallback to Russian.
 
 === Other changes in 1.22 ===
@@ -165,6 +199,16 @@ changes to languages because of Bugzilla reports.
   to redirect through Special:Redirect.
 * Monobook: Removed the old conditional stylesheets for Opera 6, 7 and 9.
 * Support for XHTML 1.0 has been removed. MediaWiki now only outputs (X)HTML5.
+* wikibits: User-agent related globals have been deprecated. The following
+  properties now default to false and emit mw.log.warn: is_gecko, is_chrome_mac,
+  is_chrome, webkit_version, is_safari_win, is_safari, webkit_match, is_ff2,
+  ff2_bugs, is_ff2_win, is_ff2_x11, opera95_bugs, opera7_bugs, opera6_bugs,
+  is_opera_95, is_opera_preseven, is_opera, and ie6_bugs.
+* (bug 48276) MediaWiki will now flash a confirmation message upon successfully
+  editing a page.
+* (bug 40785) mediawiki.legacy.ajax has been marked as deprecated. The following
+  properties now emit mw.log.warn when accessed: sajax_debug, sajax_init_object,
+  sajax_do_call and wfSupportsAjax.
 
 == Compatibility ==
 
diff --git a/api.php b/api.php
index 9d7f648..8fab878 100644 (file)
--- a/api.php
+++ b/api.php
@@ -36,12 +36,12 @@ define( 'MW_API', true );
 // Bail if PHP is too low
 if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.3.2' ) < 0 ) {
        // We need to use dirname( __FILE__ ) here cause __DIR__ is PHP5.3+
-       require( dirname( __FILE__ ) . '/includes/PHPVersionError.php' );
+       require dirname( __FILE__ ) . '/includes/PHPVersionError.php';
        wfPHPVersionError( 'api.php' );
 }
 
 // Initialise common code.
-require ( __DIR__ . '/includes/WebStart.php' );
+require __DIR__ . '/includes/WebStart.php';
 
 wfProfileIn( 'api.php' );
 $starttime = microtime( true );
index a292997..02c9fad 100644 (file)
@@ -120,7 +120,7 @@ If the code is well enough isolated, it can even be excluded when not used --
 making for some slight savings in memory and load-up performance at runtime.
 Admins who want to have all the reversed titles can add:
 
-       require_once('extensions/ReverseTitle.php');
+       require_once 'extensions/ReverseTitle.php';
 
 ...to their LocalSettings.php file; those of us who don't want or need it can
 just leave it out.
@@ -615,6 +615,7 @@ the user is redirected back to the page.
 
 'ArticleViewFooter': After showing the footer section of an ordinary page view
 $article: Article object
+$patrolFooterShown: boolean whether patrol footer is shown
 
 'ArticleViewHeader': Before the parser cache is about to be tried for article
 viewing.
@@ -800,6 +801,19 @@ content model name, but no entry for that model exists in $wgContentHandlers.
 $modeName: the requested content model name
 &$handler: set this to a ContentHandler object, if desired.
 
+'ContentGetParserOutput': Customize parser output for a given content object,
+called by AbstractContent::getParserOutput. May be used to override the normal
+model-specific rendering of page content.
+$content: The Content to render
+$title: Title of the page, as context
+$revId: The revision ID, as context
+$options: ParserOptions for rendering. To avoid confusing the parser cache,
+the output can only depend on parameters provided to this hook function, not on global state.
+$generateHtml: boolean, indicating whether full HTML should be generated. If false,
+generation of HTML may be skipped, but other information should still be present in the
+ParserOutput object.
+&$output: ParserOutput, to manipulate or replace
+
 'ConvertContent': Called by AbstractContent::convert when a conversion to another
 content model is requested.
 $content: The Content object to be converted.
@@ -1993,7 +2007,7 @@ $title : Current Title object being displayed in search results.
 $article: The article object corresponding to the page
 
 'ShowRawCssJs': Customise the output of raw CSS and JavaScript in page views.
-DEPRECATED, use the ContentHandler facility to handle CSS and JavaScript!
+DEPRECATED, use the ContentGetParserOutput hook instead!
 $text: Text being shown
 $title: Title of the custom script/stylesheet page
 $output: Current OutputPage object
@@ -2111,8 +2125,6 @@ $checkEdit: Whether or not the action=edit query should be added if appropriate.
 &$text: Link text.
 &$result: Complete assoc. array if you want to return true.
 
-'SkinTemplateTabs': TODO
-
 'SkinTemplateToolboxEnd': Called by SkinTemplate skins after toolbox links have
 been rendered (useful for adding more).
 $sk: The QuickTemplate based skin template running the hook.
@@ -2332,6 +2344,15 @@ database result.
 &$titleArray: set this to an object to override the default object returned
 $res: database result used to create the object
 
+'TitleQuickPermissions': Called from Title::checkQuickPermissions to add to
+or override the quick permissions check.
+$title: The Title object being accessed
+$user: The User performing the action
+$action: Action being performed
+&$errors: Array of errors
+$doExpensiveQueries: Whether to do expensive DB queries
+$short: Whether to return immediately on first error
+
 'TitleGetRestrictionTypes': Allows extensions to modify the types of protection
 that can be applied.
 $title: The title in question.
@@ -2379,6 +2400,10 @@ $title: Title object being checked against
 $user: Current user object
 &$whitelisted: Boolean value of whether this title is whitelisted
 
+'TitleSquidURLs': Called to determine which URLs to purge from HTTP caches.
+$this: Title object to purge
+&$urls: An array of URLs to purge from the caches, to be manipulated.
+
 'UndeleteForm::showHistory': Called in UndeleteForm::showHistory, after a
 PageArchive object has been created but before any further processing is done.
 &$archive: PageArchive object
index c905605..32e340a 100644 (file)
@@ -163,7 +163,7 @@ MemCacheClient::set_compression($setting)
 
 EXAMPLE:
 <?php
-require("MemCachedClient.inc.php");
+require 'MemCachedClient.inc.php';
 
 // set the servers, with the last one having an integer weight value of 3
 $options["servers"] = array("10.0.0.15:11000","10.0.0.16:11001",array("10.0.0.17:11002", 3));
index 2f414cb..1459d7a 100644 (file)
@@ -13,8 +13,9 @@ MediaWiki includes four core skins:
 * Modern: An attractive blue/grey theme with sidebar and top bar. Derived from
   Monobook.
 
-* Cologne Blue: A lightweight skin with minimal formatting. The oldest of
-  currently bundled skins, largely rewritten in 2012 while keeping the looks.
+* Cologne Blue: A lightweight skin with minimal formatting. The oldest of the
+  currently bundled skins, largely rewritten in 2012 while keeping its
+  appearance.
 
 
 Several legacy skins were removed in the 1.22 release, as the burden of
@@ -27,20 +28,20 @@ supporting them became too heavy to bear. Those were:
   This skin is now used for the old Wikipedia snapshot at
   http://nostalgia.wikipedia.org/
 
-* Chick: A lightweight Monobook skin with no sidebar, the sidebar links were
+* Chick: A lightweight Monobook skin with no sidebar. The sidebar links were
   given at the bottom of the page instead.
 
 * Simple: A lightweight skin with a simple white-background sidebar and no top
   bar.
 
-* MySkin: Monobook without the CSS. The idea was that you customise it using
-  user or site CSS.
+* MySkin: Essentially Monobook without the CSS. The idea was that it could be
+  customised using user-specific or site-wide CSS (see below).
 
 
 == Custom CSS/JS ==
 
 It is possible to customise the site CSS and JavaScript without editing any
-source files. This is done by editing some pages on the wiki:
+server-side source files. This is done by editing some pages on the wiki:
 
 * [[MediaWiki:Common.css]] -- for skin-independent CSS
 * [[MediaWiki:Common.js]] -- for skin-independent JavaScript
@@ -73,7 +74,7 @@ $wgSkipSkins[] = '<name>';
 
 This technique is used by the more ambitious MediaWiki site operators, to 
 create complex custom skins for their wikis. It should be preferred over 
-editing the core Monobook skin directly. 
+editing the core Monobook skin directly.
 
 See http://www.mediawiki.org/wiki/Manual:Skinning for more information.
 
index 8294b6d..dedb3a6 100644 (file)
@@ -2,7 +2,7 @@
 <html>
 <head>
        <title>CSS Child selector emulation for IE 6</title>
-       <style type="text/css">
+       <style>
                /** Common rules **/
                body  { background-color: #CCC; }
                table { border:1px black solid; }
@@ -98,4 +98,3 @@ With child selector we could limit the wikitable styling to the direct childs of
 </tr>
 </table>
 <p><strong>NOTE:</strong>The nested caption keep the green background. The nested table keep the black border. This is because those declarations are global so we did not reset them.</p>
-
index 7062a82..a285a5b 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
-<html lang="en" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en" dir="ltr">
 <head>
-       <link rel="stylesheet" href="../../skins/common/shared.css" />
+       <link rel="stylesheet" href="../../skins/common/shared.css">
 </head>
 <body style="font-size: small;">
 
@@ -31,4 +31,5 @@
                <tr><td>line with hover</td><td>line with hover</td></tr>
        </table>
 
-</body></html>
+</body>
+</html>
index 7b8eb2a..5edcfb8 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
-<html lang="en" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en" dir="ltr">
 <head>
-       <link rel="stylesheet" href="../../resources/mediawiki.action/mediawiki.action.history.diff.css" />
+       <link rel="stylesheet" href="../../resources/mediawiki.action/mediawiki.action.history.diff.css">
 </head>
 <body style="background-color: #C0C0C0;">
 <p>
@@ -54,4 +54,5 @@ Below are some basic lines being applied one or two classes. Mainly for debuggin
        </td></tr>
 </table>
 
-</body></html>
+</body>
+</html>
index 84ec13a..f2b988e 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
-<html lang="en" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en" dir="ltr">
 <head>
-       <style type="text/css">
+       <style>
                pre {
                        border: 1px dashed #AAA;
                        background-color: #E0E0E0;
@@ -75,4 +75,3 @@ font-family: monospace, Verdana;
 font-family: monospace, DOESNOTEXISTREALLY;'>
 font-family: monospace, DOESNOTEXISTREALLY;
 </pre>
-
index 6f53825..2c26819 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-       <style type="text/css">
+       <style>
                /** This is just for coloring: */
                table { border: 1px solid #CC0; }
                td { border: 1px solid  #CCC; }
@@ -57,4 +57,3 @@ On a perfect browser, both tables should look the same</p>
        </tr>
 </table>
 </div>
-
index eba81f3..c8759ec 100644 (file)
@@ -40,7 +40,7 @@
  */
 
 define( 'MW_NO_OUTPUT_COMPRESSION', 1 );
-require ( __DIR__ . '/includes/WebStart.php' );
+require __DIR__ . '/includes/WebStart.php';
 wfProfileIn( 'img_auth.php' );
 
 # Set action base paths so that WebRequest::getPathInfo()
index d23bebf..f0eb568 100644 (file)
@@ -855,11 +855,11 @@ class Article implements Page {
        /**
         * Get the robot policy to be used for the current view
         * @param string $action the action= GET parameter
-        * @param $pOutput ParserOutput
+        * @param $pOutput ParserOutput|null
         * @return Array the policy that should be set
         * TODO: actions other than 'view'
         */
-       public function getRobotPolicy( $action, $pOutput ) {
+       public function getRobotPolicy( $action, $pOutput = null ) {
                global $wgArticleRobotPolicies, $wgNamespaceRobotPolicies, $wgDefaultRobotPolicy;
 
                $ns = $this->getTitle()->getNamespace();
@@ -1037,11 +1037,10 @@ class Article implements Page {
                        $this->getContext()->getOutput()->addWikiMsg( 'anontalkpagetext' );
                }
 
-               # If we have been passed an &rcid= parameter, we want to give the user a
-               # chance to mark this new article as patrolled.
-               $this->showPatrolFooter();
+               // Show a footer allowing the user to patrol the shown revision or page if possible
+               $patrolFooterShown = $this->showPatrolFooter();
 
-               wfRunHooks( 'ArticleViewFooter', array( $this ) );
+               wfRunHooks( 'ArticleViewFooter', array( $this, $patrolFooterShown ) );
 
        }
 
@@ -1051,21 +1050,128 @@ class Article implements Page {
         * desired, does nothing.
         * Side effect: When the patrol link is build, this method will call
         * OutputPage::preventClickjacking() and load mediawiki.page.patrol.ajax.
+        *
+        * @return bool
         */
        public function showPatrolFooter() {
+               global $wgUseRCPatrol, $wgUseNPPatrol, $wgRCMaxAge, $wgEnableAPI, $wgEnableWriteAPI;
+
                $request = $this->getContext()->getRequest();
                $outputPage = $this->getContext()->getOutput();
                $user = $this->getContext()->getUser();
-               $rcid = $request->getVal( 'rcid' );
+               $cache = wfGetMainCache();
 
-               if ( !$rcid || !$this->getTitle()->quickUserCan( 'patrol', $user ) ) {
-                       return;
+               // Normally this makes a link to patrol the revision being viewed.
+               // Sometimes, the 'patrolpage' flag is set in case we want to patrol the first
+               // revision and not the one being viewed by the user (set in Special:NewPages).
+               $useRCPatrol = $wgUseRCPatrol && !$request->getBool( 'patrolpage' );
+
+               if ( !$this->getTitle()->quickUserCan( 'patrol', $user ) || ( !$wgUseNPPatrol && !$wgUseRCPatrol ) ) {
+                       // Patrolling is fully disabled or the user isn't allowed to
+                       return false;
                }
 
+               wfProfileIn( __METHOD__ );
+
+               if ( $useRCPatrol ) {
+                       // Check for cached results
+                       if ( $cache->get( wfMemcKey( 'NotPatrollableRevId', $this->getRevIdFetched() ) ) ) {
+                               wfProfileOut( __METHOD__ );
+                               return false;
+                       }
+
+                       // We make use of a little index trick over here:
+                       // First we get the timestamp of the last revision and then
+                       // we look up the RC row by that as the timestamp is indexed
+                       // and usually very few rows exist for one timestamp
+                       // (While several thousand can exists for a single page)
+                       if ( !$this->mRevision ) {
+                               $this->mRevision = Revision::newFromId( $this->getRevIdFetched() );
+                       }
+
+                       if ( !$this->mRevision || !RecentChange::isInRCLifespan( $this->mRevision->getTimestamp(), 21600 )  ) {
+                               // The revision is more than 6 hours older than the Max RC age
+                               // no need to torture the DB any further (6h because the RC might not be cleaned out regularly)
+                               wfProfileOut( __METHOD__ );
+                               return false;
+                       }
+                       $rc = RecentChange::newFromConds(
+                               array(
+                                       'rc_this_oldid' => $this->getRevIdFetched(),
+                                       'rc_timestamp' => $this->mRevision->getTimestamp(),
+                                       'rc_cur_id' => $this->getTitle()->getArticleID(),
+                                       'rc_patrolled' => 0
+                               ),
+                               __METHOD__,
+                               array( 'USE INDEX' => 'rc_timestamp' )
+                       );
+               } else {
+                       // RC patrol is disabled so we have to patrol the first
+                       // revision (new page patrol) in case it's in the RC table.
+                       // To achieve this we get the timestamp of the oldest revison
+                       // the revision table holds for the given page. Then we look
+                       // whether it's within the RC lifespan and if it is, we try
+                       // to get the recentchanges row belonging to that entry
+                       // (with rc_new = 1).
+
+                       // Check for cached results
+                       if ( $cache->get( wfMemcKey( 'NotPatrollablePage', $this->getTitle()->getArticleID() ) ) ) {
+                               wfProfileOut( __METHOD__ );
+                               return false;
+                       }
+
+                       $dbr = wfGetDB( DB_SLAVE );
+                       $oldestRevisionTimestamp = $dbr->selectField(
+                               'revision',
+                               'MIN( rev_timestamp )',
+                               array( 'rev_page' => $this->getTitle()->getArticleID() ),
+                               __METHOD__
+                       );
+
+                       if ( !$oldestRevisionTimestamp || !RecentChange::isInRCLifespan( $oldestRevisionTimestamp, 21600 ) ) {
+                               // We either didn't find the oldest revision for the given page
+                               // or it's to old for the RC table (with 6h tolerance)
+                               wfProfileOut( __METHOD__ );
+                               return false;
+                       }
+
+                       $rc = RecentChange::newFromConds(
+                               array(
+                                       'rc_new' => 1,
+                                       'rc_timestamp' => $oldestRevisionTimestamp,
+                                       'rc_namespace' => $this->getTitle()->getNamespace(),
+                                       'rc_cur_id' => $this->getTitle()->getArticleID(),
+                                       'rc_patrolled' => 0
+                               ),
+                               __METHOD__,
+                               array( 'USE INDEX' => 'new_name_timestamp' )
+                       );
+               }
+
+               wfProfileOut( __METHOD__ );
+
+               if ( !$rc ) {
+                       // No RC entry around
+
+                       // Cache the information we gathered above in case we can't patrol
+                       // Don't cache in case we can patrol as this could change
+                       if( $useRCPatrol ) {
+                               $cache->set( wfMemcKey( 'NotPatrollableRevId', $this->getRevIdFetched() ), '1', $wgRCMaxAge );
+                       } else {
+                               $cache->set( wfMemcKey( 'NotPatrollablePage', $this->getTitle()->getArticleID() ), '1', $wgRCMaxAge );
+                       }
+
+                       return false;
+               }
+
+               $rcid = $rc->getAttribute( 'rc_id' );
+
                $token = $user->getEditToken( $rcid );
 
                $outputPage->preventClickjacking();
-               $outputPage->addModules( 'mediawiki.page.patrol.ajax' );
+               if ( $wgEnableAPI && $wgEnableWriteAPI && $user->isAllowed( 'writeapi' ) ) {
+                       $outputPage->addModules( 'mediawiki.page.patrol.ajax' );
+               }
 
                $link = Linker::linkKnown(
                        $this->getTitle(),
@@ -1083,6 +1189,8 @@ class Article implements Page {
                                wfMessage( 'markaspatrolledlink' )->rawParams( $link )->escaped() .
                        '</div>'
                );
+
+               return true;
        }
 
        /**
@@ -1092,6 +1200,7 @@ class Article implements Page {
        public function showMissingArticle() {
                global $wgSend404Code;
                $outputPage = $this->getContext()->getOutput();
+               // Whether the page is a root user page of an existing user (but not a subpage)
                $validUserPage = false;
 
                # Show info in user (talk) namespace. Does the user exist? Is he blocked?
@@ -1119,9 +1228,9 @@ class Article implements Page {
                                                )
                                        )
                                );
-                               $validUserPage = true;
+                               $validUserPage = !$this->getTitle()->isSubpage();
                        } else {
-                               $validUserPage = true;
+                               $validUserPage = !$this->getTitle()->isSubpage();
                        }
                }
 
@@ -1141,6 +1250,13 @@ class Article implements Page {
                        $this->getContext()->getRequest()->response()->header( "HTTP/1.1 404 Not Found" );
                }
 
+               if ( $validUserPage ) {
+                       // Also apply the robot policy for nonexisting user pages (as those aren't served as 404)
+                       $policy = $this->getRobotPolicy( 'view' );
+                       $outputPage->setIndexPolicy( $policy['index'] );
+                       $outputPage->setFollowPolicy( $policy['follow'] );
+               }
+
                $hookResult = wfRunHooks( 'BeforeDisplayNoArticleText', array( $this ) );
 
                if ( ! $hookResult ) {
index 26d5b94..e92b67d 100644 (file)
@@ -118,9 +118,11 @@ $wgAutoloadLocalClasses = array(
        'HTMLFloatField' => 'includes/HTMLForm.php',
        'HTMLForm' => 'includes/HTMLForm.php',
        'HTMLFormField' => 'includes/HTMLForm.php',
+       'HTMLFormFieldRequiredOptionsException' => 'includes/HTMLForm.php',
        'HTMLHiddenField' => 'includes/HTMLForm.php',
        'HTMLInfoField' => 'includes/HTMLForm.php',
        'HTMLIntField' => 'includes/HTMLForm.php',
+       'HTMLNestedFilterable' => 'includes/HTMLForm.php',
        'HTMLMultiSelectField' => 'includes/HTMLForm.php',
        'HTMLRadioField' => 'includes/HTMLForm.php',
        'HTMLSelectAndOtherField' => 'includes/HTMLForm.php',
@@ -655,9 +657,9 @@ $wgAutoloadLocalClasses = array(
        # includes/job
        'Job' => 'includes/job/Job.php',
        'JobQueue' => 'includes/job/JobQueue.php',
-       'JobQueueAggregator' => 'includes/job/JobQueueAggregator.php',
-       'JobQueueAggregatorMemc' => 'includes/job/JobQueueAggregatorMemc.php',
-       'JobQueueAggregatorRedis' => 'includes/job/JobQueueAggregatorRedis.php',
+       'JobQueueAggregator' => 'includes/job/aggregator/JobQueueAggregator.php',
+       'JobQueueAggregatorMemc' => 'includes/job/aggregator/JobQueueAggregatorMemc.php',
+       'JobQueueAggregatorRedis' => 'includes/job/aggregator/JobQueueAggregatorRedis.php',
        'JobQueueDB' => 'includes/job/JobQueueDB.php',
        'JobQueueGroup' => 'includes/job/JobQueueGroup.php',
        'JobQueueFederated' => 'includes/job/JobQueueFederated.php',
@@ -994,6 +996,7 @@ $wgAutoloadLocalClasses = array(
        'UnwatchedpagesPage' => 'includes/specials/SpecialUnwatchedpages.php',
        'UploadChunkFileException' => 'includes/upload/UploadFromChunks.php',
        'UploadChunkZeroLengthFileException' => 'includes/upload/UploadFromChunks.php',
+       'UploadChunkVerificationException' => 'includes/upload/UploadFromChunks.php',
        'UploadForm' => 'includes/specials/SpecialUpload.php',
        'UploadSourceField' => 'includes/specials/SpecialUpload.php',
        'UserrightsPage' => 'includes/specials/SpecialUserrights.php',
index 970adb5..a98f792 100644 (file)
@@ -526,7 +526,10 @@ class CategoryViewer extends ContextSource {
 
                        $first = true;
                        foreach ( $colContents as $char => $articles ) {
-                               $ret .= '<h3>' . htmlspecialchars( $char );
+                               # Change space to non-breaking space to keep headers aligned
+                               $h3char = $char === ' ' ? '&#160;' : htmlspecialchars( $char );
+
+                               $ret .= '<h3>' . $h3char;
                                if ( $first && $char === $prevchar ) {
                                        # We're continuing a previous chunk at the top of a new
                                        # column, so add " cont." after the letter.
index 1b6b396..e0f522a 100644 (file)
@@ -194,7 +194,7 @@ class ChangesList extends ContextSource {
                $this->rcCacheIndex = 0;
                $this->lastdate = '';
                $this->rclistOpen = false;
-               $this->getOutput()->addModuleStyles( 'mediawiki.special.changeslist' );
+               $this->getOutput()->addModules( 'mediawiki.special.changeslist' );
                return '';
        }
 
@@ -334,10 +334,6 @@ class ChangesList extends ContextSource {
                                'oldid' => $rc->mAttribs['rc_last_oldid']
                        );
 
-                       if ( $unpatrolled ) {
-                               $query['rcid'] = $rc->mAttribs['rc_id'];
-                       };
-
                        $diffLink = Linker::linkKnown(
                                $rc->getTitle(),
                                $this->message['diff'],
@@ -366,12 +362,16 @@ class ChangesList extends ContextSource {
         * @param $watched
         */
        public function insertArticleLink( &$s, &$rc, $unpatrolled, $watched ) {
-               # If it's a new article, there is no diff link, but if it hasn't been
-               # patrolled yet, we need to give users a way to do so
+               global $wgUseRCPatrol;
+
                $params = array();
 
-               if ( $unpatrolled && $rc->mAttribs['rc_type'] == RC_NEW ) {
-                       $params['rcid'] = $rc->mAttribs['rc_id'];
+               // In case we got a page creation which is yet unpatrolled and
+               // recent changes patrolling is enabled, the user probably rather
+               // wants to patrol the whole page (first revision) instead of seeing
+               // a patrollink for the current revision.
+               if ( $wgUseRCPatrol && $unpatrolled && $rc->getAttribute( 'rc_type' ) == RC_NEW ) {
+                       $params['patrolpage'] = 1;
                }
 
                $articlelink = Linker::linkKnown(
@@ -532,7 +532,7 @@ class ChangesList extends ContextSource {
         * @param $rc RecentChange
         */
        public function insertRollback( &$s, &$rc ) {
-               if ( $rc->mAttribs['rc_type'] != RC_NEW && $rc->mAttribs['rc_this_oldid'] && $rc->mAttribs['rc_cur_id'] ) {
+               if ( $rc->mAttribs['rc_type'] == RC_EDIT && $rc->mAttribs['rc_this_oldid'] && $rc->mAttribs['rc_cur_id'] ) {
                        $page = $rc->getTitle();
                        /** Check for rollback and edit permissions, disallow special pages, and only
                          * show a link on the top-most revision */
@@ -711,7 +711,7 @@ class EnhancedChangesList extends ChangesList {
                $this->rcCacheIndex = 0;
                $this->lastdate = '';
                $this->rclistOpen = false;
-               $this->getOutput()->addModuleStyles( 'mediawiki.special.changeslist' );
+               $this->getOutput()->addModules( 'mediawiki.special.changeslist' );
                return '';
        }
        /**
@@ -752,8 +752,7 @@ class EnhancedChangesList extends ChangesList {
                if ( $type == RC_MOVE || $type == RC_MOVE_OVER_REDIRECT ) {
                // New unpatrolled pages
                } elseif ( $rc->unpatrolled && $type == RC_NEW ) {
-                       $clink = Linker::linkKnown( $rc->getTitle(), null, array(),
-                               array( 'rcid' => $rc->mAttribs['rc_id'] ) );
+                       $clink = Linker::linkKnown( $rc->getTitle() );
                // Log entries
                } elseif ( $type == RC_LOG ) {
                        if ( $logType ) {
@@ -789,14 +788,9 @@ class EnhancedChangesList extends ChangesList {
                # called too many times (50% of CPU time on RecentChanges!).
                $thisOldid = $rc->mAttribs['rc_this_oldid'];
                $lastOldid = $rc->mAttribs['rc_last_oldid'];
-               if ( $rc->unpatrolled ) {
-                       $rcIdQuery = array( 'rcid' => $rc->mAttribs['rc_id'] );
-               } else {
-                       $rcIdQuery = array();
-               }
+
                $querycur = $curIdEq + array( 'diff' => '0', 'oldid' => $thisOldid );
-               $querydiff = $curIdEq + array( 'diff' => $thisOldid, 'oldid' =>
-                       $lastOldid ) + $rcIdQuery;
+               $querydiff = $curIdEq + array( 'diff' => $thisOldid, 'oldid' => $lastOldid );
 
                if ( !$showdifflinks ) {
                        $curLink = $this->message['cur'];
@@ -823,7 +817,7 @@ class EnhancedChangesList extends ChangesList {
                        $lastLink = $this->message['last'];
                } else {
                        $lastLink = Linker::linkKnown( $rc->getTitle(), $this->message['last'],
-                               array(), $curIdEq + array( 'diff' => $thisOldid, 'oldid' => $lastOldid ) + $rcIdQuery );
+                               array(), $curIdEq + array( 'diff' => $thisOldid, 'oldid' => $lastOldid ) );
                }
 
                # Make user links
@@ -954,7 +948,7 @@ class EnhancedChangesList extends ChangesList {
                                implode( $this->message['semicolon-separator'], $users )
                        )->escaped() . '</span>';
 
-               $tl = '<span class="mw-collapsible-toggle mw-enhancedchanges-arrow mw-enhancedchanges-arrow-space"></span>';
+               $tl = '<span class="mw-collapsible-toggle mw-collapsible-arrow mw-enhancedchanges-arrow mw-enhancedchanges-arrow-space"></span>';
                $r .= "<td>$tl</td>";
 
                # Main line
@@ -1088,9 +1082,6 @@ class EnhancedChangesList extends ChangesList {
                        } elseif ( !ChangesList::userCan( $rcObj, Revision::DELETED_TEXT, $this->getUser() ) ) {
                                $link = '<span class="history-deleted">' . $rcObj->timestamp . '</span> ';
                        } else {
-                               if ( $rcObj->unpatrolled && $type == RC_NEW ) {
-                                       $params['rcid'] = $rcObj->mAttribs['rc_id'];
-                               }
 
                                $link = Linker::linkKnown(
                                                $rcObj->getTitle(),
index 2cb0a36..06eba95 100644 (file)
@@ -1589,6 +1589,35 @@ $wgDBAvgStatusPoll = 2000;
  */
 $wgDBmysql5 = false;
 
+/**
+ * Set true to enable Oracle DCRP (supported from 11gR1 onward)
+ *
+ * To use this feature set to true and use a datasource defined as
+ * POOLED (i.e. in tnsnames definition set server=pooled in connect_data
+ * block).
+ *
+ * Starting from 11gR1 you can use DCRP (Database Resident Connection
+ * Pool) that maintains established sessions and reuses them on new
+ * connections.
+ *
+ * Not completely tested, but it should fall back on normal connection
+ * in case the pool is full or the datasource is not configured as
+ * pooled.
+ * And the other way around; using oci_pconnect on a non pooled
+ * datasource should produce a normal connection.
+ *
+ * When it comes to frequent shortlived DB connections like with MW
+ * Oracle tends to s***. The problem is the driver connects to the
+ * database reasonably fast, but establishing a session takes time and
+ * resources. MW does not rely on session state (as it does not use
+ * features such as package variables) so establishing a valid session
+ * is in this case an unwanted overhead that just slows things down.
+ *
+ * @warning EXPERIMENTAL!
+ *
+ */
+$wgDBOracleDRCP = false;
+
 /**
  * Other wikis on this site, can be administered from a single developer
  * account.
@@ -2518,11 +2547,13 @@ $wgLocalTZoffset = null;
 $wgMimeType = 'text/html';
 
 /**
- * The content type used in script tags.  This is mostly going to be ignored at
- * least for actual HTML output, since HTML5 doesn't require a MIME type for
- * JavaScript or CSS (those are the default script and style languages).
+ * Previously used as content type in HTML script tags. This is now ignored since
+ * HTML5 doesn't require a MIME type for script tags (javascript is the default).
+ * It was also previously used by RawAction to determine the ctype query parameter
+ * value that will result in a javascript response.
+ * @deprecated since 1.22
  */
-$wgJsMimeType = 'text/javascript';
+$wgJsMimeType = null;
 
 /**
  * The default xmlns attribute. The option to define this has been removed.
@@ -2645,32 +2676,6 @@ $wgSkipSkin = '';
 /** Array for more like $wgSkipSkin. */
 $wgSkipSkins = array();
 
-/**
- * Optionally, we can specify a stylesheet to use for media="handheld".
- * This is recognized by some, but not all, handheld/mobile/PDA browsers.
- * If left empty, compliant handheld browsers won't pick up the skin
- * stylesheet, which is specified for 'screen' media.
- *
- * Can be a complete URL, base-relative path, or $wgStylePath-relative path.
- * Try 'chick/main.css' to apply the Chick styles to the MonoBook HTML.
- *
- * Will also be switched in when 'handheld=yes' is added to the URL, like
- * the 'printable=yes' mode for print media.
- */
-$wgHandheldStyle = false;
-
-/**
- * If set, 'screen' and 'handheld' media specifiers for stylesheets are
- * transformed such that they apply to the iPhone/iPod Touch Mobile Safari,
- * which doesn't recognize 'handheld' but does support media queries on its
- * screen size.
- *
- * Consider only using this if you have a *really good* handheld stylesheet,
- * as iPhone users won't have any way to disable it and use the "grown-up"
- * styles instead.
- */
-$wgHandheldForIPhone = false;
-
 /**
  * Allow user Javascript page?
  * This enables a lot of neat customizations, but may
@@ -3509,8 +3514,9 @@ $wgNoFollowDomainExceptions = array();
 $wgAllowDisplayTitle = true;
 
 /**
- * For consistency, restrict DISPLAYTITLE to titles that normalize to the same
- * canonical DB key.
+ * For consistency, restrict DISPLAYTITLE to text that normalizes to the same
+ * canonical DB key. Also disallow some inline CSS rules like display: none;
+ * which can cause the text to be hidden or unselectable.
  */
 $wgRestrictDisplayTitle = true;
 
@@ -4315,7 +4321,7 @@ $wgRateLimits = array(
                'user' => null, // for each logged-in user
                'newbie' => null, // for each recent (autoconfirmed) account; overrides 'user'
                'ip' => null, // for each anon and recent account
-               'subnet' => null, // ... with final octet removed
+               'subnet' => null, // ... within a /24 subnet in IPv4 or /64 in IPv6
        ),
        'move' => array(
                'user' => null,
@@ -5047,12 +5053,13 @@ $wgGitBin = '/usr/bin/git';
  * The value is the replacement for the key (it can contain $1, etc.)
  * %h will be replaced by the short SHA-1 (7 first chars) and %H by the
  * full SHA-1 of the HEAD revision.
+ * %r will be replaced with a URL-encoded version of $1.
  *
  * @since 1.20
  */
 $wgGitRepositoryViewers = array(
-       'https://gerrit.wikimedia.org/r/p/(.*)' => 'https://gerrit.wikimedia.org/r/gitweb?p=$1;h=%H',
-       'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' => 'https://gerrit.wikimedia.org/r/gitweb?p=$1;h=%H',
+       'https://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 }
@@ -5129,6 +5136,9 @@ $wgUseRCPatrol = true;
 /** Use new page patrolling to check new pages on Special:Newpages */
 $wgUseNPPatrol = true;
 
+/** Log autopatrol actions to the log table */
+$wgLogAutopatrol = true;
+
 /** Provide syndication feeds (RSS, Atom) for, e.g., Recentchanges, Newpages */
 $wgFeed = true;
 
@@ -6158,6 +6168,12 @@ $wgAsyncHTTPTimeout = 25;
  */
 $wgHTTPProxy = false;
 
+/**
+ * Timeout for connections done internally (in seconds)
+ * Only works for curl
+ */
+$wgHTTPConnectTimeout = 5e0;
+
 /** @} */ # End HTTP client }
 
 /************************************************************************//**
index a54b807..407b3cb 100644 (file)
@@ -194,12 +194,13 @@ class GitInfo {
                }
                foreach ( self::getViewers() as $repo => $viewer ) {
                        $pattern = '#^' . $repo . '$#';
-                       if ( preg_match( $pattern, $url ) ) {
+                       if ( preg_match( $pattern, $url, $matches ) ) {
                                $viewerUrl = preg_replace( $pattern, $viewer, $url );
                                $headSHA1 = $this->getHeadSHA1();
                                $replacements = array(
                                        '%h' => substr( $headSHA1, 0, 7 ),
-                                       '%H' => $headSHA1
+                                       '%H' => $headSHA1,
+                                       '%r' => urlencode( $matches[1] ),
                                );
                                return strtr( $viewerUrl, $replacements );
                        }
index 78fcb8b..1c6f642 100644 (file)
@@ -2593,11 +2593,11 @@ function in_string( $needle, $str, $insensitive = false ) {
  * @return Bool
  */
 function wfIniGetBool( $setting ) {
-       $val = ini_get( $setting );
+       $val = strtolower( ini_get( $setting ) );
        // 'on' and 'true' can't have whitespace around them, but '1' can.
-       return strtolower( $val ) == 'on'
-               || strtolower( $val ) == 'true'
-               || strtolower( $val ) == 'yes'
+       return $val == 'on'
+               || $val == 'true'
+               || $val == 'yes'
                || preg_match( "/^\s*[+-]?0*[1-9]/", $val ); // approx C atoi() function
 }
 
index 7adbfc8..33e447e 100644 (file)
@@ -140,6 +140,7 @@ class HTMLForm extends ContextSource {
        protected $mSectionFooters = array();
        protected $mPost = '';
        protected $mId;
+       protected $mTableId = '';
 
        protected $mSubmitID;
        protected $mSubmitName;
@@ -200,12 +201,12 @@ class HTMLForm extends ContextSource {
                        $this->setContext( $context );
                        $this->mTitle = false; // We don't need them to set a title
                        $this->mMessagePrefix = $messagePrefix;
-               } else {
+               } elseif ( is_null( $context ) && $messagePrefix !== '' ) {
+                       $this->mMessagePrefix = $messagePrefix;
+               } elseif ( is_string( $context ) && $messagePrefix === '' ) {
                        // B/C since 1.18
-                       if ( is_string( $context ) && $messagePrefix === '' ) {
-                               // it's actually $messagePrefix
-                               $this->mMessagePrefix = $context;
-                       }
+                       // it's actually $messagePrefix
+                       $this->mMessagePrefix = $context;
                }
 
                // Expand out into a tree.
@@ -587,8 +588,8 @@ class HTMLForm extends ContextSource {
        }
 
        /**
-        * Display the form (sending to $wgOut), with an appropriate error
-        * message or stack of messages, and any validation errors, etc.
+        * Display the form (sending to the context's OutputPage object), with an
+        * appropriate error message or stack of messages, and any validation errors, etc.
         *
         * @attention You should call prepareForm() before calling this function.
         * Moreover, when doing method chaining this should be the very last method
@@ -742,7 +743,7 @@ class HTMLForm extends ContextSource {
         * @return String
         */
        function getBody() {
-               return $this->displaySection( $this->mFieldTree );
+               return $this->displaySection( $this->mFieldTree, $this->mTableId );
        }
 
        /**
@@ -871,6 +872,18 @@ class HTMLForm extends ContextSource {
                return $this;
        }
 
+       /**
+        * Set the id of the \<table\> or outermost \<div\> element.
+        *
+        * @since 1.22
+        * @param string $id new value of the id attribute, or "" to remove
+        * @return HTMLForm $this for chaining calls
+        */
+       public function setTableId( $id ) {
+               $this->mTableId = $id;
+               return $this;
+       }
+
        /**
         * @param string $id DOM id for the form
         * @return HTMLForm $this for chaining calls (since 1.20)
@@ -879,6 +892,7 @@ class HTMLForm extends ContextSource {
                $this->mId = $id;
                return $this;
        }
+
        /**
         * Prompt the whole form to be wrapped in a "<fieldset>", with
         * this text as its "<legend>" element.
@@ -977,7 +991,7 @@ class HTMLForm extends ContextSource {
                                        $hasLabel = true;
                                }
                        } elseif ( is_array( $value ) ) {
-                               $section = $this->displaySection( $value, $key, "$fieldsetIDPrefix$key-" );
+                               $section = $this->displaySection( $value, "mw-htmlform-$key", "$fieldsetIDPrefix$key-" );
                                $legend = $this->getLegend( $key );
                                if ( isset( $this->mSectionHeaders[$key] ) ) {
                                        $section = $this->mSectionHeaders[$key] . $section;
@@ -1005,7 +1019,7 @@ class HTMLForm extends ContextSource {
                        );
 
                        if ( $sectionName ) {
-                               $attribs['id'] = Sanitizer::escapeId( "mw-htmlform-$sectionName" );
+                               $attribs['id'] = Sanitizer::escapeId( $sectionName );
                        }
 
                        if ( $displayFormat === 'table' ) {
@@ -1848,12 +1862,18 @@ class HTMLCheckField extends HTMLFormField {
  * are of the form "columnName-rowName"
  *
  * Options:
- *   columns:           Required list of columns in the matrix.
- *   rows:              Required list of rows in the matrix.
- *   force-options-on:  Accepts array of column-row tags to be displayed as enabled
- *                      but unavailable to change
- *   force-options-off: Accepts array of column-row tags to be displayed as disabled
- *                      but unavailable to change.
+ *   - columns
+ *     - Required list of columns in the matrix.
+ *   - rows
+ *     - Required list of rows in the matrix.
+ *   - force-options-on
+ *     - Accepts array of column-row tags to be displayed as enabled but unavailable to change
+ *   - force-options-off
+ *     - Accepts array of column-row tags to be displayed as disabled but unavailable to change.
+ *   - tooltips
+ *     - Optional array mapping row label to tooltip content
+ *   - tooltip-class
+ *     - Optional CSS class used on tooltip container span. Defaults to mw-icon-question.
  */
 class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
 
@@ -1930,8 +1950,21 @@ class HTMLCheckMatrix extends HTMLFormField implements HTMLNestedFilterable {
                }
                $tableContents .= Html::rawElement( 'tr', array(), "\n$headerContents\n" );
 
+               $tooltipClass = 'mw-icon-question';
+               if ( isset( $this->mParams['tooltip-class'] ) ) {
+                       $tooltipClass = $this->mParams['tooltip-class'];
+               }
+
                // Build the options matrix
                foreach ( $rows as $rowLabel => $rowTag ) {
+                       // Append tooltip if configured
+                       if ( isset( $this->mParams['tooltips'][$rowLabel] ) ) {
+                               $tooltipAttribs = array(
+                                       'class' => "mw-htmlform-tooltip $tooltipClass",
+                                       'title' =>  $this->mParams['tooltips'][$rowLabel],
+                               );
+                               $rowLabel .= ' ' . Html::element( 'span', $tooltipAttribs, '' );
+                       }
                        $rowContents = Html::rawElement( 'td', array(), $rowLabel );
                        foreach ( $columns as $columnTag ) {
                                $thisTag = "$columnTag-$rowTag";
index e7455b7..a8432f8 100644 (file)
@@ -172,7 +172,7 @@ class Html {
 
                // In text/html, initial <html> and <head> tags can be omitted under
                // pretty much any sane circumstances, if they have no attributes.  See:
-               // <http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#optional-tags>
+               // <http://www.whatwg.org/html/syntax.html#optional-tags>
                if ( !$wgWellFormedXml && !$attribs
                && in_array( $element, array( 'html', 'head' ) ) ) {
                        return '';
@@ -238,7 +238,7 @@ class Html {
                $element = strtolower( $element );
 
                // Reference:
-               // http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#optional-tags
+               // http://www.whatwg.org/html/syntax.html#optional-tags
                if ( !$wgWellFormedXml && in_array( $element, array(
                        'html',
                        'head',
@@ -902,7 +902,7 @@ class Html {
                $candidates = array();
                foreach ( $urls as $density => $url ) {
                        // Image candidate syntax per current whatwg live spec, 2012-09-23:
-                       // http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#attr-img-srcset
+                       // http://www.whatwg.org/html/embedded-content-1.html#attr-img-srcset
                        $candidates[] = "{$url} {$density}x";
                }
                return implode( ", ", $candidates );
index 2da368c..cf36d2e 100644 (file)
@@ -40,6 +40,7 @@ class Http {
         * @param array $options options to pass to MWHttpRequest object.
         *      Possible keys for the array:
         *    - timeout             Timeout length in seconds
+        *    - connectTimeout      Timeout for connection, in seconds (curl only)
         *    - postData            An array of key-value pairs or a url-encoded form data
         *    - proxy               The proxy to use.
         *                          Otherwise it will use $wgHTTPProxy (if set)
@@ -65,6 +66,9 @@ class Http {
                if ( !isset( $options['timeout'] ) ) {
                        $options['timeout'] = 'default';
                }
+               if( !isset( $options['connectTimeout'] ) ) {
+                       $options['connectTimeout'] = 'default';
+               }
 
                $req = MWHttpRequest::factory( $url, $options );
                $status = $req->execute();
@@ -216,7 +220,7 @@ class MWHttpRequest {
         * @param array $options (optional) extra params to pass (see Http::request())
         */
        protected function __construct( $url, $options = array() ) {
-               global $wgHTTPTimeout;
+               global $wgHTTPTimeout, $wgHTTPConnectTimeout;
 
                $this->url = wfExpandUrl( $url, PROTO_HTTP );
                $this->parsedUrl = wfParseUrl( $this->url );
@@ -232,6 +236,11 @@ class MWHttpRequest {
                } else {
                        $this->timeout = $wgHTTPTimeout;
                }
+               if ( isset( $options['connectTimeout'] ) && $options['connectTimeout'] != 'default' ) {
+                       $this->connectTimeout = $options['connectTimeout'];
+               } else {
+                       $this->connectTimeout = $wgHTTPConnectTimeout;
+               }
                if ( isset( $options['userAgent'] ) ) {
                        $this->setUserAgent( $options['userAgent'] );
                }
@@ -721,6 +730,7 @@ class CurlHttpRequest extends MWHttpRequest {
 
                $this->curlOptions[CURLOPT_PROXY] = $this->proxy;
                $this->curlOptions[CURLOPT_TIMEOUT] = $this->timeout;
+               $this->curlOptions[CURLOPT_CONNECTTIMEOUT_MS] = $this->connectTimeout * 1000;
                $this->curlOptions[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_0;
                $this->curlOptions[CURLOPT_WRITEFUNCTION] = $this->callback;
                $this->curlOptions[CURLOPT_HEADERFUNCTION] = array( $this, "readHeader" );
index a5beb5d..8cfbc73 100644 (file)
@@ -311,6 +311,12 @@ class ImagePage extends Article {
                        } else {
                                $params = array( 'page' => $page );
                        }
+
+                       $renderLang = $request->getVal( 'lang' );
+                       if ( !is_null( $renderLang ) ) {
+                               $params['lang'] = $renderLang;
+                       }
+
                        $width_orig = $this->displayImg->getWidth( $page );
                        $width = $width_orig;
                        $height_orig = $this->displayImg->getHeight( $page );
index 4b1b5b8..0b7393a 100644 (file)
@@ -237,22 +237,36 @@ class LinksUpdate extends SqlDataUpdate {
                wfProfileOut( __METHOD__ );
        }
 
+       /**
+        * Queue recursive jobs for this page
+        *
+        * Which means do LinksUpdate on all templates
+        * that include the current page, using the job queue.
+        */
        function queueRecursiveJobs() {
-               wfProfileIn( __METHOD__ );
+               self::queueRecursiveJobsForTable( $this->mTitle, 'templatelinks' );
+       }
 
-               if ( $this->mTitle->getBacklinkCache()->hasLinks( 'templatelinks' ) ) {
+       /**
+        * Queue a RefreshLinks job for any table.
+        *
+        * @param Title $title Title to do job for
+        * @param String $table Table to use (e.g. 'templatelinks')
+        */
+       public static function queueRecursiveJobsForTable( Title $title, $table ) {
+               wfProfileIn( __METHOD__ );
+               if ( $title->getBacklinkCache()->hasLinks( $table ) ) {
                        $job = new RefreshLinksJob2(
-                               $this->mTitle,
+                               $title,
                                array(
-                                       'table' => 'templatelinks',
+                                       'table' => $table,
                                ) + Job::newRootJobParams( // "overall" refresh links job info
-                                       "refreshlinks:templatelinks:{$this->mTitle->getPrefixedText()}"
+                                       "refreshlinks:{$table}:{$title->getPrefixedText()}"
                                )
                        );
                        JobQueueGroup::singleton()->push( $job );
                        JobQueueGroup::singleton()->deduplicateRootJob( $job );
                }
-
                wfProfileOut( __METHOD__ );
        }
 
index b63e658..0849afd 100644 (file)
@@ -1986,7 +1986,8 @@ class OutputPage extends ContextSource {
         * the object, let's actually output it:
         */
        public function output() {
-               global $wgLanguageCode, $wgDebugRedirects, $wgMimeType, $wgVaryOnXFP;
+               global $wgLanguageCode, $wgDebugRedirects, $wgMimeType, $wgVaryOnXFP,
+                       $wgUseAjax, $wgResponsiveImages;
 
                if ( $this->mDoNothing ) {
                        return;
@@ -2051,9 +2052,32 @@ class OutputPage extends ContextSource {
                if ( $this->mArticleBodyOnly ) {
                        echo $this->mBodytext;
                } else {
-                       $this->addDefaultModules();
 
                        $sk = $this->getSkin();
+                       // add skin specific modules
+                       $modules = $sk->getDefaultModules();
+
+                       // enforce various default modules for all skins
+                       $coreModules = array(
+                               // keep this list as small as possible
+                               'mediawiki.page.startup',
+                               'mediawiki.user',
+                       );
+
+                       // Support for high-density display images if enabled
+                       if ( $wgResponsiveImages ) {
+                               $coreModules[] = 'mediawiki.hidpi';
+                       }
+
+                       $this->addModules( $coreModules );
+                       foreach ( $modules as $group ) {
+                               $this->addModules( $group );
+                       }
+                       MWDebug::addModules( $this );
+                       if ( $wgUseAjax ) {
+                               // FIXME: deprecate? - not clear why this is useful
+                               wfRunHooks( 'AjaxAddScript', array( &$this ) );
+                       }
 
                        // Hook that allows last minute changes to the output page, e.g.
                        // adding of CSS or Javascript by extensions.
@@ -2553,59 +2577,6 @@ $templates
                return $ret;
        }
 
-       /**
-        * Add the default ResourceLoader modules to this object
-        */
-       private function addDefaultModules() {
-               global $wgIncludeLegacyJavaScript, $wgPreloadJavaScriptMwUtil, $wgUseAjax,
-                       $wgAjaxWatch, $wgResponsiveImages;
-
-               // Add base resources
-               $this->addModules( array(
-                       'mediawiki.user',
-                       'mediawiki.page.startup',
-                       'mediawiki.page.ready',
-               ) );
-               if ( $wgIncludeLegacyJavaScript ) {
-                       $this->addModules( 'mediawiki.legacy.wikibits' );
-               }
-
-               if ( $wgPreloadJavaScriptMwUtil ) {
-                       $this->addModules( 'mediawiki.util' );
-               }
-
-               MWDebug::addModules( $this );
-
-               // Add various resources if required
-               if ( $wgUseAjax ) {
-                       $this->addModules( 'mediawiki.legacy.ajax' );
-
-                       wfRunHooks( 'AjaxAddScript', array( &$this ) );
-
-                       if ( $wgAjaxWatch && $this->getUser()->isLoggedIn() ) {
-                               $this->addModules( 'mediawiki.page.watch.ajax' );
-                       }
-
-                       if ( !$this->getUser()->getOption( 'disablesuggest', false ) ) {
-                               $this->addModules( 'mediawiki.searchSuggest' );
-                       }
-               }
-
-               if ( $this->getUser()->getBoolOption( 'editsectiononrightclick' ) ) {
-                       $this->addModules( 'mediawiki.action.view.rightClickEdit' );
-               }
-
-               # Crazy edit-on-double-click stuff
-               if ( $this->isArticle() && $this->getUser()->getOption( 'editondblclick' ) ) {
-                       $this->addModules( 'mediawiki.action.view.dblClickEdit' );
-               }
-
-               // Support for high-density display images
-               if ( $wgResponsiveImages ) {
-                       $this->addModules( 'mediawiki.hidpi' );
-               }
-       }
-
        /**
         * Get a ResourceLoader object associated with this OutputPage
         *
@@ -3595,7 +3566,7 @@ $templates
         * this stylesheet
         */
        public static function transformCssMedia( $media ) {
-               global $wgRequest, $wgHandheldForIPhone;
+               global $wgRequest;
 
                // http://www.w3.org/TR/css3-mediaqueries/#syntax
                $screenMediaQueryRegex = '/^(?:only\s+)?screen\b/i';
@@ -3627,18 +3598,6 @@ $templates
                        }
                }
 
-               // Expand longer media queries as iPhone doesn't grok 'handheld'
-               if ( $wgHandheldForIPhone ) {
-                       $mediaAliases = array(
-                               'screen' => 'screen and (min-device-width: 481px)',
-                               'handheld' => 'handheld, only screen and (max-device-width: 480px)',
-                       );
-
-                       if ( isset( $mediaAliases[$media] ) ) {
-                               $media = $mediaAliases[$media];
-                       }
-               }
-
                return $media;
        }
 
index 1b01750..848cd32 100644 (file)
@@ -157,7 +157,7 @@ class Preferences {
 
                        foreach ( $columns as $column ) {
                                foreach ( $rows as $row ) {
-                                       if ( $user->getOption( "$prefix-$column-$row" ) ) {
+                                       if ( $user->getOption( "$prefix$column-$row" ) ) {
                                                $val[] = "$column-$row";
                                        }
                                }
@@ -229,10 +229,14 @@ class Preferences {
                        'section' => 'personal/info',
                );
 
+               $editCount = Linker::link( SpecialPage::getTitleFor( "Contributions", $userName ),
+                       $lang->formatNum( $user->getEditCount() ) );
+
                $defaultPreferences['editcount'] = array(
                        'type' => 'info',
+                       'raw' => true,
                        'label-message' => 'prefs-edits',
-                       'default' => $lang->formatNum( $user->getEditCount() ),
+                       'default' => $editCount,
                        'section' => 'personal/info',
                );
 
@@ -1573,7 +1577,7 @@ class PreferencesForm extends HTMLForm {
                                $info = $field->mParams;
                                $prefix = isset( $info['prefix'] ) ? $info['prefix'] : $fieldname;
                                foreach ( $field->filterDataForSubmit( $data[$fieldname] ) as $key => $value ) {
-                                       $data["$prefix-$key"] = $value;
+                                       $data["$prefix$key"] = $value;
                                }
                                unset( $data[$fieldname] );
                        }
index b5d4a1c..24db569 100644 (file)
@@ -96,10 +96,12 @@ class RecentChange {
        }
 
        /**
+        * @deprecated in 1.22
         * @param $row
         * @return RecentChange
         */
        public static function newFromCurRow( $row ) {
+               wfDeprecated( __METHOD__, '1.22' );
                $rc = new RecentChange;
                $rc->loadFromCurRow( $row );
                $rc->notificationtimestamp = false;
@@ -122,11 +124,12 @@ class RecentChange {
         *
         * @param array $conds of conditions
         * @param $fname Mixed: override the method name in profiling/logs
+        * @param $options Array Query options
         * @return RecentChange
         */
-       public static function newFromConds( $conds, $fname = __METHOD__ ) {
+       public static function newFromConds( $conds, $fname = __METHOD__, $options = array() ) {
                $dbr = wfGetDB( DB_SLAVE );
-               $row = $dbr->selectRow( 'recentchanges', self::selectFields(), $conds, $fname );
+               $row = $dbr->selectRow( 'recentchanges', self::selectFields(), $conds, $fname, $options );
                if ( $row !== false ) {
                        return self::newFromRow( $row );
                } else {
@@ -328,7 +331,7 @@ class RecentChange {
         * @return String
         */
        public static function cleanupForIRC( $text ) {
-               return Sanitizer::decodeCharReferences( str_replace( array( "\n", "\r" ), array( "", "" ), $text ) );
+               return Sanitizer::decodeCharReferences( str_replace( array( "\n", "\r" ), array( " ", "" ), $text ) );
        }
 
        /**
@@ -409,6 +412,9 @@ class RecentChange {
                        ),
                        __METHOD__
                );
+               // Invalidate the page cache after the page has been patrolled
+               // to make sure that the Patrol link isn't visible any longer!
+               $this->getTitle()->invalidateCache();
                return $dbw->affectedRows();
        }
 
@@ -653,9 +659,11 @@ class RecentChange {
        /**
         * Makes a pseudo-RC entry from a cur row
         *
+        * @deprected in 1.22
         * @param $row
         */
        public function loadFromCurRow( $row ) {
+               wfDeprecated( __METHOD__, '1.22' );
                $this->mAttribs = array(
                        'rc_timestamp' => wfTimestamp( TS_MW, $row->rev_timestamp ),
                        'rc_cur_time' => $row->rev_timestamp,
@@ -862,4 +870,18 @@ class RecentChange {
                }
                return $ip;
        }
+
+       /**
+        * Check whether the given timestamp is new enough to have a RC row with a given tolerance
+        * as the recentchanges table might not be cleared out regularly (so older entries might exist)
+        * or rows which will be deleted soon shouldn't be included.
+        *
+        * @param $timestamp mixed MWTimestamp compatible timestamp
+        * @param $tolerance integer Tolerance in seconds
+        * @return bool
+        */
+       public static function isInRCLifespan( $timestamp, $tolerance = 0 ) {
+               global $wgRCMaxAge;
+               return wfTimestamp( TS_UNIX, $timestamp ) > time() - $tolerance - $wgRCMaxAge;
+       }
 }
index ed01235..8a0522b 100644 (file)
@@ -740,7 +740,7 @@ class Sanitizer {
 
                        # WAI-ARIA
                        # http://www.w3.org/TR/wai-aria/
-                       # http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#wai-aria
+                       # http://www.whatwg.org/html/elements.html#wai-aria
                        # For now we only support role="presentation" until we work out what roles should be
                        # usable by content and we ensure that our code explicitly rejects patterns that
                        # violate HTML5's ARIA restrictions.
@@ -813,9 +813,10 @@ class Sanitizer {
        /**
         * Pick apart some CSS and check it for forbidden or unsafe structures.
         * Returns a sanitized string. This sanitized string will have
-        * character references and escape sequences decoded, and comments
-        * stripped. If the input is just too evil, only a comment complaining
-        * about evilness will be returned.
+        * character references and escape sequences decoded and comments
+        * stripped (unless it is itself one valid comment, in which case the value
+        * will be passed through). If the input is just too evil, only a comment
+        * complaining about evilness will be returned.
         *
         * Currently URL references, 'expression', 'tps' are forbidden.
         *
@@ -856,19 +857,24 @@ class Sanitizer {
                $value = preg_replace_callback( $decodeRegex,
                        array( __CLASS__, 'cssDecodeCallback' ), $value );
 
-               // Remove any comments; IE gets token splitting wrong
-               // This must be done AFTER decoding character references and
-               // escape sequences, because those steps can introduce comments
-               // This step cannot introduce character references or escape
-               // sequences, because it replaces comments with spaces rather
-               // than removing them completely.
-               $value = StringUtils::delimiterReplace( '/*', '*/', ' ', $value );
-
-               // Remove anything after a comment-start token, to guard against
-               // incorrect client implementations.
-               $commentPos = strpos( $value, '/*' );
-               if ( $commentPos !== false ) {
-                       $value = substr( $value, 0, $commentPos );
+               // Let the value through if it's nothing but a single comment, to
+               // allow other functions which may reject it to pass some error
+               // message through.
+               if ( !preg_match( '! ^ \s* /\* [^*\\/]* \*/ \s* $ !x', $value ) ) {
+                       // Remove any comments; IE gets token splitting wrong
+                       // This must be done AFTER decoding character references and
+                       // escape sequences, because those steps can introduce comments
+                       // This step cannot introduce character references or escape
+                       // sequences, because it replaces comments with spaces rather
+                       // than removing them completely.
+                       $value = StringUtils::delimiterReplace( '/*', '*/', ' ', $value );
+
+                       // Remove anything after a comment-start token, to guard against
+                       // incorrect client implementations.
+                       $commentPos = strpos( $value, '/*' );
+                       if ( $commentPos !== false ) {
+                               $value = substr( $value, 0, $commentPos );
+                       }
                }
 
                // Reject problematic keywords and control characters
@@ -932,14 +938,7 @@ class Sanitizer {
                $decoded = Sanitizer::decodeTagAttributes( $text );
                $stripped = Sanitizer::validateTagAttributes( $decoded, $element );
 
-               $attribs = array();
-               foreach ( $stripped as $attribute => $value ) {
-                       $encAttribute = htmlspecialchars( $attribute );
-                       $encValue = Sanitizer::safeEncodeAttribute( $value );
-
-                       $attribs[] = "$encAttribute=\"$encValue\"";
-               }
-               return count( $attribs ) ? ' ' . implode( ' ', $attribs ) : '';
+               return Sanitizer::safeEncodeTagAttributes( $stripped );
        }
 
        /**
@@ -1012,7 +1011,7 @@ class Sanitizer {
         *                                                          in the id and
         *                                                          name attributes
         * @see http://www.w3.org/TR/html401/struct/links.html#h-12.2.3 Anchors with the id attribute
-        * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#the-id-attribute
+        * @see http://www.whatwg.org/html/elements.html#the-id-attribute
         *   HTML5 definition of id attribute
         *
         * @param string $id id to escape
@@ -1139,6 +1138,24 @@ class Sanitizer {
                return $attribs;
        }
 
+       /**
+        * Build a partial tag string from an associative array of attribute
+        * names and values as returned by decodeTagAttributes.
+        *
+        * @param $assoc_array Array
+        * @return String
+        */
+       public static function safeEncodeTagAttributes( $assoc_array ) {
+               $attribs = array();
+               foreach ( $assoc_array as $attribute => $value ) {
+                       $encAttribute = htmlspecialchars( $attribute );
+                       $encValue = Sanitizer::safeEncodeAttribute( $value );
+
+                       $attribs[] = "$encAttribute=\"$encValue\"";
+               }
+               return count( $attribs ) ? ' ' . implode( ' ', $attribs ) : '';
+       }
+
        /**
         * Pick the appropriate attribute value from a match set from the
         * attribs regex matches.
@@ -1450,7 +1467,7 @@ class Sanitizer {
                }
 
                if ( $wgAllowMicrodataAttributes ) {
-                       # add HTML5 microdata tags as specified by http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#the-microdata-model
+                       # add HTML5 microdata tags as specified by http://www.whatwg.org/html/microdata.html#the-microdata-model
                        $common = array_merge( $common, array(
                                'itemid', 'itemprop', 'itemref', 'itemscope', 'itemtype'
                        ) );
@@ -1606,7 +1623,7 @@ class Sanitizer {
                        'bdi' => $common,
 
                        # HTML5 elements, defined by:
-                       # http://www.whatwg.org/specs/web-apps/current-work/multipage/
+                       # http://www.whatwg.org/html/
                        'data' => array_merge( $common, array( 'value' ) ),
                        'time' => array_merge( $common, array( 'datetime' ) ),
                        'mark' => $common,
@@ -1723,7 +1740,7 @@ class Sanitizer {
         * Does a string look like an e-mail address?
         *
         * This validates an email address using an HTML5 specification found at:
-        * http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
+        * http://www.whatwg.org/html/states-of-the-type-attribute.html#valid-e-mail-address
         * Which as of 2011-01-24 says:
         *
         *   A valid e-mail address is a string that matches the ABNF production
index fa88c0e..ef22e0a 100644 (file)
@@ -31,8 +31,12 @@ class ScopedCallback {
 
        /**
         * @param callable $callback
+        * @throws MWException
         */
        public function __construct( $callback ) {
+               if ( !is_callable( $callback ) ) {
+                       throw new MWException( "Provided callback is not valid." );
+               }
                $this->callback = $callback;
        }
 
index acbc3b6..d8c9180 100644 (file)
@@ -344,12 +344,11 @@ foreach ( $wgDisabledActions as $action ) {
        $wgActions[$action] = false;
 }
 
-# We always output html5 since 1.22, override any change made by local settings
+# We always output HTML5 since 1.22, overriding these is no longer supported
+# we set them here for extensions that depend on its value.
 $wgHtml5 = true;
-
-# Setting wgXhtmlDefaultNamespace is not supported since 1.22.
-# However we define it here for extensions that depend on its value.
 $wgXhtmlDefaultNamespace = 'http://www.w3.org/1999/xhtml';
+$wgJsMimeType = 'text/javascript';
 
 if ( !$wgHtml5Version && $wgAllowRdfaAttributes ) {
        # see http://www.w3.org/TR/rdfa-in-html/#document-conformance
@@ -399,7 +398,7 @@ if ( $wgDebugToolbar && !$wgCommandLineMode ) {
 }
 
 if ( !class_exists( 'AutoLoader' ) ) {
-       require_once( "$IP/includes/AutoLoader.php" );
+       require_once "$IP/includes/AutoLoader.php";
 }
 
 wfProfileIn( $fname . '-exception' );
@@ -407,10 +406,10 @@ MWExceptionHandler::installHandler();
 wfProfileOut( $fname . '-exception' );
 
 wfProfileIn( $fname . '-includes' );
-require_once( "$IP/includes/normal/UtfNormalUtil.php" );
-require_once( "$IP/includes/GlobalFunctions.php" );
-require_once( "$IP/includes/ProxyTools.php" );
-require_once( "$IP/includes/normal/UtfNormalDefines.php" );
+require_once "$IP/includes/normal/UtfNormalUtil.php";
+require_once "$IP/includes/GlobalFunctions.php";
+require_once "$IP/includes/ProxyTools.php";
+require_once "$IP/includes/normal/UtfNormalDefines.php";
 wfProfileOut( $fname . '-includes' );
 
 if ( $wgSecureLogin && substr( $wgServer, 0, 2 ) !== '//' ) {
index 02e1911..199c64f 100644 (file)
@@ -226,20 +226,24 @@ class SiteStats {
         * @return bool
         */
        private static function isSane( $row ) {
-               if (
-                       $row === false
+               if ( $row === false
                        || $row->ss_total_pages < $row->ss_good_articles
                        || $row->ss_total_edits < $row->ss_total_pages
+                       || $row->ss_users < $row->ss_active_users
                ) {
                        return false;
                }
                // Now check for underflow/overflow
-               foreach ( array( 'total_views', 'total_edits', 'good_articles',
-               'total_pages', 'users', 'images' ) as $member ) {
-                       if (
-                               $row->{"ss_$member"} > 2000000000
-                               || $row->{"ss_$member"} < 0
-                       ) {
+               foreach ( array(
+                       'ss_total_views',
+                       'ss_total_edits',
+                       'ss_good_articles',
+                       'ss_total_pages',
+                       'ss_users',
+                       'ss_active_users',
+                       'ss_images',
+               ) as $member ) {
+                       if ( $row->$member > 2000000000 || $row->$member < 0 ) {
                                return false;
                        }
                }
index 245fac2..53003c6 100644 (file)
@@ -25,7 +25,7 @@
  */
 
 /**
- * The main skin class that provide methods and properties for all other skins.
+ * The main skin class which provides methods and properties for all other skins.
  * This base class is also the "Standard" skin.
  *
  * See docs/skin.txt for more information.
@@ -88,7 +88,7 @@ abstract class Skin extends ContextSource {
        }
 
        /**
-        * Fetch the list of usable skins in regards to $wgSkipSkins.
+        * Fetch the list of user-selectable skins in regards to $wgSkipSkins.
         * Useful for Special:Preferences and other places where you
         * only want to show skins users _can_ use.
         * @return array of strings
@@ -96,13 +96,13 @@ abstract class Skin extends ContextSource {
        public static function getUsableSkins() {
                global $wgSkipSkins;
 
-               $usableSkins = self::getSkinNames();
+               $allowedSkins = self::getSkinNames();
 
                foreach ( $wgSkipSkins as $skip ) {
-                       unset( $usableSkins[$skip] );
+                       unset( $allowedSkins[$skip] );
                }
 
-               return $usableSkins;
+               return $allowedSkins;
        }
 
        /**
@@ -197,6 +197,68 @@ abstract class Skin extends ContextSource {
                wfProfileOut( __METHOD__ );
        }
 
+       /**
+        * Defines the ResourceLoader modules that should be added to the skin
+        * It is recommended that skins wishing to override call parent::getDefaultModules()
+        * and substitute out any modules they wish to change by using a key to look them up
+        * @return Array of modules with helper keys for easy overriding
+        */
+       public function getDefaultModules() {
+               global $wgIncludeLegacyJavaScript, $wgPreloadJavaScriptMwUtil, $wgUseAjax,
+                       $wgAjaxWatch, $wgEnableAPI, $wgEnableWriteAPI;
+
+               $out = $this->getOutput();
+               $user = $out->getUser();
+               $modules = array(
+                       // modules that enhance the page content in some way
+                       'content' => array(
+                               'mediawiki.page.ready',
+                       ),
+                       // modules that exist for legacy reasons
+                       'legacy' => array(),
+                       // modules relating to search functionality
+                       'search' => array(),
+                       // modules relating to functionality relating to watching an article
+                       'watch' => array(),
+                       // modules which relate to the current users preferences
+                       'user' => array(),
+               );
+               if ( $wgIncludeLegacyJavaScript ) {
+                       $modules['legacy'][] = 'mediawiki.legacy.wikibits';
+               }
+
+               if ( $wgPreloadJavaScriptMwUtil ) {
+                       $modules['legacy'][] = 'mediawiki.util';
+               }
+
+               // Add various resources if required
+               if ( $wgUseAjax ) {
+                       $modules['legacy'][] = 'mediawiki.legacy.ajax';
+
+                       if ( $wgEnableAPI ) {
+                               if ( $wgEnableWriteAPI && $wgAjaxWatch && $user->isLoggedIn()
+                                       && $user->isAllowed( 'writeapi' )
+                               ) {
+                                       $modules['watch'][] = 'mediawiki.page.watch.ajax';
+                               }
+
+                               if ( !$user->getOption( 'disablesuggest', false ) ) {
+                                       $modules['search'][] = 'mediawiki.searchSuggest';
+                               }
+                       }
+               }
+
+               if ( $user->getBoolOption( 'editsectiononrightclick' ) ) {
+                       $modules['user'][] = 'mediawiki.action.view.rightClickEdit';
+               }
+
+               // Crazy edit-on-double-click stuff
+               if ( $out->isArticle() && $user->getOption( 'editondblclick' ) ) {
+                       $modules['user'][] = 'mediawiki.action.view.dblClickEdit';
+               }
+               return $modules;
+       }
+
        /**
         * Preload the existence of three commonly-requested pages in a single query
         */
index e3a6ccf..fa90954 100644 (file)
@@ -1253,6 +1253,7 @@ class SkinTemplate extends Skin {
                        }
 
                        $sur = new UserrightsPage;
+                       $sur->setContext( $this->getContext() );
                        if ( $sur->userCanExecute( $this->getUser() ) ) {
                                $nav_urls['userrights'] = array(
                                        'href' => self::makeSpecialUrlSubpage( 'Userrights', $rootUser )
index 6e9df2d..ac838a5 100644 (file)
@@ -27,7 +27,6 @@
  * @ingroup SpecialPage
  */
 class SpecialPage {
-
        // The canonical name of this special page
        // Also used for the default <h1> heading, @see getDescription()
        protected $mName;
@@ -305,12 +304,14 @@ class SpecialPage {
         *     If you override execute(), you can recover the default behavior with userCanExecute()
         *     and displayRestrictionError()
         *
-        * @param string $name name of the special page, as seen in links and URLs
-        * @param string $restriction user right required, e.g. "block" or "delete"
-        * @param bool $listed whether the page is listed in Special:Specialpages
-        * @param $function Callback|Bool: function called by execute(). By default it is constructed from $name
-        * @param string $file file which is included by execute(). It is also constructed from $name by default
-        * @param bool $includable whether the page can be included in normal pages
+        * @param string $name Name of the special page, as seen in links and URLs
+        * @param string $restriction User right required, e.g. "block" or "delete"
+        * @param bool $listed Whether the page is listed in Special:Specialpages
+        * @param Callback|Bool $function Function called by execute(). By default
+        * it is constructed from $name
+        * @param string $file File which is included by execute(). It is also
+        * constructed from $name by default
+        * @param bool $includable Whether the page can be included in normal pages
         */
        public function __construct(
                $name = '', $restriction = '', $listed = true,
@@ -322,12 +323,14 @@ class SpecialPage {
        /**
         * Do the real work for the constructor, mainly so __call() can intercept
         * calls to SpecialPage()
-        * @param string $name name of the special page, as seen in links and URLs
-        * @param string $restriction user right required, e.g. "block" or "delete"
-        * @param bool $listed whether the page is listed in Special:Specialpages
-        * @param $function Callback|Bool: function called by execute(). By default it is constructed from $name
-        * @param string $file file which is included by execute(). It is also constructed from $name by default
-        * @param bool $includable whether the page can be included in normal pages
+        * @param string $name Name of the special page, as seen in links and URLs
+        * @param string $restriction User right required, e.g. "block" or "delete"
+        * @param bool $listed Whether the page is listed in Special:Specialpages
+        * @param Callback|Bool $function Function called by execute(). By default
+        * it is constructed from $name
+        * @param string $file File which is included by execute(). It is also
+        * constructed from $name by default
+        * @param bool $includable Whether the page can be included in normal pages
         */
        private function init( $name, $restriction, $listed, $function, $file, $includable ) {
                $this->mName = $name;
@@ -749,7 +752,8 @@ class SpecialPage {
                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();
                }
        }
@@ -956,7 +960,8 @@ abstract class FormSpecialPage extends SpecialPage {
         * Play with the HTMLForm if you need to more substantially
         * @param $form HTMLForm
         */
-       protected function alterForm( HTMLForm $form ) {}
+       protected function alterForm( HTMLForm $form ) {
+       }
 
        /**
         * Get message prefix for HTMLForm
@@ -980,7 +985,7 @@ abstract class FormSpecialPage extends SpecialPage {
                $form->setWrapperLegendMsg( $this->getMessagePrefix() . '-legend' );
 
                $headerMsg = $this->msg( $this->getMessagePrefix() . '-text' );
-               if ( !$headerMsg->disabled() ) {
+               if ( !$headerMsg->isDisabled() ) {
                        $form->addHeaderText( $headerMsg->parseAsBlock() );
                }
 
@@ -1011,7 +1016,8 @@ abstract class FormSpecialPage extends SpecialPage {
         * confirmation message
         * @since 1.22 Default is to do nothing
         */
-       public function onSuccess() {}
+       public function onSuccess() {
+       }
 
        /**
         * Basic SpecialPage workflow: get a form, send it to the user; get some data back,
@@ -1174,6 +1180,7 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage {
 }
 
 abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
+       // @todo FIXME: Visibility must be declared
        var $redirName, $redirSubpage;
 
        function __construct(
@@ -1250,7 +1257,7 @@ class SpecialCreateAccount extends SpecialRedirectToSpecial {
  * - limit, offset: Useful for linking to history of one's own user page or
  * user talk page. For example, this would be a link to "the last edit to your
  * user talk page in the year 2010":
- * http://en.wikipedia.org/w/index.php?title=Special:MyPage&offset=20110000000000&limit=1&action=history
+ * http://en.wikipedia.org/wiki/Special:MyPage?offset=20110000000000&limit=1&action=history
  *
  * - feed: would allow linking to the current user's RSS feed for their user
  * talk page:
index 14915e5..a543126 100644 (file)
@@ -1739,6 +1739,10 @@ class Title {
         * @return Array list of errors
         */
        private function checkQuickPermissions( $action, $user, $errors, $doExpensiveQueries, $short ) {
+               if ( !wfRunHooks( 'TitleQuickPermissions', array( $this, $user, $action, &$errors, $doExpensiveQueries, $short ) ) ) {
+                       return $errors;
+               }
+
                if ( $action == 'create' ) {
                        if (
                                ( $this->isTalkPage() && !$user->isAllowed( 'createtalk' ) ) ||
@@ -3448,6 +3452,7 @@ class Title {
                        }
                }
 
+               wfRunHooks( 'TitleSquidURLs', array( $this, &$urls ) );
                return $urls;
        }
 
@@ -4487,8 +4492,6 @@ class Title {
         * @return Bool true if the update succeeded
         */
        public function invalidateCache() {
-               global $wgMemc;
-
                if ( wfReadOnly() ) {
                        return false;
                }
@@ -4504,18 +4507,8 @@ class Title {
                                $method
                        );
                } );
-               HTMLFileCache::clearFileCache( $this );
 
-               // Clear page info.
-               $revision = WikiPage::factory( $this )->getRevision();
-               if ( $revision !== null ) {
-                       $memcKey = wfMemcKey( 'infoaction', $this->getPrefixedText(), $revision->getId() );
-                       $success = $wgMemc->delete( $memcKey );
-               } else {
-                       $success = true;
-               }
-
-               return $success;
+               return true;
        }
 
        /**
index e2cbb81..ef3f9ac 100644 (file)
@@ -251,7 +251,7 @@ class User {
        }
 
        /**
-        * @return String
+        * @return string
         */
        function __toString() {
                return $this->getName();
@@ -266,7 +266,7 @@ class User {
                }
                wfProfileIn( __METHOD__ );
 
-               # Set it now to avoid infinite recursion in accessors
+               // Set it now to avoid infinite recursion in accessors
                $this->mLoadedItems = true;
 
                switch ( $this->mFrom ) {
@@ -276,7 +276,7 @@ class User {
                        case 'name':
                                $this->mId = self::idFromName( $this->mName );
                                if ( !$this->mId ) {
-                                       # Nonexistent user placeholder object
+                                       // Nonexistent user placeholder object
                                        $this->loadDefaults( $this->mName );
                                } else {
                                        $this->loadFromId();
@@ -301,7 +301,7 @@ class User {
 
        /**
         * Load user table data, given mId has already been set.
-        * @return Bool false if the ID does not exist, true otherwise
+        * @return bool false if the ID does not exist, true otherwise
         */
        public function loadFromId() {
                global $wgMemc;
@@ -310,25 +310,25 @@ class User {
                        return false;
                }
 
-               # Try cache
+               // Try cache
                $key = wfMemcKey( 'user', 'id', $this->mId );
                $data = $wgMemc->get( $key );
                if ( !is_array( $data ) || $data['mVersion'] < MW_USER_VERSION ) {
-                       # Object is expired, load from DB
+                       // Object is expired, load from DB
                        $data = false;
                }
 
                if ( !$data ) {
                        wfDebug( "User: cache miss for user {$this->mId}\n" );
-                       # Load from DB
+                       // Load from DB
                        if ( !$this->loadFromDatabase() ) {
-                               # Can't load from ID, user is anonymous
+                               // Can't load from ID, user is anonymous
                                return false;
                        }
                        $this->saveToCache();
                } else {
                        wfDebug( "User: got user {$this->mId} from cache\n" );
-                       # Restore from cache
+                       // Restore from cache
                        foreach ( self::$mCacheVars as $name ) {
                                $this->$name = $data[$name];
                        }
@@ -370,14 +370,14 @@ class User {
         * you have both an ID and a name handy.
         *
         * @param string $name Username, validated by Title::newFromText()
-        * @param string|Bool $validate Validate username. Takes the same parameters as
-        *    User::getCanonicalName(), except that true is accepted as an alias
-        *    for 'valid', for BC.
+        * @param string|bool $validate Validate username. Takes the same parameters as
+        *  User::getCanonicalName(), except that true is accepted as an alias
+        *  for 'valid', for BC.
         *
         * @return User|bool User object, or false if the username is invalid
-        *    (e.g. if it contains illegal characters or is an IP address). If the
-        *    username is not present in the database, the result will be a user object
-        *    with a name, zero user ID and default settings.
+        *  (e.g. if it contains illegal characters or is an IP address). If the
+        *  username is not present in the database, the result will be a user object
+        *  with a name, zero user ID and default settings.
         */
        public static function newFromName( $name, $validate = 'valid' ) {
                if ( $validate === true ) {
@@ -387,7 +387,7 @@ class User {
                if ( $name === false ) {
                        return false;
                } else {
-                       # Create unloaded user object
+                       // Create unloaded user object
                        $u = new User;
                        $u->mName = $name;
                        $u->mFrom = 'name';
@@ -418,7 +418,7 @@ class User {
         * If the code is invalid or has expired, returns NULL.
         *
         * @param string $code Confirmation code
-        * @return User object, or null
+        * @return User|null
         */
        public static function newFromConfirmationCode( $code ) {
                $dbr = wfGetDB( DB_SLAVE );
@@ -437,7 +437,7 @@ class User {
         * Create a new user object using data from session or cookies. If the
         * login credentials are invalid, the result is an anonymous user.
         *
-        * @param $request WebRequest object to use; $wgRequest will be used if omitted.
+        * @param WebRequest $request Object to use; $wgRequest will be used if omitted.
         * @return User object
         */
        public static function newFromSession( WebRequest $request = null ) {
@@ -472,7 +472,7 @@ class User {
        /**
         * Get the username corresponding to a given user ID
         * @param int $id User ID
-        * @return String|bool The corresponding username
+        * @return string|bool The corresponding username
         */
        public static function whoIs( $id ) {
                return UserCache::singleton()->getProp( $id, 'name' );
@@ -482,7 +482,7 @@ class User {
         * Get the real name of a user given their user ID
         *
         * @param int $id User ID
-        * @return String|bool The corresponding user's real name
+        * @return string|bool The corresponding user's real name
         */
        public static function whoIsReal( $id ) {
                return UserCache::singleton()->getProp( $id, 'real_name' );
@@ -491,12 +491,12 @@ class User {
        /**
         * Get database id given a user name
         * @param string $name Username
-        * @return Int|Null The corresponding user's ID, or null if user is nonexistent
+        * @return int|null The corresponding user's ID, or null if user is nonexistent
         */
        public static function idFromName( $name ) {
                $nt = Title::makeTitleSafe( NS_USER, $name );
                if ( is_null( $nt ) ) {
-                       # Illegal name
+                       // Illegal name
                        return null;
                }
 
@@ -542,8 +542,8 @@ class User {
         * addresses like this, if we allowed accounts like this to be created
         * new users could get the old edits of these anonymous users.
         *
-        * @param string $name to match
-        * @return Bool
+        * @param string $name Name to match
+        * @return bool
         */
        public static function isIP( $name ) {
                return preg_match( '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.(?:xxx|\d{1,3})$/', $name ) || IP::isIPv6( $name );
@@ -557,8 +557,8 @@ class User {
         * is longer than the maximum allowed username size or doesn't begin with
         * a capital letter.
         *
-        * @param string $name to match
-        * @return Bool
+        * @param string $name Name to match
+        * @return bool
         */
        public static function isValidUserName( $name ) {
                global $wgContLang, $wgMaxNameChars;
@@ -611,8 +611,8 @@ class User {
         * If an account already exists in this form, login will be blocked
         * by a failure to pass this function.
         *
-        * @param string $name to match
-        * @return Bool
+        * @param string $name Name to match
+        * @return bool
         */
        public static function isUsableName( $name ) {
                global $wgReservedUsernames;
@@ -649,7 +649,7 @@ class User {
         * isValidUserName() to avoid disrupting existing accounts.
         *
         * @param string $name to match
-        * @return Bool
+        * @return bool
         */
        public static function isCreatableName( $name ) {
                global $wgInvalidUsernameCharacters;
@@ -679,7 +679,7 @@ class User {
         * Is the input a valid password for this user?
         *
         * @param string $password Desired password
-        * @return Bool
+        * @return bool
         */
        public function isValidPassword( $password ) {
                //simple boolean wrapper for getPasswordValidity
@@ -731,7 +731,7 @@ class User {
         * Does a string look like an e-mail address?
         *
         * This validates an email address using an HTML5 specification found at:
-        * http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
+        * http://www.whatwg.org/html/states-of-the-type-attribute.html#valid-e-mail-address
         * Which as of 2011-01-24 says:
         *
         *     A valid e-mail address is a string that matches the ABNF production
@@ -751,7 +751,7 @@ class User {
         * pass validation here.
         *
         * @param string $addr E-mail address
-        * @return Bool
+        * @return bool
         * @deprecated since 1.18 call Sanitizer::isValidEmail() directly
         */
        public static function isValidEmailAddr( $addr ) {
@@ -763,7 +763,7 @@ class User {
         * Given unvalidated user input, return a canonical username, or false if
         * the username is invalid.
         * @param string $name User input
-        * @param string|Bool $validate type of validation to use:
+        * @param string|bool $validate type of validation to use:
         *                - false        No validation
         *                - 'valid'      Valid for batch processes
         *                - 'usable'     Valid for batch processes and login
@@ -773,7 +773,7 @@ class User {
         * @return bool|string
         */
        public static function getCanonicalName( $name, $validate = 'valid' ) {
-               # Force usernames to capital
+               // Force usernames to capital
                global $wgContLang;
                $name = $wgContLang->ucfirst( $name );
 
@@ -784,15 +784,15 @@ class User {
                        return false;
                }
 
-               # Clean up name according to title rules
+               // Clean up name according to title rules
                $t = ( $validate === 'valid' ) ?
                        Title::newFromText( $name ) : Title::makeTitle( NS_USER, $name );
-               # Check for invalid titles
+               // Check for invalid titles
                if ( is_null( $t ) ) {
                        return false;
                }
 
-               # Reject various classes of invalid names
+               // Reject various classes of invalid names
                global $wgAuth;
                $name = $wgAuth->getCanonicalName( $t->getText() );
 
@@ -824,7 +824,7 @@ class User {
         * Count the number of edits of a user
         *
         * @param int $uid User ID to check
-        * @return Int the user's edit count
+        * @return int The user's edit count
         *
         * @deprecated since 1.21 in favour of User::getEditCount
         */
@@ -837,7 +837,7 @@ class User {
        /**
         * Return a random password.
         *
-        * @return String new random password
+        * @return string New random password
         */
        public static function randomPassword() {
                global $wgMinimalPasswordLength;
@@ -900,7 +900,7 @@ class User {
         * @param string $all 'all' to check if the whole object has been loaded
         *        or any other string to check if only the item is available (e.g.
         *        for optimisation)
-        * @return Boolean
+        * @return boolean
         */
        public function isItemLoaded( $item, $all = 'all' ) {
                return ( $this->mLoadedItems === true && $all === 'all' ) ||
@@ -910,7 +910,7 @@ class User {
        /**
         * Set that an item has been loaded
         *
-        * @param $item String
+        * @param string $item
         */
        protected function setItemLoaded( $item ) {
                if ( is_array( $this->mLoadedItems ) ) {
@@ -920,7 +920,7 @@ class User {
 
        /**
         * Load user data from the session or login cookie.
-        * @return Bool True if the user is logged in, false otherwise.
+        * @return bool True if the user is logged in, false otherwise.
         */
        private function loadFromSession() {
                $result = null;
@@ -959,13 +959,13 @@ class User {
 
                $proposedUser = User::newFromId( $sId );
                if ( !$proposedUser->isLoggedIn() ) {
-                       # Not a valid ID
+                       // Not a valid ID
                        return false;
                }
 
                global $wgBlockDisablesLogin;
                if ( $wgBlockDisablesLogin && $proposedUser->isBlocked() ) {
-                       # User blocked and we've disabled blocked user logins
+                       // User blocked and we've disabled blocked user logins
                        return false;
                }
 
@@ -979,7 +979,7 @@ class User {
                        $passwordCorrect = ( strlen( $token ) && $token === $request->getCookie( 'Token' ) );
                        $from = 'cookie';
                } else {
-                       # No session or persistent login cookie
+                       // No session or persistent login cookie
                        return false;
                }
 
@@ -989,7 +989,7 @@ class User {
                        wfDebug( "User: logged in from $from\n" );
                        return true;
                } else {
-                       # Invalid credentials
+                       // Invalid credentials
                        wfDebug( "User: can't log in from $from, invalid credentials\n" );
                        return false;
                }
@@ -999,13 +999,13 @@ class User {
         * Load user and user_group data from the database.
         * $this->mId must be set, this is how the user is identified.
         *
-        * @return Bool True if the user exists, false if the user is anonymous
+        * @return bool True if the user exists, false if the user is anonymous
         */
        public function loadFromDatabase() {
-               # Paranoia
+               // Paranoia
                $this->mId = intval( $this->mId );
 
-               /** Anonymous user */
+               // Anonymous user
                if ( !$this->mId ) {
                        $this->loadDefaults();
                        return false;
@@ -1017,13 +1017,13 @@ class User {
                wfRunHooks( 'UserLoadFromDatabase', array( $this, &$s ) );
 
                if ( $s !== false ) {
-                       # Initialise user table data
+                       // Initialise user table data
                        $this->loadFromRow( $s );
                        $this->mGroups = null; // deferred
                        $this->getEditCount(); // revalidation for nulls
                        return true;
                } else {
-                       # Invalid user_id
+                       // Invalid user_id
                        $this->mId = 0;
                        $this->loadDefaults();
                        return false;
@@ -1186,7 +1186,7 @@ class User {
         * Clear various cached data stored in this object. The cache of the user table
         * data (i.e. self::$mCacheVars) is not cleared unless $reloadFrom is given.
         *
-        * @param bool|String $reloadFrom Reload user and user_groups table data from a
+        * @param bool|string $reloadFrom Reload user and user_groups table data from a
         *   given source. May be "name", "id", "defaults", "session", or false for
         *   no reload.
         */
@@ -1227,9 +1227,8 @@ class User {
                }
 
                $defOpt = $wgDefaultUserOptions;
-               # default language setting
-               $defOpt['variant'] = $wgContLang->getCode();
-               $defOpt['language'] = $wgContLang->getCode();
+               // Default language setting
+               $defOpt['language'] = $defOpt['variant'] = $wgContLang->getCode();
                foreach ( SearchEngine::searchableNamespaces() as $nsnum => $nsname ) {
                        $defOpt['searchNs' . $nsnum] = !empty( $wgNamespacesToBeSearchedDefault[$nsnum] );
                }
@@ -1244,7 +1243,7 @@ class User {
         * Get a given default option value.
         *
         * @param string $opt Name of option to retrieve
-        * @return String Default option value
+        * @return string Default option value
         */
        public static function getDefaultOption( $opt ) {
                $defOpts = self::getDefaultOptions();
@@ -1288,14 +1287,14 @@ class User {
                        $ip = null;
                }
 
-               # User/IP blocking
+               // User/IP blocking
                $block = Block::newFromTarget( $this, $ip, !$bFromSlave );
 
-               # Proxy blocking
+               // Proxy blocking
                if ( !$block instanceof Block && $ip !== null && !$this->isAllowed( 'proxyunbannable' )
                        && !in_array( $ip, $wgProxyWhitelist ) )
                {
-                       # Local list
+                       // Local list
                        if ( self::isLocallyBlockedProxy( $ip ) ) {
                                $block = new Block;
                                $block->setBlocker( wfMessage( 'proxyblocker' )->text() );
@@ -1309,7 +1308,7 @@ class User {
                        }
                }
 
-               # (bug 23343) Apply IP blocks to the contents of XFF headers, if enabled
+               // (bug 23343) Apply IP blocks to the contents of XFF headers, if enabled
                if ( !$block instanceof Block
                        && $wgApplyIpBlocksToXff
                        && $ip !== null
@@ -1352,7 +1351,7 @@ class User {
         *
         * @param string $ip IP to check
         * @param bool $checkWhitelist whether to check the whitelist first
-        * @return Bool True if blacklisted.
+        * @return bool True if blacklisted.
         */
        public function isDnsBlacklisted( $ip, $checkWhitelist = false ) {
                global $wgEnableSorbs, $wgEnableDnsBlacklist,
@@ -1375,7 +1374,7 @@ class User {
         *
         * @param string $ip IP to check
         * @param string|array $bases of Strings: URL of the DNS blacklist
-        * @return Bool True if blacklisted.
+        * @return bool True if blacklisted.
         */
        public function inDnsBlacklist( $ip, $bases ) {
                wfProfileIn( __METHOD__ );
@@ -1383,15 +1382,15 @@ class User {
                $found = false;
                // @todo FIXME: IPv6 ???  (http://bugs.php.net/bug.php?id=33170)
                if ( IP::isIPv4( $ip ) ) {
-                       # Reverse IP, bug 21255
+                       // Reverse IP, bug 21255
                        $ipReversed = implode( '.', array_reverse( explode( '.', $ip ) ) );
 
                        foreach ( (array)$bases as $base ) {
-                               # Make hostname
-                               # If we have an access key, use that too (ProjectHoneypot, etc.)
+                               // Make hostname
+                               // If we have an access key, use that too (ProjectHoneypot, etc.)
                                if ( is_array( $base ) ) {
                                        if ( count( $base ) >= 2 ) {
-                                               # Access key is 1, base URL is 0
+                                               // Access key is 1, base URL is 0
                                                $host = "{$base[1]}.$ipReversed.{$base[0]}";
                                        } else {
                                                $host = "$ipReversed.{$base[0]}";
@@ -1400,7 +1399,7 @@ class User {
                                        $host = "$ipReversed.$base";
                                }
 
-                               # Send query
+                               // Send query
                                $ipList = gethostbynamel( $host );
 
                                if ( $ipList ) {
@@ -1433,7 +1432,7 @@ class User {
                wfProfileIn( __METHOD__ );
 
                if ( !is_array( $wgProxyList ) ) {
-                       # Load from the specified file
+                       // Load from the specified file
                        $wgProxyList = array_map( 'trim', file( $wgProxyList ) );
                }
 
@@ -1442,7 +1441,7 @@ class User {
                } elseif ( array_search( $ip, $wgProxyList ) !== false ) {
                        $ret = true;
                } elseif ( array_key_exists( $ip, $wgProxyList ) ) {
-                       # Old-style flipped proxy list
+                       // Old-style flipped proxy list
                        $ret = true;
                } else {
                        $ret = false;
@@ -1454,7 +1453,7 @@ class User {
        /**
         * Is this user subject to rate limiting?
         *
-        * @return Bool True if rate limited
+        * @return bool True if rate limited
         */
        public function isPingLimitable() {
                global $wgRateLimitsExcludedIPs;
@@ -1475,10 +1474,10 @@ class User {
         * last-hit counters will be shared across wikis.
         *
         * @param string $action Action to enforce; 'edit' if unspecified
-        * @return Bool True if a rate limiter was tripped
+        * @return bool True if a rate limiter was tripped
         */
        public function pingLimiter( $action = 'edit' ) {
-               # Call the 'PingLimiter' hook
+               // Call the 'PingLimiter' hook
                $result = false;
                if ( !wfRunHooks( 'PingLimiter', array( &$this, $action, &$result ) ) ) {
                        return $result;
@@ -1489,7 +1488,7 @@ class User {
                        return false;
                }
 
-               # Some groups shouldn't trigger the ping limiter, ever
+               // Some groups shouldn't trigger the ping limiter, ever
                if ( !$this->isPingLimitable() ) {
                        return false;
                }
@@ -1500,7 +1499,6 @@ class User {
                $limits = $wgRateLimits[$action];
                $keys = array();
                $id = $this->getId();
-               $ip = $this->getRequest()->getIP();
                $userLimit = false;
 
                if ( isset( $limits['anon'] ) && $id == 0 ) {
@@ -1515,12 +1513,23 @@ class User {
                                $keys[wfMemcKey( 'limiter', $action, 'user', $id )] = $limits['newbie'];
                        }
                        if ( isset( $limits['ip'] ) ) {
+                               $ip = $this->getRequest()->getIP();
                                $keys["mediawiki:limiter:$action:ip:$ip"] = $limits['ip'];
                        }
-                       $matches = array();
-                       if ( isset( $limits['subnet'] ) && preg_match( '/^(\d+\.\d+\.\d+)\.\d+$/', $ip, $matches ) ) {
-                               $subnet = $matches[1];
-                               $keys["mediawiki:limiter:$action:subnet:$subnet"] = $limits['subnet'];
+                       if ( isset( $limits['subnet'] ) ) {
+                               $ip = $this->getRequest()->getIP();
+                               $matches = array();
+                               $subnet = false;
+                               if ( IP::isIPv6( $ip ) ) {
+                                       $parts = IP::parseRange( "$ip/64" );
+                                       $subnet = $parts[0];
+                               } elseif ( preg_match( '/^(\d+\.\d+\.\d+)\.\d+$/', $ip, $matches ) ) {
+                                       // IPv4
+                                       $subnet = $matches[1];
+                               }
+                               if ( $subnet !== false ) {
+                                       $keys["mediawiki:limiter:$action:subnet:$subnet"] = $limits['subnet'];
+                               }
                        }
                }
                // Check for group-specific permissions
@@ -1572,7 +1581,7 @@ class User {
         * Check if user is blocked
         *
         * @param bool $bFromSlave Whether to check the slave database instead of the master
-        * @return Bool True if blocked, false otherwise
+        * @return bool True if blocked, false otherwise
         */
        public function isBlocked( $bFromSlave = true ) { // hacked from false due to horrible probs on site
                return $this->getBlock( $bFromSlave ) instanceof Block && $this->getBlock()->prevents( 'edit' );
@@ -1592,9 +1601,9 @@ class User {
        /**
         * Check if user is blocked from editing a particular article
         *
-        * @param $title Title to check
+        * @param Title $title Title to check
         * @param bool $bFromSlave whether to check the slave database instead of the master
-        * @return Bool
+        * @return bool
         */
        function isBlockedFrom( $title, $bFromSlave = false ) {
                global $wgBlockAllowsUTEdit;
@@ -1602,7 +1611,7 @@ class User {
 
                $blocked = $this->isBlocked( $bFromSlave );
                $allowUsertalk = ( $wgBlockAllowsUTEdit ? $this->mAllowUsertalk : false );
-               # If a user's name is suppressed, they cannot make edits anywhere
+               // If a user's name is suppressed, they cannot make edits anywhere
                if ( !$this->mHideName && $allowUsertalk && $title->getText() === $this->getName() &&
                  $title->getNamespace() == NS_USER_TALK ) {
                        $blocked = false;
@@ -1617,7 +1626,7 @@ class User {
 
        /**
         * If user is blocked, return the name of the user who placed the block
-        * @return String name of blocker
+        * @return string Name of blocker
         */
        public function blockedBy() {
                $this->getBlockedStatus();
@@ -1626,7 +1635,7 @@ class User {
 
        /**
         * If user is blocked, return the specified reason for the block
-        * @return String Blocking reason
+        * @return string Blocking reason
         */
        public function blockedFor() {
                $this->getBlockedStatus();
@@ -1635,7 +1644,7 @@ class User {
 
        /**
         * If user is blocked, return the ID for the block
-        * @return Int Block ID
+        * @return int Block ID
         */
        public function getBlockId() {
                $this->getBlockedStatus();
@@ -1648,7 +1657,7 @@ class User {
         * This is intended for quick UI checks.
         *
         * @param string $ip IP address, uses current client if none given
-        * @return Bool True if blocked, false otherwise
+        * @return bool True if blocked, false otherwise
         */
        public function isBlockedGlobally( $ip = '' ) {
                if ( $this->mBlockedGlobally !== null ) {
@@ -1669,7 +1678,7 @@ class User {
        /**
         * Check if user account is locked
         *
-        * @return Bool True if locked, false otherwise
+        * @return bool True if locked, false otherwise
         */
        public function isLocked() {
                if ( $this->mLocked !== null ) {
@@ -1684,7 +1693,7 @@ class User {
        /**
         * Check if user account is hidden
         *
-        * @return Bool True if hidden, false otherwise
+        * @return bool True if hidden, false otherwise
         */
        public function isHidden() {
                if ( $this->mHideName !== null ) {
@@ -1701,7 +1710,7 @@ class User {
 
        /**
         * Get the user's ID.
-        * @return Int The user's ID; 0 if the user is anonymous or nonexistent
+        * @return int The user's ID; 0 if the user is anonymous or nonexistent
         */
        public function getId() {
                if ( $this->mId === null && $this->mName !== null && User::isIP( $this->mName ) ) {
@@ -1725,16 +1734,16 @@ class User {
 
        /**
         * Get the user name, or the IP of an anonymous user
-        * @return String User's name or IP address
+        * @return string User's name or IP address
         */
        public function getName() {
                if ( $this->isItemLoaded( 'name', 'only' ) ) {
-                       # Special case optimisation
+                       // Special case optimisation
                        return $this->mName;
                } else {
                        $this->load();
                        if ( $this->mName === false ) {
-                               # Clean up IPs
+                               // Clean up IPs
                                $this->mName = IP::sanitizeIP( $this->getRequest()->getIP() );
                        }
                        return $this->mName;
@@ -1761,7 +1770,7 @@ class User {
 
        /**
         * Get the user's name escaped by underscores.
-        * @return String Username escaped by underscores.
+        * @return string Username escaped by underscores.
         */
        public function getTitleKey() {
                return str_replace( ' ', '_', $this->getName() );
@@ -1769,17 +1778,17 @@ class User {
 
        /**
         * Check if the user has new messages.
-        * @return Bool True if the user has new messages
+        * @return bool True if the user has new messages
         */
        public function getNewtalk() {
                $this->load();
 
-               # Load the newtalk status if it is unloaded (mNewtalk=-1)
+               // Load the newtalk status if it is unloaded (mNewtalk=-1)
                if ( $this->mNewtalk === -1 ) {
                        $this->mNewtalk = false; # reset talk page status
 
-                       # Check memcached separately for anons, who have no
-                       # entire User object stored in there.
+                       // Check memcached separately for anons, who have no
+                       // entire User object stored in there.
                        if ( !$this->mId ) {
                                global $wgDisableAnonTalk;
                                if ( $wgDisableAnonTalk ) {
@@ -1809,7 +1818,7 @@ class User {
        /**
         * Return the revision and link for the oldest new talk page message for
         * this user.
-        * Note: This function was designed to accomodate multiple talk pages, but
+        * @note This function was designed to accomodate multiple talk pages, but
         * currently only returns a single link and revision.
         * @return Array
         */
@@ -1833,7 +1842,7 @@ class User {
 
        /**
         * Get the revision ID for the oldest new talk page message for this user
-        * @return Integer or null if there are no new messages
+        * @return int|null Revision id or null if there are no new messages
         */
        public function getNewMessageRevisionId() {
                $newMessageRevisionId = null;
@@ -1858,9 +1867,9 @@ class User {
         *
         * @see getNewtalk()
         * @param string $field 'user_ip' for anonymous users, 'user_id' otherwise
-        * @param string|Int $id User's IP address for anonymous users, User ID otherwise
+        * @param string|int $id User's IP address for anonymous users, User ID otherwise
         * @param bool $fromMaster true to fetch from the master, false for a slave
-        * @return Bool True if the user has new messages
+        * @return bool True if the user has new messages
         */
        protected function checkNewtalk( $field, $id, $fromMaster = false ) {
                if ( $fromMaster ) {
@@ -1876,9 +1885,9 @@ class User {
        /**
         * Add or update the new messages flag
         * @param string $field 'user_ip' for anonymous users, 'user_id' otherwise
-        * @param string|Int $id User's IP address for anonymous users, User ID otherwise
+        * @param string|int $id User's IP address for anonymous users, User ID otherwise
         * @param $curRev Revision new, as yet unseen revision of the user talk page. Ignored if null.
-        * @return Bool True if successful, false otherwise
+        * @return bool True if successful, false otherwise
         */
        protected function updateNewtalk( $field, $id, $curRev = null ) {
                // Get timestamp of the talk page revision prior to the current one
@@ -1902,8 +1911,8 @@ class User {
        /**
         * Clear the new messages flag for the given user
         * @param string $field 'user_ip' for anonymous users, 'user_id' otherwise
-        * @param string|Int $id User's IP address for anonymous users, User ID otherwise
-        * @return Bool True if successful, false otherwise
+        * @param string|int $id User's IP address for anonymous users, User ID otherwise
+        * @return bool True if successful, false otherwise
         */
        protected function deleteNewtalk( $field, $id ) {
                $dbw = wfGetDB( DB_MASTER );
@@ -1961,7 +1970,7 @@ class User {
        /**
         * Generate a current or new-future timestamp to be stored in the
         * user_touched field when we update things.
-        * @return String Timestamp in TS_MW format
+        * @return string Timestamp in TS_MW format
         */
        private static function newTouchedTimestamp() {
                global $wgClockSkewFudge;
@@ -2020,7 +2029,6 @@ class User {
        /**
         * Validate the cache for this account.
         * @param string $timestamp A timestamp in TS_MW format
-        *
         * @return bool
         */
        public function validateCache( $timestamp ) {
@@ -2030,7 +2038,7 @@ class User {
 
        /**
         * Get the user touched timestamp
-        * @return String timestamp
+        * @return string timestamp
         */
        public function getTouched() {
                $this->load();
@@ -2088,8 +2096,8 @@ class User {
         * Set the password and reset the random token unconditionally.
         *
         * @param string|null $str New password to set or null to set an invalid
-        *        password hash meaning that the user will not be able to log in
-        *        through the web interface.
+        *  password hash meaning that the user will not be able to log in
+        *  through the web interface.
         */
        public function setInternalPassword( $str ) {
                $this->load();
@@ -2108,7 +2116,7 @@ class User {
        /**
         * Get the user's current token.
         * @param bool $forceCreation Force the generation of a new token if the user doesn't have one (default=true for backwards compatibility)
-        * @return String Token
+        * @return string Token
         */
        public function getToken( $forceCreation = true ) {
                $this->load();
@@ -2150,7 +2158,7 @@ class User {
        /**
         * Has password reminder email been sent within the last
         * $wgPasswordReminderResendTime hours?
-        * @return Bool
+        * @return bool
         */
        public function isPasswordReminderThrottled() {
                global $wgPasswordReminderResendTime;
@@ -2164,7 +2172,7 @@ class User {
 
        /**
         * Get the user's e-mail address
-        * @return String User's email address
+        * @return string User's email address
         */
        public function getEmail() {
                $this->load();
@@ -2174,7 +2182,7 @@ class User {
 
        /**
         * Get the timestamp of the user's e-mail authentication
-        * @return String TS_MW timestamp
+        * @return string TS_MW timestamp
         */
        public function getEmailAuthenticationTimestamp() {
                $this->load();
@@ -2218,11 +2226,11 @@ class User {
                $this->setEmail( $str );
 
                if ( $str !== '' && $wgEmailAuthentication ) {
-                       # Send a confirmation request to the new address if needed
+                       // Send a confirmation request to the new address if needed
                        $type = $oldaddr != '' ? 'changed' : 'set';
                        $result = $this->sendConfirmationMail( $type );
                        if ( $result->isGood() ) {
-                               # Say the the caller that a confirmation mail has been sent
+                               // Say the the caller that a confirmation mail has been sent
                                $result->value = 'eauth';
                        }
                } else {
@@ -2234,7 +2242,7 @@ class User {
 
        /**
         * Get the user's real name
-        * @return String User's real name
+        * @return string User's real name
         */
        public function getRealName() {
                if ( !$this->isItemLoaded( 'realname' ) ) {
@@ -2258,8 +2266,8 @@ class User {
         *
         * @param string $oname The option to check
         * @param string $defaultOverride A default value returned if the option does not exist
-        * @param bool $ignoreHidden = whether to ignore the effects of $wgHiddenPrefs
-        * @return String User's current value for the option
+        * @param bool $ignoreHidden Whether to ignore the effects of $wgHiddenPrefs
+        * @return string User's current value for the option
         * @see getBoolOption()
         * @see getIntOption()
         */
@@ -2312,7 +2320,7 @@ class User {
         * Get the user's current setting for a given option, as a boolean value.
         *
         * @param string $oname The option to check
-        * @return Bool User's current value for the option
+        * @return bool User's current value for the option
         * @see getOption()
         */
        public function getBoolOption( $oname ) {
@@ -2324,7 +2332,7 @@ class User {
         *
         * @param string $oname The option to check
         * @param int $defaultOverride A default value returned if the option does not exist
-        * @return Int User's current value for the option
+        * @return int User's current value for the option
         * @see getOption()
         */
        public function getIntOption( $oname, $defaultOverride = 0 ) {
@@ -2339,7 +2347,7 @@ class User {
         * Set the given option for a user.
         *
         * @param string $oname The option to set
-        * @param $val mixed New value to set
+        * @param mixed $val New value to set
         */
        public function setOption( $oname, $val ) {
                $this->loadOptions();
@@ -2463,11 +2471,11 @@ class User {
         * and 'all', which forces a reset of *all* preferences and overrides everything else.
         *
         * @param array|string $resetKinds which kinds of preferences to reset. Defaults to
-        *             array( 'registered', 'registered-multiselect', 'registered-checkmatrix', 'unused' )
-        *             for backwards-compatibility.
+        *  array( 'registered', 'registered-multiselect', 'registered-checkmatrix', 'unused' )
+        *  for backwards-compatibility.
         * @param $context IContextSource|null context source used when $resetKinds
-        *             does not contain 'all', passed to getOptionKinds().
-        *             Defaults to RequestContext::getMain() when null.
+        *  does not contain 'all', passed to getOptionKinds().
+        *  Defaults to RequestContext::getMain() when null.
         */
        public function resetOptions(
                $resetKinds = array( 'registered', 'registered-multiselect', 'registered-checkmatrix', 'unused' ),
@@ -2510,7 +2518,7 @@ class User {
 
        /**
         * Get the user's preferred date format.
-        * @return String User's preferred date format
+        * @return string User's preferred date format
         */
        public function getDatePreference() {
                // Important migration for old data rows
@@ -2535,8 +2543,8 @@ class User {
                global $wgMaxArticleSize; # Maximum article size, in Kb
                $threshold = $this->getIntOption( 'stubthreshold' );
                if ( $threshold > $wgMaxArticleSize * 1024 ) {
-                       # If they have set an impossible value, disable the preference
-                       # so we can use the parser cache again.
+                       // If they have set an impossible value, disable the preference
+                       // so we can use the parser cache again.
                        $threshold = 0;
                }
                return $threshold;
@@ -2581,7 +2589,7 @@ class User {
                                $this->getGroups(), // explicit groups
                                $this->getAutomaticGroups( $recache ) // implicit groups
                        ) );
-                       # Hook for additional groups
+                       // Hook for additional groups
                        wfRunHooks( 'UserEffectiveGroups', array( &$this, &$this->mEffectiveGroups ) );
                        // Force reindexation of groups when a hook has unset one of them
                        $this->mEffectiveGroups = array_values( array_unique( $this->mEffectiveGroups ) );
@@ -2610,8 +2618,8 @@ class User {
                                ) );
                        }
                        if ( $recache ) {
-                               # Assure data consistency with rights/groups,
-                               # as getEffectiveGroups() depends on this function
+                               // Assure data consistency with rights/groups,
+                               // as getEffectiveGroups() depends on this function
                                $this->mEffectiveGroups = null;
                        }
                        wfProfileOut( __METHOD__ );
@@ -2645,7 +2653,7 @@ class User {
 
        /**
         * Get the user's edit count.
-        * @return Int
+        * @return int
         */
        public function getEditCount() {
                if ( !$this->getId() ) {
@@ -2733,7 +2741,7 @@ class User {
 
        /**
         * Get whether the user is logged in
-        * @return Bool
+        * @return bool
         */
        public function isLoggedIn() {
                return $this->getID() != 0;
@@ -2741,7 +2749,7 @@ class User {
 
        /**
         * Get whether the user is anonymous
-        * @return Bool
+        * @return bool
         */
        public function isAnon() {
                return !$this->isLoggedIn();
@@ -2751,7 +2759,7 @@ class User {
         * Check if user is allowed to access a feature / make an action
         *
         * @internal param \String $varargs permissions to test
-        * @return Boolean: True if user is allowed to perform *any* of the given actions
+        * @return boolean: True if user is allowed to perform *any* of the given actions
         *
         * @return bool
         */
@@ -2782,28 +2790,28 @@ class User {
 
        /**
         * Internal mechanics of testing a permission
-        * @param $action String
+        * @param string $action
         * @return bool
         */
        public function isAllowed( $action = '' ) {
                if ( $action === '' ) {
                        return true; // In the spirit of DWIM
                }
-               # Patrolling may not be enabled
+               // Patrolling may not be enabled
                if ( $action === 'patrol' || $action === 'autopatrol' ) {
                        global $wgUseRCPatrol, $wgUseNPPatrol;
                        if ( !$wgUseRCPatrol && !$wgUseNPPatrol ) {
                                return false;
                        }
                }
-               # Use strict parameter to avoid matching numeric 0 accidentally inserted
-               # by misconfiguration: 0 == 'foo'
+               // Use strict parameter to avoid matching numeric 0 accidentally inserted
+               // by misconfiguration: 0 == 'foo'
                return in_array( $action, $this->getRights(), true );
        }
 
        /**
         * Check whether to enable recent changes patrol features for this user
-        * @return Boolean: True or false
+        * @return boolean: True or false
         */
        public function useRCPatrol() {
                global $wgUseRCPatrol;
@@ -2812,11 +2820,14 @@ class User {
 
        /**
         * Check whether to enable new pages patrol features for this user
-        * @return Bool True or false
+        * @return bool True or false
         */
        public function useNPPatrol() {
                global $wgUseRCPatrol, $wgUseNPPatrol;
-               return ( ( $wgUseRCPatrol || $wgUseNPPatrol ) && ( $this->isAllowedAny( 'patrol', 'patrolmarks' ) ) );
+               return (
+                       ( $wgUseRCPatrol || $wgUseNPPatrol )
+                               && ( $this->isAllowedAny( 'patrol', 'patrolmarks' ) )
+               );
        }
 
        /**
@@ -2868,7 +2879,7 @@ class User {
        /**
         * Check the watched status of an article.
         * @param $title Title of the article to look at
-        * @return Bool
+        * @return bool
         */
        public function isWatched( $title ) {
                return $this->getWatchedItem( $title )->isWatched();
@@ -2901,7 +2912,7 @@ class User {
        public function clearNotification( &$title ) {
                global $wgUseEnotif, $wgShowUpdatedMarker;
 
-               # Do nothing if the database is locked to writes
+               // Do nothing if the database is locked to writes
                if ( wfReadOnly() ) {
                        return;
                }
@@ -3002,7 +3013,7 @@ class User {
         * @param string $value Value to set
         * @param int $exp Expiration time, as a UNIX time value;
         *                   if 0 or not specified, use the default $wgCookieExpiration
-        * @param $secure Bool
+        * @param bool $secure
         *  true: Force setting the secure attribute when setting the cookie
         *  false: Force NOT setting the secure attribute when setting the cookie
         *  null (default): Use the default ($wgCookieSecure) to set the secure attribute
@@ -3103,7 +3114,7 @@ class User {
                $this->clearCookie( 'Token' );
                $this->clearCookie( 'forceHTTPS' );
 
-               # Remember when user logged out, to prevent seeing cached pages
+               // Remember when user logged out, to prevent seeing cached pages
                $this->setCookie( 'LoggedOut', wfTimestampNow(), time() + 86400 );
        }
 
@@ -3155,7 +3166,7 @@ class User {
 
        /**
         * If only this user's username is known, and it exists, return the user ID.
-        * @return Int
+        * @return int
         */
        public function idForName() {
                $s = trim( $this->getName() );
@@ -3345,7 +3356,7 @@ class User {
         * settings.
         *
         * @deprecated since 1.17 use the ParserOptions object to get the relevant options
-        * @return String Page rendering hash
+        * @return string Page rendering hash
         */
        public function getPageRenderingHash() {
                wfDeprecated( __METHOD__, '1.17' );
@@ -3385,7 +3396,7 @@ class User {
 
        /**
         * Get whether the user is explicitly blocked from account creation.
-        * @return Bool|Block
+        * @return bool|Block
         */
        public function isBlockedFromCreateAccount() {
                $this->getBlockedStatus();
@@ -3406,7 +3417,7 @@ class User {
 
        /**
         * Get whether the user is blocked from using Special:Emailuser.
-        * @return Bool
+        * @return bool
         */
        public function isBlockedFromEmailuser() {
                $this->getBlockedStatus();
@@ -3415,7 +3426,7 @@ class User {
 
        /**
         * Get whether the user is allowed to create an account.
-        * @return Bool
+        * @return bool
         */
        function isAllowedToCreateAccount() {
                return $this->isAllowed( 'createaccount' ) && !$this->isBlockedFromCreateAccount();
@@ -3443,7 +3454,7 @@ class User {
        /**
         * Determine whether the user is a newbie. Newbies are either
         * anonymous IPs, or the most recently created accounts.
-        * @return Bool
+        * @return bool
         */
        public function isNewbie() {
                return !$this->isAllowed( 'autoconfirmed' );
@@ -3452,7 +3463,7 @@ class User {
        /**
         * Check to see if the given clear-text password is one of the accepted passwords
         * @param string $password user password.
-        * @return Boolean: True if the given password is correct, otherwise False.
+        * @return boolean: True if the given password is correct, otherwise False.
         */
        public function checkPassword( $password ) {
                global $wgAuth, $wgLegacyEncoding;
@@ -3470,17 +3481,17 @@ class User {
                if ( $wgAuth->authenticate( $this->getName(), $password ) ) {
                        return true;
                } elseif ( $wgAuth->strict() ) {
-                       /* Auth plugin doesn't allow local authentication */
+                       // Auth plugin doesn't allow local authentication
                        return false;
                } elseif ( $wgAuth->strictUserAuth( $this->getName() ) ) {
-                       /* Auth plugin doesn't allow local authentication for this user name */
+                       // Auth plugin doesn't allow local authentication for this user name
                        return false;
                }
                if ( self::comparePasswords( $this->mPassword, $password, $this->mId ) ) {
                        return true;
                } elseif ( $wgLegacyEncoding ) {
-                       # Some wikis were converted from ISO 8859-1 to UTF-8, the passwords can't be converted
-                       # Check for this with iconv
+                       // Some wikis were converted from ISO 8859-1 to UTF-8, the passwords can't be converted
+                       // Check for this with iconv
                        $cp1252Password = iconv( 'UTF-8', 'WINDOWS-1252//TRANSLIT', $password );
                        if ( $cp1252Password != $password &&
                                self::comparePasswords( $this->mPassword, $cp1252Password, $this->mId ) )
@@ -3497,7 +3508,7 @@ class User {
         *
         * @param $plaintext string
         *
-        * @return Boolean: True if matches, false otherwise
+        * @return boolean: True if matches, false otherwise
         */
        public function checkTemporaryPassword( $plaintext ) {
                global $wgNewPasswordExpiry;
@@ -3520,7 +3531,7 @@ class User {
         *
         * @param string|array $salt of Strings Optional function-specific data for hashing
         * @param $request WebRequest object to use or null to use $wgRequest
-        * @return String The new edit token
+        * @return string The new edit token
         */
        public function editToken( $salt = '', $request = null ) {
                wfDeprecated( __METHOD__, '1.19' );
@@ -3537,7 +3548,7 @@ class User {
         *
         * @param string|array $salt of Strings Optional function-specific data for hashing
         * @param $request WebRequest object to use or null to use $wgRequest
-        * @return String The new edit token
+        * @return string The new edit token
         */
        public function getEditToken( $salt = '', $request = null ) {
                if ( $request == null ) {
@@ -3562,8 +3573,8 @@ class User {
        /**
         * Generate a looking random token for various uses.
         *
-        * @return String The new random token
-        * @deprecated since 1.20; Use MWCryptRand for secure purposes or wfRandomString for pseudo-randomness
+        * @return string The new random token
+        * @deprecated since 1.20: Use MWCryptRand for secure purposes or wfRandomString for pseudo-randomness
         */
        public static function generateToken() {
                return MWCryptRand::generateHex( 32 );
@@ -3577,8 +3588,8 @@ class User {
         *
         * @param string $val Input value to compare
         * @param string $salt Optional function-specific data for hashing
-        * @param $request WebRequest object to use or null to use $wgRequest
-        * @return Boolean: Whether the token matches
+        * @param WebRequest $request Object to use or null to use $wgRequest
+        * @return boolean: Whether the token matches
         */
        public function matchEditToken( $val, $salt = '', $request = null ) {
                $sessionToken = $this->getEditToken( $salt, $request );
@@ -3594,8 +3605,8 @@ class User {
         *
         * @param string $val Input value to compare
         * @param string $salt Optional function-specific data for hashing
-        * @param $request WebRequest object to use or null to use $wgRequest
-        * @return Boolean: Whether the token matches
+        * @param WebRequest $request object to use or null to use $wgRequest
+        * @return boolean: Whether the token matches
         */
        public function matchEditTokenNoSuffix( $val, $salt = '', $request = null ) {
                $sessionToken = $this->getEditToken( $salt, $request );
@@ -3666,7 +3677,7 @@ class User {
         * this change to the database.
         *
         * @param &$expiration \mixed Accepts the expiration time
-        * @return String New token
+        * @return string New token
         */
        protected function confirmationToken( &$expiration ) {
                global $wgUserEmailConfirmationTokenExpiry;
@@ -3684,7 +3695,7 @@ class User {
        /**
         * Return a URL the user can use to confirm their email address.
         * @param string $token Accepts the email confirmation token
-        * @return String New token URL
+        * @return string New token URL
         */
        protected function confirmationTokenUrl( $token ) {
                return $this->getTokenUrl( 'ConfirmEmail', $token );
@@ -3693,7 +3704,7 @@ class User {
        /**
         * Return a URL the user can use to invalidate their email address.
         * @param string $token Accepts the email confirmation token
-        * @return String New token URL
+        * @return string New token URL
         */
        protected function invalidationTokenUrl( $token ) {
                return $this->getTokenUrl( 'InvalidateEmail', $token );
@@ -3711,7 +3722,7 @@ class User {
         *
         * @param string $page Special page
         * @param string $token Token
-        * @return String Formatted URL
+        * @return string Formatted URL
         */
        protected function getTokenUrl( $page, $token ) {
                // Hack to bypass localization of 'Special:'
@@ -3765,7 +3776,7 @@ class User {
        /**
         * Is this user allowed to send e-mails within limits of current
         * site configuration?
-        * @return Bool
+        * @return bool
         */
        public function canSendEmail() {
                global $wgEnableEmail, $wgEnableUserEmail;
@@ -3780,7 +3791,7 @@ class User {
        /**
         * Is this user allowed to receive e-mails within limits of current
         * site configuration?
-        * @return Bool
+        * @return bool
         */
        public function canReceiveEmail() {
                return $this->isEmailConfirmed() && !$this->getOption( 'disablemail' );
@@ -3794,7 +3805,7 @@ class User {
         * confirmed their address by returning a code or using a password
         * sent to the address from the wiki.
         *
-        * @return Bool
+        * @return bool
         */
        public function isEmailConfirmed() {
                global $wgEmailAuthentication;
@@ -3818,7 +3829,7 @@ class User {
 
        /**
         * Check whether there is an outstanding request for e-mail confirmation.
-        * @return Bool
+        * @return bool
         */
        public function isEmailConfirmationPending() {
                global $wgEmailAuthentication;
@@ -3831,9 +3842,9 @@ class User {
        /**
         * Get the timestamp of account creation.
         *
-        * @return String|Bool|Null Timestamp of account creation, false for
-        *     non-existent/anonymous user accounts, or null if existing account
-        *     but information is not in database.
+        * @return string|bool|null Timestamp of account creation, false for
+        *  non-existent/anonymous user accounts, or null if existing account
+        *  but information is not in database.
         */
        public function getRegistration() {
                if ( $this->isAnon() ) {
@@ -3846,8 +3857,8 @@ class User {
        /**
         * Get the timestamp of the first edit
         *
-        * @return String|Bool Timestamp of first edit, or false for
-        *     non-existent/anonymous user accounts.
+        * @return string|bool Timestamp of first edit, or false for
+        *  non-existent/anonymous user accounts.
         */
        public function getFirstEditTimestamp() {
                if ( $this->getId() == 0 ) {
@@ -3927,7 +3938,7 @@ class User {
         * Get the localized descriptive name for a group, if it exists
         *
         * @param string $group Internal group name
-        * @return String Localized descriptive group name
+        * @return string Localized descriptive group name
         */
        public static function getGroupName( $group ) {
                $msg = wfMessage( "group-$group" );
@@ -3939,7 +3950,7 @@ class User {
         *
         * @param string $group Internal group name
         * @param string $username Username for gender (since 1.19)
-        * @return String Localized name for group member
+        * @return string Localized name for group member
         */
        public static function getGroupMember( $group, $username = '#' ) {
                $msg = wfMessage( "group-$group-member", $username );
@@ -3992,7 +4003,7 @@ class User {
         * Get the title of a page describing a particular group
         *
         * @param string $group Internal group name
-        * @return Title|Bool Title of the page if it exists, false otherwise
+        * @return Title|bool Title of the page if it exists, false otherwise
         */
        public static function getGroupPage( $group ) {
                $msg = wfMessage( 'grouppage-' . $group )->inContentLanguage();
@@ -4011,7 +4022,7 @@ class User {
         *
         * @param string $group Internal name of the group
         * @param string $text The text of the link
-        * @return String HTML link to the group
+        * @return string HTML link to the group
         */
        public static function makeGroupLinkHTML( $group, $text = '' ) {
                if ( $text == '' ) {
@@ -4031,7 +4042,7 @@ class User {
         *
         * @param string $group Internal name of the group
         * @param string $text The text of the link
-        * @return String Wikilink to the group
+        * @return string Wikilink to the group
         */
        public static function makeGroupLinkWiki( $group, $text = '' ) {
                if ( $text == '' ) {
@@ -4194,7 +4205,7 @@ class User {
         * Initialize user_editcount from data out of the revision table
         *
         * @param $add Integer Edits to add to the count from the revision table
-        * @return Integer Number of edits
+        * @return integer Number of edits
         */
        protected function initEditCount( $add = 0 ) {
                // Pull from a slave to be less cruel to servers
@@ -4223,7 +4234,7 @@ class User {
         * Get the description of a given right
         *
         * @param string $right Right to query
-        * @return String Localized description of the right
+        * @return string Localized description of the right
         */
        public static function getRightDescription( $right ) {
                $key = "right-$right";
@@ -4236,7 +4247,7 @@ class User {
         *
         * @param string $password Plain-text password
         * @param string $userId User ID
-        * @return String Password hash
+        * @return string Password hash
         */
        public static function oldCrypt( $password, $userId ) {
                global $wgPasswordSalt;
@@ -4252,9 +4263,8 @@ class User {
         *
         * @param string $password Plain-text password
         * @param bool|string $salt Optional salt, may be random or the user ID.
-
-        *                     If unspecified or false, will generate one automatically
-        * @return String Password hash
+        *  If unspecified or false, will generate one automatically
+        * @return string Password hash
         */
        public static function crypt( $password, $salt = false ) {
                global $wgPasswordSalt;
@@ -4282,7 +4292,7 @@ class User {
         * @param string $password Plain-text password to compare
         * @param string|bool $userId User ID for old-style password salt
         *
-        * @return Boolean
+        * @return boolean
         */
        public static function comparePasswords( $hash, $password, $userId = false ) {
                $type = substr( $hash, 0, 3 );
@@ -4293,14 +4303,14 @@ class User {
                }
 
                if ( $type == ':A:' ) {
-                       # Unsalted
+                       // Unsalted
                        return md5( $password ) === substr( $hash, 3 );
                } elseif ( $type == ':B:' ) {
-                       # Salted
+                       // Salted
                        list( $salt, $realHash ) = explode( ':', substr( $hash, 3 ), 2 );
                        return md5( $salt . '-' . md5( $password ) ) === $realHash;
                } else {
-                       # Old-style
+                       // Old-style
                        return self::oldCrypt( $password, $userId ) === $hash;
                }
        }
@@ -4316,6 +4326,7 @@ class User {
         *       no matter the value of $wgUser
         *     - 'create2' for a logged in user creating an account for someone else
         *     - 'byemail' when the created user will receive its password by e-mail
+        *     - 'autocreate' when the user is automatically created (such as by CentralAuth).
         *   - Boolean means whether the account was created by e-mail (deprecated):
         *     - true will be converted to 'byemail'
         *     - false will be converted to 'create' if this object is the same as
@@ -4458,7 +4469,7 @@ class User {
                $userId = $this->getId();
                $insert_rows = array();
                foreach ( $saveOptions as $key => $value ) {
-                       # Don't bother storing default values
+                       // Don't bother storing default values
                        $defaultOption = self::getDefaultOption( $key );
                        if ( ( is_null( $defaultOption ) &&
                                        !( $value === false || is_null( $value ) ) ) ||
index 01376a0..45aa822 100644 (file)
@@ -89,6 +89,12 @@ class WatchedItem {
                }
                $this->loaded = true;
 
+               // Only loggedin user can have a watchlist
+               if ( $this->mUser->isAnon() ) {
+                       $this->watched = false;
+                       return;
+               }
+
                # Pages and their talk pages are considered equivalent for watching;
                # remember that talk namespaces are numbered as page namespace+1.
 
@@ -135,6 +141,11 @@ class WatchedItem {
         *        page is not watched or the notification timestamp is already NULL.
         */
        public function resetNotificationTimestamp( $force = '' ) {
+               // Only loggedin user can have a watchlist
+               if ( wfReadOnly() || $this->mUser->isAnon() ) {
+                       return;
+               }
+
                if ( $force != 'force' ) {
                        $this->load();
                        if ( !$this->watched || $this->timestamp === null ) {
@@ -153,11 +164,17 @@ class WatchedItem {
        /**
         * Given a title and user (assumes the object is setup), add the watch to the
         * database.
-        * @return bool (always true)
+        * @return bool
         */
        public function addWatch() {
                wfProfileIn( __METHOD__ );
 
+               // Only loggedin user can have a watchlist
+               if ( wfReadOnly() || $this->mUser->isAnon() ) {
+                       wfProfileOut( __METHOD__ );
+                       return false;
+               }
+
                // Use INSERT IGNORE to avoid overwriting the notification timestamp
                // if there's already an entry for this page
                $dbw = wfGetDB( DB_MASTER );
@@ -192,6 +209,12 @@ class WatchedItem {
        public function removeWatch() {
                wfProfileIn( __METHOD__ );
 
+               // Only loggedin user can have a watchlist
+               if ( wfReadOnly() || $this->mUser->isAnon() ) {
+                       wfProfileOut( __METHOD__ );
+                       return false;
+               }
+
                $success = false;
                $dbw = wfGetDB( DB_MASTER );
                $dbw->delete( 'watchlist',
index 20ee5e5..dbd0740 100644 (file)
@@ -1098,19 +1098,21 @@ HTML;
                                array_unshift( $ipchain, $ip );
                        }
 
-                       # Step through XFF list and find the last address in the list which is a trusted server
-                       # Set $ip to the IP address given by that trusted server, unless the address is not sensible (e.g. private)
+                       # Step through XFF list and find the last address in the list which is a
+                       # trusted server. Set $ip to the IP address given by that trusted server,
+                       # unless the address is not sensible (e.g. private). However, prefer private
+                       # IP addresses over proxy servers controlled by this site (more sensible).
                        foreach ( $ipchain as $i => $curIP ) {
                                $curIP = IP::canonicalize( $curIP );
-                               if ( wfIsTrustedProxy( $curIP ) ) {
-                                       if ( isset( $ipchain[$i + 1] ) ) {
-                                               if ( $wgUsePrivateIPs || IP::isPublic( $ipchain[$i + 1] ) ) {
-                                                       $ip = $ipchain[$i + 1];
-                                               }
+                               if ( wfIsTrustedProxy( $curIP ) && isset( $ipchain[$i + 1] ) ) {
+                                       if ( wfIsConfiguredProxy( $curIP ) || // bug 48919
+                                               ( IP::isPublic( $ipchain[$i + 1] ) || $wgUsePrivateIPs )
+                                       ) {
+                                               $ip = IP::canonicalize( $ipchain[$i + 1] );
+                                               continue;
                                        }
-                               } else {
-                                       break;
                                }
+                               break;
                        }
                }
 
@@ -1338,10 +1340,11 @@ class FauxRequest extends WebRequest {
        }
 
        /**
-        * @param $name
+        * @param string $name The name of the header to get (case insensitive).
         * @return bool|string
         */
        public function getHeader( $name ) {
+               $name = strtoupper( $name );
                return isset( $this->headers[$name] ) ? $this->headers[$name] : false;
        }
 
@@ -1350,6 +1353,7 @@ class FauxRequest extends WebRequest {
         * @param $val string
         */
        public function setHeader( $name, $val ) {
+               $name = strtoupper( $name );
                $this->headers[$name] = $val;
        }
 
index d1f645c..0deae96 100644 (file)
@@ -116,6 +116,8 @@ class FauxResponse extends WebResponse {
                } else {
                        list( $key, $val ) = array_map( 'trim', explode( ":", $string, 2 ) );
 
+                       $key = strtoupper( $key );
+
                        if ( $replace || !isset( $this->headers[$key] ) ) {
                                $this->headers[$key] = $val;
                        }
@@ -127,10 +129,12 @@ class FauxResponse extends WebResponse {
        }
 
        /**
-        * @param $key string
+        * @param string $key The name of the header to get (case insensitive).
         * @return string
         */
        public function getheader( $key ) {
+               $key = strtoupper( $key );
+
                if ( isset( $this->headers[$key] ) ) {
                        return $this->headers[$key];
                }
index ead6d77..16658d3 100644 (file)
@@ -91,6 +91,11 @@ if ( $IP === false ) {
        }
 }
 
+# Load composer's autoloader if present
+if ( is_readable( "$IP/vendor/autoload.php" ) ) {
+       require_once "$IP/vendor/autoload.php";
+}
+
 # Get MWInit class
 require_once "$IP/includes/Init.php";
 
index 3f7e19c..cb0f60a 100644 (file)
@@ -624,27 +624,34 @@ class MediaWiki {
                        wfShellExec( "$cmd &", $retVal );
                        wfProfileOut( __METHOD__ . '-exec' );
                } else {
-                       // Fallback to running the jobs here while the user waits
-                       $group = JobQueueGroup::singleton();
-                       do {
-                               $job = $group->pop( JobQueueGroup::USE_CACHE ); // job from any queue
-                               if ( $job ) {
-                                       $output = $job->toString() . "\n";
-                                       $t = - microtime( true );
-                                       wfProfileIn( __METHOD__ . '-' . get_class( $job ) );
-                                       $success = $job->run();
-                                       wfProfileOut( __METHOD__ . '-' . get_class( $job ) );
-                                       $group->ack( $job ); // done
-                                       $t += microtime( true );
-                                       $t = round( $t * 1000 );
-                                       if ( $success === false ) {
-                                               $output .= "Error: " . $job->getLastError() . ", Time: $t ms\n";
-                                       } else {
-                                               $output .= "Success, Time: $t ms\n";
+                       try {
+                               // Fallback to running the jobs here while the user waits
+                               $group = JobQueueGroup::singleton();
+                               do {
+                                       $job = $group->pop( JobQueueGroup::USE_CACHE ); // job from any queue
+                                       if ( $job ) {
+                                               $output = $job->toString() . "\n";
+                                               $t = - microtime( true );
+                                               wfProfileIn( __METHOD__ . '-' . get_class( $job ) );
+                                               $success = $job->run();
+                                               wfProfileOut( __METHOD__ . '-' . get_class( $job ) );
+                                               $group->ack( $job ); // done
+                                               $t += microtime( true );
+                                               $t = round( $t * 1000 );
+                                               if ( $success === false ) {
+                                                       $output .= "Error: " . $job->getLastError() . ", Time: $t ms\n";
+                                               } else {
+                                                       $output .= "Success, Time: $t ms\n";
+                                               }
+                                               wfDebugLog( 'jobqueue', $output );
                                        }
-                                       wfDebugLog( 'jobqueue', $output );
-                               }
-                       } while ( --$n && $job );
+                               } while ( --$n && $job );
+                       } catch ( MWException $e ) {
+                               // We don't want exceptions thrown during job execution to
+                               // be reported to the user since the output is already sent.
+                               // Instead we just log them.
+                               wfDebugLog( 'exception', $e->getLogMessage() );
+                       }
                }
        }
 }
index b8f4911..5ed6c8d 100644 (file)
@@ -2443,6 +2443,7 @@ class WikiPage implements Page, IDBAccessObject {
                }
 
                $this->mTitle->flushRestrictions();
+               InfoAction::invalidateCache( $this->mTitle );
 
                if ( $logAction == 'unprotect' ) {
                        $logParams = array();
@@ -2913,6 +2914,7 @@ class WikiPage implements Page, IDBAccessObject {
 
                // File cache
                HTMLFileCache::clearFileCache( $title );
+               InfoAction::invalidateCache( $title );
 
                // Messages
                if ( $title->getNamespace() == NS_MEDIAWIKI ) {
@@ -2955,6 +2957,7 @@ class WikiPage implements Page, IDBAccessObject {
 
                // Clear file cache for this page only
                HTMLFileCache::clearFileCache( $title );
+               InfoAction::invalidateCache( $title );
        }
 
        /**#@-*/
@@ -3038,30 +3041,8 @@ class WikiPage implements Page, IDBAccessObject {
                        function() use ( $dbw, $that, $method, $added, $deleted ) {
                                $ns = $that->getTitle()->getNamespace();
 
-                               // First make sure the rows exist.  If one of the "deleted" ones didn't
-                               // exist, we might legitimately not create it, but it's simpler to just
-                               // create it and then give it a negative value, since the value is bogus
-                               // anyway.
-                               //
-                               // Sometimes I wish we had INSERT ... ON DUPLICATE KEY UPDATE.
-                               $insertCats = array_merge( $added, $deleted );
-                               if ( !$insertCats ) {
-                                       // Okay, nothing to do
-                                       return;
-                               }
-
-                               $insertRows = array();
-                               foreach ( $insertCats as $cat ) {
-                                       $insertRows[] = array(
-                                               'cat_id' => $dbw->nextSequenceValue( 'category_cat_id_seq' ),
-                                               'cat_title' => $cat
-                                       );
-                               }
-                               $dbw->insert( 'category', $insertRows, $method, 'IGNORE' );
-
                                $addFields = array( 'cat_pages = cat_pages + 1' );
                                $removeFields = array( 'cat_pages = cat_pages - 1' );
-
                                if ( $ns == NS_CATEGORY ) {
                                        $addFields[] = 'cat_subcats = cat_subcats + 1';
                                        $removeFields[] = 'cat_subcats = cat_subcats - 1';
@@ -3070,16 +3051,26 @@ class WikiPage implements Page, IDBAccessObject {
                                        $removeFields[] = 'cat_files = cat_files - 1';
                                }
 
-                               if ( $added ) {
-                                       $dbw->update(
+                               if ( count( $added ) ) {
+                                       $insertRows = array();
+                                       foreach ( $added as $cat ) {
+                                               $insertRows[] = array(
+                                                       'cat_title'   => $cat,
+                                                       'cat_pages'   => 1,
+                                                       'cat_subcats' => ( $ns == NS_CATEGORY ) ? 1 : 0,
+                                                       'cat_files'   => ( $ns == NS_FILE ) ? 1 : 0,
+                                               );
+                                       }
+                                       $dbw->upsert(
                                                'category',
+                                               $insertRows,
+                                               array( 'cat_title' ),
                                                $addFields,
-                                               array( 'cat_title' => $added ),
                                                $method
                                        );
                                }
 
-                               if ( $deleted ) {
+                               if ( count( $deleted ) ) {
                                        $dbw->update(
                                                'category',
                                                $removeFields,
@@ -3092,6 +3083,7 @@ class WikiPage implements Page, IDBAccessObject {
                                        $cat = Category::newFromName( $catName );
                                        wfRunHooks( 'CategoryAfterPageAdded', array( $cat, $that ) );
                                }
+
                                foreach ( $deleted as $catName ) {
                                        $cat = Category::newFromName( $catName );
                                        wfRunHooks( 'CategoryAfterPageRemoved', array( $cat, $that ) );
index 25dde7d..da2ff46 100644 (file)
@@ -40,16 +40,52 @@ class XmlTypeCheck {
        public $rootElement = '';
 
        /**
-        * @param string $file filename
-        * @param $filterCallback callable (optional)
+        * @param string $input a filename or string containing the XML element
+        * @param callable $filterCallback (optional)
         *        Function to call to do additional custom validity checks from the
         *        SAX element handler event. This gives you access to the element
         *        namespace, name, and attributes, but not to text contents.
         *        Filter should return 'true' to toggle on $this->filterMatch
+        * @param boolean $isFile (optional) indicates if the first parameter is a
+        *        filename (default, true) or if it is a string (false)
         */
-       function __construct( $file, $filterCallback = null ) {
+       function __construct( $input, $filterCallback = null, $isFile = true ) {
                $this->filterCallback = $filterCallback;
-               $this->run( $file );
+               if ( $isFile ) {
+                       $this->validateFromFile( $input );
+               } else {
+                       $this->validateFromString( $input );
+               }
+       }
+
+       /**
+        * Alternative constructor: from filename
+        *
+        * @param string $input a filename or string containing the XML element
+        * @param callable $filterCallback (optional)
+        *        Function to call to do additional custom validity checks from the
+        *        SAX element handler event. This gives you access to the element
+        *        namespace, name, and attributes, but not to text contents.
+        *        Filter should return 'true' to toggle on $this->filterMatch
+        * @return XmlTypeCheck
+        */
+       public static function newFromFilename( $fname, $filterCallback = null ) {
+               return new self( $fname, $filterCallback, true );
+       }
+
+       /**
+        * Alternative constructor: from string
+        *
+        * @param string $input a filename or string containing the XML element
+        * @param callable $filterCallback (optional)
+        *        Function to call to do additional custom validity checks from the
+        *        SAX element handler event. This gives you access to the element
+        *        namespace, name, and attributes, but not to text contents.
+        *        Filter should return 'true' to toggle on $this->filterMatch
+        * @return XmlTypeCheck
+        */
+       public static function newFromString( $string, $filterCallback = null ) {
+               return new self( $string, $filterCallback, false );
        }
 
        /**
@@ -62,15 +98,23 @@ class XmlTypeCheck {
        }
 
        /**
-        * @param $fname
+        * Get an XML parser with the root element handler.
+        * @see XmlTypeCheck::rootElementOpen()
+        * @return resource a resource handle for the XML parser
         */
-       private function run( $fname ) {
+       private function getParser() {
                $parser = xml_parser_create_ns( 'UTF-8' );
-
                // case folding violates XML standard, turn it off
                xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, false );
-
                xml_set_element_handler( $parser, array( $this, 'rootElementOpen' ), false );
+               return $parser;
+       }
+
+       /**
+        * @param string $fname the filename
+        */
+       private function validateFromFile( $fname ) {
+               $parser = $this->getParser();
 
                if ( file_exists( $fname ) ) {
                        $file = fopen( $fname, "rb" );
@@ -79,7 +123,7 @@ class XmlTypeCheck {
                                        $chunk = fread( $file, 32768 );
                                        $ret = xml_parse( $parser, $chunk, feof( $file ) );
                                        if ( $ret == 0 ) {
-                                               // XML isn't well-formed!
+                                               $this->wellFormed = false;
                                                fclose( $file );
                                                xml_parser_free( $parser );
                                                return;
@@ -89,12 +133,26 @@ class XmlTypeCheck {
                                fclose( $file );
                        }
                }
-
                $this->wellFormed = true;
 
                xml_parser_free( $parser );
        }
 
+       /**
+        *
+        * @param string $string the XML-input-string to be checked.
+        */
+       private function validateFromString( $string ) {
+               $parser = $this->getParser();
+               $ret = xml_parse( $parser, $string, true );
+               xml_parser_free( $parser );
+               if ( $ret == 0 ) {
+                       $this->wellFormed = false;
+                       return;
+               }
+               $this->wellFormed = true;
+       }
+
        /**
         * @param $parser
         * @param $name
index a8905d8..e3ea6fc 100644 (file)
@@ -55,6 +55,22 @@ class InfoAction extends FormlessAction {
                return false;
        }
 
+       /**
+        * Clear the info cache for a given Title.
+        *
+        * @since 1.22
+        * @param Title $title Title to clear cache for
+        */
+       public static function invalidateCache( Title $title ) {
+               global $wgMemc;
+               // Clear page info.
+               $revision = WikiPage::factory( $title )->getRevision();
+               if ( $revision !== null ) {
+                       $key = wfMemcKey( 'infoaction', sha1( $title->getPrefixedText() ), $revision->getId() );
+                       $wgMemc->delete( $key );
+               }
+       }
+
        /**
         * Shows page information on GET request.
         *
@@ -169,14 +185,16 @@ class InfoAction extends FormlessAction {
         * @return array
         */
        protected function pageInfo() {
-               global $wgContLang, $wgRCMaxAge, $wgMemc, $wgUnwatchedPageThreshold, $wgPageInfoTransclusionLimit;
+               global $wgContLang, $wgRCMaxAge, $wgMemc,
+                       $wgUnwatchedPageThreshold, $wgPageInfoTransclusionLimit;
 
                $user = $this->getUser();
                $lang = $this->getLanguage();
                $title = $this->getTitle();
                $id = $title->getArticleID();
 
-               $memcKey = wfMemcKey( 'infoaction', sha1( $title->getPrefixedText() ), $this->page->getLatest() );
+               $memcKey = wfMemcKey( 'infoaction',
+                       sha1( $title->getPrefixedText() ), $this->page->getLatest() );
                $pageCounts = $wgMemc->get( $memcKey );
                if ( $pageCounts === false ) {
                        // Get page information that would be too "expensive" to retrieve by normal means
index 3fa20b7..dd14311 100644 (file)
@@ -48,7 +48,7 @@ class RawAction extends FormlessAction {
        }
 
        function onView() {
-               global $wgSquidMaxage, $wgForcedRawSMaxage, $wgJsMimeType;
+               global $wgSquidMaxage, $wgForcedRawSMaxage;
 
                $this->getOutput()->disable();
                $request = $this->getRequest();
@@ -79,7 +79,7 @@ class RawAction extends FormlessAction {
 
                # Force caching for CSS and JS raw content, default: 5 minutes
                if ( $smaxage === null ) {
-                       if ( $contentType == 'text/css' || $contentType == $wgJsMimeType ) {
+                       if ( $contentType == 'text/css' || $contentType == 'text/javascript' ) {
                                $smaxage = intval( $wgForcedRawSMaxage );
                        } else {
                                $smaxage = 0;
@@ -221,20 +221,18 @@ class RawAction extends FormlessAction {
         * @return String
         */
        public function getContentType() {
-               global $wgJsMimeType;
-
                $ctype = $this->getRequest()->getVal( 'ctype' );
 
                if ( $ctype == '' ) {
                        $gen = $this->getRequest()->getVal( 'gen' );
                        if ( $gen == 'js' ) {
-                               $ctype = $wgJsMimeType;
+                               $ctype = 'text/javascript';
                        } elseif ( $gen == 'css' ) {
                                $ctype = 'text/css';
                        }
                }
 
-               $allowedCTypes = array( 'text/x-wiki', $wgJsMimeType, 'text/css', 'application/x-zope-edit' );
+               $allowedCTypes = array( 'text/x-wiki', 'text/javascript', 'text/css', 'application/x-zope-edit' );
                if ( $ctype == '' || !in_array( $ctype, $allowedCTypes ) ) {
                        $ctype = 'text/x-wiki';
                }
index 7e7365f..fdf3b76 100644 (file)
@@ -304,7 +304,7 @@ abstract class ApiBase extends ContextSource {
                        }
 
                        $examples = $this->getExamples();
-                       if ( $examples !== false && $examples !== '' ) {
+                       if ( $examples ) {
                                if ( !is_array( $examples ) ) {
                                        $examples = array(
                                                $examples
@@ -688,9 +688,9 @@ abstract class ApiBase extends ContextSource {
                        array( $this, "parameterNotEmpty" ) ) ), $required );
 
                if ( count( $intersection ) > 1 ) {
-                       $this->dieUsage( "The parameters {$p}" . implode( ", {$p}", $intersection ) . ' can not be used together', "{$p}invalidparammix" );
+                       $this->dieUsage( "The parameters {$p}" . implode( ", {$p}", $intersection ) . ' can not be used together', 'invalidparammix' );
                } elseif ( count( $intersection ) == 0 ) {
-                       $this->dieUsage( "One of the parameters {$p}" . implode( ", {$p}", $required ) . ' is required', "{$p}missingparam" );
+                       $this->dieUsage( "One of the parameters {$p}" . implode( ", {$p}", $required ) . ' is required', 'missingparam' );
                }
        }
 
@@ -724,7 +724,7 @@ abstract class ApiBase extends ContextSource {
                        array( $this, "parameterNotEmpty" ) ) ), $required );
 
                if ( count( $intersection ) > 1 ) {
-                       $this->dieUsage( "The parameters {$p}" . implode( ", {$p}", $intersection ) . ' can not be used together', "{$p}invalidparammix" );
+                       $this->dieUsage( "The parameters {$p}" . implode( ", {$p}", $intersection ) . ' can not be used together', 'invalidparammix' );
                }
        }
 
index fbe5973..9fdad2b 100644 (file)
@@ -862,7 +862,7 @@ class ApiPageSet extends ApiBase {
                        $from = $this->mPendingRedirectIDs[$rdfrom]->getPrefixedText();
                        $to = Title::makeTitle( $row->rd_namespace, $row->rd_title, $row->rd_fragment, $row->rd_interwiki );
                        unset( $this->mPendingRedirectIDs[$rdfrom] );
-                       if ( !isset( $this->mAllPages[$row->rd_namespace][$row->rd_title] ) ) {
+                       if ( !$to->isExternal() && !isset( $this->mAllPages[$row->rd_namespace][$row->rd_title] ) ) {
                                $lb->add( $row->rd_namespace, $row->rd_title );
                        }
                        $this->mRedirectTitles[$from] = $to;
index bde1d99..800af25 100644 (file)
@@ -94,8 +94,7 @@ class ApiParse extends ApiBase {
                                $titleObj = $rev->getTitle();
                                $wgTitle = $titleObj;
                                $pageObj = WikiPage::factory( $titleObj );
-                               $popts = $pageObj->makeParserOptions( $this->getContext() );
-                               $popts->enableLimitReport( !$params['disablepp'] );
+                               $popts = $this->makeParserOptions( $pageObj, $params );
 
                                // If for some reason the "oldid" is actually the current revision, it may be cached
                                if ( $rev->isCurrent() ) {
@@ -152,8 +151,7 @@ class ApiParse extends ApiBase {
                                        $oldid = $pageObj->getLatest();
                                }
 
-                               $popts = $pageObj->makeParserOptions( $this->getContext() );
-                               $popts->enableLimitReport( !$params['disablepp'] );
+                               $popts = $this->makeParserOptions( $pageObj, $params );
 
                                // Potentially cached
                                $p_result = $this->getParsedContent( $pageObj, $popts, $pageid,
@@ -170,8 +168,7 @@ class ApiParse extends ApiBase {
                        $wgTitle = $titleObj;
                        $pageObj = WikiPage::factory( $titleObj );
 
-                       $popts = $pageObj->makeParserOptions( $this->getContext() );
-                       $popts->enableLimitReport( !$params['disablepp'] );
+                       $popts = $this->makeParserOptions( $pageObj, $params );
 
                        if ( is_null( $text ) ) {
                                $this->dieUsage( 'The text parameter should be passed with the title parameter. Should you be using the "page" parameter instead?', 'params' );
@@ -359,6 +356,26 @@ class ApiParse extends ApiBase {
                }
        }
 
+       /**
+        * Constructs a ParserOptions object
+        *
+        * @param WikiPage $pageObj
+        * @param array $params
+        *
+        * @return ParserOptions
+        */
+       protected function makeParserOptions( WikiPage $pageObj, array $params ) {
+               wfProfileIn( __METHOD__ );
+
+               $popts = $pageObj->makeParserOptions( $this->getContext() );
+               $popts->enableLimitReport( !$params['disablepp'] );
+               $popts->setIsPreview( $params['preview'] );
+               $popts->setIsSectionPreview( $params['preview'] && $this->section !== false );
+
+               wfProfileOut( __METHOD__ );
+               return $popts;
+       }
+
        /**
         * @param $page WikiPage
         * @param $popts ParserOptions
@@ -594,6 +611,7 @@ class ApiParse extends ApiBase {
                        'section' => null,
                        'disablepp' => false,
                        'generatexml' => false,
+                       'preview' => false,
                        'contentformat' => array(
                                ApiBase::PARAM_TYPE => ContentHandler::getAllContentFormats(),
                        ),
@@ -649,6 +667,7 @@ class ApiParse extends ApiBase {
                        'section' => 'Only retrieve the content of this section number',
                        'disablepp' => 'Disable the PP Report from the parser output',
                        'generatexml' => 'Generate XML parse tree (requires prop=wikitext)',
+                       'preview' => 'Parse in preview mode',
                        'contentformat' => 'Content serialization format used for the input text',
                        'contentmodel' => 'Content model of the new content',
                );
index 787057d..5f8c497 100644 (file)
@@ -353,6 +353,7 @@ class ApiQueryInfo extends ApiQueryBase {
                $dbkey = $title->getDBkey();
 
                $pageInfo['contentmodel'] = $title->getContentModel();
+               $pageInfo['pagelanguage'] = $title->getPageLanguage()->getCode();
 
                if ( $titleExists ) {
                        global $wgDisableCounters;
index 0a0aaee..aec57a0 100644 (file)
@@ -204,11 +204,13 @@ class ApiQueryUsers extends ApiQueryBase {
                        }
                }
 
+               $context = $this->getContext();
                // Second pass: add result data to $retval
                foreach ( $goodNames as $u ) {
                        if ( !isset( $data[$u] ) ) {
                                $data[$u] = array( 'name' => $u );
                                $urPage = new UserrightsPage;
+                               $urPage->setContext( $context );
                                $iwUser = $urPage->fetchUser( $u );
 
                                if ( $iwUser instanceof UserRightsProxy ) {
index 5563087..8f71fbe 100644 (file)
@@ -88,9 +88,10 @@ class ApiUpload extends ApiBase {
                        if ( !$this->mUpload->getTitle() ) {
                                $this->dieUsage( 'Invalid file title supplied', 'internal-error' );
                        }
-               } elseif ( $this->mParams['async'] ) {
+               } elseif ( $this->mParams['async'] && $this->mParams['filekey'] ) {
                        // defer verification to background process
                } else {
+                       wfDebug( __METHOD__ . 'about to verify' );
                        $this->verifyUpload();
                }
 
@@ -195,7 +196,12 @@ class ApiUpload extends ApiBase {
                $chunkPath = $request->getFileTempname( 'chunk' );
                $chunkSize = $request->getUpload( 'chunk' )->getSize();
                if ( $this->mParams['offset'] == 0 ) {
-                       $filekey = $this->performStash();
+                       try {
+                               $filekey = $this->performStash();
+                       } catch ( MWException $e ) {
+                               // FIXME: Error handling here is wrong/different from rest of this
+                               $this->dieUsage( $e->getMessage(), 'stashfailed' );
+                       }
                } else {
                        $filekey = $this->mParams['filekey'];
                        /** @var $status Status */
@@ -210,27 +216,27 @@ class ApiUpload extends ApiBase {
                // Check we added the last chunk:
                if ( $this->mParams['offset'] + $chunkSize == $this->mParams['filesize'] ) {
                        if ( $this->mParams['async'] ) {
-                               $progress = UploadBase::getSessionStatus( $this->mParams['filekey'] );
+                               $progress = UploadBase::getSessionStatus( $filekey );
                                if ( $progress && $progress['result'] === 'Poll' ) {
                                        $this->dieUsage( "Chunk assembly already in progress.", 'stashfailed' );
                                }
                                UploadBase::setSessionStatus(
-                                       $this->mParams['filekey'],
+                                       $filekey,
                                        array( 'result' => 'Poll',
                                                'stage' => 'queued', 'status' => Status::newGood() )
                                );
                                $ok = JobQueueGroup::singleton()->push( new AssembleUploadChunksJob(
-                                       Title::makeTitle( NS_FILE, $this->mParams['filekey'] ),
+                                       Title::makeTitle( NS_FILE, $filekey ),
                                        array(
                                                'filename' => $this->mParams['filename'],
-                                               'filekey' => $this->mParams['filekey'],
+                                               'filekey' => $filekey,
                                                'session' => $this->getContext()->exportSession()
                                        )
                                ) );
                                if ( $ok ) {
                                        $result['result'] = 'Poll';
                                } else {
-                                       UploadBase::setSessionStatus( $this->mParams['filekey'], false );
+                                       UploadBase::setSessionStatus( $filekey, false );
                                        $this->dieUsage(
                                                "Failed to start AssembleUploadChunks.php", 'stashfailed' );
                                }
index 80db29b..870201e 100644 (file)
@@ -38,6 +38,7 @@ class ApiUserrights extends ApiBase {
                $user = $this->getUrUser();
 
                $form = new UserrightsPage;
+               $form->setContext( $this->getContext() );
                $r['user'] = $user->getName();
                $r['userid'] = $user->getId();
                list( $r['added'], $r['removed'] ) =
@@ -62,6 +63,7 @@ class ApiUserrights extends ApiBase {
                $params = $this->extractRequestParams();
 
                $form = new UserrightsPage;
+               $form->setContext( $this->getContext() );
                $status = $form->fetchUser( $params['user'] );
                if ( !$status->isOK() ) {
                        $errors = $status->getErrorsArray();
index 31982e0..6ac7e7a 100644 (file)
@@ -37,16 +37,41 @@ class LinkCache {
        private $mForUpdate = false;
 
        /**
-        * Get an instance of this class
+        * @var LinkCache
+        */
+       protected static $instance;
+
+       /**
+        * Get an instance of this class.
         *
         * @return LinkCache
         */
        static function &singleton() {
-               static $instance;
-               if ( !isset( $instance ) ) {
-                       $instance = new LinkCache;
+               if ( self::$instance ) {
+                       return self::$instance;
                }
-               return $instance;
+               self::$instance = new LinkCache;
+               return self::$instance;
+       }
+
+       /**
+        * Destroy the singleton instance, a new one will be created next time
+        * singleton() is called.
+        * @since 1.22
+        */
+       static function destroySingleton() {
+               self::$instance = null;
+       }
+
+       /**
+        * Set the singleton instance to a given object.
+        * Since we do not have an interface for LinkCache, you have to be sure the
+        * given object implements all the LinkCache public methods.
+        * @param LinkCache $instance
+        * @since 1.22
+        */
+       static function setSingleton( LinkCache $instance ) {
+               self::$instance = $instance;
        }
 
        /**
index 49db857..7dc8d05 100644 (file)
  */
 
 /**
- *
+ * MediaWiki message cache structure version.
+ * Bump this whenever the message cache format has changed.
+ */
+define( 'MSG_CACHE_VERSION', 1 );
+
+/**
+ * Memcached timeout when loading a key.
+ * See MessageCache::load()
  */
 define( 'MSG_LOAD_TIMEOUT', 60 );
+
+/**
+ * Memcached timeout when locking a key for a writing operation.
+ * See MessageCache::lock()
+ */
 define( 'MSG_LOCK_TIMEOUT', 30 );
+/**
+ * Number of times we will try to acquire a lock from Memcached.
+ * This comes in addition to MSG_LOCK_TIMEOUT.
+ */
 define( 'MSG_WAIT_TIMEOUT', 30 );
-define( 'MSG_CACHE_VERSION', 1 );
 
 /**
  * Message cache
@@ -44,10 +59,16 @@ class MessageCache {
         */
        protected $mCache;
 
-       // Should  mean that database cannot be used, but check
+       /**
+        * Should  mean that database cannot be used, but check
+        * @var bool $mDisable
+        */
        protected $mDisable;
 
-       /// Lifetime for cache, used by object caching
+       /**
+        * Lifetime for cache, used by object caching.
+        * Set on construction, see __construct().
+        */
        protected $mExpiry;
 
        /**
@@ -56,18 +77,21 @@ class MessageCache {
         */
        protected $mParserOptions, $mParser;
 
-       /// Variable for tracking which variables are already loaded
+       /**
+        * Variable for tracking which variables are already loaded
+        * @var array $mLoadedLanguages
+        */
        protected $mLoadedLanguages = array();
 
        /**
         * Singleton instance
         *
-        * @var MessageCache
+        * @var MessageCache $instance
         */
        private static $instance;
 
        /**
-        * @var bool
+        * @var bool $mInParser
         */
        protected $mInParser = false;
 
@@ -98,6 +122,11 @@ class MessageCache {
                self::$instance = null;
        }
 
+       /**
+        * @param ObjectCache $memCached A cache instance. If none, fall back to CACHE_NONE.
+        * @param bool $useDB
+        * @param int $expiry Lifetime for cache. @see $mExpiry.
+        */
        function __construct( $memCached, $useDB, $expiry ) {
                if ( !$memCached ) {
                        $memCached = wfGetCache( CACHE_NONE );
@@ -592,7 +621,10 @@ class MessageCache {
        }
 
        /**
-        * Represents a write lock on the messages key
+        * Represents a write lock on the messages key.
+        *
+        * Will retry MessageCache::MSG_WAIT_TIMEOUT times, each operations having
+        * a timeout of MessageCache::MSG_LOCK_TIMEOUT.
         *
         * @param string $key
         * @return Boolean: success
@@ -628,51 +660,62 @@ class MessageCache {
        /**
         * Get a message from either the content language or the user language.
         *
-        * @param string $key The message cache key
-        * @param bool $useDB Get the message from the DB, false to use only
-        *               the localisation
-        * @param bool|string $langcode Code of the language to get the message for, if
-        *                  it is a valid code create a language for that language,
-        *                  if it is a string but not a valid code then make a basic
-        *                  language object, if it is a false boolean then use the
-        *                  current users language (as a fallback for the old
-        *                  parameter functionality), or if it is a true boolean
-        *                  then use the wikis content language (also as a
-        *                  fallback).
-        * @param bool $isFullKey Specifies whether $key is a two part key "msg/lang".
+        * First, assemble a list of languages to attempt getting the message from. This
+        * chain begins with the requested language and its fallbacks and then continues with
+        * the content language and its fallbacks. For each language in the chain, the following
+        * process will occur (in this order):
+        *  1. If a language-specific override, i.e., [[MW:msg/lang]], is available, use that.
+        *     Note: for the content language, there is no /lang subpage.
+        *  2. Fetch from the static CDB cache.
+        *  3. If available, check the database for fallback language overrides.
         *
-        * @throws MWException
-        * @return string|bool
+        * This process provides a number of guarantees. When changing this code, make sure all
+        * of these guarantees are preserved.
+        *  * If the requested language is *not* the content language, then the CDB cache for that
+        *    specific language will take precedence over the root database page ([[MW:msg]]).
+        *  * Fallbacks will be just that: fallbacks. A fallback language will never be reached if
+        *    the message is available *anywhere* in the language for which it is a fallback.
+        *
+        * @param string $key the message key
+        * @param bool $useDB If true, look for the message in the DB, false
+        *                    to use only the compiled l10n cache.
+        * @param bool|string|object $langcode Code of the language to get the message for.
+        *        - If string and a valid code, will create a standard language object
+        *        - If string but not a valid code, will create a basic language object
+        *        - If boolean and false, create object from the current users language
+        *        - If boolean and true, create object from the wikis content language
+        *        - If language object, use it as given
+        * @param bool $isFullKey specifies whether $key is a two part key
+        *                   "msg/lang".
+        *
+        * @throws MWException when given an invalid key
+        * @return string|bool False if the message doesn't exist, otherwise the message (which can be empty)
         */
        function get( $key, $useDB = true, $langcode = true, $isFullKey = false ) {
-               global $wgLanguageCode, $wgContLang;
+               global $wgContLang;
 
-               if ( is_int( $key ) ) {
-                       // "Non-string key given" exception sometimes happens for numerical
-                       // strings that become ints somewhere on their way here
-                       $key = strval( $key );
-               }
+               $section = new ProfileSection( __METHOD__ );
 
-               if ( !is_string( $key ) ) {
+               if ( is_int( $key ) ) {
+                       // Fix numerical strings that somehow become ints
+                       // on their way here
+                       $key = (string)$key;
+               } elseif ( !is_string( $key ) ) {
                        throw new MWException( 'Non-string key given' );
-               }
-
-               if ( strval( $key ) === '' ) {
-                       # Shortcut: the empty key is always missing
+               } elseif ( $key === '' ) {
+                       // Shortcut: the empty key is always missing
                        return false;
                }
 
-               $lang = wfGetLangObj( $langcode );
-               if ( !$lang ) {
-                       throw new MWException( "Bad lang code $langcode given" );
+               // For full keys, get the language code from the key
+               $pos = strrpos( $key, '/' );
+               if ( $isFullKey && $pos !== false ) {
+                       $langcode = substr( $key, $pos + 1 );
+                       $key = substr( $key, 0, $pos );
                }
 
-               $langcode = $lang->getCode();
-
-               $message = false;
-
-               # Normalise title-case input (with some inlining)
-               $lckey = str_replace( ' ', '_', $key );
+               // Normalise title-case input (with some inlining)
+               $lckey = strtr( $key, ' ', '_');
                if ( ord( $key ) < 128 ) {
                        $lckey[0] = strtolower( $lckey[0] );
                        $uckey = ucfirst( $lckey );
@@ -681,61 +724,135 @@ class MessageCache {
                        $uckey = $wgContLang->ucfirst( $lckey );
                }
 
-               # Try the MediaWiki namespace
-               if ( !$this->mDisable && $useDB ) {
-                       $title = $uckey;
-                       if ( !$isFullKey && ( $langcode != $wgLanguageCode ) ) {
-                               $title .= '/' . $langcode;
-                       }
-                       $message = $this->getMsgFromNamespace( $title, $langcode );
-               }
-
-               # Try the array in the language object
-               if ( $message === false ) {
-                       $message = $lang->getMessage( $lckey );
-                       if ( is_null( $message ) ) {
-                               $message = false;
-                       }
-               }
+               // Loop through each language in the fallback list until we find something useful
+               $lang = wfGetLangObj( $langcode );
+               $message = $this->getMessageFromFallbackChain( $lang, $lckey, $uckey, !$this->mDisable && $useDB );
 
-               # Try the array of another language
+               // If we still have no message, maybe the key was in fact a full key so try that
                if ( $message === false ) {
                        $parts = explode( '/', $lckey );
-                       # We may get calls for things that are http-urls from sidebar
-                       # Let's not load nonexistent languages for those
-                       # They usually have more than one slash.
+                       // We may get calls for things that are http-urls from sidebar
+                       // Let's not load nonexistent languages for those
+                       // They usually have more than one slash.
                        if ( count( $parts ) == 2 && $parts[1] !== '' ) {
                                $message = Language::getMessageFor( $parts[0], $parts[1] );
-                               if ( is_null( $message ) ) {
+                               if ( $message === null ) {
                                        $message = false;
                                }
                        }
                }
 
-               # Is this a custom message? Try the default language in the db...
-               if ( ( $message === false || $message === '-' ) &&
-                       !$this->mDisable && $useDB &&
-                       !$isFullKey && ( $langcode != $wgLanguageCode )
-               ) {
+               // Post-processing if the message exists
+               if( $message !== false ) {
+                       // Fix whitespace
+                       $message = str_replace(
+                               array(
+                                       # Fix for trailing whitespace, removed by textarea
+                                       '&#32;',
+                                       # Fix for NBSP, converted to space by firefox
+                                       '&nbsp;',
+                                       '&#160;',
+                               ),
+                               array(
+                                       ' ',
+                                       "\xc2\xa0",
+                                       "\xc2\xa0"
+                               ),
+                               $message
+                       );
+               }
+
+               return $message;
+       }
+
+       /**
+        * Given a language, try and fetch a message from that language, then the
+        * fallbacks of that language, then the site language, then the fallbacks for the
+        * site language.
+        *
+        * @param Language $lang Requested language
+        * @param string $lckey Lowercase key for the message
+        * @param string $uckey Uppercase key for the message
+        * @param bool $useDB Whether to use the database
+        *
+        * @see MessageCache::get
+        * @return string|bool The message, or false if not found
+        */
+       protected function getMessageFromFallbackChain( $lang, $lckey, $uckey, $useDB ) {
+               global $wgLanguageCode, $wgContLang;
+
+               $langcode = $lang->getCode();
+               $message = false;
+
+               // First try the requested language.
+               if ( $useDB ) {
+                       if ( $langcode === $wgLanguageCode ) {
+                               // Messages created in the content language will not have the /lang extension
+                               $message = $this->getMsgFromNamespace( $uckey, $langcode );
+                       } else {
+                               $message = $this->getMsgFromNamespace( "$uckey/$langcode", $langcode );
+                       }
+               }
+
+               if ( $message !== false ) {
+                       return $message;
+               }
+
+               // Check the CDB cache
+               $message = $lang->getMessage( $lckey );
+               if ( $message !== null ) {
+                       return $message;
+               }
+
+               list( $fallbackChain, $siteFallbackChain ) = Language::getFallbacksIncludingSiteLanguage( $langcode );
+
+               // Next try checking the database for all of the fallback languages of the requested language.
+               if ( $useDB ) {
+                       foreach ( $fallbackChain as $code ) {
+                               if ( $code === $wgLanguageCode ) {
+                                       // Messages created in the content language will not have the /lang extension
+                                       $message = $this->getMsgFromNamespace( $uckey, $code );
+                               } else {
+                                       $message = $this->getMsgFromNamespace( "$uckey/$code", $code );
+                               }
+
+                               if ( $message !== false ) {
+                                       // Found the message.
+                                       return $message;
+                               }
+                       }
+               }
+
+               // Now try checking the site language.
+               if ( $useDB ) {
                        $message = $this->getMsgFromNamespace( $uckey, $wgLanguageCode );
+                       if ( $message !== false ) {
+                               return $message;
+                       }
                }
 
-               # Final fallback
-               if ( $message === false ) {
-                       return false;
+               $message = $wgContLang->getMessage( $lckey );
+               if ( $message !== null ) {
+                       return $message;
                }
 
-               # Fix whitespace
-               $message = strtr( $message,
-                       array(
-                               # Fix for trailing whitespace, removed by textarea
-                               '&#32;' => ' ',
-                               # Fix for NBSP, converted to space by firefox
-                               '&nbsp;' => "\xc2\xa0",
-                               '&#160;' => "\xc2\xa0",
-                       ) );
+               // Finally try the DB for the site language's fallbacks.
+               if ( $useDB ) {
+                       foreach ( $siteFallbackChain as $code ) {
+                               $message = $this->getMsgFromNamespace( "$uckey/$code", $code );
+                               if ( $message === false && $code === $wgLanguageCode ) {
+                                       // Messages created in the content language will not have the /lang extension
+                                       $message = $this->getMsgFromNamespace( $uckey, $code );
+                               }
 
-               return $message;
+                               if ( $message !== false ) {
+                                       // Found the message.
+                                       return $message;
+                               }
+                       }
+               }
+
+               return false;
        }
 
        /**
index 65fe58f..da4621a 100644 (file)
  * @since 1.21
  */
 class RedisConnectionPool {
-       // Settings for all connections in this pool
-       protected $connectTimeout; // string; connection timeout
-       protected $persistent; // bool; whether connections persist
-       protected $password; // string; plaintext auth password
-       protected $serializer; // integer; the serializer to use (Redis::SERIALIZER_*)
+       /**
+        * @name Pool settings.
+        * Settings there are shared for any connection made in this pool.
+        * See the singleton() method documentation for more details.
+        * @{
+        */
+       /** @var string Connection timeout in seconds */
+       protected $connectTimeout;
+       /** @var string Plaintext auth password */
+       protected $password;
+       /** @var bool Whether connections persist */
+       protected $persistent;
+       /** @var integer Serializer to use (Redis::SERIALIZER_*) */
+       protected $serializer;
+       /** @} */
 
-       protected $idlePoolSize = 0; // integer; current idle pool size
+       /** @var integer Current idle pool size */
+       protected $idlePoolSize = 0;
 
        /** @var Array (server name => ((connection info array),...) */
        protected $connections = array();
        /** @var Array (server name => UNIX timestamp) */
        protected $downServers = array();
 
-       /** @var Array */
-       protected static $instances = array(); // (pool ID => RedisConnectionPool)
+       /** @var Array (pool ID => RedisConnectionPool) */
+       protected static $instances = array();
 
-       const SERVER_DOWN_TTL = 30; // integer; seconds to cache servers as "down"
+       /** integer; seconds to cache servers as "down". */
+       const SERVER_DOWN_TTL = 30;
 
        /**
         * @param array $options
index 137efb8..8c6e24a 100644 (file)
@@ -441,4 +441,57 @@ abstract class AbstractContent implements Content {
                wfRunHooks( 'ConvertContent', array( $this, $toModel, $lossy, &$result ) );
                return $result;
        }
+
+       /**
+        * Returns a ParserOutput object, filled by a call to fillParserOutput().
+        * Subclasses that want to control the parser output may override this, or
+        * they can override fillParserOutput(). If they override getParserOutput(),
+        * itself, they should take care to call the ContentGetParserOutput hook.
+        *
+        * @param $title Title Context title for parsing
+        * @param $revId int|null Revision ID (for {{REVISIONID}})
+        * @param $options ParserOptions|null Parser options
+        * @param $generateHtml bool Whether or not to generate HTML
+        *
+        * @return ParserOutput representing the HTML form of the text
+        */
+       public function getParserOutput( Title $title, $revId = null,
+               ParserOptions $options = null, $generateHtml = true
+       ) {
+               # Generic implementation, relying on $this->getHtml()
+
+               if ( $options === null ) {
+                       $options = $this->getContentHandler()->makeParserOptions( 'canonical' );
+               }
+
+               $po = new ParserOutput();
+
+               if ( wfRunHooks( 'ContentGetParserOutput',
+                       array( $this, $title, $revId, $options, $generateHtml, &$po ) ) ) {
+
+                       $this->fillParserOutput( $title, $revId, $options, $generateHtml, $po );
+               }
+
+               return $po;
+       }
+
+       /**
+        * Fills the provided ParserOutput object with the HTML returned by getHtml().
+        * Subclasses should override this (or getParserOutput) appropriately.
+        * This placeholder implementation always throws an exception.
+        *
+        * @param $title        Title Context title for parsing
+        * @param $revId        int|null Revision ID (for {{REVISIONID}})
+        * @param $options      ParserOptions|null Parser options
+        * @param $generateHtml bool Whether or not to generate HTML
+        * @param &$output      ParserOutput The output object to fill (reference).
+        *
+        * @throws MWException
+        */
+       protected function fillParserOutput( Title $title, $revId,
+               ParserOptions $options, $generateHtml, ParserOutput &$output
+       ) {
+               // Don't make abstract, so subclasses that override getParserOutput() directly don't fail.
+               throw new MWException( 'Subclasses of AbstractContent must override fillParserOutput!' );
+       }
 }
index 03cc2d0..a25bd76 100644 (file)
@@ -57,7 +57,7 @@ class CssContent extends TextContent {
        protected function getHtml() {
                $html = "";
                $html .= "<pre class=\"mw-code mw-css\" dir=\"ltr\">\n";
-               $html .= $this->getHighlightHtml();
+               $html .= htmlspecialchars( $this->getNativeData() );
                $html .= "\n</pre>\n";
 
                return $html;
index 2ae572b..247de6d 100644 (file)
@@ -58,7 +58,7 @@ class JavaScriptContent extends TextContent {
        protected function getHtml() {
                $html = "";
                $html .= "<pre class=\"mw-code mw-js\" dir=\"ltr\">\n";
-               $html .= $this->getHighlightHtml();
+               $html .= htmlspecialchars( $this->getNativeData() );
                $html .= "\n</pre>\n";
 
                return $html;
index f66dacd..a6ee7b0 100644 (file)
@@ -189,32 +189,27 @@ class TextContent extends AbstractContent {
        }
 
        /**
-        * Returns a generic ParserOutput object, wrapping the HTML returned by
-        * getHtml().
+        * Fills the provided ParserOutput object with the HTML returned by getHtml().
+        *
+        * Content models in $wgTextModelsToParse will be parsed as wikitext to process links,
+        * magic words, etc.
+        *
+        * Subclasses may override this to provide custom rendering.
         *
         * @param $title Title Context title for parsing
         * @param int|null $revId Revision ID (for {{REVISIONID}})
         * @param $options ParserOptions|null Parser options
         * @param bool $generateHtml Whether or not to generate HTML
-        *
-        * @return ParserOutput representing the HTML form of the text
+        * @param $output ParserOutput The output object to fill (reference).
         */
-       public function getParserOutput( Title $title,
-               $revId = null,
-               ParserOptions $options = null, $generateHtml = true
+       protected function fillParserOutput( Title $title, $revId,
+               ParserOptions $options, $generateHtml, ParserOutput &$output
        ) {
                global $wgParser, $wgTextModelsToParse;
 
-               if ( !$options ) {
-                       //NOTE: use canonical options per default to produce cacheable output
-                       $options = $this->getContentHandler()->makeParserOptions( 'canonical' );
-               }
-
                if ( in_array( $this->getModel(), $wgTextModelsToParse ) ) {
-                       // parse just to get links etc into the database
-                       $po = $wgParser->parse( $this->getNativeData(), $title, $options, true, true, $revId );
-               } else {
-                       $po = new ParserOutput();
+                       // parse just to get links etc into the database, HTML is replaced below.
+                       $output = $wgParser->parse( $this->getNativeData(), $title, $options, true, true, $revId );
                }
 
                if ( $generateHtml ) {
@@ -223,34 +218,25 @@ class TextContent extends AbstractContent {
                        $html = '';
                }
 
-               $po->setText( $html );
-               return $po;
+               $output->setText( $html );
        }
 
        /**
         * Generates an HTML version of the content, for display. Used by
         * getParserOutput() to construct a ParserOutput object.
         *
-        * This default implementation just calls getHighlightHtml(). Content
-        * models that have another mapping to HTML (as is the case for markup
-        * languages like wikitext) should override this method to generate the
-        * appropriate HTML.
+        * This default implementation runs the text returned by $this->getNativeData()
+        * through htmlspecialchars and tried to convert line breaks and indentation to HTML..
         *
         * @return string An HTML representation of the content
         */
-       protected function getHtml() {
-               return $this->getHighlightHtml();
-       }
-
-       /**
-        * Generates a syntax-highlighted version of the content, as HTML.
-        * Used by the default implementation of getHtml().
-        *
-        * @return string an HTML representation of the content's markup
-        */
-       protected function getHighlightHtml() {
-               # TODO: make Highlighter interface, use highlighter here, if available
-               return htmlspecialchars( $this->getNativeData() );
+       public static function convertWhiteSpaceToHTML( $msg ) {
+               $msg = htmlspecialchars( $msg );
+               $msg = preg_replace( '/^ /m', '&#160;', $msg );
+               $msg = preg_replace( '/ $/m', '&#160;', $msg );
+               $msg = preg_replace( '/  /', '&#160; ', $msg );
+               $msg = str_replace( "\n", '<br />', $msg );
+               return $msg;
        }
 
        /**
index 26337db..d821d9d 100644 (file)
@@ -277,28 +277,21 @@ class WikitextContent extends TextContent {
         * using $wgParser.
         *
         * @since    1.21
+        * @see AbstractContent::fillParserOutput().
         *
         * @param $title Title
         * @param int $revId Revision to pass to the parser (default: null)
         * @param $options ParserOptions (default: null)
         * @param bool $generateHtml (default: false)
-        *
-        * @internal param \IContextSource|null $context
-        * @return ParserOutput representing the HTML form of the text
+        * @param &$output ParserOutput representing the HTML form of the text,
+        *           may be manipulated or replaced.
         */
-       public function getParserOutput( Title $title,
-               $revId = null,
-               ParserOptions $options = null, $generateHtml = true
+       protected function fillParserOutput( Title $title, $revId,
+                       ParserOptions $options, $generateHtml, ParserOutput &$output
        ) {
                global $wgParser;
 
-               if ( !$options ) {
-                       //NOTE: use canonical options per default to produce cacheable output
-                       $options = $this->getContentHandler()->makeParserOptions( 'canonical' );
-               }
-
-               $po = $wgParser->parse( $this->getNativeData(), $title, $options, true, true, $revId );
-               return $po;
+               $output = $wgParser->parse( $this->getNativeData(), $title, $options, true, true, $revId );
        }
 
        protected function getHtml() {
index 799e168..4b2eae7 100644 (file)
@@ -2529,6 +2529,92 @@ abstract class DatabaseBase implements DatabaseType {
                return $this->query( $sql, $fname );
        }
 
+       /**
+        * INSERT ON DUPLICATE KEY UPDATE wrapper, upserts an array into a table.
+        *
+        * This updates any conflicting rows (according to the unique indexes) using
+        * the provided SET clause and inserts any remaining (non-conflicted) rows.
+        *
+        * $rows may be either:
+        *   - A single associative array. The array keys are the field names, and
+        *     the values are the values to insert. The values are treated as data
+        *     and will be quoted appropriately. If NULL is inserted, this will be
+        *     converted to a database NULL.
+        *   - An array with numeric keys, holding a list of associative arrays.
+        *     This causes a multi-row INSERT on DBMSs that support it. The keys in
+        *     each subarray must be identical to each other, and in the same order.
+        *
+        * It may be more efficient to leave off unique indexes which are unlikely
+        * to collide. However if you do this, you run the risk of encountering
+        * errors which wouldn't have occurred in MySQL.
+        *
+        * Usually throws a DBQueryError on failure. If errors are explicitly ignored,
+        * returns success.
+        *
+        * @param string $table Table name. This will be passed through DatabaseBase::tableName().
+        * @param array $rows A single row or list of rows to insert
+        * @param array $uniqueIndexes List of single field names or field name tuples
+        * @param array $set An array of values to SET. For each array element,
+        *                the key gives the field name, and the value gives the data
+        *                to set that field to. The data will be quoted by
+        *                DatabaseBase::addQuotes().
+        * @param string $fname Calling function name (use __METHOD__) for logs/profiling
+        * @param array $options of options
+        *
+        * @return bool
+        * @since 1.22
+        */
+       public function upsert(
+               $table, array $rows, array $uniqueIndexes, array $set, $fname = __METHOD__
+       ) {
+               if ( !count( $rows ) ) {
+                       return true; // nothing to do
+               }
+               $rows = is_array( reset( $rows ) ) ? $rows : array( $rows );
+
+               if ( count( $uniqueIndexes ) ) {
+                       $clauses = array(); // list WHERE clauses that each identify a single row
+                       foreach ( $rows as $row ) {
+                               foreach ( $uniqueIndexes as $index ) {
+                                       $index = is_array( $index ) ? $index : array( $index ); // columns
+                                       $rowKey = array(); // unique key to this row
+                                       foreach ( $index as $column ) {
+                                               $rowKey[$column] = $row[$column];
+                                       }
+                                       $clauses[] = $this->makeList( $rowKey, LIST_AND );
+                               }
+                       }
+                       $where = array( $this->makeList( $clauses, LIST_OR ) );
+               } else {
+                       $where = false;
+               }
+
+               $useTrx = !$this->mTrxLevel;
+               if ( $useTrx ) {
+                       $this->begin( $fname );
+               }
+               try {
+                       # Update any existing conflicting row(s)
+                       if ( $where !== false ) {
+                               $ok = $this->update( $table, $set, $where, $fname );
+                       } else {
+                               $ok = true;
+                       }
+                       # Now insert any non-conflicting row(s)
+                       $ok = $this->insert( $table, $rows, $fname, array( 'IGNORE' ) ) && $ok;
+               } catch ( Exception $e ) {
+                       if ( $useTrx ) {
+                               $this->rollback( $fname );
+                       }
+                       throw $e;
+               }
+               if ( $useTrx ) {
+                       $this->commit( $fname );
+               }
+
+               return $ok;
+       }
+
        /**
         * DELETE where the condition is a join.
         *
index ca5a2b4..3eb8c44 100644 (file)
@@ -352,6 +352,37 @@ class DatabaseMysql extends DatabaseBase {
                return $this->nativeReplace( $table, $rows, $fname );
        }
 
+       /**
+        * @param string $table
+        * @param array $rows
+        * @param array $uniqueIndexes
+        * @param array $set
+        * @param string $fname
+        * @param array $options
+        * @return bool
+        */
+       public function upsert(
+               $table, array $rows, array $uniqueIndexes, array $set, $fname = __METHOD__
+       ) {
+               if ( !count( $rows ) ) {
+                       return true; // nothing to do
+               }
+               $rows = is_array( reset( $rows ) ) ? $rows : array( $rows );
+
+               $table = $this->tableName( $table );
+               $columns = array_keys( $rows[0] );
+
+               $sql = "INSERT INTO $table (" . implode( ',', $columns ) . ') VALUES ';
+               $rowTuples = array();
+               foreach ( $rows as $row ) {
+                       $rowTuples[] = '(' . $this->makeList( $row ) . ')';
+               }
+               $sql .= implode( ',', $rowTuples );
+               $sql .= " ON DUPLICATE KEY UPDATE " . $this->makeList( $set, LIST_SET );
+
+               return (bool)$this->query( $sql, $fname );
+       }
+
        /**
         * Estimate rows in dataset
         * Returns estimated count, based on EXPLAIN output
index 4fa2397..c0d3805 100644 (file)
@@ -249,6 +249,7 @@ class DatabaseOracle extends DatabaseBase {
         * @return DatabaseBase|null
         */
        function open( $server, $user, $password, $dbName ) {
+               global $wgDBOracleDRCP;
                if ( !function_exists( 'oci_connect' ) ) {
                        throw new DBConnectionError( $this, "Oracle functions missing, have you compiled PHP with the --with-oci8 option?\n (Note: if you recently installed PHP, you may need to restart your webserver and database)\n" );
                }
@@ -276,9 +277,16 @@ class DatabaseOracle extends DatabaseBase {
                        return;
                }
 
+               if ( $wgDBOracleDRCP ) {
+                       $this->setFlag( DBO_PERSISTENT );
+               }
+
                $session_mode = $this->mFlags & DBO_SYSDBA ? OCI_SYSDBA : OCI_DEFAULT;
+
                wfSuppressWarnings();
-               if ( $this->mFlags & DBO_DEFAULT ) {
+               if ( $this->mFlags & DBO_PERSISTENT ) {
+                       $this->mConn = oci_pconnect( $this->mUser, $this->mPassword, $this->mServer, $this->defaultCharset, $session_mode );
+               } else if ( $this->mFlags & DBO_DEFAULT ) {
                        $this->mConn = oci_new_connect( $this->mUser, $this->mPassword, $this->mServer, $this->defaultCharset, $session_mode );
                } else {
                        $this->mConn = oci_connect( $this->mUser, $this->mPassword, $this->mServer, $this->defaultCharset, $session_mode );
index 367335e..e564a16 100644 (file)
@@ -1032,11 +1032,11 @@ __INDEXATTR__;
                        return $output;
                }
                do {
-                       if ( '{' != $text{$offset} ) {
+                       if ( '{' != $text[$offset] ) {
                                preg_match( "/(\\{?\"([^\"\\\\]|\\\\.)*\"|[^,{}]+)+([,}]+)/",
                                        $text, $match, 0, $offset );
                                $offset += strlen( $match[0] );
-                               $output[] = ( '"' != $match[1]{0}
+                               $output[] = ( '"' != $match[1][0]
                                                ? $match[1]
                                                : stripcslashes( substr( $match[1], 1, -1 ) ) );
                                if ( '},' == $match[3] ) {
index 12e493a..db709b5 100644 (file)
@@ -479,6 +479,7 @@ class LoadBalancer {
 
                # Operation-based index
                if ( $i == DB_SLAVE ) {
+                       $this->mLastError = 'Unknown error'; // reset error string
                        $i = $this->getReaderIndex( false, $wiki );
                        # Couldn't find a working server in getReaderIndex()?
                        if ( $i === false ) {
index d75a126..ec9a62a 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Debug toolbar related code
+ * Debug toolbar related code.
  *
  * 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,7 +21,7 @@
  */
 
 /**
- * New debugger system that outputs a toolbar on page view
+ * New debugger system that outputs a toolbar on page view.
  *
  * By default, most methods do nothing ( self::$enabled = false ). You have
  * to explicitly call MWDebug::init() to enabled them.
@@ -35,28 +35,28 @@ class MWDebug {
        /**
         * Log lines
         *
-        * @var array
+        * @var array $log
         */
        protected static $log = array();
 
        /**
-        * Debug messages from wfDebug()
+        * Debug messages from wfDebug().
         *
-        * @var array
+        * @var array $debug
         */
        protected static $debug = array();
 
        /**
-        * Queries
+        * SQL statements of the databses queries.
         *
-        * @var array
+        * @var array $query
         */
        protected static $query = array();
 
        /**
         * Is the debugger enabled?
         *
-        * @var bool
+        * @var bool $enabled
         */
        protected static $enabled = false;
 
@@ -64,7 +64,7 @@ class MWDebug {
         * Array of functions that have already been warned, formatted
         * function-caller to prevent a buttload of warnings
         *
-        * @var array
+        * @var array $deprecationWarnings
         */
        protected static $deprecationWarnings = array();
 
index 4ee5014..4ee066e 100644 (file)
@@ -48,7 +48,6 @@ class DifferenceEngine extends ContextSource {
         * @var Title
         */
        var $mOldPage, $mNewPage;
-       var $mRcidMarkPatrolled;
 
        /**
         * @var Revision
@@ -80,8 +79,8 @@ class DifferenceEngine extends ContextSource {
         * Constructor
         * @param $context IContextSource context to use, anything else will be ignored
         * @param $old Integer old ID we want to show and diff with.
-        * @param string $new either 'prev' or 'next'.
-        * @param $rcid Integer ??? FIXME (default 0)
+        * @param $new String either 'prev' or 'next'.
+        * @param $rcid Integer Deprecated, no longer used!
         * @param $refreshCache boolean If set, refreshes the diff cache
         * @param $unhide boolean If set, allow viewing deleted revs
         */
@@ -96,7 +95,6 @@ class DifferenceEngine extends ContextSource {
 
                $this->mOldid = $old;
                $this->mNewid = $new;
-               $this->mRcidMarkPatrolled = intval( $rcid );  # force it to be an integer
                $this->mRefreshCache = $refreshCache;
                $this->unhide = $unhide;
        }
@@ -412,43 +410,47 @@ class DifferenceEngine extends ContextSource {
         * @return String
         */
        protected function markPatrolledLink() {
-               global $wgUseRCPatrol;
+               global $wgUseRCPatrol, $wgRCMaxAge, $wgEnableAPI, $wgEnableWriteAPI;
+               $cache = wfGetMainCache();
 
                if ( $this->mMarkPatrolledLink === null ) {
                        // Prepare a change patrol link, if applicable
-                       if ( $wgUseRCPatrol && $this->mNewPage->quickUserCan( 'patrol', $this->getUser() ) ) {
-                               // If we've been given an explicit change identifier, use it; saves time
-                               if ( $this->mRcidMarkPatrolled ) {
-                                       $rcid = $this->mRcidMarkPatrolled;
-                                       $rc = RecentChange::newFromId( $rcid );
-                                       // Already patrolled?
-                                       $rcid = is_object( $rc ) && !$rc->getAttribute( 'rc_patrolled' ) ? $rcid : 0;
+                       if (
+                               // Is patrolling enabled and the user allowed to?
+                               $wgUseRCPatrol && $this->mNewPage->quickUserCan( 'patrol', $this->getUser() ) &&
+                               // Only do this if the revision isn't more than 6 hours older
+                               // than the Max RC age (6h because the RC might not be cleaned out regularly)
+                               RecentChange::isInRCLifespan( $this->mNewRev->getTimestamp(), 21600 ) &&
+                               // Maybe the result is cached
+                               !$cache->get( wfMemcKey( 'NotPatrollableRevId', $this->mNewid ) )
+                       ) {
+                               // Look for an unpatrolled change corresponding to this diff
+
+                               $db = wfGetDB( DB_SLAVE );
+                               $change = RecentChange::newFromConds(
+                                       array(
+                                               'rc_timestamp' => $db->timestamp( $this->mNewRev->getTimestamp() ),
+                                               'rc_this_oldid' => $this->mNewid,
+                                               'rc_patrolled' => 0
+                                       ),
+                                       __METHOD__,
+                                       array( 'USE INDEX' => 'rc_timestamp' )
+                               );
+
+                               if ( $change ) {
+                                       $rcid = $change->getAttribute( 'rc_id' );
                                } else {
-                                       // Look for an unpatrolled change corresponding to this diff
-                                       $db = wfGetDB( DB_SLAVE );
-                                       $change = RecentChange::newFromConds(
-                                               array(
-                                               // Redundant user,timestamp condition so we can use the existing index
-                                                       'rc_user_text' => $this->mNewRev->getRawUserText(),
-                                                       'rc_timestamp' => $db->timestamp( $this->mNewRev->getTimestamp() ),
-                                                       'rc_this_oldid' => $this->mNewid,
-                                                       'rc_last_oldid' => $this->mOldid,
-                                                       'rc_patrolled' => 0
-                                               ),
-                                               __METHOD__
-                                       );
-                                       if ( $change instanceof RecentChange ) {
-                                               $rcid = $change->mAttribs['rc_id'];
-                                               $this->mRcidMarkPatrolled = $rcid;
-                                       } else {
-                                               // None found
-                                               $rcid = 0;
-                                       }
+                                       // None found
+                                       $rcid = 0;
                                }
                                // Build the link
                                if ( $rcid ) {
                                        $this->getOutput()->preventClickjacking();
-                                       $this->getOutput()->addModules( 'mediawiki.page.patrol.ajax' );
+                                       if ( $wgEnableAPI && $wgEnableWriteAPI
+                                               && $this->getUser()->isAllowed( 'writeapi' )
+                                       ) {
+                                               $this->getOutput()->addModules( 'mediawiki.page.patrol.ajax' );
+                                       }
 
                                        $token = $this->getUser()->getEditToken( $rcid );
                                        $this->mMarkPatrolledLink = ' <span class="patrollink">[' . Linker::linkKnown(
@@ -462,6 +464,7 @@ class DifferenceEngine extends ContextSource {
                                                )
                                        ) . ']</span>';
                                } else {
+                                       $cache->set( wfMemcKey( 'NotPatrollableRevId', $this->mNewid ), '1', $wgRCMaxAge );
                                        $this->mMarkPatrolledLink = '';
                                }
                        } else {
index 9c778c7..f0e54ec 100644 (file)
@@ -56,7 +56,7 @@ abstract class LockManager {
        protected $domain; // string; domain (usually wiki ID)
        protected $lockTTL; // integer; maximum time locks can be held
 
-       /* Lock types; stronger locks have higher values */
+       /** Lock types; stronger locks have higher values */
        const LOCK_SH = 1; // shared lock (for reads)
        const LOCK_UW = 2; // shared lock (for reads used to write elsewhere)
        const LOCK_EX = 3; // exclusive lock (for writes)
@@ -92,11 +92,25 @@ abstract class LockManager {
         * @return Status
         */
        final public function lock( array $paths, $type = self::LOCK_EX, $timeout = 0 ) {
+               return $this->lockByType( array( $type => $paths ), $timeout );
+       }
+
+       /**
+        * Lock the resources at the given abstract paths
+        *
+        * @param array $paths Map of LockManager::LOCK_* constants to lists of storage paths
+        * @param integer $timeout Timeout in seconds (0 means non-blocking) (since 1.21)
+        * @return Status
+        * @since 1.22
+        */
+       final public function lockByType( array $pathsByType, $timeout = 0 ) {
                wfProfileIn( __METHOD__ );
+               $status = Status::newGood();
+               $pathsByType = $this->normalizePathsByType( $pathsByType );
                $msleep = array( 0, 50, 100, 300, 500 ); // retry backoff times
                $start = microtime( true );
                do {
-                       $status = $this->doLock( array_unique( $paths ), $this->lockTypeMap[$type] );
+                       $status = $this->doLockByType( $pathsByType );
                        $elapsed = microtime( true ) - $start;
                        if ( $status->isOK() || $elapsed >= $timeout || $elapsed < 0 ) {
                                break; // success, timeout, or clock set back
@@ -116,8 +130,20 @@ abstract class LockManager {
         * @return Status
         */
        final public function unlock( array $paths, $type = self::LOCK_EX ) {
+               return $this->unlockByType( array( $type => $paths ) );
+       }
+
+       /**
+        * Unlock the resources at the given abstract paths
+        *
+        * @param array $paths Map of LockManager::LOCK_* constants to lists of storage paths
+        * @return Status
+        * @since 1.22
+        */
+       final public function unlockByType( array $pathsByType ) {
                wfProfileIn( __METHOD__ );
-               $status = $this->doUnlock( array_unique( $paths ), $this->lockTypeMap[$type] );
+               $pathsByType = $this->normalizePathsByType( $pathsByType );
+               $status = $this->doUnlockByType( $pathsByType );
                wfProfileOut( __METHOD__ );
                return $status;
        }
@@ -146,6 +172,46 @@ abstract class LockManager {
                return sha1( "{$this->domain}:{$path}" );
        }
 
+       /**
+        * Normalize the $paths array by converting LOCK_UW locks into the
+        * appropriate type and removing any duplicated paths for each lock type.
+        *
+        * @param array $paths Map of LockManager::LOCK_* constants to lists of storage paths
+        * @return Array
+        * @since 1.22
+        */
+       final protected function normalizePathsByType( array $pathsByType ) {
+               $res = array();
+               foreach ( $pathsByType as $type => $paths ) {
+                       $res[$this->lockTypeMap[$type]] = array_unique( $paths );
+               }
+               return $res;
+       }
+
+       /**
+        * @see LockManager::lockByType()
+        * @param array $paths Map of LockManager::LOCK_* constants to lists of storage paths
+        * @return Status
+        * @since 1.22
+        */
+       protected function doLockByType( array $pathsByType ) {
+               $status = Status::newGood();
+               $lockedByType = array(); // map of (type => paths)
+               foreach ( $pathsByType as $type => $paths ) {
+                       $status->merge( $this->doLock( $paths, $type ) );
+                       if ( $status->isOK() ) {
+                               $lockedByType[$type] = $paths;
+                       } else {
+                               // Release the subset of locks that were acquired
+                               foreach ( $lockedByType as $type => $paths ) {
+                                       $status->merge( $this->doUnlock( $paths, $type ) );
+                               }
+                               break;
+                       }
+               }
+               return $status;
+       }
+
        /**
         * Lock resources with the given keys and lock type
         *
@@ -155,6 +221,20 @@ abstract class LockManager {
         */
        abstract protected function doLock( array $paths, $type );
 
+       /**
+        * @see LockManager::unlockByType()
+        * @param array $paths Map of LockManager::LOCK_* constants to lists of storage paths
+        * @return Status
+        * @since 1.22
+        */
+       protected function doUnlockByType( array $pathsByType ) {
+               $status = Status::newGood();
+               foreach ( $pathsByType as $type => $paths ) {
+                       $status->merge( $this->doUnlock( $paths, $type ) );
+               }
+               return $status;
+       }
+
        /**
         * Unlock resources with the given keys and lock type
         *
index edcb1d6..5faad4a 100644 (file)
@@ -36,24 +36,18 @@ class ScopedLock {
        protected $manager;
        /** @var Status */
        protected $status;
-       /** @var Array List of resource paths*/
-       protected $paths;
-
-       protected $type; // integer lock type
+       /** @var Array Map of lock types to resource paths */
+       protected $pathsByType;
 
        /**
-        * @param $manager LockManager
-        * @param array $paths List of storage paths
-        * @param $type integer LockManager::LOCK_* constant
-        * @param $status Status
+        * @param LockManager $manager
+        * @param array $pathsByType Map of lock types to path lists
+        * @param Status $status
         */
-       protected function __construct(
-               LockManager $manager, array $paths, $type, Status $status
-       ) {
+       protected function __construct( LockManager $manager, array $pathsByType, Status $status ) {
                $this->manager = $manager;
-               $this->paths = $paths;
+               $this->pathsByType = $pathsByType;
                $this->status = $status;
-               $this->type = $type;
        }
 
        /**
@@ -61,19 +55,24 @@ class ScopedLock {
         * Any locks are released once this object goes out of scope.
         * The status object is updated with any errors or warnings.
         *
-        * @param $manager LockManager
-        * @param array $paths List of storage paths
-        * @param $type integer LockManager::LOCK_* constant
-        * @param $status Status
+        * $type can be "mixed" and $paths can be a map of types to paths (since 1.22).
+        * Otherwise $type should be an integer and $paths should be a list of paths.
+        *
+        * @param LockManager $manager
+        * @param array $paths List of storage paths or map of lock types to path lists
+        * @param integer|string $type LockManager::LOCK_* constant or "mixed"
+        * @param Status $status
+        * @param integer $timeout Timeout in seconds (0 means non-blocking) (since 1.22)
         * @return ScopedLock|null Returns null on failure
         */
        public static function factory(
-               LockManager $manager, array $paths, $type, Status $status
+               LockManager $manager, array $paths, $type, Status $status, $timeout = 0
        ) {
-               $lockStatus = $manager->lock( $paths, $type );
+               $pathsByType = is_integer( $type ) ? array( $type => $paths ) : $paths;
+               $lockStatus = $manager->lockByType( $pathsByType, $timeout );
                $status->merge( $lockStatus );
                if ( $lockStatus->isOK() ) {
-                       return new self( $manager, $paths, $type, $status );
+                       return new self( $manager, $pathsByType, $status );
                }
                return null;
        }
@@ -91,9 +90,12 @@ class ScopedLock {
                $lock = null;
        }
 
+       /**
+        * Release the locks when this goes out of scope
+        */
        function __destruct() {
                $wasOk = $this->status->isOK();
-               $this->status->merge( $this->manager->unlock( $this->paths, $this->type ) );
+               $this->status->merge( $this->manager->unlockByType( $this->pathsByType ) );
                if ( $wasOk ) {
                        // Make sure status is OK, despite any unlockFiles() fatals
                        $this->status->setResult( true, $this->status->value );
index 3cb1f41..b21b87a 100644 (file)
@@ -1372,11 +1372,17 @@ class LocalFile extends File {
                # Invalidate cache for all pages using this file
                $update = new HTMLCacheUpdate( $this->getTitle(), 'imagelinks' );
                $update->doUpdate();
+               if ( !$reupload ) {
+                       LinksUpdate::queueRecursiveJobsForTable( $this->getTitle(), 'imagelinks' );
+               }
 
                # Invalidate cache for all pages that redirects on this page
                $redirs = $this->getTitle()->getRedirectsHere();
 
                foreach ( $redirs as $redir ) {
+                       if ( !$reupload && $redir->getNamespace() === NS_FILE ) {
+                               LinksUpdate::queueRecursiveJobsForTable( $redir, 'imagelinks' );
+                       }
                        $update = new HTMLCacheUpdate( $redir, 'imagelinks' );
                        $update->doUpdate();
                }
index a3b98e0..868e4da 100644 (file)
@@ -261,7 +261,7 @@ If you do not see the database system you are trying to use listed below, then f
        'config-missing-db-host'          => 'You must enter a value for "Database host"',
        'config-missing-db-server-oracle' => 'You must enter a value for "Database TNS"',
        'config-invalid-db-server-oracle' => 'Invalid database TNS "$1".
-Use only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_) and dots (.).',
+Use either "TNS Name" or an "Easy Connect" string ([http://docs.oracle.com/cd/E11882_01/network.112/e10836/naming.htm Oracle Naming Methods])',
        'config-invalid-db-name'          => 'Invalid database name "$1".
 Use only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_) and hyphens (-).',
        'config-invalid-db-prefix'        => 'Invalid database prefix "$1".
@@ -1182,7 +1182,7 @@ $messages['aln'] = array(
 
 * [//www.mediawiki.org/wiki/Help:Configuration_settings Konfigurimi i MediaWikit]
 * [//www.mediawiki.org/wiki/Help:FAQ Pyetjet e shpeshta rreth MediaWikit]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Njoftime rreth MediaWikit]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Njoftime rreth MediaWikit]', # Fuzzy
 );
 
 /** Amharic (አማርኛ)
@@ -1195,7 +1195,7 @@ $messages['am'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Aragonese (aragonés)
@@ -1209,7 +1209,7 @@ $messages['an'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista de caracteristicas confegurables]
 * [//www.mediawiki.org/wiki/Manual:FAQ Preguntas cutianas sobre MediaWiki (FAQ)]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correu sobre ta anuncios de MediaWiki]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correu sobre ta anuncios de MediaWiki]", # Fuzzy
 );
 
 /** Old English (Ænglisc)
@@ -1222,7 +1222,7 @@ $messages['ang'] = array(
 == Beȝinnunȝ ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Onfæstnunȝa ȝesetednessa ȝetæl]
 * [//www.mediawiki.org/wiki/Manual:FAQ Ȝetæl oft ascodra ascunȝa ymb MediaǷiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Ǣrendunȝȝetæl nīƿra MediaǷiki forþsendnessa]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Ǣrendunȝȝetæl nīƿra MediaǷiki forþsendnessa]', # Fuzzy
 );
 
 /** Arabic (العربية)
@@ -1288,7 +1288,7 @@ $messages['ary'] = array(
 == L-bdaya mĝa MediaWiki ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista dyal l-paramétraṫ dyal l-konfigurasyon]
 * [//www.mediawiki.org/wiki/Manual:FAQ/fr FAQ fe MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista dyal l-modakaraṫ ĝla versyonaṫ jdad dyal MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista dyal l-modakaraṫ ĝla versyonaṫ jdad dyal MediaWiki]', # Fuzzy
 );
 
 /** Egyptian Spoken Arabic (مصرى)
@@ -1301,10 +1301,10 @@ $messages['arz'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings لستة اعدادات الضبط]
 * [//www.mediawiki.org/wiki/Manual:FAQ أسئلة بتكرر حوالين الميدياويكى]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce لستة الايميلات بتاعة اعلانات الميدياويكى]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce لستة الايميلات بتاعة اعلانات الميدياويكى]', # Fuzzy
 );
 
-/** Assamese (à¦\85সমà§\80à§\9fা)
+/** Assamese (à¦\85সমà§\80য়া)
  * @author Chaipau
  * @author Gitartha.bordoloi
  */
@@ -1315,7 +1315,7 @@ $messages['as'] = array(
 == আৰম্ভণি কৰিবলৈ ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Asturian (asturianu)
@@ -1401,7 +1401,6 @@ $messages['az'] = array(
        'config-page-install' => 'Nizamlama',
        'config-page-complete' => 'Komplektləşdir!',
        'config-charset-mysql5' => 'MySQL 4.1/5.0 UTF-8',
-       'config-type-ibm_db2' => 'IBM DB2',
        'config-mysql-myisam' => 'MyISAM',
        'config-mysql-utf8' => 'UTF-8',
        'config-ns-generic' => 'Layihə',
@@ -1415,7 +1414,7 @@ $messages['az'] = array(
 == Faydalı keçidlər ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Tənzimləmələrin siyahısı]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki haqqında tez-tez soruşulan suallar]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-poçt siyahısı]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-poçt siyahısı]', # Fuzzy
 );
 
 /** Bashkir (башҡортса)
@@ -1428,7 +1427,7 @@ $messages['ba'] = array(
 == Файҙалы сығанаҡтар ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Көйләүҙәр исемлеге (инг.)];
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki тураһында йыш бирелгән һорауҙар һәм яуаптар (инг.)];
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-ның яңы версиялары тураһында хәбәрҙәр алып тороу].',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-ның яңы версиялары тураһында хәбәрҙәр алып тороу].', # Fuzzy
 );
 
 /** Bavarian (Boarisch)
@@ -1442,7 +1441,7 @@ $messages['bar'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Listen voh de Konfigurazionsvariaablen]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki-FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglisten voh de neichen MediaWiki-Versionen]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglisten voh de neichen MediaWiki-Versionen]', # Fuzzy
 );
 
 /** Southern Balochi (بلوچی مکرانی)
@@ -1454,7 +1453,7 @@ $messages['bcc'] = array(
 == شروع بیت ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Bikol Central (Bikol Central)
@@ -1467,7 +1466,7 @@ $messages['bcl'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Belarusian (беларуская)
@@ -1480,7 +1479,7 @@ $messages['be'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Пералік параметраў канфігурацыі (англ.)]
 * [//www.mediawiki.org/wiki/Manual:FAQ ЧАПЫ MediaWiki (англ.)]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Ліставанне аб выпусках MediaWiki (англ.)]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Ліставанне аб выпусках MediaWiki (англ.)]', # Fuzzy
 );
 
 /** Belarusian (Taraškievica orthography) (беларуская (тарашкевіца)‎)
@@ -1931,7 +1930,7 @@ chmod a+w $3</pre>',
        'config-logo-help' => 'Афармленьне MediaWiki па змоўчваньні уключае прастору для лягатыпу памерам 135×160 піксэляў у верхнім левым куце.
 Загрузіце выяву адпаведнага памеру і увядзіце тут URL-адрас.
 
-Калі Вы не жадаеце мець ніякага лягатыпу, пакіньце поле пустым.',
+Калі Вы не жадаеце мець ніякага лягатыпу, пакіньце поле пустым.', # Fuzzy
        'config-instantcommons' => 'Дазволіць Instant Commons',
        'config-instantcommons-help' => '[//www.mediawiki.org/wiki/InstantCommons Instant Commons] — магчымасьць, якая дазваляе вікі выкарыстоўваць выявы, гукі і іншыя мэдыя, якія знаходзяцца на сайце [//commons.wikimedia.org/ Wikimedia Commons].
 Каб гэта зрабіць, MediaWiki патрабуе доступу да Інтэрнэту.
@@ -2452,7 +2451,7 @@ chmod a+w $3</pre>',
        'config-logo-help' => 'Обликът по подразбиране на МедияУики вклчва място с размери 135х160 пиксела за лого над страничното меню.
 Ако има наличен файл с подходящ размер, неговият адрес може да бъде посочен тук.
 
-Ако не е необходимо лого, полето може да се остави празно.',
+Ако не е необходимо лого, полето може да се остави празно.', # Fuzzy
        'config-instantcommons' => 'Включване на Instant Commons',
        'config-instantcommons-help' => '[//www.mediawiki.org/wiki/InstantCommons Instant Commons] е функционалност, която позволява на уикитата да използват картинки, звуци и друга медиа от сайта на Уикимедия [//commons.wikimedia.org/ Общомедия].
 За да е възможно това, МедияУики изисква достъп до Интернет.
@@ -2565,7 +2564,7 @@ $messages['bjn'] = array(
 == Gasan bamula ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Daptar konpigurasi setélan]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki nang rancak ditakunakan]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki rilis milis]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki rilis milis]', # Fuzzy
 );
 
 /** Bengali (বাংলা)
@@ -2611,12 +2610,10 @@ $messages['bn'] = array(
        'config-sqlite-dir' => 'এসকিউলাইট ডেটা ডিরেক্টরি:',
        'config-oracle-def-ts' => 'পূর্বনির্ধারিত টেবিলস্পেস',
        'config-oracle-temp-ts' => 'সাময়কি টেবিলস্পেস:',
-       'config-type-ibm_db2' => 'আইবিএম ডিবি২',
        'config-header-mysql' => 'মাইএসকিউএল সেটিংস',
        'config-header-postgres' => 'পোস্টগ্রেএসকিউএল সেটিংস',
        'config-header-sqlite' => 'এসকিউলাইট সেটিংস',
        'config-header-oracle' => 'ওরাকল সেটিংস',
-       'config-header-ibm_db2' => 'আইবিএম ডিবি২ সেটিংস',
        'config-invalid-db-type' => 'ডেটাবেজের ধরন অগ্রহযোগ্য',
        'config-missing-db-name' => 'আপনাকে অবশ্যই "ডেটাবেজ নাম"-এর জন্য একটি মান প্রবেশ করাতে হবে',
        'config-missing-db-host' => 'আপনাকে অবশ্যই "ডেটাবেজ হোস্ট"-এর জন্য একটি মান প্রবেশ করাতে হবে',
@@ -2646,7 +2643,7 @@ $messages['bn'] = array(
        'config-optional-continue' => 'আরও প্রশ্ন জিজ্ঞেস করুন।',
        'config-optional-skip' => 'আমি ইতিমধ্যেই বিরক্ত হয়ে গেছি, উইকিটি ইন্সটল করো।',
        'config-profile' => 'ব্যবহারকারী অধিকার প্রোফাইল:',
-       'config-profile-wiki' => 'গতানুগতিক উইকি',
+       'config-profile-wiki' => 'গতানুগতিক উইকি', # Fuzzy
        'config-profile-no-anon' => 'অ্যাকাউন্ট তৈরি করা বাধ্যতামূলক',
        'config-profile-fishbowl' => 'শুধুমাত্র নির্ধারিত সম্পাদকদের  জন্যই',
        'config-profile-private' => 'ব্যক্তিগত উইকি',
@@ -2680,7 +2677,7 @@ $messages['bn'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings কনফিগারেশন সেটিংস তালিকা]
 * [//www.mediawiki.org/wiki/Manual:FAQ প্রশ্নোত্তরে মিডিয়াউইকি]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce মিডিয়াউইকি রিলিজের মেইলিং লিস্ট]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce মিডিয়াউইকি রিলিজের মেইলিং লিস্ট]', # Fuzzy
 );
 
 /** Bishnupria Manipuri (বিষ্ণুপ্রিয়া মণিপুরী)
@@ -2693,7 +2690,7 @@ $messages['bpy'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings কনফিগারেশন সেটিংর তালিকাহান]
 * [//www.mediawiki.org/wiki/Manual:FAQ মিডিয়া উইকি আঙলাক]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce মিডিয়া উইকির ফঙপার বারে মেইলর তালিকাহান]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce মিডিয়া উইকির ফঙপার বারে মেইলর তালিকাহান]', # Fuzzy
 );
 
 /** Breton (brezhoneg)
@@ -3211,7 +3208,7 @@ $messages['ce'] = array(
 == Цхьаболу пайде гlирсаш ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Гlирс нисбан тарлушболу могlам];
 * [//www.mediawiki.org/wiki/Manual:FAQ Сих сиха лушдолу хаттарш а жоьпаш оцу MediaWiki];
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Хаам бохьуьйту араяларца башхонца керла MediaWiki].',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Хаам бохьуьйту араяларца башхонца керла MediaWiki].', # Fuzzy
 );
 
 /** Cebuano (Cebuano)
@@ -3223,7 +3220,7 @@ $messages['ceb'] = array(
 == Pagsugod ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Listahan sa mga setting sa kompigurasyon]
 * [//www.mediawiki.org/wiki/Manual:FAQ FAQ sa MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce  Mailing list sa mga release sa MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce  Mailing list sa mga release sa MediaWiki]', # Fuzzy
 );
 
 /** Sorani Kurdish (کوردی)
@@ -3255,7 +3252,7 @@ $messages['cps'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista sang mga setting sang konpigurayon]
 * [//www.mediawiki.org/wiki/Manual:FAQ Mga perme napangkot sa MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista sang mga ginapadal-an sang sulat sang MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista sang mga ginapadal-an sang sulat sang MediaWiki]', # Fuzzy
 );
 
 /** Crimean Turkish (Cyrillic script) (къырымтатарджа (Кирилл)‎)
@@ -3267,7 +3264,7 @@ $messages['crh-cyrl'] = array(
 == Базы файдалы сайтлар ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Олуджы сазламалар джедвели];
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki боюнджа сыкъ берильген суаллернен джеваплар];
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-нинъ янъы версияларынынъ чыкъувындан хабер йиберюв].",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-нинъ янъы версияларынынъ чыкъувындан хабер йиберюв].", # Fuzzy
 );
 
 /** Crimean Turkish (Latin script) (qırımtatarca (Latin)‎)
@@ -3279,7 +3276,7 @@ $messages['crh-latn'] = array(
 == Bazı faydalı saytlar ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Olucı sazlamalar cedveli];
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki boyunca sıq berilgen suallernen cevaplar];
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-niñ yañı versiyalarınıñ çıquvından haber yiberüv].",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-niñ yañı versiyalarınıñ çıquvından haber yiberüv].", # Fuzzy
 );
 
 /** Czech (česky)
@@ -3851,7 +3848,7 @@ $messages['cv'] = array(
 == Пулăшма пултарĕç ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Ĕнерлевсен списокĕ];
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki тăрăх час-часах ыйтакан ыйтусемпе хуравсем];
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki çĕнĕ верси тухнине пĕлтерекен рассылка].',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki çĕнĕ верси тухнине пĕлтерекен рассылка].', # Fuzzy
 );
 
 /** Welsh (Cymraeg)
@@ -3865,7 +3862,7 @@ $messages['cy'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Rhestr osodiadau wrth gyflunio]
 * [//www.mediawiki.org/wiki/Manual:FAQ Cwestiynau poblogaidd ar MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Rhestr postio datganiadau MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Rhestr postio datganiadau MediaWiki]', # Fuzzy
 );
 
 /** Danish (dansk)
@@ -3878,7 +3875,7 @@ $messages['da'] = array(
 == At komme i gang ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Listen over opsætningsmuligheder]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki ofte stillede spørgsmål]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Postliste angående udgivelser af MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Postliste angående udgivelser af MediaWiki]', # Fuzzy
 );
 
 /** German (Deutsch)
@@ -4456,7 +4453,7 @@ $messages['de-formal'] = array(
 == Starthilfen ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Liste der Konfigurationsvariablen]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki-FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]', # Fuzzy
 );
 
 /** Zazaki (Zazaki)
@@ -4494,7 +4491,6 @@ $messages['diq'] = array(
        'config-charset-mysql5-binary' => 'MySQL 4.1/5.0 dılet',
        'config-charset-mysql5' => 'MySQL 4.1/5.0 UTF-8',
        'config-db-port' => 'Portê database:',
-       'config-type-ibm_db2' => 'IBM DB2',
        'config-header-mysql' => 'Sazkardışê MySQL',
        'config-mysql-innodb' => 'InnoDB',
        'config-mysql-myisam' => 'MyISAM',
@@ -4523,7 +4519,7 @@ $messages['diq'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista eyaranê vıraştışi]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki de ÇZP]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki ra lista serbest-dayışê postey]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki ra lista serbest-dayışê postey]', # Fuzzy
 );
 
 /** Lower Sorbian (dolnoserbski)
@@ -4553,7 +4549,7 @@ $messages['dtp'] = array(
 == Kopotimpuunan ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lis papatantu nuludan]
 * [//www.mediawiki.org/wiki/Manual:FAQ Ponguhatan Koinsoruan om Simbar ModiaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lis pininsuratan pinolabus do ModiaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lis pininsuratan pinolabus do ModiaWiki]', # Fuzzy
 );
 
 /** Greek (Ελληνικά)
@@ -4593,7 +4589,6 @@ $messages['el'] = array(
        'config-header-postgres' => 'Ρυθμίσεις PostgreSQL',
        'config-header-sqlite' => 'Ρυθμίσεις SQLite',
        'config-header-oracle' => 'Ρυθμίσεις Oracle',
-       'config-header-ibm_db2' => 'Ρυθμίσεις IBM DB2',
        'config-invalid-db-type' => 'Μη έγκυρος τύπος βάσης δεδομένων',
        'config-mysql-utf8' => 'UTF-8',
        'config-site-name' => 'Όνομα του βίκι:',
@@ -4661,7 +4656,7 @@ $messages['eo'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Listo de konfiguraĵoj] (angla)
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki Oftaj Demandoj] (angla)
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki dissendolisto pri anoncoj] (angla)",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki dissendolisto pri anoncoj] (angla)", # Fuzzy
 );
 
 /** Spanish (español)
@@ -5227,7 +5222,7 @@ $messages['es-formal'] = array(
 == Empezando ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista de ajustes de configuración]
 * [//www.mediawiki.org/wiki/Manual:FAQ/es FAQ de MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correo de anuncios de distribución de MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correo de anuncios de distribución de MediaWiki]', # Fuzzy
 );
 
 /** Estonian (eesti)
@@ -5372,7 +5367,7 @@ $messages['eu'] = array(
        'config-admin-password' => 'Pasahitza:',
        'config-admin-password-confirm' => 'Pasahitza berriz:',
        'config-admin-email' => 'E-posta helbidea:',
-       'config-profile-wiki' => 'Wiki tradizionala',
+       'config-profile-wiki' => 'Wiki tradizionala', # Fuzzy
        'config-profile-private' => 'Wiki pribatua',
        'config-license' => 'Copyright eta lizentzia:',
        'config-license-pd' => 'Domeinu Askea',
@@ -5388,7 +5383,7 @@ $messages['eu'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Konfigurazio balioen zerrenda]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ (Maiz egindako galderak)]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWikiren argitalpenen posta zerrenda]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWikiren argitalpenen posta zerrenda]', # Fuzzy
 );
 
 /** Extremaduran (estremeñu)
@@ -5401,7 +5396,7 @@ $messages['ext'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Persian (فارسی)
@@ -6260,7 +6255,7 @@ $messages['frc'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Réglage]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki: Questions Souvent Posées]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki Liste à Malle]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki Liste à Malle]', # Fuzzy
 );
 
 /** Franco-Provençal (arpetan)
@@ -6452,7 +6447,7 @@ $messages['fy'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings List mei ynstellings]
 * [//www.mediawiki.org/wiki/Manual:FAQ Faak stelde fragen (FAQ)]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglist foar oankundigings fan nije ferzjes]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailinglist foar oankundigings fan nije ferzjes]", # Fuzzy
 );
 
 /** Irish (Gaeilge)
@@ -6465,7 +6460,7 @@ $messages['ga'] = array(
        'config-help' => 'Cuidiú',
        'mainpagetext' => "'''D'éirigh le suiteáil MediaWiki.'''",
        'mainpagedocfooter' => 'Féach ar [//meta.wikimedia.org/wiki/MediaWiki_localisation doiciméid um conas an chomhéadán a athrú]
-agus an [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Lámhleabhar úsáideora] chun cabhair úsáide agus fíoraíochta a fháil.',
+agus an [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Lámhleabhar úsáideora] chun cabhair úsáide agus fíoraíochta a fháil.', # Fuzzy
 );
 
 /** Gagauz (Gagauz)
@@ -6478,7 +6473,7 @@ $messages['gag'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Simplified Gan script (赣语(简体)‎)
@@ -6491,7 +6486,7 @@ $messages['gan-hans'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings MediaWiki 配置设定列表]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki 平常问题解答]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki 发布email清单]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki 发布email清单]', # Fuzzy
 );
 
 /** Traditional Gan script (贛語(繁體)‎)
@@ -7102,7 +7097,7 @@ $messages['grc'] = array(
 == Ἄρξασθε ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Διαλογή παραμέτρων διαμορφώσεως]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki: τὰ πολλάκις αἰτηθέντα]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Διαλογή διαλέξεων ἐπὶ τῶν διανομῶν τῆς MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Διαλογή διαλέξεων ἐπὶ τῶν διανομῶν τῆς MediaWiki]', # Fuzzy
 );
 
 /** Swiss German (Alemannisch)
@@ -7247,7 +7242,7 @@ $messages['hak'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings MediaWiki Phi-chṳ sat-thin chhîn-tân]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki Phìn-sòng mun-thì kié-tap]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki fat-phu email chhîn-tân]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki fat-phu email chhîn-tân]', # Fuzzy
 );
 
 /** Hawaiian (Hawai`i)
@@ -7695,7 +7690,7 @@ chmod a+w $3</pre></div>',
        'config-logo-help' => 'המראה ההתחלתי של מדיה־ויקי מכיל מקום לסמל של 135 על 160 פיקסלים בפינה העליונה מעל תפריט הצד.
 יש להעלות תמונה בגודל מתאים ולהכניס את הכתובת כאן.
 
-אם אינכם רוצים סמל, השאירו את התיבה הזאת ריקה.',
+אם אינכם רוצים סמל, השאירו את התיבה הזאת ריקה.', # Fuzzy
        'config-instantcommons' => 'להפעיל את Instant Commons',
        'config-instantcommons-help' => '[//www.mediawiki.org/wiki/InstantCommons Instant Commons] היא תכונה שמאפשרת לאתרי ויקי להשתמש בתמונות, בצלילים ובמדיה אחרת שנמצאת באתר [//commons.wikimedia.org/ ויקישיתוף] (Wikimedia Commons).
 כדי לעשות את זה, מדיה־ויקי צריך לגשת לאינטרנט.
@@ -7807,7 +7802,7 @@ $messages['hi'] = array(
 == शुरुवात करें ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings कॉन्फिगरेशन सेटींगकी सूची]
 * [//www.mediawiki.org/wiki/Manual:FAQ मीडियाविकिके बारे में प्राय: पूछे जाने वाले सवाल]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce मीडियाविकि मेलिंग लिस्ट]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce मीडियाविकि मेलिंग लिस्ट]', # Fuzzy
 );
 
 /** Fiji Hindi (Latin script) (Fiji Hindi)
@@ -7820,7 +7815,7 @@ $messages['hif-latn'] = array(
 == Getting started ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Hiligaynon (Ilonggo)
@@ -7833,7 +7828,7 @@ $messages['hil'] = array(
 == Pag-umpisa ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista sang mga konpigorasyon sang pagkay-o]
 * [//www.mediawiki.org/wiki/Manual:FAQ Mga Masami Pamangkoton sa MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista sang mga ginapadal-an sang sulat kon may paguha-on nga MediaWiki]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista sang mga ginapadal-an sang sulat kon may paguha-on nga MediaWiki]", # Fuzzy
 );
 
 /** Croatian (hrvatski)
@@ -7841,7 +7836,7 @@ $messages['hil'] = array(
 $messages['hr'] = array(
        'mainpagetext' => "'''Softver MediaWiki je uspješno instaliran.'''",
        'mainpagedocfooter' => 'Pogledajte [//meta.wikimedia.org/wiki/MediaWiki_localisation dokumentaciju o prilagodbi sučelja]
-i [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Vodič za suradnike] za pomoć pri uporabi i podešavanju.',
+i [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Vodič za suradnike] za pomoć pri uporabi i podešavanju.', # Fuzzy
 );
 
 /** Upper Sorbian (hornjoserbsce)
@@ -8202,7 +8197,7 @@ $messages['ht'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lis paramèt yo pou konfigirasyon]
 * [//www.mediawiki.org/wiki/Manyèl:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lis diskisyon ki parèt sou MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lis diskisyon ki parèt sou MediaWiki]', # Fuzzy
 );
 
 /** Hungarian (magyar)
@@ -8629,7 +8624,7 @@ Normális esetben ennek nem szabad elérhetőnek lennie az internetről.',
        'config-logo-help' => 'A MediaWiki alapértelmezett felülete helyet ad egy 135×160 pixeles logónak a bal felső sarokban.
 Tölts fel egy megfelelő méretű képet, majd írd be ide az URL-címét!
 
-Ha nem szeretnél logót használni, egyszerűen hagyd üresen a mezőt.',
+Ha nem szeretnél logót használni, egyszerűen hagyd üresen a mezőt.', # Fuzzy
        'config-instantcommons' => 'Instant Commons engedélyezése',
        'config-instantcommons-help' => 'Az [//www.mediawiki.org/wiki/InstantCommons Instant Commons] lehetővé teszi, hogy a wikin használhassák a [//commons.wikimedia.org/ Wikimedia Commons] oldalon található képeket, hangokat és más médiafájlokat.
 A használatához a MediaWikinek internethozzáférésre van szüksége.
@@ -8814,7 +8809,7 @@ $messages['hy'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Interlingua (interlingua)
@@ -9260,7 +9255,7 @@ Idealmente, isto non debe esser accessibile ab le web.',
        'config-logo-help' => 'Le apparentia predefinite de MediaWiki include spatio pro un logotypo de 135×160 pixels supra le menu del barra lateral.
 Incarga un imagine con le dimensiones appropriate, e entra le URL hic.
 
-Si tu non vole un logotypo, lassa iste quadro vacue.',
+Si tu non vole un logotypo, lassa iste quadro vacue.', # Fuzzy
        'config-instantcommons' => 'Activar "Instant Commons"',
        'config-instantcommons-help' => '[//www.mediawiki.org/wiki/InstantCommons Instant Commons] es un function que permitte a wikis de usar imagines, sonos e altere multimedia trovate in le sito [//commons.wikimedia.org/ Wikimedia Commons].
 Pro poter facer isto, MediaWiki require accesso a Internet.
@@ -9786,7 +9781,7 @@ Idealnya, direktori ini tidak boleh dapat diakses dari web.',
        'config-logo-help' => 'Kulit bawaan MediaWiki memberikan ruang untuk logo berukuran 135x160 piksel di atas menu bilah samping.
 Unggah gambar dengan ukuran yang sesuai, lalu masukkan URL di sini.
 
-Jika Anda tidak ingin menyertakan logo, biarkan kotak ini kosong.',
+Jika Anda tidak ingin menyertakan logo, biarkan kotak ini kosong.', # Fuzzy
        'config-instantcommons' => 'Aktifkan Instant Commons',
        'config-instantcommons-help' => '[//www.mediawiki.org/wiki/InstantCommons Instant Commons] adalah fitur yang memungkinkan wiki untuk menggunakan gambar, suara, dan media lain dari [//commons.wikimedia.org/ Wikimedia Commons].
 Untuk melakukannya, MediaWiki memerlukan akses ke Internet.
@@ -9924,7 +9919,7 @@ $messages['io'] = array(
 == Komencar ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Listo di ''Configuration setting'']
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki OQQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki nova versioni posto-listo]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki nova versioni posto-listo]", # Fuzzy
 );
 
 /** Icelandic (íslenska)
@@ -9937,7 +9932,7 @@ $messages['is'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Listi yfir uppsetningarstillingar]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki Algengar spurningar MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Póstlisti MediaWiki-útgáfa]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Póstlisti MediaWiki-útgáfa]', # Fuzzy
 );
 
 /** Italian (italiano)
@@ -10169,6 +10164,7 @@ I seguenti collegamenti sono in lingua inglese:
 
 /** Japanese (日本語)
  * @author Aphaia
+ * @author Fryed-peach
  * @author Iwai.masaharu
  * @author Mizusumashi
  * @author Ninomy
@@ -10270,6 +10266,7 @@ Unicode を少しでも利用する可能性がある場合は、[//www.mediawik
 共有サーバーを使用している場合は、適切なデータベース ドライバーのインストールを、サーバーの管理者に依頼してください。
 PHP を自分でコンパイルした場合は、例えば <code>./configure --with-mysql</code> を実行して、データベース クライアントを使用できるように再設定してください。
 Debian または Ubuntu のパッケージから PHP をインストールした場合は、php5-mysql モジュールもインストールする必要があります。',
+       'config-outdated-sqlite' => "'''警告:''' あなたは SQLite $1 を使っていますが、最低限要求されるバージョンである $2 未満となっています。SQLite は利用できません。",
        'config-no-fts3' => "'''警告:''' SQLite は [//sqlite.org/fts3.html FTS3] モジュールなしでコンパイルされており、このバックエンドでは検索機能は利用できなくなります。",
        'config-register-globals' => "'''警告: PHP の <code>[http://php.net/register_globals register_globals]</code> オプションが有効になっています。'''
 '''可能なら無効化してください。'''
@@ -10533,7 +10530,7 @@ chmod a+w $3</pre>',
        'config-optional-continue' => '私にもっと質問してください。',
        'config-optional-skip' => 'もう飽きてしまったので、とにかくウィキをインストールしてください。',
        'config-profile' => '利用者権限のプロファイル:',
-       'config-profile-wiki' => '伝統的なウィキ', # Fuzzy
+       'config-profile-wiki' => '公開ウィキ',
        'config-profile-no-anon' => 'アカウントの作成が必要',
        'config-profile-fishbowl' => '承認された編集者のみ',
        'config-profile-private' => '非公開ウィキ',
@@ -10702,7 +10699,7 @@ $messages['jam'] = array(
 == Taatop ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Jutish (jysk)
@@ -10710,7 +10707,7 @@ $messages['jam'] = array(
  */
 $messages['jut'] = array(
        'mainpagetext' => "'''MediaWiki er nu installeret.'''",
-       'mainpagedocfooter' => "Se vores engelskspråĝede [//meta.wikimedia.org/wiki/MediaWiki_localisation dokumentåsje tilpasnenge'm åf æ brugergrænseflade] og [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide æ brugervejlednenge] før åplysnenger åpsætnenge'm og anvendelse.",
+       'mainpagedocfooter' => "Se vores engelskspråĝede [//meta.wikimedia.org/wiki/MediaWiki_localisation dokumentåsje tilpasnenge'm åf æ brugergrænseflade] og [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide æ brugervejlednenge] før åplysnenger åpsætnenge'm og anvendelse.", # Fuzzy
 );
 
 /** Javanese (Basa Jawa)
@@ -10721,7 +10718,7 @@ $messages['jv'] = array(
 == Miwiti panggunan  ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Daftar pangaturan préférènsi]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Milis rilis MediaWiki]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Milis rilis MediaWiki]", # Fuzzy
 );
 
 /** Georgian (ქართული)
@@ -10769,7 +10766,6 @@ $messages['ka'] = array(
        'config-header-postgres' => 'PostgreSQL-ის პარამეტრები',
        'config-header-sqlite' => 'SQLite-ის პარამეტრები',
        'config-header-oracle' => 'Oracle-ის პარამეტრები',
-       'config-header-ibm_db2' => 'IBM DB2-ის პარამეტრები',
        'config-invalid-db-type' => 'არასწორი მონაცემთა ბაზის ტიპი',
        'config-mysql-innodb' => 'InnoDB',
        'config-mysql-myisam' => 'MyISAM',
@@ -10830,7 +10826,7 @@ $messages['kaa'] = array(
 == Baslaw ushın ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Konfiguratsiya sazlaw dizimi]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWikidin' Ko'p Soralatug'ın Sorawları]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki haqqında xat tarqatıw dizimi]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki haqqında xat tarqatıw dizimi]", # Fuzzy
 );
 
 /** Адыгэбзэ (Адыгэбзэ)
@@ -10844,7 +10840,7 @@ $messages['kbd-cyrl'] = array(
 == Къыщхьэпэгъуэ хъуфынухэр ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Зэгъэзэхуэгъуэ гуэрэхэм я тхылъ];
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki-м упщӀэ нахъыбу ятхэмрэ я жэуапхэмрэ];
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-м и версиэ щӀэуэ къэжахэм я къэӀохугъуэ].',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-м и версиэ щӀэуэ къэжахэм я къэӀохугъуэ].', # Fuzzy
 );
 
 /** Khowar (کھوار)
@@ -10864,7 +10860,7 @@ $messages['kiu'] = array(
 == Gamê verêni ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista ayarunê vırastene]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki de ÇZP]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki ra lista serbest-daena postey]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki ra lista serbest-daena postey]", # Fuzzy
 );
 
 /** Kazakh (Arabic script) (قازاقشا (تٴوتە)‏)
@@ -10876,7 +10872,7 @@ $messages['kk-arab'] = array(
 == باستاۋ ٴۇشىن ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings باپتالىم قالاۋلارىنىڭ ٴتىزىمى]
 * [//www.mediawiki.org/wiki/Manual:FAQ مەدىياۋىيكىيدىڭ جىيى قويىلعان ساۋالدارى]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce مەدىياۋىيكىي شىعۋ تۋرالى حات تاراتۋ ٴتىزىمى]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce مەدىياۋىيكىي شىعۋ تۋرالى حات تاراتۋ ٴتىزىمى]', # Fuzzy
 );
 
 /** Kazakh (Cyrillic script) (қазақша (кирил)‎)
@@ -10888,7 +10884,7 @@ $messages['kk-cyrl'] = array(
 == Бастау үшін ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Бапталым қалауларының тізімі]
 * [//www.mediawiki.org/wiki/Manual:FAQ МедиаУикидің Жиы Қойылған Сауалдары]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce МедиаУики шығу туралы хат тарату тізімі]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce МедиаУики шығу туралы хат тарату тізімі]', # Fuzzy
 );
 
 /** Kazakh (Latin script) (qazaqşa (latın)‎)
@@ -10900,7 +10896,7 @@ $messages['kk-latn'] = array(
 == Bastaw üşin ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Baptalım qalawlarınıñ tizimi]
 * [//www.mediawiki.org/wiki/Manual:FAQ MedïaWïkïdiñ Jïı Qoýılğan Sawaldarı]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MedïaWïkï şığw twralı xat taratw tizimi]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MedïaWïkï şığw twralı xat taratw tizimi]', # Fuzzy
 );
 
 /** Khmer (ភាសាខ្មែរ)
@@ -10930,7 +10926,7 @@ $messages['km'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings បញ្ជីកំណត់ទម្រង់]
 * [//www.mediawiki.org/wiki/Manual:FAQ/km សំណួរញឹកញាប់​មេឌាវិគី]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce បញ្ជី​ពិភាក្សា​ការផ្សព្វផ្សាយ​របស់​មេឌាវិគី]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce បញ្ជី​ពិភាក្សា​ការផ្សព្វផ្សាយ​របស់​មេឌាវិគី]', # Fuzzy
 );
 
 /** Kannada (ಕನ್ನಡ)
@@ -10943,7 +10939,7 @@ $messages['kn'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ ಮೀಡಿಯವಿಕಿ FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]', # Fuzzy
 );
 
 /** Korean (한국어)
@@ -11505,7 +11501,7 @@ $messages['krc'] = array(
 == Файдалы ресурсла ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings тюрлендириулени списогу (ингил.)];
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki-ни юсюнден кёб берилген соруула];
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-ни джангы версиясыны чыкъгъанын билдириу письмола].",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-ни джангы версиясыны чыкъгъанын билдириу письмола].", # Fuzzy
 );
 
 /** Colognian (Ripoarisch)
@@ -11650,6 +11646,8 @@ Et Enreeschte kunnt doh draan kappott jon!",
 Et <i lang="en">object caching</i> es nit müjjelesh un ußjeschalldt.',
        'config-mod-security' => "'''Opjepaß''': Dinge Webßööver hät <code lang=\"en\">[http://modsecurity.org/ mod_security]</code> enjeschalldt. Wann doh derbei en Enschtällong nit janz akeraat paßß, dann kann et goot sin, dat mer Probleme met MeedijaWiki un oc met ander Projramme kritt, die zohlööt, dat vun ußerhallef öhndsene Krohm op dä Webßööver jebraat wääde künnt.Beloor Der di Sigg <code lang=\"en\">[http://modsecurity.org/documentation/ mod_security documentation]</code> udder donn met dä Fachlück för Dinge Webßööver kalle, wann zohfälleje un koomijje Fähler bemerke deihß.",
        'config-diff3-bad' => 'Mer han <i lang="en">GNU</i> <code lang="en">diff3</code> nit jefonge.',
+       'config-git' => 'Mer han de Väsjohn <code>$1</code> vun däm Väsjohnsverwalldongsprojamm <i lang="en">Git</i> jefonge.',
+       'config-git-bad' => 'Dat Väsjohnsverwalldongsprojamm <i lang="en">Git</i> ham_mer nit jefonge.',
        'config-imagemagick' => 'Mer han <i lang="en">ImageMagick</i> jefonge: <code>$1</code>.
 Et Ömrääschne en Minni-Beldsche weed müjjelesch sin, wann De et Belder Huhlaade zohlöhß.',
        'config-gd' => 'Mer han de ennjeboute GD-Jrafik-Projramm-Biblijotheek jefonge.
@@ -11669,7 +11667,7 @@ Heh jeihd et nit wigger.',
        'config-using531' => 'MediaWiki läuf nit met PHP $1 zosamme wääje enem [//bugs.php.net/bug.php?id=50394 Fähler em Zosammehang met Parrameetere för <code lang="en">__call()</code>].
 Jangk op de Version 5.3.2 vum <i lang="en">PHP</i> ov dohnoh, udder op de Version 5.3.0 udder dovöör, öm dat Problem ze ömjonn.
 Heh jeiht et nit wigger.',
-       'config-suhosin-max-value-length' => '<i lang="en">Suhosin</i> es enschtalleet. Dröm kann ene <code lang="en">GET</code>-Parrameeter nit övver {{PLURAL:$1|ei Byte|$q Bytes|noll Byte}} lang wääde. En MediaWiki singe <i lang="en">ResourceLoader</i> kütt doh zwa drömeröm, ävver dat brems. Wann müjelesch, doht <code lang="en">suhosin.get.max_value_length</code> en dä Dattei <code lang="en">php.ini</code> op 1024 Bytes udder drövver enschtälle. un dann moß <code lang="en">$wgResourceLoaderMaxQueryLength</code> en dä Dattei <code lang="en">LocalSettings.php</code> op däsälve Wäät jesaz wääde.', # Fuzzy
+       'config-suhosin-max-value-length' => '<i lang="en">Suhosin</i> es enschtalleet. Dröm kann ene <code lang="en">GET</code>-Parrameeter nit övver {{PLURAL:$1|ei Byte|$1 Bytes|noll Byte}} lang wääde. Dem MediaWiki singe <i lang="en">ResourceLoader</i> kütt doh zwa drömeröm, ävver dat bräms. Wann müjelesch, doht <code lang="en">suhosin.get.max_value_length</code> en dä Dattei <code lang="en">php.ini</code> op 1024 Bytes udder drövver enschtälle, un dann moß <code lang="en">$wgResourceLoaderMaxQueryLength</code> en dä Dattei <code lang="en">LocalSettings.php</code> op däsälve Wäät jesaz wääde.',
        'config-db-type' => 'De Zoot Daatebangk:',
        'config-db-host' => 'Dä Name vun däm Rääschner met dä Daatebangk:',
        'config-db-host-help' => 'Wann Dinge ẞööver för de Daatebangk ob enem andere Rääschner es, donn heh dämm singe Name udder dämm sing <i lang="en">IP</i>-Addräß enjävve.
@@ -11840,6 +11838,13 @@ Dä aanjejovve Zohjang för der Nomaalbedrief moß dröm schunn enjersht sen!',
 
 Wann Ding <i lang="en">MySQL</i> et Schpeischere en <i lang="en">InnoDB</i>-Datteije ongerschtöze deiht, dom_mer dat nohdröcklesch ämfähle.
 Kann dä ẞööver dat nit, künnd et joode jelääjeheit sin, dä ens op der neuste Schtand ze bränge.',
+       'config-mysql-only-myisam-dep' => '\'\'\'Opjepaß:\'\'\' <i lang="en">MyISAM</i> es de einzeje Zoot Speischerprojramm för <i lang="en">MySQL</i>, di nit för MediaWiki ze ämfähle es, weil:
+* wääje dem Schpärre vun jannze Tabälle sin koum paralleele Axjuhne en dä Daatebangk möjjelesch,
+* et es aanfällesch för Probleeme met de Daate es, un
+* et weed vun MediaWiki nit emmer jood ongerschtöz.
+
+Ding Enschtallazjuhn vum <i lang="en">MySQL</i> kann nit met <i lang="en">InnoDB</i> ömjonn.
+Wi wöhr et met ener neuere väsjohn vum <i lang="en">MySQL</i>?',
        'config-mysql-engine-help' => "'''InnoDB''' es fö jewöhnlesch et beß, weil vill Zohjreffe op eijmohl joot ongershtöz wääde.
 
 '''MyISAM''' es flöcker op Rääschnere met bloß einem Minsch draan, un bei Wikis, di mer bloß lässe un nit schrieeve kann.
@@ -11894,25 +11899,25 @@ Do künnts jez der Räß vun de einzel Enshtellunge övverjonn, un et Wiki tirä
        'config-optional-continue' => 'De wells noch mieh Frore jeshtallt krijje un noch mieh Enshtällunge maache?',
        'config-optional-skip' => 'Nä, lohß dä Ömshtand, donn eifarr_et Wiki opsäze.',
        'config-profile' => 'Enshtällunge för de Metmaacher ier Rääschte:',
-       'config-profile-wiki' => 'E tradizjonäll offe Wiki', # Fuzzy
+       'config-profile-wiki' => 'En offe Wiki',
        'config-profile-no-anon' => 'Schriever möße enlogge',
        'config-profile-fishbowl' => 'Bloß ußdröcklesch zohjelohße Schriever',
        'config-profile-private' => 'E jeschloße Privat_Wiki',
-       'config-profile-help' => "Wikis loufe et beß, wam_mer esu vill Lück wi müjjelesch draan metmaache un schrieve löht.
-Met MediaWiki es et ejfach, de neuste Änderunge ze beloore un wat ahnungslose udder fiese Lück kapott jemaat han wider retuur ze maache.
+       'config-profile-help' => "Wikis loufe et bäß, wam_mer esu vill Lück wi möjjelesch draan metmaache un schrieve löht.
+Met MediaWiki es et ejfach, de neuste Änderonge ze beloore un wat ahnungslose udder fiese Lück kapott jemaat han wider retuur ze maache.
 
-Bloß, mänsh eine häd_eruß jefonge, dat mer MediaWiki jood en en jruuße Zahl ongerscheidlijje Rolle bruche kann, un nit emmer es et leish, ene vum onverfälschte Wiki_Wääsch ze övverzeuje.
+Bloß, mänsch eine häd_eruß jefonge, dat mer MediaWiki jood en en jruuße Zahl ongerscheidlijje Rolle bruche kann, un nit emmer es et leisch, ene vum onverfälschte Wiki_Wääsch ze övverzeuje.
 Esu häß De de Wahl:
 
-'''{{int:config-profile-wiki}}''' löht jeder_ein metschrieve, och ohne enzelogge.
+'''{{int:config-profile-wiki}}''' löht jeder_ein metschrieve, och ohne sesch enzelogge.
 
-'''{{int:config-profile-no-anon}}''', dat sorsh för mieh seeshbaa Verantwootlishkeite, künnt ävver zohfällije Methellefer verschrecke.
+'''{{int:config-profile-no-anon}}''', dat sorsch för mieh seeschbaa Verantwootlischkeite, künnt ävver zohfällije Methellefer verschrecke.
 
 '''{{int:config-profile-fishbowl}}''' löht nor de ußjesöhk Metmaacher schrieve, ävver de janze Öffentleshkeit kann et lässe un süht och de ällder Versione, un wat wää wann draan jedonn hät.
 
 '''{{int:config-profile-private}}''' kann nur lässe, wäh en et Wiki zohjelohße es, un desellve Jropp kann uch schrieve.
 
-Noch ander un un opwändijere Enshtellunge för de Rääschte sin müjjelesch, wann et Wiki ens aam Loufe es. Loor Der doför de [//www.mediawiki.org/wiki/Manual:User_rights zopaß Hölp em Handbooch] aan.", # Fuzzy
+Noch ander un un opwändijere Enschtellunge för de Rääschte sin möjjelesch, wann et Wiki ens aam Loufe es. Loor Der doför de [//www.mediawiki.org/wiki/Manual:User_rights zopaß Hölp em Handbooch] aan.",
        'config-license' => 'Urhävverrääsch un Lizänz:',
        'config-license-none' => 'Kein Fooßreih övver de Lizänz',
        'config-license-cc-by-sa' => '<i lang="en">Creative Commons</i> Der Name moß jenannt sin, et Wiggerjävve es zohjelohße onger dersellve Bedengunge',
@@ -11961,7 +11966,9 @@ Et bäß es, wam_mer vum <i lang="en">world wide web</i> doh nit drahn kumme kan
        'config-logo-help' => 'De Schtandart_Bedeen_Bovverfläsch vum MediaWiki hät e Logo bovve en der Eck met 135x160 Pixele.
 Donn e zopaß Logo huh laade, un donn däm sing URL heh endraare.
 
-Wells De kei Logo han, draach heh nix en.', # Fuzzy
+Do kanns <code lang="en">$wgStylePath</code> udder <code lang="en">$wgScriptPath</code> nämme, wann Ding Logo en einem vun dänne Pahde litt.
+
+Wells De kei Logo han, draach heh nix en.',
        'config-instantcommons' => 'Donn <i lang="en">InstantCommons</i> zohlohße.',
        'config-instantcommons-help' => '<i lang="en">[//www.mediawiki.org/wiki/InstantCommons InstantCommons]</i> es en Eijeschaff, di et för Wikis müjjelesch määt, Belder, Tondatteie un ander Meedijedatteie enzebenge, di op dä Webßait vun de <i lang="en">[//commons.wikimedia.org/ Wikimedia Commons]</i> ongerjebraat sin. Öm dat noze ze künne, moß dä ẞööver vum MediaWiki en Verbendung nohm Internet opnämme künne.
 
@@ -11995,7 +12002,7 @@ Do kann se heh un jez aanschallde, ävver se künnte noch zohsäzlesch Enshtellu
 Et sühd esu uß, wi wann De MediaWiki ald enshtalleet hätß, un wöhrs aam Versöhke, dat norr_ens ze donn.
 Jang wigger op de näähßte Sigg.",
        'config-install-begin' => 'Wann De op „{{int:config-continue}}“ klecks, jeiht de Enshtallazjuhn vum MediaWiki loßß.
-Wann De noch Änderonge maache wells, dann kleck op „{{int:config-back}}“.', # Fuzzy
+Wann De noch Änderonge maache wells, dann kleck op „{{int:config-back}}“.',
        'config-install-step-done' => 'jedonn',
        'config-install-step-failed' => 'donävve jejange',
        'config-install-extensions' => 'Zohsazprojramme enjeschloße',
@@ -12055,14 +12062,18 @@ Wann De mem Ronger- un widder Huhlaade fäädesh bes, kanns De '''[\$2 en Ding W
        'config-download-localsettings' => 'Donn di Dattei <code lang="en">LocalSettings.php</code> eronger laade',
        'config-help' => 'Hölp',
        'config-nofile' => 'De Dattei „$1“ ham_mer nit jefonge. Es di fottjeschmeße?',
+       'config-extension-link' => 'Häs De jewoß, dat et Wiki [//www.mediawiki.org/wiki/Manual:Extensions Zohsazprojramme] hann kann?
+
+Do kanns [//www.mediawiki.org/wiki/Category:Extensions_by_category Zohsazprojramme noh Saachjroppe] söhke udder en de [//www.mediawiki.org/wiki/Extension_Matrix Tabäll met de Zohsazprojramme] kike, öm de kumplätte Leß met de Zohsazprojramme ze krijje.',
        'mainpagetext' => "'''MediaWiki es jetz enstalleet.'''",
-       'mainpagedocfooter' => 'Luur en et (änglesche) [//meta.wikimedia.org/wiki/Help:Contents Handboch] wann De wesse wells wie de Wiki-Soffwär jebruch un bedeent wääde muss.
+       'mainpagedocfooter' => 'Luur en et (änglesche) [//meta.wikimedia.org/wiki/Help:Contents Handbooch] wann De wesse wells wie de Wiki-Soffwär jebruch un bedeent wääde moß.
 
 == För dä Aanfang ==
 Dat es och all op Änglesch:
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]', # Fuzzy
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
+* [//www.mediawiki.org/wiki/Localisation#Translation_resources Donn MediaWiki op Ding Schprooch aanpaße]',
 );
 
 /** Kurdish (Latin script) (Kurdî (latînî)‎)
@@ -12084,7 +12095,7 @@ $messages['ku-latn'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lîsteya varîyablên konfîgûrasîyonê]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lîsteya e-nameyên versyonên nuh yê MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lîsteya e-nameyên versyonên nuh yê MediaWiki]', # Fuzzy
 );
 
 /** Ladino (Ladino)
@@ -12097,7 +12108,7 @@ $messages['lad'] = array(
 == En Empeçando ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings La lista de los arreglamientos de la konfiggurasyón]
 * [//www.mediawiki.org/wiki/Manual:FAQ/lad DDS de MedyaViki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce La lista de las letrales (e-mail) de MedyaViki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce La lista de las letrales (e-mail) de MedyaViki]', # Fuzzy
 );
 
 /** Luxembourgish (Lëtzebuergesch)
@@ -12326,7 +12337,7 @@ $messages['lfn'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista de ajustas de la desinia]
 * [//www.mediawiki.org/wiki/Manual:FAQ Demandas comun de MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista per receta anunsias de novas supra MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista per receta anunsias de novas supra MediaWiki]', # Fuzzy
 );
 
 /** Ganda (Luganda)
@@ -12339,7 +12350,7 @@ $messages['lg'] = array(
 == Amagezi agakuyamba okutandika ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lukalala lw'eby'enteekateeka yo]
 * [//www.mediawiki.org/wiki/Manual:FAQ Ebiter'okubuuzibwa ku MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Wewandise ofunenga amawulire aga email ag'ebifa ku MediaWiki]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Wewandise ofunenga amawulire aga email ag'ebifa ku MediaWiki]", # Fuzzy
 );
 
 /** Limburgish (Limburgs)
@@ -12352,7 +12363,7 @@ $messages['li'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lies mit instellinge]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki VGV (FAQ)]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki mailinglies veur nuuj versies]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki mailinglies veur nuuj versies]", # Fuzzy
 );
 
 /** Lao (ລາວ)
@@ -12382,12 +12393,10 @@ $messages['lt'] = array(
        'config-page-upgradedoc' => 'Atnaujinama',
        'config-restart' => 'Taip, paleiskite jį iš naujo',
        'config-charset-mysql5' => 'MySQL 4.1/5.0 UTF-8',
-       'config-type-ibm_db2' => 'IBM DB2',
        'config-header-mysql' => 'MySQL nustatymai',
        'config-header-postgres' => 'PostgreSQL nustatymai',
        'config-header-sqlite' => 'SQLite nustatymai',
        'config-header-oracle' => 'Oracle nustatymai',
-       'config-header-ibm_db2' => 'IBM DB2 nustatymai',
        'config-mysql-innodb' => 'InnoDB',
        'config-mysql-myisam' => 'MyISAM',
        'config-mysql-utf8' => 'UTF-8',
@@ -12408,7 +12417,7 @@ $messages['lt'] = array(
        'config-optional-continue' => 'Paklausti daugiau klausimų.',
        'config-optional-skip' => 'Man jau nuobodu, tiesiog įdiekite viki.',
        'config-profile' => 'Vartotojo teisių paskyra:',
-       'config-profile-wiki' => 'Tradicinė viki',
+       'config-profile-wiki' => 'Tradicinė viki', # Fuzzy
        'config-profile-private' => 'Privati viki',
        'config-license-pd' => 'Viešas Domenas',
        'config-email-settings' => 'El. pašto nustatymai',
@@ -12455,7 +12464,7 @@ $messages['lv'] = array(
 == Pirmie soļi ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Konfigurācijas iespēju saraksts]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki J&A]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Parakstīties uz paziņojumiem par jaunām MediaWiki versijām]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Parakstīties uz paziņojumiem par jaunām MediaWiki versijām]', # Fuzzy
 );
 
 /** Literary Chinese (文言)
@@ -12468,7 +12477,7 @@ $messages['lzh'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Lazuri (Lazuri)
@@ -12481,7 +12490,7 @@ $messages['lzz'] = array(
 == Ağani na gyoç’k’u maxmarepe ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Ok'iduşi ayarepeşi liste]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki P'anda Na-k'itxu K'itxalape]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-mailepeşiş liste]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-mailepeşiş liste]", # Fuzzy
 );
 
 /** Maithili (मैथिली)
@@ -12494,7 +12503,7 @@ $messages['mai'] = array(
 ==प्रारम्भ कोना करी==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Moksha (мокшень)
@@ -12507,7 +12516,7 @@ $messages['mdf'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Васьфневи арафнематнень кярькссь]
 * [//www.mediawiki.org/wiki/Manual:FAQ МедиаВикить Сидеста Кеподеви Кизефксне]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce МедиаВикить од верзиятнень колга кулянь пачфтема]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce МедиаВикить од верзиятнень колга кулянь пачфтема]', # Fuzzy
 );
 
 /** Malagasy (Malagasy)
@@ -12541,7 +12550,7 @@ $messages['mg'] = array(
        'config-admin-name' => 'Ny anaranao :',
        'config-admin-password' => 'Tenimiafina :',
        'config-admin-email' => 'Adiresy imailaka :',
-       'config-profile-wiki' => 'Wiki tsotra',
+       'config-profile-wiki' => 'Wiki tsotra', # Fuzzy
        'config-profile-no-anon' => 'Mila mamorona kaonty',
        'config-profile-fishbowl' => 'Mpanova mahazo alalana ihany',
        'config-profile-private' => 'Wiki tsy sarababem-bahoaka',
@@ -12565,7 +12574,7 @@ $messages['mg'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lisitra ny paramètre de configuration]
 * [//www.mediawiki.org/wiki/Manual:FAQ/fr FAQ momba ny MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Resaka momba ny fizaràn'ny MediaWiki]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Resaka momba ny fizaràn'ny MediaWiki]", # Fuzzy
 );
 
 /** Eastern Mari (олык марий)
@@ -12938,8 +12947,8 @@ chmod a+w $3</pre>',
        'config-ns-other' => 'Друго (наведете)',
        'config-ns-other-default' => 'МоеВики',
        'config-project-namespace-help' => "По примерот на Википедија, многу викија ги чуваат страниците со правила на посебно место од самите содржини, т.е. во „'''проектен именски простор'''“.
-СиÑ\82е Ð½Ð°Ñ\81лови Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86иÑ\82е Ð²Ð¾ Ð¾Ð²Ð¾Ñ\98 Ð¸Ð¼ÐµÐ½Ñ\81ки Ð¿Ñ\80оÑ\81Ñ\82оÑ\80 Ð¿Ð¾Ñ\87нÑ\83вааÑ\82 Ñ\81о Ð¸Ð·Ð²ÐµÑ\81ен Ð¿Ñ\80еÑ\84икÑ\81, којшто можете да го укажете тука.
\9fо Ñ\82Ñ\80адиÑ\86иÑ\98а Ð¿Ñ\80еÑ\84икÑ\81оÑ\82 произлегува од името на викито, но не смее да содржи интерпункциски знаци како „#“ или „:“.",
+СиÑ\82е Ð½Ð°Ñ\81лови Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86иÑ\82е Ð²Ð¾ Ð¾Ð²Ð¾Ñ\98 Ð¸Ð¼ÐµÐ½Ñ\81ки Ð¿Ñ\80оÑ\81Ñ\82оÑ\80 Ð¿Ð¾Ñ\87нÑ\83вааÑ\82 Ñ\81о Ð¸Ð·Ð²ÐµÑ\81на Ð¿Ñ\80еÑ\82Ñ\81Ñ\82авка, којшто можете да го укажете тука.
\9fо Ñ\82Ñ\80адиÑ\86иÑ\98а Ð¿Ñ\80еÑ\82Ñ\81Ñ\82авкаÑ\82а произлегува од името на викито, но не смее да содржи интерпункциски знаци како „#“ или „:“.",
        'config-ns-invalid' => 'Назначениот именски простор „<nowiki>$1</nowiki>“ е неважечки.
 Назначете друг проектен именски простор.',
        'config-ns-conflict' => 'Наведениот именски простор „<nowiki>$1</nowiki>“ се коси со основниот именски простор на МедијаВики.
@@ -13312,7 +13321,7 @@ $messages['mn'] = array(
 == Эхлэх ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Тохиргоо]
 * [//www.mediawiki.org/wiki/Manual:FAQ МедиаВикигийн тогтмол тавигддаг асуултууд]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce МедиаВикигийн мэдээний мэйл явуулах жагсаалт]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce МедиаВикигийн мэдээний мэйл явуулах жагсаалт]', # Fuzzy
 );
 
 /** Marathi (मराठी)
@@ -13325,7 +13334,7 @@ $messages['mr'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings कॉन्फिगरेशन सेटींगची यादी]
 * [//www.mediawiki.org/wiki/Manual:FAQ मीडियाविकी नेहमी विचारले जाणारे प्रश्न]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce मीडियाविकि मेलिंग लिस्ट]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce मीडियाविकि मेलिंग लिस्ट]', # Fuzzy
 );
 
 /** Malay (Bahasa Melayu)
@@ -13366,12 +13375,10 @@ Bagaimanapun, MediaWiki memerlukan PHP $2 ke atas.',
        'config-unicode-using-utf8' => 'utf8_normalize.so oleh Brion Vibber digunakan untuk penormalan Unicode.',
        'config-unicode-using-intl' => '[http://pecl.php.net/intl Sambungan intl PECL] digunakan untuk penormalan Unicode.',
        'config-db-charset' => 'Peranggu aksara pangkalan data',
-       'config-type-ibm_db2' => 'IBM DB2',
        'config-header-mysql' => 'Keutamaan MySQL',
        'config-header-postgres' => 'Keutamaan PostgreSQL',
        'config-header-sqlite' => 'Keutamaan SQLite',
        'config-header-oracle' => 'Keutamaan Oracle',
-       'config-header-ibm_db2' => 'Keutamaan IBM DB2',
        'config-invalid-db-type' => 'Jenis pangkalan data tidak sah',
        'config-db-web-account-same' => 'Gunakan akaun yang sama seperti dalam pemasangan',
        'config-db-web-create' => 'Ciptakan akaun jika belum wujud',
@@ -13564,7 +13571,7 @@ $messages['nan'] = array(
 == 入門 ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings 配置的設定]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki時常問答]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki的公布列單]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki的公布列單]', # Fuzzy
 );
 
 /** Norwegian Bokmål (norsk bokmål)
@@ -14039,7 +14046,7 @@ $messages['nds'] = array(
 un dat [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Brukerhandbook] för Hülp to de Bruuk un Konfiguratschoon.', # Fuzzy
 );
 
-/** Nedersaksisch (Nedersaksisch)
+/** Low Saxon (Netherlands) (Nedersaksies)
  * @author Servien
  */
 $messages['nds-nl'] = array(
@@ -14049,7 +14056,7 @@ $messages['nds-nl'] = array(
 == Meer hulpe ==
 * [//www.mediawiki.org/wiki/Help:Configuration_settings Lieste mit instellingen]
 * [//www.mediawiki.org/wiki/Help:FAQ MediaWiki-vragen die vake esteld wörden]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-postlieste veur nieje versies]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki-postlieste veur nieje versies]', # Fuzzy
 );
 
 /** Nepali (नेपाली)
@@ -14063,7 +14070,7 @@ $messages['ne'] = array(
 == सुरू गर्नको लागि  ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings विन्यास सेटिङ्ग सूची]
 * [//www.mediawiki.org/wiki/Manual:FAQ मेडियाविकि सामान्य प्रश्नका उत्तरहरु]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce मेडियाविकि सुचना मेलिङ्ग सूची]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce मेडियाविकि सुचना मेलिङ्ग सूची]', # Fuzzy
 );
 
 /** Dutch (Nederlands)
@@ -14885,7 +14892,7 @@ Na het plaatsen van het bestand met instellingen kan je '''[$2 je wiki betreden]
 * [//www.mediawiki.org/wiki/Localisation#Translation_resources Maak MediaWiki beschikbaar in jouw taal]',
 );
 
-/** Norwegian Nynorsk (norsk (nynorsk)‎)
+/** Norwegian Nynorsk (norsk nynorsk)
  * @author Harald Khan
  * @author Nghtwlkr
  */
@@ -14932,7 +14939,7 @@ Berre bruk ASCII-bokstavar (a-z, A-Z), tal (0-9) og undestrekar (_).',
 ==Kome i gang==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Liste over oppsettsinnstillingar]
 * [//www.mediawiki.org/wiki/Manual:FAQ Spørsmål og svar om MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-postliste med informasjon om nye MediaWiki-versjonar]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-postliste med informasjon om nye MediaWiki-versjonar]', # Fuzzy
 );
 
 /** Norwegian (bokmål)‬ (‪norsk (bokmål)‬) */
@@ -14950,10 +14957,10 @@ $messages['oc'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista dels paramètres de configuracion]
 * [//www.mediawiki.org/wiki/Manual:FAQ/fr FAQ MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discussions de las parucions de MediaWiki]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discussions de las parucions de MediaWiki]", # Fuzzy
 );
 
-/** Oriya (à¬\93à­\9cିଆ)
+/** Oriya (à¬\93ଡ଼ିଆ)
  * @author Jnanaranjan Sahu
  */
 $messages['or'] = array(
@@ -14988,7 +14995,7 @@ $messages['pam'] = array(
 == Pamagumpisa ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Picard (Picard)
@@ -15012,7 +15019,7 @@ $messages['pdc'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lischt vun Gnepp zum Konfiguriere]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki-FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Eposchde-Lischt fer neie MediaWiki-Versione]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Eposchde-Lischt fer neie MediaWiki-Versione]", # Fuzzy
 );
 
 /** Polish (polski)
@@ -16116,7 +16123,7 @@ $messages['prg'] = array(
 == En pagaūseņu ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]', # Fuzzy
 );
 
 /** Pashto (پښتو)
@@ -16724,6 +16731,7 @@ Depois de terminar o passo anterior, pode '''[$2 entrar na wiki]'''.",
 /** Brazilian Portuguese (português do Brasil)
  * @author Giro720
  * @author Gustavo
+ * @author Luckas
  * @author Marcionunes
  * @author 555
  */
@@ -16769,6 +16777,7 @@ Verifique o seu php.ini e certifique-se de que em <code>session.save_path</code>
        'config-page-releasenotes' => 'Notas de lançamento',
        'config-page-copying' => 'Copiando',
        'config-page-upgradedoc' => 'Atualizando',
+       'config-page-existingwiki' => 'Wiki existente',
        'config-help-restart' => 'Deseja limpar todos os dados salvos que você introduziu e reiniciar o processo de instalação?',
        'config-restart' => 'Sim, reiniciar',
        'config-welcome' => '=== Verificações do ambiente ===
@@ -16802,10 +16811,24 @@ Se o seu site tem um alto volume de tráfego, devia informar-se um pouco sobre a
        'config-register-globals' => "' ' 'Aviso: A opção <code>[http://php.net/register_globals register_globals]</code> do PHP está ativada.'''
 ' ' 'Desative-a, se puder.'''
 O MediaWiki funcionará mesmo assim, mas o seu servidor ficará exposto a potenciais vulnerabilidades de segurança.",
+       'config-charset-mysql5-binary' => 'MySQL 4.1/5.0 binário',
+       'config-charset-mysql5' => 'MySQL 4.1/5.0 UTF-8',
+       'config-mysql-innodb' => 'InnoDB',
+       'config-mysql-myisam' => 'MyISAM',
+       'config-mysql-binary' => 'Binário',
+       'config-mysql-utf8' => 'UTF-8',
+       'config-ns-generic' => 'Projeto',
+       'config-admin-box' => 'Conta de administrador',
+       'config-admin-name' => 'Seu nome:',
+       'config-admin-password' => 'Senha:',
+       'config-license-pd' => 'Domínio público',
        'config-logo-help' => 'O tema padrão do MediaWiki inclui espaço para um logotipo de 135x160 pixels no canto superior esquerdo.
 Faça o upload de uma imagem com estas dimensões e introduza aqui a URL dessa imagem.
 
 Se você não pretende usar um logotipo, deixe este campo em branco.', # Fuzzy
+       'config-advanced-settings' => 'Configuração avançada',
+       'config-extensions' => 'Extensões',
+       'config-help' => 'ajuda',
        'mainpagetext' => "'''MediaWiki instalado com sucesso.'''",
        'mainpagedocfooter' => 'Consulte o [//meta.wikimedia.org/wiki/Help:Contents Manual de Usuário] para informações de como usar o software wiki.
 
@@ -16858,7 +16881,7 @@ $messages['rm'] = array(
 == Cumenzar ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Glista da las opziuns per la configuraziun]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Glista da mail da MediaWiki cun annunzias da novas versiuns]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Glista da mail da MediaWiki cun annunzias da novas versiuns]", # Fuzzy
 );
 
 /** Romanian (română)
@@ -17013,8 +17036,29 @@ $messages['roa-tara'] = array(
        'config-title' => 'Installazzione de MediaUicchi $1',
        'config-information' => "'Mbormaziune",
        'config-localsettings-key' => 'Chiave de aggiornamende:',
+       'config-localsettings-badkey' => "'A chiave ca è date non g'è corrette.",
+       'config-session-error' => "Errore facenne accumenzà 'a sessione: $1",
+       'config-your-language' => "'A lènga toje:",
+       'config-your-language-help' => "Scacchie 'na lènghe da ausà duranne 'u processe de installazzione:",
+       'config-wiki-language' => 'Lènga de Uicchi:',
+       'config-back' => '← Rrète',
+       'config-continue' => 'Condinue →',
        'config-page-language' => 'Lènghe',
+       'config-page-welcome' => "Bovègne jndr'à MediaUicchi!",
+       'config-page-dbconnect' => "Collegate a 'u database",
+       'config-page-upgrade' => "Aggiorne l'installazzione esistende",
+       'config-page-dbsettings' => "'Mbostaziune d'u database",
        'config-page-name' => 'Nome',
+       'config-page-options' => 'Opziune',
+       'config-page-install' => 'Installe',
+       'config-page-complete' => 'Combletate!',
+       'config-page-restart' => "Riavvie l'installazzione",
+       'config-page-readme' => 'Liggeme',
+       'config-page-releasenotes' => 'Note de rilasce',
+       'config-page-copying' => 'Stoche a copie',
+       'config-page-upgradedoc' => 'Aggiornamende',
+       'config-page-existingwiki' => 'Uicchi esistende',
+       'config-db-type' => 'Tipe de database:',
        'config-db-charset' => "'Nzieme de carattere d'u database",
        'config-charset-mysql5-binary' => 'MySQL 4.1/5.0 binary',
        'config-charset-mysql5' => 'MySQL 4.1/5.0 UTF-8',
@@ -17493,7 +17537,7 @@ GFDL может быть использована, но она сложна дл
        'config-logo-help' => 'Стандартная тема оформления MediaWiki содержит над боковой панелью пространство для логотипа размером 135x160 пикселей.
 Загрузите изображение соответствующего размера, и введите его URL здесь.
 
-Если вам не нужен логотип, оставьте это поле пустым.',
+Если вам не нужен логотип, оставьте это поле пустым.', # Fuzzy
        'config-instantcommons' => 'Включить Instant Commons',
        'config-instantcommons-help' => '[//www.mediawiki.org/wiki/InstantCommons Instant Commons] — это функция, позволяющая использовать изображения, звуки и другие медиафайлы с Викисклада ([//commons.wikimedia.org/ Wikimedia Commons]).
 Для работы этой функции MediaWiki необходим доступ к Интернету.
@@ -17607,7 +17651,7 @@ $messages['rue'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Наставлїня конфіґурації]
 * [//www.mediawiki.org/wiki/Manual:FAQ Часты вопросы о MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Розосыланя повідомлїнь про новы верзії MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Розосыланя повідомлїнь про новы верзії MediaWiki]', # Fuzzy
 );
 
 /** Sanskrit (संस्कृतम्)
@@ -17627,7 +17671,7 @@ $messages['sah'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Конфигурация уларытыытын параметрдара]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki релизтарын почтовай испииһэгэ]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki релизтарын почтовай испииһэгэ]', # Fuzzy
 );
 
 /** Sardinian (sardu)
@@ -17646,7 +17690,7 @@ $messages['scn'] = array(
 == P'accuminzari ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Alencu di mpustazzioni di cunfigurazzioni]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list dî rilassi di MediaWiki]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list dî rilassi di MediaWiki]", # Fuzzy
 );
 
 /** Scots (Scots)
@@ -17659,7 +17703,7 @@ $messages['sco'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settins leet]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki releese mailin leet]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki releese mailin leet]", # Fuzzy
 );
 
 /** Sassaresu (Sassaresu)
@@ -17673,7 +17717,7 @@ Li sighenti cullegamenti so in linga ingrese:
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Impusthazioni di cunfigurazioni]
 * [//www.mediawiki.org/wiki/Manual:FAQ Prigonti friquenti i MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list annùnzii MediaWiki]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list annùnzii MediaWiki]", # Fuzzy
 );
 
 /** Cmique Itom (Cmique Itom)
@@ -17692,7 +17736,7 @@ $messages['sh'] = array(
 == Početak ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista postavki]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki najčešće postavljana pitanja]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista E-Mail adresa MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista E-Mail adresa MediaWiki]', # Fuzzy
 );
 
 /** Tachelhit (Tašlḥiyt/ⵜⴰⵛⵍⵃⵉⵜ)
@@ -17705,7 +17749,7 @@ $messages['shi'] = array(
 == Izwir d MediaWiki ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Umuɣ n iɣwwarn n usgadda ]
 * [//www.mediawiki.org/wiki/Manual:FAQ/fr Isqqsitn f MidyWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Umuɣ n imsgdaln f imbḍitn n MidyaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Umuɣ n imsgdaln f imbḍitn n MidyaWiki]', # Fuzzy
 );
 
 /** Sinhala (සිංහල)
@@ -18099,7 +18143,7 @@ $messages['sli'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Liste der Konfigurationsvariablen]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki-FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]', # Fuzzy
 );
 
 /** Somali (Soomaaliga)
@@ -18111,7 +18155,7 @@ $messages['so'] = array(
 == Bilaaw ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Albanian (shqip)
@@ -18123,7 +18167,7 @@ $messages['sq'] = array(
 == Sa për fillim==
 * [//www.mediawiki.org/wiki/Help:Configuration_settings Parazgjedhjet e MediaWiki-t]
 * [//www.mediawiki.org/wiki/Help:FAQ Pyetjet e shpeshta rreth MediaWiki-t]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Njoftime rreth MediaWiki-t]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Njoftime rreth MediaWiki-t]', # Fuzzy
 );
 
 /** Serbian (Cyrillic script) (српски (ћирилица)‎)
@@ -18169,7 +18213,7 @@ $messages['sr-ec'] = array(
 == Увод ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Помоћ у вези са подешавањима]
 * [//www.mediawiki.org/wiki/Manual:FAQ Често постављена питања]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Дописна листа о издањима Медијавикија]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Дописна листа о издањима Медијавикија]', # Fuzzy
 );
 
 /** Serbian (Latin script) (srpski (latinica)‎)
@@ -18213,7 +18257,7 @@ Proverite Vaš php.ini i obezbedite da je <code>session.save_path</code> postavl
 == Za početak ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Pomoć u vezi sa podešavanjima]
 * [//www.mediawiki.org/wiki/Manual:FAQ Najčešće postavljena pitanja]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mejling lista o izdanjima MedijaVikija]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mejling lista o izdanjima MedijaVikija]', # Fuzzy
 );
 
 /** Sranan Tongo (Sranantongo)
@@ -18226,7 +18270,7 @@ $messages['srn'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Den seti]
 * [//www.mediawiki.org/wiki/Manual:FAQ Sani di ben aksi furu (FAQ)]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Boskopu grupu gi nyun meki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Boskopu grupu gi nyun meki]', # Fuzzy
 );
 
 /** Swati (SiSwati)
@@ -18240,14 +18284,14 @@ $messages['ss'] = array(
  */
 $messages['stq'] = array(
        'mainpagetext' => "'''Ju MediaWiki Software wuude mäd Ärfoulch installierd.'''",
-       'mainpagedocfooter' => 'Sjuch ju [//meta.wikimedia.org/wiki/MediaWiki_localization Dokumentation tou de Anpaasenge fon dän Benutseruurfläche] un dät [//meta.wikimedia.org/wiki/Help:Contents Benutserhondbouk] foar Hälpe tou ju Benutsenge un Konfiguration.',
+       'mainpagedocfooter' => 'Sjuch ju [//meta.wikimedia.org/wiki/MediaWiki_localization Dokumentation tou de Anpaasenge fon dän Benutseruurfläche] un dät [//meta.wikimedia.org/wiki/Help:Contents Benutserhondbouk] foar Hälpe tou ju Benutsenge un Konfiguration.', # Fuzzy
 );
 
 /** Sundanese (Basa Sunda)
  */
 $messages['su'] = array(
        'mainpagetext' => "'''''Software'' MediaWiki geus diinstal.'''",
-       'mainpagedocfooter' => "Mangga tingal ''[//meta.wikimedia.org/wiki/MediaWiki_localisation documentation on customizing the interface]'' jeung [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Tungtunan Pamaké] pikeun pitulung maké jeung konfigurasi.",
+       'mainpagedocfooter' => "Mangga tingal ''[//meta.wikimedia.org/wiki/MediaWiki_localisation documentation on customizing the interface]'' jeung [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide Tungtunan Pamaké] pikeun pitulung maké jeung konfigurasi.", # Fuzzy
 );
 
 /** Swedish (svenska)
@@ -18448,7 +18492,7 @@ $messages['sw'] = array(
 == Msaada wa kianzio ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Orodha ya mipangilio ya msingi]
 * [//www.mediawiki.org/wiki/Manual:FAQ FAQ ya MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Orodha ya utoaji wa habari za MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Orodha ya utoaji wa habari za MediaWiki]', # Fuzzy
 );
 
 /** Silesian (ślůnski)
@@ -18461,7 +18505,7 @@ $messages['szl'] = array(
 == Na sztart ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista sztalowań konfiguracyje]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Komuńikaty uo nowych wersyjach MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Komuńikaty uo nowych wersyjach MediaWiki]', # Fuzzy
 );
 
 /** Tamil (தமிழ்)
@@ -18578,7 +18622,7 @@ $messages['tcy'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ ಮೀಡಿಯವಿಕಿ FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]', # Fuzzy
 );
 
 /** Telugu (తెలుగు)
@@ -18624,7 +18668,7 @@ $messages['te'] = array(
        'config-admin-password-confirm' => 'సంకేతపదం మళ్ళీ:',
        'config-admin-email' => 'ఈ-మెయిలు చిరునామా:',
        'config-optional-continue' => 'నన్ను మరిన్ని ప్రశ్నలు అడుగు.',
-       'config-profile-wiki' => 'సంప్రదాయ వికీ',
+       'config-profile-wiki' => 'సంప్రదాయ వికీ', # Fuzzy
        'config-profile-no-anon' => 'ఖాతా సృష్టింపు తప్పనిసరి',
        'config-profile-private' => 'అంతరంగిక వికీ',
        'config-license' => 'కాపీహక్కులు మరియు లైసెన్సు:',
@@ -18642,7 +18686,7 @@ $messages['te'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings మీడియావికీ పనితీరు, అమరిక మార్చుకునేందుకు వీలుకల్పించే చిహ్నాల జాబితా]
 * [//www.mediawiki.org/wiki/Manual:FAQ మీడియావికీపై తరుచుగా అడిగే ప్రశ్నలు]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce మీడియావికీ సాఫ్టువేరు కొత్త వెర్షను విడుదలల గురించి తెలిపే మెయిలింగు లిస్టు]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce మీడియావికీ సాఫ్టువేరు కొత్త వెర్షను విడుదలల గురించి తెలిపే మెయిలింగు లిస్టు]', # Fuzzy
 );
 
 /** Tetum (tetun)
@@ -18663,7 +18707,7 @@ $messages['tg-cyrl'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Феҳристи танзимоти пайгирбандӣ]
 * [//www.mediawiki.org/wiki/Manual:FAQ Пурсишҳои МедиаВики]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Феҳристи ройномаҳои нусхаҳои МедиаВики]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Феҳристи ройномаҳои нусхаҳои МедиаВики]', # Fuzzy
 );
 
 /** Tajik (Latin script) (tojikī)
@@ -18677,7 +18721,7 @@ $messages['tg-latn'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Fehristi tanzimoti pajgirbandī]
 * [//www.mediawiki.org/wiki/Manual:FAQ Pursişhoi MediaViki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Fehristi rojnomahoi nusxahoi MediaViki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Fehristi rojnomahoi nusxahoi MediaViki]', # Fuzzy
 );
 
 /** Thai (ไทย)
@@ -18691,7 +18735,7 @@ $messages['th'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings รายการการปรับแต่งระบบ] (ภาษาอังกฤษ)
 * [//www.mediawiki.org/wiki/Manual:FAQ คำถามที่ถามบ่อยในมีเดียวิกิ] (ภาษาอังกฤษ)
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce เมลลิงลิสต์ของมีเดียวิกิ]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce เมลลิงลิสต์ของมีเดียวิกิ]', # Fuzzy
 );
 
 /** Turkmen (Türkmençe)
@@ -18704,7 +18748,7 @@ $messages['tk'] = array(
 == Öwrenjeler ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Konfigurasiýa sazlamalary]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki SSS]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-poçta sanawy]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-poçta sanawy]', # Fuzzy
 );
 
 /** Tagalog (Tagalog)
@@ -19146,7 +19190,7 @@ Ideyal na dapat itong  hindi mapupuntahan mula sa web.',
        'config-logo-help' => 'Ang likas na nakatakdang pabalat ng MediaWiki ay nagsasama ng puwang para sa isang logong 135x160 ang piksel na nasa itaas ng menu ng panggilid na bareta.
 Magkargang papaitaas ng isang imahe na mayroong naaangkop na sukat, at ipasok dito ang URL.
 
-Kung ayaw mo ng isang logo, iwanang walang laman ang kahong ito.',
+Kung ayaw mo ng isang logo, iwanang walang laman ang kahong ito.', # Fuzzy
        'config-instantcommons' => 'Paganahin ang Mga Pangkaraniwang Biglaan',
        'config-instantcommons-help' => 'Ang [//www.mediawiki.org/wiki/InstantCommons Instant Commons] ay isang tampok na nagpapahintulot sa mga wiki upang gumamit ng mga imahe, mga tunog at iba pang mga midyang matatagpuan sa pook ng [//commons.wikimedia.org/ Wikimedia Commons].
 Upang magawa ito, nangangailangan ang MediaWiki ng pagka nakakapunta sa Internet.
@@ -19265,7 +19309,7 @@ $messages['tr'] = array(
 == Yeni Başlayanlar ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Yapılandırma ayarlarının listesi]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki SSS]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-posta listesi]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-posta listesi]', # Fuzzy
 );
 
 /** Tatar (Cyrillic script) (татарча)
@@ -19278,7 +19322,7 @@ $messages['tt-cyrl'] = array(
 == Кайбер файдалы ресурслар ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Көйләнмәләр исемлеге (инг.)];
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki турында еш бирелгән сораулар һәм җаваплар (инг.)];
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki'ның яңа версияләре турында хәбәрләр яздырып алу].",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki'ның яңа версияләре турында хәбәрләр яздырып алу].", # Fuzzy
 );
 
 /** Tatar (Latin script) (tatarça)
@@ -19291,7 +19335,7 @@ $messages['tt-latn'] = array(
 == Qayber faydalı resurslar ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Köylänmälär isemlege (ing.)];
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki turında yış birelgän sorawlar häm cawaplar (ing.)];
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki'nıñ yaña versiäläre turında xäbärlär yazdırıp alu].",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki'nıñ yaña versiäläre turında xäbärlär yazdırıp alu].", # Fuzzy
 );
 
 /** Udmurt (удмурт)
@@ -19311,7 +19355,7 @@ $messages['ug-arab'] = array(
 == دەسلەپكى ساۋات ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings سەپلىمە تەڭشەك تىزىملىكى]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki كۆپ ئۇچرايدىغان مەسىلىلەرگە جاۋاب]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki تارقاتقان ئېلخەت تىزىملىكى]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki تارقاتقان ئېلخەت تىزىملىكى]', # Fuzzy
 );
 
 /** Ukrainian (українська)
@@ -19752,7 +19796,7 @@ GFDL — допустима ліцензія, але у ній важко роз
        'config-logo-help' => 'Стандартна схема оформлення MediaWiki містить вільне для логотипу місце над бічною панеллю розміром 135x160 пікселів. 
 Завантажте зображення відповідного розміру і введіть тут його URL.
 
-Якщо Вам не потрібен логотип, залиште це поле пустим.',
+Якщо Вам не потрібен логотип, залиште це поле пустим.', # Fuzzy
        'config-instantcommons' => 'Увімкнути Instant Commons',
        'config-instantcommons-help' => '[//www.mediawiki.org/wiki/InstantCommons Instant Commons] це функція, що дозволяє вікі використовувати зображення, звуки та інші медіа, розміщені на [//commons.wikimedia.org/ Вікісховищі].
 Для цього MediaWiki необхідний доступ до інтернету.
@@ -19902,7 +19946,7 @@ $messages['uz'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Moslamalar ro'yxati]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki haqida ko'p so'raladigan savollar]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki yangi versiyasi chiqqanda xabar berish ro'yxati]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki yangi versiyasi chiqqanda xabar berish ro'yxati]", # Fuzzy
 );
 
 /** vèneto (vèneto)
@@ -19918,7 +19962,7 @@ I seguenti cołegamenti i xé en łengua inglese:
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Inpostasion de configurasion]
 * [//www.mediawiki.org/wiki/Manual:FAQ Domande frequenti so MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list anunsi MediaWiki]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailing list anunsi MediaWiki]", # Fuzzy
 );
 
 /** Veps (vepsän kel’)
@@ -19931,7 +19975,7 @@ $messages['vep'] = array(
 == Erased tarbhaižed resursad ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Järgendusiden nimikirjutez]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce počtnimikirjutez]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce počtnimikirjutez]', # Fuzzy
 );
 
 /** Vietnamese (Tiếng Việt)
@@ -19953,7 +19997,7 @@ $messages['vi'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Danh sách các thiết lập cấu hình]
 * [//www.mediawiki.org/wiki/Manual:FAQ Các câu hỏi thường gặp MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Danh sách gửi thư về việc phát hành MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Danh sách gửi thư về việc phát hành MediaWiki]', # Fuzzy
 );
 
 /** Volapük (Volapük)
@@ -19966,7 +20010,7 @@ $messages['vo'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Parametalised]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki: SSP]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Potalised tefü fomams nulik ela MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Potalised tefü fomams nulik ela MediaWiki]', # Fuzzy
 );
 
 /** Võro (Võro)
@@ -19977,7 +20021,7 @@ $messages['vro'] = array(
 * [//meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide MediaWiki pruukmisoppus (inglüse keelen)].
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Säädmiisi oppus (inglüse keelen)]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki kõgõ küsütümbäq küsümiseq (inglüse keelen)]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-postilist, minka andas teedäq MediaWiki vahtsist kujõst].',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-postilist, minka andas teedäq MediaWiki vahtsist kujõst].', # Fuzzy
 );
 
 /** Walloon (walon)
@@ -19997,7 +20041,7 @@ $messages['war'] = array(
 == Ha pagtikang==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Wolof (Wolof)
@@ -20010,7 +20054,7 @@ $messages['wo'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Limu jumtukaayi kocc-koccal gi]
 * [//www.mediawiki.org/wiki/Manual:FAQ FAQ MediaWiki]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Limu waxtaan ci liy-génn ci MediaWiki]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Limu waxtaan ci liy-génn ci MediaWiki]', # Fuzzy
 );
 
 /** Wu (吴语)
@@ -20023,7 +20067,7 @@ $messages['wuu'] = array(
 == 入门 ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings MediaWiki 配置设置列表]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki 常见问题解答]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki 发布邮件列表]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki 发布邮件列表]', # Fuzzy
 );
 
 /** Kalmyk (хальмг)
@@ -20036,7 +20080,7 @@ $messages['xal'] = array(
 == Туста заавр ==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Көгүдә бүрткл]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki туск ЮмБи]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki шинҗллһнә бүрткл]',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki шинҗллһнә бүрткл]', # Fuzzy
 );
 
 /** Yiddish (ייִדיש)
@@ -20086,7 +20130,7 @@ $messages['yo'] = array(
 == Láti bẹ̀rẹ̀ ==
 *  [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]", # Fuzzy
 );
 
 /** Cantonese (粵語)
@@ -20098,7 +20142,7 @@ $messages['yue'] = array(
 ==開始使用==
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings 配置設定清單](英)
 * [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki 常見問題](英)
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki 發佈郵件名單](英)',
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki 發佈郵件名單](英)', # Fuzzy
 );
 
 /** Zeeuws (Zeêuws)
@@ -20111,7 +20155,7 @@ $messages['zea'] = array(
 
 * [//www.mediawiki.org/wiki/Manual:Configuration_settings Lieste mie instelliengen]
 * [//www.mediawiki.org/wiki/Manual:FAQ Veehestelde vraehen (FAQ)]
-* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailienglieste voe ankondigiengen van nieuwe versies]",
+* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailienglieste voe ankondigiengen van nieuwe versies]", # Fuzzy
 );
 
 /** Simplified Chinese (中文(简体)‎)
@@ -20870,7 +20914,7 @@ chmod a+w $3</pre>',
        'config-optional-continue' => '多問我一些問題吧。',
        'config-optional-skip' => '我已經不耐煩了,趕緊安裝我的wiki。',
        'config-profile' => '用戶權限配置:',
-       'config-profile-wiki' => '傳統wiki', # Fuzzy
+       'config-profile-wiki' => '開放的wiki',
        'config-profile-no-anon' => '需要註冊帳號',
        'config-profile-fishbowl' => '編輯受限',
        'config-profile-private' => '非公開wiki',
@@ -20920,7 +20964,7 @@ GNU自由文檔許可證是維基百科曾經使用過的許可證,並迄今
        'config-logo' => '標誌URL:',
        'config-logo-help' => '在MediaWiki的默認外觀中,左側欄菜單之上有一塊135x160像素的標誌區。請上傳一幅相應大小的圖像,並在此輸入URL。
 
-如果您不希望使用標誌,請將本處留空。',
+如果您不希望使用標誌,請將本處留空。', # Fuzzy
        'config-instantcommons' => '啟用即時共享資源',
        'config-instantcommons-help' => '[//www.mediawiki.org/wiki/InstantCommons 即時共享資源]可以讓wiki使用來自[//commons.wikimedia.org/ 維基共享資源]網站的圖像、音頻和其他媒體文件。要啟用該功能,MediaWiki必須能夠訪問互聯網。
 
index cd7e53c..3a9bfe8 100644 (file)
@@ -144,7 +144,7 @@ class LocalSettingsGenerator {
 
                        foreach ( $this->extensions as $extName ) {
                                $encExtName = self::escapePhpString( $extName );
-                               $localSettings .= "require_once( \"\$IP/extensions/$encExtName/$encExtName.php\" );\n";
+                               $localSettings .= "require_once \"\$IP/extensions/$encExtName/$encExtName.php\";\n";
                        }
                }
 
index e85d07f..e34bed3 100644 (file)
@@ -86,7 +86,7 @@ class OracleInstaller extends DatabaseInstaller {
                $status = Status::newGood();
                if ( !strlen( $newValues['wgDBserver'] ) ) {
                        $status->fatal( 'config-missing-db-server-oracle' );
-               } elseif ( !preg_match( '/^[a-zA-Z0-9_\.]+$/', $newValues['wgDBserver'] ) ) {
+               } elseif ( !self::checkConnectStringFormat( $newValues['wgDBserver'] ) ) {
                        $status->fatal( 'config-invalid-db-server-oracle', $newValues['wgDBserver'] );
                }
                if ( !preg_match( '/^[a-zA-Z0-9_]*$/', $newValues['wgDBprefix'] ) ) {
@@ -296,4 +296,24 @@ class OracleInstaller extends DatabaseInstaller {
 ";
        }
 
+       /**
+        * Function checks the format of Oracle connect string
+        * The actual validity of the string is checked by attempting to connect
+        *
+        * Regex should be able to validate all connect string formats
+        * [//](host|tns_name)[:port][/service_name][:POOLED]
+        * http://www.orafaq.com/wiki/EZCONNECT
+        *
+        * @since 1.22
+        *
+        * @param string $connect_string
+        *
+        * @return bool Whether the connection string is valid.
+        */
+       public static function checkConnectStringFormat( $connect_string ) {
+               $isValid  = preg_match( '/^[[:alpha:]][\w\-]*(?:\.[[:alpha:]][\w\-]*){0,2}$/', $connect_string ); // TNS name
+               $isValid |= preg_match( '/^(?:\/\/)?[\w\-\.]+(?::[\d]+)?(?:\/(?:[\w\-\.]+(?::(pooled|dedicated|shared))?)?(?:\/[\w\-\.]+)?)?$/', $connect_string ); // EZConnect
+               return (bool)$isValid;
+       }
+
 }
index 56d9f21..be10e04 100644 (file)
@@ -205,7 +205,9 @@ class OracleUpdater extends DatabaseUpdater {
 
                $meta = $this->db->query( 'SELECT column_name FROM all_cons_columns WHERE owner = \'' .
                        strtoupper( $this->db->getDBname() ) .
-                       '\' AND constraint_name = \'MW_PAGE_RESTRICTIONS_PK\' AND rownum = 1'
+                       '\' AND constraint_name = \'' .
+                       $this->db->tablePrefix() .
+                       'PAGE_RESTRICTIONS_PK\' AND rownum = 1'
                );
                $row = $meta->fetchRow();
                if ( $row['column_name'] == 'PR_ID' ) {
index 3423a06..8a9fc2d 100644 (file)
@@ -1083,7 +1083,7 @@ class WebInstaller_Options extends WebInstallerPage {
                        '&#160;&#160;' .
                        htmlspecialchars( $this->getVar( 'wgRightsText' ) ) .
                        "</p>\n" .
-                       "<p style=\"text-align: center\">" .
+                       "<p style=\"text-align: center;\">" .
                        Html::element( 'a',
                                array(
                                        'href' => $this->getCCPartnerUrl(),
@@ -1092,7 +1092,7 @@ class WebInstaller_Options extends WebInstallerPage {
                                wfMessage( 'config-cc-again' )->text()
                        ) .
                        "</p>\n" .
-                       "<script type=\"text/javascript\">\n" .
+                       "<script>\n" .
                        # Reduce the wrapper div height
                        htmlspecialchars( $reduceJs ) .
                        "\n" .
@@ -1255,8 +1255,7 @@ class WebInstaller_Complete extends WebInstallerPage {
                if ( isset( $_SERVER['HTTP_USER_AGENT'] ) &&
                         strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false ) {
                        // JS appears the only method that works consistently with IE7+
-                       $this->addHtml( "\n<script type=\"" . $GLOBALS['wgJsMimeType'] .
-                               '">jQuery( document ).ready( function() { document.location=' .
+                       $this->addHtml( "\n<script>jQuery( document ).ready( function () { document.location = " .
                                Xml::encodeJsVar( $lsUrl ) . "; } );</script>\n" );
                } else {
                        $this->parent->request->response()->header( "Refresh: 0;url=$lsUrl" );
diff --git a/includes/job/JobQueueAggregator.php b/includes/job/JobQueueAggregator.php
deleted file mode 100644 (file)
index a8186ab..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-/**
- * Job queue aggregator code.
- *
- * 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
- * @author Aaron Schulz
- */
-
-/**
- * Class to handle tracking information about all queues
- *
- * @ingroup JobQueue
- * @since 1.21
- */
-abstract class JobQueueAggregator {
-       /** @var JobQueueAggregator */
-       protected static $instance = null;
-
-       /**
-        * @param array $params
-        */
-       protected function __construct( array $params ) {}
-
-       /**
-        * @return JobQueueAggregator
-        */
-       final public static function singleton() {
-               global $wgJobQueueAggregator;
-
-               if ( !isset( self::$instance ) ) {
-                       $class = $wgJobQueueAggregator['class'];
-                       $obj = new $class( $wgJobQueueAggregator );
-                       if ( !( $obj instanceof JobQueueAggregator ) ) {
-                               throw new MWException( "Class '$class' is not a JobQueueAggregator class." );
-                       }
-                       self::$instance = $obj;
-               }
-
-               return self::$instance;
-       }
-
-       /**
-        * Destroy the singleton instance
-        *
-        * @return void
-        */
-       final public static function destroySingleton() {
-               self::$instance = null;
-       }
-
-       /**
-        * Mark a queue as being empty
-        *
-        * @param string $wiki
-        * @param string $type
-        * @return bool Success
-        */
-       final public function notifyQueueEmpty( $wiki, $type ) {
-               wfProfileIn( __METHOD__ );
-               $ok = $this->doNotifyQueueEmpty( $wiki, $type );
-               wfProfileOut( __METHOD__ );
-               return $ok;
-       }
-
-       /**
-        * @see JobQueueAggregator::notifyQueueEmpty()
-        */
-       abstract protected function doNotifyQueueEmpty( $wiki, $type );
-
-       /**
-        * Mark a queue as being non-empty
-        *
-        * @param string $wiki
-        * @param string $type
-        * @return bool Success
-        */
-       final public function notifyQueueNonEmpty( $wiki, $type ) {
-               wfProfileIn( __METHOD__ );
-               $ok = $this->doNotifyQueueNonEmpty( $wiki, $type );
-               wfProfileOut( __METHOD__ );
-               return $ok;
-       }
-
-       /**
-        * @see JobQueueAggregator::notifyQueueNonEmpty()
-        */
-       abstract protected function doNotifyQueueNonEmpty( $wiki, $type );
-
-       /**
-        * Get the list of all of the queues with jobs
-        *
-        * @return Array (job type => (list of wiki IDs))
-        */
-       final public function getAllReadyWikiQueues() {
-               wfProfileIn( __METHOD__ );
-               $res = $this->doGetAllReadyWikiQueues();
-               wfProfileOut( __METHOD__ );
-               return $res;
-       }
-
-       /**
-        * @see JobQueueAggregator::getAllReadyWikiQueues()
-        */
-       abstract protected function doGetAllReadyWikiQueues();
-
-       /**
-        * Purge all of the aggregator information
-        *
-        * @return bool Success
-        */
-       final public function purge() {
-               wfProfileIn( __METHOD__ );
-               $res = $this->doPurge();
-               wfProfileOut( __METHOD__ );
-               return $res;
-       }
-
-       /**
-        * @see JobQueueAggregator::purge()
-        */
-       abstract protected function doPurge();
-
-       /**
-        * Get all databases that have a pending job.
-        * This poll all the queues and is this expensive.
-        *
-        * @return Array (job type => (list of wiki IDs))
-        */
-       protected function findPendingWikiQueues() {
-               global $wgLocalDatabases;
-
-               $pendingDBs = array(); // (job type => (db list))
-               foreach ( $wgLocalDatabases as $db ) {
-                       foreach ( JobQueueGroup::singleton( $db )->getQueuesWithJobs() as $type ) {
-                               $pendingDBs[$type][] = $db;
-                       }
-               }
-
-               return $pendingDBs;
-       }
-}
diff --git a/includes/job/JobQueueAggregatorMemc.php b/includes/job/JobQueueAggregatorMemc.php
deleted file mode 100644 (file)
index 9434da0..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-/**
- * Job queue aggregator code that uses BagOStuff.
- *
- * 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
- * @author Aaron Schulz
- */
-
-/**
- * Class to handle tracking information about all queues using BagOStuff
- *
- * @ingroup JobQueue
- * @since 1.21
- */
-class JobQueueAggregatorMemc extends JobQueueAggregator {
-       /** @var BagOStuff */
-       protected $cache;
-
-       protected $cacheTTL; // integer; seconds
-
-       /**
-        * @params include:
-        *   - objectCache : Name of an object cache registered in $wgObjectCaches.
-        *                   This defaults to the one specified by $wgMainCacheType.
-        *   - cacheTTL    : Seconds to cache the aggregate data before regenerating.
-        * @param array $params
-        */
-       protected function __construct( array $params ) {
-               parent::__construct( $params );
-               $this->cache = isset( $params['objectCache'] )
-                       ? wfGetCache( $params['objectCache'] )
-                       : wfGetMainCache();
-               $this->cacheTTL = isset( $params['cacheTTL'] ) ? $params['cacheTTL'] : 180; // 3 min
-       }
-
-       /**
-        * @see JobQueueAggregator::doNotifyQueueEmpty()
-        */
-       protected function doNotifyQueueEmpty( $wiki, $type ) {
-               $key = $this->getReadyQueueCacheKey();
-               // Delist the queue from the "ready queue" list
-               if ( $this->cache->add( "$key:lock", 1, 60 ) ) { // lock
-                       $curInfo = $this->cache->get( $key );
-                       if ( is_array( $curInfo ) && isset( $curInfo['pendingDBs'][$type] ) ) {
-                               if ( in_array( $wiki, $curInfo['pendingDBs'][$type] ) ) {
-                                       $curInfo['pendingDBs'][$type] = array_diff(
-                                               $curInfo['pendingDBs'][$type], array( $wiki ) );
-                                       $this->cache->set( $key, $curInfo );
-                               }
-                       }
-                       $this->cache->delete( "$key:lock" ); // unlock
-               }
-               return true;
-       }
-
-       /**
-        * @see JobQueueAggregator::doNotifyQueueNonEmpty()
-        */
-       protected function doNotifyQueueNonEmpty( $wiki, $type ) {
-               return true; // updated periodically
-       }
-
-       /**
-        * @see JobQueueAggregator::doAllGetReadyWikiQueues()
-        */
-       protected function doGetAllReadyWikiQueues() {
-               $key = $this->getReadyQueueCacheKey();
-               // If the cache entry wasn't present, is stale, or in .1% of cases otherwise,
-               // regenerate the cache. Use any available stale cache if another process is
-               // currently regenerating the pending DB information.
-               $pendingDbInfo = $this->cache->get( $key );
-               if ( !is_array( $pendingDbInfo )
-                       || ( time() - $pendingDbInfo['timestamp'] ) > $this->cacheTTL
-                       || mt_rand( 0, 999 ) == 0
-               ) {
-                       if ( $this->cache->add( "$key:rebuild", 1, 1800 ) ) { // lock
-                               $pendingDbInfo = array(
-                                       'pendingDBs' => $this->findPendingWikiQueues(),
-                                       'timestamp' => time()
-                               );
-                               for ( $attempts = 1; $attempts <= 25; ++$attempts ) {
-                                       if ( $this->cache->add( "$key:lock", 1, 60 ) ) { // lock
-                                               $this->cache->set( $key, $pendingDbInfo );
-                                               $this->cache->delete( "$key:lock" ); // unlock
-                                               break;
-                                       }
-                               }
-                               $this->cache->delete( "$key:rebuild" ); // unlock
-                       }
-               }
-               return is_array( $pendingDbInfo )
-                       ? $pendingDbInfo['pendingDBs']
-                       : array(); // cache is both empty and locked
-       }
-
-       /**
-        * @see JobQueueAggregator::doPurge()
-        */
-       protected function doPurge() {
-               return $this->cache->delete( $this->getReadyQueueCacheKey() );
-       }
-
-       /**
-        * @return string
-        */
-       private function getReadyQueueCacheKey() {
-               return "jobqueue:aggregator:ready-queues:v1"; // global
-       }
-}
diff --git a/includes/job/JobQueueAggregatorRedis.php b/includes/job/JobQueueAggregatorRedis.php
deleted file mode 100644 (file)
index c6a799d..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-/**
- * Job queue aggregator code that uses PhpRedis.
- *
- * 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
- * @author Aaron Schulz
- */
-
-/**
- * Class to handle tracking information about all queues using PhpRedis
- *
- * @ingroup JobQueue
- * @ingroup Redis
- * @since 1.21
- */
-class JobQueueAggregatorRedis extends JobQueueAggregator {
-       /** @var RedisConnectionPool */
-       protected $redisPool;
-
-       /**
-        * @params include:
-        *   - redisConfig : An array of parameters to RedisConnectionPool::__construct().
-        *   - redisServer : A hostname/port combination or the absolute path of a UNIX socket.
-        *                   If a hostname is specified but no port, the standard port number
-        *                   6379 will be used. Required.
-        * @param array $params
-        */
-       protected function __construct( array $params ) {
-               parent::__construct( $params );
-               $this->server = $params['redisServer'];
-               $this->redisPool = RedisConnectionPool::singleton( $params['redisConfig'] );
-       }
-
-       /**
-        * @see JobQueueAggregator::doNotifyQueueEmpty()
-        */
-       protected function doNotifyQueueEmpty( $wiki, $type ) {
-               $conn = $this->getConnection();
-               if ( !$conn ) {
-                       return false;
-               }
-               try {
-                       $conn->hDel( $this->getReadyQueueKey(), $this->encQueueName( $type, $wiki ) );
-                       return true;
-               } catch ( RedisException $e ) {
-                       $this->handleException( $conn, $e );
-                       return false;
-               }
-       }
-
-       /**
-        * @see JobQueueAggregator::doNotifyQueueNonEmpty()
-        */
-       protected function doNotifyQueueNonEmpty( $wiki, $type ) {
-               $conn = $this->getConnection();
-               if ( !$conn ) {
-                       return false;
-               }
-               try {
-                       $conn->hSet( $this->getReadyQueueKey(), $this->encQueueName( $type, $wiki ), time() );
-                       return true;
-               } catch ( RedisException $e ) {
-                       $this->handleException( $conn, $e );
-                       return false;
-               }
-       }
-
-       /**
-        * @see JobQueueAggregator::doAllGetReadyWikiQueues()
-        */
-       protected function doGetAllReadyWikiQueues() {
-               $conn = $this->getConnection();
-               if ( !$conn ) {
-                       return array();
-               }
-               try {
-                       $conn->multi( Redis::PIPELINE );
-                       $conn->exists( $this->getReadyQueueKey() );
-                       $conn->hGetAll( $this->getReadyQueueKey() );
-                       list( $exists, $map ) = $conn->exec();
-
-                       if ( $exists ) { // cache hit
-                               $pendingDBs = array(); // (type => list of wikis)
-                               foreach ( $map as $key => $time ) {
-                                       list( $type, $wiki ) = $this->dencQueueName( $key );
-                                       $pendingDBs[$type][] = $wiki;
-                               }
-                       } else { // cache miss
-                               // Avoid duplicated effort
-                               $conn->multi( Redis::MULTI );
-                               $conn->setnx( $this->getReadyQueueKey() . ":lock", 1 );
-                               $conn->expire( $this->getReadyQueueKey() . ":lock", 3600 );
-                               if ( $conn->exec() !== array( true, true ) ) { // lock
-                                       return array(); // already in progress
-                               }
-
-                               $pendingDBs = $this->findPendingWikiQueues(); // (type => list of wikis)
-
-                               $conn->delete( $this->getReadyQueueKey() . ":lock" ); // unlock
-
-                               $now = time();
-                               $map = array();
-                               foreach ( $pendingDBs as $type => $wikis ) {
-                                       foreach ( $wikis as $wiki ) {
-                                               $map[$this->encQueueName( $type, $wiki )] = $now;
-                                       }
-                               }
-                               $conn->hMSet( $this->getReadyQueueKey(), $map );
-                       }
-
-                       return $pendingDBs;
-               } catch ( RedisException $e ) {
-                       $this->handleException( $conn, $e );
-                       return array();
-               }
-       }
-
-       /**
-        * @see JobQueueAggregator::doPurge()
-        */
-       protected function doPurge() {
-               $conn = $this->getConnection();
-               if ( !$conn ) {
-                       return false;
-               }
-               try {
-                       $conn->delete( $this->getReadyQueueKey() );
-               } catch ( RedisException $e ) {
-                       $this->handleException( $conn, $e );
-                       return false;
-               }
-               return true;
-       }
-
-       /**
-        * Get a connection to the server that handles all sub-queues for this queue
-        *
-        * @return Array (server name, Redis instance)
-        * @throws MWException
-        */
-       protected function getConnection() {
-               return $this->redisPool->getConnection( $this->server );
-       }
-
-       /**
-        * @param RedisConnRef $conn
-        * @param RedisException $e
-        * @return void
-        */
-       protected function handleException( RedisConnRef $conn, $e ) {
-               $this->redisPool->handleException( $this->server, $conn, $e );
-       }
-
-       /**
-        * @return string
-        */
-       private function getReadyQueueKey() {
-               return "jobqueue:aggregator:h-ready-queues:v1"; // global
-       }
-
-       /**
-        * @param string $type
-        * @param string $wiki
-        * @return string
-        */
-       private function encQueueName( $type, $wiki ) {
-               return rawurlencode( $type ) . '/' . rawurlencode( $wiki );
-       }
-
-       /**
-        * @param string $name
-        * @return string
-        */
-       private function dencQueueName( $name ) {
-               list( $type, $wiki ) = explode( '/', $name, 2 );
-               return array( rawurldecode( $type ), rawurldecode( $wiki ) );
-       }
-}
index 0e68355..56da4f3 100644 (file)
@@ -231,7 +231,7 @@ class JobQueueDB extends JobQueue {
                                        $method
                                );
                                foreach ( $res as $row ) {
-                                       wfDebug( "Job with hash '{$row->job_sha1}' is a duplicate." );
+                                       wfDebug( "Job with hash '{$row->job_sha1}' is a duplicate.\n" );
                                        unset( $rowSet[$row->job_sha1] ); // already enqueued
                                }
                        }
index 8250d2b..1f5b761 100644 (file)
  *
  * @ingroup JobQueue
  * @ingroup Redis
- * @since 1.21
+ * @since 1.22
  */
 class JobQueueRedis extends JobQueue {
        /** @var RedisConnectionPool */
        protected $redisPool;
 
        protected $server; // string; server address
+       protected $compression; // string; compression method to use
 
        const MAX_AGE_PRUNE = 604800; // integer; seconds a job can live once claimed (7 days)
 
@@ -73,12 +74,14 @@ class JobQueueRedis extends JobQueue {
         *   - redisServer : A hostname/port combination or the absolute path of a UNIX socket.
         *                   If a hostname is specified but no port, the standard port number
         *                   6379 will be used. Required.
+        *   - compression : The type of compression to use; one of (none,gzip).
         * @param array $params
         */
        public function __construct( array $params ) {
                parent::__construct( $params );
                $params['redisConfig']['serializer'] = 'none'; // make it easy to use Lua
                $this->server = $params['redisServer'];
+               $this->compression = isset( $params['compression'] ) ? $params['compression'] : 'none';
                $this->redisPool = RedisConnectionPool::singleton( $params['redisConfig'] );
        }
 
@@ -238,7 +241,7 @@ class JobQueueRedis extends JobQueue {
                        $args[] = (string)$item['uuid'];
                        $args[] = (string)$item['sha1'];
                        $args[] = (string)$item['rtimestamp'];
-                       $args[] = (string)serialize( $item );
+                       $args[] = (string)$this->serialize( $item );
                }
                static $script =
 <<<LUA
@@ -310,7 +313,7 @@ LUA;
                                }
 
                                JobQueue::incrStats( 'job-pop', $this->type );
-                               $item = unserialize( $blob );
+                               $item = $this->unserialize( $blob );
                                if ( $item === false ) {
                                        wfDebugLog( 'JobQueueRedis', "Could not unserialize {$this->type} job." );
                                        continue;
@@ -552,7 +555,7 @@ LUA;
         */
        public function getJobFromUidInternal( $uid, RedisConnRef $conn ) {
                try {
-                       $item = unserialize( $conn->hGet( $this->getQueueKey( 'h-data' ), $uid ) );
+                       $item = $this->unserialize( $conn->hGet( $this->getQueueKey( 'h-data' ), $uid ) );
                        if ( !is_array( $item ) ) { // this shouldn't happen
                                throw new MWException( "Could not find job with ID '$uid'." );
                        }
@@ -735,6 +738,39 @@ LUA;
                return false;
        }
 
+       /**
+        * @param array $fields
+        * @return string Serialized and possibly compressed version of $fields
+        */
+       protected function serialize( array $fields ) {
+               $blob = serialize( $fields );
+               if ( $this->compression === 'gzip'
+                       && strlen( $blob ) >= 1024 && function_exists( 'gzdeflate' ) )
+               {
+                       $object = (object)array( 'blob' => gzdeflate( $blob ), 'enc' => 'gzip' );
+                       $blobz = serialize( $object );
+                       return ( strlen( $blobz ) < strlen( $blob ) ) ? $blobz : $blob;
+               } else {
+                       return $blob;
+               }
+       }
+
+       /**
+        * @param string $blob
+        * @return array|bool Unserialized version of $blob or false
+        */
+       protected function unserialize( $blob ) {
+               $fields = unserialize( $blob );
+               if ( is_object( $fields ) ) {
+                       if ( $fields->enc === 'gzip' && function_exists( 'gzinflate' ) ) {
+                               $fields = unserialize( gzinflate( $fields->blob ) );
+                       } else {
+                               $fields = false;
+                       }
+               }
+               return is_array( $fields ) ? $fields : false;
+       }
+
        /**
         * Get a connection to the server that handles all sub-queues for this queue
         *
diff --git a/includes/job/aggregator/JobQueueAggregator.php b/includes/job/aggregator/JobQueueAggregator.php
new file mode 100644 (file)
index 0000000..a8186ab
--- /dev/null
@@ -0,0 +1,156 @@
+<?php
+/**
+ * Job queue aggregator code.
+ *
+ * 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
+ * @author Aaron Schulz
+ */
+
+/**
+ * Class to handle tracking information about all queues
+ *
+ * @ingroup JobQueue
+ * @since 1.21
+ */
+abstract class JobQueueAggregator {
+       /** @var JobQueueAggregator */
+       protected static $instance = null;
+
+       /**
+        * @param array $params
+        */
+       protected function __construct( array $params ) {}
+
+       /**
+        * @return JobQueueAggregator
+        */
+       final public static function singleton() {
+               global $wgJobQueueAggregator;
+
+               if ( !isset( self::$instance ) ) {
+                       $class = $wgJobQueueAggregator['class'];
+                       $obj = new $class( $wgJobQueueAggregator );
+                       if ( !( $obj instanceof JobQueueAggregator ) ) {
+                               throw new MWException( "Class '$class' is not a JobQueueAggregator class." );
+                       }
+                       self::$instance = $obj;
+               }
+
+               return self::$instance;
+       }
+
+       /**
+        * Destroy the singleton instance
+        *
+        * @return void
+        */
+       final public static function destroySingleton() {
+               self::$instance = null;
+       }
+
+       /**
+        * Mark a queue as being empty
+        *
+        * @param string $wiki
+        * @param string $type
+        * @return bool Success
+        */
+       final public function notifyQueueEmpty( $wiki, $type ) {
+               wfProfileIn( __METHOD__ );
+               $ok = $this->doNotifyQueueEmpty( $wiki, $type );
+               wfProfileOut( __METHOD__ );
+               return $ok;
+       }
+
+       /**
+        * @see JobQueueAggregator::notifyQueueEmpty()
+        */
+       abstract protected function doNotifyQueueEmpty( $wiki, $type );
+
+       /**
+        * Mark a queue as being non-empty
+        *
+        * @param string $wiki
+        * @param string $type
+        * @return bool Success
+        */
+       final public function notifyQueueNonEmpty( $wiki, $type ) {
+               wfProfileIn( __METHOD__ );
+               $ok = $this->doNotifyQueueNonEmpty( $wiki, $type );
+               wfProfileOut( __METHOD__ );
+               return $ok;
+       }
+
+       /**
+        * @see JobQueueAggregator::notifyQueueNonEmpty()
+        */
+       abstract protected function doNotifyQueueNonEmpty( $wiki, $type );
+
+       /**
+        * Get the list of all of the queues with jobs
+        *
+        * @return Array (job type => (list of wiki IDs))
+        */
+       final public function getAllReadyWikiQueues() {
+               wfProfileIn( __METHOD__ );
+               $res = $this->doGetAllReadyWikiQueues();
+               wfProfileOut( __METHOD__ );
+               return $res;
+       }
+
+       /**
+        * @see JobQueueAggregator::getAllReadyWikiQueues()
+        */
+       abstract protected function doGetAllReadyWikiQueues();
+
+       /**
+        * Purge all of the aggregator information
+        *
+        * @return bool Success
+        */
+       final public function purge() {
+               wfProfileIn( __METHOD__ );
+               $res = $this->doPurge();
+               wfProfileOut( __METHOD__ );
+               return $res;
+       }
+
+       /**
+        * @see JobQueueAggregator::purge()
+        */
+       abstract protected function doPurge();
+
+       /**
+        * Get all databases that have a pending job.
+        * This poll all the queues and is this expensive.
+        *
+        * @return Array (job type => (list of wiki IDs))
+        */
+       protected function findPendingWikiQueues() {
+               global $wgLocalDatabases;
+
+               $pendingDBs = array(); // (job type => (db list))
+               foreach ( $wgLocalDatabases as $db ) {
+                       foreach ( JobQueueGroup::singleton( $db )->getQueuesWithJobs() as $type ) {
+                               $pendingDBs[$type][] = $db;
+                       }
+               }
+
+               return $pendingDBs;
+       }
+}
diff --git a/includes/job/aggregator/JobQueueAggregatorMemc.php b/includes/job/aggregator/JobQueueAggregatorMemc.php
new file mode 100644 (file)
index 0000000..9434da0
--- /dev/null
@@ -0,0 +1,124 @@
+<?php
+/**
+ * Job queue aggregator code that uses BagOStuff.
+ *
+ * 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
+ * @author Aaron Schulz
+ */
+
+/**
+ * Class to handle tracking information about all queues using BagOStuff
+ *
+ * @ingroup JobQueue
+ * @since 1.21
+ */
+class JobQueueAggregatorMemc extends JobQueueAggregator {
+       /** @var BagOStuff */
+       protected $cache;
+
+       protected $cacheTTL; // integer; seconds
+
+       /**
+        * @params include:
+        *   - objectCache : Name of an object cache registered in $wgObjectCaches.
+        *                   This defaults to the one specified by $wgMainCacheType.
+        *   - cacheTTL    : Seconds to cache the aggregate data before regenerating.
+        * @param array $params
+        */
+       protected function __construct( array $params ) {
+               parent::__construct( $params );
+               $this->cache = isset( $params['objectCache'] )
+                       ? wfGetCache( $params['objectCache'] )
+                       : wfGetMainCache();
+               $this->cacheTTL = isset( $params['cacheTTL'] ) ? $params['cacheTTL'] : 180; // 3 min
+       }
+
+       /**
+        * @see JobQueueAggregator::doNotifyQueueEmpty()
+        */
+       protected function doNotifyQueueEmpty( $wiki, $type ) {
+               $key = $this->getReadyQueueCacheKey();
+               // Delist the queue from the "ready queue" list
+               if ( $this->cache->add( "$key:lock", 1, 60 ) ) { // lock
+                       $curInfo = $this->cache->get( $key );
+                       if ( is_array( $curInfo ) && isset( $curInfo['pendingDBs'][$type] ) ) {
+                               if ( in_array( $wiki, $curInfo['pendingDBs'][$type] ) ) {
+                                       $curInfo['pendingDBs'][$type] = array_diff(
+                                               $curInfo['pendingDBs'][$type], array( $wiki ) );
+                                       $this->cache->set( $key, $curInfo );
+                               }
+                       }
+                       $this->cache->delete( "$key:lock" ); // unlock
+               }
+               return true;
+       }
+
+       /**
+        * @see JobQueueAggregator::doNotifyQueueNonEmpty()
+        */
+       protected function doNotifyQueueNonEmpty( $wiki, $type ) {
+               return true; // updated periodically
+       }
+
+       /**
+        * @see JobQueueAggregator::doAllGetReadyWikiQueues()
+        */
+       protected function doGetAllReadyWikiQueues() {
+               $key = $this->getReadyQueueCacheKey();
+               // If the cache entry wasn't present, is stale, or in .1% of cases otherwise,
+               // regenerate the cache. Use any available stale cache if another process is
+               // currently regenerating the pending DB information.
+               $pendingDbInfo = $this->cache->get( $key );
+               if ( !is_array( $pendingDbInfo )
+                       || ( time() - $pendingDbInfo['timestamp'] ) > $this->cacheTTL
+                       || mt_rand( 0, 999 ) == 0
+               ) {
+                       if ( $this->cache->add( "$key:rebuild", 1, 1800 ) ) { // lock
+                               $pendingDbInfo = array(
+                                       'pendingDBs' => $this->findPendingWikiQueues(),
+                                       'timestamp' => time()
+                               );
+                               for ( $attempts = 1; $attempts <= 25; ++$attempts ) {
+                                       if ( $this->cache->add( "$key:lock", 1, 60 ) ) { // lock
+                                               $this->cache->set( $key, $pendingDbInfo );
+                                               $this->cache->delete( "$key:lock" ); // unlock
+                                               break;
+                                       }
+                               }
+                               $this->cache->delete( "$key:rebuild" ); // unlock
+                       }
+               }
+               return is_array( $pendingDbInfo )
+                       ? $pendingDbInfo['pendingDBs']
+                       : array(); // cache is both empty and locked
+       }
+
+       /**
+        * @see JobQueueAggregator::doPurge()
+        */
+       protected function doPurge() {
+               return $this->cache->delete( $this->getReadyQueueCacheKey() );
+       }
+
+       /**
+        * @return string
+        */
+       private function getReadyQueueCacheKey() {
+               return "jobqueue:aggregator:ready-queues:v1"; // global
+       }
+}
diff --git a/includes/job/aggregator/JobQueueAggregatorRedis.php b/includes/job/aggregator/JobQueueAggregatorRedis.php
new file mode 100644 (file)
index 0000000..c6a799d
--- /dev/null
@@ -0,0 +1,193 @@
+<?php
+/**
+ * Job queue aggregator code that uses PhpRedis.
+ *
+ * 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
+ * @author Aaron Schulz
+ */
+
+/**
+ * Class to handle tracking information about all queues using PhpRedis
+ *
+ * @ingroup JobQueue
+ * @ingroup Redis
+ * @since 1.21
+ */
+class JobQueueAggregatorRedis extends JobQueueAggregator {
+       /** @var RedisConnectionPool */
+       protected $redisPool;
+
+       /**
+        * @params include:
+        *   - redisConfig : An array of parameters to RedisConnectionPool::__construct().
+        *   - redisServer : A hostname/port combination or the absolute path of a UNIX socket.
+        *                   If a hostname is specified but no port, the standard port number
+        *                   6379 will be used. Required.
+        * @param array $params
+        */
+       protected function __construct( array $params ) {
+               parent::__construct( $params );
+               $this->server = $params['redisServer'];
+               $this->redisPool = RedisConnectionPool::singleton( $params['redisConfig'] );
+       }
+
+       /**
+        * @see JobQueueAggregator::doNotifyQueueEmpty()
+        */
+       protected function doNotifyQueueEmpty( $wiki, $type ) {
+               $conn = $this->getConnection();
+               if ( !$conn ) {
+                       return false;
+               }
+               try {
+                       $conn->hDel( $this->getReadyQueueKey(), $this->encQueueName( $type, $wiki ) );
+                       return true;
+               } catch ( RedisException $e ) {
+                       $this->handleException( $conn, $e );
+                       return false;
+               }
+       }
+
+       /**
+        * @see JobQueueAggregator::doNotifyQueueNonEmpty()
+        */
+       protected function doNotifyQueueNonEmpty( $wiki, $type ) {
+               $conn = $this->getConnection();
+               if ( !$conn ) {
+                       return false;
+               }
+               try {
+                       $conn->hSet( $this->getReadyQueueKey(), $this->encQueueName( $type, $wiki ), time() );
+                       return true;
+               } catch ( RedisException $e ) {
+                       $this->handleException( $conn, $e );
+                       return false;
+               }
+       }
+
+       /**
+        * @see JobQueueAggregator::doAllGetReadyWikiQueues()
+        */
+       protected function doGetAllReadyWikiQueues() {
+               $conn = $this->getConnection();
+               if ( !$conn ) {
+                       return array();
+               }
+               try {
+                       $conn->multi( Redis::PIPELINE );
+                       $conn->exists( $this->getReadyQueueKey() );
+                       $conn->hGetAll( $this->getReadyQueueKey() );
+                       list( $exists, $map ) = $conn->exec();
+
+                       if ( $exists ) { // cache hit
+                               $pendingDBs = array(); // (type => list of wikis)
+                               foreach ( $map as $key => $time ) {
+                                       list( $type, $wiki ) = $this->dencQueueName( $key );
+                                       $pendingDBs[$type][] = $wiki;
+                               }
+                       } else { // cache miss
+                               // Avoid duplicated effort
+                               $conn->multi( Redis::MULTI );
+                               $conn->setnx( $this->getReadyQueueKey() . ":lock", 1 );
+                               $conn->expire( $this->getReadyQueueKey() . ":lock", 3600 );
+                               if ( $conn->exec() !== array( true, true ) ) { // lock
+                                       return array(); // already in progress
+                               }
+
+                               $pendingDBs = $this->findPendingWikiQueues(); // (type => list of wikis)
+
+                               $conn->delete( $this->getReadyQueueKey() . ":lock" ); // unlock
+
+                               $now = time();
+                               $map = array();
+                               foreach ( $pendingDBs as $type => $wikis ) {
+                                       foreach ( $wikis as $wiki ) {
+                                               $map[$this->encQueueName( $type, $wiki )] = $now;
+                                       }
+                               }
+                               $conn->hMSet( $this->getReadyQueueKey(), $map );
+                       }
+
+                       return $pendingDBs;
+               } catch ( RedisException $e ) {
+                       $this->handleException( $conn, $e );
+                       return array();
+               }
+       }
+
+       /**
+        * @see JobQueueAggregator::doPurge()
+        */
+       protected function doPurge() {
+               $conn = $this->getConnection();
+               if ( !$conn ) {
+                       return false;
+               }
+               try {
+                       $conn->delete( $this->getReadyQueueKey() );
+               } catch ( RedisException $e ) {
+                       $this->handleException( $conn, $e );
+                       return false;
+               }
+               return true;
+       }
+
+       /**
+        * Get a connection to the server that handles all sub-queues for this queue
+        *
+        * @return Array (server name, Redis instance)
+        * @throws MWException
+        */
+       protected function getConnection() {
+               return $this->redisPool->getConnection( $this->server );
+       }
+
+       /**
+        * @param RedisConnRef $conn
+        * @param RedisException $e
+        * @return void
+        */
+       protected function handleException( RedisConnRef $conn, $e ) {
+               $this->redisPool->handleException( $this->server, $conn, $e );
+       }
+
+       /**
+        * @return string
+        */
+       private function getReadyQueueKey() {
+               return "jobqueue:aggregator:h-ready-queues:v1"; // global
+       }
+
+       /**
+        * @param string $type
+        * @param string $wiki
+        * @return string
+        */
+       private function encQueueName( $type, $wiki ) {
+               return rawurlencode( $type ) . '/' . rawurlencode( $wiki );
+       }
+
+       /**
+        * @param string $name
+        * @return string
+        */
+       private function dencQueueName( $name ) {
+               list( $type, $wiki ) = explode( '/', $name, 2 );
+               return array( rawurldecode( $type ), rawurldecode( $wiki ) );
+       }
+}
index 57cad87..563ce2f 100644 (file)
@@ -96,6 +96,9 @@ class RefreshLinksJob extends Job {
 
                $updates = $content->getSecondaryDataUpdates( $title, null, false, $parserOutput );
                DataUpdate::runUpdates( $updates );
+
+               InfoAction::invalidateCache( $title );
+
                wfProfileOut( $fname );
        }
 }
@@ -109,6 +112,8 @@ class RefreshLinksJob extends Job {
 class RefreshLinksJob2 extends Job {
        function __construct( $title, $params, $id = 0 ) {
                parent::__construct( 'refreshLinks2', $title, $params, $id );
+               // Base jobs for large templates can easily be de-duplicated
+               $this->removeDuplicates = !isset( $params['start'] ) && !isset( $params['end'] );
        }
 
        /**
index 9d6ab25..521cb8a 100644 (file)
@@ -518,17 +518,17 @@ class LogPage {
         * @return String
         */
        public static function formatBlockFlags( $flags, $lang ) {
-               $flags = explode( ',', trim( $flags ) );
+               $flags = trim( $flags );
+               if ( $flags === '' ) {
+                       return ''; //nothing to do
+               }
+               $flags = explode( ',', $flags );
 
-               if ( count( $flags ) > 0 ) {
-                       for ( $i = 0; $i < count( $flags ); $i++ ) {
-                               $flags[$i] = self::formatBlockFlag( $flags[$i], $lang );
-                       }
-                       return wfMessage( 'parentheses' )->inLanguage( $lang )
-                               ->rawParams( $lang->commaList( $flags ) )->escaped();
-               } else {
-                       return '';
+               for ( $i = 0; $i < count( $flags ); $i++ ) {
+                       $flags[$i] = self::formatBlockFlag( $flags[$i], $lang );
                }
+               return wfMessage( 'parentheses' )->inLanguage( $lang )
+                       ->rawParams( $lang->commaList( $flags ) )->escaped();
        }
 
        /**
index 911fffc..bb76d5a 100644 (file)
@@ -38,6 +38,13 @@ class PatrolLog {
         * @return bool
         */
        public static function record( $rc, $auto = false, User $user = null ) {
+               global $wgLogAutopatrol;
+
+               // do not log autopatrolled edits if setting disables it
+               if ( $auto && !$wgLogAutopatrol ) {
+                       return false;
+               }
+
                if ( !$rc instanceof RecentChange ) {
                        $rc = RecentChange::newFromId( $rc );
                        if ( !is_object( $rc ) ) {
index 276af4d..1c5136f 100644 (file)
@@ -854,7 +854,7 @@ class FormatMetadata {
                        return $vals[0];
                }
                elseif ( count( $vals ) === 0 ) {
-                       wfDebug( __METHOD__ . ' metadata array with 0 elements!' );
+                       wfDebug( __METHOD__ . " metadata array with 0 elements!\n" );
                        return ""; // paranoia. This should never happen
                }
                /* @todo FIXME: This should hide some of the list entries if there are
index 6949f94..608fb25 100644 (file)
@@ -119,13 +119,13 @@ class GIFHandler extends BitmapHandler {
                wfRestoreWarnings();
 
                if ( !$data || !is_array( $data ) ) {
-                       wfDebug( __METHOD__ . ' invalid GIF metadata' );
+                       wfDebug( __METHOD__ . " invalid GIF metadata\n" );
                        return self::METADATA_BAD;
                }
 
                if ( !isset( $data['metadata']['_MW_GIF_VERSION'] )
                        || $data['metadata']['_MW_GIF_VERSION'] != GIFMetadataExtractor::VERSION ) {
-                       wfDebug( __METHOD__ . ' old but compatible GIF metadata' );
+                       wfDebug( __METHOD__ . " old but compatible GIF metadata\n" );
                        return self::METADATA_COMPATIBLE;
                }
                return self::METADATA_GOOD;
index a4a6753..887afa3 100644 (file)
@@ -182,7 +182,7 @@ class GIFMetadataExtractor {
                                        $data = fread( $fh, $blockLength );
 
                                        if ( $blockLength != 11 ) {
-                                               wfDebug( __METHOD__ . ' GIF application block with wrong length' );
+                                               wfDebug( __METHOD__ . " GIF application block with wrong length\n" );
                                                fseek( $fh, -( $blockLength + 1 ), SEEK_CUR );
                                                self::skipBlock( $fh );
                                                continue;
index 5165760..c7030eb 100644 (file)
@@ -111,7 +111,7 @@ class JpegMetadataExtractor {
                                if ( $com === $oldCom ) {
                                        $segments["COM"][] = $oldCom;
                                } else {
-                                       wfDebug( __METHOD__ . ' Ignoring JPEG comment as is garbage.' );
+                                       wfDebug( __METHOD__ . " Ignoring JPEG comment as is garbage.\n" );
                                }
 
                        } elseif ( $buffer === "\xE1" ) {
@@ -140,7 +140,7 @@ class JpegMetadataExtractor {
                                        } elseif ( $byteOrderMarker === 'II' ) {
                                                $segments['byteOrder'] = 'LE';
                                        } else {
-                                               wfDebug( __METHOD__ . ' Invalid byte ordering?!' );
+                                               wfDebug( __METHOD__ . " Invalid byte ordering?!\n" );
                                        }
                                }
                        } elseif ( $buffer === "\xED" ) {
index b368906..fd576e0 100644 (file)
@@ -228,6 +228,10 @@ abstract class MediaHandler {
 
        /**
         * Get the thumbnail extension and MIME type for a given source MIME type
+        *
+        * @param String $ext Extension of original file
+        * @param String $mime Mime type of original file
+        * @param Array $params Handler specific rendering parameters
         * @return array thumbnail extension and MIME type
         */
        function getThumbType( $ext, $mime, $params = null ) {
index 1d197b1..8632399 100644 (file)
@@ -32,7 +32,7 @@ abstract class MediaTransformOutput {
         */
        var $file;
 
-       var $width, $height, $url, $page, $path;
+       var $width, $height, $url, $page, $path, $lang;
 
        /**
         * @var array Associative array mapping optional supplementary image files
@@ -197,17 +197,26 @@ abstract class MediaTransformOutput {
 
        /**
         * @param $title string
-        * @param $params array
+        * @param $params string|array Query parameters to add
         * @return array
         */
-       public function getDescLinkAttribs( $title = null, $params = '' ) {
-               $query = '';
+       public function getDescLinkAttribs( $title = null, $params = array() ) {
+               if ( is_array( $params ) ) {
+                       $query = $params;
+               } else {
+                       $query = array();
+               }
                if ( $this->page && $this->page !== 1 ) {
-                       $query = 'page=' . urlencode( $this->page );
+                       $query['page'] = $this->page;
                }
-               if ( $params ) {
-                       $query .= $query ? '&' . $params : $params;
+               if( $this->lang ) {
+                       $query['lang'] = $this->lang;
                }
+
+               if ( is_string( $params ) && $params !== '' ) {
+                       $query = $params . '&' . wfArrayToCgi( $query );
+               }
+
                $attribs = array(
                        'href' => $this->file->getTitle()->getLocalURL( $query ),
                        'class' => 'image',
@@ -242,10 +251,12 @@ class ThumbnailImage extends MediaTransformOutput {
                # Previous parameters:
                #   $file, $url, $width, $height, $path = false, $page = false
 
+               $defaults = array(
+                       'page' => false,
+                       'lang' => false
+               );
+
                if ( is_array( $parameters ) ) {
-                       $defaults = array(
-                               'page' => false
-                       );
                        $actualParams = $parameters + $defaults;
                } else {
                        # Using old format, should convert. Later a warning could be added here.
@@ -254,7 +265,7 @@ class ThumbnailImage extends MediaTransformOutput {
                                'width' => $path,
                                'height' => $parameters,
                                'page' => ( $numArgs > 5 ) ? func_get_arg( 5 ) : false
-                       );
+                       ) + $defaults;
                        $path = ( $numArgs > 4 ) ? func_get_arg( 4 ) : false;
                }
 
@@ -269,6 +280,7 @@ class ThumbnailImage extends MediaTransformOutput {
                $this->height = round( $actualParams['height'] );
 
                $this->page = $actualParams['page'];
+               $this->lang = $actualParams['lang'];
        }
 
        /**
index 0afbc6f..98f1386 100644 (file)
@@ -107,13 +107,13 @@ class PNGHandler extends BitmapHandler {
                wfRestoreWarnings();
 
                if ( !$data || !is_array( $data ) ) {
-                       wfDebug( __METHOD__ . ' invalid png metadata' );
+                       wfDebug( __METHOD__ . " invalid png metadata\n" );
                        return self::METADATA_BAD;
                }
 
                if ( !isset( $data['metadata']['_MW_PNG_VERSION'] )
                        || $data['metadata']['_MW_PNG_VERSION'] != PNGMetadataExtractor::VERSION ) {
-                       wfDebug( __METHOD__ . ' old but compatible png metadata' );
+                       wfDebug( __METHOD__ . " old but compatible png metadata\n" );
                        return self::METADATA_COMPATIBLE;
                }
                return self::METADATA_GOOD;
index d2e2cc9..34e5fa7 100644 (file)
@@ -202,14 +202,14 @@ class PNGMetadataExtractor {
 
                                                        if ( $items[5] === false ) {
                                                                // decompression failed
-                                                               wfDebug( __METHOD__ . ' Error decompressing iTxt chunk - ' . $items[1] );
+                                                               wfDebug( __METHOD__ . ' Error decompressing iTxt chunk - ' . $items[1] . "\n");
                                                                fseek( $fh, self::$CRC_size, SEEK_CUR );
                                                                continue;
                                                        }
 
                                                } else {
                                                        wfDebug( __METHOD__ . ' Skipping compressed png iTXt chunk due to lack of zlib,'
-                                                               . ' or potentially invalid compression method' );
+                                                               . " or potentially invalid compression method\n" );
                                                        fseek( $fh, self::$CRC_size, SEEK_CUR );
                                                        continue;
                                                }
@@ -279,7 +279,7 @@ class PNGMetadataExtractor {
                                        $compression = substr( $postKeyword, 0, 1 );
                                        $content = substr( $postKeyword, 1 );
                                        if ( $compression !== "\x00" ) {
-                                               wfDebug( __METHOD__ . " Unrecognized compression method in zTXt ($keyword). Skipping." );
+                                               wfDebug( __METHOD__ . " Unrecognized compression method in zTXt ($keyword). Skipping.\n" );
                                                fseek( $fh, self::$CRC_size, SEEK_CUR );
                                                continue;
                                        }
@@ -290,7 +290,7 @@ class PNGMetadataExtractor {
 
                                        if ( $content === false ) {
                                                // decompression failed
-                                               wfDebug( __METHOD__ . ' Error decompressing zTXt chunk - ' . $keyword );
+                                               wfDebug( __METHOD__ . ' Error decompressing zTXt chunk - ' . $keyword . "\n");
                                                fseek( $fh, self::$CRC_size, SEEK_CUR );
                                                continue;
                                        }
@@ -308,7 +308,7 @@ class PNGMetadataExtractor {
                                        $text[$finalKeyword]['_type'] = 'lang';
 
                                } else {
-                                       wfDebug( __METHOD__ . " Cannot decompress zTXt chunk due to lack of zlib. Skipping." );
+                                       wfDebug( __METHOD__ . " Cannot decompress zTXt chunk due to lack of zlib. Skipping.\n" );
                                        fseek( $fh, $chunk_size, SEEK_CUR );
                                }
                        } elseif ( $chunk_type == 'tIME' ) {
index a133f6f..f0356f5 100644 (file)
@@ -115,6 +115,7 @@ class SvgHandler extends ImageHandler {
                $clientHeight = $params['height'];
                $physicalWidth = $params['physicalWidth'];
                $physicalHeight = $params['physicalHeight'];
+               $lang = isset( $params['lang'] ) ? $params['lang'] : 'en';
 
                if ( $flags & self::TRANSFORM_LATER ) {
                        return new ThumbnailImage( $image, $dstUrl, $dstPath, $params );
@@ -132,7 +133,7 @@ class SvgHandler extends ImageHandler {
                }
 
                $srcPath = $image->getLocalRefPath();
-               $status = $this->rasterize( $srcPath, $dstPath, $physicalWidth, $physicalHeight );
+               $status = $this->rasterize( $srcPath, $dstPath, $physicalWidth, $physicalHeight, $lang );
                if ( $status === true ) {
                        return new ThumbnailImage( $image, $dstUrl, $dstPath, $params );
                } else {
@@ -147,10 +148,11 @@ class SvgHandler extends ImageHandler {
         * @param string $dstPath
         * @param string $width
         * @param string $height
+        * @param string $lang Language code of the language to render the SVG in
         * @throws MWException
         * @return bool|MediaTransformError
         */
-       public function rasterize( $srcPath, $dstPath, $width, $height ) {
+       public function rasterize( $srcPath, $dstPath, $width, $height, $lang = false ) {
                global $wgSVGConverters, $wgSVGConverter, $wgSVGConverterPath;
                $err = false;
                $retval = '';
@@ -158,7 +160,7 @@ class SvgHandler extends ImageHandler {
                        if ( is_array( $wgSVGConverters[$wgSVGConverter] ) ) {
                                // This is a PHP callable
                                $func = $wgSVGConverters[$wgSVGConverter][0];
-                               $args = array_merge( array( $srcPath, $dstPath, $width, $height ),
+                               $args = array_merge( array( $srcPath, $dstPath, $width, $height, $lang ),
                                        array_slice( $wgSVGConverters[$wgSVGConverter], 1 ) );
                                if ( !is_callable( $func ) ) {
                                        throw new MWException( "$func is not callable" );
@@ -176,9 +178,15 @@ class SvgHandler extends ImageHandler {
                                                wfEscapeShellArg( $dstPath ) ),
                                        $wgSVGConverters[$wgSVGConverter]
                                ) . " 2>&1";
+
+                               $env = array();
+                               if( $lang !== false ) {
+                                       $env['LANG'] = $lang;
+                               }
+
                                wfProfileIn( 'rsvg' );
                                wfDebug( __METHOD__ . ": $cmd\n" );
-                               $err = wfShellExec( $cmd, $retval );
+                               $err = wfShellExec( $cmd, $retval, $env );
                                wfProfileOut( 'rsvg' );
                        }
                }
@@ -357,4 +365,68 @@ class SvgHandler extends ImageHandler {
                }
                return $result;
        }
+
+
+       /**
+        * @param string $name Parameter name
+        * @param $string $value Parameter value
+        * @return bool Validity
+        */
+       function validateParam( $name, $value ) {
+               if ( in_array( $name, array( 'width', 'height' ) ) ) {
+                       // Reject negative heights, widths
+                       return ( $value > 0 );
+               } elseif( $name == 'lang' ) {
+                       // Validate $code
+                       if( !Language::isValidBuiltinCode( $value ) ) {
+                               wfDebug( "Invalid user language code\n" );
+                               return false;
+                       }
+                       return true;
+               }
+               // Only lang, width and height are acceptable keys
+               return false;
+       }
+
+       /**
+        * @param array $params name=>value pairs of parameters
+        * @return string Filename to use
+        */
+       function makeParamString( $params ) {
+               $lang = '';
+               if( isset( $params['lang'] ) && $params['lang'] !== 'en' ) {
+                       $params['lang'] = mb_strtolower( $params['lang'] );
+                       $lang = "lang{$params['lang']}-";
+               }
+               if ( !isset( $params['width'] ) ) {
+                       return false;
+               }
+               return "$lang{$params['width']}px";
+       }
+
+       function parseParamString( $str ) {
+               $m = false;
+               if ( preg_match( '/^lang([a-z]+(?:-[a-z]+)*)-(\d+)px$/', $str, $m ) ) {
+                       return array( 'width' => array_pop( $m ), 'lang' => $m[1] );
+               } elseif( preg_match( '/^(\d+)px$/', $str, $m ) ) {
+                       return array( 'width' => $m[1], 'lang' => 'en' );
+               } else {
+                       return false;
+               }
+       }
+
+       function getParamMap() {
+               return array( 'img_lang' => 'lang', 'img_width' => 'width' );
+       }
+
+       /**
+        * @param $params
+        * @return array
+        */
+       function getScriptParams( $params ) {
+               return array(
+                       'width' => $params['width'],
+                       'lang' => $params['lang'],
+               );
+       }
 }
index a17aa7d..0f718d2 100644 (file)
@@ -48,12 +48,12 @@ grains of salt.
 
 There's an experimental PHP extension module which wraps the ICU library's
 normalization functions. This is *MUCH* faster than doing this work in pure
-PHP code. This is in the 'normal' directory in MediaWiki's CVS extensions
-module. It is known to work with PHP 4.3.8 and 5.0.2 on Linux/x86 but hasn't
-been thoroughly tested on other configurations.
+PHP code. This is at https://git.wikimedia.org/summary/mediawiki%2Fextensions%2Fnormal.git.
+It is used by the WMF, which currently runs PHP 5.3.10 on Linux.  It hasn't been
+thoroughly tested on other configurations, but may work.
 
 If the php_normal.so module is loaded in php.ini, the normalization functions
 will automatically use it. If you can't (or don't want to) load it in php.ini,
-you may be able to load it using the dl() function before include()ing or
-require()ing UtfNormal.php, and it will be picked up.
+you may be able to load it using the dl() function before the inclusion of
+UtfNormal.php, and it will be picked up.
 
index be945f7..375ff2b 100644 (file)
@@ -363,22 +363,43 @@ class CoreParserFunctions {
        static function displaytitle( $parser, $text = '' ) {
                global $wgRestrictDisplayTitle;
 
-               #parse a limited subset of wiki markup (just the single quote items)
+               // parse a limited subset of wiki markup (just the single quote items)
                $text = $parser->doQuotes( $text );
 
-               #remove stripped text (e.g. the UNIQ-QINU stuff) that was generated by tag extensions/whatever
+               // remove stripped text (e.g. the UNIQ-QINU stuff) that was generated by tag extensions/whatever
                $text = preg_replace( '/' . preg_quote( $parser->uniqPrefix(), '/' ) . '.*?'
                        . preg_quote( Parser::MARKER_SUFFIX, '/' ) . '/', '', $text );
 
-               #list of disallowed tags for DISPLAYTITLE
-               #these will be escaped even though they are allowed in normal wiki text
+               // list of disallowed tags for DISPLAYTITLE
+               // these will be escaped even though they are allowed in normal wiki text
                $bad = array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'div', 'blockquote', 'ol', 'ul', 'li', 'hr',
                        'table', 'tr', 'th', 'td', 'dl', 'dd', 'caption', 'p', 'ruby', 'rb', 'rt', 'rp', 'br' );
 
-               #only requested titles that normalize to the actual title are allowed through
-               #if $wgRestrictDisplayTitle is true (it is by default)
-               #mimic the escaping process that occurs in OutputPage::setPageTitle
-               $text = Sanitizer::normalizeCharReferences( Sanitizer::removeHTMLtags( $text, null, array(), array(), $bad ) );
+               // disallow some styles that could be used to bypass $wgRestrictDisplayTitle
+               if ( $wgRestrictDisplayTitle ) {
+                       $htmlTagsCallback = function ( $params ) {
+                               $decoded = Sanitizer::decodeTagAttributes( $params );
+
+                               if ( isset( $decoded['style'] ) ) {
+                                       // this is called later anyway, but we need it right now for the regexes below to be safe
+                                       // calling it twice doesn't hurt
+                                       $decoded['style'] = Sanitizer::checkCss( $decoded['style'] );
+
+                                       if ( preg_match( '/(display|user-select|visibility)\s*:/i', $decoded['style'] ) ) {
+                                               $decoded['style'] = '/* attempt to bypass $wgRestrictDisplayTitle */';
+                                       }
+                               }
+
+                               $params = Sanitizer::safeEncodeTagAttributes( $decoded );
+                       };
+               } else {
+                       $htmlTagsCallback = null;
+               }
+
+               // only requested titles that normalize to the actual title are allowed through
+               // if $wgRestrictDisplayTitle is true (it is by default)
+               // mimic the escaping process that occurs in OutputPage::setPageTitle
+               $text = Sanitizer::normalizeCharReferences( Sanitizer::removeHTMLtags( $text, $htmlTagsCallback, array(), array(), $bad ) );
                $title = Title::newFromText( Sanitizer::stripAllTags( $text ) );
 
                if ( !$wgRestrictDisplayTitle ) {
index 840e174..28cde7f 100644 (file)
@@ -3323,7 +3323,7 @@ class Parser {
                if ( !$found && $title ) {
                        if ( !Profiler::instance()->isPersistent() ) {
                                # Too many unique items can kill profiling DBs/collectors
-                               $titleProfileIn = __METHOD__ . "-title-" . $title->getDBkey();
+                               $titleProfileIn = __METHOD__ . "-title-" . $title->getPrefixedDBkey();
                                wfProfileIn( $titleProfileIn ); // template in
                        }
                        wfProfileIn( __METHOD__ . '-loadtpl' );
index 194bafe..7ca4c2d 100644 (file)
  * @param string $functionname name of the function we will profile
  */
 function wfProfileIn( $functionname ) {
-       global $wgProfiler;
-       if ( $wgProfiler instanceof Profiler || isset( $wgProfiler['class'] ) ) {
+       if ( Profiler::$__instance === null ) { // use this directly to reduce overhead
+               Profiler::instance();
+       }
+       if ( Profiler::$__instance && !( Profiler::$__instance instanceof ProfilerStub ) ) {
                Profiler::instance()->profileIn( $functionname );
        }
 }
@@ -42,8 +44,10 @@ function wfProfileIn( $functionname ) {
  * @param string $functionname name of the function we have profiled
  */
 function wfProfileOut( $functionname = 'missing' ) {
-       global $wgProfiler;
-       if ( $wgProfiler instanceof Profiler || isset( $wgProfiler['class'] ) ) {
+       if ( Profiler::$__instance === null ) { // use this directly to reduce overhead
+               Profiler::instance();
+       }
+       if ( Profiler::$__instance && !( Profiler::$__instance instanceof ProfilerStub ) ) {
                Profiler::instance()->profileOut( $functionname );
        }
 }
@@ -115,12 +119,10 @@ class Profiler {
         * @return Profiler
         */
        public static function instance() {
-               if ( is_null( self::$__instance ) ) {
+               if ( self::$__instance === null ) {
                        global $wgProfiler;
                        if ( is_array( $wgProfiler ) ) {
                                if ( !isset( $wgProfiler['class'] ) ) {
-                                       wfDebug( __METHOD__ . " called without \$wgProfiler['class']"
-                                               . " set, falling back to ProfilerStub for safety\n" );
                                        $class = 'ProfilerStub';
                                } else {
                                        $class = $wgProfiler['class'];
@@ -129,8 +131,6 @@ class Profiler {
                        } elseif ( $wgProfiler instanceof Profiler ) {
                                self::$__instance = $wgProfiler; // back-compat
                        } else {
-                               wfDebug( __METHOD__ . ' called with bogus $wgProfiler setting,'
-                                               . " falling back to ProfilerStub for safety\n" );
                                self::$__instance = new ProfilerStub( $wgProfiler );
                        }
                }
index a3c3b10..543bd1d 100644 (file)
@@ -174,9 +174,10 @@ class ResourceLoader {
                        // Save filtered text to Memcached
                        $cache->set( $key, $result );
                } catch ( Exception $exception ) {
+                       wfDebugLog( 'resourceloader', __METHOD__ . ": minification failed: $e" );
+                       $this->hasErrors = true;
                        // Return exception as a comment
                        $result = $this->makeComment( $exception->__toString() );
-                       $this->hasErrors = true;
                }
 
                wfProfileOut( __METHOD__ );
@@ -201,7 +202,7 @@ class ResourceLoader {
                $this->addSource( $wgResourceLoaderSources );
 
                // Register core modules
-               $this->register( include( "$IP/resources/Resources.php" ) );
+               $this->register( include "$IP/resources/Resources.php" );
                // Register extension modules
                wfRunHooks( 'ResourceLoaderRegisterModules', array( &$this ) );
                $this->register( $wgResourceModules );
@@ -453,8 +454,11 @@ class ResourceLoader {
                                // Do not allow private modules to be loaded from the web.
                                // This is a security issue, see bug 34907.
                                if ( $module->getGroup() === 'private' ) {
-                                       $errors .= $this->makeComment( "Cannot show private module \"$name\"" );
+                                       wfDebugLog( 'resourceloader', __METHOD__ . ": request for private module denied: $e" );
                                        $this->hasErrors = true;
+                                       // Add exception to the output as a comment
+                                       $errors .= $this->makeComment( "Cannot show private module \"$name\"" );
+
                                        continue;
                                }
                                $modules[$name] = $module;
@@ -467,9 +471,10 @@ class ResourceLoader {
                try {
                        $this->preloadModuleInfo( array_keys( $modules ), $context );
                } catch ( Exception $e ) {
+                       wfDebugLog( 'resourceloader', __METHOD__ . ": preloading module info failed: $e" );
+                       $this->hasErrors = true;
                        // Add exception to the output as a comment
                        $errors .= $this->makeComment( $e->__toString() );
-                       $this->hasErrors = true;
                }
 
                wfProfileIn( __METHOD__ . '-getModifiedTime' );
@@ -485,9 +490,10 @@ class ResourceLoader {
                                // Calculate maximum modified time
                                $mtime = max( $mtime, $module->getModifiedTime( $context ) );
                        } catch ( Exception $e ) {
+                               wfDebugLog( 'resourceloader', __METHOD__ . ": calculating maximum modified time failed: $e" );
+                               $this->hasErrors = true;
                                // Add exception to the output as a comment
                                $errors .= $this->makeComment( $e->__toString() );
-                               $this->hasErrors = true;
                        }
                }
 
@@ -694,9 +700,10 @@ class ResourceLoader {
                        try {
                                $blobs = MessageBlobStore::get( $this, $modules, $context->getLanguage() );
                        } catch ( Exception $e ) {
+                               wfDebugLog( 'resourceloader', __METHOD__ . ": pre-fetching blobs from MessageBlobStore failed: $e" );
+                               $this->hasErrors = true;
                                // Add exception to the output as a comment
                                $exceptions .= $this->makeComment( $e->__toString() );
-                               $this->hasErrors = true;
                        }
                } else {
                        $blobs = array();
@@ -800,9 +807,10 @@ class ResourceLoader {
                                                break;
                                }
                        } catch ( Exception $e ) {
+                               wfDebugLog( 'resourceloader', __METHOD__ . ": generating module package failed: $e" );
+                               $this->hasErrors = true;
                                // Add exception to the output as a comment
                                $exceptions .= $this->makeComment( $e->__toString() );
-                               $this->hasErrors = true;
 
                                // Register module as missing
                                $missing[] = $name;
index 4588015..22ff6a7 100644 (file)
@@ -96,7 +96,7 @@ class ResourceLoaderContext {
                                $pos = strrpos( $group, '.' );
                                if ( $pos === false ) {
                                        // Prefixless modules, i.e. without dots
-                                       $retval = explode( ',', $group );
+                                       $retval = array_merge( $retval, explode( ',', $group ) );
                                } else {
                                        // We have a prefix and a bunch of suffixes
                                        $prefix = substr( $group, 0, $pos ); // 'foo'
index 2718bcb..af533c6 100644 (file)
@@ -324,7 +324,7 @@ class ResourceLoaderFileModule extends ResourceLoaderModule {
                                );
                        }
                } catch ( Exception $e ) {
-                       wfDebug( __METHOD__ . " failed to update DB: $e\n" );
+                       wfDebugLog( 'resourceloader', __METHOD__ . ": failed to update DB: $e" );
                }
                return $styles;
        }
index 340d7df..05754d3 100644 (file)
@@ -37,7 +37,7 @@ class ResourceLoaderSiteModule extends ResourceLoaderWikiModule {
         * @return Array: List of pages
         */
        protected function getPages( ResourceLoaderContext $context ) {
-               global $wgUseSiteJs, $wgUseSiteCss, $wgHandheldStyle;
+               global $wgUseSiteJs, $wgUseSiteCss;
 
                $pages = array();
                if ( $wgUseSiteJs ) {
@@ -50,11 +50,6 @@ class ResourceLoaderSiteModule extends ResourceLoaderWikiModule {
 
                }
                $pages['MediaWiki:Print.css'] = array( 'type' => 'style', 'media' => 'print' );
-               if ( $wgHandheldStyle ) {
-                       $pages['MediaWiki:Handheld.css'] = array(
-                               'type' => 'style',
-                               'media' => 'handheld' );
-               }
                return $pages;
        }
 
index 6c60d47..3f10ae5 100644 (file)
@@ -92,14 +92,14 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule {
                $content = $revision->getContent( Revision::RAW );
 
                if ( !$content ) {
-                       wfDebug( __METHOD__ . "failed to load content of JS/CSS page!\n" );
+                       wfDebugLog( 'resourceloader', __METHOD__ . ': failed to load content of JS/CSS page!' );
                        return null;
                }
 
                $model = $content->getModel();
 
                if ( $model !== CONTENT_MODEL_CSS && $model !== CONTENT_MODEL_JAVASCRIPT ) {
-                       wfDebug( __METHOD__ . "bad content model $model for JS/CSS page!\n" );
+                       wfDebugLog( 'resourceloader', __METHOD__ . ': bad content model $model for JS/CSS page!' );
                        return null;
                }
 
index fc6151f..ae04061 100644 (file)
@@ -334,8 +334,11 @@ class SpecialNewpages extends IncludableSpecialPage {
 
                $query = array( 'redirect' => 'no' );
 
-               if ( $this->patrollable( $result ) ) {
-                       $query['rcid'] = $result->rc_id;
+               if( $this->patrollable( $result ) ) {
+                       // Tell Article.php that we want to patrol the first revision
+                       // and not the current one. Has effect if both recentchages and new page
+                       // patrolling are enabled, we set it everytime for link consistency though.
+                       $query['patrolpage'] = 1;
                }
 
                // Linker::linkKnown() uses 'known' and 'noclasses' options.
index fd46c03..3b67554 100644 (file)
@@ -103,11 +103,8 @@ class SpecialPasswordReset extends FormSpecialPage {
        }
 
        public function alterForm( HTMLForm $form ) {
-               $form->setSubmitTextMsg( 'mailmypassword' );
-       }
-
-       protected function preText() {
                global $wgPasswordResetRoutes;
+
                $i = 0;
                if ( isset( $wgPasswordResetRoutes['username'] ) && $wgPasswordResetRoutes['username'] ) {
                        $i++;
@@ -119,7 +116,10 @@ class SpecialPasswordReset extends FormSpecialPage {
                        $i++;
                }
 
-               return $this->msg( 'passwordreset-pretext', $i )->parseAsBlock();
+               $message = ( $i > 1 ) ? 'passwordreset-text-many' : 'passwordreset-text-one';
+
+               $form->setHeaderText( $this->msg( $message, $i )->parseAsBlock() );
+               $form->setSubmitTextMsg( 'mailmypassword' );
        }
 
        /**
index 0d6378c..1b406d1 100644 (file)
@@ -876,16 +876,19 @@ class SpecialRecentChanges extends IncludableSpecialPage {
                }
 
                # Sort data for display and make sure it's unique after we've added user data.
-               $wgRCLinkLimits[] = $options['limit'];
-               $wgRCLinkDays[] = $options['days'];
-               sort( $wgRCLinkLimits );
-               sort( $wgRCLinkDays );
-               $wgRCLinkLimits = array_unique( $wgRCLinkLimits );
-               $wgRCLinkDays = array_unique( $wgRCLinkDays );
+               $linkLimits = $wgRCLinkLimits;
+               $linkLimits[] = $options['limit'];
+               sort( $linkLimits );
+               $linkLimits = array_unique( $linkLimits );
+
+               $linkDays = $wgRCLinkDays;
+               $linkDays[] = $options['days'];
+               sort( $linkDays );
+               $linkDays = array_unique( $linkDays );
 
                // limit links
                $cl = array();
-               foreach ( $wgRCLinkLimits as $value ) {
+               foreach ( $linkLimits as $value ) {
                        $cl[] = $this->makeOptionsLink( $lang->formatNum( $value ),
                                array( 'limit' => $value ), $nondefaults, $value == $options['limit'] );
                }
@@ -893,7 +896,7 @@ class SpecialRecentChanges extends IncludableSpecialPage {
 
                // day links, reset 'from' to none
                $dl = array();
-               foreach ( $wgRCLinkDays as $value ) {
+               foreach ( $linkDays as $value ) {
                        $dl[] = $this->makeOptionsLink( $lang->formatNum( $value ),
                                array( 'days' => $value, 'from' => '' ), $nondefaults, $value == $options['days'] );
                }
index 9050724..c49c3eb 100644 (file)
@@ -760,7 +760,7 @@ class SpecialUndelete extends SpecialPage {
 
                if ( $this->mTimestamp !== '' ) {
                        $this->showRevision( $this->mTimestamp );
-               } elseif ( $this->mFilename !== null ) {
+               } elseif ( $this->mFilename !== null && $this->mTargetObj->inNamespace( NS_FILE ) ) {
                        $file = new ArchivedFile( $this->mTargetObj, '', $this->mFilename );
                        // Check if user is allowed to see this file
                        if ( !$file->exists() ) {
index ee737c6..98d0c9a 100644 (file)
@@ -456,7 +456,6 @@ class SpecialUpload extends SpecialPage {
         */
        public static function getInitialPageText( $comment = '', $license = '', $copyStatus = '', $source = '' ) {
                global $wgUseCopyrightUpload, $wgForceUIMsgAsContentMsg;
-               $wgForceUIMsgAsContentMsg = (array) $wgForceUIMsgAsContentMsg;
 
                $msg = array();
                /* These messages are transcluded into the actual text of the description page.
@@ -464,7 +463,7 @@ class SpecialUpload extends SpecialPage {
                 * instead of hardcoding it there in the uploader language.
                 */
                foreach ( array( 'license-header', 'filedesc', 'filestatus', 'filesource' ) as $msgName ) {
-                       if ( in_array( $msgName, $wgForceUIMsgAsContentMsg ) ) {
+                       if ( in_array( $msgName, (array)$wgForceUIMsgAsContentMsg ) ) {
                                $msg[$msgName] = "{{int:$msgName}}";
                        } else {
                                $msg[$msgName] = wfMessage( $msgName )->inContentLanguage()->text();
index a5e2e63..f5e3660 100644 (file)
@@ -241,26 +241,35 @@ class SpecialWatchlist extends SpecialPage {
                }
 
                # Create output form
-               $form = Xml::fieldset( $this->msg( 'watchlist-options' )->text(), false, array( 'id' => 'mw-watchlist-options' ) );
+               $form = Xml::fieldset(
+                       $this->msg( 'watchlist-options' )->text(),
+                       false,
+                       array( 'id' => 'mw-watchlist-options' )
+               );
 
                # Show watchlist header
+               $form .= "<p>";
                $form .= $this->msg( 'watchlist-details' )->numParams( $nitems )->parse() . "\n";
-
-               if ( $user->getOption( 'enotifwatchlistpages' ) && $wgEnotifWatchlist ) {
-                       $form .= $this->msg( 'wlheader-enotif' )->parseAsBlock() . "\n";
+               if ( $wgEnotifWatchlist && $user->getOption( 'enotifwatchlistpages' ) ) {
+                       $form .= $this->msg( 'wlheader-enotif' )->parse() . "\n";
                }
+               if ( $wgShowUpdatedMarker ) {
+                       $form .= $this->msg( 'wlheader-showupdated' )->parse() . "\n";
+               }
+               $form .= "</p>";
+
                if ( $wgShowUpdatedMarker ) {
                        $form .= Xml::openElement( 'form', array( 'method' => 'post',
-                                               'action' => $this->getTitle()->getLocalURL(),
-                                               'id' => 'mw-watchlist-resetbutton' ) ) . "\n" .
-                                       $this->msg( 'wlheader-showupdated' )->parse() .
-                                       Xml::submitButton( $this->msg( 'enotif_reset' )->text(), array( 'name' => 'dummy' ) ) . "\n" .
-                                       Html::hidden( 'reset', 'all' ) . "\n";
-                                       foreach ( $nondefaults as $key => $value ) {
-                                               $form .= Html::hidden( $key, $value ) . "\n";
-                                       }
-                                       $form .= Xml::closeElement( 'form' ) . "\n";
+                               'action' => $this->getTitle()->getLocalURL(),
+                               'id' => 'mw-watchlist-resetbutton' ) ) . "\n" .
+                       Xml::submitButton( $this->msg( 'enotif_reset' )->text(), array( 'name' => 'dummy' ) ) . "\n" .
+                       Html::hidden( 'reset', 'all' ) . "\n";
+                       foreach ( $nondefaults as $key => $value ) {
+                               $form .= Html::hidden( $key, $value ) . "\n";
+                       }
+                       $form .= Xml::closeElement( 'form' ) . "\n";
                }
+
                $form .= "<hr />\n";
 
                $tables = array( 'recentchanges', 'watchlist' );
index 2e72f70..9258881 100644 (file)
@@ -121,8 +121,8 @@ class UsercreateTemplateVForm extends BaseTemplate {
                        $doms .= "<option>" . htmlspecialchars( $dom ) . "</option>";
                }
        ?>
-               <div>
-                       <label><?php $this->msg( 'yourdomainname' ); ?></label>
+               <div id="mw-user-domain-section">
+                       <label for="wpDomain"><?php $this->msg( 'yourdomainname' ); ?></label>
                        <div class="mw-input">
                                <select name="wpDomain" value="<?php $this->text( 'domain' ); ?>"
                                        tabindex="4">
@@ -270,12 +270,9 @@ class UsercreateTemplateVForm extends BaseTemplate {
                // Pass each benefit's head text (by default a number) as a parameter to the body's message for PLURAL handling.
                $headUnescaped = $this->getMsg( "createacct-benefit-head$benefitIdx" )->text();
        ?>
-               <div>
-                       <div class="mw-benefits-icon <?php $this->msg( "createacct-benefit-icon$benefitIdx" ); ?>"></div>
-                       <div class="mw-number-text">
-                               <h3><?php $this->msg( "createacct-benefit-head$benefitIdx" ); ?></h3>
-                               <p><?php echo $this->getMsg( "createacct-benefit-body$benefitIdx" )->params( $headUnescaped )->escaped(); ?></p>
-                       </div>
+               <div class="mw-number-text <?php $this->msg( "createacct-benefit-icon$benefitIdx" ); ?>">
+                       <h3><?php $this->msg( "createacct-benefit-head$benefitIdx" ); ?></h3>
+                       <p><?php echo $this->getMsg( "createacct-benefit-body$benefitIdx" )->params( $headUnescaped )->escaped(); ?></p>
                </div>
        <?php
        }
index 4f44209..5b2504e 100644 (file)
@@ -130,7 +130,7 @@ class UserloginTemplateVForm extends BaseTemplate {
                }
        ?>
                <div id="mw-user-domain-section">
-                       <label for='wpDomain' class="pos-above"><?php $this->msg( 'yourdomain' ); ?></label>
+                       <label for='wpDomain'><?php $this->msg( 'yourdomainname' ); ?></label>
                                <select name="wpDomain" value="<?php $this->text( 'domain' ); ?>"
                                        tabindex="3">
                                        <?php echo $doms ?>
index 17da80e..2ed20c5 100644 (file)
@@ -356,8 +356,10 @@ abstract class UploadBase {
        }
 
        /**
-        * Verify the mime type
+        * Verify the mime type.
         *
+        * @note Only checks that it is not an evil mime. The does it have
+        *  correct extension given its mime type check is in verifyFile.
         * @param string $mime representing the mime
         * @return mixed true if the file is verified, an array otherwise
         */
@@ -372,12 +374,6 @@ abstract class UploadBase {
                                return array( 'filetype-badmime', $mime );
                        }
 
-                       # XXX: Missing extension will be caught by validateName() via getTitle()
-                       if ( $this->mFinalExtension != '' && !$this->verifyExtension( $mime, $this->mFinalExtension ) ) {
-                               wfProfileOut( __METHOD__ );
-                               return array( 'filetype-mime-mismatch', $this->mFinalExtension, $mime );
-                       }
-
                        # Check IE type
                        $fp = fopen( $this->mTempPath, 'rb' );
                        $chunk = fread( $fp, 256 );
@@ -398,17 +394,68 @@ abstract class UploadBase {
                return true;
        }
 
+
        /**
         * Verifies that it's ok to include the uploaded file
         *
         * @return mixed true of the file is verified, array otherwise.
         */
        protected function verifyFile() {
+               global $wgVerifyMimeType;
+               wfProfileIn( __METHOD__ );
+
+               $status = $this->verifyPartialFile();
+               if ( $status !== true ) {
+                       wfProfileOut( __METHOD__ );
+                       return $status;
+               }
+
+               if ( $wgVerifyMimeType ) {
+                       $this->mFileProps = FSFile::getPropsFromPath( $this->mTempPath, $this->mFinalExtension );
+                       $mime = $this->mFileProps['file-mime'];
+
+                       # XXX: Missing extension will be caught by validateName() via getTitle()
+                       if ( $this->mFinalExtension != '' && !$this->verifyExtension( $mime, $this->mFinalExtension ) ) {
+                               wfProfileOut( __METHOD__ );
+                               return array( 'filetype-mime-mismatch', $this->mFinalExtension, $mime );
+                       }
+               }
+
+
+               $handler = MediaHandler::getHandler( $mime );
+               if ( $handler ) {
+                       $handlerStatus = $handler->verifyUpload( $this->mTempPath );
+                       if ( !$handlerStatus->isOK() ) {
+                               $errors = $handlerStatus->getErrorsArray();
+                               wfProfileOut( __METHOD__ );
+                               return reset( $errors );
+                       }
+               }
+
+               wfRunHooks( 'UploadVerifyFile', array( $this, $mime, &$status ) );
+               if ( $status !== true ) {
+                       wfProfileOut( __METHOD__ );
+                       return $status;
+               }
+
+               wfDebug( __METHOD__ . ": all clear; passing.\n" );
+               wfProfileOut( __METHOD__ );
+               return true;
+       }
+
+       /**
+        * A verification routine suitable for partial files
+        *
+        * Runs the blacklist checks, but not any checks that may
+        * assume the entire file is present.
+        *
+        * @return Mixed true for valid or array with error message key.
+        */
+       protected function verifyPartialFile() {
                global $wgAllowJavaUploads, $wgDisableUploadScriptChecks;
                wfProfileIn( __METHOD__ );
 
-               # get the title, even though we are doing nothing with it, because
-               # we need to populate mFinalExtension
+               # getTitle() sets some internal parameters like $this->mFinalExtension
                $this->getTitle();
 
                $this->mFileProps = FSFile::getPropsFromPath( $this->mTempPath, $this->mFinalExtension );
@@ -462,23 +509,6 @@ abstract class UploadBase {
                        return array( 'uploadvirus', $virus );
                }
 
-               $handler = MediaHandler::getHandler( $mime );
-               if ( $handler ) {
-                       $handlerStatus = $handler->verifyUpload( $this->mTempPath );
-                       if ( !$handlerStatus->isOK() ) {
-                               $errors = $handlerStatus->getErrorsArray();
-                               wfProfileOut( __METHOD__ );
-                               return reset( $errors );
-                       }
-               }
-
-               wfRunHooks( 'UploadVerifyFile', array( $this, $mime, &$status ) );
-               if ( $status !== true ) {
-                       wfProfileOut( __METHOD__ );
-                       return $status;
-               }
-
-               wfDebug( __METHOD__ . ": all clear; passing.\n" );
                wfProfileOut( __METHOD__ );
                return true;
        }
@@ -677,7 +707,6 @@ abstract class UploadBase {
                if ( $this->mTitle !== false ) {
                        return $this->mTitle;
                }
-
                /* Assume that if a user specified File:Something.jpg, this is an error
                 * and that the namespace prefix needs to be stripped of.
                 */
index 37db688..1746206 100644 (file)
@@ -70,6 +70,8 @@ class UploadFromChunks extends UploadFromFile {
                // Stash file is the called on creating a new chunk session:
                $this->mChunkIndex = 0;
                $this->mOffset = 0;
+
+               $this->verifyChunk();
                // Create a local stash target
                $this->mLocalFile = parent::stashFile();
                // Update the initial file offset (based on file size)
@@ -131,9 +133,18 @@ class UploadFromChunks extends UploadFromFile {
                        return $status;
                }
                wfDebugLog( 'fileconcatenate', "Combined $i chunks in $tAmount seconds.\n" );
+
+               $this->mTempPath = $tmpPath; // file system path
+               $this->mFileSize = filesize( $this->mTempPath ); //Since this was set for the last chunk previously
+               $ret = $this->verifyUpload();
+               if ( $ret['status'] !== UploadBase::OK ) {
+                       wfDebugLog( 'fileconcatenate', "Verification failed for chunked upload" );
+                       $status->fatal( $this->getVerificationErrorCode( $ret['status'] ) );
+                       return $status;
+               }
+
                // Update the mTempPath and mLocalFile
                // (for FileUpload or normal Stash to take over)
-               $this->mTempPath = $tmpPath; // file system path
                $tStart = microtime( true );
                $this->mLocalFile = parent::stashFile( $this->user );
                $tAmount = microtime( true ) - $tStart;
@@ -189,6 +200,15 @@ class UploadFromChunks extends UploadFromFile {
                        if ( $preAppendOffset == $offset ) {
                                // Update local chunk index for the current chunk
                                $this->mChunkIndex++;
+                               try {
+                                       # For some reason mTempPath is set to first part
+                                       $oldTemp = $this->mTempPath;
+                                       $this->mTempPath = $chunkPath;
+                                       $this->verifyChunk();
+                                       $this->mTempPath = $oldTemp;
+                               } catch ( UploadChunkVerificationException $e ) {
+                                       return Status::newFatal( $e->getMessage() );
+                               }
                                $status = $this->outputChunk( $chunkPath );
                                if ( $status->isGood() ) {
                                        // Update local offset:
@@ -312,7 +332,26 @@ class UploadFromChunks extends UploadFromFile {
                }
                return $this->mFileKey . '.' . $index;
        }
+
+       /**
+        * Verify that the chunk isn't really an evil html file
+        *
+        * @throws UploadChunkVerificationException
+        */
+       private function verifyChunk() {
+               // Rest mDesiredDestName here so we verify the name as if it were mFileKey
+               $oldDesiredDestName = $this->mDesiredDestName;
+               $this->mDesiredDestName = $this->mFileKey;
+               $this->mTitle = false;
+               $res = $this->verifyPartialFile();
+               $this->mDesiredDestName = $oldDesiredDestName;
+               $this->mTitle = false;
+               if( is_array( $res ) ) {
+                       throw new UploadChunkVerificationException( $res[0] );
+               }
+       }
 }
 
 class UploadChunkZeroLengthFileException extends MWException {};
 class UploadChunkFileException extends MWException {};
+class UploadChunkVerificationException extends MWException {};
index 9276b53..cb85fc6 100644 (file)
@@ -137,14 +137,9 @@ class UploadFromStash extends UploadBase {
                return $this->mFileProps['sha1'];
        }
 
-       /**
-        * File has been previously verified so no need to do so again.
-        *
-        * @return bool
+       /*
+        * protected function verifyFile() inherited
         */
-       protected function verifyFile() {
-               return true;
-       }
 
        /**
         * Stash the file.
index 1ee4627..8a6d766 100644 (file)
@@ -422,6 +422,7 @@ class UploadStash {
         * @return string
         */
        public static function getExtensionForPath( $path ) {
+               global $wgFileBlacklist;
                // Does this have an extension?
                $n = strrpos( $path, '.' );
                $extension = null;
@@ -441,7 +442,15 @@ class UploadStash {
                        throw new UploadStashFileException( "extension is null" );
                }
 
-               return File::normalizeExtension( $extension );
+               $extension = File::normalizeExtension( $extension );
+               if ( in_array( $extension, $wgFileBlacklist ) ) {
+                       // The file should already be checked for being evil.
+                       // However, if somehow we got here, we definitely
+                       // don't want to give it an extension of .php and
+                       // put it in a web accesible directory.
+                       return '';
+               }
+               return $extension;
        }
 
        /**
index 6039769..ff71c20 100644 (file)
--- a/index.php
+++ b/index.php
 # 5.1, respectively.
 if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.3.2' ) < 0 ) {
        // We need to use dirname( __FILE__ ) here cause __DIR__ is PHP5.3+
-       require( dirname( __FILE__ ) . '/includes/PHPVersionError.php' );
+       require dirname( __FILE__ ) . '/includes/PHPVersionError.php';
        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; it does *not* load $wgTitle
-require ( __DIR__ . '/includes/WebStart.php' );
+require __DIR__ . '/includes/WebStart.php';
 
 $mediaWiki = new MediaWiki();
 $mediaWiki->run();
index 137b9a9..92ea75c 100644 (file)
@@ -32,7 +32,7 @@ if ( !defined( 'MEDIAWIKI' ) ) {
 
 # Read language names
 global $wgLanguageNames;
-require_once( __DIR__ . '/Names.php' );
+require_once __DIR__ . '/Names.php';
 
 if ( function_exists( 'mb_strtoupper' ) ) {
        mb_internal_encoding( 'UTF-8' );
@@ -170,6 +170,14 @@ class Language {
                'seconds' => 1,
        );
 
+       /**
+        * Cache for language fallbacks.
+        * @see Language::getFallbacksIncludingSiteLanguage
+        * @since 1.21
+        * @var array
+        */
+       static private $fallbackLanguageCache = array();
+
        /**
         * Get a cached or new language object for a given language code
         * @param $code String
@@ -378,7 +386,7 @@ class Language {
                static $coreLanguageNames;
 
                if ( $coreLanguageNames === null ) {
-                       include( MWInit::compiledPath( 'languages/Names.php' ) );
+                       include MWInit::compiledPath( 'languages/Names.php' );
                }
 
                if ( isset( $coreLanguageNames[$tag] )
@@ -415,7 +423,7 @@ class Language {
                }
 
                if ( file_exists( "$IP/languages/classes/$class.php" ) ) {
-                       include_once( "$IP/languages/classes/$class.php" );
+                       include_once "$IP/languages/classes/$class.php";
                }
        }
 
@@ -849,7 +857,7 @@ class Language {
                static $coreLanguageNames;
 
                if ( $coreLanguageNames === null ) {
-                       include( MWInit::compiledPath( 'languages/Names.php' ) );
+                       include MWInit::compiledPath( 'languages/Names.php' );
                }
 
                $names = array();
@@ -2945,12 +2953,16 @@ class Language {
        }
 
        /**
+        * Get all magic words from cache.
         * @return array
         */
        function getMagicWords() {
                return self::$dataCache->getItem( $this->mCode, 'magicWords' );
        }
 
+       /**
+        * Run the LanguageGetMagic hook once.
+        */
        protected function doMagicHook() {
                if ( $this->mMagicHookDone ) {
                        return;
@@ -2967,17 +2979,16 @@ class Language {
         * @param $mw
         */
        function getMagic( $mw ) {
-               $this->doMagicHook();
+               // Saves a function call
+               if ( ! $this->mMagicHookDone ) {
+                       $this->doMagicHook();
+               }
 
                if ( isset( $this->mMagicExtensions[$mw->mId] ) ) {
                        $rawEntry = $this->mMagicExtensions[$mw->mId];
                } else {
-                       $magicWords = $this->getMagicWords();
-                       if ( isset( $magicWords[$mw->mId] ) ) {
-                               $rawEntry = $magicWords[$mw->mId];
-                       } else {
-                               $rawEntry = false;
-                       }
+                       $rawEntry = self::$dataCache->getSubitem(
+                               $this->mCode, 'magicWords', $mw->mId );
                }
 
                if ( !is_array( $rawEntry ) ) {
@@ -3597,10 +3608,6 @@ class Language {
         * @return string Correct form of plural for $count in this language
         */
        function convertPlural( $count, $forms ) {
-               if ( !count( $forms ) ) {
-                       return '';
-               }
-
                // Handle explicit n=pluralform cases
                foreach ( $forms as $index => $form ) {
                        if ( preg_match( '/\d+=/i', $form ) ) {
@@ -3611,7 +3618,11 @@ class Language {
                                unset( $forms[$index] );
                        }
                }
+
                $forms = array_values( $forms );
+               if ( !count( $forms ) ) {
+                       return '';
+               }
 
                $pluralForm = $this->getPluralRuleIndexNumber( $count );
                $pluralForm = min( $pluralForm, count( $forms ) - 1 );
@@ -4053,6 +4064,36 @@ class Language {
                }
        }
 
+       /**
+        * Get the ordered list of fallback languages, ending with the fallback
+        * language chain for the site language.
+        *
+        * @since 1.22
+        * @param string $code Language code
+        * @return array array( fallbacks, site fallbacks )
+        */
+       public static function getFallbacksIncludingSiteLanguage( $code ) {
+               global $wgLanguageCode;
+
+               // Usually, we will only store a tiny number of fallback chains, so we
+               // keep them in static memory.
+               $cacheKey = "{$code}-{$wgLanguageCode}";
+
+               if ( !array_key_exists( $cacheKey, self::$fallbackLanguageCache ) ) {
+                       $fallbacks = self::getFallbacksFor( $code );
+
+                       // Append the site's fallback chain, including the site language itself
+                       $siteFallbacks = self::getFallbacksFor( $wgLanguageCode );
+                       array_unshift( $siteFallbacks, $wgLanguageCode );
+
+                       // Eliminate any languages already included in the chain
+                       $siteFallbacks = array_diff( $siteFallbacks, $fallbacks );
+
+                       self::$fallbackLanguageCache[$cacheKey] = array( $fallbacks, $siteFallbacks );
+               }
+               return self::$fallbackLanguageCache[$cacheKey];
+       }
+
        /**
         * Get all messages for a given language
         * WARNING: this may take a long time. If you just need all message *keys*
index 0186ccf..e13cb59 100644 (file)
@@ -364,11 +364,11 @@ class LanguageConverter {
                // this one is needed when the text is inside an HTML markup
                $htmlfix = '|<[^>]+$|^[^<>]*>';
 
-               // disable convert to variants between <code></code> tags
+               // disable convert to variants between <code> tags
                $codefix = '<code>.+?<\/code>|';
-               // disable convertsion of <script type="text/javascript"> ... </script>
+               // disable conversion of <script> tags
                $scriptfix = '<script.*?>.*?<\/script>|';
-               // disable conversion of <pre xxxx> ... </pre>
+               // disable conversion of <pre> tags
                $prefix = '<pre.*?>.*?<\/pre>|';
 
                $reg = '/' . $codefix . $scriptfix . $prefix .
index 61fed2c..027c054 100644 (file)
@@ -64,6 +64,8 @@
        'ba' => 'башҡортса',   # Bashkir
        'bar' => 'Boarisch',    # Bavarian (Austro-Bavarian and South Tyrolean)
        'bat-smg' => 'žemaitėška', # Samogitian (deprecated code, 'sgs' in ISO 693-3 since 2010-06-30 )
+       'bbc' => 'Batak Toba', # Batak Toba (falls back to bbc-latn)
+       'bbc-latn' => 'Batak Toba', # Batak Toba
        'bcc' => 'بلوچی مکرانی', # Southern Balochi
        'bcl' => 'Bikol Central', # Bikol: Central Bicolano language
        'be' => 'беларуская', #  Belarusian normative
index d941d67..d81574d 100644 (file)
@@ -21,8 +21,8 @@
  * @ingroup Language
  */
 
-require_once( __DIR__ . '/../LanguageConverter.php' );
-require_once( __DIR__ . '/LanguageZh.php' );
+require_once __DIR__ . '/../LanguageConverter.php';
+require_once __DIR__ . '/LanguageZh.php';
 
 /**
  * @ingroup Language
@@ -58,7 +58,7 @@ class GanConverter extends LanguageConverter {
        }
 
        function loadDefaultTables() {
-               require( __DIR__ . "/../../includes/ZhConversion.php" );
+               require __DIR__ . '/../../includes/ZhConversion.php';
                $this->mTables = array(
                        'gan-hans' => new ReplacementArray( $zh2Hans ),
                        'gan-hant' => new ReplacementArray( $zh2Hant ),
index 4c2d21e..abd2e7c 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Language
  */
 
-require_once( __DIR__ . '/../LanguageConverter.php' );
+require_once __DIR__ . '/../LanguageConverter.php';
 
 /**
  * Conversion script between Latin and Syllabics for Inuktitut.
index c0bdc3f..f96b0d9 100644 (file)
@@ -21,8 +21,8 @@
  * @ingroup Language
  */
 
-require_once( __DIR__ . '/../LanguageConverter.php' );
-require_once( __DIR__ . '/LanguageKk_cyrl.php' );
+require_once __DIR__ . '/../LanguageConverter.php';
+require_once __DIR__ . '/LanguageKk_cyrl.php';
 
 define( 'KK_C_UC', 'АӘБВГҒДЕЁЖЗИЙКҚЛМНҢОӨПРСТУҰҮФХҺЦЧШЩЪЫІЬЭЮЯ' ); # Kazakh Cyrillic uppercase
 define( 'KK_C_LC', 'аәбвгғдеёжзийкқлмнңоөпрстуұүфхһцчшщъыіьэюя' ); # Kazakh Cyrillic lowercase
@@ -62,7 +62,7 @@ class KkConverter extends LanguageConverter {
        }
 
        function loadDefaultTables() {
-               // require( __DIR__."/../../includes/KkConversion.php" );
+               // require __DIR__."/../../includes/KkConversion.php";
                // Placeholder for future implementing. Remove variables declarations
                // after generating KkConversion.php
                $kk2Cyrl = array();
index e4290ce..75ac1c7 100644 (file)
@@ -21,8 +21,8 @@
  * @ingroup Language
  */
 
-require_once( __DIR__ . '/../LanguageConverter.php' );
-require_once( __DIR__ . '/LanguageKu_ku.php' );
+require_once __DIR__ . '/../LanguageConverter.php';
+require_once __DIR__ . '/LanguageKu_ku.php';
 
 /**
  * Kurdish converter routines
index ff0181e..f4180cb 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Language
  */
 
-require_once( __DIR__ . '/../LanguageConverter.php' );
+require_once __DIR__ . '/../LanguageConverter.php';
 
 /**
  * Conversion script between Latin and Tifinagh for Tachelhit.
index 7c5c683..e8811ac 100644 (file)
@@ -21,9 +21,9 @@
  * @ingroup Language
  */
 
-require_once( __DIR__ . '/../LanguageConverter.php' );
-require_once( __DIR__ . '/LanguageSr_ec.php' );
-require_once( __DIR__ . '/LanguageSr_el.php' );
+require_once __DIR__ . '/../LanguageConverter.php';
+require_once __DIR__ . '/LanguageSr_ec.php';
+require_once __DIR__ . '/LanguageSr_el.php';
 
 /**
  * There are two levels of conversion for Serbian: the script level
index 8c82837..10755b4 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Language
  */
 
-require_once( __DIR__ . '/../LanguageConverter.php' );
+require_once __DIR__ . '/../LanguageConverter.php';
 
 /**
  * Converts Tajiki to latin orthography
index d9154f7..aa3e4f2 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Language
  */
 
-require_once( __DIR__ . '/../LanguageConverter.php' );
+require_once __DIR__ . '/../LanguageConverter.php';
 
 /**
  * @ingroup Language
index 31731e7..d413018 100644 (file)
@@ -21,8 +21,8 @@
  * @ingroup Language
  */
 
-require_once( __DIR__ . '/../LanguageConverter.php' );
-require_once( __DIR__ . '/LanguageZh_hans.php' );
+require_once __DIR__ . '/../LanguageConverter.php';
+require_once __DIR__ . '/LanguageZh_hans.php';
 
 /**
  * @ingroup Language
@@ -64,7 +64,7 @@ class ZhConverter extends LanguageConverter {
        }
 
        function loadDefaultTables() {
-               require( __DIR__ . "/../../includes/ZhConversion.php" );
+               require __DIR__ . "/../../includes/ZhConversion.php";
                $this->mTables = array(
                        'zh-hans' => new ReplacementArray( $zh2Hans ),
                        'zh-hant' => new ReplacementArray( $zh2Hant ),
index 23e29b0..66875a6 100644 (file)
@@ -15,6 +15,7 @@
  * @author Kaganer
  * @author Manie
  * @author Naudefj
+ * @author Nemo bis
  * @author Purodha
  * @author Reedy
  * @author SPQRobin
@@ -574,7 +575,7 @@ Geen verduideliking is verskaf nie.",
 'badtitletext' => "Die bladsytitel waarvoor gevra is, is ongeldig, leeg, of
 'n verkeerd geskakelde tussen-taal of tussen-wiki titel.",
 'perfcached' => "Die volgende inligting is gekas en mag dalk nie op datum wees nie. 'n Maksimum van {{PLURAL:$1|een resultaat|$1 resultate}} is in die kas beskikbaar.",
-'perfcachedts' => "Die volgende data is gekas en is laas op $1 bygewerk. 'n Maksimum van {{PLURAL:$4|een resultaat|$4 resultate}} is in die kas beskikbaar.",
+'perfcachedts' => "Die volgende data is gekas en is laas op $2 om $3 bygewerk. 'n Maksimum van {{PLURAL:$4|een resultaat|$4 resultate}} is in die kas beskikbaar.",
 'querypage-no-updates' => 'Opdatering van hierdie bladsy is huidiglik afgeskakel. Inligting hier sal nie tans verfris word nie.',
 'wrong_wfQuery_params' => 'Foutiewe parameters na wfQuery()<br />
 Funksie: $1<br />
@@ -769,11 +770,9 @@ U het moontlik reeds u wagwoord gewysig of 'n nuwe tydelike wagwoord aangevra.",
 
 # Special:PasswordReset
 'passwordreset' => 'Wagwoord herstel',
-'passwordreset-text' => 'Voltooi hierdie vorm om u wagwoord te herstel.',
 'passwordreset-legend' => 'Kry nuwe wagwoord',
 'passwordreset-disabled' => 'Die herskik van U wagwoord is gedeaktiveer op hierdie wiki.',
 'passwordreset-emaildisabled' => 'E-posfunksies is afgeskakel op hierdie wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1| | Voer een van die onderstaande velde in}}',
 'passwordreset-username' => 'Gebruiker:',
 'passwordreset-domain' => 'Domein:',
 'passwordreset-capture' => 'Wys resulterende e-pos?',
@@ -851,19 +850,19 @@ Tydelike wagwoord: $2',
 'summary-preview' => 'Opsommingsvoorskou:',
 'subject-preview' => 'Onderwerp/opskrif voorskou:',
 'blockedtitle' => 'Gebruiker is geblokkeer',
-'blockedtext' => "'''U gebruikersnaam of IP-adres is geblokkeer.'''
+'blockedtext' => "'''U gebruiker of IP-adres is geblokkeer.'''
 
-Die blokkering is deur $1 gedoen.
-Die rede gegee is ''$2''.
+Die blokkade is deur $1 uitgevoer.
+Die rede verskaf is ''$2''.
 
 * Begin van blokkade: $8
 * Blokkade eindig: $6
-* Blokkering gemik op: $7
+* Blokkade gemik teen: $7
 
-U mag $1 of een van die ander [[{{MediaWiki:Grouppage-sysop}}|administreerders]] kontak om dit te bespreek.
-U kan nie die 'e-pos hierdie gebruiker'-opsie gebruik tensy 'n geldige e-pos adres gespesifiseer is in u [[Special:Preferences|rekening voorkeure]] en u nie geblokkeer is om dit te gebruik nie.
-U huidige IP-adres is $3, en die blokkering ID is #$5.
-Sluit asseblief een of albei hierdie verwysings in by enige navrae.",
+U mag $1 of een van die ander [[{{MediaWiki:Grouppage-sysop}}|administrateurs]] kontak om dit te bespreek.
+U kan nie die 'e-pos hierdie gebruiker'-opsie gebruik nie, tensy 'n geldige e-posadres in u [[Special:Preferences|voorkeure]] gespesifiseer is en u nie geblokkeer is om dit te gebruik nie.
+U huidige IP-adres is $3 en die blokkadenommer is #$5.
+Sluit asseblief een of albei hierdie verwysings by enige navrae in.",
 'autoblockedtext' => "U IP-adres is outomaties geblok omdat dit deur 'n gebruiker gebruik was, wat deur $1 geblokkeer is.
 Die rede verskaf is:
 
@@ -2277,8 +2276,8 @@ Toekomstige wysigings aan hierdie bladsy en sy bybehorende besprekingsblad sal h
 'notvisiblerev' => 'Weergawe is verwyder',
 'watchnochange' => 'Geen item op die dophoulys is geredigeer in die gekose periode nie.',
 'watchlist-details' => '{{PLURAL:$1|$1 bladsy|$1 bladsye}} in u dophoulys, besprekingsbladsye uitgesluit.',
-'wlheader-enotif' => 'E-pos notifikasie is aangeskakel.',
-'wlheader-showupdated' => "Bladsye wat verander is sedert u hulle laas besoek het word in '''vetdruk''' uitgewys",
+'wlheader-enotif' => 'E-pos notifikasie is aangeskakel.',
+'wlheader-showupdated' => "Bladsye wat verander is sedert u hulle laas besoek het word in '''vetdruk''' uitgewys",
 'watchmethod-recent' => 'Kontroleer onlangse wysigings aan bladsye op dophoulys',
 'watchmethod-list' => 'kontroleer bladsye op dophoulys vir wysigings',
 'watchlistcontains' => 'Jou dophoulys bevat $1 {{PLURAL:$1|bladsy|bladsye}}.',
@@ -2579,8 +2578,8 @@ Die laaste inskrywing uit die blokkeerlogboek word hier ter inligting weergegee:
 'blockip' => 'Blokkeer gebruiker',
 'blockip-title' => 'Blokkeer gebruiker',
 'blockip-legend' => 'Blokkeer gebruiker of IP-adres',
-'blockiptext' => "Gebruik die vorm hier onder om skryftoegang van 'n sekere IP-adres te blok.
-Dit moet net gedoen word om vandalisme te voorkom en in ooreenstemming met [[{{MediaWiki:Policy-url}}|{{SITENAME}}-beleid]].
+'blockiptext' => "Gebruik die vorm hier onder om skryftoegang vir 'n gebruiker of IP-adres in te trek.
+Dit mag slegs as beskerming teen vandalisme en in ooreenstemming met die [[{{MediaWiki:Policy-url}}|beleid]] gedoen word.
 Vul 'n spesifieke rede hier onder in (haal byvoorbeeld spesifieke bladsye wat gevandaliseer is, aan).",
 'ipadressorusername' => 'IP-adres of gebruikersnaam:',
 'ipbexpiry' => 'Duur:',
index 7dd39e0..e9c406d 100644 (file)
@@ -97,8 +97,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Shfaqe numrin e përdoruesve mbikëqyrës',
 'tog-oldsig' => 'Parapamja e nënshkrimit ekzistues:',
 'tog-fancysig' => 'Trajto nënshkrimin si tekst (pa vegëz automatike)',
-'tog-externaleditor' => 'Përdor program të jashtëm për redaktim (vetëm për eksperta, lyp përcaktime speciale në kompjuterin tuej)',
-'tog-externaldiff' => 'Përdor program të jashtëm për dallime (vetëm për eksperta, lyp përcaktime speciale në kompjuterin tuej)',
 'tog-showjumplinks' => 'Lejo lidhjet é afrueshmerisë "kapërce tek"',
 'tog-uselivepreview' => 'Trego parapamjén meniheré (JavaScript) (Eksperimentale)',
 'tog-forceeditsummary' => 'Pyetem kur e le përmbledhjen e redaktimit zbrazt',
@@ -113,6 +111,7 @@ $messages = array(
 'tog-showhiddencats' => 'Trego kategoritë e mshefta',
 'tog-noconvertlink' => 'Mos lejo konvertimin e titullit vegëz',
 'tog-norollbackdiff' => 'Trego ndryshimin mbas procedurës së kthimit mbrapa',
+'tog-useeditwarning' => 'Paralajmëron mua kur unë të lë një redakto faqe me ndryshimet e para shpëtimit',
 
 'underline-always' => 'gjithmonë',
 'underline-never' => 'kurrë',
@@ -750,6 +749,7 @@ Duket se është grisur.',
 'edit-no-change' => 'Redaktimi juaj është anashkaluar pasi që asnjë ndryshim nuk u bë në tekst.',
 'edit-already-exists' => 'Faqja nuk mundej të hapet.
 Ajo tanimë ekziston.',
+'editwarning-warning' => 'Duke e lënë këtë faqe mund të bëjë që ju të humbni ndonjë ndryshim që keni bërë. Nëse ju jeni regjistruar, ju mund ta çaktivizoni këtë paralajmërim në "Tue redaktue" seksionin e preferencave tuaja.',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => 'Kujdes: Kjo faqe ka shumë kërkesa që kërkojnë analizë gramatikore të kushtueshme për sistemin.
@@ -947,14 +947,6 @@ Provoni me ia parashtue kërkesës tuej ''tâna:'' që me lypë tânë përmbajt
 Ndërkohë mundeni me lypë me Google.
 Vini re se indeksat e tyne të përmbajtjes së {{SITENAME}} munden me qenë të vjetëruem.',
 
-# Quickbar
-'qbsettings' => 'Vegla të shpejta',
-'qbsettings-none' => 'Asnji',
-'qbsettings-fixedleft' => 'Lidhun majtas',
-'qbsettings-fixedright' => 'Lidhun djathtas',
-'qbsettings-floatingleft' => 'Pezull majtas',
-'qbsettings-floatingright' => 'Pezull djathtas',
-
 # Preferences page
 'preferences' => 'Parapëlqimet',
 'mypreferences' => 'Parapëlqimet e mija',
@@ -1503,13 +1495,8 @@ Lejon dhânien e arsyes në përmbledhje.',
 
 # Stylesheets
 'common.css' => '/* CSSi i vendosun këtu ka me u zbatue në tâna dukjet */',
-'standard.css' => '/* CSSi i vendosun këtu ka me i prekë përdoruesit e dukjes standarde */',
-'nostalgia.css' => '/* CSS i vendosun këtu ka me i prekë shfrytëzuesit e dukjes Nostalgia */',
 'cologneblue.css' => '/* CSS i vendosun këtu ka me i prekë shfrytëzuesit e dukjes Cologne Blue */',
 'monobook.css' => '/* CSS i vednosun këtu ka me i prekë shfrytëzuesit e dukjes Monobook */',
-'myskin.css' => '/* CSSi i vednosun këtu ka me i prekë shfrytëzuesit e dukjes MySkin */',
-'chick.css' => '/* CSSi i vednosun këtu ka me i prekë shfrytëzuesit e dukjes Chick */',
-'simple.css' => '/* CSSi i vednosun këtu ka me i prekë shfrytëzuesit e dukjes Simple */',
 'modern.css' => '/* CSSi i vednosun këtu ka me i prekë shfrytëzuesit e dukjes Modern */',
 'vector.css' => '/* CSSi i vednosun këtu ka me i prekë shfrytëzuesit e dukjes Vector */',
 'print.css' => '/* CSSi i vednosun këtu ka me e prekë pamjen e shtypjes */',
@@ -1517,13 +1504,8 @@ Lejon dhânien e arsyes në përmbledhje.',
 
 # Scripts
 'common.js' => '/* Çdo JavaScript këtu ka me u ngarkue për të gjithë përdoruesit në secilën thirrje të faqes. */',
-'standard.js' => '/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen Standard */',
-'nostalgia.js' => '/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen Nostalgia */',
 'cologneblue.js' => '/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen Cologne Blue */',
 'monobook.js' => '/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen MonoBook */',
-'myskin.js' => '/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen MySkin */',
-'chick.js' => '/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen Chick */',
-'simple.js' => '/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen Simple */',
 'modern.js' => '/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen Modern */',
 'vector.js' => '/* Çdo JavaScript këtu ka me u ngarkue për shfrytëzuesit që përdorin dukjen Vector */',
 
@@ -1558,8 +1540,6 @@ Krejt vegzat tjera në të njejtin rresht do të bajnë përjashtim, d.m.th. faq
 
 /*
 Short names for language variants used for language conversion links.
-To disable showing a particular link, set it to 'disable', e.g.
-'variantname-zh-sg' => 'disable',
 Variants for Chinese language
 */
 'variantname-zh-hans' => 'hans',
index 1e4a9f4..fb8e17b 100644 (file)
@@ -1465,6 +1465,14 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'listusers-noresult' => 'ማንም ተጠቃሚ አልተገኘም።',
 'listusers-blocked' => '(ታግዷል)',
 
+# Special:ActiveUsers
+'activeusers' => 'ተግባራዊ አባላት ዝርዝር',
+'activeusers-intro' => 'እነዚህ አባላት ባለፈው $1 ቀን ውስጥ ማናቸውንም አይነት ተግባር ፈጸሙ።',
+'activeusers-count' => '$1 {{PLURAL:$1|ለውጥ|ለውጦች}} ባለፈው $3 ቀን ውስጥ',
+'activeusers-hidebots' => 'ሎሌዎች ይደበቁ',
+'activeusers-hidesysops' => 'መጋቢዎች ይደበቁ',
+'activeusers-noresult' => 'ማንም ተጠቃሚ አልተገኘም።',
+
 # Special:ListGroupRights
 'listgrouprights' => 'የተጠቃሚ ስብስባ መብቶች',
 'listgrouprights-group' => 'ስብስባ',
@@ -1522,8 +1530,8 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'notvisiblerev' => 'ዕትሙ ጠፍቷል',
 'watchnochange' => 'ከተካከሉት ገጾች አንዳችም በተወሰነው ጊዜ ውስጥ አልተለወጠም።',
 'watchlist-details' => 'አሁን {{PLURAL:$1|$1 ገፅ|$1 ገፆች}} በምትከታተላቸው ገፆች ላይ አሉ (የውይይት ገፅ ሳይጨመር)።',
-'wlheader-enotif' => 'የ-ኢሜል ማስታወቂያ እንዲሠራ ተደርጓል።',
-'wlheader-showupdated' => "መጨረሻ ከጎበኟቸው ጀምሮ የተቀየሩት ገጾች በ'''ጉልህ ፊደላት''' ይታያሉ",
+'wlheader-enotif' => 'የ-ኢሜል ማስታወቂያ እንዲሠራ ተደርጓል።',
+'wlheader-showupdated' => "መጨረሻ ከጎበኟቸው ጀምሮ የተቀየሩት ገጾች በ'''ጉልህ ፊደላት''' ይታያሉ",
 'watchmethod-recent' => 'የቅርብ ለውጦችን ለሚከታተሉት ገጾች በመፈለግ',
 'watchmethod-list' => 'የሚከታተሉትን ገጾች ለቅርብ ለውጦች በመፈለግ',
 'watchlistcontains' => 'አሁን በሙሉ $1 ገጾች እየተከታተሉ ነው።',
@@ -2136,7 +2144,7 @@ $1',
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'ስፋት',
 'exif-imagelength' => 'ቁመት',
 'exif-compression' => 'የመጨመቅ ዘዴ',
@@ -2243,7 +2251,7 @@ $1',
 'exif-cameraownername' => 'ባለ ካሜራ',
 'exif-personinimage' => 'የታየው ሰው',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'ያልተጨመቀ',
 
 'exif-unknowndate' => 'ያልታወቀ ቀን',
@@ -2511,13 +2519,6 @@ $3
 'version-software-product' => 'ሶፍትዌር',
 'version-software-version' => 'ዝርያ',
 
-# Special:FilePath
-'filepath' => 'የፋይል መንገድ',
-'filepath-page' => 'ፋይሉ፦',
-'filepath-submit' => 'መንገድ',
-'filepath-summary' => 'ይህ ልዩ ገጽ ለ1 ፋይል ሙሉ መንገድ ይሰጣል።<br />
-ስዕል በሙሉ ማጉላት ይታያል፤ ሌላ አይነት ፋይል በሚገባው ፕሮግራም በቀጥታ ይጀመራል።',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'ለቅጂ ፋይሎች መፈልግ',
 'fileduplicatesearch-legend' => 'ለቅጂ ለመፈልግ',
index d458c1d..d2512f9 100644 (file)
@@ -1938,6 +1938,15 @@ Protocolos suportados: <code>$1</code> (no los adhiba en a suya busca).',
 'listusers-noresult' => "No s'ha trobato ixe usuario.",
 'listusers-blocked' => '({{GENDER:$1|bloqueyato|bloqueyata}})',
 
+# Special:ActiveUsers
+'activeusers' => "Lista d'usuarios activos",
+'activeusers-intro' => "Ista ye una lista d'usuarios que han teniu bella actividat en os zaguers $1 {{PLURAL:$1|diya|diyas}}.",
+'activeusers-count' => '$1 {{PLURAL:$1|edición|edicions}} en os zaguers {{PLURAL:$3|diya|$3 diyas}}',
+'activeusers-from' => "Amostrar nombres d'usuario que prencipien por:",
+'activeusers-hidebots' => 'Amagar robots',
+'activeusers-hidesysops' => 'Amagar administradors',
+'activeusers-noresult' => "No s'han trobato usuarios.",
+
 # Special:ListGroupRights
 'listgrouprights' => "Dreitos d'a colla d'usuarios",
 'listgrouprights-summary' => "Contino trobará a lista de collas d'usuario definitas en iste wiki, con os suyos dreitos d'acceso asociatos. Tamién puet trobar aquí [[{{MediaWiki:Listgrouprights-helppage}}|información adicional]] sobre os dreitos individuals.",
@@ -2011,8 +2020,8 @@ L\'adreza de correu-e que endicó en as suyas [[Special:Preferences|preferencias
 'notvisiblerev' => "S'ha borrato a revisión",
 'watchnochange' => "Dengún d'os articlos d'a suya lista de seguimiento no s'ha editato en o periodo de tiempo amostrato.",
 'watchlist-details' => '{{PLURAL:$1|$1 pachina|$1 pachinas}} en a suya lista de seguimiento, sin contar-ie as pachinas de descusión.',
-'wlheader-enotif' => 'A notificación por correu electronico ye activata',
-'wlheader-showupdated' => "Las pachinas cambiadas dende a suya zaguer vesita s'amuestran en '''negreta'''",
+'wlheader-enotif' => 'A notificación por correu electronico ye activata',
+'wlheader-showupdated' => "Las pachinas cambiadas dende a suya zaguer vesita s'amuestran en '''negreta'''",
 'watchmethod-recent' => 'Mirando pachinas cosiratas en os zaguers cambeos',
 'watchmethod-list' => 'mirando edicions recients en as pachinas cosiratas',
 'watchlistcontains' => 'A suya lista de seguimiento tiene $1 {{PLURAL:$1|pachina|pachinas}}.',
@@ -2704,7 +2713,6 @@ Puede veyer-ne, manimenos, o codigo fuent.',
 'modern.css' => "/* Os estilos CSS colocaus aquí s'aplicarán ta totz os usuarios que faigan servir l'apariencia Modern */",
 'vector.css' => "/* Os estilos CSS colocaus aquí s'aplicarán ta totz os usuarios que faigan servir l'apariencia Vector */",
 'print.css' => '/* Os estilos CSS colocaus aquí afectarán a la impresión */',
-'handheld.css' => '/* Os estilos CSS colocaus aquí afectarán a os dispositivos mobils basaus en as apariencias configuradas en $wgHandheldStyle */',
 'noscript.css' => "/* Os estilos CSS colocaus aquí s'aplicarán ta totz os usuarios que tiengan desactivato JavaScript */",
 'group-autoconfirmed.css' => "/* Os estilos CSS colocaus aquí s'aplicarán nomás a os usuarios autoconfirmatos*/",
 'group-bot.css' => "/* Os estilos CSS colocaus aquí s'aplicarán nomás a os bots*/",
@@ -2856,7 +2864,7 @@ Os campos de metadatos d'a imachen que amaneixen en iste mensache s'amostrarán
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Amplaria',
 'exif-imagelength' => 'Altaria',
 'exif-bitspersample' => 'Bits por component',
@@ -3034,7 +3042,7 @@ Os campos de metadatos d'a imachen que amaneixen en iste mensache s'amostrarán
 'exif-originalimageheight' => "Altaria d'a imachen antes d'estar retallada",
 'exif-originalimagewidth' => "Amplaria d'a imachen antes d'estar retallada",
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Sin de compresión',
 'exif-compression-2' => 'CCITT Group 3 1-Dimensional Modified Huffman run length encoding',
 'exif-compression-3' => 'Codificación de fax CCITT grupo 3',
@@ -3436,13 +3444,6 @@ Con iste programa ha d'haber recibiu [{{SERVER}}{{SCRIPTPATH}}/COPYING una copia
 'version-software-product' => 'Producto',
 'version-software-version' => 'Versión',
 
-# Special:FilePath
-'filepath' => "Camín d'o fichero",
-'filepath-page' => 'Fichero:',
-'filepath-submit' => 'Ir-ie',
-'filepath-summary' => "Ista pachina especial le retorna o camín completo d'un fichero.
-As imachens s'amuestran en resolución completa, a resta de fichers fan encetar dreitament os suyos programas asociatos.",
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Mirar fichers duplicatos',
 'fileduplicatesearch-summary' => 'Mirar archivos duplicatos basatos en a suya valura hash.',
index 8d82e18..a62f021 100644 (file)
@@ -316,6 +316,9 @@ Hindi (hi)फ़िलहाल इस पन्ने पर कोई सा
 
 'grouppage-sysop' => '{{ns:project}}:प्रचालक',
 
+# Special:Log/newusers
+'newuserlogpage' => 'नया सदस्यॊ के सूची',
+
 # User rights log
 'rightslog' => 'सदस्य अधिकार सूची',
 
@@ -406,13 +409,10 @@ Hindi (hi)फ़िलहाल इस पन्ने पर कोई सा
 # Special:LinkSearch
 'linksearch' => 'बाहरी कड़ी',
 
-# Special:Log/newusers
-'newuserlogpage' => 'नया सदस्यॊ के सूची',
-
 # Special:ListGroupRights
 'listgrouprights-members' => '(सदस्य सूची)',
 
-# E-mail user
+# Email user
 'emailuser' => 'इ सदस्य कॆ ई-मेल भेजॊ',
 
 # Watchlist
index dead266..14e12f3 100644 (file)
@@ -40,6 +40,7 @@
  * @author Mido
  * @author Mimouni
  * @author Mo7amedsalim
+ * @author Nemo bis
  * @author Obayd
  * @author OsamaK
  * @author Ouda
@@ -476,10 +477,10 @@ $messages = array(
 'tog-justify' => 'حاذ الفقرات',
 'tog-hideminor' => 'أخف التحريرات الطفيفة في أحدث التغييرات',
 'tog-hidepatrolled' => 'أخف التحريرات المراجعة في أحدث التغييرات',
-'tog-newpageshidepatrolled' => 'أخÙ\81 Ø§Ù\84صÙ\81حات Ø§Ù\84Ù\85راجعة من قائمة الصفحات الجديدة',
-'tog-extendwatchlist' => 'Ù\85دد Ù\82ائÙ\85Ø© Ø§Ù\84Ù\85راÙ\82بة Ù\84عرض Ù\83Ù\84 Ø§Ù\84تغÙ\8aÙ\8aراتØ\8c Ù\88Ù\84Ù\8aس Ø§Ù\84أحدث Ù\81Ù\82Ø·',
+'tog-newpageshidepatrolled' => 'أخÙ\81 Ø§Ù\84صÙ\81حات Ø§Ù\84Ù\85عاÙ\8aÙ\86ة من قائمة الصفحات الجديدة',
+'tog-extendwatchlist' => 'Ù\85دد Ù\82ائÙ\85Ø© Ø§Ù\84Ù\85راÙ\82بة Ù\84تعرض Ù\83Ù\84 Ø§Ù\84تغÙ\8aÙ\8aرات Ù\84ا Ø£Ø­Ø¯Ø«Ù\87ا Ù\88 Ø­Ø³Ø¨',
 'tog-usenewrc' => 'جمّع التغييرات حسب الصفحة في أحدث التغييرات وقائمة المراقبة (يتطلب جافاسكربت)',
-'tog-numberheadings' => 'رÙ\82Ù\85 Ø§Ù\84عÙ\86اÙ\88Ù\8aÙ\86 ØªÙ\84Ù\82ائÙ\8aاÙ\8b',
+'tog-numberheadings' => 'رÙ\82Ù\91Ù\85 Ø§Ù\84عÙ\86اÙ\88Ù\8aÙ\86 ØªÙ\84Ù\82ائÙ\8aÙ\8bا',
 'tog-showtoolbar' => 'أظهر شريط التحرير (يتطلب جافاسكربت)',
 'tog-editondblclick' => 'تحرير الصفحات بالنقر المزدوج (جافاسكربت)',
 'tog-editsection' => 'مكن تحرير الأقسام بروابط [عدل]',
@@ -491,39 +492,39 @@ $messages = array(
 'tog-watchmoves' => 'أضف الصفحات والملفات التي أنقلها إلى قائمة مراقبتي',
 'tog-watchdeletion' => 'أضف الصفحات والملفات التي أحذفها إلى قائمة مراقبتي',
 'tog-minordefault' => 'أشِّر كل التعديلات على أنها طفيفة مبدئيا',
-'tog-previewontop' => 'أظهر العرض المسبق قبل صندوق التحرير',
+'tog-previewontop' => 'أظهر معاينة النّصّ فوق صندوق التحرير',
 'tog-previewonfirst' => 'أظهر معاينة مع أول تحرير',
-'tog-nocache' => 'عطÙ\91Ù\84 ØªØ®Ø²Ù\8aÙ\86 المتصفح للصفحة',
+'tog-nocache' => 'عطÙ\91Ù\84 ØªØ®Ø¨Ø¦Ø© المتصفح للصفحة',
 'tog-enotifwatchlistpages' => 'أرسل لي رسالة إلكترونية عندما تتغيّر صفحة أو ملف في قائمة مراقبتي',
-'tog-enotifusertalkpages' => 'أرسل لي رسالة إلكترونية عندما تعدل صفحة نقاشي',
+'tog-enotifusertalkpages' => 'أرسل إليّ بريدا كلّما عُدّلت صفحة نقاشي',
 'tog-enotifminoredits' => 'أرسل لي رسالة إلكترونية بشأن التحريرات الطفيفة للصفحات والملفات',
 'tog-enotifrevealaddr' => 'أظهر عنوان بريدي الإلكتروني في رسائل الإخطار',
 'tog-shownumberswatching' => 'اعرض عدد المستخدمين المراقبِين',
 'tog-oldsig' => 'التوقيع الحالي:',
-'tog-fancysig' => 'عامل التوقيع كنص ويكي (بدون وصلة أوتوماتيكية)',
-'tog-showjumplinks' => 'Ù\85Ù\83Ù\86 Ù\88صÙ\84ات "اذÙ\87ب Ø¥Ù\84Ù\89" Ø§Ù\84Ù\85ساعدة',
-'tog-uselivepreview' => 'استخدم الاستعراض السريع (جافاسكريبت) (تجريبي)',
+'tog-fancysig' => 'عامل التوقيع كنصّ ويكي (بلا رابط تلقائي)',
+'tog-showjumplinks' => 'Ù\81عÙ\91Ù\84 Ø±Ù\88ابط "اذÙ\87ب Ø¥Ù\84Ù\89" Ø§Ù\84Ù\85عاÙ\88Ù\86ة',
+'tog-uselivepreview' => 'استخدم المعاينة السريعة (تتطلب جافاسكريبت) (تجريبية)',
 'tog-forceeditsummary' => 'نبهني عند إدخال ملخص تحرير فارغ',
 'tog-watchlisthideown' => 'أخف تحريراتي من قائمة المراقبة',
 'tog-watchlisthidebots' => 'أخف تحريرات الروبوتات من قائمة المراقبة',
-'tog-watchlisthideminor' => 'أخف التعديلات الطفيفة من قائمة المراقبة',
-'tog-watchlisthideliu' => 'أخف تعديلات المستخدمين المسجلين من قائمة المراقبة',
-'tog-watchlisthideanons' => 'أخف تعديلات المستخدمين المجهولين من قائمة المراقبة',
-'tog-watchlisthidepatrolled' => 'أخف التعديلات المراجعة من قائمة المراقبة',
-'tog-ccmeonemails' => 'أرسل لي نسخا من رسائل البريد الإلكتروني التي أرسلها للمستخدمين الآخرين',
+'tog-watchlisthideminor' => 'في قائمة المراقبة أخف التعديلات الطفيفة',
+'tog-watchlisthideliu' => 'في قائمة المراقبة أخف تعديلات المستخدمين الوالجين',
+'tog-watchlisthideanons' => 'في قائمة المراقبة أخف تعديلات المستخدمين المجهولين',
+'tog-watchlisthidepatrolled' => 'في قائمة المراقبة أخف التعديلات المعاينة',
+'tog-ccmeonemails' => 'أرسل إليّ نسخا من رسائل البريد التي أرسلها إل مستخدمين آخرين',
 'tog-diffonly' => 'لا تعرض محتوى الصفحة أسفل الفروقات',
 'tog-showhiddencats' => 'أظهر التصنيفات المخفية',
 'tog-noconvertlink' => 'عطل تحويل عناوين الروابط',
-'tog-norollbackdiff' => 'أزÙ\84 Ø§Ù\84Ù\81رÙ\82 Ø¨Ø¹Ø¯ Ø§Ù\84Ù\82Ù\8aاÙ\85 Ø¨استرجاع',
-'tog-useeditwarning' => 'حذّرني عندما أغادر تحرير صفحة ذات تغييرات غير محفوظة',
+'tog-norollbackdiff' => 'أزÙ\84 Ø§Ù\84Ù\81رÙ\82 Ø¨Ø¹Ø¯ Ø¥Ø­Ø¯Ø§Ø« استرجاع',
+'tog-useeditwarning' => 'حذّرني عندما أغادر تحرير صفحة فيها تغييرات لم أحفظها',
 
 'underline-always' => 'دائما',
 'underline-never' => 'أبدا',
-'underline-default' => 'تبعا لإعدادات الواجهة أو المتصفح',
+'underline-default' => 'وفق الكسوة أو المتصفّح',
 
 # Font style option in Special:Preferences
-'editfont-style' => 'نمط خط منطقة التحرير:',
-'editfont-default' => 'تبعا لإعدادات المتصفح',
+'editfont-style' => 'طراز خط منطقة التحرير:',
+'editfont-default' => 'وفق إعدادات المتصفح',
 'editfont-monospace' => 'خط ثابت العرض',
 'editfont-sansserif' => 'خط بلا زوائد',
 'editfont-serif' => 'خط بزوائد',
@@ -579,27 +580,39 @@ $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' => 'أيلول/سبتمبر $1',
+'october-date' => 'تشرين الأول/أكتوبر $1',
+'november-date' => 'تشرين الثاني/نوفمبر $1',
+'december-date' => 'كانون الأول/ديسمبر $1',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|لا تصنيف|تصنيف|تصنيفان|تصنيفات}}',
+'pagecategories' => '{{PLURAL:$1|بلا تصنيف|تصنيف|تصنيفان|تصنيفات}}',
 'category_header' => 'الصفحات في التصنيف "$1"',
-'subcategories' => 'اÙ\84تصÙ\86Ù\8aÙ\81ات Ø§Ù\84فرعية',
+'subcategories' => 'تصÙ\86Ù\8aÙ\81ات فرعية',
 'category-media-header' => 'الوسائط في التصنيف "$1"',
 'category-empty' => "''هذا التصنيف لا يحتوي حاليا على صفحات و لا وسائط.''",
-'hidden-categories' => '{{PLURAL:$1|لا تصنيف مخفيا|تصنيف مخفي|تصنيفان مخفيان|تصنيفات مخفية}}',
+'hidden-categories' => '{{PLURAL:$1|لا تصنيفات مخفية|تصنيف مخفي|تصنيفان مخفيان|تصنيفات مخفية}}',
 'hidden-category-category' => 'تصنيفات مخفية',
-'category-subcat-count' => '{{PLURAL:$2|Ù\84ا ØªØµØ§Ù\86Ù\8aÙ\81 Ù\81رعÙ\8aØ© Ù\81Ù\8a Ù\87ذا Ø§Ù\84تصÙ\86Ù\8aÙ\81\87ذا Ø§Ù\84تصÙ\86Ù\8aÙ\81 Ù\81Ù\8aÙ\87 Ø§Ù\84تصÙ\86Ù\8aÙ\81 Ø§Ù\84Ù\81رعÙ\8a Ø§Ù\84تاÙ\84Ù\8a Ù\81Ù\82Ø·.|Ù\87ذا Ø§Ù\84تصÙ\86Ù\8aÙ\81 Ù\81Ù\8aÙ\87 {{PLURAL:$1||Ù\87ذا Ø§Ù\84تصÙ\86Ù\8aÙ\81 Ø§Ù\84Ù\81رعÙ\8a\87Ø°Ù\8aÙ\86 Ø§Ù\84تصÙ\86Ù\8aÙ\81Ù\8aÙ\86 Ø§Ù\84Ù\81رعÙ\8aÙ\8aÙ\86\87Ø°Ù\87 Ø§Ù\84$1 ØªØµØ§Ù\86Ù\8aÙ\81 Ø§Ù\84Ù\81رعÙ\8aØ©|Ù\87Ø°Ù\87 Ø§Ù\84$1 ØªØµÙ\86Ù\8aÙ\81ا Ù\81رعÙ\8aا|Ù\87Ø°Ù\87 Ø§Ù\84$1 ØªØµÙ\86Ù\8aÙ\81 Ù\81رعÙ\8a}}، من إجمالي $2.}}',
-'category-subcat-count-limited' => 'Ù\87ذا Ø§Ù\84تصÙ\86Ù\8aÙ\81 Ù\81Ù\8aÙ\87 {{PLURAL:$1||اÙ\84تصÙ\86Ù\8aÙ\81 Ø§Ù\84Ù\81رعÙ\8a Ø§Ù\84تاÙ\84Ù\8a|اÙ\84تصÙ\86Ù\8aÙ\81Ù\8aÙ\86 Ø§Ù\84Ù\81رعÙ\8aÙ\8aÙ\86 Ø§Ù\84تاÙ\84Ù\8aÙ\8aÙ\86|$1 ØªØµØ§Ù\86Ù\8aÙ\81 Ù\81رعÙ\8aØ© ØªØ§Ù\84Ù\8aØ©|$1 ØªØµÙ\86Ù\8aÙ\81ا Ù\81رعÙ\8aا ØªØ§Ù\84Ù\8aا|$1 ØªØµÙ\86Ù\8aÙ\81 Ù\81رعÙ\8a ØªØ§Ù\84Ù\8a}}.',
-'category-article-count' => '{{PLURAL:$2|لا يحتوي هذا التصنيف أي صفحات.|هذا التصنيف يحتوي على الصفحة التالية فقط.|{{PLURAL:$1||الصفحة التالية|الصفحتان التاليتان|ال$1 صفحات التالية|ال$1 صفحة التالية|ال$1 صفحة التالية}} في هذا التصنيف، من إجمالي $2.}}',
-'category-article-count-limited' => '{{PLURAL:$1||الصفحة التالية|الصفحتان التاليتان|ال$1 صفحات التالية|ال$1 صفحة التالية|ال$1 صفحة التالية}} في التصنيف الحالي.',
-'category-file-count' => '{{PLURAL:$2||هذا التصنيف يحتوي الملف التالي فقط.|{{PLURAL:$1||الملف التالي|الملفان التاليان|الملفات ال$1 التالية}} في هذا التصنيف من إجمالي $2.}}',
-'category-file-count-limited' => '{{PLURAL:$1|الملف التالي|الملفان التاليان|ال$1 ملفات التالية|ال$1 ملفًا تاليًا|ال$1 ملف تالٍ}} في التصنيف الحالي.',
-'listingcontinuesabbrev' => 'Ù\85تابعة',
+'category-subcat-count' => '{{PLURAL:$2|Ù\87ذا Ø§Ù\84تصÙ\86Ù\8aÙ\81 Ù\8aØ­Ù\88Ù\8a Ø§Ù\84تصÙ\86Ù\8aÙ\81 Ø§Ù\84Ù\81رعÙ\8a Ø§Ù\84تاÙ\84Ù\8a\87ذا Ø§Ù\84تصÙ\86Ù\8aÙ\81 Ù\8aØ­Ù\88Ù\8a {{PLURAL:$1||اÙ\84تصÙ\86Ù\8aÙ\81 Ø§Ù\84Ù\81رعÙ\8a|تصÙ\86Ù\8aÙ\81Ù\8aÙ\86 Ù\81رعÙ\8aÙ\8aÙ\86|$1 ØªØµÙ\86Ù\8aÙ\81ات Ù\81رعÙ\8aØ©}}، من إجمالي $2.}}',
+'category-subcat-count-limited' => 'Ù\87ذا Ø§Ù\84تصÙ\86Ù\8aÙ\81 Ù\8aØ­Ù\88Ù\8a {{PLURAL:$1||اÙ\84تصÙ\86Ù\8aÙ\81 Ø§Ù\84Ù\81رعÙ\8a Ø§Ù\84تاÙ\84Ù\8a|اÙ\84تصÙ\86Ù\8aÙ\81Ù\8aÙ\86 Ø§Ù\84Ù\81رعÙ\8aÙ\8aÙ\86 Ø§Ù\84تاÙ\84Ù\8aÙ\8aÙ\86|اÙ\84تصÙ\86Ù\8aÙ\81ات Ø§Ù\84Ù\81رعÙ\8aØ© $1  Ø§Ù\84تاÙ\84Ù\8aØ©}}.',
+'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 التالية مصنّفة}} بهذا التصنيف.',
+'listingcontinuesabbrev' => 'Ù\8aÙ\8fتبع',
 'index-category' => 'صفحات مفهرسة',
 'noindex-category' => 'صفحات غير مفهرسة',
 'broken-file-category' => 'صفحات تحتوي روابط ملفات معطوبة',
 
-'about' => 'عن',
+'about' => 'عن هذه الويكي',
 'article' => 'صفحة محتوى',
 'newwindow' => '(تفتح في نافذة جديدة)',
 'cancel' => 'ألغِ',
@@ -607,7 +620,7 @@ $messages = array(
 'morenotlisted' => 'يوجد المزيد غير مسرود...',
 'mypage' => 'صفحة',
 'mytalk' => 'نقاش',
-'anontalk' => 'النقاش لعنوان الأيبي هذا',
+'anontalk' => 'نقاش عنوان آي‌بي هذا',
 'navigation' => 'إبحار',
 'and' => '&#32;و',
 
@@ -623,95 +636,95 @@ $messages = array(
 
 # Vector skin
 'vector-action-addsection' => 'أضف موضوعا',
-'vector-action-delete' => 'حذف',
+'vector-action-delete' => 'احذÙ\81',
 'vector-action-move' => 'انقل',
 'vector-action-protect' => 'احم',
-'vector-action-undelete' => 'استرجع الحذف',
-'vector-action-unprotect' => 'غير الحماية',
-'vector-simplesearch-preference' => 'Ù\85Ù\83Ù\91Ù\86 شريط البحث المبسط (لواجهة فكتور فقط)',
+'vector-action-undelete' => 'تدارÙ\83 الحذف',
+'vector-action-unprotect' => 'غيّر الحماية',
+'vector-simplesearch-preference' => 'Ù\81عÙ\91Ù\84 شريط البحث المبسط (لواجهة فكتور فقط)',
 'vector-view-create' => 'أنشئ',
-'vector-view-edit' => 'تعدÙ\8aل',
+'vector-view-edit' => 'عدÙ\91ل',
 'vector-view-history' => 'اعرض التاريخ',
-'vector-view-view' => 'اÙ\82رأ',
+'vector-view-view' => 'طاÙ\84ع',
 'vector-view-viewsource' => 'طالع المصدر',
 'actions' => 'أفعال',
 'namespaces' => 'فضاءات التسمية',
 'variants' => 'المتغيرات',
 
 'navigation-heading' => 'قائمة التصفح',
-'errorpagetitle' => 'خطأ',
+'errorpagetitle' => 'عطÙ\84',
 'returnto' => 'ارجع إلى $1.',
 'tagline' => 'من {{SITENAME}}',
 'help' => 'مساعدة',
-'search' => 'بحث',
+'search' => 'ابحث',
 'searchbutton' => 'ابحث',
 'go' => 'اذهب',
 'searcharticle' => 'اذهب',
 'history' => 'تاريخ الصفحة',
 'history_short' => 'تاريخ',
 'updatedmarker' => 'حُدِّثَت منذ زيارتي الأخيرة',
-'printableversion' => 'نسخة للطباعة',
+'printableversion' => 'بتنسق للطباعة',
 'permalink' => 'رابط دائم',
 'print' => 'اطبع',
 'view' => 'مطالعة',
 'edit' => 'تحرير',
 'create' => 'إنشاء',
 'editthispage' => 'حرِّر هذه الصفحة',
-'create-this-page' => 'أنشئ هذه الصفحة',
+'create-this-page' => 'أنشئ صفحة بهذا العنوان',
 'delete' => 'حذف',
 'deletethispage' => 'احذف هذه الصفحة',
 'undelete_short' => 'استرجاع {{PLURAL:$1||تعديل واحد|تعديلين|$1 تعديلات|$1 تعديلاً|$1 تعديل}}',
 'viewdeleted_short' => 'استعرض {{PLURAL:$1||تعديل واحد|تعديلين|$1 تعديلات|$1 تعديلاً|$1 تعديل}}',
-'protect' => 'احÙ\85',
-'protect_change' => 'غير',
+'protect' => 'Ø­Ù\85اÙ\8aØ©',
+'protect_change' => 'غيّر',
 'protectthispage' => 'احم هذه الصفحة',
-'unprotect' => 'غير الحماية',
-'unprotectthispage' => 'غير حماية هذه الصفحة',
+'unprotect' => 'غيّر الحماية',
+'unprotectthispage' => 'غيّر حماية هذه الصفحة',
 'newpage' => 'صفحة جديدة',
 'talkpage' => 'ناقش هذه الصفحة',
 'talkpagelinktext' => 'نقاش',
 'specialpage' => 'صفحة خاصة',
 'personaltools' => 'أدوات شخصية',
 'postcomment' => 'قسم جديد',
-'articlepage' => 'عرض صفحة المحتوى',
+'articlepage' => 'طاÙ\84ع صفحة المحتوى',
 'talk' => 'نقاش',
 'views' => 'معاينة',
 'toolbox' => 'صندوق الأدوات',
-'userpage' => 'عرض صفحة المستخدم',
-'projectpage' => 'عرض صفحة المشروع',
-'imagepage' => 'عرض صفحة الملف',
-'mediawikipage' => 'عرض صفحة الرسالة',
-'templatepage' => 'عرض صفحة القالب',
-'viewhelppage' => 'عرض صفحة المساعدة',
-'categorypage' => 'عرض صفحة التصنيف',
-'viewtalkpage' => 'عرض النقاش',
+'userpage' => 'طاÙ\84ع صفحة المستخدم',
+'projectpage' => 'طاÙ\84ع صفحة المشروع',
+'imagepage' => 'طاÙ\84ع صفحة الملف',
+'mediawikipage' => 'طاÙ\84ع صفحة الرسالة',
+'templatepage' => 'طاÙ\84ع صفحة القالب',
+'viewhelppage' => 'طاÙ\84ع صفحة المساعدة',
+'categorypage' => 'طاÙ\84ع صفحة التصنيف',
+'viewtalkpage' => 'طاÙ\84ع النقاش',
 'otherlanguages' => 'بلغات أخرى',
-'redirectedfrom' => '(تÙ\85 التحويل من $1)',
+'redirectedfrom' => '(بالتحويل من $1)',
 'redirectpagesub' => 'صفحة تحويل',
-'lastmodifiedat' => 'آخر ØªØ¹Ø¯Ù\8aÙ\84 Ù\84Ù\87Ø°Ù\87 Ø§Ù\84صÙ\81حة Ù\81Ù\8a $2Ø\8c $1.',
+'lastmodifiedat' => 'آخر ØªØ¹Ø¯Ù\8aÙ\84 Ù\84Ù\87Ø°Ù\87 Ø§Ù\84صÙ\81حة Ù\83اÙ\86 Ù\8aÙ\88Ù\85 $1 Ø§Ù\84ساعة $2.',
 'viewcount' => '{{PLURAL:$1|لم تعرض هذه الصفحة أبدا|تم عرض هذه الصفحة مرة واحدة|تم عرض هذه الصفحة مرتين|تم عرض هذه الصفحة $1 مرات|تم عرض هذه الصفحة $1 مرة}}.',
 'protectedpage' => 'صفحة محمية',
 'jumpto' => 'اذهب إلى:',
 'jumptonavigation' => 'تصفح',
-'jumptosearch' => 'بحث',
-'view-pool-error' => 'عذرا، الخوادم منهكة حاليا.
+'jumptosearch' => 'ابحث',
+'view-pool-error' => 'عذراØ\8c Ø§Ù\84Ø®Ù\88ادÙ\8aÙ\85 Ù\85Ù\86Ù\87Ù\83Ø© Ø­Ø§Ù\84Ù\8aا.
 يحاول مستخدمون كثر الوصول إلى هذه الصفحة.
\85Ù\86 Ù\81ضÙ\84Ù\83 Ø§Ù\86تظر Ù\82Ù\84Ù\8aÙ\84ا Ù\82بÙ\84 Ø£Ù\86 ØªØ­Ø§Ù\88Ù\84 الوصول إلى هذه الصفحة مجددا.
\85Ù\86 Ù\81ضÙ\84Ù\83 ØªÙ\85Ù\87Ù\91Ù\84 Ù\82Ù\84Ù\8aÙ\84ا Ù\82بÙ\84 Ù\85حاÙ\88Ù\84Ø© الوصول إلى هذه الصفحة مجددا.
 
 $1',
-'pool-timeout' => 'اÙ\86تÙ\87اء Ø§Ù\84اÙ\86تظار Ù\84لقفل',
-'pool-queuefull' => 'طابÙ\88ر Ø§Ù\84اÙ\82تراع Ù\85Ù\84ئ',
-'pool-errorunknown' => 'خطأ غير معروف',
+'pool-timeout' => 'اÙ\86تÙ\87ت Ù\85Ù\87Ù\84Ø© Ø§لقفل',
+'pool-queuefull' => 'اÙ\84طابÙ\88ر Ù\85Ù\84Ø¢Ù\86',
+'pool-errorunknown' => 'عطÙ\84 غير معروف',
 
 # 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) and the disambiguation template definition (see disambiguations).
 'aboutsite' => 'عن {{SITENAME}}',
 'aboutpage' => 'Project:عن',
-'copyright' => 'المحتوى متوفر تحت $1.',
+'copyright' => 'المحتوى منشور وفق $1.',
 'copyrightpage' => '{{ns:project}}:حقوق النسخ',
 'currentevents' => 'الأحداث الجارية',
 'currentevents-url' => 'Project:الأحداث الجارية',
-'disclaimers' => 'عدÙ\85 مسؤولية',
-'disclaimerpage' => 'Project:عدÙ\85 مسؤولية عام',
+'disclaimers' => 'إخÙ\84اء مسؤولية',
+'disclaimerpage' => 'Project:إخÙ\84اء مسؤولية عام',
 'edithelp' => 'مساعدة التحرير',
 'edithelppage' => 'Help:تحرير',
 'helppage' => 'Help:محتويات',
@@ -723,54 +736,54 @@ $1',
 'privacy' => 'سياسة الخصوصية',
 'privacypage' => 'Project:سياسة الخصوصية',
 
-'badaccess' => 'خطأ Ù\81Ù\8a Ø§Ù\84سÙ\85اح',
-'badaccess-group0' => 'ليس من المسموح لك تنفيذ الفعل الذي طلبته.',
-'badaccess-groups' => 'اÙ\84Ù\81عÙ\84 Ø§Ù\84Ø°Ù\8a Ø·Ù\84بتÙ\87 Ù\85Ù\82صÙ\88ر Ø¹Ù\84Ù\89 Ø§Ù\84Ù\85ستخدÙ\85Ù\8aÙ\86 Ù\81Ù\8a {{PLURAL:$2||Ù\85جÙ\85Ù\88عة|Ù\88احدة Ù\85Ù\86 Ù\85جÙ\85Ù\88عتÙ\8a\88احدة Ù\85Ù\86 مجموعات}}: $1.',
+'badaccess' => 'عطÙ\84 Ù\81Ù\8a Ø§Ù\84صÙ\84احÙ\8aات',
+'badaccess-group0' => 'غير مصرّح لك بتنفيذ الفعل الذي اعتزمته.',
+'badaccess-groups' => 'اÙ\84Ù\81عÙ\84 Ø§Ù\84Ø°Ù\8a Ø§Ø¹ØªØ²Ù\85تÙ\87 Ù\85Ù\82صÙ\88ر Ø¹Ù\84Ù\89 Ø§Ù\84Ù\85ستخدÙ\85Ù\8aÙ\86 Ø£Ø¹Ø¶Ø§Ø¡ {{PLURAL:$2||اÙ\84Ù\85جÙ\85Ù\88عة|إحدÙ\89 Ø§Ù\84Ù\85جÙ\85Ù\88عتÙ\8aÙ\86|إحدÙ\89 Ø§Ù\84مجموعات}}: $1.',
 
-'versionrequired' => 'تلزم نسخة $1 من ميدياويكي',
-'versionrequiredtext' => 'تلزم النسخة $1 من ميدياويكي لاستعمال هذه الصفحة. انظر [[Special:Version|صفحة النسخة]]',
+'versionrequired' => 'تلزم الإصدارة $1 من ميدياويكي',
+'versionrequiredtext' => 'تلزم الإصدارة $1 من ميدياويكي لاستعمال هذه الصفحة. طالع [[Special:Version|صفحة معلومات الإصدارة]]',
 
 'ok' => 'موافق',
-'retrievedfrom' => 'تم الاسترجاع من "$1"',
-'youhavenewmessages' => 'توجد لديك $1 ($2).',
+'retrievedfrom' => 'مجلوبة من "$1"',
+'youhavenewmessages' => 'لك $1 ($2).',
 'newmessageslink' => 'رسائل جديدة',
-'newmessagesdifflink' => 'آخر تغيير',
-'youhavenewmessagesfromusers' => 'لديك $1 من {{PLURAL:$3||مستخدم واحد|مستخدمين اثنين|$3 مستخدمين|$3 مستخدماً|$3 مستخدم}} ($2).',
-'youhavenewmessagesmanyusers' => 'لديك $1 من مستخدمين كثر ($2).',
+'newmessagesdifflink' => 'أحدث تغيير',
+'youhavenewmessagesfromusers' => 'لك $1 من {{PLURAL:$3||مستخدم واحد|مستخدمين اثنين|$3 مستخدمين|$3 مستخدماً|$3 مستخدم}} ($2).',
+'youhavenewmessagesmanyusers' => 'لك $1 من مستخدمين كثُر ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|رسالة جديدة|رسائل جديدة}}',
-'newmessagesdifflinkplural' => 'آخر {{PLURAL:$1|تغيير|تغييرات}}',
-'youhavenewmessagesmulti' => 'لديك رسائل جديدة على $1',
-'editsection' => 'تعدÙ\8aل',
+'newmessagesdifflinkplural' => 'أحدث {{PLURAL:$1|تغيير|تغييرات}}',
+'youhavenewmessagesmulti' => 'لديك رسائل جديدة في $1',
+'editsection' => 'عدÙ\91ل',
 'editold' => 'تعديل',
-'viewsourceold' => 'اعرض المصدر',
+'viewsourceold' => 'استعرض Ø§Ù\84Ù\85صدر',
 'editlink' => 'تعديل',
-'viewsourcelink' => 'اعرض المصدر',
+'viewsourcelink' => 'استعرض Ø§Ù\84Ù\85صدر',
 'editsectionhint' => 'حرر القسم: $1',
 'toc' => 'محتويات',
-'showtoc' => 'اعرض',
+'showtoc' => 'أظÙ\87ر',
 'hidetoc' => 'أخف',
 'collapsible-collapse' => 'اطو',
-'collapsible-expand' => 'Ù\88سع',
-'thisisdeleted' => 'أأعرض أو أسترجع $1؟',
+'collapsible-expand' => 'Ù\85دÙ\91د',
+'thisisdeleted' => 'هل أعرض أو أسترجع $1؟',
 'viewdeleted' => 'أأعرض $1؟',
 'restorelink' => '{{PLURAL:$1|$1 تعديل محذوف|تعديلا واحدا محذوفا|تعديلين محذوفين|$1 تعديلات محذوفة|$1 تعديلا محذوفا|$1 تعديل محذوف}}',
-'feedlinks' => 'التغذية:',
-'feed-invalid' => 'نوع اشتراك التلقيم غير صحيح.',
+'feedlinks' => 'التلقيمة:',
+'feed-invalid' => 'نوع التلقيمة غير صحيح.',
 'feed-unavailable' => 'التلقيمات غير متوفرة',
-'site-rss-feed' => '$1 تلقيم أر إس إس',
-'site-atom-feed' => '$1 تلقيم أتوم',
-'page-rss-feed' => '"$1" تلقيم أر إس إس',
-'page-atom-feed' => '"$1" تلقيم أتوم',
+'site-rss-feed' => 'تلقيمة آر‌إس‌إس $1',
+'site-atom-feed' => 'تلقيمة أتوم $1',
+'page-rss-feed' => 'تلقيمة آر‌إس‌إس "$1"',
+'page-atom-feed' => 'تلقيمة أتوم "$1"',
 'feed-atom' => 'أتوم',
 'feed-rss' => 'أر إس إس',
 'red-link-title' => '$1 (الصفحة غير موجودة)',
-'sort-descending' => 'ترتيب تنازلي',
-'sort-ascending' => 'ترتÙ\8aب ØªØµØ§Ø¹Ø¯Ù\8a',
+'sort-descending' => 'تنازليا',
+'sort-ascending' => 'تصاعدÙ\8aا',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'الصفحة',
-'nstab-user' => 'صفحة {{GENDER:{{BASEPAGENAME}}|مستخدم|مستخدمة}}',
-'nstab-media' => 'صÙ\81حة Ù\88سÙ\8aØ·',
+'nstab-user' => 'صفحة {{GENDER:{{BASEPAGENAME}}|المستخدم|المستخدمة}}',
+'nstab-media' => 'صÙ\81حة Ù\85Ù\8aدÙ\8aا',
 'nstab-special' => 'صفحة خاصة',
 'nstab-project' => 'صفحة مشروع',
 'nstab-image' => 'ملف',
@@ -780,80 +793,80 @@ $1',
 'nstab-category' => 'تصنيف',
 
 # Main script and global functions
-'nosuchaction' => 'لا يوجد فعل كهذا',
+'nosuchaction' => 'لا يوجد فعل كالذي طلبت',
 'nosuchactiontext' => 'الفعل المحدد بواسطة المسار غير صحيح.
-ربما تكون قد كتبت المسار بطريقة غير صحيحة، أو اتبعت وصلة غير صحيحة.
\87ذا Ø±Ø¨Ù\85ا Ù\8aØ´Ù\8aر Ø£Ù\8aضا Ø¥Ù\84Ù\89 علة في {{SITENAME}}.',
+ربما تكون قد كتبت المسار بطريقة غير صحيحة، أو اتبعت رابطا غير صحيح.
\88 Ù\82د Ù\8aÙ\83Ù\88Ù\86 Ù\85رجع Ù\87ذا علة في {{SITENAME}}.',
 'nosuchspecialpage' => 'لا توجد صفحة خاصة بهذا الاسم',
 'nospecialpagetext' => '<strong>لقد طلبت صفحة خاصة غير صحيحة.</strong>
 
\82ائÙ\85Ø© Ø¨Ø§Ù\84صÙ\81حات Ø§Ù\84خاصة Ø§Ù\84صحÙ\8aحة Ù\8aÙ\85Ù\83Ù\86 Ø¥Ù\8aجادÙ\87ا في [[Special:SpecialPages|{{int:specialpages}}]].',
\82ائÙ\85Ø© Ø§Ù\84صÙ\81حات Ø§Ù\84خاصة Ù\85Ù\88جÙ\88دة في [[Special:SpecialPages|{{int:specialpages}}]].',
 
 # General errors
-'error' => 'خطأ',
-'databaseerror' => 'خطأ في قاعدة البيانات',
-'dberrortext' => 'حدث Ø®Ø·Ø£ Ù\81Ù\8a ØµÙ\8aغة Ø£ستعلام قاعدة البيانات.
-قد يدل هذا الخطأ على عيب في البرنامج.
-آخر Ø£Ø³ØªØ¹Ù\84اÙ\85 ØªÙ\85 Ø·Ù\84بÙ\87 Ù\85Ù\86 Ù\82اعدة Ø§Ù\84بÙ\8aاÙ\86ات Ù\83اÙ\86 :
+'error' => 'عطÙ\84',
+'databaseerror' => 'عطÙ\84 في قاعدة البيانات',
+'dberrortext' => 'حدث Ø¹Ø·Ù\84 Ù\81Ù\8a Ù\86Ø­Ù\88 Ø§ستعلام قاعدة البيانات.
+قد يكون مرجع هذا علّة في البرمجية.
+آخر Ø§Ø³ØªØ¹Ù\84اÙ\85 Ø£Ø¬Ø±Ù\8a Ù\81Ù\8a Ù\82اعدة Ø§Ù\84بÙ\8aاÙ\86ات Ù\83اÙ\86:
 <blockquote><tt>$1</tt></blockquote>
\85Ù\86 Ø¯Ø§Ø®Ù\84 Ø§Ù\84داÙ\84Ø© "<tt>$2</tt>".
­Ø¯Ø¯Øª Ù\82اعدة Ø§Ù\84بÙ\8aاÙ\86ات Ø§Ù\84خطأ  "<tt>$3: $4</tt>".',
+من الدالة "<tt>$2</tt>".
£Ø±Ø¬Ø¹Øª Ù\82اعدة Ø§Ù\84بÙ\8aاÙ\86ات Ø§Ù\84عطÙ\84 "<tt>$3: $4</tt>".',
 'dberrortextcl' => 'حدث خطأ في صيغة استعلام قاعدة البيانات.
 آخر استعلام طلب من قاعدة البيانات كان:
 "$1"
 من داخل الدالة "$2".
 أرجعت قاعدة البيانات الخطأ "$3: $4"',
 'laggedslavemode' => "'''تحذير:''' الصفحة قد لا تحتوي على أحدث التحديثات.",
-'readonly' => 'قاعدة البيانات مغلقة',
-'enterlockreason' => 'أدخل سببا للغلق، متضمنا تقديرا لوقت رفع الغلق',
-'readonlytext' => 'قاعدة البيانات مغلقة حاليا أمام المدخلات الجديدة والتعديلات الأخرى، السبب غالبا ما يكون الصيانة، وستعود قاعدة البيانات للوضع الطبيعي قريبا.
+'readonly' => 'قاعدة البيانات مقفلة',
+'enterlockreason' => 'أدخل سببا للقفل ذاكرا تقديرا لوقت إزالة الغلق',
+'readonlytext' => 'قاعدة البيانات مقفلة حاليا أمام المدخلات الجديدة و التعديلات الأخرى. السبب غالبا ما يكون الصيانة، و ستعود قاعدة البيانات للعمل الطبيعي قريبا.
 
 الإداري الذي أغلق قاعدة البيانات أعطى التفسير التالي: $1',
-'missing-article' => 'لم تجد قاعدة البيانات النص الخاص بصفحة كان يجب أن تجدها، واسمها "$1" $2.
+'missing-article' => 'لم تجد قاعدة البيانات نصّ صفحة كان يجب أن يوجد، الصفحة هي "$1" $2.
 
-عادة ما يحدث هذا عند اتباع فرق قديم أو وصلة تاريخ تؤدي إلى صفحة حذفت.
+عادة ما يحدث هذا عند اتباع فرق قديم أو رابط تأريخ صفحة محذوفة.
 
-إذا لم تكن هذه هي الحالة، فالمحتمل أنك وجدت خللا في البرنامج.
-من فضلك أبلغ أحد [[Special:ListUsers/sysop|الإداريين]]، وأعطه وصلة إلى مسار هذه الصفحة.',
+إذا لم تكن هذه هي الحال فمن المحتمل أنك قد وقعت على علّة في البرمجية.
+من فضلك أبلغ أحد [[Special:ListUsers/sysop|الإداريين]]، و أعطه مسار هذه الصفحة.',
 'missingarticle-rev' => '(رقم المراجعة: $1)',
 'missingarticle-diff' => '(فرق: $1، $2)',
-'readonly_lag' => 'تم إغلاق قاعدة البيانات تلقائيا حتى تستطيع الخواديم التابعة ملاحقة الخادوم الرئيسي',
+'readonly_lag' => 'تم قفل قاعدة البيانات تلقائيا حتى تستطيع الخواديم التابعة ملاحقة الخادوم الرئيسي',
 'internalerror' => 'عطل داخلي',
-'internalerror_info' => 'خطأ داخلي: $1',
+'internalerror_info' => 'عطÙ\84 داخلي: $1',
 'fileappenderrorread' => 'تعذرت قراءة "$1" أثناء الإضافة.',
 'fileappenderror' => 'تعذرت إضافة "$1" إلى "$2".',
-'filecopyerror' => 'لم يمكن نسخ الملف "$1" إلى "$2".',
-'filerenameerror' => 'لم يمكن إعادة تسمية الملف "$1" إلى "$2".',
-'filedeleteerror' => 'لم يمكن حذف الملف "$1".',
-'directorycreateerror' => 'لم يمكن إنشاء المجلد "$1".',
-'filenotfound' => 'لم يمكن إيجاد الملف "$1".',
-'fileexistserror' => 'غÙ\8aر Ù\82ادر Ø¹Ù\84Ù\89 Ø§Ù\84Ù\83تابة Ù\84لملف "$1": الملف موجود',
+'filecopyerror' => 'تعذّر نسخ الملف "$1" إلى "$2".',
+'filerenameerror' => 'تعذّر تغيير اسم الملف "$1" إلى "$2".',
+'filedeleteerror' => 'تعذّر حذف الملف "$1".',
+'directorycreateerror' => 'تعذّر إنشاء الدليل "$1".',
+'filenotfound' => 'تعذّر إيجاد الملف "$1".',
+'fileexistserror' => 'تعذÙ\91رت Ù\83تابة Ø§لملف "$1": الملف موجود',
 'unexpected' => 'قيمة غير متوقعة: "$1"="$2".',
-'formerror' => 'خطأ: Ù\84Ù\85 Ù\8aÙ\85Ù\83Ù\86 ØªÙ\86Ù\81Ù\8aØ° الاستمارة',
+'formerror' => 'عطÙ\84: ØªØ¹Ø°Ù\91ر Ø¥Ù\8aداع الاستمارة',
 'badarticleerror' => 'لا يمكن إجراء هذا الفعل على هذه الصفحة.',
-'cannotdelete' => 'تعذر حذف الصفحة أو الملف "$1".
-ربÙ\85ا Ø­Ø°Ù\81Ù\87ا Ø´Ø­Øµ Ø¢Ø®Ø±.',
-'cannotdelete-title' => 'لا يمكن حذف الصفحة "$1"',
-'delete-hook-aborted' => 'إحباط Ø§Ù\84حذÙ\81 Ù\85Ù\86 Ù\82بÙ\84 Ù\87Ù\88Ù\83.
+'cannotdelete' => 'تعذّر حذف الصفحة أو الملف "$1".
+ربÙ\85ا Ø­Ø°Ù\81Ù\87ا Ø´Ø®Øµ Ø¢Ø®Ø± Ø¨Ø§Ù\84Ù\81عÙ\84.',
+'cannotdelete-title' => 'تعذّر حذف الصفحة "$1"',
+'delete-hook-aborted' => 'أجÙ\87ض Ø®Ø·Ù\91اÙ\81 Ø§Ù\84حذÙ\81.
 لم يقدم أي توضيح.',
 'badtitle' => 'عنوان سيء',
-'badtitletext' => 'عنوان الصفحة المطلوب إما غير صحيح أو فارغ، وربما الوصلة بين اللغات أو بين المشاريع خاطئة.
-ومن الممكن وجود رموز لا تصلح للاستخدام في العناوين.',
-'perfcached' => 'اÙ\84بÙ\8aاÙ\86ات Ø§Ù\84تاÙ\84Ù\8aØ© Ù\85ختزÙ\86Ø© Ù\88Ù\82د Ù\84ا ØªÙ\83Ù\88Ù\86 Ù\85حدثة. {{PLURAL:$1||Ù\86تÙ\8aجة Ù\88احدة|Ù\86تÙ\8aجتاÙ\86|$1 Ù\86تائج|$1 Ù\86تÙ\8aجة}} Ø¹Ù\84Ù\89 Ø§Ù\84Ø£Ù\83ثر {{PLURAL:$1||Ù\85ختزÙ\86Ø©|Ù\85ختزÙ\86تاÙ\86\85ختزÙ\86ة}}.',
-'perfcachedts' => 'اÙ\84بÙ\8aاÙ\86ات Ø§Ù\84تاÙ\84Ù\8aØ© Ù\85ختزÙ\86Ø© Ù\88Ù\83اÙ\86 Ø¢Ø®Ø± ØªØ­Ø¯Ù\8aØ« Ù\84Ù\87ا Ù\81Ù\8a $1. {{PLURAL:$4||Ù\86تÙ\8aجة Ù\88احدة|Ù\86تÙ\8aجتاÙ\86|$4 Ù\86تائج|$4 Ù\86تÙ\8aجة}} Ø¹Ù\84Ù\89 Ø§Ù\84Ø£Ù\83ثر {{PLURAL:$4||Ù\85ختزÙ\86Ø©|Ù\85ختزÙ\86تاÙ\86\85ختزÙ\86ة}}.',
-'querypage-no-updates' => 'اÙ\84تحدÙ\8aثات Ù\84هذه الصفحة معطلة حاليا.
+'badtitletext' => 'عنوان الصفحة المطلوب إما غير صحيح أو فارغ، وربما الرابط بين اللغات أو بين المشاريع خاطئ.
+ربما يحوي محارف لا تصلح للاستخدام في العناوين.',
+'perfcached' => 'اÙ\84بÙ\8aاÙ\86ات Ø§Ù\84تاÙ\84Ù\8aØ© Ù\85خبأة Ù\88 Ù\82د Ù\84ا ØªÙ\83Ù\88Ù\86 Ù\85حدثة. {{PLURAL:$1||Ù\86تÙ\8aجة Ù\88احدة|Ù\86تÙ\8aجتاÙ\86|$1 Ù\86تائج|$1 Ù\86تÙ\8aجة}} Ø¹Ù\84Ù\89 Ø§Ù\84Ø£Ù\83ثر {{PLURAL:$1||Ù\85خبÙ\91أة|Ù\85خبÙ\91أتاÙ\86\85خبÙ\91Ø£ة}}.',
+'perfcachedts' => 'اÙ\84بÙ\8aاÙ\86ات Ø§Ù\84تاÙ\84Ù\8aØ© Ù\85خبÙ\91أة Ù\88Ù\83اÙ\86 Ø¢Ø®Ø± ØªØ­Ø¯Ù\8aØ« Ù\84Ù\87ا Ù\81Ù\8a $1. {{PLURAL:$4||Ù\86تÙ\8aجة Ù\88احدة|Ù\86تÙ\8aجتاÙ\86|$4 Ù\86تائج|$4 Ù\86تÙ\8aجة}} Ø¹Ù\84Ù\89 Ø§Ù\84Ø£Ù\83ثر {{PLURAL:$4||Ù\85خبÙ\91أة|Ù\85خبÙ\91أتاÙ\86\85خبÙ\91Ø£ة}}.',
+'querypage-no-updates' => 'تحدÙ\8aثات هذه الصفحة معطلة حاليا.
 البيانات هنا لن يتم تحديثها حاليا.',
-'wrong_wfQuery_params' => 'Ù\85حددات خاطئة في wfQuery()<br />
+'wrong_wfQuery_params' => 'Ù\85عاÙ\85Ù\84ات خاطئة في wfQuery()<br />
 الدالة: $1<br />
 الاستعلام: $2',
-'viewsource' => 'اعرض المصدر',
-'viewsource-title' => 'إظÙ\87ار مصدر $1',
-'actionthrottled' => 'لا يمكن عمل المزيد من هذا الفعل',
-'actionthrottledtext' => 'كإجراء ضد السبام، أنت ممنوع من إجراء هذا الفعل عدد كبير من المرات في فترة زمنية قصيرة، ولقد تجاوزت هذا الحد.
\85Ù\86 Ù\81ضÙ\84Ù\83 Ø­Ø§Ù\88Ù\84 Ù\85رة Ø«Ø§Ù\86Ù\8aØ© Ø®Ù\84اÙ\84 عدة دقائق.',
+'viewsource' => 'استعرض Ø§Ù\84Ù\85صدر',
+'viewsource-title' => 'استعرض مصدر $1',
+'actionthrottled' => 'تم كبح الفعل',
+'actionthrottledtext' => 'احترازا من السُّخام، يُحظر إجراء هذا الفعل مرات كثيرة في فترة زمنية قصيرة، و لقد تجاوزت هذا الحد.
\85Ù\86 Ù\81ضÙ\84Ù\83 Ø­Ø§Ù\88Ù\84 Ù\85جددا Ø¨Ø¹Ø¯ عدة دقائق.',
 'protectedpagetext' => 'هذه الصفحة تمت حمايتها لمنع التعديل أو أية عمليات أخرى.',
-'viewsourcetext' => 'يمكنك رؤية ونسخ مصدر هذه الصفحة:',
-'viewyourtext' => "Ù\8aÙ\85Ù\83Ù\86Ù\83 Ø±Ø¤Ù\8aØ© Ù\88نسخ مصدر ''' تعديلاتك ''' في هذه الصفحة:",
+'viewsourcetext' => 'تمكنك مطالعة و نسخ مصدر هذه الصفحة:',
+'viewyourtext' => "Ù\8aÙ\85Ù\83Ù\86Ù\83 Ø§Ø³ØªØ¹Ø±Ø§Ø¶ Ù\88 نسخ مصدر ''' تعديلاتك ''' في هذه الصفحة:",
 'protectedinterface' => 'توفر هذه الصفحة نص الواجهة للبرنامج على هذا الويكي، وهي محمية لمنع سوء أستخدامها.
 لإضافة أو تغيير الترجمات لجميع مشاريع الويكي، رجاءً أستخدم [//translatewiki.net/ translatewiki.net]، مشروع الترجمة الخاص بميدياويكي.',
 'editinginterface' => "'''تحذير:''' أنت تقوم بتحرير صفحة تستخدم في الواجهة النصية للبرنامج.
@@ -935,11 +948,12 @@ $2',
 'createacct-reason' => 'السبب',
 'createacct-reason-ph' => 'لماذا تقوم بإنشاء حساب آخر',
 'createacct-captcha' => 'تحقق أمني',
+'createacct-imgcaptcha-ph' => 'أدخل النص الذي تراه في الأعلى',
 'createacct-submit' => 'افتح الحساب',
 'createacct-benefit-heading' => 'موقع {{SITENAME}} أنشأه أشخاص مثلك.',
-'createacct-benefit-body1' => 'التعديلات',
-'createacct-benefit-body2' => 'الصفحات',
-'createacct-benefit-body3' => 'اÙ\84Ù\85ساÙ\87Ù\85Ù\8aÙ\86 Ù\81Ù\8a Ø§Ù\84Ø¢Ù\88Ù\86Ø© Ø§Ù\84أخÙ\8aرة',
+'createacct-benefit-body1' => '{{PLURAL:$1|تحريرا|تحريرات}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|صفحة}}',
+'createacct-benefit-body3' => 'آخر {{PLURAL:$1|Ù\85ساÙ\87Ù\85\85ساÙ\87Ù\85Ù\8aÙ\86}}',
 'badretype' => 'كلمات السر التي أدخلتها لا تتطابق.',
 'userexists' => 'اسم المستخدم الذي تم إدخاله مستعمل بالفعل.
 الرجاء اختيار اسم مختلف.',
@@ -1011,7 +1025,7 @@ $2',
 'usernamehasherror' => 'لا يمكن أن يحتوي اسم المستخدم على محارف هاش',
 'login-throttled' => 'لقد قمت بمحاولات دخول كثيرة جدا مؤخرا.
 من فضلك انتظر قبل المحاولة مرة أخرى.',
-'login-abort-generic' => 'Ù\84Ù\85 Ù\8aÙ\86جح Ù\88Ù\84Ù\88جÙ\83 - Ø¥Ø¬Ù\87اض',
+'login-abort-generic' => 'Ù\84Ù\85 Ù\8aÙ\86جح Ù\88Ù\84Ù\88جÙ\83 - ØªÙ\85 Ø¥Ø¬Ù\87اضÙ\87',
 'loginlanguagelabel' => 'اللغة: $1',
 'suspicious-userlogout' => 'رفض طلب خروجك لأنه يبدو كأنه أرسل عن طريق متصفح معطوب أو وسيط تخزين.',
 
@@ -1038,14 +1052,13 @@ $2',
 'resetpass-wrong-oldpass' => 'كلمة سر حالية أو مؤقتة غير صحيحة.
 ربما تكون غيرت كلمة السر الخاصة بك بنجاح أو طلبت كلمة سر مؤقتة جديدة.',
 'resetpass-temp-password' => 'كلمة سر مؤقتة:',
+'resetpass-abort-generic' => 'منعت مُلحقة إتمام صيرورة تغيير كلمة السّر.',
 
 # Special:PasswordReset
 'passwordreset' => 'إعادة ضبط كلمة السر',
-'passwordreset-text' => 'أكمل هذا النموذج لإعادة ضبط كلمة السر الخاصة بك.',
 'passwordreset-legend' => 'إعادة تعيين كلمة السر',
 'passwordreset-disabled' => 'عُطّلت إعادة تعيين كلمة السر على هذه الويكي.',
 'passwordreset-emaildisabled' => 'تم تعطيل ميزات البريد الإلكتروني على هذه الويكي.',
-'passwordreset-pretext' => '{{PLURAL:$1||أدخل أحد أجزاء البيانات أدناه}}',
 'passwordreset-username' => 'اسم المستخدم:',
 'passwordreset-domain' => 'النطاق:',
 'passwordreset-capture' => 'أأعرض البريد الإلكتروني الناتج؟',
@@ -1068,7 +1081,7 @@ $2
 كلمة السر المؤقتة: $2',
 'passwordreset-emailsent' => 'أُرسل بريد إلكتروني لإعادة ضبط كلمة السر.',
 'passwordreset-emailsent-capture' => 'أُرسل بريد إلكتروني لإعادة ضبط كلمة السر، وهو معروض بالأسفل.',
-'passwordreset-emailerror-capture' => 'ولّد بريد إلكتروني لإعادة ضبط كلمة السر وهو معروض بالأسفل لكن فشل إرساله للمستخدم: $1',
+'passwordreset-emailerror-capture' => 'تم توليد رسالة بريد إلكتروني لتصفير كلمة السر نصّه التالي، إلا أنه تعذّر إرسال الرّسالة إلى {{GENDER:$2|المستخدم|المستخدمة}}: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'تغيير عنوان البريد الإلكتروني',
@@ -1729,6 +1742,7 @@ $1",
 'userrights-notallowed' => 'حسابك لا يمتلك إذنا لإضافة أو إزالة صلاحيات المستخدمين.',
 'userrights-changeable-col' => 'المجموعات التي يمكنك تغييرها',
 'userrights-unchangeable-col' => 'المجموعات التي لا يمكنك تغييرها',
+'userrights-conflict' => 'تضارب في صلاحيات المستخدمين. طبّق تغييراتك مجدّدا',
 
 # Groups
 'group' => 'المجموعة:',
@@ -2564,8 +2578,8 @@ $1',
 'notvisiblerev' => 'المراجعة تم حذفها',
 'watchnochange' => 'لم تُعدّل أي صفحة في قائمة مراقبتك خلال الفترة الزمنية المحددة.',
 'watchlist-details' => '{{PLURAL:$1||صفحة واحدة|صفحتان|$1 صفحات|$1 صفحة}} في قائمة مراقبتك، بدون عد صفحات النقاش.',
-'wlheader-enotif' => '* الإخطار بالبريد الإلكتروني مفعل.',
-'wlheader-showupdated' => "* الصفحات التي تم تحريرها بعد زيارتك لها لآخر مرة معروضة بالخط '''الغليظ'''",
+'wlheader-enotif' => 'الإخطار بالبريد الإلكتروني مُفعّل.',
+'wlheader-showupdated' => "الصفحات التي تم تحريرها بعد مطالعتك إياها آخر مرة عناوينها بالخط '''الغليظ'''",
 'watchmethod-recent' => 'فحص التعديلات الأخيرة للصفحات المراقبة',
 'watchmethod-list' => 'فحص الصفحات المراقبة للتعديلات الحديثة',
 'watchlistcontains' => 'تحتوي قائمة مراقبتك على {{PLURAL:$1|لا صفحات|صفحة واحدة|صفحتان|$1 صفحات|$1 صفحة}}.',
@@ -2988,6 +3002,7 @@ $1',
 'sorbsreason' => 'عنوان الأيبي الخاص بك موجود كبروكسي مفتوح في DNSBL المستخدم بواسطة {{SITENAME}}.',
 'sorbs_create_account_reason' => 'عنوان الأيبي الخاص بك موجود كبروكسي مفتوح في DNSBL المستخدم بواسطة {{SITENAME}}.
 لا يمكنك إنشاء حساب.',
+'xffblockreason' => 'عنوان آي‌بي مذكور في ترويسة X-Forwarded-For، الذي ربما يخصّك أو يخصّ خادوما وسيطا تستخدمه، قد حُظِر. السبب الأصلي للحظر كان: $1',
 'cant-block-while-blocked' => 'أنت لا يمكنك منع المستخدمين الآخرين بينما أنت ممنوع.',
 'cant-see-hidden-user' => 'المستخدم الذي تحاول منعه تم منعه سابقاً وإخفاؤه. بما أنك لا تمتلك صلاحية إخفاء المستخدم، لا يمكنك مشاهدة المنع أو تعديله.',
 'ipbblocked' => 'لا يمكنك منع أو رفع منع مستخدمين آخرين لأنك ممنوع',
@@ -3154,6 +3169,8 @@ $1',
 'thumbnail-more' => 'كبّر',
 'filemissing' => 'الملف مفقود',
 'thumbnail_error' => 'خطأ في إنشاء صورة مصغرة: $1',
+'thumbnail_error_remote' => 'رسالة عطل من $1:
+$2',
 'djvu_page_error' => 'صفحة DjVu خارج النطاق',
 'djvu_no_xml' => 'لا يمكن جلب XML لملف DjVu',
 'thumbnail-temp-create' => 'تعذر إنشاء ملف الصورة المصغرة المؤقت',
@@ -3311,7 +3328,6 @@ $1',
 'modern.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمي واجهة مودرن */',
 'vector.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمي واجهة فكتور */',
 'print.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على ناتج الطباعة */',
-'handheld.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على الأجهزة المحمولة بالاعتماد على الواجهة المضبوطة في $wgHandheldStyle */',
 'noscript.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على المستخدمين الذين الجافاسكريبت لديهم معطلة */',
 'group-autoconfirmed.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على المستخدمين المؤكدين تلقائيا فقط */',
 'group-bot.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على البوتات فقط */',
@@ -3485,11 +3501,25 @@ $1',
 'minutes' => '{{PLURAL:$1||دقيقة واحدة|دقيقتين|$1 دقائق|$1 دقيقة}}',
 'hours' => '{{PLURAL:$1||ساعة واحدة|ساعتين|$1 ساعات|$1 ساعة}}',
 'days' => '{{PLURAL:$1||يوم واحد|يومين|$1 أيام|$1 يومًا|$1 يوم}}',
+'weeks' => '{{PLURAL:$1|أسبوع|$1 أسابيع}}',
 'months' => '{{PLURAL:$1||شهر واحد|شهرين|$1 شهور|$1 شهرا|$1 شهر}}',
 'years' => '{{PLURAL:$1||سنة واحدة|سنتين|$1 سنين|$1 سنة}}',
 'ago' => 'قبل $1',
 'just-now' => 'الآن فقط',
 
+# Human-readable timestamps
+'hours-ago' => 'منذ {{PLURAL:$1|ساعة|$1 ساعات}}',
+'minutes-ago' => 'منذ {{PLURAL:$1|دقيقة|$1 دقائق}}',
+'seconds-ago' => 'منذ {{PLURAL:$1|ثانية|$1 ثوان}}',
+'monday-at' => 'يوم الاثنين الساعة $1',
+'tuesday-at' => 'يوم الثلاثاء الساعة $1',
+'wednesday-at' => 'يوم الأربعاء الساعة $1',
+'thursday-at' => 'يوم الخميس الساعة $1',
+'friday-at' => 'يوم الجمعة الساعة $1',
+'saturday-at' => 'يوم السبت الساعة $1',
+'sunday-at' => 'يوم الأحد الساعة $1',
+'yesterday-at' => 'يوم أمس الساعة $1',
+
 # Bad image list
 'bad_image_list' => 'الصيغة كالتالي:
 
@@ -4236,6 +4266,18 @@ $5
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath مسار المقالات]',
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath مسار السكريبت]',
 
+# Special:Redirect
+'redirect' => 'تحويل باسم ملف أو اسم مستخدم أو رقم مراجعة',
+'redirect-legend' => 'تحويل إلى ملف أو صفحة',
+'redirect-summary' => 'هذه الصفحة الخاصة تحوّل إلى ملف (باسمه) أو صفحة (برقم إحدى مراجعاتها) أو إلى صفحة مستخدم (برقمه التعريفي).',
+'redirect-submit' => 'حوّل',
+'redirect-lookup' => 'ابحث في:',
+'redirect-value' => 'الوجهة',
+'redirect-user' => 'رقم مستخدم',
+'redirect-revision' => 'مراجعة صفحة',
+'redirect-file' => 'اسم ملف',
+'redirect-not-exists' => 'المطلوب غير موجود',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'بحث عن ملفات مكررة',
 'fileduplicatesearch-summary' => 'ابحث عن الملفات المكررة بناء على قيم الهاش.',
@@ -4327,6 +4369,7 @@ $5
 'htmlform-selectorother-other' => 'أخرى',
 'htmlform-no' => 'لا',
 'htmlform-yes' => 'نعم',
+'htmlform-chosen-placeholder' => 'اختر',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 بدعم البحث في كامل النص',
@@ -4342,8 +4385,8 @@ $5
 'logentry-suppress-delete' => '{{GENDER:$2|أخفى|أخفت}} $1 صفحة $3',
 'logentry-suppress-event' => 'غيّر{{GENDER:$2||ت}} $1 بسرية إمكانية مشاهدة {{PLURAL:$5||حدث|حدثين|$5 أحداث|$5 حدثًا|$5 حدث}} في سجل $3: $4',
 'logentry-suppress-revision' => 'غيّر{{GENDER:$2||ت}} $1 سراً إمكانية مشاهدة {{PLURAL:$5||مراجعة واحدة|مراجعتين|$5 مراجعات|$5 مراجعة}} في صفحة $3: $4',
-'logentry-suppress-event-legacy' => 'غيّر $1 بسرية إمكانية رؤية أحداث سجل $3',
-'logentry-suppress-revision-legacy' => 'غيّر $1 بسرية إمكانية رؤية مراجعات صفحة $3',
+'logentry-suppress-event-legacy' => '{{GENDER:$2|غيّر|غيّرت}} $1 علانية سِجِلّ $3',
+'logentry-suppress-revision-legacy' => '{{GENDER:$2|غيّر|غيّرت}} $1 علانية مراجعات صفحة $3',
 'revdelete-content-hid' => 'محتوى مخفي',
 'revdelete-summary-hid' => 'ملخص التحرير مخفي',
 'revdelete-uname-hid' => 'اسم المستخدم مخفي',
@@ -4352,20 +4395,20 @@ $5
 '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-patrol-patrol' => '$1 مراجعة معلمة $4 للصفحة $3 تم معاينتها',
-'logentry-patrol-patrol-auto' => '$1 مراجعة معلمة تلقائيا $4 للصفحة $3 تم مراجعتها',
-'logentry-newusers-newusers' => 'تم إنشاء الحساب $1',
-'logentry-newusers-create' => 'تم إنشاء الحساب $1',
-'logentry-newusers-create2' => 'Ø£Ù\86شأ $1 Ø§Ù\84حساب $3',
+'logentry-move-move' => '{{GENDER:$2|نقل|نقلت}} $1 صفحة $3 إلى $4',
+'logentry-move-move-noredirect' => '{{GENDER:$2|نقل|نقلت}} $1 صفحة $3 إلى $4 دون ترك تحويلة',
+'logentry-move-move_redir' => '{{GENDER:$2|نقل|نقلت}} $1 صفحة $3 إلى $4 على تحويلة',
+'logentry-move-move_redir-noredirect' => '{{GENDER:$2|نقل|نقلت}} $1 صفحة $3 إلى $4 على تحويلة دون ترك تحويلة',
+'logentry-patrol-patrol' => '{{GENDER:$2|عاين|عاين}} $1 المراجعة $4 للصفحة $3',
+'logentry-patrol-patrol-auto' => '{{GENDER:$2|عاين|عاينت}} $1 تلقائيا المراجعة $4 للصفحة $3',
+'logentry-newusers-newusers' => 'تم فتح حساب {{GENDER:$2|المستخدم|المستخدمة}} $1',
+'logentry-newusers-create' => 'تم فتح حساب {{GENDER:$2|المستخدم|المستخدمة}} $1',
+'logentry-newusers-create2' => 'Ø£Ù\86شأ $1 Ø­Ø³Ø§Ø¨Ø§ {{GENDER:$2|Ù\84Ù\84Ù\85ستخدÙ\85\84Ù\84Ù\85ستخدÙ\85Ø©}} $3',
 'logentry-newusers-byemail' => 'ُ{{GENDER:$2|أنشأ|أنشأت}} $1 حساب المستخدم $3 وأُرسلت كلمة السر بالبريد الإلكتروني',
-'logentry-newusers-autocreate' => 'أنشئ حساب $1 تلقائياً',
-'logentry-rights-rights' => 'غير $1 صلاحيات $3 من $4 إلى $5',
-'logentry-rights-rights-legacy' => 'غير $1 صلاحيات $3',
-'logentry-rights-autopromote' => 'تمت ترقية $1 تلقائياً من  $4 إلى $5',
+'logentry-newusers-autocreate' => 'أنشئ حساب {{GENDER:$2|المستخدم|المستخدمة}} $1 تلقائيًا',
+'logentry-rights-rights' => '{{GENDER:$2|غيّر|غيّرت}} $1 عضوية $3 من $4 إلى $5',
+'logentry-rights-rights-legacy' => '{{GENDER:$2|غيّر|غيّرت}} $1 عضوية $3',
+'logentry-rights-autopromote' => 'تمت تلقائيا ترقية {{GENDER:$2|المستخدم|المستخدمة}} $1 من  $4 إلى $5',
 'rightsnone' => '(لا شيء)',
 
 # Feedback
index e366136..28619a6 100644 (file)
@@ -492,7 +492,6 @@ $1',
 # Special:PasswordReset
 'passwordreset' => 'ܣܘܡ ܡܠܬܐ ܕܥܠܠܐ ܙܒܢ ܐܚܪܝܢ',
 'passwordreset-legend' => 'ܣܘܡ ܡܠܬܐ ܕܥܠܠܐ ܙܒܢ ܐܚܪܝܢ',
-'passwordreset-pretext' => '{{PLURAL:$1||ܐܥܠ ܚܕ ܡܢ ܡܢܘܬ̈ܐ ܕܝܕ̈ܥܬܐ ܠܬܬܚܬ}}',
 'passwordreset-username' => 'ܫܡܐ ܕܡܦܠܚܢܐ:',
 'passwordreset-domain' => 'ܪܘܚܬܐ:',
 'passwordreset-email' => 'ܡܘܢܥܐ ܕܒܝܠܕܪܐ ܐܠܩܛܪܘܢܝܐ:',
@@ -536,8 +535,8 @@ $1',
 'accmailtitle' => 'ܡܠܬܐ ܕܥܠܠܐ ܫܕܪܬ',
 'newarticle' => '(ܚܕܬܐ)',
 'newarticletext' => "ܐܬܬ ܒܬܪ ܐܣܪܐ ܕܦܐܬܐ ܕܠܐ ܐܬܬܣܝܡܬ ܥܕܡܫ.
-ܠܣܘܝܡܐ ܕܦܐܬܐ ܗܕܐ, ܫܪܝ ܠܟܬܒܬܐ ܒܣܢܕܘܩܐ ܠܬܚܬ (ܚܙܝ [[{{MediaWiki:Helppage}}|ܦܐܬܐ ܕܥܘܕܪܢܐ]] ܠܐܚܪܢܐ ܝܕ̈ܥܬܐ).
-ܐܢ ܐܬܬ ܠܗܪܟܐ ܦܘܕܐܝܬ, ܕܘܫ ܠܦܪܡܝܬܐ ܕ '''ܠܒܣܬܪ back''' ܒܡܦܐܬܢܐ ܕܝܠܟ.",
+ܠܣܘܝܡܐ ܕܦܐܬܐ ܗܕܐ، ܫܪܝ ܠܟܬܒܬܐ ܒܣܢܕܘܩܐ ܠܬܚܬ (ܚܙܝ [[{{MediaWiki:Helppage}}|ܦܐܬܐ ܕܥܘܕܪܢܐ]] ܠܐܚܪܢܐ ܝܕ̈ܥܬܐ).
+ܐܢ ܐܬܬ ܠܗܪܟܐ ܦܘܕܐܝܬ، ܟܒܘܫ ܥܠ ܦܪܡܝܬܐ ܕ '''ܠܒܣܬܪ back''' ܒܡܦܐܬܢܐ ܕܝܠܟ.",
 'updated' => '(ܐܬܚܕܬ)',
 'note' => "'''ܡܥܝܪܢܘܬܐ:'''",
 'previewnote' => "'''ܕܟܪ ܕܗܢܘ ܚܝܪܐ ܩܕܡܝܐ ܒܠܚܘܕ'''.
@@ -1241,7 +1240,7 @@ $1',
 'unwatchthispage' => 'ܟܠܝ ܪܗܝܐ',
 'watchnochange' => 'ܐܦܠܐ ܚܕ ܡܢ ܦܐܬܬ̈ܐ ܒܪ̈ܗܝܬܟ ܐܫܬܚܠܦܬ ܒܡܬܚܐ ܕܙܒܢܐ ܓܠܝܚܐ.',
 'watchlist-details' => '{{PLURAL:$1|$1 ܦܐܬܐ|$1 ܦܐܬܬ̈ܐ}} ܒܪ̈ܗܝܬܟ, ܫܒܘܩ ܡܢ ܦܐܬܬ̈ܐ ܕܡܡܠܠܐ.',
-'wlheader-showupdated' => "ܦܐܬܬ̈ܐ ܕܐܫܬܚܠܦܢ ܡܢ ܒܬܪ ܣܘܥܪܢܟ ܐܚܪܝܐ ܡܬܓܠܚܢ ܒܣܪܛܐ '''ܚܠܝܡܐ'''",
+'wlheader-showupdated' => "ܦܐܬܬ̈ܐ ܕܐܫܬܚܠܦܢ ܡܢ ܒܬܪ ܣܘܥܪܢܟ ܐܚܪܝܐ ܡܬܓܠܚܢ ܒܣܪܛܐ '''ܚܠܝܡܐ'''",
 'wlnote' => "ܠܬܚܬ {{PLURAL:$1|ܫܘܚܠܦܐ ܐܚܪܝܐ| '''$1''' ܫܘܚܠܦ̈ܐ ܐܚܪ̈ܝܐ}} {{PLURAL:$2|ܒܫܥܬܐ ܐܚܪܝܬܐ|'''$2''' ܒܫܥܬ̈ܐ ܐܚܪ̈ܝܬܐ}}, ܠܦܘܬ $3, $4.",
 'wlshowlast' => 'ܚܘܝ $1 ܫܥܬ̈ܐ $2 ܝܘܡܬ̈ܐ ܐܚܪ̈ܝܐ $3',
 'watchlist-options' => 'ܨܒܝܢܝܘܬ̈ܐ ܕܪ̈ܗܝܬܐ',
index 7ece867..fd69d9e 100644 (file)
@@ -636,7 +636,7 @@ Fey ñi chumngen mülelu ($2 fey ñi chumngen wülngiñ) pengeli tüfa mew.',
 # Special:ListGroupRights
 'listgrouprights-members' => '(koneltulu kellufe ñi wif)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Amulün werküwe tüfachi kellufe',
 'emailsubject' => 'Dungu',
 'emailmessage' => 'Dungu',
@@ -888,7 +888,7 @@ Ka dungu ellkangeay wünedullin reke.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-artist' => 'Che llitun mew',
 'exif-exposuretime-format' => '$1 sek ($2)',
 
index c8eb750..73fb16f 100644 (file)
@@ -46,8 +46,6 @@ $messages = array(
 'tog-shownumberswatching' => 'biyn aadad lmostakhdimin lmoraqibin',
 'tog-oldsig' => 'moaayana litawqia lmawjod',
 'tog-fancysig' => 'aaml nass bhal nass wiki (bla wsla otomatikia)',
-'tog-externaleditor' => 'stakhdm moharrir khariji iftiradiyan(faqat lilkhobaraa, kaybghi iaadadat khassa f lordinator dyalk)',
-'tog-externaldiff' => 'stakhdm farq khariji iftiradiyan(faqat lilkhobaraa, kaybghi iaadadat khassa f lordinator dyalk)',
 'tog-showjumplinks' => 'mkkn wassalat "sir l" lmossaaida',
 'tog-uselivepreview' => 'staml listiarad saria (khasso javascipt) (tjribi)',
 'tog-forceeditsummary' => 'nbhni ila kandkhl molkhass taadil khawi',
@@ -976,15 +974,6 @@ Jerreb be l-préfiks \"all:\" baċ ṫqelleb ĝla l-meḍmon kollo (o ḫṫa 
 Imken lik ṫqeleb fe google.
 Laḫed ana imken ikono l-indexaṫ dial {{SITENAME}} qdam o ma bqaoċ ṣalḫin.',
 
-# Quickbar
-'qbsettings' => "L-lawḫa 's-sariĝa",
-'qbsettings-none' => 'Ma kaynċ',
-'qbsettings-fixedleft' => "Meḫbos fe 'ċ-ċmal",
-'qbsettings-fixedright' => "Meḫbos fe 'l-limin",
-'qbsettings-floatingleft' => "Ḫor fe 'ċ-ċmal",
-'qbsettings-floatingright' => "Ḫor fe 'l-limen",
-'qbsettings-directionality' => 'ṫabṫ, ĝla ḫasab ṫṫijah l-kṫaba b-loġṫk',
-
 # Preferences page
 'preferences' => 'ṫfḍilaṫ',
 'mypreferences' => 'Ḫajaṫ li kanfeḍḍel',
@@ -1374,7 +1363,6 @@ $1',
 'http-read-error' => "khata' qira'at HTTP.",
 'http-timed-out' => 'salat moddat mohlat talab dyal HTTp.',
 'http-curl-error' => "khata' f jalb lmassar: $1",
-'http-host-unreachable' => 'manqdroch nwslo l had lmassar.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'manqdroch nwslo l had lmassar.',
@@ -1676,8 +1664,8 @@ L-Kṫaba dyal had ṣ-ṣefḫa ġaṫban '''ġliḍa''' fe [[Special:RecentCha
 'unwatchthispage' => 'hiyd mn list dyal s-suivi dyali',
 'notanarticle' => 'Hadi maċi ṣefḫaṫ meḍmon',
 'watchlist-details' => '{{PLURAL:$1|ṣefḫa weḫda|$1 de ṣ-ṣefḫaṫ}} kaynin fe l-lista dyal s-suivi dyalṫek, bla ma nḫesbo ṣ-ṣefḫaṫ dyal n-niqaċ.',
-'wlheader-enotif' => 'l-iĝlam bl-email mtloq.',
-'wlheader-showupdated' => "ṣ-ṣfaḫi lli ṫġyyeraṫ mn aĥir ẓiyaṛa ṫaĝk mkṫoba b-ĥatt '''ġliḍ'''",
+'wlheader-enotif' => 'l-iĝlam bl-email mtloq.',
+'wlheader-showupdated' => "ṣ-ṣfaḫi lli ṫġyyeraṫ mn aĥir ẓiyaṛa ṫaĝk mkṫoba b-ĥatt '''ġliḍ'''",
 'iteminvalidname' => "moċkil mĝa l-madda '$1', smia ma ṣḫiḫa-ċ...",
 'wlshowlast' => 'Werri  l-$1 de s-swayeĝ o l-$2 iyam l-leĥĥrin, ola werri $3',
 'watchlist-options' => 'Lé-Opsyon de l-lista dyal s-suivi',
@@ -2167,8 +2155,6 @@ L-lyanaṫ l-ĥrin l-li fe nefs ṣ-ṣter ka-nĝṫabrohom bḫal sṫiṫna'a
 
 /*
 Short names for language variants used for language conversion links.
-To disable showing a particular link, set it to 'disable', e.g.
-'variantname-zh-sg' => 'disable',
 Variants for Chinese language
 */
 'variantname-zh-hans' => 'Kṫaba',
@@ -2222,7 +2208,7 @@ Ila ṫbeddel l-fiċyé men ḫalṫo l-'aṣliya, kaynin ċi ṫafaṣil ma mna
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'laard',
 'exif-imagelength' => 'lirtifaa',
 'exif-bitspersample' => 'bit lkol mokawwin',
@@ -2626,11 +2612,6 @@ jrreb l-ĝṛḍ l-ĝadi.',
 'version-software-product' => 'lmntoj',
 'version-software-version' => 'noskha',
 
-# Special:FilePath
-'filepath' => 'massar lfichier',
-'filepath-page' => 'mileff:',
-'filepath-submit' => 'Sir',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'qlleb ĝla milffaṫ mḍoḅla',
 'fileduplicatesearch-summary' => 'qlleb ĝla milffaṫ mḍoḅla ĝla asas l-qyam dl-haċ.',
index 35e7368..46bf2f8 100644 (file)
@@ -333,8 +333,6 @@ $messages = array(
 'tog-shownumberswatching' => 'بين عدد اليوزرز المراقبين',
 'tog-oldsig' => 'الامضا دلوقتى:',
 'tog-fancysig' => 'امضا خام (من غير لينك أوتوماتيك)',
-'tog-externaleditor' => 'استخدم محرر خارجى بشكل افتراضى (للخبرا بس، يحتاج إعدادات خاصة على كومبيوترك) ([//www.mediawiki.org/wiki/Manual:External_editors لمزيد من المعلومات].)',
-'tog-externaldiff' => 'استخدم فرق خارجى بشكل افتراضى (للخبرا بس، يحتاج إعدادات خاصة على كومبيوترك) ([//www.mediawiki.org/wiki/Manual:External_editors لمعلومات اكتر].)',
 'tog-showjumplinks' => 'خلى وصلات "روح لـ" تكون شغالة.',
 'tog-uselivepreview' => 'استخدم البروفة السريعة (جافاسكريبت) (تجريبي)',
 'tog-forceeditsummary' => 'نبهنى عند تدخيل ملخص للتعديل  فاضي',
@@ -349,6 +347,7 @@ $messages = array(
 'tog-showhiddencats' => 'بين التّصنيفات المستخبية',
 'tog-noconvertlink' => 'عطل تحويل عناوين الوصلات',
 'tog-norollbackdiff' => 'الغى الاختلافات بعد ما تعمل الرول باك',
+'tog-useeditwarning' => 'حذّرنى لما اسيب صفحة تعديل فيها تغييرات مش متسييڤه',
 
 'underline-always' => 'دايما',
 'underline-never' => 'ابدا',
@@ -980,6 +979,8 @@ $2',
 'edit-no-change' => 'تعديلك تم تجاهله، لأن ما حصلش أى تعديل للنص.',
 'edit-already-exists' => 'لم يمكن إنشاء صفحة جديدة.
 هى موجودة بالفعل.',
+'editwarning-warning' => 'لو سيبت الصفحه دى ممكن يخلّيك تضيّع اى تغييرات عملتها.
+لو انت مسجّل دخولك, ممكن تعطّل التحذير ده من الجزء بتاع "تعديل" فى تفضيلاتك.',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => 'تحذير: الصفحه دى فيهااستدعاءات دالة محلل كثيرة مكلفة.
@@ -1245,14 +1246,6 @@ $1",
 ممكن تدور فى جوجل دلوقتي.
 لاحظ أن فهارسه لمحتوى {{SITENAME}} يمكن تكون مش متحدثة.',
 
-# Quickbar
-'qbsettings' => 'البار السريع',
-'qbsettings-none' => 'ما فى ش',
-'qbsettings-fixedleft' => 'متثبت فى الشمال',
-'qbsettings-fixedright' => 'متثبت فى اليمين',
-'qbsettings-floatingleft' => 'عايم على الشمال',
-'qbsettings-floatingright' => 'عايم على اليمين',
-
 # Preferences page
 'preferences' => 'تفضيلات',
 'mypreferences' => 'تفضيلاتى',
@@ -1716,7 +1709,6 @@ PICT # misc.
 'http-read-error' => 'فى غلط فى قراية ال HTTP',
 'http-timed-out' => 'طلب ال HTTP خلص وقته',
 'http-curl-error' => 'حصل غلط و احنا بنجيب الURL : $1',
-'http-host-unreachable' => 'ما قدرناش نوصل لل URL.',
 'http-bad-status' => 'HTTP : حصلت مشكله وقت طلب ال $1 $2',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
@@ -2089,7 +2081,7 @@ PICT # misc.
 'watchnochange' => 'مافيش ولا صفحة اتعدلت فى لستة مراقبتك فى الفترة الزمنية اللى حددتها.',
 'watchlist-details' => '{{PLURAL:$1|$1 صفحه|$1 صفحه}} فى قايمه مراقبتك، بدون عد صفحات المناقشه.',
 'wlheader-enotif' => '*خاصية الاعلام بالايميل متفعلة',
-'wlheader-showupdated' => "الصفحات اللى اتغيرت  بعد زيارتك ليها اخر مرة معروضة بالخط '''العريض'''",
+'wlheader-showupdated' => "الصفحات اللى اتغيرت  بعد زيارتك ليها اخر مرة معروضة بالخط '''العريض'''",
 'watchmethod-recent' => 'التشييك على التعديلات الاخيرة للصفحات المتراقبة',
 'watchmethod-list' => 'التشييك فى الصفحات المتراقبة على التعديلات الاخيرة',
 'watchlistcontains' => 'لستة المراقبة بتاعتك فيها $1 {{PLURAL:$1|صفحة|صفحات}}.',
@@ -2318,7 +2310,7 @@ $1',
 'blanknamespace' => '(رئيسى)',
 
 # Contributions
-'contributions' => 'تعديلات اليوزر',
+'contributions' => 'تعديلات اليوزر {{GENDER:$1|اليوزر|اليوزره}}',
 'contributions-title' => 'مساهمات اليوزر ل$1',
 'mycontris' => 'تعديلاتى',
 'contribsub2' => 'لليوزر $1 ($2)',
@@ -2738,27 +2730,16 @@ $1',
 
 # Stylesheets
 'common.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على كل الواجهات */',
-'standard.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمى واجهة ستاندرد */',
-'nostalgia.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمى واجهة نوستالشيا */',
 'cologneblue.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمى واجهة كولون بلو */',
 'monobook.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمى واجهة مونوبوك */',
-'myskin.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمى واجهة ماى سكين */',
-'chick.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمى واجهة تشيك */',
-'simple.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمى واجهة سيمبل */',
 'modern.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمى واجهة مودرن */',
 'vector.css' => '/* CSS اللى هنا حتأثر على اليوزرز اللى بيستخدموا واجهة فكتور */',
 'print.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على ناتج الطباعة */',
-'handheld.css' => '/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على الأجهزة المحمولة بالاعتماد على الواجهة المضبوطة فى $wgHandheldStyle */',
 
 # Scripts
 'common.js' => '/*  أى جافاسكريبت  هناح يتحمل لكل اليوزرز مع كل تحميل للصفحة. */',
-'standard.js' => '/* أى جافاسكريبت هنا ح تتحمل لليوزرز اللى بيستعملو واجهة ستاندرد */',
-'nostalgia.js' => '/* أى جافاسكريبت هنا ح تتحمل لليوزرز اللى بيستعملو واجهة نوستالجيا */',
 'cologneblue.js' => '/* أى جافاسكريبت هنا ح تتحمل لليوزرز اللى بيستعملو واجهة كولون بلو */',
 'monobook.js' => '/* أى جافاسكريبت هنا ح تتحمل لليوزرز اللى بيستعملو واجهة مونوبوك */',
-'myskin.js' => '/* أى جافاسكريبت هنا ح تتحمل لليوزرز اللى بيستعملو واجهة ماى سكين */',
-'chick.js' => '/* أى جافاسكريبت هنا ح تتحمل لليوزرز اللى بيستعملو واجهة تشيك */',
-'simple.js' => '/* أى جافاسكريبت هنا ح تتحمل لليوزرز اللى بيستعملو واجهة سيمبل */',
 'modern.js' => '/* أى جافاسكريبت هنا ح تتحمل لليوزرز اللى بيستعملو واجهة مودرن */',
 'vector.js' => '/* اى جافاسكريبت هنا حتتحمل لكل يوزر بيستخدم واجهة فكتور */',
 
@@ -2787,13 +2768,8 @@ $1',
 'spam_blanking' => 'كل النسخ فيها لينكات ل $1، فضيها',
 
 # Skin names
-'skinname-standard' => 'كلاسيك',
-'skinname-nostalgia' => 'نوستالجيا',
 'skinname-cologneblue' => 'كولون بلو',
 'skinname-monobook' => 'مونوبوك',
-'skinname-myskin' => 'ماى سكين',
-'skinname-chick' => 'تشيك',
-'skinname-simple' => 'سيمبل',
 'skinname-modern' => 'مودرن',
 
 # Patrolling
@@ -2888,7 +2864,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'العرض',
 'exif-imagelength' => 'الطول',
 'exif-bitspersample' => 'بتس لكل مكون',
@@ -3004,7 +2980,7 @@ $1',
 'exif-gpsdatestamp' => 'تاريخ GPS',
 'exif-gpsdifferential' => 'تصحيح GPS التفاضلي',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'مش مضغوط',
 'exif-compression-6' => 'جيه بى إى جي',
 
@@ -3385,13 +3361,6 @@ $5
 'version-software-product' => 'المنتج',
 'version-software-version' => 'النسخه',
 
-# Special:FilePath
-'filepath' => 'مسار ملف',
-'filepath-page' => 'الملف:',
-'filepath-submit' => 'المسار',
-'filepath-summary' => 'الصفحة المخصوصة دى بتعرض المسار الكامل  بتاع ملف.
-الصور بتتعرض  بدقة كاملة، أنواع الملفات التانية ح تشتغل فى البرنامج بتاعهم مباشرة.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'دور على الملفات المتكررة',
 'fileduplicatesearch-summary' => 'دور على الملفات المتكررة على اساس قيمة الهاش بتاعتها.',
index c2669c8..bcd7646 100644 (file)
@@ -183,7 +183,7 @@ $digitGroupingPattern = "##,##,###";
 
 $messages = array(
 # User preference toggles
-'tog-underline' => 'সংযোগ সমূহ অধোৰেখিত কৰক:',
+'tog-underline' => 'সংযোগসমূহ অধোৰেখিত কৰক:',
 'tog-justify' => 'দফাৰ সীমা সমান কৰাক',
 'tog-hideminor' => 'সাম্প্ৰতিক সাল-সলনিত অগুৰুত্বপূৰ্ণ সম্পাদনা নেদেখুৱাব',
 'tog-hidepatrolled' => 'সাম্প্ৰতিক সাল-সলনিত তহলদাৰী সম্পাদনা নেদেখুৱাব',
@@ -239,14 +239,14 @@ $messages = array(
 'editfont-serif' => 'চেৰিফ ফন্ট',
 
 # Dates
-'sunday' => 'দà§\87à¦\93à¦\81বাৰ',
+'sunday' => 'দেওবাৰ',
 'monday' => 'সোমবাৰ',
 'tuesday' => 'মঙ্গলবাৰ',
 'wednesday' => 'বুধবাৰ',
 'thursday' => 'বৃহস্পতিবাৰ',
 'friday' => 'শুক্ৰবাৰ',
 'saturday' => 'শণিবাৰ',
-'sun' => 'দেও',
+'sun' => 'দেও',
 'mon' => 'সোম',
 'tue' => 'মংগল',
 'wed' => 'বুধ',
@@ -281,7 +281,7 @@ $messages = array(
 'feb' => 'ফেব্ৰুৱাৰী:',
 'mar' => 'মাৰ্চ',
 'apr' => 'এপ্ৰিল',
-'may' => 'মে',
+'may' => "মে'",
 'jun' => 'জুন',
 'jul' => 'জুলাই',
 'aug' => 'আগষ্ট',
@@ -289,6 +289,18 @@ $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' => 'ছেপ্টেম্বৰ $1',
+'october-date' => 'অক্টোবৰ $1',
+'november-date' => 'নৱেম্বৰ $1',
+'december-date' => 'ডিচেম্বৰ $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|শ্ৰেণী|শ্ৰেণীসমূহ}}',
@@ -357,16 +369,16 @@ $messages = array(
 'searchbutton' => 'সন্ধান কৰক',
 'go' => 'যাওক',
 'searcharticle' => 'যাওক',
-'history' => 'à¦\96তিয়ান',
-'history_short' => 'à¦\96তিয়ান',
-'updatedmarker' => 'মà§\8bৰ à¦¶à§\87হতà§\80য়া à¦\86à¦\97মনৰ à¦ªà¦¾à¦\9bৰ à¦ªà§°à¦¿à§±à§°à§\8dতনবিলাà¦\95',
-'printableversion' => 'পà§\8dৰà¦\95াশনযà§\8bà¦\97à§\8dয à¦¸à¦\82সà§\8dà¦\95ৰন',
+'history' => 'পà§\83ষà§\8dঠা à¦\87তিহাস',
+'history_short' => 'à¦\87তিহাস',
+'updatedmarker' => 'মà§\8bৰ à¦¶à§\87হতà§\80য়া à¦ªà§°à¦¿à¦¦à§°à§\8dশনৰ à¦ªà¦¾à¦\9bৰ à¦¸à¦¾à¦²à¦¸à¦²à¦¨à¦¿à¦¬à§\8bৰ',
+'printableversion' => 'পà§\8dৰà¦\95াশযà§\8bà¦\97à§\8dয à¦¸à¦\82সà§\8dà¦\95ৰণ',
 'permalink' => 'স্থায়ী সূত্ৰ (লিংক)',
 'print' => 'প্ৰিণ্ট কৰিবলৈ',
 'view' => 'দেখুৱাওক',
 'edit' => 'সম্পাদনা',
 'create' => 'সৃষ্টি কৰক',
-'editthispage' => 'বৰ্তমান পৃষ্ঠাটো সম্পাদন কৰিবলৈ',
+'editthispage' => 'বৰ্তমান পৃষ্ঠাটো সম্পাদন কৰিবলৈ',
 'create-this-page' => 'নতুন পৃষ্ঠা সৃষ্টি কৰক',
 'delete' => 'বিলোপ',
 'deletethispage' => 'এই পৃষ্ঠাখন বিলোপ কৰক',
@@ -526,7 +538,7 @@ $1',
 'missingarticle-rev' => '(সংস্কৰণ#: $1)',
 'missingarticle-diff' => '(তফাৎ: $1, $2)',
 'readonly_lag' => 'তথ্যকোষ স্বয়ংক্ৰিয়ভাৱে বন্ধ হৈছে যাতে দ্বিতীয় শ্ৰেণীৰ তথ্যকোষৰ চাৰ্ভাৰ প্ৰধান তথ্যকোষৰ চাৰ্ভাৰৰ অৱস্থালৈ আহিব পাৰে ।',
-'internalerror' => 'à¦\86ভà§\8dযনà§\8dতৰà§\80ণ à¦\95্ৰুটি',
+'internalerror' => 'à¦\86ভà§\8dযনà§\8dতৰà§\80ণ à¦¤্ৰুটি',
 'internalerror_info' => 'আভ্যন্তৰীণ ত্ৰুটি: $1',
 'fileappenderrorread' => 'যোৰা দিয়াৰ সময়ত "$1" পাঠ্য কৰা নহ\'ল ।',
 'fileappenderror' => '"$2"ৰ লগত "$1"ৰ সংযোগ কৰা নহ\'ল ।',
@@ -537,10 +549,10 @@ $1',
 'filenotfound' => '"$1" নামৰ ফাইলটো বিচাৰি পোৱা নগ’ল।',
 'fileexistserror' => '"$1" ফাইলটোত লিখিব নোৱাৰি: ফাইলটো আগৰ পৰাই আছে',
 'unexpected' => 'অনাকাংক্ষিত মূল্য: "$1"="$2".',
-'formerror' => 'ভà§\81ল: à¦«à§°à§\8dম খন জমা দিব পৰা নগ’ল',
-'badarticleerror' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8bত এই কামটো কৰিব নোৱাৰি ।',
+'formerror' => 'তà§\8dৰà§\81à¦\9fি: à¦ªà§\8dৰপতà§\8dৰখন জমা দিব পৰা নগ’ল',
+'badarticleerror' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96নত এই কামটো কৰিব নোৱাৰি ।',
 'cannotdelete' => '"$1" পৃষ্ঠা বা নথিখন বিলোপ কৰা অসম্ভৱ ।
-সম্ভৱ আনে আগেই বিলোপ কৰিছে ।',
+সমà§\8dভৱ à¦\86নà§\87 à¦\86à¦\97তà§\87à¦\87 à¦¬à¦¿à¦²à§\8bপ à¦\95ৰিà¦\9bà§\87 à¥¤',
 'cannotdelete-title' => '"$1" পৃষ্ঠা বিলোপ কৰিব নোৱাৰি',
 'delete-hook-aborted' => 'হুকৰ দ্বাৰা সম্পাদনা প্ৰত্যাখ্যান কৰা হৈছে ।
 ইয়াৰ কোনো ব্যাখ্যা নাই ।',
@@ -627,7 +639,7 @@ $2',
 'gotaccount' => "আপুনি সদস্য হয়নে? '''$1'''",
 'gotaccountlink' => 'প্ৰৱেশ',
 'userlogin-resetlink' => 'আপোনাৰ প্ৰৱেশ তথ্য পাহৰিছে?',
-'userlogin-resetpassword-link' => 'আপোনাৰ গুপ্তশব্দ ন-কৈ বহাওক',
+'userlogin-resetpassword-link' => 'à¦\86পà§\8bনাৰ à¦\97à§\81পà§\8dতশবà§\8dদ à¦¨-à¦\95à§\88 à¦¬à¦¹à§\81ৱাà¦\93à¦\95',
 'helplogin-url' => 'Help:প্ৰৱেশ/লগ্‌-ইন',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|প্ৰৱেশ সম্পৰ্কীয় সাহায্য]]',
 'createacct-join' => 'আপোনাৰ তথ্যসমূহ তলত লিখক।',
@@ -693,7 +705,7 @@ $2',
 আৰু অন্যান্য ই-মেইল পঠোৱাৰ আগতে, আপোনাৰ সদস্যতাৰ নিশ্চিত কৰিবলৈ সেই ই-মেইলত দিয়া নিৰ্দেশনা আপুনি অনু্সৰণ কৰিব লাগিব।',
 'throttled-mailpassword' => "যোৱা {{PLURAL:$1|এঘণ্টাত|$1 ঘণ্টাত}} এখন গুপ্তশব্দ উদ্ধাৰ ইমেইল পঠিওৱা হৈছে।
 অবৈধ ব্যৱহাৰ ৰোধ কৰিবলৈ প্ৰতি {{PLURAL:$1|এঘণ্টাত|$1 ঘণ্টাত}} এবাৰহে গুপ্তশব্দ উদ্ধাৰ ইমেইল পঠিওৱা হ'ব।",
-'mailerror' => 'à¦\87-মà§\87à¦\87ল à¦ªà¦ à§\8bৱাত সমস্যা হৈছে: $1',
+'mailerror' => 'à¦\87-মà§\87à¦\87ল à¦ªà¦ à¦¿à¦\93ৱাত সমস্যা হৈছে: $1',
 'acct_creation_throttle_hit' => 'যোৱা ২৪ ঘন্টাত আপোনাৰ আই-পি ঠিকনাৰ পৰা এই ৱিকিৰ পঢ়োঁতাই  {{PLURAL:$1|১-টা একাউন্ট|$1-টা একাউন্ট}} সৃষ্টি কৰিলে, যিটো সৰ্বোচ্চ অনুমোদনকৃত ।
 এতেকে, এই আই-পি ঠিকনাৰ পৰা এই মূহুৰ্তত একাউন্ট সৃষ্টি কৰিব নোৱাৰিব ।',
 'emailauthenticated' => 'আপোনাৰ ই-মেইল ঠিকনাটো $2 তাৰিখৰ $3 বজাত নিশ্চিত কৰা হৈছিল ।',
@@ -731,7 +743,7 @@ $2',
 'oldpassword' => 'পুৰণি গুপ্তশব্দ:',
 'newpassword' => 'নতুন গুপ্তশব্দ:',
 'retypenew' => 'নতুন গুপ্তশব্দ আকৌ লিখক',
-'resetpass_submit' => 'গুপ্তশব্দ বহাওক আৰু প্ৰৱেশ কৰক',
+'resetpass_submit' => 'à¦\97à§\81পà§\8dতশবà§\8dদ à¦¬à¦¹à§\81ৱাà¦\93à¦\95 à¦\86ৰà§\81 à¦ªà§\8dৰৱà§\87শ à¦\95ৰà¦\95',
 'resetpass_success' => 'আপোনাৰ গুপ্তশব্দ সফলতাৰে সলনি কৰা হৈছে, এতিয়া আপুনি প্ৰৱেশ কৰি আছে...',
 'resetpass_forbidden' => 'গুপ্তশব্দ সলনি কৰিব নোৱাৰি',
 'resetpass-no-info' => 'এই পৃষ্ঠা প্ৰত্যক্ষ ভাৱে ঢুকি পাবলৈ আপুনি প্ৰৱেশ কৰিব লাগিব ।',
@@ -743,16 +755,14 @@ $2',
 'resetpass-abort-generic' => 'এটা এক্সটেন্‌ছনৰদ্বাৰা গুপ্তশব্দ সলনি কাৰ্য বাতিল কৰা হৈছে।',
 
 # Special:PasswordReset
-'passwordreset' => 'গুপ্তশব্দ ন-কৈ বহাওক',
-'passwordreset-text' => ' আপোনাৰ গুপ্তশব্দ ন-কৈ বহুৱাবলৈ তলৰ প্ৰপত্ৰ সম্পূৰ্ণ কৰক।',
+'passwordreset' => 'গুপ্তশব্দ ন-কৈ বহুৱাওক',
 'passwordreset-legend' => 'গুপ্তশব্দ ন-কৈ বহাওক',
 'passwordreset-disabled' => 'এই ৱিকিত গুপ্তশব্দ নবীকৰণ নিষ্ক্ৰিয় কৰা হৈছে ।',
 'passwordreset-emaildisabled' => 'এই ৱিকিত ই-মেইল বৈশিষ্টসমূহ নিষ্ক্ৰিয় কৰা হৈছে।',
-'passwordreset-pretext' => '{{PLURAL:$1||তলত উল্লেখ কৰা তথ্যৰ কোনো অংশ ভৰাওক}}',
 'passwordreset-username' => 'সদস্যনাম',
 'passwordreset-domain' => 'ডমেইন :',
-'passwordreset-capture' => 'ফলাফল à¦\87-মà§\87à¦\87লà¦\96ন à¦\9aাà¦\93à¦\95 ?',
-'passwordreset-capture-help' => "à¦\86পà§\81নি à¦\8fà¦\87 à¦\98ৰà¦\9fà§\8b à¦\9aিহà§\8dনিত à¦\95ৰিলà§\87 à¦\8fà¦\87 à¦\87-মà§\87à¦\87ল (à¦\86ৰà§\81 à¦\85সà§\8dথায়à§\80 à¦\97à§\81পà§\8dতশবà§\8dদ) à¦\86পà§\81নি à¦¦à§\87à¦\96া à¦ªà§\8bৱাৰ à¦²à¦\97তà§\87 à¦¸à¦¦à¦¸à§\8dযà¦\9cনলà§\88à¦\93 à¦ªà¦ à§\8bৱা হ'ব।",
+'passwordreset-capture' => 'ফলাফল à¦\87-মà§\87à¦\87লà¦\96ন à¦\9aাবলà§\88 à¦¬à¦¿à¦\9aাৰিà¦\9bà§\87 ?',
+'passwordreset-capture-help' => "à¦\86পà§\81নি à¦\8fà¦\87 à¦\98ৰà¦\9fà§\8b à¦\9aিহà§\8dনিত à¦\95ৰিলà§\87 à¦\8fà¦\87 à¦\87-মà§\87à¦\87ল (à¦\86ৰà§\81 à¦\85সà§\8dথায়à§\80 à¦\97à§\81পà§\8dতশবà§\8dদ) à¦\86পà§\81নি à¦¦à§\87à¦\96া à¦ªà§\8bৱাৰ à¦²à¦\97তà§\87 à¦¸à¦¦à¦¸à§\8dযà¦\9cনলà§\88à¦\93 à¦ªà¦ à¦¿à¦\93ৱা হ'ব।",
 'passwordreset-email' => 'ই-মেইল ঠিকনা:',
 'passwordreset-emailtitle' => '{{SITENAME}}ত একাউণ্টৰ সবিশেষ তথ্য আছে ।',
 'passwordreset-emailtext-ip' => 'কোনোবাই (IP ঠিকনা $1 ৰ পৰা সম্ভৱতঃ আপুনিয়েই) {{SITENAME}} ($4) ৰ বাবে আপোনাৰ গুপ্তশব্দ ন-কৈ বহুৱাবলৈ অনুৰোধ জনাইছিল। ইমেইল ঠিকনাটোৰ লগত এই সদস্যৰ {{PLURAL:$3|একাউণ্ট|একাউণ্টবোৰ}} জড়িত হৈ আছে ।
@@ -805,7 +815,7 @@ $2
 'summary' => 'সাৰাংশ:',
 'subject' => 'বিষয় / শীৰ্ষক:',
 'minoredit' => 'এইটো এটা অগুৰুত্বপূৰ্ণ সম্পাদনা',
-'watchthis' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\9fà§\8b লক্ষ্য কৰক',
+'watchthis' => 'à¦\8fà¦\87 à¦ªà§\83ষà§\8dঠাà¦\96ন লক্ষ্য কৰক',
 'savearticle' => 'পৃষ্ঠা সাঁচক',
 'preview' => 'খচৰা',
 'showpreview' => 'খচৰা চাওক',
@@ -821,7 +831,7 @@ $2
 যদি আকৌ এবাৰ যদি \"{{int:savearticle}}\" টিপে, তেনেহলে সম্পাদনা শিৰোনামা অবিহনে সংৰক্ষিত হব।",
 'summary-preview' => 'সাৰাংশৰ খচৰা:',
 'subject-preview' => 'বিষয়/শিৰোনামাৰ খচৰা:',
-'blockedtitle' => 'সদসà§\8dযà¦\9cনà¦\95 à¦\85বৰোধ কৰা হৈছে',
+'blockedtitle' => 'সদসà§\8dযà¦\9cনà¦\95 à¦\85ৱৰোধ কৰা হৈছে',
 'blockedtext' => "'''আপোনাৰ সদস্যনাম অথবা আই-পি ঠিকনা অৱৰোধ কৰা হৈছে ।'''
 
 $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
@@ -927,7 +937,7 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 'creating' => '$1 পৃষ্ঠাখন আপুনি সৃষ্টি কৰি আছে',
 'editingsection' => '$1 (অনুচ্ছেদ) সম্পাদনা কৰি আছে',
 'editingcomment' => '$1 (নতুন অনুচ্ছেদ) সম্পাদনা কৰি আছে',
-'editconflict' => 'সম্পাদনা দ্বন্দ: $1',
+'editconflict' => 'সম্পাদনা দ্বন্দ্ব: $1',
 'explainconflict' => "আপুনি সম্পাদনা আৰম্ভ কৰাৰ পাছত আন কোনোবাই এই পৃষ্ঠাখন সলনি কৰিলে।
 পাঠ্য-স্থানৰ উপৰ ভাগত এই পৃষ্ঠাৰ প্ৰচলিত পাঠ্য দিয়া হৈছে।
 আপোনাৰ সলনিসমূহ পাঠ্য-স্থানৰ তলৰ ভাগত দেখুওৱা হৈছে।
@@ -988,7 +998,7 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 ইয়াৰ কোনো ব্যাখ্যা নাই ।',
 'edit-gone-missing' => 'পৃষ্ঠাখন নবীকৰণ কৰিব পৰা নগ’ল ।
 সম্ভৱতঃ পৃষ্ঠাখন বিলোপ কৰা হৈছে ।',
-'edit-conflict' => 'সম্পাদনা দ্বন্দ ।',
+'edit-conflict' => 'সম্পাদনা দ্বন্দ্ব ।',
 'edit-no-change' => 'আপোনাৰ সম্পাদনা আওকাণ কৰা হৈছে, কাৰণ লেখাত কোনো তফাৎ নাই',
 'edit-already-exists' => "নতুন পৃষ্ঠা সৃষ্টি কৰা নহ'ল ।
 পৃষ্ঠাখন ইতিমধ্যে আছেই ।",
@@ -1001,7 +1011,7 @@ $1ৰ দ্বাৰা এই অৱৰোধ কৰা হৈছে ।
 # Content models
 'content-model-wikitext' => 'ৱিকিপাঠ্য',
 'content-model-text' => 'সাধাৰণ পাঠ্য',
-'content-model-javascript' => 'à¦\9cাভাসà§\8dà¦\95à§\8dৰà§\80প্ট',
+'content-model-javascript' => 'à¦\9cাভাসà§\8dà¦\95à§\8dৰিপ্ট',
 'content-model-css' => 'চি.এচ.এচ.',
 
 # Parser/template warnings
@@ -1104,7 +1114,7 @@ $3 য়ে আগবঢ়োৱা ইয়াৰ কাৰণ হৈছে
 আপুনি এই পাৰ্থক্য চাব পাৰে; সবিশেষ পাব [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} নিবাৰণ অভিলেখত] ।",
 'rev-delundel' => 'দেখুৱাওক/নেদেখুৱাব',
 'rev-showdeleted' => 'দেখুৱাওক',
-'revisiondelete' => 'সà¦\82à¦\95লন à¦¬à¦¿à¦²à§\8bপ à¦\95ৰà¦\95 / à¦ªà§\81ণৰ স্থাপন কৰক',
+'revisiondelete' => 'সà¦\82à¦\95লন à¦¬à¦¿à¦²à§\8bপ à¦\95ৰà¦\95 / à¦ªà§\81নৰ স্থাপন কৰক',
 'revdelete-nooldid-title' => 'লক্ষ্য সংশোধন যুক্তিসংগত নহয়',
 'revdelete-nooldid-text' => 'কামটো কৰাৰ বাবে আপুনি লক্ষ্য সংশোধন নিৰ্বাচন কৰা নাই, নিৰ্বাচিত সংশোধন নাই, অথবা আপুনি বৰ্তমানৰ সংশোধন লুকুৱাব বিচাৰিছে ।',
 'revdelete-nologtype-title' => 'কোনো অভিলেখ প্ৰকাৰ দিয়া হোৱা নাই',
@@ -1127,7 +1137,7 @@ $3 য়ে আগবঢ়োৱা ইয়াৰ কাৰণ হৈছে
 'revdelete-hide-text' => 'সংশোধিত পাঠ গোপন কৰক',
 'revdelete-hide-image' => 'ফাইলৰ বিষয়বস্তু গোপন কৰক',
 'revdelete-hide-name' => 'কাৰ্য আৰু লক্ষ্য গোপন কৰক',
-'revdelete-hide-comment' => 'সমà§\8dপাদনা à¦®à¦¨à§\8dতবà§\8dয à¦\86তৰাà¦\87 à¦¥à¦\93ক',
+'revdelete-hide-comment' => 'সমà§\8dপাদনা à¦¸à¦¾à§°à¦¾à¦\82শ à¦\97à§\8bপন à¦\95ৰক',
 'revdelete-hide-user' => 'সম্পাদকৰ সদস্যনাম/আই-পি ঠিকনা গোপন কৰক',
 'revdelete-hide-restricted' => 'প্ৰশাসকবৃন্দৰ লগতে আনৰ পৰাও তথ্য ৰোধ কৰক',
 'revdelete-radio-same' => '(সলনি নকৰিব)',
@@ -1202,7 +1212,7 @@ $1",
 # Merge log
 'mergelog' => 'অভিলেখ একত্ৰীকৰণ',
 'pagemerge-logentry' => "[[$1]] [[$2]]-ত মিলোৱা হ'ল (সংশোধনসমূহ $3-লৈ)",
-'revertmerge' => 'à¦\8fà¦\95তà§\8dৰিকৰণ বাতিল কৰক',
+'revertmerge' => 'à¦\8fà¦\95তà§\8dৰà§\80কৰণ বাতিল কৰক',
 'mergelogpagetext' => 'এখন পৃষ্ঠাৰ ইতিহাস আন এখনৰ লগত কৰা একত্ৰীকৰণৰ সকলোতকৈ শেহতীয়া তালিকা তলত দিয়া হ’ল ।',
 
 # Diffs
@@ -1230,7 +1240,7 @@ $1",
 'searchsubtitleinvalid' => "আপোনাৰ অনুসন্ধান হ'ল '''$1'''",
 'toomanymatches' => "বহুত বেছি মিল পোৱা গৈছে, সন্ধান-শব্দ সলনি কৰিবলৈ অনুৰোধ কৰা হ'ল",
 'titlematches' => 'পৃষ্ঠাৰ শিৰোনামা মিলিছে',
-'notitlematches' => 'à¦\8fà¦\9fাà¦\93 à¦ªà§\83ষà§\8dঠাৰ শিৰোনামা মিলা নাই',
+'notitlematches' => 'à¦\8fà¦\96ন à¦ªà§\83ষà§\8dঠাৰà§\8b শিৰোনামা মিলা নাই',
 'textmatches' => 'পৃষ্ঠাৰ পাঠ মিলিছে',
 'notextmatches' => 'কোনো পৃষ্ঠাৰ পাঠ মিলা নাই',
 'prevn' => 'পূৰ্বৱৰ্তী {{PLURAL:$1|$1}}টা',
@@ -1295,7 +1305,7 @@ $1",
 'prefsnologin' => 'প্ৰৱেশ কৰা নাই',
 'prefsnologintext' => 'আপোনাৰ পছন্দ সলনি কৰিবলৈ হ’লে <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} প্ৰৱেশ]</span> কৰাতো আৱশ্যক।',
 'changepassword' => 'গুপ্তশব্দ সলনি কৰক',
-'prefs-skin' => 'à¦\86ৱৰন',
+'prefs-skin' => 'à¦\86ৱৰণ',
 'skin-preview' => 'খচৰা',
 'datedefault' => 'কোনো পছন্দ নাই',
 'prefs-beta' => 'বিটা বৈশিষ্টসমূহ',
@@ -1395,14 +1405,14 @@ $1",
 'prefs-signature' => 'স্বাক্ষৰ',
 'prefs-dateformat' => 'তাৰিখ বিন্যাস',
 'prefs-timeoffset' => 'সময় অফচেট',
-'prefs-advancedediting' => 'à¦\89à¦\9aà§\8dà¦\9aতৰ à¦\89পায়ানà§\8dতৰ সমূহ',
-'prefs-advancedrc' => 'à¦\89à¦\9aà§\8dà¦\9aতৰ à¦\89পায়ানà§\8dতৰ সমূহ',
-'prefs-advancedrendering' => 'à¦\89à¦\9aà§\8dà¦\9aতৰ à¦\89পায়ানà§\8dতৰ সমূহ',
-'prefs-advancedsearchoptions' => 'à¦\89à¦\9aà§\8dà¦\9aতৰ à¦\89পায়ানà§\8dতৰ সমূহ',
-'prefs-advancedwatchlist' => 'à¦\89à¦\9aà§\8dà¦\9aতৰ à¦\89পায়ানà§\8dতৰ সমূহ',
-'prefs-displayrc' => 'প্ৰদৰ্শনী উপায়ান্তৰ সমূহ',
-'prefs-displaysearchoptions' => 'বিকল্প প্ৰদৰ্শন কৰক',
-'prefs-displaywatchlist' => 'বিকল্প প্ৰদৰ্শন কৰক',
+'prefs-advancedediting' => 'à¦\89à¦\9aà§\8dà¦\9aতৰ à¦¬à¦¿à¦\95লà§\8dপসমূহ',
+'prefs-advancedrc' => 'à¦\89à¦\9aà§\8dà¦\9aতৰ à¦¬à¦¿à¦\95লà§\8dপসমূহ',
+'prefs-advancedrendering' => 'à¦\89à¦\9aà§\8dà¦\9aতৰ à¦¬à¦¿à¦\95লà§\8dপসমূহ',
+'prefs-advancedsearchoptions' => 'à¦\89à¦\9aà§\8dà¦\9aতৰ à¦¬à¦¿à¦\95লà§\8dপসমূহ',
+'prefs-advancedwatchlist' => 'à¦\89à¦\9aà§\8dà¦\9aতৰ à¦¬à¦¿à¦\95লà§\8dপসমূহ',
+'prefs-displayrc' => 'প্ৰদৰ্শন বিকল্পসমূহ',
+'prefs-displaysearchoptions' => 'বিকল্পসমূহ প্ৰদৰ্শন কৰক',
+'prefs-displaywatchlist' => 'বিকল্পসমূহ প্ৰদৰ্শন কৰক',
 'prefs-diffs' => 'পাৰ্থক্য',
 
 # User preference: email validation using jQuery
@@ -1475,7 +1485,7 @@ $1",
 'right-upload_by_url' => "ইউ-আৰ-এলৰ পৰা ফাইল আপল'ড কৰক",
 'right-purge' => 'চাইট কেচৰ পৰা নিশ্চয়তা নোহোৱা পৃষ্ঠা মচি পেলাওক ।',
 'right-autoconfirmed' => 'অৰ্দ্ধ-সুৰক্ষিত পৃষ্ঠা সম্পাদনা কৰক',
-'right-bot' => 'সà§\8dবয়à¦\82à¦\95à§\8dৰিয় à¦ªà§\8dৰà¦\95à§\8dৰিয়া à¦¹à¦¿à¦\9bাপে ব্যৱহৃত হওক',
+'right-bot' => 'সà§\8dবয়à¦\82à¦\95à§\8dৰিয় à¦ªà§\8dৰà¦\95à§\8dৰিয়া à¦¹à¦¿à¦\9aাপে ব্যৱহৃত হওক',
 'right-nominornewtalk' => 'আলোচনা পৃষ্ঠাৰ লঘূ সম্পাদনা হওঁতে নতুন সদস্য বাৰ্তা নালাগে',
 'right-apihighlimits' => 'API প্ৰশ্নৰ বাবে উচ্চতৰ সীমা ব্যৱহাৰ কৰক',
 'right-writeapi' => 'ৰাইট এ.পি.আই.ৰ ব্যৱহাৰ',
@@ -2169,7 +2179,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'listusers-blocked' => '(বাৰণ কৰা)',
 
 # Special:ActiveUsers
-'activeusers' => 'সà¦\95à§\8dৰিয় à¦¬à§\8dযবহাৰকাৰীৰ তালিকা',
+'activeusers' => 'সà¦\95à§\8dৰিয় à¦¬à§\8dযৱহাৰকাৰীৰ তালিকা',
 'activeusers-intro' => 'যোৱা  {{PLURAL:$1|দিন|দিন}}ৰ ভিতৰত অৱদান আগবঢ়োৱা ব্যৱহাৰকাৰীৰ তালিকা',
 'activeusers-count' => 'যোৱা {{PLURAL:$3|দিনত|$3 দিনত}} সৰ্বমুঠ $1 {{PLURAL:$1|টা কাম}}',
 'activeusers-from' => 'ইয়াৰে আৰম্ভ হোৱা ব্যৱহাৰকাৰী সকল দেখুৱাওক:',
@@ -2254,8 +2264,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization চাওক।",
 'notvisiblerev' => 'অন্য কোনো সদস্যই কৰা সংশোধনী বিলোপ কৰা হৈছে',
 'watchnochange' => 'আপুনি চকু ৰখা আইটেমসমূহ প্ৰদৰ্শিত সময়সীমাৰ ভিতৰত সম্পাদনা কৰা হোৱা নাই ।',
 'watchlist-details' => 'আলোচনা পৃষ্ঠা সমূহ লেখত নধৰি {{PLURAL:$1|$1 খন পৃষ্ঠা|$1 খন পৃষ্ঠা}} আপোনাৰ লক্ষ্য-তালিকাত আছে ।',
-'wlheader-enotif' => '* ই-পত্ৰ জাননী সক্ৰিয় কৰা হৈছে ।',
-'wlheader-showupdated' => "* আপোনাৰ শেষ পৰিদৰ্শনৰ পিছত হোৱা পৰিৱৰ্তনসমূহ '''গাঢ়''' আখৰত দেখুওৱা হৈছে",
+'wlheader-enotif' => 'ইমেইল জাননী সক্ৰিয় কৰা হৈছে।',
+'wlheader-showupdated' => "আপোনাৰ শেষ পৰিদৰ্শনৰ পিছত সলনি হোৱা পৃষ্ঠাসমূহ '''গাঢ়''' আখৰত দেখুওৱা হৈছে।",
 'watchmethod-recent' => 'লক্ষ্য কৰা পৃষ্ঠাসমূহ শেহতীয়া সম্পাদনাৰ বাবে পৰীক্ষা কৰা হৈছে',
 'watchmethod-list' => 'লক্ষ্য কৰা পৃষ্ঠাসমূহ শেহতীয়া সম্পাদনাৰ বাবে পৰীক্ষা কৰা হৈছে',
 'watchlistcontains' => 'আপোনাৰ লক্ষ্য-তালিকাত $1 খন {{PLURAL:$1|পৃষ্ঠা|পৃষ্ঠা}} আছে ।',
@@ -2843,6 +2853,8 @@ $1ৰ অৱৰোধৰ কাৰণ: "$2"',
 'thumbnail-more' => 'ডাঙৰকৈ চাওক',
 'filemissing' => 'ফাইল বিচাৰি পোৱা নগ’ল',
 'thumbnail_error' => 'ক্ষুদ্ৰ প্ৰতিকৃতি সৃষ্টি কৰাত অসুবিধা হৈছে: $1',
+'thumbnail_error_remote' => '$1ৰপৰা ত্ৰুটি বাৰ্তা:
+$2',
 'djvu_page_error' => 'DjVu পৃষ্ঠা পৰিসীমাৰ বাহিৰত',
 'djvu_no_xml' => "DjVu ফাইলৰ বাবে XML আনিব পৰা নগ'ল",
 'thumbnail-temp-create' => 'অস্থায়ী থাম্বনেইল নথিপত্ৰ সৃষ্টি কৰিবলে অক্ষম',
index 686cae7..d540b12 100644 (file)
@@ -167,6 +167,18 @@ $messages = array(
 'oct' => 'och',
 'nov' => 'pay',
 'dec' => 'avi',
+'january-date' => '$1 de xineru',
+'february-date' => '$1 de febreru',
+'march-date' => '$1 de marzu',
+'april-date' => "$1 d'abril",
+'may-date' => '$1 de mayu',
+'june-date' => '$1 de xunu',
+'july-date' => '$1 de xunetu',
+'august-date' => "$1 d'agostu",
+'september-date' => '$1 de setiembre',
+'october-date' => "$1 d'ochobre",
+'november-date' => '$1 de payares',
+'december-date' => "$1 d'avientu",
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoría|Categoríes}}',
@@ -294,10 +306,10 @@ $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) and the disambiguation template definition (see disambiguations).
 'aboutsite' => 'Tocante a {{SITENAME}}',
 'aboutpage' => 'Project:Tocante a',
-'copyright' => 'El conteníu ta disponible baxo $1.',
+'copyright' => 'El conteníu ta disponible baxo los términos de la $1.',
 'copyrightpage' => "{{ns:project}}:Drechos d'autor",
-'currentevents' => 'Actualidá',
-'currentevents-url' => 'Project:Actualidá',
+'currentevents' => 'Fechos actuales',
+'currentevents-url' => 'Project:Fechos actuales',
 'disclaimers' => 'Avisu llegal',
 'disclaimerpage' => 'Project:Avisu xeneral',
 'edithelp' => "Ayuda d'edición",
@@ -412,7 +424,7 @@ Por favor informa d'esto a un [[Special:ListUsers/sysop|alministrador]], anotand
 'filerenameerror' => 'Nun se pudo renomar el ficheru «$1» como «$2».',
 'filedeleteerror' => 'Nun se pudo desaniciar el ficheru «$1».',
 'directorycreateerror' => 'Nun se pudo crear el direutoriu «$1».',
-'filenotfound' => 'Nun se pudo atopar el ficheru «$1».',
+'filenotfound' => "Nun pudo atopase'l ficheru «$1».",
 'fileexistserror' => 'Nun se pue escribir nel ficheru «$1»: yá esiste',
 'unexpected' => 'Valor inesperáu: «$1»=«$2».',
 'formerror' => 'Fallu: Nun se pudo unviar el formulariu.',
@@ -424,9 +436,9 @@ Seique daquién yá lo desaniciara.",
 Nun conseñó esplicación.',
 'badtitle' => 'Títulu incorreutu',
 'badtitletext' => 'El títulu de páxina solicitáu nun ye válidu, ta baleru o tien enllaces interllingua o interwiki incorreutos.
-Pue contener un caráuter o más que nun se puen usar nos títulos.',
+Pue contener un caráuter o más que nun puen usase nos títulos.',
 'perfcached' => "Los datos siguientes tán na caché y seique nun tean anovaos. Hai un máximu {{PLURAL:$1|d'un resultáu disponible|de $1 resultaos disponibles}} na caché.",
-'perfcachedts' => "Los datos siguientes tán na caché y anováronse per postrer vegada'l $1. Hai un máximu {{PLURAL:$4|d'un resultáu disponible|de $4 resultaos disponibles}} na caché.",
+'perfcachedts' => "Los datos siguientes tán na caché y anovaronse por última vegada'l $1. Hai un máximu {{PLURAL:$4|d'un resultáu disponible|de $4 resultaos disponibles}} na caché.",
 'querypage-no-updates' => "Anguaño los anovamientos d'esta páxina tán desactivaos.
 Estos datos nun van refrescase nestos momentos.",
 'wrong_wfQuery_params' => 'Parámetros incorreutos pa wfQuery()<br />
@@ -446,19 +458,19 @@ P'amestar o cambiar les traducciones de toles wikis, por favor usa [//translatew
 Los cambeos nesta páxina van afeutar l'apariencia de la interfaz pa otros usuarios d'esta wiki.
 P'amestar o camudar traducciones pa toles wikis, por favor, usa [//translatewiki.net/ translatewiki.net], el proyeutu de traducción de MediaWiki.",
 'sqlhidden' => '(consulta SQL anubrida)',
-'cascadeprotected' => "Esta páxina ta protexida d'ediciones porque ta enxerta {{PLURAL:$1|na siguiente páxina|nes siguientes páxines}}, que {{PLURAL:$1|ta protexida|tán protexíes}} cola opción «en cascada» activada:
+'cascadeprotected' => "Esta páxina ta protexida d'ediciones porque ta inxerta {{PLURAL:$1|na siguiente páxina, protexida|nes siguientes páxines, protexíes}} cola opción «en cascada» activada:
 $2",
 'namespaceprotected' => "Nun tienes permisu pa editar páxines nel espaciu de nomes '''$1'''.",
 'customcssprotected' => "Nun tienes permisu pa editar esta páxina CSS porque contién preferencies personales d'otru usuariu.",
 'customjsprotected' => "Nun tienes permisu pa editar esta páxina de JavaScript porque contién preferencies personales d'otru usuariu.",
 'ns-specialprotected' => 'Les páxines especiales nun se puen editar.',
-'titleprotected' => "Esti títulu foi protexíu de la so creación por [[User:$1|$1]].
+'titleprotected' => "Esti títulu ta protexíu escontra creación por [[User:$1|$1]].
 El motivu conseñáu ye «''$2''».",
-'filereadonlyerror' => "Nun se pudo camudar el ficheru «$1» porque'l repositoriu de ficheros «$2» ta en mou de namái llectura.
+'filereadonlyerror' => "Nun pudo camudase'l ficheru «$1» porque'l depósitu de ficheros «$2» ta en mou de sólo llectura.
 
 L'alministrador que lu bloquió dio esti motivu: «$3».",
-'invalidtitle-knownnamespace' => 'Títulu non válidu col espaciu de nomes «$2» y el testu «$3»',
-'invalidtitle-unknownnamespace' => "Titulu non válidu col númberu $1 d'espaciu de nomes desconocíu y el testu «$2»",
+'invalidtitle-knownnamespace' => "Títulu inválidu col espaciu de nomes «$2» ya'l testu «$3»",
+'invalidtitle-unknownnamespace' => "Títulu inválidu col númberu $1 d'espaciu de nomes desconocíu ya'l testu «$2»",
 'exception-nologin' => 'Non identificáu',
 'exception-nologin-text' => "Esta páxina o aición necesita qu'anicies sesión nesta wiki.",
 
@@ -474,7 +486,7 @@ Pues siguir usando {{SITENAME}} de forma anónima, o pues <span class='plainlink
 Ten en cuenta que dalgunes páxines puen siguir apaeciendo como si tovía tuvieres coneutáu, hasta que llimpies la caché del restolador.",
 'welcomeuser' => '¡Bienllegáu, $1!',
 'welcomecreation-msg' => "Creóse la to cuenta.
-Nun t'escaezas d'escoyer les tos [[Special:Preferences|preferencies de {{SITENAME}}]].",
+Nun t'escaezas de camudar les tos [[Special:Preferences|preferencies de {{SITENAME}}]].",
 'yourname' => "Nome d'usuariu:",
 'userlogin-yourname' => "Nome d'usuariu",
 'userlogin-yourname-ph' => "Escriba'l so nome d'usuariu",
@@ -488,7 +500,7 @@ Nun t'escaezas d'escoyer les tos [[Special:Preferences|preferencies de {{SITENAM
 'remembermypassword' => "Recordar la mio identificación nesti restolador (un máximu {{PLURAL:$1|d'un día|de $1 díes}})",
 'userlogin-remembermypassword' => 'Caltener abierta la sesión',
 'userlogin-signwithsecure' => 'Usar una conexón segura',
-'securelogin-stick-https' => "Siguir coneutáu al HTTPS dempués d'identificase",
+'securelogin-stick-https' => "Siguir coneutáu con HTTPS dempués d'aniciar sesión",
 'yourdomainname' => 'El to dominiu:',
 'password-change-forbidden' => 'Nun se pueden camudar les contraseñes nesta wiki.',
 'externaldberror' => "O hebo un fallu d'autenticación de la base de datos o nun tienes permisu p'anovar la to cuenta esterna.",
@@ -496,8 +508,8 @@ Nun t'escaezas d'escoyer les tos [[Special:Preferences|preferencies de {{SITENAM
 'nav-login-createaccount' => 'Identificase / crear una cuenta',
 'loginprompt' => 'Has tener les «cookies» activaes pa identificate en {{SITENAME}}.',
 'userlogin' => 'Identificase / crear una cuenta',
-'userloginnocreate' => 'Identificase',
-'logout' => 'Dexar de tar identificáu',
+'userloginnocreate' => 'Aniciar sesión',
+'logout' => 'Colar',
 'userlogout' => 'Colar',
 'notloggedin' => 'Non identificáu',
 'userlogin-noaccount' => '¿Nun tien una cuenta?',
@@ -527,120 +539,121 @@ Nun t'escaezas d'escoyer les tos [[Special:Preferences|preferencies de {{SITENAM
 'createacct-benefit-body1' => '{{PLURAL:$1|edición|ediciones}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|páxina|páxines}}',
 'createacct-benefit-body3' => '{{PLURAL:$1|collaborador|collaboradores}} de recién',
-'badretype' => "Les claves qu'escribisti nun concuayen.",
+'badretype' => "Les contraseñes qu'escribisti nun concuayen.",
 'userexists' => "El nome d'usuariu conseñáu yá ta usándose.
 Por favor escueyi un nome diferente.",
-'loginerror' => "Fallu d'identificación",
+'loginerror' => "Error d'aniciu de sesión",
 'createacct-error' => 'Error de creación de cuenta',
 'createaccounterror' => 'Nun se pudo crear la cuenta: $1',
-'nocookiesnew' => "La cuenta d'usuariu ta creada, pero nun tas identificáu.
+'nocookiesnew' => "La cuenta d'usuariu ta creada, pero nun aniciasti sesión.
 {{SITENAME}} usa «cookies» pa identificar a los usuarios.
 Tienes les «cookies» desactivaes.
 Por favor activales y depués entra col to nome d'usuariu y clave nuevos.",
 'nocookieslogin' => '{{SITENAME}} usa «cookies» pa identificar a los usuarios.
 Tienes les «cookies» desactivaes.
-Por favor actívales y vuelvi intentalo.',
+Por favor activales y vuelvi a intentalo.',
 'nocookiesfornew' => "La cuenta nun se creó porque nun pudimos confirmar l'orixe.
-Asegúrate de tener activaes les «cookies», recarga esta páxina y vuelvi intentalo.",
+Comprueba que tienes activaes les «cookies», recarga esta páxina y vuelvi a intentalo.",
 'noname' => "Nun conseñasti un nome d'usuariu válidu.",
-'loginsuccesstitle' => 'Identificación correuta',
-'loginsuccess' => "'''Quedasti identificáu en {{SITENAME}} como «$1».'''",
+'loginsuccesstitle' => 'Aniciu de sesión correutu',
+'loginsuccess' => "'''Aniciasti sesión en {{SITENAME}} como «$1».'''",
 'nosuchuser' => "Nun hai nengún usuariu col nome «$1».
 Los nomes d'usuariu distinguen mayúscules y minúscules.
 Mira que tea bien escritu o [[Special:UserLogin/signup|crea una cuenta nueva]].",
 'nosuchusershort' => 'Nun hai nengún usuariu col nome «$1».
 Mira que tea bien escritu.',
-'nouserspecified' => "Has especificar un nome d'usuariu.",
-'login-userblocked' => 'Esti usuariu ta bloquiáu. Nun se permite la so identificación.',
-'wrongpassword' => 'La clave escrita ye incorreuta.
-Vuelvi intentalo.',
-'wrongpasswordempty' => 'La clave taba en blanco.
-Vuelvi intentalo.',
-'passwordtooshort' => 'Les claves han tener a lo menos {{PLURAL:$1|1 caráuter|$1 carauteres}}.',
-'password-name-match' => "La clave ha ser distinta del nome d'usuariu.",
-'password-login-forbidden' => "Ta torgao usar esti nome d'usuariu y clave.",
+'nouserspecified' => "Has d'especificar un nome d'usuariu.",
+'login-userblocked' => "Esti usuariu ta bloquiáu. Nun se permite l'aniciu de sesión.",
+'wrongpassword' => 'Escribisti una contraseña incorreuta.
+Vuelvi intentalo.',
+'wrongpasswordempty' => 'La contraseña taba en blanco.
+Vuelvi intentalo.',
+'passwordtooshort' => 'Les contraseñes han de tener polo menos {{PLURAL:$1|1 caráuter|$1 caráuteres}}.',
+'password-name-match' => "La contraseña tien de ser distinta del nome d'usuariu.",
+'password-login-forbidden' => "Ta torgao usar esti nome d'usuariu y contraseña.",
 'mailmypassword' => 'Unviar la clave nueva per corréu',
-'passwordremindertitle' => 'Clave nueva provisional pa {{SITENAME}}',
-'passwordremindertext' => "Daquién (seique tu, dende la direición IP $1) solicitó una clave
-nueva pa {{SITENAME}} ($4). Creóse una clave provisional pal usuariu
-«$2» que ye «$3». Si fuisti tu, necesites identificate y escoyer
-una clave nueva agora. La clave provisional caduca {{PLURAL:$5|nun día|en $5 díes}}.
-
-Si esta solicitú la fizo otra persona, o si recuerdes la clave y
-nun quies volver camudala, pues escaecete d'esti mensaxe y siguir
-usando la clave antigua.",
+'passwordremindertitle' => 'Nueva contraseña provisional pa {{SITENAME}}',
+'passwordremindertext' => "Daquién (seique tu, dende la direición IP $1) solicitó una contraseña
+nueva pa {{SITENAME}} ($4). Creóse una contraseña provisional
+pal usuariu «$2» que ye «$3». Si fuisti tu, necesites aniciar
+sesión y escoyer una contraseña nueva agora.
+La contraseña provisional caducará {{PLURAL:$5|nun día|en $5 díes}}.
+
+Si esta solicitú fizola otra persona, o si recordasti la contraseña,
+y nun quies camudala, pues escaecete d'esti mensaxe y siguir
+usando la contraseña antigua.",
 'noemail' => "L'usuariu «$1» nun tien rexistrada nenguna direición de corréu.",
-'noemailcreate' => 'Has conseñar una direición de corréu válida',
-'passwordsent' => 'Univóse una clave nueva a la direición de corréu rexistrada pa «$1».
-Por favor vuelvi identificate depués de recibila.',
-'blocked-mailpassword' => 'Ta bloquiada la edición dende la to direición IP, polo que pa evitar abusos nun se pue usar la función de recuperación de clave.',
+'noemailcreate' => 'Tienes de conseñar una direición de corréu válida.',
+'passwordsent' => 'Unvióse una contraseña nueva a la direición de corréu rexistrada pa «$1».
+Por favor vuelvi a aniciar sesión depués de recibila.',
+'blocked-mailpassword' => 'Ta bloquiada la edición dende la to direición IP, polo que pa evitar abusos nun se pue usar la función de recuperación de contraseña.',
 'eauthentsent' => "Unvióse un corréu electrónicu de confirmación a la direición indicada.
-Enantes de que s'unvie nengún otru corréu a la cuenta, has siguir les instrucciones del corréu electrónicu pa confirmar que la cuenta ye de to.",
+Enantes de que s'unvie nengún otru corréu a la cuenta, has de siguir les instrucciones del corréu electrónicu pa confirmar que la cuenta ye de to.",
 'throttled-mailpassword' => "Yá s'unvió un corréu de reaniciu la clave {{PLURAL:$1|na postrer hora|nes postreres $1 hores}}.
 Pa evitar abusos, namái s'unviará un corréu de reaniciu cada {{PLURAL:$1|hora|$1 hores}}.",
 'mailerror' => 'Fallu al unviar el corréu: $1',
 'acct_creation_throttle_hit' => "Los visitantes d'esta wiki qu'usen la to direición IP yá crearon güei {{PLURAL:$1|1 cuenta|$1 cuentes}}, que ye'l máximu almitíu nesti periodu de tiempu.
 Poro, los visitantes qu'usen esta direición IP nun puen crear más cuentes de momentu.",
 'emailauthenticated' => "La to direición de corréu electrónicu confirmóse'l $2 a les $3.",
-'emailnotauthenticated' => 'La to direición de corréu electrónicu nun se comprobó entá.
-Nun va unviase nengún corréu pa nenguna de les funciones siguientes.',
+'emailnotauthenticated' => "La to direición de corréu electrónicu inda nun se comprobó.
+Nun s'unviará corréu pa nenguna de les funciones siguientes.",
 'noemailprefs' => 'Conseña una direición de corréu electrónicu nes tos preferencies pa que funcionen eses carauterístiques.',
 'emailconfirmlink' => 'Confirmar la direición de corréu electrónicu',
-'invalidemailaddress' => "La direición de corréu electrónicu nun se pue aceutar yá que paez tener un formatu non válidu.
+'invalidemailaddress' => "La direición de corréu electrónicu nun pue aceutase yá que paez tener un formatu inválidu.
 Por favor conseña una direición con formatu afayadizu o dexa baleru'l campu.",
 'cannotchangeemail' => 'Les direiciones de corréu electrónicu de la cuenta nun puen camudase nesta wiki.',
 'emaildisabled' => 'Esti sitiu nun pue unviar correos electrónicos.',
 'accountcreated' => 'Cuenta creada',
 'accountcreatedtext' => "Creóse la cuenta d'usuariu de $1.",
 'createaccount-title' => 'Creación de cuenta pa {{SITENAME}}',
-'createaccount-text' => 'Daquién creó una cuenta cola to direición de corréu electrónicu en {{SITENAME}} ($4) col nome «$2», asociada a la clave «$3».
-Habríes identificte y camudar la clave agora.
+'createaccount-text' => "Daquién creó una cuenta cola to direición de corréu electrónicu en {{SITENAME}} ($4) col nome «$2», y cola contraseña «$3».
+Agora tendríes d'aniciar sesión y camudar la contraseña.
 
-Pues escaecer esti mensaxe si esta cuenta se creó por error.',
-'usernamehasherror' => "El nome d'usuariu nun pue contener carauteres «hash»",
-'login-throttled' => "Ficisti demasiaos intentos recientes d'identificación.
+Pues escaecer esti mensaxe si esta cuenta creóse por error.",
+'usernamehasherror' => "El nome d'usuariu nun pue contener caráuteres «hash»",
+'login-throttled' => "Ficisti demasiaos intentos d'aniciu de sesión recientes.
 Por favor espera enantes d'intentalo otra vuelta.",
 'login-abort-generic' => 'Falló la to identificación - Encaboxao',
 'loginlanguagelabel' => 'Llingua: $1',
-'suspicious-userlogout' => "Negósete'l pidimientu de desconexón porque paez que vien d'un restolador frañíu o d'un proxy de caché.",
+'suspicious-userlogout' => "La to solicitú de zarrar sesión refugose porque paez qu'unvióla un restolador frañíu o un proxy de caché.",
 
 # Email sending
 'php-mail-error-unknown' => 'Fallu desconocíu na función mail() de PHP.',
-'user-mail-no-addy' => 'Intentasti unviar un corréu electrónicu ensin direición.',
+'user-mail-no-addy' => 'Intentasti unviar un corréu electrónicu ensin direición de corréu.',
 'user-mail-no-body' => "Trató d'unviar un corréu electrónicu con un cuerpu baleru o curtiu enforma.",
 
 # Change password dialog
-'resetpass' => 'Camudar la clave',
-'resetpass_announce' => "Identificástite con una clave provisional unviada per corréu electrónicu.
-P'acabar d'identificate, has conseñar equí una clave nueva:",
+'resetpass' => 'Camudar la contraseña',
+'resetpass_announce' => "Aniciasti sesión con un códigu provisional unviáu per corréu electrónicu.
+P'acabar d'aniciar sesión, tienes de configurar equí una contraseña nueva:",
 'resetpass_text' => '<!-- Amestar testu equí -->',
-'resetpass_header' => 'Camudar la clave de la cuenta',
-'oldpassword' => 'Clave antigua:',
-'newpassword' => 'Clave nueva:',
-'retypenew' => 'Escribi otra vuelta la clave nueva:',
-'resetpass_submit' => 'Conseñar una clave y identificase',
-'resetpass_success' => '¡Camudóse correutamente la to clave!
-Pasando a identificate...',
-'resetpass_forbidden' => 'Les claves nun se puen camudar',
-'resetpass-no-info' => "Has tar identificáu p'acceder direutamente a esta páxina.",
-'resetpass-submit-loggedin' => 'Camudar la clave',
+'resetpass_header' => 'Camudar la contraseña de la cuenta',
+'oldpassword' => 'Contraseña antigua:',
+'newpassword' => 'Contraseña nueva:',
+'retypenew' => 'Vuelvi a escribir la contraseña nueva:',
+'resetpass_submit' => 'Configurar la contraseña y aniciar sesión',
+'resetpass_success' => '¡Camudóse la contraseña correutamente!
+Aniciando sesión agora...',
+'resetpass_forbidden' => 'Nun puen camudase les contraseñes',
+'resetpass-no-info' => "Tienes d'aniciar sesión pa entrar direutamente a esta páxina.",
+'resetpass-submit-loggedin' => 'Camudar la contraseña',
 'resetpass-submit-cancel' => 'Encaboxar',
-'resetpass-wrong-oldpass' => 'Clave provisional o actual non válida.
-Seique yá camudaras correutamente la clave o que pidieras una nueva clave provisional.',
-'resetpass-temp-password' => 'Clave provisional:',
+'resetpass-wrong-oldpass' => 'Contraseña temporal o actual inválida.
+Seique yá camudaras correutamente la contraseña o que pidieras una nueva contraseña temporal.',
+'resetpass-temp-password' => 'Contraseña temporal:',
 'resetpass-abort-generic' => "Una estensión encaboxó'l cambiu de la contraseña.",
 
 # Special:PasswordReset
-'passwordreset' => 'Reaniciar clave',
-'passwordreset-text' => 'Complete esti formulariu pa reaniciar la contraseña.',
-'passwordreset-legend' => 'Reaniciar clave',
-'passwordreset-disabled' => 'Los reanicios de clave tán desactivaos nesta wiki.',
+'passwordreset' => 'Reaniciar contraseña',
+'passwordreset-text-one' => 'Complete esti formulariu pa reaniciar la contraseña.',
+'passwordreset-text-many' => '{{PLURAL:$1|Escriba una de les partes de los datos pa reaniciar la contraseña.}}',
+'passwordreset-legend' => 'Reaniciar contraseña',
+'passwordreset-disabled' => 'Los reanicios de contraseña tán desactivaos nesta wiki.',
 'passwordreset-emaildisabled' => 'Les funciones de corréu electrónicu tan desactivaes nesta wiki.',
-'passwordreset-pretext' => "{{PLURAL:$1||Escribi ún de los elementos de los datos d'abaxo}}",
 'passwordreset-username' => "Nome d'usuariu:",
 'passwordreset-domain' => 'Dominiu:',
 'passwordreset-capture' => '¿Ver el corréu electrónicu resultante?',
-'passwordreset-capture-help' => "Si marques esta caxella, podrás ver el corréu (cola clave provisional) amás d'unvialu al usuariu.",
+'passwordreset-capture-help' => "Si marques esta caxella, podrás ver el corréu (cola contraseña temporal) amás d'unvialu al usuariu.",
 'passwordreset-email' => 'Direición de corréu electrónicu:',
 'passwordreset-emailtitle' => 'Detalles de la cuenta en {{SITENAME}}',
 'passwordreset-emailtext-ip' => "Dalguién (seique vusté, dende la direición IP $1)solicitó'l reaniciu de la so contraseña de {{SITENAME}} ($4).
@@ -660,7 +673,7 @@ $2
 {{PLURAL:$3|Esta contraseña provisional caduca|Estes contraseñes provisionales caduquen}} {{PLURAL:$5|nun día|en $5 díes}}.
 Tendría d'aniciar sesión y escoyer una contraseña nueva agora. Si esta solicitú la fizo otra persona, o si recordó la clave orixinal y yá nun quier camudala, pue escaecer esti mensaxe y siguir usando la contraseña antigua.",
 'passwordreset-emailelement' => "Nome d'usuariu: $1
-Clave provisional: $2",
+Contraseña temporal: $2",
 'passwordreset-emailsent' => 'Unvióse un corréu electrónicu pa reaniciar la contraseña.',
 'passwordreset-emailsent-capture' => "Unvióse un corréu electrónicu pa reaniciar la contraseña, que s'amuesa abaxo.",
 'passwordreset-emailerror-capture' => "Unvióse un corréu electrónicu pa reaniciar la contraseña, que s'amuesa abaxo, pero falló l'unviu {{GENDER:$2|al usuariu|a la usuaria}}: $1",
@@ -668,7 +681,7 @@ Clave provisional: $2",
 # Special:ChangeEmail
 'changeemail' => 'Camudar la direición de corréu electrónicu',
 'changeemail-header' => 'Camudar la direición de corréu electrónicu de la cuenta',
-'changeemail-text' => 'Rellena esti formulariu pa camudar la to direición de corréu electrónicu. Habrás escribir la to clave pa confirmar esti cambéu.',
+'changeemail-text' => "Rellena esti formulariu pa camudar la to direición de corréu electrónicu. Tendrás d'escribir la contraseña pa confirmar esti cambéu.",
 'changeemail-no-info' => "Has tar identificáu p'acceder direutamente a esta páxina.",
 'changeemail-oldemail' => 'Direición de corréu electrónicu actual:',
 'changeemail-newemail' => 'Direición de corréu electrónicu nueva:',
@@ -685,8 +698,8 @@ Clave provisional: $2",
 'link_sample' => 'Títulu del enllaz',
 'link_tip' => 'Enllaz internu',
 'extlink_sample' => 'http://www.example.com títulu del enllaz',
-'extlink_tip' => 'Enllaz esternu (alcuérdate del prefixu http://)',
-'headline_sample' => 'Testu de cabecera',
+'extlink_tip' => "Enllaz esternu (recuerda'l prefixu http://)",
+'headline_sample' => 'Testu del titular',
 'headline_tip' => 'Cabecera de nivel 2',
 'nowiki_sample' => 'Pon equí testu ensin formatu',
 'nowiki_tip' => 'Inorar el formatu wiki',
@@ -699,7 +712,7 @@ Clave provisional: $2",
 
 # Edit pages
 'summary' => 'Resume:',
-'subject' => 'Asuntu/cabecera:',
+'subject' => 'Asuntu/titular:',
 'minoredit' => 'Esta ye una edición menor',
 'watchthis' => 'Vixilar esta páxina',
 'savearticle' => 'Guardar la páxina',
@@ -709,67 +722,64 @@ Clave provisional: $2",
 'showdiff' => 'Amosar cambeos',
 'anoneditwarning' => "'''Avisu:''' Nun tas identificáu.
 La to direición IP va quedar grabada nel historial d'edición d'esta páxina.",
-'anonpreviewwarning' => "''Nun tas identificáu. Al guardar va queda rexistrada la to direición IP nel historial d'edición d'esta páxina.''",
+'anonpreviewwarning' => "''Nun aniciasti sesión. Al guardar quedará rexistrada la to direición IP nel historial d'edición d'esta páxina.''",
 'missingsummary' => "'''Recordatoriu:''' Nun conseñasti un resume d'edición.
-Si vuelves calcar en \"{{int:savearticle}}\", la to edición va guardase ensin nengún resume.",
-'missingcommenttext' => 'Por favor, escribi un comentariu embaxo.',
-'missingcommentheader' => "'''Recordatoriu:''' Nun-y conseñasti asuntu/cabecera a esti comentariu.
-Si vuelves calcar en \"{{int:savearticle}}\", la to edición va guardase ensin nengún comentariu.",
-'summary-preview' => 'Previsualización del resume:',
-'subject-preview' => 'Previsualización del asuntu/cabecera:',
+Si calques nuevamente \"{{int:savearticle}}\", la to edición guardaráse ensin nengún resume.",
+'missingcommenttext' => 'Por favor, escribi un comentariu abaxo.',
+'missingcommentheader' => "'''Recordatoriu:''' Nun conseñasti un asuntu/titular pa esti comentariu.
+Si calques nuevamente \"{{int:savearticle}}\", la to edición guardaráse ensin dengún.",
+'summary-preview' => 'Vista previa del resume:',
+'subject-preview' => 'Vista previa del asuntu/titular:',
 'blockedtitle' => "L'usuariu ta bloquiáu",
-'blockedtext' => "'''Bloquióse'l to nome d'usuariu o la to direición IP.'''
+'blockedtext' => "'''El to nome d'usuariu o direición IP ta bloquiáu.'''
 
-El bloquéu féxolu $1.
+El bloquéu fexolu $1.
 El motivu conseñáu ye ''$2''.
 
-* Entamu del bloquéu: $8
+* Principiu del bloquéu: $8
 * Caducidá del bloquéu: $6
 * Usuariu a bloquiar: $7
 
-Pues ponete en contautu con $1 o con cualesquier otru [[{{MediaWiki:Grouppage-sysop}}|alministrador]] p'aldericar sobre'l bloquéu.
-Nun pues usar la funcionalidá 'manda-y un corréu electrónicu a esti usuariu' a nun ser que tea especificada una direición de
-corréu electrónicu válida na to [[Special:Preferences|páxina de preferencies]] y que nun te tengan bloquiao'l so usu.
-La to direición IP actual ye $3, y el númberu d'identificación del bloquéu ye $5.
-Por favor, amiesta tolos detalles nes consultes que faigas.",
-'autoblockedtext' => 'Bloquióse automáticamente la to direición IP porque la usó otru usuariu que foi bloquiáu por $1.
+Pues ponete'n contautu con $1 o con otru [[{{MediaWiki:Grouppage-sysop}}|alministrador]] p'aldericar sobre'l bloquéu.
+Nun pues usar la función 'manda-y un corréu electrónicu a esti usuariu' a nun ser que tea especificada una direición de
+corréu electrónicu válida nes tos [[Special:Preferences|preferencies de cuenta]] y que nun tengas torgao usala.
+La to direición IP actual ye $3, y la ID del bloquéu ye #$5.
+Por favor, incluye tolos detalles anteriores nes consultes que faigas.",
+'autoblockedtext' => "La to direición IP bloquióse automáticamente porque usóla otru usuariu que foi bloquiáu por $1.
 El motivu conseñáu ye:
 
-:\'\'$2\'\'
+:''$2''
 
-* Entamu del bloquéu: $8
+* Principiu del bloquéu: $8
 * Caducidá del bloquéu: $6
 * Usuariu a bloquiar: $7
 
-Pues ponete en contautu con $1 o con cualesquier otru [[{{MediaWiki:Grouppage-sysop}}|alministrador]] p\'aldericar sobre\'l bloquéu.
-
-Fíxate en que nun pues usar la funcionalidá "manda-y un corréu electrónicu a esti usuariu" a nun se que tea rexistrada una direición de corréu electrónicu válida na to [[Special:Preferences|páxina de preferencies]] y que nun te tengan bloquiao\'l so usu.
+Pues ponete'n contautu con $1 o con otru de los [[{{MediaWiki:Grouppage-sysop}}|alministradores]] p'aldericar sobre'l bloquéu.
 
-La to direición IP actual ye $3, y el númberu d\'identificación del bloquéu ye $5.
-Por favor, amiesta tolos detalles nes consultes que faigas.
+Ten en cuenta que nun pues usar la función «manda-y un corréu electrónicu a esti usuariu» a nun ser que tengas rexistrada una direición de corréu electrónicu válida nes [[Special:Preferences|preferencies d'usuariu]] y que nun tengas torgao usala.
 
-La to direición IP actual ye $3, y el númberu d\'identificación del bloquéu ye $5.
-Por favor, amiesta tolos detalles nes consultes que faigas.',
+La to direición IP actual ye $3, y la ID del bloquéu ye #$5.
+Por favor, incluye tolos detalles anteriores nes consultes que faigas.",
 'blockednoreason' => 'nun se dio nengún motivu',
-'whitelistedittext' => 'Has $1 pa editar páxines.',
-'confirmedittext' => "Has confirmar la to direición de corréu electrónicu enantes d'editar páxines.
-Por favor, defínila y valídala nes tos [[Special:Preferences|preferencies d'usuariu]].",
-'nosuchsectiontitle' => 'Nun se pue atopar la seición',
+'whitelistedittext' => "Tienes d'$1 pa editar páxines.",
+'confirmedittext' => "Tienes de confirmar la direición de corréu electrónicu enantes d'editar páxines.
+Por favor, configura y valida la direición de corréu nes [[Special:Preferences|preferencies d'usuariu]].",
+'nosuchsectiontitle' => 'Nun pue atopase la seición',
 'nosuchsectiontext' => 'Intentasti editar una seición que nun esiste.
 Seique se treslladara o desaniciara mientres víes la páxina.',
-'loginreqtitle' => 'Necesítase identificación',
-'loginreqlink' => 'identificate',
-'loginreqpagetext' => 'Has $1 pa ver otres páxines.',
+'loginreqtitle' => 'Ye necesario aniciar sesión',
+'loginreqlink' => 'aniciar sesión',
+'loginreqpagetext' => "Tienes d'$1 pa ver otres páxines.",
 'accmailtitle' => 'Clave unviada',
-'accmailtext' => "Unvióse a $2 una clave xenerada al debalu pal usuariu [[User talk:$1|$1]].
+'accmailtext' => "Unvióse a $2 una contraseña xenerada al debalu pal usuariu [[User talk:$1|$1]].
 
-La clave d'esta cuenta nueva pue camudase na páxina ''[[Special:ChangePassword|camudar clave]]'' depués d'identificate.",
+La contraseña d'esta cuenta nueva 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).
 Si llegasti equí por enquivocu, calca nel botón '''atrás''' del to restolador.",
 'anontalkpagetext' => "----
-''Esta ye la páxina de'alderique pa un usuariu anónimu qu'inda nun creó una cuenta o que nun la usa.''
+''Esta ye la páxina d'alderique pa un usuariu anónimu qu'inda nun creó una cuenta o que nun la usa.''
 Pola mor d'ello ha usase la direición numbérica IP pa identificalu/la.
 Tala IP pue ser compartida por varios usuarios.
 Si yes un usuariu anónimu y notes qu'hai comentarios irrelevantes empobinaos pa ti, por favor [[Special:UserLogin/signup|crea una cuenta]] o [[Special:UserLogin/signup|identifícate]] pa torgar futures confusiones con otros usuarios anónimos.",
@@ -786,42 +796,43 @@ Se puen alcontrar más detalles nel [{{fullurl:{{#Special:Log}}/delete|page={{FU
 'userpage-userdoesnotexist' => "La cuenta d'usuariu «$1» nun ta rexistrada.
 Por favor comprueba si quies crear/editar esta páxina.",
 'userpage-userdoesnotexist-view' => "La cuenta d'usuariu «$1» nun ta rexistrada.",
-'blocked-notice-logextract' => 'Nestos momentos esti usuariu ta bloquiáu.
-La postrer entrada del rexistru de bloqueos úfrese darréu pa referencia:',
+'blocked-notice-logextract' => 'Anguaño esti usuariu ta bloquiáu.
+Más abaxo ufrese la entrada del rexistru de bloqueos pa referencia:',
 'clearyourcache' => "'''Nota:''' Llueu de guardar, seique tengas que llimpiar la caché del restolador pa ver los cambeos.
 *'''Firefox / Safari:''' Caltén ''Mayús'' mentes calques en ''Recargar'', o calca ''Ctrl-F5'' o ''Ctrl-R'' (''⌘-R'' nun Mac)
 * '''Google Chrome:''' Calca ''Ctrl-Mayús-R'' (''⌘-Mayús-R'' nun Mac)
 * '''Internet Explorer:''' Caltén ''Ctrl'' mentes calques ''Refrescar'', o calca ''Ctrl-F5''
 * '''Opera:''' llimpia la caché en ''Ferramientes → Preferencies''",
-'usercssyoucanpreview' => "'''Conseyu:''' Usa'l botón \"{{int:showpreview}}\" pa probar el to CSS nuevu enantes de guardalu.",
-'userjsyoucanpreview' => "'''Conseyu:''' Usa'l botón \"{{int:showpreview}}\" pa probar el to JavaScript nuevu enantes de guardalu.",
-'usercsspreview' => "'''Recuerda que namái tas previsualizando'l to CSS d'usuariu.'''
-'''¡Tovía nun ta guardáu!'''",
-'userjspreview' => "'''¡Recuerda que namái tas probando/previsualizando'l to JavaScript d'usuariu.'''
-'''¡Tovía nun ta guardáu!'''",
+'usercssyoucanpreview' => "'''Conseyu:''' Usa'l botón \"{{int:showpreview}}\" pa probar el CSS nuevu enantes de guardalu.",
+'userjsyoucanpreview' => "'''Conseyu:''' Usa'l botón \"{{int:showpreview}}\" pa probar el JavaScript nuevu enantes de guardalu.",
+'usercsspreview' => "'''Recuerda que namái ye la vista previa del CSS d'usuariu.'''
+'''¡Inda nun ta guardáu!'''",
+'userjspreview' => "'''Recuerda que namái ye la prueba/vista previa del JavaScript d'usuariu.'''
+'''¡Inda nun ta guardáu!'''",
 'sitecsspreview' => "'''Recuerda que namái tas previsualizando esti CSS.'''
 '''¡Tovía nun ta guardáu!'''",
-'sitejspreview' => "'''¡Recuerda que namái tas probando esti códigu JavaScript.'''
-'''¡Tovía nun tá guardáu!'''",
-'userinvalidcssjstitle' => "'''Avisu:''' Nun hai apariencia «$1».
-Les páxines personalizaes .css y .js usen un títulu en minúscules, p. ex. {{ns:user}}:Foo/vector.css en cuenta de {{ns:user}}:Foo/Vector.css.",
-'updated' => '(Actualizao)',
+'sitejspreview' => "'''Recuerda que namái tas probando esti códigu JavaScript.'''
+'''¡Inda nun tá guardáu!'''",
+'userinvalidcssjstitle' => "'''Avisu:''' Nun esiste'l tema «$1».
+Les páxines personalizaes de .css y .js usen un títulu en minúscules, p. ex. {{ns:user}}:Foo/vector.css y non {{ns:user}}:Foo/Vector.css.",
+'updated' => '(Anovao)',
 'note' => "'''Nota:'''",
 'previewnote' => "'''Alcuerdate de qu'esto ye sólo una vista previa.'''
 ¡Los cambios entá nun se guardaron!",
 'continue-editing' => "Dir al área d'edición",
 'previewconflict' => "Esta vista previa amuesa'l testu del área d'edición d'arriba tal como apaecerá si escueyes guardar.",
-'session_fail_preview' => "'''¡Sentímoslo muncho! Nun se pudo procesar la to edición porque hebo una perda de datos de la sesión.
-Inténtalo otra vuelta. Si nun se t'arregla, intenta salir y volver a rexistrate.'''",
-'session_fail_preview_html' => "'''¡Sentímoslo! Nun se pudo procesar la to edición pola mor d'una perda de datos de sesión.'''
+'session_fail_preview' => "'''¡Sentímoslo muncho! Nun pudimos procesar la to edición por aciu d'una perda de datos de la sesión.'''
+Por favor, vuelvi a intentalo.
+Si inda nun funciona, intenta [[Special:UserLogout|colar]] y volver a aniciar sesión.",
+'session_fail_preview_html' => "'''¡Sentímoslo! Nun pudo procesase la to edición por aciu d'una perda de datos de la sesión.'''
 
-''Como {{SITENAME}} tien activáu'l HTML puru, la previsualización nun s'amosará como precaución escontra ataques en JavaScript.''
+''Como {{SITENAME}} tien el HTML puru activáu, la vista previa ta tapecida como precaución escontra ataques en JavaScript.''
 
-'''Si esti ye un intentu llexítimu d'edición, por favor inténtalo otra vuelta. Si tovía asina nun furrula, intenta [[Special:UserLogout|desconeutate]] y volver a identificate.'''",
+'''Si esti ye un intentu llexítimu d'edición, por favor vuelvi a intentalo.''' Si inda nun funciona, intenta [[Special:UserLogout|colar]] y volver a aniciar sesión.",
 'token_suffix_mismatch' => "'''La to edición nun s'aceutó porque'l to navegador mutiló los caráuteres de puntuación nel editor.'''
 La edición nun foi aceutada pa prevenir corrupciones na páxina de testu.
 Dacuando esto pasa por usar un serviciu proxy anónimu basáu en web que tenga fallos.",
-'edit_form_incomplete' => "'''Delles partes del formulariu d'edición nun llegaron al sirvidor; comprueba que les ediciones tean intactes y vuelve a tentalo.'''",
+'edit_form_incomplete' => "'''Delles partes del formulariu d'edición nun llegaron al sirvidor; comprueba que les ediciones tean intactes y vuelvi a tentalo.'''",
 'editing' => 'Editando $1',
 'creating' => 'Creando $1',
 'editingsection' => 'Editando $1 (seición)',
@@ -834,12 +845,12 @@ Vas tener que fusionar los tos cambios dientro del testu esistente.
 '''Namái''' va guardase'l testu del área d'arriba cuando calques \"{{int:savearticle}}\".",
 'yourtext' => 'El to testu',
 'storedversion' => 'Versión almacenada',
-'nonunicodebrowser' => "'''AVISU: El to navegador nun cumple la norma unicode. Hai un sistema alternativu que te permite editar páxines de forma segura: los carauteres non-ASCII apaecerán na caxa d'edición como códigos hexadecimales.'''",
+'nonunicodebrowser' => "'''Avisu: El to navegador nun cumple la norma Unicode.''' Hai un sistema alternativu que te permite editar páxines de forma segura: los caráuteres non-ASCII apaecerán nel cuadru d'edición como códigos hexadecimales.",
 'editingold' => "'''AVISU: Tas editando una revisión vieya d'esta páxina. Si la grabes, los cambios que se ficieron dende esta revisión van perdese.'''",
 'yourdiff' => 'Diferencies',
-'copyrightwarning' => "Por favor, ten en cuenta que toles contribuciones de {{SITENAME}} se consideren espublizaes baxo la $2 (ver $1 pa más detalles). Si nun quies que'l to trabayu s'edite ensin midida y se distribuya al debalu, nun lu pongas equí.<br />
-Amás tas dexándonos afitao qu'escribisti esto tu mesmu o que lo copiasti d'una fonte llibre de dominiu públicu o asemeyao.
-'''¡NUN PONGAS TRABAYOS CON DERECHOS D'AUTOR ENSIN PERMISU!'''",
+'copyrightwarning' => "Por favor, ten en cuenta que toles collaboraciones de {{SITENAME}} considerense espublizaes baxo la $2 (ver $1 pa más detalles). Si nun quies que'l to trabayu s'edite ensin midida y se distribuya al debalu, nun lu pongas equí.<br />
+Amás tas prometiendonos qu'escribisti esto tu mesmu o que copiastilo d'una fonte llibre de dominiu públicu o asemeyao.
+'''¡Nun unvies obres con drechos d'autor ensin permisu!'''",
 'copyrightwarning2' => "Por favor, ten en cuenta que toles contribuciones de {{SITENAME}} se puen editar, alterar o desaniciar por otros usuarios. Si nun quies que'l to trabayu s'edite ensin midida, nun lu pongas equí.<br />
 Amás tas dexándonos afitao qu'escribisti esto tu mesmu, o que lo copiasti d'una fonte llibre de dominiu públicu o asemeyao (ver $1 pa más detalles).
 '''¡Nun pongas trabayos con drechos d'autor ensin permisu!'''",
@@ -853,7 +864,7 @@ L'alministrador que la candó dio esta esplicación: $1",
 La cabera entrada del rexistru s'ufre darréu pa referencia:",
 'semiprotectedpagewarning' => "'''Nota:''' Esta páxina ta candada pa que nun puean editala namái que los usuarios rexistraos.
 La cabera entrada del rexistru s'ufre darréu pa referencia:",
-'cascadeprotectedwarning' => "'''Avisu:''' Esta páxina ta candada pa que namái los alministradores la puean editar porque ta enxerta {{PLURAL:$1|na siguiente páxina protexida|nes siguientes páxines protexíes}} en cascada:",
+'cascadeprotectedwarning' => "'''Avisu:''' Esta páxina ta candada pa que namái los alministradores puedan editala porque ta incluída {{PLURAL:$1|na siguiente páxina protexida|nes siguientes páxines protexíes}} en cascada:",
 'titleprotectedwarning' => "'''Avisu: Esta páxina ta candada pa que necesite [[Special:ListGroupRights|permisos especiales]] pa creala.'''
 La cabera entrada del rexistru s'ufre darréu pa referencia:",
 'templatesused' => '{{PLURAL:$1|Plantía usada|Plantíes usaes}} nesta páxina:',
@@ -863,8 +874,8 @@ La cabera entrada del rexistru s'ufre darréu pa referencia:",
 'template-semiprotected' => '(semi-protexida)',
 'hiddencategories' => 'Esta páxina pertenez a {{PLURAL:$1|una categoría anubrida|$1 categoríes anubríes}}:',
 'edittools' => "<!-- Esti testu apaecerá baxo los formularios d'edición y xuba. -->",
-'nocreatetext' => '{{SITENAME}} tien restrinxida la capacidá de crear páxines nueves.
-Pues volver atrás y editar una páxina esistente, o bien [[Special:UserLogin|identificate o crear una cuenta]].',
+'nocreatetext' => '{{SITENAME}} tien torgada la posibilidá de crear páxines nueves.
+Pues volver atrás y editar una páxina esistente, o bien [[Special:UserLogin|aniciar sesión o crear una cuenta]].',
 'nocreate-loggedin' => 'Nun tienes permisu pa crear páxines nueves.',
 'sectioneditnotsupported-title' => 'Nun hai sofitu pa editar seición',
 'sectioneditnotsupported-text' => 'La edición de seición nun tien sofitu nesta páxina.',
@@ -879,19 +890,20 @@ Equí tienes el rexistru de desanicios y tresllaos d'esta páxina:",
 Como referencia, embaxo s'ufre'l rexistru de desanicios y tresllaos de la páxina.",
 'log-fulllog' => 'Ver el rexistru ensembre',
 'edit-hook-aborted' => 'Edición albortada pol hook.
-Nun conseñó esplicación.',
+Nun dio esplicación.',
 'edit-gone-missing' => 'Nun se pudo actualizar la páxina.
 Paez que se desanició.',
 'edit-conflict' => "Conflictu d'edición.",
 'edit-no-change' => "S'inoró la to edición, porque nun se fizo nengún cambéu nel testu.",
-'edit-already-exists' => 'Nun se pudo crear una páxina nueva.
-Yá esiste.',
+'postedit-confirmation' => 'Guardose la edición.',
+'edit-already-exists' => 'Nun pudo crease una páxina nueva.
+Esta yá esiste.',
 'defaultmessagetext' => 'Testu predetermináu',
 'content-failed-to-parse' => 'Fallu al analizar el conteníu $2 pal modelu $1: $3',
 'invalid-content-data' => 'Datos del conteníu inválidos',
 'content-not-allowed-here' => 'El conteníu «$1» nun se permite na páxina [[$2]]',
-'editwarning-warning' => 'Salir d\'esta páxina pue facer que se pierda cualesquier cambiu fechu.
-Si aniciasti sesión, puedes desactivar esti avisu na seición "Edición" de les tos preferencies.',
+'editwarning-warning' => 'Salir d\'esta páxina pue causar la perda de cualesquier cambiu fechu.
+Si aniciasti sesión, pue desactivase esti avisu na seición "Edición" de les tos preferencies.',
 
 # Content models
 'content-model-wikitext' => 'testu wiki',
@@ -903,14 +915,14 @@ Si aniciasti sesión, puedes desactivar esti avisu na seición "Edición" de les
 'expensive-parserfunction-warning' => "'''Avisu:''' Esta páxina contién demasiaes llamaes costoses a funciones d'análisis sintáuticu.
 
 Habría tener menos de $2 {{PLURAL:$2|llamada|llamaes}}, y agora tien $1 {{PLURAL:$1|llamada|llamaes}}.",
-'expensive-parserfunction-category' => "Páxines con demasiaes llamaes costoses a funciones d'análisis sintáuticu",
+'expensive-parserfunction-category' => 'Páxines con demasiaes llamaes costoses a funciones analítiques',
 'post-expand-template-inclusion-warning' => "'''Avisu:''' El tamañu de les plantíes incluyíes ye demasiao grande.
 Delles plantíes nun se van incluir.",
 'post-expand-template-inclusion-category' => "Páxines con escesu d'inclusiones de plantíes",
 'post-expand-template-argument-warning' => "'''Avisu:''' Esta páxina contién polo menos un parámetru de plantía que tien un tamañu d'espansión demasiao llargu.
 Estos parámetros s'omitieron.",
 'post-expand-template-argument-category' => 'Páxines con parámetros de plantía omitíos',
-'parser-template-loop-warning' => 'Hai una rueda de plantíes: [[$1]]',
+'parser-template-loop-warning' => 'Deteutóse un bucle de plantíes: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Se pasó la llende de fondura recursiva de les plantíes ($1)',
 'language-converter-depth-warning' => 'Se pasó la llende de fondura del convertidor de llingües ($1)',
 'node-count-exceeded-category' => 'Páxines onde se pasó la cuenta de nodios',
@@ -918,18 +930,18 @@ Estos parámetros s'omitieron.",
 'expansion-depth-exceeded-category' => "Páxines onde se pasó la fondura d'espansión",
 'expansion-depth-exceeded-warning' => "La páxina pasó la fondura d'espansión",
 'parser-unstrip-loop-warning' => 'Deteutóse un bucle "unstrip"',
-'parser-unstrip-recursion-limit' => 'Superóse\'l llímite de recursión d\'"unstrip" ($1)',
+'parser-unstrip-recursion-limit' => "Pasóse la llende de recursividá d'unstrip ($1)",
 'converter-manual-rule-error' => 'Detectóse un error na regla de conversión manual de llingua',
 
 # "Undo" feature
 'undo-success' => "La edición se pue esfacer.
 Por favor comprueba la comparanza d'abaxo pa confirmar que ye eso lo que quies facer, y depués guarda los cambios p'acabar d'esfacer la edición.",
-'undo-failure' => "Nun se pudo esfacer la edición pola mor d'ediciones intermedies conflictives.",
+'undo-failure' => "Nun pudo esfacese la edición por aciu d'ediciones intermedies conflictives.",
 'undo-norev' => 'Nun se pudo esfacer la edición porque nun esiste o se desanició.',
 'undo-summary' => 'Esfacer la revisión $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|alderique]])',
 
 # Account creation failure
-'cantcreateaccounttitle' => 'Nun se pue crear la cuenta',
+'cantcreateaccounttitle' => 'Nun pue crease la cuenta',
 'cantcreateaccount-text' => "La creación de cuentes dende esta direición IP ('''$1''') foi bloquiada por [[User:$3|$3]].
 
 El motivu dau por $3 ye ''$2''",
@@ -945,7 +957,7 @@ El motivu dau por $3 ye ''$2''",
 'nextrevision' => 'Revisión siguiente→',
 'currentrevisionlink' => 'Revisión actual',
 'cur' => 'act',
-'next' => 'próximu',
+'next' => 'siguiente',
 'last' => 'cab',
 'page_first' => 'primera',
 'page_last' => 'cabera',
@@ -999,7 +1011,7 @@ Pues ver el diff; los detalles s'alcuentren nel [{{fullurl:{{#Special:Log}}/supr
 'rev-delundel' => 'amosar/anubrir',
 'rev-showdeleted' => 'amosar',
 'revisiondelete' => 'Desaniciar/restaurar revisiones',
-'revdelete-nooldid-title' => 'Revisión de destín non válida',
+'revdelete-nooldid-title' => 'Revisión de destín inválida',
 'revdelete-nooldid-text' => 'Nun especificasti una revisión o revisiones destín sobre les que realizar esta función, la revisión especificada nun esiste, o tas intentando anubrir la revisión actual.',
 'revdelete-nologtype-title' => 'Nun se dio la triba de rexistru',
 'revdelete-nologtype-text' => 'Nun conseñasti una triba de rexistru nel que facer esta aición.',
@@ -1009,7 +1021,7 @@ Pues ver el diff; los detalles s'alcuentren nel [{{fullurl:{{#Special:Log}}/supr
 '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|Seleicionáu un eventu de rexistru|Seleicionaos eventos de rexistru}}:'''",
+'logdelete-selected' => "'''{{PLURAL:$1|Socesu del rexistru seleicionáu|Socesos del rexistru seleicionaos}}:'''",
 'revdelete-text' => "'''Les revisiones y socesos desaniciaos van siguir apaeciendo nel historial de la páxina y nos rexistros, pero parte del so conteníu nun va ser accesible pal públicu.'''
 Otros alministradores de {{SITENAME}} van siguir pudiendo acceder al conteníu anubríu y puen restauralu de nuevo al traviés d'esta mesma interfaz, a nun ser que s'establezan otres restricciones.",
 'revdelete-confirm' => "Confirma que quies facer esto, qu'entiendes les consecuencies, y que vas facer esto d'alcuerdo [[{{MediaWiki:Policy-url}}|cola política]].",
@@ -1017,18 +1029,18 @@ Otros alministradores de {{SITENAME}} van siguir pudiendo acceder al conteníu a
 * Información que pudiere ser bilordiosa
 * Información personal non apropiada
 *: ''direiciones de llares y númberos de teléfonu, númberos de seguridá social, etc.''",
-'revdelete-legend' => 'Establecer restricciones de visibilidá',
-'revdelete-hide-text' => 'Esconder testu de revisión',
-'revdelete-hide-image' => 'Esconder el conteníu del archivu',
-'revdelete-hide-name' => 'Esconder aición y oxetivu',
-'revdelete-hide-comment' => "Esconder comentariu d'edición",
-'revdelete-hide-user' => "Esconder el nome d'usuariu/IP del editor",
+'revdelete-legend' => 'Establecer torgues de visibilidá',
+'revdelete-hide-text' => 'Tapecer testu de la revisión',
+'revdelete-hide-image' => 'Tapecer el conteníu del ficheru',
+'revdelete-hide-name' => 'Tapecer aición y oxetivu',
+'revdelete-hide-comment' => "Tapecer el resume d'edición",
+'revdelete-hide-user' => "Tapecer el nome d'usuariu/IP del editor",
 'revdelete-hide-restricted' => "Desaniciar datos de los alministradores y d'otros",
 'revdelete-radio-same' => '(ensin cambeos)',
 'revdelete-radio-set' => 'Sí',
 'revdelete-radio-unset' => 'Non',
-'revdelete-suppress' => 'Eliminar datos de los alministradores lo mesmo que los de los demás',
-'revdelete-unsuppress' => 'Eliminar restricciones de revisiones restauraes',
+'revdelete-suppress' => "Desaniciar datos de los alministradores igual que d'otros",
+'revdelete-unsuppress' => 'Desaniciar les torgues nes revisiones restauraes',
 'revdelete-log' => 'Motivu:',
 'revdelete-submit' => 'Aplicar a {{PLURAL:$1|la revisión seleicionada|les revisiones seleicionaes}}',
 'revdelete-success' => "'''Visibilidá de revisiones anovada correutamente.'''",
@@ -1243,7 +1255,7 @@ Equí tienes un valor al debalu que pues usar: $1",
 'allowemail' => 'Dexar a los otros usuarios mandate correos',
 'prefs-searchoptions' => 'Guetar',
 'prefs-namespaces' => 'Espacios de nome',
-'defaultns' => "D'otra miente, guetar nestos espacios de nome:",
+'defaultns' => 'Sinón, buscar nestos espacios de nome:',
 'default' => 'predetermináu',
 'prefs-files' => 'Ficheros',
 'prefs-custom-css' => 'CSS personalizada',
@@ -2149,8 +2161,8 @@ Los futuro cambeos nesta páxina y na so páxina d\'alderique asociada apaecerá
 'notvisiblerev' => 'Esborróse la revisión',
 'watchnochange' => 'Nenguna de les tos páxines vixilaes foi editada nel periodu escoyíu.',
 'watchlist-details' => "{{PLURAL:$1|$1 páxina|$1 páxines}} na to llista de vixilancia ensin cuntar les páxines d'alderique.",
-'wlheader-enotif' => 'La notificación per corréu electrónicu ta activada.',
-'wlheader-showupdated' => "* Les páxines camudaes dende la to última visita amuésense en '''negrina'''",
+'wlheader-enotif' => 'La notificación per corréu electrónicu ta activada.',
+'wlheader-showupdated' => "Les páxines que camudaron dende que les visitasti anteriormente amuesense en '''negrina'''",
 'watchmethod-recent' => 'comprobando páxines vixilaes nos cambios recientes',
 'watchmethod-list' => 'comprobando ediciones recientes nes páxines vixilaes',
 'watchlistcontains' => 'La to llista de vixilancia tien $1 {{PLURAL:$1|páxina|páxines}}.',
@@ -2715,7 +2727,7 @@ Por favor visita [//www.mediawiki.org/wiki/Localisation Llocalización de MediaW
 'allmessagesnotsupportedDB' => "Nun pue usase '''{{ns:special}}:Allmessages''' porque '''\$wgUseDatabaseMessages''' ta deshabilitáu.",
 'allmessages-filter-legend' => 'Peñerar',
 'allmessages-filter' => 'Peñerar por estáu de personalización:',
-'allmessages-filter-unmodified' => 'Ensin cambéos',
+'allmessages-filter-unmodified' => 'Ensin cambeos',
 'allmessages-filter-all' => 'Toos',
 'allmessages-filter-modified' => 'Camudaos',
 'allmessages-prefix' => 'Peñerar pol prefixu:',
@@ -2726,6 +2738,8 @@ Por favor visita [//www.mediawiki.org/wiki/Localisation Llocalización de MediaW
 'thumbnail-more' => 'Agrandar',
 'filemissing' => 'Falta archivu',
 'thumbnail_error' => 'Error al crear la miniatura: $1',
+'thumbnail_error_remote' => "Mensaxe d'error de $1:
+$2",
 'djvu_page_error' => 'Páxina DjVu fuera de llímites',
 'djvu_no_xml' => 'Nun se pudo obtener el XML pal archivu DjVu',
 'thumbnail-temp-create' => 'Nun se pudo crear el ficheru temporal de miniatura',
@@ -2880,7 +2894,6 @@ Pues ver el so códigu fonte.',
 'modern.css' => '/* Los CSS allugaos equí afeutarán a los usuarios del aspeutu Modern */',
 'vector.css' => '/* Los CSS allugaos equí afeutarán a los usuarios del aspeutu Vector */',
 'print.css' => '/* Los CSS allugaos equí afeutarán a la salida pola imprentadora */',
-'handheld.css' => '/* Los CSS allugaos equí afeutarán a los preseos portátiles basaos nel aspeutu configuráu en $wgHandheldStyle */',
 'noscript.css' => '/* Los CSS allugaos equí afeutarán a los usuarios col JavaScript desactiváu */',
 'group-autoconfirmed.css' => '/* Los CSS allugaos equí afeutarán a los usuarios autoconfirmaos namái */',
 'group-bot.css' => '/* Los CSS allugaos equí afeutarán a los bots namái */',
@@ -3610,7 +3623,7 @@ Por favor confirma que daveres quies volver a crear esta páxina.",
 'table_pager_empty' => 'Nun hai resultaos',
 
 # Auto-summaries
-'autosumm-blank' => 'Páxina dexada en blanco',
+'autosumm-blank' => 'Desaniciáu el conteníu de la páxina',
 'autosumm-replace' => "Sustituyendo la páxina por '$1'",
 'autoredircomment' => 'Redirixendo a [[$1]]',
 'autosumm-new' => "Páxina creada con '$1'",
index 7895ca4..fb2aa4d 100644 (file)
@@ -129,8 +129,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Va ota va rupes favesik nedir !',
 'tog-oldsig' => 'Tisa sugdara',
 'tog-fancysig' => 'Krafiara va sugdaks wetce wikitext (a mivaskafi gluyasiki)',
-'tog-externaleditor' => 'Favera va divefi betasiki (anton gan aptacik, moe vusiko va yona aptafa vertara olegar)',
-'tog-externaldiff' => 'Omavafa favera va divefa "diff" xeka (anton gan aptacik, moe vusiko va yona aptafa vertara olegar)',
 'tog-showjumplinks' => 'Tutegirara va "grablera" vansarafi gluyasiki',
 'tog-uselivepreview' => 'Favera va abdiwira (JavaScript) (bagalon)',
 'tog-forceeditsummary' => 'Zo walzé viele betaravildeks tir vlardaf !',
@@ -864,14 +862,6 @@ Kan ''all:'' laganeyal ta varafa exulera (gon keyaksexo is teza ikz-), oke wetce
 'search-external' => 'Divafa aneyara',
 'searchdisabled' => "<p>La fonction de recherche sur l'intégralité du texte a été temporairement désactivée à cause de la grande charge que cela impose au serveur. Nous espérons la rétablir prochainement lorsque nous disposerons d'un serveur plus puissant. En attendant, vous pouvez faire la recherche avec Google:</p>",
 
-# Quickbar
-'qbsettings' => 'Tuweltara va xekobla',
-'qbsettings-none' => 'Mek',
-'qbsettings-fixedleft' => 'Roneon titickanaf',
-'qbsettings-fixedright' => 'Talteon titickanaf',
-'qbsettings-floatingleft' => 'Roneon ezas',
-'qbsettings-floatingright' => 'Talteon ezas',
-
 # Preferences page
 'preferences' => 'Lodamaceem',
 'mypreferences' => 'Jinaf lodamaceem',
@@ -943,7 +933,7 @@ Gotir le $1 {{PLURAL:$1|staa|staa}}.',
 Rinafe e-mail mane me zo razdar viele ar webesik uzerar.',
 'prefs-help-email-required' => 'E-mail mane zo kucilar.',
 
-# User preference: e-mail validation using jQuery
+# User preference: email validation using jQuery
 'email-address-validity-invalid' => 'Va enafe e-mail mane bazel',
 
 # User rights
@@ -1427,7 +1417,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'listgrouprights-addgroup-all' => 'Va kota lospa roloplekur',
 'listgrouprights-removegroup-all' => 'Va kota lospa rosular',
 
-# E-mail user
+# Email user
 'mailnologin' => 'Meke mane',
 'mailnologintext' => 'Rin gotil [[Special:UserLogin|dogluyarakiraf]]
 is bazeyes va wadafe internetmane ko rinaf [[Special:Preferences|lodamaceem]]
@@ -1472,8 +1462,8 @@ Ta sulara va batu bu div rinafi suzdasiki, koe grablexo va « Mea suzdá » vule
 'notvisiblerev' => 'Betaks sulayan',
 'watchnochange' => 'Nedoyu rinafu suzdanu bu al zo betar bak bazena rekola',
 'watchlist-details' => '{{PLURAL:$1|$1 bu|$1 bu}} koe rinafi suzdasiki rade prilarabueem.',
-'wlheader-enotif' => 'Email walzera tir tegisa.',
-'wlheader-showupdated' => "Bu betayanu vielu rin ironokon worayal tir '''sulatcalakorafu'''.",
+'wlheader-enotif' => 'Email walzera tir tegisa.',
+'wlheader-showupdated' => "Bu betayanu vielu rin ironokon worayal tir '''sulatcalakorafu'''.",
 'watchmethod-recent' => 'ageltara va noeltaf betakseem va suzdan bueem',
 'watchmethod-list' => 'ageltara va suzdan bueem icde noeltafa betara',
 'watchlistcontains' => 'Rinafi suzdasiki va $1 bu ruldar',
@@ -2046,7 +2036,7 @@ Kotari milconyafi gluyasiki roklon zo krafiar.',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Mantuca',
 'exif-imagelength' => 'Ontinuca',
 'exif-compression' => 'Raxivaracave',
@@ -2121,7 +2111,7 @@ Kotari milconyafi gluyasiki roklon zo krafiar.',
 'exif-gpsdestdistance' => 'Kofa soluma',
 'exif-gpsdatestamp' => 'GPS evla',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Raxivariskafa',
 
 'exif-unknowndate' => 'Megrupena evla',
@@ -2230,7 +2220,7 @@ Kotari milconyafi gluyasiki roklon zo krafiar.',
 'namespacesall' => 'koto',
 'monthsall' => 'kot',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail' => 'Va e-mail gruyel',
 'confirmemail_noemail' => 'Bazene "email" mane koe rinaf [[Special:Preferences|favesikaf lodamaceem]] me tir enafe.',
 'confirmemail_text' => "Ce wiki nécessite la vérification de votre adresse email avant de pouvoir utiliser toute fonction de messagerie. Utilisez le bouton ci dessous pour envoyer un email de confirmation à votre adresse. L'email contiendra un lien contenant un code, chargez ce lien dans votre navigateur pour valider votre adresse.",
@@ -2351,11 +2341,6 @@ This confirmation code will expire at $4.',
 'version-software-product' => 'Warzeks',
 'version-software-version' => 'Siatos',
 
-# Special:FilePath
-'filepath' => 'Iyeltakkelda',
-'filepath-page' => 'Iyeltak :',
-'filepath-submit' => 'Kelda',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Aneyara va jontolaf iyeltak',
 'fileduplicatesearch-legend' => 'Aneyara va jontolaca',
index 7fc3558..3e90308 100644 (file)
@@ -111,8 +111,6 @@ $messages = array(
 'tog-shownumberswatching' => 'İzləyən istifadəçilərin sayını göstər',
 'tog-oldsig' => 'Hazırkı imza:',
 'tog-fancysig' => 'Vikimətn şəklində imza (avtomatik keçid yaratmadan)',
-'tog-externaleditor' => 'Susmaya görə xarici müqayisə proqramlarından istifadə et',
-'tog-externaldiff' => 'Susmaya görə xarici müqayisə proqramlarından istifadə et',
 'tog-showjumplinks' => '"Keçid et:" linklərini aktivləşdir',
 'tog-uselivepreview' => 'Canlı sınaq baxışı xüsusiyyətindən istifadə et (JavaScript tələb edir, sınaq mərhələsindədir)',
 'tog-forceeditsummary' => 'Qısa məzmunu boş saxladıqda mənə bildir',
@@ -952,14 +950,6 @@ $1",
 'powersearch-togglenone' => 'Heç biri',
 'search-external' => 'Xarici axtarış',
 
-# Quickbar
-'qbsettings' => 'Naviqasiya paneli',
-'qbsettings-none' => 'Heç biri',
-'qbsettings-fixedleft' => 'Sola sabitləndi',
-'qbsettings-fixedright' => 'Sağa sabitləndi',
-'qbsettings-floatingleft' => 'Sola əyilir',
-'qbsettings-floatingright' => 'Sağa əyilir',
-
 # Preferences page
 'preferences' => 'Nizamlamalar',
 'mypreferences' => 'Nizamlamalar',
@@ -1393,7 +1383,6 @@ $1',
 'http-read-error' => 'HTTP oxuma xətası',
 'http-timed-out' => 'HTTP istəyinin vaxtı bitdi.',
 'http-curl-error' => 'URL-ə yanlış müraciət: $1',
-'http-host-unreachable' => 'URL-ə çatmaq olmadı.',
 'http-bad-status' => 'HTTP müraciətin yoxlanması zamanı problem aşkarlanmışdır: $1 $2',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
@@ -1728,8 +1717,8 @@ Fərdi hüquqlar haqqında əlavə məlumatı [[{{MediaWiki:Listgrouprights-help
 'notvisiblerev' => 'Başqa istifadıçinin son dəyişikliyi silinib',
 'watchnochange' => 'Verilən vaxt ərzində heç bir izlədiyiniz səhifə redaktə edilməmişdir.',
 'watchlist-details' => 'Müzakirə səhifələrini çıxmaq şərtilə {{PLURAL:$1|$1 səhifəni|$1 səhifəni}} izləyirsiniz.',
-'wlheader-enotif' => ' E-məktubla bildiriş aktivdir.',
-'wlheader-showupdated' => "Son ziyarətinizdən sonra edilən dəyişikliklər '''qalın şriftlərlə''' göstərilmişdir.",
+'wlheader-enotif' => ' E-məktubla bildiriş aktivdir.',
+'wlheader-showupdated' => "Son ziyarətinizdən sonra edilən dəyişikliklər '''qalın şriftlərlə''' göstərilmişdir.",
 'watchmethod-recent' => 'yeni dəyişikliklər izlənilən səhifələr üçün yoxlanılır',
 'watchmethod-list' => 'izlənilən səhifələr yeni dəyişikliklər üçün yoxlanılır',
 'watchlistcontains' => 'İzləmə siyahınızda $1 {{PLURAL:$1|səhifə|səhifə}} var.',
@@ -2281,13 +2270,8 @@ Zəhmət olmasa başqa ad seçin.',
 
 # Stylesheets
 'common.css' => '/* Burada yerləşən CSS bütün skinlərə tətbiq olunur */',
-'standard.css' => '/* Burada yerləşən CSS Standard skin istifadəçilərinə tətbiq olunur */',
-'nostalgia.css' => '/* Burada yerləşən CSS Nostalgia skin istifadəçilərinə tətbiq olunur */',
 'cologneblue.css' => '/* Burada yerləşən CSS Cologne Blue skin istifadəçilərinə tətbiq olunur */',
 'monobook.css' => '/* Burada yerləşən CSS Monobook skin istifadəçilərinə tətbiq olunur */',
-'myskin.css' => '/* Burada yerləşən CSS MySkin skin istifadəçilərinə tətbiq olunur */',
-'chick.css' => '/* Burada yerləşən CSS Chick skin istifadəçilərinə tətbiq olunur */',
-'simple.css' => '/* Burada yerləşən CSS Simple skin istifadəçilərinə tətbiq olunur */',
 'modern.css' => '/* Burada yerləşən CSS Modern skin istifadəçilərinə tətbiq olunur */',
 'vector.css' => '/* Burada yerləşən CSS Vector istifadəçilərinə tətbiq olunur */',
 'group-autoconfirmed.css' => '/* Burada yerləşən CSS yalnız avtotəsdiqlənmiş istifadəçilərə şamil olunur */',
@@ -2297,13 +2281,8 @@ Zəhmət olmasa başqa ad seçin.',
 
 # Scripts
 'common.js' => '/* Burada istifadəçilərin hamısı üçün bütün səhifələrdə istənilən JavaScript yüklənəcək */',
-'standard.js' => '/* Burada Standard skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */',
-'nostalgia.js' => '/* Burada Nostalgia skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */',
 'cologneblue.js' => '/* Burada Cologne Blue skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */',
 'monobook.js' => '/* Burada MonoBook skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */',
-'myskin.js' => '/* Burada MySkin skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */',
-'chick.js' => '/* Burada Chick skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */',
-'simple.js' => '/* Burada Simple skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */',
 'modern.js' => '/* Burada Modern skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */',
 'vector.js' => '/* Burada Vector skin istifadəçiləri üçün istənilən JavaScript yüklənəcək */',
 'group-autoconfirmed.js' => '/* Burada istənilən JavaScript yalnız avtotəsdiqlənmiş istifadəçilər üçün yüklənəcək */',
@@ -2344,13 +2323,8 @@ Zəhmət olmasa başqa ad seçin.',
 'pageinfo-authors' => 'Fərqli müəlliflərin sayı',
 
 # Skin names
-'skinname-standard' => 'Classic',
-'skinname-nostalgia' => 'Nostalgia',
 'skinname-cologneblue' => 'Cologne Blue',
 'skinname-monobook' => 'MonoBook',
-'skinname-myskin' => 'MySkin',
-'skinname-chick' => 'Chick',
-'skinname-simple' => 'Simple',
 'skinname-modern' => 'Modern',
 'skinname-vector' => 'Vector',
 
@@ -2430,8 +2404,6 @@ Həmin sətirdəki növbəti keçidlər istisna hesab olunur. Məsələn, fayl m
 
 /*
 Short names for language variants used for language conversion links.
-To disable showing a particular link, set it to 'disable', e.g.
-'variantname-zh-sg' => 'disable',
 Variants for Chinese language
 */
 'variantname-zh-hans' => 'hans',
@@ -2475,7 +2447,7 @@ Variants for Chinese language
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Genişlik',
 'exif-imagelength' => 'Hündürlük',
 'exif-compression' => 'Sıxılmamış',
@@ -2601,7 +2573,7 @@ Variants for Chinese language
 'exif-organisationinimage' => 'Təsvir edilmiş təşkilat',
 'exif-personinimage' => 'Təsvir edilmiş şəxs',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Sıxılmış',
 
 'exif-copyrighted-true' => 'Müəlliflik hüququ ilə qorunur',
@@ -2905,11 +2877,6 @@ Variants for Chinese language
 'version-software-version' => 'Versiya',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Fayl yolu',
-'filepath-page' => 'Fayl:',
-'filepath-submit' => 'Get',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Dublikat fayl axtarışı',
 'fileduplicatesearch-legend' => 'Dublikatı axtar',
index ddf5a23..31e7d99 100644 (file)
@@ -2019,6 +2019,15 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization صحیفه‌‌سین
 'listusers-noresult' => 'هئچ ایستیفاده‌چی تاپیلمادی.',
 'listusers-blocked' => '(باغلانیب)',
 
+# Special:ActiveUsers
+'activeusers' => 'چالیشان ایستیفاده‌چیلرین لیستی',
+'activeusers-intro' => 'بوردا سون {{PLURAL:$1|بیر|$1}} گون‌ده بیر ایشلر گؤرن ایستیفاده‌چیلرین لیستی گؤستریلیر.',
+'activeusers-count' => 'سون {{PLURAL:$3|گون|$3 گون}}‌ده، {{PLURAL:$1|$1}} چالیشما',
+'activeusers-from' => 'بوندان باشلایاراق ایستیفاده‌چیلری گؤستر:',
+'activeusers-hidebots' => 'بوتلاری گیزلت',
+'activeusers-hidesysops' => 'ایداره‌چیلری گیزلت',
+'activeusers-noresult' => 'هئچ ایستیفاده‌چی تاپیلمادی.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'ایستیفاده‌چی قروپ حاقلاری',
 'listgrouprights-summary' => 'آشاغیدا، بو ویکی‌ده تانیلان ایستیفاده‌چی گروپلاری و اونلارین حاقلاری گؤستریلیر.
@@ -2095,8 +2104,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization صحیفه‌‌سین
 'notvisiblerev' => 'باشقا ایستیفادی‌چی‌نین سون دییشیک‌لیگی سیلینیب',
 'watchnochange' => 'گؤستریلن واخت‌دا هئچ بیر ایزله‌دیگینیز صحیفه دَییشدیریلمه‌ییبدیر.',
 'watchlist-details' => 'دانیشیق صفحه‌لرینی سایمایاراق، {{PLURAL:$1|$1 صفحه‌نی}} ایزله‌ییرسینیز.',
-'wlheader-enotif' => 'ایمیل مکتوبلا بیلدیریش اولا بیلر.',
-'wlheader-showupdated' => "سون گؤروشونوزدن سونرا ائدیلن دییشیکلیکلر '''قالین''' گؤستریلیبدیلر.",
+'wlheader-enotif' => 'ایمیل مکتوبلا بیلدیریش اولا بیلر.',
+'wlheader-showupdated' => "سون گؤروشونوزدن سونرا ائدیلن دییشیکلیکلر '''قالین''' گؤستریلیبدیلر.",
 'watchmethod-recent' => 'یئنی دییشیک‌لیک‌لر ایزلنیلن صحیفه‌لر اوچون یوخلانیلیر',
 'watchmethod-list' => 'ایزلنیلن صحیفه‌لر یئنی دییشیک‌لیک‌لر اوچون یوخلانیلیر',
 'watchlistcontains' => 'ایزلمه سیاهینیزدا $1 {{PLURAL:$11|صحیفه}} وار.',
@@ -2992,7 +3001,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'گئنیش‌لیک',
 'exif-imagelength' => 'اوزوناسی',
 'exif-bitspersample' => 'هر جز دا نقطه',
@@ -3170,7 +3179,7 @@ $1',
 'exif-originalimageheight' => 'شکیلین کسیلمه دن اوولکی اوجالیقی',
 'exif-originalimagewidth' => 'شکیلین کسیلمه دن اوولکی گئنیش‌لیگی',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'سیخیلمامیش',
 'exif-compression-2' => 'پسوورد قویماق سی‌سی‌آی‌تی‌تی ۳  گروه دا بیر بعدی هافمن روشی ایله اوزوناسی اوستونده دییشیلیب',
 'exif-compression-3' => 'رمز قرار وئرمک سی‌سی‌آی‌تی‌تی قروپ ۳',
@@ -3582,13 +3591,6 @@ $5
 'version-entrypoints-header-entrypoint' => 'گیریش نقطه‌‌سی',
 'version-entrypoints-header-url' => 'اینترنت آدرسی',
 
-# Special:FilePath
-'filepath' => 'فايل يولو',
-'filepath-page' => 'فایل:',
-'filepath-submit' => 'گئت',
-'filepath-summary' => 'بو اؤزل صحیفه‌‌ بیر فايل اوچون تام يولو گتیرر. 
-شکیللر تام تصویرین گؤستریلیر، دیگر فايل نؤولری ایله باغلی پروقراملاری بیرباشا ایشه باشلايیر.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'دوبلیکات فايل آختاریشی',
 'fileduplicatesearch-summary' => 'تعمین ائتمک ديَری دؤشه‌مه‌سینده بنزر فايللاری آختار.',
index 6c60042..ba1bc8d 100644 (file)
@@ -672,10 +672,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Паролде ташлатыу',
-'passwordreset-text' => 'Иҫәп яҙыуығыҙ мәғлүмәттәрен хат аша алыу өсөн киләһе форманы тултырығыҙ.',
 'passwordreset-legend' => 'Паролде ташлатыу',
 'passwordreset-disabled' => 'Был викила паролде ташлатыу ғәмәлдә түгел',
-'passwordreset-pretext' => '{{PLURAL:$1||аҫта күрһәтелгән мәғлүмәттәрҙең бер киҫәген керетегеҙ}}',
 'passwordreset-username' => 'Ҡулланыусы исеме:',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Хәбәрҙең һуңғы хәлен ҡарарғамы?',
@@ -2157,8 +2155,8 @@ $1',
 'notvisiblerev' => 'Башҡа ҡатнашыусы тарафынан керетелгән һуңғы өлгө юйылған',
 'watchnochange' => 'Күрһәтелгән арауыҡта күҙәтеүҙәр исемлегенән бер ни ҙә үҙгәрмәгән.',
 'watchlist-details' => 'Һеҙҙең күҙәтеү исемлегегеҙҙә, фекер алышыу биттәрен һанамағанда, {{PLURAL:$1|$1 бит|$1 бит}} бар.',
-'wlheader-enotif' => 'Электрон почта аша белдереү һайланған',
-'wlheader-showupdated' => "Һеҙҙең аҙаҡҡы кереүегеҙҙән һуң үҙгәргән биттәр '''ҡалын''' шрифт менән күрһәтелгән.",
+'wlheader-enotif' => 'Электрон почта аша белдереү һайланған',
+'wlheader-showupdated' => "Һеҙҙең аҙаҡҡы кереүегеҙҙән һуң үҙгәргән биттәр '''ҡалын''' шрифт менән күрһәтелгән.",
 'watchmethod-recent' => 'күҙәтелгән биттәр өсөн аҙаҡҡы үҙгәртеүҙәрҙе ҡарау',
 'watchmethod-list' => 'аҙаҡҡы үҙгәртеүҙәр өсөн күҙәтелгән биттәрҙе ҡарау',
 'watchlistcontains' => 'Һеҙҙең күҙәтеү исемлегендә $1 {{PLURAL:$1|бит|бит}}бар.',
index 3132f72..50a9e92 100644 (file)
@@ -88,8 +88,6 @@ $messages = array(
 'tog-shownumberswatching' => "D' Åzoi voh dé beówochterden Benutzer åzoang",
 'tog-oldsig' => 'Existente Unterschrift',
 'tog-fancysig' => 'Unterschrift ois Wikitext bhåndln (óne autómaatische Valinkung)',
-'tog-externaleditor' => "An externen Editor ois Standard bnutzen (netter fyr Experten, braucht spezielle Eihstellungen auf'm eigernen Computer)",
-'tog-externaldiff' => "A externs Programm fyr Versionsunterschiad ois Standard bnutzen (netter fyr Experten, dafordert spezielle Eihstellungen auf'm eiganen Computer)",
 'tog-showjumplinks' => '„Wexeln zu“-Links aktivirn',
 'tog-uselivepreview' => 'Live-Vurschau nutzen (dodafyr braucht ma JavaScript) (experimentoy)',
 'tog-forceeditsummary' => 'Warnen, wånn ban Speichern dé Zåmmerfossung fööd',
@@ -103,6 +101,7 @@ $messages = array(
 'tog-diffonly' => "Zoag beim Versiónsvagleich netter dé Unterschiad und néd d' voiständige Seiten",
 'tog-showhiddencats' => 'Vasteckte Kategorien åzoang',
 'tog-norollbackdiff' => "Unterschiad noch'm Zrucksetzen unterdrucker",
+'tog-useeditwarning' => ' A Warung geem, sofern a zur da Beorweitung geffnate Seiten valossen werd, de ned gspeicherde Änderrungen enthoit.',
 
 'underline-always' => 'oiwei',
 'underline-never' => 'nia',
@@ -614,6 +613,8 @@ Bittschee ibaleg da genau, obs sinnvoi is de Seitn ozlegn.
 Des Lesch- und Vaschiab-Logbuach dazua findsd do:",
 'moveddeleted-notice' => 'De Seitn do is glescht worn. Es foigt a Auszug ausm Lesch- und Vaschiabungs-Logbuch vo dea Seitn.',
 'edit-conflict' => 'Konflikt ban Beorwaten.',
+'editwarning-warning' => "'s Valossen vo derer Seiten kå dodazua fyrn, daas d' Änderrungen valurn geengan.
+Ois ågmödter Benutzer kå's Åzoang vo derer Warnung im \"Beorweiten\"-Bereich vo de Eistellungen obgschoiden wern.",
 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => 'Obocht: De Gress vo eibundne Vorlong is z gross.
@@ -1101,7 +1102,7 @@ Zuasätzlige Informaziónen ywer dé oahzelnen Rechtt kennan [[{{MediaWiki:Listg
 'listgrouprights-removegroup-self' => "'s oagerne Benutzerkóntó aus {{PLURAL:$2|derer Gruppm|dé Gruppm}} entferner: $1",
 'listgrouprights-addgroup-self-all' => 'Kauh olle Gruppm zum oagern Kóntó dazuadoah',
 
-# E-mail user
+# Email user
 'mailnologin' => 'Du bist néd auhgmödt',
 'emailuser' => 'Mail an den Nutza',
 'emailpage' => 'E-Mail aun Benutzer',
@@ -1144,8 +1145,8 @@ Waunnst dé Seiten wieder voh deiner Beówochtungslisten weggerddoah mechst, dru
 'notvisiblerev' => 'Versión is gléschd worn',
 'watchnochange' => 'Koahne dé voh dir beówochterden Seiten san wärnd dém auhzoagten Zeidraum beorwatt worn.',
 'watchlist-details' => 'Du beoochst {{PLURAL:$1|$1 Seitn}}, Dischkriaseitn ned mitgrechnad',
-'wlheader-enotif' => 'Da E-Mail-Benoochrichtigungsdeanst is aktivierd.',
-'wlheader-showupdated' => "Seiten mid noh néd gseengne Änderrungen wern '''fett''' dorgstöd.",
+'wlheader-enotif' => 'Da E-Mail-Benoochrichtigungsdeanst is aktivierd.',
+'wlheader-showupdated' => "Seiten mid noh néd gseengne Änderrungen wern '''fett''' dorgstöd.",
 'watchmethod-recent' => "Ywerpriaff d' létzden Beorwatungen fyr d' Beówochtungslisten",
 'watchmethod-list' => 'Ywerpriaffm voh da Beówochtungslisten auf létzde Beorwatungen',
 'watchlistcontains' => 'Deih Beówochtungslisten enthoitt $1 {{PLURAL:$1|Seiten|Seiten}}.',
@@ -1580,7 +1581,7 @@ Weidane wean standardmassi ned ozoagt.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-gpsspeed' => 'Gschwindigkeid vom GPS-Empfänger',
 
 'exif-componentsconfiguration-0' => 'Gibts néd',
@@ -1594,7 +1595,7 @@ Weidane wean standardmassi ned ozoagt.
 'namespacesall' => 'olle',
 'monthsall' => 'olle',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail' => 'E-Post-Adressn bestäting (Authentifiziarung)',
 'confirmemail_noemail' => 'Du håst ka güitige E-Post-Adressn in deine [[Special:Preferences|persönlichn Eistellungen]] eitrång.',
 'confirmemail_send' => 'Bstätigungscode zuaschicker',
diff --git a/languages/messages/MessagesBbc.php b/languages/messages/MessagesBbc.php
new file mode 100644 (file)
index 0000000..e5072e9
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+/** Batak Toba (Batak Toba)
+ *
+ * See MessagesQqq.php for message documentation incl. usage of parameters
+ * To improve a translation please visit http://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ * @comment falls back to Batak Toba (Latin)
+ */
+
+$fallback = 'bbc-latn';
diff --git a/languages/messages/MessagesBbc_latn.php b/languages/messages/MessagesBbc_latn.php
new file mode 100644 (file)
index 0000000..da966b2
--- /dev/null
@@ -0,0 +1,737 @@
+<?php
+/** Batak Toba (Batak Toba)
+ *
+ * See MessagesQqq.php for message documentation incl. usage of parameters
+ * To improve a translation please visit http://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ * @author Daniel Harahap
+ * @author Marvel manalu
+ * @author Naval Scene
+ * @author Stephensuleeman
+ * @author WBT001Erin
+ * @author WBT003Bugari
+ * @author WBT004Togu
+ * @author WBT006Hendra
+ * @author WBT009Anju
+ */
+
+$fallback = 'id';
+
+$messages = array(
+# User preference toggles
+'tog-underline' => 'Ondolhon panait',
+'tog-justify' => 'Padasip paragrap',
+'tog-hideminor' => 'Tabunihon editing na metmet di parubaan na imbaru',
+'tog-hidepatrolled' => 'Bunihon panotaan na metmet di parubaan na imbaru',
+'tog-numberheadings' => 'Bahen nomor judul otomatis',
+'tog-showtoolbar' => 'Pataridahon molo ula-ula haubaon',
+'tog-editondblclick' => 'Klik dua hali laho patotahon alaman (ringkot do JavaScript)',
+'tog-minordefault' => 'Tandai sude panotaan na metmet songon naung dipamasa',
+'tog-previewontop' => 'Patuduon preview andorang so kotak edit',
+'tog-previewonfirst' => 'Patudu pratayang di panotaan na parjolo',
+'tog-enotifwatchlistpages' => 'Tongoshon tu ahu surat elektronik molo muba sada alaman na humanat-manati',
+'tog-enotifusertalkpages' => 'Tongoshon tu ahu surat elektronik molo muba alaman panghataionku',
+'tog-enotifminoredits' => 'Tong ma tongoshon surat elektronik tu ahu diparubaan na metmet',
+'tog-enotifrevealaddr' => 'Papatar alamat surat elektronikku tikki notifikasi surat elektronik',
+'tog-shownumberswatching' => 'Patuduhon godang ni pamareso',
+'tog-oldsig' => 'Tandatangani saonari:',
+'tog-forceeditsummary' => 'Paingot ahu molo bongot tu poti panotaan na rumar',
+'tog-watchlisthideown' => 'Bunihon na hupatota sian pamareso',
+'tog-showhiddencats' => 'Papatar angka kategori na buni',
+
+'underline-always' => 'Tongtong',
+'underline-never' => 'Ndang hea masa',
+
+# Dates
+'sunday' => 'Ari Minggu',
+'monday' => 'Ari Senen',
+'tuesday' => 'Ari Selasa',
+'wednesday' => 'Ari Rabu',
+'thursday' => 'Ari Kamis',
+'friday' => 'Ari Jumat',
+'saturday' => 'Ari Sabtu',
+'sun' => 'Mgg',
+'mon' => 'Snn',
+'tue' => 'Sls',
+'wed' => 'Rb',
+'thu' => 'Kms',
+'fri' => 'Jmt',
+'sat' => 'Sbt',
+'january' => 'Sipaha Sampulu',
+'february' => 'Li',
+'march' => 'Hurung',
+'april' => 'Sipaha Sada',
+'may_long' => 'Sipaha Dua',
+'june' => 'Sipaha Tolu',
+'july' => 'Sipaha Opat',
+'august' => 'Sipaha Lima',
+'september' => 'Sipaha Onom',
+'october' => 'Sipaha Pitu',
+'november' => 'Sipaha Uwalu',
+'december' => 'Sipaha Sia',
+'january-gen' => 'Sipaha Sampulu',
+'february-gen' => 'Li',
+'march-gen' => 'Hurung',
+'april-gen' => 'Sipaha Sada',
+'may-gen' => 'Sipaha Dua',
+'june-gen' => 'Sipaha Tolu',
+'july-gen' => 'Sipaha Opat',
+'august-gen' => 'Sipaha Lima',
+'september-gen' => 'Sipaha Onom',
+'october-gen' => 'Sipaha Pitu',
+'november-gen' => 'Sipaha Uwalu',
+'december-gen' => 'Sipaha Sia',
+'jan' => 'Sipaha Sampulu',
+'feb' => 'Li',
+'mar' => 'Hurung',
+'apr' => 'Sipaha Sada',
+'may' => 'Sipaha Dua',
+'jun' => 'Sipaha Tolu',
+'jul' => 'Sipaha Opat',
+'aug' => 'Sipaha Lima',
+'sep' => 'Sipaha Onom',
+'oct' => 'Sipaha Pitu',
+'nov' => 'Sipaha Uwalu',
+'dec' => 'Sipaha Sia',
+
+# Categories related messages
+'pagecategories' => '{{PLURAL:$1|Horong|Angka horong}}',
+'category_header' => 'Angka alaman di horong "$1"',
+'subcategories' => 'Horong na metmet',
+'category-media-header' => 'Media dibagasan horong  "$1"',
+'category-empty' => '"Ndang adong alaman manang media di horong on nuaeng."',
+'hidden-categories' => '{{PLURAL:$1|Horong na buni|Angka horong na buni}}',
+'hidden-category-category' => 'Kategori na buni',
+'category-subcat-count' => '{{PLURAL:$2|Horong on marisi {{PLURAL:$1|$1 horong na metmet}} sian sude $2.}}',
+'category-article-count' => '{{PLURAL:$2|Horong on marisi {{PLURAL:$1|$1 alaman}}, sian sude $2.}}',
+'category-file-count' => '{{PLURAL:$2|Horong on holan marisi berkas{{PLURAL:$1|$1 alaman}}, sian sude $2.}}',
+'listingcontinuesabbrev' => 'udut.',
+'broken-file-category' => 'Alaman dohot gombaran na sega',
+
+'about' => 'Taringot',
+'article' => 'alaman isi',
+'newwindow' => '(ungkap ni pandiloi na imbaru)',
+'cancel' => 'Sundati',
+'moredotdotdot' => 'Tambai',
+'mypage' => 'Alaman',
+'mytalk' => 'Pangkataion',
+'navigation' => 'Angka ula-ula laho patuduhon dalan dohot luat',
+'and' => '&#32;dohot',
+
+# Cologne Blue skin
+'qbfind' => 'Jumpangi',
+'qbedit' => 'Patota',
+'qbpageoptions' => 'Alaman on',
+'qbmyoptions' => 'Alaman niiba',
+'faq' => 'FAQ',
+'faqpage' => 'Project:FAQ',
+
+# Vector skin
+'vector-action-addsection' => 'Bagian na imbaru',
+'vector-action-delete' => 'Sesa',
+'vector-action-move' => 'Pahusor',
+'vector-action-protect' => 'Ramoti',
+'vector-action-undelete' => 'unang sesa',
+'vector-action-unprotect' => 'Uba parlindungan',
+'vector-view-create' => 'Tompa',
+'vector-view-edit' => 'Paubah',
+'vector-view-history' => 'Patudu andorang na',
+'vector-view-view' => 'Jaha',
+'vector-view-viewsource' => 'Ida haroanna',
+'actions' => 'Pangulahonon',
+'namespaces' => 'Inganan ni goar',
+'variants' => 'Angka ragam',
+
+'errorpagetitle' => 'Sega',
+'returnto' => 'Mulak tu $1.',
+'tagline' => 'Sian {{SITENAME}}',
+'help' => 'Urupi',
+'search' => 'Diori',
+'searchbutton' => 'Diori',
+'go' => 'Laho tu',
+'searcharticle' => 'Laho tu',
+'history' => 'Alaman turiturian',
+'history_short' => 'Angka siingoton',
+'printableversion' => 'versi na boi dicetak',
+'permalink' => 'Pangait na togu',
+'view' => 'Ida',
+'edit' => 'Patota',
+'create' => 'Tompa',
+'editthispage' => 'Patota alaman on',
+'create-this-page' => 'Bahen alaman on',
+'delete' => 'Sesa',
+'deletethispage' => 'Sesa alaman on',
+'undelete_short' => 'Sundat sesa $1 {{PLURAL:$1|panotaan|panotaan}}',
+'protect' => 'Ramoti',
+'protect_change' => 'Pauba',
+'newpage' => 'Alaman na imbaru',
+'talkpage' => 'Hatahon alaman on',
+'talkpagelinktext' => 'Pangkataion',
+'personaltools' => 'Ula-ula ni sasahalak',
+'postcomment' => 'Bagian imbaru',
+'talk' => 'Panghataion',
+'views' => 'Hataridaan',
+'toolbox' => 'Poti ulaula',
+'userpage' => 'Ida alaman ni pamangke',
+'viewhelppage' => 'Ida alaman pangurupion',
+'viewtalkpage' => 'Ida alaman panghataion',
+'otherlanguages' => 'Di bagasan parhataan na asing',
+'redirectedfrom' => '(Ulanghon sian $1)',
+'lastmodifiedat' => 'Alaman on parpudi di uba ari $2, topet $1.',
+'viewcount' => 'Alaman on nungga dibongoti {{PLURAL:$1|sahali|$1 hali}}',
+'protectedpage' => 'Alaman na di jaga',
+'jumpto' => 'Manimbung tu:',
+'jumptonavigation' => 'angka ula-ula laho patuduhon dalan dohot luat',
+'jumptosearch' => 'Diori',
+'pool-timeout' => 'Suda tingki paimahon hincu',
+'pool-errorunknown' => 'Hasalaan na so binoto',
+
+# 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) and the disambiguation template definition (see disambiguations).
+'aboutsite' => 'Taringot {{SITENAME}}',
+'aboutpage' => 'Project:Taringot tu',
+'copyright' => 'Sude siguriton rade saguru tu $1.',
+'copyrightpage' => '{{ns:project}}:Hak manopa',
+'currentevents' => 'Na tongon masa',
+'currentevents-url' => 'Project:Na masa nuaeng',
+'disclaimers' => 'Panyakalon',
+'disclaimerpage' => 'Project:Pamorsoon umum',
+'edithelp' => 'Pangurupion laho patotahon',
+'edithelppage' => 'Help:Panotaan',
+'helppage' => 'Help:Isi',
+'mainpage' => 'Pogu ni Alaman',
+'mainpage-description' => 'Pogu ni alaman',
+'portal' => 'Harbangan ni punguan',
+'portal-url' => 'Project:Harbangan ni punguan',
+
+'badaccess-group0' => 'Dang diloas hamu laho mangulahon na pinangidomu',
+
+'ok' => 'OK',
+'retrievedfrom' => 'Dijalo sian "$1"',
+'youhavenewmessages' => 'Adong di ho $1 ($2).',
+'newmessageslink' => 'Tona na imbaru',
+'newmessagesdifflink' => 'Parubaan na parpudi',
+'youhavenewmessagesmulti' => 'Adong tu ho tona na imbaru di $1',
+'editsection' => 'Patota',
+'editold' => 'patota',
+'viewsourceold' => 'Bereng harorona',
+'editlink' => 'Patota',
+'viewsourcelink' => 'Ida ma mual',
+'editsectionhint' => 'Patota ponggol: $1',
+'toc' => 'Isi',
+'showtoc' => 'Papatar',
+'hidetoc' => 'Bunihon',
+'collapsible-collapse' => 'Pagelleng',
+'collapsible-expand' => 'Paherbang',
+'thisisdeleted' => 'Ida manang Paulak $1?',
+'viewdeleted' => 'Ida $1?',
+'page-atom-feed' => 'Pele atom "$1"',
+'red-link-title' => '$1 (alaman naso adong dope)',
+'sort-descending' => 'Pajojor lam toru',
+'sort-ascending' => 'Pajojor lam timbo',
+
+# Short words for each namespace, by default used in the namespace tab in monobook
+'nstab-main' => 'Alaman',
+'nstab-user' => 'Pamangke',
+'nstab-special' => 'Alaman na marhasurungan',
+'nstab-project' => 'Alaman ulaon',
+'nstab-image' => 'Berkas',
+'nstab-mediawiki' => 'Tona',
+'nstab-template' => 'Templat',
+'nstab-help' => 'Alaman pangurupion',
+'nstab-category' => 'Hategori',
+
+# General errors
+'error' => 'Hasesega',
+'fileappenderror' => 'Ndang boi pamasuhon "$1" tu "$2".',
+'badarticleerror' => 'Ulaon on dang boi i ulahon di alaman on',
+'cannotdelete-title' => 'Ndang boi manesa alaman "$1"',
+'badtitle' => 'Ulu ni surat na rumar',
+'viewsource' => 'Ida haroanna',
+'namespaceprotected' => "Ndang diloas hamu laho patotahon alaman di '''$1''' inganan ni goar",
+
+# Virus scanner
+'virus-unknownscanner' => 'Antivirus ndang ditanda:',
+
+# Login and logout pages
+'welcomeuser' => 'Horas, $1 !',
+'yourname' => 'Goar pamangke',
+'userlogin-yourname' => 'Siparhaseang',
+'userlogin-yourname-ph' => 'Pamasuk goarmu',
+'yourpassword' => 'Hata hincu:',
+'userlogin-yourpassword' => 'HAta hinsu',
+'userlogin-yourpassword-ph' => 'Pamasuk hata hinsu',
+'yourpasswordagain' => 'Ulanghon surat hata hincu:',
+'userlogin-remembermypassword' => 'Paingot ahu',
+'password-change-forbidden' => 'Ndang boi ubaonmu hata hincu di wiki on',
+'login' => 'Bongot tu log',
+'nav-login-createaccount' => 'Bongot tu log/ bahen akun',
+'loginprompt' => 'Ikkon dipangolu do "cookies" laho bongot log tu {{SINTENAME}}.',
+'userlogin' => 'Bongot tu log/ bahen akun',
+'userlogout' => 'Haruar log',
+'userlogin-noaccount' => 'Ndang adong akun',
+'userlogin-joinproject' => 'Parsidohot',
+'nologin' => 'Ndang adong akun? $1.',
+'nologinlink' => 'Bahen sada akun',
+'createaccount' => 'Bahen akun na imbaru',
+'gotaccount' => 'Nungga adong akunmu? $1',
+'gotaccountlink' => 'Bongot tu log',
+'helplogin-url' => 'Pangurupion: Masuk tu bagasan',
+'userlogin-helplink' => 'MediaWiki:pangurupion bongot tu bagas',
+'createaccountreason' => 'Alanan',
+'createaccounterror' => 'Ndang boi manopa akun: $1',
+'nouserspecified' => 'Ingkon pamasukonmuna goar ni pamangke',
+'mailmypassword' => 'Tongoshon hata hincu na imbaru',
+'emailnotauthenticated' => 'Alamat ni surat elektronikmuna ndang dope dipareso. Andorang so dipareso ndang boi pangkeonmuna rumang surat elektronik.',
+'emailconfirmlink' => 'Tolopi alamat surat elektronikmuna',
+'emaildisabled' => 'Ndang boi situs on manongos surat elekronik',
+'accountcreated' => 'Akun nunga ditopa',
+'login-abort-generic' => 'Ndang marhasil bongot - Dipaso ma',
+'loginlanguagelabel' => 'Hata: $1',
+
+# Change password dialog
+'resetpass' => 'Pauba hata hinsu',
+'oldpassword' => 'Hata hinsu na leleng',
+'newpassword' => 'Password naimbaru',
+'resetpass-submit-loggedin' => 'Pauba hata hinsu',
+'resetpass-submit-cancel' => 'Sundati',
+'resetpass-temp-password' => 'Hata hinsu parsatongkinan',
+
+# Special:PasswordReset
+'passwordreset-username' => 'Goar pamangke',
+'passwordreset-domain' => 'Domain:',
+
+# Special:ChangeEmail
+'changeemail-none' => '(Ndada)',
+'changeemail-cancel' => 'Sundati',
+
+# Edit page toolbar
+'bold_sample' => 'Surat tobal',
+'bold_tip' => 'Surat na hapal',
+'italic_sample' => 'Guratan Italic',
+'italic_tip' => 'surat teleng',
+'link_sample' => 'Goar ni pangait',
+'link_tip' => 'Pangait di bagasan',
+'extlink_sample' => 'http://www.example.com goar ni pangait',
+'extlink_tip' => 'Pangait parduru (ingot mulai dohot http:// )',
+'headline_sample' => 'Ulu ni surat',
+'nowiki_sample' => 'Pamasuk siguraton na so boi ubaon',
+'media_tip' => 'Pangait ni berkas',
+'sig_tip' => 'Tanda tangan pake pananda tingki',
+'hr_tip' => 'Garis na adar',
+
+# Edit pages
+'minoredit' => 'Panotaan na metmet',
+'watchthis' => 'Parrohahon alaman on',
+'savearticle' => 'Simpan alaman',
+'preview' => 'Andorang pataridahon',
+'showpreview' => 'Patudu pratayang',
+'showdiff' => 'Ida parubahan',
+'anoneditwarning' => "'''Paminsangon:''' Ndang bongot tu log dope hamu.
+Di surathon do alamat IP mu di turiturian ni alaman on.",
+'blockednoreason' => 'ndang adong alana na dilehon',
+'loginreqpagetext' => 'Ingkon $1 do hamu laho mamereng alaman na asing.',
+'accmailtitle' => 'Hata hincu nunga ditongos.',
+'newarticle' => '(Imbaru)',
+'noarticletext' => 'Ndang adong siguriton di alaman on saonari. Parhaseang ma[[Special:Search/{{PAGENAME}}|laho mandiori judul ni alaman on]] di alaman na asing, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mandiori log na mardomu], manang [{{fullurl:{{FULLPAGENAME}}|action=edit}} laho manota alaman on]</span>.',
+'noarticletext-nopermission' => 'Ndang adong siguriton di alaman on saonari. Parhaseang ma[[Special:Search/{{PAGENAME}}|laho mandiori goar ni alaman on]] di alaman na asing, manang <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mandiori angka log na mardomu]</span>, alai dang diloas hamu lahon mamungka alaman on.',
+'previewnote' => "'''Ingot ma holan sada andoramg pataridahon do on.'''
+Parubaan na binahenmu dang di simpan dope!",
+'editing' => 'Manota $1',
+'creating' => 'mambahen',
+'editingsection' => 'Manota $1 (ponggol)',
+'templatesused' => '{{PLURAL:$1|Templat|Angka templat}} na diparhaseang di alaman on:',
+'template-protected' => '(dijaga)',
+'template-semiprotected' => '(ndang apala sude diramoti)',
+'hiddencategories' => 'Alaman on ima sada sian {{PLURAL:$1|1 horong na buni|$1 horong na buni}}:',
+'moveddeleted-notice' => 'Alaman on nungnga disesa.',
+
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => 'Pinsangpinsang: Lobi do balga ni templat on. Pigapiga templat gabe dipasiding.',
+'post-expand-template-inclusion-category' => 'Angka alaman na balgana lobi',
+
+# History pages
+'viewpagelogs' => 'Pataridahon angka log ni alaman on',
+'currentrev-asof' => 'Panotaan parpudi ni $1',
+'revisionasof' => 'Panotaan songon $1',
+'revision-info' => 'Parubaan ni $1; $2',
+'previousrevision' => '←Revisi andorang na',
+'nextrevision' => 'Panotaan na mangihut→',
+'currentrevisionlink' => 'Panotaan na parpudi',
+'cur' => 'nuaeng',
+'next' => 'udutna',
+'last' => 'andorang',
+'page_first' => 'parjolo',
+'page_last' => 'parpudi',
+'history-show-deleted' => 'Holan na disesa',
+'histfirst' => 'Parjolo sahali',
+'histlast' => 'parpudi sahali',
+
+# Revision feed
+'history-feed-item-nocomment' => '$1 di $2',
+
+# Revision deletion
+'rev-delundel' => 'patarida/tabunihon',
+'rev-showdeleted' => 'Paida',
+'revdelete-log' => 'Alana',
+'revdel-restore' => 'Pauba pardompahan',
+'revdel-restore-deleted' => 'Patota naung di sesa',
+'revdel-restore-visible' => 'revisi na tarbereng',
+
+# Merge log
+'revertmerge' => 'Sundati Pardomuan',
+
+# Diffs
+'lineno' => 'Baris $1:',
+'editundo' => 'Paulak',
+
+# Search results
+'searchresults' => 'Hasil na niluluan',
+'searchresults-title' => 'Hasil mandiori tu "$1"',
+'prevn' => 'andorang so {{PLURAL:$1|$1}}',
+'nextn' => 'Ulaon na naen sitoruson {{PLURAL:$1|$1}}',
+'prevn-title' => 'Andorang so $1 {{PLURAL:$1|hasil|angka hasil}}',
+'nextn-title' => 'Ulaon na naen sitoruson tu $1 {{PLURAL:$1|result|results}}',
+'shown-title' => 'Patuduhon $1 {{PLURAL:$1|hasil|angka hasil}} ganup alaman',
+'viewprevnext' => 'Bereng ($1{{int:pipe-separator}}$2)($3)',
+'searchmenu-exists' => "'''Adong sada alaman na digoari \"[[:\$1]]\" di wiki on.'''",
+'searchmenu-new' => "'''Bahen alaman \"[[:\$1]]\" di wiki on!'''",
+'searchprofile-articles' => 'Alaman isi',
+'searchprofile-project' => 'Alaman pangurupion dohot proyek',
+'searchprofile-images' => 'Akat na godang gunana',
+'searchprofile-everything' => 'Sasude',
+'searchprofile-advanced' => 'Timbul',
+'searchprofile-articles-tooltip' => 'Mandiori di $1',
+'searchprofile-project-tooltip' => 'Mandiori di $1',
+'searchprofile-images-tooltip' => 'Mandiori berkas',
+'searchprofile-everything-tooltip' => 'Mandiori di sude inganan (dohot di alaman panghataion)',
+'searchprofile-advanced-tooltip' => 'Mandiori pake inganan ni goar',
+'search-result-size' => '$1 ({{PLURAL:$2|1 hata|$2 hata}})',
+'search-redirect' => '(ualanghon $1)',
+'search-section' => '(ponggol $1)',
+'search-suggest' => 'On do ra maksudmu: $1',
+'searchrelated' => 'marpandomuan',
+'searchall' => 'sude',
+'showingresultsheader' => "{{PLURAL:$5|Hasil '''$1''' sian '''$3'''|Hasil '''$1 - $2''' sian '''$3'''}} tu '''$4'''",
+'search-nonefound' => 'Ndang adong hasil na suman tu pangidoan',
+'powersearch-toggleall' => 'Sude',
+'powersearch-togglenone' => 'Ndang adong',
+
+# Preferences page
+'mypreferences' => 'Preferensi',
+'searchresultshead' => 'diori',
+'youremail' => 'Tongos surel:',
+'yourrealname' => 'Goar na toho',
+'gender-male' => 'Baoa',
+'gender-female' => 'borua',
+
+# Rights
+'right-read' => 'Manjaha alaman',
+
+# Special:Log/newusers
+'newuserlogpage' => 'Log pamarhaseang na imbaru',
+
+# Associated actions - in the sentence "You do not have permission to X"
+'action-edit' => 'Patota alaman on',
+
+# Recent changes
+'nchanges' => '$1 {{PLURAL:$1|parubaan}}',
+'recentchanges' => 'Parubahan naimbaru',
+'recentchanges-legend' => 'sipilliton sian parubaan na imbaru',
+'recentchanges-label-newpage' => 'Panotaan on mamungka alaman na imbaru',
+'recentchanges-label-minor' => 'Sada panotaan na metmet',
+'recentchanges-label-bot' => 'Panotaan on diulahon bot',
+'recentchanges-label-unpatrolled' => 'Panotaan on ndang dipamanat dope',
+'rcnote' => "Na di toru on ima {{PLURAL:$1|'''1'''|'''$1'''}} perubaan  di bagasan {{PLURAL:$2|'''1''' ari|'''$2''' ari}} na parpudi, olat ni $4 pukul $5.",
+'rclistfrom' => 'Patuduhon parubaan na imbaru mamungka sian $1',
+'rcshowhideminor' => '$1 panotaan na metmet',
+'rcshowhidebots' => '$1 bot',
+'rcshowhideliu' => '$1 pamarhaseang bongot tu log',
+'rcshowhideanons' => '$1 pamarhaseang ndang margoar',
+'rcshowhidepatr' => '$1 panotaan na dipamanat',
+'rcshowhidemine' => '$1 na hupatota',
+'rclinks' => 'Patuduhon $1 parubaan na imbaru dibagasan na $2 ari on<br />$3',
+'diff' => 'duru',
+'hist' => 'turi',
+'hide' => 'Bunihon',
+'show' => 'Patuduhon',
+'minoreditletter' => 'm',
+'newpageletter' => 'I',
+'boteditletter' => 'b',
+'rc-enhanced-expand' => 'Pataridahon panjamotan (ringkot do JavaScript)',
+'rc-enhanced-hide' => 'Bunihon panjamotan',
+
+# Recent changes linked
+'recentchangeslinked' => 'Angka parubaan na mardomu tu',
+'recentchangeslinked-toolbox' => 'Angka parubaan na mardomu tu',
+'recentchangeslinked-title' => 'Parubaan na mardomu tu "$1"',
+'recentchangeslinked-page' => 'Goar ni alaman:',
+'recentchangeslinked-to' => 'Pataridahon parubaan ni angka alaman na marpandomuan dohot alaman on',
+
+# Upload
+'upload' => 'Tambahon berkas',
+'filedesc' => 'Panimpulan',
+
+'license' => 'Ragam ni lisensi:',
+'license-header' => 'Ragam ni lisensi',
+'nolicense' => 'Ndang adong na i pillit',
+
+# File description page
+'file-anchor-link' => 'Berkas',
+'filehist' => 'Turiturian ni berkas',
+'filehist-help' => 'Piltik di sada tanggal/tingki laho mamereng berkas on di tingki i.',
+'filehist-revert' => 'Sundati',
+'filehist-current' => 'masa nuaeng',
+'filehist-datetime' => 'Pukkul',
+'filehist-thumb' => 'Thumbnail',
+'filehist-thumbtext' => 'Ganaganaan tu versi songon $1',
+'filehist-user' => 'Pamangke',
+'filehist-dimensions' => 'Dimensi',
+'filehist-comment' => 'Hata panambai',
+'imagelinks' => 'Parhaseangon ni berkas',
+'linkstoimage' => '{{PLURAL:$1|alaman pangait|$1 angka alaman na marpangait}} tu berkas on:',
+'nolinkstoimage' => 'Ndang adong alaman na marpangait tu berkas on.',
+'sharedupload-desc-here' => 'Berkas on sian $1 jala olo do diparhaseang angka proyek na asing. Hatorangan na ima [$2 alaman hatoranganna] dipatorang di toru on.',
+
+# Random page
+'randompage' => 'Alaman sursar',
+
+# Statistics
+'statistics' => 'Statistik',
+
+'disambiguationspage' => 'Template:Disambig',
+
+'pageswithprop-submit' => 'Laho tu',
+
+# Miscellaneous special pages
+'nbytes' => '$1 {{PLURAL:$1|byte|bites}}',
+'nmembers' => '$1 {{PLURAL:$1|isi|angka isi}}',
+'usercreated' => '{{GENDER:$3|Dipungka}} ari $1 topet $2',
+'newpages' => 'Angka alaman na imbaru',
+'move' => 'Paorot',
+'pager-newer-n' => '{{PLURAL:$1|na imbaru|na imbaru $1}}',
+'pager-older-n' => '{{PLURAL:$1|na leleng|$1 na lumeleng}}',
+
+# Book sources
+'booksources-go' => 'Torushon',
+
+# Special:Log
+'log' => 'Angka log',
+
+# Special:AllPages
+'allpages' => 'Sude alaman',
+'alphaindexline' => '$1 tu $2',
+'allarticles' => 'Sude alaman',
+'allpagessubmit' => 'Torushon',
+
+# Special:Categories
+'categories' => 'Angka horong',
+
+# Special:LinkSearch
+'linksearch-line' => '$1 marpangait sian $2',
+
+# Special:ListGroupRights
+'listgrouprights-members' => '(daftar ni parsidohot)',
+
+# Email user
+'emailuser' => 'Surel pamarhaseang on',
+'emailfrom' => 'Sian',
+'emailto' => 'Tu',
+
+# Watchlist
+'watchlist' => 'Daftar na pinarrohahon',
+'mywatchlist' => 'Daftar na pinarrohahon',
+'watchlistfor2' => 'Laho tu $1 $2',
+'watch' => 'Parrohahon',
+'unwatch' => 'Sundat mamarrohahon',
+'wlshowlast' => 'Pataridahon $1 jom $2 ari $3 na parpudi',
+
+# Delete
+'actioncomplete' => 'Sae ulaon',
+'actionfailed' => 'Ulaon sundat',
+'dellogpage' => 'Log pasesaan',
+
+# Rollback
+'rollbacklink' => 'Paundur',
+
+# Protect
+'protectlogpage' => 'Log panghokhop',
+'protectedarticle' => 'manjaga "[[$1]]"',
+
+# Undelete
+'undeletelink' => 'Ida/paulak',
+'undeleteviewlink' => 'Ida',
+'undelete-show-file-submit' => 'Olo',
+
+# Namespace form on various pages
+'namespace' => 'Inganan ni goar:',
+'invert' => 'Paulak napinillit',
+'blanknamespace' => '(Rumingkot)',
+
+# Contributions
+'contributions' => 'Na niula {{GENDER:$1|pamarhaseang}}',
+'mycontris' => 'Angka silua',
+'contribsub2' => 'Laho tu $1 ($2)',
+'uctop' => 'di ginjang',
+'month' => 'Sian bulan (dohot andorang na)',
+'year' => 'Sian taon (dohot andorang na):',
+
+'sp-contributions-blocklog' => 'olati log',
+'sp-contributions-logs' => 'log',
+'sp-contributions-talk' => 'Pangkataion',
+'sp-contributions-username' => 'Alamat IP manang goar:',
+'sp-contributions-toponly' => 'Pataridahon holan panotaan parginjang',
+'sp-contributions-submit' => 'Diori',
+
+# What links here
+'whatlinkshere-title' => 'Angka alaman na marpangait tu "$1"',
+'whatlinkshere-page' => 'Alaman:',
+'linkshere' => "Angka alaman on marpangait tu '''[[:$1]]''':",
+'nolinkshere' => "Ndang adong alaman na marpangait tu '''[[:$1]]'''.",
+'isimage' => 'pangait berkas',
+'whatlinkshere-prev' => '{{PLURAL:$1|andorang so $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|udut na|udut na $1}}',
+'whatlinkshere-links' => '← angka pangait',
+'whatlinkshere-hideredirs' => '$1 manguba dalan',
+'whatlinkshere-hidelinks' => '$1 pangait',
+'whatlinkshere-hideimages' => '$1 pangait berkas',
+'whatlinkshere-filters' => 'Saringan',
+
+# Block/unblock
+'ipboptions' => '2 jom:2 hours,1 ari:1 day,3 ari:3 days,1 minggu:1 week,2 minggu:2 weeks,1 bulan:1 month,3 bulan:3 months,6 bulan:6 months,1 taon:1 year,salelengna:infinite',
+'ipblocklist' => 'Angka pamarhaseang na diolati',
+'blocklink' => 'ambati',
+'unblocklink' => 'Pamago Blokir',
+'change-blocklink' => 'Paubah blokir',
+'contribslink' => 'silehon-lehon',
+'blocklogpage' => 'Olati log',
+'block-log-flags-nocreate' => 'Ndang boi mamungka akun',
+
+# Move page
+'move-page-legend' => 'Papinda alaman',
+'movelogpage' => 'Log paorothon',
+'revertmove' => 'Sundati',
+
+# Export
+'export' => 'Ekspor alaman',
+
+# Namespace 8 related
+'allmessagesname' => 'Goar',
+'allmessages-filter-submit' => 'Laho tu',
+
+# Thumbnails
+'thumbnail-more' => 'Paheba',
+
+# Tooltip help for the actions
+'tooltip-pt-userpage' => 'Alaman ni na marparhaseang',
+'tooltip-pt-mytalk' => 'Alaman Pangkataionmuna',
+'tooltip-pt-preferences' => 'Pinillit ni hamu',
+'tooltip-pt-watchlist' => 'punguan angka goar ni alaman',
+'tooltip-pt-mycontris' => 'Daftar ni silua mu',
+'tooltip-pt-login' => 'Disosoi do hamu asa bongot tu log, alai dang pola di gogohon.',
+'tooltip-pt-logout' => 'Haruar Log',
+'tooltip-ca-talk' => 'Panghataion taringot tu alaman isi',
+'tooltip-ca-edit' => 'Boi do patotaonmu alaman on. Parhaseang tombol pratayang andorang so manimpan.',
+'tooltip-ca-addsection' => 'Mamungka bogas na imbaru',
+'tooltip-ca-viewsource' => 'Alaman on dijaga. Holan haroanna do boi berengon mu',
+'tooltip-ca-history' => 'Parubaan na parpudi di alaman on',
+'tooltip-ca-protect' => 'Hophop alamana on',
+'tooltip-ca-delete' => 'Sesa alaman on',
+'tooltip-ca-move' => 'Pindahon alaman on',
+'tooltip-ca-watch' => 'Tambahon alaman on tu daftar pamberengan hamu',
+'tooltip-ca-unwatch' => 'Sesa alaman on sian daftar na diparrohahon',
+'tooltip-search' => 'lului di bagasan wiki on',
+'tooltip-search-go' => 'Diori alaman na marnampunahon goar na tangkas molo adong',
+'tooltip-search-fulltext' => 'diori alaman na margurithon songonon',
+'tooltip-p-logo' => 'Duloi pogu ni alaman',
+'tooltip-n-mainpage' => 'Duloi pogu ni alaman',
+'tooltip-n-mainpage-description' => 'Duloi pogu ni alaman',
+'tooltip-n-portal' => 'Taringot tu ulaon, aha na boi ulaonmu,ima namandiori na adong',
+'tooltip-n-currentevents' => 'Dapoti informasi taringot tu na masa nuaeng',
+'tooltip-n-recentchanges' => 'Angka parubaan na imbaru di wiki',
+'tooltip-n-randompage' => 'Patudu Alaman na Asing',
+'tooltip-n-help' => 'Inganan mandiori alus',
+'tooltip-t-whatlinkshere' => 'Daftar ni sude alaman  wiki na marnampunahon pangait tu alaman on',
+'tooltip-t-recentchangeslinked' => 'Angka parubaan ni alaman na imbaru na marpangait tu alaman on',
+'tooltip-feed-atom' => 'Pele Atom hu alaman on',
+'tooltip-t-contributions' => 'Daftar ni tumpak ni pamarhaseang on',
+'tooltip-t-emailuser' => 'Tongoshon sada surel tu pamarhaseang on',
+'tooltip-t-upload' => 'Tambahaon angka berkas',
+'tooltip-t-specialpages' => 'Sude Alaman na Istimewa',
+'tooltip-t-permalink' => 'Pangait na togu tu parubaan ni alaman on',
+'tooltip-ca-nstab-main' => 'Dulo alaman isi',
+'tooltip-ca-nstab-user' => 'Bereng alaman ni pamarhaseang',
+'tooltip-ca-nstab-special' => 'On alaman na marhasurungan, ndang boi dipatota',
+'tooltip-ca-nstab-project' => 'Bereng alaman proyek',
+'tooltip-ca-nstab-image' => 'Bereng alaman berkas',
+'tooltip-ca-nstab-template' => 'Ida templat',
+'tooltip-ca-nstab-category' => 'Bereng alaman horong',
+'tooltip-minoredit' => 'Tandai on songon sada panotaan na metmet',
+'tooltip-save' => 'Simpan parubaan mu',
+'tooltip-preview' => 'Parrohahon parubaan mu, parhaseang on andorang so manimpan',
+'tooltip-diff' => 'Bereng parubaan na binahenmu tu siguraton',
+'tooltip-compareselectedversions' => 'Bereng aha ubana sian na dua ragam ni alaman na dipillit.',
+'tooltip-watch' => 'Tambahon alaman on tu daftar na diparrohahonmu',
+'tooltip-summary' => 'Pamasuk ringkasan pendek',
+
+# Browsing diffs
+'previousdiff' => '← Panotaan na salpu',
+'nextdiff' => 'Parubaan na imbaru →',
+
+# Media information
+'file-info-size' => '$1 × $2 piksel, balga ni berkas: $3, rumang na MIME: $4',
+'file-nohires' => 'Ndang adong resolusi natumimbo.',
+'svg-long-desc' => 'Berkas SVG, nominal $1 × $2 piksel, balga ni berkas: $3',
+'show-big-image' => 'Resolusi na umbalga',
+
+# Special:NewFiles
+'noimages' => 'Ndang adong na ni ida',
+'ilsubmit' => 'Diori',
+
+# Bad image list
+'bad_image_list' => 'Songon on ma rumangna:
+
+Holan daftar (baris na dimulai dohot tanda *) na masuk etongan. Pangait na parjolo di sada-sada baris ikkon do gabe pangait tu berkas na buruk. Pangait na manghihut di nasabaris i dietong do i pulik,ima alaman na patuduhon berkas i.',
+
+# Metadata
+'metadata' => 'Metadata',
+'metadata-help' => 'Berkas on marnampunahon informasi na asing, olo do sian kamera digital manang sian ula-ula na asing. Molo nungga dipauneune berkas on, hatoranganna olo do ndang apala toho songon informasi siang gombaran naung dipauneune on.',
+'metadata-fields' => 'Angka bidang metadata gombar na dipajojor di bagasan tona on naeng dipamasuk di hataridaan ni alaman gombar tingki tabel metadata dipametmet. Data na asing gabe dibunihon songon naung ditontuhon.
+ * make
+* model
+* datetimeoriginal
+* exposuretime
+* fnumber
+* isospeedratings
+* focallength
+* artist
+* copyright
+* imagedescription
+* gpslatitude
+* gpslongitude
+* gpsaltitude',
+
+# Exif tags
+'exif-imagewidth' => 'Bolak',
+'exif-imagelength' => 'Timbo',
+
+# External editor support
+'edit-externally' => 'Patota berkas on mamarhaseanghon ulaula parduru',
+
+# 'all' in various places, this might be different for inflected languages
+'watchlistall2' => 'Sasude',
+'namespacesall' => 'sude',
+'monthsall' => 'Sasude',
+
+# Watchlist editing tools
+'watchlisttools-edit' => 'Pataridahon jala patota daftar siparrohahonon',
+
+# Special:SpecialPages
+'specialpages' => 'Alaman na marhasurungan',
+
+# Special:Tags
+'tag-filter' => 'Saringan [[Special:Tags|tag]]:',
+
+);
index 2a6074c..b4747a5 100644 (file)
@@ -171,8 +171,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'منی ایمیل پیش دار ته ایمیل أن هوژاری',
 'tog-shownumberswatching' => 'پیش دار تعداد کاربرانی که چارگتن',
 'tog-fancysig' => 'امضاءَ په داب ویکی متنی بزان(بی اتوماتیکی لینک)',
-'tog-externaleditor' => 'به طور پیش فرض اصلاح کنوک حارجی استفاده کن',
-'tog-externaldiff' => 'به طور پیش فرض چه حارجی تمایز استفاده کن',
 'tog-showjumplinks' => 'فعال کن "jump to" لینکان دست رسی آ',
 'tog-uselivepreview' => 'چه زنده این بازبین استفاده کن(جاوا)(تجربی)',
 'tog-forceeditsummary' => 'من آ هال دی وهدی وارد کتن یک هالیکین خلاصه ی اصلاح',
@@ -1001,14 +999,6 @@ $1",
 شما نونیت بگردیت چه طرق گوگل هم زمان.
 توجه که اندیکس آن {{SITENAME}} محتوا شاید تاریح گوستگین بنت.',
 
-# Quickbar
-'qbsettings' => 'میله سریع',
-'qbsettings-none' => 'هچ یک',
-'qbsettings-fixedleft' => 'چپ ثابت',
-'qbsettings-fixedright' => 'راست ثابت',
-'qbsettings-floatingleft' => 'چپ شناور',
-'qbsettings-floatingright' => 'راست شناور',
-
 # Preferences page
 'preferences' => 'ترجیحات',
 'mypreferences' => 'منی ترجیحات',
@@ -1767,8 +1757,8 @@ PICT # misc.
 'notvisiblerev' => 'بازبینی حذف بوتت',
 'watchnochange' => 'هچ یک چه شمی چارتگین آیتم اصلاح نه بوتت ته ای دوره زمانی که پیش دارگ بیت.',
 'watchlist-details' => '{{PLURAL:$1|$1 صفحه|$1 صفحات}} چارتگ بیت صفحات گپ حساب نه بیگن',
-'wlheader-enotif' => 'اخطار ایمیل فعالنت.',
-'wlheader-showupdated' => "صفحات که عوض بوتگنت چه شمی آهری چارتن '''پررنگ''' پیش دراگ بنت.",
+'wlheader-enotif' => 'اخطار ایمیل فعالنت.',
+'wlheader-showupdated' => "صفحات که عوض بوتگنت چه شمی آهری چارتن '''پررنگ''' پیش دراگ بنت.",
 'watchmethod-recent' => 'کنترل نوکین اصلاحات په صفحاتی که چارگ بنت',
 'watchmethod-list' => 'کنترل صفحاتی که چارگ بنت په نوکین اصلاحات',
 'watchlistcontains' => 'شمی لیست چارگ شامل  $1 {{PLURAL:$1|صفحه|صفحات}}.',
@@ -2409,13 +2399,8 @@ $1',
 'spam_blanking' => 'کل بازبینی آن شامل لینکان په $1, بوتت  هالیکی',
 
 # Skin names
-'skinname-standard' => 'کلاسیک',
-'skinname-nostalgia' => 'نوستالجیک',
 'skinname-cologneblue' => 'نیلی کولاجن',
 'skinname-monobook' => 'منوبوک',
-'skinname-myskin' => 'منی جلد',
-'skinname-chick' => 'شیک',
-'skinname-simple' => 'ساده',
 'skinname-modern' => 'مدرن',
 
 # Patrolling
@@ -2486,8 +2471,6 @@ $1',
 
 /*
 Short names for language variants used for language conversion links.
-To disable showing a particular link, set it to 'disable', e.g.
-'variantname-zh-sg' => 'disable',
 Variants for Chinese language
 */
 'variantname-zh-hans' => 'هانس',
@@ -2544,7 +2527,7 @@ Variants for Chinese language
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'پهنات',
 'exif-imagelength' => 'بلندی',
 'exif-bitspersample' => 'بیت ته جز',
@@ -2660,7 +2643,7 @@ Variants for Chinese language
 'exif-gpsdatestamp' => 'تاریح جی پی اس',
 'exif-gpsdifferential' => 'اصلاح متفاوت جی پی اس',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'کمپرس نه بوتت',
 'exif-compression-6' => 'جیی پی ای جی',
 
@@ -3038,13 +3021,6 @@ $5
 'version-software-product' => 'محصول',
 'version-software-version' => 'نسخه',
 
-# Special:FilePath
-'filepath' => 'مسیر فایل',
-'filepath-page' => 'فایل:',
-'filepath-submit' => 'مسیر',
-'filepath-summary' => 'ای حاصین صفحه مسیر کامل په یک فایل پیش داریت.
-تصاویر گون وضوح کامل پیش دارگ بنت و دگه نوع فایلان گون وتی برنامه یانش مستقیما پچ بنت.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'گردگ په کپی  فایلان',
 'fileduplicatesearch-summary' => 'گردگ په کپی فایلان په اساس درهمین ارزش.',
index c32f03b..9d4f761 100644 (file)
@@ -203,6 +203,18 @@ $messages = array(
 'oct' => 'Okt',
 'nov' => 'Nob',
 'dec' => 'Des',
+'january-date' => 'Enero $1',
+'february-date' => 'Pebrero $1',
+'march-date' => 'Marso $1',
+'april-date' => 'Abril $1',
+'may-date' => 'Mayo $1',
+'june-date' => 'Hunyo $1',
+'july-date' => 'Hulyo $1',
+'august-date' => 'Agosto $1',
+'september-date' => 'Septiyembre $1',
+'october-date' => 'Oktubre $1',
+'november-date' => 'Nobyembre $1',
+'december-date' => 'Disyembre $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategorya|Mga kategorya}}',
@@ -521,8 +533,8 @@ Dae malingaw na liwaton an saimong [[Special:Preferences|{{SITENAME}} mga kamuya
 'createacct-yourpasswordagain' => 'Kumpirmaron an sekretong panlaog',
 'createacct-yourpasswordagain-ph' => 'Pakikaag otro an sekretong panlaog',
 'remembermypassword' => 'Giromdoma an sakong paglaog sa kilyaw (browser) na ini (para sa maksimum na $1 {{PLURAL:$1|aldaw|mga aldaw}})',
-'userlogin-remembermypassword' => 'Giromdoma ako',
-'userlogin-signwithsecure' => 'Maglaog sa seguradong serbidor',
+'userlogin-remembermypassword' => 'Dagos mo akong giromdomon na nakalaog',
+'userlogin-signwithsecure' => 'Gamiton an seguradong koneksyon',
 'securelogin-stick-https' => 'Magpirmeng konektado sa HTTPS matapos kang maglaog',
 'yourdomainname' => 'An saimong kasakupan:',
 'password-change-forbidden' => 'Ika dae makapagliwat nin sekretong panlaog sa wiking ini.',
@@ -543,6 +555,7 @@ Dae malingaw na liwaton an saimong [[Special:Preferences|{{SITENAME}} mga kamuya
 'gotaccount' => 'Igwa ka na tabi nin panindog? $1.',
 'gotaccountlink' => 'Maglaog',
 'userlogin-resetlink' => 'Nakalingaw ka sa panlaog mong detalye?',
+'userlogin-resetpassword-link' => 'Pakibaguha an saimong sekretong panlaog',
 'helplogin-url' => 'Help:Paglalaog',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Tabang sa paglalaog]]',
 'createacct-join' => 'Pakikaag an saimong impormasyon sa ibaba.',
@@ -553,12 +566,14 @@ Dae malingaw na liwaton an saimong [[Special:Preferences|{{SITENAME}} mga kamuya
 'createacct-realname' => 'Totoong pangaran (opsyonal)',
 'createaccountreason' => 'Rason:',
 'createacct-reason' => 'Rason',
+'createacct-reason-ph' => 'Tadaw ta ika magmumukna nin ibang panindog',
 'createacct-captcha' => 'Rikisang panseguridad',
 'createacct-imgcaptcha-ph' => 'Pakikaag an tekstong nahihiling mo sa ibabaw',
+'createacct-submit' => 'Muknaon an saimong panindog',
 'createacct-benefit-heading' => '{{SITENAME}} pinaghimo kan mga tawong siring mo.',
-'createacct-benefit-body1' => 'mga pagliliwat',
-'createacct-benefit-body2' => 'mga pahina',
-'createacct-benefit-body3' => 'pinakahurihang mga paraambag',
+'createacct-benefit-body1' => '{{PLURAL:$1|niliwat|mga niliwat}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pahina|mga pahina}}',
+'createacct-benefit-body3' => 'pinakahuring {{PLURAL:$1|paraambag|mga paraambag}}',
 'badretype' => 'An mga sekretong panlaog mong pinagtatak bakong pareho.',
 'userexists' => 'Paragamit na ngarang piglaog may naggagamit na.
 Pakipili nin ibang ngaran tabi.',
@@ -655,11 +670,9 @@ Matriumpo mo nang nailaog an sekretong panlaog o nakua an bàgong temporaryong s
 
 # Special:PasswordReset
 'passwordreset' => 'Pakibago kan sekretong panlaog',
-'passwordreset-text' => 'Kumpletoha ining porma tangarig liwatong an saimong sekretong panlaog.',
 'passwordreset-legend' => 'Pakibago kan sekretong panlaog',
 'passwordreset-disabled' => 'An pagbago kan sekretong panlaog pinagpundo sa wiking ini.',
 'passwordreset-emaildisabled' => 'E-surat na mga estima pinag-uruntok sa wiking ini.',
-'passwordreset-pretext' => '{{PLURAL:$1||Pakilaog kan saro sa mga pedaso nin datos sa ibaba}}',
 'passwordreset-username' => 'Paragamit-ngaran:',
 'passwordreset-domain' => 'Kasakupan:',
 'passwordreset-capture' => 'Hilngon an kinaluwasang e-koreo?',
@@ -2149,8 +2162,8 @@ An maabot na mga pagbabâgo sa páhinang ini asin sa asosyadong páhina nin olay
 'notvisiblerev' => 'An huring rebisyon kan ibang paragamit pinagpura na',
 'watchnochange' => 'Mayo sa saimong mga pigbabantayan an nahira sa laog nin pinahiling na pagkalawig.',
 'watchlist-details' => '{{PLURAL:$1|$1 pahina|$1 mga pahina}} sa saimong bantay-listahan, dae binibilang an mga pahina nin orolayan.',
-'wlheader-enotif' => "* Nakaandar an paising ''e''-surat.",
-'wlheader-showupdated' => "* An mga páhinang pigbâgo poon kan huri mong bisita nakasurat nin '''mahîbog'''",
+'wlheader-enotif' => 'E-surat na paisi pinagpaandar na.',
+'wlheader-showupdated' => "Mga pahina na pinagriliwat poon kaidtong huri kang nagbisita sainda ipinapatanaw na '''mahîbog'''",
 'watchmethod-recent' => 'Pigsososog an mga kaaagi pa sanang hirá sa mga pigbabantayan na páhina',
 'watchmethod-list' => 'Pigsososog an mga pigbabantayan na páhina para mahiling an mga kaaagi pa sanan paghirá',
 'watchlistcontains' => 'An saimong lista nin pigbabantayan igwang $1 na {{PLURAL:$1|páhina|mga páhina}}.',
@@ -2723,6 +2736,8 @@ Pakibisita an [//www.mediawiki.org/wiki/Localisation Mediawiki Lokalisasyon] asi
 'thumbnail-more' => 'Padakuláon',
 'filemissing' => "Nawawarâ an ''file''",
 'thumbnail_error' => 'Error sa paggigibo kan retratito: $1',
+'thumbnail_error_remote' => 'Mensahe nin kasalaan gikan sa $1: 
+$2',
 'djvu_page_error' => 'luwas sa serye an páhina kan DjVu',
 'djvu_no_xml' => 'Dai makua an XML para sa DjVu file',
 'thumbnail-temp-create' => 'Dae nakamukna nin temporaryong sagunson kan retrato',
index 760bfa1..1ba82be 100644 (file)
@@ -587,10 +587,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Выслаць мне новы пароль',
-'passwordreset-text' => 'Запоўніце гэтую форму, каб атрымаць па электроннай пошце напамін вашага акаўнта.',
 'passwordreset-legend' => 'Пераўстанавіць пароль',
 'passwordreset-disabled' => 'Функцыя пераўсталёўкі пароля адключаная на гэтай вікі.',
-'passwordreset-pretext' => '{{PLURAL:$1||Калі ласка, увядзіце адзін з фрагментаў дадзеных ніжэй}}',
 'passwordreset-username' => 'Імя ўдзельніка',
 'passwordreset-domain' => 'Дамен:',
 'passwordreset-capture' => 'Праглядзець напісаны ліст?',
@@ -812,6 +810,7 @@ $2
 Здаецца, што яна была сцёртая.',
 'edit-conflict' => 'Канфлікт правак.',
 'edit-no-change' => 'Вашая праўка была праігнараваная, таму што не мяняўся тэкст.',
+'postedit-confirmation' => 'Вашая праўка была захаваная.',
 'edit-already-exists' => 'Не ўдалося стварыць новую старонку.
 Такая ўжо існуе.',
 'editwarning-warning' => 'Выхад з гэтай старонкі прывядзе да страты правак, якія вы зрабілі. 
@@ -1117,7 +1116,7 @@ $1",
 'recentchangesdays' => 'За колькі дзён паказваць {{lc:{{:{{ns:mediawiki}}:recentchanges/be}}}}:',
 'recentchangesdays-max' => '(найбольш $1 {{PLURAL:$1|дзень|дзён}})',
 'recentchangescount' => 'Прадвызначаная колькасць правак дзеля паказу:',
-'prefs-help-recentchangescount' => 'Ð\93Ñ\8dÑ\82а Ñ\9eклÑ\8eÑ\87ае Ñ\9e Ñ\81Ñ\8fбе Ð½Ñ\8fдаÑ\9eнÑ\96Ñ\8f Ð·Ð¼Ñ\8fненнÑ\96, гісторыі старонак, журналы.',
+'prefs-help-recentchangescount' => 'Ð\93Ñ\8dÑ\82а Ñ\9eклÑ\8eÑ\87ае Ñ\9e Ñ\81Ñ\8fбе Ð°Ð¿Ð¾Ñ\88нÑ\96Ñ\8f Ð·Ð¼ÐµÐ½Ñ\8b, гісторыі старонак, журналы.',
 'prefs-help-watchlist-token' => 'Упісанне сакрэтнага ключа ў гэтае поле створыць RSS-струмень з вашага спісу назіранага. 
 Кожны, каму вядомы гэты ключ, зможа чытаць ваш спіс назіранага, таму выбірайце бяспечныя ключы. 
 Вось аўта-згенераваны ключ, які можна выкарыстаць: $1',
@@ -1348,7 +1347,7 @@ $1",
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|змена|змены|зменаў}}',
-'recentchanges' => 'Ð\9dÑ\8fдаÑ\9eнÑ\96Ñ\8f Ð·Ð¼Ñ\8fненнÑ\96',
+'recentchanges' => 'Ð\90поÑ\88нÑ\96Ñ\8f Ð·Ð¼ÐµÐ½Ñ\8b',
 'recentchanges-legend' => 'Магчымасці паказу',
 'recentchanges-summary' => 'Гэта апошнія мены на пляцоўцы {{SITENAME}}.',
 'recentchanges-feed-description' => 'Сачыць за найбольш актуальнымі змяненнямі ў віксе праз гэты струмень навін.',
@@ -1892,6 +1891,15 @@ $1',
 'listusers-noresult' => 'Удзельнікі не знойдзеныя.',
 'listusers-blocked' => '(Заблакаваны)',
 
+# Special:ActiveUsers
+'activeusers' => 'Актыўныя ўдзельнікі',
+'activeusers-intro' => 'Гэта пералік удзельнікаў, якія нешта рабілі за апошнія $1 {{PLURAL:$1|дзень|дзён}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|праўка|праўкі|правак}} за апошні{{PLURAL:$3| дзень|я $3 дзён}}',
+'activeusers-from' => 'Паказ, пачынаючы з:',
+'activeusers-hidebots' => 'Без робатаў',
+'activeusers-hidesysops' => 'Без адміністратараў',
+'activeusers-noresult' => 'Няма такіх удзельнікаў.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Дазволы для груп удзельнікаў',
 'listgrouprights-summary' => 'Гэты пералік вызначаных у гэтай вікі груп удзельнікаў, разам з прыпісанымі ім дазволамі.
@@ -1969,8 +1977,8 @@ $1',
 'notvisiblerev' => 'Версія сцёртая',
 'watchnochange' => 'Ніводзін з назіраных складнікаў не быў зменены за паказаны перыяд.',
 'watchlist-details' => 'Назіраю {{PLURAL:$1|$1 старонку|$1 старонак}} без уліку размоўных.',
-'wlheader-enotif' => 'Працуе апавяшчанне праз эл.пошту.',
-'wlheader-showupdated' => "Старонкі, якія былі зменены пасля вашага апошняга іх наведвання, паказаны '''абрысам шрыфту'''.",
+'wlheader-enotif' => 'Працуе апавяшчанне праз эл.пошту.',
+'wlheader-showupdated' => "Старонкі, якія былі зменены пасля вашага апошняга іх наведвання, паказаны '''абрысам шрыфту'''.",
 'watchmethod-recent' => 'правяраем нядаўнія праўкі ў назіраных старонках',
 'watchmethod-list' => 'правяраем наяўнасць нядаўніх правак ў назіраных старонках',
 'watchlistcontains' => 'У вашым спісе назіранага $1 {{PLURAL:$1|старонка|старонак}}.',
@@ -2206,7 +2214,7 @@ $1',
 'sp-contributions-newbies' => 'Паказваць толькі ўклады з новых рахункаў',
 'sp-contributions-newbies-sub' => 'З новых рахункаў',
 'sp-contributions-newbies-title' => 'Уклады ўдзельнікаў з новых рахункаў',
-'sp-contributions-blocklog' => 'Ð\96Ñ\83Ñ\80нал Ð·Ð°Ð±Ð°Ñ\80онаÑ\9e',
+'sp-contributions-blocklog' => 'блакÑ\96Ñ\80оÑ\9eкÑ\96',
 'sp-contributions-deleted' => 'сцёрты ўклад удзельніка',
 'sp-contributions-uploads' => 'Загрузкі',
 'sp-contributions-logs' => 'журналы',
@@ -2800,7 +2808,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Шырыня',
 'exif-imagelength' => 'Вышыня',
 'exif-bitspersample' => 'Бітаў на кампанент',
@@ -2979,7 +2987,7 @@ $1',
 'exif-originalimageheight' => 'Вышыня малюнка да кадравання',
 'exif-originalimagewidth' => 'Шырыня малюнка да кадравання',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Нясціснута',
 'exif-compression-2' => 'CCITT Group 3, 1-мерная мадыфікацыя кадзіравання даўжынь серый Хафмана',
 'exif-compression-3' => 'CCITT Group 3, факсавае кадзіраванне',
@@ -3373,13 +3381,6 @@ MediaWiki распаўсюджваецца, спадзеючыся на прыд
 'version-software-product' => 'Прадукт',
 'version-software-version' => 'Версія',
 
-# Special:FilePath
-'filepath' => 'Шлях да файла',
-'filepath-page' => 'Файл:',
-'filepath-submit' => 'Пуск',
-'filepath-summary' => 'Гэтая адмысловая старонка вяртае поўны шлях да файла.
-Выявы паказваюцца ў поўным памеры, іншыя тыпы файлаў адкрываюцца ў прыпісаных да іх праграмах.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Пошук дублікатных файлаў',
 'fileduplicatesearch-summary' => 'Пошук дублікатных файлах на падставе іх хэшаў.',
@@ -3400,7 +3401,7 @@ MediaWiki распаўсюджваецца, спадзеючыся на прыд
 'specialpages-group-maintenance' => 'Звесткі аб працы',
 'specialpages-group-other' => 'Іншыя адмысловыя старонкі',
 'specialpages-group-login' => 'Прадстаўленне / рэгістрацыя',
-'specialpages-group-changes' => 'Ð\9dÑ\8fдаÑ\9eнÑ\96Ñ\8f Ð·Ð¼Ñ\8fненнÑ\96 і журналы',
+'specialpages-group-changes' => 'Ð\90поÑ\88нÑ\96Ñ\8f Ð·Ð¼ÐµÐ½Ñ\8b і журналы',
 'specialpages-group-media' => 'Укладзеныя файлы і звесткі пра іх',
 'specialpages-group-users' => 'Удзельнікі і дазволы',
 'specialpages-group-highuse' => 'Старонкі частага карыстання',
index 0b3ef85..ad817a5 100644 (file)
@@ -12,6 +12,7 @@
  * @author EugeneZelenko
  * @author Jim-by
  * @author Kaganer
+ * @author Nemo bis
  * @author Red Winged Duck
  * @author Renessaince
  * @author Wizardist
@@ -367,6 +368,18 @@ $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' => '$1 верасьня',
+'october-date' => '$1 кастрычніка',
+'november-date' => '$1 лістапада',
+'december-date' => '$1 сьнежня',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Катэгорыя|Катэгорыі|Катэгорыі}}',
@@ -818,11 +831,11 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Ачыстка паролю',
-'passwordreset-text' => 'Запоўніце гэтую форму, каб скінуць пароль.',
+'passwordreset-text-one' => 'Запоўніце гэтую форму, каб скінуць пароль.',
+'passwordreset-text-many' => '{{PLURAL:$1|Увядзіце гэтыя зьвесткі, каб скінуць пароль.}}',
 'passwordreset-legend' => 'Ачысьціць пароль',
 'passwordreset-disabled' => 'Магчымасьць ачысткі паролю была забароненая ў {{GRAMMAR:месны|{{SITENAME}}}}.',
 'passwordreset-emaildisabled' => 'Функцыі e-mail у гэтай вікі былі адключаныя.',
-'passwordreset-pretext' => '{{PLURAL:$1||Увядзіце ніжэй частку зьвестак}}',
 'passwordreset-username' => 'Імя ўдзельніка:',
 'passwordreset-domain' => 'Дамэн:',
 'passwordreset-capture' => 'Паказаць канчатковы электронны ліст?',
@@ -1057,14 +1070,15 @@ $2
 Падобна, што яна была выдаленая.',
 'edit-conflict' => 'Канфлікт рэдагаваньняў.',
 'edit-no-change' => 'Вашае рэдагаваньне было праігнараванае, таму што ў тэкст не былі ўнесеныя зьмены.',
+'postedit-confirmation' => 'Вашая праўка была захаваная.',
 'edit-already-exists' => 'Немагчыма стварыць новую старонку.
 Яна ўжо існуе.',
 'defaultmessagetext' => 'Перадвызначаны тэкст паведамленьня',
 'content-failed-to-parse' => 'Зьмест «$2» не адпавядае тыпу $1: $3.',
 'invalid-content-data' => 'Няслушныя зьвесткі',
 'content-not-allowed-here' => 'Зьмест тыпу «$1» на старонцы [[$2]] не дазволены',
-'editwarning-warning' => 'УÑ\81е Ð·Ñ\80обленÑ\8bÑ\8f Ð\92амÑ\96 Ð·Ñ\8cменÑ\8b Ð¼Ð¾Ð³Ñ\83Ñ\86Ñ\8c Ð±Ñ\8bÑ\86Ñ\8c Ñ\81Ñ\82Ñ\80аÑ\87анÑ\8bÑ\8f, ÐºÐ°Ð»Ñ\96 Ð\92Ñ\8b Ð¿Ð°ÐºÑ\96неÑ\86е Ð³Ñ\8dÑ\82Ñ\83Ñ\8e Ñ\81Ñ\82аÑ\80онкÑ\83.
\9aалÑ\96 Ð\92Ñ\8b Ñ\9eвайÑ\88лÑ\96 Ñ\9e Ñ\81Ñ\8bÑ\81Ñ\82Ñ\8dмÑ\83, Ð\92Ñ\8b Ð¼Ð¾Ð¶Ð°Ñ\86е Ð°Ð´ÐºÐ»Ñ\8eÑ\87Ñ\8bÑ\86Ñ\8c Ð³Ñ\8dÑ\82ае Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dджанÑ\8cне Ñ\83 Ñ\81Ñ\8dкÑ\86Ñ\8bÑ\96 Â«{{int:prefs-editing}}» Ð\92ашых наладаў.',
+'editwarning-warning' => 'Ð\9fакÑ\96нÑ\83Ñ\9eÑ\88Ñ\8b Ð³Ñ\8dÑ\82Ñ\83Ñ\8e Ñ\81Ñ\82аÑ\80онкÑ\83, Ð²Ñ\8b Ð¼Ð¾Ð¶Ð°Ñ\86е Ñ\81Ñ\82Ñ\80аÑ\86Ñ\96Ñ\86Ñ\8c Ñ\83Ñ\81е Ñ\9eнеÑ\81енÑ\8bÑ\8f Ð·Ñ\8cменÑ\8b.
\9aалÑ\96 Ð²Ñ\8b Ñ\9eвайÑ\88лÑ\96 Ñ\9e Ñ\81Ñ\8bÑ\81Ñ\82Ñ\8dмÑ\83, Ð\92Ñ\8b Ð¼Ð¾Ð¶Ð°Ñ\86е Ð°Ð´ÐºÐ»Ñ\8eÑ\87Ñ\8bÑ\86Ñ\8c Ð³Ñ\8dÑ\82ае Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dджанÑ\8cне Ñ\9e Ñ\81Ñ\8dкÑ\86Ñ\8bÑ\96 Â«Ð Ñ\8dдагаванÑ\8cне» Ð²ашых наладаў.',
 
 # Content models
 'content-model-wikitext' => 'вікі-тэкст',
@@ -2305,8 +2319,8 @@ $1',
 'notvisiblerev' => 'Вэрсія была выдаленая',
 'watchnochange' => 'Нічога з Вашага сьпісу назіраньня не зьмянілася за паказаны пэрыяд.',
 'watchlist-details' => 'У Вашым сьпісе назіраньня $1 {{PLURAL:$1|старонка|старонкі|старонак}} за выключэньнем старонак абмеркаваньня.',
-'wlheader-enotif' => '* Дасылка паведамленьняў па электроннай пошце ўключаная.',
-'wlheader-showupdated' => "* Старонкі, якія былі зьмененыя пасьля Вашага апошняга візыту, вылучаныя '''тоўстым''' шрыфтам",
+'wlheader-enotif' => 'Апавяшчэньне па e-mail уключанае.',
+'wlheader-showupdated' => "Старонкі, зьмененыя з часу вашага апошняга візыту, вылучаныя '''тоўстым''' шрыфтам.",
 'watchmethod-recent' => 'прагляд апошніх зьменаў у старонках са сьпісу назіраньня',
 'watchmethod-list' => 'прагляд старонак са сьпісу назіраньня дзеля апошніх зьменах',
 'watchlistcontains' => 'Ваш сьпіс назіраньня зьмяшчае $1 {{PLURAL:$1|старонка|старонкі|старонак}}.',
@@ -2883,6 +2897,8 @@ $1',
 'thumbnail-more' => 'Павялічыць',
 'filemissing' => 'Файл адсутны',
 'thumbnail_error' => 'Памылка стварэньня мініятуры: $1',
+'thumbnail_error_remote' => 'Паведамленьне пра памылку з {{GRAMMAR:родны|$1}}:
+$2',
 'djvu_page_error' => 'Старонка DjVu па-за прамежкам',
 'djvu_no_xml' => 'Немагчыма атрымаць XML для DjVu-файла',
 'thumbnail-temp-create' => 'Немагчыма стварыць часовы файл мініятуры',
index d1c819f..9e10dd4 100644 (file)
@@ -13,6 +13,7 @@
  * @author Daggerstab
  * @author Dimi z
  * @author Kaganer
+ * @author Simona
  * @author Spiritia
  * @author Stanqo
  * @author Termininja
@@ -344,6 +345,18 @@ $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' => '$1 септември',
+'october-date' => '$1 октомври',
+'november-date' => '$1 ноември',
+'december-date' => '$1 декември',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Категория|Категории}}',
@@ -666,6 +679,7 @@ $2',
 'logout' => 'Излизане',
 'userlogout' => 'Излизане',
 'notloggedin' => 'Не сте влезли',
+'userlogin-joinproject' => 'Присъединяване към {{SITENAME}}',
 'nologin' => "Нямате потребителско име? '''$1'''.",
 'nologinlink' => 'Създаване на сметка',
 'createaccount' => 'Регистриране',
@@ -763,10 +777,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Възстановяване на парола',
-'passwordreset-text' => 'Попълването на формуляра ще доведе до възстановяване на паролата.',
 'passwordreset-legend' => 'Възстановяване на парола',
 'passwordreset-disabled' => 'Възстановяването на паролата е изключено в това уики.',
-'passwordreset-pretext' => '{{PLURAL:$1||Въведете някоя от информациите по-долу}}',
 'passwordreset-username' => 'Потребителско име:',
 'passwordreset-domain' => 'Домейн:',
 'passwordreset-capture' => 'Преглеждане на електронното писмо?',
@@ -998,6 +1010,7 @@ $2
 Вероятно междувременно е била изтрита.',
 'edit-conflict' => 'Редакционен конфликт.',
 'edit-no-change' => 'Вашата редакция беше игнорирана, тъй като не съдържа промени по текста.',
+'postedit-confirmation' => 'Вашата редакция беше съхранена',
 'edit-already-exists' => 'Не можа да се създаде нова страница.
 Такава вече съществува.',
 'defaultmessagetext' => 'Текст на съобщението по подразбиране',
@@ -2165,8 +2178,8 @@ $1',
 'notvisiblerev' => 'Версията беше изтрита',
 'watchnochange' => 'Никоя от наблюдаваните страници не е била редактирана в показаното време.',
 'watchlist-details' => '{{PLURAL:$1|Една наблюдавана страница|$1 наблюдавани страници}} от списъка ви за наблюдение (без беседи).',
-'wlheader-enotif' => 'Известяването по електронна поща е включено.',
-'wlheader-showupdated' => "Страниците, които са били променени след последния път, когато сте ги посетили, са показани с '''получер''' шрифт.",
+'wlheader-enotif' => 'Известяването по електронна поща е включено.',
+'wlheader-showupdated' => "Страниците, които са били променени след последния път, когато сте ги посетили, са показани с '''получер''' шрифт.",
 'watchmethod-recent' => 'проверка на последните редакции за наблюдавани страници',
 'watchmethod-list' => 'проверка на наблюдаваните страници за скорошни редакции',
 'watchlistcontains' => 'Списъкът ви за наблюдение съдържа {{PLURAL:$1|една страница|$1 страници}}.',
index bcb5714..83cebd4 100644 (file)
@@ -2044,6 +2044,15 @@ Protokol nang didukung: <code>$1</code> (jangan tambahakan dalam panggagaian Pia
 'listusers-noresult' => 'Kadada pamuruk tatamu.',
 'listusers-blocked' => '(diblukir)',
 
+# Special:ActiveUsers
+'activeusers' => 'Daptar pamuruk aktip',
+'activeusers-intro' => 'Ngini adalah sabuah daptar papamuruk sabuah bantuk kagiatan dalam tauncit $1 {{PLURAL:$1|hari|hahari}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|babak|babakan}} dalam tauncit {{PLURAL:$3|hari|$3 hahari}}',
+'activeusers-from' => 'Manampaiakan papamuruk mulai matan:',
+'activeusers-hidebots' => 'Sungkupakan bot',
+'activeusers-hidesysops' => 'Sungkupakan pambakal',
+'activeusers-noresult' => 'Kadada papamuruk tatamu.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Galambang hak pamuruk',
 'listgrouprights-summary' => 'Barikut adalah sabuah daptar matan galambang pamuruk nang ada di wiki ngini, lawan hak ungkai masing-masing.
@@ -2120,7 +2129,7 @@ Paubahan-paubahan salanjutnya pada tungkaran ngini dan tungkaran pamandiran tara
 'watchnochange' => 'Kadada nang Pian itihi dibabak parhatan jangka wayah ngitu.',
 'watchlist-details' => '{{PLURAL:$1|$1 tungkaran|$1 tungkaran}} dalam daptar itihan Pian, kada mahitung tungkaran pamandiran.',
 'wlheader-enotif' => 'Suril pamadahan dipajahi.',
-'wlheader-showupdated' => "Tutungkaran nang ba-ubah tumatan ilangan tauncit Pian ditampaiakan dalam '''hurup kandal'''",
+'wlheader-showupdated' => "Tutungkaran nang ba-ubah tumatan ilangan tauncit Pian ditampaiakan dalam '''hurup kandal'''",
 'watchmethod-recent' => 'pariksa bababakan pahanyarnya gasan tungkaran nang diitihi.',
 'watchmethod-list' => 'pariksa tutungkaran nang diitihi gasan bababakan pahanyarnya',
 'watchlistcontains' => 'Paitihan Pian mangandung $1 {{PLURAL:$1|tungkaran|tutungkaran}}.',
@@ -3002,7 +3011,7 @@ Tautan-tautan abis tu pada baris sama dipartimbangkan sabagai pangacualian, nang
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Libar',
 'exif-imagelength' => 'Pancau',
 'exif-bitspersample' => 'Bit par kumpunin',
@@ -3180,7 +3189,7 @@ Tautan-tautan abis tu pada baris sama dipartimbangkan sabagai pangacualian, nang
 'exif-originalimageheight' => 'Pancau gambar sabalum dihandapi',
 'exif-originalimagewidth' => 'Lingai gambar sabalum dihandapi',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Kada dikumpris',
 'exif-compression-2' => 'Galambang CCITT 3 1-Dimensional Modified Huffman manjalankan panjang encoding',
 'exif-compression-3' => 'Galambang CCITT 3 paks encoding',
@@ -3596,13 +3605,6 @@ Pian saharusnya [{{SERVER}}{{SCRIPTPATH}}/COPYING sabuting salinan Lisansi Publi
 'version-software-version' => 'Virsi',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Wadah barakas',
-'filepath-page' => 'Barakas:',
-'filepath-submit' => 'Gagai',
-'filepath-summary' => 'Tungkaran istimiwa ngini mambulikakan jalur panuntungan sabuah barakas.
-Gambar ditampaiakan dalam risulusi hibak, janis barakas lain dimula lawan prugram taraitnya langsung.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Gagai gasan babarakas baganda',
 'fileduplicatesearch-summary' => 'Gagai gasan babarakas baganda bapandal nilai hash.',
index 2d01766..f1ae1a5 100644 (file)
@@ -79,11 +79,11 @@ $messages = array(
 'tog-newpageshidepatrolled' => 'পরীক্ষিত পাতা গুলো নতুন পাতার তালিকায় আড়াল করো',
 'tog-extendwatchlist' => 'শুধু সাম্প্রতিক পরিবর্তনই নয়, সকল পরিবর্তন দেখতে নজর তালিকা সম্প্রসারণ করুন।',
 'tog-usenewrc' => 'সাম্প্রতিক পরিবর্তনসমূহ এবং নজরতালিকা পাতায় পরিবর্তনগুলো একত্রে প্রদর্শন (জাভাস্ক্রিপ্ট প্রয়োজন)',
-'tog-numberheadings' => 'শিরà§\8bনামà¦\97à§\81লà§\8bà¦\95à§\87 à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয়ভাবà§\87 à¦\95à§\8dরমাà¦\99à§\8dà¦\95িত à¦\95রা à¦¹à§\8bà¦\95',
-'tog-showtoolbar' => 'সমà§\8dপাদনা à¦\9fà§\81লবার à¦¦à§\87à¦\96ানà§\8b à¦¹à§\8bà¦\95 (à¦\9cাভাসà§\8dà¦\95à§\8dরিপà§\8dà¦\9fà§\87র à¦®à¦¾à¦§à§\8dযমà§\87)',
-'tog-editondblclick' => 'দুইবার ক্লিক করে পাতা সম্পাদনা করার ক্ষমতা দেয়া হোক (জাভাস্ক্রিপ্টের মাধ্যমে)',
+'tog-numberheadings' => 'শিরà§\8bনামà¦\97à§\81লà§\8bà¦\95à§\87 à¦¸à§\8dবয়à¦\82à¦\95à§\8dরিয়ভাবà§\87 à¦\95à§\8dরমিà¦\95 à¦¨à¦®à§\8dবর à¦¦à¦¾à¦\93',
+'tog-showtoolbar' => 'সমà§\8dপাদনা à¦\9fà§\81লবার à¦¦à§\87à¦\96াà¦\93 (à¦\9cাভাসà§\8dà¦\95à§\8dরিপà§\8dà¦\9f à¦ªà§\8dরয়à§\8bà¦\9cন)',
+'tog-editondblclick' => 'দুইবার ক্লিক করে পাতা সম্পাদনা (জাভাস্ক্রিপ্ট প্রয়োজন)',
 'tog-editsection' => '[সম্পাদনা] সংযোগের সাহায্যে পরিচ্ছেদ সম্পাদনা করার ক্ষমতা দেয়া হোক',
-'tog-editsectiononrightclick' => 'পরিচ্ছেদের শিরোনামে ডান ক্লিকের মাধ্যমে <br />পরিচ্ছেদ সম্পাদনা করার ক্ষমতা দেয়া হোক (জাভাস্ক্রিপ্ট)',
+'tog-editsectiononrightclick' => 'পরিচ্ছেদের শিরোনামে ডান ক্লিকের মাধ্যমে সম্পাদনা করার ক্ষমতা দেয়া হোক (জাভাস্ক্রিপ্ট)',
 'tog-showtoc' => 'সূচিপত্র দেখানো হোক (৩টির বেশি পরিচ্ছেদের শিরোনামবিশিষ্ট পাতার জন্য)',
 'tog-rememberpassword' => 'এই ব্রাউজারে আমার লগ ইন তথ্য (শব্দচাবি) মনে রাখো (সর্বোচ্চ $1 {{PLURAL:$1|দিনের|দিনের}} জন্য)',
 'tog-watchcreations' => 'আমার তৈরি পাতা এবং আপলোড করা ফাইলগুললো আমার নজরতালিকায় যোগ করা হোক',
@@ -135,13 +135,13 @@ $messages = array(
 'thursday' => 'বৃহস্পতিবার',
 'friday' => 'শুক্রবার',
 'saturday' => 'শনিবার',
-'sun' => 'রবিবার',
-'mon' => 'সোমবার',
-'tue' => 'মঙ্গলবার',
-'wed' => 'বুধবার',
-'thu' => 'বৃহস্পতিবার',
-'fri' => 'শুক্রবার',
-'sat' => 'শনিবার',
+'sun' => 'রবি',
+'mon' => 'সোম',
+'tue' => 'মঙ্গল',
+'wed' => 'বুধ',
+'thu' => 'বৃহস্পতি',
+'fri' => 'শুক্র',
+'sat' => 'শনি',
 'january' => 'জানুয়ারি',
 'february' => 'ফেব্রুয়ারি',
 'march' => 'মার্চ',
@@ -166,18 +166,30 @@ $messages = array(
 'october-gen' => 'অক্টোবর',
 'november-gen' => 'নভেম্বর',
 'december-gen' => 'ডিসেম্বর',
-'jan' => 'জানুয়ারি',
-'feb' => 'ফেব্রুয়ারি',
+'jan' => 'জানু',
+'feb' => 'ফেব্রু',
 'mar' => 'মার্চ',
 'apr' => 'এপ্রিল',
 'may' => 'মে',
 'jun' => 'জুন',
 'jul' => 'জুলাই',
 'aug' => 'আগস্ট',
-'sep' => 'সেপ্টেম্বর',
-'oct' => 'অক্টোবর',
-'nov' => 'নভেম্বর',
-'dec' => 'ডিসেম্বর',
+'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|বিষয়শ্রেণী|বিষয়শ্রেণীসমূহ}}',
@@ -211,11 +223,11 @@ $messages = array(
 'and' => '&#32;এবং',
 
 # Cologne Blue skin
-'qbfind' => 'অনুসন্ধান করুন',
+'qbfind' => 'অনুসন্ধান',
 'qbbrowse' => 'ব্রাউজ',
 'qbedit' => 'সম্পাদনা',
-'qbpageoptions' => 'এ পাতার বিকল্পসমূহ',
-'qbmyoptions' => 'à¦\86মার à¦ªà¦\9bনà§\8dদ',
+'qbpageoptions' => 'এই পাতা',
+'qbmyoptions' => 'à¦\86মার à¦ªà¦¾à¦¤à¦¾à¦¸à¦®à§\82হ',
 'qbspecialpages' => 'বিশেষ পাতাসমূহ',
 'faq' => 'সম্ভাব্য প্রশ্নসমূহ',
 'faqpage' => 'Project:প্রাজিপ্র',
@@ -228,7 +240,7 @@ $messages = array(
 'vector-action-undelete' => 'পুনরুদ্ধার',
 'vector-action-unprotect' => 'সুরক্ষা পরিবর্তন',
 'vector-simplesearch-preference' => 'সরল অনুসন্ধান সক্রিয় করুন (শুধুমাত্র ভেক্টর স্কিনের জন্য)',
-'vector-view-create' => 'তৈরি করুন',
+'vector-view-create' => 'তৈরি',
 'vector-view-edit' => 'সম্পাদনা',
 'vector-view-history' => 'ইতিহাস',
 'vector-view-view' => 'পড়ুন',
@@ -239,7 +251,7 @@ $messages = array(
 
 'navigation-heading' => 'পরিভ্রমণ মেনু',
 'errorpagetitle' => 'ত্রুটি',
-'returnto' => '$1 à¦¶à¦¿à¦°à§\8bনামà§\87র à¦ªà¦¾à¦¤à¦¾à¦¯à¦¼ à¦«à§\87রত à¦¯à¦¾à¦¨à¥¤',
+'returnto' => '$1 পাতায় ফেরত যান।',
 'tagline' => '{{SITENAME}} থেকে',
 'help' => 'সাহায্য',
 'search' => 'অনুসন্ধান',
@@ -254,7 +266,7 @@ $messages = array(
 'print' => 'মুদ্রণ',
 'view' => 'দেখাও',
 'edit' => 'সম্পাদনা',
-'create' => 'তৈরি করো',
+'create' => 'তৈরি',
 'editthispage' => 'সম্পাদনা করুন',
 'create-this-page' => 'পাতাটি তৈরি করো',
 'delete' => 'অপসারণ',
@@ -495,7 +507,7 @@ $2',
 'createacct-yourpasswordagain-ph' => 'আবারও শব্দচাবি প্রদান করুন',
 'remembermypassword' => 'একাধিক সেশনের জন্য শব্দচাবি মনে রাখা হোক (সর্বোচ্চ $1 {{PLURAL:$1|দিনের|দিনের}} জন্য)',
 'userlogin-remembermypassword' => 'আমাকে প্রবেশ অবস্থায় রাখো',
-'userlogin-signwithsecure' => 'নিরাপদ à¦¸à¦¾à¦°à§\8dভারà§\87র ব্যবহার করুন',
+'userlogin-signwithsecure' => 'নিরাপদ à¦¸à¦\82যà§\8bà¦\97 ব্যবহার করুন',
 'securelogin-stick-https' => 'লগইনের পর এইচটিটিপিএস-এর সাথে সংযোগকৃত থাকুন',
 'yourdomainname' => 'আপনার ডোমেইন',
 'password-change-forbidden' => 'আপনি এই উইকিতে পাসওয়ার্ড পরিবর্তন করতে পারবেন না।',
@@ -516,7 +528,7 @@ $2',
 'gotaccount' => "আপনার কি ইতিমধ্যে একটি অ্যাকাউন্ট তৈরি করা আছে? '''$1''' করুন।",
 'gotaccountlink' => 'প্রবেশ',
 'userlogin-resetlink' => 'আপনার লগইনের বিস্তারিত তথ্যাদি ভুলে গেছেন?',
-'userlogin-resetpassword-link' => 'পাসà¦\93য়ারà§\8dড à¦°à¦¿à¦¸à§\87à¦\9f করুন',
+'userlogin-resetpassword-link' => 'শবà§\8dদà¦\9aাবি à¦ªà§\81নরায় à¦§à¦¾à¦°à§\8dয করুন',
 'helplogin-url' => 'Help:প্রবেশ',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|লগইন সংক্রান্ত সাহায্য]]',
 'createacct-join' => 'আপনার সম্পর্কিত তথ্য নিচে যোগ করুন।',
@@ -622,11 +634,9 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'শব্দচাবি রিসেট',
-'passwordreset-text' => 'আপনার শব্দচাবি বদলের জন্য নিচের ফর্মটি পূরণ করুন।',
 'passwordreset-legend' => 'শব্দচাবি রিসেট',
 'passwordreset-disabled' => 'এই উইকিতে শব্দচাবি রিসেটের সুবিধা নিষ্ক্রিয় রয়েছে।',
 'passwordreset-emaildisabled' => 'এই উইকিতে ইমেইল অপশনটি বন্ধ করা হয়েছে।',
-'passwordreset-pretext' => '{{PLURAL:$1||নিচে উল্লেখিত ডেটাগুলোর কোনো একটি প্রবেশ করান}}',
 'passwordreset-username' => 'ব্যবহারকারী নাম:',
 'passwordreset-domain' => 'ডোমেইন:',
 'passwordreset-capture' => 'অনুসন্ধানের ফলাফলের ইমেইল দেখুন?',
@@ -858,6 +868,7 @@ $1 নিষেধাজ্ঞা আরোপ করেছেন। নিষ
 সম্ভবতঃ পাতাটি মুছে ফেলা হয়েছে।',
 'edit-conflict' => 'সম্পাদনা সংঘাত।',
 'edit-no-change' => 'আপনার সম্পাদনাটি উপেক্ষা করা হয়েছে, কারণ লেখাতে কোনো পরিবর্তন করা হয়নি।',
+'postedit-confirmation' => 'আপনার সম্পাদনা সংরক্ষিত হয়েছে।',
 'edit-already-exists' => 'নতুন পাতা সৃষ্টি করা যায়নি।
 পাতাটি ইতিমধ্যেই বিদ্যমান।',
 'defaultmessagetext' => 'আদি টেক্সট',
@@ -865,7 +876,7 @@ $1 নিষেধাজ্ঞা আরোপ করেছেন। নিষ
 'invalid-content-data' => 'ভুল কন্টেন্ট ডাটা',
 'content-not-allowed-here' => '"$1" কন্টেন্টটি [[$2]] পাতায় অনুমোদিত নয়',
 'editwarning-warning' => 'এই পাতাটি ত্যাগ করলে আপনার আপনার করা পরিবর্তনগুলো হারিয়ে যেতে পারে।
-আপনি যদি লগইন করা থাকেন, আপনি এই সতর্কীকরণ বার্তাটি আপনার পছন্দের "{{int:prefs-editing}}" অনুচ্ছেদ থেকে নিস্ক্রিয় করতে পারেন।',
+আপনি যদি লগইন করা থাকেন, আপনি এই সতর্কীকরণ বার্তাটি আপনার পছন্দের "সম্পাদনা" অনুচ্ছেদ থেকে নিস্ক্রিয় করতে পারেন।',
 
 # Content models
 'content-model-wikitext' => 'উইকিটেক্সট',
@@ -1234,6 +1245,7 @@ $1",
 'yourrealname' => 'আসল নাম *',
 'yourlanguage' => 'ভাষা:',
 'yourvariant' => 'বিষয়বস্তুর ভাষার বিকল্প:',
+'prefs-help-variant' => 'উইকিতে কন্টেন্ট পাতা দেখার জন্য আপনার পছন্দের বৈশিষ্ট।',
 'yournick' => 'স্বাক্ষর:',
 'prefs-help-signature' => 'আলাপ পাতায় আপনার মন্তব্য অবশ্যই "<nowiki>~~~~</nowiki>" চিহ্ন দ্বারা স্বাক্ষরিত হতে হবে, যা স্বয়ংক্রিয়ভাবে আপনার স্বাক্ষর ও সময় সংযুক্ত করবে।',
 'badsig' => 'অবৈধ স্বাক্ষর; এইচটিএমএল ট্যাগ পরীক্ষা করুন।',
@@ -1290,7 +1302,7 @@ $1",
 'userrights-notallowed' => 'আপনার অ্যাকাউন্ট থেকে ব্যবহারকারী অধিকার যুক্ত বা অপসারণ করার অনুমতি নেই।',
 'userrights-changeable-col' => 'দল যা আপনি পরিবর্তন করতে পারেন',
 'userrights-unchangeable-col' => 'দল যা আপনি পরিবর্তন করতে পারবেন না',
-'userrights-conflict' => 'বà§\8dযবহারà¦\95ারà§\80 à¦\85ধিà¦\95ার à¦¬à¦¿à¦°à§\8bধ! অনুগ্রহ করে পুনরায় চেষ্টা করুন।',
+'userrights-conflict' => 'বà§\8dযবহারà¦\95ারà§\80 à¦\85ধিà¦\95ার à¦¦à§\8dবনà§\8dদà§\8dব! অনুগ্রহ করে পুনরায় চেষ্টা করুন।',
 
 # Groups
 'group' => 'দল:',
@@ -1336,6 +1348,7 @@ $1",
 'right-purge' => 'নিশ্চিতকরণ ছাড়াই সাইটের ক্যাশ পার্জ করুন',
 'right-autoconfirmed' => 'অর্ধ-সুরক্ষিত পাতা সম্পাদনা',
 'right-bot' => 'সয়ংক্রিয় পদ্ধতি হিসাবে চিহ্নিত করণ',
+'right-nominornewtalk' => 'বার্তা লেখার মত আলাপ পাতায় কোনো অনুল্লেখ্য সম্পাদনা নেই',
 'right-apihighlimits' => 'API কোয়েরি হিসাবে আরও উচ্চ লিমিট ব্যবহার করুন',
 'right-writeapi' => 'write API এর ব্যবহার',
 'right-delete' => 'পাতা মুছে ফেলুন',
@@ -1760,6 +1773,7 @@ Maybe you want to edit the description on its [$2 file description page] there.'
 'uploadnewversion-linktext' => 'এই ফাইলটির একটি নতুন সংস্করণ আপলোড করুন',
 'shared-repo-from' => '$1 থেকে',
 'shared-repo' => 'শেয়ার্ড রিপোজিটরী',
+'shared-repo-name-wikimediacommons' => 'উইকিমিডিয়া কমন্স',
 'upload-disallowed-here' => 'আপনি এই ফাইলটি প্রতিস্থাপন করতে পারবেন না।',
 
 # File reversion
@@ -2016,7 +2030,7 @@ Maybe you want to edit the description on its [$2 file description page] there.'
 # Special:ActiveUsers
 'activeusers' => 'সক্রিয় ব্যবহারকারী তালিকা',
 'activeusers-intro' => 'এটি ব্যবহারকারী তালিকা যাদের $1 {{PLURAL:$1|দিনে|দিনে}} যেকোন কর্মকান্ড রয়েছে।',
-'activeusers-count' => 'গত {{PLURAL:$3|দিনে|$3 দিনে}} সর্বমোট {{PLURAL:$1|কর্মকাণ্ডের}} সংখ্যা $1',
+'activeusers-count' => 'গত {{PLURAL:$3|দিনে}} সর্বমোট {{PLURAL:$1|পদ}} সংখ্যা $1',
 'activeusers-from' => 'ব্যবহারকারী দেখাও যাদের নাম এই অক্ষর দিয়ে শুরু:',
 'activeusers-hidebots' => 'বট লুকাও',
 'activeusers-hidesysops' => 'প্রশাসক লুকাও',
@@ -2100,8 +2114,8 @@ Maybe you want to edit the description on its [$2 file description page] there.'
 'notvisiblerev' => 'অপর একজন ব্যবহারকারী কর্তৃক প্রণীত সর্বশেষ সংস্করণটি অপসারিত হয়েছে',
 'watchnochange' => 'প্রদর্শিত সময়সীমার মধ্যে আপনার নজরতালিকায় রাখা কোন পাতায় কোন রকম সম্পাদনা ঘটেনি।',
 'watchlist-details' => 'নজরতালিকাতে {{PLURAL:$1|$1টি পাতা|$1টি পাতা}} আছে (আলাপ পাতাগুলি গণনায় না ধরে)।',
-'wlheader-enotif' => '* ই-মেইল এর মাধমে নির্দেশনার ব্যবস্থা চালু করা আছে।',
-'wlheader-showupdated' => "* আপনার শেষ আগমনের পর থেকে যেসব পাতায় পরিবর্তন হয়েছে সেগুলি '''গাঢ়''' করে দেখানো হয়েছে",
+'wlheader-enotif' => 'ইমেল বিজ্ঞপ্তি সক্রিয় করা আছে।',
+'wlheader-showupdated' => "আপনার শেষ আগমনের পর থেকে যেসব পাতায় পরিবর্তন হয়েছে সেগুলি '''গাঢ়''' করে দেখানো হয়েছে।",
 'watchmethod-recent' => 'নজরে রাখা পাতাগুলিতে সাম্প্রতিক পরিবর্তন পরীক্ষা করা হচ্ছে',
 'watchmethod-list' => 'নজরে রাখা পাতাগুলিতে সাম্প্রতিক পরিবর্তন পরীক্ষা করা হচ্ছে',
 'watchlistcontains' => 'আপনার নজরতালিকায় $1 টি {{PLURAL:$1|পাতা|পাতা}} রয়েছে।',
@@ -2509,7 +2523,9 @@ $1',
 'proxyblocksuccess' => 'নিষ্পন্ন হয়েছে।',
 'sorbsreason' => 'আপনার আইপি ঠিকানাটি {{SITENAME}}-এর ব্যবহার করা DNSBL-এ উন্মুক্ত প্রক্সি হিসেবে তালিকাভুক্ত আছে।',
 'sorbs_create_account_reason' => 'আপনার আইপি ঠিকানাটি {{SITENAME}}-এর ব্যবহার করা DNSBL-এ উন্মুক্ত প্রক্সি হিসেবে তালিকাভুক্ত আছে। আপনি কোন অ্যাকাউন্ট সৃষ্টি করতে পারবেন না।',
+'xffblockreason' => 'X-Forwarded-For হেডারে থাকা আইপি ঠিকানাটি ব্লক করা হয়েছে, হয় এটি আপনার নিজের অথবা আপনার ব্যবহৃত প্রক্সি সার্ভারের আইপি ঠিকানা। ব্লক করার কারণ হল: $1',
 'cant-block-while-blocked' => 'আপনি নিজে ব্লক থাকা অবস্থায় অন্যন্য ব্যবহারকারীকে ব্লক করতে পারবেন না।',
+'cant-see-hidden-user' => 'আপনি যে ব্যবহারকারীকে ব্লক বা লুকিয়ে রাখতে চাচ্ছেন তাকে আগে থেকেই ব্লক বা লুকিয়ে রাখা হয়েছে। এছাড়া আপনার Hideuser অধিকার নেই, তাই আপনি ব্যবহারকারীর অবস্থা পরিবর্তন করতে পারবেন না।',
 'ipbblocked' => 'আপনি অন্য কোন ব্যবহারকরীকে ব্লক বা আনব্লক করতে পারবেন না, কারণ আপনি নিজেই ব্লক রয়েছেন',
 'ipbnounblockself' => 'আপনি নিজেকে আনব্লক করতে পারবেন না',
 
@@ -2609,6 +2625,7 @@ $1',
 'immobile-target-namespace-iw' => 'পাতা স্থানান্তরের ক্ষেত্রে ইন্টারউইকি লিংক ব্যবহার করা যাবে না।',
 'immobile-source-page' => 'এই পাতাটির স্থানান্তর সম্ভব নয়।',
 'immobile-target-page' => 'গন্তব্য শিরোনামে স্থানান্তর করা যাবে না।',
+'bad-target-model' => 'আপনার উল্লেখিত কন্টেন্ট মডেলটি আলাদা। $1 থেকে $2 কনভার্ট করা যাচ্ছে না।',
 'imagenocrossnamespace' => 'কোনো ফাইল ফাইলনয় এমন নামস্থানে স্থানান্তর সম্ভব নয়',
 'nonfile-cannot-move-to-file' => 'কোনো ফাইলনয় এমন কোনো পাতা ফাইল নামস্থানে স্থানান্তর সম্ভব নয়',
 'imagetypemismatch' => 'নতুন ফাইল এক্সটেনশনটি ফাইলের ধরনের সাথে মিলছে না',
@@ -2643,6 +2660,7 @@ $1',
 'export-addns' => 'যোগ',
 'export-download' => 'ফাইল হিসেবে সংরক্ষণ করা হোক',
 'export-templates' => 'টেম্পলেট অন্তর্ভুক্তি',
+'export-pagelinks' => 'সম্পর্কিত পাতাগুলো এই ধাপ পর্যন্ত যুক্ত করো:',
 
 # Namespace 8 related
 'allmessages' => 'সিস্টেম বার্তাসমূহ',
@@ -2653,7 +2671,7 @@ $1',
 আপনি যদি সাধারণ মিডিয়াউইকির স্থানীয়করণে অবদান রাখতে আগ্রহী হন, অনুগ্রহ করে [//www.mediawiki.org/wiki/Localisation মিডিয়াউইকি স্থানীয়করণ] এবং [//translatewiki.net translatewiki.net] দেখুন।',
 'allmessagesnotsupportedDB' => "এই পাতা ব্যবহার করা যাবে না কারণ '''\$wgUseDatabaseMessages''' বন্ধ করে রাখা আছে।",
 'allmessages-filter-legend' => 'ছাকনী',
-'allmessages-filter' => 'পরিবর্তের ধাপ অনুযায়ী ফিল্টার:',
+'allmessages-filter' => 'Filter by customization state:',
 'allmessages-filter-unmodified' => 'অপরিবর্তিত',
 'allmessages-filter-all' => 'সমস্ত',
 'allmessages-filter-modified' => 'পরিবর্তিত',
@@ -2665,6 +2683,8 @@ $1',
 'thumbnail-more' => 'বড় করো',
 'filemissing' => 'ফাইল হারিয়ে গেছে',
 'thumbnail_error' => 'থাম্বনেইল সৃষ্টি করতে গিয়ে ত্রুটি: $1',
+'thumbnail_error_remote' => '$1 থেকে ত্রুটির বার্তা:
+$2',
 'djvu_page_error' => 'DjVu পাতা সীমার বাইরে',
 'djvu_no_xml' => 'DjVu ফাইলের জন্য XML আনতে পারা যায়নি।',
 'thumbnail-temp-create' => 'অস্থায়ী থাম্বনেইল ফাইল তৈরী করা সম্ভব নয়',
@@ -2686,6 +2706,7 @@ $1',
 'import-interwiki-templates' => 'সকল টেম্পলেট অন্তর্ভুক্ত',
 'import-interwiki-submit' => 'আমদানি',
 'import-interwiki-namespace' => 'গন্তব্য নামস্থান:',
+'import-interwiki-rootpage' => 'মূল পাতা (ঐচ্ছিক):',
 'import-upload-filename' => 'ফাইলনাম:',
 'import-comment' => 'মন্তব্য:',
 'importtext' => 'অনুগ্রহ করে ফাইলটি উৎস উইকি থেকে [[Special:Export|এক্সপোর্ট ইউটিলিটি]] ব্যবহার করে এক্সপোর্ট করুন।
@@ -2719,6 +2740,7 @@ $1',
 'import-error-interwiki' => '"$1" পাতাটি ইম্পোর্ট করা যায়নি কারণ এই নামটি বহিঃসংযোগর জন্য নির্ধারিত (ইন্টারউইকি)।',
 'import-error-special' => '"$1" পাতাটি ইম্পোর্ট করা যায়নি কারণ এটি একটি বিশেষ নামস্থানকে নির্দেশ করে যেটি সম্পাদনার জন্য অনুমোদিত নয়।',
 'import-error-invalid' => '"$1" পাতাটি ইম্পোর্ট করা যায়নি কারণ নামটি সঠিক নয়।',
+'import-error-unserialize' => '$1 পাতার $2 সংস্করণটি সিরিয়ালাইজ করা যাচ্ছে না। এই রিভিশনে $4 হিসাবে $3 কন্টেন্ট মডেলে সিরিয়ালাইজ করা আছে।',
 'import-options-wrong' => 'ভুল {{PLURAL:$2|অপশন|অপশনসমূহ}}: <nowiki>$1</nowiki>',
 'import-rootpage-invalid' => 'মূল পাতার ভুল শিরনাম দেয়া হয়েছে।',
 'import-rootpage-nosubpage' => 'মূল পাতার "$1" নামস্থানে উপপাতা তৈরী অনুমোদিত নয়।',
@@ -2851,7 +2873,7 @@ $1',
 'pageinfo-robot-noindex' => 'ইনডেক্সের অনুপযোগী',
 'pageinfo-views' => 'পরিদর্শন সংখ্যা',
 'pageinfo-watchers' => 'পাতাটি প্রদর্শনের সংখ্যা',
-'pageinfo-few-watchers' => '$1 {{PLURAL:$1|নজরের}} কম',
+'pageinfo-few-watchers' => '$1 জন {{PLURAL:$1|নজরকারীও}} কম',
 'pageinfo-redirects-name' => 'এই পাতার রিডাইরেক্ট সমূহ',
 'pageinfo-subpages-name' => 'এই পাতার উপপাতাসমূহ',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|পুনর্নির্দেশ|পুনর্নির্দেশসমূহ}}; $3 {{PLURAL:$3|পুনর্নির্দেশ নেই|পুনর্নির্দেশ নেই}})',
@@ -2866,18 +2888,24 @@ $1',
 'pageinfo-magic-words' => 'ম্যাজিক {{PLURAL:$1|শব্দ|শব্দসমূহ}} ($1)',
 'pageinfo-hidden-categories' => 'লুকানো {{PLURAL:$1|বিষয়শ্রেণী|বিষয়শ্রেণীসমূহ}} ($1)',
 'pageinfo-templates' => 'সংযুক্ত {{PLURAL:$1|টেমপ্লেট|টেমপ্লেটসমূহ}} ($1)',
+'pageinfo-transclusions' => '{{PLURAL:$1|পাতা|পাতাসমূহ}} ট্রান্সক্লুড করার সময় ($1)',
 'pageinfo-toolboxlink' => 'পাতার তথ্য',
 'pageinfo-redirectsto' => 'পুননির্দেশিত হয়েছে',
 'pageinfo-redirectsto-info' => 'তথ্য',
 'pageinfo-contentpage' => 'তথ্য পাতা হিসাবে বিবেচিত হয়েছে',
 'pageinfo-contentpage-yes' => 'হ্যাঁ',
+'pageinfo-protect-cascading' => 'ক্যাসকেডিং সুরক্ষা পদ্ধতি চালু রয়েছে',
 'pageinfo-protect-cascading-yes' => 'হ্যাঁ',
+'pageinfo-protect-cascading-from' => 'ক্যাসকেডিং সুরক্ষা পদ্ধতি',
 'pageinfo-category-info' => 'বিষয়শ্রেণী তথ্য',
 'pageinfo-category-pages' => 'পাতার সংখ্যা',
 'pageinfo-category-subcats' => 'উপবিষয়শ্রেণীর সংখ্যা',
 'pageinfo-category-files' => 'ফাইলের সংখ্যা',
 
 # Skin names
+'skinname-cologneblue' => 'কলোন ব্লু',
+'skinname-monobook' => 'মনোবুক',
+'skinname-modern' => 'মডার্ন',
 'skinname-vector' => 'ভেক্টর',
 
 # Patrolling
@@ -2890,6 +2918,8 @@ $1',
 'markedaspatrollederror' => 'পরীক্ষিত বলে চিহ্নিত করা যাবে না',
 'markedaspatrollederrortext' => 'পরীক্ষিত বলে চিহ্নিত করতে আপনাকে একটি সংস্করণ নির্দিষ্ট  করতে হবে।',
 'markedaspatrollederror-noautopatrol' => 'আপনার নিজের পাতাকে পরীক্ষিত বলে চিহ্নিত করার অনুমতি আপনার নেই।',
+'markedaspatrollednotify' => '$1 এর পরিবর্তন পরীক্ষিত হিসাবে চিহ্নিত করা হয়েছে।',
+'markedaspatrollederrornotify' => 'পরীক্ষিত হিসাবে চিহ্নিত করতে ব্যর্থ।',
 
 # Patrol log
 'patrol-log-page' => 'পরীক্ষণ লগ',
@@ -3178,6 +3208,9 @@ $1',
 
 # Exif attributes
 'exif-compression-1' => 'অসংকুচিত',
+'exif-compression-2' => 'সিসিআইটিটি গ্রুপ ৩ ১-ডাইমেনশনাম মডিফাইড হাফম্যান রান লেংক্থ এনকোডিং',
+'exif-compression-3' => 'সিসিআইটিটি গ্রুপ ৩ ফ্যাক্স এনকোডিং',
+'exif-compression-4' => 'সিসিআইটিটি গ্রুপ ৪ ফ্যাক্স এনকোডিং',
 
 'exif-copyrighted-true' => 'কপিরাইটকৃত',
 'exif-copyrighted-false' => 'পাবলিক ডোমেইন',
@@ -3246,6 +3279,7 @@ $1',
 'exif-flash-return-2' => 'স্ট্রোবের আলো চিহ্নিত করা যায়নি',
 'exif-flash-return-3' => 'স্ট্রোবের আলো চিহ্নিত হয়েছে',
 'exif-flash-mode-1' => 'বাধ্যতামূলকভাবে ফ্ল্যাশ ব্যবহৃত হয়েছে',
+'exif-flash-mode-2' => 'বাধ্যতামূলক ফ্ল্যাশ নিষ্ক্রিয়',
 'exif-flash-mode-3' => 'স্বয়ংক্রিয় মোড',
 'exif-flash-function-1' => 'ফ্ল্যাশ ব্যবহৃত হয়নি',
 'exif-flash-redeye-1' => 'রেড-আই হ্রাস মোড',
@@ -3348,6 +3382,7 @@ $1',
 'exif-ycbcrpositioning-2' => 'কো-সাইটেড',
 
 'exif-dc-contributor' => 'অবদানকারী',
+'exif-dc-coverage' => 'মিডিয়া ফাইলের বিশেষ অথবা অস্থায়ী ক্ষেত্র',
 'exif-dc-date' => 'তারিখ',
 'exif-dc-publisher' => 'প্রকাশক',
 'exif-dc-relation' => 'সম্পর্কিত মিডিয়া',
@@ -3421,6 +3456,30 @@ $3
 
 $5
 
+$4-এ নিশ্চিতকরণ কোডটি মেয়াদোত্তীর্ণ হয়ে যাবে।',
+'confirmemail_body_changed' => 'কেউ একজন, সম্ভবত আপনি, $1 আইপি ঠিকানা থেকে,
+{{SITENAME}}-এ "$2" নামে অ্যাকাউন্টের ইমেরইল ঠিকানা পরিবর্তন করেছেন।
+
+এই অ্যাকাউন্টটি যে আসলেই আপনার তা নিশ্চিত করার জন্য এবং {{SITENAME}}-এ ই-মেইল বৈশিষ্ট্যগুলো সক্রিয় করার জন্য আপনার ব্রাউজারে এই সংযোগটি খুলুন:
+
+$3
+
+যদি আপনি এই ব্যক্তি *না* হন, তাহলে ইমেইল ঠিকানা নিশ্চিতকরণ বাতিল করতে এই লিঙ্কটি অনুসরণ করুন"
+
+$5
+
+$4-এ নিশ্চিতকরণ কোডটি মেয়াদোত্তীর্ণ হয়ে যাবে।',
+'confirmemail_body_set' => 'কেউ একজন, সম্ভবত আপনি, $1 আইপি ঠিকানা থেকে,
+{{SITENAME}}-এ "$2" অ্যকাউন্টের ইমেইল ঠিকানা নির্ধারণ করেছেন।
+
+এই অ্যাকাউন্টটি যে আসলেই আপনার তা নিশ্চিত করার জন্য এবং {{SITENAME}}-এ ই-মেইল বৈশিষ্ট্যগুলো সক্রিয় করার জন্য আপনার ব্রাউজারে এই সংযোগটি খুলুন:
+
+$3
+
+যদি আপনি এই ব্যক্তি *না* হন, তাহলে ইমেইল ঠিকানা নিশ্চিতকরণ বাতিল করতে এই লিঙ্কটি অনুসরণ করুন"
+
+$5
+
 $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত্তীর্ণ হয়ে যাবে।',
 'confirmemail_invalidated' => 'ইমেইল ঠিকানা নিশ্চিতকরণ বাতিল হয়েছে',
 'invalidateemail' => 'ইমেইল নিশ্চিতকরণ বাতিল করুন',
@@ -3480,6 +3539,14 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 'size-megabytes' => '$1 মেগাবাইট',
 'size-gigabytes' => '$1 গিগাবাইট',
 
+# Bitrate units
+'bitrate-kilobits' => '$1 কেবিপিএস',
+'bitrate-megabits' => '$1 এমবিপিএস',
+'bitrate-gigabits' => '$1 জিবিপিএস',
+'bitrate-terabits' => '$1 টিবিপিএস',
+'bitrate-petabits' => '$1 পিবিপিএস',
+'bitrate-exabits' => '$1 ইবিপিএস',
+
 # Live preview
 'livepreview-loading' => 'লোডিং...',
 'livepreview-ready' => 'লোডিং… প্রস্তুত!',
@@ -3517,6 +3584,39 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 'watchlisttools-edit' => 'নজর তালিকা দেখুন এবং সম্পাদনা করুন',
 'watchlisttools-raw' => 'অশোধিত নজরতালিকা সম্পাদনা করুন',
 
+# Iranian month names
+'iranian-calendar-m1' => 'ফারওয়ারদিন',
+'iranian-calendar-m2' => 'অর্দিবেহেশ্‌ত',
+'iranian-calendar-m3' => 'খোরদাদ',
+'iranian-calendar-m4' => 'তির',
+'iranian-calendar-m5' => 'মোরদাদ',
+'iranian-calendar-m6' => 'শাহ্‌রিওয়ার',
+'iranian-calendar-m7' => 'মেহ্‌র',
+'iranian-calendar-m8' => 'আবান',
+'iranian-calendar-m9' => 'আজার',
+'iranian-calendar-m10' => 'দেই',
+'iranian-calendar-m11' => 'বাহ্‌মান',
+'iranian-calendar-m12' => 'এসফান্দ',
+
+# Hijri month names
+'hijri-calendar-m1' => 'মুহররম',
+'hijri-calendar-m2' => 'সফর',
+'hijri-calendar-m3' => 'রবিউল আউয়াল',
+'hijri-calendar-m4' => 'রবিউস সানি',
+'hijri-calendar-m5' => 'জমাদিউল আউয়াল',
+'hijri-calendar-m6' => 'জমাদিউস সানি',
+'hijri-calendar-m7' => 'রজব',
+'hijri-calendar-m8' => "শা'বান",
+'hijri-calendar-m9' => 'রমজান',
+'hijri-calendar-m10' => 'শাওয়াল',
+'hijri-calendar-m11' => 'জ্বিলকদ',
+'hijri-calendar-m12' => 'জ্বিলহজ্জ',
+
+# Hebrew month names
+'hebrew-calendar-m10' => 'তামুয',
+'hebrew-calendar-m11' => 'আভ',
+'hebrew-calendar-m12' => 'এলুল',
+
 # Signatures
 'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|আলাপ]])',
 
@@ -3544,6 +3644,12 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 'version-license' => 'লাইসেন্স',
 'version-poweredby-credits' => "এইক উইকিটি পরিচালিত হচ্ছে '''[//www.mediawiki.org/ মিডিয়াউইকি]'''-এর মাধ্যমে, কপিরাইট © ২০০১-$1 $2।",
 'version-poweredby-others' => 'অন্যান্য',
+'version-credits-summary' => '[[Special:Version|মিডিয়াউইকি]] সফটওয়্যারে অবদানের জন্য আমরা এই ব্যক্তিকে স্বীকৃতি দিতে চাই।',
+'version-license-info' => 'মিডিয়াউইকি এ++++কটি ফ্রি সফটওয়্যার, আপনি এটি বিতরণ করতে পারবেন এবং/অথবা সম্পদানা করতে পারবেন, এক্ষেত্রে ফ্রি সফটওয়্যার ফাউন্ডেশনের প্রকাশিত গনু জেনারেল পাবলিক লাইসেন্সের ২য় অথবা সাম্প্রতিকতম কোনো সংস্করণ মেনে চলতে হবে। 
+
+সকলের উপকারের লক্ষ্যে এটি বিতরণ করা হয়ে থাকে, কিন্তু এক্ষেত্রে কোনো ওয়ারেন্টি দেয়া হয় না, এমনকি বিশেষ কোনো কার্যক্ষেত্রে ব্যবহারের জন্যও তথাকথিত ওয়ারেন্টি দেয়া হয় না। বিস্তারিত জানতে দেখুন গনু জেনারেল পাবলিক লাইসেন্স। 
+
+এই সফটওয়্যারের সাথে [{{SERVER}}{{SCRIPTPATH}}/COPYING গনু জেনারেল পাবলিক লাইসেন্সের একটি কপি] থাকার কথা; যদি আপনি না পেয়ে থাকেন তাহলে অনুগ্রহ করে ফ্রি সফটওয়্যার ফাউন্ডেশনকে জানান এই ঠিকানায়, Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA অথবা [//www.gnu.org/licenses/old-licenses/gpl-2.0.html অনলাইনে দেখুন]।',
 'version-software' => 'ইনস্টলকৃত সফটওয়্যার',
 'version-software-product' => 'পণ্য',
 'version-software-version' => 'সংস্করণ',
@@ -3552,10 +3658,14 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 'version-entrypoints-header-url' => 'ইউআরএল',
 
 # Special:Redirect
+'redirect' => 'ফাইল, ব্যবহারকরী, অথবা রিভিশন আইডি দ্বারা পুনঃনির্দেশ করা হয়েছে',
+'redirect-legend' => 'একটি ফাইল অথবা পাতায় পুনঃনির্দেশ করা হয়েছে',
+'redirect-summary' => 'এই বিশেষ পাতাটি পুনঃনির্দেশিত হয়েছে একটি ফাইলে (ফাইলের নাম), একটি পাতা (রিভিশন আইডি), অথবা একটি ব্যবহারকরী পাতায় (সংখ্যায় লেখা ব্যবহারকারী আইডি)।',
 'redirect-submit' => 'যাও',
 'redirect-lookup' => 'দেখুন:',
 'redirect-value' => 'মান:',
 'redirect-user' => 'ব্যবহারকারী আইডি',
+'redirect-revision' => 'পাতা সংস্করণ',
 'redirect-file' => 'ফাইলের নাম',
 'redirect-not-exists' => 'মান পাওয়া যায়নি',
 
@@ -3607,7 +3717,9 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 'tag-filter' => '[[Special:Tags|ট্যাগ]] ছাকনী:',
 'tag-filter-submit' => 'ছাকনী',
 'tags-title' => 'ট্যাগসমূহ',
+'tags-intro' => 'এই পাতায় সফটওয়্যারটি একটি সম্পাদনা চিহ্নিত করার জন্য যে সকল ট্যাগ ব্যবহার করে তার তালিকা ও বর্ণনা রয়েছে।',
 'tags-tag' => 'ট্যাগ নাম',
+'tags-display-header' => 'পরিনর্তন পাতার বৈশিষ্ট',
 'tags-description-header' => 'অর্থের পূর্ণ বণনা',
 'tags-hitcount-header' => 'ট্যাগকৃত পরিবর্সতনমূহ',
 'tags-edit' => 'সম্পাদনা',
@@ -3686,10 +3798,13 @@ $4-এ নিশ্চিতকরণ কোডটি মেয়াদোত
 '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 দলের সদস্যপদ পরিবর্তন করেছেন {{GENDER:$2|changed}} এর জন্য $3',
 'logentry-rights-autopromote' => '$1 সয়ংক্রিয়ভাবে $4 থেকে $5 এ {{GENDER:$2|উন্নীত}} হয়েছে',
 'rightsnone' => '(কিছু নাই)',
 
 # Feedback
+'feedback-bugornote' => 'কারিগরী ত্রুটির বিস্তারিত বর্ণনা জানতে [$1 বাগ রিপোর্ট করুন]।
+অথবা নিচের এই সরল ফর্মটি ব্যবহার করতে পারেন। "[$3 $2]" পাতায় আপনার ব্যবহারকারী নাম সহ মন্তব্যটি প্রকাশিত হবে।',
 'feedback-subject' => 'বিষয়:',
 'feedback-message' => 'বার্তা:',
 'feedback-cancel' => 'বাতিল',
index 21f2d27..d6ff3db 100644 (file)
@@ -680,7 +680,7 @@ $messages = array(
 # Special:ListGroupRights
 'listgrouprights-members' => 'ཁོངས་མིའི་ཐོ་ཡིག',
 
-# E-mail user
+# Email user
 'emailuser' => 'སྤྱོད་མི་འདིར་གློག་འཕྲིན་སྐུར་བ།',
 'emailmessage' => 'སྐད་ཆ།',
 
index 6b088db..f5b2db4 100644 (file)
@@ -76,8 +76,6 @@ $messages = array(
 'tog-shownumberswatching' => 'চাকুরার সংখ্যাহান দেহাদে',
 'tog-oldsig' => 'আগেত্তর আসে স্বাক্ষররহান:',
 'tog-fancysig' => 'স্বাক্ষরহানরে উইকিটেক্সট বুলিয়া নিংকর (নিজেত্ত লিঙ্ক নেইকরিয়া)',
-'tog-externaleditor' => 'অকরাতই বারেদের সম্পাদক ব্যবহার কর (হুদ্দা দক্ষ ব্যবহারকারীরকা, কম্পিউটারর মা বিশেষ সেটিংস দরকার। [//www.mediawiki.org/wiki/Manual:External_editors বিস্তারিত পৌ।])',
-'tog-externaldiff' => 'অকরাতই বারেদের সম্পাদক ব্যবহার কর (হুদ্দা দক্ষ ব্যবহারকারীরকা, কম্পিউটারর মা বিশেষ সেটিংস দরকার। [//www.mediawiki.org/wiki/Manual:External_editors বিস্তারিত পৌ।])',
 'tog-showjumplinks' => '"চঙদে" বুলতারা মিলাপর য়্যাথাঙদে',
 'tog-uselivepreview' => 'লগে লগে মিল্লেঙ আহান দেহাদে (জাভাস্ক্রিপ্ট) (লইনাসে)',
 'tog-forceeditsummary' => 'খালি পতা সারমর্ম হমিলে মরে হারপুৱাদে',
@@ -91,6 +89,7 @@ $messages = array(
 'tog-diffonly' => 'ফারাকর তলে পাতাহানর বিষয়বস্তু নাদেখাদি',
 'tog-showhiddencats' => 'আরুমে আসে থাকহানি ফংকর',
 'tog-norollbackdiff' => 'রোলব্যাকর পিসে ফারাক না দেখাদি',
+'tog-useeditwarning' => 'পতানির সময় ইতু নাকরিয়া বেলিয়া গেলেগা মরে সিঙকরেদিস',
 
 'underline-always' => 'হারি সময়',
 'underline-never' => 'সুপৌনা',
@@ -711,6 +710,8 @@ $2',
 'edit-conflict' => 'পতানিত বেসেপ ইসে',
 'edit-already-exists' => 'নুৱা পাতাহান হঙকরানি নাইল।
 পাতাএহান আগেত্তর আসে।',
+'editwarning-warning' => 'পাতা এহান বেলিয়া গেলেগা তি সিলকরিসত অতা মাঙুইতে পারে।
+তি লগইন করিসতগ ইলে, এরে সিঙকরানির পৌ এহান তর "পতানি" থাকেত্ত আরুম করানি পারর।',
 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => "'''সিঙুইস:''' টেমপ্লেটের ইনক্লুড অংতাহান ডাঙর অসে। টেমপ্লেট কতহান তিলকরানি নুওয়ারতে পারে।",
@@ -880,14 +881,6 @@ $2',
 'powersearch-togglenone' => 'কিত্তাউ নেই',
 'search-external' => 'বারেদে বিসারা',
 
-# Quickbar
-'qbsettings' => 'কুইকবার',
-'qbsettings-none' => 'কিত্তাউ নেই',
-'qbsettings-fixedleft' => 'লেপ্পা বিঙ',
-'qbsettings-fixedright' => 'লেপ্পা বাত',
-'qbsettings-floatingleft' => 'বাহের বিঙ',
-'qbsettings-floatingright' => 'বাহের বাত',
-
 # Preferences page
 'preferences' => 'পছনহানি',
 'mypreferences' => 'মর পছন',
@@ -1676,11 +1669,6 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'version-software-product' => 'পণ্য',
 'version-software-version' => 'সংস্করণ',
 
-# Special:FilePath
-'filepath' => 'ফাইলর পথহান:',
-'filepath-page' => 'ফাইল:',
-'filepath-submit' => 'পথ',
-
 # Special:SpecialPages
 'specialpages' => 'বিশেষ পাতাহানি',
 'specialpages-group-login' => 'একাউন্টহাত হমানি/মিহানি',
index b0f1d7e..d0ac8c4 100644 (file)
@@ -45,8 +45,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'نشودادن امیل مو درامیلهای آگاهی-خبری',
 'tog-shownumberswatching' => 'نشودادن شماره کاربران درحال کار یاتماشا',
 'tog-fancysig' => 'امضاهای ناتمام - بدون لینکهای اتوماتیک',
-'tog-externaleditor' => 'بی دقتی در استفاده از اصلاح کننده های خارجی',
-'tog-externaldiff' => 'استفاده زه برنامه های مختلف خارجی بوسیله پیش نمایش(سی تجربه کردن فقط نیاز به تنظیم خاص کامپیوترتان دارین)',
 'tog-showjumplinks' => 'قادر ساختن "پرش به" لینکهای دردسترس',
 'tog-uselivepreview' => 'استفاده زه پیش نمایش زنده(جاوااسکریپ) (تجربی )',
 'tog-forceeditsummary' => 'یادآوری سریع به مو هنگام اصلاح عقیم وخلاصه',
@@ -548,7 +546,7 @@ $2',
 # Special:Categories
 'categories' => 'دسته ها',
 
-# E-mail user
+# Email user
 'emailuser' => 'امیل ای کاربر',
 
 # Watchlist
index c4470bb..1f4f430 100644 (file)
@@ -15,6 +15,7 @@
  * @author Gwenn-Ael
  * @author Kaganer
  * @author Malafaya
+ * @author Nemo bis
  * @author VIGNERON
  * @author Y-M D
  * @author לערי ריינהארט
@@ -710,10 +711,8 @@ Gortozit a-raok klask en-dro.",
 
 # Special:PasswordReset
 'passwordreset' => 'Adderaouekaat ar ger-tremen',
-'passwordreset-text' => "Leuniañ ar furmskrid-mañ da resev ur postel da zegas soñj deoc'h eus titouroù ho kont.",
 'passwordreset-legend' => 'Adsevel ar ger-tremen',
 'passwordreset-disabled' => 'Diweredekaet eo bet an adsevel gerioù-tremen war ar wiki-mañ.',
-'passwordreset-pretext' => '{{PLURAL:$1||Merkit unan eus an tammoù roadennoù dindan}}',
 'passwordreset-username' => 'Anv implijer :',
 'passwordreset-domain' => 'Domani :',
 'passwordreset-capture' => 'Gwelet ar postel ?',
@@ -947,6 +946,7 @@ Abeg dianav.",
 Diverket eo bet evit doare.',
 'edit-conflict' => 'Tabut kemmañ.',
 'edit-no-change' => "N'eo ket bet kemeret ho tegasadenn e kont rak ne oa ket bet kemmet netra en destenn.",
+'postedit-confirmation' => 'Enrollet eo bet ho kemmoù.',
 'edit-already-exists' => "N'eus ket bet gallet krouiñ ur bajenn nevez.
 Krouet e oa bet c'hoazh.",
 'defaultmessagetext' => 'Testenn dre ziouer',
@@ -1562,7 +1562,7 @@ E '''tev''' emañ ar pajennoù zo war ho [[Special:Watchlist|roll evezhiañ]].",
 'reuploaddesc' => "Distreiñ d'ar furmskrid.",
 'upload-tryagain' => 'Kas deskrivadur ar restr kemmet',
 'uploadnologin' => 'Digevreet',
-'uploadnologintext' => "Ret eo deoc'h bezañ [[Special:UserLogin|kevreetet]] a-benn gellout enporzhiañ restroù war ar servijer.",
+'uploadnologintext' => "Ret eo deoc'h bezañ [[Special:UserLogin|kevreet]] evit gallout enporzhiañ restroù war ar servijer.",
 'upload_directory_missing' => "Mankout a ra ar c'havlec'h enporzhiañ ($1) ha n'eo ket bet ar servijer Web evit e grouiñ.",
 'upload_directory_read_only' => "N'hall ket ar servijer skrivañ e renkell ar c'hargadennoù ($1).",
 'uploaderror' => 'Fazi enporzhiañ',
@@ -2198,8 +2198,8 @@ Amañ e vo rollet ar c\'hemmoù da zont evit ar bajenn-mañ hag ar bajenn gaozea
 'notvisiblerev' => 'Stumm diverket',
 'watchnochange' => "N'ez eus elfenn ebet eus ar re evezhiet ganeoc'h a zo bet kemmet e-pad ar prantad spisaet",
 'watchlist-details' => "Lakaet hoc'h eus {{PLURAL:$1|$1 bajenn|$1 pajenn}} dindan evezh, anez kontañ ar pajennoù kaozeal.",
-'wlheader-enotif' => "War enaou emañ ar c'has posteloù.",
-'wlheader-showupdated' => "E '''tev''' emañ merket ar pajennoù bet kemmet abaoe ar wezh ziwezhañ hoc'h eus sellet outo",
+'wlheader-enotif' => "War enaou emañ ar c'has posteloù.",
+'wlheader-showupdated' => "E '''tev''' emañ merket ar pajennoù bet kemmet abaoe ar wezh ziwezhañ hoc'h eus sellet outo",
 'watchmethod-recent' => "Gwiriañ ar c'hemmoù diwezhañ er pajennoù dindan evezh",
 'watchmethod-list' => "Gwiriañ ar c'hemmoù diwezhañ evit ar pajennoù evezhiet",
 'watchlistcontains' => '$1 {{PLURAL:$1|pajenn|pajenn}} zo en ho rollad evezhiañ',
@@ -2910,7 +2910,6 @@ Talvezout a ra da ouzhpennañ un displegadenn er c\'hombod diverrañ.',
 'modern.css' => '/* Talvezout a raio ar CSS lakaet amañ evit implijerien ar gwiskadur Modern */',
 'vector.css' => '/* Talvezout a raio ar CSS lakaet amañ evit implijerien ar gwiskadur Vektor */',
 'print.css' => '/* Talvezout a raio ar CSS lakaet amañ evit ar moullañ */',
-'handheld.css' => '/* Talvezout a raio ar CSS lakaet amañ evit an ardivinkoù hezoug diouzh ar gwiskadur kefluniet e $wgHandheldStyle */',
 'noscript.css' => '/* Talvezout a raio ar CSS lakaet amañ evit an implijerien o deus diweredekaet JavaScript */',
 'group-autoconfirmed.css' => '/* Talvezout a raio ar CSS lakaet amañ evit an impjerien bet kadarnaet ent emgefre hepken */',
 'group-bot.css' => '/* Talvezout a raio ar CSS lakaet amañ evit ar robotoù hepken */',
index d3a942e..089112c 100644 (file)
@@ -331,6 +331,9 @@ Ná radbadal ák deskáne atíko matano.",
 
 'grouppage-sysop' => '{{ns:project}}:Amaldár ák',
 
+# Special:Log/newusers
+'newuserlogpage' => 'Kárband joŕ kanning ná hisáb',
+
 # User rights log
 'rightslog' => 'Kárband hakk hisáb',
 
@@ -434,13 +437,10 @@ Ná radbadal ák deskáne atíko matano.",
 # Special:LinkSearch
 'linksearch' => 'Darí gańđ',
 
-# Special:Log/newusers
-'newuserlogpage' => 'Kárband joŕ kanning ná hisáb',
-
 # Special:ListGroupRights
 'listgrouprights-members' => '(básk átá ridoband)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Dá kárband e girokŧapál as mon et',
 
 # Watchlist
index 1eb6ae1..00f2f32 100644 (file)
@@ -16,6 +16,7 @@
  * @author Kaganer
  * @author Kal-El
  * @author Malafaya
+ * @author Nemo bis
  * @author Palapa
  * @author Seha
  * @author Smooth O
@@ -689,9 +690,16 @@ Obratite pažnju da neke stranice mogu nastaviti da se prikazuju kao da ste još
 'welcomecreation-msg' => 'Vaš nalog je napravljen.
 Ne zaboravite da prilagodite sebi svoja [[Special:Preferences|{{SITENAME}} podešavanja]].',
 'yourname' => 'Korisničko ime:',
+'userlogin-yourname' => 'Korisničko ime',
+'userlogin-yourname-ph' => 'Unesite Vaše korisničko ime',
 'yourpassword' => 'Šifra:',
+'userlogin-yourpassword' => 'Šifra',
+'userlogin-yourpassword-ph' => 'Unesite Vašu šifru/lozinku',
+'createacct-yourpassword-ph' => 'Unesite šifru/lozinku',
 'yourpasswordagain' => 'Ponovite šifru:',
+'createacct-yourpasswordagain-ph' => 'Unesite šifru/lozinku opet',
 'remembermypassword' => 'Zapamti moju šifru na ovom računaru (najviše $1 {{PLURAL:$1|dan|dana|dana}})',
+'userlogin-signwithsecure' => 'Koristite sigurnu konekciju',
 'securelogin-stick-https' => 'Ostani povezan na HTTPS nakon prijave',
 'yourdomainname' => 'Vaš domen:',
 'password-change-forbidden' => 'Ne možete da promjenite lozinku na ovom wikiju.',
@@ -704,14 +712,25 @@ Ne zaboravite da prilagodite sebi svoja [[Special:Preferences|{{SITENAME}} pode
 'logout' => 'Odjavi me',
 'userlogout' => 'Odjavi me',
 'notloggedin' => 'Niste prijavljeni',
+'userlogin-noaccount' => 'Nemate korisničko ime?',
+'userlogin-joinproject' => 'Pridružite se {{SITENAME}}',
 'nologin' => "Nemate korisničko ime? '''$1'''.",
 'nologinlink' => 'Napravite nalog',
 'createaccount' => 'Napravi nalog',
 'gotaccount' => "Imate nalog? '''$1'''.",
 'gotaccountlink' => 'Prijavi se',
 'userlogin-resetlink' => 'Zaboravili ste detalje vaše prijave?',
-'createaccountmail' => 'e-poštom',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pomoć pri prijavljivanju]]',
+'createacct-join' => 'Unesite svoje podatke ispod.',
+'createacct-emailrequired' => 'Adresa e-pošte',
+'createacct-emailoptional' => 'Adresa e-pošte (opcionalno)',
+'createaccountmail' => 'Koristite privremenu, slučajno stvorenu šifru/lozinku i pošaljite na dole navedenu adrеsu e-pošte',
+'createacct-realname' => 'Pravo ime (opcionalno)',
 'createaccountreason' => 'Razlog:',
+'createacct-reason' => 'Razlog',
+'createacct-captcha' => 'Sigurnosna provjera',
+'createacct-imgcaptcha-ph' => 'Unesite tekst koji vidite iznad',
+'createacct-submit' => 'Napravite svoj korisnički račun',
 'badretype' => 'Šifre koje ste unijeli se ne poklapaju.',
 'userexists' => 'Korisničko ime koje ste unijeli je već u upotrebi.
 Molimo Vas da izaberete drugo ime.',
@@ -804,26 +823,20 @@ Možda ste već uspješno promijenili Vašu šifru ili ste tražili novu privrem
 
 # Special:PasswordReset
 'passwordreset' => 'Poništavanje šifre',
-'passwordreset-text' => 'Ispunite ovaj obrazac da biste dobili e-mail podsjetnik o vašim detaljima računa.',
 'passwordreset-legend' => 'Poništi šifru',
 'passwordreset-disabled' => 'Poništavanje šifre  je onemogućeno na ovoj wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Unesite jedan dio podataka ispod}}',
 'passwordreset-username' => 'Korisničko ime:',
 'passwordreset-domain' => 'Domen:',
 'passwordreset-capture' => 'Pogledati krajnji e-mail?',
 'passwordreset-capture-help' => 'Ako označite ovu kućicu, e-poruka (s privremenom lozinkom) će biti prikazana i poslata korisniku.',
 'passwordreset-email' => 'E-mail adresa:',
 'passwordreset-emailtitle' => 'Detalji računa na {{SITENAME}}',
-'passwordreset-emailtext-ip' => 'Neto (vjerovatno Vi, s IP adrese $1) je zatražio podsjetnik Vaših detalja računa
-za {{SITENAME}} ($4). Sljedeći {{PLURAL:$3|račun korisnika je|računi korisnika su}}
-povezani s ovom e-mail adresom:
+'passwordreset-emailtext-ip' => 'Neko (vjerovatno Vi, s IP adrese $1) je zatražio podsjetnik Vaših detalja računa za {{SITENAME}} ($4). Sljedeći {{PLURAL:$3|račun korisnika je|računi korisnika su}} povezani s ovom e-mail adresom:
 
 $2
 
 {{PLURAL:$3|Ova privremena šifra|Ove privremene šifre}} će isteći za {{PLURAL:$5|jedan dan|$5 dana}}.
-Trebate se prijaviti i odabrati novu šifru. Ako je neko drugi napravio ovaj
-zahtjev, ili ako ste se sjetili Vaše početne šifre, a ne želite je promijeniti, 
-možete zanemariti ovu poruku i nastaviti koristiti staru šifru.',
+Trebate se prijaviti i odabrati novu šifru. Ako je neko drugi napravio ovaj zahtjev, ili ako ste se sjetili Vaše početne šifre, a ne želite je promijeniti, možete zanemariti ovu poruku i nastaviti koristiti staru šifru.',
 'passwordreset-emailtext-user' => 'Korisnik $1 na {{SITENAME}} je zatražio podsjetnik o detaljima Vašeg računa za {{SITENAME}}
 ($4). Sljedeći {{PLURAL:$3|korisnički račun je|korisnički računi su}} povezani s ovom e-mail adresom:
 
@@ -2297,8 +2310,8 @@ Buduće promjene ove stranice i njoj pridružene stranice za razgovor će biti n
 'notvisiblerev' => 'Revizija je obrisana',
 'watchnochange' => 'Ništa što pratite nije promjenjeno u prikazanom vremenu.',
 'watchlist-details' => '{{PLURAL:$1|$1 stranica praćena|$1 stranice praćene|$1 stranica praćeno}} ne računajući stranice za razgovor.',
-'wlheader-enotif' => 'Obavještavanje e-poštom je omogućeno.',
-'wlheader-showupdated' => "Stranice koje su izmijenjene od kad ste ih posljednji put posjetili su prikazane '''podebljanim slovima'''",
+'wlheader-enotif' => 'Obavještavanje e-poštom je omogućeno.',
+'wlheader-showupdated' => "Stranice koje su izmijenjene od kad ste ih posljednji put posjetili su prikazane '''podebljanim slovima'''",
 'watchmethod-recent' => 'provjerava se da li ima praćenih stranica u nedavnim izmjenama',
 'watchmethod-list' => 'provjerava se da li ima nedavnih izmjena u praćenim stranicama',
 'watchlistcontains' => 'Vaš spisak praćenih članaka sadrži $1 {{PLURAL:$1|stranicu|stranica}}.',
@@ -3030,7 +3043,6 @@ Dopušta unos razloga u sažetak.',
 'monobook.css' => '/* CSS umetnut ovdje uticat će na korisnike koji koriste Monobook skin */',
 'modern.css' => '/* CSS umetnut ovdje uticat će na korisnike koji koriste Modern skin */',
 'print.css' => '/* CSS umetnut ovdje uticat će na izgled isprintane stranice */',
-'handheld.css' => '/* CSS umetnut ovdje uticat će na ručne sprave koji rade na skinu konfigurisanom u $wgHandheldStyle */',
 
 # Scripts
 'common.js' => '/* Bilo koja JavaScript će biti učitana za sve korisnike pri svakom učitavanju stranice. */',
index 8a797d3..a8d0f1d 100644 (file)
@@ -73,7 +73,6 @@ $messages = array(
 'qbbrowse' => 'Berowoso',
 'qbedit' => 'Padécéŋ',
 'qbpageoptions' => 'Édé leppa',
-'qbpageinfo' => 'Konteks',
 'qbmyoptions' => "Leppana iya'",
 'qbspecialpages' => 'Leppa spésiala',
 'faq' => 'FAQ',
@@ -249,9 +248,6 @@ $messages = array(
 'search-result-size' => '$1 ({{PLURAL:$2|1 ada|$2 ada}})',
 'search-redirect' => '(redirect $1)',
 
-# Quickbar
-'qbsettings-none' => 'Dégaga',
-
 # Preferences page
 'mypreferences' => 'Bérékkeŋeŋna iyya',
 'prefsnologin' => "Déppa ma'log attama'",
index bb35d9b..d6431ac 100644 (file)
@@ -24,6 +24,7 @@
  * @author Marcmpujol
  * @author Martorell
  * @author McDutchie
+ * @author Nemo bis
  * @author Pasqual (ca)
  * @author Paucabot
  * @author PerroVerd
@@ -31,6 +32,7 @@
  * @author Pitort
  * @author Pérez
  * @author Qllach
+ * @author QuimGil
  * @author SMP
  * @author Smeira
  * @author Solde
@@ -442,7 +444,7 @@ $1",
 'disclaimerpage' => 'Project:Avís general',
 'edithelp' => 'Ajuda',
 'edithelppage' => "Help:Com s'edita una pàgina",
-'helppage' => 'Help:Ajuda',
+'helppage' => 'Help:Índex',
 'mainpage' => 'Pàgina principal',
 'mainpage-description' => 'Pàgina principal',
 'policy-url' => 'Project:Polítiques',
@@ -610,7 +612,7 @@ Tingueu en compte que algunes pàgines poden continuar mostrant-se com si encara
 'welcomecreation-msg' => 'El vostre compte ha estat creat.
 No oblideu de canviar les vostres [[Special:Preferences|preferències de {{SITENAME}}]].',
 'yourname' => "Nom d'usuari",
-'userlogin-yourname' => "Nom d'usuari",
+'userlogin-yourname' => 'Usuari',
 'userlogin-yourname-ph' => "Introduïu el vostre nom d'usuari",
 'yourpassword' => 'Contrasenya',
 'userlogin-yourpassword' => 'Contrasenya',
@@ -620,8 +622,8 @@ No oblideu de canviar les vostres [[Special:Preferences|preferències de {{SITEN
 'createacct-yourpasswordagain' => 'Confirmeu la contrasenya',
 'createacct-yourpasswordagain-ph' => 'Introduïu de nou la contrasenya',
 'remembermypassword' => 'Recorda la contrasenya entre sessions (per un màxim de $1 {{PLURAL:$1|dia|dies}})',
-'userlogin-remembermypassword' => "Recorda'm",
-'userlogin-signwithsecure' => 'Inicia la sessió amb un servidor segur',
+'userlogin-remembermypassword' => 'Mantén-me connectat',
+'userlogin-signwithsecure' => 'Connexió segura',
 'securelogin-stick-https' => "Roman connectat via HTTPS desprès d'autenticar-se",
 'yourdomainname' => 'El vostre domini',
 'password-change-forbidden' => 'No podeu canviar les contrasenyes en aquest wiki.',
@@ -642,22 +644,25 @@ No oblideu de canviar les vostres [[Special:Preferences|preferències de {{SITEN
 'gotaccount' => 'Ja teniu un compte? $1.',
 'gotaccountlink' => 'Inicia una sessió',
 'userlogin-resetlink' => "Heu oblidat les vostres dades d'accés?",
+'userlogin-resetpassword-link' => 'Reinicia la contrasenya',
 'helplogin-url' => 'Help:Registrar-se',
-'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Ajuda per registrar-se]]',
-'createacct-join' => 'Introduïu les dades a continuació.',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Ajuda]]',
+'createacct-join' => 'Introduïu les vostres dades.',
 'createacct-emailrequired' => 'Adreça de correu electrònic',
 'createacct-emailoptional' => 'Adreça de correu electrònic (opcional)',
 'createacct-email-ph' => 'Introduïu la vostra adreça de correu electrònic',
-'createaccountmail' => "Utilitza una contrasenya aleatòria temporal i envia-la a l'adreça de correu electrònic especificat a continuació",
+'createaccountmail' => "Utilitza una contrasenya aleatòria temporal i envia-la a l'adreça de correu  especificada a continuació.",
 'createacct-realname' => 'Nom real (opcional)',
 'createaccountreason' => 'Motiu:',
 'createacct-reason' => 'Motiu',
+'createacct-reason-ph' => 'Per què creeu un altre compte',
 'createacct-captcha' => 'Control de seguretat',
 'createacct-imgcaptcha-ph' => 'Introduïu el text que apareix a dalt',
+'createacct-submit' => 'Crea el meu compte',
 'createacct-benefit-heading' => '{{SITENAME}} és feta per gent com tu.',
-'createacct-benefit-body1' => 'edicions',
-'createacct-benefit-body2' => 'pàgines',
-'createacct-benefit-body3' => 'col·laboradors aquest mes',
+'createacct-benefit-body1' => '{{PLURAL:$1|edició|edicions}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pàgina|pàgines}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|col·laborador recent|col·laboradors recents}}',
 'badretype' => 'Les contrasenyes que heu introduït no coincideixen.',
 'userexists' => 'El nom que heu entrat ja és en ús.
 Escolliu-ne un de diferent.',
@@ -744,14 +749,13 @@ Si us plau, esperi abans de tornar-ho a intentar.",
 'resetpass-wrong-oldpass' => 'Contrasenya actual o temporal no vàlida.
 Deveu haver canviat la vostra contrasenya o demanat una nova contrasenya temporal.',
 'resetpass-temp-password' => 'Contrasenya temporal:',
+'resetpass-abort-generic' => 'Una extensió ha interromput el canvi de contrasenya.',
 
 # Special:PasswordReset
 'passwordreset' => 'Restablir contrasenya',
-'passwordreset-text' => 'Completeu el següent formulari per reinicialitzar la vostra contrasenya',
 'passwordreset-legend' => 'Restablir contrasenya',
 'passwordreset-disabled' => "S'ha desactivat el restabliment de contranyes en aquest wiki.",
 'passwordreset-emaildisabled' => 'Les opcions de correu electrònic no estan habilitades en aquest wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Introduïu un dels elements de dades següents}}',
 'passwordreset-username' => "Nom d'usuari:",
 'passwordreset-domain' => 'Domini',
 'passwordreset-capture' => 'Veure el missatge de correu electrònic?',
@@ -982,6 +986,7 @@ No s'ha donat cap explicació.",
 Sembla haver estat esborrada.",
 'edit-conflict' => "Conflicte d'edició.",
 'edit-no-change' => 'La vostra modificació ha estat ignorada perquè no feia cap canvi al text.',
+'postedit-confirmation' => 'La modificació ha estat desada.',
 'edit-already-exists' => "No s'ha pogut crear una pàgina.
 Ja existeix.",
 'defaultmessagetext' => 'Missatge per defecte',
@@ -989,7 +994,7 @@ Ja existeix.",
 'invalid-content-data' => 'Dades de contingut no vàlides',
 'content-not-allowed-here' => 'No és permés el contingut "$1" a la pàgina [[$2]]',
 'editwarning-warning' => "Si sortiu d'aquesta pàgina perdreu tots els canvis que hàgiu fet.
-Si teniu un compte d'usuari, podeu eliminar aquest avís a la secció «{{int:prefs-editing}}» de les vostres preferències.",
+Si teniu un compte d'usuari, podeu eliminar aquest avís a la secció «Caixa d'edició» de les vostres preferències.",
 
 # Content models
 'content-model-wikitext' => 'wikitext',
@@ -2130,7 +2135,7 @@ Es necessita com a mínim un domini de primer nivell, per exemple "*.org".<br />
 # Special:ActiveUsers
 'activeusers' => "Llista d'usuaris actius",
 'activeusers-intro' => "Aquí hi ha una llista d'usuaris que han tingut algun tipus d'activitat en {{PLURAL:$1|el darrer dia|els darrers $1 dies}}.",
-'activeusers-count' => '$1 {{PLURAL:$1|modificació|modificacions}} en {{PLURAL:$3|el darrer dia|els $3 darrers dies}}',
+'activeusers-count' => '$1 {{PLURAL:$1|acció|accions}} en {{PLURAL:$3|el darrer dia|els $3 darrers dies}}',
 'activeusers-from' => 'Mostra els usuaris començant per:',
 'activeusers-hidebots' => 'Amaga bots',
 'activeusers-hidesysops' => 'Amaga administradors',
@@ -2214,8 +2219,8 @@ S\'hi mostraran els canvis futurs que tinguin lloc en aquesta pàgina i la corre
 'notvisiblerev' => 'La versió ha estat esborrada',
 'watchnochange' => "No s'ha editat cap dels elements que vigileu en el període de temps que es mostra.",
 'watchlist-details' => 'Teniu $1 {{PLURAL:$1|pàgina vigilada|pàgines vigilades}}, sense comptar les pàgines de discussió.',
-'wlheader-enotif' => "* S'ha habilitat la notificació per correu electrònic.",
-'wlheader-showupdated' => "* Les pàgines que s'han canviat des de la vostra darrera visita es mostren '''en negreta'''",
+'wlheader-enotif' => 'La notificació per correu electrònic està habilitada.',
+'wlheader-showupdated' => "Les pàgines que s'han canviat des de la vostra darrera visita es mostren en '''negreta'''.",
 'watchmethod-recent' => "s'està comprovant si hi ha pàgines vigilades en les edicions recents",
 'watchmethod-list' => "s'està comprovant si hi ha edicions recents en les pàgines vigilades",
 'watchlistcontains' => 'La vostra llista de seguiment conté {{PLURAL:$1|una única pàgina|$1 pàgines}}.',
@@ -2320,7 +2325,7 @@ de l'usuari [[User:$2|$2]] ([[User talk:$2|Discussió]]{{int:pipe-separator}}[[S
 
 La darrera modificació ha estat feta per l'usuari [[User:$3|$3]] ([[User talk:$3|Discussió]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
 'editcomment' => "El resum d'edició ha estat: «$1».",
-'revertpage' => "Revertides les edicions de [[Special:Contributions/$2|$2]] ([[User talk:$2|discussió]]). S'ha recuperat la darrera versió de l'usuari [[User:$1|$1]]",
+'revertpage' => "Revertides les edicions de [[Special:Contributions/$2|$2]] ([[User talk:$2|discussió]]) a l'última versió de [[User:$1|$1]]",
 'revertpage-nouser' => "Desfetes les edicions de (nom d'usuari eliminat) a l'última revisió feta per [[User:$1|$1]]",
 'rollback-success' => "Edicions revertides de $1; s'ha canviat a la darrera versió de $2.",
 
@@ -3832,15 +3837,15 @@ Amb aquest programa heu d'haver rebut [{{SERVER}}{{SCRIPTPATH}}/COPYING una còp
 # New logging system
 'logentry-delete-delete' => '$1 ha esborrat $3',
 'logentry-delete-restore' => '$1 ha restaurat $3',
-'logentry-delete-event' => "$1 ha canviat la visibilitat {{PLURAL:$5|d'un esdeveniment al registre|de $5 esdeveniments al registre}} de $3: $4",
-'logentry-delete-revision' => "$1 ha canviat la visibilitat {{PLURAL:$5|d'una revisió|de $5 revisions}} a la pàgina $3: $4",
-'logentry-delete-event-legacy' => "$1 ha canviat la visibilitat d'esdeveniments al registre de $3",
-'logentry-delete-revision-legacy' => '$1 ha canviat la visibilitat de revisions a la pàgina $3',
+'logentry-delete-event' => "$1 {{GENDER:$2|ha canviat}} la visibilitat {{PLURAL:$5|d'un esdeveniment al registre|de $5 esdeveniments al registre}} de $3: $4",
+'logentry-delete-revision' => "$1 {{GENDER:$2|ha canviat}} la visibilitat {{PLURAL:$5|d'una revisió|de $5 revisions}} a la pàgina $3: $4",
+'logentry-delete-event-legacy' => "$1 {{GENDER:$2|ha canviat}} la visibilitat d'esdeveniments al registre de $3",
+'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|ha canviat}} la visibilitat de revisions a la pàgina $3',
 'logentry-suppress-delete' => '$1 {{GENDER:$2|ha suprimit}} la pàgina $3',
-'logentry-suppress-event' => "$1 secretament ha canviat la visibilitat {{PLURAL:$5|d'un esdeveniment al registre|de $5 esdeveniments al registre}} de $3: $4",
-'logentry-suppress-revision' => "$1 secretament ha canviat la visibilitat {{PLURAL:$5|d'una revisió|de $5 revisions}} a la pàgina $3: $4",
-'logentry-suppress-event-legacy' => "$1 secretament ha canviat la visibilitat d'esdeveniments al registre de $3",
-'logentry-suppress-revision-legacy' => '$1 secretament ha canviat la visibilitat de revisions a la pàgina $3',
+'logentry-suppress-event' => "$1 secretament {{GENDER:$2|ha canviat}} la visibilitat {{PLURAL:$5|d'un esdeveniment al registre|de $5 esdeveniments al registre}} de $3: $4",
+'logentry-suppress-revision' => "$1 secretament {{GENDER:$2|ha canviat}} la visibilitat {{PLURAL:$5|d'una revisió|de $5 revisions}} a la pàgina $3: $4",
+'logentry-suppress-event-legacy' => "$1 secretament {{GENDER:$2|ha canviat}} la visibilitat d'esdeveniments al registre de $3",
+'logentry-suppress-revision-legacy' => '$1 secretament {{GENDER:$2|ha canviat}} la visibilitat de revisions a la pàgina $3',
 'revdelete-content-hid' => 'ha ocultat contingut',
 'revdelete-summary-hid' => "ha ocultat el resum d'edició",
 'revdelete-uname-hid' => "ha ocultat el nom d'usuari",
@@ -3852,9 +3857,9 @@ Amb aquest programa heu d'haver rebut [{{SERVER}}{{SCRIPTPATH}}/COPYING una còp
 'logentry-move-move' => '$1 ha mogut $3 a $4',
 'logentry-move-move-noredirect' => '$1 ha mogut $3 a $4 sense deixar una redirecció',
 'logentry-move-move_redir' => '$1 ha mogut $3 a $4 sobre una redirecció',
-'logentry-move-move_redir-noredirect' => '$1 ha desplaçat la pàgina $3 a $4 on hi havia una redirecció i sense crear una nova redirecció',
-'logentry-patrol-patrol' => '1 $ va marcar la revisió $ 4 de "$ 3" com a supervisada',
-'logentry-patrol-patrol-auto' => '$1 ha marcat automàticament la versió $4 de la pàgina $3 com a patrullada',
+'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|ha desplaçat}} la pàgina $3 a $4 on hi havia una redirecció i sense crear una nova redirecció',
+'logentry-patrol-patrol' => '$1 {{GENDER:$2|ha marcat}} la revisió $4 de la pàgina «$3» com a patrullada',
+'logentry-patrol-patrol-auto' => '$1 {{GENDER:$2|ha marcat}} automàticament la versió $4 de la pàgina $3 com a patrullada',
 'logentry-newusers-newusers' => "El compte d'usuari $1 {{GENDER:$2|ha estat creat}}",
 'logentry-newusers-create' => "El compte d'usuari $1 {{GENDER:$2|ha estat creat}}",
 'logentry-newusers-create2' => "El compte d'usuari $3 {{GENDER:$2|ha estat creat}} per $1",
@@ -3938,4 +3943,7 @@ Altrament, podeu fer servir un senzill formulari a continuació. El vostre comen
 'duration-centuries' => '$1 {{PLURAL:$1|segle|segles}}',
 'duration-millennia' => '$1 {{PLURAL:$1|mil·leni|mil·lenis}}',
 
+# Image rotation
+'rotate-comment' => 'Imatge girada $1 {{PLURAL:$1|grau|graus}} en el sentit de les agulles del rellotge',
+
 );
index 4f0a236..f3dc6a5 100644 (file)
@@ -570,7 +570,7 @@ Siók-mìng: (dāng) = gâe̤ng dék sĭng bēng-buōng bī-piâng, (sèng) = g
 # Special:LinkSearch
 'linksearch-ok' => 'Sìng-tō̤',
 
-# E-mail user
+# Email user
 'emailuser' => 'Gié diêng-piĕ ké̤ṳk ĭ',
 'emailpage' => 'Gié diêng-piĕ ké̤ṳk ĭ',
 'defemailsubject' => '{{SITENAME}} diêng-piĕ',
@@ -830,7 +830,7 @@ Nâ cūng-kuāng, nṳ̄ â̤-sāi cê-gă iè-dông hĕ̤k-ciā sê hăk-biáng
 'namespacesall' => 'sū-iū',
 'monthsall' => 'gó̤-lòng nièng',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail' => 'Káuk-nêng diêng-piĕ dê-cī',
 'confirmemail_invalid' => 'Káuk-nêng mā mò̤-hâu, kō̤-nèng ī-gĭng guó-gĭ lāu.',
 'confirmemail_needlogin' => 'Chiāng nṳ̄ sĕng $1 nṳ̄ gì diêng-piĕ dê-cī.',
@@ -888,9 +888,6 @@ Nâ-sāi ĭ *ng-sê* nṳ̄, chiāng mŏ̤h chák ĭ. Gáu $4, káuk-nêng-mā 
 'watchlisttools-edit' => 'Káng gâe̤ng siŭ-gāi gáng-sê-dăng',
 'watchlisttools-raw' => 'Siŭ-gāi nguòng-sṳ̄ gáng-sê-dăng',
 
-# Special:FilePath
-'filepath-page' => 'Ùng-giông:',
-
 # Special:SpecialPages
 'specialpages' => 'Dĕk-sṳ̀ hiĕk',
 
index 5af758d..4fc6e46 100644 (file)
@@ -223,7 +223,7 @@ $messages = array(
 'tog-editsection' => 'Гайта хьажориг «нисйе» аьлла хlора агlона',
 'tog-editsectiononrightclick' => 'Нисде дакъа шозза бакъехьар дахка тlетаlийча оцу кортан (JavaScript)',
 'tog-showtoc' => 'Гойти коьртнаш (оцу агlонашна лаххара 3 коьртнашца)',
-'tog-rememberpassword' => 'Даглаца сан дlавазвалар хlокху гlулкхдечу гlирса тlяхь (цхьан $1 {{PLURAL:$1|де|ден|динахь}})',
+'tog-rememberpassword' => 'Даглаца сан дlавазвалар/ялар хlокху гlулкхдечу гlирса тlяхь (цхьан $1 {{PLURAL:$1|де|ден|динахь}})',
 'tog-watchcreations' => 'Тlетоха ас кхоллина агlонаш тергаме могlам чу',
 'tog-watchdefault' => 'Тlетоха ас нисйина агlонаш тергаме могlам чу',
 'tog-watchmoves' => 'Тlетоха ас цlераш хийцина агlонаш тергаме могlам чу',
@@ -250,7 +250,7 @@ $messages = array(
 'tog-watchlisthidepatrolled' => 'Къайладаха хьаьжина волу нисдарш оцу тергаме могlам чура',
 'tog-ccmeonemails' => 'Дlадахьийта суна исанна кехат, аса дохьуьйтуш долу кхечу декъашхошна.',
 'tog-diffonly' => 'Ма гайта агlон чулацам шина башхонца цхьатерра йолуш',
-'tog-showhiddencats' => 'Гайта къайлаха йолу кадегарш',
+'tog-showhiddencats' => 'Гайта къайлаха йолу категореш',
 'tog-noconvertlink' => 'Хааман хьажориг кхуллу гlирс дlабайа',
 'tog-norollbackdiff' => 'Йух яккхиначул тlаьхьа ма гайта къастаман башхо',
 'tog-useeditwarning' => 'Хаамбе бина хийцамаш дӀаязцабеш ара волучу хенахь',
@@ -317,6 +317,18 @@ $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' => 'Сентябрь $1',
+'october-date' => 'Октябрь $1',
+'november-date' => 'Ноябрь $1',
+'december-date' => 'Декабрь $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Категори|Категореш}}',
@@ -331,10 +343,12 @@ $messages = array(
 'category-article-count' => '{{PLURAL:$2|ХӀокх категори чохь яц цхьа агӀо бе.|{{PLURAL:$1|Гойташ $1 агӀо|Гойту $1 агӀонаш|Гойту $1 агӀонаш}} хӀокх категорешца кху $2.}}',
 'category-article-count-limited' => 'Хlокх категори чохь {{PLURAL:$1|$1 агlо|$1 агlонаш|$1 агlонаш}}.',
 'category-file-count' => '{{PLURAL:$2|ХӀокх категори чохь цхьа файл бе яц.|{{PLURAL:$1|Гойта $1 файл|Гойту $1 файл|Гойту $1 файлаш}} хӀокх категорешца кху $2.}}',
-'category-file-count-limited' => 'Ð¥Ó\80окÑ\85 ÐºÐ°Ñ\82егоÑ\80и Ñ\87оÑ\85Ñ\8c {{PLURAL:$1|$1 Ñ\84айл|$1 Ñ\85Ó\80Ñ\83ма|$1 файлаш}}.',
+'category-file-count-limited' => 'Ð¥Ó\80окÑ\85 ÐºÐ°Ñ\82егоÑ\80и Ñ\87оÑ\85Ñ\8c {{PLURAL:$1|$1 Ñ\84айл|$1 Ñ\84айл|$1 файлаш}}.',
 'listingcontinuesabbrev' => '(кхин дlа)',
 'index-category' => 'Меттигтерахьйо агlонаш',
 'noindex-category' => 'ДӀахьушйоцу агӀонаш',
+'broken-file-category' => '{{#switch:{{NAMESPACE}}
+ |{{ns:0}}=Болх цабеш файланши хьажоригаш йолу агӀонаш}}',
 
 'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
 
@@ -380,7 +394,7 @@ $messages = array(
 'errorpagetitle' => 'Гlалат',
 'returnto' => 'Юхагlо оцу агlоне $1.',
 'tagline' => 'Гlирс хlокхуьна бу {{grammar:genitive|{{SITENAME}}}}',
-'help' => 'Нисвохаам',
+'help' => 'Нийсвохаам',
 'search' => 'Лаха',
 'searchbutton' => 'Лаха',
 'go' => 'Дехьа вала',
@@ -420,8 +434,8 @@ $messages = array(
 'imagepage' => 'Хьажа хlуман агlоне',
 'mediawikipage' => 'Хьагайта хааман агlо',
 'templatepage' => 'Хьажа куцкепа агlоне',
-'viewhelppage' => 'Схьаэца нисвохаам',
-'categorypage' => 'Хьажа кадегарши агlоне',
+'viewhelppage' => 'Схьаэца нийсвохаам',
+'categorypage' => 'Хьажа категореши агӀоне',
 'viewtalkpage' => 'Хьажа дийцаре',
 'otherlanguages' => 'Кхечу маттахь дерш',
 'redirectedfrom' => '(Дlасахьажийна кху $1)',
@@ -491,7 +505,7 @@ $1',
 'collapsible-expand' => 'хьайаста',
 'thisisdeleted' => 'Хьажа йа меттахlоттайé $1?',
 'viewdeleted' => 'Хьалххьожи $1?',
-'restorelink' => '{{PLURAL:$1|$1 дӀадаьккхина нийсдар|$1 дӀадаьхна нийсдарш|$1 дӀадаьхна нийсдарш}}',
+'restorelink' => '{{PLURAL:$1|$1 дӀадяккхина нийсдар|$1 дӀадяхна нийсдарш|$1 дӀадяхна нийсдарш}}',
 'feedlinks' => 'Оцу хатlаьхь:',
 'feed-invalid' => 'Тайпан нийсадоцу талол оцу куьгтаlорна.',
 'feed-unavailable' => 'Хаитарца йолу асанаш тlекхочучехь яц',
@@ -512,7 +526,7 @@ $1',
 'nstab-image' => 'Файл',
 'nstab-mediawiki' => 'Хаам',
 'nstab-template' => 'Кеп',
-'nstab-help' => 'Нисвохаам',
+'nstab-help' => 'Нийсвохаам',
 'nstab-category' => 'Категори',
 
 # Main script and global functions
@@ -522,7 +536,7 @@ $1',
 # General errors
 'error' => 'Гlалат',
 'databaseerror' => 'Гlалат хаамийн бухера',
-'readonly' => 'СаÑ\86ийна Ð´lайаздар хаамийн бухе',
+'readonly' => 'Ð\91локÑ\82оÑ\8cÑ\85на Ð´Ó\80айаздар хаамийн бухе',
 'missing-article' => 'Хlокху чохь кароезаш йолу хьан дехарца йозан агlонаш цакарийна «$1» $2.
 
 Иштнарг наггахь хуьлу хьажориг дlайаьккхина йалхь йа хийцам бина тиша хьажоригца дехьа вала гlоьртича.
@@ -534,6 +548,9 @@ $1',
 'internalerror' => 'Чоьхьара гlалат',
 'internalerror_info' => 'Чоьхьара гlалат: $1',
 'filedeleteerror' => 'ДӀаяккха цатарло файл «$1».',
+'cannotdelete' => 'Цатарло дӀаяккха я цӀе хийца «$1».
+АгӀо хьалхо дӀаяккхина хила тарло',
+'cannotdelete-title' => 'Цатарло агӀо дӀаяккха «$1»',
 'badtitle' => 'Цамегаш йолу цlе',
 'badtitletext' => 'Дехарца йолу агlонан цlе нийса яц, йаьсса ю, хила мега нийса ца хlоттийна меттаюкъар йа юкъарвики цlе. Хила мега, цlарца цамагош йолу саберг.',
 'perfcachedts' => 'Лахара хаам схьаэца кэша чура иза тӀаьхьара цӀинялла $1. Кэша чохь латтаё оцул $4 кӀезиг {{PLURAL:$4|дӀаяздарш|дӀаяздарш|дӀаяздарш}}.',
@@ -541,7 +558,7 @@ $1',
 'protectedpagetext' => 'ХӀара агӀо дӀакъойлина йу рé цадаккхийта.',
 'viewsourcetext' => 'Хьоьга далундерг хьажар а дезахь хlокху агlон чура йоза хьаэцар:',
 'protectedinterface' => 'ХӀара схьгайтарна гӀирса хаамаш латтош йолу агӀо йу. Адаманкуьйгалхошна бен иза хийца цало.',
-'exception-nologin' => 'Ахьа хӀой вовзийтина вац',
+'exception-nologin' => 'Ахьа хӀой вовзийтина/йовзийтина вац/яц',
 
 # Login and logout pages
 'welcomeuser' => 'Марша ДогӀийла, $1!',
@@ -555,33 +572,33 @@ $1',
 'yourpasswordagain' => 'Юха язъйе ишар:',
 'createacct-yourpasswordagain' => 'Бакъе ишар',
 'createacct-yourpasswordagain-ph' => 'Кхин цкъа язъе ишар',
-'remembermypassword' => 'Даглаца сан дlавазвалар хlокху гlулкхдечу гlирса тlяхь (цхьан $1 {{PLURAL:$1|ден|динахь|динахь}})',
+'remembermypassword' => 'Даглаца сан дlавазвалар/ялар хlокху гlулкхдечу гlирса тlяхь (цхьан $1 {{PLURAL:$1|ден|динахь|динахь}})',
 'userlogin-remembermypassword' => 'Дагахь латт ве со',
 'yourdomainname' => 'Хьан машан меттиг:',
-'login' => 'Ð\92овзийÑ\82а Ñ\85Ñ\8cой Ð³lиÑ\80Ñ\81ан',
-'nav-login-createaccount' => 'Вовзийта хьой / дlавазло',
+'login' => 'ЧÑ\83 Ð²Ð°Ð»Ð°Ñ\80\8fлаÑ\80',
+'nav-login-createaccount' => 'Вовзийта/Йовзийта хьой / дӀавазло/дӀаязло',
 'loginprompt' => 'Ахьа бакъо йала йеза оцу «cookies» хьайна вовзийта лаахь гlирсан.',
-'userlogin' => 'Чу вала йа дlавазло',
-'userloginnocreate' => 'Ð\92овзийÑ\82а Ñ\85Ñ\8cой',
-'logout' => 'Ара валар',
-'userlogout' => 'Ара валар',
-'notloggedin' => 'Хьо вовзита веза гlирсан',
-'nologin' => "Хlинца дlа вазвин вац? '''$1'''.",
-'nologinlink' => 'Ð\9aÑ\85олла ÐºÐµÑ\80ла Ð´lавазвалар',
-'createaccount' => 'Ð\94lавазве ÐºÐµÑ\80ла Ð´ÐµÐºÑ\8aаÑ\88Ñ\85о',
+'userlogin' => 'Чу валар/ялар я декъашхон дӀаяздар кхоллар',
+'userloginnocreate' => 'ЧÑ\83валаÑ\80\8fлаÑ\80',
+'logout' => 'Аравалар/ялар',
+'userlogout' => 'Аравалар/ялар',
+'notloggedin' => 'Хьо вовзийта/йовзийта гlирсан',
+'nologin' => "Хlинца дlа вазвина/язйина вац/яц? '''$1'''.",
+'nologinlink' => 'Ð\9aÑ\85олла Ð´ÐµÐºÑ\8aаÑ\88Ñ\85он Ð´Ó\80аÑ\8fздар',
+'createaccount' => 'Ð\9aÑ\85олла Ð´ÐµÐºÑ\8aаÑ\88Ñ\85он Ð´Ó\80аÑ\8fздаÑ\80',
 'gotaccount' => "Дlавазвелла вуй хьо? '''$1'''.",
-'gotaccountlink' => 'Ð\92овзийÑ\82а Ñ\85Ñ\8cой',
+'gotaccountlink' => 'ЧÑ\83валаÑ\80\8fлаÑ\80',
 'createaccountmail' => 'хааман зlене хула',
 'createaccountreason' => 'Бахьан:',
 'createacct-reason' => 'Бахьна',
 'createacct-reason-ph' => '{{PLURAL:$1|агӀо|агӀонаш}}‎',
-'loginerror' => 'Гlалат ду декъашхо вовзарехь',
+'loginerror' => 'Гlалат ду декъашхо вовзарехь/йовзарехь',
 'nocookiesforlogin' => '{{int:nocookieslogin}}',
 'loginsuccesstitle' => 'Хьо вовзар хаз чакхдели',
 'loginsuccess' => 'Хlинца ахьа болх бó оцу цlарца $1.',
-'nosuchuser' => 'Ð\94екÑ\8aаÑ\88Ñ\85о Ñ\86lаÑ\80Ñ\86а $1 Ð²Ð¾Ñ\86аÑ\88 Ð²Ñ\83.
-Декъашхой цlераш хаалуш йу дlайазвалрца элраш.
-Нийса юьй хьажа цlе йа [[Special:UserLogin/signup|дlайазвалар кхолла керла]].',
+'nosuchuser' => 'ЦlаÑ\80Ñ\86а $1 Ð´ÐµÐºÑ\8aаÑ\88Ñ\85о Ð²Ð°Ñ\86\8fÑ\86.
+Декъашхой цlераш хаалуш йу дlайазвалрца/яларца элраш.
+Нийса юьй хьажа цlе йа [[Special:UserLogin/signup|дlаяздар кхолла керла]].',
 'wrongpassword' => 'Ахьа язъйина йолу ишар нийса яц. Хьажа йуху цхьаъз.',
 'mailmypassword' => 'Схьаэца керла ишар',
 'emailauthenticated' => 'Хьан почтан адрес бакъдина $2 $3.',
@@ -638,7 +655,7 @@ $1',
 'showdiff' => 'Хlоттина болу хийцам',
 'anoneditwarning' => "'''Тергам бе''': Ахьа хьо вовзитина вац гlирсан. Хьан IP-долу меттиг дlаязйина хира ю хlокху агlон истори чу.",
 'summary-preview' => 'Цуьнах лаьцна хирду:',
-'blockedtitle' => 'Декъашхо сацийна',
+'blockedtitle' => 'Декъашхон блоктоьхана',
 'loginreqlink' => 'Логин',
 'accmailtitle' => 'Ишар дlаяхьийтина.',
 'accmailtext' => "Ишар декъашхочуьна [[User talk:$1|$1]], йина ша шех хитта делла чу элпашах, дlаяхийтина хьокху хааман зlен чу $2.
@@ -648,10 +665,10 @@ $1',
 'newarticletext' => "Хьо веана хьажоригци хlокху агlон тlе, хlара агlо хlинца йоцаш ю.
 Нагахь иза кхолла лаахь, хlотта де лахо гуш долу корехь йоза (мадарра хьажа. [[{{MediaWiki:Helppage}}|гlон агlон чу]]).
 Нагахь гlалат даьлла нисвелляхь кхузе, атта тlе тlаlа йе '''юха йоккхуриг''' хьай гlирса тlяхь.",
-'anontalkpagetext' => "----''Хlара дийцаре агIо къайлаха волу декъашхочуьна  ю, хlинца дlавазвина воцуш, йа лелош воцуш.
-Цундела иза вовзийта лелош ду терахьца IP-долу метаг.
+'anontalkpagetext' => "----''Хlара дийцаре агIо къайлаха волу декъашхочуьна  ю, хlинца дӀавазвина/дӀаязйина воцуш/йоцуш, я лелош воцуш/йоцуш.
+Цундела иза вовзийта/йовзийта лелош ду терахьца IP-долу метаг.
 Иза терахь долу меттиг хила мега кхечу декъашхойчух терра.
-Нагахь хьо къайлах волу декъашхо валахь хьайна хаам кхаьчна аьлла хеташн, хьуна хьажийна доцуш, дехар до, кхолла хьай меттиг кху чохь[[Special:UserLogin/signup|дlавазло]] йа [[Special:UserLogin|хьой вовзийта]],",
+Нагахь хьо къайлах волу декъашхо валахь хьайна хаам кхаьчна аьлла хеташн, хьуна хьажийна доцуш, дехар до, кхолла хьай меттиг кху чохь[[Special:UserLogin/signup|дlавазло]] йа [[Special:UserLogin|хьой вовзийта/йовзийта]],",
 'noarticletext' => "Хlокх хан чохь кху агlонца йоза дац.
 Шуьга далундерг [[Special:Search/{{PAGENAME}}|лахар ишта хьехош йолу цlе]] кхечу яззамашкахь,
 <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} лахар кхечу тептаршкахь],
@@ -660,6 +677,10 @@ $1',
 Шуьга далундерг [[Special:Search/{{PAGENAME}}|лахар ишта хьехош йолу цӀе]] кхечу яззамашкахь,
 йа <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} лаха оцуьнах терадерг кхечу тептаршкахь].</span>',
 'userpage-userdoesnotexist' => 'Ишта дlайазвар «<nowiki>$1</nowiki>» хlинца дац. Хьажа билгал, хьуна бакъалла лаьи кхолла йа хийцам ба хlокху агlон.',
+'sitecsspreview' => "'''ХӀара хьалх хьажар ду, хӀара CSS.'''
+'''хӀинца Ӏалашдина дац!'''",
+'sitejspreview' => "'''ХӀара хьалх хьажар ду, хӀара JavaScript-ишар.'''
+'''хӀинца Ӏалашдина дац!'''",
 'updated' => '(Карла йаькхина)',
 'note' => "'''Билгалдаккхар:'''",
 'previewnote' => "'''Хlара хьалх хьажар ду, йоза хlинца язданза ду!'''",
@@ -668,7 +689,7 @@ $1',
 'creating' => 'АгӀо кхоллар «$1»',
 'editingsection' => 'Тадар $1 (даакъа)',
 'editingcomment' => 'Тадар $1 (керла даакъа)',
-'editconflict' => 'РедаккÑ\85арна дойнаш: $1',
+'editconflict' => 'Тадарна дойнаш: $1',
 'yourtext' => 'Хьан йоза',
 'yourdiff' => 'Башхаллаш',
 'copyrightwarning' => "Тергаме хьажа, массо яззаман чутухуш долу йозан хийцам хьажарехь бу, арахоьцушсанна оцу бакъойалар хьоляхь $2 (хьаж. $1).
@@ -676,10 +697,10 @@ $1',
 Ишта чlагlо йой ахьа, айхьа далош долучуьн хьо куьг да ву аьлла, йа хьаэцна цхьан
 хьостера, хийцам ба а дlаса даржада а чулацам болуш.<br />
 '''МАТОХИЙШ БАКЪО ЙОЦУ ГlИРСАШ КХУ ЧУ, КУЬГ ДЕ БАКЪО ЛАР ЙЕШ ЙОЛУ!'''",
-'readonlywarning' => "'''ДlАХЬЕДО. Гlирса бух сацийна оьшуш долучу хьаштан, цундера хlинц хьоьга дlа ца йазло хийцам. 
-Хила мега, ахьа lалаш дан дезаш хьайн йоза, йуха тlаьхьо леладан иза йоза.'''
+'readonlywarning' => "'''ДӀАХЬЕДО. ГӀирса бух блоктоьхна оьшуш долучу хьаштан, цундера хӀинц хьоьга дӀа ца йазло хийцам.
+Хила мега, ахьа Ӏалаш дан дезаш хьайн йоза, йуха тӀаьхьо леладан иза йоза.'''
 
\90даманкÑ\83Ñ\8cйгалÑ\85оÑ\87о Ñ\81аÑ\86ийна Ð³lиÑ\80Ñ\81а Ð±Ñ\83Ñ\85, Ñ\86о Ð±Ð¸Ñ\82ина ÐºÑ\85еÑ\82оÑ\88 Ñ\85lара хаам: $1",
\9aÑ\83Ñ\8cйгалÑ\85оÑ\87о Ð±Ð»Ð¾ÐºÑ\82оÑ\8cÑ\85на Ð³Ó\80иÑ\80Ñ\81а Ð±Ñ\83Ñ\85, Ñ\86о Ð±Ð¸Ñ\82ина ÐºÑ\85еÑ\82оÑ\88 Ñ\85Ó\80ара хаам: $1",
 'protectedpagewarning' => "'''Дlахьедар. Хlара агlо гlаролла дина ю хийцам цабайта, иза хийца йа нисйа а бакъо йолуш адаманкуьйгалла лелош болу декъашхой бе бац.'''
 Лахахьа гойту хаамаш тlаьхьара бина болу хийцамна тептар чура:",
 'cascadeprotectedwarning' => '<div id="cascadeprotectedwarning" style="border:1px solid #ee0; padding:10px; background:#ffa; margin-bottom:1em">[[file:Padlock.svg|left|25px|ДовгӀа|link=]]
@@ -692,10 +713,10 @@ $1',
 'edittools' => '<!-- Кхузе буха диллина йоза гуш хир ду редоккхуче бухахь а хlума чуйоккхуче бухахь. -->',
 'permissionserrorstext' => 'Хьан бакъо яц кхочуш хилийта хийцам оцу {{PLURAL:$1|шолгlа бахьанца|шолгlа бахьанашца}}:',
 'permissionserrorstext-withaction' => "Хьан бакъо яц хlумда «'''$2'''» оцу {{PLURAL:$1|шолгlа бахьанца|шолгlа бахьанашца}}:",
-'recreate-moveddeleted-warn' => "'''Тидам бе. Хьо ву (ле йу) йуха кхолла гlерташ яззам, хьалхо дlадайина долу.'''
+'recreate-moveddeleted-warn' => "'''Тидам бе. Хьо ву (ле йу) йуха кхолла гӀерташ агӀо, хьалхо дӀаяккхина йолу.'''
 
-Хьажа, билгалла оьши хьуна хlара яззам йуха кхолла.
-Лахахь далина ду дlадайарш тlяхь долу тептарш а хlокх яззам цlера бина хийцамаш.",
+Хьажа, билгалла оьши хьуна хӀара яззам йуха кхолла.
+Лахахь далина ду дӀаяхарш тӀяхь долу тептарш а хӀокх яззам цӀера бина хийцамаш.",
 'moveddeleted-notice' => 'Иза агlо дlайайина йара.
 Хаийтарна лахахьа гойту, цуьнца долу дlаяздарш кху дlадайина тептар чура а цlе хийцарш а.',
 'log-fulllog' => 'Хьажа деригге тептаре',
@@ -705,7 +726,7 @@ $1',
 'content-model-css' => 'CSS',
 
 # Parser/template warnings
-'parser-template-loop-warning' => 'Карийна куцкепаш юкъахь хилла шад: [[$1]]',
+'parser-template-loop-warning' => 'Карийна кепаш юкъахь хилла шад: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Дозанал хьалаваьлла кlоргенца йух йуха дина кеп ($1)',
 
 # "Undo" feature
@@ -748,6 +769,7 @@ $1',
 'revdelete-reasonotherlist' => 'Кхин бахьан',
 
 # History merging
+'mergehistory-from' => 'Дуьххьарлера агӀоно',
 'mergehistory-reason' => 'Бахьан:',
 
 # Merge log
@@ -798,22 +820,26 @@ $1',
 'searchall' => 'массо',
 'showingresults' => 'Лахахьа {{PLURAL:$1|гойта|гойту|гойту}} <strong>$1</strong> {{PLURAL:$1|хилам|хиламаш|хиламаш}}, дlаболало кху № <strong>$2</strong>.',
 'showingresultsheader' => "{{PLURAL:$5|Хилам '''$1''' кху '''$3'''|Хиламаш '''$1 — $2''' кху '''$3'''}} оцун '''$4'''",
-'nonefound' => "'''Билгалдаккхар.''' Хlумма цадеш lад йитича массо цlеран энахь цалоху. Лела йе тlехуттург ''all:'', лахийта массо цlеран энахь (юкъадалош декъашхойн дийцарш а куцкепаш а кхин дерг.), йа хlотта йе оьшуш йолу цlеран эна.",
+'nonefound' => "'''Билгалдаккхар.''' ХӀумма цадеш Ӏад йитича массо цӀеран энахь цалоху. Лела йе тӀехуттург ''all:'', лахийта массо цӀеран энахь (юкъадалош декъашхойн дийцарш а кепаш а кхин дерг.), йа хӀотта йе оьшуш йолу цӀеран эна.",
 'search-nonefound' => 'Дехарар терра цхьа хlума цакарийна.',
 'powersearch' => 'Шуьйра лахар',
 'powersearch-legend' => 'Шуьро лахар',
 'powersearch-ns' => 'Цlераши анахь лахар:',
 'powersearch-redir' => 'Схьагайта дlасахьажийнарш',
 'powersearch-field' => 'Лаха',
+'powersearch-togglelabel' => 'Билгалдан:',
 'powersearch-toggleall' => 'Массо',
 'powersearch-togglenone' => 'Хlумма цаоьшу',
+'search-external' => 'Арахула лахар',
 
 # Preferences page
 'preferences' => 'Гlирс нисбан',
 'mypreferences' => 'ГӀирс нисбан',
 'prefs-edits' => 'Нисдарши дукхалла:',
 'changepassword' => 'Хийцамба ишарна',
+'prefs-skin' => 'Кечяран тема',
 'skin-preview' => 'Хьалха муха ю хьажа',
+'datedefault' => 'Хьан гlирс нисбар',
 'prefs-beta' => 'Гlоле таронаш',
 'prefs-datetime' => 'Терахь а хан',
 'prefs-labs' => 'Муха ю хьажарна таронаш',
@@ -830,6 +856,7 @@ $1',
 'restoreprefs' => 'МеттахӀоттабе гӀирс дуьхӀар сана',
 'prefs-editing' => 'Тадар',
 'rows' => 'МогӀанаш:',
+'columns' => 'БӀогӀамаш:',
 'searchresultshead' => 'Лаха',
 'timezonelegend' => 'Сахьатан аса:',
 'localtime' => 'Меттигера хан:',
@@ -840,7 +867,7 @@ $1',
 'prefs-emailconfirm-label' => 'Бакъ яр электрони почт:',
 'prefs-textboxsize' => 'Тадаран коран барам',
 'youremail' => 'Кехат яздо зlе цlе:',
-'username' => 'Дlаязвиначуьна цlе:',
+'username' => 'Декъашхон цlе:',
 'uid' => 'Декъашхочун {{GENDER:$1|код}}:',
 'prefs-memberingroups' => '{{GENDER:$2|Тобана|Тобана}} {{PLURAL:$1|декъашхо|декъашхо}}:',
 'prefs-registration' => '{{GENDER:$2|ДӀавазвелла|ДӀаязелла}} хан:',
@@ -869,9 +896,17 @@ $1',
 
 # User rights
 'userrights' => 'Декъашхочуьн бакъона урхалладар',
+'userrights-user-editname' => 'Язъе цӀе:',
+'editusergroup' => 'Хийца декъашхон бакъо',
 'editinguser' => "Хийца декъашхочуьна бакъо '''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])",
+'userrights-editusergroup' => 'Хийца декъашхон бакъо',
 'userrights-groupsmember' => 'Декъашхо:',
 'userrights-reason' => 'Бахьан:',
+'userrights-no-interwiki' => 'Хьан бакъо яц декъашхой бакъо хийца кхечу википеди чохь.',
+'userrights-nologin' => 'Куьйгалхочунна бакъо йолу [[Special:UserLogin|д1аяздарца]] ло декъашхон бакъо.',
+'userrights-notallowed' => 'Хьан дӀаяздарца магийна дац декъашхошна бакъо яла а дӀаяккха а.',
+'userrights-changeable-col' => 'Хьона хийца луш йолу бакъонаш',
+'userrights-unchangeable-col' => 'Хьона хийца луш йоцу бакъонаш',
 
 # Groups
 'group' => 'Тоба:',
@@ -897,7 +932,21 @@ $1',
 'grouppage-suppress' => '{{ns:project}}:Левисорхой',
 
 # Rights
+'right-edit' => 'АгӀоаш нисяр',
+'right-createpage' => 'АгӀонаш кхоллар (дийцарш дац)',
+'right-createtalk' => 'Дийцаре агӀонаш кхоллар',
+'right-createaccount' => 'декъашхошна керла дӀаяздарш кхоллар',
+'right-move' => 'АгӀонашан цӀераш хийцар',
+'right-move-subpages' => 'АгӀонашан цӀераш хийцар цера бухара агӀонашцан',
+'right-movefile' => 'Файланши цӀе хийцар',
+'right-upload' => 'Файлаш чуйаьхар',
 'right-delete' => 'агӀош дӀаяхар',
+'right-bigdelete' => 'еха хийцаман истори йолу агӀонаш дӀаяхар',
+'right-browsearchive' => 'ДӀаяхна агӀонаш лахар',
+'right-undelete' => 'АгӀонаш меттахӀоттор',
+'right-blockemail' => 'Цамагдо декъашхошка хааман кехаташ кхехьийта',
+'right-unblockself' => 'Ша шин блокдӀаяккхар',
+'right-protect' => 'АгӀона гӀоралла хийцар а гӀоралла дина агӀо нисяр а',
 
 # Special:Log/newusers
 'newuserlogpage' => 'Декъашхой дlабазбина тептар',
@@ -949,11 +998,13 @@ $1',
 'recentchangeslinked-to' => 'Кхечу агlор, гайта хийцамаш агlонашца, хlоттийначу агlонтlе хьажориг йолуш',
 
 # Upload
-'upload' => 'ЧÑ\83йаккÑ\85а Ñ\84айл',
-'uploadbtn' => 'ЧÑ\83йаккÑ\85а Ñ\84айл',
+'upload' => 'Файл Ñ\87Ñ\83Ñ\8fккÑ\85аÑ\80',
+'uploadbtn' => 'Файл Ñ\87Ñ\83Ñ\8fккÑ\85аÑ\80',
 'uploadlogpage' => 'Чуйахаран тéптар',
 'uploadlogpagetext' => 'Лахахьа гойтуш бу могlам тlаьххьара чуяхна файлаши. Ишта хьажа. [[Special:ImageList|файлаши могlам]] йа [[Special:NewImages|галеларе файлаши]].',
 'filename' => 'Файлан цӀе',
+'filedesc' => 'Файлах лаьцна',
+'fileuploadsummary' => 'Файлах лаьцна:',
 'filereuploadsummary' => 'Файлан хийцамаш:',
 'uploadwarning' => 'Дlахьедар',
 'uploadedimage' => 'чуяккхина «[[$1]]»',
@@ -999,10 +1050,12 @@ PICT # тайп тайпан
 'filehist-dimensions' => 'Файлан барам',
 'filehist-comment' => 'Билгалдаккхар',
 'imagelinks' => 'Хьажоригаш оцу файлан',
-'linkstoimage' => '{{PLURAL:$1|ТlаÑ\8cÑ\85Ñ\8cайогlÑ\83 $1 Ð°Ð³lо Ñ\82lеÑ\82ойжина|ТlаÑ\8cÑ\85Ñ\8cайогlÑ\83 $1 Ð°Ð³lонаÑ\88 Ñ\82lеÑ\82ойжина|ТlаÑ\8cÑ\85Ñ\8cайогlÑ\83 $1 Ð°Ð³lонаÑ\88 Ñ\82lеÑ\82ойжина}} Ñ\85lокÑ\85Ñ\83 Ñ\85\83ман:',
+'linkstoimage' => '{{PLURAL:$1|ТlаÑ\8cÑ\85Ñ\8cайогlÑ\83 $1 Ð°Ð³lо Ñ\82lеÑ\82ойжина|ТlаÑ\8cÑ\85Ñ\8cайогlÑ\83 $1 Ð°Ð³lонаÑ\88 Ñ\82lеÑ\82ойжина|ТlаÑ\8cÑ\85Ñ\8cайогlÑ\83 $1 Ð°Ð³lонаÑ\88 Ñ\82lеÑ\82ойжина}} Ñ\85lокÑ\85Ñ\83 Ñ\84айлан:',
 'nolinkstoimage' => 'АгӀонашчохь файл лелош яц.',
 'sharedupload' => 'Хlара хlума оцун $1 чура ю иза хила мега лелош кхечу кхолламашкахь.',
-'uploadnewversion-linktext' => 'Чуяккха керла башхо хlокху хlуман',
+'sharedupload-desc-here' => 'ХӀара файл $1 чура ю и лело йиш ю массо проекташи.
+Цунна хаам гайтина лахахь. [$2 Файл ВикидӀайуьллуче чохь]',
+'uploadnewversion-linktext' => 'Чуяккха керла верси хӀокху файлан',
 'shared-repo-name-wikimediacommons' => 'Викидlайуллуче',
 
 # File reversion
@@ -1024,6 +1077,7 @@ PICT # тайп тайпан
 'filedelete-success' => '$1 дӀаяккхи.',
 'filedelete-otherreason' => 'Кхин бахьан:',
 'filedelete-reason-otherlist' => 'Кхин бахьан',
+'filedelete-edit-reasonlist' => 'Бахьанин список нисяр',
 
 # MIME search
 'mimesearch' => 'MIME хула лаха',
@@ -1035,7 +1089,7 @@ PICT # тайп тайпан
 'listredirects' => 'ДIасахьажоран могIам',
 
 # Unused templates
-'unusedtemplates' => 'Лелош доцу куцкепаш',
+'unusedtemplates' => 'Лелош доцу кепаш',
 
 # Random page
 'randompage' => 'Цахуаш нисйелла агlо',
@@ -1059,7 +1113,7 @@ PICT # тайп тайпан
 'statistics-users-active-desc' => 'Декъашхой, муьлха цхьа хlум дина болу, кху {{PLURAL:$1|тlаьххьара $1 динахь|тlаьххьара $1 дийнахь}}',
 
 'disambiguations' => 'Дуккха маьIнаш долу хьажорца йолу агIонаш',
-'disambiguationspage' => 'Куцкеп:цхьатера маьӀна доцуш',
+'disambiguationspage' => 'Кеп:цхьатера маьӀна доцуш',
 
 'doubleredirects' => 'ШалгIа дIасахьажийнарш',
 'double-redirect-fixed-move' => 'Агlон [[$1]] цlе хийцна, хlинца иза дlахьажийна оцу [[$2]]',
@@ -1077,21 +1131,23 @@ PICT # тайп тайпан
 'nbytes' => '$1 {{PLURAL:$1|байт|байташ|байт}}',
 'ncategories' => '$1 {{PLURAL:$1|категори|категореш|категореш}}',
 'nmembers' => '$1 {{PLURAL:$1|файл|файл|файлаш}}',
+'nimagelinks' => 'Лелош ю $1 {{PLURAL:$1|агӀоначохь|агӀонашкахь|агӀонашкахь}}',
+'ntransclusions' => 'лелош ю $1 {{PLURAL:$1|агӀоначохь|агӀонашкахь|агӀонашкахь}}',
 'specialpage-empty' => 'Дехаро хlумма ца елла.',
 'lonelypages' => 'Байлахь йисина агIонаш',
 'uncategorizedpages' => 'Категори йоцу агIонаш',
 'uncategorizedcategories' => 'Категори йоцу категореш',
 'uncategorizedimages' => 'Категори йоцу хIумнаш',
 'uncategorizedtemplates' => 'Категори йоцу кепаш',
-'unusedcategories' => 'Йаьсса кадегарш',
-'wantedcategories' => 'Оьшуш йолу кадегарш',
+'unusedcategories' => 'Йаьсса категореш',
+'wantedcategories' => 'Оьшуш йолу категореш',
 'wantedpages' => 'Оьшуш йолу агIонаш',
 'wantedfiles' => 'Оьшуш йолу хIумнаш',
-'wantedtemplates' => 'Оьшуш долу куцкепаш',
+'wantedtemplates' => 'Оьшуш долу кепаш',
 'mostlinked' => 'Дуккха хьажоригаш тIе тоьхна йолу агIонаш',
-'mostlinkedcategories' => 'Дуккха тIе хьажораш йолу кадегарш',
-'mostlinkedtemplates' => 'Массарел дуккха а леладо куцкепаш',
-'mostcategories' => 'Дуккха кадегарш тIе тоьхна йолу агIонаш',
+'mostlinkedcategories' => 'Дуккха тӀе хьажораш йолу категореш',
+'mostlinkedtemplates' => 'Массарел дуккха а леладо кепаш',
+'mostcategories' => 'Дуккха категореш тӀе тоьхна йолу агӀонаш',
 'mostimages' => 'Массарел дуккха лелайо файлаш',
 'mostrevisions' => 'Сих сиха нисйина йолу агIонаш',
 'prefixindex' => 'Хьалха агlонашан цlераш хlотто йеза',
@@ -1133,6 +1189,7 @@ PICT # тайп тайпан
 # Special:AllPages
 'allpages' => 'Массо агlонаш',
 'alphaindexline' => 'оцу $1 кху $2',
+'nextpage' => 'Тlаьхьа йогlу агlо ($1)',
 'prevpage' => 'Хьалхалера агlо ($1)',
 'allpagesfrom' => 'Гучé яха агlонаш, йуьлалуш йолу оцу:',
 'allpagesto' => 'Арайахар сацадé оцу:',
@@ -1146,7 +1203,7 @@ PICT # тайп тайпан
 'allpages-hide-redirects' => 'Къайлаяха дӀасахьажийнарш',
 
 # Special:Categories
-'categories' => 'Кадегарш',
+'categories' => 'Категореш',
 
 # Special:DeletedContributions
 'deletedcontributions' => 'Декъашхочуьн дlабайина къинхьегам',
@@ -1180,7 +1237,7 @@ PICT # тайп тайпан
 # Watchlist
 'watchlist' => 'Тергаме могlам',
 'mywatchlist' => 'Тергаме могӀам',
-'watchnologin' => 'Хьо вовзита веза гlирсан',
+'watchnologin' => 'Хьо вовзийта/йовзийта гlирсан',
 'addedwatchtext' => 'Хlар агlо «[[:$1]]» тlетоьхна хьан [[Special:Watchlist|тидаме могlам чу]].
 Тlаьхьабогlу хийцамаш хlокх агlонна а кхунца дозуш долу дийцаре агlо а дlаяздийра ду кху могlамашкахь, ишта къастина хирду уьш шуьрочу элпашца хlокх агlон чохь [[Special:RecentChanges|керла хийцаме могlамашкахь]], бгlаьран га атту болуш.',
 'removedwatchtext' => 'Агlо «[[:$1]]» дlаяккхина йара хьан [[Special:Watchlist|тергаме могlам юкъар]].',
@@ -1189,7 +1246,7 @@ PICT # тайп тайпан
 'unwatch' => 'Тергамах къаста',
 'notanarticle' => 'Бац яззам',
 'watchlist-details' => 'Хьан тергаме могlамца $1 {{PLURAL:$1|агlо|агlонаш|агlонаш}} ю, дийцаре агlонаша йоцуш.',
-'wlheader-showupdated' => "Хийцам бина агӀонаш '''Ӏаьржа''' шрифтцан билгальяха ю.",
+'wlheader-showupdated' => "Хийцам бина агӀонаш '''Ӏаьржа''' шрифтцан билгальяха ю.",
 'wlnote' => 'Лахахьа {{PLURAL:$1|тlаьхьа богlу $1 хийцам|тlаьхьа богlу $1 хийцамаш|тlаьхьа богlу $1 хийцамаш}} хlокху {{PLURAL:$2|тlаьхьар|тlаьхьара|тlаьхьара}} <strong>$2</strong> {{plural:$2|сохьт|сохьатехь|сохьташкахь}}.',
 'wlshowlast' => 'Гайта тlаьххьара $1 сахьташ $2 денош $3',
 'watchlist-options' => 'Тергаме могlаман гlирс нисбар',
@@ -1200,23 +1257,24 @@ PICT # тайп тайпан
 
 # Delete
 'deletepage' => 'ДӀаяккха агӀо',
-'confirm' => 'Ð\9aÑ\8aобалде',
+'confirm' => 'Ð\91акÑ\8aдан',
 'excontent' => 'чуьраниг: «$1»',
 'excontentauthor' => 'чуьраниг: «$1» (дуьххьара кхоллина да вара иза [[Special:Contributions/$2|$2]])',
 'exbeforeblank' => 'чуьраниг дlацlанйале хьалха: «$1»',
 'exblank' => 'агlо йаьсса йара',
 'delete-confirm' => '$1 — дӀаяккхар',
-'delete-legend' => 'Дlадайáр',
+'delete-legend' => 'ДӀаяккхар',
 'historywarning' => "'''Тергам:''' хӀокху агӀона герггарчу хьесапехь $1 {{PLURAL:$1|версеш|верси|верси}} ю:",
 'confirmdeletetext' => 'Хьан дехар ду хlара агlо ше бухци дlабайа аьлла (йа сурт) а массо цуьнан истори оцу бух чура. Дехар до, бакъде, билгала хьайна иза лаахь, кхеташ хира ву хьо тlаьхьа хир долу чун, иза деш ду ахьа бакъонца догlуш, вахьа дехкина долучу дакъанца [[{{MediaWiki:Policy-url}}]].',
 'actioncomplete' => 'Дешдерг кхочушди',
-'deletedtext' => '«$1» дlаяккхина йара.
-Хьажа. $2 хьажарна оцу тlаьхьара дlадайаран могlаме.',
-'dellogpage' => 'ДӀадаьхнарш долу тéптар',
-'deletionlog' => 'дӀадаьхнарш долу тéптар',
+'deletedtext' => '«$1» дӀаяккхина яра.
+Хьажа. $2 хьажарна оцу тӀаьхьара дӀаяхначара могӀаме.',
+'dellogpage' => 'ДӀадяхнарш долу тéптар',
+'deletionlog' => 'дӀадяхнарш долу тéптар',
 'deletecomment' => 'Бахьан:',
 'deleteotherreason' => 'Кхин бахьан/тlетохар:',
 'deletereasonotherlist' => 'Кхин бахьан',
+'delete-edit-reasonlist' => 'Бахьанин список нисяр',
 
 # Rollback
 'rollback' => 'Юхабаккха хийцам',
@@ -1224,6 +1282,7 @@ PICT # тайп тайпан
 'rollbacklinkcount' => 'юхадаккха $1 {{PLURAL:$1|нисдар|нисдарш}}',
 'rollbacklinkcount-morethan' => 'Юхадаккха $1 дукха {{PLURAL:$1|нисдар|нисдарш|нисдарш}}',
 'revertpage' => 'Нисдарш [[Special:Contributions/$2|$2]] ([[User talk:$2|дийцаре]]) йуха йаьхна башхаллийн [[User:$1|$1]]',
+'rollback-success' => 'Юха даьхна $1; нисдарш, $2 версен.',
 
 # Protect
 'protectlogpage' => 'Гlаролли тептар',
@@ -1255,6 +1314,7 @@ PICT # тайп тайпан
 'protect-othertime-op' => 'кхин хан',
 'protect-otherreason' => 'Кхин бахьна/тӀетохар:',
 'protect-otherreason-op' => 'Кхин бахьан',
+'protect-edit-reasonlist' => 'Бахьанин список нисяр',
 'restriction-type' => 'Бакъо:',
 'restriction-level' => 'Тlевитарна локхалла:',
 
@@ -1262,6 +1322,7 @@ PICT # тайп тайпан
 'restriction-upload' => 'Чуйолуш',
 
 # Restriction levels
+'restriction-level-autoconfirmed' => 'дуьззина доцуш гӀаролла',
 'restriction-level-all' => 'массо барам',
 
 # Undelete
@@ -1283,7 +1344,7 @@ PICT # тайп тайпан
 'undeletedfiles' => '$1 {{PLURAL:$1|файл меттахӀоттайина|файлаш меттахӀоттайина|файлаш меттахӀоттайина}}',
 'undeletedpage' => "'''МеттахӀоттайина агӀо «$1».'''
 
-ДӀадаьхнарш долу могӀане [[Special:Log/delete|тéптаре хьажа]].",
+ДӀадяхнарш долу могӀане [[Special:Log/delete|тéптаре хьажа]].",
 'undelete-search-submit' => 'Лаха',
 
 # Namespace form on various pages
@@ -1302,9 +1363,9 @@ PICT # тайп тайпан
 'year' => 'Шерачохь (йа хьалхе):',
 
 'sp-contributions-newbies' => 'Гайта бекъ къинхьегам, керла дlабазбиначара бина болу',
-'sp-contributions-blocklog' => 'сацораш',
-'sp-contributions-deleted' => 'дӀадаьхна нийсдарш',
-'sp-contributions-uploads' => 'тӀетохар',
+'sp-contributions-blocklog' => 'блоктоьхарш',
+'sp-contributions-deleted' => 'дӀадяхна нийсдарш',
+'sp-contributions-uploads' => 'Файлаш',
 'sp-contributions-logs' => 'тéптарш',
 'sp-contributions-talk' => 'дийцаре',
 'sp-contributions-userrights' => 'декъашхочуьн бакъона урхалладар',
@@ -1319,6 +1380,7 @@ PICT # тайп тайпан
 'whatlinkshere-page' => 'Агlо:',
 'linkshere' => "Тlаьхьайогlу агlонаш хьажоригца ю оцу '''[[:$1]]''':",
 'nolinkshere' => "ХӀокху '''[[:$1]]''' агӀона тӀе кхечу агӀонашчохь хьажоригаш яц",
+'nolinkshere-ns' => "Хаьржинчу анахь яц '''[[:$1]]''' цӀе йолу агӀонаш",
 'isredirect' => 'агlо-дlасахьажайар',
 'istemplate' => 'лата йe',
 'isimage' => 'Оцу суьртан хьажориг',
@@ -1331,46 +1393,53 @@ PICT # тайп тайпан
 'whatlinkshere-filters' => 'Литтарш',
 
 # Block/unblock
-'block' => 'Декъашхо сацавар',
-'blockip' => 'СаÑ\86аве',
-'blockip-legend' => 'Декъашхо сацавар',
+'block' => 'Декъашхон блоктохар',
+'blockip' => 'Ð\91локÑ\82оÑ\85а',
+'blockip-legend' => 'Декъашхон блоктохар',
 'ipadressorusername' => 'IP-долу меттиг йа декъашхон цlе:',
 'ipbexpiry' => 'Хан чекхйолу:',
 'ipbreason' => 'Бахьан:',
 'ipbreasonotherlist' => 'Кхин бахьан',
-'ipbreason-dropdown' => '* Ð\93Ñ\83Ñ\82Ñ\82аÑ\80 Ñ\85Ñ\83Ñ\8cлÑ\83 Ð±Ð°Ñ\85Ñ\8cанÑ\86а Ñ\81аÑ\86ийна
-** Харц хаамаш дӀаязбеш ву
-** АгӀонашчур яззамаш дӀабохуш ву
-** Ð¡Ð¿Ð°Ð¼-Ñ\85Ñ\8cажоÑ\80игаÑ\88 ÐºÑ\85еÑ\87Ñ\83 Ñ\81айÑ\82аÑ\88 Ñ\82Ó\80е 
-** МаьӀнадоцу йозанаш яздеш ву
-** Декъашхошна кхерам туьйсуш тӀехьавелла ву
-** Массийта цӀерашца зулам деш ву (ю)
-** Ð\94екÑ\8aаÑ\88Ñ\85оÑ\87Ñ\83н Ñ\86Ó\80е Ñ\82Ó\80еÑ\8dÑ\86а Ð¹Ð¸Ñ\88 Ð¹Ð¾Ñ\86Ñ\83Ñ\88 Ñ\8e',
+'ipbreason-dropdown' => '* Ð\91елÑ\85ан Ð½ÐµÐºÑ\8a Ð´Ó\80акÑ\8aовлаÑ\80 Ð±Ð°Ñ\85Ñ\8cанаÑ\88:
+** Харца хаам бар
+** АгӀонан чураниг дӀаяккхар
+** Ð¡Ð¿Ð°Ð¼-Ñ\85Ñ\8cажоÑ\80агаÑ\88 Ð°Ñ\80аÑ\85Ñ\8cаÑ\80а Ñ\81айÑ\82аÑ\88на
+** МаьӀна доцу текст тӀетохар
+** Декъашхой хьийзабар, кхерамаш тиссар
+** Масийтта лараман яздар зуламан лелаяр
+** Ð\9cагиÑ\82ина Ð¹Ð¾Ñ\86Ñ\83 Ð´ÐµÐºÑ\8aаÑ\88Ñ\85он Ñ\86Ó\80е',
 'ipbcreateaccount' => 'Цамагдо дӀаязвалар',
 'ipbemailban' => 'Цамагдо декъашхошка хааман кехаташ кхехьийта',
 'ipbenableautoblock' => 'Сацае декъашхочо лелош йолу IP-адресаш',
-'ipbsubmit' => 'СаÑ\86аве Ð´ÐµÐºÑ\8aаÑ\88Ñ\85о',
+'ipbsubmit' => 'Ð\91локÑ\82оÑ\85а Ð´ÐµÐºÑ\8aаÑ\88Ñ\85он',
 'ipbother' => 'Кхин хан:',
 'ipboptions' => '2 сахьат:2 hours,1 де:1 day,3 де:3 days,1 кlиран:1 week,2 кlиран:2 weeks,1 бутт:1 month,3 бутт:3 months,6 бутт:6 months,1 шо:1 year,цlкъа:infinite',
 'ipbwatchuser' => 'ТӀетоха тергаме могӀам юкъа цуьнан долахь йолу агӀо а цуьнан дийцаре агӀо а',
-'ipb-disableusertalk' => 'Цамагдо шин дийцаре агӀо та я сацийна волучу хенахь',
-'ipb-confirm' => 'Бакъде сацавар',
-'blockipsuccesssub' => 'Сацавар чакхдели',
-'blockipsuccesstext' => '[[Special:Contributions/$1|«$1»]] сацийна ву.<br />
-Хьажа. [[Special:BlockList|могlам сацийна IP-долу меттигаш]].',
+'ipb-disableusertalk' => 'Цамагдо шин дийцаре агӀо та я блоктоьхна волучу хенахь',
+'ipb-confirm' => 'Бакъде блоктохар',
+'blockipsuccesssub' => 'Блоктохар чакхдели',
+'blockipsuccesstext' => '[[Special:Contributions/$1|«$1»]] блоктоьхна ву.<br />
+Хьажа. [[Special:BlockList|могlам блоктоьхна IP-долу меттигаш]].',
+'ipb-blockingself' => 'Хьо хьайна блоктухуш ву (ю)! Лууш вуй (йуй) хьо и кхочуш дан?',
+'ipb-edit-dropdown' => 'Бахьанин список нисяр',
+'ipb-unblock-addr' => 'ДӀаякхаблок $1',
+'ipb-unblock' => 'дӀаякхаблок декъашхонтӀера я IP-адрес тӀера',
+'ipb-blocklist' => 'Блоктоьхнарш',
 'ipb-blocklist-contribs' => 'Декъашхон къинхьегам $1',
+'unblockip' => 'ДӀаякхаблок декъашхонтӀера',
 'unblocked' => '[[User:$1|$1]] хьайаьстина.',
-'ipblocklist' => 'СаÑ\86ийна IP-долу меттиг а дlалаьрра язбаларш',
+'ipblocklist' => 'Ð\91локÑ\82оÑ\8cÑ\85на IP-долу меттиг а дlалаьрра язбаларш',
 'blocklist-reason' => 'Бахьан:',
 'ipblocklist-submit' => 'Лаха',
 'infiniteblock' => 'хан чаккхе йоцуш',
-'blocklink' => 'сацаве',
-'unblocklink' => 'хьаваста',
-'change-blocklink' => 'хийцам бе сацорна',
+'blocklink' => 'блоктоха',
+'unblocklink' => 'дӀаякхаблок',
+'change-blocklink' => 'хийцам бе блоктохарна',
 'contribslink' => 'къинхьегам',
-'blocklogpage' => 'Сацораш долу тептар',
-'blocklogentry' => 'сацийна [[$1]] цхьана ханна $2 $3',
-'unblocklogentry' => 'схьаваьстина $1',
+'blocklogpage' => 'Блоктоьхарш болу тептар',
+'blocklogentry' => 'блоктоьхна [[$1]] цхьана ханна $2 $3',
+'reblock-logentry' => 'Хийцина  блоктоьхна хан [[$1]] $2 $3',
+'unblocklogentry' => 'дӀаякхинаблок $1',
 'block-log-flags-nocreate' => 'цамагдо дlаязвалар дlаязбаларшца',
 
 # Move page
@@ -1394,7 +1463,7 @@ PICT # тайп тайпан
 
 Шу жоьпехь ду хьажорагаш нийса некъ гойтуш хиларан.
 
-Тидам Ð±Ðµ Ñ\85Ñ\8cалÑ\85алеÑ\80а Ð°Ð³Ó\80он Ñ\86Ó\80е â\80\98â\80\99â\80\99Ñ\85ийÑ\86алÑ\83Ñ\80 Ñ\8fÑ\86â\80\99â\80\99â\80\99 Ð¸Ñ\88Ñ\82Ñ\82а Ñ\86Ó\80е Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80о Ð¹Ð¾Ð»Ñ\83Ñ\88 ÐµÐ»Ð°Ñ\85Ñ\8c. Ð®ÐºÑ\8aаÑ\80даккÑ\85аÑ\80: Ð¹Ð¾Ð»Ñ\83Ñ\88 Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80а кхоьчухьа хьажораг елахь, я еса елахь а, цуьна хьийцаме истори яцахь а.
+Тидам Ð±Ðµ Ñ\85Ñ\8cалÑ\85алеÑ\80а Ð°Ð³Ó\80он Ñ\86Ó\80е â\80\98â\80\99â\80\99Ñ\85ийÑ\86алÑ\83Ñ\80 Ñ\8fÑ\86â\80\99â\80\99â\80\99 Ð¸Ñ\88Ñ\82Ñ\82а Ñ\86Ó\80е Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80о Ð¹Ð¾Ð»Ñ\83Ñ\88 ÐµÐ»Ð°Ñ\85Ñ\8c. Ð®ÐºÑ\8aаÑ\80даккÑ\85аÑ\80: Ð¹Ð¾Ð»Ñ\83Ñ\88 Ð¹Ð¾Ð»Ñ\83 Ð°Ð³Ó\80о кхоьчухьа хьажораг елахь, я еса елахь а, цуьна хьийцаме истори яцахь а.
 
 И бохург ду шун агӀонан цӀе юха а хьалха хилларгчунтӀе хийца йиш ю, амма йолуш йолу агӀо дӀаяккха йиш яц.
 
@@ -1421,6 +1490,7 @@ PICT # тайп тайпан
 'movedto' => 'цlе хийцина оцу',
 'movetalk' => 'Цуьнца йогlуш йолу дийцаре агlон цlе хийцар',
 'move-subpages' => 'ЦӀeрш хийцае бухара агӀонаши ($1 кхаччалц)',
+'move-talk-subpages' => 'ЦӀе хийца бухара агӀонаши а агӀонашан дийцаре а ($1  кхаччалц)',
 'movepage-page-moved' => 'АгӀона $1 цӀе хийцина оцу $2.',
 'movelogpage' => 'Цlераш хийцаран тептар',
 'movesubpage' => '{{PLURAL:$1|Бухара агӀо|Бухара агӀонаш}}',
@@ -1446,7 +1516,7 @@ PICT # тайп тайпан
 Кхечу меттера яззамаш чуйаха, чуязйе цlе редокхчу метте, цlхьа могlан цlе могlаршкахь, йуха харжа лаьи шуна Кхечу меттер чуйаха массо яззамашна истори хийцамбарш йа тlяхьаралера яззамна башхо.
 
 Шуьга кхи даландерг, лелаеш йолу меттиг къастаман машан хьажориг кхечу меттер чудаха тlяхьарлера башхон яззамаш. Массала оцу яззамна [[{{MediaWiki:Mainpage}}]] хlара хира йу хьажориг [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]].',
-'export-templates' => 'Латадé куцкепаш',
+'export-templates' => 'Латадé кепаш',
 
 # Namespace 8 related
 'allmessages' => 'Гlирса хаамаш',
@@ -1468,7 +1538,7 @@ PICT # тайп тайпан
 # Special:Import
 'import' => 'Кхин яззам агlонаш чуяхар',
 'import-interwiki-source' => 'Вики-хьост/агlо:',
-'import-interwiki-templates' => 'Лата де массо куцкепаш',
+'import-interwiki-templates' => 'Лата де массо кепаш',
 'import-upload-filename' => 'Файлан цӀе:',
 
 # Tooltip help for the actions
@@ -1477,7 +1547,7 @@ PICT # тайп тайпан
 'tooltip-pt-preferences' => 'Хьан гlирс нисбар',
 'tooltip-pt-watchlist' => 'Ахьа тергам бо агlонаши хийцаман могlам',
 'tooltip-pt-mycontris' => 'Хьан нисдаран могlам',
-'tooltip-pt-login' => 'Хlокху гlирса чохь дlавазвала мега, амма иза тlедожош дац.',
+'tooltip-pt-login' => 'Хlокху гlирса чохь дlавазвала/яла мега, амма иза тlедожош дац.',
 'tooltip-pt-logout' => 'Дlадерзадо болх бар',
 'tooltip-ca-talk' => 'Дийцаре агlон чулацам',
 'tooltip-ca-edit' => 'Хlара агlо хийцалур ю. Лелайе, дехар до, хьалххьажар айхьа чутохале lалашан',
@@ -1519,7 +1589,7 @@ PICT # тайп тайпан
 'tooltip-ca-nstab-image' => 'Хlуман агlо',
 'tooltip-ca-nstab-mediawiki' => 'Хааман агlо MediaWiki',
 'tooltip-ca-nstab-template' => 'Куцкепа агlо',
-'tooltip-ca-nstab-category' => 'Кадегарши агlо',
+'tooltip-ca-nstab-category' => 'Категореши агӀо',
 'tooltip-minoredit' => 'Къастам бé хlокху хийцамна кlеззиг боуш санна',
 'tooltip-save' => 'Хьан хийцамаш lалашбой',
 'tooltip-preview' => 'Дехар до, агlо lалаш йарал хьалха хьажа муха йу яз!',
@@ -1533,7 +1603,6 @@ PICT # тайп тайпан
 'common.css' => '/** Чуйиллина йолу кхузе CSS хир йу лелош масхьа кечйечу чохь */',
 'monobook.css' => '/* Чуйиллина йолу кхузе CSS хир йу лелош масхьа Monobook чохь */',
 'print.css' => '/* Чуйиллина йолу кхузе CSS хир йу лелош масхьа зорба тухучуче чохь */',
-'handheld.css' => '/* Чуйиллина йолу кхузе CSS хир йу лелош масхьа койнаш чохь, дукхах ерг хатl нисдеш оцу $wgHandheldStyle */',
 
 # Scripts
 'common.js' => '/* Чуйиллина йолу кхузе JavaScript ишар гучу ерайу массо декъашхошна оцара схьаелларца хlора агlо */',
@@ -1549,6 +1618,7 @@ PICT # тайп тайпан
 'spamprotectiontitle' => 'Совбиларна литтар',
 
 # Info page
+'pageinfo-language' => 'АгӀона мотт',
 'pageinfo-toolboxlink' => 'Агlонах болу бовзам',
 
 # Browsing diffs
@@ -1563,6 +1633,9 @@ PICT # тайп тайпан
 'file-nohires' => 'Кхи йоккха гlоле башхо яц.',
 'svg-long-desc' => 'SVG-файл, лартӀахь ю $1 × $2 {{PLURAL:$2|пиксель|пикселш|пикселш}}, файлан барам: $3',
 'show-big-image' => 'Сурт цlанал лаккхара бакъонца',
+'show-big-image-preview' => 'Барам хьажале: $1.',
+'show-big-image-other' => '{{PLURAL:$2|Кхин шоралла|Кхин шоралла}}: $1.',
+'show-big-image-size' => '$1 × $2 пикселш',
 
 # Special:NewFiles
 'newimages' => 'Керлачу хlумни галеларе',
@@ -1602,6 +1675,7 @@ PICT # тайп тайпан
 # Exif tags
 'exif-datetime' => 'Хlума хийцина терахь а хан',
 'exif-datetimeoriginal' => 'Дуьххьарлера терахь а хан',
+'exif-languagecode' => 'Мотт',
 
 'exif-scenetype-1' => 'Сурт даьккхина нис дуьххьал',
 
@@ -1638,6 +1712,7 @@ PICT # тайп тайпан
 
 # Auto-summaries
 'autosumm-blank' => 'Агlон чулацам дlабайина',
+'autosumm-replace' => 'АгӀона чуьраниг хийцина оцу «$1»',
 'autosumm-new' => 'Керла агlо: «$1»',
 
 # Live preview
@@ -1662,6 +1737,7 @@ PICT # тайп тайпан
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Лаха цхьатера йолу хIумнаш',
 'fileduplicatesearch-submit' => 'Лаха',
+'fileduplicatesearch-info' => '$1 × $2 {{PLURAL:$2|пиксель|пикселш|пикселш}}<br />Файлан барам: $3<br />MIME-тайп: $4',
 
 # Special:SpecialPages
 'specialpages' => 'Леррина агlонаш',
@@ -1670,7 +1746,7 @@ PICT # тайп тайпан
 * <strong class="mw-specialpagerestricted">Кlеззиг таронаш йолу леррина агlонаш.</strong>',
 'specialpages-group-maintenance' => 'Жамlаш гlирса хьашташ кхочушдар',
 'specialpages-group-other' => 'Кхин гlуллакхан агlонаш',
-'specialpages-group-login' => 'Хьой вовзийта / Дlавазло',
+'specialpages-group-login' => 'Хьой вовзийта/йовзийта / дӀавазло/дӀаязло',
 'specialpages-group-changes' => 'Керла нисдарш а тéптарш',
 'specialpages-group-media' => 'Жамlаш оцу медиа-гlирсашан а чуяхарш',
 'specialpages-group-users' => 'Декъашхой а бакъонаш',
index b01dfc1..a217035 100644 (file)
@@ -97,8 +97,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Ipakita ang gidaghanon sa mga gumagamit nga nagbantay usab',
 'tog-oldsig' => 'Paunang tan-aw sa eksisting nga pirma:',
 'tog-fancysig' => 'Hilaw nga pirma (walay awtomatikong sumpay)',
-'tog-externaleditor' => 'Gamita ang eksternal nga editor isip default (para sa mga eksperto lamang, kinahanglan og espesyal nga setting sa imong kompyuter)',
-'tog-externaldiff' => 'Gamita ang eksternal nga diff isip default (para sa mga eksperto lamang, kinahanglan og espesyal nga setting sa imong kompyuter)',
 'tog-showjumplinks' => 'I-enable ang "ambak sa" nga sumpay sa aksesibilidad',
 'tog-uselivepreview' => 'Gamita ang live nga paunang tan-aw (JavaScript kinahanglan) (Eksperimental)',
 'tog-forceeditsummary' => 'Pahibaloi ako kon blangko ang mubong sugid alang sa pag-usab',
@@ -737,14 +735,6 @@ Sulayi'g prefix ang imong gipangita gamit ang ''all:'' alang mangita sa tanang s
 Puyde ka mangita gamit ang Google sa kasamtangan.
 Hinumdomi nga ang ilang indeks sa sulod sa {{SITENAME}} mahimong dugay-dugay na.',
 
-# Quickbar
-'qbsettings' => 'Quickbar',
-'qbsettings-none' => 'Wala',
-'qbsettings-fixedleft' => 'Naka-fix sa wala',
-'qbsettings-fixedright' => 'Naka-fix sa tuo',
-'qbsettings-floatingleft' => 'Floating sa wala',
-'qbsettings-floatingright' => 'Floating sa tuo',
-
 # Preferences page
 'preferences' => 'Mga preperensiya',
 'mypreferences' => 'Akong preperensiya',
@@ -978,7 +968,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 # Special:ListGroupRights
 'listgrouprights-members' => '(talaan sa mga miyembro)',
 
-# E-mail user
+# Email user
 'emailuser' => 'I-email kaning gumagamit',
 
 # Watchlist
index d461fa8..0305638 100644 (file)
@@ -657,13 +657,6 @@ Fanapunta na para u na'nuebu i kolumna anggen un usa i inachetton nabegasion.",
 Siña hao manaligao gi Google gi entretanto.
 Fanapunta na fana'an ti gus nuebu i listan-ñiha i guinahan {{SITENAME}}.",
 
-# Quickbar
-'qbsettings-none' => "Tåya'",
-'qbsettings-fixedleft' => 'Maplanta gi akague',
-'qbsettings-fixedright' => "Maplanta gi agapa'",
-'qbsettings-floatingleft' => "Mamå'ya gi akague",
-'qbsettings-floatingright' => "Mamå'ya gi agapa'",
-
 # Preferences page
 'preferences' => "I ga'ña-mu",
 'mypreferences' => "I ga'ña-hu",
@@ -875,7 +868,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 # Special:LinkSearch
 'linksearch-ok' => 'Aligao',
 
-# E-mail user
+# Email user
 'emailuser' => "Na'e-mail i muna'sesetbi este",
 
 # Watchlist
index 8eaafb2..45accad 100644 (file)
@@ -154,7 +154,7 @@ $messages = array(
 'tog-newpageshidepatrolled' => 'لە پێرستی پەڕە نوێکاندا پەڕە پاس دراوەکان بشارەوە',
 'tog-extendwatchlist' => 'لیستی چاودێری درێژبکەرەوە بۆ نیشان دانی ھەموو گۆڕانکارییەکان، نەک تەنھا دوایینەکان.',
 'tog-usenewrc' => 'گۆڕانکارییەکان لە دوایین گۆڕانکارییەکان و لیستی چاودێریدا بە پێی پەڕە پۆلێن بکە (پێویستی بە جاڤاسکریپتە)',
-'tog-numberheadings' => 'Ú\98Ù\85ارÛ\95کردÙ\86Û\8c Ø®Û\86کاری سەردێڕەکان',
+'tog-numberheadings' => 'Ú\98Ù\85ارÛ\95کردÙ\86Û\8c Ø®Û\86Ú¯Û\95Ú\95ی سەردێڕەکان',
 'tog-showtoolbar' => 'شریتی ئامرازەکانی دەستکاری نیشان بدە (JavaScript پێویستە)',
 'tog-editondblclick' => 'دەستکاریی پەڕە بە دووکلیک لەسەر دەق (JavaScript پێویستە)',
 'tog-editsection' => 'ڕێگە بدە بۆ دەستکاری کردنی بەشەکان لە ڕێگەی بەستەرەکانی [دەستکاری]',
@@ -187,7 +187,7 @@ $messages = array(
 'tog-watchlisthidepatrolled' => 'لە پێرستی چاودێرییەکاندا دەستکارییە پاس دراوەکان بشارەوە',
 'tog-ccmeonemails' => 'کۆپییەک لەو ئیمەیلانە کە بۆ بەکارھێنەرانی تر دەنێرم بۆ خۆشم بنێرە',
 'tog-diffonly' => 'ناوەرۆکی پەڕە لە ژێرەوەی جیاوازییەکاندا نیشان مەدە',
-'tog-showhiddencats' => 'ھاوپۆلە شاراوەکان نیشان بدە',
+'tog-showhiddencats' => 'پۆلە شاردراوەکان نیشان بدە',
 'tog-noconvertlink' => 'لەکارخستنی ئاڵوگۆڕی سەرناوی بەستەر',
 'tog-norollbackdiff' => 'لە دوای گەڕاندنەوە جیاوازی نیشان مەدە',
 'tog-useeditwarning' => 'ھۆشیارم بکەوە کاتێک لە پەڕەیەکی دەستکاری بە گۆڕانکاریی پاشەکەوت‌نەکراو دەردەچم',
@@ -262,7 +262,7 @@ $messages = array(
 'category-media-header' => 'میدیای پۆلی «$1»',
 'category-empty' => "''ئەم پۆلە ھەنووکە ھیچ پەڕە یان پەڕگەیەک لە خۆ ناگرێت.‌''",
 'hidden-categories' => '{{PLURAL:$1|پۆلی شاراوە|پۆلی شاراوە}}',
-'hidden-category-category' => 'پۆلە شاراوەکان',
+'hidden-category-category' => 'Ù¾Û\86Ù\84Û\95 Ø´Ø§Ø±Ø¯Ø±Ø§Ù\88Û\95کاÙ\86',
 'category-subcat-count' => '{{PLURAL:$2|ئەم پۆلە تەنھا ژێرپۆلی خوارەوەی تێدایە.| ئەم پۆلە ئەم {{PLURAL:$1|ژێرپۆلەی|$1 ژێرپۆلانەی}} خوارەوەی تێدایە، لە کۆی سەرجەم $2 دانە.}}',
 'category-subcat-count-limited' => 'ئەم هاوپۆلە {{PLURAL:$1|ژێرهاوپۆلی}} لەخۆ گرتووە.',
 'category-article-count' => '{{PLURAL:$2|ئەم پۆلە تەنھا ئەم پەڕەی لەخۆگرتووە.|{{PLURAL:$1|پەڕە|$1 پەڕە}} لەم پۆلەدا، لە سەرجەم $2 پەڕە.}}',
@@ -664,7 +664,6 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'دووبارە ڕێکخستنەوەی تێپەڕوشە',
-'passwordreset-text' => 'ئەم فۆرمە پڕ بکەوە بۆ گرتنی ئیمەیلێکی بیرخەرەوەی وردەکارییەکانی ھەژمارەکەت.',
 'passwordreset-legend' => 'دووبارە ڕێکخستنەوەی تێپەڕوشە',
 'passwordreset-username' => 'ناوی بەکارھێنەری:',
 'passwordreset-domain' => 'پاوان:',
@@ -1814,7 +1813,7 @@ $1',
 'brokenredirects-edit' => 'دەستکاری',
 'brokenredirects-delete' => 'سڕینەوە',
 
-'withoutinterwiki' => 'پەڕەکانی بێ بەستەرەکانی زمان',
+'withoutinterwiki' => 'پەڕەکان بەبێ بەستەرەکانی زمان',
 'withoutinterwiki-summary' => 'ئەم پەڕانە بەستەریان بۆ وەشانەکانی زمانەکانی تر نیە.',
 'withoutinterwiki-legend' => 'پێشگر',
 'withoutinterwiki-submit' => 'پیشاندان',
@@ -2042,8 +2041,8 @@ $1',
 'notvisiblerev' => 'پیاچوونەوە سڕاوەتەوە',
 'watchnochange' => 'ھیچکام لەو بابەتانە چاودێڕییان دەکەیت، لە ماوەی نیشاندراودا دەستکاری نەکراون.',
 'watchlist-details' => '{{PLURAL:$1|$1 پەڕە|$1 پەڕە}} لە لیستی چاودێریەکەتدایە، بێجگە پەڕەکانی لێدوان.',
-'wlheader-enotif' => 'ئەکرێ بە E-mail ئاگاداری بدەی',
-'wlheader-showupdated' => "‏ئەو پەڕانە کە لە پاش دواین سەردانت دەستکاری کراون بە '''ئەستوور''' نیشان دراون",
+'wlheader-enotif' => 'ئەکرێ بە E-mail ئاگاداری بدەی',
+'wlheader-showupdated' => "‏ئەو پەڕانە کە لە پاش دواین سەردانت دەستکاری کراون بە '''ئەستوور''' نیشان دراون",
 'watchmethod-recent' => 'سەرنج‌دانی دوایین دەستکاریەکان بۆ لاپەڕە چاودێری‌کراوەکان',
 'watchmethod-list' => 'سەرنج‌دانی لاپەڕە چاودێری‌کراوەکان بۆ دوایین دەستکاریەکان',
 'watchlistcontains' => 'لیستی چاودێڕییەکانت $1 {{PLURAL:$1|پەڕە|پەڕە}}ی تێدایە.',
@@ -2361,8 +2360,8 @@ $1',
 'ipb-change-block' => 'دیسان بەربەست‌کردنەوەی ئەم بەکارهێنەرە بەم هەڵبژاردانە',
 'badipaddress' => 'ناونیشانی ئای‌پی نەگونجاو',
 'blockipsuccesssub' => 'بەربەست کردن سەرکەوتوو بوو',
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] بەربەستکراوە.<br />
³Û\95Û\8cرÛ\8c [[Special:BlockList|Ù\84Û\8cستÛ\8c Ø¨Û\95ربÛ\95ستÙ\86]] Ø¨Ú©Û\95 Ø¨Û\86 Ø¨Û\8cÙ\86Û\8cنەوەی بەربەستنەکان.',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] بەربەست کرا.<br />
¨Ú\95Ù\88اÙ\86Û\95 [[Special:BlockList|Ù¾Û\8eرستÛ\8c Ø¨Û\95ربÛ\95ستÙ\86]] Ø¨Û\86 Ø¨Û\95سÛ\95رداÚ\86Ù\88Ù\88نەوەی بەربەستنەکان.',
 'ipb-edit-dropdown' => 'دەستکاری هۆکارەکانی بەربەست',
 'ipb-unblock-addr' => 'لە بەربەست‌دەرهێنانی $1',
 'ipb-unblock' => 'لە بەربەست‌دەرهێنانی ناوی بەکارهێنەریەک یا ناونیشانێکی ئای‌پی',
index c4cad31..198345f 100644 (file)
@@ -83,7 +83,6 @@ $messages = array(
 
 # Cologne Blue skin
 'qbpageoptions' => 'Issa pagina',
-'qbpageinfo' => 'Cuntestu',
 'qbmyoptions' => 'E mo pagine',
 'qbspecialpages' => 'Pagine spiciale',
 
@@ -201,7 +200,6 @@ U to indirizzu IP serà registratu indu a cronolugia di ista pagina.",
 'yourdiff' => 'Differenze',
 'template-protected' => '(prutettu)',
 'template-semiprotected' => '(mezu prutettu)',
-'nocreatetitle' => 'Creazione di pagina limitata',
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Registramentu micca pussibile',
@@ -361,7 +359,7 @@ U to indirizzu IP serà registratu indu a cronolugia di ista pagina.",
 # Special:ListUsers
 'listusers-submit' => 'Mustrà',
 
-# E-mail user
+# Email user
 'emailto' => 'À:',
 'emailsubject' => 'Sughjettu:',
 'emailmessage' => 'Messaghju:',
@@ -373,9 +371,8 @@ U to indirizzu IP serà registratu indu a cronolugia di ista pagina.",
 'watch' => 'Seguità',
 
 'enotif_reset' => 'Marcà tutte e pagine visitate',
-'enotif_newpagetext' => 'Ista hè una pagina nova.',
-'changed' => 'cambiatu',
 'created' => 'creatu',
+'changed' => 'cambiatu',
 
 # Delete
 'deletepage' => 'Supprimà a pagina',
@@ -494,7 +491,7 @@ U to indirizzu IP serà registratu indu a cronolugia di ista pagina.",
 'ilsubmit' => 'Ricerca',
 'bydate' => 'per data',
 
-# EXIF tags
+# Exif tags
 'exif-orientation' => 'Orientazione',
 'exif-imagedescription' => "Titulu di l'imagine",
 'exif-artist' => 'Autore',
@@ -535,9 +532,6 @@ U to indirizzu IP serà registratu indu a cronolugia di ista pagina.",
 # Special:Version
 'version' => 'Versione',
 
-# Special:FilePath
-'filepath-page' => 'Schedariu:',
-
 # Special:SpecialPages
 'specialpages' => 'Pagine spiciale',
 
index 1184b13..0bfb361 100644 (file)
@@ -43,9 +43,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Ipakita ang mga numero sang mga gatan-aw nga manug-usar',
 'tog-oldsig' => 'Nagkayara nga pirma:',
 'tog-fancysig' => 'Ituring ang pirma bilang teksto sang wiki (wala sang automatik nga link)',
-'tog-externaleditor' => 'Maggamit sang panggwa nga manug-ilis paagi sa default ( para sa mga ekspeto lang, kinanglan ang espesyal nga mga setting sa imo kompyuter)',
-'tog-externaldiff' => 'Maggamit sang panggwa nga kinala-in paagi sa default ( para sa mga ekspeto lang, kinanglan ang espesyal nga setting sa imo kumpyuter.
-[//www.mediawiki.org/wiki/Manual:External_editors Mas madamu pa nga impormasyon.])',
 'tog-showjumplinks' => 'Pasugtan ang mga "tumbo sa" kadali-an nga mga link',
 'tog-uselivepreview' => 'Maggamit sang buhi nga prebyu (kinanglan ang Javascript) (Eksperimental)',
 'tog-forceeditsummary' => 'Hambalan ako kung nagapasulod sang wala unod nga pag-ilis kabilugan',
@@ -720,7 +717,7 @@ Ang paglarawan nga yara sa ibabaw sang [$2 pahina sang paglarawan sang akta] sin
 # Special:ListGroupRights
 'listgrouprights-members' => '(lista sang mga myembro)',
 
-# E-mail user
+# Email user
 'emailuser' => 'I-email mini nga naga-usar',
 
 # Watchlist
index fce5ba8..3d20866 100644 (file)
@@ -135,8 +135,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Козеткен къулланыджы сайысыны косьтер',
 'tog-oldsig' => 'Шимдики имза:',
 'tog-fancysig' => 'Имза викиметин киби олсун (автоматик багъланты олмаз)',
-'tog-externaleditor' => 'Тыш тюрлендиргич (редактор) къуллан (теджрибели къулланыджылар ичюн; компьютеринъизни махсус сазламакъ керек. [ //www.mediawiki.org/wiki/Manual:External_editors тафсилятлы малюмат мында])',
-'tog-externaldiff' => 'Тенъештирмек ичюн тыш бир программа къуллан (теджрибели къулланыджылар ичюн; компьютеринъизни махсус сазламакъ керек. [ //www.mediawiki.org/wiki/Manual:External_editors тафсилятлы малюмат мында])',
 'tog-showjumplinks' => '«Бар» багълантысыны фааллештир',
 'tog-uselivepreview' => 'Джанлы бакъып чыкъув хусусиетини къуллан (JavaScript) (даа денъеме алында)',
 'tog-forceeditsummary' => 'Денъиштирменинъ къыскъа тарифини бош ташласам мени тенбиле',
@@ -893,9 +891,6 @@ $3 мына бу себепни бильдирди: ''$2''",
 'search-external' => 'Тыш къыдырув',
 'searchdisabled' => '{{SITENAME}} сайтында къыдырув япма вакътынджа токътатылды. Бу арада Google къулланып {{SITENAME}} ичинде къыдырув япып оласынъыз. Къыдырув сайтларында индекслемелерининъ бираз эски къалгъан ола биледжегини козь огюне алынъыз.',
 
-# Quickbar
-'qbsettings' => 'Вызлы иришим сутун сазламалары',
-
 # Preferences page
 'preferences' => 'Сазламалар',
 'mypreferences' => 'Сазламалар',
@@ -1428,8 +1423,8 @@ $3 мына бу себепни бильдирди: ''$2''",
 'notanarticle' => 'Малюмат саифеси дегиль',
 'watchnochange' => 'Косьтерильген заман аралыгъында козетюв джедвелинъиздеки саифелернинъ ич бири денъиштирильмеген.',
 'watchlist-details' => 'Музакере саифелерини эсапкъа алмайып, козетюв джедвелинъизде {{PLURAL:$1|1|$1}} саифе бар.',
-'wlheader-enotif' => 'E-mail иле хабер берюв ачылды.',
-'wlheader-showupdated' => "Сонъки зияретинъизден сонъ денъиштирильген саифелер '''къалын арифлернен''' косьтерильди.",
+'wlheader-enotif' => 'E-mail иле хабер берюв ачылды.',
+'wlheader-showupdated' => "Сонъки зияретинъизден сонъ денъиштирильген саифелер '''къалын арифлернен''' косьтерильди.",
 'watchmethod-recent' => 'сонъки денъиштирмелер арасында козеткен саифелеринъиз къыдырыла',
 'watchmethod-list' => 'козетюв джедвелиндеки саифелер тешкериле',
 'watchlistcontains' => 'Сизинъ козетюв джедвелинъизде {{PLURAL:$1|1|$1}} саифе бар.',
@@ -1818,13 +1813,8 @@ MediaWiki интерфейсининъ чешит тиллерге терджи
 'spam_blanking' => 'Бар олгъан версияларда $1 сайтына багълантылар бар, темизлев',
 
 # Skin names
-'skinname-standard' => 'Стандарт',
-'skinname-nostalgia' => 'Ностальгия',
 'skinname-cologneblue' => 'Кёльн асретлиги',
 'skinname-monobook' => 'MonoBook',
-'skinname-myskin' => 'Озь ресимлеме',
-'skinname-chick' => 'Чипче',
-'skinname-simple' => 'Адий',
 
 # Patrol log
 'patrol-log-page' => 'Тешкерюв журналы',
@@ -1897,7 +1887,7 @@ MediaWiki интерфейсининъ чешит тиллерге терджи
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-make' => 'Камера маркасы',
 'exif-model' => 'Камера модели',
 'exif-artist' => 'Яратыджысы',
@@ -1922,7 +1912,7 @@ MediaWiki интерфейсининъ чешит тиллерге терджи
 'exif-gpstimestamp' => 'GPS сааты (атом сааты)',
 'exif-gpssatellites' => 'Ольчемек ичюн къуллангъаны спутниклер',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Сыкъыштырылмагъан',
 
 'exif-orientation-3' => '180° айландырылгъан',
index 2215b81..8791d0f 100644 (file)
@@ -1418,8 +1418,8 @@ Bundan soñ, bu saifede ve onıñ muzakere saifesinde yapılacaq deñiştirmeler
 'notanarticle' => 'Malümat saifesi degil',
 'watchnochange' => 'Kösterilgen zaman aralığında közetüv cedveliñizdeki saifelerniñ iç biri deñiştirilmegen.',
 'watchlist-details' => 'Muzakere saifelerini esapqa almayıp, közetüv cedveliñizde {{PLURAL:$1|1|$1}} saife bar.',
-'wlheader-enotif' => 'E-mail ile haber berüv açıldı.',
-'wlheader-showupdated' => "Soñki ziyaretiñizden soñ deñiştirilgen saifeler '''qalın ariflernen''' kösterildi.",
+'wlheader-enotif' => 'E-mail ile haber berüv açıldı.',
+'wlheader-showupdated' => "Soñki ziyaretiñizden soñ deñiştirilgen saifeler '''qalın ariflernen''' kösterildi.",
 'watchmethod-recent' => 'soñki deñiştirmeler arasında közetken saifeleriñiz qıdırıla',
 'watchmethod-list' => 'közetüv cedvelindeki saifeler teşkerile',
 'watchlistcontains' => 'Siziñ közetüv cedveliñizde {{PLURAL:$1|1|$1}} saife bar.',
@@ -1881,7 +1881,7 @@ Er satır * işaretinen başlamalı. Satırnıñ birinci bağlantısı qоşmağ
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-make' => 'Kamera markası',
 'exif-model' => 'Kamera modeli',
 'exif-artist' => 'Yaratıcısı',
@@ -1906,7 +1906,7 @@ Er satır * işaretinen başlamalı. Satırnıñ birinci bağlantısı qоşmağ
 'exif-gpstimestamp' => 'GPS saatı (atom saatı)',
 'exif-gpssatellites' => 'Ölçemek içün qullanğanı sputnikler',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Sıqıştırılmağan',
 
 'exif-orientation-3' => '180° aylandırılğan',
index 2618571..2d908af 100644 (file)
@@ -469,6 +469,18 @@ $messages = array(
 'oct' => '10.',
 'nov' => '11.',
 'dec' => '12.',
+'january-date' => '$1. ledna',
+'february-date' => '$1. února',
+'march-date' => '$1. března',
+'april-date' => '$1. dubna',
+'may-date' => '$1. května',
+'june-date' => '$1. června',
+'july-date' => '$1. července',
+'august-date' => '$1. srpna',
+'september-date' => '$1. září',
+'october-date' => '$1. října',
+'november-date' => '$1. listopadu',
+'december-date' => '$1. prosince',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategorie|Kategorie|Kategorie}}',
@@ -835,7 +847,7 @@ Zvolte si prosím jiné jméno.',
 'nocookiesfornew' => 'Uživatelský účet nebyl založen, neboť jsme nebyli schopni potvrdit jeho původ.
 Ujistěte se, že máte povoleny cookies, obnovte tuto stránku a zkuste to znovu.',
 'noname' => 'Musíte uvést jméno svého účtu.',
-'loginsuccesstitle' => 'Přihlášení uspělo',
+'loginsuccesstitle' => 'Přihlášení bylo úspěšné',
 'loginsuccess' => 'Nyní jste přihlášen na {{grammar:6sg|{{SITENAME}}}} jako uživatel „$1“.',
 'nosuchuser' => 'Neexistuje uživatel se jménem „$1“. U uživatelských jmen se rozlišují malá/velká písmena. Zkontrolujte zápis, nebo si [[Special:UserLogin/signup|vytvořte nový účet]].',
 'nosuchusershort' => 'Neexistuje uživatel se jménem „$1“. Zkontrolujte zápis.',
@@ -916,11 +928,9 @@ Možná jste si již úspěšně heslo změnili, nebo jste si vyžádali nové d
 
 # Special:PasswordReset
 'passwordreset' => 'Reset hesla',
-'passwordreset-text' => 'Pro získání nového hesla vyplňte tento formulář.',
 'passwordreset-legend' => 'Znovu nastavit heslo',
 'passwordreset-disabled' => 'Znovunastavení hesla je na této wiki zakázáno.',
 'passwordreset-emaildisabled' => 'E-mailové funkce byly na této wiki vypnuty.',
-'passwordreset-pretext' => '{{PLURAL:$1||Zadejte jeden z údajů níže}}',
 'passwordreset-username' => 'Uživatelské jméno:',
 'passwordreset-domain' => 'Doména:',
 'passwordreset-capture' => 'Prohlédnout si výsledný e-mail?',
@@ -1152,13 +1162,14 @@ Podrobnosti si můžete prohlédnout v níže zobrazeném seznamu provedených p
 Zřejmě byla smazána.',
 'edit-conflict' => 'Editační konflikt.',
 'edit-no-change' => 'Vaše editace byla ignorována, protože nedošlo k žádné změně textu.',
+'postedit-confirmation' => 'Vaše změny byly uloženy.',
 'edit-already-exists' => 'Nepodařilo se vytvořit novou stránku, protože již existuje.',
 'defaultmessagetext' => 'Výchozí text hlášení',
 'content-failed-to-parse' => 'Nepodařilo se zpracovat data $2 do modelu $1: $3',
 'invalid-content-data' => 'Obsažená data jsou chybná',
 'content-not-allowed-here' => 'Obsah typu $1 není na stránce [[$2]] dovolen.',
 'editwarning-warning' => 'Opuštěním této stránky se mohou veškeré provedené změny ztratit.
-Pokud jste {{GENDER:|přihlášen|přihlášena|přihlášeni}}, můžete si toto varování vypnout na záložce „{{int:prefs-editing}}“ v uživatelském nastavení.',
+Pokud jste {{GENDER:|přihlášen|přihlášena|přihlášeni}}, můžete si toto varování vypnout na záložce „Editace“ v uživatelském nastavení.',
 
 # Content models
 'content-model-wikitext' => 'wikitext',
@@ -2401,8 +2412,8 @@ Ve [[Special:Watchlist|sledovaných stránkách]] se tak budou objevovat budouc
 'notvisiblerev' => 'Verze byla smazána',
 'watchnochange' => 'Žádná ze sledovaných položek nebyla editována v době, která je zobrazena.',
 'watchlist-details' => 'Na svém seznamu sledovaných stránek máte $1 {{PLURAL:$1|stránku|stránky|stránek}}, nepočítají se diskusní stránky.',
-'wlheader-enotif' => 'Upozorňování e-mailem je zapnuto.',
-'wlheader-showupdated' => "* Stránky, které se změnily od vaší poslední návštěvy, jsou zobrazeny '''tučně'''",
+'wlheader-enotif' => 'Upozorňování e-mailem je zapnuto.',
+'wlheader-showupdated' => "Stránky, které se změnily od vaší poslední návštěvy, jsou zobrazeny '''tučně'''.",
 'watchmethod-recent' => 'hledají se sledované stránky mezi posledními změnami',
 'watchmethod-list' => 'hledají se nejnovější editace sledovaných stránek',
 'watchlistcontains' => 'Na svém seznamu sledovaných stránek máte $1 {{PLURAL:$1|položku|položky|položek}}.',
@@ -2960,6 +2971,8 @@ Pokud si přejete přispívat k lokalizaci softwaru MediaWiki, navštivte [//www
 'thumbnail-more' => 'Zvětšit',
 'filemissing' => 'Chybějící soubor',
 'thumbnail_error' => 'Chyba při vytváření náhledu: $1',
+'thumbnail_error_remote' => 'Chybové hlášení z {{grammar:2sg|$1}}:
+$2',
 'djvu_page_error' => 'Stránka DjVu mimo rozsah',
 'djvu_no_xml' => 'Vytvoření XML pro soubor DjVu se nezdařilo.',
 'thumbnail-temp-create' => 'Dočasný soubor náhledu nelze vytvořit.',
@@ -3111,7 +3124,6 @@ Uložte jej na svůj disk a nahrajte ho sem.',
 'modern.css' => '/* Zde uvedené CSS bude ovlivňovat pouze styl „Moderní“ */',
 'vector.css' => '/* Zde uvedené CSS bude ovlivňovat pouze styl „Vektor“ */',
 'print.css' => '/* Zde uvedené CSS bude ovlivňovat tiskový výstup */',
-'handheld.css' => '/* Zde uvedené CSS bude ovlivňovat přenosná zařízení vycházející ze stylu nastaveného v proměnné $wgHandheldStyle */',
 'noscript.css' => '/* Zde uvedené CSS bude ovlivňovat uživatele s vypnutým JavaScriptem */',
 'group-autoconfirmed.css' => '/* Zde uvedené CSS bude ovlivňovat pouze automaticky schválené uživatele */',
 'group-bot.css' => '/* Zde uvedené CSS bude ovlivňovat pouze boty */',
@@ -3281,8 +3293,8 @@ Otevřením souboru můžete ohrozit svůj počítač.",
 'hours' => '{{PLURAL:$1|$1 hodina|$1 hodiny|$1 hodin}}',
 'days' => '{{PLURAL:$1|$1 den|$1 dny|$1 dní}}',
 'weeks' => '{{PLURAL:$1|$1 týden|$1 týdny|$1 týdnů}}',
-'months' => '{{PLURAL:$1|$1 měsícem|$1 měsíci}}',
-'years' => '{{PLURAL:$1|$1 rokem|$1 roky}}',
+'months' => '{{PLURAL:$1|$1 měsíc|$1 měsíce|$1 měsíců}}',
+'years' => '{{PLURAL:$1|$1 rok|$1 roky|$1 let}}',
 'ago' => 'před $1',
 'just-now' => 'právě teď',
 
index ae8744a..ef63944 100644 (file)
@@ -68,8 +68,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Pòkażë lëczba ùzérającëch brëkòwników',
 'tog-oldsig' => 'Pòdzérk wëzdrzatkù twòjegò pòdpisënka',
 'tog-fancysig' => 'Wzérôj na pòdpisënk jakno na wikikòd (bez aùtomatnych lënków)',
-'tog-externaleditor' => 'Brëkùjë domëslno bùtnowégò editora (blós dlô ekspertów, je nót ekstra nastôwów w twòjim kòmpùtrze)',
-'tog-externaldiff' => 'Brëkùjë domëslno bùtnowégò nôrzãdza diff (blós dlô ekspertów.je nót ekstra nastôwów w twòjim kòmpùtrze)',
 'tog-showjumplinks' => 'Włączë lënczi przëstãpù "òbaczë téż"',
 'tog-uselivepreview' => 'Brëkùjë wtimczasnegò pòdzérkù (JavaScript) (eksperimentalné)',
 'tog-forceeditsummary' => 'Pëtôj przed wéńdzenim do pùstégò pòdrechòwania edicëji',
@@ -583,9 +581,6 @@ Spróbùjë szëkbë z przëdôwkã ''all:'' dlô całowny zamkłoscë starnów
 'powersearch-redir' => 'Lësta przeczerowaniów',
 'powersearch-field' => 'Szëkba za',
 
-# Quickbar
-'qbsettings' => 'Sztrépk chùtczégò przistãpù',
-
 # Preferences page
 'preferences' => 'Preferencëje',
 'mypreferences' => 'Mòje nastôwë',
@@ -890,7 +885,7 @@ Mòżesz zawãżëc wëszłosc przez wëbranié ôrtu registru, miona brëkòwni
 # Special:ListGroupRights
 'listgrouprights-members' => '(lësta nôlëżników karna)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Wëslë e-maila do negò brëkòwnika',
 'emailpage' => 'Sélajë e-mail do brëkòwnika',
 'defemailsubject' => 'E-mail òd {{SITENAME}}',
@@ -917,7 +912,7 @@ Czej chcesz remôc starnã z lëste ùzéronëch artiklów, klikni ''Òprzestôj
 'unwatchthispage' => 'Òprzestôj ùzerac ną starnã',
 'notanarticle' => 'To nie je artikel',
 'watchlist-details' => 'Ùzérôsz {{PLURAL:$1|$1 artikel|$1 artikle/-ów}}, nie rechùjąc diskùsëjów.',
-'wlheader-showupdated' => "Artiklë jakczé òsta zmienioné òd Twòji slédny wizytë są wëapratnioné '''pògrëbieniém'''",
+'wlheader-showupdated' => "Artiklë jakczé òsta zmienioné òd Twòji slédny wizytë są wëapratnioné '''pògrëbieniém'''",
 'watchmethod-list' => 'szëkba ùzérónëch artiklów westrzód pòslédnëch edicëjów',
 'watchlistcontains' => 'Na twòji lësce ùzérónëch artiklów {{PLURAL:$1|je 1 strana|są $1 starnë|je $1 starnów}}.',
 'wlnote' => "Niżi môsz wëskrzënioné {{PLURAL:$1|slédną zmianã|'''$1''' slédnëch zmianów}} zrobioné òb {{PLURAL:$2|gòdzënã|'''$2''' gòdzënë/gòdzënów}}.",
@@ -1227,7 +1222,7 @@ Jinszé pòla bãdą domëslno zataconé.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-source' => 'Zdrój',
 'exif-languagecode' => 'Jãzëk',
 
@@ -1243,7 +1238,7 @@ Jinszé pòla bãdą domëslno zataconé.
 'monthsall' => 'wszëtczé',
 'limitall' => 'wszëtczé',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail_loggedin' => 'Twòjô adresa e-mail òsta pòcwierdzona.',
 
 # action=purge
index 89e0d8f..7223552 100644 (file)
@@ -760,7 +760,7 @@ $messages = array(
 # Special:NewFiles
 'ilsubmit' => 'ищи',
 
-# EXIF tags
+# Exif tags
 'exif-artist' => 'творьць',
 
 # 'all' in various places, this might be different for inflected languages
@@ -792,9 +792,6 @@ $messages = array(
 'version-license' => 'прощєниѥ',
 'version-software-version' => 'обраꙁъ',
 
-# Special:FilePath
-'filepath-page' => 'дѣло :',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-submit' => 'ищи',
 
index 377a32c..0be8a21 100644 (file)
@@ -71,8 +71,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Страницăна миçе хутшăнакан сăнав списокне кĕртнине кăтартмалла',
 'tog-oldsig' => 'Хальхи алӑ пусни:',
 'tog-fancysig' => 'Хăвăр тунă алă пуснин вики-паллисем',
-'tog-externaleditor' => 'Палăртман чухне тулашри редактора усă курмалла',
-'tog-externaldiff' => 'Палăртман чухне версисене танлаштарма тулашри программăна усă курмалла',
 'tog-showjumplinks' => '«... патне куç» хушма каçăсене усă курмалла',
 'tog-uselivepreview' => 'Хăвăрт кăтартакан малтанхи курăнăва усă курмалла (JavaScript, экспериментлă)',
 'tog-forceeditsummary' => 'Тӳрлетӳсен кĕске ăнлантарăвне кăтартман чухне асăрхаттармалла',
@@ -587,9 +585,6 @@ $1 хутшăнакан патне, е ытти [[{{MediaWiki:Grouppage-sysop}}|
 'powersearch' => 'Анлă шырав',
 'powersearch-legend' => 'Анлă шырав',
 
-# Quickbar
-'qbsettings' => 'Навигаци хăми',
-
 # Preferences page
 'preferences' => 'Ĕнерлевсем',
 'mypreferences' => 'Ман ĕнерлевсем',
@@ -888,7 +883,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'listgrouprights-group' => 'Ушкăн',
 'listgrouprights-helppage' => 'Help:Ушкăн прависем',
 
-# E-mail user
+# Email user
 'emailuser' => 'Хутшăнакана çыру яр... (Письмо участнику)',
 'usermailererror' => 'Электронлă почта урлă пĕлтерӳ янă чухне йăнăш тухрĕ:',
 'noemailtitle' => 'Электронлă почта адресĕ çук',
@@ -1128,7 +1123,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 # Metadata
 'metadata' => 'Метаданнăйсем:',
 
-# EXIF tags
+# Exif tags
 'exif-exifversion' => 'Exif версийĕ',
 'exif-flashpixversion' => 'Ĕçлеме пултаракан FlashPix версийĕ',
 'exif-gpsversionid' => 'GPS-информаци блокĕн версийĕ',
@@ -1147,7 +1142,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'watchlistall2' => 'пурте',
 'namespacesall' => 'пурте',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail_sent' => 'Çирĕплетмелли ыйтуллă çырăва ятăмăр.',
 'confirmemail_success' => 'Сирĕн электронлă почтăн адресне çирĕплентĕ.',
 'confirmemail_loggedin' => 'Сирĕн электронлă почтăн адресне çирĕплетрĕмĕр.',
@@ -1193,10 +1188,6 @@ Also see [[Special:WantedCategories|wanted categories]].',
 # Special:Version
 'version' => 'MediaWiki версийĕ',
 
-# Special:FilePath
-'filepath' => 'Файл çулĕ',
-'filepath-submit' => 'Çул',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Пĕр пек файлсен шыравĕ',
 'fileduplicatesearch-legend' => 'Дубликатсен шыравĕ',
index bd5abef..a7e2343 100644 (file)
@@ -224,6 +224,18 @@ $messages = array(
 'oct' => 'Hyd',
 'nov' => 'Tach',
 'dec' => 'Rhag',
+'january-date' => '$1 Ionawr',
+'february-date' => '$1 Chwefror',
+'march-date' => '$1 Mawrth',
+'april-date' => '$1 Ebrill',
+'may-date' => '$1 Mai',
+'june-date' => '$1 Mehefin',
+'july-date' => '$1 Gorffennaf',
+'august-date' => '$1 Awst',
+'september-date' => '$1 Medi',
+'october-date' => '$1 Hydref',
+'november-date' => '$1 Tachwedd',
+'december-date' => '$1 Rhagfyr',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categori|Categori|Categorïau|Categorïau|Categorïau|Categorïau}}',
@@ -665,11 +677,11 @@ Gall fod eich bod wedi llwyddo newid eich cyfrinair eisoes neu eich bod wedi gof
 
 # Special:PasswordReset
 'passwordreset' => 'Ailosod cyfrinair',
-'passwordreset-text' => 'Cwblhewch y ffurflen hon er mwyn ailosod eich cyfrinair.',
+'passwordreset-text-one' => 'Cwblhewch y ffurflen hon er mwyn ailosod eich cyfrinair.',
+'passwordreset-text-many' => "{{PLURAL:$1|Rhowch un o'r dewis o fanylion derbyniol er mwyn ailosod eich cyfrinair.}}",
 'passwordreset-legend' => 'Ailosod y cyfrinair',
 'passwordreset-disabled' => 'Analluogwyd ailosod cyfrineiriau ar y wici hwn.',
 'passwordreset-emaildisabled' => 'Analluogwyd offer e-bost ar y wici hwn.',
-'passwordreset-pretext' => "{{PLURAL:$1|||Rhowch un o'r darnau o ddata isod|Rhowch un o'r darnau o ddata isod|Rhowch un o'r darnau o ddata isod|Rhowch un o'r darnau o ddata isod|Rhowch un o'r darnau o ddata isod}}",
 'passwordreset-username' => 'Eich enw defnyddiwr:',
 'passwordreset-domain' => 'Parth:',
 'passwordreset-capture' => 'Gweld yr e-bost a gaiff ei anfon?',
@@ -898,6 +910,7 @@ Ni roddodd eglurhad.',
 Ymddengys iddi gael ei dileu.",
 'edit-conflict' => 'Cyd-ddigwyddiad golygu.',
 'edit-no-change' => 'Anwybyddwyd eich golygiad, gan na newidiwyd y testun.',
+'postedit-confirmation' => 'Rhoddwyd eich golygiad ar gadw.',
 'edit-already-exists' => 'Ni ellid creu tudalen newydd.
 Mae ar gael yn barod.',
 'defaultmessagetext' => 'Y testun rhagosodedig',
@@ -905,7 +918,7 @@ Mae ar gael yn barod.',
 'invalid-content-data' => "Data annilys i'r cynnwys",
 'content-not-allowed-here' => 'Nid yw cynnwys ar ffurf "$1" yn cael ei ganiatau ar y dudalen [[$2]]',
 'editwarning-warning' => 'Os y gadewch y dudalen hon mae\'n bosib y collwch eich newidiadau iddi.
-Gallwch ddiddymu\'r rhybudd hwn yn yr adran "{{int:prefs-editing}}" yn eich dewisiadau.',
+Os ydych wedi mewngofnodi gallwch ddiddymu\'r rhybudd hwn yn yr adran "Golygu" yn eich dewisiadau.',
 
 # Content models
 'content-model-wikitext' => 'cystrawen wici',
@@ -2146,8 +2159,8 @@ Pan fydd y dudalen hon, neu ei thudalen sgwrs, yn newid, fe fyddant yn ymddangos
 'notvisiblerev' => 'Y diwygiad wedi cael ei ddileu',
 'watchnochange' => "Ni olygwyd dim o'r erthyglau yr ydych yn cadw golwg arnynt yn ystod y cyfnod uchod.",
 'watchlist-details' => '{{PLURAL:$1|Nid oes dim tudalennau|Mae $1 dudalen|Mae $1 dudalen|Mae $1 tudalen|Mae $1 thudalen|Mae $1 o dudalennau}} ar eich rhestr wylio, heb gynnwys tudalennau sgwrs.',
-'wlheader-enotif' => 'Galluogwyd hysbysiadau trwy e-bost.',
-'wlheader-showupdated' => "* Mae tudalennau sydd wedi newid ers i chi ymweld ddiwethaf wedi'u '''hamlygu'''.",
+'wlheader-enotif' => 'Galluogwyd hysbysiadau trwy e-bost.',
+'wlheader-showupdated' => "Mae tudalennau sydd wedi newid ers i chi eu gweld ddiwethaf wedi'u '''hamlygu'''.",
 'watchmethod-recent' => "yn chwilio'r diwygiadau diweddar am dudalennau ar y rhestr wylio",
 'watchmethod-list' => "yn chwilio'r tudalennau ar y rhestr wylio am ddiwygiadau diweddar",
 'watchlistcontains' => '{{PLURAL:$1|Nid oes dim tudalennau|Mae $1 dudalen|Mae $1 dudalen|Mae $1 tudalen|Mae $1 thudalen|Mae $1 o dudalennau}} ar eich rhestr wylio.',
@@ -2724,6 +2737,8 @@ Os ydych am gyfrannu at y gwaith o gyfieithu ar gyfer holl prosiectau MediaWiki
 'thumbnail-more' => 'Chwyddo',
 'filemissing' => 'Ffeil yn eisiau',
 'thumbnail_error' => "Cafwyd gwall wrth greu'r mân-lun: $1",
+'thumbnail_error_remote' => 'Neges am y gwall o $1:
+$2',
 'djvu_page_error' => 'Y dudalen DjVu allan o amrediad',
 'djvu_no_xml' => 'Ddim yn gallu mofyn XML ar gyfer ffeil DjVu',
 'thumbnail-temp-create' => 'Wedi methu gwneud ffeil mân-lun dros dro',
index 1c9f4a7..eadb9ac 100644 (file)
@@ -298,6 +298,18 @@ $messages = array(
 'oct' => 'okt',
 'nov' => 'nov',
 'dec' => 'dec',
+'january-date' => '$1. januar',
+'february-date' => '$1. februar',
+'march-date' => '$1. marts',
+'april-date' => '$1. april',
+'may-date' => '$1. maj',
+'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. december',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategori|Kategorier}}',
@@ -613,7 +625,7 @@ Glem ikke at ændre dine [[Special:Preferences|{{SITENAME}} indstillinger]].',
 'createacct-yourpasswordagain-ph' => 'Indtast kodeord igen',
 'remembermypassword' => 'Husk mit brugernavn i denne browser (højst $1 {{PLURAL:$1|dag|dage}})',
 'userlogin-remembermypassword' => 'Husk mig',
-'userlogin-signwithsecure' => 'Log på med sikker server',
+'userlogin-signwithsecure' => 'Brug sikker forbindelse',
 'securelogin-stick-https' => 'Behold forbindelsen til HTTPS efter login',
 'yourdomainname' => 'Dit domænenavn:',
 'password-change-forbidden' => 'Du kan ikke ændre adgangskoder på denne wiki.',
@@ -634,6 +646,7 @@ Glem ikke at ændre dine [[Special:Preferences|{{SITENAME}} indstillinger]].',
 'gotaccount' => 'Har du allerede en konto? $1.',
 'gotaccountlink' => 'Log på',
 'userlogin-resetlink' => 'Har du glemt dine login oplysninger?',
+'userlogin-resetpassword-link' => 'Nulstil din adgangskode',
 'helplogin-url' => 'Help:Logge på',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hjælp til at logge på]]',
 'createacct-join' => 'Indtast dine oplysninger nedenfor.',
@@ -649,9 +662,9 @@ Glem ikke at ændre dine [[Special:Preferences|{{SITENAME}} indstillinger]].',
 'createacct-imgcaptcha-ph' => 'Indtast venligst ovenstående tekst',
 'createacct-submit' => 'Opret din konto',
 'createacct-benefit-heading' => '{{SITENAME}} laves af mennesker som dig.',
-'createacct-benefit-body1' => 'rettelser',
-'createacct-benefit-body2' => 'sider',
-'createacct-benefit-body3' => 'seneste bidragydere',
+'createacct-benefit-body1' => '{{PLURAL:$1|redigering|redigeringer}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|side|sider}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|nylig bidragyder|nylige bidragydere}}',
 'badretype' => 'De indtastede adgangskoder er ikke ens.',
 'userexists' => 'Det brugernavn, du har valgt, er allerede i brug.
 Vælg venligst et andet brugernavn.',
@@ -746,11 +759,9 @@ Du har muligvis allerede skiftet din adgangskode eller anmodet om en ny midlerti
 
 # Special:PasswordReset
 'passwordreset' => 'Nulstil adgangskode',
-'passwordreset-text' => 'Udfyld denne formular for at nulstille din adgangskode.',
 'passwordreset-legend' => 'Nulstil adgangskode',
 'passwordreset-disabled' => 'Nulstilling af kodeord er slået fra på denne wiki.',
 'passwordreset-emaildisabled' => 'E-mailfunktioner er slået fra på denne wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Indtast en af de nedenstående oplysninger}}',
 'passwordreset-username' => 'Brugernavn:',
 'passwordreset-domain' => 'Domæne:',
 'passwordreset-capture' => 'Se den resulterende email?',
@@ -1402,8 +1413,8 @@ Hvis du vælger at oplyse dit navn, vil det blive brugt til at tilskrive dig dit
 'saveusergroups' => 'Gem brugergrupper',
 'userrights-groupsmember' => 'Medlem af:',
 'userrights-groupsmember-auto' => 'Implicit medlem af:',
-'userrights-groups-help' => 'Du kan ændre denne brugers gruppermedlemsskaber:
-* Et markeret afkrydsningsfelt betyder at brugeren er medlen af den pågældende gruppe..
+'userrights-groups-help' => 'Du kan ændre denne brugers gruppemedlemsskaber:
+* Et markeret afkrydsningsfelt betyder at brugeren er medlen af den pågældende gruppe.
 * Et umarkeret felt betyder at brugeren ikke er medlem af gruppen.
 * En * betyder at du ikke kan fravælge gruppen, når den først er tilføjet og omvendt.',
 'userrights-reason' => 'Årsag:',
@@ -2125,7 +2136,7 @@ Se også [[Special:WantedCategories|ønskede kategorier]].',
 'special-categories-sort-abc' => 'sorter alfabetisk',
 
 # Special:DeletedContributions
-'deletedcontributions' => 'slettede brugerbidrag',
+'deletedcontributions' => 'Slettede brugerbidrag',
 'deletedcontributions-title' => 'Slettede brugerbidrag',
 'sp-deletedcontributions-contribs' => 'bidrag',
 
@@ -2233,8 +2244,8 @@ Fremtidige ændringer af denne side og dens tilknyttede diskussionsside vil bliv
 'notvisiblerev' => 'Versionen er blevet slettet',
 'watchnochange' => 'Ingen af siderne i din overvågningsliste er ændret i den valgte periode.',
 'watchlist-details' => 'Du har $1 {{PLURAL:$1|side|sider}} på din overvågningsliste (ekskl. diskussionssider).',
-'wlheader-enotif' => 'E-mail-underretning er slået til.',
-'wlheader-showupdated' => "* Sider der er ændret siden dit sidste besøg, er '''fremhævet'''",
+'wlheader-enotif' => 'E-mail-underretning er slået til.',
+'wlheader-showupdated' => "Sider, der er ændret siden dit sidste besøg, er vist med '''fed skrift'''.",
 'watchmethod-recent' => 'Tjekker seneste ændringer for sider i din overvågningsliste',
 'watchmethod-list' => 'Tjekker seneste ændringer for sider i din overvågningsliste',
 'watchlistcontains' => 'Din overvågningsliste indeholder $1 {{PLURAL:$1|side|sider}}.',
@@ -2799,6 +2810,8 @@ Besøg venligst [//www.mediawiki.org/wiki/Localisation MediaWiki-lokalisering] o
 'thumbnail-more' => 'Forstør',
 'filemissing' => 'Filen mangler',
 'thumbnail_error' => 'Fejl ved oprettelse af thumbnail: $1',
+'thumbnail_error_remote' => 'Fejlbesked fra $1:
+$2',
 'djvu_page_error' => 'DjVu-side udenfor sideområdet',
 'djvu_no_xml' => 'XML-data kan ikke hentes til DjVu-filen',
 'thumbnail-temp-create' => 'Kunne ikke oprette midlertidig miniaturefil',
index dd2d717..99c2da5 100644 (file)
@@ -522,6 +522,18 @@ $messages = array(
 '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|Kategorien}}',
@@ -872,7 +884,7 @@ Vergiss nicht, deine [[Special:Preferences|{{SITENAME}}-Einstellungen]] zu ände
 'createacct-realname' => 'Bürgerlicher Name (optional)',
 'createaccountreason' => 'Grund:',
 'createacct-reason' => 'Begründung',
-'createacct-reason-ph' => 'Warum du ein anderes Benutzerkonto erstellst',
+'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',
@@ -972,11 +984,11 @@ Möglicherweise hast du dein Passwort bereits erfolgreich geändert oder ein neu
 
 # Special:PasswordReset
 'passwordreset' => 'Passwort zurücksetzen',
-'passwordreset-text' => 'Bitte dieses Formular ausfüllen, um dein Passwort zurückzusetzen.',
+'passwordreset-text-one' => 'Fülle dieses Formular aus, um dein Passwort zurückzusetzen.',
+'passwordreset-text-many' => '{{PLURAL:$1|Gib eines der Daten ein, um dein Passwort zurückzusetzen.}}',
 'passwordreset-legend' => 'Passwort zurücksetzen',
 'passwordreset-disabled' => 'Das Zurücksetzen von Passwörtern wurde in diesem Wiki deaktiviert.',
 'passwordreset-emaildisabled' => 'Die E-Mail-Funktionen wurden auf diesem Wiki deaktiviert.',
-'passwordreset-pretext' => '{{PLURAL:$1||Gib eines der folgenden Daten ein.}}',
 'passwordreset-username' => 'Benutzername:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Die E-Mail-Nachricht ansehen?',
@@ -1211,13 +1223,14 @@ Zu deiner Information folgt das Lösch- und Verschiebungs-Logbuch mit der Begrü
 Sie wurde anscheinend gelöscht.',
 'edit-conflict' => 'Bearbeitungskonflikt.',
 'edit-no-change' => 'Deine Bearbeitung wurde ignoriert, da keine Änderung an dem Text vorgenommen wurde.',
+'postedit-confirmation' => 'Deine Bearbeitung wurde gespeichert.',
 'edit-already-exists' => 'Die neue Seite konnte nicht erstellt werden, da sie bereits vorhanden ist.',
 'defaultmessagetext' => 'Standardtext',
 'content-failed-to-parse' => 'Parsen des Inhalts $2 für Modell $1 fehlgeschlagen: $3',
 'invalid-content-data' => 'Ungültige Inhaltsdaten',
 'content-not-allowed-here' => 'Der Inhalt „$1“ ist auf der Seite [[$2]] nicht erlaubt',
 'editwarning-warning' => 'Das Verlassen dieser Seite kann dazu führen, dass deine Änderungen verloren gehen.
-Wenn du angemeldet bist, kannst du das Anzeigen dieser Warnung im „{{int:prefs-editing}}“-Bereich deiner Einstellungen abschalten.',
+Wenn du angemeldet bist, kannst du das Anzeigen dieser Warnung im Bereich „Bearbeiten“ deiner Einstellungen abschalten.',
 
 # Content models
 'content-model-wikitext' => 'Wikitext',
@@ -2461,8 +2474,8 @@ Spätere Änderungen an dieser Seite und der zugehörigen Diskussionsseite werde
 'notvisiblerev' => 'Version wurde gelöscht',
 'watchnochange' => 'Keine der von dir beobachteten Seiten wurde während des angezeigten Zeitraums bearbeitet.',
 'watchlist-details' => 'Du beobachtest {{PLURAL:$1|eine Seite|$1 Seiten}}, ohne dass Diskussionsseiten gezählt werden.',
-'wlheader-enotif' => 'Der E-Mail-Benachrichtigungsdienst ist aktiviert.',
-'wlheader-showupdated' => "Seiten mit noch nicht gesehenen Änderungen werden '''fett''' dargestellt.",
+'wlheader-enotif' => 'Der E-Mail-Benachrichtigungsdienst ist aktiviert.',
+'wlheader-showupdated' => "Seiten mit noch nicht gesehenen Änderungen werden '''fett''' dargestellt.",
 'watchmethod-recent' => 'Überprüfen der letzten Bearbeitungen für die Beobachtungsliste',
 'watchmethod-list' => 'Überprüfen der Beobachtungsliste nach letzten Bearbeitungen',
 'watchlistcontains' => 'Deine Beobachtungsliste enthält $1 {{PLURAL:$1|Seite|Seiten}}.',
@@ -3022,6 +3035,8 @@ Bitte besuche die Seiten [//www.mediawiki.org/wiki/Localisation MediaWiki-Lokali
 'thumbnail-more' => 'vergrößern',
 'filemissing' => 'Datei fehlt',
 'thumbnail_error' => 'Fehler beim Erstellen des Vorschaubildes: $1',
+'thumbnail_error_remote' => 'Fehlermeldung von $1:
+$2',
 'djvu_page_error' => 'DjVu-Seite außerhalb des Seitenbereichs',
 'djvu_no_xml' => 'XML-Daten können für die DjVu-Datei nicht abgerufen werden',
 'thumbnail-temp-create' => 'Die Datei für die temporäre Miniaturansicht konnte nicht erstellt werden',
@@ -3175,7 +3190,6 @@ Diese auf dem lokalen Rechner speichern und danach hier hochladen.',
 'modern.css' => '/* Das folgende CSS wird für Benutzer der Modern-Benutzeroberfläche geladen. Für allgemeingültige Benutzeroberflächen-Anpassungen bitte MediaWiki:Common.css bearbeiten. */',
 'vector.css' => '/* Das folgende CSS wird für Benutzer der Vector-Benutzeroberfläche geladen. Für allgemeingültige Benutzeroberflächen-Anpassungen bitte [[MediaWiki:Common.css]] bearbeiten. */',
 'print.css' => '/* Das folgende CSS wird in der Druckausgabe geladen. */',
-'handheld.css' => '/* Das folgende CSS wird für Handheld-Geräte, basierend auf der in $wgHandheldStyle konfigurierten Benutzeroberfläche, geladen. */',
 'noscript.css' => '/* Das folgende CSS wirkt sich für Benutzer aus, die JavaScript deaktiviert haben */',
 'group-autoconfirmed.css' => '/* CSS an dieser Stelle wirkt sich nur auf automatisch bestätigte Benutzer aus */',
 'group-bot.css' => '/* CSS an dieser Stelle wirkt sich nur auf Bots aus */',
@@ -4142,7 +4156,7 @@ Eine [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie der ''GNU General Public License'']
 'logentry-newusers-newusers' => 'Benutzerkonto $1 wurde {{GENDER:$2|erstellt}}',
 'logentry-newusers-create' => 'Benutzerkonto $1 wurde {{GENDER:$2|erstellt}}',
 'logentry-newusers-create2' => 'Benutzerkonto $3 wurde von $1 {{GENDER:$2|erstellt}}',
-'logentry-newusers-byemail' => 'Das Benutzerkonto $3 wurde von $1 {{GENDER:$2|erstellt}} und das Passwort wurde per E-Mail zugesandt',
+'logentry-newusers-byemail' => 'Benutzerkonto $3 wurde von $1 {{GENDER:$2|erstellt}} und das Passwort wurde per E-Mail zugesandt',
 'logentry-newusers-autocreate' => 'Benutzerkonto $1 wurde automatisch {{GENDER:$2|erstellt}}',
 'logentry-rights-rights' => '$1 {{GENDER:$2|änderte}} die Gruppenzugehörigkeit für $3 von $4 zu $5',
 'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|änderte}} die Gruppenzugehörigkeit für $3',
index 628bbbc..07d224b 100644 (file)
@@ -425,7 +425,7 @@ $messages = array(
 'category-empty' => "''Ena kategoriye de hewna qet nuştey ya zi medya çıniyê.''",
 'hidden-categories' => '{{PLURAL:$1|Kategoriya nımıtiye|Kategoriyê nımıtey}}',
 'hidden-category-category' => 'Kategoriyê nımıtey',
-'category-subcat-count' => '{{PLURAL:$2|Na kategoriya de tenya ena kategoriya bınêne esta.|Na kategoriye de {{PLURAL:$1|ena kategoriye esta|$1 enê kategoriy estê}}, be $2 ra pêro piya.}}',
+'category-subcat-count' => '{{PLURAL:$2|Na kategoriya de $1 bınkategoriyay estê.|$2 kategoriyan ra $1 bınkategoriyay asenê.}}',
 'category-subcat-count-limited' => 'Na kategoriye de {{PLURAL:$1|ena kategoriya bınêne esta|enê $1 kategoriyê bınêni estê}}.',
 'category-article-count' => '{{PLURAL:$2|Na kategoriye de teyna ena pele esta.|Na kategoriye de $2 ra pêro pia, {{PLURAL:$1|ena pele esta|enê $1 peli estê.}}, be $2 ra pêro pia}}',
 'category-article-count-limited' => '{{PLURAL:$1|Pela cêrêne|$1 Pelê cêrêni}} na kategoriye derê.',
@@ -599,7 +599,7 @@ $1',
 'collapsible-expand' => 'Hera ke',
 'thisisdeleted' => 'Bıvêne ya zi $1 peyser bia?',
 'viewdeleted' => '$1 bıvêne?',
-'restorelink' => '{{PLURAL:$1|yew vurnayışo esterıte|$1 vurnayışê esterıtey}}',
+'restorelink' => '{{PLURAL:$1|jew vurnayış besteriya|$1 vurnayışi besteriyaye}}',
 'feedlinks' => 'Warikerdış:',
 'feed-invalid' => 'Qeydey cıresnayışê  beğşi nêvêreno.',
 'feed-unavailable' => 'Cıresnayışê şebekey çıniyê',
@@ -868,13 +868,12 @@ Bıne vındere u newe ra dest pê bıkere.',
 'resetpass-wrong-oldpass' => 'parolayo parola maqbul niyo.
 şıma ya parolaye xo vurnayo ya zi parolayo muwaqqat waşto.',
 'resetpass-temp-password' => 'parolayo muweqet:',
+'resetpass-abort-generic' => 'Parola vurnayış jew derganey ra tepya ibtal biyo',
 
 # Special:PasswordReset
 'passwordreset' => 'Parola reset ke',
-'passwordreset-text' => 'Seba eyarkerdışê parolaya xo ra nê formi pır kerê.',
 'passwordreset-legend' => 'Parola reset ke',
 'passwordreset-disabled' => 'Parola reset kerdış ena viki sera qefılneyayo.',
-'passwordreset-pretext' => '{{PLURAL:$1||Enê cerenan ra jeweri defiye de}}',
 'passwordreset-username' => 'Nameyê karberi:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'neticey e-postay bımocne?',
@@ -2358,8 +2357,8 @@ Ena deme ra, ma qe vurnayışan ser ena pele tı haberdar keni.',
 'notvisiblerev' => 'Revizyon esteriyayo',
 'watchnochange' => 'pelê listeya temaşakerdışê şıma ye wextê nişane biyaye de rocane nêbiyo.',
 'watchlist-details' => '{{PLURAL:$1|$1 pele|$1 peleyan}} listeyê seyr-kerdışi şıma dı, peleyanê vurnayışi dahil niyo.',
-'wlheader-enotif' => 'pê E-mail xeber dayiş biyo a.',
-'wlheader-showupdated' => "ziyaretê şıma ye peyini de vuryayişê peli pê '''nuşteyo qalıni''' mocyayo.",
+'wlheader-enotif' => 'pê E-mail xeber dayiş biyo a.',
+'wlheader-showupdated' => "ziyaretê şıma ye peyini de vuryayişê peli pê '''nuşteyo qalıni''' mocyayo.",
 'watchmethod-recent' => 'pel ê ke şıma temaşa kenî vuryayişê peyinê ey konrol beno',
 'watchmethod-list' => 'pel ê ke şıma temaşa kenî vuryayişê peyinê ey konrol beno',
 'watchlistcontains' => 'listeya seyrkerdışê şıma de $1 tene {{PLURAL:$1|peli|peli}} estî.',
@@ -2378,7 +2377,7 @@ Ena deme ra, ma qe vurnayışan ser ena pele tı haberdar keni.',
 'enotif_impersonal_salutation' => '{{SITENAME}} karber',
 'enotif_subject_deleted' => '{{SITENAME}} de pera $1 {{gender:$2|$2}} esterıt.',
 'enotif_subject_created' => '{{SITENAME}} de pera $1 {{gender:$2|$2}} vıraşt',
-'enotif_subject_moved' => '{{SITENAME}} de pera $1 {{gender:$2|$2}} berde',
+'enotif_subject_moved' => '{{SITENAME}} de  pera $1 {{gender:$2|$2}} berd',
 'enotif_subject_restored' => '{{SITENAME}} de pera $1 {{gender:$2|$2}} timar ke',
 'enotif_subject_changed' => '{{SITENAME}} de pera $1 {{gender:$2|$2}} vurne',
 'enotif_body_intro_deleted' => 'Pela {{SITENAME}} terefê $1, $2 ra roca $PAGEEDITDATE de {{GENDER:$2|esteriye}}, bıvênên: $3.',
@@ -2423,8 +2422,8 @@ Qey hemkari u pêşniyazi:
 # Delete
 'deletepage' => 'Pele bestere',
 'confirm' => 'Testiq ke',
-'excontent' => "behso kêm: '$1'",
-'excontentauthor' => "behso kêm: '$1' no/na ('[[Special:Contributions/$2|$2]]'  teyna iştıraq kerdo)",
+'excontent' => "Zerrey cı: '$1'",
+'excontentauthor' => "Zerrey cı: '$1' no/na ('[[Special:Contributions/$2|$2]]'  teyna iştıraq kerdo)",
 'exbeforeblank' => "behsê verê esteriyayişi: '$1'",
 'exblank' => 'zerreyê peli vengo',
 'delete-confirm' => '"$1" bestere',
@@ -2872,7 +2871,7 @@ Yewna name bınus.',
 
 " no [[:$1]]" name de yew pel ca ra esto. şıma wazeni pê hewn a kerdışê ey peli vurnayişê nameyi bıkeri?',
 'delete_and_move_confirm' => 'Eya, na pele bestere',
-'delete_and_move_reason' => '"[[$1]]" qey vurnayişê nameyi esteriya',
+'delete_and_move_reason' => '"[[$1]]" qande nami re ca akerdışi re besteriyaye',
 'selfmove' => 'name yo ke şıma wazeni bıbo, ın name û name yo ke ca ra esto eyni yê /zepê yê. vurnayiş mumkin niyo.',
 'immobile-source-namespace' => '"$1" pelê cayi de nameyi nêkırışyenî',
 'immobile-target-namespace' => 'peli nêkırışiyeni "$1" cayê nameyan',
@@ -3812,7 +3811,7 @@ Wextê kod ê konfirmasyonî viyerto.',
 'confirmemail_needlogin' => ' $1 lazimo ke ti adresê emaîl ê xo konfirme bike.',
 'confirmemail_success' => 'Email adresê tu konfirme biy.
 Ti eşkeno [[Special:UserLogin|ci kewt]].',
-'confirmemail_loggedin' => 'Eka email adresê tu konfirme biy.',
+'confirmemail_loggedin' => 'E-posta adresiya şıma hendana tesdiq biya.',
 'confirmemail_error' => 'Konfirmasyon ni biy, yew ğelet esto.',
 'confirmemail_subject' => '{{SITENAME}} konfirmasyonê adres ê emalî',
 'confirmemail_body' => 'Brayo delal, mara ke şıma no IP-adresi ra,
@@ -4190,7 +4189,7 @@ Ena sita dı newke xırabiya teknik esta.',
 'sqlite-no-fts' => '$1 tam-metn bê destegê cı geyrayışi',
 
 # New logging system
-'logentry-delete-delete' => '$1 pela $3 {{GENDER:$2|esterıte}}',
+'logentry-delete-delete' => '$1 pera $3 {{GENDER:$2|besternê}}',
 'logentry-delete-restore' => '$1 pela $3 {{GENDER:$2|peyser arde}}',
 'logentry-delete-event' => '$1 $3: $4 de asayışê {{PLURAL:$5|cıkerdışi|cıkerdışan}} {{GENDER:$2|vurna}}',
 'logentry-delete-revision' => '$1 pela $3: $4 de asayışê {{PLURAL:$5|yew revizyoni|$5 revizyonan}} {{GENDER:$2|vurna}}',
@@ -4209,7 +4208,7 @@ Ena sita dı newke xırabiya teknik esta.',
 'revdelete-uname-unhid' => 'nameyê karberi nênımıteyo',
 'revdelete-restricted' => 'vergırewtışê ke xızmekaran rê biye',
 'revdelete-unrestricted' => 'vergırewtışê ke xızmekaran rê dariyê we',
-'logentry-move-move' => '$1 pela $3 {{GENDER:$2|berde}} $4',
+'logentry-move-move' => '$1 pela $3 {{GENDER:$2|berd}} $4',
 'logentry-move-move-noredirect' => 'Hetenayışi sera pela $3 ra $1 {{GENDER:$2|berd}} pela $4',
 'logentry-move-move_redir' => 'Hetenayışi sera pela $3 ra $1 {{GENDER:$2|berd}} pela $4',
 'logentry-move-move_redir-noredirect' => 'Hetenayışi sera pela $3 ra $1 {{GENDER:$2|berd}} pela $4',
index 0474db0..33f3516 100644 (file)
@@ -14,6 +14,7 @@
  * @author Kaganer
  * @author Michawiki
  * @author Murjarik
+ * @author Nemo bis
  * @author Nepl1
  * @author Pe7er
  * @author Qualia
@@ -673,10 +674,8 @@ Sy snaź swójo gronidło južo wuspěšnje změnił abo nowe nachylne gronidło
 
 # Special:PasswordReset
 'passwordreset' => 'Gronidło slědk stajiś',
-'passwordreset-text' => 'Wupołni toś ten formular, aby swójo gronidło anulěrował.',
 'passwordreset-legend' => 'Gronidło slědk stajiś',
 'passwordreset-disabled' => 'Slědkstajenja gronidłow su se znjemóžnili na toś tom wikiju.',
-'passwordreset-pretext' => '{{PLURAL:$1||Zapódaj dołojce jadne ze slědujucych datowych podaśow}}',
 'passwordreset-username' => 'Wužywarske mě:',
 'passwordreset-domain' => 'Domena:',
 'passwordreset-capture' => 'E-mail se woglědaś?',
@@ -895,6 +894,7 @@ Njejo žedno wujasnjenje.',
 Zda sem až jo wulašowany.',
 'edit-conflict' => 'Wobźěłański konflikt.',
 'edit-no-change' => 'Wašo wobźěłanje jo se ignorěrowało, dokulaž tekst njejo se změnił.',
+'postedit-confirmation' => 'Twója změna jo se składła.',
 'edit-already-exists' => 'Njejo móžno było nowy bok napóraś.
 Eksistěrujo južo.',
 'defaultmessagetext' => 'Standardny tekst powěźeńki',
@@ -2047,6 +2047,15 @@ Jo nanejmjenjej głowna domena trěbna, na pśikład "*.org"<br />
 'listusers-noresult' => 'Žeden wužywaŕ njejo se namakał.',
 'listusers-blocked' => '(blokěrowany)',
 
+# Special:ActiveUsers
+'activeusers' => 'Lisćina aktiwnych wužywarjow',
+'activeusers-intro' => 'To jo lisćina wužywarjow, kotrež su byli aktiwne za {{PLURAL:$1|slědny źeń|slědnej $1 dnja|slědne $1 dny|slědnych $1 dnjow}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|akcija|akciji|akcije|akcijow}} w {{PLURAL:$3|slědnem dnju|slědnyma $3 dnjoma|slědnych $3 dnjach}}',
+'activeusers-from' => 'Wužywarjow zwobrazniś, zachopinajucy z:',
+'activeusers-hidebots' => 'Boty schowaś',
+'activeusers-hidesysops' => 'Administratorow schowaś',
+'activeusers-noresult' => 'Žedne wužywarje namakane.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Pšawa wužywarskeje kupki',
 'listgrouprights-summary' => 'To jo lisćina wužywarskich kupkow definěrowanych w toś tom wikiju z jich zwězanymi pśistupnymi pšawami. Móžo [[{{MediaWiki:Listgrouprights-helppage}}|pśidatne informacije]] wó jadnotliwych pšawach daś.',
@@ -2123,8 +2132,8 @@ Pózdźejšne změny na toś tom boku a w pśisłušecej diskusiji se tam nalicu
 'notvisiblerev' => 'Wersija bu wulašowana',
 'watchnochange' => 'Žeden wót tebje wobglědowany bok njejo se we wótpowědujucem casu wobźěłał.',
 'watchlist-details' => 'Wobglědujoš {{PLURAL:$1|$1 bok|$1 boka|$1 boki|$1 bokow}}, bźez diskusijnych bokow.',
-'wlheader-enotif' => 'E-mailowe powěsće su aktiwizěrowane.',
-'wlheader-showupdated' => "Boki, kótarež su wót twójogo slědnego woglěda se změnili, pokazuju se '''tucnje'''.",
+'wlheader-enotif' => 'E-mailowe powěsće su aktiwizěrowane.',
+'wlheader-showupdated' => "Boki, kótarež su wót twójogo slědnego woglěda se změnili, pokazuju se '''tucnje'''.",
 'watchmethod-recent' => 'Kontrolěrowanje aktualnych změnow we wobglědowańce',
 'watchmethod-list' => 'Pśepytanje wobglědowanych bokow za aktualnymi změnami',
 'watchlistcontains' => 'Twója wobglědowańka wopśimujo $1 {{PLURAL:$1|bok|boka|boki|bokow}}.',
@@ -3011,7 +3020,7 @@ Slědujuce wótkaze w tej samej smužce se za wuwześa naglědaju, w kótarychž
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Šyrokosć',
 'exif-imagelength' => 'Wusokosć',
 'exif-bitspersample' => 'Bity na komponentu',
@@ -3189,7 +3198,7 @@ Slědujuce wótkaze w tej samej smužce se za wuwześa naglědaju, w kótarychž
 'exif-originalimageheight' => 'Wusokosć wobraza pśed pśirězowanim',
 'exif-originalimagewidth' => 'Šyrokosć wobraza pśed pśirězowanim',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Njekompriměrowany',
 'exif-compression-2' => 'CCITT kupka 3 jadnodimensionalne modificěrowane koděrowanje Huffman běgoweje dłujkosći',
 'exif-compression-3' => 'CCITT kupka 3 faksowe koděrowanje',
@@ -3604,13 +3613,6 @@ Ty by dejał [{{SERVER}}{{SCRIPTPATH}}/COPYING kopiju licence GNU General Public
 'version-entrypoints-header-entrypoint' => 'Zastupny dypk',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Datajowa droga',
-'filepath-page' => 'Dataja:',
-'filepath-submit' => 'Pytaś',
-'filepath-summary' => 'Toś ten specialny bok wróśa dopołnu drogu za dataju.
-Wobraze se w połnym wótgranicowanju pokazuju, druge datajowe typy se ze zwězanym programom direktnje startuju.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Za duplikatnymi datajami pytaś',
 'fileduplicatesearch-summary' => 'Za datajowymi duplikatami na zakłaźe gótnoty hash pytaś.',
index 294ce1b..233963f 100644 (file)
@@ -652,6 +652,11 @@ $1',
 [[Special:UnusedCategories|Unused categories]] are not shown here.
 Also see [[Special:WantedCategories|wanted categories]].',
 
+# Special:ActiveUsers
+'activeusers' => 'ހަރަކާތްތެރި މެމްބަރުންގެ ލިސްޓު',
+'activeusers-hidebots' => 'ބޮޓް ފޮރުއްވާ',
+'activeusers-hidesysops' => 'އެޑްމިނިސްޓްރޭޓަރުން ފޮރުއްވާ',
+
 # Special:ListGroupRights
 'listgrouprights-members' => '(މެމްބަރުންގެ ލިސްޓު)',
 
@@ -814,7 +819,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 # Metadata
 'metadata' => 'މެޓަޑޭޓާ',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'ފުޅާމިން',
 'exif-imagelength' => 'އުސްމިން',
 'exif-imagedescription' => 'ތަސްވީރުގެ ސުރުހީ',
index 8afc106..cd4bc63 100644 (file)
@@ -456,7 +456,7 @@ $messages = array(
 # Special:Categories
 'categories' => 'དབྱེ་རིམ།',
 
-# E-mail user
+# Email user
 'emailuser' => 'ལག་ལེན་པ་ལུ་ གློག་འཕྲིན་གཏང་',
 
 # Watchlist
index 5be1194..5c7c89e 100644 (file)
@@ -305,6 +305,9 @@ Zã [[Special:Search|nuwo didi le wiki sia dzi]] kpɔ na axa yeyeawo.',
 'group-sysop' => 'Dɔdzikpɔlawo',
 'group-all' => '(wokatã)',
 
+# Special:Log/newusers
+'newuserlogpage' => 'Ŋkɔŋlɔla yeyewo ƒe xexlẽme',
+
 # Associated actions - in the sentence "You do not have permission to X"
 'action-read' => 'xlẽ axa sia',
 'action-edit' => 'trɔ asi le axa sia ŋu',
@@ -406,9 +409,6 @@ Zã [[Special:Search|nuwo didi le wiki sia dzi]] kpɔ na axa yeyeawo.',
 # Special:LinkSearch
 'linksearch-ok' => 'Dii',
 
-# Special:Log/newusers
-'newuserlogpage' => 'Ŋkɔŋlɔla yeyewo ƒe xexlẽme',
-
 # Special:ListGroupRights
 'listgrouprights-group' => 'Hame',
 
@@ -588,9 +588,6 @@ Wòateŋu akpɔ alesi woŋlɔe.',
 # Special:Version
 'version' => 'Tata',
 
-# Special:FilePath
-'filepath-submit' => 'Yi',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-submit' => 'Dii',
 
index 9b0552e..0d97e11 100644 (file)
@@ -322,14 +322,6 @@ Cancellä',
 'powersearch-toggleall' => 'Tütt',
 'powersearch-togglenone' => 'Ansöin',
 
-# Quickbar
-'qbsettings' => 'Quickbar',
-'qbsettings-none' => 'Ansöin',
-'qbsettings-fixedleft' => 'Fiss a sinistar',
-'qbsettings-fixedright' => 'Fiss a destar',
-'qbsettings-floatingleft' => 'Fluttuant a sinistar',
-'qbsettings-floatingright' => 'Fluttuant a destar',
-
 # Preferences page
 'preferences' => 'Prefereinz',
 'mypreferences' => 'Al me prefereinz',
@@ -390,9 +382,6 @@ Cancellä',
 'right-read' => "Legg' pàgin",
 'right-edit' => 'Mudifich pàgin',
 
-# User rights log
-'rightsnone' => '(ansöin)',
-
 # Associated actions - in the sentence "You do not have permission to X"
 'action-read' => "legg' custa pàgina ché",
 'action-edit' => 'mudifch custa pàgina ché',
@@ -465,7 +454,7 @@ Cancellä',
 # Special:ListGroupRights
 'listgrouprights-group' => 'Grüpp',
 
-# E-mail user
+# Email user
 'emailfrom' => 'Da:',
 'emailto' => 'A:',
 'emailsubject' => 'Uggett:',
@@ -479,8 +468,8 @@ Cancellä',
 'watchthispage' => 'Vadä custa pàgina ché',
 'unwatch' => "N'la vadär piö",
 
-'changed' => 'mudifegat',
 'created' => 'creät',
+'changed' => 'mudifegat',
 
 # Delete
 'delete-confirm' => 'Cancellä "$1"',
@@ -613,7 +602,7 @@ Vadä la pàgina dal file',
 # Metadata
 'metadata' => 'Metadat',
 
-# EXIF tags
+# Exif tags
 'exif-exposuretime-format' => '$1 s ($2)',
 'exif-gpsareainformation' => "Nom d'la zona GPS",
 'exif-gpsdatestamp' => 'Data GPS',
@@ -660,10 +649,6 @@ Vadä la pàgina dal file',
 'version-license' => 'Licinza',
 'version-poweredby-others' => 'ätar',
 
-# Special:FilePath
-'filepath-page' => 'Immàgin:',
-'filepath-submit' => 'Vé',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Nom dal file:',
 'fileduplicatesearch-submit' => 'Cercä',
@@ -684,6 +669,9 @@ Vadä la pàgina dal file',
 'htmlform-reset' => 'Turna indré cul la mudifich',
 'htmlform-selectorother-other' => 'Ätar',
 
+# New logging system
+'rightsnone' => '(ansöin)',
+
 # Feedback
 'feedback-subject' => 'Uggett:',
 'feedback-message' => "Messagg':",
index 1ef3116..a4f2da1 100644 (file)
@@ -462,6 +462,18 @@ $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' => 'Σεπτέμβριος $1',
+'october-date' => 'Οκτώβριος $1',
+'november-date' => 'Νοέμβριος $1',
+'december-date' => 'Δεκέμβριος $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Κατηγορία|Κατηγορίες}}',
@@ -776,8 +788,8 @@ $2',
 'createacct-yourpasswordagain' => 'Επιβεβαίωση κωδικού',
 'createacct-yourpasswordagain-ph' => 'Εισαγωγή κωδικού ξανά',
 'remembermypassword' => 'Διατήρηση του κωδικού πρόσβασης σε αυτόν τον υπολογιστή (για μέγιστο $1 {{PLURAL:$1|ημέρα|ημέρες}})',
-'userlogin-remembermypassword' => 'Î\9dα Î¼Îµ Î¸Ï\85μάÏ\83Ï\84ε',
-'userlogin-signwithsecure' => 'ΣÏ\85νδεθείÏ\84ε Î¼Îµ Î±Ï\83Ï\86αλή Î´Î¹Î±ÎºÎ¿Î¼Î¹Ï\83Ï\84ή',
+'userlogin-remembermypassword' => 'Î\94ιαÏ\84ηÏ\81ήÏ\83Ï\84ε Î¼Îµ Ï\83ε Ï\83Ï\8dνδεÏ\83η',
+'userlogin-signwithsecure' => 'ΧÏ\81ηÏ\83ιμοÏ\80οιείÏ\83Ï\84ε Î±Ï\83Ï\86αλή Ï\83Ï\8dνδεÏ\83η',
 'securelogin-stick-https' => 'Μείνετε συνδεδεμένοι με HTTPS μετά την είσοδο',
 'yourdomainname' => 'Το domain σας:',
 'password-change-forbidden' => 'Δεν μπορείτε να αλλάξετε τους κωδικούς πρόσβασης σε αυτό το βίκι.',
@@ -799,7 +811,7 @@ $2',
 'gotaccountlink' => 'Είσοδος',
 'userlogin-resetlink' => 'Ξεχάσατε τα στοιχεία σύνδεσής σας;',
 'userlogin-resetpassword-link' => 'Έκδοση νέου κωδικού πρόσβασης',
-'helplogin-url' => 'Βοήθεια:Σύνδεση',
+'helplogin-url' => 'Help:Σύνδεση',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Βοήθεια για τη σύνδεσή σας]]',
 'createacct-join' => 'Εισάγετε τα στοιχεία σας παρακάτω.',
 'createacct-emailrequired' => 'Διεύθυνση ηλεκτρονικού ταχυδρομείου',
@@ -812,8 +824,11 @@ $2',
 'createacct-reason-ph' => 'Γιατί δημιουργείτε έναν άλλο λογαριασμό',
 'createacct-captcha' => 'Έλεγχος ασφαλείας',
 'createacct-imgcaptcha-ph' => 'Εισαγωγή του κειμένου που βλέπετε παραπάνω',
-'createacct-benefit-body1' => 'επεξεργασίες',
-'createacct-benefit-body2' => 'σελίδες',
+'createacct-submit' => 'Δημιουργία λογαριασμού χρήστη',
+'createacct-benefit-heading' => '{{SITENAME}} έχει γίνει από ανθρώπους όπως εσύ.',
+'createacct-benefit-body1' => '{{PLURAL:$1|επεξεργασία|επεξεργασίες}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|σελίδα|σελίδες}}',
+'createacct-benefit-body3' => 'πρόσφατοι {{PLURAL:$1|συνεισφέρων|συνεισφέροντες}}',
 'badretype' => 'Οι κωδικοί που έχετε δηλώσει δεν συμφωνούν μεταξύ τους.',
 'userexists' => 'Το όνομα χρήστη που εισαγάγατε βρίσκεται ήδη σε χρήση.
 Παρακαλούμε, διαλέξτε ένα διαφορετικό.',
@@ -898,14 +913,13 @@ $2',
 'resetpass-wrong-oldpass' => 'Λάθος προσωρινός ή κανονικός κωδικός.
 Μπορεί να έχετε ήδη αλλάξει επιτυχώς τον κωδικό σας ή να έχετε ζητήσει έναν νέο προσωρινό κωδικό.',
 'resetpass-temp-password' => 'Προσωρινός κωδικός:',
+'resetpass-abort-generic' => 'Η αλλαγή του κωδικού έχει απορριφθεί από μια προέκταση.',
 
 # Special:PasswordReset
 'passwordreset' => 'Κωδικός επαναφοράς',
-'passwordreset-text' => 'Συμπληρώστε αυτή τη φόρμα για να επαναφέρετε τον κωδικό σας.',
 'passwordreset-legend' => 'Επαναφορά κωδικού πρόσβασης',
 'passwordreset-disabled' => 'Η επαναφορά κωδικού πρόσβασης έχει απενεργοποιηθεί σε αυτό το wiki',
 'passwordreset-emaildisabled' => "Τα χαρακτηριστικά ηλεκτρονικού ταχυδρομείου έχουν απενεργοποιηθεί σ' αυτό το wiki.",
-'passwordreset-pretext' => '{{PLURAL:$1||Εισάγεται ένα από τα στοιχεία δεδομένων που βλέπετε παρακάτω}}',
 'passwordreset-username' => 'Όνομα χρήστη:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Προβολή του μηνύματος ηλεκτρονικού ταχυδρομείου που δημιουργήθηκε;',
@@ -1139,7 +1153,7 @@ $2
 'invalid-content-data' => 'Μη έγκυρα δεδομένα περιεχομένου',
 'content-not-allowed-here' => 'Το περιεχόμενο «$1» δεν επιτρέπεται στη σελίδα [[$2]]',
 'editwarning-warning' => 'Αφήνοντας αυτή τη σελίδα μπορεί να σας κάνει να χάσετε κάποιες αλλαγές που έχετε κάνει.
\91ν Î­Ï\87εÏ\84ε Ï\83Ï\85νδεθεί, Î¼Ï\80οÏ\81είÏ\84ε Î½Î± Î±Ï\80ενεÏ\81γοÏ\80οιήÏ\83εÏ\84ε Î±Ï\85Ï\84ή Ï\84ην Ï\80Ï\81οειδοÏ\80οίηÏ\83η Ï\83Ï\84ο Ï\84μήμα "{{int:prefs-editing}}" των προτιμήσεών σας.',
\91ν Î­Ï\87εÏ\84ε Ï\83Ï\85νδεθεί, Î¼Ï\80οÏ\81είÏ\84ε Î½Î± Î±Ï\80ενεÏ\81γοÏ\80οιήÏ\83εÏ\84ε Î±Ï\85Ï\84ή Ï\84ην Ï\80Ï\81οειδοÏ\80οίηÏ\83η Ï\83Ï\84ην  ÎµÎ½Ï\8cÏ\84ηÏ\84α "Î\95Ï\80εξεÏ\81γαÏ\83ία" των προτιμήσεών σας.',
 
 # Content models
 'content-model-wikitext' => 'βικικείμενο',
@@ -2116,6 +2130,9 @@ $1',
 Αντιθέτως θα έπρεπε να κατευθύνουν στο κατάλληλο θέμα.<br />
 Μια σελίδα αντιμετωπίζεται ως σελίδα αποσαφήνισης αν χρησιμοποιεί ένα πρότυπο το οποίο συνδέεται από το [[MediaWiki:Disambiguationspage]]",
 
+'pageswithprop' => 'Σελίδες με ιδιότητα σελίδας',
+'pageswithprop-legend' => 'Σελίδες με ιδιότητα σελίδας',
+'pageswithprop-text' => 'Αυτή η σελίδα ταξινομεί σελίδες που χρησιμοποιούν μια συγκεκριμένη ιδιότητα σελίδας.',
 'pageswithprop-prop' => 'Όνομα ιδιότητας:',
 'pageswithprop-submit' => 'Μετάβαση',
 
@@ -2368,8 +2385,8 @@ $1',
 'notvisiblerev' => 'Η έκδοση έχει διαγραφεί',
 'watchnochange' => 'Δεν υπήρξε δραστηριότητα επεξεργασίας στις σελίδες που παρακολουθείτε κατά την εμφανιζόμενη χρονική περίοδο.',
 'watchlist-details' => '{{PLURAL:$1|$1 σελίδα|$1 σελίδες}} είναι στη λίστα παρακολούθησης σας, χωρίς τις σελίδες συζήτησης.',
-'wlheader-enotif' => '* Η ειδοποίηση με ηλεκτρονικό ταχυδρομείο έχει ενεργοποιηθεί.',
-'wlheader-showupdated' => "Σελίδες που έχουν υποστεί αλλαγές από την τελευταία φορά που τις επισκεφθήκατε εμφανίζονται με '''έντονους χαρακτήρες'''.",
+'wlheader-enotif' => 'Η ειδοποίηση ηλεκτρονικού ταχυδρομείου ενεργοποιήθηκε.',
+'wlheader-showupdated' => "Σελίδες που έχουν υποστεί αλλαγές από την τελευταία φορά που τις επισκεφθήκατε εμφανίζονται με '''έντονους χαρακτήρες'''.",
 'watchmethod-recent' => 'Έλεγχος πρόσφατων αλλαγών σε σελίδες υπό παρακολούθηση',
 'watchmethod-list' => 'Έλεγχος σελίδων υπό παρακολούθηση για πρόσφατες αλλαγές',
 'watchlistcontains' => 'Η λίστα παρακολούθησής σας περιέχει $1 {{PLURAL:$1|σελίδα|σελίδες}}.',
@@ -3087,7 +3104,6 @@ $1',
 'modern.css' => '/* Το τοποθετημένο εδώ CSS θα επηρεάσει χρήστες του Modern skin */',
 'vector.css' => '/* Το τοποθετημένο εδώ CSS θα επηρεάσει χρήστες του Vector skin */',
 'print.css' => '/* Το τοποθετημένο εδώ CSS θα επηρεάσει το αποτέλεσμα της εκτύπωσης */',
-'handheld.css' => '/* Το τοποθετημένο εδώ CSS θα επηρεάσει συσκευές χειρός βάση του skin ρυθμισμένου στο $wgHandheldStyle */',
 
 # Scripts
 'common.js' => '/* Οποιοσδήποτε κώδικας JavaScript εδώ θα φορτωθεί για όλους τους χρήστες σε κάθε φόρτωση σελίδας. */',
@@ -3245,11 +3261,25 @@ $1',
 'minutes' => '{{PLURAL:$1|$1 λεπτό|$1 λεπτά}}',
 'hours' => '{{PLURAL:$1|$1 ώρα|$1 ώρες}}',
 'days' => '{{PLURAL:$1|$1 μέρα|$1 μέρες}}',
+'weeks' => '{{PLURAL:$1|$1 εβδομάδα|$1 εβδομάδες}}',
 'months' => '{{PLURAL:$1|$1 μήνας|$1 μήνες}}',
 'years' => '{{PLURAL:$1|$1 έτος|$1 έτη}}',
 'ago' => '$1 πριν',
 'just-now' => 'μόλις τώρα',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|ώρα|ώρες}} πριν',
+'minutes-ago' => '$1 {{PLURAL:$1|λεπτό|λεπτά}} πριν',
+'seconds-ago' => '$1 {{PLURAL:$1|δευτερόλεπτο|δευτερόλεπτα}} πριν',
+'monday-at' => 'Δευτέρα στις  $1',
+'tuesday-at' => 'Τρίτη στις $1',
+'wednesday-at' => 'Τετάρτη στις $1',
+'thursday-at' => 'Πέμπτη στις $1',
+'friday-at' => 'Παρασκευή στις $1',
+'saturday-at' => 'Σαββάτο στις $1',
+'sunday-at' => 'Κυριακή στις $1',
+'yesterday-at' => 'Χθες στις $1',
+
 # Bad image list
 'bad_image_list' => 'Η σύνταξη είναι ως εξής:
 
@@ -3871,6 +3901,15 @@ $5
 'version-entrypoints-header-entrypoint' => 'Σημείο εισόδου',
 'version-entrypoints-header-url' => 'URL',
 
+# Special:Redirect
+'redirect-legend' => 'Ανακατεύθυνση σε ένα αρχείο ή μια σελίδα',
+'redirect-submit' => 'Μετάβαση',
+'redirect-value' => 'Τιμή:',
+'redirect-user' => 'Αναγνωριστικό χρήση',
+'redirect-revision' => 'Αναθεώρηση σελίδας',
+'redirect-file' => 'Όνομα αρχείου',
+'redirect-not-exists' => 'Η τιμή δε βρέθηκε',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Αναζήτηση για διπλά αρχεία',
 'fileduplicatesearch-summary' => 'Αναζήτηση για διπλά αρχεία με βάση την τιμή hash του αρχείου.',
@@ -3969,7 +4008,7 @@ $5
 # New logging system
 'logentry-delete-delete' => '{{GENDER:$1|Ο|Η}} $1 διέγραψε τη σελίδα $3',
 'logentry-delete-restore' => 'Ο/Η $1 αποκατέστησε τη σελίδα $3',
-'logentry-delete-event' => '{{GENDER:$1|Ο|Η}} $1 άλλαξε την ορατότητα σε {{PLURAL:$5|ένα γεγονός καταγραφής|$5 log events}} στο $3: $4',
+'logentry-delete-event' => ' $1 {{GENDER:$1|άλλαξε}} την ορατότητα σε {{PLURAL:$5|ένα γεγονός καταγραφής|$5 γεγονότα καταγραφής}} στο $3: $4',
 'logentry-delete-revision' => '{{GENDER:$1|Ο|Η}} $1 άλλαξε την ορατότητα {{PLURAL:$5|μιας έκδοσης|$5 εκδόσεων}} στη σελίδα $3: $4',
 'logentry-delete-event-legacy' => '{{GENDER:$2|Ο|Η}} $1 άλλαξε την ορατότητα των καταγραφόμενων συμβάντων στη σελίδα $3',
 'logentry-delete-revision-legacy' => '{{GENDER:$1|Ο|Η}} $1 άλλαξε την  ορατότητα των αναθεωρήσεων στη σελίδα $3',
@@ -3999,7 +4038,7 @@ $5
 'logentry-newusers-autocreate' => 'Ο λογαριασμός $1 δημιουργήθηκε αυτόματα',
 'logentry-rights-rights' => '{{GENDER:$1|Ο|Η}} $1 άλλαξε την ιδιότητα μέλους ομάδας για {{GENDER:$3|τον|την}} $3 από $4 σε $5',
 'logentry-rights-rights-legacy' => '{{GENDER:$1|Ο|Η}} $1 άλλαξε την ιδιότητα μέλους ομάδας {{GENDER:$1|του|της}} $3',
-'logentry-rights-autopromote' => '$1 προωθήθηκε αυτόματα από το $4 στο $5',
+'logentry-rights-autopromote' => '$1 {{GENDER:$2|προωθήθηκε}} αυτόματα από το $4 στο $5',
 'rightsnone' => '(κανένα)',
 
 # Feedback
index 5a57e09..c539dba 100644 (file)
@@ -274,6 +274,7 @@ $magicWords = array(
        'img_center'              => array( 1,    'center', 'centre' ),
        'img_framed'              => array( 1,    'framed', 'enframed', 'frame' ),
        'img_frameless'           => array( 1,    'frameless' ),
+       'img_lang'                => array( 1,    'lang=$1' ),
        'img_page'                => array( 1,    'page=$1', 'page $1' ),
        'img_upright'             => array( 1,    'upright', 'upright=$1', 'upright $1' ),
        'img_border'              => array( 1,    'border' ),
@@ -702,56 +703,68 @@ future releases. Also note that since each list value is wrapped in a unique
 'editfont-serif'     => 'Serif font',
 
 # Dates
-'sunday'        => 'Sunday',
-'monday'        => 'Monday',
-'tuesday'       => 'Tuesday',
-'wednesday'     => 'Wednesday',
-'thursday'      => 'Thursday',
-'friday'        => 'Friday',
-'saturday'      => 'Saturday',
-'sun'           => 'Sun',
-'mon'           => 'Mon',
-'tue'           => 'Tue',
-'wed'           => 'Wed',
-'thu'           => 'Thu',
-'fri'           => 'Fri',
-'sat'           => 'Sat',
-'january'       => 'January',
-'february'      => 'February',
-'march'         => 'March',
-'april'         => 'April',
-'may_long'      => 'May',
-'june'          => 'June',
-'july'          => 'July',
-'august'        => 'August',
-'september'     => 'September',
-'october'       => 'October',
-'november'      => 'November',
-'december'      => 'December',
-'january-gen'   => 'January',
-'february-gen'  => 'February',
-'march-gen'     => 'March',
-'april-gen'     => 'April',
-'may-gen'       => 'May',
-'june-gen'      => 'June',
-'july-gen'      => 'July',
-'august-gen'    => 'August',
-'september-gen' => 'September',
-'october-gen'   => 'October',
-'november-gen'  => 'November',
-'december-gen'  => 'December',
-'jan'           => 'Jan',
-'feb'           => 'Feb',
-'mar'           => 'Mar',
-'apr'           => 'Apr',
-'may'           => 'May',
-'jun'           => 'Jun',
-'jul'           => 'Jul',
-'aug'           => 'Aug',
-'sep'           => 'Sep',
-'oct'           => 'Oct',
-'nov'           => 'Nov',
-'dec'           => 'Dec',
+'sunday'         => 'Sunday',
+'monday'         => 'Monday',
+'tuesday'        => 'Tuesday',
+'wednesday'      => 'Wednesday',
+'thursday'       => 'Thursday',
+'friday'         => 'Friday',
+'saturday'       => 'Saturday',
+'sun'            => 'Sun',
+'mon'            => 'Mon',
+'tue'            => 'Tue',
+'wed'            => 'Wed',
+'thu'            => 'Thu',
+'fri'            => 'Fri',
+'sat'            => 'Sat',
+'january'        => 'January',
+'february'       => 'February',
+'march'          => 'March',
+'april'          => 'April',
+'may_long'       => 'May',
+'june'           => 'June',
+'july'           => 'July',
+'august'         => 'August',
+'september'      => 'September',
+'october'        => 'October',
+'november'       => 'November',
+'december'       => 'December',
+'january-gen'    => 'January',
+'february-gen'   => 'February',
+'march-gen'      => 'March',
+'april-gen'      => 'April',
+'may-gen'        => 'May',
+'june-gen'       => 'June',
+'july-gen'       => 'July',
+'august-gen'     => 'August',
+'september-gen'  => 'September',
+'october-gen'    => 'October',
+'november-gen'   => 'November',
+'december-gen'   => 'December',
+'jan'            => 'Jan',
+'feb'            => 'Feb',
+'mar'            => 'Mar',
+'apr'            => 'Apr',
+'may'            => 'May',
+'jun'            => 'Jun',
+'jul'            => 'Jul',
+'aug'            => 'Aug',
+'sep'            => 'Sep',
+'oct'            => 'Oct',
+'nov'            => 'Nov',
+'dec'            => 'Dec',
+'january-date'   => 'January $1',
+'february-date'  => 'February $1',
+'march-date'     => 'March $1',
+'april-date'     => 'April $1',
+'may-date'       => 'May $1',
+'june-date'      => 'June $1',
+'july-date'      => 'July $1',
+'august-date'    => 'August $1',
+'september-date' => 'September $1',
+'october-date'   => 'October $1',
+'november-date'  => 'November $1',
+'december-date'  => 'December $1',
 
 # Categories related messages
 'pagecategories'                 => '{{PLURAL:$1|Category|Categories}}',
@@ -839,6 +852,7 @@ future releases. Also note that since each list value is wrapped in a unique
 'create-this-page'   => 'Create this page',
 'delete'             => 'Delete',
 'deletethispage'     => 'Delete this page',
+'undeletethispage'   => 'Undelete this page',
 'undelete_short'     => 'Undelete {{PLURAL:$1|one edit|$1 edits}}',
 'viewdeleted_short'  => 'View {{PLURAL:$1|one deleted edit|$1 deleted edits}}',
 'protect'            => 'Protect',
@@ -1083,7 +1097,7 @@ Do not forget to change your [[Special:Preferences|{{SITENAME}} preferences]].',
 'yourname'                        => 'Username:',
 'userlogin-yourname'              => 'Username',
 'userlogin-yourname-ph'           => 'Enter your username',
-'createacct-helpusername'      => '', # do not translate or duplicate this message to other languages
+'createacct-helpusername'         => '', # do not translate or duplicate this message to other languages
 'yourpassword'                    => 'Password:',
 'userlogin-yourpassword'          => 'Password',
 'userlogin-yourpassword-ph'       => 'Enter your password',
@@ -1263,11 +1277,11 @@ You may have already successfully changed your password or requested a new tempo
 
 # Special:PasswordReset
 'passwordreset'                    => 'Reset password',
-'passwordreset-text'               => 'Complete this form to reset your password.',
+'passwordreset-text-one'           => 'Complete this form to reset your password.',
+'passwordreset-text-many'          => '{{PLURAL:$1|Enter one of the pieces of data to reset your password.}}',
 'passwordreset-legend'             => 'Reset password',
 'passwordreset-disabled'           => 'Password resets have been disabled on this wiki.',
 'passwordreset-emaildisabled'      => 'Email features have been disabled on this wiki.',
-'passwordreset-pretext'            => '{{PLURAL:$1||Enter one of the pieces of data below}}',
 'passwordreset-username'           => 'Username:',
 'passwordreset-domain'             => 'Domain:',
 'passwordreset-capture'            => 'View the resulting email?',
@@ -1530,6 +1544,7 @@ It gave no explanation.',
 It appears to have been deleted.',
 'edit-conflict'                    => 'Edit conflict.',
 'edit-no-change'                   => 'Your edit was ignored because no change was made to the text.',
+'postedit-confirmation'            => 'Your edit was saved.',
 'edit-already-exists'              => 'Could not create a new page.
 It already exists.',
 'addsection-preload'               => '', # do not translate or duplicate this message to other languages
@@ -2911,8 +2926,8 @@ Future changes to this page and its associated talk page will be listed there.',
 'notvisiblerev'        => 'The last revision by a different user has been deleted',
 'watchnochange'        => 'None of your watched items were edited in the time period displayed.',
 'watchlist-details'    => '{{PLURAL:$1|$1 page|$1 pages}} on your watchlist, not counting talk pages.',
-'wlheader-enotif'      => 'Email notification is enabled.',
-'wlheader-showupdated' => "* Pages that have been changed since you last visited them are shown in '''bold'''",
+'wlheader-enotif'      => 'Email notification is enabled.',
+'wlheader-showupdated' => "Pages that have been changed since you last visited them are shown in '''bold'''.",
 'watchmethod-recent'   => 'checking recent edits for watched pages',
 'watchmethod-list'     => 'checking watched pages for recent edits',
 'watchlistcontains'    => 'Your watchlist contains $1 {{PLURAL:$1|page|pages}}.',
@@ -3749,7 +3764,6 @@ You can view its source',
 'modern.css'              => '/* CSS placed here will affect users of the Modern skin */', # only translate this message to other languages if you have to change it
 'vector.css'              => '/* CSS placed here will affect users of the Vector skin */', # only translate this message to other languages if you have to change it
 'print.css'               => '/* CSS placed here will affect the print output */', # only translate this message to other languages if you have to change it
-'handheld.css'            => '/* CSS placed here will affect handheld devices based on the skin configured in $wgHandheldStyle */', # only translate this message to other languages if you have to change it
 'noscript.css'            => '/* CSS placed here will affect users with JavaScript disabled */', # only translate this message to other languages if you have to change it
 'group-autoconfirmed.css' => '/* CSS placed here will affect autoconfirmed users only */', # only translate this message to other languages if you have to change it
 'group-bot.css'           => '/* CSS placed here will affect bots only */', # only translate this message to other languages if you have to change it
index a78d1b6..eb6a385 100644 (file)
@@ -28,6 +28,7 @@
  * @author Michawiki
  * @author Mihxil
  * @author MinuteElectron
+ * @author Nemo bis
  * @author Objectivesea
  * @author Omnipaedista
  * @author Pedroca cerebral
@@ -79,6 +80,11 @@ $namespaceAliases = array(
        'Kategoria_diskuto'    => NS_CATEGORY_TALK,
 );
 
+$namespaceGenderAliases = array(
+       NS_USER => array( 'male' => 'Uzanto', 'female' => 'Uzantino' ),
+       NS_USER_TALK => array( 'male' => 'Uzanto-Diskuto', 'female' => 'Uzantino-Diskuto' ),
+);
+
 $specialPageAliases = array(
        'Activeusers'               => array( 'Aktivaj_uzantoj' ),
        'Allmessages'               => array( 'Ĉiuj_mesaĝoj' ),
@@ -855,11 +861,9 @@ Vi eble jam ŝanĝis vian pasvorton aŭ petis novan provizoran pasvorton.',
 
 # Special:PasswordReset
 'passwordreset' => 'Restarigo de pasvorto',
-'passwordreset-text' => 'Plenigu ĉi tiun formularon por renovigi vian pasvorton.',
 'passwordreset-legend' => 'Refari pasvorton',
 'passwordreset-disabled' => 'Pasvortaj restarigoj estis malŝaltitaj en ĉi tiu vikio.',
 'passwordreset-emaildisabled' => 'Retpoŝtaj funkcioj estas malfunkciigitaj en tiu ĉi vikio.',
-'passwordreset-pretext' => '{{PLURAL:$1||Enigi unu el la jenaj datenoj}}',
 'passwordreset-username' => 'Salutnomo:',
 'passwordreset-domain' => 'Domajno:',
 'passwordreset-capture' => 'Vidi la rezultan retpoŝton?',
@@ -1103,6 +1107,7 @@ Jen la protokolo pri forigado kaj alinomigado por via referenco.',
 Verŝajne ĝi estis forigita.',
 'edit-conflict' => 'Redakto-konflikto.',
 'edit-no-change' => 'Via redakto estis ignorita, ĉar neniu ŝanĝo estis farita al la teksto.',
+'postedit-confirmation' => 'Via redakto estis konservita.',
 'edit-already-exists' => 'Ne eblis krei novan paĝon.
 Ĝi jam ekzistas.',
 'defaultmessagetext' => 'Defaŭlta teksto',
@@ -2342,8 +2347,8 @@ La retadreso kiun vi enigis en [[Special:Preferences|viaj preferoj]] aperos kiel
 'notvisiblerev' => 'Versio estis forigita',
 'watchnochange' => 'Neniu artikolo en via atentaro redaktiĝis dum la prispektita tempoperiodo.',
 'watchlist-details' => '{{PLURAL:$1|$1 paĝon|$1 paĝojn}} en via atentaro, krom diskutpaĝoj.',
-'wlheader-enotif' => 'Retpoŝta sciigo estas ebligita',
-'wlheader-showupdated' => "Montriĝas per '''dikaj literoj''' tiuj paĝoj, kiujn oni ŝanĝis ekde kiam vi laste vizitis ilin",
+'wlheader-enotif' => 'Retpoŝta sciigo estas ebligita',
+'wlheader-showupdated' => "Montriĝas per '''dikaj literoj''' tiuj paĝoj, kiujn oni ŝanĝis ekde kiam vi laste vizitis ilin",
 'watchmethod-recent' => 'traserĉas lastajn redaktojn',
 'watchmethod-list' => 'traserĉas priatentitajn',
 'watchlistcontains' => 'Via atentaro enhavas $1 {{PLURAL:$1|paĝon|paĝojn}}.',
@@ -3071,7 +3076,6 @@ Datoj de versioj kaj nomoj de redaktantoj estos preservitaj.
 'modern.css' => '/* La jena CSS influos la paĝaspekton por uzantoj de la Moderna temo. */',
 'vector.css' => '/* La jena CSS influos la paĝaspekton por uzantoj de la Vektora temo. */',
 'print.css' => '/* La jena CSS influos la prezentadon de la presaĵo. */',
-'handheld.css' => '/* La jena CSS influos manpremitajn komputilojn sur bazo de la temo kiu arangiĝis en $wgHandheldStyle. */',
 'noscript.css' => '/* La jena CSS influos uzantojn, kiuj desebligis Ĝavaskripton. */',
 'group-autoconfirmed.css' => '/* La jena CSS sole influos auxtokonfirmatajn uzantojn. */',
 'group-bot.css' => '/* La jena CSS sole influos robotojn. */',
index 6b4e98e..9404ffb 100644 (file)
@@ -75,6 +75,7 @@
  * @author Piolinfax
  * @author Platonides
  * @author PoLuX124
+ * @author QuimGil
  * @author Ralgis
  * @author Remember the dot
  * @author Remux
@@ -476,6 +477,18 @@ $messages = array(
 'oct' => 'oct',
 'nov' => 'nov',
 'dec' => 'dic',
+'january-date' => '$1 de enero',
+'february-date' => '$1 de febrero',
+'march-date' => '$1 de marzo',
+'april-date' => '$1 de abril',
+'may-date' => '$1 de mayo',
+'june-date' => '$1 de junio',
+'july-date' => '$1 de julio',
+'august-date' => '$1 de agosto',
+'september-date' => '$1 de septiembre',
+'october-date' => '$1 de octubre',
+'november-date' => '$1 de noviembre',
+'december-date' => '$1 de diciembre',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoría|Categorías}}',
@@ -781,7 +794,7 @@ Ten en cuenta que las páginas que tengas abiertas en otras ventanas o pestañas
 'welcomecreation-msg' => 'Tu cuenta ha sido creada.
 No olvides cambiar tus [[Special:Preferences|preferencias de {{SITENAME}} ]].',
 'yourname' => 'Nombre de usuario:',
-'userlogin-yourname' => 'Nombre de usuario',
+'userlogin-yourname' => 'Usuario',
 'userlogin-yourname-ph' => 'Escribe tu nombre de usuario',
 'yourpassword' => 'Contraseña:',
 'userlogin-yourpassword' => 'Contraseña',
@@ -791,8 +804,8 @@ No olvides cambiar tus [[Special:Preferences|preferencias de {{SITENAME}} ]].',
 'createacct-yourpasswordagain' => 'Confirma la contraseña',
 'createacct-yourpasswordagain-ph' => 'Repite la contraseña',
 'remembermypassword' => 'Mantenerme conectado en este navegador (hasta $1 {{PLURAL:$1|día|días}})',
-'userlogin-remembermypassword' => 'Mantener mi sesión iniciada',
-'userlogin-signwithsecure' => 'Idetificarse mediante servidor seguro',
+'userlogin-remembermypassword' => 'Mantener mi sesión',
+'userlogin-signwithsecure' => 'Usar conexión segura',
 'securelogin-stick-https' => 'Permanecer conectado a HTTPS después de iniciar sesión',
 'yourdomainname' => 'Dominio',
 'password-change-forbidden' => 'No puedes cambiar las contraseñas de este wiki.',
@@ -806,15 +819,16 @@ No olvides cambiar tus [[Special:Preferences|preferencias de {{SITENAME}} ]].',
 'userlogout' => 'Cerrar sesión',
 'notloggedin' => 'No has iniciado sesión',
 'userlogin-noaccount' => '¿No tienes una cuenta?',
-'userlogin-joinproject' => 'Unirse a {{SITENAME}}',
+'userlogin-joinproject' => 'Únete a {{SITENAME}}',
 'nologin' => '¿No tienes una cuenta? $1.',
 'nologinlink' => 'Crear una cuenta',
 'createaccount' => 'Crear una cuenta',
 'gotaccount' => '¿Ya tienes una cuenta? $1.',
 'gotaccountlink' => 'Entrar',
 'userlogin-resetlink' => '¿Olvidaste tus datos de acceso?',
+'userlogin-resetpassword-link' => 'Restablecer la contraseña',
 'helplogin-url' => 'Help:Inicio de sesión',
-'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Ayuda para identificarse]]',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Ayuda]]',
 'createacct-join' => 'Introduce tus datos debajo.',
 'createacct-emailrequired' => 'Dirección de correo electrónico',
 'createacct-emailoptional' => 'Dirección de correo electrónico (opcional)',
@@ -929,11 +943,9 @@ Puede que ya hayas cambiado la contraseña o que hayas pedido una temporal.',
 
 # Special:PasswordReset
 'passwordreset' => 'Restablecimiento de contraseña',
-'passwordreset-text' => 'Completa este formulario para restablecer la contraseña.',
 'passwordreset-legend' => 'Restablecer contraseña',
 'passwordreset-disabled' => 'Se ha desactivado el restablecimiento de contraseñas en este wiki.',
 'passwordreset-emaildisabled' => 'Las funciones de correo electrónico han sido desactivadas en esta wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Introduce uno de los elementos de datos siguientes}}',
 'passwordreset-username' => 'Nombre de usuario:',
 'passwordreset-domain' => 'Dominio:',
 'passwordreset-capture' => '¿Ver el mensaje resultante?',
@@ -1171,14 +1183,15 @@ No se aportaron explicaciones.',
 Parece que ha sido borrada.',
 'edit-conflict' => 'Conflicto de edición.',
 'edit-no-change' => 'Se ignoró tu revisión, porque no se hizo ningún cambio al texto.',
+'postedit-confirmation' => 'Se ha guardado tu edición.',
 'edit-already-exists' => 'No se pudo crear una página nueva.
 Ya existe.',
 'defaultmessagetext' => 'Texto de mensaje predeterminado',
 'content-failed-to-parse' => 'No se pudo analizar el contenido $2 del modelo $1: $3',
 'invalid-content-data' => 'Datos de contenido inválidos',
 'content-not-allowed-here' => 'El contenido "$1" no está permitido en la página [[$2]]',
-'editwarning-warning' => 'Dejar esta página le causará la pérdida de cualquier cambio que haya hecho.
-Si está "logueado", puede deshabilitar esta advertencia en la sección "{{int:prefs-editing}}" de sus preferencias.',
+'editwarning-warning' => 'Si abandonas esta página perderás tus cambios.
+Si estás identificado, puedes deshabilitar esta advertencia en la sección "Edición" de tus preferencias.',
 
 # Content models
 'content-model-wikitext' => 'texto wiki',
@@ -2427,8 +2440,8 @@ La dirección de correo electrónico que indicaste en [[Special:Preferences|tus
 'notvisiblerev' => 'La última revisión de un usuario diferente ha sido borrada',
 'watchnochange' => 'Ninguno de los artículos de tu lista de seguimiento fue editado en el periodo de tiempo mostrado.',
 'watchlist-details' => '{{PLURAL:$1|$1 página|$1 páginas}} en su lista de seguimiento, sin contar las de discusión.',
-'wlheader-enotif' => '* La notificación por correo electrónico está activada.',
-'wlheader-showupdated' => "* Las páginas modificadas desde su última visita aparecen en '''negrita'''",
+'wlheader-enotif' => 'La notificación por correo está activada.',
+'wlheader-showupdated' => "Las páginas modificadas desde su última visita aparecen en '''negrita'''.",
 'watchmethod-recent' => 'revisando cambios recientes en páginas vigiladas',
 'watchmethod-list' => 'revisando las páginas vigiladas en busca de cambios recientes',
 'watchlistcontains' => 'Tu lista de seguimiento posee $1 {{PLURAL:$1|página|páginas}}.',
@@ -3151,7 +3164,6 @@ Permite añadir una razón al resumen de edición.',
 'modern.css' => '/* El CSS colocado en esta página afectará a los usuarios que usen la piel "Modern" */',
 'vector.css' => '/* El CSS colocado en esta página afectará a los usuarios que usen la piel "Vector" */',
 'print.css' => '/* Los estilos CSS colocados aquí afectarán la impresión */',
-'handheld.css' => '/* Los estilos CSS colocados aquí afectarán a los dispositivos móviles basados en las pieles configuradas en $wgHandheldStyle */',
 'noscript.css' => '/* Los estilos CSS colocados aquí se aplicarán a los usuarios que hayan desactivado el JavaScript en su navegador */',
 'group-autoconfirmed.css' => '/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios del grupo Usuarios autoconfirmados */',
 'group-bot.css' => '/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios del grupo Bots */',
@@ -4100,7 +4112,7 @@ Este sitio está experimentando dificultades técnicas.',
 'logentry-move-move_redir-noredirect' => '$1 movió la página $3 a $4 sobre una redirección y sin dejar una redirección',
 'logentry-patrol-patrol' => '$1 marcó como patrullada la edición $4 de la página $3',
 'logentry-patrol-patrol-auto' => '$1 marcó automáticamente la edición $4 de la página $3 como patrullada',
-'logentry-newusers-newusers' => 'La cuenta de usuario $1 ha sido creada',
+'logentry-newusers-newusers' => 'La cuenta de usuario $1 ha sido {{GENDER:$2|creada}}',
 'logentry-newusers-create' => 'La cuenta de usuario $1 ha sido creada',
 'logentry-newusers-create2' => 'La cuenta de usuario $3 ha sido creada por $1',
 'logentry-newusers-byemail' => 'la cuenta de usuario $3 ha sido creada por $1 y la contraseña ha sido enviada por correo',
index 8e3120e..9e98e47 100644 (file)
@@ -18,6 +18,7 @@
  * @author Ker
  * @author Kyng
  * @author Morel
+ * @author Nemo bis
  * @author Oop
  * @author Pikne
  * @author Silvar
@@ -842,11 +843,9 @@ Võib-olla oled juba edukalt muudnud oma salasõna või taotlenud uut ajutist sa
 
 # Special:PasswordReset
 'passwordreset' => 'Parooli lähtestamine',
-'passwordreset-text' => 'Täida see vorm, et oma parool lähtestada.',
 'passwordreset-legend' => 'Parooli lähtestamine',
 'passwordreset-disabled' => 'Selles vikis on paroolide lähtestamine keelatud.',
 'passwordreset-emaildisabled' => 'E-posti funktsioonid on selles vikis keelatud.',
-'passwordreset-pretext' => '{{PLURAL:$1||Sisesta üks järgmistest andmeüksustest.}}',
 'passwordreset-username' => 'Kasutajanimi:',
 'passwordreset-domain' => 'Domeen:',
 'passwordreset-capture' => 'Näita lähetatavat e-kirja?',
@@ -1080,6 +1079,7 @@ Allpool on esitatud lehekülje kustutamis- ja teisaldamislogi.',
 Tundub, et see on kustutatud.',
 'edit-conflict' => 'Redigeerimiskonflikt.',
 'edit-no-change' => 'Sinu redigeerimist ignoreeriti, sest tekstile ei olnud tehtud muudatusi.',
+'postedit-confirmation' => 'Sinu muudatus on salvestatud.',
 'edit-already-exists' => 'Ei saanud alustada uut lehekülge.
 See on juba olemas.',
 'defaultmessagetext' => 'Sõnumi vaiketekst',
@@ -2305,8 +2305,8 @@ Edasised muudatused sellel leheküljel ja seotud aruteluleheküljel tuuakse ära
 'notvisiblerev' => 'Redaktsioon on kustutatud',
 'watchnochange' => 'Valitud ajavahemiku jooksul pole ühelgi jälgitaval leheküljel muudatusi tehtud.',
 'watchlist-details' => 'Jälgimisloendis on {{PLURAL:$1|$1 lehekülg|$1 lehekülge}} (ei arvestata arutelulehekülgi).',
-'wlheader-enotif' => 'E-posti teel teavitamine on aktiveeritud.',
-'wlheader-showupdated' => "Leheküljed, mida on muudetud peale sinu viimast külastust, on '''rasvases kirjas'''.",
+'wlheader-enotif' => 'E-posti teel teavitamine on aktiveeritud.',
+'wlheader-showupdated' => "Leheküljed, mida on muudetud peale sinu viimast külastust, on '''rasvases kirjas'''.",
 'watchmethod-recent' => 'jälgitud lehekülgedel tehtud viimaste muudatuste läbivaatamine',
 'watchmethod-list' => 'jälgitavate lehekülgede viimased muudatused',
 'watchlistcontains' => 'Sinu jälgimisloendis on $1 {{PLURAL:$1|lehekülg|lehekülge}}.',
index efcdad2..94354cb 100644 (file)
@@ -14,6 +14,7 @@
  * @author Kaustubh
  * @author Kobazulo
  * @author Malafaya
+ * @author Nemo bis
  * @author Reedy
  * @author Theklan
  * @author Unai Fdz. de Betoño
@@ -972,7 +973,7 @@ Administratzailea zarenez, diff hau ikus dezakezu. Xehetasunak ikusgai daude [{{
 'revdelete-legend' => 'Berrikuspen mugapenak ezarri:',
 'revdelete-hide-text' => 'Berrikuspenaren testua ezkutatu',
 'revdelete-hide-image' => 'Fitxategiaren edukia ezkutatu',
-'revdelete-hide-name' => 'Helburua eta ekintza izkutatu',
+'revdelete-hide-name' => 'Ezkutatu ekintza eta helburua',
 'revdelete-hide-comment' => 'Aldaketaren iruzkina ezkutatu',
 'revdelete-hide-user' => 'Egilearen erabiltzaile izena/IPa ezkutatu',
 'revdelete-hide-restricted' => 'Mugapen hauek administratzaileei zein besteei aplikatu',
@@ -1056,7 +1057,7 @@ Kontura zaitez nabigazio loturek, zutabea ezabatu dezakela.',
 'difference-multipage' => '(Orrialdeen arteko ezberdintasunak)',
 'lineno' => '$1. lerroa:',
 'compareselectedversions' => 'Hautatutako bertsioak alderatu',
-'showhideselectedversions' => 'Erakutsi/izkutatu aukeratutako berrikuspenak',
+'showhideselectedversions' => 'Erakutsi/ezkutatu aukeratutako berrikuspenak',
 'editundo' => 'desegin',
 'diff-multi' => '({{PLURAL:$1|Ez da tarteko berrikuspen bat|Ez dira tarteko $1 berrikuspen}} erakusten {{PLURAL:$2|lankide batena|$2 lankiderena}}.)',
 
@@ -1867,6 +1868,14 @@ Baimendutako protokoloak: <code>$1</code> (protokoloa zehazten ez bada http:// h
 'listusers-noresult' => 'Ez da erabiltzailerik aurkitu.',
 'listusers-blocked' => '(blokeatua)',
 
+# Special:ActiveUsers
+'activeusers' => 'Lankide aktiboen zerrenda',
+'activeusers-count' => '{{PLURAL:$1|Ekintza berri bat|$1 ekintza berri}} azken {{PLURAL:$3|egunean|$3 egunetan}}',
+'activeusers-from' => 'Bilatu honela hasten diren lankideak:',
+'activeusers-hidebots' => 'Ezkutatu bot-ak',
+'activeusers-hidesysops' => 'Ezkutatu administratzaileak',
+'activeusers-noresult' => 'Ez da lankiderik aurkitu.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Erabiltzaile talde eskumenak',
 'listgrouprights-summary' => 'Ondorengo zerrendak wikian dauden lankide taldeak agertzen dira, beraien eskubideekin.
@@ -1937,8 +1946,8 @@ Jarraipen zerrendatik artikulua kentzeko, artikuluan ''ez jarraitu''ri eman.",
 'notvisiblerev' => 'Berrikusketa desegin da',
 'watchnochange' => 'Hautatutako denbora tartean ez da aldaketarik izan zure jarraipen zerrendako orrialdeetan.',
 'watchlist-details' => '{{PLURAL:$1|Orrialde $1|$1 orrialde}} jarraitzen, eztabaida orrialdeak kontuan hartu gabe.',
-'wlheader-enotif' => 'Posta bidezko ohartarazpena gaituta dago.',
-'wlheader-showupdated' => "Bisitatu zenituen azken alditik aldaketak izan dituzten orrialdeak '''beltzez''' nabarmenduta daude",
+'wlheader-enotif' => 'Posta bidezko ohartarazpena gaituta dago.',
+'wlheader-showupdated' => "Bisitatu zenituen azken alditik aldaketak izan dituzten orrialdeak '''beltzez''' nabarmenduta daude",
 'watchmethod-recent' => 'Aldaketa berriak aztertzen jarraipen zerrendako orrialdeen bila',
 'watchmethod-list' => 'jarraipen zerrendako orrialdeak aldaketa berrien bila aztertzen',
 'watchlistcontains' => 'Zure jarraipen zerrendak {{PLURAL:$1|orrialde $1 du|$1 orrialde ditu}}.',
@@ -2742,7 +2751,7 @@ Zerrenda elementuak (hasieran * duten lerroak) baino ez dira kontuan hartzen. Le
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Zabalera',
 'exif-imagelength' => 'Altuera',
 'exif-bitspersample' => 'Bit osagaiko',
@@ -2887,7 +2896,7 @@ Zerrenda elementuak (hasieran * duten lerroak) baino ez dira kontuan hartzen. Le
 'exif-copyrightowner' => 'Copyright-aren jabea',
 'exif-usageterms' => 'Erabilera baldintzak',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Konprimatu gabe',
 'exif-compression-6' => 'JPEG',
 
@@ -3243,13 +3252,6 @@ Halaber [[Special:EditWatchlist|aldatzaile estandarra]] erabil dezakezu.',
 'version-software-version' => 'Bertsioa',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Fitxategi bidea',
-'filepath-page' => 'Fitxategia:',
-'filepath-submit' => 'Joan',
-'filepath-summary' => 'Orri berezi honek fitxategiaren ibilbidea itzultzen du.
-Irudiak bereizmen handienean daude, bestelako fitxategi motak beraiei esleitutako programarekin hasiko dira zuzenean.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Artxibo bikoiztuen bilaketa',
 'fileduplicatesearch-summary' => 'Bikoiztutako fitxategiak bilatu bere hash balioaren arabera.',
index 61a1b3a..c8ff7ab 100644 (file)
@@ -49,8 +49,6 @@ $messages = array(
 'tog-shownumberswatching' => "Muestral el númeru d'usuárius que la vehilan",
 'tog-oldsig' => 'Firma dessistenti:',
 'tog-fancysig' => 'Tratal la firma cumu testu wiki (sin atiju automáticu)',
-'tog-externaleditor' => 'Gastal eitol esternu pol defeutu (solu pa sabihondus, es mestel una configuración especial nel ordinaol)',
-'tog-externaldiff' => 'Gastal def esternu pol defeutu (solu pa sabihondus, es mestel una configuración especial nel ordinaol)',
 'tog-showjumplinks' => 'Premitil los atihus d\'acesibiliá "sartal a"',
 'tog-uselivepreview' => 'Gastal "live preview" (JavaScript) (en prebas)',
 'tog-forceeditsummary' => 'Avisalmi cuandu nu escreba una síntesis dun chambu',
@@ -797,14 +795,6 @@ Asigurati e qu'esti chambu mantenga la continuiá el estorial la páhina.",
 'search-external' => 'Landeu estelnu',
 'searchdisabled' => 'Los landeus en {{SITENAME}} están temporalmenti desativaus. Mentris tantu, pueis landeal meyanti landerus esternus, inque ten en cuenta que los sus éndicis concernientis a {{SITENAME}} puein nu estal atualizaus.',
 
-# Quickbar
-'qbsettings' => 'Preferéncias la "Quickbar"',
-'qbsettings-none' => 'Dengunu',
-'qbsettings-fixedleft' => 'Asiahau a la gocha',
-'qbsettings-fixedright' => 'Asiahau a la derecha',
-'qbsettings-floatingleft' => 'Frotanti ena gocha',
-'qbsettings-floatingright' => 'Frotanti ena derecha',
-
 # Preferences page
 'preferences' => 'Preferéncias',
 'mypreferences' => 'Las mis preferéncias',
@@ -1398,8 +1388,8 @@ Si quieis ehal de vehilal la páhina, pursa sobri \"Ehal de vehilal\".",
 'notvisiblerev' => 'La revisión á siu esborrá',
 'watchnochange' => 'Nu s´eitó denguna e las tus páhinas vehilás nel períu lihiu.',
 'watchlist-details' => '{{PLURAL:$1|$1 artículu|$1 artículus}} vehilaus (sin contal las carabas).',
-'wlheader-enotif' => 'Se premitin notificacionis pol email.',
-'wlheader-showupdated' => "Las páhinas que s'án emburacau dendi la úrtima vezi que las visoreasti son muestrás en '''negrina'''",
+'wlheader-enotif' => 'Se premitin notificacionis pol email.',
+'wlheader-showupdated' => "Las páhinas que s'án emburacau dendi la úrtima vezi que las visoreasti son muestrás en '''negrina'''",
 'watchmethod-recent' => 'comprebandu las úrtimas eicionis en páhinas vehilás',
 'watchmethod-list' => 'Revisandu las páhinas vehilás en cata los úrtimus chambus',
 'watchlistcontains' => 'Ai $1 {{PLURAL:$1|páhina|páhinas}} ena tu lista e seguimientu.',
@@ -2009,7 +1999,7 @@ Cualisquiel otru atihu ena mesma línia se consierará ececión, p.s. páhinas o
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Anchón',
 'exif-imagelength' => 'Artura',
 'exif-bitspersample' => 'Bits pol componenti',
@@ -2093,7 +2083,7 @@ Cualisquiel otru atihu ena mesma línia se consierará ececión, p.s. páhinas o
 'exif-gpsdatestamp' => 'Fecha el GPS',
 'exif-gpsdifferential' => 'Correción diferencial de GPS',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Descomprimiu',
 
 'exif-unknowndate' => 'Fecha andarria',
@@ -2364,13 +2354,6 @@ Pol favol, confirma si rialmenti quieis gorvel a crial la páhina.",
 'version-software-product' => 'Proutu',
 'version-software-version' => 'Velsión',
 
-# Special:FilePath
-'filepath' => "Ruta d'archivu",
-'filepath-page' => 'Archivu:',
-'filepath-submit' => 'Ruta',
-'filepath-summary' => "Esta páhina especial degüervi la ruta compreta dun archivu.
-Las imahin se muestran a resolución compreta; las demas crasis d'archivu s'ehecutan diretamenti con el su pograma asociau.",
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Landeal archivus dupricaus',
 'fileduplicatesearch-legend' => 'Landeal dupricaus',
index 2d3fc7f..4431246 100644 (file)
@@ -473,7 +473,7 @@ $messages = array(
 'tog-diffonly' => 'محتوای صفحه، زیر تفاوت نمایش داده نشود',
 'tog-showhiddencats' => 'رده‌های پنهان نمایش داده شود',
 'tog-noconvertlink' => 'تبدیل عنوان پیوند غیرفعال شود',
-'tog-norollbackdiff' => 'بعد از واگردانی تفاوت نشان داده نشود',
+'tog-norollbackdiff' => 'بعد از واگردانی تفاوت نشان داده شود',
 'tog-useeditwarning' => 'زمان خروج از صفحهٔ ویرایش در صورت داشتن ویرایش‌های‌ ذخیره‌نشده به من هشدار داده شود',
 
 'underline-always' => 'همیشه',
@@ -538,16 +538,18 @@ $messages = array(
 'oct' => 'اکتبر',
 'nov' => 'نوامبر',
 'dec' => 'دسامبر',
-
-'monday-at' => 'دوشنبهٔ $1',
-'tuesday-at' => 'سه‌شنبهٔ $1',
-'wednesday-at' => 'چهارشنبهٔ $1',
-'thursday-at' => 'پنج‌شنبهٔ $1',
-'friday-at' => 'جمعهٔ $1',
-'saturday-at' => 'شنبهٔ $1',
-'sunday-at' => 'یک‌شنبهٔ $1',
-'today-at' => '$1',
-'yesterday-at' => 'دیروز $1',
+'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|رده|رده‌ها}}',
@@ -863,9 +865,18 @@ $2',
 'welcomecreation-msg' => 'حساب کاربری شما ایجاد شده است.
 فراموش نکنید که [[Special:Preferences|ترجیحات {{SITENAME}}]] خود را تغییر دهید.',
 'yourname' => 'نام کاربری:',
+'userlogin-yourname' => 'نام کاربری',
+'userlogin-yourname-ph' => 'نام کاربریتان را وارد کنید',
 'yourpassword' => 'گذرواژه:',
+'userlogin-yourpassword' => 'گذرواژه',
+'userlogin-yourpassword-ph' => 'گذرواژه را وارد کنید',
+'createacct-yourpassword-ph' => 'یک گذرواژه وارد کنید',
 'yourpasswordagain' => 'تکرار گذرواژه:',
+'createacct-yourpasswordagain' => 'گذرواژه را دوباره وارد کنید',
+'createacct-yourpasswordagain-ph' => 'گذرواژه را وارد کنید برای بار دوم',
 'remembermypassword' => 'گذرواژه را (تا حداکثر $1 {{PLURAL:$1|روز|روز}}) در این رایانه به خاطر بسپار',
+'userlogin-remembermypassword' => 'من را واردشده نگه‌دار',
+'userlogin-signwithsecure' => 'از ارتباط امن استفاده کن',
 'securelogin-stick-https' => 'پس از ورود به سامانه به HTTPS متصل بمان',
 'yourdomainname' => 'دامنهٔ شما:',
 'password-change-forbidden' => 'شما نمی‌توانید گذرواژه‌ها را در این ویکی تغییر دهید.',
@@ -878,14 +889,32 @@ $2',
 'logout' => 'خروج از سامانه',
 'userlogout' => 'خروج از سامانه',
 'notloggedin' => 'به سامانه وارد نشده‌اید',
+'userlogin-noaccount' => 'آیا حسابی ندارید؟',
+'userlogin-joinproject' => 'به {{SITENAME}} بپیوندید',
 'nologin' => 'حساب کاربری ندارید؟ $1.',
 'nologinlink' => 'یک حساب کاربری جدید بسازید',
 'createaccount' => 'ایجاد حساب کاربری',
 'gotaccount' => 'حساب کاربری دارید؟ $1.',
 'gotaccountlink' => 'به سامانه وارد شوید',
 'userlogin-resetlink' => 'جزئیات ورود را فراموش کرده‌اید؟',
+'userlogin-resetpassword-link' => 'گذرواژه را ریست کن',
+'helplogin-url' => 'Help:ورود به سامانه',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|راهنمای ورود به سامانه]]',
+'createacct-join' => 'اطلاعاتتان را در زیر وارد کنید',
+'createacct-emailrequired' => 'آدرس رایانامه',
+'createacct-emailoptional' => 'آدرس رایانامه (اختیاری)',
+'createacct-email-ph' => 'آدرس رایانامه را وارد کنید',
 'createaccountmail' => 'استفاده از رمز عبور موقت تصادفی و ارسال آن به آدرس ایمیل مشخص شده در زیر',
+'createacct-realname' => 'نام واقعی (اختیاری)',
 'createaccountreason' => 'دلیل:',
+'createacct-reason' => 'دلیل',
+'createacct-reason-ph' => 'چرا شما حساب دیگری می‌سازید؟',
+'createacct-captcha' => 'بررسی امنیتی',
+'createacct-imgcaptcha-ph' => 'متن تصویری که در بالا می‌بینید، وارد کنید',
+'createacct-submit' => 'حسابتان را بسازید',
+'createacct-benefit-heading' => '{{SITENAME}} توسط افرادی مانند شما ساخته شده‌است',
+'createacct-benefit-body1' => '{{PLURAL:$1|ویرایش|ویرایش‌ها}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|صفحه|صفحه‌ها}}',
 'badretype' => 'گذرواژه‌هایی که وارد کرده‌اید یکسان نیستند.',
 'userexists' => 'نام کاربری‌ای که وارد کردید قبلاً استفاده شده‌است.
 لطفاً یک نام دیگر انتخاب کنید.',
@@ -987,10 +1016,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'بازنشانی گذرواژه',
-'passwordreset-text' => 'این فرم را برای دریافت نامهٔ یادآور جزئیات حسابتان کامل کنید.',
 'passwordreset-legend' => 'بازنشانی گذرواژه',
 'passwordreset-disabled' => 'بازنشانی گذرواژه در این ویکی غیرفعال شده است.',
-'passwordreset-pretext' => '{{PLURAL:$1||یکی از قطعه‌های داده را در زیر وارد کنید}}',
 'passwordreset-username' => 'نام کاربری:',
 'passwordreset-domain' => 'دامنه:',
 'passwordreset-capture' => 'رایانامهٔ نهایی نشان داده شود؟',
@@ -2410,6 +2437,15 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization را ببینید.',
 'listusers-noresult' => 'هیچ کاربری یافت نشد.',
 'listusers-blocked' => '(بسته شده)',
 
+# Special:ActiveUsers
+'activeusers' => 'فهرست کاربران فعال',
+'activeusers-intro' => 'در زیر فهرستی از کاربرانی را می‌بینید که در $1 {{PLURAL:$1|روز|روز}} گذشته فعالیتی داشته‌اند.',
+'activeusers-count' => '$1 {{PLURAL:$1|فعالیت|فعالیت}} در {{PLURAL:$3|روز|$3 روز}} اخیر',
+'activeusers-from' => 'نمایش کاربران با آغاز از:',
+'activeusers-hidebots' => 'نهفتن ربات‌ها',
+'activeusers-hidesysops' => 'نهفتن مدیران',
+'activeusers-noresult' => 'کاربری پیدا نشد.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'اختیارات گروه‌های کاربری',
 'listgrouprights-summary' => 'فهرست زیر شامل گروه‌های کاربری تعریف شده در این ویکی و اختیارات داده شده به آن‌ها است.
@@ -3387,6 +3423,19 @@ $1',
 'ago' => '$1 پیش',
 'just-now' => 'هم‌اکنون',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|ساعت|ساعت}} قبل',
+'minutes-ago' => '$1 {{PLURAL:$1|دقیقه|دقیقه}} قبل',
+'seconds-ago' => '$1 {{PLURAL:$1|ثانیه|ثانیه}} قبل',
+'monday-at' => 'دوشنبهٔ $1',
+'tuesday-at' => 'سه‌شنبهٔ $1',
+'wednesday-at' => 'چهارشنبهٔ $1',
+'thursday-at' => 'پنج‌شنبهٔ $1',
+'friday-at' => 'جمعهٔ $1',
+'saturday-at' => 'شنبهٔ $1',
+'sunday-at' => 'یک‌شنبهٔ $1',
+'yesterday-at' => 'دیروز $1',
+
 # Bad image list
 'bad_image_list' => 'اطلاعات را باید اینگونه وارد کنید:
 
@@ -3414,7 +3463,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'عرض',
 'exif-imagelength' => 'طول',
 'exif-bitspersample' => 'نقطه در هر جزء',
@@ -3593,7 +3642,7 @@ $1',
 'exif-originalimageheight' => 'بلندی تصویر قبل از برش دادن',
 'exif-originalimagewidth' => 'پهنای تصویر قبل از برش دادن',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'غیرفشرده',
 'exif-compression-2' => 'رمزگذاری سی‌سی‌آی‌تی‌تی گروه ۳ یک بعدی به روش هافمن تغییریافته روی طول',
 'exif-compression-3' => 'رمزگذاری نمابر سی‌سی‌آی‌تی‌تی گروه ۳',
@@ -4072,12 +4121,6 @@ $5
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath مسیر مقاله]',
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath مسیر اسکریپت]',
 
-# Special:FilePath
-'filepath' => 'مسیر پرونده',
-'filepath-page' => 'پرونده:',
-'filepath-submit' => 'برو',
-'filepath-summary' => 'این صفحهٔ ویژه نشانی کامل برای یک پرونده را نشان می‌دهد. تصاویر با کیفیت وضوح کامل نشان داده می‌شوند، سایر انواع پرونده با برنامه مخصوص به خودشان باز می‌شوند.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'جستجو برای پرونده‌های تکراری',
 'fileduplicatesearch-summary' => 'جستجو برای پرونده‌های تکراری بر اساس مقدار درهم‌شدهٔ آن‌ها صورت می‌گیرد.',
@@ -4283,8 +4326,4 @@ $5
 # Image rotation
 'rotate-comment' => 'تصویر به دست $1 {{PLURAL:$1|درجهٔ|درجهٔ}} ساعت‌گرد چرخانده شد',
 
-# Unknown messages
-'hours-ago' => '$1 {{PLURAL:$1|ساعت|ساعت}} قبل',
-'minutes-ago' => '$1 {{PLURAL:$1|دقیقه|دقیقه}} قبل',
-'seconds-ago' => '$1 {{PLURAL:$1|ثانیه|ثانیه}} قبل',
 );
index 45ce3eb..cae4c8d 100644 (file)
@@ -94,15 +94,22 @@ $messages = array(
 'listingcontinuesabbrev' => 'jokku',
 'noindex-category' => 'Kello njoopaaka',
 
-'mytalk' => 'kaldigal am',
+'newwindow' => '(udditata e henorde hesere)',
+'cancel' => 'Haaytu',
+'mytalk' => 'Yeewtere',
 'navigation' => 'Peeragol',
 
+# Cologne Blue skin
+'faq' => 'FAQ',
+
 # Vector skin
 'vector-action-addsection' => 'Ɓeydi toɓɓere',
 'vector-action-move' => 'Dirtin',
+'vector-view-create' => 'Sos',
 'vector-view-edit' => 'Taƴto',
 'vector-view-history' => 'Yiyto aslol',
 'vector-view-view' => 'Tar',
+'vector-view-viewsource' => 'Yiyto ɗaɗol',
 'actions' => 'Baɗe',
 'namespaces' => 'Boowal inɗe',
 'variants' => 'Lomtooɗe',
@@ -254,6 +261,7 @@ So wonaa ɗuum, maataw ko a kawruɗo e buggere e topirde ndee.
 Tiiɗno jaŋto ɗum to [[Special:ListUsers/sysop|jiiloowo]] mbaasaa yejjitde URL jokkol ngol.',
 'badtitle' => 'Tiitoonde moƴƴaani',
 'badtitletext' => 'Tiitoonde ello ɗaɓɓitaango ngoo moƴƴaani, ko mehre, walla ko hakkude-ɗemɗe jokkoraade no feewaani walla tiitoonde hakkude-wiki',
+'viewsource' => 'Yiyto ɗaɗol',
 
 # Login and logout pages
 'yourname' => 'Innde Kuutoro',
@@ -263,13 +271,32 @@ Tiiɗno jaŋto ɗum to [[Special:ListUsers/sysop|jiiloowo]] mbaasaa yejjitde URL
 'nav-login-createaccount' => 'Seŋo / uddit konte',
 'loginprompt' => 'Alaa e sago kurminaa kukiije ngam seŋaade e {{SITENAME}}.',
 'userlogin' => 'Seŋo / uddit konte',
+'userlogout' => 'Seŋto',
 'nologin' => 'A alaa konte tawo? $1.',
 'nologinlink' => 'Uddit konte',
 'mailmypassword' => 'Neldu finnde hesere e iimeel',
 'loginlanguagelabel' => 'Ɗemngal: $1',
 
+# Edit page toolbar
+'bold_sample' => 'Binndol ɓuutol',
+'italic_sample' => 'Binndol italic',
+'italic_tip' => 'Binndol italic',
+'extlink_sample' => 'http://www.yeru.com tiitoonde jokkol',
+'extlink_tip' => 'Jokkol boowbowal (siiftor puɗɗol http://)',
+'headline_sample' => 'Binndol tiitoonde',
+'nowiki_sample' => 'Naatnu binndol ngol mbaydinaaka',
+'nowiki_tip' => 'Faalkiso mbaydingol wiki',
+'image_tip' => 'Fiilde soomtoraande',
+'sig_tip' => 'Ciifol maa kañum e ñalngu',
+'hr_tip' => 'Diidol lelingol (huutoro seeɗa)',
+
 # Edit pages
+'minoredit' => 'Ɗuum ko taƴtol pamarol',
+'watchthis' => 'Rewindo ngoo hello',
+'savearticle' => 'Danndu hello',
 'preview' => 'Yiytindo',
+'showpreview' => 'Hollu jiytol',
+'showdiff' => 'Hollu bayle',
 'newarticle' => '(Kesi)',
 'newarticletext' => 'A rewii e jokkol feewde e hello ngo woodaani tawo.
 Ngam sosde hello ngoo, fuɗɗo tappude e gallol les ngol (Yah to [[{{MediaWiki:Helppage}}|help page]] ngam ɓeydude humpito).',
@@ -284,13 +311,19 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 'hiddencategories' => 'Ngoo hello jeyaa ko e {{PLURAL:$1|1 fedde suuɗiinde|$1 pelle cuuɗiiɗe}}:',
 
 # Parser/template warnings
+'post-expand-template-inclusion-warning' => '""Reentino"."" Ɓetol tuugnorde ɓurtii.',
+'post-expand-template-inclusion-category' => 'Kelle baɗɗe tuugnorɗe ɓurtuɗe',
 'post-expand-template-argument-warning' => "'''Warning:''' Ngoo hello ena jogii daliilu tiimtorde jogiiɗo ɓetol layo mawngol haa ɓurti.
 Ɗiin dalillaaji nduulaama.",
 'post-expand-template-argument-category' => 'Kelle jogiiɗe dalillaaji tiimtorde jejjitaaɗe',
 
 # History pages
 'viewpagelogs' => 'Yiyto loge ngoo hello',
+'currentrev-asof' => 'Yamre sakkitiinde nde $1',
 'revisionasof' => 'Waylitannde $1',
+'previousrevision' => '← Baylital ɓennungal',
+'cur' => 'gon',
+'last' => 'ɓenn',
 'histlegend' => 'Cifol : ({{int:cur}}) = ko seerti e yamre wonaande ndee, ({{int:last}}) = ko seerti e yamre ɓennunde ndee, <b>{{int:minoreditletter}}</b> = baylital pamaral',
 'history-fieldset-title' => 'Feero e aslol',
 'history-show-deleted' => 'Momtaaɗi tan',
@@ -298,6 +331,7 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 
 # Revision deletion
 'revdel-restore' => 'waylu jiyagol',
+'revdel-restore-deleted' => 'baylitte momtaaɗe',
 'revdel-restore-visible' => 'baylitte jiyotooɗe',
 
 # Merge log
@@ -319,6 +353,7 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 'shown-title' => 'Hollu $1 {{PLURAL:$1|njaltudi|jaltuɗe}} e hello fof',
 'viewprevnext' => 'Yiyto ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Ena woodi hello ena wiyee \"[[:\$1]]\" e oo wiki.'''",
+'searchmenu-new' => "'''Sos hello \"[[:\$1]]\" e oo wiki!'''",
 'searchprofile-articles' => 'Kello loowdi',
 'searchprofile-project' => 'Hello ballal e Eɓɓoore',
 'searchprofile-images' => 'Sawmejaajo',
@@ -332,8 +367,13 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 'search-result-size' => '$1 ({{PLURAL:$2|helmere 1|kelme$ 2}})',
 'search-redirect' => '(yiiltu $1)',
 'search-section' => '(taƴre $1)',
+'search-suggest' => 'Maa taw njiɗ-ɗaa wiyde ko: $1',
 'searchall' => 'fof',
 'showingresultsheader' => "{{PLURAL:$5|Njaltudi'''$1''' of '''$3'''|Jaltuɗe'''$1 - $2''' of '''$3'''}} for '''$4'''",
+'search-nonefound' => 'Alaa njaltudi arti e ndee ɗaɓɓitannde.',
+
+# Preferences page
+'mypreferences' => 'Cuɓoraade',
 
 # Recent changes
 'recentchanges' => 'Wailitooji kesi',
@@ -345,6 +385,8 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 'rclinks' => 'Hollu bayle $1 cakkitiiɗe baɗaaɗe e balɗe $2 ɓannuɗe ɗee<br />$3',
 'diff' => 'ceer',
 'hist' => 'aslol',
+'hide' => 'Suuɗ',
+'show' => 'Hollu',
 'rc-enhanced-expand' => 'Hollu cariiɗe (ena naamnii JavaScript)',
 'rc-enhanced-hide' => 'Suuɗ cariiɗe',
 
@@ -353,6 +395,8 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 'recentchangeslinked-toolbox' => 'Bayle toɗɗiiɗe ɗee',
 'recentchangeslinked-title' => 'Bayle toɗɗiiɗe "$1"',
 'recentchangeslinked-noresult' => 'Alaa bayle ngoni e hello jokkiingo ngoo e dumunna joopaaɗo oo.',
+'recentchangeslinked-summary' => 'Ɗuum ko doggol bayle baɗaaɗe sakket e kelle jokkiiɗe e hello heeriingo (walla e terɗe fedde heeriinde).
+Kelle e [[Special:Watchlist|your watchlist]] ko ngoni ko e ""ɓuutol"".',
 'recentchangeslinked-page' => 'Innde hello:',
 'recentchangeslinked-to' => 'Hollu bayle kelle jokkaaɗe e hello toɗɗaango ngoo kisa',
 
@@ -362,9 +406,21 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 'filedesc' => 'Tonngol',
 
 # File description page
+'file-anchor-link' => 'Fiilde',
 'filehist' => 'Aslol fiilde',
+'filehist-help' => 'Dobo e ñalngu/waktu ngam yiyde fiilde ndee no nde yaltirta e oon waktu nih.',
+'filehist-current' => 'gonaaɗo',
+'filehist-datetime' => 'Ñalngu/Waktu',
+'filehist-thumb' => 'Dooɓre',
+'filehist-thumbtext' => 'Dooɓre yamre $1',
+'filehist-user' => 'Kuutoro',
+'filehist-dimensions' => 'Ɓete',
+'filehist-comment' => 'Yowre',
 'imagelinks' => 'Kuutorgol fiilde',
+'linkstoimage' => '{{PLURAL:$1|page links|$1 pages link}} dewɗe e ngoo hello:',
 'nolinkstoimage' => 'Alaa kelle jokkiiɗe e ndee fiilde.',
+'sharedupload-desc-here' => 'Ndee fiilde ummii ko e $1 tee ena waawi huutoreede e eɓɓooje koɗe.
+Cifol gonngol e [$2 file description page] makko ena holliraa les ɗoo.',
 
 # Random page
 'randompage' => 'Ɗerewol kawral',
@@ -383,13 +439,16 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 'log' => 'Loge',
 
 # Special:AllPages
+'alphaindexline' => '$1 haa $2',
 'allarticles' => 'Winndannde hesere',
+'allpagessubmit' => 'Yah',
 
 # Special:LinkSearch
 'linksearch-line' => '$1 ko-ko jokkaa e $2',
 
 # Watchlist
 'watchlist' => 'Doggol ndeenka am',
+'mywatchlist' => 'Doggol rewindo',
 'watch' => 'Rewindaande',
 'unwatch' => 'Darin rewindo',
 
@@ -403,12 +462,15 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 
 # Undelete
 'undeletelink' => 'yiyto/artir',
+'undeleteviewlink' => 'yiyto',
 
 # Namespace form on various pages
+'namespace' => 'Boowal inɗe',
 'blanknamespace' => '(Dowrowo)',
 
 # Contributions
 'contributions' => 'Ballitte kuutoro',
+'mycontris' => 'Ballitte',
 'month' => 'Tuggi nduu lewru (e ɓennuɗi):',
 'year' => 'Tuggi ndee hitaande (e ɓennuɗe):',
 
@@ -431,6 +493,7 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 'whatlinkshere-filters' => 'Ceɗe',
 
 # Block/unblock
+'ipboptions' => 'waktuuji 2:waktuuji 2,ñalawma 1:ñalawma 1,balɗe 3:balɗe 3,yontere 1:yontere 1,jonte 2:jonte 2,lewru 1:lewru 1,lebbi 3:lebbi 3,lebbi 6:lebbi 6,hitaande 1:hitaande 1,gasataa:haa badaa',
 'blocklink' => 'daaƴ',
 'unblocklink' => 'daaƴtu',
 'change-blocklink' => 'wayli daaƴo',
@@ -440,6 +503,9 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 'movelogpage' => 'Dirtin loge',
 'revertmove' => 'firlit',
 
+# Export
+'export' => 'Jiggito kello',
+
 # Namespace 8 related
 'allmessagesname' => 'Innde',
 'allmessagesdefault' => 'Binndo ɓatakuru goowangol',
@@ -458,11 +524,14 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} taƴto hello ngoo]</span>.',
 'tooltip-pt-logout' => 'Seŋto',
 'tooltip-ca-talk' => 'Yeewtere baɗte hello loowdi ngoo',
 'tooltip-ca-edit' => 'Aɗa waawi taƴtaade ngoo hello. Tiiɗno huutoro butoŋ yiytindo oo hade maa danndude',
+'tooltip-ca-addsection' => 'Fuɗɗo taƴre hesere',
 'tooltip-ca-viewsource' => 'Ngoo hello ko hisnaango.
 Aɗa waawi yiytaade ɗaɗol maggo.',
 'tooltip-ca-history' => 'Baylitte ɓennuɗe e  ngoo hello',
 'tooltip-ca-protect' => 'Hisnu ngoo hello',
 'tooltip-ca-delete' => 'Momtu ngoo hello',
+'tooltip-ca-move' => 'Dirtin ngoo hello',
+'tooltip-ca-watch' => 'Ɓeydu ngoo hello e dewindaaɗe maa',
 'tooltip-ca-unwatch' => 'Momtu ngoo hello e doggol ndeenka maa',
 'tooltip-search' => 'Yiylo e {{SITENAME}}',
 'tooltip-search-fulltext' => 'Yiylo ndii loowdi e kelle ɗee',
@@ -476,6 +545,7 @@ Aɗa waawi yiytaade ɗaɗol maggo.',
 'tooltip-n-help' => 'Ko ɗoo yiytetee',
 'tooltip-t-whatlinkshere' => 'Doggol kelle Wiki jokkaaɗe ɗoo ɗee fof',
 'tooltip-t-recentchangeslinked' => 'Bayle cakkitiiɗe e kelle jokkaaɗe e ngoo hello',
+'tooltip-feed-atom' => 'Balal Atom ngoo hello',
 'tooltip-t-contributions' => 'Doggol ballitte oo kuutoro',
 'tooltip-t-upload' => 'Yollu piille',
 'tooltip-t-specialpages' => 'Doggol kelle keeriiɗe fof',
@@ -485,16 +555,22 @@ Aɗa waawi yiytaade ɗaɗol maggo.',
 'tooltip-ca-nstab-user' => 'Yiyto hello kuutoro',
 'tooltip-ca-nstab-project' => 'Yiyto hello eɓɓoore ngoo',
 'tooltip-ca-nstab-image' => 'Yiyto hello fiilde ngoo',
+'tooltip-ca-nstab-template' => 'Yiyto tuugnorde ndee',
+'tooltip-ca-nstab-category' => 'Yiyto hello fedde ndee',
 'tooltip-minoredit' => 'Maanto ɗum ko taƴto famaro',
+'tooltip-save' => 'Danndu bayle maa',
+'tooltip-preview' => 'Yiytindo bayle maa, tiiɗno huutoro ɗuum hade maa danndude!',
 'tooltip-compareselectedversions' => 'Ƴeew ko seerndi hakkunde baylitte ɗiɗi ngoo hello labaaɗe ɗee',
 'tooltip-watch' => 'Ɓeydu ngoo hello e doggol ndeenka maa',
 'tooltip-rollback' => '"Riiwtude" firlittu taƴte  ngoo hello ruttoo to battindiiɗo waylude ngo e dobannde wootere',
 'tooltip-undo' => '"Firtu" artirtu ngol taƴtol tee uddita gallol taƴto ngol e mbaydi yiytindo. Nafata ko ɓeydude daliilu e tonngol ngol.',
+'tooltip-summary' => 'Naatnu tonngol daɓɓol',
 
 # Browsing diffs
 'previousdiff' => 'Taƴte ɓennungol',
 
 # Media information
+'file-info-size' => '$1 × $2 piksele, ɓetol fiilde: $3, mbaydi MIME: $4',
 'file-nohires' => 'Werngo ɓurngo ɗoo toowde alaa.',
 'svg-long-desc' => 'Fiilde SVG, werngo mum ko $1 × $2 pikelle, ɓetol fiildee: $3',
 
@@ -509,6 +585,7 @@ Jokkol gadanol e gorol foti wonde ko jokkol fiilde nde moƴƴaani.
 Kala jokkol dewngol e ngool gorol nanngiraa ko paltooje, wano kelle ɗo fiilde ndee waawi yaltude.',
 
 # Metadata
+'metadata' => 'Metaakeɓe',
 'metadata-help' => 'Ngoo hello ena waɗi humpito woɗngo, tawata ko ummii ko e kameraa numerik walla niiwtorde huutoraande ngam sosde walla ngaanndinde nde.',
 'metadata-fields' => 'Galli metaakeɓe natal gongal nde nduu ɓaakuru maa naatine e jaytinol hello natal tuma nde haatumeere metaakeɓe ndee taggitaa.
 Goɗɗe maa cuuɗe e sahaa kala.
@@ -531,6 +608,7 @@ Goɗɗe maa cuuɗe e sahaa kala.
 'edit-externally-help' => '(Yah to [//www.mediawiki.org/wiki/Manual:External_editors/ff tinndinoore teelto] ngam ɓeydude humpito)',
 
 # 'all' in various places, this might be different for inflected languages
+'namespacesall' => 'fof',
 'monthsall' => 'fof',
 
 # Special:SpecialPages
index c45d7b9..53168b0 100644 (file)
@@ -313,7 +313,7 @@ $linkTrail = '/^([a-zäö]+)(.*)$/sDu';
 
 $messages = array(
 # User preference toggles
-'tog-underline' => 'Linkkien alleviivaus',
+'tog-underline' => 'Linkkien alleviivaus:',
 'tog-justify' => 'Tasaa kappaleet',
 'tog-hideminor' => 'Piilota pienet muutokset tuoreet muutokset -listasta',
 'tog-hidepatrolled' => 'Piilota tarkastetut muutokset tuoreet muutokset -listasta',
@@ -420,6 +420,18 @@ $messages = array(
 'oct' => 'lokakuu',
 'nov' => 'marraskuu',
 'dec' => 'joulukuu',
+'january-date' => '$1. tammikuuta',
+'february-date' => '$1. helmikuuta',
+'march-date' => '$1. maaliskuuta',
+'april-date' => '$1. huhtikuuta',
+'may-date' => '$1. toukokuuta',
+'june-date' => '$1. kesäkuuta',
+'july-date' => '$1. heinäkuuta',
+'august-date' => '$1. elokuuta',
+'september-date' => '$1. syyskuuta',
+'october-date' => '$1. lokakuuta',
+'november-date' => '$1. marraskuuta',
+'december-date' => '$1. joulukuuta',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Luokka|Luokat}}',
@@ -753,6 +765,7 @@ Huomaa, että jotkut sivut saattavat näkyä edelleen kuin olisit kirjautunut si
 'gotaccountlink' => 'kirjautua sisään',
 'userlogin-resetlink' => 'Unohditko salasanasi?',
 'userlogin-resetpassword-link' => 'Salasanan alustus',
+'helplogin-url' => 'Help:Sisäänkirjautuminen',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Auta sisäänkirjautumisessa]]',
 'createacct-join' => 'Kirjoita tietosi alle.',
 'createacct-emailrequired' => 'Sähköpostiosoite',
@@ -847,28 +860,29 @@ Odota ennen kuin yrität uudelleen.',
 'resetpass-wrong-oldpass' => 'Virheellinen väliaikainen tai nykyinen salasana.
 Olet saattanut jo onnistuneesti vaihtaa salasanasi tai pyytää uutta väliaikaista salasanaa.',
 'resetpass-temp-password' => 'Väliaikainen salasana:',
+'resetpass-abort-generic' => 'Lisäosa hylkäsi salasanan vaihdon.',
 
 # Special:PasswordReset
 'passwordreset' => 'Salasanan alustus',
-'passwordreset-text' => 'Täytä tämä lomake vaihtaaksesi salasanasi.',
+'passwordreset-text-one' => 'Täytä tämä lomake vaihtaaksesi salasanasi.',
 'passwordreset-legend' => 'Salasanan vaihto',
 'passwordreset-disabled' => 'Salasanojen alustus ei ole mahdollista tässä wikissä.',
 'passwordreset-emaildisabled' => 'Sähköpostitoiminnot on poistettu käytöstä tässä wikissä.',
-'passwordreset-pretext' => '{{PLURAL:$1||Kirjoita jokin jäljempänä pyydetty tieto}}',
 'passwordreset-username' => 'Käyttäjätunnus',
 'passwordreset-domain' => 'Verkkotunnus',
 'passwordreset-capture' => 'Näytä lähetettävä sähköpostiviesti',
 'passwordreset-capture-help' => 'Jos valitset tämän, sähköposti (tilapäisellä salasanalla) näytetään sinulle sekä lähetetään käyttäjälle.',
 'passwordreset-email' => 'Sähköpostiosoite',
 'passwordreset-emailtitle' => 'Tunnuksen tiedot {{GRAMMAR:inessive|{{SITENAME}}}}',
-'passwordreset-emailtext-ip' => 'Joku (todennäköisesti sinä, IP-osoitteesta $1) pyysi muistutusta tunnuksesi tiedoista sivustolla {{SITENAME}} ($4).
-{{PLURAL:$3|Seuraava käyttäjätunnus on|Seuraavat käyttäjätunnukset ovat}} liitetty tähän sähköpostiosoitteeseen:
+'passwordreset-emailtext-ip' => 'Joku (todennäköisesti sinä, IP-osoitteesta $1) pyysi salasanasi
+palautusta sivustolla {{SITENAME}} ($4). {{PLURAL:$3|Seuraava käyttäjätili on|Seuraavat käyttäjätilit ovat}}
+yhdistettynä tähän sähköpostiosoitteeseen:
 
 $2
 
-{{PLURAL:$3|Tämä väliaikainen salasana vanhentuu|Nämä väliaikaiset salasanat vanhentuvat}} {{PLURAL:$5|yhden päivän|$5 päivän}} kuluttua.
-Sinun kannattaa kirjautua sisään ja valita uusi salasana. Jos joku toinen teki tämän
-pyynnön, tai muistat sittenkin vanhan salasanasi, etkä halua muuttaa sitä,
+{{PLURAL:$3|Tämä väliaikainen salasana vanhenee|Nämä väliaikaiset salasanat vanhenevat}} {{PLURAL:$5|yhden päivän|$5 päivän}} kuluttua.
+Ole hyvä ja kirjaudu sisään nyt ja valitse uusi salasana. Jos joku toinen pyysi tätä,
+tai jos muistit jo vanhan salasanasi, etkä halua enää muuttaa sitä
 voit jättää tämän viestin huomiotta ja jatkaa vanhan salasanan käyttöä.',
 'passwordreset-emailtext-user' => 'Käyttäjä $1 pyysi muistutusta tunnuksesi tiedoista sivustolla {{SITENAME}} ($4).
 {{PLURAL:$3|Seuraava käyttäjätunnus on|Seuraavat käyttäjätunnukset ovat}} liitetty tähän sähköpostiosoitteeseen:
@@ -881,9 +895,9 @@ pyynnön, tai muistat sittenkin vanhan salasanasi, etkä halua muuttaa sitä,
 voit jättää tämän viestin huomiotta ja jatkaa vanhan salasanan käyttöä.',
 'passwordreset-emailelement' => 'Käyttäjätunnus: $1
 Väliaikainen salasana: $2',
-'passwordreset-emailsent' => 'Sähköpostimuistutus on lähetetty.',
-'passwordreset-emailsent-capture' => 'Muistutussähköposti on lähetetty. Se näkyy myös alla.',
-'passwordreset-emailerror-capture' => 'Alla näytettävä sähköpostiviesti luotiin, mutta sen lähettäminen käyttäjälle epäonnistui: $1',
+'passwordreset-emailsent' => 'Salasananpalautusviesti on lähetetty.',
+'passwordreset-emailsent-capture' => 'Salasananpalautusviesti on lähetetty, se näkyy myös alla.',
+'passwordreset-emailerror-capture' => 'Allaoleva sähköpostiviesti luotiin, mutta sen lähettäminen {{GENDER:$2|käyttäjälle}} epäonnistui: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'Muuta sähköpostiosoitetta',
@@ -1077,6 +1091,7 @@ Harkitse, kannattaako sivua luoda uudelleen. Alla on tämän sivun poisto- ja si
 Se on ilmeisesti poistettu.',
 'edit-conflict' => 'Päällekkäinen muokkaus.',
 'edit-no-change' => 'Muokkauksesi sivuutettiin, koska tekstiin ei tehty mitään muutoksia.',
+'postedit-confirmation' => 'Muokkauksesi on tallennettu.',
 'edit-already-exists' => 'Uuden sivun luominen ei onnistunut.
 Se on jo olemassa.',
 'defaultmessagetext' => 'Viestin oletusteksti',
@@ -1084,7 +1099,7 @@ Se on jo olemassa.',
 'invalid-content-data' => 'Virheellinen sisältö',
 'content-not-allowed-here' => 'Sivun [[$2]] sisältö ei voi olla tyyppiä $1.',
 'editwarning-warning' => 'Tältä sivulta poistuminen saattaa aiheuttaa kaikkien tekemiesi muutosten katoamisen.
-Jos olet kirjautuneena sisään, voit poistaa tämän varoituksen käytöstä asetuksissa osiossa ”{{int:prefs-editing}}”.',
+Jos olet kirjautuneena sisään, voit poistaa tämän varoituksen käytöstä asetuksissa osiossa »Muokkaus».',
 
 # Content models
 'content-model-wikitext' => 'wikiteksti',
@@ -1363,6 +1378,7 @@ Kokeile lisätä haun alkuun ''all:'', niin haku kohdistuu kaikkeen sisältöön
 'powersearch-togglenone' => 'Poista valinnat',
 'search-external' => 'Ulkoinen haku',
 'searchdisabled' => 'Tekstihaku on poistettu toistaiseksi käytöstä suuren kuorman vuoksi. Voit käyttää alla olevaa Googlen hakukenttää sivujen etsimiseen, kunnes haku tulee taas käyttöön. <small>Huomaa, että ulkopuoliset kopiot {{GRAMMAR:genitive|{{SITENAME}}}} sisällöstä eivät välttämättä ole ajan tasalla.</small>',
+'search-error' => 'Virhe ilmaantui haettaessa: $1',
 
 # Preferences page
 'preferences' => 'Asetukset',
@@ -1503,6 +1519,7 @@ Tässä satunnaisesti tuotettu arvo, jota voit käyttää: $1',
 'userrights-notallowed' => 'Tunnuksellasi ei ole lupaa lisätä tai poistaa käyttöoikeuksia.',
 'userrights-changeable-col' => 'Ryhmät, joita voit muuttaa',
 'userrights-unchangeable-col' => 'Ryhmät, joita et voi muuttaa',
+'userrights-conflict' => 'Päällekkäinen käyttöoikeuksien muutos! Ole hyvä ja tee muutoksesi uudestaan.',
 
 # Groups
 'group' => 'Ryhmä',
@@ -2309,8 +2326,8 @@ Tulevaisuudessa sivuun ja sen keskustelusivuun tehtävät muutokset listataan t
 'notvisiblerev' => 'Versio on poistettu',
 'watchnochange' => 'Valittuna ajanjaksona yhtäkään tarkkailemistasi sivuista ei muokattu.',
 'watchlist-details' => 'Tarkkailulistalla on {{PLURAL:$1|$1 sivu|$1 sivua}} keskustelusivuja mukaan laskematta.',
-'wlheader-enotif' => '* Sähköposti-ilmoitukset ovat käytössä.',
-'wlheader-showupdated' => "Sivut, joita on muokattu viimeisen käyntisi jälkeen, on '''lihavoitu'''.",
+'wlheader-enotif' => 'Sähköposti-ilmoitus on käytössä.',
+'wlheader-showupdated' => "Sivut, joita on muokattu viimeisen käyntisi jälkeen, on '''lihavoitu'''.",
 'watchmethod-recent' => 'tarkistetaan tuoreimpia muutoksia tarkkailluille sivuille',
 'watchmethod-list' => 'tarkistetaan tarkkailtujen sivujen tuoreimmat muutokset',
 'watchlistcontains' => 'Tarkkailulistallasi on {{PLURAL:$1|yksi sivu|$1 sivua}}.',
@@ -2858,6 +2875,8 @@ Jos haluat muokata MediaWikin yleistä kotoistusta, käy [//www.mediawiki.org/wi
 'thumbnail-more' => 'Suurenna',
 'filemissing' => 'Tiedosto puuttuu',
 'thumbnail_error' => 'Pienoiskuvan luominen epäonnistui: $1',
+'thumbnail_error_remote' => 'Virheilmoitus kohteesta $1:
+$2',
 'djvu_page_error' => 'DjVu-tiedostossa ei ole pyydettyä sivua',
 'djvu_no_xml' => 'DjVu-tiedoston XML-vienti epäonnistui',
 'thumbnail-temp-create' => 'Väliaikaisen esikatselukuvan luonti epäonnistui',
@@ -3066,6 +3085,7 @@ Tallenna tiedot koneellesi ja tuo ne tällä sivulla.',
 'pageinfo-robot-noindex' => 'Ei indeksoitava',
 'pageinfo-views' => 'Katselukertojen määrä',
 'pageinfo-watchers' => 'Sivun tarkkailijoiden lukumäärä',
+'pageinfo-few-watchers' => 'Vähemmän kuin $1 {{PLURAL:$1|tarkkailija|tarkkailijaa}}',
 'pageinfo-redirects-name' => 'Sivulle johtavat ohjaukset',
 'pageinfo-subpages-name' => 'Sivun alasivut',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|ohjaus|ohjausta}}; $3 {{PLURAL:$3|ei-ohjausta}})',
@@ -3086,7 +3106,9 @@ Tallenna tiedot koneellesi ja tuo ne tällä sivulla.',
 'pageinfo-redirectsto-info' => 'tiedot',
 'pageinfo-contentpage' => 'Lasketaan sisältösivuksi',
 'pageinfo-contentpage-yes' => 'Kyllä',
+'pageinfo-protect-cascading' => 'Tämä on laajennetun suojauksen lähdesivu',
 'pageinfo-protect-cascading-yes' => 'Kyllä',
+'pageinfo-protect-cascading-from' => 'Laajennettu suojaus tulee sivulta',
 'pageinfo-category-info' => 'Luokkatiedot',
 'pageinfo-category-pages' => 'Sivujen määrä',
 'pageinfo-category-subcats' => 'Alaluokkien määrä',
@@ -3172,11 +3194,25 @@ Suorittamalla sen järjestelmäsi voi muuttua epäluotettavaksi.",
 'minutes' => '{{PLURAL:$1|$1 minuutti|$1 minuuttia}}',
 'hours' => '{{PLURAL:$1|$1 tunti|$1 tuntia}}',
 'days' => '{{PLURAL:$1|$1 päivä|$1 päivää}}',
+'weeks' => '{{PLURAL:$1|viikko|$1 viikkoa}}',
 'months' => '{{PLURAL:$1|$1 kuukausi|$1 kuukautta}}',
 'years' => '{{PLURAL:$1|$1 vuosi|$1 vuotta}}',
 'ago' => '$1 sitten',
 'just-now' => 'juuri nyt',
 
+# Human-readable timestamps
+'hours-ago' => '{{PLURAL:$1|tunti|$1 tuntia}} sitten',
+'minutes-ago' => '{{PLURAL:$1|minuutti|$1 minuuttia}} sitten',
+'seconds-ago' => '{{PLURAL:$1|sekunti|$1 sekuntia}} sitten',
+'monday-at' => 'Maanantaina klo $1',
+'tuesday-at' => 'Tiistaina klo $1',
+'wednesday-at' => 'Keskiviikkona klo $1',
+'thursday-at' => 'Torstaina klo $1',
+'friday-at' => 'Perjantaina klo $1',
+'saturday-at' => 'Lauantaina klo $1',
+'sunday-at' => 'Sunnuntaina klo $1',
+'yesterday-at' => 'Eilen klo $1',
+
 # Bad image list
 'bad_image_list' => 'Listan muoto on seuraava:
 
@@ -3795,8 +3831,16 @@ Sinun olisi pitänyt saada [{{SERVER}}{{SCRIPTPATH}}/COPYING kopio GNU General P
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
+'redirect' => 'Ohjaus tiedostonimen, käyttäjänumeron tai versionumeron mukaan',
+'redirect-legend' => 'Uudelleenohjaa tiedostoon tai sivulle',
+'redirect-summary' => 'Tämä toimintosivu ohjaa tiedostoon (tiedoston nimen mukaan), sivulle (sivun versionumeron mukaan) tai käyttäjäsivulle (käyttäjätunnuksen numeron mukaan).',
 'redirect-submit' => 'Siirry',
+'redirect-lookup' => 'Hae:',
+'redirect-value' => 'Arvo:',
+'redirect-user' => 'Käyttäjän tunnusnumero',
+'redirect-revision' => 'Sivun versio',
 'redirect-file' => 'Tiedostonimi',
+'redirect-not-exists' => 'Arvoa ei löytynyt',
 
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Kaksoiskappaleiden haku',
@@ -3888,6 +3932,7 @@ Sinun olisi pitänyt saada [{{SERVER}}{{SCRIPTPATH}}/COPYING kopio GNU General P
 'htmlform-selectorother-other' => 'Muu',
 'htmlform-no' => 'Ei',
 'htmlform-yes' => 'Kyllä',
+'htmlform-chosen-placeholder' => 'Valitse vaihtoehto',
 
 # SQLite database support
 'sqlite-has-fts' => '$1, jossa on tuki kokotekstihaulle',
@@ -4002,4 +4047,7 @@ Muussa tapauksessa voit käyttää alla olevaa helpompaa lomaketta. Kommenttisi
 'duration-centuries' => '$1 {{PLURAL:$1|vuosisata|vuosisataa}}',
 'duration-millennia' => '$1 {{PLURAL:$1|vuosituhat|vuosituhatta}}',
 
+# Image rotation
+'rotate-comment' => 'Kuvaa käännettiin $1 aste{{PLURAL:$1||tta}} myötäpäivään',
+
 );
index 5f838b8..7c9a726 100644 (file)
@@ -44,7 +44,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Näytä kuinka moni käyttäjä valvoo sivua',
 'tog-oldsig' => 'Nykynen allekirjotus',
 'tog-fancysig' => 'Mookkaamaton allekirjotus ilman auttomaattista linkkiä',
-'tog-externaleditor' => 'Käytä ekterniä tekstiedituuria stantartina. Vain kokenheile käyttäjile, vaatii taattorin asetuksitten muuttamista. Käytä eksterniä tekstiedituuria oletuksena. Vain kokeneille käyttäjille, vaatii selaimen asetusten muuttamista. ([//www.mediawiki.org/wiki/Manual:External_editors Ohje])',
 
 # Dates
 'sunday' => 'pyhä',
@@ -378,6 +377,9 @@ Merkinät: (nyk.) = eroavaisuuet nykyisheen versuunhiin, (eel.) = eroavaisuuet e
 'prefs-help-email' => 'E-postin atressi on vapa, mutta tekkee maholiseks ette lähättää sulle salasanan meilissä, jos unhoutat sen.',
 'prefs-help-email-others' => 'Saatat kans antaa muitten käyttäjitten ottaa ottaa yhteyttä sinhuun sähköpostila. Sin atressi ei näy toisen käyttäjän ottaessa sinhuun yhteyttä.',
 
+# Special:Log/newusers
+'newuserlogpage' => 'Uuitten käyttäjitten loki',
+
 # Associated actions - in the sentence "You do not have permission to X"
 'action-edit' => 'mookkaa tätä sivua',
 
@@ -486,13 +488,10 @@ Tiot [$2 fiilin kuvvaussivulta] näkyvät tässä alla.',
 # Special:LinkSearch
 'linksearch-line' => '$1 on linkattu sivulta $2',
 
-# Special:Log/newusers
-'newuserlogpage' => 'Uuitten käyttäjitten loki',
-
 # Special:ListGroupRights
 'listgrouprights-members' => '(jäsenlista)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Lähätä e-posti tälle käyttäjälle',
 
 # Watchlist
index e88a97c..92f5b4f 100644 (file)
@@ -10,6 +10,7 @@
  * @author Agzennay
  * @author Amqui
  * @author Arkanosis
+ * @author Ayack
  * @author Boniface
  * @author Brunoperel
  * @author Cedric31
@@ -495,6 +496,18 @@ $messages = array(
 'oct' => 'oct',
 'nov' => 'nov',
 'dec' => 'déc',
+'january-date' => '$1 janvier',
+'february-date' => '$1 février',
+'march-date' => '$1 mars',
+'april-date' => '$1 avril',
+'may-date' => '$1 mai',
+'june-date' => '$1 juin',
+'july-date' => '$1 juillet',
+'august-date' => '$1 août',
+'september-date' => '$1 septembre',
+'october-date' => '$1 octobre',
+'november-date' => '$1 novembre',
+'december-date' => '$1 décembre',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Catégorie|Catégories}}',
@@ -945,11 +958,11 @@ Vous avez peut-être déjà changé votre mot de passe ou demandé un nouveau mo
 
 # Special:PasswordReset
 'passwordreset' => 'Remise à zéro du mot de passe',
-'passwordreset-text' => 'Remplissez ce formulaire pour réinitialiser votre mot de passe.',
+'passwordreset-text-one' => 'Remplissez ce formulaire pour réinitialiser votre mot de passe.',
+'passwordreset-text-many' => '{{PLURAL:$1|Entrez une de ces données pour réinitialiser votre mot de passe.}}',
 'passwordreset-legend' => 'Remise à zéro du mot de passe',
 'passwordreset-disabled' => 'La réinitialisation des mots de passe a été désactivée sur ce wiki.',
 'passwordreset-emaildisabled' => 'Les fonctionnalités e-mail ont été désactivées sur ce wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Entrez un élément de données ci-dessous}}',
 'passwordreset-username' => "Nom d'utilisateur :",
 'passwordreset-domain' => 'Domaine :',
 'passwordreset-capture' => 'Voir le courriel résultant?',
@@ -1178,6 +1191,7 @@ Cause inconnue',
 Il semble qu'elle ait été supprimée.",
 'edit-conflict' => 'Conflit de modification.',
 'edit-no-change' => "Votre modification a été ignorée car aucun changement n'a été fait au texte.",
+'postedit-confirmation' => 'Votre modification a été sauvegardée.',
 'edit-already-exists' => "La nouvelle page n'a pas pu être créée.
 Elle existe déjà.",
 'defaultmessagetext' => 'Message par défaut',
@@ -1185,7 +1199,7 @@ Elle existe déjà.",
 'invalid-content-data' => 'Données du contenu non valides',
 'content-not-allowed-here' => 'Le contenu "$1" n\'est pas autorisé sur la page [[$2]]',
 'editwarning-warning' => 'Quitter cette page vous fera perdre toutes les modifications que vous avez faites.
-Si vous êtes connecté avec votre compte, vous pouvez retirer cet avertissement dans la section « {{int:prefs-editing}} » de vos préférences.',
+Si vous êtes connecté, vous pouvez désactiver cet avertissement dans la section « Modification » de vos préférences.',
 
 # Content models
 'content-model-wikitext' => 'wikitexte',
@@ -2433,8 +2447,8 @@ Les prochaines modifications de cette page et de la page de discussion associée
 'notvisiblerev' => 'La version a été supprimée',
 'watchnochange' => "Aucun des éléments que vous suivez n'a été modifié durant la période affichée.",
 'watchlist-details' => 'Votre liste de suivi référence $1 page{{PLURAL:$1||s}}, sans compter les pages de discussion.',
-'wlheader-enotif' => 'La notification par courriel est activée.',
-'wlheader-showupdated' => "Les pages qui ont été modifiées depuis votre dernière visite sont affichées en '''gras'''.",
+'wlheader-enotif' => 'La notification par courriel est activée.',
+'wlheader-showupdated' => "Les pages qui ont été modifiées depuis votre dernière visite sont affichées en '''gras'''.",
 'watchmethod-recent' => 'vérification des modifications récentes pour y trouver des pages suivies',
 'watchmethod-list' => 'vérification des pages suivies pour y trouver des modifications récentes',
 'watchlistcontains' => 'Votre liste de suivi référence $1 page{{PLURAL:$1||s}}.',
@@ -3008,6 +3022,8 @@ Veuillez visiter la [//www.mediawiki.org/wiki/Localisation Localisation de Media
 'thumbnail-more' => 'Agrandir',
 'filemissing' => 'Fichier manquant',
 'thumbnail_error' => 'Erreur lors de la création de la miniature : $1',
+'thumbnail_error_remote' => "Message d'erreur de $1 :
+$2",
 'djvu_page_error' => 'Page DjVu hors limites',
 'djvu_no_xml' => 'Impossible de récupérer le XML pour le fichier DjVu',
 'thumbnail-temp-create' => 'Impossible de créer le fichier de vignette temporaire',
@@ -3167,7 +3183,6 @@ Permet de rétablir la version précédente et d'ajouter un motif dans la boîte
 'modern.css' => '/* Le CSS placé ici affectera les utilisateurs de l’habillage Modern. */',
 'vector.css' => '/* Le CSS placé ici affectera les utilisateurs de l’habillage Vector. */',
 'print.css' => '/* Le CSS placé ici affectera les impressions */',
-'handheld.css' => '/* Le CSS placé ici affectera les appareils mobiles en fonction de l\'habillage configuré $wgHandheldStyle */',
 'noscript.css' => '/* Le CSS placé ici affectera les utilisateurs ayant désactivé Javascript. */',
 'group-autoconfirmed.css' => '/* Le CSS placé ici affectera les utilisateurs auto-confirmés seulement. */',
 'group-bot.css' => '/* Le CSS placé ici affectera les robots seulement. */',
index c5dd402..03e022f 100644 (file)
@@ -49,8 +49,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Montrer le montant de guetteurs',
 'tog-oldsig' => '↓ Preview du signature existant:',
 'tog-fancysig' => 'Signature brute (sans liens préparés)',
-'tog-externaleditor' => 'Utiliser par défaut un éditeur de texte externe (pour les utilisateurs avancés, nécessite des réglages spécifiques sur votre ordinateur)',
-'tog-externaldiff' => 'User un autre comparateur comme réglage ordinaire',
 'tog-showjumplinks' => 'Mettre les "liens vites" en haut de la page',
 'tog-uselivepreview' => "User la vue d'avance vite (JavaScript) (En assai)",
 'tog-forceeditsummary' => "M'avertir quand j'ai laissé la boëte de commentaires vide",
@@ -141,7 +139,6 @@ $messages = array(
 'qbbrowse' => 'Regarder',
 'qbedit' => 'Changer',
 'qbpageoptions' => 'Page de choix',
-'qbpageinfo' => "Page d'information",
 'qbmyoptions' => 'Mes options',
 'qbspecialpages' => 'Pages espéciales',
 'faq' => 'Questions Communes',
@@ -327,9 +324,6 @@ $2',
 
 Vous pouvez continuer à user {{SITENAME}} sans nom ou vous pouvez connecter encore une fois avec le même nom ou un autre nom.
 Notez: certaines pages pourriont être vues comme si vous êtes connecté, jusqu'à vous videz l'information de votre navigateur.",
-'welcomecreation' => '== Bonjour, $1! ==
-
-Votre compte a été créé.  Oubliez pas de changer votre réglage sus {{SITENAME}}.',
 'yourname' => "Nom d'useur:",
 'yourpassword' => 'Mot de passe:',
 'yourpasswordagain' => 'Mot de passe encore:',
@@ -517,7 +511,6 @@ Il foudra que vous mettez vos changements dans le texte qu'est là asteur.
 'template-protected' => '(protégé)',
 'template-semiprotected' => '(demi-protégé)',
 'edittools' => "<!-- Le texte que vous mettez ici va être montré sous les boëttes de changements ou d'import de dossier. -->",
-'nocreatetitle' => 'Création de page limitée',
 'nocreatetext' => "La création des pages est limitée.  Vous pouvez changer une page qu'a été déjà créée ou [[Special:UserLogin|connecter ou créer un compte]].",
 'nocreate-loggedin' => 'Vous avez pas la permission de créer des nouvelles pages.',
 'permissionserrors' => 'Erreur de permissions',
@@ -651,7 +644,7 @@ Des autres administrateurs sus ce wiki ont la permission de voir et de rétablir
 # Special:Categories
 'categories' => 'Classes',
 
-# E-mail user
+# Email user
 'emailuser' => 'E-mail cet useur',
 
 # Watchlist
index e9ca509..35ee834 100644 (file)
@@ -2302,6 +2302,15 @@ Ils ant fôta de por lo muens un domêno de nivél de dessus, per ègzemplo « *
 'listusers-noresult' => 'Nion utilisator trovâ.',
 'listusers-blocked' => '(blocâ{{GENDER:$1||ye|(ye)}})',
 
+# Special:ActiveUsers
+'activeusers' => 'Lista des utilisators actifs',
+'activeusers-intro' => 'O est na lista des utilisators qu’ant ègzèrciê un’activitât la quinta que seye pendent {{PLURAL:$1|lo jorn passâ|los $1 jorns passâs}}.',
+'activeusers-count' => '$1 accion{{PLURAL:$1||s}} pendent {{PLURAL:$3|lo jorn passâ|los $3 jorns passâs}}',
+'activeusers-from' => 'Fâre vêre los utilisators dês :',
+'activeusers-hidebots' => 'Cachiér los robots',
+'activeusers-hidesysops' => 'Cachiér los administrators',
+'activeusers-noresult' => 'Nion utilisator trovâ.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Drêts de les tropes d’utilisators',
 'listgrouprights-summary' => 'Vê-que na lista de les tropes d’utilisators dèfenies sur ceti vouiqui et pués los sins drêts d’accès.
@@ -2380,8 +2389,8 @@ Los changements que vegnont de ceta pâge et de la sina pâge de discussion y se
 'notvisiblerev' => 'La dèrriére vèrsion per un ôtr’utilisator est étâye suprimâye',
 'watchnochange' => 'Pas yona de les piéces que vos siude est étâye changiêe pendent lo temps fêt vêre.',
 'watchlist-details' => 'Y at $1 pâge{{PLURAL:$1||s}} dedens voutra lista de siuvu, sen comptar les pâges de discussion.',
-'wlheader-enotif' => 'La notificacion per mèssageria èlèctronica est activâye.',
-'wlheader-showupdated' => "Les pâges que sont étâyes changiêes dês voutra dèrriére visita sont montrâyes en '''grâs'''.",
+'wlheader-enotif' => 'La notificacion per mèssageria èlèctronica est activâye.',
+'wlheader-showupdated' => "Les pâges que sont étâyes changiêes dês voutra dèrriére visita sont montrâyes en '''grâs'''.",
 'watchmethod-recent' => 'contrôlo des novéls changements por y trovar des pâges siuvues',
 'watchmethod-list' => 'contrôlo de les pâges siuvues por y trovar des novéls changements',
 'watchlistcontains' => 'Voutra lista de siuvu contint $1 pâge{{PLURAL:$1||s}}.',
@@ -3120,7 +3129,6 @@ Pèrmèt de rètablir la vèrsion devant et pués d’apondre una rêson dens la
 'modern.css' => '/* Lo code CSS betâ ique afècterat los usanciérs de l’habelyâjo « Modèrno ». */',
 'vector.css' => '/* Lo code CSS betâ ique afècterat los usanciérs de l’habelyâjo « Vèctor ». */',
 'print.css' => '/* Lo code CSS betâ ique afècterat les emprèssions. */',
-'handheld.css' => '/* Lo code CSS betâ ique afècterat los aparèlys mobilos d’aprés l’habelyâjo configurâ dedens « $wgHandheldStyle ». */',
 'noscript.css' => '/* Lo code CSS betâ ique afècterat los usanciérs qu’ont dèsactivâ lo code JavaScript. */',
 'group-autoconfirmed.css' => '/* Lo code CSS betâ ique afècterat ren que los usanciérs encartâs. */',
 'group-bot.css' => '/* Lo code CSS betâ ique afècterat ren que los bots. */',
@@ -3310,7 +3318,7 @@ Los ôtros champs seront cachiês per dèfôt.
 * gpsaltitude',
 'metadata-langitem' => "'''$2 :''' $1",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Largior',
 'exif-imagelength' => 'Hôtior',
 'exif-bitspersample' => 'Bits per composenta',
@@ -3488,7 +3496,7 @@ Los ôtros champs seront cachiês per dèfôt.
 'exif-originalimageheight' => 'Hôtior de l’émâge devant qu’el èye étâ tornâ cadrar',
 'exif-originalimagewidth' => 'Largior de l’émâge devant qu’el èye étâ tornâ cadrar',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Pas comprèssâ',
 'exif-compression-2' => 'CCITT tropa 3 longior du codâjo Huffman changiê de dimension 1',
 'exif-compression-3' => 'CCITT tropa 3 codâjo du faxe',
@@ -3981,13 +3989,6 @@ Vos devriâd avêr reçu un [{{SERVER}}{{SCRIPTPATH}}/COPYING ègzemplèro de la
 'version-entrypoints-header-entrypoint' => 'Pouent d’entrâ',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Chemin d’accès du fichiér',
-'filepath-page' => 'Fichiér :',
-'filepath-submit' => 'Alar trovar',
-'filepath-summary' => 'Ceta pâge spèciâla montre lo chemin d’accès complèt d’un fichiér.
-Les émâges sont montrâs dens lor plêna rèsolucion, los ôtros fichiérs sont chargiês et dèmarrâs tot drêt avouéc lor programo associyê.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Rechèrche des fichiérs en doblo',
 'fileduplicatesearch-summary' => 'Rechèrche des fichiérs en doblo d’aprés lor mârca de chaplâjo.',
index 7f3d9b6..ef80edf 100644 (file)
@@ -20,60 +20,60 @@ $linkTrail = '/^([a-zäöüßåāđē]+)(.*)$/sDu';
 
 $messages = array(
 # User preference toggles
-'tog-underline' => 'Linke unerstrike:',
-'tog-justify' => 'Täkst ås blokseeting',
-'tog-hideminor' => 'Latje änringe fersteege',
-'tog-hidepatrolled' => 'Latje änringe fersteege',
-'tog-newpageshidepatrolled' => 'Kontroliirde side aw e list "Naie side" fersteege',
-'tog-extendwatchlist' => 'Ütwidede wåchelist tun wisen foon åle änringe',
+'tog-underline' => 'Ferwisangen onerstrik:',
+'tog-justify' => 'Tekst üs blook saat',
+'tog-hideminor' => 'Letj anrangen fersteeg',
+'tog-hidepatrolled' => 'Letj anrangen fersteeg',
+'tog-newpageshidepatrolled' => 'Kontroliaret sidjen bi a "Nei sidjen" fersteeg',
+'tog-extendwatchlist' => "Ütjwidjet list faan sidjen, diar dü uun't uug behual wel",
 'tog-usenewrc' => "Ütwidede deerstaling foon da ''Leeste Änringe'' än aw da ''Eefterkiikliste'' (brükt JavaScript)",
-'tog-numberheadings' => 'Ouerschrafte automatisch numeriire',
-'tog-showtoolbar' => 'Beårbe-wärktjüch wise',
-'tog-editondblclick' => 'Side ma dööweltklik beårbe (brükt JavaScript)',
-'tog-editsection' => 'Ferbininge tun wisen foon änkelte oufsnaase',
-'tog-editsectiononrightclick' => 'Änkelte stöögne ma ruchts kliken beårbe (brükt JavaScript)',
-'tog-showtoc' => 'Wis en inhåltsferteeknis for side ma mäs ås trii ouerschrafte',
-'tog-rememberpassword' => 'Aw diheere komputer foon duur önjmälde (maksimool for $1 {{PLURAL:$1|däi|deege}})',
-'tog-watchcreations' => "Salew maaget sidjen an huuchlooset dateien leewen uun't uug behual",
-'tog-watchdefault' => "Salew feranert sidjen an dateien leewen uun't uug behual",
-'tog-watchmoves' => "Salew fersköwen sidjen an dateien leewen uun't uug behual",
-'tog-watchdeletion' => "Salew stregen sidjen an dateien leewen uun't uug behual",
-'tog-minordefault' => 'Äine änringe gewöönlik ås latj mårkiire',
-'tog-previewontop' => 'Forbekiiken boowen dåt beårbingswaning wise',
-'tog-previewonfirst' => 'Bai dåt jarst beårben åltens dåt forbekiiken wise',
-'tog-nocache' => 'Sidecache foon e browser deaktiwiire',
-'tog-enotifwatchlistpages' => "Sjüür mi en E-Mail, wan sidjen of dateien feranert wurd, diar ik uun't uug behual wal",
-'tog-enotifusertalkpages' => 'Bai änringe tu min brüker-diskusjoonssid E-Maile siinje',
-'tog-enotifminoredits' => 'Sjüür mi uk bi letj feranrangen faan sidjen an dateien en E-Mail',
-'tog-enotifrevealaddr' => 'Min E-mail-adräs önj tising-E-maile wise',
-'tog-shownumberswatching' => 'Wis di tål foon wåchende brükere',
+'tog-numberheadings' => 'Auerskraften automaatisk numeriare',
+'tog-showtoolbar' => 'Werktjüch tu bewerkin wise (brükt JavaScript)',
+'tog-editondblclick' => 'Sidjen mä dobelklik bewerke (brükt JavaScript)',
+'tog-editsection' => "Ferwisangen tu't bewerkin faan enkelt kirwer",
+'tog-editsectiononrightclick' => 'Enkelt kirwer mä rochtsklik bewerke (brükt JavaScript)',
+'tog-showtoc' => 'Üüb sidjen mä muar üs trii auerskraften en indeks uunwise',
+'tog-rememberpassword' => 'Üüb diheer reegner üüb düür uunmelde (maksimaal för $1 {{PLURAL:$1|dai|daar}})',
+'tog-watchcreations' => "Salew maaget sidjen an huuchlooset datein leewen uun't uug behual",
+'tog-watchdefault' => "Salew feranert sidjen an datein leewen uun't uug behual",
+'tog-watchmoves' => "Salew fersköwen sidjen an datein leewen uun't uug behual",
+'tog-watchdeletion' => "Salew stregen sidjen an datein leewen uun't uug behual",
+'tog-minordefault' => 'Aanj feranrangen üs "letjen" kääntiakne',
+'tog-previewontop' => '"Iarst ans luke" boowen faan\'t wönang tu bewerkin',
+'tog-previewonfirst' => 'Bi\'t iarst bewerkin "iarst ans luke" uunwise',
+'tog-nocache' => 'Sidjencache faan di browser deaktiwiare',
+'tog-enotifwatchlistpages' => "Schüür mi en e-mail, wan sidjen of datein feranert wurd, diar ik uun't uug behual wal",
+'tog-enotifusertalkpages' => 'Bi fernarangen üüb min brüker-diskusjuunssidj en e-mail sjüür',
+'tog-enotifminoredits' => 'Schüür mi uk bi letj feranrangen faan sidjen an datein en e-mail',
+'tog-enotifrevealaddr' => 'Min e-mail adres uun e-mail noorachten uunwise',
+'tog-shownumberswatching' => "Taal faan brükern uunwise, diar det sidj uun't uug haa",
 'tog-oldsig' => 'Aktuel signatuur:',
-'tog-fancysig' => 'Signatuur behoonle ås wikitäkst',
-'tog-showjumplinks' => '"Schafte tu"-ferbininge aktiwiire',
-'tog-uselivepreview' => 'Live-forbekiik ferwiinje (brükt JavaScript) (äksperimentäl)',
-'tog-forceeditsummary' => 'Woorschoue, wan bai dåt spiikern jü tuhuupefooting breecht',
-'tog-watchlisthideown' => 'Äine beårbinge önj e bekiiklist fersteege',
-'tog-watchlisthidebots' => 'Beårbinge döör bots önj e bekiiklist fersteege',
-'tog-watchlisthideminor' => 'Latje beårbinge önj e bekiiklist fersteege',
-'tog-watchlisthideliu' => 'Beårbinge foon önjmäldede brükere önj e bekiikliste fersteege',
-'tog-watchlisthideanons' => 'Beårbinge foon ai önjmäldede brükere önj e bekiikliste fersteege',
-'tog-watchlisthidepatrolled' => 'Eefterkiikede beårbinge önj e bekiiklist fersteege',
-'tog-ccmeonemails' => 'Siinje me kopiie foon e-maile, da ik tu oudere brükere siinje',
-'tog-diffonly' => 'Wis bai di fersjoonsferglik bloot da unerschiise, ai jü hiilj sid',
-'tog-showhiddencats' => 'Wis ferstäägene kategoriie',
-'tog-norollbackdiff' => 'Unerschiis eefter dåt tübäägseeten unerdrüke',
+'tog-fancysig' => 'Signatuur üs wikitekst uunsä (saner ferwisangen)',
+'tog-showjumplinks' => '"Waksle tu"-ferwisangen aktiwiare',
+'tog-uselivepreview' => 'Live-"iarst ans luke" funktjuun brük (brükt JavaScript, eksperimentel)',
+'tog-forceeditsummary' => "Wäärne, wan bi't seekrin nian tuupfaadang uunden woort",
+'tog-watchlisthideown' => "Aanj feranrangen bi a sidjen, diar ik uun't uug behual wal, fersteeg",
+'tog-watchlisthidebots' => "Feranrangen faan bots bi a sidjen, diar ik uun't uug behual wal, fersteeg",
+'tog-watchlisthideminor' => "Letj feranrangen bi a sidjen, diar ik uun't uug behual wal, fersteeg",
+'tog-watchlisthideliu' => "Feranrangen faan uunmeldet brükern bi sidjen, diar ik uun't uug behual wal, fersteeg",
+'tog-watchlisthideanons' => "Feranrangen faan anonüüm brükern (IPs) bi sidjen, diar ik uun't uug behual wal, fersteeg",
+'tog-watchlisthidepatrolled' => "Kontroliaret feranrangen bi a sidjen, diar ik uun't uug behual wal, fersteeg",
+'tog-ccmeonemails' => 'Schüür mi kopiin faan e-mails, diar ik tu ööder brükern schüür',
+'tog-diffonly' => 'Bi en werjuunsferglik bluas di ferskeel uunwise, ei det hialer sidj',
+'tog-showhiddencats' => 'Ferbürgen kategoriin uunwise',
+'tog-norollbackdiff' => "Ferskeel efter't turagsaaten fersteeg",
 'tog-useeditwarning' => 'Waarskaue mi, wan en sidj slööden woort, huar noch ünseekert feranrangen maaget wurden san',
 
-'underline-always' => 'Åltens',
-'underline-never' => 'uler',
+'underline-always' => 'Leewen',
+'underline-never' => 'Nimer',
 'underline-default' => 'Komt üüb dan browser uun',
 
 # Font style option in Special:Preferences
-'editfont-style' => 'Schraftfamiili for di takst onj dåt beårbingswaning:',
-'editfont-default' => 'oufhingi foon browser-önjstaling',
-'editfont-monospace' => 'Schraft ma fååst tiikenbrååtj',
-'editfont-sansserif' => 'Seriifen-lüüse grotäskschraft',
-'editfont-serif' => 'Schraft ma seriife',
+'editfont-style' => "Skraftoort för di tekst uun't werkfial:",
+'editfont-default' => 'Hinget faan browser-iinstelangen uf',
+'editfont-monospace' => 'Skraft mä en fääst tiakenbreetje',
+'editfont-sansserif' => 'Skraft saner seriifen (fiin onerstreger)',
+'editfont-serif' => 'Skraft mä seriifen (fiin onerstreger)',
 
 # Dates
 'sunday' => 'Saandi',
@@ -126,124 +126,136 @@ $messages = array(
 'oct' => 'Okt.',
 'nov' => 'Now.',
 'dec' => 'Det.',
+'january-date' => '$1. Janewoore',
+'february-date' => '$1. Febrewoore',
+'march-date' => '$1. Maarts',
+'april-date' => '$1. April',
+'may-date' => '$1. Mei',
+'june-date' => '$1. Jüüne',
+'july-date' => '$1. Jüüle',
+'august-date' => '$1. August',
+'september-date' => '$1. September',
+'october-date' => '$1. Oktuuber',
+'november-date' => '$1. Nofember',
+'december-date' => '$1. Detsember',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Kategorii|Kategoriie}}',
-'category_header' => 'Side önj e kategorii "$1"',
-'subcategories' => 'Unerkategoriie',
-'category-media-header' => 'Meedia önj e kategorii "$1"',
-'category-empty' => '"Jüdeer kategorii önjhüült nütutids niinj side unti meedie."',
-'hidden-categories' => '{{PLURAL:$1|Ferstäägen Kategorii|Ferstäägene Kategoriie}}',
-'hidden-category-category' => 'Ferstäägene kategoriie',
-'category-subcat-count' => '{{PLURAL:$2|Jüdeer kategorii önjthålt füliend unerkategorii:|{{PLURAL:$1|Füliend unerkategorii as iinj foon inåål $2 unerkategoriie önj jüdeer kategorii:|Deer wårde $1 foon inåål $2 unerkategoriie önj jüdeer kategorii wised:}}}}',
-'category-subcat-count-limited' => 'Jüdeer kategorii önjthålt füliende {{PLURAL:$1|unerkategorii|$1 unerkategoriie}}:',
-'category-article-count' => '{{PLURAL:$2|Jüdeer kategorii önjthålt füliende sid:|{{PLURAL:$1|Füliende sid as iinj foon inåål $2 side önj jüdeer kategorii:|Deer wårde $1 foon inåål $2 side önj jüdeer kategorii wised:}}}}',
-'category-article-count-limited' => 'Füliende {{PLURAL:$1|sid as|$1 side san}} önj jüheer kategorii önjthülen:',
-'category-file-count' => '{{PLURAL:$2|Jüdeer kategorii önjthålt füliende dootäi:|{{PLURAL:$1|Füliende dootäi as iinj foon inåål $2 side önj jüdeer kategorii:|Deer wårde $1 foon inåål $2 dootäie önj jüdeer kategorii wised:}}}}',
-'category-file-count-limited' => 'Füliende {{PLURAL:$1|Dootäi as|$1 Dootäie san}} önj jüdeer kategorii önjthülen:',
-'listingcontinuesabbrev' => '(fortseeting)',
-'index-category' => 'Indisiirde side',
-'noindex-category' => 'Ai indisiirde side',
+'pagecategories' => '{{PLURAL:$1|Kategorii|Kategoriin}}',
+'category_header' => 'Sidjen uun kategorii "$1"',
+'subcategories' => 'Onerkategoriin',
+'category-media-header' => 'Meedien uun kategorii "$1"',
+'category-empty' => '"Uun detdiar kategorii san uun uugenblak nian sidjen of meedien."',
+'hidden-categories' => '{{PLURAL:$1|Ferbürgen kategorii|Ferbürgen kategoriin}}',
+'hidden-category-category' => 'Ferbürgen kategoriin',
+'category-subcat-count' => "{{PLURAL:$2|Detdiar kategorii hää ian onerkategorii.|Uun detdiar kategorii {{PLURAL:$1|stäänt ian onerkategorii|stun $1 onerkategoriin}} faan $2 uun't gehial.}}",
+'category-subcat-count-limited' => 'Detdiar kategorii hää {{PLURAL:$1|ian onerkategorii|$1 onerkategoriin}}:',
+'category-article-count' => "{{PLURAL:$2|Uun detdiar kategorii stäänt ian sidj.|Uun detdiar kategorii {{PLURAL:$1|stäänt ian sidj|stun jodiar $1 sidjen}} faan $2 uun't gehial.}}",
+'category-article-count-limited' => '{{PLURAL:$1|Detdiar sidj stäänt|Jodiar $1 sidjen stun}} uun detdiar kategorii.',
+'category-file-count' => "{{PLURAL:$2|Uun detdiar kategorii stäänt ian datei.|Uun detdiar kategorii {{PLURAL:$1|stäänt ian datei|stun jodiar $1 datein}} faan $2 uun't gehial.}}",
+'category-file-count-limited' => '{{PLURAL:$1|Detdiar datei stäänt|Jodiar $1 datein stun}} uun detdiar kategorii.',
+'listingcontinuesabbrev' => '(gongt widjer)',
+'index-category' => 'Indisiaret sidjen',
+'noindex-category' => 'Ei indisiaret sidjen',
 'broken-file-category' => 'Sid ma önjstöögne ferwisinge',
 
-'about' => 'Ouer',
-'article' => 'Sid',
-'newwindow' => '(wårt önj en nai waning ääm mååged)',
-'cancel' => 'Oufbreege',
-'moredotdotdot' => 'Mör ...',
+'about' => 'Auer',
+'article' => 'Artiikel',
+'newwindow' => '(woort uun en nei wönang eeben maaget)',
+'cancel' => 'Ufbreeg',
+'moredotdotdot' => 'Muar ...',
 'morenotlisted' => 'Öödern, ei apfeerd ...',
 'mypage' => 'Sidj',
 'mytalk' => 'Diskusjuun',
-'anontalk' => 'Diskusjoonssid foon jüdeer IP',
-'navigation' => 'Navigasjoon',
-'and' => '&#32;än',
+'anontalk' => 'Diskusjuunssidj faan detdiar IP',
+'navigation' => 'Nawigatjuun',
+'and' => '&#32;an',
 
 # Cologne Blue skin
-'qbfind' => 'Fine',
-'qbbrowse' => 'Bleese',
-'qbedit' => 'Änre',
-'qbpageoptions' => 'Jüdeer sid',
-'qbmyoptions' => 'Min side',
-'qbspecialpages' => 'Spetsjåålside',
+'qbfind' => 'Finj',
+'qbbrowse' => 'Schük',
+'qbedit' => 'Bewerke',
+'qbpageoptions' => 'Detdiar sidj',
+'qbmyoptions' => 'Min sidjen',
+'qbspecialpages' => 'Spezial-sidjen',
 'faq' => 'FAQ',
 'faqpage' => 'Project:FAQ',
 
 # Vector skin
-'vector-action-addsection' => 'Stuk haanetufoue',
+'vector-action-addsection' => 'Nei kirew began',
 'vector-action-delete' => 'Strike',
-'vector-action-move' => 'Ferschüwe',
+'vector-action-move' => 'Fersküüw',
 'vector-action-protect' => 'Sääkere',
-'vector-action-undelete' => 'Wi mååge',
-'vector-action-unprotect' => 'Frijeewe unti späre',
+'vector-action-undelete' => 'Weder iinstel',
+'vector-action-unprotect' => 'Sidjenseekerhaid',
 'vector-simplesearch-preference' => 'Ianfacher sjüklist iinstel (bluas bi Vector)',
-'vector-view-create' => 'Mååge',
-'vector-view-edit' => 'Beårbe',
-'vector-view-history' => 'Dootäifärsjoone',
+'vector-view-create' => 'Maage',
+'vector-view-edit' => 'Bewerke',
+'vector-view-history' => 'Ferluup uunluke',
 'vector-view-view' => 'Lees',
-'vector-view-viewsource' => 'Kwältäkst önjkiike',
-'actions' => 'Aksjoone',
+'vector-view-viewsource' => 'Kweltekst uunluke',
+'actions' => 'Aktjuunen',
 'namespaces' => 'Noomerüme',
-'variants' => 'Fariante',
+'variants' => 'Warianten',
 
 'navigation-heading' => 'Nawigatsjuun',
-'errorpagetitle' => 'Fäägel',
-'returnto' => 'Tubääg tu jü side $1.',
-'tagline' => 'Üt {{SITENAME}}',
-'help' => 'Heelp',
-'search' => 'Säk',
-'searchbutton' => 'Säke',
-'go' => 'Ütfääre',
-'searcharticle' => 'Sid',
-'history' => 'Färsjoone',
-'history_short' => 'Färsjoone/autoore',
-'updatedmarker' => 'änred sunt man leest besäk',
-'printableversion' => 'Prantfärsjoon',
-'permalink' => 'Permanänten link',
-'print' => 'Prante',
+'errorpagetitle' => 'Diar as wat skiaf gingen',
+'returnto' => 'Turag tu sidj $1.',
+'tagline' => 'Faan {{SITENAME}}',
+'help' => 'Halep',
+'search' => 'Schük',
+'searchbutton' => 'Schük',
+'go' => 'Widjer',
+'searcharticle' => 'Sidj',
+'history' => 'Werjuunen',
+'history_short' => 'Ferluup',
+'updatedmarker' => 'feranert sant man leetst beschük',
+'printableversion' => 'Ütjdrük maage',
+'permalink' => 'Permanent link',
+'print' => 'Drük',
 'view' => 'Lees',
-'edit' => 'Beårbe',
-'create' => 'Mååge',
-'editthispage' => 'Sid beårbe',
-'create-this-page' => 'Sid mååge',
-'delete' => 'Strike',
-'deletethispage' => 'Jüdeer sid strike',
-'undelete_short' => '{{PLURAL:$1|1 färsjoon|$1 färsjoone}} widermååge',
-'viewdeleted_short' => '$1 {{PLURAL:$1|iinj sträägen färsjoon|$1 sträägene färsjoone}} önjkiike',
+'edit' => 'Bewerke',
+'create' => 'Maage',
+'editthispage' => 'Sidj bewerke',
+'create-this-page' => 'Nei sidj maage',
+'delete' => 'Strik',
+'deletethispage' => 'Detdiar sidj strik',
+'undelete_short' => '{{PLURAL:$1|1 werjuun|$1 werjuunen}} weder iinstel',
+'viewdeleted_short' => '{{PLURAL:$1|Ian stregen werjuun|$1 stregen werjuunen}} uunluke',
 'protect' => 'Sääkere',
-'protect_change' => 'änre',
-'protectthispage' => 'Sid önj ferbading hüülje',
-'unprotect' => 'Frijeewe unti späre',
+'protect_change' => 'feranre',
+'protectthispage' => 'Sidj seekre',
+'unprotect' => 'Sidjenseekerhaid',
 'unprotectthispage' => 'Sääkering aphääwe',
-'newpage' => 'Nai sid',
-'talkpage' => 'Jüdeer sid diskutiire',
-'talkpagelinktext' => 'diskusjoon',
-'specialpage' => 'Spetsjåålsid',
-'personaltools' => 'Persöönlike räischupe',
-'postcomment' => 'Nai oufsnaas',
-'articlepage' => 'Inhåltsid wise',
-'talk' => 'Diskusjoon',
-'views' => 'Önjsichte',
-'toolbox' => 'Räischape',
-'userpage' => 'Brükersid wise',
-'projectpage' => 'Prujäktsid wise',
-'imagepage' => 'Dååtäisid wise',
-'mediawikipage' => 'Mäldingssid wise',
-'templatepage' => 'Forlåågesid wise',
-'viewhelppage' => 'Heelpsid wise',
-'categorypage' => 'Kategoriisid wise',
-'viewtalkpage' => 'Diskusjoon',
-'otherlanguages' => 'Önj oudere spräke',
-'redirectedfrom' => '(Widerliidjet foon $1)',
-'redirectpagesub' => 'Widerliidjing',
-'lastmodifiedat' => 'Jüdeer sid wörd tuleest aw $1 am jü klook $2 änred.',
+'newpage' => 'Nei sidj',
+'talkpage' => 'Detdiar sidj diskutiare',
+'talkpagelinktext' => 'Diskusjuun',
+'specialpage' => 'Spezial-sidj',
+'personaltools' => 'Min werktjüügen',
+'postcomment' => 'Nei kirew',
+'articlepage' => 'Artiikel wise',
+'talk' => 'Diskusjuun',
+'views' => 'Uunsichten',
+'toolbox' => 'Werktjüügen',
+'userpage' => 'Brükersidj uunwise',
+'projectpage' => 'Projektsidj wise',
+'imagepage' => 'Dateisidj uunwise',
+'mediawikipage' => 'Mädialangssidj uunwise',
+'templatepage' => 'Föörlaagensidj uunwise',
+'viewhelppage' => 'Halepsidj uunwise',
+'categorypage' => 'Kategoriisidj uunwise',
+'viewtalkpage' => 'Diskusjuun uunluke',
+'otherlanguages' => 'Uun ööder spriaken',
+'redirectedfrom' => '(Widjerfeerd faan $1)',
+'redirectpagesub' => 'Widjerfeerang',
+'lastmodifiedat' => 'Detdiar sidj as tuleetst di $1, am a klook $2 anert wurden.',
 'viewcount' => 'Aw jüdeer sid as  {{PLURAL:$1|iinjsen|$1 tunge}} tugram wörden.',
 'protectedpage' => 'Sääkerd sid',
-'jumpto' => 'Schaft tu:',
-'jumptonavigation' => 'Navigasjoon',
-'jumptosearch' => 'k',
-'view-pool-error' => 'Önjschüliing, da särwere san nütutids ouerlååsted.
-Tufoole brükere fersäke, jüdeer sid tu besäken.
-Wees sü gödj än täiw hu minuute, iir dü dåt nuch iinjsen ferseechst.
+'jumpto' => 'Waksle tu:',
+'jumptonavigation' => 'Navigatsjuun',
+'jumptosearch' => 'Schük',
+'view-pool-error' => 'Det dää üs iarag, a servers san auerläästet.
+Tuföl brükern ferschük, det sidj tu beschüken.
+Wees so gud an teew en uugenblak, iar dü det noch ans ferschükst.
 
 $1',
 'pool-timeout' => "Tidj uflepen bi't teewen üüb't sperang",
@@ -251,140 +263,141 @@ $1',
 'pool-errorunknown' => 'Ünbekäänd feeler',
 
 # 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) and the disambiguation template definition (see disambiguations).
-'aboutsite' => 'Ouer {{SITENAME}}',
-'aboutpage' => 'Project:Ouer',
-'copyright' => 'Inhålt stoont tu rädj uner jü $1.',
-'copyrightpage' => '{{ns:project}}:Uurhiiwerruchte',
-'currentevents' => 'Aktuäle schaiinge',
-'currentevents-url' => 'Project:Aktuäle schaiinge',
-'disclaimers' => 'Impressum',
-'disclaimerpage' => 'Project:Impressum',
-'edithelp' => 'Beårbingsheelp',
-'edithelppage' => 'Help:Beårbe',
-'helppage' => 'Help:Inhåltsfertiiknis',
-'mainpage' => 'Hoodsid',
-'mainpage-description' => 'Hoodsid',
-'policy-url' => 'Project:Ruchtliinje',
-'portal' => 'Gemiinschaps-portåål',
-'portal-url' => 'Project:Gemiinschaps-portåål',
-'privacy' => 'Dootenschuts',
-'privacypage' => 'Project:Dootenschuts',
-
-'badaccess' => 'Niinj tulingende ruchte',
-'badaccess-group0' => 'Dü hääst ai jü nüsie beruchtiging for jüdeer aksjoon',
-'badaccess-groups' => 'Jüdeer aksjoon as begränsed aw brükere, da tu {{PLURAL:$2|di grupe|åån foon da grupe}} „$1“ hiire.',
-
-'versionrequired' => 'Färsjoon $1 foon MediaWiki as nüsi.',
-'versionrequiredtext' => 'Färsjoon $1 foon MediaWiki as nüsi, am jüdeer sid tu brüken.
-Sii jü [[Special:Version|Färsjoonssid]]',
+'aboutsite' => 'Auer {{SITENAME}}',
+'aboutpage' => 'Project:Auer',
+'copyright' => 'Det stäänt oner det lisens $1.',
+'copyrightpage' => '{{ns:project}}:Copyrights',
+'currentevents' => 'Aktuels',
+'currentevents-url' => 'Project:Aktuels',
+'disclaimers' => 'Disclaimers',
+'disclaimerpage' => 'Project:Disclaimers',
+'edithelp' => "Halep bi't bewerkin",
+'edithelppage' => 'Help:Bewerke',
+'helppage' => 'Help:Auersicht',
+'mainpage' => 'Hoodsidj',
+'mainpage-description' => 'Hoodsidj',
+'policy-url' => 'Project:Reegeln',
+'portal' => 'Gemianskap',
+'portal-url' => 'Project:Gemianskap',
+'privacy' => 'Persöönelk dooten',
+'privacypage' => 'Project:Persöönelk dooten',
+
+'badaccess' => 'Brükerrochten ling ei',
+'badaccess-group0' => 'För detdiar aktjuun heest dü ei nooch brükerrochten.',
+'badaccess-groups' => 'Detdiar aktjuun mut bluas faan brükern uun {{PLURAL:$2|det skööl|ian faan jodiar sköölen}} „$1“ ütjfeerd wurd.',
+
+'versionrequired' => 'Werjuun $1 faan MediaWiki woort brükt.',
+'versionrequiredtext' => "Werjuun $1 faan MediaWiki woort brükt, am detdiar sidj tu brüken.
+Luke efter bi't [[Special:Version|werjuunssidj]]",
 
 'ok' => 'OK',
 'pagetitle' => '$1 – {{SITENAME}}',
 'pagetitle-view-mainpage' => '{{SITENAME}}',
 'backlinksubtitle' => '← $1',
-'retrievedfrom' => 'Foon „$1“',
-'youhavenewmessages' => 'Dü hääst $1 aw din diskusjoonssid ($2).',
-'newmessageslink' => 'naie tisinge',
+'retrievedfrom' => 'Faan „$1“',
+'youhavenewmessages' => 'Dü heest $1 ($2).',
+'newmessageslink' => 'nei bööd',
 'newmessagesdifflink' => 'Leest änring',
 'youhavenewmessagesfromusers' => 'Dü heest $1 faan {{PLURAL:$3|en öödern brüker|$3 ööder brükern}} ($2).',
 'youhavenewmessagesmanyusers' => 'Dü heest $1 faan flook ööder brükern ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|ian nei nooracht|nei noorachten}}',
 'newmessagesdifflinkplural' => 'leetst {{PLURAL:$1|feranrang|feranrangen}}',
-'youhavenewmessagesmulti' => 'Dü hääst nai tisinge aw $1',
-'editsection' => 'Beårbe',
+'youhavenewmessagesmulti' => 'Dü heest nei bööd üüb $1',
+'editsection' => 'Bewerke',
 'editsection-brackets' => '[$1]',
-'editold' => 'Beårbe',
-'viewsourceold' => 'kwältakst wise',
-'editlink' => 'beårbe',
-'viewsourcelink' => 'kwältakst wise',
-'editsectionhint' => 'Säksjoon beårbe: $1',
+'editold' => 'Bewerke',
+'viewsourceold' => 'kweltekst uunwise',
+'editlink' => 'bewerke',
+'viewsourcelink' => 'kweltekst uunwise',
+'editsectionhint' => 'Kirew bewerke: $1',
 'toc' => 'Inhåltsfertiiknis',
 'showtoc' => 'Wise',
 'hidetoc' => 'Ferbärje',
 'collapsible-collapse' => 'Tuupdoble',
 'collapsible-expand' => 'Ütjenööderdoble',
-'thisisdeleted' => '$1 önjkiike unti widermååge?',
-'viewdeleted' => '$1 wise?',
-'restorelink' => '$1 {{PLURAL:$1|sträägen Färsjoon|sträägene Färsjoone}}',
+'thisisdeleted' => '$1 uunluke of weder iinstel',
+'viewdeleted' => '$1 uunluke?',
+'restorelink' => '$1 {{PLURAL:$1|stregen werjuun|stregen werjuunen}}',
 'feedlinks' => 'Feed:',
-'feed-invalid' => 'Üngülti feed-abonemänt-typ.',
-'feed-unavailable' => 'Deer stönje niinj feeds tu rädj.',
-'site-rss-feed' => 'RSS-feed for $1',
-'site-atom-feed' => 'Atom-feed for $1',
-'page-rss-feed' => 'RSS-feed for „$1“',
-'page-atom-feed' => 'Atom-feed for „$1“',
+'feed-invalid' => 'Feed-abonement-typ as ferkiard.',
+'feed-unavailable' => 'Diar san nian feeds.',
+'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“',
 'feed-atom' => 'Atom',
 'feed-rss' => 'RSS',
-'red-link-title' => '$1 (sid ai deer)',
+'red-link-title' => '$1 (sidj ei diar)',
 'sort-descending' => 'Sortiare faan boowen tu onern',
 'sort-ascending' => 'Sortiare faan onern tu boowen',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Sid',
-'nstab-user' => 'Brükersid',
-'nstab-media' => 'Meediesid',
-'nstab-special' => 'Spetsjåålsid',
-'nstab-project' => 'Prujäktsid',
-'nstab-image' => 'Dååtäi',
-'nstab-mediawiki' => 'Berucht',
-'nstab-template' => 'Forlååge',
-'nstab-help' => 'Heelpsid',
+'nstab-user' => 'Brükersidj',
+'nstab-media' => 'Meediensidj',
+'nstab-special' => 'Spezial-sidj',
+'nstab-project' => 'Projektsidj',
+'nstab-image' => 'Datei',
+'nstab-mediawiki' => 'Bööd',
+'nstab-template' => 'Föörlaag',
+'nstab-help' => 'Halepsidj',
 'nstab-category' => 'Kategorii',
 
 # Main script and global functions
-'nosuchaction' => "Ai sü'n aksjoon",
-'nosuchactiontext' => 'Jü aksjoon spesifisiird döör di URL jült ai.
-Dü koost di URL ferkiird tipt hääwe, unti dü hääst en ferkiirden link fülied.
-Dåt koon uk en fäägel önjjeewe önj e software, jü {{SITENAME}} brúkt.',
-'nosuchspecialpage' => "Ai sü'n spetsjäl sid",
-'nospecialpagetext' => '<strong>Jü önjfrååged spetsjåålsid as ai deer.</strong>
+'nosuchaction' => 'Son aktjuun jaft at ei',
+'nosuchactiontext' => 'Son aktjuun jaft at üüb MediaWiki ei.
+Ferlicht heest dü det URL ferkiard apskrewen, of dü beest en ferkiard ferwisang fulagt.
+Ferlicht as det uk en feeler uun det software faan {{SITENAME}}.',
+'nosuchspecialpage' => 'Son spezial-sidj jaft at ei.',
+'nospecialpagetext' => '<strong>Son spezial-sidj jaft at ei.</strong>
 
-Åle ferfäigboore spetsjåålside san önj e [[Special:SpecialPages|List foon da spetsjåålside]] tu finen.',
+En list mä aal a spezial-sidjen fanjst dü üüb [[Special:SpecialPages|{{int:specialpages}}]].',
 
 # General errors
-'error' => 'Fäägel',
-'databaseerror' => 'Dootebånkfäägel',
+'error' => 'Feeler',
+'databaseerror' => 'Dootenbeenkfeeler',
 'dberrortext' => 'Diar as wat skiaf gingen mä det dootenbeenk.
 Ferlicht as det software ei bi a rä.
 Det leetst uunfraag tu\'t dootenbeenk wiar:
 <blockquote><code>$1</code></blockquote>
 faan det funktsjuun "<code>$2</code>".
 Det dootenbeenk swaaret mä "<samp>$3: $4</samp>".',
-'dberrortextcl' => 'Dåt jäif en süntaksfäägel önj e dootebånk-ouffrååch.
-Jü leest dootebånkouffrååch wus  „$1“ üt e funksjoon „<tt>$2</tt>“.
-Jü dootebånk mälded jü fäägel: „<tt>$3: $4</tt>“.',
-'laggedslavemode' => "''''Woarschauing:''' Jü wised sid köö uner amstånde ai da leeste beåarbinge önjthüülje.",
-'readonly' => 'Dootebånk späred',
-'enterlockreason' => 'Wees swü gödj än jeew en grün önj, weeram jü dootebånk späred wårde schal än en schåting ouer e duur foon jü späre',
-'readonlytext' => 'Jü dootebånk as forluupi späred for naie önjdreege än änringe. Wees sü gödj än fersäk dåt lääser nuch iinjsen.
-
-Grün foon e späre: $1',
+'dberrortextcl' => "Bi't uffraagin faan a dootenbeenk as wat skiaf gingen. Det leetst uffraag wiar:
+„$1“
+ütj det funktjuun „$2“.
+At dootebeenk swaaret: „$3: $4“.",
+'laggedslavemode' => "'''Paase üüb:''' Ferlicht wiset detdiar sidj ei a leetst stant.",
+'readonly' => 'Dootenbeenk speret.',
+'enterlockreason' => 'Wees so gud an du en grünj uun, huaram det dootenbeenk speret wurd skal, an hü loong det (amanbi) speret wurd skal.',
+'readonlytext' => "Det dootenbeenk as iarst ans speret för nei iindracher an feranrangen, woorskiinelk, auer diar jüst apredet woort. Ferschük det leeder man noch ans.
+
+Grünj för't sperin: $1",
 'missing-article' => 'Di täkst for „$1“ $2 wörd ai önj e dååtenbånk fünen.
 
 Jü sid as möölikerwise tuninte mååged unti ferschääwen wörden.
 
 Wan dåt ai di fål as, hääst dü eewäntuäl en fäägel önj e software fünen. Mäld dåt hål en  [[Special:ListUsers/sysop|administrator]] unner nååming foon jü URL.',
-'missingarticle-rev' => '(Färsjoonsnumer: $1)',
-'missingarticle-diff' => '(Ferschääl twasche färsjoone: $1, $2)',
+'missingarticle-rev' => '(Werjuunsnumer: $1)',
+'missingarticle-diff' => '(Ferskeel tesken $1 an $2)',
 'readonly_lag' => 'Jü dootebånk wörd automaatisch for schriwtugraawe späred, deerma da ferdiiljde dootebånke (slaves) jam ma di hooddootebånksärwer (master) oufglike koone.',
-'internalerror' => 'Intärn fäägel',
-'internalerror_info' => 'Intärne fäägel: $1',
+'internalerror' => 'Süsteemfeeler',
+'internalerror_info' => 'Süsteemfeeler: $1',
 'fileappenderrorread' => '"$1" köö wilert dåt baitufäigen ai leesen wårde.',
 'fileappenderror' => 'Köö ai "$1" tu "$2" önjhinge.',
-'filecopyerror' => 'Jü dootäi "$1" köö ai eefter "$2" kopiiird wårde.',
-'filerenameerror' => 'Jü dootäi "$1" köö ai eefter "$2" amnååmd wårde.',
-'filedeleteerror' => 'Jü dootäi "$1" köö ai straagen wårde.',
+'filecopyerror' => 'Det datei $1 küd ei efter $2 kopiaret wurd.',
+'filerenameerror' => 'Det datei $1 küd ei efter $2 amnäämd wurd.',
+'filedeleteerror' => 'Det datei $1 küd ei stregen wurd.',
 'directorycreateerror' => 'Dåt fertiiknis "$1" köö ai mååged wårde.',
-'filenotfound' => 'Köö dootäi "$1" ai fine.',
-'fileexistserror' => 'Ai möölik, eefter dootäi "$1" tu schriwen: dootäi bestoont ål',
+'filenotfound' => 'Det datei $1 küd ei fünjen wurd.',
+'fileexistserror' => 'Uun det datei "$1" küd ei skrewen wurd: Hat as al diar.',
 'unexpected' => 'Ünfermousene wjart: "$1"="$2".',
 'formerror' => 'Fäägel: köö jü form ai lääwere',
 'badarticleerror' => 'Jüdeer aksjoon koon ai aw jüdeer sid mååged wårde.',
-'cannotdelete' => 'Jü sid unti dootäi "$1" köö ai straagen wårde.
-Dåt as flicht ål straagen foon huum ouders.',
+'cannotdelete' => 'Det sidj of datei "$1" küd ei stregen wurd.
+Det as ferlicht al faan hoker ööders stregen wurden.',
 'cannotdelete-title' => 'Sidj „$1“ koon ei stregen wurd.',
 'delete-hook-aborted' => 'Det striken as faan en software-feranerang faan MediaWiki ferhanert wurden. Di grünj as ei bekäänd.',
-'badtitle' => 'Ferkiirde tiitel',
+'badtitle' => 'Ferkiard tiitel',
 'badtitletext' => 'Di tiitel foon jü anfrååged sid as üngülti, lääsi unti n üngültigen spräklink foon en ouder wiki.',
 'perfcached' => 'Jodiar dooten kem faan a cache an san ferlicht ei muar aktuel. Huuchstens {{PLURAL:$1|ian resultoot as|$1 resultooten san}} uun a cache.',
 'perfcachedts' => 'Jodiar dooten kem faan a cache, leetst tooch nei: $1. Huuchstens {{PLURAL:$4|ian resultoot as|$4 resultooten san}} uun a cache.',
@@ -392,9 +405,9 @@ Dåt as flicht ål straagen foon huum ouders.',
 'wrong_wfQuery_params' => 'Ferkiirde parameetere for wfQuery()<br />
 Funksjoon: $1<br />
 Ouffrååch: $2',
-'viewsource' => 'Kwältäkst önjkiike',
+'viewsource' => 'Kweltekst uunluke',
 'viewsource-title' => 'Code faan sidj $1 uunluke',
-'actionthrottled' => 'Aksjoonstål limitiird',
+'actionthrottled' => 'Taal faan aktjuunen limitiaret',
 'actionthrottledtext' => 'Dü hääst jüdeer aksjoon tu oofding bane en kort tidrüm ütfjard. Wees sü gödj än täiw en påår minuute än fersäk dåt et dan foon naien.',
 'protectedpagetext' => 'Detdiar sidj as seekert wurden, am dat diar näämen wat feranert.',
 'viewsourcetext' => 'Dü koost jü kwäle foon jüdeer sid bekiike än kopiire.',
@@ -403,14 +416,14 @@ Ouffrååch: $2',
 Dü könst [//translatewiki.net/ translatewiki.net] faan MediaWiki brük, am auersaatangen för ale wiki projekten tu maagin.',
 'editinginterface' => "'''Paase üüb:''' Üüb detdiar sidj stäänt tekst, diar faan't MediaWiki software brükt woort. Wan dü diar wat feranerst, feranerst dü di skak faan't Nuurdfresk Wikipedia.
 Wan dü wat auersaat wel, maage det mä [//translatewiki.net/ translatewiki.net], det as det MediaWiki lokalisiarangsprojekt.",
-'sqlhidden' => 'SCL-ouffrååg ferstäägen',
-'cascadeprotected' => 'Jüdeer sid as for beårbing spärd. Jü as önj {{PLURAL:$1|e füliende sid|da füliende side}}
-önjbünen, {{PLURAL:$1|jü|da}} madels e kaskaadespäropsjoon önj febading hüüljen {{PLURAL:$1|as|san}}:
+'sqlhidden' => 'SQL-uffraag as ferbürgen',
+'cascadeprotected' => 'Detdiar sidj koon ei bewerket wurd. Hat as uun {{PLURAL:$1|detdiar sidj|jodiar sidjen}}
+iinbünjen, diar auer kaskaadenseekerhaid seekert {{PLURAL:$1|as|san}}:
 $2',
-'namespaceprotected' => "Dü hääst niinj beruchtiging, jü sid önj di '''$1'''-noomerüm tu beårben.",
+'namespaceprotected' => "Dü heest ei det brükerrocht, am sidjen uun di nöömrüm '''$1''' tu bewerkin.",
 'customcssprotected' => 'Dü mutst detheer CSS sidj ei bewerke, auer det hoker ööders hiart.',
 'customjsprotected' => 'Dü mutst detheer JavaScript sidj ei bewerke, auer det hoker ööders hiart.',
-'ns-specialprotected' => 'Spetsjåålside koone ai beårbed wårde.',
+'ns-specialprotected' => 'Spezial-sidjen kön ei bewerket wurd.',
 'titleprotected' => 'En sid ma dideer noome koon ai önjläid wårde.
 Jü späre wörd döör [[User:$1|$1]] ma grün "$2" inruchted.',
 'filereadonlyerror' => 'Det datei „$1“ koon ei feranert wurd, auer uun det fertiaknis „$2“ bluas leesen wurd koon.
@@ -421,60 +434,61 @@ Di grünj faan di administraator as: „$3“.',
 'exception-nologin-text' => 'Det könst dü bluas bewerke, wan dü uunmeldet beest.',
 
 # Virus scanner
-'virus-badscanner' => "Hiinje konfigurasjoon: ünbekånde fiirusscanner: ''$1''",
-'virus-scanfailed' => 'scan fäägelsloin (code $1)',
-'virus-unknownscanner' => 'Ã\9cnbekÃ¥nde fiirusscanner:',
+'virus-badscanner' => "Ferkiard iinstelang: Ünbekäänd wiirenscanner: ''$1''",
+'virus-scanfailed' => 'scan ging skiaf (code $1)',
+'virus-unknownscanner' => 'Ã\9cnbekäänd wiirenscanner:',
 
 # Login and logout pages
-'logouttext' => "'''Dü bast nü oufmälded.'''
+'logouttext' => "'''Dü beest nü ufmeldet.'''
 
-Dü koost {{SITENAME}} nü anonüüm widerbrüke, unti de wider uner diseelew unti en oudern brükernoome <span class='plainlinks'>[$1 önjmälde]</span>.
-Påås aw, dåt hu side nuch wise koone, dåt dü önjmälded bast, sülung dü ai dan browsercache lääsimååged heest.",
+Dü könst {{SITENAME}} nü anonüüm widjerbrük, of di weder <span class='plainlinks'>[$1 uunmelde]</span>.
+Enkelt sidjen wise ferlicht noch uun, dat dü uunmeldet beest, so loong dü dan browser-cache ei leesag maaget heest.",
 'welcomeuser' => 'Welkimen, $1!',
 'welcomecreation-msg' => 'Din brükerkonto as iinracht wurden.
 Ferjid det ei, an aachte üüb din [[Special:Preferences|{{SITENAME}} iinstelangen]].',
-'yourname' => 'Brükernoome:',
+'yourname' => 'Brükernööm:',
 'userlogin-yourname' => 'Brükernööm',
 'userlogin-yourname-ph' => 'Du dan Brükernööm iin',
-'yourpassword' => 'Pååsuurd:',
+'yourpassword' => 'Paaswurd:',
 'userlogin-yourpassword' => 'Paaswurd',
 'userlogin-yourpassword-ph' => 'Paaswurd iindu',
 'createacct-yourpassword-ph' => 'Paaswurd iindu',
 'yourpasswordagain' => 'Schriw pååsuurd nuch iinjsen:',
 'createacct-yourpasswordagain' => 'Paaswurd gudkään',
 'createacct-yourpasswordagain-ph' => 'Du det paaswurd noch ans iin',
-'remembermypassword' => 'Aw diheere komputer foon duur önjmälde (maksimool for $1 {{PLURAL:$1|däi|deege}})',
+'remembermypassword' => 'Üüb diheer reegner üüb düür uunmelde (maksimaal för $1 {{PLURAL:$1|dai|daar}})',
 'userlogin-remembermypassword' => 'Uunmeldet bliiw',
-'userlogin-signwithsecure' => 'Auer di seeker server uunmelde',
+'userlogin-signwithsecure' => 'Seeker ferbinjang brük',
 'securelogin-stick-https' => 'Eefter önjmälding ma HTTPS ferbünen bliwe',
 'yourdomainname' => 'Din domain:',
 'password-change-forbidden' => 'Üüb detheer wiki könst dü nian paaswurden feranre.',
 'externaldberror' => 'Deer läit en fäägel bai jü äkstärn autentifisiiring for, unti dü möist din äkstärn brükerkonto äi aktualisiire.',
-'login' => 'Önjmälde',
-'nav-login-createaccount' => 'Önjmälde',
+'login' => 'Uunmelde',
+'nav-login-createaccount' => 'Melde di uun of skriiw di iin',
 'loginprompt' => 'For jü önjmälding monje cookies aktiwiird weese.',
-'userlogin' => 'Önjmälde / brükerkonte mååge',
-'userloginnocreate' => 'Önjmälde',
-'logout' => 'Oufmälde',
-'userlogout' => 'Oufmälde',
-'notloggedin' => 'Ai önjmälded',
+'userlogin' => 'Melde di uun of skriiw di iin',
+'userloginnocreate' => 'Uunmelde',
+'logout' => 'Ufmelde',
+'userlogout' => 'Ufmelde',
+'notloggedin' => 'Ei uunmeldet',
 'userlogin-noaccount' => 'Dü heest noch nään brükerkonto ?',
 'userlogin-joinproject' => 'Bi {{SITENAME}} mämaage',
 'nologin' => "Dü hääst niinj brükerkonto? '''$1'''.",
 'nologinlink' => 'Nai brükerkonto inruchte',
 'createaccount' => 'Brükerkonto inruchte',
 'gotaccount' => "Dü hääst ål en brükerkonto? '''$1'''.",
-'gotaccountlink' => 'Önjmälde',
+'gotaccountlink' => 'Uunmelde',
 'userlogin-resetlink' => 'Heest dü din login dooten ferjiden?',
+'userlogin-resetpassword-link' => 'Paaswurd turagsaat',
 'helplogin-url' => 'Help:Uunmelde',
 'userlogin-helplink' => "[[{{MediaWiki:helplogin-url}}|Halep bi't uunmeldin]]",
 'createacct-join' => 'Du oner din dooten iin.',
 'createacct-emailrequired' => 'E-mail adres',
 'createacct-emailoptional' => 'E-mail adres (optional)',
-'createacct-email-ph' => 'Du din E-mail adres iin',
-'createaccountmail' => 'E-mail tu det adres oner fersjüür mä en tufelag paaswurd',
+'createacct-email-ph' => 'Du din e-mail adres iin',
+'createaccountmail' => 'E-mail tu det adres oner ferschüür mä en tufelag paaswurd',
 'createacct-realname' => 'Rocht nööm (optional)',
-'createaccountreason' => 'Grün:',
+'createaccountreason' => 'Grünj:',
 'createacct-reason' => 'Grünj',
 'createacct-reason-ph' => 'Huaram dü en ööder brükerkonto iinrachtst',
 'createacct-captcha' => 'Seekerhaidspreew',
@@ -484,21 +498,21 @@ Ferjid det ei, an aachte üüb din [[Special:Preferences|{{SITENAME}} iinstelang
 'createacct-benefit-body1' => '{{PLURAL:$1|feranrang|feranrangen}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|sidj|sidjen}}',
 'createacct-benefit-body3' => 'aktiif {{PLURAL:$1|skriiwer|skriiwern}}',
-'badretype' => 'Da biise pååsuurde stime ai oueriinj.',
+'badretype' => 'Jo tau paaswurden san ei likedenang.',
 'userexists' => 'Dideer brükernoome as ål ferjääwen.
 Wees sü gödj en kiis en ouderen.',
-'loginerror' => 'Fäägel bai önjmälding',
+'loginerror' => "Bi't uunmeldin as wat skiaf gingen",
 'createacct-error' => "Bi't iinrachten faan det brükerkonto as wat skiaf gingen",
-'createaccounterror' => 'Brükerkonto köö ai mååged wÃ¥rde: $1',
+'createaccounterror' => 'Brükerkonto küd ei iinracht wurd: $1',
 'nocookiesnew' => 'Di benjütertugung wörd mååged, ouers dü bast ai önjmälded. {{SITENAME}} brükt for jüdeer funksjoon cookies.
 Wees sü gödj än aktiwiir da än mäld de dan ma dan naien benjüternoome än dåt tuhiirend pååsuurd önj.',
 'nocookieslogin' => '{{SITENAME}} benjütet cookies tu e önjmälding foon da benjütere. Dü heest Cookis deaktiwiird.
 Wees sü gödj än aktiwiir da än fersäk dåt wider.',
 'nocookiesfornew' => 'Det brükerkonto as ei iinracht wurden, auer wi ei witj, huar a dooten faan kem.
 Üüb dan kompjuuter skel cookies aktiwiaret wees. Do rep detheer sidj noch ans nei ap.',
-'noname' => 'Dü möist en gültigen brükernooem önjjeewe.',
-'loginsuccesstitle' => 'Önjmälding erfolchrik',
-'loginsuccess' => "'''Dü bast nü ås „$1“ bai {{SITENAME}} önjmälded.'''",
+'noname' => 'Dü skel en rochten brükernööm uundu.',
+'loginsuccesstitle' => 'Uunmeldin hää löket.',
+'loginsuccess' => "'''Dü beest nü üs „$1“ bi {{SITENAME}} uunmeldet.'''",
 'nosuchuser' => 'Di brükernoome „$1“ bestoont ai.
 Präiw jü schriwwise (grut-/latjschriwing beåchte) unti [[Special:UserLogin/signup|mäld de ås naie brüker önj]].',
 'nosuchusershort' => 'Deer as nåån brüker ma noome  "$1".
@@ -509,7 +523,7 @@ Präiw din ruchtschriwing.',
 Wees sü gödje än fersäk dåt nuch iinjsen.',
 'wrongpasswordempty' => 'Deer wörd niinj pååsuurd önjjääwen. Fersäk dåt foon naien.',
 'passwordtooshort' => 'Pååsuurde mönje tu t manst {{PLURAL:$1|1 tiiken|$1 tiikne}} lung weese.',
-'password-name-match' => 'Din pååsuurd mätj ferschääle foon dan brükernoome.',
+'password-name-match' => 'Dü könst dan brükernööm ei üs paaswurd nem.',
 'password-login-forbidden' => 'Jüdeer brükernoome än paasuurd as ferbin.',
 'mailmypassword' => 'Nai pååsuurd tusiinje',
 'passwordremindertitle' => 'Nai tidwise pååsuurd for {{SITENAME}}',
@@ -519,20 +533,20 @@ En nei paaswurd för di brüker "$2" as maaget wurden an het nü "$3".
 Wan dü det würelk so haa wel, do melde di nü uun an feranere det paaswurd. Det nei paaswurd täält för {{PLURAL:$5|ään dai|$5 daar}}.
 
 Wan dü ei salew am en nei paaswurd fraaget heest, do säärst dü di am niks widjer komre. Do könst dü din ual paaswurd widjer brük.',
-'noemail' => 'Deer as niinj E-mail-adräs bekånd for brüker "$1".',
-'noemailcreate' => 'Dü möist en gülti E-mail-adräs önjjeewe',
-'passwordsent' => 'En nai pååsuurd as sånd tu jü E-mail-adräs registriird for "$1".
+'noemail' => 'Diar as nian e-mail adres bekäänd för di brüker "$1".',
+'noemailcreate' => 'Dü skel en rocht e-mail adres uundu.',
+'passwordsent' => 'En nai pååsuurd as sånd tu jü e-mail-adräs registriird for "$1".
 Mälde wi önj eefter dü jü füngen heest.',
-'blocked-mailpassword' => 'Jü foon de ferwånde IP-adräs as for dåt änren foon side späred. Am en masbrük tu ferhanern, wórd jü möölikhäid tu dåt önjfråågen foon en nai pååsuurd uk späred.',
-'eauthentsent' => 'En bestääsiings-E-mail wörd önj jü önjjääwen adräs sånd.
+'blocked-mailpassword' => 'Det IP-adres, wat dü brükst, as speret wurden. Am dat diar nian dom tjüch mä maaget woort, as uk det uffraagin faan paaswurden speret wurden.',
+'eauthentsent' => 'En bestääsiings-e-mail wörd önj jü önjjääwen adräs sånd.
 
-Iir en E-mail foon oudere brükere ouer jü E-mail-funksjoon emfångd wårde koon, mötj jü adräs än har wörklike tuhiirihäid tu dåtheer brükerkonto jarst bestääsied wårde. Wees sü gödj än befülie da haanewisinge önj di bestääsiings-E-mail.',
+Iir en e-mail foon oudere brükere ouer jü e-mail-funksjoon emfångd wårde koon, mötj jü adräs än har wörklike tuhiirihäid tu dåtheer brükerkonto jarst bestääsied wårde. Wees sü gödj än befülie da haanewisinge önj di bestääsiings-e-mail.',
 'throttled-mailpassword' => 'Deer wörd önj da leeste {{PLURAL:$1|stün|$1 stüne}} ål en nai pååsuurd önjfrååged. Am en masbrük foon jüdeer funksjoon tu ferhanren, koon bloot {{PLURAL:$1|iinjsen pro stün|åle $1 stüne}} en nai pååsuurd önjfrååged wårde.',
-'mailerror' => 'Fäägel bai dåt siinjen foon e E-mail: $1',
+'mailerror' => 'Fäägel bai dåt siinjen foon e e-mail: $1',
 'acct_creation_throttle_hit' => 'Besäkere foon jüheer Wiki, da din IP-adräse brüke, heewe önj e leeste däi {{PLURAL:$1|1 brükerkonto|$1 brükerkontos}} mååged, wat jü maksimool tuleet tål önj jüdeer tidperioode as.
 
 Besäkere, da jüheer IP-adräse brüke, koone tutids niinj brükerkonto mör inruchte.',
-'emailauthenticated' => 'Din E-mail-adräs word di $2 am e klook $3 bestääsied.',
+'emailauthenticated' => 'Din e-mail-adräs word di $2 am e klook $3 bestääsied.',
 'emailnotauthenticated' => 'Din E-mail-adräs as nuch ai bestääsied. Da füliende E-mail-funksjoone stönje jarst eefter erfolchrike bestääsiing tu ferfäiging.',
 'noemailprefs' => 'Jeew en E-mail-adräs önj da önjstalinge önj, deerma da füliende funksjoone tu ferfäiging stönje.',
 'emailconfirmlink' => 'E-mail-adräs bestääsie (autäntifisiire).',
@@ -551,7 +565,7 @@ Fåls dåt benjüterkonto üt fersiinj önjläid wörd, koost dü jüdeer tising
 'login-throttled' => 'Dü heest tu oofding fersoocht, di önjtumälden.
 Wees sü gödj än täif, bit dü wider ferseechst.',
 'login-abort-generic' => 'Din önjmälding wus ei erfolchrik - Oufbräägen',
-'loginlanguagelabel' => 'Spräke: $1',
+'loginlanguagelabel' => 'Spriak: $1',
 'suspicious-userlogout' => 'Dan Oufmäldönjfrååge wörd ferwaigred, deer ja fermouslik foon en defäkte browser unti en cache-proxy sånd wörd.',
 
 # Email sending
@@ -572,7 +586,7 @@ Nü wårst dü önjmälded...',
 'resetpass_forbidden' => 'Pååsuurde koone ai änred wårde',
 'resetpass-no-info' => 'Dü möist önjmälded weese am ju sid diräkt tu tu gripen.',
 'resetpass-submit-loggedin' => 'Pååsuurd änre',
-'resetpass-submit-cancel' => 'Oufbreege',
+'resetpass-submit-cancel' => 'Ufbreeg',
 'resetpass-wrong-oldpass' => 'Üngülti tämporäär unti antuäl pååsuurd.
 Möölikerwise heest dü din pååsuurd ål ma erfolch änred heest unti en nai tämporäär pååsuurd beönjdräägen.',
 'resetpass-temp-password' => 'Tidwise pååsuurd:',
@@ -580,11 +594,11 @@ Möölikerwise heest dü din pååsuurd ål ma erfolch änred heest unti en nai
 
 # Special:PasswordReset
 'passwordreset' => 'Paasuurd tubääg seete',
-'passwordreset-text' => 'Fal detheer formulaar ütj, am din paaswurd turag tu saaten.',
+'passwordreset-text-one' => 'Fal detheer formulaar ütj, am din paaswurd turag tu saaten.',
+'passwordreset-text-many' => '{{PLURAL:$1|Du ian stak faan a dooten iin, am din paaswurd turag tu saaten.}}',
 'passwordreset-legend' => 'Paasuurd tubääg seete',
 'passwordreset-disabled' => 'Dü koost din paasuurd aw jüdeer wiki ai tubääg seete',
 'passwordreset-emaildisabled' => 'E-mail as üüb detheer Wiki ufknipset wurden.',
-'passwordreset-pretext' => '{{PLURAL:$1||Du ian faan jo dooten oner iin}}',
 'passwordreset-username' => 'Brükernoome:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Wel dü det e-mail nooracht uunluke?',
@@ -657,7 +671,7 @@ Wan dü wider aw \"Sid spiikre\" klikst, wårt din änring suner tuhuupefooting
 Wan dü wider aw \"{{int:savearticle}}\" klakst, wårt din beårbing suner ouerschaft spiikerd.",
 'summary-preview' => 'Forlök foon jü tuhuupfootingssid:',
 'subject-preview' => 'Forkiik foon dåt subjäkt:',
-'blockedtitle' => 'Brüker as späred',
+'blockedtitle' => 'Brüker as speret',
 'blockedtext' => "'''Dan brükernööm of IP adres as speret wurden.'''
 
 Det as maaget wurden faan $1.
@@ -689,14 +703,14 @@ Dü könst ei det E-Mail-funktsjuun 'E-mail tu dideere brüker' brük, so loong
 Uugenblakelk as din IP addres $3, an det sper ID as #$5.
 För arke uunfraag wurd aal jo informatsjuunen boowen brükt.",
 'blockednoreason' => 'niinj grün önjjääwen',
-'whitelistedittext' => 'Dü möist de $1, am side beårbe tu koonen.',
+'whitelistedittext' => 'Dü skel di $1, am sidjen tu bewerkin.',
 'confirmedittext' => 'Dü möist din E-mail-adräs jarst bestääsie, iir dü beårbinge döörfääre koost. Mååg din årbe radi än bestääsie din E-mail önj da  [[Special:Preferences|önjstalinge]].',
 'nosuchsectiontitle' => 'Stuk ai fünen',
 'nosuchsectiontext' => 'Dü fersoochst en stuk tu änren, dåt dåt ai jeeft.
 Dåt koon ferschääwen unti wächhååld weese, wilt dü jü sid bekiikedest.',
-'loginreqtitle' => 'Önjmälden nüsi.',
-'loginreqlink' => 'Önjmälde',
-'loginreqpagetext' => 'Dü möist $1 am oudere side tu bekiiken.',
+'loginreqtitle' => 'Dü skel di uunmelde.',
+'loginreqlink' => 'Uunmelde',
+'loginreqpagetext' => 'Dü skel di $1, am ööder sidjen uuntulukin.',
 'accmailtitle' => 'Pååsuurd sånd.',
 'accmailtext' => "En tufäli generiird pååsuurd for [[User talk:$1|$1]] wörd tu $2 fersånd.
 
@@ -707,11 +721,11 @@ Am jü sid tu måågen, dreeg dan täkst önj e unerstönjene box in (sii jü
 [[{{MediaWiki:Helppage}}|heelpsid]] for mör informasjoon).
 Bast üt fersiien heer, klik di '''tubääg'''-klänkfläche foon 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' => 'Jüdeer sid önjhålt uugenblaklik nuch nån täkst.
-Dü koost dideere tiitel aw da ouder side [[Special:Search/{{PAGENAME}}|säke]],
-<span class="plainlinks">önj da deertuhiirende [{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} logböke säke] unti jüdeer sid [{{fullurl:{{FULLPAGENAME}}|action=edit}} beårbe]</span>.',
+'noarticletext' => 'Üüb detdiar sidj stäänt noch niks.
+Dü könst didiar tiitel üüb ööder sidjen [[Special:Search/{{PAGENAME}}|schük]],
+<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}}|sjük]] of a <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAME}}}} logbuken uunluke].</span>',
+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.
 
 Det komt diar miast faan, dat en ual ferwisang stregen wurden as.
@@ -736,7 +750,9 @@ For informasjoon füliet di leeste üttooch üt dåt benjüterspär-logbök:',
 '''Dåt as nuch ai spiikerd!'''",
 'sitejspreview' => "'''Påås aw dåt dü jüdeer JavaScript code bloot forbekiikest.'''
 '''Dåt as nuch ai spiikerd!'''",
-'userinvalidcssjstitle' => "''Woorschauing:''' Skin \"\$1\"jeeft dåt ai. Betånk, dåt brükerspetsiifische .css- än .js-side ma en latj bökstääw önjfånge mönje, ålsü biispelswise ''{{ns:user}}:Münsterkjarl/vector.css'' önj stää foon ''{{ns:user}}:Münsterkjarl/Vector.css''.",
+'userinvalidcssjstitle' => "''Paase üüb:''' Skak \"\$1\" jaft at ei.
+Seenk diaram, dat faan en brüker iinracht .css- an .js-sidjen mä en letjen buksteew began skel. Bispal:
+''{{ns:user}}:Münsterkjarl/vector.css'' uunsteed faan ''{{ns:user}}:Münsterkjarl/Vector.css''.",
 'updated' => '(Änred)',
 'note' => "'''Påås aw:'''",
 'previewnote' => "'''Heer könst dü sä, hü det sidj wurd skal.'''
@@ -757,7 +773,7 @@ Wan't do imer noch ei loket, [[Special:UserLogout|melde di uf]] an weder uun.",
 Det komt flooksis föör, wan Dan anonym Proxy-siinst ei rocht werket.",
 'edit_form_incomplete' => "'''Enkelt dialen faan det formulaar san ei rocht uunkimen.'''
 Wees so gud an kontroliare ales noch ans.",
-'editing' => 'Beårbe foon $1',
+'editing' => 'Bewerkin faan $1',
 'creating' => 'Maage $1',
 'editingsection' => 'Beårben foon $1 (oufsnaas)',
 'editingcomment' => 'Beårben foon $1 (naien oufsnaas)',
@@ -766,14 +782,16 @@ Wees so gud an kontroliare ales noch ans.",
 Boowen könst dü di aktuel stant sä. Oner stun din fernanrangen.
 Bluas wat '''boowen''' stäänt, woort seekert. Diaram kopiare din feranrangen boowen iin.
 An do trak „{{int:savearticle}}“.",
-'yourtext' => 'Din täkst',
-'storedversion' => 'Spiikerd färsjoon',
-'nonunicodebrowser' => "'''Påås aw:''' Dan browser koon unicode-tiikne ai rucht ferårbe. Brük hål en oudern browser am side tu ferårben.",
-'editingold' => "'''PÅÅS AW: Dü beårbest en üülj färsjoon foon jüdeer sid. \"
-Wan dü spiikerst, wårde åle naiere färsjoone ouerschraawen.",
-'yourdiff' => 'Ferschääle',
-'copyrightwarning' => "''' Hål kopiir niinj webside, da ai din äine san, brük niinj uurhääwerruchtlik schütsede wärke suner ferloof foon di uurhääwer!'''<br />
-Dü jeefst üs heerma dan tusååge, dåt dü di täkst '''seelew ferfooted''' hääst, dåt di täkst ålgemiingödj '''(public domain)''' as, unti dåt di '''uurhääwer''' sin '''tustiming''' jääwen heet. For di fål jüdeer täkst ål ouersweer ütdänj wörd, wis hål aw jü diskusjoonssid deeraw haane. <i>Beåcht hål, dåt åle {{SITENAME}}-tujeefte automaatisch uner jü „$2“ stönje (sii $1 for detaile). For di fål dü ai mååst, dåt diin årbe heer foon oudere feränred än språåt wårt, dan kröög ai aw „sid spikre“.</i>",
+'yourtext' => 'Dan tekst',
+'storedversion' => 'Seekert werjuun',
+'nonunicodebrowser' => "'''Paase üüb:''' Dan browser komt ei mä unicode-tiakens turocht. Wees so gud an brük en öödern browser.",
+'editingold' => "'''Paase üüb: Dü bewerkest en ual werjuun faan detdiar sidj.
+Wan dü det seekerst, wurd aal a nei werjuunen auerskrewen.'''",
+'yourdiff' => 'Ferskeeler',
+'copyrightwarning' => "Seenk diaram, dat bidracher tu {{SITENAME}} oner det \$1 ütjden wurd (muar stäänt bi \$2).
+Wan dü ei wel, dat öödern dan bidrach widjer bewerke, do trak ei üüb \"Seekre\".<br />
+Dü ferspräächst, dat dü di tekst salew skrewen heest of dat diar nian kopiarrochten üüb lei.
+'''Dü mutst nian werk mä kopiarrochten saner ferloof heer iinstel!'''",
 'copyrightwarning2' => "Seenk diaram, dat det sidj {{SITENAME}} faan öödern bewerket, feranert of uk stregen wurd koon. Wan dü det ei wel, do skriiw heer niks iin! 
 
 Wan dü heer wat iinskrafst, do beest dü diarmä iinferstenen an seekerst tu, dat dü det '''salew skrewen''' heest of faan en steed auernimen heest, huar '''nian rochten''' üüb lei. (Luke bi $1, wan dü muar wed wel.)
@@ -792,14 +810,13 @@ Uun't logbuk stäänt muar diartu:",
 'titleprotectedwarning' => "'''Paase üüb: \"Detdiar sidj mä didiar nööm koon ei faan arken bewerket wurd. Bluas enkelt brükern mä [[Special:ListGroupRights|was brükerrochten]] kön detdiar sidj nei maage of bewerke.'''
 Uun't logbuk stäänt muar diartu:",
 'templatesused' => '{{PLURAL:$1|Jü füliend forlååg wårt|Da füliende forlååge wårde}} foon jüdeer sid ferwånd:',
-'templatesusedpreview' => '{{PLURAL:$1|Jü füliend forlååg wårt|Da füliende forlååge wårde}} foon diheere sideforlök ferwånd:',
+'templatesusedpreview' => '{{PLURAL:$1|Detdiar föörlaag woort|Jodiar föörlaagen wurd}} uun detdiar sidjenföörskau brükt:',
 'templatesusedsection' => '{{PLURAL:$1|Jü füliend forlååg wårt|Da füliende forlååge wårde}} foon dideer oufsnaas ferwånd:',
 'template-protected' => '(seekert)',
 'template-semiprotected' => '(hualew-seekert)',
 'hiddencategories' => 'Jüdeer sid as lasmoot foon {{PLURAL:$1|1 ferstäägen kategorii|$1 ferstäägene kategoriie}}:',
-'nocreatetext' => 'Aw {{SITENAME}} wörd dåt måågen foon naie side begränsed.
-Dü koost bestönjene side änre unti de [[Special:UserLogin|önjmälde unti mååg en account]].',
-'nocreate-loggedin' => 'Dü heest niinj beruchtiging, naie side tu måågen.',
+'nocreatetext' => 'Üüb {{SITENAME}} könst dü nian nei sidjen maage, oober dü könst sidjen feranre. [[Special:UserLogin|Melde di uun of racht en brükerkonto iin]].',
+'nocreate-loggedin' => 'Dü mutst nian nei sidjen maage.',
 'sectioneditnotsupported-title' => 'Jü beårbing foon oufsnaase wårt ai unerstüted',
 'sectioneditnotsupported-text' => 'Jü beårbing foon oufsnaase wårt aw jüdeer beårbingssid ai stiped.',
 'permissionserrors' => 'Beruchtigingsfäägel',
@@ -810,12 +827,13 @@ Dü koost bestönjene side änre unti de [[Special:UserLogin|önjmälde unti må
 Auerlei di det gud, amdat dü niks ferkiard maagest.
 Uun't logbuk stäänt muar diartu:",
 'moveddeleted-notice' => 'Jüheer sid wörd sleeked. Deer füliet en üttooch üt dåt sleek- än ferschüwingslogbök for jüheer sid.',
-'log-fulllog' => 'Åle logbük-önjdrååge önjkiike',
+'log-fulllog' => 'Logbuk-iindracher uunluke',
 'edit-hook-aborted' => 'Jü beårbing wörd suner ferklååring döör en snaasstää oufbräägen.',
 'edit-gone-missing' => 'Jü sid köö ai aktualisiird wårde.
 Jü wörd önjscheened sleeked.',
 'edit-conflict' => 'Beårbingskonflikt.',
 'edit-no-change' => 'Din beårbing wörd ignoriird, deer niinj änring an e täkst fornümen wörd.',
+'postedit-confirmation' => 'Din feranrang as seekert wurden.',
 'edit-already-exists' => 'Köö niinj nai sid mååge.
 Dåt bestöö ål.',
 'defaultmessagetext' => 'Standard tekst',
@@ -835,14 +853,14 @@ Dåt bestöö ål.',
 'expensive-parserfunction-warning' => 'Woorschauing: Jüdeer sid önjthålt tu fool apteele foon widluftie parserfunksjoone.
 
 Deer {{PLURAL:$2|mötj ai mör ås 1 apteel|mönje ai mör ås $1 apteele}} weese.',
-'expensive-parserfunction-category' => 'Side, da widluftie parserfunksjoone tu oofding apteele',
+'expensive-parserfunction-category' => 'Sidjen mä tuföl parser-funktjuunen.',
 'post-expand-template-inclusion-warning' => "'''Woorschauing:''' Jü grutelse foon da önjbünene forlååge as tu grut, hu forlååge koone ai önjbünen wårde.",
-'post-expand-template-inclusion-category' => 'Side, önj da jü maksimoole grutelse foon önjbünene forlååge ouerschran as',
+'post-expand-template-inclusion-category' => 'Sidjen mä muar üs det maksimaal taal faan iinbünjen föörlaagen.',
 'post-expand-template-argument-warning' => 'Påås aw: Jüdeer sid enthålt tumanst en argumänt önj en forlååge, dåt äkspandiird tu grut as. Dadeere argumänte wårde ignoriird.',
-'post-expand-template-argument-category' => 'Side, da ignoriirde forlååge-argumänte önjthüülje',
+'post-expand-template-argument-category' => 'Sidjen mä föörlaagen, huar ei arke iindrach brükt wurd koon.',
 'parser-template-loop-warning' => 'Forlåågesloif önjtdäkt: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Forloagerekursjoonsdiipgränse ouerschran ($1)',
-'language-converter-depth-warning' => 'Spräkekonwärsjoonsdiipdegränse ouerschren ($1)',
+'language-converter-depth-warning' => 'Spriakenkonwerter auerläästet ($1)',
 'node-count-exceeded-category' => 'Jodiar sidjen haa tuföl ferbinjangen (nodes)',
 'node-count-exceeded-warning' => 'Detdiar sidj hää tuföl ferbinjangen (nodes)',
 'expansion-depth-exceeded-category' => 'Jodiar sidjen haa tuföl ütjwidjangen (expansion)',
@@ -865,25 +883,24 @@ Luke oner, of dü det uk würelk du wel, an do seekre din feranrangen.',
 Grün foon jü späre: ''$2''",
 
 # History pages
-'viewpagelogs' => 'Logböke for jüdeer sid wise',
+'viewpagelogs' => 'Logbuken faan detdiar sidj uunwise',
 'nohistory' => 'Deer as niinj beårbingshistoori for jüdeer sid.',
-'currentrev' => 'Aktäle färsjoon.',
-'currentrev-asof' => 'Aktuäl färsjoon foon $2 am e klook $3',
-'revisionasof' => 'Färsjoon foon e klook $2, $3',
-'revision-info' => 'Färsjoon foon di $4 am e klook $5 foon $2',
-'previousrevision' => '← Näistålere färsjoon',
-'nextrevision' => 'Näistjunger färsjoon →',
-'currentrevisionlink' => 'Aktuäle färsjoon',
+'currentrev' => 'Leetst werjuun',
+'currentrev-asof' => 'Leetst werjuun faan di $2, am e klook $3',
+'revisionasof' => 'Werjuun faan $2, klook $3',
+'revision-info' => 'Werjuun faan di $4 am a klook $5 faan $2',
+'previousrevision' => '← Naistääler werjuun',
+'nextrevision' => 'Naistjonger werjuun →',
+'currentrevisionlink' => 'Leetst werjuun',
 'cur' => 'aktuäl',
 'next' => 'näist',
 'last' => 'leest',
 'page_first' => 'Began',
 'page_last' => 'Iinje',
-'histlegend' => 'Tu wising foon da änringe iinjfåch da tu ferglikene Färsjoone ütwääle än di klänkfläche „{{int:compareselectedversions}}“ klikke.<br />
-* (Aktuäl) = unerschiis tu e aktuäle färsjoon, (Leeste) = unerschiis tu e leeste färsjoon
-* Klook/dootem = färsjoon tu jüdeer tid, brükernoome/IP-adräs foon di beårber, L = latje änring.',
-'history-fieldset-title' => 'Säk önj e färsjoonshistoori',
-'history-show-deleted' => 'bloot straagene färsjoone',
+'histlegend' => "Am a feranrangen uuntuwisin, schük tau werjuunen ütj an trak üüb „{{int:compareselectedversions}}“.<br />
+* '''({{int:cur}})''' = ferskeel tu't aktuel werjuun, '''({{int:last}})''' = ferskeel tu't leetst werjuun, '''{{int:minoreditletter}}''' = letj feranrang.",
+'history-fieldset-title' => 'Schük uun a ferluup',
+'history-show-deleted' => 'Bluas stregen werjuunen',
 'histfirst' => 'Ålste',
 'histlast' => 'Naiste',
 'historysize' => '({{PLURAL:$1|1 Byte|$1 Bytes}})',
@@ -893,62 +910,59 @@ Grün foon jü späre: ''$2''",
 'history-feed-title' => 'Färsjoonshistoori',
 'history-feed-description' => 'Färsjoonshistoori for jüdeer sid önj {{SITENAME}}',
 'history-feed-item-nocomment' => '$1 bit $2',
-'history-feed-empty' => 'Jü önjfordied sid bestoont ai. Flicht wörd jü sleeked unti ferschääwen.  [[Special:Search|Döörsäk]] {{SITENAME}} aw pååsende naie side.',
+'history-feed-empty' => 'Son sidj jaft at ei. Ferlicht as det stregen of fersköwen wurden. [[Special:Search|Schük]] üüb {{SITENAME}} efter nei sidjen, diar diartu paase.',
 
 # Revision deletion
 'rev-deleted-comment' => '(Tuhuupefooting wächnümen)',
 'rev-deleted-user' => '(Brükernoome wächhååld)',
 'rev-deleted-event' => '(Logbökaksjoon wächhååld)',
 'rev-deleted-user-contribs' => '[Benjüternoome unti IP-adräs wächhååld - beårbing üt baidråge ferstäägen]',
-'rev-deleted-text-permission' => "Judeer Färsjoon wörd '''straagen'''.
-Näre önjgoowen tu di strikforgung ås uk en begrüning fant huum önj dåt [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbök].",
-'rev-deleted-text-unhide' => "Jüdeer färsjoon as '''straagen''' wörden.
-Ainkelthäide fant huum önj dåt [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbök].
-Dü koost nuch [$1 jüdeer färsjoon bekiike], wan dü wider gunge mååst.",
-'rev-suppressed-text-unhide' => "Jüdeer färsjoon as '''unerdrükt''' wörden.
-Ainkelthäide fant huum önj dåt [{{fullurl:{{#special:Log}}/suppress|page={{FULLPAGENAMEE}}}} strik-logbök].
-Dü koost nuch [$1 jüdeer färsjoon bekiike], wan dü wider gunge mååst.",
-'rev-deleted-text-view' => "Jüdeer Färsjoon as '''straagen''' wörden.
-Dü koost da wider önjkiike. Näre önjgoowen tu di sleekforgung ås uk en begrüning fant huum önj dåt [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbök].",
-'rev-suppressed-text-view' => "Jüdeer färsjoon as '''unerdrükd''' wörden.
-Dü koost da önjkiike. Ainkelthäide stönje önj dåt [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} unerdrukings-logbök].",
-'rev-deleted-no-diff' => "Dü koost jüdeer ferschääl ai bekiike, dan iinj foon da änringe wörd '''straagen'''. Näre önjgoowen tu di strikforgung ås uk en begrüning fant huum önj dåt [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbök].",
-'rev-suppressed-no-diff' => "Dü koost jüdeer ferschääl ai bekiike, dan iinj foon da änringe wörd '''straagen'''.",
-'rev-deleted-unhide-diff' => "Iinj foon da änringe doon jüdeer ferschääl as '''straagen''' wörden.
-Ainkelthäide fant huum önj dåt [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbök].
-Dü koost nuch [$1 jüdeer färsjoon bekiike], wan dü wider gunge mååst.",
-'rev-suppressed-unhide-diff' => "Iinj foon da färsjoone foon dåtdeer ferschääl wörd '''unerdrükd'''.
-Ainkelthäide fant huum önj dåt [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} unerdruk-logbök].
-Dü koost nuch [$1 dåtdeer ferschääl bekiike], wan dü wider gunge mååst.",
-'rev-deleted-diff-view' => "En Färsjoon foon dåtdeer färsjoonsferschääl wörd '''straagen'''.
-Dü koost dåt färsjoonsferschääl siinj.
-Näre önjgoowen fant huum önj dåt [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbök].",
-'rev-suppressed-diff-view' => "Iinj foon da färsjoone foon dåtdeer färsjoonsferschääl wörd '''unerdrükd'''.
-Dü koost dåtheer färsjoonsferschääl siinj. Ainkelthäide stönje önj dåt [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} unerdrukings-logbök].",
+'rev-deleted-text-permission' => "Detdiar werjuun as '''stregen''' wurden.
+Uun't [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbuk] stäänt muar diartu.",
+'rev-deleted-text-unhide' => "Detdiar werjuun as '''stregen''' wurden.
+Uun't [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbuk] stäänt muar diartu.
+Dü könst [$1 detdiar werjuun uunluke], wan dü wel.",
+'rev-suppressed-text-unhide' => "Detdiar werjuun as '''ferbürgen''' wurden.
+Uun't [{{fullurl:{{#special:Log}}/suppress|page={{FULLPAGENAMEE}}}} fersteeg-logbuk] stäänt muar diartu.
+Dü könst [$1 detdiar werjuun uunluke], wan dü wel.",
+'rev-deleted-text-view' => "Detdiar werjuun as '''stregen''' wurden.
+Dü könst det noch uunluke. Uun't [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbuk] stäänt muar diartu.",
+'rev-suppressed-text-view' => "Detdiar werjuun as '''ferbürgen''' wurden.
+Dü könst det noch uunluke. Uun't [{{fullurl:{{#special:Log}}/suppress|page={{FULLPAGENAMEE}}}} fersteeg-logbuk] stäänt muar diartu.",
+'rev-deleted-no-diff' => "Dü könst di ferskeel ei uunluke, auer ian werjuun '''stregen''' wurden as.
+Wan dü muar wed wel, luke iin uun't [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbuk].",
+'rev-suppressed-no-diff' => "Dü könst di ferskeel ei uunluke, auer ian werjuun '''stregen''' wurden as.",
+'rev-deleted-unhide-diff' => "Ian faan jodiar werjuunen as '''stregen''' wurden. Wan dü muar wed wel, luke iin uun't [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbuk].
+Dü könst [$1 di ferskeel uunluke], wan dü wel.",
+'rev-suppressed-unhide-diff' => "Ian faan jodiar werjuunen as '''ferbürgen''' wurden. Wan dü muar wed wel, luke iin uun't [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} fersteeg-logbuk].
+Dü könst [$1 di ferskeel uunluke], wan dü wel.",
+'rev-deleted-diff-view' => "Ian faan jodiar werjuunen as '''stregen''' wurden.
+Dü könst di ferskeel uunluke. Wan dü muar wed wel, luke iin uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} strik-logbuk].",
+'rev-suppressed-diff-view' => "Ian faan jodiar werjuunen as '''ferbürgen''' wurden. Dü könst di ferskeel uunluke. Wan dü muar wed wel, luke iin uun't [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} fersteeg-logbuk].",
 'rev-delundel' => 'wis/fersteeg',
 'rev-showdeleted' => 'wise',
-'revisiondelete' => 'Färsjoone strike/wider mååge',
-'revdelete-nooldid-title' => 'Niinj färsjoon önjjääwen',
-'revdelete-nooldid-text' => 'Dü heest nian wersjuun för detheer aktsjuun uunden, of det wersjuun jaft at ei, of dü fersjükst, en aktuel wersjuun tu striken.',
+'revisiondelete' => 'Werjuunen strik of weder iinstel',
+'revdelete-nooldid-title' => 'Nian werjuun uunden',
+'revdelete-nooldid-text' => 'Dü heest nian werjuun för detheer aktjuun uunden, of det werjuun jaft at ei, of dü ferschükst, en aktuel werjuun tu striken.',
 'revdelete-nologtype-title' => 'Niinj logtüüp önjjääwen',
 'revdelete-nologtype-text' => 'Deer wörd niinj logtüüp for jüheer aksjoon önjjääwen.',
 'revdelete-nologid-title' => 'Üngülti logönjdråch',
 'revdelete-nologid-text' => 'Deer wör niinj logtüüp ütkiisd unti di kiisde logtüüp bestoont ai.',
-'revdelete-no-file' => 'Jü önjjääwen dootäi bestoont ai.',
-'revdelete-show-file-confirm' => 'Bast dü sääker, dåt de jü sleeked färsjoon foon e dootäi „<nowiki>$1</nowiki>“ foon e $2 am e klook $3 önjsiinj wäät?',
+'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' => 'Jåå',
-'revdelete-selected' => "'''{{PLURAL:$2|Ütjsoocht wersjuun|Ütjsoocht wersjuunen}} faan [[:$1]]:'''",
+'revdelete-selected' => "'''{{PLURAL:$2|Ütjsoocht werjuun|Ütjsoocht werjuunen}} faan [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Ütjsoocht logbukiindrach|Ütjsoocht logbukiindracher}}:'''",
-'revdelete-text' => "'''Stregen wersjuunen an aktsjuunen bliiw uun det wersjuunshistoore an uun a logbuken, man det koon ei arken efterlees.'''
+'revdelete-text' => "'''Stregen werjuunen an aktjuunen bliiw uun di ferluup an uun a logbuken, man det koon ei arken efterlees.'''
 
-Ööder administratooren üüb {{SITENAME}} kön oober üüb det ferstäächt histoore tugrip an tu nuad en ual wersjuun weder iinstel.",
+Ööder administratooren üüb {{SITENAME}} kön oober üüb di ferbürgen ferluup tugrip an tu nuad en ual werjuun weder iinstel.",
 '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
 *: ''Adresen, Tilefoonnumern, Ferseekerangsnumern an sowat''",
 'revdelete-legend' => 'Seeten foon da sachtboorhäids-gränse',
-'revdelete-hide-text' => 'Täkst foon e färsjoon fersteege',
-'revdelete-hide-image' => 'Fersteege wat önj e Dootäi stoont',
+'revdelete-hide-text' => 'Tekst faan det werjuun fersteeg',
+'revdelete-hide-image' => 'Fersteeg, wat uun det datei stäänt',
 'revdelete-hide-name' => 'Logbök-aksjoon fersteege',
 'revdelete-hide-comment' => 'Beårbingskomäntoor fersteege',
 'revdelete-hide-user' => 'Benjüternoome//IP-adräse foon e beårber fersteege',
@@ -957,9 +971,9 @@ Dü koost dåtheer färsjoonsferschääl siinj. Ainkelthäide stönje önj dåt
 'revdelete-radio-set' => 'Jåå',
 'revdelete-radio-unset' => 'Nåån',
 'revdelete-suppress' => 'Grün foon dåt striken uk for administratoore fersteege',
-'revdelete-unsuppress' => 'Gränse for wi måågede färsjoone wächnaame',
+'revdelete-unsuppress' => 'Weder iinsteld werjuunen luasmaage',
 'revdelete-log' => 'Begrüning:',
-'revdelete-submit' => 'Aw {{PLURAL:$1|kiisd färsjoon|kiisde färsjoone}} önjwiinje',
+'revdelete-submit' => 'Widjer för {{PLURAL:$1|ütjsoocht werjuun|ütjsoocht werjuunen}}',
 'revdelete-success' => "'''Jü färsjoonsönjsicht wörd aktualisiird.'''",
 'revdelete-failure' => "'''Jü färsjoonsönjsicht köö ai aktualisiird wårde:'''
 $1",
@@ -967,10 +981,10 @@ $1",
 'logdelete-failure' => "'''Logböksachtboorhäid köö ai änred wårde:'''
 $1",
 'revdel-restore' => 'sichtboorhäid änre',
-'revdel-restore-deleted' => 'sleekede färsjoone',
-'revdel-restore-visible' => 'sachtboore färsjoone',
+'revdel-restore-deleted' => 'stregen werjuunen',
+'revdel-restore-visible' => 'sichtboor werjuunen',
 'pagehist' => 'Färsjoonshistoori',
-'deletedhist' => 'Straagene färsjoone',
+'deletedhist' => 'Stregen werjuunen',
 'revdelete-hide-current' => 'Fäägel bai t fersteegen foon di önjdråch foon e klook $1, $2; ditheer as jü aktuäl färsjoon,
 jü koon ai ferstäägen wårde.',
 'revdelete-show-no-access' => 'Fäägel bai t wisen foon di önjdråch foon $1, e klook $2: diheer önjdråch wörd ås "begränsed" markiird.
@@ -987,7 +1001,7 @@ Dü heest deeraw nåån tugraawe.',
 ** Fülk informatsjuunen",
 'revdelete-otherreason' => 'Ouderen/tubaikaamenden grün:',
 'revdelete-reasonotherlist' => 'Ouderen grün',
-'revdelete-edit-reasonlist' => 'Strikgrüne beårbe',
+'revdelete-edit-reasonlist' => "Grünjer för't striken bewerke",
 'revdelete-offender' => 'Autoor foon jüdeer färsjoon:',
 
 # Suppression log
@@ -999,18 +1013,18 @@ Luke bi [[Special:BlockList|List faan speret IP-adresen an brükernöömer]] fö
 'mergehistory' => 'Fersjoonshistoorie feriine',
 'mergehistory-header' => 'Ma jüdeer spetsjåålsid koost dü jü färsjoonshistoori foon en jurtkamstsid ma jü färsjoonshistoori foon en müüljsid feriine.
 Stal sääker, dåt jü färsjoonshistoori foon en sid histoorisch koräkt as.',
-'mergehistory-box' => 'Rewisjoone foon tou side feriine:',
+'mergehistory-box' => 'Ferluup faan tau sidjen tuupfeer:',
 'mergehistory-from' => 'Jurtkamstsid:',
 'mergehistory-into' => 'Müüljsid:',
-'mergehistory-list' => 'Färsjoone, da feriind wårde koone',
-'mergehistory-merge' => 'Jodiar wersjuunen faan „[[:$1]]“ kön efter „[[:$2]]“ auerdraanj wurd.
-Markiare det wersjuun, wat üs leetst mä auerdraanj wurd skal.
-A nawigatsjuun links saat ales weder turag üüb di ual stant.',
-'mergehistory-go' => 'Wis färsjoone da feriind wårde koone',
-'mergehistory-submit' => 'Feriinde färsjoone',
-'mergehistory-empty' => 'Niinj färsjoone koone feriind wårde.',
-'mergehistory-success' => '$3 {{PLURAL:$3|färsjoon|färsjoone}} foon [[:$1]] ma erfolch feriind tu [[:$2]].',
-'mergehistory-fail' => 'Färsjoone koone ai feriind wårde, wees sü gödj än kontroliir jü sid än da tidönjgoowe.',
+'mergehistory-list' => 'Werjuunen, diar tuupfeerd wurd kön.',
+'mergehistory-merge' => 'Jodiar werjuunen faan „[[:$1]]“ kön efter „[[:$2]]“ auerdraanj wurd.
+Kääntiakne det wersjuun, wat üs leetst mä auerdraanj wurd skal.
+A nawigatjuun links saat ales weder turag üüb di ual stant.',
+'mergehistory-go' => 'Wise werjuunen, diar tuupfeerd wurd kön.',
+'mergehistory-submit' => 'Werjuunen tuupfeer',
+'mergehistory-empty' => 'Nian werjuunen kön tuupfeerd wurd.',
+'mergehistory-success' => '$3 {{PLURAL:$3|werjuun|werjuunen}} faan [[:$1]] tuupfeerd tu [[:$2]].',
+'mergehistory-fail' => 'Werjuunen kön ei tuupfeerd wurd. Luke noch ans efter at sidj an a tidjen.',
 'mergehistory-no-source' => 'Jurtkamstsid "$1" as ai deer.',
 'mergehistory-no-destination' => 'Müüljsid „$1“ bestoont ai.',
 'mergehistory-invalid-source' => 'Jurtkamstsid mötj en gülti sidnoome heewe.',
@@ -1022,35 +1036,35 @@ A nawigatsjuun links saat ales weder turag üüb di ual stant.',
 
 # Merge log
 'mergelog' => 'Feriin-logbök',
-'pagemerge-logentry' => 'feriind [[$1]] eefter [[$2]] (färsjoonen bit $3)',
+'pagemerge-logentry' => '[[$1]] efter [[$2]] tuupfeerd (werjuunen bit $3)',
 'revertmerge' => 'Feriining tuninte mååge',
 'mergelogpagetext' => 'Dåtheer as dåt logbök foon da feriinde färsjoonshistoorie.',
 
 # Diffs
-'history-title' => '$1: Ferluup faan a wersjuunen',
-'difference-title' => 'Ferskeel tesken a wersjuunen faan "$1"',
+'history-title' => '$1: Ferluup faan a werjuunen',
+'difference-title' => 'Ferskeel tesken a werjuunen faan "$1"',
 'difference-title-multipage' => 'Ferskeel tesken a sidjen "$1" an "$2"',
-'difference-multipage' => '(Ferschääl twasche side)',
+'difference-multipage' => '(Ferskeel tesken sidjen)',
 'lineno' => 'Ra $1:',
-'compareselectedversions' => 'Wäälde färsjoone ferglike',
-'showhideselectedversions' => 'Wäälde färsjoone wise/fersteege',
+'compareselectedversions' => 'Werjuunen ferglik',
+'showhideselectedversions' => 'Werjuunen wise of fersteeg',
 'editundo' => 'tunintemååge',
-'diff-multi' => '({{PLURAL:$1|Ian wersjuun diartesken|$1 wersjuunen diartesken}} faan {{PLURAL:$2|ään brüker|$2 brükern}} {{PLURAL:$1|woort|wurd}} ei uunwiset)',
-'diff-multi-manyusers' => '({{PLURAL:$1|Ian wersjuun diartesken|$1 wersjuunen diartesken}} faan muar üs $2 {{PLURAL:$2|brüker|brükern}} wurd ei uunwiset)',
+'diff-multi' => '({{PLURAL:$1|Ian werjuun diartesken|$1 werjuunen diartesken}} faan {{PLURAL:$2|ään brüker|$2 brükern}} {{PLURAL:$1|woort|wurd}} ei uunwiset)',
+'diff-multi-manyusers' => '({{PLURAL:$1|Ian werjuun diartesken|$1 werjuunen diartesken}} faan muar üs $2 {{PLURAL:$2|brüker|brükern}} wurd ei uunwiset)',
 'difference-missing-revision' => "{{PLURAL:$2|Ian werjuun|$2 werjuunen}} faan di ferskeel ($1) {{PLURAL:$2|as|san}} ei fünjen wurden.
 
 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.",
 
 # Search results
-'searchresults' => 'Säkjresultoote',
-'searchresults-title' => 'Säkjresultoote for „$1“',
-'searchresulttext' => 'For mör informasjoon tu jü säkj sii jü [[{{MediaWiki:Helppage}}|heelpsid]].',
-'searchsubtitle' => 'Din säkönjfrååg: „[[:$1|$1]]“ ([[Special:Prefixindex/$1|åle ma „$1“ beganende side]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|åle side, da eefter „$1“ ferlinke]])',
+'searchresults' => 'Fünjen sidjen',
+'searchresults-title' => 'Fünjen sidjen för „$1“',
+'searchresulttext' => "Wan dü muar auer't schüken uun {{SITENAME}} wed wel, luke efter bi [[{{MediaWiki:Helppage}}|{{int:help}}]].",
+'searchsubtitle' => 'Din uunfraag: „[[:$1|$1]]“ ([[Special:Prefixindex/$1|sidjen, diar mä „$1“ began]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|sidjen, diar efter „$1“ ferwise]])',
 'searchsubtitleinvalid' => 'Din säkönjfrååg: "$1".',
 'toomanymatches' => 'Diar kaam tuföl resultooten üüb din uunfraag. Fersjük det ööders.',
-'titlematches' => 'Oueriinjstiminge ma sidetiitle',
-'notitlematches' => 'Niinj oueriinjstiming ma sidetiitle',
+'titlematches' => 'Auerianstemangen mä sidjennöömer',
+'notitlematches' => 'Nian auerianstemangen mä sidjennöömer',
 'textmatches' => 'Oueriinjstiminge ma inhålte',
 'notextmatches' => 'Niinj oueriinjstiming ma inhålte',
 'prevn' => '{{PLURAL:$1|leesten|leeste $1}}',
@@ -1064,18 +1078,18 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'searchmenu-new' => "'''Mååg jü sid „[[:$1|$1]]“ önj jüdeer Wiki.'''",
 'searchhelp-url' => 'Help:Inhåltsfertiiknis',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Wise aal jo sidjen, diar so began]]',
-'searchprofile-articles' => 'Artiikle',
-'searchprofile-project' => 'Heelp än Prujäktside',
+'searchprofile-articles' => 'Artiikler',
+'searchprofile-project' => 'Halep- an Projektsidjen',
 'searchprofile-images' => 'Multimedia',
 'searchprofile-everything' => 'Ales',
-'searchprofile-advanced' => 'Ütwided',
-'searchprofile-articles-tooltip' => 'Säk önj $1',
-'searchprofile-project-tooltip' => 'Säk önj $1',
-'searchprofile-images-tooltip' => 'Bilen sjük',
-'searchprofile-everything-tooltip' => 'Sjük aueraal (uk diskusjuunssidjen)',
-'searchprofile-advanced-tooltip' => 'Onj mör noomerüme säke',
+'searchprofile-advanced' => 'Ütjwidjet',
+'searchprofile-articles-tooltip' => 'Schük uun $1',
+'searchprofile-project-tooltip' => 'Schük uun $1',
+'searchprofile-images-tooltip' => 'Bilen schük',
+'searchprofile-everything-tooltip' => 'Schük aueraal (uk diskusjuunssidjen)',
+'searchprofile-advanced-tooltip' => 'Uun ööder nöömrümer schük',
 'search-result-size' => '$1 ({{PLURAL:$2|1 uurd|$2 uurde}})',
-'search-result-category-size' => '{{PLURAL:$1|1 sidj|$1 sidjen}} ({{PLURAL:$2|1 onerkategorii|$2 onerkategoriin}}, {{PLURAL:$3|1 datei|$3 dateien}})',
+'search-result-category-size' => '{{PLURAL:$1|1 sidj|$1 sidjen}} ({{PLURAL:$2|1 onerkategorii|$2 onerkategoriin}}, {{PLURAL:$3|1 datei|$3 datein}})',
 'search-result-score' => 'Relevans: $1 %',
 'search-redirect' => '(widerliidjing foon „$1“)',
 'search-section' => '(oufsnaas $1)',
@@ -1085,31 +1099,31 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'search-interwiki-more' => '(widere)',
 'search-relatedarticle' => 'früne',
 'mwsuggest-disable' => "Föörslacher för't sjüken deaktiwiare",
-'searcheverything-enable' => 'Onj ål noomerüme säke',
+'searcheverything-enable' => 'Uun arke nöömrüm schük',
 'searchrelated' => 'früne',
-'searchall' => 'åle',
+'searchall' => 'aaltumaal',
 'showingresults' => "Heer {{PLURAL:$1|as '''1''' resultoot|san '''$1''' resultoote}}, beganend ma numer '''$2.'''",
 'showingresultsnum' => "Heer {{PLURAL:$3|as '''1''' resultoot|san '''$3''' resultoote}}, beganend ma numer '''$2.'''",
 'showingresultsheader' => "{{PLURAL:$5|resultoot '''$1''' foon '''$3'''|resultoote '''$1-$2''' foon '''$3'''}}, for '''$4.'''",
-'nonefound' => "'''Haanewising:''' Deer wårde ståndardmääsi man ainkelde noomerüme döörsoocht. Seet ''all:'' for din Säkbegrip, am åle side (inkl. diskusjoonside, forlååge, äsw.) tu döörsäken unti gesiilt di noome foon di tu döörsäkende noomerüm.",
+'nonefound' => "'''Paase üüb:''' Diar wurd man enkelt nöömrümer trochsoocht. Wan dü ''all:'' föör din wurd skraft, do woort uk uun aal a nöömrümer (datein, kategoriin, föörlaagen asw.) soocht. Dü könst uk en wasen nöömrüm föörwechstel.",
 'search-nonefound' => 'For din säkanfrååg würden niinj resultoote fünen.',
-'powersearch' => 'ütwided säkj',
-'powersearch-legend' => 'ütwided säkj',
-'powersearch-ns' => 'Säkj önj noomerüme:',
+'powersearch' => 'Ã\9ctjwidjet schüken',
+'powersearch-legend' => 'Ã\9ctjwidjet schüken',
+'powersearch-ns' => 'Schük uun nöömrümer:',
 'powersearch-redir' => 'Widerliidjinge anwise',
-'powersearch-field' => 'Säk eefter:',
-'powersearch-togglelabel' => 'Wääl üt:',
-'powersearch-toggleall' => 'Åle',
-'powersearch-togglenone' => 'Niinj',
-'search-external' => 'Extern säkj',
-'searchdisabled' => 'Jü {{SITENAME}}-säkj as deaktiviird. Dü koost intwasche ma Google säke. Betånk, dåt di säkindäks for {{SITENAME}} ferüüljet weese koon.',
+'powersearch-field' => 'Schük efter:',
+'powersearch-togglelabel' => 'Schük ütj:',
+'powersearch-toggleall' => 'Aaltumaal',
+'powersearch-togglenone' => 'Nianen',
+'search-external' => 'Schük ekstern',
+'searchdisabled' => 'Det schüken üüb {{SITENAME}} as ei aktiif. Dü könst uuntesken mä Google schük. Seenk diaram, dat Google sin steegwurden miast ei üüb a leetst stant san.',
 'search-error' => "Diar as wat skiaf gingen bi't schüken: $1",
 
 # Preferences page
 'preferences' => 'Önjstalinge',
 'mypreferences' => 'Iinstelangen',
 'prefs-edits' => 'Taal faan feranrangen:',
-'prefsnologin' => 'Ai önjmälded',
+'prefsnologin' => 'Ei uunmeldet',
 'prefsnologintext' => 'Dü skel <span class="plainlinks">[{{fullurl:{{#special:UserLogin}}|returnto=$1}} uunmeldet]</span> wees, am din iinstelangen tu feranrin.',
 'changepassword' => 'Pååsuurd änre',
 'prefs-skin' => 'Skak',
@@ -1120,7 +1134,7 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'prefs-labs' => 'Alpha mögelkhaiden',
 'prefs-user-pages' => 'Brükersidjen',
 'prefs-personal' => 'Brüker dooten',
-'prefs-rc' => 'Leeste änringe',
+'prefs-rc' => 'Leetst feranrangen',
 'prefs-watchlist' => "Uun't uug behual",
 'prefs-watchlist-days' => "So föl daar uun't uug behual:",
 'prefs-watchlist-days-max' => 'Ei muar üs {{PLURAL:$1|ään dai|$1 daar}}',
@@ -1140,14 +1154,14 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'prefs-edit-boxsize' => "Grate faan't wönang tu't bewerkin:",
 'rows' => 'Räen:',
 'columns' => 'Spleder:',
-'searchresultshead' => 'Sjük',
+'searchresultshead' => 'Schük',
 'resultsperpage' => 'So fölsis komt det föör per sidj:',
 'stub-threshold' => 'Formatiarang faan links <a href="#" class="stub">för letj sidjen</a> (uun Byte):',
 'stub-threshold-disabled' => 'Ufsteld',
 'recentchangesdays' => 'Soföl daar skel a „leetst feranrangen“ uunwise:',
 'recentchangesdays-max' => 'Ei muar üs {{PLURAL:$1|ään dai|$1 daar}}',
 'recentchangescount' => 'Soföl feranrangen skel uunwiset wurd:',
-'prefs-help-recentchangescount' => 'Det san a leetst feranrangen, wersjuunen an logbuken.',
+'prefs-help-recentchangescount' => 'Det san a leetst feranrangen, werjuunen an logbuken.',
 'prefs-help-watchlist-token' => "Wan dü detdiar fial mä en hiamelken code ütjfalst, woort en RSS-feed iinracht. Arken mä didiar code koon do sä, wat dü uun't uug behual wel. Diaram skul hi ei so ianfach wees, nem dach didiar: $1",
 'savedprefs' => 'Din iinstelangen san seekert wurden.',
 'timezonelegend' => 'Tidjsoon:',
@@ -1168,9 +1182,9 @@ Dü könst det uun't [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'timezoneregion-indian' => 'Indik',
 'timezoneregion-pacific' => 'Pasiifik',
 'allowemail' => 'E-Mail foon oudere brükere tulätje',
-'prefs-searchoptions' => 'Sjük',
+'prefs-searchoptions' => 'Schük',
 'prefs-namespaces' => 'Noomerüme',
-'defaultns' => 'Ouers säk önj jüheer noomerüme:',
+'defaultns' => 'Ööders schük uun jodiar nöömrümer:',
 'default' => 'Forinstaling',
 'prefs-files' => 'Dååtäie',
 'prefs-custom-css' => 'Salew maaget CSS',
@@ -1186,7 +1200,7 @@ Do san jo ual iinstelangen wech.',
 'prefs-memberingroups' => '{{GENDER:$2|Lasmoot}} faan {{PLURAL:$1|brükerskööl|brükersköölen}}:',
 'prefs-registration' => 'Uunmelde-tidj',
 'yourrealname' => 'Rocht nööm:',
-'yourlanguage' => 'Spräke:',
+'yourlanguage' => 'Spriak:',
 'yourvariant' => 'Spriak:',
 'prefs-help-variant' => 'Uun hün skriiwwiis skel a sidjen uunwiset wurd:',
 'yournick' => 'Nai signatuur:',
@@ -1208,11 +1222,11 @@ Do san jo ual iinstelangen wech.',
 'prefs-signature' => 'Signatuur',
 'prefs-dateformat' => "Formaat faan't dootem",
 'prefs-timeoffset' => 'Ferskeel faan a klooktidj',
-'prefs-advancedediting' => 'Ütwided möölikhäide',
-'prefs-advancedrc' => 'Ütwided möölikhäide',
-'prefs-advancedrendering' => 'Ütwided möölikhäide',
-'prefs-advancedsearchoptions' => 'Ütwided möölikhäide',
-'prefs-advancedwatchlist' => 'Ütwided möölikhäide',
+'prefs-advancedediting' => 'Ütjwidjet mögelkhaiden',
+'prefs-advancedrc' => 'Ütjwidjet mögelkhaiden',
+'prefs-advancedrendering' => 'Ütjwidjet mögelkhaiden',
+'prefs-advancedsearchoptions' => 'Ütjwidjet mögelkhaiden',
+'prefs-advancedwatchlist' => 'Ütjwidjet mögelkhaiden',
 'prefs-displayrc' => "Mögelkhaiden för't uunwisin",
 'prefs-displaysearchoptions' => "Mögelkhaiden för't uunwisin",
 'prefs-displaywatchlist' => "Mögelkhaiden för't uunwisin",
@@ -1279,13 +1293,13 @@ Do san jo ual iinstelangen wech.',
 'right-move' => 'Sidjen fersküüw',
 'right-move-subpages' => 'Sidjen mä onersidjen fersküüw',
 'right-move-rootuserpages' => 'Hood-brükersidj fersküüw',
-'right-movefile' => 'Dateien fersküüw',
+'right-movefile' => 'Datein fersküüw',
 'right-suppressredirect' => "Bi't fersküüwen nian widjerfeerang iinracht",
-'right-upload' => 'Dateien huuchsjüür',
-'right-reupload' => 'Dateien auerskriiw',
+'right-upload' => 'Datein huuchschüür',
+'right-reupload' => 'Datein auerskriiw',
 'right-reupload-own' => 'En datei auerskriiw, diar dü salew huuchsjüürd heest',
 'right-reupload-shared' => 'En datei auerskriiw, diar uun en gemiansoom archiif leit',
-'right-upload_by_url' => 'Dateien faan en URL-adres huuchsjüür',
+'right-upload_by_url' => 'Datein faan en URL-adres huuchschüür',
 'right-purge' => 'Sidjen-cache leesag maage saner efterfraagin',
 'right-autoconfirmed' => 'Hualew-seekert sidjen bewerke',
 'right-bot' => 'Automatisiaret bewerke',
@@ -1293,14 +1307,14 @@ Do san jo ual iinstelangen wech.',
 'right-apihighlimits' => 'Huuger taalen für API-uunfraagen brük',
 'right-writeapi' => 'Write-API brük',
 'right-delete' => 'Sidjen strik',
-'right-bigdelete' => 'Sidjen mä föl wersjuunen strik',
-'right-deletelogentry' => 'Enkelt wersjuunen faan en logbuk-iindrach strik of turaghaale',
-'right-deleterevision' => 'Enkelt wersjuunen faan en sidj strik of turaghaale',
+'right-bigdelete' => 'Sidjen mä föl werjuunen strik',
+'right-deletelogentry' => 'Enkelt werjuunen faan en logbuk-iindrach strik of turaghaale',
+'right-deleterevision' => 'Enkelt werjuunen faan en sidj strik of turaghaale',
 'right-deletedhistory' => 'Stregen iindracher uun a ferluup uunluke, saner di tekst, di diartu hiart',
-'right-deletedtext' => 'Stregen tekst an feranerangen tesken stregen wersjuunen uunluke',
-'right-browsearchive' => 'Sjük stregen sidjen',
+'right-deletedtext' => 'Stregen tekst an feranrangen tesken stregen werjuunen uunluke',
+'right-browsearchive' => 'Schük stregen sidjen',
 'right-undelete' => 'Stregen sidjen turaghaale',
-'right-suppressrevision' => 'Wersjuunen uunluke an turaghaale, diar uk för administratooren ei tu sen san',
+'right-suppressrevision' => 'Werjuunen uunluke an turaghaale, diar uk för administratooren ei tu sen san',
 'right-suppressionlog' => 'Priwoot logbuken uunluke',
 'right-block' => "Brükern spere (för't skriiwen)",
 'right-blockemail' => "Brüker spere för't E-Mail sjüüren",
@@ -1311,19 +1325,19 @@ Do san jo ual iinstelangen wech.',
 'right-protect' => 'Det seekerhaid faan sidjen feranre an seekerd sidjen bewerke',
 'right-editprotected' => 'Seekerd sidjen bewerke (saner kaskaaden-seekerhaid)',
 'right-editinterface' => 'Brüker-skak bewerke',
-'right-editusercssjs' => 'CSS- an JavaScript-dateien faan ööder brükern bewerke',
-'right-editusercss' => 'CSS-dateien faan ööder brükern bewerke',
-'right-edituserjs' => 'JavaScript-dateien faan ööder brükern bewerke',
-'right-rollback' => 'Feranerangen faan di leetst brüker gau turagsaat',
+'right-editusercssjs' => 'CSS- an JavaScript-datein faan ööder brükern bewerke',
+'right-editusercss' => 'CSS-datein faan ööder brükern bewerke',
+'right-edituserjs' => 'JavaScript-datein faan ööder brükern bewerke',
+'right-rollback' => 'Feranrangen faan di leetst brüker gau turagsaat',
 'right-markbotedits' => 'Gau turagsaatangen üs bot-iindracher kääntiakne',
 'right-noratelimit' => 'Ei troch limits beskäären',
 'right-import' => 'Bilen faan ööder Wikis importiare',
-'right-importupload' => 'Sidjen auer det huuchsjüüren faan dateien importiare',
+'right-importupload' => 'Sidjen auer det huuchschüüren faan datein importiare',
 'right-patrol' => 'Werk faan ööder brükern üs kontroliaret kääntiakne',
 'right-autopatrol' => 'Aanj werk aleewen üs kontroliaret kääntiakne',
 'right-patrolmarks' => 'Kontrolkääntiaken uun a leetst feranrangen uunwise',
 'right-unwatchedpages' => 'List faan sidjen uunluke, diar näämen üüb aachtet',
-'right-mergehistory' => 'Wersjuunshistoore faan sidjen tuupfeer',
+'right-mergehistory' => 'Ferluup faan sidjen tuupfeer',
 'right-userrights' => 'Brükerrochten bewerke',
 'right-userrights-interwiki' => 'Brükerrochten uun ööder Wikis bewerke',
 'right-siteadmin' => 'Dootenbeenk spere an eebenmaage',
@@ -1337,40 +1351,40 @@ Do san jo ual iinstelangen wech.',
 
 # User rights log
 'rightslog' => 'Ruchte-logbök',
-'rightslogtext' => 'Det as det logbuk auer feranerangen faan brükerrochten.',
+'rightslogtext' => 'Det as det logbuk auer feranrangen faan brükerrochten.',
 
 # Associated actions - in the sentence "You do not have permission to X"
 'action-read' => 'jüdeer sid leese',
-'action-edit' => 'jüdeer sid beårbe',
-'action-createpage' => 'side mååge',
-'action-createtalk' => 'diskusjoonside mååge',
+'action-edit' => 'detdiar sidj tu bewerkin',
+'action-createpage' => 'nei sidjen tu maagin',
+'action-createtalk' => 'diskusjuunssidjen maage',
 'action-createaccount' => 'jüdeer brükerkonto mååge',
 'action-minoredit' => 'detdiar feranrang üs letj kääntiakne',
 'action-move' => 'jüdeer sid ferschüwe',
 'action-move-subpages' => 'jüdeer sid än unerside ferschüwe',
 'action-move-rootuserpages' => 'hood-brükersidj fersküüw',
 'action-movefile' => 'jüdeer sid ferschüwe',
-'action-upload' => 'Dateien huuchsjüür',
+'action-upload' => 'Datein huuchschüür',
 'action-reupload' => 'det datei auerskriiw',
 'action-reupload-shared' => 'det datei auerskriiw, diar uun en gemiansoom archiif leit',
 'action-upload_by_url' => 'detdiar datei faan en URL-adres huuchtusjüüren',
 'action-writeapi' => 'iin uun det API tu skriiwen',
 'action-delete' => 'detdiar sidj strik',
-'action-deleterevision' => 'wersjuunen tu striken',
-'action-deletedhistory' => 'det list mä stregen wersjuunen uuntulukin',
-'action-browsearchive' => 'sjük stregen sidjen',
+'action-deleterevision' => 'werjuunen tu striken',
+'action-deletedhistory' => 'det list mä stregen werjuunen uuntulukin',
+'action-browsearchive' => 'schük stregen sidjen',
 'action-undelete' => 'detdiar sidj weder iinstel',
-'action-suppressrevision' => 'det ferbürgen wersjuun uuntulukin an weder turagtuhaalin',
+'action-suppressrevision' => 'det ferbürgen werjuun uuntulukin an weder turagtuhaalin',
 'action-suppressionlog' => 'iin uun det priwoot logbuk tu lukin',
 'action-block' => 'di brüker tu sperin',
 'action-protect' => 'det seekerhaid faan sidjen tu feranrin',
-'action-rollback' => 'feranerangen faan di leetst brüker gau turagtusaaten',
+'action-rollback' => 'feranrangen faan di leetst brüker gau turagtusaaten',
 'action-import' => 'sidjen faan en ööder Wiki tu importiarin',
-'action-importupload' => 'sidjen auer det huuchsjüüren faan dateien tu importiarin',
+'action-importupload' => 'sidjen auer det huuchschüüren faan datein tu importiarin',
 'action-patrol' => 'det werk faan ööder brükern üs kontroliaret tu kääntiaknin',
-'action-autopatrol' => 'aanj feranerangen üs kontroliaret tu kääntiaknin',
+'action-autopatrol' => 'aanj feranrangen üs kontroliaret tu kääntiaknin',
 'action-unwatchedpages' => 'det list faan sidjen uuntulukin, diar näämen üüb aachtet',
-'action-mergehistory' => 'wersjuunshistoorin faan sidjen tuuptufeeren',
+'action-mergehistory' => 'werjuunshistoorin faan sidjen tuuptufeeren',
 'action-userrights' => 'brükerrochten tu bewerkin',
 'action-userrights-interwiki' => 'brükerrochten uun ööder Wikis tu bewerkin',
 'action-siteadmin' => 'det dootenbeenk tu sperin an eebentumaagin',
@@ -1378,7 +1392,7 @@ Do san jo ual iinstelangen wech.',
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|änring|änringe}}',
-'recentchanges' => 'Leeste änringe',
+'recentchanges' => 'Leetst feranrangen',
 'recentchanges-legend' => 'Wis-opsjoone',
 'recentchanges-summary' => "Üüb detdiar sidj könst dü a leetst feranrangen faan't Nuurdfresk Wikipedia ferfulge.",
 'recentchanges-feed-description' => 'Ferfülie ma dåtheer feed da leeste änringe önj {{SITENAME}}.',
@@ -1389,17 +1403,17 @@ Do san jo ual iinstelangen wech.',
 'rcnote' => "Wised {{PLURAL:\$1|wård '''1''' änring|wårde da leeste '''\$''' änringe}} {{PLURAL:\$2|foon e leest däi|foon da leeste '''\$2''' deege}}. Stånd: \$4, am e klook \$5.",
 'rcnotefrom' => "Diar wurd a feranrangen sant '''$2'''uunwiset (ei muar üs '''$1''' feranrangen).",
 'rclistfrom' => 'Bloot änringe sunt $1 wise.',
-'rcshowhideminor' => 'Latje änringe $1',
+'rcshowhideminor' => 'Letj feranrangen $1',
 'rcshowhidebots' => 'Bots $1',
-'rcshowhideliu' => 'Önjmäldede brükere $1',
+'rcshowhideliu' => '$1 uunmeldet brükern',
 'rcshowhideanons' => 'Anonymen brüker $1',
-'rcshowhidepatr' => '$1 efterluket feranrangen',
-'rcshowhidemine' => 'Äine tujeefte $1',
+'rcshowhidepatr' => 'Efterluket feranrangen $1',
+'rcshowhidemine' => 'Min bidracher $1',
 'rclinks' => 'Wis da leeste $1 änringe foon da leeste $2 deege.<br />$3',
-'diff' => 'ferschääl',
-'hist' => 'färsjoone',
-'hide' => 'ütbläne',
-'show' => 'önjbläne',
+'diff' => 'ferskeel',
+'hist' => 'werjuunen',
+'hide' => 'Fersteeg',
+'show' => 'Wise',
 'minoreditletter' => 'L',
 'newpageletter' => 'N',
 'boteditletter' => 'B',
@@ -1418,44 +1432,44 @@ Do san jo ual iinstelangen wech.',
 'recentchangeslinked-toolbox' => 'Feranrangen bi ferlinket sidjen',
 'recentchangeslinked-title' => 'Feranrangen bi sidjen, diar faan "$1" ferlinket san',
 'recentchangeslinked-noresult' => 'Uun detdiar tidj san jo ferlinket sidjen ei feranert wurden.',
-'recentchangeslinked-summary' => "Jüdeer speetsjoolsid listet da leeste änringe bai da ferlinked side ap (btw. bai kategoriie tu da lasmoote foon jüdeer kategorii). Side aw din [[Special:Watchlist|eefterkiikliste]] san '''fåt''' deerstald.",
+'recentchangeslinked-summary' => "Detdiar spezial-sidj wiset a leetst feranrangen faan ferwiset sidjen (of faan sidjen uun en was kategorii). Sidjen, diar dü [[Special:Watchlist|uun't uug behual]] wel, san '''fäät''' skrewen.",
 'recentchangeslinked-page' => 'Sid:',
-'recentchangeslinked-to' => 'Wis änringe aw side, da heerjurt ferlinke',
+'recentchangeslinked-to' => 'Wise feranrangen üüb sidjen, diar heerhen ferwise.',
 
 # Upload
-'upload' => 'Huuchschake',
+'upload' => 'Datei huuchschüür',
 'uploadbtn' => 'Datei huuchsjüür',
 'reuploaddesc' => "Ufbreeg an turag tu't sidj för't huuchsjüüren",
 'upload-tryagain' => 'Feranert dateibeskriiwang ufsjüür',
-'uploadnologin' => 'Ai önjmälded',
-'uploadnologintext' => 'Dü möist [[Special:UserLogin|önjmälded weese]], am dat dü dootäie huuchsiinje koost.',
+'uploadnologin' => 'Ei uunmeldet',
+'uploadnologintext' => 'Dü skel [[Special:UserLogin|uunmeldet]] wees, amdat dü datein huuchschüür könst.',
 'upload_directory_missing' => 'Dåt aplees-fertiiknis ($1) breecht än köö ai foon di wäbsärwer mååged wårde.',
 'upload_directory_read_only' => 'Dåt aplees-fertiiknis ($1) koon ai foon e wäbsärver beschraawen wårde.',
 'uploaderror' => 'Aplees-fäägel',
 'upload-recreate-warning' => "'''Paase üüb: En datei mä didiar nööm as al ans stregen of fersköwen wurden.'''
 
 Wat nü komt, as ütj det logbuk för't striken an fersküüwen faan detdiar datei.",
-'uploadtext' => "Brük detdiar formulaar, am nei dateien huuchtusjüüren.
+'uploadtext' => "Brük detdiar formulaar, am nei datein huuchtuschüüren.
 
-Gung tu det [[Special:FileList|list faan huuchsjüürd dateien]], am dateien tu sjüken of uuntuwisin. Luke uk iin uun't logbuk för't [[Special:Log/upload|huuchsjüüren]] of [[Special:Log/delete|striken]] faan dateien.
+Gung tu det [[Special:FileList|list faan huuchschüürd datein]], am datein tu schüken of uuntuwisin. Luke uk iin uun't logbuk för't [[Special:Log/upload|huuchschüüren]] of [[Special:Log/delete|striken]] faan datein.
 
 Am en '''bil''' uun en artiikel tu brüken, brük en link faan det furem:
 * '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datei.jpg]]</nowiki></code>''' – för en grat bil
 * '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datei.png|200px|thumb|left|alternatiif tekst]]</nowiki></code>''' – för en 200px briad bil uun en box, mä „alternatiif tekst“ üs beskriiwang faan det bil
 *'''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Datei.ogg]]</nowiki></code>''' – för en direkt ferwisang üüb det datei, saner det datei uuntuwisin",
-'upload-permitted' => 'Tuläät slacher faan dateien: $1.',
-'upload-preferred' => 'Slacher faan dateien, diar dü brük skulst: $1.',
-'upload-prohibited' => 'Ei tuläät slacher faan dateien: $1.',
+'upload-permitted' => 'Tuläät slacher faan datein: $1.',
+'upload-preferred' => 'Slacher faan datein, diar dü brük skulst: $1.',
+'upload-prohibited' => 'Ei tuläät slacher faan datein: $1.',
 'uploadlog' => 'datei logbuk',
 'uploadlogpage' => 'Dåtäi-logbök',
-'uploadlogpagetext' => 'Detheer as det logbuk för huuchsjüürd dateien. Dü könst uk det [[Special:NewFiles|galerii faan nei dateien]] uunluke.',
+'uploadlogpagetext' => 'Detheer as det logbuk för huuchschüürd datein. Dü könst uk det [[Special:NewFiles|galerii faan nei datein]] uunluke.',
 'filename' => 'Dateinööm',
 'filedesc' => 'Beskriiwang',
 'fileuploadsummary' => 'Beskriiwang',
-'filereuploadsummary' => 'Feranerangen faan det datei:',
+'filereuploadsummary' => 'Feranrangen faan det datei:',
 'filestatus' => 'Copyright-Status:',
 'filesource' => 'Kwel',
-'uploadedfiles' => 'Huuchsjüürd dateien',
+'uploadedfiles' => 'Huuchschüürd datein',
 'ignorewarning' => 'Ei üüb wäärnangen aachte an det datei seekre',
 'ignorewarnings' => 'Ei am wäärnangen komre',
 'minlength1' => 'Dateinöömer skel tumanst ään buksteew lung wees.',
@@ -1463,10 +1477,10 @@ Am en '''bil''' uun en artiikel tu brüken, brük en link faan det furem:
 'filename-toolong' => 'Dateinöömer mut ei linger üs 240 bytes wees.',
 'badfilename' => 'Det datei hää en neien nööm füngen an het nü „$1“.',
 'filetype-mime-mismatch' => 'Det dateiaanj „.$1“ paaset ei tu di MIME-Typ ($2).',
-'filetype-badmime' => 'Dateien faan di MIME-Typ „$1“ mut ei huuchsjüürd wurd.',
+'filetype-badmime' => 'Datein faan di MIME-Typ „$1“ mut ei huuchschüürd wurd.',
 'filetype-bad-ie-mime' => 'Detdiar datei koon ei huuchsjüürd wurd, auer di Internet Explorer det för en „$1“ häält, an di slach as ei tuläät, auer hi gefeerelk wees küd.',
 'filetype-unwanted-type' => "'''„.$1“''' as üs dateiformaat ei tuläät. Tuläät {{PLURAL:$3|as detdiar formaat|san jodiar formaaten}}: $2.",
-'filetype-banned-type' => "'''„.$1“''' {{PLURAL:$4|as nään tuläät slach faan dateien|san nian tuläät slacher faan dateien}}.
+'filetype-banned-type' => "'''„.$1“''' {{PLURAL:$4|as nään tuläät slach faan datein|san nian tuläät slacher faan datein}}.
 {{PLURAL:$3|En tuläät slach as|Tuläät slacher san}} $2.",
 'filetype-missing' => 'Det datei, wat dü huuchsjüür wel, hää nian aanj (t.b. „.jpg“).',
 'empty-file' => 'Det datei, wat dü huuchsjüürd heest, as leesag.',
@@ -1480,7 +1494,7 @@ Am en '''bil''' uun en artiikel tu brüken, brük en link faan det furem:
 'unknown-error' => 'Diar as irgentwat skiaf gingen.',
 'tmp-create-error' => 'Det tidjwiis datei küd ei maaget wurd.',
 'tmp-write-error' => "Bi't skriiwen faan det tidjwiis datei as wat skiaf gingen.",
-'large-file' => 'Dateien skul ei grater wees üs $1, wan mögelk. Detdiar datei as $2 grat.',
+'large-file' => 'Datein skul ei grater wees üs $1, wan mögelk. Detdiar datei as $2 grat.',
 'largefileserver' => 'Detdiar datei as grater, üs di server üüb iinsteld as.',
 'emptyfile' => 'Det datei, wat dü huuchsjüürd heest, as leesag. Ferlicht heest dü di ferskrewen. Luke noch ans, of dü würelk detdiar datei huuchsjüür wel.',
 'windows-nonascii-filename' => 'Detheer Wiki läät nian dateinöömer mä sondertiaken tu.',
@@ -1500,23 +1514,23 @@ Luke noch ans efter, of dü det bil uun fol grate diar heest, an do sjüür det
 'fileexists-forbidden' => 'En datei mä didiar nööm jaft at al an koon ei auerskrewen wurd. Gung noch ans turag an sjüür det datei mä en öödern nööm huuch. [[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => "En datei mä didiar nööm stäänt al uun't gemiansoom archiif. Wan dü det bil likes huuchsjüür wel, gung turag nem en öödern nööm.
 [[File:$1|thumb|center|$1]]",
-'file-exists-duplicate' => 'Detdiar datei as en duplikaat faan {{PLURAL:$1|detdiar datei|$1 dateien}}:',
+'file-exists-duplicate' => 'Detdiar datei as en duplikaat faan {{PLURAL:$1|detdiar datei|$1 datein}}:',
 'file-deleted-duplicate' => "En duplikaat faan detdiar datei ([[:$1]]) as al ans stregen wurden. Luke iin uun logbuk för't striken, iar dü det noch ans huuchsjüürst.",
 'uploadwarning' => 'Wäärnang',
 'uploadwarning-text' => 'Feranre det datei-beskriiwang an fersjük det noch ans nei.',
 'savefile' => 'Datei seekre',
 'uploadedimage' => 'heet "[[$1]]" huuchsånd',
-'overwroteimage' => 'hää en nei wersjuun faan „[[$1]]“ huuchsjüürd',
+'overwroteimage' => 'hää en nei werjuun faan „[[$1]]“ huuchsjüürd',
 'uploaddisabled' => 'Huuchsjüüren as ei aktiwiaret',
 'copyuploaddisabled' => 'Huuchsjüüren faan URLs as ei aktiwiaret.',
 'uploadfromurl-queued' => 'Din huuchsjüürd datei teewt.',
-'uploaddisabledtext' => 'Det huuchsjüüren faan dateien as ei aktiwiaret.',
-'php-uploaddisabledtext' => 'Det huuchsjüüren faan dateien as uun PHP ei aktiwiaret.
+'uploaddisabledtext' => 'Det huuchschüüren faan datein as ei aktiwiaret.',
+'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.',
 'uploadvirus' => 'Uun detdiar datei as en wiirus! Details: $1',
 'uploadjava' => 'Detdiar as en ZIP-datei mä en CLASS-datei faan Java.
-Java-dateien kön ei tuläät wurd, auer jo det seekerhaid uun fraag stel küd.',
+Java-datein kön ei tuläät wurd, auer jo det seekerhaid uun fraag stel küd.',
 'upload-source' => 'Kweldatei',
 'sourcefilename' => 'Kweldateinööm:',
 'sourceurl' => 'Kwel-URL:',
@@ -1547,7 +1561,7 @@ Wan det goorei wal, do skriiw tu en [[Special:ListUsers/sysop|administraator]]."
 'upload-too-many-redirects' => 'Det URL hää tuföl widjerfeerangen.',
 'upload-unknown-size' => 'Ünbekäänd grate',
 'upload-http-error' => 'Diar as en HTTP-feeler mä: $1',
-'upload-copy-upload-invalid-domain' => 'Kopiin faan dateien kön faan detdiar domeen ei huuchsjüürd wurd.',
+'upload-copy-upload-invalid-domain' => 'Kopiin faan datein kön faan detdiar domeen ei huuchschüürd wurd.',
 
 # File backend
 'backend-fail-stream' => 'Det datei $1 küd ei auerdraanj wurd.',
@@ -1600,12 +1614,12 @@ Wan det goorei wal, do skriiw tu en [[Special:ListUsers/sysop|administraator]]."
 
 # Special:UploadStash
 'uploadstash' => "Teskenseekerang bi't huuchsjüüren",
-'uploadstash-summary' => 'Üüb detdiar sidj kem dateien föör, diar man jüst huuchsjüürd wurden san. Bluas, hoker jo huuchsjüürd hää, koon jo sä.',
-'uploadstash-clear' => 'Teskenseekert dateien wechnem',
-'uploadstash-nofiles' => 'Diar san nian teskenseekert dateien.',
-'uploadstash-badtoken' => 'Teskenseekert dateien küd ei wechnimen wurd. Ferlicht beest dü ei muar uunmeldet. Fersjük det man noch ans.',
-'uploadstash-errclear' => 'Teskenseekert dateien küd ei wechnimen wurd.',
-'uploadstash-refresh' => 'List mä dateien aktualisiare.',
+'uploadstash-summary' => 'Üüb detdiar sidj kem datein föör, diar man jüst huuchschüürd wurden san. Bluas, hoker jo huuchschüürd hää, koon jo sä.',
+'uploadstash-clear' => 'Teskenseekert datein wechnem',
+'uploadstash-nofiles' => 'Diar san nian teskenseekert datein.',
+'uploadstash-badtoken' => 'Teskenseekert datein küd ei wechnimen wurd. Ferlicht beest dü ei muar uunmeldet. Ferschük det man noch ans.',
+'uploadstash-errclear' => 'Teskenseekert datein küd ei wechnimen wurd.',
+'uploadstash-refresh' => 'List mä datein aktualisiare.',
 'invalid-chunk-offset' => 'Di began as diar ei tuläät.',
 
 # img_auth script messages
@@ -1618,9 +1632,9 @@ Ferlicht as det uun CGI iinbünjen an komt diaram uk ei mä „img_auth“ turoc
 'img-auth-badtitle' => 'Mä „$1“ küd nään tiitel maaget wurd.',
 'img-auth-nologinnWL' => "Dü beest ei uunmeldet, an „$1“ stäänt ei uun't whitelist.",
 'img-auth-nofile' => 'Diar as nään datei „$1“.',
-'img-auth-isdir' => 'Dü wel üüb en fertiaknis „$1“ tugrip. Dü mutst bluas üüb dateien tugrip.',
+'img-auth-isdir' => 'Dü wel üüb en fertiaknis „$1“ tugrip. Dü mutst bluas üüb datein tugrip.',
 'img-auth-streaming' => '„$1“ woort iinleesen.',
-'img-auth-public' => 'Mä img_auth.php wurd dateien faan en priwoot Wiki ütjden.
+'img-auth-public' => 'Mä img_auth.php wurd datein faan en priwoot Wiki ütjden.
 Detheer as oober en öfentelk Wiki.
 För a seekerhaid as img_auth.php ei aktiwiaret.',
 'img-auth-noread' => 'Di brüker hää nian rocht, „$1“ tu leesen.',
@@ -1649,29 +1663,29 @@ För a seekerhaid as img_auth.php ei aktiwiaret.',
 'upload_source_file' => '(en datei üüb dan computer)',
 
 # Special:ListFiles
-'listfiles-summary' => 'Üüb detdiar spezialsidj wurd aal a huuchsjüürd dateien uunwiset. Dü könst uk efter brükern filtre, diar dateien tuleetst bewerket haa.',
-'listfiles_search_for' => 'Sjük efter det datei:',
+'listfiles-summary' => 'Üüb detdiar spezialsidj wurd aal a huuchschüürd datein uunwiset. Dü könst uk efter brükern filtre, diar datein tuleetst bewerket haa.',
+'listfiles_search_for' => 'Schük efter det datei:',
 'imgfile' => 'datei',
-'listfiles' => 'List faan dateien',
+'listfiles' => 'List faan datein',
 'listfiles_thumb' => 'Letjer bil',
 'listfiles_date' => 'Dootem',
 'listfiles_name' => 'Nööm',
 'listfiles_user' => 'Brüker',
 'listfiles_size' => 'Grate',
 'listfiles_description' => 'Beskriiwang',
-'listfiles_count' => 'Wersjuunen',
+'listfiles_count' => 'Werjuunen',
 
 # File description page
 'file-anchor-link' => 'Datei',
 'filehist' => 'Dååtäifärsjoone',
-'filehist-help' => 'Klik aw en tidpunkt, am jüdeer färsjoon önjiinjtunaamen.',
-'filehist-deleteall' => 'åle färsjoone strike',
+'filehist-help' => 'Klike üüb en tidjponkt, am detdiar werjuun uuntulukin.',
+'filehist-deleteall' => 'aal a werjuunen strik',
 'filehist-deleteone' => 'jüdeer färsjoon strike',
 'filehist-revert' => 'tubääg seete',
 'filehist-current' => 'aktuäl',
-'filehist-datetime' => 'Färsjoon foon e',
+'filehist-datetime' => 'Werjuun faan di',
 'filehist-thumb' => 'Forlökbil',
-'filehist-thumbtext' => 'Forlökbil for Färsjoon foon $2, am e klook $3',
+'filehist-thumbtext' => 'Föörskau för det werjuun faan $2, klook $3',
 'filehist-nothumb' => 'Niinj forlökbil deer',
 'filehist-user' => 'brüker',
 'filehist-dimensions' => 'Mätje',
@@ -1679,105 +1693,438 @@ För a seekerhaid as img_auth.php ei aktiwiaret.',
 'filehist-comment' => 'Komentoor',
 'filehist-missing' => 'Datei ei diar',
 'imagelinks' => 'Hü det datei brükt woort',
-'linkstoimage' => '{{PLURAL:$1|Jü füliend sid ferwånt|Da füliende $1 side ferwiinje}} jüdeer dååtäi:',
+'linkstoimage' => '{{PLURAL:$1|Detdiar sidj brükt|Jodiar $1 sidjen brük}} detdiar datei:',
+'linkstoimage-more' => 'Muar üs $1 {{PLURAL:$1|sidj ferwiset|sidjen ferwise}} üüb detdiar datei.
+Det list wiset {{PLURAL:$1|at iarst ferwisang|a iarst $1 ferwisangen}} üüb detdiar datei.
+Dü könst uk det [[Special:WhatLinksHere/$2|hial list]] uunluke.',
 'nolinkstoimage' => 'Nään artiikel brükt detheer datei',
+'morelinkstoimage' => 'Dü könst [[Special:WhatLinksHere/$1|muar ferwisangen]] üüb detdiar datei uunwise läät.',
+'linkstoimage-redirect' => '$1 (widjerfeerang) $2',
+'duplicatesoffile' => '{{PLURAL:$1|Detdiar datei as en kopii|$1 datein san kopiin}} faan det datei ([[Special:FileDuplicateSearch/$2|muar diartu]]):',
 'sharedupload' => 'Jüdeer dååtäi ståmt üt $1 än mötj foon ouder prujäkte brükt wårde.',
+'sharedupload-desc-there' => 'Detdiar datei as faan $1 an koon faan ööder projekten brükt wurd.
+Üüb det [$2 beskriiwangssidj] stäänt muar diartu.',
 'sharedupload-desc-here' => "Detheer bil as faan $1 an koon faan ööder projekten brükt wurd. 
 Det beskriiwang faan't [$2 beskriiwangssidj] woort oner uunwiset.",
-'uploadnewversion-linktext' => 'En nai färsjoon foon jüdeer dåtäi huuchsiinje',
+'sharedupload-desc-edit' => 'Detdiar datei as faan $1 an koon faan ööder projekten brükt wurd.
+Ferlicht wel dü det [$2 beskriiwangssidj] feranre.',
+'sharedupload-desc-create' => 'Detdiar datei as faan $1 an koon faan ööder projekten brükt wurd.
+Ferlicht wel dü det [$2 beskriiwangssidj] feranre.',
+'filepage-nofile' => 'En datei mä didiar nööm jaft at ei.',
+'filepage-nofile-link' => 'En datei mä didiar nööm jaft at ei, man dü könst det [$1 huuchsjüür].',
+'uploadnewversion-linktext' => 'En nei werjuun faan detdiar datei huuchschüür',
 'shared-repo-from' => 'foon $1',
+'shared-repo' => 'en gemiansoom archiif',
+'upload-disallowed-here' => 'Dü könst detdiar datei ei auerskriiw.',
+
+# File reversion
+'filerevert' => '"$1" turagsaat',
+'filerevert-legend' => 'Datei turagsaat',
+'filerevert-intro' => "Dü saatst det datei '''[[Media:$1|$1]]''' üüb det [$4 werjuun faan $2, klook $3] turag.",
+'filerevert-comment' => 'Grünj:',
+'filerevert-defaultcomment' => 'Turagsaat üüb det werjuun faan $1, klook $2',
+'filerevert-submit' => 'Turagsaat',
+'filerevert-success' => "'''[[Media:$1|$1]]''' as üüb det [$4 werjuun faan $3, klook $2] turagsaat wurden.",
+'filerevert-badversion' => 'Diar as nään werjuun faan detdiar datei tu didiar tidjponkt.',
+
+# File deletion
+'filedelete' => 'Strik "$1"',
+'filedelete-legend' => 'Strik datei',
+'filedelete-intro' => "Dü strikst det datei '''„[[Media:$1|$1]]“''' an uk aal a werjuunen.",
+'filedelete-intro-old' => "Dü strikst faan det datei '''[[Media:$1|$1]]''' det [$4 werjuun faan $2, klook $3].",
+'filedelete-comment' => 'Grünj:',
+'filedelete-submit' => 'Strik',
+'filedelete-success' => "'''„$1“''' as stregen wurden.",
+'filedelete-success-old' => "Faan det datei '''„[[Media:$1|$1]]“''' as det werjuun faan $2, klook $3 stregen wurden.",
+'filedelete-nofile' => "'''$1''' jaft at ei.",
+'filedelete-nofile-old' => "Diar as nian werjuun faan '''$1''' mä sok kääntiaken uun't archiif.",
+'filedelete-otherreason' => 'Ööder/noch en grünj:',
+'filedelete-reason-otherlist' => 'Ööder grünj:',
+'filedelete-reason-dropdown' => "*Grünjer för't striken
+** Kopiarrochten ei beaachtet
+** Kopii faan en datei",
+'filedelete-edit-reasonlist' => "Grünjer för't striken bewerke",
+'filedelete-maintenance' => 'Det striken of turaghaalin faan datein gongt uun uugenblak ei.',
+'filedelete-maintenance-title' => 'Det datei koon ei stregen wurd',
+
+# MIME search
+'mimesearch' => 'Efter MIME-Typ schük',
+'mimesearch-summary' => 'Üüb detheer sidj könst dü datein efter hör MIME-Typ filtre.
+Det formoot as leewen slach/onerslach üs uun det bispal: <code>image/jpeg</code>.',
+'mimetype' => 'MIME-Typ:',
+'download' => 'Deelloose',
+
+# Unwatched pages
+'unwatchedpages' => "Sidjen, diar näämen uun't uug hää",
+
+# List redirects
+'listredirects' => 'Widjerfeerangen',
+
+# 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.
+Iar dü ian strikst, stel seeker, dat diar nian ferwisangen üüb detdetdiar föörlag saan.',
+'unusedtemplateswlh' => 'Ööder ferwisangen',
 
 # Random page
 'randompage' => 'Tufali sid',
+'randompage-nopages' => 'Diar san nian sidjen uun {{PLURAL:$2|nöömrüm|nöömrümer}}: $1.',
+
+# Random redirect
+'randomredirect' => 'Tufelag widjerfeerang',
+'randomredirect-nopages' => 'Uun di nöömrüm „$1“ san nian widjerfeerangen.',
 
 # Statistics
 'statistics' => 'Statistik',
-
+'statistics-header-pages' => 'Sidjenstatistik',
+'statistics-header-edits' => 'Statistik faan bewerkangen',
+'statistics-header-views' => 'Statistik faan kliks üüb sidjen',
+'statistics-header-users' => 'Brükerstatistik',
+'statistics-header-hooks' => 'Ööder statistiken',
+'statistics-articles' => 'Artiikler',
+'statistics-pages' => 'Sidjen',
+'statistics-pages-desc' => 'Aal a sidjen uun det wiki, mä diskusjuunssidjen, widjerfeerangen asw.',
+'statistics-files' => 'Huuchschüürd datein',
+'statistics-edits' => 'Bewerkangen, sant det sidj {{SITENAME}} maaget wurden as',
+'statistics-edits-average' => "Bewerkangen per sidj uun't madel",
+'statistics-views-total' => 'Kliks üüb det sidj',
+'statistics-views-total-desc' => 'Kliks üüb sidjen, diar\'t goorei jaft of "Spezial-"sidjen wurd ei mätääld.',
+'statistics-views-peredit' => 'Kliks per bewerkang',
+'statistics-users' => 'Registriaret [[Special:ListUsers|brükern]]',
+'statistics-users-active' => 'Aktiif brükern',
+'statistics-users-active-desc' => 'Brükern, diar wat bewerket haa uun a leetst {{PLURAL:$1|dai|$1 daar}}',
+'statistics-mostpopular' => 'Sidjen mä a miast kliks',
+
+'disambiguations' => 'Sidjen, diar üüb muardüüdag artiikler ferwise',
 'disambiguationspage' => 'Template:Muardüüdag artiikel',
+'disambiguations-text' => "Jodiar sidjen haa tumanst ian ferwisang üüb en '''muardüüdagen artiikel'''. Ferlicht skul jo beeder direkt üüb det mend sidj ferwise.
+
+En sidj täält üs '''muardüüdag artiikel''', wan hat tumanst ian föörlaag faan det [[MediaWiki:Disambiguationspage|Disambiguationspage]] häält.",
+
+'pageswithprop' => 'Sidjen mä en sidjeneegenoort',
+'pageswithprop-legend' => 'Sidjen mä en sidjeneegenoort',
+'pageswithprop-text' => 'Detheer Spezial-sidj feert sidjen mä was sidjeneegenoorten ap.',
+'pageswithprop-prop' => 'Sidjeneegenoort:',
+'pageswithprop-submit' => 'Widjer',
+
+'doubleredirects' => 'Dobelt widjerfeerangen',
+'doubleredirectstext' => "Detheer list feert widjerfeerangen ap, diar üüb widjerfeerangen widjer feer.
+Uun arke rä stun ferwisangen tu't iarst an ööder widjerfeerang an uk tu det sidj, huar det ööder widjerfeerang üüb ferwiset. <del>Trochstregen</del> iindracher san al bewerket wurden.",
+'double-redirect-fixed-move' => '[[$1]] as fersköwen wurden an feert nü widjer tu [[$2]].',
+'double-redirect-fixed-maintenance' => 'Dobelt widjerfeerang faan [[$1]] tu [[$2]] as apredet wurden.',
+'double-redirect-fixer' => 'Bot för widjerfeerangen',
+
+'brokenredirects' => 'Uunstaken widjerfeerangen',
+'brokenredirectstext' => "Jodiar widjerfeerangen ferwise üüb en sidj, diar't goorei jaft:",
+'brokenredirects-edit' => 'bewerke',
+'brokenredirects-delete' => 'strik',
+
+'withoutinterwiki' => 'Sidjen saner ferwisangen tu ööder spriaken',
+'withoutinterwiki-summary' => 'Jodiar sidjen haa nian ferwisangen tu ööder spriaken.',
+'withoutinterwiki-legend' => 'Prefix',
+'withoutinterwiki-submit' => 'Wise',
+
+'fewestrevisions' => 'Sidjen mä manst feranrangen',
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|byte|bytes}}',
 'ncategories' => '{{PLURAL:$1|kategorii|kategoriie}}',
+'ninterwikis' => '$1 {{PLURAL:$1|interwiki|interwikis}}',
 'nlinks' => '$1 {{PLURAL:$1|link|links}}',
 'nmembers' => '{{PLURAL:$1|1 önjdraag|$1 önjdraage}}',
-'prefixindex' => 'Åle side (ma prefiks)',
+'nrevisions' => '$1 {{PLURAL:$1|feranrang|feranrangen}}',
+'nviews' => '$1 {{PLURAL:$1|klik|kliks}}',
+'nimagelinks' => 'Brükt üüb $1 {{PLURAL:$1|sidj|sidjen}}',
+'ntransclusions' => 'brükt üüb $1 {{PLURAL:$1|sidj|sidjen}}',
+'specialpage-empty' => 'Diar san tu tidj nian iindracher.',
+'lonelypages' => 'Sidjen, diar ei üüb ferwiset woort',
+'lonelypagestext' => 'Jodiar sidjen san ei uun ööder sidjen iinbünjen an diar woort uun {{SITENAME}} uk ei üüb ferwiset.',
+'uncategorizedpages' => 'Sidjen saner kategorii',
+'uncategorizedcategories' => 'Kategoriin saner kategorii',
+'uncategorizedimages' => 'Datein saner kategorii',
+'uncategorizedtemplates' => 'Föörlaagen saner kategorii',
+'unusedcategories' => 'Kategoriin, diar ei brükt wurd',
+'unusedimages' => 'Datein, diar ei brükt wurd',
+'popularpages' => 'Miats uunluket sidjen',
+'wantedcategories' => 'Kategoriin, diar brükt wurd',
+'wantedpages' => 'Sidjen, diar brükt wurd',
+'wantedpages-badtitle' => 'Diar as en artiikelnööm ei tuläät uun: $1',
+'wantedfiles' => 'Datein, diar brükt wurd',
+'wantedfiletext-cat' => 'Jodiar datein wurd brükt, oober san ei diar. Datein faan ööder archiiwen wurd apfeerd, san oober <del>trochstregen</del>. An jo sidjen, diar sok datein brük, stun uun  [[:$1]].',
+'wantedfiletext-nocat' => 'Jodiar datein wurd brükt, oober san ei diar. Datein faan ööder archiiwen wurd apfeerd, san oober <del>trochstregen</del>.',
+'wantedtemplates' => 'Föörlaagen, diar brükt wurd',
+'mostlinked' => 'Sidjen, huar a miast ööder sidjen üüb ferwise',
+'mostlinkedcategories' => 'Miast brükt kategoriin',
+'mostlinkedtemplates' => 'Miast brükt föörlaagen',
+'mostcategories' => 'Sidjen mä a miast kategoriin',
+'mostimages' => 'Datein, huar a miast sidjen üüb ferwise',
+'mostinterwikis' => 'Sidjen mä a miast ferwisangen tu ööder spriaken',
+'mostrevisions' => 'Sidjen mä miast feranrangen',
+'prefixindex' => 'Aal a sidjen (mä prefix)',
+'prefixindex-namespace' => 'Aal a sidjen mä prefix (nöömrüm $1)',
+'shortpages' => 'Kurt sidjen',
+'longpages' => 'Lung sidjen',
+'deadendpages' => 'Sidjen saner ferwisangen',
+'deadendpagestext' => 'Jodiar sidjen ferwise ei üüb ööder sidjen uun {{SITENAME}}.',
+'protectedpages' => 'Seekert sidjen',
+'protectedpages-indef' => 'Bluas permanent seekert sidjen uunwise',
+'protectedpages-cascade' => 'Bluas sidjen mä kaskaaden-seekerhaid',
+'protectedpagestext' => 'Jodiar spezial-sidjen san jin feranrin an fersküüwen seekert.',
+'protectedpagesempty' => 'Uun uugenblak san sok sidjen ei seekert.',
+'protectedtitles' => 'Seekert sidjennöömer',
+'protectedtitlestext' => 'Jodiar sidjennöömer kön ei brükt wurd.',
+'protectedtitlesempty' => 'Uun uugenblak san sok sidjen ei speret.',
+'listusers' => 'Brükerfertiaknis',
+'listusers-editsonly' => 'Wise bluas aktiif brükern',
+'listusers-creationsort' => 'Sortiare efter dootem',
+'usereditcount' => '{{PLURAL:$1|feranrang|$1 feranrangen}}',
 'usercreated' => '{{GENDER:$3|Maaget}} di $1 am a klook $2',
-'newpages' => 'Naie side',
+'newpages' => 'Nei sidjen',
 'newpages-username' => 'Brükernoome:',
+'ancientpages' => 'Al loong ei muar bewerket sidjen',
 'move' => 'Ferschüwe',
 'movethispage' => 'Sid ferschüwe',
+'unusedimagestext' => "Jodiar datein san uun nään artiikel iinbünjen. Det koon oober lacht wees, dat ööder wääbsidjen diarüüb ferwise. Sodenang wurd jo heer apfeerd, uk wan's huarööders brükt wurd.",
+'unusedcategoriestext' => "Jodiar kategorii-sidjen san diar, likes dat's leesag san an uun uugenblak ei brükt wurd.",
+'notargettitle' => 'Nian sidj uunden',
+'notargettext' => 'Dü heest nian sidj uunden, huar det funktjuun werke skal.',
+'nopagetitle' => 'Kwelsidj as ei diar',
+'nopagetext' => 'Det sidj, wat fersköwen wurd skal, as ei diar.',
 'pager-newer-n' => '{{PLURAL:$1|näisten|näiste $1}}',
 'pager-older-n' => '{{PLURAL:$1|åleren|ålere $1}}',
 'suppress' => 'Oversight',
+'querypage-disabled' => 'Detdiar spezial-sidj as ei aktiif, am det süsteem ei tu auerläästin.',
 
 # Book sources
-'booksources' => 'ISBN-säkj',
-'booksources-search-legend' => 'Säk eefter betii-kwäle for böke',
-'booksources-go' => 'Säke',
+'booksources' => 'Schük efter ISBN-numer',
+'booksources-search-legend' => 'Schük efter bukloodens',
+'booksources-go' => 'Widjer',
+'booksources-text' => 'Detdiar list ferwiset üüb wääbsteeden, diar nei an brükt buken ferkuupe. Diar feist dü uk muar tu weden. {{SITENAME}} hää mo jodiar kuuplidj oober niks tu dun.',
+'booksources-invalid-isbn' => 'Detdiar ISBN as woorskiinelk ferkiard. Luke noch ans efter, of det rocht auerdraanj wurden as.',
 
 # Special:Log
 'specialloguserlabel' => 'Brüker:',
-'log' => 'Logböke',
+'speciallogtitlelabel' => 'Mual (sidjennööm of brüker):',
+'log' => 'Logbuken',
+'all-logs-page' => 'Aal a öfentelk logbuken',
+'alllogstext' => 'Diar wuad aal a logbuken faan {{SITENAME}} uunwiset.
+Det woort efter logbukslach, brüker of sidjennööm uunwiset. Grat- an letjskriiwang skel beaachtet wurd.',
+'logempty' => 'Diar as niks uun.',
+'log-title-wildcard' => 'Sidjennööm begant mä ...',
+'showhideselectedlogentries' => 'Wise/fersteeg jodiar logbukiindracher',
 
 # Special:AllPages
-'allpages' => 'Åle side',
+'allpages' => 'Aal a sidjen',
 'alphaindexline' => '$1 bit $2',
 'nextpage' => 'Näist sid ($1)',
 'prevpage' => 'Leest sid ($1)',
-'allpagesfrom' => 'Side wise sunt:',
-'allpagesto' => 'Side wise bit:',
-'allarticles' => 'Åle side',
+'allpagesfrom' => 'Sidjen wise sant:',
+'allpagesto' => 'Sidjen wise bit:',
+'allarticles' => 'Aal a sidjen',
+'allinnamespace' => 'Aal a sidjen (nöömrüm: $1)',
+'allnotinnamespace' => 'Aal a sidjen (saner nöömrüm $1)',
 'allpagesprev' => 'Leest',
 'allpagesnext' => 'Näist',
 'allpagessubmit' => 'Önjwiinje',
+'allpagesprefix' => 'Sidjen uunwise mä prefix:',
+'allpagesbadtitle' => 'Didiar sidjennööm gongt ei. Hi hed ferlicht en spriak-prefix of diar san ei tuläät tiakens uun.',
+'allpages-bad-ns' => 'Di nöömrüm „$1“ komt uun {{SITENAME}} ei föör.',
+'allpages-hide-redirects' => 'Widjerfeerangen fersteeg',
+
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'Dü lukest en werjuun uun a cache uun. Det koon al $1 ual wees.',
+'cachedspecial-viewing-cached-ts' => 'Dü lukest en werjuun uun a cache uun. Det as ferlicht ei üüb a leetst stant.',
+'cachedspecial-refresh-now' => 'Neist werjuun uunluke.',
 
 # Special:Categories
 'categories' => 'Kategoriin',
+'categoriespagetext' => '{{PLURAL:$1|Detdiar kategorii häält|Jodiar kategoriin hual}} sidjen of datein.
+[[Special:UnusedCategories|Leesag kategoriin]] wurd heer ei uunwiset.
+Luke uk bi det list faan [[Special:WantedCategories|nuadag kategoriin]].',
+'categoriesfrom' => 'Wise kategoriin mä began üüb:',
+'special-categories-sort-count' => 'Efter taalen sortiaret',
+'special-categories-sort-abc' => "Efter't alfabeet sortiaret",
+
+# Special:DeletedContributions
+'deletedcontributions' => 'Stregen bidracher',
+'deletedcontributions-title' => 'Stregen bidracher',
+'sp-deletedcontributions-contribs' => 'Bidracher',
 
 # Special:LinkSearch
-'linksearch' => "Sjük efter ferwisangen uun't näät",
+'linksearch' => "Schük efter ferwisangen uun't näät",
+'linksearch-pat' => 'Schükmünster:',
 'linksearch-ns' => 'Noomerüm:',
-'linksearch-ok' => 'Säk',
+'linksearch-ok' => 'Schük',
+'linksearch-text' => 'Diar kön wariaabeln üs t.b. "*.bispal.de" brükt wurd. Tumanst ian TLD üs t.b. "*.org" skal uunden wurd.<br />{{PLURAL:$2|Protokol|Protokolen}}: <code>$1</code> (Diar woort http nimen, wan niks ööders uunden as.)',
 'linksearch-line' => '$2 ferwiset üüb $1',
+'linksearch-error' => 'Wariaabeln ("*") mut bluas bi a began faan en URL uunden wurd.',
+
+# Special:ListUsers
+'listusersfrom' => 'Wise brükern mä began üüb:',
+'listusers-submit' => 'Wise',
+'listusers-noresult' => 'Nään brüker fünjen.',
+'listusers-blocked' => '(speret)',
+
+# Special:ActiveUsers
+'activeusers' => 'Aktiif brükern',
+'activeusers-intro' => 'Jodiar brükern wiar {{PLURAL:$1|di leetst dai| a leetst $1 daar}} aktiif.',
+'activeusers-count' => '$1 {{PLURAL:$1|aktjuun|aktjuunen}} uun a {{PLURAL:$3|leetst 24 stünj|leetst $3 daar}}',
+'activeusers-from' => 'Wise brükern mä began üüb:',
+'activeusers-hidebots' => 'Bots fersteeg',
+'activeusers-hidesysops' => 'Administratooren fersteeg',
+'activeusers-noresult' => 'Nään brükern fünjen.',
 
 # Special:ListGroupRights
-'listgrouprights-members' => '(lasmoote-list)',
+'listgrouprights' => 'Brükersköölrochten',
+'listgrouprights-summary' => 'Jodiar brükersköölen an hör rochten san uun detheer Wiki fäästlaanj wurden.
+Muar diartu fanjst dü üüb  [[{{MediaWiki:Listgrouprights-helppage}}|detdiar sidj]].',
+'listgrouprights-key' => '* <span class="listgrouprights-granted">Tugestenen rocht</span>
+* <span class="listgrouprights-revoked">Wechnimen rocht</span>',
+'listgrouprights-group' => 'Skööl',
+'listgrouprights-rights' => 'Rochten',
+'listgrouprights-helppage' => 'Help:Brükersköölrochten',
+'listgrouprights-members' => '(lasmooten)',
+'listgrouprights-addgroup' => 'Brüker tu {{PLURAL:$2|detdiar skööl|jodiar sköölen}} tuwise: $1',
+'listgrouprights-removegroup' => 'Brüker ütj {{PLURAL:$2|detdiar skööl|jodiar sköölen}} ütjnem: $1',
+'listgrouprights-addgroup-all' => 'Brüker tu aal a sköölen tuwise',
+'listgrouprights-removegroup-all' => 'Brüker ütj aal a sköölen wechnem',
+'listgrouprights-addgroup-self' => 'Aanj brükerkonto tu {{PLURAL:$2|detdiar skööl|jodiar sköölen}} tuwise: $1',
+'listgrouprights-removegroup-self' => 'Aanj brükerkonto faan {{PLURAL:$2|detdiar skööl|jodiar sköölen}} wechnem: $1',
+'listgrouprights-addgroup-self-all' => "Koon aal a sköölen tu't aanj brükerkonto tuwise",
+'listgrouprights-removegroup-self-all' => "Koon aal a sköölen faan't aanj brükerkonto wechnem",
 
 # Email user
-'emailuser' => 'E-mail tu dideere brüker',
+'mailnologin' => "Bi't e-mail ferschüüren as wat skiaf gingen",
+'mailnologintext' => 'Dü skel [[Special:UserLogin|uunmeldet wees]] an en gudkäänd e-mail-adres uun din [[Special:Preferences|iinstelangen]] haa, am dat dü ööder brükern en e-mail schüür könst.',
+'emailuser' => 'E-mail tu didiar brüker',
+'emailuser-title-target' => 'E-mail tu {{GENDER:$1|didiar brüker|detdiar brükerin}} schüür',
+'emailuser-title-notarget' => 'E-mail tu brüker',
+'emailpage' => 'E-mail tu brüker',
+'emailpagetext' => 'Dü könst {{GENDER:$1|di brüker|det brükerin}} mä det formulaar en e-mail schüür.
+Din aanj e-mail adres faan din [[Special:Preferences|iinstelangen]] woort uunwiset, so dat {{GENDER:$1|di brüker|det brükerin}} di saner amwai swaare koon.',
+'usermailererror' => 'Det e-mail objekt wiset en feeler uun.',
+'defemailsubject' => '{{SITENAME}} e-mail faan brüker „$1“',
+'usermaildisabled' => 'E-mail fun as ei aktiif',
+'usermaildisabledtext' => 'Dü könst nian e-mail tu ööder brükern schüür.',
+'noemailtitle' => 'Nian e-mail adres',
+'noemailtext' => 'Didiar brüker hää nian gudkäänd e-mail adres uunden.',
+'nowikiemailtitle' => 'E-mail koon ei sjüürd wurd',
+'nowikiemailtext' => 'Didiar brüker maad nian e-mails faan ööder brükern fu.',
+'emailnotarget' => 'Didiar brükernööm as ei bekäänd of ei gudkäänd, am ham en e-mail tu schüüren',
+'emailtarget' => 'Brükernööm faan di ööder brüker iindu',
+'emailusername' => 'Brükernööm:',
+'emailusernamesubmit' => 'Widjer',
+'email-legend' => 'E-mail tu en öödern {{SITENAME}}-brüker schüür',
+'emailfrom' => 'Faan:',
+'emailto' => 'Tu:',
+'emailsubject' => 'Teemo:',
+'emailmessage' => 'Mädialang:',
+'emailsend' => 'Schüür',
+'emailccme' => 'Sjüür mi en kopii faan det e-mail',
+'emailccsubject' => 'Kopii faan din mädialang tu $1: $2',
+'emailsent' => 'E-mail as wechschüürd wurden',
+'emailsenttext' => 'Din e-mail as wechsjüürd wurden.',
+'emailuserfooter' => 'Detdiar e-mail as faan di {{SITENAME}}-brüker „$1“ tu „$2“ schüürd wurden.',
+
+# User Messenger
+'usermessage-summary' => 'Süsteemnooracht seekert.',
+'usermessage-editor' => 'Süsteemnoorachten siinst',
 
 # Watchlist
 'watchlist' => "Uun't uug behual",
 'mywatchlist' => "Uun't uug behual",
 'watchlistfor2' => 'Foon $1 $2',
+'nowatchlist' => "Diar as nään iindrach, diar dü uun't uug behual wel.",
+'watchlistanontext' => "Dü skel di $1, am iindracher tu leesen of tu bewerkin, diar dü uun't uug behual wel.",
+'watchnologin' => 'Ei uunmeldet',
+'watchnologintext' => "Dü skel [[Special:UserLogin|uunmeldet]] wees, am iindracher tu bewerkin, diar dü uun't uug behual wel.",
+'addwatch' => "Uk uun't uug behual",
 'addedwatchtext' => "Det sidj „[[:$1]]“ wel dü [[Special:Watchlist|uun't uug behual]].
-Feranerangen faan detdiar sidj wurd üüb detdiar list fäästhäälen.",
+Feranrangen faan detdiar sidj wurd üüb detdiar list fäästhäälen.",
+'removewatch' => "Ei muar uun't uug behual",
 'removedwatchtext' => 'Jü sid „[[:$1]]“ wörd foon din [[Special:Watchlist|eefterkiiklist]] wächhååld.',
 'watch' => 'Kiike eefter',
-'watchthispage' => 'Side eefterkiike',
+'watchthispage' => "Detdiar sidj uun't uug behual",
 'unwatch' => 'ai mör eefter kiike',
-'watchlist-details' => 'Dü kiikst eefter {{PLURAL:$1|1 sid|$1 side}}.',
+'unwatchthispage' => "Ei muar uun't uug behual",
+'notanarticle' => 'Nään artiikel',
+'notvisiblerev' => 'Det werjuun faan en öödern brüker as stregen wurden.',
+'watchnochange' => "A sidjen, diar dü uun't uug heest, san uun di uunwiset tidjrüm ei bewerket wurden.",
+'watchlist-details' => "Dü heest {{PLURAL:$1|1 sidj|$1 sidjen}} uun't uug.",
+'wlheader-enotif' => 'Di e-mail siinst as aktiif.',
+'wlheader-showupdated' => "Nei feranert sidjen wurd '''fäät''' uunwiset.",
+'watchmethod-recent' => "Leetst feranrangen faan sidjen, diar dü uun't uug heest",
+'watchmethod-list' => "Sidjen, diar dü uun't uug heest, am a leetst feranrangen beluke",
+'watchlistcontains' => "Dü häälst $1 {{PLURAL:$1|sidj|sidjen}} uun't uug.",
+'iteminvalidname' => 'Mä di iindrach „$1“ stemet wat ei, di nööm as ferkiard.',
+'wlnote' => "Diar {{PLURAL:$1|stäänt det leetst feranrang|stun a leetst '''$1''' feranrangen}} faan a leetst {{PLURAL:$2|stünj|'''$2''' stünjen}}. Stant: $3, klook $4.",
 'wlshowlast' => 'Wis da änringe foon da leeste $1 stüne, $2 deege unti $3.',
 'watchlist-options' => 'Wis-opsjoone',
 
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'Eefter kiike...',
 'unwatching' => 'Ai eefter kiike...',
+'watcherrortext' => "Bi't anrin faan iinstelangen för „$1“ as wat skiaf gingen.",
+
+'enotif_mailer' => '{{SITENAME}}-e-mail-noorachten siinst',
+'enotif_reset' => 'Aal a sidjen üs besoocht kääntiakne',
+'enotif_impersonal_salutation' => '{{SITENAME}}-brüker',
+'enotif_subject_deleted' => '{{SITENAME}}-sidj $1 as faan {{GENDER:$2|$2}} stregen wurden.',
+'enotif_subject_created' => '{{SITENAME}}-sidj $1 as faan {{GENDER:$2|$2}} nei maaget wurden',
+'enotif_subject_moved' => '{{SITENAME}}-sidj $1 as faan {{GENDER:$2|$2}} fersköwen wurden.',
+'enotif_subject_restored' => '{{SITENAME}}-sidj $1 as faan {{GENDER:$2|$2}} turaghaalet wurden',
+'enotif_subject_changed' => '{{SITENAME}}-sidj $1 as faan {{GENDER:$2|$2}} feranert wurden',
+'enotif_body_intro_deleted' => 'Det {{SITENAME}}-sidj $1 as di $PAGEEDITDATE faan {{GENDER:$2|$2}} stregen wurden. Luke uk bi $3.',
+'enotif_body_intro_created' => 'Det {{SITENAME}}-sidj $1 as di $PAGEEDITDATE faan {{GENDER:$2|$2}} nei maaget wurden. Luke uk bi $3 am en nei werjuun.',
+'enotif_body_intro_moved' => 'Det {{SITENAME}}-sidj $1 as di $PAGEEDITDATE faan {{GENDER:$2|$2}} fersköwen wurden. Luke uk bi $3 am en nei werjuun.',
+'enotif_body_intro_restored' => 'Det {{SITENAME}}-sidj $1 as di $PAGEEDITDATE faan {{GENDER:$2|$2}} turaghaalet wurden. Luke uk bi $3 am en nei werjuun.',
+'enotif_body_intro_changed' => 'Det {{SITENAME}}-sidj $1 as di $PAGEEDITDATE faan {{GENDER:$2|$2}} feranert wurden. Luke uk bi $3 am en nei werjuun.',
+'enotif_lastvisited' => 'Luke bi $1 am aal a feranrangen sant dan leetst beschük.',
+'enotif_lastdiff' => 'Luke bi $1 am det feranrang.',
+'enotif_anon_editor' => 'Anonüüm brüker $1',
+'enotif_body' => 'Gud dai $WATCHINGUSERNAME,
+
+$PAGEINTRO $NEWPAGE
+
+Tuupfaadet faan: $PAGESUMMARY $PAGEMINOREDIT
+
+Kontakt tu di bewerker:
+E-mail: $PAGEEDITOR_EMAIL
+Wiki: $PAGEEDITOR_WIKI
+
+Di wurd iarst ans nian e-mails muar tu detdiar sidj schüürd, bit dü det sidj weder beschükst. Üüb din list faan sidjen, diar dü uun\'t uug behual wel, könst dü a noorachtenkääntiaken weder turagsaat.
+
+Dan frinjelk {{SITENAME}}-noorachten siinst
+
+--
+Am iinstelangen tu e-mail noorachten tu feranrin, gung tu {{canonicalurl:{{#special:Preferences}}}}.
+
+Am iinstelangen am sidjen, diar dü uun\'t uug behual wel, gung tu {{canonicalurl:{{#special:EditWatchlist}}}}.
+
+Am det sidj ei linger uun\'t uug tu behualen, gung tu $UNWATCHURL.
+
+Halep an muar diartu: {{canonicalurl:{{MediaWiki:Helppage}}}}',
+'created' => 'maaget',
+'changed' => 'feranert',
 
 # Delete
 'deletepage' => 'Sid tunintemååge',
+'confirm' => 'Gudkään',
+'excontent' => 'diar sted: „$1“',
+'excontentauthor' => 'diar sted: „$1“ (iansagst bewerker: [[Special:Contributions/$2|$2]])',
+'exbeforeblank' => "diar sted föör't leesag maagin: „$1“",
 'exblank' => 'sidj wiar leesag',
 'delete-confirm' => 'Strik "$1"',
 'delete-legend' => 'Strike',
-'historywarning' => "'''Paase üüb:''' Det sidj, wat dü strik wel, hää amanbi $1 {{PLURAL:$1|wersjuun|wersjuunen}}:",
-'confirmdeletetext' => 'Dü bast deerbai, en sid ma åle tuhiirende ålere färsjoone tuninte tu måågen. Bestääsie hål deertu, dåt dü de foon da konsekwänse bewust bast, än dåt dü önj oueriinjstiming ma da [[{{MediaWiki:Policy-url}}|ruchtliinjen]] hoonelst.',
+'historywarning' => "'''Paase üüb:''' Det sidj, wat dü strik wel, hää amanbi $1 {{PLURAL:$1|werjuun|werjuunen}}:",
+'confirmdeletetext' => 'Dü wel en sidj mä aal sin werjuunen strik. Dü skel gudkään, dat dü witjst, wat dü dääst an dat din dun mä a [[{{MediaWiki:Policy-url}}|brükerreegeln]] auerian stemet.',
 'actioncomplete' => 'Aksjoon beånd',
 'actionfailed' => 'Diar ging wat skiaf',
-'deletedtext' => '„$1“ wörd tunintemååged. In e $2 fanst dü en list foon da tuleest tunintemåågede side.',
+'deletedtext' => "„$1“ as stregen wurden. Uun't $2 fanjst dü a sidjen, diar tuleetst stregen wurden san.",
 'dellogpage' => 'Tunintemååg-Logbök',
 'dellogpagetext' => 'Diar stun a leetst stregen sidjen an datein.',
 'deletionlog' => "logbuk faan't striken",
-'reverted' => 'Tu en ual wersjuun turagsaat',
+'reverted' => 'Üüb en ual werjuun turagsaat',
 'deletecomment' => 'Grün:',
 'deleteotherreason' => 'Ouderen/tubaikaamenden grün:',
 'deletereasonotherlist' => 'Ouderen grün',
@@ -1786,32 +2133,82 @@ Feranerangen faan detdiar sidj wurd üüb detdiar list fäästhäälen.",
 ** Copyright as ei beaachtet
 ** Wandaalen onerwais",
 'delete-edit-reasonlist' => "Grünjer för't striken bewerke",
-'delete-toobig' => 'Detdiar sidj hää muar üs $1 {{PLURAL:$1|wersjuun|wersjuunen}} . 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|wersjuun|wersjuunen}} . Det striken koon komer maage bi't dootenbeenk.",
+'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.",
 
 # Rollback
+'rollback' => 'Feranrangen turagsaat',
+'rollback_short' => 'Turagsaat',
 'rollbacklink' => 'tubäägseete',
+'rollbacklinkcount' => '$1 {{PLURAL:$1|feranrang|feranrangen}} turagsaat',
+'rollbacklinkcount-morethan' => 'Muar üs $1 {{PLURAL:$1|werjuun|werjuunen}} turagsaat',
+'rollbackfailed' => "Bi't turagsaaten as wat skiaf gingen.",
+'cantrollback' => 'Det feranrang koon ei turagsaat wurd, diar san nian ööder skriiwern weesen.',
+'alreadyrolled' => 'A anrangen faan [[User:$2|$2]] ([[User talk:$2|Diskusjuun]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]) bi [[:$1]] kön ei turagsaat wurd. Diar hää uuntesken en öödern brüker det sidj feranert.
+
+Det leetst feranrang as faan [[User:$3|$3]] ([[User talk:$3|Diskusjuun]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
+'editcomment' => "Tuupfaadet feranrang: ''„$1“''.",
+'revertpage' => 'Feranrangen faan [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskusjuun]]) san üüb di leetst stant faan [[User:$1|$1]] turagsaat wurden.',
+'revertpage-nouser' => 'Feranrangen faan (brükernööm wechnimen) turagsaat an leetst werjuun faan [[User:$1|$1]] weder iinsteld.',
+'rollback-success' => 'Feranrangen faan $1 turagsaat an det leetst werjuun faan $2 weder iinsteld.',
+
+# Edit tokens
+'sessionfailure-title' => 'session feeler',
+'sessionfailure' => "Diar as wat skiaf gingen bi't auerdreegen faan din brükerdooten.
+Am dat diar ei noch muar skiaf gongt, as det aktjuun ufbreegen wurden.
+Gung turag, an began faan föören.",
 
 # Protect
-'protectlogpage' => 'Sideschütse-logbök',
+'protectlogpage' => 'Sidjenseekerangs-logbuk',
+'protectlogtext' => 'Detheer as det logbuk mä seekert sidjen.
+Üüb [[Special:ProtectedPages|detdiar list]] stun a seekert sidjen.',
 'protectedarticle' => 'schütsed „[[$1]]“',
 'modifiedarticleprotection' => 'änred e schüts for "[[$1]]"',
+'unprotectedarticle' => 'Seekerang faan „[[$1]]“ apheewen',
+'movedarticleprotection' => 'hää det seekerang faan „[[$2]]“ üüb „[[$1]]“ auerdraanj',
+'protect-title' => 'Seekerang feranre för „$1“',
+'protect-title-notallowed' => 'Seekerang uunluke för „$1“',
 'prot_1movedto2' => 'hää „[[$1]]“ efter „[[$2]]“ fersköwen',
+'protect-badnamespace-title' => 'Nöömrüm koon ei seekert wurd',
+'protect-badnamespace-text' => 'Sidjen uun didiar nöömrüm kön ei seekert wurd.',
+'protect-norestrictiontypes-text' => 'Detdiar sidj koon ei seekert wurd, auer diar nian mögelkhaiden san.',
+'protect-norestrictiontypes-title' => 'Sidj koon ei seekert wurd',
+'protect-legend' => 'Sidjenseekerang feranre',
 'protectcomment' => 'Grün:',
 'protectexpiry' => 'Spärduur:',
 'protect_expiry_invalid' => 'Jü önjjääwen duur as üngülti.',
 'protect_expiry_old' => 'Jü spärtid lait in jü jütid.',
+'protect-unchain-permissions' => 'Separaat speren aktiwiare',
 'protect-text' => 'Heer koost dü e schütsstatus for jü sid "$1" önjkiike än änre.',
-'protect-locked-access' => "Din brükerkonto ferfäiget ai ouer da nüsie ruchte tu jü änring foon e sideschüts. Heer san da aktuäle sideschütsönjstalinge fon jü sid '''„$1“:'''",
-'protect-cascadeon' => 'Jüdeer sid as nütutids diilj foon e kaskaadenspäre. Jü as önj {{PLURAL:$1|jü füliende sid|da füliende side}} önjbünen, huk döör jü kaskaadenspäropsjoon schütsed {{PLURAL:$1|as|san}}. Di sideschütsstatus koon for jüdeer sid änred wårde, dåtdeer heet ouers nån influs aw jü kaskaadenspäre:',
-'protect-default' => 'Åle brükere',
+'protect-locked-blocked' => "Dü könst det sidjenseekerang ei feranre, auer din brükerkonto speret as. So as det sidj '''„$1“:''' seekert wurden.",
+'protect-locked-dblock' => "Det dootenbeenk as speret, det sidjenseekerang koon ei feranert wurd. So as det sidj '''„$1“:''' seekert wurden.",
+'protect-locked-access' => "Dü heest ei det brükerrocht, am det sidjenseekerhaid tu feranrin.
+Det sidj '''„$1“:''' as sodenang seekert wurden:",
+'protect-cascadeon' => 'Detdiar sidj as auer en kaskaadensper seekert wurden. Hat as uun {{PLURAL:$1|detdiar seekert sidj|jodiar seekert sidjen}} iinbünjen.
+Dü könst det seekerhaid feranre, det feranert oober ei det seekerhaid faan jo ööder sidjen.',
+'protect-default' => 'Arke brüker',
 'protect-fallback' => 'Ferloof bluas för brükern mä "$1"-rochten.',
 'protect-level-autoconfirmed' => 'Ferloof bluas för registriaret brükern.',
 'protect-level-sysop' => 'Ferloof bluas för administratooren.',
 'protect-summary-cascade' => 'kaskadiirend',
 'protect-expiring' => 'bit $2, am e klook $3 (UTC)',
+'protect-expiring-local' => 'bit $1',
+'protect-expiry-indefinite' => 'saner aanj',
 'protect-cascade' => 'Kaskadiirende späre - åle önj jüdeer sid önjbünene forlååge wårde uk spärd.',
 'protect-cantedit' => 'Dü koost jü späre foon jüheer sid ai änre, deer dü niinj beruchtiging tu beårben foon jü sid hääst.',
+'protect-othertime' => 'Ööder sperdüür:',
+'protect-othertime-op' => 'ööder sperdüür',
+'protect-existing-expiry' => 'Sidjenseekerang lääpt uf: $2, klook $3',
+'protect-otherreason' => 'Ööder/noch en grünj:',
+'protect-otherreason-op' => 'Ööder grünj:',
+'protect-dropdown' => '* Miast brükt grünjer
+** Edit-War
+** Wandaalen onerwais
+** Tuföl rekloome
+** Flooksis brükt föörlaag
+** Sidj mä föl beschük',
+'protect-edit-reasonlist' => "Grünjer för't seekrin bewerke",
+'protect-expiry-options' => '1 stünj:1 hour,1 dai:1 day,1 weg:1 week,2 wegen:2 weeks,1 muun:1 month,3 muuner:3 months,6 muuner:6 months,1 juar:1 year,saner aanj:infinite',
 'restriction-type' => 'Schütsstatus',
 'restriction-level' => 'Schütshöögde',
 'minimum-size' => 'Minimaal grate:',
@@ -1832,82 +2229,95 @@ Feranerangen faan detdiar sidj wurd üüb detdiar list fäästhäälen.",
 # Undelete
 'undelete' => 'Stregen sidjen uunwise',
 'undeletepage' => 'Stregen sidjen uunwise an weder iinstel',
-'undeletepagetitle' => "'''Detdiar wiset a stregen wersjuunen faan [[:$1|$1]]'''.",
+'undeletepagetitle' => "'''Detdiar wiset a stregen werjuunen faan [[:$1|$1]]'''.",
 'viewdeletedpage' => 'Stregen sidjen uunwise',
 'undeletepagetext' => "{{PLURAL:$1|Detdiar sidj as stregen wurden, oober koon|Jodiar $1 sidjen san stregen wurden, oober kön}} faan administratooren weder iinsteld wurd, wan jo noch uun't archiif san.",
 'undelete-fieldset-title' => 'Weder iinstel',
-'undeleteextrahelp' => '* Am det sidj mä aal jo wersjuunen weder iintustelen, sjük nian enkelt wersjuun ütj, du en grünj uun an trak do üüb „{{int:undeletebtn}}“.*
-* Am en was wersjuun weder iintustelen, sjük det wersjuun ütj, du en grünj uun an trak do üüb „{{int:undeletebtn}}“.',
-'undeleterevisions' => '{{PLURAL:$1|1 wersjuun|$1 wersjuunen}} archiwiaret',
-'undeletehistory' => 'Wan dü detdiar sidj weder iinstelst, wurd uk jo ual wersjuunen weder iinsteld. 
-Wan sant det striken en nei sidj mä di salew nööm iinsteld wurden as, wurd jo ual wersjuunen bi det nei sidj mä iinwerket.',
-'undeleterevdel' => 'Det weder iinstelen woort ei maaget, wan det leetst wersjuun ferstäächt as.
-Wan det so as, skal det leetst wersjuun iarst weder üüb normool steld wurd.',
+'undeleteextrahelp' => '* Am det sidj mä aal jo werjuunen weder iintustelen, schük nian enkelt werjuun ütj, du en grünj uun an trak do üüb „{{int:undeletebtn}}“.*
+* Am en was werjuun weder iintustelen, schük det werjuun ütj, du en grünj uun an trak do üüb „{{int:undeletebtn}}“.',
+'undeleterevisions' => '{{PLURAL:$1|1 werjuun|$1 werjuunen}} archiwiaret',
+'undeletehistory' => 'Wan dü detdiar sidj weder iinstelst, wurd uk jo ual werjuunen weder iinsteld. 
+Wan sant det striken en nei sidj mä di salew nööm iinsteld wurden as, wurd jo ual werjuunen bi det nei sidj mä iinwerket.',
+'undeleterevdel' => 'Det woort ei weder iinsteld, wan det leetst werjuun ferbürgen as.
+Wan det so as, skal det leetst werjuun iarst weder üüb normool steld wurd.',
 'undeletehistorynoadmin' => 'Detdiar sidj as stregen wurden.
 Oner könst dü sä, hoker det maaget hää an huaram.
 Di tekst faan det stregen sidj fu bluas administratooren uunwiset.',
-'undelete-revision' => 'Stregen wersjuun faan $1 (di $4 am a klook $5 ), $3:',
-'undeleterevision-missing' => 'Mä detdiar wersjuun stemet wat ei. Ferlicht as di link ferkiard of det wersjuun as ei muar diar.',
-'undelete-nodiff' => 'Nian föörgunger wersjuun diar.',
+'undelete-revision' => 'Stregen werjuun faan $1 (di $4 am a klook $5 ), $3:',
+'undeleterevision-missing' => 'Mä detdiar werjuun stemet wat ei. Ferlicht as di link ferkiard of det werjuun as ei muar diar.',
+'undelete-nodiff' => 'Nian föörgunger-werjuun diar.',
 'undeletebtn' => 'Weder iinstel',
 'undeletelink' => 'wise/widermååge',
 'undeleteviewlink' => 'Uunluke',
 'undeletereset' => 'Turag saat',
 'undeleteinvert' => 'Ütjwool amdrei',
 'undeletecomment' => 'Grünj:',
-'undeletedrevisions' => '{{PLURAL:$1|1 wersjuun|$1 wersjuunen}} weder iinsteld',
-'undeletedrevisions-files' => '{{PLURAL:$1|1 wersjuun|$1 wersjuunen}} an {{PLURAL:$2|1 datei|$2 datein}} weder iinsteld',
+'undeletedrevisions' => '{{PLURAL:$1|1 werjuun|$1 werjuunen}} weder iinsteld',
+'undeletedrevisions-files' => '{{PLURAL:$1|1 werjuun|$1 werjuunen}} an {{PLURAL:$2|1 datei|$2 datein}} weder iinsteld',
 'undeletedfiles' => '{{PLURAL:$1|1 datei|$1 datein }} weder iinsteld',
 'cannotundelete' => 'Weder iinstelen hää ei loket:
 $1',
 'undeletedpage' => "'''„$1“''' as weder iinsteld wurden.
 Uun't [[Special:Log/delete|logbuk faan stregen sidjen]] stun a stregen an weder iinsteld sidjen.",
 'undelete-header' => "Luke uun't [[Special:Log/delete|logbuk för stregen sidjen]] efter stregen sidjen faan a leetst tidj.",
-'undelete-search-title' => 'Sjük stregen sidjen',
-'undelete-search-box' => 'Sjük stregen sidjen',
-'undelete-search-prefix' => 'Sjük sidjen, diar began mä:',
-'undelete-search-submit' => 'Sjük',
+'undelete-search-title' => 'Schük stregen sidjen',
+'undelete-search-box' => 'Schük stregen sidjen',
+'undelete-search-prefix' => 'Schük sidjen, diar began mä:',
+'undelete-search-submit' => 'Schük',
 'undelete-no-results' => "Uun't archiif wiar nian paasen sidjen.",
-'undelete-filename-mismatch' => 'Det wersjuun faan $1 koon ei weder iinsteld wurd. Di dateinööm paaset ei.',
+'undelete-filename-mismatch' => 'Det werjuun faan $1 koon ei weder iinsteld wurd. Di dateinööm paaset ei.',
 'undelete-bad-store-key' => "Det dateiwersjuun faan $1 koon ei weder iinsteld wurd. Det datei wiar al föör't striken ei muar diar.",
+'undelete-cleanup-error' => 'Det ei brükt archiif-werjuun $1 küd ei stregen wurd.',
+'undelete-missing-filearchive' => "Det datei mä det archiif-ID $1 koon ei weder iinsteld wurd, auer hat ei uun't dootenbeenk as. Ferlicht as't al ans weder iinsteld wurden?",
 'undelete-error' => "Bi't weder iinstelen faan det sidj as wat skiaf gingen.",
 'undelete-error-short' => "Bi't weder iinstelen faan det datei $1 as wat skiaf gingen.",
 'undelete-error-long' => "Bi't weder iinstelen faan en datei as wat skiaf gingen:
 
 $1",
-'undelete-show-file-confirm' => 'Wel dü würelk det stregen wersjuun faan det datei „<nowiki>$1</nowiki>“ faan di $2, am a klook $3 uunluke?',
+'undelete-show-file-confirm' => 'Wel dü würelk det stregen werjuun faan det datei „<nowiki>$1</nowiki>“ faan di $2, am a klook $3 uunluke?',
 'undelete-show-file-submit' => 'Ja',
 
 # Namespace form on various pages
 'namespace' => 'Noomerüm:',
 'invert' => 'Ütwool amkiire',
-'blanknamespace' => '(Side)',
+'tooltip-invert' => 'Saat diar en tiaken, am feranrangen faan sidjen uun didiar nöömrüm ei uuntuwisin.',
+'namespace_association' => 'Ferbünjen nöömrüm',
+'tooltip-namespace_association' => 'Saat diar en tiaken, am di ferbünjen nöömrüm of diskusjuunsnöömrüm mä iintubetjin.',
+'blanknamespace' => '(Sidjen)',
 
 # Contributions
 'contributions' => '{{GENDER:$1|Brüker}} bidracher',
 'contributions-title' => 'Brükertujeefte foon "$1"',
 'mycontris' => 'Bidracher',
 'contribsub2' => 'For $1 ($2)',
+'nocontribs' => 'Diar wiar nian paasin brükerbidracher',
 'uctop' => '(aktuäl)',
 'month' => 'än moune:',
 'year' => 'bit iir:',
 
-'sp-contributions-newbies' => 'Wis bloot tujeefte foon naie brükere',
+'sp-contributions-newbies' => 'Wise bluas bidracher faan nei brükern',
+'sp-contributions-newbies-sub' => 'Faan nei brükern',
+'sp-contributions-newbies-title' => 'Brükerbidracher faan nei brükern',
 'sp-contributions-blocklog' => 'Spär-logbök',
+'sp-contributions-deleted' => 'Stregen bidracher',
 'sp-contributions-uploads' => 'Huuchsjüürd bilen',
 'sp-contributions-logs' => 'logbuken',
 'sp-contributions-talk' => 'diskusjuun',
-'sp-contributions-search' => 'Säkj eefter brükertujeefte',
+'sp-contributions-userrights' => 'Brükerrochten',
+'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-username' => 'IP-adräs unti brükernoome',
-'sp-contributions-toponly' => 'Bluas aktuel wersjuunen wise',
+'sp-contributions-toponly' => 'Bluas aktuel werjuunen wise',
 'sp-contributions-submit' => 'Säike',
 
 # What links here
-'whatlinkshere' => 'Links aw jüdeer sid',
-'whatlinkshere-title' => 'Side, da aw "$1" ferlinke',
+'whatlinkshere' => 'Ferwisangen üüb detdiar sidj',
+'whatlinkshere-title' => 'Sidjen, diar üüb "$1" ferwise',
 'whatlinkshere-page' => 'sid:',
-'linkshere' => "Da füliende side ferlinke aw '''„[[:$1]]“''':",
+'linkshere' => "Jodiar sidjen ferwise üüb '''„[[:$1]]“''':",
 'nolinkshere' => 'Nian sidj ferwiset üüb [[:$1]]',
+'nolinkshere-ns' => "Nian sidj ferwiset üüb '''„[[:$1]]“''' uun di ütjsoocht nöömrüm.",
 'isredirect' => 'widerliidjingssid',
 'istemplate' => 'forlåågeninbining',
 'isimage' => 'Dåtäilink',
@@ -1917,60 +2327,178 @@ $1",
 'whatlinkshere-hideredirs' => 'Widerliidjinge $1',
 'whatlinkshere-hidetrans' => 'Forlåågenönjbininge $1',
 'whatlinkshere-hidelinks' => 'Links $1',
-'whatlinkshere-hideimages' => 'Ferwisangen tu dateien $1',
+'whatlinkshere-hideimages' => 'Ferwisangen tu datein $1',
 'whatlinkshere-filters' => 'Filtere',
 
 # Block/unblock
-'blockip' => 'IP-adräs/brüker späre',
+'autoblockid' => 'Automaatisk sper #$1',
+'block' => 'Brüker spere',
+'unblock' => 'Brüker ei muar spere',
+'blockip' => 'IP-adres/brüker spere',
+'blockip-title' => 'Brüker spere',
+'blockip-legend' => 'IP-adres/brüker spere',
+'blockiptext' => 'Mä detdiar formulaar sperest dü en IP-adres of en brükernööm, so dat faan diar nian feranrangen muar maaget wurd kön. 
+Det skul bluas föörnimen wurd, am jin wandaalen föörtugungen an uun auerianstemang mä a [[{{MediaWiki:Policy-url}}|brükerreegeln]].
+Skriiw en guden grünj för det sper ap.',
+'ipadressorusername' => 'IP-adres of brükernööm:',
+'ipbexpiry' => 'Sperdüür:',
+'ipbreason' => 'Grünj:',
+'ipbreasonotherlist' => 'Ööder grünj',
+'ipbreason-dropdown' => '* Mist brükt spergrünjer
+** Skraft wat ferkiards
+** Maaget sidjen leesag
+** Maaget tuföl ferwisangen üüb frääm sidjen
+** Maaget dom tschüch
+** Koon ham ei skake
+** Masbrükt brükerkontos
+** Hää en brükernööm, diar ei tuläät as',
+'ipb-hardblock' => 'Ferhanre, dat en uunmeldeten brüker mä detdiar IP-adres sidjen feranre koon.',
+'ipbcreateaccount' => 'Ferhanre, dat en brükerkonto iinracht woort.',
+'ipbemailban' => 'Ferhanre, dat e-mails ferschüürd wurd',
+'ipbenableautoblock' => 'Spere det IP-adres faan di brüker, an automaatisk uk aal a öödern, huar di brüker mä werket.',
+'ipbsubmit' => 'IP-adres/brüker spere',
+'ipbother' => 'Ööder sperdüür (ingelsk):',
 'ipboptions' => '2 stüne:2 hours,1 däi:1 day,3 deege:3 days,1 wääg:1 week,2 wääge:2 weeks,1 moune:1 month,3 moune:3 months,6 moune:6 months,1 iir:1 year,suner iinje:infinite',
+'ipbotheroption' => 'Ööder sperdüür',
+'ipbotherreason' => 'Ööder/noch en grünj:',
+'ipbhidename' => 'Brükernööm uun bewerkangen an listen fersteeg',
+'ipbwatchuser' => "Hual di brüker sin brüker- an diskusjuunssidj uun't uug",
+'ipb-disableusertalk' => 'Ferhanre, dat di brüker sin diskusjuunssidj bewerket, so loong hi speret as.',
+'ipb-change-block' => 'Mä jodiar iinstelangen widjer spere',
+'ipb-confirm' => 'Sper gudkään',
+'badipaddress' => 'Det IP-adres as ferkiard.',
+'blockipsuccesssub' => 'Det sper hää loket.',
+'blockipsuccesstext' => "Di brüker/det IP-adres [[Special:Contributions/$1|$1]] as speret wurden.<br />
+Am det aptuheewen, gung tu't [[Special:BlockList|sperlist]].",
+'ipb-blockingself' => 'Wel dü würelk di salew spere?',
+'ipb-confirmhideuser' => 'Dü beest diarbi, en brüker uun det muude „brüker fersteeg“ tu sperin. Do woort di brükernööm uun aal a logbuken an listen ferbürgen. Wel dü det würelk du?',
+'ipb-edit-dropdown' => "Grünjer för't sperin bewerke",
+'ipb-unblock-addr' => '„$1“ ei muar spere',
+'ipb-unblock' => 'IP-adres/brüker ei muar spere',
+'ipb-blocklist' => 'Speren uunwise',
+'ipb-blocklist-contribs' => 'Bidracher faan „$1“',
+'unblockip' => 'Brüker ei muar spere',
+'unblockiptext' => 'Mä detdiar formulaar könst dü det sper faan en IP-adres of en brüker apheew.',
+'ipusubmit' => 'Ei muar spere',
+'unblocked' => '[[User:$1|$1]] woort ei muar speret.',
+'unblocked-range' => 'Sper för $1 as apheewen wurden.',
 'unblocked-id' => 'Sperang $1 as apheewen',
 'blocklist' => 'Spärd brükere',
 'ipblocklist' => 'Spärd brükere',
 'ipblocklist-legend' => 'Spärd brükere fine',
-'ipblocklist-submit' => 'Sjük',
+'blocklist-userblocks' => 'Brükersperen ei uunwise',
+'blocklist-tempblocks' => 'Tidjwiis speren ei uunwise',
+'blocklist-addressblocks' => 'Speren faan enkelt IP-adresen ei uunwise',
+'blocklist-rangeblocks' => 'Widjloftag speren ei uunwise',
+'blocklist-timestamp' => 'Tidjstempel',
+'blocklist-target' => 'IP of brüker',
+'blocklist-expiry' => 'Sperdüür bit',
+'blocklist-by' => 'Speret faan',
+'blocklist-params' => 'Speriinstelangen',
+'blocklist-reason' => 'Grünj',
+'ipblocklist-submit' => 'Schük',
+'ipblocklist-localblock' => 'Lokaal sper',
+'ipblocklist-otherblocks' => 'Ööder {{PLURAL:$1|sper|speren}}',
+'infiniteblock' => 'saner aanj',
 'expiringblock' => 'iinjet aw e $1 am e klook $2',
-'blocklink' => 'späre',
+'anononlyblock' => 'bluas anonüümen',
+'noautoblockblock' => 'autoblock ei aktiif',
+'createaccountblock' => 'brükerkontos kön ei iinracht wurd.',
+'emailblock' => 'e-mail fersjüüren ufsteld',
+'blocklist-nousertalk' => 'koon sin aanj diskusjuunssidj ei bewerke',
+'ipblocklist-empty' => 'Det sperlist as leesag',
+'ipblocklist-no-results' => 'Detdiar IP-adres/di brükernööm as ei speret.',
+'blocklink' => 'Spere',
 'unblocklink' => 'frijeewe',
 'change-blocklink' => 'Späring änre',
-'contribslink' => 'tujeefte',
+'contribslink' => 'bidracher',
 'emaillink' => 'e-mail schake',
 'autoblocker' => 'Automatische spär, deer dü en gemiinsoom IP-adräs ma [[User:$1|brüker:$1]] brükst. Grün foon brükerspär: „$2“.',
 'blocklogpage' => 'Brükerspär-logbök',
+'blocklog-showlog' => "Didiar brüker as al ans speret wurden.
+Uun't sperlogbuk stäänt:",
+'blocklog-showsuppresslog' => "Didiar brüker as al ans speret an ferbürgen wurden.
+Uun't logbuk stäänt:",
 'blocklogentry' => 'spärd „[[$1]]“ for di tidrüm: $2 $3',
 'reblock-logentry' => 'änerd jü spär for „[[$1]]“ for di tidrüm: $2 $3',
 'blocklogtext' => "Detdiar as det logbuk auer sperangen an apheewen sperangen faan brükernöömer an IP-adresen.
 Automaatisk sperd IP-adresen wurd ei uunwiset.
 Luke bi't [[Special:BlockList|sperlist]] för aal jo aktuel speren.",
-'unblocklogentry' => 'heet jü späre foon „$1“ aphääwen',
+'unblocklogentry' => 'hää det sper faan „$1“ apheewen',
 'block-log-flags-anononly' => 'bloot anonyme',
 'block-log-flags-nocreate' => 'Måågen foon brükerkonte spärd',
 'block-log-flags-noautoblock' => 'autoblock deaktiviird',
 'block-log-flags-noemail' => 'e-mail-fersiinjing spärd',
-'block-log-flags-nousertalk' => 'mötj äine diskusjoonssid ai beårbe',
+'block-log-flags-nousertalk' => 'koon sin aanj diskusjuunssidj ei bewerke',
 'block-log-flags-angry-autoblock' => 'ütbrååt autoblock aktiviird',
 'block-log-flags-hiddenname' => 'brükernoome ferstäägen',
 'range_block_disabled' => 'Jü möölikhäid, hiilj adräsrüme tu spären, as ai aktiviird.',
 'ipb_expiry_invalid' => 'Jü önjjääwen duur as üngülti.',
 'ipb_expiry_temp' => 'Ferstäägen brükernoome-späre schan pärmanänt weese.',
 'ipb_hide_invalid' => 'Ditheer konto koon ai unerdrükd wårde, deer dåt tufoole beårbinge apwist.',
+'ipb_already_blocked' => '„$1“ as al speret',
+'ipb-needreblock' => '$1 as al speret. Wel dü a speriinstelangen feranre?',
+'ipb-otherblocks-header' => 'Ööder {{PLURAL:$1|sper|speren}}',
+'unblock-hideuser' => 'Det sper faan didiar brüker koon ei apheewen wurd, auer san brükernööm ferbürgen wurden as.',
+'ipb_cant_unblock' => 'Feeler: Sper-ID $1 küd ei fünjen wurd. Det sper as al apheewen.',
+'ipb_blocked_as_range' => 'Feeler: Det IP-adres $1 as auer det widjloftag sper $2 speret. Det sper faan $1 alian koon ei apheewen wurd.',
+'ip_range_invalid' => 'Ferkiard IP-adresrüm',
+'ip_range_toolarge' => 'Adresrümen mut ei grater üs /$1 wees.',
+'blockme' => 'Spere mi',
+'proxyblocker' => 'Proxy blocker',
+'proxyblocker-disabled' => 'Detdiar funktjuun as ei aktiif',
+'proxyblockreason' => 'Din IP-adres as speret wurden, auer det tu en eebenen proxy hiart.
+Fertel det dan ISP of dan süsteemsiinst. Eeben proxys stel det seekerhaid uun fraag.',
+'proxyblocksuccess' => 'Klaar.',
+'sorbsreason' => 'Din IP-adres as uun det DNSBL faan {{SITENAME}} üs eeben proxy apfeerd.',
+'sorbs_create_account_reason' => 'Din IP-adres as uun det DNSBL faan {{SITENAME}} üs eeben proxy apfeerd. Dü könst nian brükerkonto maage.',
+'xffblockreason' => 'En IP-adres uun di X-Forwarded-For-Header as speret wurden, det as din aanj of det faan dan proxy server. Di spergrünj as: $1',
+'cant-block-while-blocked' => 'Dü könst nian ööder brükern spere, so loong dü salew speret beest.',
+'cant-see-hidden-user' => 'Di brüker, diar dü spere wel, as al speret an ferbürgen. Dü heest oober ei det "hideuser"-rocht an könst det sper ei bewerke.',
+'ipbblocked' => 'Dü könst ööder brükern ei spere an uk nian speren apheew, auer dü salew speret beest.',
+'ipbnounblockself' => 'Dü könst din aanj sper ei apheew.',
+
+# Developer tools
+'lockdb' => 'Dootenbeenk spere',
+'unlockdb' => 'Dootenbeenk ei muar spere',
+'lockdbtext' => 'Wan det dootenbeenk speret as, koon rian goor niks muar maaget wurd. Wees so gud an kään det sper gud.',
+'unlockdbtext' => 'Wan det sper faan det dootenbeenk apheewen woort, koon weder ales bewerket wurd. Wees so gud an kään det apheewen gud.',
+'lockconfirm' => 'Ja, ik wal det dootenbeenk würelk spere.',
+'unlockconfirm' => 'Ja, det dootenbeenk skal ei muar speret wees.',
+'lockbtn' => 'Dootenbeenk spere',
+'unlockbtn' => 'Dootenbeenk ei muar spere',
+'locknoconfirm' => 'Dü heest det ei gudkäänd.',
+'lockdbsuccesssub' => 'Det dootenbeenk as nü speret.',
+'unlockdbsuccesssub' => 'Det dootenbeenk as nü ei muar speret.',
+'lockdbsuccesstext' => 'Det {{SITENAME}}-dootenbeenk as speret wurden.<br />Heew det sper [[Special:UnlockDB|weder ap]], wan dü mä din werk klaar beest.',
+'unlockdbsuccesstext' => 'Det {{SITENAME}}-dootenbeenk as ei muar speret.',
+'lockfilenotwritable' => 'Uun det dootenbeenk-sperdatei koon ei skrewen wurd. Am en dootenbeenk tu sperin of en sper aptuheewen, skal det sperdatei för di webserver tu beskriiwen wees.',
+'databasenotlocked' => 'Det dootenbeenk as ei speret.',
+'lockedbyandtime' => '(faan $1 di $2 am a klook $3)',
 
 # Move page
 'move-page' => 'Ferschüw $1',
 'move-page-legend' => 'Sid ferschüwe',
-'movepagetext' => "Ma dideere formulaar koost de en sid ambenååme (masamt åle färsjoone).
-Di üülje tiitel wårt tu di naie widerliidje.
-Dü koost widerliidjinge, da ap e originooltiitel ferlinke, automatisch korrigiire lätje.
-For di fål dåt dü dåt ai dääst, präiw aw [[Special:DoubleRedirects|dööwelte]] unti [[Special:BrokenRedirects|önjstööge widerliidjinge]].
-Dü bast deerfor feroontuurdlik, dåt links fortönj ap dåt koräkt muul wise.
-
-Jü sid wårt '''ai''' ferschääwen, wan dåt ål en sid ma di seelew noome jeeft,
-süwid jüdeer ai bloots en widerliidjing suner färsjoonshistoori as. Dåtdeer bedjüset,
-dåt dü jü sid tubääg ferschüwe koost, wan dü en fäägel mååged heest. Dü koost
-deeriinj niinj sid ouerschriwe.
-
-'''Woorschouing!'''
-Jü ferschüwing koon widlingende än ünfermousene fülie for beliifte side heewe.
-Dü schöist deerfor da konsekwänse ferstönjen heewe, iir dü baiblafst.",
+'movepagetext' => "Mä detdiar formulaar könst dü en sidj mä aal sin werjuunen amnääm.
+Di ual tiitel woort üüb di nei widjerfeerd.
+Dü könst widjerfeerangen, diar üüb di ual tiitel wise, automaatisk üüb di nei tiitel widjer feer läät.
+Wan dü det oober ei dääst, paase üüb, dat dü aal a [[Special:DoubleRedirects|dobelt]] of [[Special:BrokenRedirects|breegen]] widjerfeerangen noch ans efterlukest.
+Bluas dü könst diarför surge, dat ferwisangen widjerhen rocht werke.
+
+Det sidj woort '''ei''' fersköwen, wan't al en sidj mä di nei nööm jaft. Det loket bluas do, wan di nei nööm salew en widjerfeerang as. Det ment, dat dü det amnäämen turagsaat könst, wan dü niks ferkiard maaget heest. Dü könst oober nian sidj, diar't al jaft, auerskriiw.
+
+'''Paase üüb!'''
+Det fersküüwen hää widjloftag fulgen för ööder sidjen. Dü skulst begreben haa, wat dü diar maage wel.",
+'movepagetext-noredirectfixer' => "Mä detdiar formulaar könst dü en sidj mä aal sin werjuunen amnääm.
+Di ual tiitel woort üüb di nei widjerfeerd.
+Dü könst widjerfeerangen, diar üüb di ual tiitel wise, automaatisk üüb di nei tiitel widjer feer läät.
+Wan dü det oober ei dääst, paase üüb, dat dü aal a [[Special:DoubleRedirects|dobelt]] of [[Special:BrokenRedirects|breegen]] widjerfeerangen noch ans efterlukest.
+Bluas dü könst diarför surge, dat ferwisangen widjerhen rocht werke.
+
+Det sidj woort '''ei''' fersköwen, wan't al en sidj mä di nei nööm jaft. Det loket bluas do, wan di nei nööm salew en widjerfeerang as. Det ment, dat dü det amnäämen turagsaat könst, wan dü niks ferkiard maaget heest. Dü könst oober nian sidj, diar't al jaft, auerskriiw.
+
+'''Paase üüb!'''
+Det fersküüwen hää widjloftag fulgen för ööder sidjen. Dü skulst begreben haa, wat dü diar maage wel.",
 'movepagetalktext' => "Jü deertu hiirende diskusjoonssid wård, süwid deer, maferschääwen, '''unti dåt moost weese:'''
 *Deer bestoont ål en diskusjoonssid ma dideere noome, unti
 *dü wäälst jü uner stönjene opsjoon ouf.
@@ -1979,115 +2507,422 @@ Dü schöist deerfor da konsekwänse ferstönjen heewe, iir dü baiblafst.",
 
 Hål di '''naie''' tiitel uner '''muul''' önjdreege, deeruner jü ambenååming hål '''begrüne.'''",
 'movearticle' => 'Sid ferschüwe:',
+'moveuserpage-warning' => "'''Paase üüb:''' Dü wel en brükersidj fersküüw. Seenk diaram, dat bluas det brükersidj amnäämd woort, oober '''ei''' di brüker. Hi behäält san ual nööm.",
+'movenologin' => 'Ei uunmeldet',
+'movenologintext' => 'Dü skel registriaret an [[Special:UserLogin|uunmeldet]] wees, am en sidj tu fersküüwen.',
+'movenotallowed' => 'Dü mutst nian sidjen fersküüw.',
+'movenotallowedfile' => 'Dü mutst nian datein fersküüw.',
+'cant-move-user-page' => 'Dü mutst nian brükersidjen fersküüw (bluas onersidjen).',
+'cant-move-to-user-page' => 'Dü mutst nian sidjen üüb en brükersidj fersküüw (bluas üüb onersidjen).',
 'newtitle' => 'Müülj:',
 'move-watch' => 'Lök eefter jüdeer sid',
 'movepagebtn' => 'Sid ferschüwe',
 'pagemovedsub' => 'Ferschüwing luket',
 'movepage-moved' => "'''Jü sid „$1“ wörd eefter „$2“ ferschääwen.'''",
+'movepage-moved-redirect' => 'En widjerfeerang as iinracht wurden.',
+'movepage-moved-noredirect' => 'Det maagin faan en widjerfeerang as ferhanert wurden.',
 'articleexists' => 'Uner dideere noome bestoont ål en sid. Wääl hål en nai noome.',
+'cantmove-titleprotected' => 'Dü könst det sidj ei so fersküüw, auer di nei nööm speret as.',
 'talkexists' => 'Jü sid seelew wörd erfolchrik ferschääwen, ouers jü deertu hiirende diskusjoonssid ai, deer ål iinj ma di nai tiitel bestoont. Glik hål da önjhålte foon hönj ouf.',
 'movedto' => 'ferschääwen eefter',
-'movetalk' => 'Jü diskusjoonssid maferschüwe, wan möölik',
+'movetalk' => "Uk det diskusjuunssidj fersküüw, wan't gongt",
+'move-subpages' => 'Onersidjen fersküüw (bit $1)',
+'move-talk-subpages' => "Onersidjen faan't diskusjuunssidj fersküüw (bit $1)",
+'movepage-page-exists' => 'Det sidj „$1“ as al diar an koon ei automaatisk auerskrewen wurd.',
 'movepage-page-moved' => 'Det sidj $1 as efter $2 fersköwen wurden.',
 'movepage-page-unmoved' => 'Det sidj $1 küd ei efter $2 fersköwen wurd.',
 'movepage-max-pages' => 'Diar kön ei muar üs {{PLURAL:$1|sidj|sidjen}} fersköwen wurd. Muar sidjen kön ei automaatisk fersköwen wurd.',
 'movelogpage' => 'Ferschüwingslogbök',
+'movelogpagetext' => 'Det as en list mä fersköwen sidjen.',
+'movesubpage' => '{{PLURAL:$1|onersidj|onersidjen}}',
+'movesubpagetext' => 'Det sidj hää {{PLURAL:$1|detdiar $1 onersidj|jodiar $1 onersidjen}}.',
+'movenosubpage' => 'Det sidj hää nian onersidjen.',
 'movereason' => 'Begrüning:',
 'revertmove' => 'tubääg ferschüwe',
+'delete_and_move' => 'Strik an fersküüw',
+'delete_and_move_text' => '== Striken nuadag  ==
+
+Det sidj „[[:$1]]“ as al diar. Wel dü det strik, am det sidj tu fersküüwen?',
+'delete_and_move_confirm' => 'Ja, sidj strik',
+'delete_and_move_reason' => 'Stregen, am steeds för det fersküüwen faan „[[$1]]“ tu maagin.',
+'selfmove' => 'A nöömer san likedenang. Dü könst nian sidj üüb ham salew fersküüw.',
+'immobile-source-namespace' => 'Sidjen uun di nöömrüm "$1" kön ei fersköwen wurd.',
+'immobile-target-namespace' => 'Sidjen kön ei iin uun di nöömrüm "$1" fersköwen wurd.',
+'immobile-target-namespace-iw' => 'Dü könst nian sidj üüb en interwiki-link fersküüw.',
+'immobile-source-page' => 'Detdiar sidj koon ei fersköwen wurd.',
+'immobile-target-page' => 'Üüb detdiar sidj koon ei fersköwen wurd.',
+'bad-target-model' => 'Det nei sidj hää en ööder münster üs det ual. Det münster faan $1 koon ei tu det münster faan $2 feranert wurd.',
+'imagenocrossnamespace' => 'Datein kön ei ütj di {{ns:file}}-nöömrüm ütj fersköwen wurd.',
+'nonfile-cannot-move-to-file' => 'Det as nian datei, wat dü iin uun di {{ns:file}}-nöönmrüm fersküüw wel. Det gongt ei.',
+'imagetypemismatch' => 'Det nei dateiaanj as ei detsalew üs det ual.',
+'imageinvalidfilename' => 'Didiar dateinööm gongt ei.',
+'fix-double-redirects' => "Efter't fersküüwen aal a widjerfeerangen hen tu det ual sidj ferbeedre",
+'move-leave-redirect' => 'Widjerfeerang iinracht',
+'protectedpagemovewarning' => "'''Paase üüb: Detdiar sidj as speret wurden. Bluas administratooren kön det fersküüw.'''
+Uun't logbuk stäänt muar diartu:",
+'semiprotectedpagemovewarning' => "'''Paase üüb:''' Detdiar sidj as dialwiis tu't bewerkin speret wurden. Bluas gudkäänd brükern kön det fersküüw.
+Uun't logbuk stäänt muar diartu:",
+'move-over-sharedrepo' => '== Datei as al diar ==
+[[:$1]] stäänt uun en gemiansoom brükt archiif. Det fersküüwen üüb didiar nööm auerskraft det gemiansoom brükt datei.',
+'file-exists-sharedrepo' => 'Didiar dateinööm woort al uun en gemiansoom archiif brükt. Wees so gud, an nem en öödern nööm.',
 
 # Export
-'export' => 'Side äksportiire',
+'export' => 'Sidjen eksportiare',
+'exporttext' => 'Mä detdiar spezial-sidj könst dü di tekst mä aal sin werjuunen tu en XML-datei eksportiare. Det nei datei koon do faan en ööder MediaWiki-Wiki [[Special:Import|importiaret]] wurd.
+
+Skriiw a sidjennöömer iin uun det tekstfial (man bluas ään noom uun arke rä).
+
+Di eksport as uk mä [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] mögelk, tun bispal för det [[{{MediaWiki:Mainpage}}]].',
+'exportall' => 'Aal a sidjen eksportiare',
+'exportcuronly' => 'Bluas det aktuel werjuun eksportiare, ei jo ual werjuunen',
+'exportnohistory' => "----
+'''Paase üüb:''' Di eksport faan di hial ferluup as uun uugenblak ei mögelk.",
+'exportlistauthors' => 'För arke sidj det hial list faan bewerkern mänem',
+'export-submit' => 'Eksport',
+'export-addcattext' => 'Sidjen faan detdiar kategorii diartunem:',
+'export-addcat' => 'Diartunem',
+'export-addnstext' => 'Sidjen faan didiar nöömrüm diartunem:',
+'export-addns' => 'Diartunem',
+'export-download' => 'Üs XML-datei seekre',
+'export-templates' => 'Mä föörlaagen',
+'export-pagelinks' => 'Ferwiset sidjen mänem bit tu en jipde faan:',
 
 # Namespace 8 related
+'allmessages' => 'MediaWiki-Süsteemnoorachten',
 'allmessagesname' => 'Nööm',
 'allmessagesdefault' => 'Standard tekst',
+'allmessagescurrent' => 'Aktuel tekst',
+'allmessagestext' => "Det as en list mä MediaWiki-süsteemteksten.
+Wees so gud an beschük a sidjen [//www.mediawiki.org/wiki/Localisation MediaWiki-auersaatang] an [//translatewiki.net translatewiki.net], wan dü bi't auersaaten mähalep meest.",
+'allmessagesnotsupportedDB' => 'Detdiar spezial-sidj koon ei brükt wurd, auer <tt>$wgUseDatabaseMessages</tt> ei aktiif as.',
+'allmessages-filter-legend' => 'Filter',
+'allmessages-filter' => 'Filter för di uunpaaset stant:',
+'allmessages-filter-unmodified' => 'Ünferanert',
+'allmessages-filter-all' => 'Aaltumaal',
+'allmessages-filter-modified' => 'Feranert',
+'allmessages-prefix' => 'Filter mä prefix:',
+'allmessages-language' => 'Spriak:',
+'allmessages-filter-submit' => 'Widjer',
 
 # Thumbnails
 'thumbnail-more' => 'fergrutre',
-'thumbnail_error' => "Bi't maagin faan't sümnaielbil ging wat skiaf: $1",
+'filemissing' => 'Datei ei diar',
+'thumbnail_error' => "Bi't skriiwen faan det sümnaielbil as wat skiaf gingen: $1",
+'thumbnail_error_remote' => 'Feeler faan $1:
+$2',
+'djvu_page_error' => 'DjVu-sidj as bütjen faan a sidjenrüm',
+'djvu_no_xml' => 'XML-dooten för det DjVu-datei kön ei ufrepen wurd',
+'thumbnail-temp-create' => 'Det datei för det tidjwiis sümnaielbil küd ei skrewen wurd',
+'thumbnail-dest-create' => 'Det sümnaielbil küd diar ei seekert wurd.',
+'thumbnail_invalid_params' => 'Sümnaieldooten steme ei',
+'thumbnail_dest_directory' => 'Det fertiaknis koon ei skrewen wurd.',
+'thumbnail_image-type' => 'Sok bilen kön ei brükt wurd',
+'thumbnail_gd-library' => 'GD-bibleteek ei gans diar: Det funktjuun $1 waant',
+'thumbnail_image-missing' => 'Det datei as wel ei diar: $1',
 
 # Special:Import
-'import' => 'Side importiire',
+'import' => 'Sidjen importiare',
 'importinterwiki' => 'Transwiki import',
+'import-interwiki-text' => "Schük en Wiki an en sidj tu importiarin ütj. A werjuunen an brükernöömer bliiw erhäälen.
+Transwiki-import-aktjuunen wurd uun't [[Special:Log/import|Import-logbuk]] fäästhäälen.",
+'import-interwiki-source' => 'Faan hün Wiki/sidj:',
+'import-interwiki-history' => 'Aal a werjuunen faan det sidj importiare',
+'import-interwiki-templates' => 'Mä aal a föörlaagen',
 'import-interwiki-submit' => 'Import',
+'import-interwiki-namespace' => 'Tu hün nöömrüm:',
+'import-interwiki-rootpage' => 'Tu hün sidj (optional):',
+'import-upload-filename' => 'Dateinööm:',
+'import-comment' => 'Komentaar:',
+'importtext' => 'Wees so gud an eksportiare det datei mä det spezial-sidj [[Special:Export|Eksport]] ütj det ööder Wiki. Det seekerst dü üüb dan reegner an schüürst det do heer huuch.',
+'importstart' => 'Importiare sidjen ...',
+'import-revision-count' => '$1 {{PLURAL:$1|werjuun|werjuunen}}',
+'importnopages' => 'Diar san nian sidjen tu importiarin.',
+'imported-log-entries' => '$1 {{PLURAL:$1|logbukiindrach|logbukiindracher}} importiaret.',
+'importfailed' => 'Import as skiaf gingen: <nowiki>$1</nowiki>',
+'importunknownsource' => 'Ünbekäänd importkwel',
+'importcantopen' => 'Det import-datei küd ei eeben maaget wurd.',
+'importbadinterwiki' => 'Ferkiard interwiki-link',
+'importnotext' => 'Leesag of nään tekst',
+'importsuccess' => 'Import klaar!',
+'importhistoryconflict' => 'Diar san al ääler werjuunen diar. Ferlicht as det sidj al ans importiaret wurden.',
+'importnosources' => 'För di transwiki-import san nian kwelen uunden. Dü könst werjuunen ei direkt huuchschüür.',
+'importnofile' => 'Diar as nian importdatei bestemet wurden.',
+'importuploaderrorsize' => "Bi't huuchschüüren faan det importdatei as wat skiaf gingen. Det datei as tu grat.",
+'importuploaderrorpartial' => "Bi't huuchschüüren faan det importdatei as wat skiaf gingen. Det datei as bluas dialwiis huuchschüürd wurden.",
+'importuploaderrortemp' => "Bi't huuchschüüren faan det importdatei as wat skiaf gingen. Diar as nian tidjwiis fertiaknis.",
+'import-parse-failure' => "Bi't importiarin faan det XML-datei as wat skiaf gingen.",
+'import-noarticle' => 'Diar as nian sidj tu importiarin bestemet wurden.',
+'import-nonewrevisions' => 'Aal jodiar werjuunen san al ans importiaret wurden.',
+'xml-error-string' => '$1 uun rä $2, türn $3 (byte $4): $5',
+'import-upload' => 'XML-datein importiare',
+'import-token-mismatch' => 'Session dooten san wech. Ferschük det noch ans weder.',
+'import-invalid-interwiki' => 'Faan detdiar Wiki koon ik ei importiare.',
+'import-error-edit' => 'Det sidj „$1“ as ei importiaret wurden, auer dü det ei bewerke mutst.',
+'import-error-create' => 'Det sidj „$1“ as ei importiaret wurden, auer dü det ei maage mutst.',
+'import-error-interwiki' => 'Det sidj „$1“ as ei importiaret wurden, auer di nööm för ferwisangen (interwiki) föörsen as.',
+'import-error-special' => 'Det sidj „$1“ as ei importiaret wurden, auer hat tu en nöömrüm hiart, huar nian sidjen mögelk san.',
+'import-error-invalid' => 'Det sidj „$1“ as ei importiaret wurden, auer di nööm ei stemet.',
+'import-error-unserialize' => 'Det werjuun $2 faan det sidj „$1“ küd ei deserialisiaret wurd. Det werjuun woort mä det münster $3 brükt, an det as mä $4 serialisiaret.',
+'import-options-wrong' => 'Ferkiard {{PLURAL:$2|iinstelang|iinstelangen}}: <nowiki>$1</nowiki>',
+'import-rootpage-invalid' => 'Didiar sidjennööm as ferkiard.',
+'import-rootpage-nosubpage' => 'Uun di nöömrüm „$1“ jaft at nian onersidjen.',
+
+# Import log
+'importlogpage' => 'Import-logbuk',
+'importlogpagetext' => 'Administratiif import faan sidjen mä aal a werjuunen faan ööder Wikis.',
+'import-logentry-upload' => '„[[$1]]“ faan en datei importiaret',
+'import-logentry-upload-detail' => '$1 {{PLURAL:$1|werjuun|werjuunen}}',
+'import-logentry-interwiki' => '„$1“ mä transwiki importiaret',
+'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|werjuun|werjuunen}} faan $2',
+
+# JavaScriptTest
+'javascripttest' => 'JavaScript-test',
+'javascripttest-title' => '$1-tests wurd ütjfeerd.',
+'javascripttest-pagetext-noframework' => 'Detdiar sidj as för JavaScript-tests föörsen.',
+'javascripttest-pagetext-unknownframework' => 'Ünbekäänd test-framework „$1“.',
+'javascripttest-pagetext-frameworks' => 'Schük ian faan jodiar test-frameworks ütj: $1',
+'javascripttest-pagetext-skins' => 'Schük en brüker-skak ütj, am di test ütjtufeeren:',
+'javascripttest-qunit-intro' => 'Luke efter bi [$1 test dokumentatjuun] üüb mediawiki.org',
+'javascripttest-qunit-heading' => 'JavaScript-QUnit-tester faan MediaWiki',
 
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Din brükersid',
-'tooltip-pt-mytalk' => 'Din diskusjoonssid',
+'tooltip-pt-anonuserpage' => 'Brükersidj faan det IP-adres, faan huar ütj dü werkest',
+'tooltip-pt-mytalk' => 'Din diskusjuunssidj',
+'tooltip-pt-anontalk' => 'Diskusjuun auer feranrangen faan detdiar IP-adres',
 'tooltip-pt-preferences' => 'Äine önjstalinge',
-'tooltip-pt-watchlist' => 'List foon eefterkiikede side',
-'tooltip-pt-mycontris' => 'List foon din tujeefte',
-'tooltip-pt-login' => 'Ham önjmälde wårt wälj hål sänj, ouers as niinj plächt.',
-'tooltip-pt-anonlogin' => 'Ham önjmälde wårt wälj hål sänj, ouers as niinj plächt.',
-'tooltip-pt-logout' => 'Oufmälde',
-'tooltip-ca-talk' => 'Diskusjoon ouer jü sidinhålt',
-'tooltip-ca-edit' => 'Sid beårbe. Hål for dåt spikern jü forlökfunksjoon brüke.',
+'tooltip-pt-watchlist' => "Sidjen, diar dü uun't uug behual wel",
+'tooltip-pt-mycontris' => 'List mä aanj bidracher',
+'tooltip-pt-login' => 'Wan dü di uunmeldest, heest dü muar mögelkhaiden. Dü säärst det oober ei.',
+'tooltip-pt-anonlogin' => 'Wan dü di uunmeldest, heest dü muar mögelkhaiden. Dü säärst det oober ei.',
+'tooltip-pt-logout' => 'Ufmelde',
+'tooltip-ca-talk' => 'Diskusjuun auer di artiikel',
+'tooltip-ca-edit' => 'Sidj bewerke. Luke di det iarst ans uun, iar dü det seekerst.',
 'tooltip-ca-addsection' => 'Nai oufsnaas begane',
 'tooltip-ca-viewsource' => 'Jüdeer sid wårt uner ferbading hülen. Di kwältäkst koon önjkiiked wårde.',
-'tooltip-ca-history' => 'Iire färsjoone foon jüdeer sid',
+'tooltip-ca-history' => 'Ääler werjuunen faan detdiar sidj',
 'tooltip-ca-protect' => 'Jüdeer sid schütse',
 'tooltip-ca-unprotect' => 'Seekerang feranere',
 'tooltip-ca-delete' => 'Jüdeer sid tunintemååge',
+'tooltip-ca-undelete' => 'Iindracher faan det sidj turaghaale, iar det stregen wurden as.',
 'tooltip-ca-move' => 'Jüdeer sid ferschüwe',
 'tooltip-ca-watch' => 'Jüdeer sid tu jü persöönlike eefterkiiksid baitufäige',
 'tooltip-ca-unwatch' => 'Jüdeer sid foon jü persöönlike eefterkiikliste wächnaame',
 'tooltip-search' => '{{SITENAME}} döörsäke',
 'tooltip-search-go' => 'Gung matiinjs tu jü sid, jü äksakt di injääwen noome önjtspreecht.',
-'tooltip-search-fulltext' => 'Säk eefter side, da dideere täkst öjnthüülje',
-'tooltip-p-logo' => 'Besäk jü hoodsid',
-'tooltip-n-mainpage' => 'Hoodsid wise',
-'tooltip-n-mainpage-description' => 'Hoodsid besäke',
+'tooltip-search-fulltext' => 'Schük efter sidjen mä didiar tekst',
+'tooltip-p-logo' => 'Hoodsidj beschük',
+'tooltip-n-mainpage' => 'Hoodsidj wise',
+'tooltip-n-mainpage-description' => 'Hoodsidj beschük',
 'tooltip-n-portal' => 'Ouer dåt portåål, wat dü düünj koost, weer wat tu finen as',
 'tooltip-n-currentevents' => 'Äädergrüninformasjoone tu aktuäle schaiinge',
-'tooltip-n-recentchanges' => 'List foon da leeste änringe önj {{SITENAME}}',
+'tooltip-n-recentchanges' => 'Leetst feranrangen faan {{SITENAME}}',
 'tooltip-n-randompage' => 'Tufali sid',
 'tooltip-n-help' => 'Heelpsid wise',
-'tooltip-t-whatlinkshere' => 'List foon ål da side, da heer jurt wise',
-'tooltip-t-recentchangeslinked' => 'Leest änringen bai side, da foon heer ferlinkd san',
+'tooltip-t-whatlinkshere' => 'Aal a sidjen, diar heerhen ferwise',
+'tooltip-t-recentchangeslinked' => 'Leetst feranrangen faan sidjen, huar faan heer üüb ferwiset woort',
 'tooltip-feed-rss' => 'RSS-feed for jüdeer sid',
 'tooltip-feed-atom' => 'Atom-feed for jüdeer sid',
-'tooltip-t-contributions' => 'List foon tujeefte foon dideere brüker önjkiike',
+'tooltip-t-contributions' => 'List mä bidracher faan didiar brüker uunluke',
 'tooltip-t-emailuser' => 'En e-mail tu dideere brüker siinje',
-'tooltip-t-upload' => 'Bile huuchschake',
+'tooltip-t-upload' => 'Datein huuchschüür',
 'tooltip-t-specialpages' => 'List foon ål da spesjåålside',
 'tooltip-t-print' => 'Prantönjsacht foon jüdeer sid',
 'tooltip-t-permalink' => 'Wååri link tu jüdeer sidfärsjoon',
 'tooltip-ca-nstab-main' => 'Sidinhålt wise',
 'tooltip-ca-nstab-user' => 'Brükersid wise',
+'tooltip-ca-nstab-media' => 'Mediendateisidj uunwise',
 'tooltip-ca-nstab-special' => 'Jüdeer sid as en spetsjåålsid. Jü koon ai beåarbed wårde.',
 'tooltip-ca-nstab-project' => 'Portoolsid wise',
 'tooltip-ca-nstab-image' => 'Dååtäisid wise',
+'tooltip-ca-nstab-mediawiki' => 'MediaWiki-süsteemtekst uunwise',
 'tooltip-ca-nstab-template' => 'Forlååge wise',
 'tooltip-ca-nstab-help' => 'Heelpsid wise',
 'tooltip-ca-nstab-category' => 'Kategoriisid wise',
 'tooltip-minoredit' => 'Jüdeer änring as latj markiire.',
-'tooltip-save' => 'Feranerangen seekre',
+'tooltip-save' => 'Feranrangen seekre',
 'tooltip-preview' => 'Forlök foon da änringe bai jüdeer sid. Hål for dåt spikern brüke!',
 'tooltip-diff' => 'Änringe bai di täkst wise',
-'tooltip-compareselectedversions' => 'Ferschääl twasche tou ütwäälde färsjoone foon jüdeer sid wise.',
+'tooltip-compareselectedversions' => 'Ferskeel tesken tau werjuunen faan detdiar sidj uunwise.',
 'tooltip-watch' => 'Fäig jüdeer sid foon din eefterkiikliste tubai',
+'tooltip-watchlistedit-normal-submit' => 'Iindracher wechnem',
+'tooltip-watchlistedit-raw-submit' => "List mä sidjen, diar dü uun't uug behual wel, aktualisiare",
+'tooltip-recreate' => 'Sidj nei maage, likes dat det al ans stregen wurden as',
+'tooltip-upload' => 'Huuchsjüüren began',
 'tooltip-rollback' => 'Mååget åle leeste änringe foon jü sid, da foon di lik brüker fornümen wörden san, döör iinj klik tuninte.',
 'tooltip-undo' => 'Mååget bloot jüdeer iinje änring tuninte än wist dåt resultoot önj e forlöksid önj, deerma önj e tukuupefootingssid en begrüning önjjääwen wårde koon.',
+'tooltip-preferences-save' => 'Iinstelangen seekre',
 'tooltip-summary' => 'Faade det kurt tuup',
 
+# Metadata
+'notacceptable' => 'Di Wiki-server koon a dooten ei för dan aperoot apwerke.',
+
+# Attribution
+'anonymous' => '{{PLURAL:$1|anonüümen brüker|anonüüm brükern}} üüb {{SITENAME}}',
+'siteuser' => '{{SITENAME}}-brüker $1',
+'anonuser' => 'Anonüüm {{SITENAME}}-brüker $1',
+'lastmodifiedatby' => 'Det sidj as tuleetst di $1 am a klook $2 faan $3 feranert wurden.',
+'othercontribs' => 'Üüb grünjlaag faan det werk faan $1.',
+'others' => 'öödern',
+'siteusers' => '{{SITENAME}} {{PLURAL:$2|brüker|brükern}} $1',
+'anonusers' => '{{PLURAL:$2|anonüümen|anonüüm}} {{SITENAME}}-{{PLURAL:$2|brüker|brükern}} $1',
+'creditspage' => 'Sidjeninformatsjuunen',
+'nocredits' => 'Diar san nian sidjeninformatsjuunen',
+
+# Spam protection
+'spamprotectiontitle' => 'Spam-filter',
+'spamprotectiontext' => 'Di tekst, diar dü seekre wulst, as ei troch a spam-filter kimen. Det leit was uun en ferwisang üüb en sidj efter bütjen.',
+'spamprotectionmatch' => "'''Didiar tekst as faan a spam-filter fünjen wurden: ''$1'''''",
+'spambot_username' => 'MediaWiki-spam apklaarin',
+'spam_reverting' => 'Leetst werjuun saner ferwisangen tu $1 weder iinsteld.',
+'spam_blanking' => 'Aal a werjuunen mä en ferwisang tu $1 san apklaaret wurden.',
+'spam_deleting' => 'Aal a werjuunen mä en ferwisung tu $1 san stregen wurden.',
+
+# Info page
+'pageinfo-title' => 'Informatsjuun tu „$1“',
+'pageinfo-not-current' => 'Det informatsjuun jaft at ei för ual werjuunen.',
+'pageinfo-header-basic' => 'Grünjdooten',
+'pageinfo-header-edits' => 'Ferluup bewerke',
+'pageinfo-header-restrictions' => 'Sidjenseekerhaid',
+'pageinfo-header-properties' => 'Sidjeniinstelangen',
+'pageinfo-display-title' => 'Uunwiset sidjennööm',
+'pageinfo-default-sort' => 'Normool sortiariinstelang',
+'pageinfo-length' => 'Sidjenlengde (uun bytes)',
+'pageinfo-article-id' => 'Sidjenkäännumer (ID)',
+'pageinfo-language' => 'Sidjenspriak',
+'pageinfo-robot-policy' => 'Schükmaskiin-stant',
+'pageinfo-robot-index' => 'Koon indisiaret wurd',
+'pageinfo-robot-noindex' => 'Koon ei indisiaret wurd',
+'pageinfo-views' => 'Taal faan kliks üüb det sidj',
+'pageinfo-watchers' => "Taal faan brükern, diar det sidj uun't uug haa",
+'pageinfo-few-watchers' => "Maner üs {{PLURAL:$1|ään brüker|$1 brükern}}, diar det sidj uun't uug haa",
+'pageinfo-redirects-name' => 'Widjerfeerangen tu detdiar sidj',
+'pageinfo-subpages-name' => 'Onersidjen faan detdiar sidj',
+'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|widjerfeerang|widjerfeerangen}}; $3 {{PLURAL:$3|onersidj|onersidjen}})',
+'pageinfo-firstuser' => 'Hoker det sidj maaget hää',
+'pageinfo-firsttime' => 'Wan det sidj maaget wurden as',
+'pageinfo-lastuser' => 'Leetst skriiwer',
+'pageinfo-lasttime' => "Dootem faan't leetst feranrang",
+'pageinfo-edits' => 'Taal faan feranrangen',
+'pageinfo-authors' => 'Taal faan skriiwern',
+'pageinfo-recent-edits' => 'Taal faan a leetst feranrangen (uun a leetst $1)',
+'pageinfo-recent-authors' => 'Taal faan skriiwern',
+'pageinfo-magic-words' => 'Maagisk {{PLURAL:$1|wurd|wurden}} ($1)',
+'pageinfo-hidden-categories' => 'Ferbürgen {{PLURAL:$1|kategorii|kategoriin}} ($1)',
+'pageinfo-templates' => 'Iinbünjen {{PLURAL:$1|föörlaag|föörlaagen}} ($1)',
+'pageinfo-transclusions' => 'Iinbünjen uun {{PLURAL:$1|1 sidj|$1 sidjen}}',
+'pageinfo-toolboxlink' => 'Sidjendooten',
+'pageinfo-redirectsto' => 'Widjerfeerangen tu',
+'pageinfo-redirectsto-info' => 'informatsjuun',
+'pageinfo-contentpage' => 'Üs artiikel tääld',
+'pageinfo-contentpage-yes' => 'Ja',
+'pageinfo-protect-cascading' => 'Sidjen mä kaskaadenseekerhaid faan heer',
+'pageinfo-protect-cascading-yes' => 'Ja',
+'pageinfo-protect-cascading-from' => 'Sidjen mä kaskaadenseekerhaid faan',
+'pageinfo-category-info' => 'Kategorii-informatjuun',
+'pageinfo-category-pages' => 'Taal faan sidjen',
+'pageinfo-category-subcats' => 'Taal faan onerkategoriin',
+'pageinfo-category-files' => 'Taal faan datein',
+
+# Patrolling
+'markaspatrolleddiff' => 'Üs kontroliaret kääntiakne',
+'markaspatrolledtext' => 'Sidj üs kontroliaret kääntiakne',
+'markedaspatrolled' => 'Üs kontroliaret kääntiakne',
+'markedaspatrolledtext' => 'Detdiar werjuun faan [[:$1]] as üs kontroliaret kääntiakent wurden.',
+'rcpatroldisabled' => 'A leetst feranrangen kön ei kontroliaret wurd.',
+'rcpatroldisabledtext' => 'A leetst feranrangen kön tu tidj ei kontroliaret wurd.',
+'markedaspatrollederror' => "Koon ei üs '''kontroliaret''' kääntiakent wurd.",
+'markedaspatrollederrortext' => 'Dü mutst en werjuun besteme, diar dü üs köntroliaret kääntiakne wel.',
+'markedaspatrollederror-noautopatrol' => 'Dü könst ei din aanj feranrangen üs kontroliaret kääntiakne.',
+'markedaspatrollednotify' => 'Det feranrang faan $1 as üs kontroliaret kääntiakent wurden.',
+'markedaspatrollederrornotify' => 'Det werjuun küd ei üs kontroliaret kääntiakent wurd.',
+
+# Patrol log
+'patrol-log-page' => 'Kontrol-logbuk',
+'patrol-log-header' => 'Det as det kontrol-logbuk.',
+'log-show-hide-patrol' => 'Kontrol-logbuk $1',
+
+# Image deletion
+'deletedrevision' => 'Ual werjuun $1 stregen',
+'filedeleteerror-short' => "Bi't striken faan det datei $1 as wat skiaf gingen.",
+'filedeleteerror-long' => "Bi't striken faan det datei as wat skiaf gingen:
+
+$1",
+'filedelete-missing' => 'Det datei „$1“ koon ei stregen wurd, auer hat goorei diar as.',
+'filedelete-old-unregistered' => 'Det datei-werjuun „$1“ as ei diar uun a dootenbeenk.',
+'filedelete-current-unregistered' => 'Det datei „$1“ as ei diar uun a dootenbeenk.',
+'filedelete-archive-read-only' => 'Det archiif-fertiaknis "$1" koon faan a webserver ei beskrewen wurd.',
+
 # Browsing diffs
 'previousdiff' => '← Tu di leest färsjoonsferschääl',
 'nextdiff' => 'Tu di näist färsjoonsferschääl →',
 
 # Media information
+'mediawarning' => "'''Paase üüb:''' Son datei koon fülk programcode haa. Bi't deelloosin an eeben maagin koon dan reegner komer fu.",
+'imagemaxsize' => "Bil mut ei grater wees üs:<br />''(för datei-beskriiwangen)''",
+'thumbsize' => 'Grate faan sümnaielbilen:',
+'widthheightpage' => '$1 × $2, {{PLURAL:$3|1 sidj|$3 sidjen}}',
+'file-info' => 'Dateigrate: $1, MIME-typ: $2',
 'file-info-size' => '$1 × $2 pixele, dååtäigrutelse: $3, MIME-typ: $4',
+'file-info-size-pages' => '$1 × $2 pixel, dateigrate: $3, MIME-typ: $4, $5 {{PLURAL:$5|sidj|sidjen}}',
 'file-nohires' => 'Niinj huuger apliising as deer.',
-'svg-long-desc' => 'SVG-dåtäi, basisgrutelse: $1 × $2 pixel, dåtäigrutelse: $3',
+'svg-long-desc' => 'SVG-datei, grate: $1 × $2 pixel, dateigrate: $3',
+'svg-long-desc-animated' => 'Animiaret SVG-datei, grate $1 × $2 pixel, dateigrate: $3',
+'svg-long-error' => 'Ferkiard SVG-datei: $1',
 'show-big-image' => 'Färsjon önj huuger apliising',
+'show-big-image-preview' => 'Grate faan det sümnaielbil: $1.',
+'show-big-image-other' => 'Ööder {{PLURAL:$2|apliasang|apliasangen}}: $1.',
+'show-big-image-size' => '$1 × $2 pixel',
+'file-info-gif-looped' => 'sleuf saner aanj',
+'file-info-gif-frames' => '$1 {{PLURAL:$1|bil|bilen}}',
+'file-info-png-looped' => 'sleuf saner aanj',
+'file-info-png-repeat' => '$1 {{PLURAL:$1|-sis}} ufspelet',
+'file-info-png-frames' => '$1 {{PLURAL:$1|bil|bilen}}',
+'file-no-thumb-animation' => "'''Paase üüb: Ütj technisk grünjer wurd sümnaielbilen ei animiaret uunwiset.'''",
+'file-no-thumb-animation-gif' => "'''Paase üüb: Ütj technisk grünjer wurd sümnaielbilen faan huuchapliasin GIF-datein ei animiaret uunwiset.'''",
 
 # Special:NewFiles
-'ilsubmit' => 'Sjük',
+'newimages' => 'Nei datein',
+'imagelisttext' => "Diar as en list faan '''$1''' {{PLURAL:$1|datei|datein}}, sortiaret $2.",
+'newimages-summary' => 'Detdiar spezial-sidj wiset a tuleetst huuchsjüürd datein uun.',
+'newimages-legend' => 'Filter',
+'newimages-label' => 'Dateinööm (of en dial diarfaan):',
+'showhidebots' => '(Bots $1)',
+'noimages' => 'Niks tu sen.',
+'ilsubmit' => 'Schük',
+'bydate' => 'efter dootem',
+'sp-newimages-showfrom' => 'Wise nei datein efter $1, klook $2',
+
+# Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'seconds' => '{{PLURAL:$1|$1 sekund|$1 sekunden}}',
+'minutes' => '{{PLURAL:$1|$1 minüüt|$1 minüüten}}',
+'hours' => '{{PLURAL:$1|$1 stünj|$1 stünjen}}',
+'days' => '{{PLURAL:$1|$1 dai|$1 daar}}',
+'weeks' => '{{PLURAL:$1|$1 weg|$1 wegen}}',
+'months' => '{{PLURAL:$1|$1 muun|$1 muuner}}',
+'years' => '{{PLURAL:$1|$1 juar|$1 juaren}}',
+'ago' => 'föör $1',
+'just-now' => 'jüst nü',
+
+# Human-readable timestamps
+'hours-ago' => 'föör {{PLURAL:$1|ian stünj|$1 stünjen}}',
+'minutes-ago' => 'föör {{PLURAL:$1|ian minüüt|$1 minüüten}}',
+'seconds-ago' => 'föör {{PLURAL:$1|ian sekund|$1 sekunden}}',
+'monday-at' => 'Mundai am a klook $1',
+'tuesday-at' => 'Teisdai am a klook $1',
+'wednesday-at' => 'Wäärnsdai am a klook $1',
+'thursday-at' => 'Süürsdai am a klook $1',
+'friday-at' => 'Freidai am a klook $1',
+'saturday-at' => 'Saninj am a klook $1',
+'sunday-at' => 'Söndai am a klook $1',
+'yesterday-at' => 'Jister am a klook $1',
 
 # Bad image list
-'bad_image_list' => 'Formååt:
+'bad_image_list' => 'Formaat:
 
-Bloot rae, da ma en * begane, wårde ütwjarted. As jarste eefter dåt * mötj en link aw en ai wansched dååtäi stönje.
-Deeraw föliende sidelinke önj dåtseelwi ra definiire ütnååme, önj di kontäkst weerfoon jü dååtäi duch tu schüns kaame mötj.',
+Bluas räen, diar mä en * began, wurd mätääld.
+Det skal bääft di * began mä en ferwisang üüb en ferkiard datei. 
+Ferwisangen uun det salew rä wurd üs ütjnoomen uunsen, huar det datei dach uunwiset wurd mut.',
 
 # Metadata
 'metadata' => 'Metadååte',
@@ -2109,19 +2944,506 @@ Deeraw föliende sidelinke önj dåtseelwi ra definiire ütnååme, önj di kont
 * gpslongitude
 * gpsaltitude',
 
+# Exif tags
+'exif-imagewidth' => 'Breetje',
+'exif-imagelength' => 'Hööchde',
+'exif-bitspersample' => 'Bits per klöör',
+'exif-compression' => 'Komprimiarang',
+'exif-photometricinterpretation' => 'Pixel bonk',
+'exif-orientation' => 'Perspektiiw',
+'exif-samplesperpixel' => 'Taal faan komponenten',
+'exif-planarconfiguration' => 'Dooten skak',
+'exif-ycbcrsubsampling' => 'subsampling rate faan Y bit C',
+'exif-ycbcrpositioning' => 'Y an C positjuun',
+'exif-xresolution' => 'Wairocht apliasang',
+'exif-yresolution' => 'Luadrocht apliasang',
+'exif-stripoffsets' => 'Image data location',
+'exif-rowsperstrip' => 'Taal faan rän per strimel',
+'exif-stripbytecounts' => 'Bytes per komprimiaret strimel',
+'exif-jpeginterchangeformat' => 'Offset tu JPEG SOI',
+'exif-jpeginterchangeformatlength' => 'Bytes faan JPEG-dooten',
+'exif-whitepoint' => 'White point chromaticity',
+'exif-primarychromaticities' => 'Chromaticities of primarities',
+'exif-ycbcrcoefficients' => 'Color space transformation matrix coefficients',
+'exif-referenceblackwhite' => 'Suart/witj referens ponkter',
+'exif-datetime' => "Dootem an klooktidj faan't seekrin",
+'exif-imagedescription' => "Nööm faan't bil",
+'exif-make' => 'Knipser onernemen',
+'exif-model' => 'Knipser marke/model',
+'exif-software' => 'Software',
+'exif-artist' => 'Fotogroof',
+'exif-copyright' => 'Bilrochten',
+'exif-exifversion' => 'Stant faan Exif',
+'exif-flashpixversion' => 'Flashpix-werjuun',
+'exif-colorspace' => 'Klöörenrüm',
+'exif-componentsconfiguration' => 'Enkelt komponenten',
+'exif-compressedbitsperpixel' => 'Komprimiaret bits per pixel',
+'exif-pixelydimension' => 'Bilbreetje',
+'exif-pixelxdimension' => 'Bilhööchde',
+'exif-usercomment' => 'Brüker komentaaren',
+'exif-relatedsoundfile' => 'Ferbünjen tuundatei',
+'exif-datetimeoriginal' => "Dootem an klooktidj faan't knipsin",
+'exif-datetimedigitized' => "Dootem an klooktidj faan't digitalisiarin",
+'exif-subsectime' => 'Tidjponkt faan seekrin (1/100 s)',
+'exif-subsectimeoriginal' => "Tidjponkt faan't knipsin (1/100 s)",
+'exif-subsectimedigitized' => "Tidjponkt faan't digitalisiarin (1/100 s)",
+'exif-exposuretime' => 'Belaachtangstidj',
+'exif-exposuretime-format' => '$1 sekunden ($2)',
+'exif-fnumber' => 'F numer (blend)',
+'exif-exposureprogram' => 'Belaachtangsprogram',
+'exif-spectralsensitivity' => 'Spectral sensitivity',
+'exif-isospeedratings' => 'ISO emfintelkhaid',
+'exif-shutterspeedvalue' => 'APEX shutter speed',
+'exif-aperturevalue' => 'APEX aperture',
+'exif-brightnessvalue' => 'APEX brightness',
+'exif-exposurebiasvalue' => 'APEX exposure bias',
+'exif-maxaperturevalue' => 'Gratst blend',
+'exif-subjectdistance' => "Wai tu't subjekt",
+'exif-meteringmode' => 'Meed muude',
+'exif-lightsource' => 'Laachtkwel',
+'exif-flash' => 'Laid',
+'exif-focallength' => 'Braanwidjens',
+'exif-subjectarea' => 'Rüm',
+'exif-flashenergy' => 'Laidmäächt',
+'exif-focalplanexresolution' => 'Focal plane X resolution',
+'exif-focalplaneyresolution' => 'Focal plane Y resolution',
+'exif-focalplaneresolutionunit' => 'Focal plane resolution unit',
+'exif-subjectlocation' => "Steed faan't motiif",
+'exif-exposureindex' => 'Belaachtangsindex',
+'exif-sensingmethod' => 'Meed muude',
+'exif-filesource' => 'Dateikwel',
+'exif-scenetype' => 'Scene type',
+'exif-customrendered' => 'Custom image processing',
+'exif-exposuremode' => 'Belaachtangsmuude',
+'exif-whitebalance' => 'Witjufglik',
+'exif-digitalzoomratio' => 'Digital zoom ratio',
+'exif-focallengthin35mmfilm' => 'Braanwidjens bi en 35 mm film',
+'exif-scenecapturetype' => 'Scene capture type',
+'exif-gaincontrol' => 'Scene control',
+'exif-contrast' => 'Kontrast',
+'exif-saturation' => 'Intensiteet faan klöören',
+'exif-sharpness' => 'Skarepens',
+'exif-devicesettingdescription' => 'Iinstelangen',
+'exif-subjectdistancerange' => "Wai uf faan't motiif",
+'exif-imageuniqueid' => 'Bil-ID',
+'exif-gpsversionid' => 'GPS tag werjuun',
+'exif-gpslatituderef' => 'Nuurdelk of süüdelk breetje',
+'exif-gpslatitude' => 'Geograafisk Breetje',
+'exif-gpslongituderef' => 'Uastelk of waastelk lengde',
+'exif-gpslongitude' => 'Geograafisk lengde',
+'exif-gpsaltituderef' => 'Hööchde uun ferglik mä',
+'exif-gpsaltitude' => 'Hööchde',
+'exif-gpstimestamp' => 'GPS-tidj',
+'exif-gpssatellites' => "För't meeden brükt sateliten",
+'exif-gpsstatus' => 'Receiver status',
+'exif-gpsmeasuremode' => "Muude för't meeden",
+'exif-gpsdop' => "Nauhaid faan't meeden",
+'exif-gpsspeedref' => "Ianhaid faan't faard",
+'exif-gpsspeed' => 'Faard faan a GPS-aperoot',
+'exif-gpstrackref' => "Referens för di kurs faan't faard",
+'exif-gpstrack' => "Kurs faan't faard",
+'exif-gpsimgdirectionref' => "Referens för't ütjrachtang",
+'exif-gpsimgdirection' => "Ütjrachtang faan't bil",
+'exif-gpsmapdatum' => 'Geodeetisk referens-süsteem',
+'exif-gpsdestlatituderef' => "Referens för't geograafisk breetje",
+'exif-gpsdestlatitude' => "Geograafisk breetje faan't aanj",
+'exif-gpsdestlongituderef' => "Referens för't geograafisk lengde",
+'exif-gpsdestlongitude' => "Geograafisk lengde faan't aanj",
+'exif-gpsdestbearingref' => "Referens för di kurs faan't aanj",
+'exif-gpsdestbearing' => "Kurs faan't aanj",
+'exif-gpsdestdistanceref' => "Referens för di wai tu't motiif",
+'exif-gpsdestdistance' => "Wai tu't motiif",
+'exif-gpsprocessingmethod' => 'GPS muude',
+'exif-gpsareainformation' => 'GPS rüm',
+'exif-gpsdatestamp' => 'GPS dootem',
+'exif-gpsdifferential' => 'GPS diferential korektuur',
+'exif-jpegfilecomment' => 'JPEG dateikomentaar',
+'exif-keywords' => 'Steegwurden',
+'exif-worldregioncreated' => 'Weltregiuun, huar det bil apnimen wurden as',
+'exif-countrycreated' => 'Lun, huar det bil apnimen wurden as',
+'exif-countrycodecreated' => 'ISO-code faan det lun',
+'exif-provinceorstatecreated' => 'Prowins of federaalstoot, huar det bil aonimen wurden as',
+'exif-citycreated' => 'Stääd, huar det bil apnimen wurden as',
+'exif-sublocationcreated' => 'Stäädregiuun, huar det bil apnimen wurden as',
+'exif-worldregiondest' => 'Uunwiset weltregiuun',
+'exif-countrydest' => 'Uunwiset lun',
+'exif-countrycodedest' => 'ISO-code för det uunwiset lun',
+'exif-provinceorstatedest' => 'Prowins of federaalstoot',
+'exif-citydest' => 'Uunwiset stääd',
+'exif-sublocationdest' => 'Uunwiset stäädregiuun',
+'exif-objectname' => 'Kurt tiitel',
+'exif-specialinstructions' => 'Ekstra uunwisangen',
+'exif-headline' => 'Auerskraft',
+'exif-credit' => 'Faan hoker',
+'exif-source' => 'Faan huar',
+'exif-editstatus' => 'Hüwidj bewerket',
+'exif-urgency' => 'Hü nuadag',
+'exif-fixtureidentifier' => 'Ööders wat',
+'exif-locationdest' => 'Steed üüb det bil',
+'exif-locationdestcode' => "ISO-code faan det steed üüb't bil",
+'exif-objectcycle' => "Tidj üüb a dai för't iinstelen",
+'exif-contact' => 'Kontaktdooten',
+'exif-writer' => 'Skriiwer',
+'exif-languagecode' => 'Spriak',
+'exif-iimversion' => 'IIM werjuun',
+'exif-iimcategory' => 'Kategorii',
+'exif-iimsupplementalcategory' => 'Muar kategooriin',
+'exif-datetimeexpires' => 'Ei muar tu brüken efter',
+'exif-datetimereleased' => 'Ütjden di',
+'exif-originaltransmissionref' => 'ISO-code faan det steed, huar det bil auerdraanj wurden as',
+'exif-identifier' => 'Käänang',
+'exif-lens' => 'Hün objektiif',
+'exif-serialnumber' => 'Luupen numer faan a knipser',
+'exif-cameraownername' => 'Hoker di knipser hiart',
+'exif-label' => 'Betiaknang',
+'exif-datetimemetadata' => 'Leetst feranrang faan meta-dooten',
+'exif-nickname' => 'Nööm för det bil',
+'exif-rating' => 'Wäärdaghaid (1 tu 5, 5 as best)',
+'exif-rightscertificate' => 'Rights management certificate',
+'exif-copyrighted' => 'Copyright-Status:',
+'exif-copyrightowner' => 'Bilrochten lei bi',
+'exif-usageterms' => 'Brükerreegeln',
+'exif-webstatement' => 'Online copyright statement',
+'exif-originaldocumentid' => "Iandüüdag käänang (ID) faan't dokument",
+'exif-licenseurl' => 'URL for copyright license',
+'exif-morepermissionsurl' => 'Muar lisensen',
+'exif-attributionurl' => 'Wan dü det bil brük wel, saat en ferwisang üüb:',
+'exif-preferredattributionname' => 'Wan dü det bil brük wel, nääm:',
+'exif-pngfilecomment' => 'PNG dateikomentaar',
+'exif-disclaimer' => 'Disclaimer',
+'exif-contentwarning' => 'Wäärnang',
+'exif-giffilecomment' => 'GIF dateikomentaar',
+'exif-intellectualgenre' => 'Slach faan bil',
+'exif-subjectnewscode' => 'Motiif-code',
+'exif-scenecode' => 'IPTC-code',
+'exif-event' => 'Begeebenhaid',
+'exif-organisationinimage' => 'Organisatjuun',
+'exif-personinimage' => 'Persuun',
+'exif-originalimageheight' => "Hööchde faan't bil föör't beklapen",
+'exif-originalimagewidth' => "Breetje faan't bil föör't beklapen",
+
+# Exif attributes
+'exif-compression-1' => 'Ünkomprimiaret',
+'exif-compression-2' => 'CCITT Group 3 1-Dimensional Modified Huffman run length encoding',
+'exif-compression-3' => 'CCITT Group 3 fax encoding',
+'exif-compression-4' => 'CCITT Group 4 fax encoding',
+
+'exif-copyrighted-true' => 'Mä kopiarrocht',
+'exif-copyrighted-false' => 'Saner kopiarrocht',
+
+'exif-unknowndate' => 'Ünbekäänd dootem',
+
+'exif-orientation-1' => 'Normool',
+'exif-orientation-2' => 'Wairocht speegelt',
+'exif-orientation-3' => 'Am 180° dreid',
+'exif-orientation-4' => 'Luadrocht speegelt',
+'exif-orientation-5' => 'Jin a klook am 90° dreid an luadrocht speegelt.',
+'exif-orientation-6' => 'Jin a klook am 90° dreid',
+'exif-orientation-7' => 'Mä a klook am 90° dreid an luadrocht speegelt.',
+'exif-orientation-8' => 'Mä a klook am 90° dreid',
+
+'exif-planarconfiguration-1' => 'Grööw formaat',
+'exif-planarconfiguration-2' => 'Planaar formaat',
+
+'exif-colorspace-65535' => 'Ei kalibriaret',
+
+'exif-componentsconfiguration-0' => 'as ei diar',
+
+'exif-exposureprogram-0' => 'ei bekäänd',
+'exif-exposureprogram-1' => 'Manuel',
+'exif-exposureprogram-2' => 'Normool program',
+'exif-exposureprogram-3' => 'Tidjautomaatik',
+'exif-exposureprogram-4' => 'Blendenautomaatik',
+'exif-exposureprogram-5' => 'Kreatiifprogram mä jip skarepens',
+'exif-exposureprogram-6' => 'Aktjuunsprogram mä kurt belaachtangstidj',
+'exif-exposureprogram-7' => 'Portree-muude mä skarepen föörgrünj',
+'exif-exposureprogram-8' => 'Loonskap-muude mä skarepen bääftgrünj',
+
+'exif-subjectdistance-value' => '$1 meetern',
+
+'exif-meteringmode-0' => 'Ünbekäänd',
+'exif-meteringmode-1' => 'Madel',
+'exif-meteringmode-2' => 'Skarep maden',
+'exif-meteringmode-3' => 'Spot',
+'exif-meteringmode-4' => 'Multi-Spot',
+'exif-meteringmode-5' => 'Münster',
+'exif-meteringmode-6' => 'Bil-dial',
+'exif-meteringmode-255' => 'Ööder',
+
+'exif-lightsource-0' => 'Ünbekäänd',
+'exif-lightsource-1' => 'Dailaacht',
+'exif-lightsource-2' => 'Fluorescent',
+'exif-lightsource-3' => 'Konstlaacht',
+'exif-lightsource-4' => 'Laid',
+'exif-lightsource-9' => 'Smok weder',
+'exif-lightsource-10' => 'Betaanj',
+'exif-lightsource-11' => 'Skaad',
+'exif-lightsource-12' => 'Daylight fluorescent (D 5700 – 7100K)',
+'exif-lightsource-13' => 'Day white fluorescent (N 4600 – 5400K)',
+'exif-lightsource-14' => 'Cool white fluorescent (W 3900 – 4500K)',
+'exif-lightsource-15' => 'White fluorescent (WW 3200 – 3700K)',
+'exif-lightsource-17' => 'Standard light A',
+'exif-lightsource-18' => 'Standard light B',
+'exif-lightsource-19' => 'Standard light C',
+'exif-lightsource-24' => 'ISO studio konstlaacht',
+'exif-lightsource-255' => 'Ööder laacht',
+
+# Flash modes
+'exif-flash-fired-0' => 'Nään laid',
+'exif-flash-fired-1' => 'Laid ütjliaset',
+'exif-flash-return-0' => 'Laid schüürt nian dooten',
+'exif-flash-return-2' => 'Nään laid tu sen',
+'exif-flash-return-3' => 'Laid wiar tu sen',
+'exif-flash-mode-1' => 'Mä twüngen laid',
+'exif-flash-mode-2' => 'Laid ufsteld',
+'exif-flash-mode-3' => 'Automaatik',
+'exif-flash-function-1' => 'Nään laid mögelk',
+'exif-flash-redeye-1' => 'Nian ruad uugen muude',
+
+'exif-focalplaneresolutionunit-2' => 'tol',
+
+'exif-sensingmethod-1' => 'Ei bekäänd',
+'exif-sensingmethod-2' => 'One-chip color area sensor',
+'exif-sensingmethod-3' => 'Two-chip color area sensor',
+'exif-sensingmethod-4' => 'Three-chip color area sensor',
+'exif-sensingmethod-5' => 'Color sequential area sensor',
+'exif-sensingmethod-7' => 'Trilinear sensor',
+'exif-sensingmethod-8' => 'Color sequential linear sensor',
+
+'exif-filesource-3' => 'Digitaal stunbilknipser',
+
+'exif-scenetype-1' => 'Normool',
+
+'exif-customrendered-0' => 'Normool',
+'exif-customrendered-1' => 'Brüker-iinsteld',
+
+'exif-exposuremode-0' => 'Automaatisk belaachtang',
+'exif-exposuremode-1' => 'Manuel belaachtang',
+'exif-exposuremode-2' => 'Belaachtangsrä',
+
+'exif-whitebalance-0' => 'Automaatisk',
+'exif-whitebalance-1' => 'Manuel',
+
+'exif-scenecapturetype-0' => 'Normool',
+'exif-scenecapturetype-1' => 'Loonskap',
+'exif-scenecapturetype-2' => 'Portree',
+'exif-scenecapturetype-3' => 'Naacht',
+
+'exif-gaincontrol-0' => 'Nian',
+'exif-gaincontrol-1' => 'Letjet ap',
+'exif-gaincontrol-2' => 'Föl ap',
+'exif-gaincontrol-3' => 'Letjet deel',
+'exif-gaincontrol-4' => 'Föl deel',
+
+'exif-contrast-0' => 'Normool',
+'exif-contrast-1' => 'Swaak',
+'exif-contrast-2' => 'Stark',
+
+'exif-saturation-0' => 'Normool',
+'exif-saturation-1' => 'Letjet',
+'exif-saturation-2' => 'Huuch',
+
+'exif-sharpness-0' => 'Normool',
+'exif-sharpness-1' => 'Swaak',
+'exif-sharpness-2' => 'Stark',
+
+'exif-subjectdistancerange-0' => 'Ünbekäänd',
+'exif-subjectdistancerange-1' => 'Makro',
+'exif-subjectdistancerange-2' => 'Nai bi',
+'exif-subjectdistancerange-3' => 'Widj wech',
+
+# Pseudotags used for GPSLatitudeRef and GPSDestLatitudeRef
+'exif-gpslatitude-n' => 'Nuurdelk breetje',
+'exif-gpslatitude-s' => 'Süüdelk breetje',
+
+# Pseudotags used for GPSLongitudeRef and GPSDestLongitudeRef
+'exif-gpslongitude-e' => 'Uastelk lengde',
+'exif-gpslongitude-w' => 'Waastelk lengde',
+
+# Pseudotags used for GPSAltitudeRef
+'exif-gpsaltitude-above-sealevel' => '{{PLURAL:$1|Ään meeter|$1 meetern}} auer siapeegel',
+'exif-gpsaltitude-below-sealevel' => '{{PLURAL:$1|Ään meeter|$1 meetern}} oner siapeegel',
+
+'exif-gpsstatus-a' => 'Measurement in progress',
+'exif-gpsstatus-v' => 'Measurement interoperability',
+
+'exif-gpsmeasuremode-2' => '2-dimensional measurement',
+'exif-gpsmeasuremode-3' => '3-dimensional measurement',
+
+# Pseudotags used for GPSSpeedRef
+'exif-gpsspeed-k' => 'km/h',
+'exif-gpsspeed-m' => 'mph',
+'exif-gpsspeed-n' => 'kn',
+
+# Pseudotags used for GPSDestDistanceRef
+'exif-gpsdestdistance-k' => 'Kilomeetern',
+'exif-gpsdestdistance-m' => 'Miilen',
+'exif-gpsdestdistance-n' => 'Siamiilen',
+
+'exif-gpsdop-excellent' => 'Auer a miaten ($1)',
+'exif-gpsdop-good' => 'Gud ($1)',
+'exif-gpsdop-moderate' => 'Madel ($1)',
+'exif-gpsdop-fair' => 'Gongt so ($1)',
+'exif-gpsdop-poor' => 'Ei so dol ($1)',
+
+'exif-objectcycle-a' => 'Bluas am maarlem',
+'exif-objectcycle-p' => 'Bluas am injem',
+'exif-objectcycle-b' => 'Eder am maarlam an am injem',
+
+# Pseudotags used for GPSTrackRef, GPSImgDirectionRef and GPSDestBearingRef
+'exif-gpsdirection-t' => 'Rochtwisin kurs',
+'exif-gpsdirection-m' => 'Magneetisk kurs',
+
+'exif-ycbcrpositioning-1' => 'Sentriaret',
+'exif-ycbcrpositioning-2' => 'Uun naiberskap',
+
+'exif-dc-contributor' => 'Bidracher faan',
+'exif-dc-coverage' => 'Spatial or temporal scope of media',
+'exif-dc-date' => 'Dootem',
+'exif-dc-publisher' => 'Ütjden faan',
+'exif-dc-relation' => 'Ferbünjen meedien',
+'exif-dc-rights' => 'Rochten',
+'exif-dc-source' => 'Meeedienkwel',
+'exif-dc-type' => 'Meedienslach',
+
+'exif-rating-rejected' => 'Turagwiset',
+
+'exif-isospeedratings-overflow' => 'Grater üs 65535',
+
+'exif-iimcategory-ace' => 'Konst, kultüür an onerhualang',
+'exif-iimcategory-clj' => 'Rocht an ferbreegen',
+'exif-iimcategory-dis' => 'Katastroofen an ünfaaler',
+'exif-iimcategory-fin' => 'Wiartskap an bedriiwer',
+'exif-iimcategory-edu' => 'Onerracht',
+'exif-iimcategory-evn' => 'Natüür an amwelt',
+'exif-iimcategory-hth' => 'Sünjhaid',
+'exif-iimcategory-hum' => 'Persöönelk intresen',
+'exif-iimcategory-lab' => 'Werk',
+'exif-iimcategory-lif' => 'Freitidj an muude',
+'exif-iimcategory-pol' => 'Politik',
+'exif-iimcategory-rel' => 'Religioon an gluuw',
+'exif-iimcategory-sci' => 'Wedenskap an technologii',
+'exif-iimcategory-soi' => 'Mäenööder',
+'exif-iimcategory-spo' => 'Sport',
+'exif-iimcategory-war' => 'Kriich, stridj an ünrau',
+'exif-iimcategory-wea' => 'Weder',
+
+'exif-urgency-normal' => 'Normool ($1)',
+'exif-urgency-low' => 'Liach ($1)',
+'exif-urgency-high' => 'Huuch ($1)',
+'exif-urgency-other' => 'Faan a brüker fäästlaanj prioriteet ($1)',
+
 # External editor support
-'edit-externally' => 'Jüdeer dåtäi ma en äkstärn prugram beårbe',
+'edit-externally' => 'Detdiar datei mä en ekstern program bewerke',
 'edit-externally-help' => '(Sii da [//www.mediawiki.org/wiki/Manual:External_editors Installationsanweisungen] for widere Informasjoon)',
 
 # 'all' in various places, this might be different for inflected languages
-'watchlistall2' => 'åle',
-'namespacesall' => 'åle',
-'monthsall' => 'åle',
+'watchlistall2' => 'aaltumaal',
+'namespacesall' => 'aaltumaal',
+'monthsall' => 'aaltumaal',
 'limitall' => 'åle',
 
+# Email address confirmation
+'confirmemail' => 'E-mail-adres gudkään',
+'confirmemail_noemail' => 'Dü heest nian gud e-mail-adres uun din [[Special:Preferences|persöönelk iinstelangen]] iindraanj.',
+'confirmemail_text' => '{{SITENAME}} ferlangt, dat dü din e-mail-adres gudkäänst, iar dü a ütjwidjet e-mail-funktjuunen brük könst. Trak üüb det fial „E-mail-code tusjüür“, am dat dü en e-mail tuschüürd feist, huar di code uun stäänt an en URL, am din adres gudtukäänen.',
+'confirmemail_pending' => 'Dü heest al en e-mail mä di e-mail-code tuschüürd füngen. Teew noch en uugenblak, det komt wel noch. Bluas wan det goorei loket, ferlang efter en neien code.',
+'confirmemail_send' => 'E-mail-code tuschüür',
+'confirmemail_sent' => 'E-mail-code as wechschüürd wurden.',
+'confirmemail_oncreate' => "En e-mail mä di e-mail-code as tu din e-mail-adres schüürd wurden. Hi as ei nuadag tu uunmeldin, oober hi woort brükt för ütjwidjet e-mail-funktjuunen uun't Wiki.",
+'confirmemail_sendfailed' => '{{SITENAME}} küd det e-mail mä di e-mail-code ei wechschüür.
+Luke noch ans, of dü det e-mail-adres rocht apskrewen heest.
+
+Di mail-server swaaret: $1',
+'confirmemail_invalid' => 'Di e-mail-code as ei gud. Ferlicht as hi tu ual.
+Ferschük det man noch ans.',
+'confirmemail_needlogin' => 'Dü skel di $1, am din e-mail-adres gudtukäänen.',
+'confirmemail_success' => 'Din e-mail-adres as gudkäänd wurden.
+Dü könst di nü [[Special:UserLogin|uunmelde]].',
+'confirmemail_loggedin' => 'Din e-mail-adres as gudkäänd wurden.',
+'confirmemail_error' => "Bi't gudkäänen faan din e-mail-adres as wat skiaf gingen.",
+'confirmemail_subject' => '[{{SITENAME}}] E-mail-adres gudkään',
+'confirmemail_body' => 'Gud dai,
+
+hoker mä det IP-adres $1 (woorskiinelk dü salew) hää det brükerkonto „$2“ bi {{SITENAME}} iinracht.
+
+Am a e-mail-funktjuunen faan {{SITENAME}} (weder) aktiif tu fun, an am seeker tu stelen, dat det brükerkonto uk würelk mä din e-mail-adres tuuphiart, gung tu detdiar ferwisang:
+
+$3
+
+Wan dü det brükerkonto *ei* iinracht hast, do gung tu detdiar ferwisang, am det gudkäänen uftubreegen:
+
+$5
+
+Didiar code täält bit $6, am a klook $7.',
+'confirmemail_body_changed' => 'Hoker mä det IP-adres $1 (woorskiinelk dü salew) hää det e-mail-adres faan det brükerkonto „$2“ bi {{SITENAME}} feranert.
+
+Am seeker tu stelen, dat det brükerkonto uk würelk di hiart, an am a e-mail-funktjuunen bi {{SITENAME}} weder uun a gang tu fun, gung tu detdiar ferwisang:
+
+$3
+
+Wan det *ei* din brükerkonto as, do gung tu detdiar ferwisang, am det gudkäänen uftubreegen:
+
+$5
+
+Didiar code täält bit $4.',
+'confirmemail_body_set' => "Hoker mä det IP-adres $1 (woorskiinelk dü salew) hää det e-mail-adres faan't brükerkonto „$2“ üüb {{SITENAME}} tu detdiar e-mail-adres amanert.
+
+Am seeker tu stelen, dat det brükerkonto würelk di hiart, an am a e-mail-funktjuunen üüb {{SITENAME}} weder uun a gang tu fun, gung tu detdiar ferwisang:
+
+$3
+
+Wan det *ei* din konto as, do gung tu detdiar ferwisang, am det gudkäänen uftubreegen:
+
+$5
+
+Didiar code täält bit $4.",
+'confirmemail_invalidated' => "Det gudkäänen faan't e-mail-adres as ufbreegen wurden.",
+'invalidateemail' => "Breeg gudkäänen faan't e-mail-adres uf",
+
+# Scary transclusion
+'scarytranscludedisabled' => '[Iinbinjen faan interwikis as ei aktiif]',
+'scarytranscludefailed' => '[Iinbinjen faan föörlaagen för $1 as skiaf gingen]',
+'scarytranscludefailed-httpstatus' => '[Ufrepen faan föörlaagen för $1 as skiaf gingen: HTTP  $2]',
+'scarytranscludetoolong' => '[URL as tu lung]',
+
+# Delete conflict
+'deletedwhileediting' => "'''Paase üüb:''' Det sidj as stregen wurden, üs dü diar jüst bi werket heest!
+Uun't [{{fullurl:{{#special:Log}}|type=delete&page={{FULLPAGENAMEE}}}} Strik-logbuk] fanjst dü di grünj för't striken. Wan dü det sidj seekerst, woort det nei uunlaanj.",
+'confirmrecreate' => "Di brüker [[User:$1|$1]] ([[User talk:$1|Diskusjuun]]) hää det sidj stregen, üs dü diar jüst bi werket heest. Di grünj wiar:
+:''$2''
+Ferseekre, dat dü det sidj würelk nei maage wel.",
+'confirmrecreate-noreason' => 'Di brüker [[User:$1|$1 ]] ([[User talk:$1|Diskusjuun]]) hää det sidj stregen, huar dü jüst bi werket heest. Ferseekre, dat dü det sidj würelk nei maage wel.',
+'recreate' => 'Nei maage',
+
+# action=purge
+'confirm_purge_button' => 'OK',
+'confirm-purge-top' => 'Det sidj ütj a cache strik?',
+'confirm-purge-bottom' => 'Maaget di cache leesag an wiset det neist werjuun uun.',
+
+# action=watch/unwatch
+'confirm-watch-button' => 'OK',
+'confirm-watch-top' => "Wel dü detdiar sidj uun't uug behual?",
+'confirm-unwatch-button' => 'OK',
+'confirm-unwatch-top' => "Wel dü detdiar sidj ei muar uun't uug behual?",
+
+# Multipage image navigation
+'imgmultipageprev' => '← leetst sidj (turag)',
+'imgmultipagenext' => 'naist sidj →',
+'imgmultigo' => 'Widjer',
+'imgmultigoto' => 'Gung tu sidj $1',
+
 # Table pager
 'ascending_abbrev' => 'ap',
 'descending_abbrev' => 'deel',
+'table_pager_next' => 'Naist sidj',
+'table_pager_prev' => 'Leetst sidj (turag)',
+'table_pager_first' => 'Iarst sidj',
+'table_pager_last' => 'Leetst sidj',
+'table_pager_limit' => 'Wise $1 iindracher per sidj',
+'table_pager_limit_label' => 'Iindracher per sidj:',
+'table_pager_limit_submit' => 'Widjer',
+'table_pager_empty' => 'Diar wiar niks',
 
 # Auto-summaries
 'autosumm-blank' => 'Det sidj as leesag maaget wurden.',
@@ -2129,25 +3451,127 @@ Deeraw föliende sidelinke önj dåtseelwi ra definiire ütnååme, önj di kont
 'autoredircomment' => 'Sidj tu [[$1]] widjerfeerd',
 'autosumm-new' => 'Det sidj as nei uunlaanj wurden: "$1"',
 
+# Live preview
+'livepreview-loading' => 'Loose ...',
+'livepreview-ready' => 'Loosin ... Klaar!',
+'livepreview-failed' => 'Live-preview wul ei!
+Ferschük det üüb di normool wai.',
+'livepreview-error' => 'Küd ei ferbinj: $1 "$2".
+Ferschük det üüb di normool wai.',
+
+# Friendlier slave lag warnings
+'lag-warn-normal' => 'Feranrangen faan {{PLURAL:$1|at leetst sekund|a leetst $1 sekunden}} kön noch ei uunwiset wurd.',
+'lag-warn-high' => 'Auer det huuch dootenbeenklääst kön a feranrangen faan {{PLURAL:$1|at leetst sekund|a leetst $1 sekunden}} noch ei uunwiset wurd.',
+
+# Watchlist editor
+'watchlistedit-numitems' => "Dü heest {{PLURAL:$1|ian sidj|$1 sidjen}} uun't uug. A diskusjuunssidjen wurd ei mätääld.",
+'watchlistedit-noitems' => "Dü heest nian sidjen, diar dü uun't uug behual wel.",
+'watchlistedit-normal-title' => "List mä sidjen, diar dü uun't uug behual wel, bewerke",
+'watchlistedit-normal-legend' => "Ei muar uun't uug behual",
+'watchlistedit-normal-explain' => "Jodiar sidjen wel dü uun't uug behual. Am iindracher tu striken, kääntiakne a kaschin üüb sidj faan di iindrach an trak oner üüb „{{int:Watchlistedit-normal-submit}}“. Dü könst det list uk uun't [[Special:EditWatchlist/raw|listenformoot]] bewerke.",
+'watchlistedit-normal-submit' => 'Iindracher wechnem',
+'watchlistedit-normal-done' => '{{PLURAL:$1|Ään iindrach as|$1 iindracher san}} faan det list wechnimen wurden:',
+'watchlistedit-raw-title' => "Uun't listenformoot bewerke",
+'watchlistedit-raw-legend' => "Uun't listenformoot bewerke",
+'watchlistedit-raw-explain' => "Jodiar sidjen, diar dü uun't uug behual wel, san uun't listenformoot apskrewen. A iindracher kön räwiis stregen of ütjwidjet wurd.
+Uun arke rä mut ään iindrach stun. Wan dü klaar beest, trak oner üüb „{{int:Watchlistedit-raw-submit}}“.
+Dü könst uk det [[Special:EditWatchlist|normool sidj]] tu bewerkin nem.",
+'watchlistedit-raw-titles' => 'Iindracher:',
+'watchlistedit-raw-submit' => "List mä sidjen, diar dü uun't uug behual wel, aktualisiare",
+'watchlistedit-raw-done' => "Det list mä sidjen, diar dü uun't uug behual wel, as nü üüb di neist stant.",
+'watchlistedit-raw-added' => '{{PLURAL:$1|Ään iindrach as|$1 iindracher san}} diartu skrewen wurden:',
+'watchlistedit-raw-removed' => '{{PLURAL:$1|Ään iindrach as|$1 iindracher san}} wechnimen wurden:',
+
 # Watchlist editing tools
 'watchlisttools-view' => 'Eefterkiiklist: änringe',
-'watchlisttools-edit' => 'normåål beårbe',
-'watchlisttools-raw' => 'Listeformoot beårbe (import/äksport)',
+'watchlisttools-edit' => 'Normool bewerke',
+'watchlisttools-raw' => "Uun't listenformoot bewerke",
+
+# Signatures
+'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|Diskusjuun]])',
 
 # Core parser functions
+'unknown_extension_tag' => "Ünbekäänd ''tag'' „$1“",
 'duplicate-defaultsort' => '\'\'\'Paase üüb:\'\'\' Di sortiarkai "$2" auerskraft di ual sortiarkai "$1"',
 
 # Special:Version
+'version' => 'Werjuun',
+'version-extensions' => 'Instaliaret ütjwidjangen',
+'version-specialpages' => 'Spezial-sidjen',
+'version-parserhooks' => 'Ütjwidjet parserfunktjuunen',
+'version-variables' => 'Wariaabeln',
+'version-antispam' => "''Spam''seekerangen",
+'version-skins' => 'Brükerskaker',
+'version-other' => 'Ööders wat',
+'version-mediahandlers' => 'Ütjwidjet medien-funktjuunen',
+'version-hooks' => 'Hooks',
+'version-extension-functions' => 'Ütjwidjet funktjuunen',
+'version-parser-extensiontags' => 'Parser extension tags',
+'version-parser-function-hooks' => 'Parser function hooks',
+'version-hook-name' => 'Hook nööm',
+'version-hook-subscribedby' => 'Aprepen faan',
+'version-version' => '(Werjuun $1)',
+'version-license' => 'Lisens',
+'version-poweredby-credits' => "Detheer wääbsteed werket mä '''[//www.mediawiki.org/wiki/MediaWiki/de MediaWiki]''', Copyright © 2001–$1 $2.",
+'version-poweredby-others' => 'öödern',
+'version-credits-summary' => 'Wi besoonke üs bi jodiar persuunen för hör bidracher tu [[Special:Version|MediaWiki]].',
+'version-license-info' => 'MediaWiki 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.
+
+MediaWiki 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 [{{SERVER}}{{SCRIPTPATH}}/COPYING 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 or [//www.gnu.org/licenses/old-licenses/gpl-2.0.html read it online].',
 'version-software' => 'Instaliird software',
 'version-software-product' => 'Produkt',
 'version-software-version' => 'Färsjoon',
+'version-entrypoints' => 'URLs faan hüsdörsidjen',
+'version-entrypoints-header-entrypoint' => 'Hüsdörsidj',
+'version-entrypoints-header-url' => 'URL',
+
+# Special:Redirect
+'redirect' => 'Widjerfeerang üüb en brükersidj, sidjenwerjuun of datei.',
+'redirect-legend' => 'Widjerfeerang üüb en sidjenwerjuun of datei.',
+'redirect-summary' => 'Det spezial-sidj feert widjer üüb en brükersidj, sidjenwerjuun of datei.',
+'redirect-submit' => 'Widjer',
+'redirect-lookup' => 'Schük:',
+'redirect-value' => 'Käänang of dateinööm:',
+'redirect-user' => 'Brüker-ID',
+'redirect-revision' => 'Sidjenwerjuun',
+'redirect-file' => 'Dateinööm',
+'redirect-not-exists' => 'Wäärs ei fünjen',
 
 # Special:FileDuplicateSearch
-'fileduplicatesearch-submit' => 'Sjük',
+'fileduplicatesearch' => 'Schük dobelt datein',
+'fileduplicatesearch-summary' => 'Dobelt datein schük üüb grünjlaag faan hör hash-wäärs',
+'fileduplicatesearch-legend' => 'Dobelt datein schük',
+'fileduplicatesearch-filename' => 'Dateinööm:',
+'fileduplicatesearch-submit' => 'Schük',
+'fileduplicatesearch-info' => '$1 × $2 pixel<br />Dateigrate: $3<br />MIME-typ: $4',
+'fileduplicatesearch-result-1' => 'Diar san nian dobelt datein faan „$1“.',
+'fileduplicatesearch-result-n' => 'Det datei „$1“ hää {{PLURAL:$2|1 dobelt ütjfeerang|$2 dobelt ütjfeerangen}}.',
+'fileduplicatesearch-noresults' => 'Nian datei mä di nööm „$1“ fünjen.',
 
 # Special:SpecialPages
-'specialpages' => 'Spetsjåålside',
+'specialpages' => 'Spezial-sidjen',
+'specialpages-note' => '----
+* Normool spezial-sidjen
+* <span class="mw-specialpagerestricted">Spezial-sidjen mä tugripsrochten</span>
+* <span class="mw-specialpagecached">Spezial-sidjen uun a cache (As ferlicht ei muar aktuel.)</span>',
+'specialpages-group-maintenance' => 'Werksteedsidjen',
+'specialpages-group-other' => 'Ööder spezial-sidjen',
 'specialpages-group-login' => 'Melde di uun of skriiw di iin',
+'specialpages-group-changes' => 'Leetst feranrangen an logbuken',
+'specialpages-group-media' => 'Medien',
+'specialpages-group-users' => 'Brükern an rochten',
+'specialpages-group-highuse' => 'Flooksis brükt sidjen',
+'specialpages-group-pages' => 'Sidjen',
+'specialpages-group-pagetools' => 'Sidjenwerktjüch',
+'specialpages-group-wiki' => 'Dooten an werktjüch',
+'specialpages-group-redirects' => 'Spezial-sidjen, diar widjer feer',
+'specialpages-group-spam' => "''Spam'' werktjüch",
+
+# Special:BlankPage
+'blankpage' => 'Leesag sidj',
+'intentionallyblankpage' => 'Det sidj as mä walem leesag. Hat woort för benchmarks brükt.',
 
 # External image whitelist
 'external_image_whitelist' => " #Feranere detheer rä ei<pre>
@@ -2160,24 +3584,75 @@ Deeraw föliende sidelinke önj dåtseelwi ra definiire ütnååme, önj di kont
 #Skriiw dialen faan reguleer ütjdrüker auer detheer rä. Feranere detheer rä ei</pre>",
 
 # Special:Tags
+'tags' => 'Feranrangskääntiaken',
 'tag-filter' => '[[Special:Tags|Kääntiaken]] filter:',
+'tag-filter-submit' => 'Filter',
+'tags-title' => 'Kääntiaken',
+'tags-intro' => "Det sidj wiset kääntiaken, diar för't bewerkin brükt wurd, an wat jo men.",
+'tags-tag' => 'Kääntiaken-nööm',
+'tags-display-header' => 'Nööm üüb feranrangslisten',
+'tags-description-header' => 'Widjloftag beskriiwang',
+'tags-hitcount-header' => 'Kääntiakent feranrangen',
+'tags-edit' => 'bewerke',
+'tags-hitcount' => '$1 {{PLURAL:$1|feranrang|feranrangen}}',
+
+# Special:ComparePages
+'comparepages' => 'Sidjen ferglik',
+'compare-selector' => 'Sidjenwerjuunen ferglik',
+'compare-page1' => 'Sidj 1',
+'compare-page2' => 'Sidj 2',
+'compare-rev1' => 'Werjuun 1',
+'compare-rev2' => 'Werjuun 2',
+'compare-submit' => 'Ferglik',
+'compare-invalid-title' => 'Didiar sidjennööm gongt ei.',
+'compare-title-not-exists' => 'Son sidjennööm as diar ei.',
+'compare-revision-not-exists' => 'Son werjuun as diar ei.',
+
+# Database error messages
+'dberr-header' => 'Det Wiki hää komer.',
+'dberr-problems' => 'Dää mi iarag! Det sidj hää technisk komer.',
+'dberr-again' => 'Teew en uugenblak an ferschük det noch ans.',
+'dberr-info' => '(Koon ei mä a dootenbeenk-server ferbinj: $1)',
+'dberr-usegoogle' => 'Uun a teskentidj küdst dü det mä Google ferschük.',
+'dberr-outofdate' => 'Seenk diaram, dat Google ferlicht ual dooten uunwiset.',
+'dberr-cachederror' => 'Detheer komt ütj en cache an as ferlicht ei muar aktuel.',
 
 # HTML forms
+'htmlform-invalid-input' => 'Diar as wat skiaf gingen mä din uunfraag.',
+'htmlform-select-badoption' => 'Didiar wäärs as ei tuläät.',
+'htmlform-int-invalid' => 'Didiar wäärs as nian hial taal.',
+'htmlform-float-invalid' => 'Didiar wäärs as nian taal.',
+'htmlform-int-toolow' => 'Didiar wäärs as letjer üs det minimum faan $1.',
+'htmlform-int-toohigh' => 'Didiar wäärs as grater üs det maximum faan $1.',
+'htmlform-required' => 'Di wäärs woort brükt.',
+'htmlform-submit' => 'Auerdreeg',
+'htmlform-reset' => 'Feranrangen turagsaat.',
 'htmlform-selectorother-other' => 'Oudere',
+'htmlform-no' => 'Naan',
+'htmlform-yes' => 'Ja',
+'htmlform-chosen-placeholder' => 'Schük ütj',
+
+# SQLite database support
+'sqlite-has-fts' => "Werjuun $1 mä halep för't schüken uun di hialer tekst.",
+'sqlite-no-fts' => "Werjuun $1 saner halep för't schüken uun di hialer tekst.",
 
 # New logging system
 'logentry-delete-delete' => '$1 {{Gender:$2}} hää det sidj $3 stregen',
 'logentry-delete-restore' => '$1 {{GENDER:$2}} hää det sidj $3 weder iinsteld',
 'logentry-delete-event' => '$1 {{GENDER:$2}} hää det uunsicht feranert faan {{PLURAL:$5|en logbuk iindrach|$5 logbuk iindracher}} üüb $3: $4',
-'logentry-delete-revision' => '$1 {{GENDER:$2}} hää det uunsicht feranert faan {{PLURAL:$5|ian wersjuun|$5 wersjuunen}} faan det sidj $3: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2}} hää det uunsicht feranert faan {{PLURAL:$5|ian werjuun|$5 werjuunen}} faan det sidj $3: $4',
 'logentry-delete-event-legacy' => '$1 {{GENDER:$2}} hää det uunsicht feranert faan logbuk iindracher üüb $3',
-'logentry-delete-revision-legacy' => '$1 {{GENDER:$2}} hää det uunsicht feranert faan wersjuunen faan det sidj $3',
+'logentry-delete-revision-legacy' => '$1 {{GENDER:$2}} hää det uunsicht feranert faan werjuunen faan det sidj $3',
 'logentry-suppress-delete' => '$1 {{GENDER:$2}} hää det sidj $3 wechtrakt',
 'logentry-suppress-event' => '$1 {{GENDER:$2}} hää stalswigin det uunsicht feranert faan {{PLURAL:$5|en logbuk iindrach|$5 logbuk iindracher}} üüb $3: $4',
-'logentry-suppress-revision' => '$1 {{GENDER:$2}} hää stalswigin det uunsicht feranert faan {{PLURAL:$5|ian wersjuun|$5 wersjuunen}} faan det sidj $3: $4',
+'logentry-suppress-revision' => '$1 {{GENDER:$2}} hää stalswigin det uunsicht feranert faan {{PLURAL:$5|ian werjuun|$5 werjuunen}} faan det sidj $3: $4',
 'logentry-suppress-event-legacy' => '$1 {{GENDER:$2}} hää stalswigin det uunsicht feranert faan logbuk iindracher üüb $3',
-'logentry-suppress-revision-legacy' => '$1 {{GENDER:$2}} hää stalswigin det uunlukin feranert faan wersjuunen faan det sidj $3',
+'logentry-suppress-revision-legacy' => '$1 {{GENDER:$2}} hää stalswigin det uunlukin feranert faan werjuunen faan det sidj $3',
+'revdelete-content-hid' => 'Ferbürgen',
+'revdelete-summary-hid' => 'Ferbürgen tuupfaadang',
 'revdelete-uname-hid' => 'brükernoome ferstäägen',
+'revdelete-content-unhid' => 'Ei muar ferberag',
+'revdelete-summary-unhid' => 'Tuupfaadang ei muar ferberag',
 'revdelete-uname-unhid' => 'brükernoome frijääwen',
 'revdelete-restricted' => 'gränse jüle uk for administratoore',
 'revdelete-unrestricted' => 'gränse for administratoore wächnümen',
@@ -2185,13 +3660,80 @@ Deeraw föliende sidelinke önj dåtseelwi ra definiire ütnååme, önj di kont
 'logentry-move-move-noredirect' => '$1 {{GENDER:$2}} hää det sidj $3 efter $4 saner widjerfeerang fersköwen.',
 'logentry-move-move_redir' => '$1 {{GENDER:$2}} hää det sidj $3 efter $4 fersköwen an diarbi en widjerfeerang auerskrewen.',
 'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2}} hää det sidj $3 efter $4 fersköwen an diarbi en widjerfeerang auerskrewen saner salew en widjerfeerang uuntuleien.',
+'logentry-patrol-patrol' => '$1 {{GENDER:$2|hää}} det werjuun $4 faan sidj $3 üs kontroliaret kääntiakent.',
+'logentry-patrol-patrol-auto' => '$1 {{GENDER:$2|hää}} det werjuun $4 faan sidj $3 automaatisk üs kontroliaret kääntiakent.',
 'logentry-newusers-newusers' => 'Brükerkonto $1 as {{GENDER:$2|iinracht}} wurden',
+'logentry-newusers-create' => 'Brükerkonto as faan $1 {{GENDER:$2|iinracht}} wurden.',
 'logentry-newusers-create2' => 'Brükerkonto $3 as faan $1 {{GENDER:$2|iinracht}} wurden',
+'logentry-newusers-byemail' => 'Brükerkonto $3 as faan $1 {{GENDER:$2|iinracht}} wurden, an det paaswurd as per e-mail tuschüürd wurden.',
 'logentry-newusers-autocreate' => 'Brükerkonto $1 as automaatisk {{GENDER:$2|iinracht}} wurden',
+'logentry-rights-rights' => '$1 {{GENDER:$2|hää}} det brükerskööl för $3 faan $4 tu $5 feranert.',
+'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|hää}} det brükerskööl för $3 feranert.',
+'logentry-rights-autopromote' => '$1 as automaatisk faan $4 tu $5 {{GENDER:$2|tuwiset}} wurden.',
 'rightsnone' => '(-)',
 
+# Feedback
+'feedback-bugornote' => 'Wan dü en technisk probleem beskriiw wel, wees so gud an skriiw [$1 am di feeler].
+Ööders könst dü uk det formulaar oner brük. Dan komentaar woort tuup mä dan brükernööm an det werjuun faan dan browser üüb det sidj „[$3 $2]“ skrewen.',
+'feedback-subject' => 'Teemo:',
+'feedback-message' => 'Mädialang:',
+'feedback-cancel' => 'Ufbreeg',
+'feedback-submit' => 'Komentaar ufsjüür',
+'feedback-adding' => 'Komentaar woort tu det sidj skrewen ...',
+'feedback-error1' => 'Feeler: Ünbekäänd API-bööd',
+'feedback-error2' => 'Feeler: Bewerkin as skiaf gingen.',
+'feedback-error3' => 'Feeler: Nian API-oonswaar',
+'feedback-thanks' => 'Föl soonk. Dan komentaar as üüb det sidj „[$2 $1]“ skrewen wurden.',
+'feedback-close' => 'Klaar',
+'feedback-bugcheck' => 'Gud! Luke noch ans efter, of det ei ferlicht en [$1 bekäänden feeler] as.',
+'feedback-bugnew' => 'Haa ik efterluket. Nei feeler melde.',
+
 # Search suggestions
-'searchsuggest-search' => 'Sjük',
+'searchsuggest-search' => 'Schük',
+'searchsuggest-containing' => 'diar banen as ...',
+
+# API errors
+'api-error-badaccess-groups' => 'Dü mutst nian datein tu detdiar Wiki huuchschüür.',
+'api-error-badtoken' => 'Intern feeler: Token as ferkiard.',
+'api-error-copyuploaddisabled' => 'Det huuchschüüren auer URL as üüb didiar server ei aktiif.',
+'api-error-duplicate' => 'Uun det Wiki {{PLURAL:$1|as al [$2 en ööder datei]|san al [$2 muar datein]}} mä detsalew banen.',
+'api-error-duplicate-archive' => 'Diar wiar al {{PLURAL:$1|[$2 ööder datei]|[$2 ööder datein]}} mä detsalew banen. {{PLURAL:$1|Hat as |Jo san}} oober stregen wurden.',
+'api-error-duplicate-archive-popup-title' => 'Dobelt {{PLURAL:$1|datei, diar al stregen wurden as|datein, diar al stregen wurden san}}.',
+'api-error-duplicate-popup-title' => 'Dobelt {{PLURAL:$1|datei|datein}}',
+'api-error-empty-file' => 'Det datei, wat dü huuchsjüürd heest, as leesag.',
+'api-error-emptypage' => 'Dü mutst nian leesag sidjen nei iinstel.',
+'api-error-fetchfileerror' => "Intern feeler: Bi't ufrepen faan det datei as wat skiaf gingen.",
+'api-error-fileexists-forbidden' => 'En datei mä di nööm „$1“ as al diar. Hat koon ei auerskrewen wurd.',
+'api-error-fileexists-shared-forbidden' => "En date mä di nööm „$1“ as al uun't gemiansoom archiif an koon ei auerskrewen wurd.",
+'api-error-file-too-large' => 'Det datei, wat dü huuchsjüürd heest, as tu grat.',
+'api-error-filename-tooshort' => 'Di dateinööm as tu kurt.',
+'api-error-filetype-banned' => 'Son slach faan datei as ei tuläät.',
+'api-error-filetype-banned-type' => '$1 {{PLURAL:$4|as nään tuläät slach faan datein|san nian tuläät slacher faan datein}}.
+{{PLURAL:$3|En tuläät slach as|Tuläät slacher san}} $2.',
+'api-error-filetype-missing' => 'Det datei, wat dü huuchschüür wel, hää nian dateiaanj.',
+'api-error-hookaborted' => 'Det feranerang, wat dü maage wulst, as ufbreegen wurden.',
+'api-error-http' => 'Intern feeler: Ferbinjang tu a server as skiaf gingen.',
+'api-error-illegal-filename' => 'Didiar dateinööm as ei tuläät.',
+'api-error-internal-error' => "Intern feeler: diar as wat skiaf gingen bi't huuchschüüren faan det datei tu det Wiki.",
+'api-error-invalid-file-key' => 'Intern feeler: Det datei as uun det tidjwiis archiif ei fünjen wurden.',
+'api-error-missingparam' => 'Intern feeler: Det uunfraag as ei hial uunkimen.',
+'api-error-missingresult' => 'Intern feeler: Küd ei luke, of det kopiarin loket hää.',
+'api-error-mustbeloggedin' => 'Dü skel di uunmelde, am datein huuchtuschüüren.',
+'api-error-mustbeposted' => 'Intern feeler: Ferkiard HTTP-muude.',
+'api-error-noimageinfo' => 'Det huuchschüüren hää loket, oober di server hää nian datei-dooten.',
+'api-error-nomodule' => 'Intern feeler: Diar as nian modul tu huuchsjüüren fäästlaanj wurden.',
+'api-error-ok-but-empty' => 'Intern feeler: Di server sait niks.',
+'api-error-overwrite' => 'Dü könst nian datei auerskriiw, wat al diar as.',
+'api-error-stashfailed' => 'Intern feeler: Di server küd nian tidjwiis datei seekre.',
+'api-error-publishfailed' => 'Intern feeler: Di server küd det tidjwiis datei ei widjer schüür.',
+'api-error-timeout' => 'Di server hää ei rochttidjag swaaret (time-out).',
+'api-error-unclassified' => 'Diar as irgentwat skiaf gingen.',
+'api-error-unknown-code' => 'Ünbekäänd feeler: „$1“',
+'api-error-unknown-error' => "Intern feeler: Bi't huuchschüüren faan det datei as wat skiaf gingen.",
+'api-error-unknown-warning' => 'Ünbekäänd wäärnang: $1',
+'api-error-unknownerror' => 'Ünbekäänd feeler: „$1“',
+'api-error-uploaddisabled' => 'Uun detdiar Wiki könst dü niks huuchschüür.',
+'api-error-verification-error' => 'Det datei, wat dü huuchschüür wel, as uunstaken of hää en ferkiard dateiaanj.',
 
 # Durations
 'duration-seconds' => '$1 {{PLURAL:$1|sekund|sekunden}}',
@@ -2204,4 +3746,7 @@ Deeraw föliende sidelinke önj dåtseelwi ra definiire ütnååme, önj di kont
 'duration-centuries' => '$1 {{PLURAL:$1|juarhunert|juarhunerten}}',
 'duration-millennia' => '$1 {{PLURAL:$1|juardüüsen|juardüüsenen}}',
 
+# Image rotation
+'rotate-comment' => 'Bil am $1 {{PLURAL:$1|graad}} mä a klook dreid.',
+
 );
index f5bebb2..93ce1c3 100644 (file)
@@ -1099,6 +1099,15 @@ Cjale ancje lis [[Special:WantedCategories|categoriis desideradis]].',
 'listusers-noresult' => 'Nissun utent cjatât.',
 'listusers-blocked' => '({{GENDER:$1|blocât|blocade}})',
 
+# Special:ActiveUsers
+'activeusers' => 'Liste dai utents atîfs',
+'activeusers-intro' => 'Cheste e je une liste dai utents che a àn vût cualchi gjenar di ativitât {{PLURAL:$1|te ultime dì|tai ultins $1 diis}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|cambiament|cambiaments}} {{PLURAL:$3|te ultime dì|tai ultins $3 diis}}',
+'activeusers-from' => 'Mostre i utents scomençant di:',
+'activeusers-hidebots' => 'Plate i bots',
+'activeusers-hidesysops' => 'Plate i aministradôrs',
+'activeusers-noresult' => 'Nissun utent cjatât.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Dirits dai grups di utents',
 'listgrouprights-group' => 'Grup',
@@ -1141,8 +1150,8 @@ e la pagjine e sarà '''gruessute''' te [[Special:RecentChanges|liste dai ultins
 'notanarticle' => 'Cheste pagjine no je une vôs',
 'watchnochange' => 'Nissun element di chei tignûts di voli al è stât cambiât tal periodi mostrât.',
 'watchlist-details' => '{{PLURAL:$1|E je $1 pagjine tignude|A son $1 pagjinis tignudis}} di voli, cence contâ lis pagjinis di discussion.',
-'wlheader-enotif' => 'Notifiche par pueste eletroniche ativade.',
-'wlheader-showupdated' => "Lis pagjinis gambiadis de ultime volte che tu lis âs cjaladis a son mostradis in '''gruessut'''",
+'wlheader-enotif' => 'Notifiche par pueste eletroniche ativade.',
+'wlheader-showupdated' => "Lis pagjinis gambiadis de ultime volte che tu lis âs cjaladis a son mostradis in '''gruessut'''",
 'watchlistcontains' => 'Tu stâs tignint di voli $1 {{PLURAL:$1|pagjine|pagjinis}}.',
 'wlnote' => "Ca sot {{PLURAL:$1|al è il cambiament plui recent|a son i '''$1''' cambiaments plui recents}} {{PLURAL:$2|inte ultime ore|intes '''$2''' oris passadis}}.",
 'wlshowlast' => 'Mostre ultimis $1 oris $2 zornadis $3',
@@ -1515,7 +1524,7 @@ Se il file al è stât cambiât rispiet al so stât origjinâl, cualchi informaz
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Largjece',
 'exif-imagelength' => 'Altece',
 'exif-orientation' => 'Orientament',
@@ -1533,7 +1542,7 @@ Se il file al è stât cambiât rispiet al so stât origjinâl, cualchi informaz
 'exif-contrast' => 'Control contrast',
 'exif-gpsaltitude' => 'Altitudin',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Cence compression',
 
 'exif-unknowndate' => 'Date no cognossude',
@@ -1618,9 +1627,6 @@ Se il file al è stât cambiât rispiet al so stât origjinâl, cualchi informaz
 'version-license' => 'Licence',
 'version-software-version' => 'Version',
 
-# Special:FilePath
-'filepath-page' => 'Non dal file:',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Non dal file:',
 'fileduplicatesearch-submit' => 'Cîr',
index a2ac05e..756e74a 100644 (file)
@@ -171,8 +171,6 @@ $messages = array(
 'tog-shownumberswatching' => 'It tal brûkers sjen litte dat dizze side folget',
 'tog-oldsig' => 'Hûdige sinjatuerprintallyk:',
 'tog-fancysig' => 'Sinjatuer as wikitekst behannelje (sûnder automatyske keppeling)',
-'tog-externaleditor' => 'Standert in eksterne tekstbewurker brûke (allinne foar experts - foar dizze funksje binne spesjale ynstellings nedich)',
-'tog-externaldiff' => 'Standert in ekstern ferlikingsprogramma brûke (allinne foar experts - foar dizze funksje binne spesjale ynstellings nedich)',
 'tog-showjumplinks' => '"gean nei"-tapaslikens-links ynskeakelje',
 'tog-uselivepreview' => '"live proefbyld" brûke (JavaScript nedich - eksperimenteel)',
 'tog-forceeditsummary' => 'Warskôgje at ik de gearfetting leech lit.',
@@ -960,14 +958,6 @@ Jo kinne ek in nammerûmte as foarheaksel brûke.",
 'search-external' => 'Utwindich sykje',
 'searchdisabled' => '<p>Op it stuit stiet it trochsykjen fan tekst út omdat dizze funksje tefolle kompjûterkapasiteit ferget. As we nije apparatuer krije, en dy is ûnderweis, dan wurdt dizze funksje wer aktyf. Oant salang kinne jo sykje fia Google:</p>',
 
-# Quickbar
-'qbsettings' => 'Menu',
-'qbsettings-none' => 'Ut',
-'qbsettings-fixedleft' => 'Lofts fêst',
-'qbsettings-fixedright' => 'Rjochts fêst',
-'qbsettings-floatingleft' => 'Lofts sweevjend',
-'qbsettings-floatingright' => 'Rjochts sweevjend',
-
 # Preferences page
 'preferences' => 'Ynstellings',
 'mypreferences' => 'Myn foarkarynstellings',
@@ -2117,10 +2107,6 @@ Sjoch: [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation], [//transl
 'spamprotectiontext' => "De side dy't jo fêstlizze woene is blokkearre troch in spam filter. Dit wurdt wierskynlik feroarsake troch in ferwizing nei in ekstern webstee.",
 'spamprotectionmatch' => 'De neikommende tekst hat it spam filter aktivearre: $1',
 
-# Skin names
-'skinname-standard' => 'Standert',
-'skinname-nostalgia' => 'Nostalgy',
-
 # Patrolling
 'markaspatrolleddiff' => 'Markearje as kontroleare',
 'markaspatrolledtext' => 'Markearje dizze side as kontrolearre',
@@ -2178,7 +2164,7 @@ Alle folgjende links dy't op deselde rigel steane, wurde behannele as útsûnder
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-samplesperpixel' => 'Oantal komponinten',
 'exif-xresolution' => 'Horizontale resolúsje',
 'exif-yresolution' => 'Fertikale resolúsje',
@@ -2316,11 +2302,6 @@ Wolle jo de side wier op 'e nij skriuwe?",
 'version-software-product' => 'Produkt',
 'version-software-version' => 'Ferzje',
 
-# Special:FilePath
-'filepath' => 'Triempad',
-'filepath-page' => 'Triem:',
-'filepath-submit' => 'Pad',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Sykje op duplikaten',
 'fileduplicatesearch-legend' => 'Sykje op duplikaten',
index 7139033..2fbaa9d 100644 (file)
@@ -124,8 +124,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Taispeán an méid úsáideoirí atá ag faire',
 'tog-oldsig' => 'Réamhamharc ar an síniú atá ann:',
 'tog-fancysig' => 'Sínithe bunúsacha mar vicítéacs (gan nasc uathoibríoch)',
-'tog-externaleditor' => 'Bain úsáid as eagarthóir seachtrach mar réamhshocrú (saineolaithe amháin, tá socrú speisialta de dhíth ort. [//www.mediawiki.org/wiki/Manual:External_editors Tuilleadh eolais.])',
-'tog-externaldiff' => 'Bain úsáid as difríocht sheachtrach mar réamhshocrú (saineolaithe amháin, tá socrú speisialta de dhíth ort. [//www.mediawiki.org/wiki/Manual:External_editors Tuilleadh eolais.])',
 'tog-showjumplinks' => 'Cumasaigh naisc insroichteachta “léim go dtí”',
 'tog-uselivepreview' => 'Bain úsáid as réamhamharc beo (JavaScript) (Turgnamhach)',
 'tog-forceeditsummary' => 'Cuir in iúl dom nuair a chuirim isteach achoimre eagair folamh',
@@ -823,14 +821,6 @@ Bain triail as ''all:'' a chur roimh d'iarratas chun an t-inneachar ar fad (leat
 'powersearch-togglenone' => 'Tada',
 'searchdisabled' => "Tá brón orainn! Mhíchumasaíodh an cuardach téacs iomlán go sealadach chun luas an tsuímh a chosaint. Idir an dá linn, is féidir leat an cuardach Google anseo thíos a úsáid - b'fhéidir go bhfuil sé as dáta.",
 
-# Quickbar
-'qbsettings' => 'Sainroghanna an bosca uirlisí',
-'qbsettings-none' => 'Faic',
-'qbsettings-fixedleft' => 'Greamaithe ar chlé',
-'qbsettings-fixedright' => 'Greamaithe ar dheis',
-'qbsettings-floatingleft' => 'Ag faoileáil ar chlé',
-'qbsettings-floatingright' => 'Ag faoileáil ar dheis',
-
 # Preferences page
 'preferences' => 'Sainroghanna',
 'mypreferences' => 'Sainroghanna',
@@ -1297,8 +1287,8 @@ agus beidh '''cló trom''' ar a theideal san [[Special:RecentChanges|liosta de n
 'watchnochange' => 'Níor athraíodh ceann ar bith de na leathanaigh atá ar do liosta faire,
 taobh istigh den tréimhse atá roghnaithe agat.',
 'watchlist-details' => 'Tá tú ag faire ar {{PLURAL:$1|leathanach amháin|$1 leathanaigh}}, gan leathanaigh phlé a chur san áireamh.',
-'wlheader-enotif' => 'Cumasaíodh fógraí riomhphoist.',
-'wlheader-showupdated' => "Tá '''cló trom''' ar leathanaigh a athraíodh ón uair is deireanaí a d'fhéach tú orthu.",
+'wlheader-enotif' => 'Cumasaíodh fógraí riomhphoist.',
+'wlheader-showupdated' => "Tá '''cló trom''' ar leathanaigh a athraíodh ón uair is deireanaí a d'fhéach tú orthu.",
 'watchmethod-recent' => 'ag seiceáil na athruithe deireanacha ar do chuid leathanaigh faire',
 'watchmethod-list' => 'ag seiceáil na leathanaigh faire ar do chuid athruithe deireanacha',
 'watchlistcontains' => 'Tá {{PLURAL:$1|leathanach amháin|$1 leathanaigh}} ar do liosta faire.',
@@ -1780,13 +1770,8 @@ iarradh sábháil. Is dócha gur nasc chuig suíomh seachtrach ba chúis leis.',
 'spambot_username' => 'MediaWiki turscar glanadh',
 
 # Skin names
-'skinname-standard' => 'Clasaiceach',
-'skinname-nostalgia' => 'Sean-nós',
 'skinname-cologneblue' => 'Gorm Köln',
 'skinname-monobook' => 'MonoBook',
-'skinname-myskin' => 'MoChraiceann',
-'skinname-chick' => 'Sicín',
-'skinname-simple' => 'Simplí',
 'skinname-modern' => 'Nua-aimseartha',
 'skinname-vector' => 'Veicteoir',
 
@@ -1860,7 +1845,7 @@ Beidh na cinn eile ceilte de réir réamhshocraithe.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Leithead',
 'exif-imagelength' => 'Airde',
 'exif-bitspersample' => 'Gíotáin sa chomhpháirt',
@@ -1977,7 +1962,7 @@ Beidh na cinn eile ceilte de réir réamhshocraithe.
 'exif-languagecode' => 'Teanga',
 'exif-iimcategory' => 'Catagóir',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Neamh-chomhbhrúite',
 
 'exif-unknowndate' => 'Dáta anaithnid',
@@ -2209,11 +2194,6 @@ Rachaidh an cód deimhnithe seo as feidhm ag $4.',
 'version-software-version' => 'Leagan',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Cosán comhaid',
-'filepath-page' => 'Comhad:',
-'filepath-submit' => 'Gabh',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Ainm comhaid:',
 'fileduplicatesearch-submit' => 'Cuardaigh',
index 2a20940..a52e9a3 100644 (file)
@@ -124,8 +124,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Bildirmää maillerinde e-mail adresimi göster.',
 'tog-shownumberswatching' => 'İzlään kullanıcı sayısın göster',
 'tog-fancysig' => 'Çii imza (İmzanız görüner nesoy onu yukarda belirttiniz. Sayfanıza avtomatik baalantı yaratılmaycêk)',
-'tog-externaleditor' => 'Düzmää başka editor programmasılan yap',
-'tog-externaldiff' => 'Karşılaştırmakları dış programmalan yap.',
 'tog-showjumplinks' => '"Git" baalantısın işlet',
 'tog-uselivepreview' => 'Tez cannı ön siiri kullan (JavaScript) (êksperimental)',
 'tog-forceeditsummary' => 'Bana haber ver ne zaman ani kısa annatmanı boş braacam',
@@ -797,7 +795,7 @@ Sizin bakmaa [[Special:Watchlist|listasındaki]] sayfalar verildi '''kalın''' b
 # Special:ListGroupRights
 'listgrouprights-members' => '(azaların listası)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Gönder bu kullanıcıya bir e-mail',
 
 # Watchlist
index 983559c..3456d6e 100644 (file)
@@ -63,8 +63,6 @@ $messages = array(
 'tog-shownumberswatching' => '显示有几多人监视',
 'tog-oldsig' => '现有𠮶签名:',
 'tog-fancysig' => '搦签名以维基字对待(冇自动连结)',
-'tog-externaleditor' => '默认用外部编辑器(专家用𠮶功能,要到倷𠮶电脑上头特别𠮶设置一下)',
-'tog-externaldiff' => '默认用外部差异比较器(专家用𠮶功能,要到汝𠮶电脑上头特别𠮶设置下。[//www.mediawiki.org/wiki/Manual:External_editors 别𠮶信息])',
 'tog-showjumplinks' => '启用“跳到”访问链接',
 'tog-uselivepreview' => '使用即时预览(JavaScript)(实验中)',
 'tog-forceeditsummary' => '冇改动注解时要同偶话',
@@ -776,14 +774,6 @@ $2',
 'powersearch-field' => '寻',
 'searchdisabled' => '{{SITENAME}}𠮶搜索功能已经关闭。倷可以用Google寻吖。但系佢𠮶索引可能系早先𠮶。',
 
-# Quickbar
-'qbsettings' => '快捷导航条',
-'qbsettings-none' => '冇',
-'qbsettings-fixedleft' => '左首固定',
-'qbsettings-fixedright' => '右首固定',
-'qbsettings-floatingleft' => '左首漂移',
-'qbsettings-floatingright' => '左首漂移',
-
 # Preferences page
 'preferences' => '参数设置',
 'mypreferences' => '偶𠮶参数设置',
@@ -1271,8 +1261,8 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'notanarticle' => '伓系文章',
 'watchnochange' => '一径到显示𠮶时间之内,倷眏到𠮶页面冇改动。',
 'watchlist-details' => '$1只页面(伓算讨论页) 拖眏到哩',
-'wlheader-enotif' => '启动嘞email通知功能。',
-'wlheader-showupdated' => "上回倷眵𠮶页面改动𠮶部分用'''粗体'''显到",
+'wlheader-enotif' => '启动嘞email通知功能。',
+'wlheader-showupdated' => "上回倷眵𠮶页面改动𠮶部分用'''粗体'''显到",
 'watchmethod-recent' => '眵吖拖眏到𠮶页面𠮶最近编辑',
 'watchmethod-list' => '望吖监视页里头最晏𠮶改动',
 'watchlistcontains' => '倷𠮶监视列表包含$1只页面。',
@@ -1858,7 +1848,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => '阔',
 'exif-imagelength' => '高',
 'exif-bitspersample' => '每像素byte数',
@@ -1972,7 +1962,7 @@ $1',
 'exif-gpsdatestamp' => 'GPS日期',
 'exif-gpsdifferential' => 'GPS差动修正',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => '冇压缩',
 
 'exif-unknowndate' => '未知𠮶日期',
@@ -2234,11 +2224,6 @@ $3
 'version-software' => '装正𠮶软件',
 'version-software-version' => '版本',
 
-# Special:FilePath
-'filepath' => '文件路径',
-'filepath-page' => '文件:',
-'filepath-submit' => '路径',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => '文件名:',
 'fileduplicatesearch-submit' => '寻',
index 4360f4a..158f01f 100644 (file)
@@ -1283,8 +1283,8 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'notanarticle' => '伓係文章',
 'watchnochange' => '一徑到顯示嗰時間之內,倷眏到嗰頁面冇改動。',
 'watchlist-details' => '$1隻頁面(伓算討論頁) 拕眏到哩',
-'wlheader-enotif' => '啟動哩email通知功能。',
-'wlheader-showupdated' => "上回倷眵嗰頁面改動嗰部分用'''粗體'''顯到",
+'wlheader-enotif' => '啟動哩email通知功能。',
+'wlheader-showupdated' => "上回倷眵嗰頁面改動嗰部分用'''粗體'''顯到",
 'watchmethod-recent' => '眵吖拕眏到嗰頁面嗰頂晏嗰編輯',
 'watchmethod-list' => '望吖監視頁裡頭頂晏嗰改動',
 'watchlistcontains' => '倷嗰監視列表包含$1隻頁面。',
index 09968d0..03d5744 100644 (file)
@@ -1328,7 +1328,7 @@ Nochdaidh mùthaidhean a nithear air an duilleag seo \'s air an duilleag deasbai
 'notanarticle' => 'Chan e duilleag susbaint a tha ann',
 'watchnochange' => "Cha deach na duilleagan air d' fhaire a dheasachadh anns a' chuairt ùine taisbeanta.",
 'watchlist-details' => 'Tha {{PLURAL:$1|$1 duilleag|$1 dhuilleag|$1 duilleagan|$1 duilleag}} air do chlàr-faire, gun luaidh air na duilleagan deasbaireachd.',
-'wlheader-showupdated' => "Tha clò '''trom''' air duilleagan a chaidh atharrachadh on turas mu dheireadh a thadhail thu orra.",
+'wlheader-showupdated' => "Tha clò '''trom''' air duilleagan a chaidh atharrachadh on turas mu dheireadh a thadhail thu orra.",
 'watchmethod-recent' => "A' sgrùdadh deasachaidhean ùra airson duilleagan air d' fhaire",
 'watchmethod-list' => "A' sgrùdadh duilleagan air d' fhaire airson deasachaidhean ùra",
 'watchlistcontains' => 'Tha $1 {{PLURAL:$1|duilleag|dhuilleag|duilleagan|duilleag}} air do chlàr-faire.',
index 9a16845..82e2b23 100644 (file)
@@ -359,6 +359,18 @@ $messages = array(
 'oct' => 'out',
 'nov' => 'nov',
 'dec' => 'dec',
+'january-date' => '$1 de xaneiro',
+'february-date' => '$1 de febreiro',
+'march-date' => '$1 de marzo',
+'april-date' => '$1 de abril',
+'may-date' => '$1 de maio',
+'june-date' => '$1 de xuño',
+'july-date' => '$1 de xullo',
+'august-date' => '$1 de agosto',
+'september-date' => '$1 de setembro',
+'october-date' => '$1 de outubro',
+'november-date' => '$1 de novembro',
+'december-date' => '$1 de decembro',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoría|Categorías}}',
@@ -678,7 +690,7 @@ Non esqueza personalizar as súas [[Special:Preferences|preferencias de {{SITENA
 'createacct-yourpasswordagain-ph' => 'Insira o contrasinal outra vez',
 'remembermypassword' => 'Lembrar o meu contrasinal neste ordenador (ata $1 {{PLURAL:$1|día|días}})',
 'userlogin-remembermypassword' => 'Manter a miña conexión',
-'userlogin-signwithsecure' => 'Acceder ao sistema no servidor seguro',
+'userlogin-signwithsecure' => 'Utilizar a conexión segura',
 'securelogin-stick-https' => 'Permanecer conectado mediante as HTTPS despois de acceder',
 'yourdomainname' => 'O seu dominio:',
 'password-change-forbidden' => 'Non pode mudar os contrasinais neste wiki.',
@@ -699,6 +711,7 @@ Non esqueza personalizar as súas [[Special:Preferences|preferencias de {{SITENA
 'gotaccount' => 'Xa ten unha conta? $1.',
 'gotaccountlink' => 'Acceda ao sistema',
 'userlogin-resetlink' => 'Esqueceu os seus datos de rexistro?',
+'userlogin-resetpassword-link' => 'Restablecer o seu contrasinal',
 'helplogin-url' => 'Help:Rexistro',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Axuda co rexistro]]',
 'createacct-join' => 'Insira a súa información embaixo.',
@@ -821,11 +834,11 @@ Pode ser que xa cambiase o seu contrasinal ou que solicitase un novo contrasinal
 
 # Special:PasswordReset
 'passwordreset' => 'Restablecer o contrasinal',
-'passwordreset-text' => 'Encha este formulario para restablecer o seu contrasinal.',
+'passwordreset-text-one' => 'Encha este formulario para restablecer o seu contrasinal.',
+'passwordreset-text-many' => '{{PLURAL:$1|Insira un dos datos para restablecer o seu contrasinal.}}',
 'passwordreset-legend' => 'Restablecer o contrasinal',
 'passwordreset-disabled' => 'O restablecemento de contrasinais está desactivado neste wiki.',
 'passwordreset-emaildisabled' => 'As funcións do correo electrónico están desactivadas neste wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Introduza un dos datos a continuación}}',
 'passwordreset-username' => 'Nome de usuario:',
 'passwordreset-domain' => 'Dominio:',
 'passwordreset-capture' => 'Quere ollar o correo electrónico?',
@@ -1070,6 +1083,7 @@ Este non deu ningunha explicación.',
 Semella que foi borrada.',
 'edit-conflict' => 'Conflito de edición.',
 'edit-no-change' => 'A súa edición foi ignorada dado que non fixo ningún cambio no texto.',
+'postedit-confirmation' => 'Gardouse a súa edición.',
 'edit-already-exists' => 'Non se pode crear a nova páxina.
 Esta xa existe.',
 'defaultmessagetext' => 'Texto predeterminado',
@@ -2340,8 +2354,8 @@ Os cambios futuros nesta páxina e na súa páxina de conversa asociada serán l
 'notvisiblerev' => 'A revisión foi borrada',
 'watchnochange' => 'Ningún dos elementos baixo vixilancia foi editado no período de tempo indicado.',
 'watchlist-details' => 'Hai {{PLURAL:$1|unha páxina|$1 páxinas}} na súa lista de vixilancia, sen contar as de conversa.',
-'wlheader-enotif' => 'A notificación por correo electrónico está activada.',
-'wlheader-showupdated' => "* As páxinas que cambiaron desde a súa última visita móstranse en '''negra'''",
+'wlheader-enotif' => 'A notificación por correo electrónico está activada.',
+'wlheader-showupdated' => "As páxinas que cambiaron desde a súa última visita móstranse en '''negra'''.",
 'watchmethod-recent' => 'comprobando as edicións recentes na procura de páxinas vixiadas',
 'watchmethod-list' => 'comprobando as páxinas vixiadas na procura de edicións recentes',
 'watchlistcontains' => 'A súa lista de vixilancia ten $1 {{PLURAL:$1|páxina|páxinas}}.',
@@ -2919,6 +2933,8 @@ Por favor, visite a [//www.mediawiki.org/wiki/Localisation localización MediaWi
 'thumbnail-more' => 'Ampliar',
 'filemissing' => 'O ficheiro non se dá atopado',
 'thumbnail_error' => 'Erro ao crear a miniatura: $1',
+'thumbnail_error_remote' => 'Mensaxe de erro de $1:
+$2',
 'djvu_page_error' => 'A páxina DjVu está fóra do rango',
 'djvu_no_xml' => 'Non se puido obter o XML para o ficheiro DjVu',
 'thumbnail-temp-create' => 'Non se puido crear o ficheiro de miniatura temporal',
@@ -3073,7 +3089,6 @@ Pode ver o código fonte.',
 'modern.css' => '/* O CSS que se coloque aquí afectará a quen use a aparencia Moderna */',
 'vector.css' => '/* O CSS que se coloque aquí afectará a quen use a aparencia Vector */',
 'print.css' => '/* O CSS que se coloque aquí afectará ás impresións */',
-'handheld.css' => '/* O CSS que se coloque aquí afectará aos dispositivos móbiles baseados na aparencia configurada en $wgHandheldStyle */',
 'noscript.css' => '/* O CSS que se coloque aquí afectará aos usuarios co JavaScript desactivado */',
 'group-autoconfirmed.css' => '/* O CSS que se coloque aquí afectará soamente aos usuarios autoconfirmados */',
 'group-bot.css' => '/* O CSS que se coloque aquí afectará soamente aos bots */',
index 06af738..08e925c 100644 (file)
@@ -420,7 +420,7 @@ Reomĩsérõ ta'ãnga peteĩ kuatiaroguépe, eipuru peteĩ joaju:
 # Special:ListUsers
 'listusers-submit' => 'Hechauka',
 
-# E-mail user
+# Email user
 'emailuser' => "Tojeguerahauka ñe'ẽveve ko puruhárape",
 'emailpage' => 'Pareha eleytrónico',
 'emailmessage' => 'Marandu',
@@ -540,11 +540,6 @@ Reomĩsérõ ta'ãnga peteĩ kuatiaroguépe, eipuru peteĩ joaju:
 # Special:Version
 'version' => "Mba'ereko",
 
-# Special:FilePath
-'filepath' => 'Ruta de archivo',
-'filepath-page' => 'Archivo:',
-'filepath-submit' => 'Ruta',
-
 # Special:SpecialPages
 'specialpages' => 'Kuatiarogue hekochĩchĩva',
 
index bd03044..6023729 100644 (file)
@@ -67,8 +67,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Δεικνύναι τὸν ἀριθμὸν τῶν παρακολουθούντων χρωμένων',
 'tog-oldsig' => 'Προθεώρησις τῆς ὑπαρχούσης ὑπογραφῆς:',
 'tog-fancysig' => 'Ἀκατέργασται ὑπογραφαί ἐν εἴδει βικι-κειμένου (ἄνευ αὐτομάτου συνδέσμου)',
-'tog-externaleditor' => 'Χρῆσθαι ἐξωτέρῳ προγράμματι ἐπεξεργασίας κειμένων κατὰ προεπιλογήν (πρὸς εἰδικοὺς μόνον· ἀπαραίτητοι εἰσὶν εἰδικαὶ ῥυθμίσεις τινὲς ἐν τῇ σῇ ὑπολογιστικῇ μηχανῇ)',
-'tog-externaldiff' => 'Χρῆσθαι ἐξωτέρῳ λογισμικῷ ἀντιπαραβολῆς κατὰ προεπιλογὴν (πρὸς εἰδικοὺς μόνον· ἀπαραίτητοι εἰσὶν εἰδικαὶ ῥυθμίσεις τινες ἐν τῇ σῇ ὑπολογιστικῇ μηχανῇ)',
 'tog-showjumplinks' => 'Ἐνεργοποιεῖν τοὺς "ἅλμα πρὸς" συνδέσμους προσβασιμότητος',
 'tog-uselivepreview' => 'Χρῆσθαι ἀμέσῳ προθεωρήσει (JavaScript) (Πειραστικόν)',
 'tog-forceeditsummary' => 'Προμήνυσόν με εἰ εἰσάγω κενὴν σύνοψιν μεταγραφῆς',
@@ -839,14 +837,6 @@ $1",
 'powersearch-togglenone' => 'Οὐδέν',
 'search-external' => 'Ἐξωτέρα ἀναζήτησις',
 
-# Quickbar
-'qbsettings' => 'Ταχεῖα πρόσβασις',
-'qbsettings-none' => 'Οὐδέν',
-'qbsettings-fixedleft' => 'Σταθερὰ ἀριστερώς',
-'qbsettings-fixedright' => 'Σταθερὰ δεξιώς',
-'qbsettings-floatingleft' => 'Πλανώμενα αριστερώς',
-'qbsettings-floatingright' => 'Πλανώμενα δεξιώς',
-
 # Preferences page
 'preferences' => 'Προαιρέσεις',
 'mypreferences' => 'Αἱ προαιρέσεις μου',
@@ -1544,7 +1534,7 @@ $1",
 'notvisiblerev' => 'Ἀναθεώρησις διαγεγραμμένη',
 'watchnochange' => 'Οὐδὲν ἐκ τῶν ἐφορωμένων τεμαχίων σου μετεγράφη τῷ δεικνυμένῳ χρόνῳ.',
 'watchlist-details' => '{{PLURAL:$1|$1 δέλτος|$1 δέλτοι}} ἐφορωμέναι, ἄνευ τῶν δέλτων διαλέξεως περιλαμβανομένων.',
-'wlheader-enotif' => 'Σύστημα εἰδήσεως μέσῳ ἠλ-ἐπιστολῶν ἐνεργόν.',
+'wlheader-enotif' => 'Σύστημα εἰδήσεως μέσῳ ἠλ-ἐπιστολῶν ἐνεργόν.',
 'watchmethod-recent' => 'ἐλέγχειν προσφάτους μεταγραφὰς περὶ ἐφορωμένων δέλτων',
 'watchmethod-list' => 'ἐλέγχειν ἐφορωμένας δέλτους περὶ μεταγραφὰς προσφάτους',
 'watchlistcontains' => 'Ἡ ἐφοροδιαλογὴ σου περιέχει $1 {{PLURAL:$1|δέλτον|δέλτους}}.',
@@ -2197,7 +2187,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Πλάτος',
 'exif-imagelength' => 'Ὕψος',
 'exif-bitspersample' => 'Δυφία ἀνὰ συνιστῶσαν',
@@ -2319,7 +2309,7 @@ $1',
 'exif-label' => 'Ἐπιγραφή',
 'exif-disclaimer' => 'Ἀποποίησις εὐθύνης',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ἀσυμπίεστος',
 
 'exif-copyrighted-true' => 'Ὑποκείμενον έν δικαιώμασιν',
@@ -2614,11 +2604,6 @@ $5
 'version-software-product' => 'Προϊόν',
 'version-software-version' => 'Ἔκδοσις',
 
-# Special:FilePath
-'filepath' => 'Διαδρομὴ ἀρχείου',
-'filepath-page' => 'Ἀρχεῖον:',
-'filepath-submit' => 'Ἰέναι',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Ζήτησις διπλότυπων ἀρχείων',
 'fileduplicatesearch-summary' => 'Ζητεῖν διπλότυπα ἀρχεῖα βάσει κερματιζομένων τιμῶν.',
index f4b8e28..5bb714f 100644 (file)
@@ -16,6 +16,7 @@
  * @author MaxSem
  * @author Melancholie
  * @author MichaelFrey
+ * @author Nemo bis
  * @author Purodha
  * @author Remember the dot
  * @author Spacebirdy
@@ -653,10 +654,8 @@ Villicht hesch Dyy Passwort scho gänderet oder e nej temporär Passwort aagford
 
 # Special:PasswordReset
 'passwordreset' => 'Passwort zruggsetze',
-'passwordreset-text' => 'Bitte des Formular uusfille, ass De E-Mail e Erinnerig zue dr Aamäldeinformatione vu Dyym Benutzerkonto iberchunnsch.',
 'passwordreset-legend' => 'Passwort zrucksetze',
 'passwordreset-disabled' => 'S Zrucksetze vu Passwerter isch in däm Wiki deaktiviert wore.',
-'passwordreset-pretext' => '{{PLURAL:$1||Gib eis vu däne Daten aa}}',
 'passwordreset-username' => 'Benutzername:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Die E-Mail aaluege?',
@@ -2020,6 +2019,15 @@ Lueg au d Lischt vu dr [[Special:WantedCategories|gwinschte Kategorie]].',
 'listusers-noresult' => 'Kei Benutzer gfunde.',
 'listusers-blocked' => '(gsperrt)',
 
+# Special:ActiveUsers
+'activeusers' => 'Lischt vu dr aktive Benutzer',
+'activeusers-intro' => 'Des isch e Lischt vu Benutzer, wu irgedebis bearbeitet hän {{PLURAL:$1|am letschte Tag|in dr letschte $1 Täg}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|Bearbeitig|Bearbeitige}} {{PLURAL:$3|am letschte Tag|in dr letschte $3 Täg}}',
+'activeusers-from' => 'Zeig Benutzer ab:',
+'activeusers-hidebots' => 'Bötli uusblände',
+'activeusers-hidesysops' => 'Ammanne (Administratore) uusblände',
+'activeusers-noresult' => 'Kei Benutzer gfunde.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Benutzergruppe-Rächt',
 'listgrouprights-summary' => 'Des isch e Liste vu dr Benutzergruppe, wu in däm Wiki definiert sin, un dr Rächt, wu dermit verbunde sin.
@@ -2099,8 +2107,8 @@ Wänn Du d Syte speter wider vu dr Lischt witt stryyche, deno druck eifach uf 
 'notvisiblerev' => 'Version isch glescht wore',
 'watchnochange' => 'Vo den Artikle, wo du beobachtisch, isch im aazeigte Zytruum kene veränderet worde.',
 'watchlist-details' => '{{PLURAL:$1|1 Syte wird|$1 Sytene wärde}} beobachtet (Diskussionssyte nid zelt, aber ou beobachtet).',
-'wlheader-enotif' => 'Dr E-Mail-Benochrichtigungsdienscht isch aktiviert.',
-'wlheader-showupdated' => "Syte mit Anderige, wu no nit aagluegt sin, sin '''fett''' dargstellt.",
+'wlheader-enotif' => 'Dr E-Mail-Benochrichtigungsdienscht isch aktiviert.',
+'wlheader-showupdated' => "Syte mit Anderige, wu no nit aagluegt sin, sin '''fett''' dargstellt.",
 'watchmethod-recent' => 'Iberpriefe vu dr letschte Bearbeitige fir d Beobachtigslischt',
 'watchmethod-list' => 'Iberpriefe vu dr Beobachtigslischt no letschte Bearbeitige',
 'watchlistcontains' => 'In Dyynere Beobachtigslischt het s $1 {{PLURAL:$1|Syte|Syte}}.',
@@ -2946,7 +2954,7 @@ Andri wäre standardmäßig nit aazeigt.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Breiti',
 'exif-imagelength' => 'Längi',
 'exif-bitspersample' => 'Bit pro Farbkomponente',
@@ -3124,7 +3132,7 @@ Andri wäre standardmäßig nit aazeigt.
 'exif-originalimageheight' => 'Bildhechi vor em Zueschnyde',
 'exif-originalimagewidth' => 'Bildbreiti vor em Zueschnyde',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Uukomprimiert',
 'exif-compression-2' => 'CCITT Gruppe 3 1-dimensionali modifizierti Huffman-Lauflengekodierig',
 'exif-compression-3' => 'CCITT Gruppe 3 Faxkodierig',
@@ -3533,13 +3541,6 @@ E [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopi vu dr GNU General Public-Lizänz] sott
 'version-entrypoints-header-entrypoint' => 'Yygangspunkt',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Dateipfad',
-'filepath-page' => 'Datei:',
-'filepath-submit' => 'Gang',
-'filepath-summary' => 'Mit däre Spezialsyte losst sich dr komplett Pfad vu dr aktuälle Version vun ere Datei ohni Umwäg abfroge.
-Di aagfrogt Datei wird diräkt dargstellt bzw. mit dr verchnipfte Aawändig gstartet.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Datei-Duplikat sueche',
 'fileduplicatesearch-summary' => 'Suech no Datei-Duplikat uf dr Grundlag vu ihrem Hash-Wärt.',
index 5932cd0..0f5594c 100644 (file)
@@ -148,6 +148,8 @@ $digitTransformTable = array(
 
 $digitGroupingPattern = "##,##,###";
 
+$linkTrail = '/^((?:[a-z]|ક્|ખ્|ગ્|ઘ્|ચ્|છ્|જ્|ઝ્|ટ્|ઠ્|ડ્|ઢ્|ણ્|ત્|થ્|દ્|ધ્|ન્|પ્|ફ્|બ્|ભ્|મ્|ય્|ર્|લ્|વ્|સ્|શ્|ષ્|હ્|ળ્|ક્ષ્|જ્ઞ્|અ|આ|ઇ|ઈ|ઉ|ઊ|એ|ઐ|ઓ|ઔ|અં|અઃ|અઁ|ઍ|ઑ|ઋ|ઁ|઼|।|્|ા|િ|ી|ુ|ૂ|ે|ૈ|ો|ૌ|ં|ઃ|ઁ|ૅ|ૉ|ૃ)+)(.*)$/sDu';
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'કડીઓની નીચે લીટી (અંડરલાઇન) ઉમેરો:',
@@ -257,6 +259,18 @@ $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' => 'સપ્ટેમ્બર $1',
+'october-date' => 'ઓક્ટોબર $1',
+'november-date' => 'નવેમ્બર $1',
+'december-date' => 'ડિસેમ્બર $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|શ્રેણી|શ્રેણીઓ}}',
@@ -277,7 +291,7 @@ $messages = array(
 'noindex-category' => 'અનુક્રમણિકા નહી બનાવેલા પાનાં',
 'broken-file-category' => 'ફાઇલોની ત્રૂટક કડીઓવાળાં પાનાં',
 
-'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD',
+'linkprefix' => '/^(.*?)((?:[a-zA-Z\\x80-\\xff]|ક્|ખ્|ગ્|ઘ્|ચ્|છ્|જ્|ઝ્|ટ્|ઠ્|ડ્|ઢ્|ણ્|ત્|થ્|દ્|ધ્|ન્|પ્|ફ્|બ્|ભ્|મ્|ય્|ર્|લ્|વ્|સ્|શ્|ષ્|હ્|ળ્|ક્ષ્|જ્ઞ્|અ|આ|ઇ|ઈ|ઉ|ઊ|એ|ઐ|ઓ|ઔ|અં|અઃ|અઁ|ઍ|ઑ|ઋ|ઁ|઼|।|્|ા|િ|ી|ુ|ૂ|ે|ૈ|ો|ૌ|ં|ઃ|ૅ|ૉ|ૃ)+)$/sD',
 
 'about' => 'વિષે',
 'article' => 'લેખનું પાનું',
@@ -724,11 +738,9 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'પાસવર્ડ રીસેટ કરો',
-'passwordreset-text' => 'તમારો પાસવર્ડ બદલવા માટે આ ફોર્મ પૂરુ કરો.',
 'passwordreset-legend' => 'પાસવર્ડ રીસેટ કરો',
 'passwordreset-disabled' => 'આ વિકી પર પાસવર્ડ રીસેટ કરવા પર પ્રતિબંધ છે.',
 'passwordreset-emaildisabled' => 'આ વિકિ પર ઇમેઇલ સગવડ બંધ છે.',
-'passwordreset-pretext' => '{{PLURAL: $1| | એક નીચે માહિતીના ટુકડાઓ દાખલ}}',
 'passwordreset-username' => 'સભ્ય નામ:',
 'passwordreset-domain' => 'ડોમેઈન:',
 'passwordreset-capture' => 'પરિણામી ઈ મેલ જોવો છે ?',
@@ -2197,8 +2209,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization. જુઓ',
 'notvisiblerev' => 'અન્ય સભ્ય દ્વારા થયેલું સંપાદન ભૂંસી નખાયું છે.',
 'watchnochange' => 'તમારા દ્વારા નિરીક્ષિત પાના આપેલ સમય ગાળામાં ફેરફારીત થયા',
 'watchlist-details' => 'ચર્ચાનાં પાનાં ન ગણતા {{PLURAL:$1|$1 પાનું|$1 પાનાં}} ધ્યાનસૂચીમાં છે.',
-'wlheader-enotif' => '*ઈ-મેલ સૂચના પદ્ધતિ સક્રીય કરાઈ.',
-'wlheader-showupdated' => "*તમારી મુલાકાત લીધા પછી બદલાયેલા પાના  '''ઘાટા''' અક્ષરો વડે દર્શાવ્યાં છે",
+'wlheader-enotif' => 'મેલ સૂચના પદ્ધતિ સક્રીય કરાઈ.',
+'wlheader-showupdated' => "તમારી છેલ્લી મુલાકાત પછી બદલાયેલાં પાના  '''ઘાટા''' અક્ષરો વડે દર્શાવ્યાં છે.",
 'watchmethod-recent' => 'હાલમાં ફેરફાર થયેલ પાનાની ચકાસણી જારી',
 'watchmethod-list' => 'હાલમાં થયેલ ફેરફાર માટે નીરીક્ષીત પાના તપાસાય છે',
 'watchlistcontains' => 'તમારી ધ્યાનસૂચીમાં $1 {{PLURAL:$1|પાનું|પાનાં}} છે.',
@@ -3800,14 +3812,14 @@ $5
 'logentry-delete-delete' => '$1 દ્વારા પાનું $3 {{GENDER:$2|દૂર કરવામાં આવ્યું}}',
 'logentry-delete-restore' => '$1 {{GENDER:$2|પુનઃસંગ્રહ}} પાનું $3',
 'logentry-delete-event' => '$1 એ {{PLURAL:$5|લૉગ ઘટના|$5 લૉગ ઘટનાઓ}} ની દ્રશ્યતા $3 પર {{GENDER:$2|બદલેલ}} છે: $4',
-'logentry-delete-revision' => '$1 બદલાઈ ના દૃશ્યતા {{PLURAL: $5 | સુધારણા | $5 આવૃત્તિઓ}} $3 પાનાં પર: $4',
-'logentry-delete-event-legacy' => '$1 બદલાઈ $3 પર લોગ ઘટનાઓ દૃશ્યતા',
-'logentry-delete-revision-legacy' => '$1 બદલાઈ પાનાં પર આવૃત્તિઓની દૃશ્યતા $3',
+'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-suppress-delete' => '$1 એ $3 પાનું {{GENDER:$2|દબાવ્યું}}',
-'logentry-suppress-event' => '$1  (છાની માહિતી) બદલાઈ {{PLURAL: $5 | લોગ ઘટના | $5 લોગ}} ની દ્રશ્યતા $3 : $4',
-'logentry-suppress-revision' => '$1 બદલાઈ ના દૃશ્યતા {{PLURAL: $5 | આવૃત્તિ એ | $5 આવૃત્તિઓ}}: $4 $3 પાનાં પર',
-'logentry-suppress-event-legacy' => '$1 ગુપ્ત બદલો $3 પર લોગ ઘટનાઓ દૃશ્યતા',
-'logentry-suppress-revision-legacy' => '$1 ગુપ્ત બદલાઈ પાનાં પર આવૃત્તિઓની દૃશ્યતા $3',
+'logentry-suppress-event' => '$1  (છાની માહિતી) {{GENDER:$2|બદલેલ}} બદલાઈ {{PLURAL: $5 | લોગ ઘટના | $5 લોગ}} ની દ્રશ્યતા $3 : $4',
+'logentry-suppress-revision' => '$1 àª\9bાનà«\80 àª®àª¾àª¹àª¿àª¤à«\80 {{GENDER:$2|બદલà«\87લ}} àª¬àª¦àª²àª¾àª\88 àª¨àª¾ àª¦à«\83શà«\8dયતા {{PLURAL: $5 | àª\86વà«\83તà«\8dતિ àª\8f | $5 àª\86વà«\83તà«\8dતિàª\93}}: $4 $3 àªªàª¾àª¨àª¾àª\82 àªªàª°',
+'logentry-suppress-event-legacy' => '$1 ગુપ્ત {{GENDER:$2|બદલેલ}} બદલો $3 પર લોગ ઘટનાઓ દૃશ્યતા',
+'logentry-suppress-revision-legacy' => '$1 ગુપ્ત {{GENDER:$2|બદલેલ}} બદલાઈ પાનાં પર આવૃત્તિઓની દૃશ્યતા $3',
 'revdelete-content-hid' => 'સામગ્રી છુપાયેલા',
 'revdelete-summary-hid' => 'ફેરફાર સાર છુપાયેલા',
 'revdelete-uname-hid' => 'વપરાશકર્તા નામ છુપાયેલા',
@@ -3816,7 +3828,7 @@ $5
 'revdelete-uname-unhid' => 'વપરાશકર્તા નામ છુપાવેલ નથીં',
 'revdelete-restricted' => 'પ્રબઁધકોના ફેરફાર કરવા પર પ્રતિબંધ મુકાયો',
 'revdelete-unrestricted' => 'પ્રબંધકોના ફેરફાર કરવા પર પ્રતિબંધ હટાવાયો.',
-'logentry-move-move' => '$1એ પાના $3ને $4 પર ખસેડ્યું',
+'logentry-move-move' => '$1એ {{GENDER:$2|ખસેડાયું }} પાના $3ને $4 પર ખસેડ્યું',
 'logentry-move-move-noredirect' => '$1એ દિશાનિર્દેશન છોડ્યા વગર પાના $3ને $4 પર વાળ્યું',
 'logentry-move-move_redir' => '$1એ દિશાનિર્દેશન કરીને પાના $3ને $4 પર ખસેડ્યું',
 'logentry-move-move_redir-noredirect' => '$1એ દિશાનિર્દેશન કરીને પાના $3ને $4 પર વાળ્યું પણ પાછળ દિશાનિર્દેશન છોડ્યું નહી',
index ad945fc..bc75fe0 100644 (file)
@@ -1353,7 +1353,7 @@ Bee adsyn elley follit dy seyr-obbragh.<br />
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lheead',
 'exif-imagelength' => 'Yrjid',
 'exif-ycbcrpositioning' => 'Soie Y as C',
@@ -1451,9 +1451,6 @@ Bee adsyn elley follit dy seyr-obbragh.<br />
 'version-license' => 'Kiedoonys',
 'version-software-version' => 'Lhieggan',
 
-# Special:FilePath
-'filepath-page' => 'Coadan:',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Ennym y choadan:',
 'fileduplicatesearch-submit' => 'Ronsee',
index 0eaceca..c6883f7 100644 (file)
@@ -41,8 +41,6 @@ $messages = array(
 'tog-shownumberswatching' => "A nuna adadin ma'aikata masu bin sawun wannan shafi",
 'tog-oldsig' => 'Rigya-ganin sa-hannu da ake da shi',
 'tog-fancysig' => 'A ɗauki matanin sa-hannu a matsayin matanin Wiki (ba tare da mahaɗin otomatik ba)',
-'tog-externaleditor' => 'Bisa manufa, a yi amfani da editan matani daban (zuwa ga ƙwararri: kuna buƙatar sauya saitin kwamfyutarku)',
-'tog-externaldiff' => 'Bisa manufa, a yi amfani da kwatantau daban (zuwa ga ƙwararri: kuna buƙatar sauya saitin kwamfyutarku)',
 'tog-showjumplinks' => 'A lamunta mahaɗan "a tsallaka zuwa"',
 'tog-uselivepreview' => 'A yi amfani da rigya-gani mai sauƙi (ana buƙatar JavaScript) (hajar gwaji)',
 'tog-forceeditsummary' => 'A gargaɗe ni idan na ajiye kangon fili na taƙaitawa',
@@ -489,7 +487,7 @@ Ku gwada tare da amfani da \"all:\" don bincikar duka shafunan (har da shafunan
 # Special:ListGroupRights
 'listgrouprights-members' => '(jerin mambobi)',
 
-# E-mail user
+# Email user
 'emailuser' => "Aika wa wannan ma'aikaci imel",
 
 # Watchlist
index ff12456..adbc5cc 100644 (file)
@@ -58,7 +58,7 @@ $messages = array(
 'tog-ccmeonemails' => '當亻厓寄電子郵件分其他用戶時,也寄一份副本到亻厓嘅信箱',
 'tog-diffonly' => '對比版本毋同時下背毋展示頁面內容',
 'tog-showhiddencats' => '展示隱藏分類',
-'tog-norollbackdiff' => '执行回退後毋顯示差',
+'tog-norollbackdiff' => '执行回退後毋顯示差',
 'tog-useeditwarning' => '當離開頁面之時變更還吂儲存,請提醒𠊎',
 
 'underline-always' => '總係使用',
@@ -238,7 +238,7 @@ $messages = array(
 'jumpto' => '跳轉到:',
 'jumptonavigation' => '導航',
 'jumptosearch' => '搜尋',
-'view-pool-error' => '毋好意思,太多用戶嘗試緊流覽邇頁,使服務器超出負擔。請等多一刻再嘗試。
+'view-pool-error' => '好抱歉,太多用戶嘗試緊流覽邇頁,使服務器超出負擔。請等多一刻再嘗試。
 
 $1',
 'pool-timeout' => '等待鎖定超時',
@@ -393,12 +393,12 @@ $1',
 請在數分鐘後再嘗試。',
 'protectedpagetext' => '邇隻頁面已經分人保護以防止編輯或其他操作。',
 'viewsourcetext' => '汝做得查看並複製本頁面嘅源碼:',
-'viewyourtext' => "汝可以查看並複製'''汝對邇隻頁面作出編後'''嘅源代碼:",
+'viewyourtext' => "汝可以查看並複製'''汝對邇隻頁面作出編後'''嘅源代碼:",
 'protectedinterface' => '邇頁提供此wiki軟體嘅介面文字,其已畀保護以防止惡意修改。
 假使想修改所有wiki嘅翻譯,請到[//translatewiki.net/ translatewiki.net]上嘅MediaWiki本地化計畫。',
-'editinginterface' => "'''警告:'''汝今下編寫緊嘅頁面係用於提供軟體嘅介面文字。
-改變此頁將影響其他在邇隻wiki上嘅用戶介面外觀。
¦\82欲修æ\94¹æ\89\80æ\9c\89wikiå\98\85翻譯ï¼\8cè«\8bå\88°[//translatewiki.net/ translatewiki.net]ä¸\8aç\9a\84MediaWikiæ\9c¬å\9c°å\8c\96è¨\88ç\95«。",
+'editinginterface' => "'''警告:'''汝今下編寫緊嘅頁面係用於提供軟件嘅界面文字。
+改變邇頁將影響其他在邇隻wiki上嘅用戶界面外觀。
\81\87使æ\84\9bä¿®æ\94¹æ\89\80æ\9c\89wikiå\98\85翻譯ï¼\8cè«\8bå\88°[//translatewiki.net/ translatewiki.net]ä¸\8aå\98\85MediaWikiæ\9c¬å\9c°å\8c\96è¨\88å\8a\83。",
 'sqlhidden' => '(隱藏SQL查詢)',
 'cascadeprotected' => '邇隻頁面已經畀保護,因為邇隻頁面被以下已標註"聯鎖保護"嘅{{PLURAL:$1|一個|多個}}畀保護頁面包含:
 $2',
@@ -412,7 +412,7 @@ $2',
 'invalidtitle-knownnamespace' => '使用名字空間「$2」與文本「$3」嘅無效標題',
 'invalidtitle-unknownnamespace' => '使用未知名字空間編號$1與文本“$2”嘅無效標題',
 'exception-nologin' => '還吂登入',
-'exception-nologin-text' => '你愛登本wiki正做得查閲邇頁或進行操作。',
+'exception-nologin-text' => '你愛登本wiki正做得查閲邇頁或進行操作。',
 
 # Virus scanner
 'virus-badscanner' => "損壞設定: 未知嘅病毒掃瞄器: ''$1''",
@@ -489,7 +489,7 @@ $2',
 'nocookieslogin' => '{{SITENAME}}用cookie登入。汝已停用cookie。請啓用cookie後再試一擺。',
 'nocookiesfornew' => '邇隻用戶嘅賬戶未建立,亻厓兜無法度確認其嘅來源。
 請確定汝已經開啟cookies,重新載入後再試一擺。',
-'noname' => '汝還輸入一隻有效嘅用戶名。',
+'noname' => '汝還輸入一隻有效嘅用戶名。',
 'loginsuccesstitle' => '登入成功',
 'loginsuccess' => '汝今下以"$1"嘅身份在{{SITENAME}}登入。',
 'nosuchuser' => '尋毋到用戶 "$1"。
@@ -569,11 +569,9 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => '重設密碼',
-'passwordreset-text' => '完成邇隻表格以重置汝嘅密碼。',
 'passwordreset-legend' => '重置密码',
 'passwordreset-disabled' => '邇隻維基上已禁止矣重設密碼。',
 'passwordreset-emaildisabled' => '電子郵件功能在此 wiki 上已禁用。',
-'passwordreset-pretext' => '{{PLURAL:$1||輸入下列其中一隻}}',
 'passwordreset-username' => '用戶名:',
 'passwordreset-domain' => '域名:',
 'passwordreset-capture' => '查看生成嘅電子郵件係無?',
@@ -706,7 +704,7 @@ Liá-chhṳ chhà-fûng he yù $1 só fûng ke. Tông-chûng ke ngièn-yîn he '
 'template-protected' => '(保護)',
 'template-semiprotected' => '(半保護)',
 'hiddencategories' => '邇頁屬於$1隻隱藏分類嘅成員:',
-'edittools' => '<!-- 邇肚嘅文字將分展示在編輯和上傳表單以下。 -->',
+'edittools' => '<!-- 邇肚嘅文字將分展示在編寫撈上傳表單以下。 -->',
 'nocreatetext' => 'Chhṳ́ mióng-chham han-chṳ chhóng-chho sîn hong-mien ke kûng-yung. ngì khó-yî fán-fì pin phiên-cho yí-kîn yû ke hong-mien, fe̍t-chá [[Special:UserLogin|tên-liu̍k fe̍t-he chhóng-kien sîn chong-fu]].',
 'nocreate-loggedin' => '汝並無權限去創建新頁面。',
 'permissionserrors' => '權限差錯',
@@ -1058,71 +1056,70 @@ Tshòng-tón pit-sî chhai $1-ke sṳ-ngièn yî-ha.',
 'filetype-badmime' => 'MIME類別“$1”毋係准許嘅文件格式。',
 'filetype-missing' => '邇隻文件名並無擴展名(像“.jpg”)。',
 'large-file' => '建議文件大細毋超過$1;本文件大細係$2。',
-'largefileserver' => 'Liá-ke tóng-on ke thai-séu fu̍k-chhiùng-hi fûn-phi yún-chún ke thai-séu hàn-yeu thai.',
-'emptyfile' => 'Ngì só song-chhòn ke tóng-on put chhùn-chhai. Liá khó-nèn he chhut-yì tóng-on miàng chho-ngu. Chhiáng kiám-chhà ngì he-feu chṳ̂n yeu song-chhòn chhṳ́ tóng-on.',
-'fileexists' => 'Yí-kîn chhùn-chhai siông-thùng miàng-chhṳ̂n ke tóng-on, kó-yèn ngì mò-fap khok-thin ngì he-feu yeu kói-pien kì, chhiáng kiám-chhà <strong>[[:$1]]</strong>.
-[[$1|thumb]]',
-'fileexists-extension' => 'Yit-ke siông-sṳ tóng-miàng ke tóng-on yí-kîn chhùn-chhai: [[$2|thumb]]
-* Song-chhòn tóng-on ke tóng-miàng: <strong>[[:$1]]</strong>
-* Hien-chhai yû tóng-on ke tóng-miàng: <strong>[[:$2]]</strong>
-Chhiáng sién-chet yit-ke put-thùng ke miàng-sṳ.',
-'fileexists-thumbnail-yes' => "Liá-ke tóng-on chhin-chhiong he yit-pu thù-hìn ke suk-thù pán-pún ''(suk-thù)''. [[$1|thumb]]
-Chhiáng kiám-chhà chhîn-chhú ke tóng-on <strong>[[:$1]]</strong>.
-Kó-yèn kiám-chhà heu ke tóng-on he khiung-thùng ngièn-pún thù-hiong ke thai-séu he yit-yong, chhiu put-yung song-chhòn tô yit-puk suk-thù.",
-'file-thumbnail-no' => "Ke tóng-on he yî <strong>$1</strong> khôi-sṳ́.
-Hó-chhiong yit-puk thù-hìn ke suk-thù pán-pún ''(thù-hìn)''.
-Kó-yèn ngì yû liá-ke thù-hìn ke vàn-cháng thai-séu.",
-'fileexists-forbidden' => '既存在相同名稱个檔案,且毋可以覆蓋;請返回並用一隻新名稱來上傳邇隻檔案。[[File:$1|thumb|center|$1]]',
-'fileexists-shared-forbidden' => '在共享檔案庫中既存在同名檔案。
-係話汝仍然想愛上載其个話,請返回並用一隻新个名稱來上傳邇隻檔案。[[File:$1|thumb|center|$1]]',
-'uploadwarning' => 'Sông-chai kín-ko',
-'savefile' => 'Pó-chhùn vùn-khien',
+'largefileserver' => '邇隻文件大細比服務器配置允許嘅大細還愛大。',
+'emptyfile' => '汝所上傳嘅文件毋存在。邇可能係由於文件名鍵入錯誤。請檢查汝係毋係真嘅愛上傳邇隻文件。',
+'fileexists' => '已存在同名嘅文件,假使汝無法確定汝係毋係愛改變其,請檢查<strong>[[:$1]]</strong>。 [[$1|thumb]]',
+'fileexists-extension' => '一隻相似名稱嘅文件已經存在: [[$2|thumb]]
+* 上傳文件嘅名: <strong>[[:$1]]</strong>
+* 現有文件嘅名: <strong>[[:$2]]</strong>
+請選擇一隻毋同嘅名。',
+'fileexists-thumbnail-yes' => "邇隻文件好像係一張圖片嘅縮圖版本''(縮圖)''。 [[$1|thumb]]
+請檢查清楚邇文件<strong>[[:$1]]</strong>。
+假使檢查後嘅文件係撈原本圖片嘅大細係共樣嘅話,就毋用再上傳多一張縮圖。",
+'file-thumbnail-no' => "文件名以<strong>$1</strong>開始。其好像某張圖片嘅縮細版本''(縮圖)''。
+假使汝有邇圖片嘅完整大細版本,請上傳其;否則請修改文件名。",
+'fileexists-forbidden' => '既存在同名嘅文件,且毋可以覆蓋;請返回並用一隻新名來上傳邇隻文件。[[File:$1|thumb|center|$1]]',
+'fileexists-shared-forbidden' => '在共享文件庫中既存在同名文件。
+係話汝仍然想愛上載其嘅話,請返回並用一隻新名來上傳邇隻文件。[[File:$1|thumb|center|$1]]',
+'uploadwarning' => '上傳警告',
+'savefile' => '保存文件',
 'uploadedimage' => '已上傳“[[$1]]”',
-'uploaddisabled' => 'Mò-fap song-chhòn',
+'uploaddisabled' => '上傳己停用。',
 'uploaddisabledtext' => 'Tóng-on song-chhòn chhai chhṳ́ miong-chham put hí-khó yung.',
-'php-uploaddisabledtext' => 'PHP 文件上載已經停用。請檢查 file_uploads 設定。',
-'uploadscripted' => 'Ke tóng-on pâu-hàm khó-nèn pûn mióng-lu-hi chho-ngu kié-sṳt ke HTML fe̍t-chá kiok-pún thoi-me̍t.',
-'uploadvirus' => 'Ke-tóng-on yû pâu-hàm phiang-thu̍k! Siòng-se chhìn-khóng: $1',
+'php-uploaddisabledtext' => 'PHP文件上傳已經停用。請檢查file_uploads設定。',
+'uploadscripted' => '邇文件包含可能分網絡瀏覽器錯誤解釋嘅HTML或腳本代碼。',
+'uploadvirus' => '邇文件包含有病毒!
+詳情:$1',
 'sourcefilename' => '來源文件名',
 'destfilename' => '目標文件名',
 'watchthisupload' => '監視本文件',
-'filewasdeleted' => 'Chṳ̂-chhièn yí-kîn yû yit-ke thùng-miàng tóng-on pûn song-chhòn heu yu-pûn chhù-thet. Chhai song-chhòn  chhṳ́ tóng-on chṳ̂-chhièn sî-yeu kiám-chhà $1.',
-'upload-success-subj' => 'Sông-chhòn sṳ̀n-kûng',
+'filewasdeleted' => '早先已經有一隻同名文件分上傳後又分刪除矣。在上傳邇文件之前汝愛檢查$1。',
+'upload-success-subj' => '上傳成功',
 
-'upload-proto-error' => 'Hia̍p-ngi chho-ngu',
-'upload-proto-error-text' => 'Yén-chhàng song-chhòn yêu-khiù URL yung <code>http://</code> fe̍t-chá  <code>ftp://</code> khôi-thèu.',
-'upload-file-error' => 'Nui-phu chho-ngu',
+'upload-proto-error' => '協議毋著',
+'upload-proto-error-text' => '遠程上傳要求URL以<code>http://</code>或 <code>ftp://</code>開頭。',
+'upload-file-error' => '內部差錯',
 'upload-file-error-text' => '當嘗試在服務器上建立臨時檔案時發生內部差錯。請撈[[Special:ListUsers/sysop|管理員]]聯繫。',
-'upload-misc-error' => 'Vù-tî ke song-chhòn chho-ngu',
+'upload-misc-error' => '吂知嘅上傳差錯',
 'upload-misc-error-text' => '在上傳時發生還吂知嘅錯誤。請驗証使用矣正確並可訪問嘅 URL,然後重新嘗試。假使問題還係存在,請撈[[Special:ListUsers/sysop|管理員]]聯繫。',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
-'upload-curl-error6' => 'Mò-fap fóng-mun URL',
-'upload-curl-error6-text' => 'Mò-fap fóng-mun só thì-kiûng ke URL.  Chhiáng chai-chhṳ kiám-chhà ke-URL he-féu chṳn-khok, pin mióng-chham ke fóng-mun he-féu chṳn-sòng.',
-'upload-curl-error28' => 'Sông-chhòn chhêu-ko sṳ̀-kiên',
-'upload-curl-error28-text' => 'Mióng-chham fì-yin sṳ̀-kiên ko-chhòng. Chhiáng kiám-chhà chhṳ́ mióng-chham ke fóng-mun he-feu chṳn-sòng, chai chin-hàng sòng-chhṳ. Ngì khó-nèn sî-yeu chhai mióng-lu fóng-mun khûng-hàn sṳ̀-kiên chai-lòi chin-hàng sòng-chhṳ.',
+'upload-curl-error6' => '無法訪問URL',
+'upload-curl-error6-text' => '無法訪問所提供嘅URL。請再次檢查邇URL係毋係正確,並且網站嘅訪問係毋係正常。',
+'upload-curl-error28' => '上傳超時',
+'upload-curl-error28-text' => '網站回應時間過長。請檢查邇網站嘅訪問係毋係正常,過一陣再試。汝可能愛在網路訪問有閒時節再試。',
 
 'license' => '授權:',
 'license-header' => '授權',
-'nolicense' => 'Mò-yû sién-thin',
-'upload_source_url' => '(Yit-ke yû-háu ke, hí-khó kûng-khôi fóng-mun ke URL)',
-'upload_source_file' => '(ngì thien-nó chûng ke tóng-on)',
+'nolicense' => '無有選定',
+'upload_source_url' => ' (一隻有效、做得公開訪問嘅URL)',
+'upload_source_file' => ' (在汝電腦上嘅一隻文件)',
 
 # Special:ListFiles
-'listfiles_search_for' => 'On-cheu thù-chhiong miàng-chhṳ̂n sêu-chhà:',
-'imgfile' => 'tóng-on',
-'listfiles' => 'Tóng-on lie̍t-péu',
-'listfiles_date' => 'Ngit-khì',
-'listfiles_name' => 'Miàng-chhṳ̂n',
-'listfiles_user' => 'Yung-fu',
-'listfiles_size' => 'Thai-séu',
-'listfiles_description' => 'Mèu-sut',
+'listfiles_search_for' => '按媒體名搜尋:',
+'imgfile' => '文件',
+'listfiles' => '文件列表',
+'listfiles_date' => '日期',
+'listfiles_name' => '',
+'listfiles_user' => '用戶',
+'listfiles_size' => '大細',
+'listfiles_description' => '描述',
 
 # File description page
 'file-anchor-link' => '文件',
 'filehist' => '文件歷史',
 'filehist-help' => '點撳日期/時間來查看當時出現過嘅文件。',
-'filehist-deleteone' => 'chhù-thet',
+'filehist-deleteone' => '刪除',
 'filehist-revert' => '恢復',
 'filehist-current' => '當前',
 'filehist-datetime' => '日期/時間',
@@ -1136,101 +1133,101 @@ Kó-yèn ngì yû liá-ke thù-hìn ke vàn-cháng thai-séu.",
 'nolinkstoimage' => '無頁面鏈接到本文件。',
 'sharedupload' => '本檔案來自於$1,渠可能在其它計劃項目肚分人應用。',
 'sharedupload-desc-here' => '邇文件來自於$1,其可能在其它計劃項目肚分應用。
-其在[$2文件描述頁面]片上嘅描述在下背展示。',
-'uploadnewversion-linktext' => 'Song-chhòn tóng-on ke sîn pán-pún',
+其在[$2文件描述頁面]片上嘅描述在下背展示。',
+'uploadnewversion-linktext' => '上傳邇隻文件嘅新版本',
 
 # File deletion
-'filedelete-submit' => 'Chhù-thet',
+'filedelete-submit' => '刪除',
 
 # MIME search
-'mimesearch' => 'MIME chhà-chhìm',
-'mimesearch-summary' => 'Pún vùn-chông sṳ-yung tóng-on MIME lui-hìn ko-li-hi. Sû-ngi̍p: nui-yùng lui-hìn yì-yi <code>image/jpeg</code>.',
-'mimetype' => 'MIME lui-hìn:',
-'download' => 'hâ-chai',
+'mimesearch' => 'MIME搜尋',
+'mimesearch-summary' => '本頁面啟用文件MIME類型過濾器。撳入︰內容類型/子類型,如 <code>image/jpeg</code>。',
+'mimetype' => 'MIME 類型:',
+'download' => '下載',
 
 # Unwatched pages
-'unwatchedpages' => 'Hàn-mò pûn kam-sṳ ke vùn-chông',
+'unwatchedpages' => '吂分監視嘅頁面',
 
 # List redirects
-'listredirects' => 'Chhùng-thin hiong-mien chhîn-tân',
+'listredirects' => '重定向頁面清單',
 
 # Unused templates
-'unusedtemplates' => 'Hàn-mò sṳ́-yung ke mù-pán',
+'unusedtemplates' => '吂使用嘅模板',
 'unusedtemplatestext' => '<p>Chhiáng chu-yi khì-thâ mióng-chham khó-nèn chhṳ̍t-chiap theu-ko URL lièn-chiap chhṳ́ thù-hìn, só-yî liá-piên clie̍t-chhut ke thù-hìn yû khó-nèn pûn sṳ́-yung.</p>',
-'unusedtemplateswlh' => 'Khì-thâ lièn-kiet',
+'unusedtemplateswlh' => '其他鏈接',
 
 # Random page
 'randompage' => '隨機頁面',
 'randompage-nopages' => 'Chhai liá-ke miàng-sṳ khûng-kiên chûng mò-yû hong-mien.',
 
 # Random redirect
-'randomredirect' => 'Sùi-kî chhùng-thin hong-mien',
+'randomredirect' => '隨機重定向頁',
 'randomredirect-nopages' => 'Chhai liá-ke miàng-sṳ khûng-kiên mò-yû chhùng-thin hong-mien.',
 
 # Statistics
 'statistics' => '統計',
-'statistics-header-users' => 'Yung-fu thúng-kie',
-'statistics-mostpopular' => 'Pûn-ngìn chhà-khon chhṳ-su chui-tô ke vùn-chông',
+'statistics-header-users' => '用戶統計',
+'statistics-mostpopular' => '分查閱次數最多嘅頁面',
 
 'disambiguations' => 'Sêu-hàm fù-chông',
 'disambiguationspage' => 'Template:消歧義',
 'disambiguations-text' => 'Yî-ha ke hong-mien tû-yû to <b> sêu-hàm fù-chông </b> ke lièn-chiap, than yin-kôi he lièn-to sṳt-tông ke phêu-thì. <br /> Yit-ke hong-mien chiông-voi pûn-ngìn sṳ-vi Sêu-hàm fù-chông kó-yèn kí he lièn-chhṳ [[MediaWiki:disambiguationspage]].',
 
-'doubleredirects' => 'Sûng chhûng-chhûng thin-hiong',
+'doubleredirects' => '雙重重定向頁',
 'doubleredirectstext' => 'Mî yit-hàng pâu-hàm to thi-yit lâu thi-ngi-ke chhûng-thin hong-mien ke lièn-chiap, yî-khi̍p thi-ngi ke chhûng-thin hong-mien ke thi-yit-hàng vùn-sṳ, thûng-sòng hién-sṳ ke he "chṳ̂n-chṳn" ke muk-phêu vùn-chông, ye-he thi-yit-ke chhûng-thin hong-mien  yin-kôi chṳ́-hiong ke vùn-chông.',
 
-'brokenredirects' => 'Sún-fái ke chhûng-thin hiong-hong',
+'brokenredirects' => '損壞嘅重定向頁',
 'brokenredirectstext' => 'Yî-ha ke chhûng-thin hiong-hong chṳ́-hiong-ke he mò chhùn-chhai ke hong-mien:',
 'brokenredirects-edit' => '編寫',
-'brokenredirects-delete' => 'Chhù-thet',
+'brokenredirects-delete' => '刪除',
 
-'withoutinterwiki' => 'Mò-yû ngî-ngièn lièn-chiap ke vùn-chông',
-'withoutinterwiki-summary' => 'Yî-ha ke vùn-chông he hàn-mò ngî-ngièn lièn-chiap to khì-thâ ngî-ngièn pán-pún:',
+'withoutinterwiki' => '無有語言鏈接頁面',
+'withoutinterwiki-summary' => '下背嘅頁面還吂有語言鏈接到其它語言版本。',
 
-'fewestrevisions' => 'Chui-séu siù-chho ke vùn-chông',
+'fewestrevisions' => '最少修訂嘅頁面',
 
 # Miscellaneous special pages
 'nbytes' => '$1字節',
-'ncategories' => '$1-ke fûn-lui',
-'nlinks' => '$1-ke lièn-kiet',
+'ncategories' => '$1隻分類',
+'nlinks' => '$1隻鏈接',
 'nmembers' => '$1隻成員',
-'nrevisions' => '$1-ke siù-chho',
-'nviews' => '$1-chhṳ khon-kien',
-'specialpage-empty' => 'Pún hong-mien mò-yû nui-yùng .',
-'lonelypages' => 'Kû-yì vùn-chông',
+'nrevisions' => '$1隻修訂版本',
+'nviews' => '$1次瀏覽',
+'specialpage-empty' => '本報告無結果。',
+'lonelypages' => '孤立頁面',
 'lonelypagestext' => 'Yî-ha vùn-chông mò-yû lièn-kiet liá-ke wiki chûng ke khì-thâ vùn-chông.',
-'uncategorizedpages' => 'Thai fûn-lui vùn-chông',
-'uncategorizedcategories' => 'Thai fûn-lui lui-phe̍t',
+'uncategorizedpages' => '吂分類頁面',
+'uncategorizedcategories' => '吂歸類分類',
 'uncategorizedimages' => 'Thai fûn-lui thù-phién',
-'unusedcategories' => 'Hàn-mò sṳ́-yung ke fûn-lui',
-'unusedimages' => 'Hàn-mò sṳ́-yung thù-hìn',
-'popularpages' => 'Ngie̍t-tiám vùn-chông',
-'wantedcategories' => 'Sî-yeu ke fûn-lui',
-'wantedpages' => 'Thai-yeu hong-mien',
-'mostlinked' => 'Chui-tô lièn-kiet hong-mien',
-'mostlinkedcategories' => 'Chui-tô lièn-kiet fûn-lui',
-'mostcategories' => 'Chui-tô fûn-lui vùn-chông',
+'unusedcategories' => '吂用分類',
+'unusedimages' => '吂用圖片',
+'popularpages' => '熱點頁面',
+'wantedcategories' => '想愛嘅分類',
+'wantedpages' => '等寫頁面',
+'mostlinked' => '最多鏈接頁面',
+'mostlinkedcategories' => '最多鏈接分類',
+'mostcategories' => '最多分類頁面',
 'mostimages' => 'Chui-tô lièn-kiet thù-chhiong',
-'mostrevisions' => 'Chui-tô siû-thin vùn-chông',
+'mostrevisions' => '最多修訂版本頁面',
 'prefixindex' => '全部有前綴嘅頁面',
-'shortpages' => 'Tón vùn-chông',
-'longpages' => 'Chhòng vùn-chông',
-'deadendpages' => 'Thôn-lièn vùn-chông',
+'shortpages' => '短頁面',
+'longpages' => '長頁面',
+'deadendpages' => '斷鏈頁面',
 'deadendpagestext' => 'Yî-ha vùn-chông mò-yû pûn lièn-kiet to liá-ke wiki chûng ke khì-thâ vùn-chông:',
-'protectedpages' => 'Pûn pó-fu ke vùn-chông',
-'protectedpagestext' => 'Yî-ha vùn-chông yí-kîn Pûn pó-fu yî fòng-chṳ́ yì-thung fe̍t-chá sîn-phiên',
-'protectedpagesempty' => 'Chhai liá-ke chhâm-su hâ mò-yû vùn-chông chang-chhai pó-fu.',
-'listusers' => 'Yung-fu lie̍t-péu',
+'protectedpages' => '受保護頁面',
+'protectedpagestext' => '以下頁面已經受保護以防止移動或編寫',
+'protectedpagesempty' => '在邇兜參數下無頁面保護緊。',
+'listusers' => '用戶列表',
 'usercreated' => '$1 $2{{GENDER:$3|建立}}',
 'newpages' => '新頁面',
-'newpages-username' => 'Yung-fu-miàng:',
-'ancientpages' => 'Chui-khiu ke hong-mien',
+'newpages-username' => '用戶名:',
+'ancientpages' => '最舊頁面',
 'move' => '移動',
-'movethispage' => 'Yì-thung pún-chông',
+'movethispage' => '移動本頁',
 'unusedimagestext' => 'Chhiáng chu-yi khì-thâ mióng-chham khó-nèn chhṳ̍t-chiap theu-ko URL lièn-chiap thù-chhiong, só-yî liá-piên lie̍t-chhut ke thù-chhiong khó-nèn pûn-ngìn sṳ́-yung.',
-'unusedcategoriestext' => 'Sûi-yèn mò-yû pûn khì-thâ vùn-chông fe̍t-chá fûn-lui só chhái-yung, than lie̍t-péu chûng ke fûn-lui chông chhùn-chhai.',
-'notargettitle' => 'Mò muk-phêu',
-'notargettext' => 'Ngì hàn-mò chṳ́-thin yit-ke muk-phêu vùn-chông fe̍t-chá yung-fu chin-hàng chhṳ́-hong chhâu-chok.',
+'unusedcategoriestext' => '雖然無分其他頁面或者分類所採用,毋過列表肚嘅分類頁依然存在。',
+'notargettitle' => '無目標',
+'notargettext' => '汝還吂指定一隻目標頁面或用戶來進行邇項操作。',
 'pager-newer-n' => '新$1次',
 'pager-older-n' => '舊$1次',
 
@@ -1238,31 +1235,31 @@ Kó-yèn ngì yû liá-ke thù-hìn ke vàn-cháng thai-séu.",
 'booksources' => '網絡書源',
 'booksources-search-legend' => '尋找網絡書源',
 'booksources-go' => '送出',
-'booksources-text' => 'Yî-ha he yit-fun sîn-sû fe̍t-chá ngi-sú-sû ke lie̍t-péu, pin khó-nèn yû ngì chang-hó chhìm-cháu ke sû ke chin-yit-phu sêu-sit:',
+'booksources-text' => '下背係一份銷售新書或二手書嘅列表,並可能有汝尋找緊嘅書嘅進一步信息:',
 
 # Special:Log
 'specialloguserlabel' => 'Yung-fu:',
 'speciallogtitlelabel' => 'Phêu-thì:',
 'log' => '日誌',
 'alllogstext' => 'Lièn-ha̍p hién-sṳ song-chhòn, chhù-chhiang, pó-fu, chhà-fûng yî-khi̍p chham-vu',
-'logempty' => 'Mò-yû siông-thùng ki-liu̍k.',
-'log-title-wildcard' => 'Chhà-chhìm liá-ke vùn-sṳ khôi-sṳ́ ke phêu-thì',
+'logempty' => '在日誌肚無匹配項。',
+'log-title-wildcard' => '搜尋以邇隻文字開頭嘅標題',
 
 # Special:AllPages
 'allpages' => '全部頁面',
 'alphaindexline' => '$1到$2',
-'nextpage' => 'Hâ yit-chông ($1)',
-'prevpage' => 'Song yit-chông ($1)',
-'allpagesfrom' => 'Hién-sṳ chhiùng chhṳ́-chhu khôi-sṳ́ ke hong-mien:',
-'allpagesto' => 'Hién-sṳ chhiùng-chhṳ́ kiet-suk ke ya̍p:',
+'nextpage' => '下一頁($1)',
+'prevpage' => '上一頁($1)',
+'allpagesfrom' => '顯示從邇處開始嘅頁面:',
+'allpagesto' => '顯示從邇位結束嘅頁面:',
 'allarticles' => '全部頁面',
-'allinnamespace' => 'Só-yû ke hong-mien (su̍k-yî $1 miàng-sṳ khûng-kiên)',
-'allnotinnamespace' => 'Só-yû ke hong-mien (put su̍k-yî $1 miàng-sṳ khûng-kiên)',
-'allpagesprev' => 'Chhièn',
-'allpagesnext' => 'Heu',
+'allinnamespace' => '所有頁面(屬於$1名字空間)',
+'allnotinnamespace' => '所有頁面(毋屬於$1名字空間)',
+'allpagesprev' => '',
+'allpagesnext' => '',
 'allpagessubmit' => '提交',
-'allpagesprefix' => 'Hién-sṳ khí--yû chhṳ́ miàng-sṳ khûng-kiên ke hong-mien:',
-'allpagesbadtitle' => 'Pûn-thin ke hong-mien phêu-thì he fî-fap ke, fe̍t-chá yung-khí yû yit-ke nui-phu ngî-ngièn fe̍t-he nui-phu wiki. Kí khó-nèn pâu-hàm yit-ke fe̍t kien-tô ke put-nèn yung chhai-yî phêu-thì ke sṳ-ngièn.',
+'allpagesprefix' => '顯示有邇前綴(名字空間)嘅頁面:',
+'allpagesbadtitle' => '分定嘅頁面標題係非法嘅,或者有一隻內部語言或內部wiki嘅前綴。其可能包含一隻或還較多毋做得用於標題嘅字符。',
 
 # Special:Categories
 'categories' => '分類',
@@ -1272,118 +1269,123 @@ Also see [[Special:WantedCategories|wanted categories]].',
 
 # Special:LinkSearch
 'linksearch' => 'Ngoi-phu lièn-chiap',
-'linksearch-ok' => 'Chhìm-cháu',
-'linksearch-line' => '$1 連自 $2',
+'linksearch-ok' => '搜尋',
+'linksearch-line' => '$1連自$2',
 
 # Special:ListUsers
-'listusersfrom' => 'Hién-sṳ yung-fu lie̍t-péu chhiùng:',
-'listusers-submit' => 'Hién-sṳ',
-'listusers-noresult' => 'Cháu put-to yung-fu.',
+'listusersfrom' => '顯示用戶列表從:',
+'listusers-submit' => '展示',
+'listusers-noresult' => '尋毋到用戶',
 
 # Special:ListGroupRights
 'listgrouprights-members' => '(成員列表)',
 
 # Email user
-'mailnologin' => 'Mò email thi-tiám',
-'mailnologintext' => 'Ngì pit-sî siên [[Special:UserLogin|tên-ngi̍p]] pin-chhai [[Special:Preferences|chhâm-su sat-chṳ]] chûng yû yit-ke yû-háu ke e-mail thi-tiám chhòi-nèn email khì-thâ yung-fu.',
+'mailnologin' => '無電郵地址',
+'mailnologintext' => '汝必須先[[Special:UserLogin|登入]]
+並在[[Special:Preferences|偏好設定]]
+肚有一隻有效嘅電郵地址正做得發郵件分其他用戶。',
 'emailuser' => '電郵聯繫邇隻用戶',
-'emailpage' => 'Email yung-fu',
+'emailpage' => '電郵聯繫用戶',
 'emailpagetext' => 'Kó-yèn ke-yung-fu yí-kîn chhai chhâm-su sat-chṳ chông chûng sû-ngi̍p yû-háu ke e-mail thi-tiám, yî-ha ke péu-kak chiông-ki yit-ke sêu-sit pûn ke-yung-fu. Ngì chhai chhâm-su sat-chṳ chûng só sû-ngi̍p ke e-mail thi-tiám chiông chhut-hien chhai email "fat-khien-ngìn" yit-làn-chûng, liá-yong ke-yung-fu chhiu khó-yî fì-fu̍k.',
-'usermailererror' => 'Muk-phêu e-mail thi-tiám fán-fì chho-ngu:',
+'usermailererror' => '目標郵件地址轉頭差錯:',
 'defemailsubject' => '{{SITENAME}} Email',
-'noemailtitle' => 'Mò e-mail thi-tiám',
+'noemailtitle' => '電郵地址:',
 'noemailtext' => 'Ke-yung-fu hàn-mò chṳ́-thin yit-ke yû-háu ke e-mail thi-tiám, fe̍t-chá sién-chet put chiap-su chhṳ̀-lòi khì-thâ yung-fu ke e-mail.',
 'emailfrom' => 'Fat-khien-ngìn',
 'emailto' => 'Sû-khien-ngìn',
 'emailsubject' => 'Chú-thì',
-'emailmessage' => 'Sin-sit',
-'emailsend' => 'Fat-sung',
-'emailccme' => 'Chiông sêu-sit fat-sung yit-fun to ngô-ke email sin-siông.',
-'emailccsubject' => 'Chiông ngì-ke sêu-sit fu̍k-chṳ to $1: $2',
-'emailsent' => 'Email yí-kîn fat-sung',
-'emailsenttext' => 'Ngì-ke email yí-kîn fat-chhut.',
+'emailmessage' => '消息',
+'emailsend' => '發送',
+'emailccme' => '發送吾消息嘅一份副本到吾電郵信箱。',
+'emailccsubject' => '汝發送分$1嘅消息副本:$2',
+'emailsent' => '電子郵件已發送',
+'emailsenttext' => '汝嘅電子郵件已經發出。',
 
 # Watchlist
 'watchlist' => '監視列表',
 'mywatchlist' => '監視列表',
 'watchlistfor2' => '$1嘅監視列表$2',
-'nowatchlist' => 'Ngì ke kam-sṳ lie̍t-péu he khûng-hî.',
-'watchlistanontext' => 'Chhiáng $1 yî kiám-sṳ fe̍t-chá phiên-chho ngì-ke kam-sṳ lie̍t-péu.',
-'watchnologin' => 'Hàn-mò tên-ngi̍p',
-'watchnologintext' => 'Ngì pit-sî siên [[Special:UserLogin|tên-ngi̍p]] chhòi-nèn kiên-kói ngì-ke kam-sṳ lie̍t-péu.',
+'nowatchlist' => '汝嘅監視列表係空嘅。',
+'watchlistanontext' => '請$1來查看或編寫汝嘅監視列表。',
+'watchnologin' => '還吂登入',
+'watchnologintext' => '汝必須先[[Special:UserLogin|登入]],正做得更改汝嘅監視列表。',
 'addedwatchtext' => "Hong-mien \"[[:\$1]]\" yí-kîn pûn kâ-ngi̍p to ngì-ke [[Special:Watchlist|Kam-sṳ chhîn-tân]] chûng. Chiông-lòi yû-kôan chhṳ́ hong-mien khi̍p khì-thâ thó-lun-hong ke ngim-hò siû-cháng chiông-voi chhai hong-mien lie̍t-chhut, song-chhiá hàn-voi chhai [[Special:RecentChanges|Chui-khiûn ke kiên-kói]] chûng ke '''chhû-thí''' hìn-sṳt lie̍t-chhut. Kó-yèn  ngì heu-lòi sióng chhiùng hong-mien kam-sṳ chhîn-tân chûng chhîn-chhù, hí-khó tiám-kit thô-hòng thiàu-chûng \"thìn-chṳ́ kam-sṳ\" ke lièn-kiet。",
 'removedwatchtext' => 'Vùn-chông "[[:$1]]" yí-kîn chhiùng Ngì kekam-sṳ lie̍t-péu mien-chûng yì-chhù.',
 'watch' => '監視',
-'watchthispage' => 'Kam-sṳ pún-chông',
+'watchthispage' => '監視本頁',
 'unwatch' => '取消監視',
-'unwatchthispage' => 'Thìn-chṳ́ kam-sṳ',
-'notanarticle' => 'Put-he vùn-chông',
-'watchnochange' => 'Chhai hién-sṳ ke sṳ̀-kiên thon-nui ngì só kam-sṳ ke vùn-chông mò-yû kiên-kói.',
-'watchlist-details' => '毋包含討論頁,汝嘅監視列表上有$1隻頁面。',
-'wlheader-enotif' => 'Yí-kîn khí-thung email thûng-tî kûng-nèn.',
-'wlheader-showupdated' => "Chhai ngì song-chhṳ kiám-sṳ heu yû pûn chhùng-siû ko ke vùn-chông chiông-voi hién-sṳ vi '''chhû-thí'''.",
-'watchmethod-recent' => 'Kiám-chhà pûn kam-sṳ hong-mien ke chui-khiûn phiên-cho',
-'watchmethod-list' => 'Kiám-chhà chui-khiûn phiên-cho ke pûn kam-sṳ hong-mien.',
-'watchlistcontains' => 'Ngì-ke kam-sṳ lie̍t-péu pâu-hàm $1-ke hong-mien.',
-'iteminvalidname' => "Hong-mien '$1' chho-ngu, mò-háu min-miàng...",
+'unwatchthispage' => '停止監視',
+'notanarticle' => '毋係內容頁面',
+'watchnochange' => '在顯示嘅時間段內汝所監視嘅頁面無更改。',
+'watchlist-details' => '毋包含交流頁,汝嘅監視列表上有$1隻頁面。',
+'wlheader-enotif' => 'Yí-kîn khí-thung email thûng-tî kûng-nèn.',
+'wlheader-showupdated' => "Chhai ngì song-chhṳ kiám-sṳ heu yû pûn chhùng-siû ko ke vùn-chông chiông-voi hién-sṳ vi '''chhû-thí'''.",
+'watchmethod-recent' => '檢查分監視頁面嘅最近編寫',
+'watchmethod-list' => '檢查最近編寫嘅分監視頁面',
+'watchlistcontains' => '汝嘅監視列表包含$1隻頁面。',
+'iteminvalidname' => "頁面'$1'錯誤,無效命名...",
 'wlnote' => 'Yî-ha he chui-khiûn <b>$2</b> séu-sṳ̀ nui-ke chui-heu $1-chhṳ chin-siû.',
 'wlshowlast' => '展示最近$1隻鐘頭,$2日或$3嘅更改。',
 'watchlist-options' => '監視列表選項',
 
 # Displayed when you click the "watch" button and it is in the process of watching
-'watching' => 'Chang-chhai kam-sṳ...',
-'unwatching' => 'Chang-chhai thìn-chṳ́ kam-sṳ',
+'watching' => '監視中...',
+'unwatching' => '停止監視中...',
 'watcherrortext' => '更改“$1”嘅監視列表設定時出現差錯。',
 
-'enotif_mailer' => '{{SITENAME}} email thûng-tî-hi',
-'enotif_reset' => 'Chiông só-yû hong-mien phêu-vi yí-kîn thu̍k-ko.',
-'enotif_impersonal_salutation' => '{{SITENAME}} yung-fu',
-'enotif_lastvisited' => 'Kiám-sṳ ngì song-chhṳ fóng-mun heu ke só-yû kiên-kói chhián chhâm-siòng $1.',
-'enotif_lastdiff' => 'Kiám-chhà kiên-kói chhiáng chhâm-siòng $1.',
-'enotif_anon_editor' => 'ngia̍k-miàng yung-fu $1',
+'enotif_mailer' => '{{SITENAME}}郵件通知器',
+'enotif_reset' => '標記所有頁面做已探訪',
+'enotif_impersonal_salutation' => '{{SITENAME}}用戶',
+'enotif_lastvisited' => '請參詳$1查看汝上次訪問後嘅所有更改。',
+'enotif_lastdiff' => '請參詳$1查看邇次更改。',
+'enotif_anon_editor' => '匿名用戶$1',
 'enotif_body' => 'Chhîn-oi ke $WATCHINGUSERNAME, $PAGEEDITOR yí-kîn chhai $PAGEEDITDATE $CHANGEDORCREATED{{SITENAME}} ke $PAGETITLE vùn-chông, chhiáng-to $PAGETITLE_URL kiám-sṳ siên-chhièn pán-pún.  $NEWPAGE phiên-si̍p chak-yeu: $PAGESUMMARY $PAGEMINOREDIT lièn-kiê chhṳ́ phiên-si̍p-chá: email: $PAGEEDITOR_EMAIL pún-chham: $PAGEEDITOR_WIKI chhai ngì fóng-mun chhṳ́-chông chṳ̂-chhièn, chiông-lòi ke kiên-kói vù-nèn hiong ngì thûng-tî. Ngì khó-yî chhûng-sat ngì só-yû kam-sṳ vùn-chông ke thûng-tî phêu-ki. {{SITENAME}} thûng-tî ne-thúng -- yeu kói-pien ngì-ke kam-sṳ lie̍t-péu sat-thin, chhiáng chhâm-siòng {{canonicalurl:{{#special:EditWatchlist}}}} chin-yit-phu ke pông-chhu: {{canonicalurl:{{MediaWiki:Helppage}}}}',
-'created' => 'Yí-kîn kien-li̍p',
-'changed' => 'siû-kói liáu',
+'created' => '建立矣',
+'changed' => '更改矣',
 
 # Delete
-'deletepage' => 'Chhù-thet hong-mien',
-'confirm' => 'Khok-ngin',
-'excontent' => 'Nui-yùng pún-lòi he: "$1"',
+'deletepage' => '刪除頁面',
+'confirm' => '確認',
+'excontent' => '內容係:“$1”',
 'excontentauthor' => 'Nui-yùng he: "$1" (song-chhiá vì-thu̍k kung-hien-chá he "$2")',
-'exbeforeblank' => 'Pûn chhîn-khûng chhièn ke nui-yùng he: "$1"',
-'exblank' => 'Vùn-chông he hî-khûng',
-'delete-legend' => 'Chhù-thet',
+'exbeforeblank' => '分清空前嘅內容係:“$1”',
+'exblank' => '頁面係空嘅',
+'delete-legend' => '刪除',
 'historywarning' => 'Kín-ko: Ngì chiông-yeu chhù-hi ke chông-nui hàm-yû li̍t-sṳ́:',
-'confirmdeletetext' => 'Ngì chiông-voi chhiùng chṳ̂-liau-khu chûng yún-yén chhù-thet yit-ke vùn-chông fe̍t-chá thù-chhiong yî-khi̍p li̍t-sṳ́. Chhiáng khok-thin ngì-yeu chin-hàng chhâu-chok, pin liáu-kié heu-kó, thùng-sṳ̀ ngì-ke hàng-vì fù-ha̍p [[{{MediaWiki:Policy-url}}]].',
+'confirmdeletetext' => '汝即將刪除一隻頁面或圖片撈其嘅歷史。
+請確定汝愛進行邇項操作,並且了解其嘅後果,同時汝嘅行為符合[[{{MediaWiki:Policy-url}}]]。',
 'actioncomplete' => '操作完成',
 'actionfailed' => '操作失敗',
-'deletedtext' => '"$1" yí-kîn pûn chhù-thet. Chui-khiûn chhù-hi ke ki-liu̍k chhiáng chhâm-siòng $2.',
+'deletedtext' => '“$1”已經分刪除。最近刪除嘅記錄請參見$2。',
 'dellogpage' => '刪除日誌',
-'dellogpagetext' => 'Yî-ha he chui-khiûn chhù-thet ke ki-liu̍k lie̍t-péu.',
-'deletionlog' => 'Chhù-chhiang ki-liu̍k',
-'reverted' => 'Fî-fu̍k to  chó-khì pán-pún',
-'deletecomment' => 'Ngièn-yîn:',
-'deleteotherreason' => 'Khì-thâ/fu-kâ ke lî-yù:',
-'deletereasonotherlist' => 'Khì-thâ lî-yù',
+'dellogpagetext' => '下背係最近刪除嘅列表。',
+'deletionlog' => '刪除日誌',
+'reverted' => '恢復到早期版本',
+'deletecomment' => '理由:',
+'deleteotherreason' => '其它/附加理由:',
+'deletereasonotherlist' => '其它理由',
 
 # Rollback
-'rollback' => 'Fî-fu̍k',
-'rollback_short' => 'Fî-fu̍k',
+'rollback' => '編寫倒轉頭',
+'rollback_short' => '倒轉頭',
 'rollbacklink' => '打轉頭',
-'rollbackfailed' => 'Mò-fap fî-fu̍k',
-'cantrollback' => 'Vù-fap fî-fu̍k phiên-cho; chui-heu ke kung-hien-chá he pún vùn-chông ke vì-thu̍k chok-chá.',
+'rollbackfailed' => '無法倒轉頭',
+'cantrollback' => '編寫無法打轉頭;最後嘅貢獻者人本文嘅唯一作者。',
 'alreadyrolled' => 'Mò-fap fî-fu̍k yù [[User:$2|$2]] ([[User talk:$2|thó-lun]]) chin-hàng ke [[$1]] ke chui-heu phiên-si̍p; khì-thâ ngìn yí-kîn phiên-siá fe̍t-he fî-fu̍k liáu ke-hong. Chui-heu phiên-si̍p-chá: [[User:$3|$3]] ([[User talk:$3|Thó-lun]])。',
 'editcomment' => "Phiên-siá sot-mìn he: \"''\$1''\"。",
 'revertpage' => 'Fî-fu̍k yù [[Special:Contributions/$2|$2]] ([[User talk:$2|tui-fa]]) ke phiên-cho; kiên-kói fì-fu̍k [[User:$1|$1]] ke chui-heu yit-ke pán-pún',
 
 # Edit tokens
-'sessionfailure' => 'Ngì-ke tên-ngi̍p sṳ-fû yû mun-thì, vi-liáu fòng-chṳ́ sêu-sit pûn làn-chiet, pún-chhṳ chhâu-chok yí-kîn chhí-sêu, chhiáng-on "song-yit-chông" chhùng-sîn chai-ngi̍p.',
+'sessionfailure' => '汝嘅登入會話好像有問題;
+為到防止會話劫持,邇次操作已經畀取消。
+請轉到先前嘅頁面,重新載入邇頁面,然後重試。',
 
 # Protect
 'protectlogpage' => '保護日誌',
 'protectlogtext' => 'Ha-mien he vùn-chông só-thin lâu chhí-sêu só-thin ke lie̍t-péu. Chhiáng chhâm-kháu [[Special:ProtectedPages|Pó-fu vùn-chông chhîn-tân]] yî-khi̍p kiám-sṳ tông-chhièn chin-hàng ke vùn-chông pó-fu.',
 'protectedarticle' => '已保護“[[$1]]”',
-'modifiedarticleprotection' => 'yí-kîn kiên-kói "[[$1]]" ke pó-fu tén-kip',
+'modifiedarticleprotection' => '已經更改“[[$1]]”嘅保護等級',
 'unprotectedarticle' => 'yí-kîn kié-chhù pó-fu "[[$1]]"',
 'protect-title' => 'Chang-chhai pó-fu "$1"',
 'prot_1movedto2' => '[[$1]] yì-thung to [[$2]]',
@@ -1405,7 +1407,7 @@ Yî-ha he '''$1''' hien-sṳ̀ ke pó-fu khi̍p-phe̍t:",
 'protect-summary-cascade' => 'Lièn-só',
 'protect-expiring' => 'Chûng-chṳ́ chhai-yî $1 (UTC)',
 'protect-cascade' => 'Lièn-só pó-fu - pún-chông pâu-hàm ke só-yû hong-mien kiûn yit-phîn pó-fu.',
-'protect-cantedit' => 'Ngì mò-fap kiên-kói liá-ya̍p ke pó-fu tén-kip, yîn-vi ngì mò khièn-han phiên-sip kì.',
+'protect-cantedit' => '汝無法更改邇隻頁面嘅保護等級,因為汝無權限去編寫其。',
 'protect-expiry-options' => '1 séu-sṳ̀:1 hour, 1 thiên:1 day,1 chû:1 week,2 chû:2 weeks,1-ke ngie̍t:1 month,3-ke ngie̍t:3 months,6-ke ngie̍t:6 months,1-ngièn:1 year, yún-kiú:infinite',
 'restriction-type' => 'Khièn-han:',
 'restriction-level' => 'Han-chṳ khi̍p-phe̍t:',
@@ -1464,13 +1466,13 @@ Chhiáng chhâm-kháu [[Special:Log/delete|chhù-hi ngit-ki]] lòi chhà-chhut c
 'contributions-title' => '$1嘅用戶貢獻',
 'mycontris' => '貢獻',
 'contribsub2' => '$1嘅貢獻($2)',
-'nocontribs' => 'Mò-yû chhìm-cháu to fù-ha̍p thi̍t-chṳ̂n ke kiên-kói.',
+'nocontribs' => '毋尋到符合特徵嘅更改。',
 'uctop' => '(最新修改)',
 'month' => '從邇月(或還較早):',
 'year' => '從邇年(或還較早):',
 
 'sp-contributions-newbies' => '單淨展示新建用戶嘅貢獻',
-'sp-contributions-newbies-sub' => 'Sîn-sú',
+'sp-contributions-newbies-sub' => '新手',
 'sp-contributions-blocklog' => '封禁日誌',
 'sp-contributions-uploads' => '上傳',
 'sp-contributions-logs' => '日誌',
@@ -1518,7 +1520,7 @@ Chhiáng chhâm-kháu [[Special:Log/delete|chhù-hi ngit-ki]] lòi chhà-chhut c
 'ipbcreateaccount' => 'Chú-chṳ́ chhóng-li̍p sîn chong-ho',
 'ipbenableautoblock' => 'Chhṳ-thung chhà-fûng ke-yung-fu sṳ́-yung-ko ke IP thi-tiám',
 'ipbsubmit' => 'Chhà-fûng ke-yung-fu',
-'ipbother' => 'Khì-thâ sṳ̀-kiên:',
+'ipbother' => '其它時間:',
 'ipboptions' => '2小時:2 hours,1日:1 day,3日:3 days,1星期:1 week,2星期:2 weeks,1隻月:1 month,3隻月:3 months,6隻月:6 months,1年:1 year,無限期:infinite',
 'ipbotheroption' => 'khì-thâ',
 'ipbotherreason' => 'Khì-thâ lî-yù:',
@@ -1533,7 +1535,7 @@ Chhiáng chhâm-kháu [[Special:Log/delete|chhù-hi ngit-ki]] lòi chhà-chhut c
 'unblockip' => 'Kié-chhù kim-fûng IP thi-tiám',
 'unblockiptext' => 'Yung ha-mien ke péu-tân lòi fî-fu̍k siên-chhièn pûn kim-fûng ke IP thi-tiám ke siá-sû-khièn.',
 'ipusubmit' => 'Kié-chhù kim-fûng',
-'unblocked' => '[[User:$1|$1]]-ke fûng-kim yí-kîn kié-chhù',
+'unblocked' => '[[User:$1|$1]]已經分解封。',
 'unblocked-id' => 'Fûng-kim $1 yí-kîn pûn yì-chhù',
 'ipblocklist' => '分封用戶列表',
 'ipblocklist-submit' => 'Chhìm-cháu',
@@ -1552,12 +1554,12 @@ Chhiáng chhâm-kháu [[Special:Log/delete|chhù-hi ngit-ki]] lòi chhà-chhut c
 'blocklogpage' => '查封日誌',
 'blocklogentry' => '封禁[[$1]],到期時間係$2$3',
 'blocklogtext' => 'Liá-he kôan-yî yung-fu fûng-kim lâu kié-chhù fûng-kim chhâu-chok ke ki-liu̍k. Pûn chhṳ-thung fûng-kim ke IP thi-tiám mò-yû lie̍t-chhut. Chhiáng chhâm-kháu [[Special:BlockList|Pûn chhà-fûng ke IP thi-tiám lâu yung-fu lie̍t-péu]].',
-'unblocklogentry' => '"$1" yí-kîn pûn kié-fûng',
+'unblocklogentry' => '$1已分解封',
 'block-log-flags-anononly' => 'Han-chṳ ngia̍k-miàng ke yung-fu',
 'block-log-flags-nocreate' => '帳號建立已禁',
 'block-log-flags-noautoblock' => 'Thìn-chṳ́ yung chhṳ-thung fûng-kim',
 'range_block_disabled' => 'Chṳ́-yû kón-lî-yèn chhòi-nèn kien-chho kim-chṳ́ chhà-fûng ke fam-vì.',
-'ipb_expiry_invalid' => 'Mò-háu ke chûng-chṳ́ sṳ̀-kiên.',
+'ipb_expiry_invalid' => '無效嘅終止時間。',
 'ipb_already_blocked' => 'Yí-kîn fûng-só "$1"',
 'ipb_cant_unblock' => 'Chho-ngu: Mò-yû fat-hien Block ID $1. Ke-IP khó-nèn yí-kîn pûn kié-fûng.',
 'ip_range_invalid' => 'Mò-háu ke IP fam-vì.',
@@ -1568,8 +1570,8 @@ Chhiáng chhâm-kháu [[Special:Log/delete|chhù-hi ngit-ki]] lòi chhà-chhut c
 'sorbs_create_account_reason' => 'Ngì-ke IP chhô-vi pûn DNSBL lie̍t-vi su̍k-yî khôi-fong thoi-lî fu̍k-vu-khí. Só-yî ngì mò-fap kien-li̍p chong-ho.',
 
 # Developer tools
-'lockdb' => 'Kim-chṳ́ kiên-kói chṳ̂-liau-khu',
-'unlockdb' => 'Khôi-fong kiên-kói chṳ̂-liau-khu',
+'lockdb' => '鎖定數據庫',
+'unlockdb' => '開數據庫鎖',
 'lockdbtext' => 'Só-he̍t chṳ̂-liau-khu chiông-voi kim-chṳ́ só-yû yung-fu chin-hàng phiên-siá vùn-chông, kiên-kói chhâm-su, phiên-cho kam-sṳ lie̍t-péu yî-khi̍p khì-thâ sî-yeu kiên-kói chṳ̂-liau-khu ke chhâu-chok. Chhiáng khok-ngin ngì-ke kiet-thin, pin pó-chṳn ngì-chhai vì-fu kûng-chok kiet-suk heu chiông-voi chhùng-sîn khôi-fong chṳ̂-liau-khu.',
 'unlockdbtext' => 'Khôi-fong chṳ̂-liau-khu chiông-voi fî-fu̍k só-yû yung-fu chin-hàng phiên-siá vùn-chông, siû-thin chhâm-su, phiên-siá kam-sṳ lie̍t-péu yî-khi̍p khì-thâ sî-yeu kiên-kói chṳ̂-liau-khu ke chhâu-chok. Chhiáng khok-ngin ngì-ke kiet-thin.',
 'lockconfirm' => 'Chṳ̂n-ke, Ngô khok-sṳ̍t chhin-sióng fûng-só chṳ̂-liau-khu.',
@@ -1606,13 +1608,13 @@ chhiáng chhai hàng-thung chṳ̂-chhièn siên liáu-kié khì-thâ khó-nèn
 'movearticle' => 'Yì-thung vùn-chông',
 'movenologin' => 'Hàn-mò tên-ngi̍p',
 'movenologintext' => 'Ngì pit-sî he yit-miàng tên-ki yung-fu pin-chhiâ [[Special:UserLogin|tên-ngi̍p]] heu chhòi-nèn Yì-thung yit-ke vùn-chông.',
-'newtitle' => 'Sîn phêu-thì',
+'newtitle' => '新標題:',
 'move-watch' => 'Kam-sṳ chhṳ́-chông',
 'movepagebtn' => 'Yì-thung vùn-chông',
 'pagemovedsub' => 'Yì-thung sṳ̀n-kûng',
 'movepage-moved' => '\'\'\'"$1" yí-kîn pûn yì-thung to "$2"\'\'\'',
 'articleexists' => 'Ke miàng-sṳ ke hong-mien yí-kîn chhùn-chhai, fe̍t-chá ngì sién-chet ke miàng-sṳ mò-háu. Chhiáng chai-hi sién yit-ke miàng-sṳ.',
-'talkexists' => "'''Hong-mien pún-sṳ̂n yì-thung sṳ̀n-kûng, than-he yù-yî sîn phêu-thì hâ yí-kîn yû tui-fa-hong chhùn-chhai, só-yî tui-fa-hong vù-fap yì-thung. Chhiáng sú-kûng ha̍p-phîn lióng-ke hong-mien'''.",
+'talkexists' => '頁面本身移動成功,參過由於新標題下已經有交流頁存在,故所對話交流頁無法移動。請手工合併兩隻頁面。',
 'movedto' => 'yì-thung to',
 'movetalk' => 'Chhiáng thùng-sṳ̀ yì-thung tui-fa-chông',
 'movelogpage' => '移動日誌',
@@ -1624,7 +1626,7 @@ chhiáng chhai hàng-thung chṳ̂-chhièn siên liáu-kié khì-thâ khó-nèn
 
 Muk-phêu vùn-chông "[[:$1]]" yí-kîn chhùn-chhai.
 Ngì khok-ngin sî-yeu chhù-thet ngièn hong-mien khi̍p chin-hàng yì-thung mâ?',
-'delete_and_move_confirm' => 'Chhie̍t-tui, chhù-thet chhṳ́ hong-mien',
+'delete_and_move_confirm' => '著,刪除邇頁',
 'delete_and_move_reason' => 'Chhù-thet yî-phien yì-thung',
 'selfmove' => 'Ngièn-sṳ́ phêu-thì khi̍p muk-phêu phêu-thì siông-thùng, vù-nèn yì-thung yit-chông fu̍k-koi pún-sṳ̂n.',
 
@@ -1655,7 +1657,7 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 'thumbnail-more' => '放大',
 'filemissing' => 'Mò-fap cháu-to tóng-on',
 'thumbnail_error' => '建立縮略圖差錯:$1',
-'djvu_page_error' => 'DjVu hong-mien chhêu-chhut fam-vì',
+'djvu_page_error' => 'DjVu頁面超出範圍',
 'djvu_no_xml' => 'Mò-fap chhai DjVu tóng-on chûng chên-chhí XML',
 'thumbnail_invalid_params' => 'Put chṳn-khok ke suk-thù chhâm-su',
 'thumbnail_dest_directory' => 'Vù-fap kien-li̍p muk-phêu muk-liu̍k',
@@ -1697,7 +1699,7 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 'tooltip-pt-mytalk' => '汝嘅交流頁',
 'tooltip-pt-anontalk' => 'Tui-yî lòi-chhṳ chhṳ́IP thi-tiám phiên-siá ke tui-fa',
 'tooltip-pt-preferences' => '汝嘅偏好設定',
-'tooltip-pt-watchlist' => '汝監視頁面緊嘅更改列表',
+'tooltip-pt-watchlist' => '汝監視中頁面嘅更改列表',
 'tooltip-pt-mycontris' => '汝嘅貢獻列表',
 'tooltip-pt-login' => '建議汝登入,但係並非必須嘅',
 'tooltip-pt-anonlogin' => 'Kien-ngi ngì tên-ki, than-he pin-fî pit-sî.',
@@ -1774,7 +1776,7 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 'othercontribs' => 'Chhai $1-ke kûng-chok kî-chhú song.',
 'others' => 'khì-thâ',
 'siteusers' => '{{SITENAME}} Yung-fu-chá $1',
-'creditspage' => 'Hong-mien chṳ-chhia',
+'creditspage' => '頁面編寫人名單',
 'nocredits' => 'Ke-chông mò-yû chṳ-chhia miàng-tân sêu-sit.',
 
 # Spam protection
@@ -1800,7 +1802,7 @@ Please visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and
 'patrol-log-page' => 'Sùn-chhà ki-liu̍k',
 
 # Image deletion
-'deletedrevision' => 'Yí-kîn chhù-thet khiu-ke pán-pún $1.',
+'deletedrevision' => '已刪除舊版本$1',
 
 # Browsing diffs
 'previousdiff' => '←上隻版本',
@@ -1923,7 +1925,7 @@ Chhiáng chhai chhùng-sîn kien-chho vùn-chông chhièn sâm-sṳ̂.",
 
 # Auto-summaries
 'autosumm-blank' => 'Chhù-chhîn só-yû ke hong-mien nui-yùng',
-'autosumm-replace' => "Chang-chhai chiông hong-mien thi-von sṳ̀n-vì '$1'",
+'autosumm-replace' => '用“$1”替換內容',
 'autoredircomment' => 'Chang-chhai chhûng-thin hiong to [[$1]]',
 'autosumm-new' => 'Sîn hong-mien: $1',
 
index a6e9b8e..d3f835d 100644 (file)
@@ -641,7 +641,7 @@ E ʻoluʻolu, e hōʻoia i ka hoʻokūkū ʻana i lalo, a laila, e mālama i nā
 # Special:ListGroupRights
 'listgrouprights-members' => '(papa o nā lālā)',
 
-# E-mail user
+# Email user
 'emailuser' => 'E leka uila i kēia mea ho‘ohana',
 'emailmessage' => 'Memo:',
 
index 81f87c7..c425168 100644 (file)
@@ -20,6 +20,7 @@
  * @author Rotemliss
  * @author YaronSh
  * @author ערן
+ * @author פדיחה
  * @author שומבלע
  * @author תומר ט
  */
@@ -462,6 +463,18 @@ $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' => '$1 בספטמבר',
+'october-date' => '$1 באוקטובר',
+'november-date' => '$1 בנובמבר',
+'december-date' => '$1 בדצמבר',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|קטגוריה|קטגוריות}}',
@@ -781,7 +794,7 @@ $2',
 'createacct-yourpasswordagain' => 'אימות הסיסמה',
 'createacct-yourpasswordagain-ph' => 'יש להקליד את הסיסמה שנית',
 'remembermypassword' => 'שמירת הכניסה שלי בדפדפן הזה (ל{{PLURAL:$1|יום אחד|יומיים|־$1 ימים}} לכל היותר)',
-'userlogin-remembermypassword' => '×\9c×\94ש×\90×\99ר ×\90×\95ת×\99 ×\9e×\97×\95×\91ר',
+'userlogin-remembermypassword' => '×\9c×\96×\9b×\95ר ×©× ×\9bנסת×\99',
 'userlogin-signwithsecure' => 'שימוש בחיבור מאובטח',
 'securelogin-stick-https' => 'המשך שימוש ב־HTTPS אחרי הכניסה',
 'yourdomainname' => 'המתחם שלך:',
@@ -818,7 +831,7 @@ $2',
 'createacct-captcha' => 'בדיקת אבטחה',
 'createacct-imgcaptcha-ph' => 'יש להקליד את הטקסט המופיע למעלה',
 'createacct-submit' => 'יצירת החשבון',
-'createacct-benefit-heading' => '×\90ת ×\94×\90תר {{SITENAME}} ×\99×\95צר×\99×\9d ×\90נש×\99×\9d ×\9b×\9e×\95×\9a.',
+'createacct-benefit-heading' => '×\90נש×\99×\9d ×\9b×\9e×\95×\9a ×\99×\95צר×\99×\9d ×\90ת {{SITENAME}}.',
 'createacct-benefit-body1' => '{{PLURAL:$1|עריכה|עריכות}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|דף|דפים}}',
 'createacct-benefit-body3' => '{{PLURAL:$1|תורם|תורמים}} לאחרונה',
@@ -923,11 +936,11 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'איפוס סיסמה',
-'passwordreset-text' => 'מלאו טופס זה כדי לאפס את הסיסמה.',
+'passwordreset-text-one' => 'מלאו טופס זה כדי לאפס את הסיסמה.',
+'passwordreset-text-many' => '{{PLURAL:$1||הקלידו אחד מפריטי המידע כדי לאפס את הסיסמה.}}',
 'passwordreset-legend' => 'איפוס סיסמה',
 'passwordreset-disabled' => 'איפוסי סיסמה בוטלו באתר ויקי זה.',
 'passwordreset-emaildisabled' => 'שירותי הדוא"ל בוטלו באתר ויקי זה.',
-'passwordreset-pretext' => '{{PLURAL:$1||הקלידו אחד מפריטי המידע למטה}}',
 'passwordreset-username' => 'שם משתמש:',
 'passwordreset-domain' => 'תחום:',
 'passwordreset-capture' => 'לצפות בדוא"ל הנשלח?',
@@ -1165,6 +1178,7 @@ $2
 נראה שהוא נמחק.',
 'edit-conflict' => 'התנגשות עריכה.',
 'edit-no-change' => 'המערכת התעלמה מעריכתכם, כיוון שלא נעשה שינוי בטקסט.',
+'postedit-confirmation' => 'עריכתך נשמרה.',
 'edit-already-exists' => 'לא ניתן ליצור דף חדש.
 הוא כבר קיים.',
 'defaultmessagetext' => 'טקסט ההודעה המקורי',
@@ -2431,8 +2445,8 @@ $1',
 'notvisiblerev' => 'הגרסה האחרונה שנוצרה על ידי משתמש אחר נמחקה',
 'watchnochange' => 'אף אחד מהדפים ברשימת המעקב לא עודכן בפרק הזמן המצוין למעלה.',
 'watchlist-details' => 'ברשימת המעקב יש {{PLURAL:$1|דף אחד|$1 דפים}} (לא כולל דפי שיחה).',
-'wlheader-enotif' => 'הודעות דוא"ל מאופשרות.',
-'wlheader-showupdated' => "דפים שהשתנו מאז ביקורכם האחרון בהם מוצגים ב'''הדגשה'''.",
+'wlheader-enotif' => 'הודעות דוא"ל מאופשרות.',
+'wlheader-showupdated' => "דפים שהשתנו מאז ביקורכם האחרון בהם מוצגים ב'''הדגשה'''.",
 'watchmethod-recent' => 'בודק את הדפים שברשימת המעקב לשינויים אחרונים.',
 'watchmethod-list' => 'בודק את העריכות האחרונות בדפים שברשימת המעקב',
 'watchlistcontains' => 'רשימת המעקב כוללת {{PLURAL:$1|דף אחד|$1 דפים}}.',
@@ -3006,6 +3020,8 @@ $1',
 'thumbnail-more' => 'הגדלה',
 'filemissing' => 'קובץ חסר',
 'thumbnail_error' => 'שגיאה ביצירת תמונה ממוזערת: $1',
+'thumbnail_error_remote' => 'הודעת שגיאה של $1:
+$2',
 'djvu_page_error' => 'דף ה־DjVu מחוץ לטווח',
 'djvu_no_xml' => 'לא ניתן היה לקבל את ה־XML עבור קובץ ה־DjVu',
 'thumbnail-temp-create' => 'לא הצליחה יצירת קובץ תמונה ממוזערת זמני',
@@ -3161,7 +3177,6 @@ $1',
 'modern.css' => '/* הסגנונות הנכתבים כאן ישפיעו על העיצוב Modern בלבד */',
 'vector.css' => '/* הסגנונות הנכתבים כאן ישפיעו על העיצוב Vector בלבד */',
 'print.css' => '/* הסגנונות הנכתבים כאן ישפיעו על הפלט בהדפסה בלבד */',
-'handheld.css' => '/* הסגנונות הנכתבים כאן ישפיעו על מכשירים ניידים המבוססים על העיצוב שבהגדרה $wgHandheldStyle בלבד */',
 'noscript.css' => '/* הסגנונות הנכתבים כאן ישפיעו על משתמשים עם JavaScript מבוטל */',
 'group-autoconfirmed.css' => '/* הסגנונות הנכתבים כאן ישפיעו על משתמשים ותיקים בלבד */',
 'group-bot.css' => '/* הסגנונות הנכתבים כאן ישפיעו על בוטים בלבד */',
index 202df38..aeaf3c9 100644 (file)
@@ -182,7 +182,7 @@ $digitTransformTable = array(
        '8' => '८', # &#x096e;
        '9' => '९', # &#x096f;
 );
-$linkTrail = "/^([a-z]+)(.*)$/sD";
+$linkTrail = "/^([a-z\x{0900}-\x{0963}\x{0966}-\x{A8E0}-\x{A8FF}]+)(.*)$/sDu";
 
 $digitGroupingPattern = "##,##,###";
 
@@ -2113,6 +2113,15 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization देखें।',
 'listusers-noresult' => 'सदस्य नहीं मिला।',
 'listusers-blocked' => '(अवरोधित)',
 
+# Special:ActiveUsers
+'activeusers' => 'सक्रिय सदस्यों की सूची',
+'activeusers-intro' => 'यह सक्रिय सदस्यों की सूची है जिन्होंने पिछले $1 {{PLURAL:$1|दिन|दिनों}} में कुछ गतिविधि करी है।',
+'activeusers-count' => '$1 {{PLURAL:$1|सम्पादन}} पिछले $3 {{PLURAL:$3|दिन|दिनों}} में',
+'activeusers-from' => 'इस अक्षर से शुरू होने वाले सदस्य दिखाएँ:',
+'activeusers-hidebots' => 'बॉट छुपाएँ',
+'activeusers-hidesysops' => 'प्रबंधक छुपाएँ',
+'activeusers-noresult' => 'कोई सदस्य नहीं मिले।',
+
 # Special:ListGroupRights
 'listgrouprights' => 'सदस्य समूह अधिकार',
 'listgrouprights-summary' => 'नीचे इसे विकि के लिए परिभाषित सदस्य समूहों की सूची है, साथ में हर समूह से जुड़े अधिकार भी वर्णित हैं।
@@ -2190,8 +2199,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization देखें।',
 'notvisiblerev' => 'किसी अन्य सदस्य द्वारा किया अन्तिम अवतरण हटाया गया है',
 'watchnochange' => 'दिये गये समय में आपके ध्यानसूची में मौजूद पृष्ठों में कोई भी बदलाव नहीं हुए हैं।',
 'watchlist-details' => 'वार्ता पृष्ठों के अलावा {{PLURAL:$1|$1 पृष्ठ}} आपकी ध्यानसूची में हैं।',
-'wlheader-enotif' => 'ई-मेल नोटिफिकेशन सक्षम हैं।',
-'wlheader-showupdated' => "पृष्ठ जो आपके द्वारा देखे जाने के बाद बदले गये हैं, '''बोल्ड''' दिखेंगे।",
+'wlheader-enotif' => 'ई-मेल नोटिफिकेशन सक्षम हैं।',
+'wlheader-showupdated' => "पृष्ठ जो आपके द्वारा देखे जाने के बाद बदले गये हैं, '''बोल्ड''' दिखेंगे।",
 'watchmethod-recent' => 'ध्यानसूची में दिये गये पृष्ठों में हाल में हुए बदलाव देख रहे हैं',
 'watchmethod-list' => 'ध्यानसूची में दिये गये पृष्ठों में हाल में हुए बदलाव देख रहे हैं',
 'watchlistcontains' => 'आपकी ध्यानसूची में $1 {{PLURAL:$1|पृष्ठ}} हैं।',
@@ -3084,7 +3093,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'चौडाई',
 'exif-imagelength' => 'ऊँचाई',
 'exif-bitspersample' => 'प्रति घटक बीट्स',
@@ -3261,7 +3270,7 @@ $1',
 'exif-originalimageheight' => 'छवि की ऊँचाई उभरा होने से पहले',
 'exif-originalimagewidth' => 'छवि की चौड़ाई उभरा होने से पहले',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'अनकॉम्प्रेस्स्ड',
 'exif-compression-3' => 'CCITT ग्रुप 3 फ़ैक्स एनकोडिंग',
 'exif-compression-4' => 'CCITT ग्रुप 4 फ़ैक्स एनकोडिंग',
@@ -3703,13 +3712,6 @@ $5
 'version-software-version' => 'अवतरण',
 'version-entrypoints-header-url' => 'यू॰आर॰एल',
 
-# Special:FilePath
-'filepath' => 'सञ्चिका पथ',
-'filepath-page' => 'सञ्चिका:',
-'filepath-submit' => 'जाइए',
-'filepath-summary' => 'यह विशेष पृष्ठ सञ्चिका का पूरा पथ देता है।
-चित्र पूरे रिज़ोल्यूशन के साथ दिखता हैं, अन्य सञ्चिका प्रकार उनके सम्बन्धित प्रोग्रेम डाइरेक्टरी से आरम्भ होते हैं।',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'फ़ाईल द्विरावृत्ति खोजें',
 'fileduplicatesearch-summary' => 'हैश वैल्यू के अनुसार फ़ाईल की द्विरावृत्ति खोजें।',
index 68c5ae4..b36a153 100644 (file)
@@ -1966,6 +1966,15 @@ Support karaa gais protocol: <code>$1</code> (defaults to http:// if no protocol
 'listusers-noresult' => 'Koi sadasya ke nai pawa gais hai.',
 'listusers-blocked' => '(rok dewa gais hai)',
 
+# Special:ActiveUsers
+'activeusers' => 'Active sadasya ke list',
+'activeusers-intro' => 'Ii suchi uu sadasya ke hae jon ki pahile {{PLURAL:$1|din|din}} me kuchh karin hae.',
+'activeusers-count' => '$1 haali ke {{PLURAL:$1|badlao|badlao}} pichhle {{PLURAL:$3|din|$3 din}} me',
+'activeusers-from' => 'Sadasya jon ki hian se suruu hoe hai ke dekhao:',
+'activeusers-hidebots' => 'Bots ke lukao',
+'activeusers-hidesysops' => 'Administrator log ke lukao',
+'activeusers-noresult' => 'koi sadasya ke pawa nai gais hai.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Sadasya  ke group adhikar',
 'listgrouprights-summary' => 'Niche likha hai ek suchi hai groups ke jon ki ii wiki me defined hai, aapan  associated access rights ke saathe
@@ -2043,8 +2052,8 @@ Ii panna ke aage ke badlao aur usse jurra baat waala panna ki suchi hian pe hae.
 'notvisiblerev' => 'Badlao ke mitae dewa gais hai',
 'watchnochange' => 'Aap ke koi bhi dhyan me rakkhaa gae chij ke ii time me badla nai gais hai.',
 'watchlist-details' => '{{PLURAL:$1|$1 panna|$1 panna}} pe dhyan dewa jae hai, baat waala panna ke chhorr ke.',
-'wlheader-enotif' => 'E-mail notification ke enable kar dewa gais hai.',
-'wlheader-showupdated' => "Panna jiske aap ke pichhla visit ke ke baad badal dewa gais hia ke '''bold''' me dekhawa gais hai",
+'wlheader-enotif' => 'E-mail notification ke enable kar dewa gais hai.',
+'wlheader-showupdated' => "Panna jiske aap ke pichhla visit ke ke baad badal dewa gais hia ke '''bold''' me dekhawa gais hai",
 'watchmethod-recent' => 'Dhyan me rakkhaa gais panna ke nawaa badlao ke check karaa jaawe hai',
 'watchmethod-list' => 'dhyan me rakkha gais panna ke nawaa badlao ke khatir check karaa jaawe hai',
 'watchlistcontains' => 'Aap ke dhyan suchi me  $1 {{PLURAL:$1|panna|panna}} hai.',
@@ -2958,7 +2967,7 @@ Wahii line pe aur koi jorr exception consider karaa jai i.e. jahaan pe panna sak
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Chaurrai',
 'exif-imagelength' => 'Unchai',
 'exif-bitspersample' => 'Bits per component',
@@ -3165,9 +3174,6 @@ Wahii line pe aur koi jorr exception consider karaa jai i.e. jahaan pe panna sak
 'version-other' => 'Duusra',
 'version-poweredby-others' => 'duusra waala',
 
-# Special:FilePath
-'filepath-submit' => 'Jaao',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'File ke naam:',
 'fileduplicatesearch-submit' => 'Khojo',
index 48c6df3..28f3ee3 100644 (file)
@@ -1889,7 +1889,7 @@ Ang iban ay pagataguon sang default.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-lightsource' => 'Ginghalinan sang sanag',
 'exif-flash' => 'Igpat',
 'exif-subjectarea' => 'Subject area',
index 8bf2758..7b884dd 100644 (file)
@@ -22,6 +22,7 @@
  * @author MayaSimFan
  * @author Meno25
  * @author Mvrban
+ * @author Nemo bis
  * @author Roberta F.
  * @author SpeedyGonsales
  * @author Tivek
@@ -833,10 +834,8 @@ Možda ste već uspješno promijenili Vašu lozinku ili ste zatražili novu priv
 
 # Special:PasswordReset
 'passwordreset' => 'Ponovno postavi lozinku',
-'passwordreset-text' => 'Ispunite ovaj obrazac da biste dobili e-mail podsjetnik o vašim detaljima računa.',
 'passwordreset-legend' => 'Poništi lozinku',
 'passwordreset-disabled' => 'Poništavanje lozinke je onemogućeno na ovom wikiju.',
-'passwordreset-pretext' => '{{PLURAL:$1||Unesite jedan od dijelova podataka u nastavku}}',
 'passwordreset-username' => 'Suradničko ime:',
 'passwordreset-domain' => 'Domena:',
 'passwordreset-capture' => 'Pogledati krajnju poruku?',
@@ -2293,8 +2292,8 @@ Promjene na toj stranici i njenoj stranici za razgovor bit će prikazane na popi
 'notvisiblerev' => 'Izmjena je obrisana',
 'watchnochange' => 'Niti jedna od praćenih stranica nije promijenjena od Vašeg zadnjeg posjeta.',
 'watchlist-details' => '{{PLURAL:$1|$1 stranica|$1 stranice|$1 stranica}} se nalazi na popisu praćenja, ne brojeći stranice za razgovor.',
-'wlheader-enotif' => 'Uključeno je izvješćivanje e-mailom.',
-'wlheader-showupdated' => "Stranice koje su promijenjene od Vašeg zadnjeg posjeta prikazane su '''podebljano'''",
+'wlheader-enotif' => 'Uključeno je izvješćivanje e-mailom.',
+'wlheader-showupdated' => "Stranice koje su promijenjene od Vašeg zadnjeg posjeta prikazane su '''podebljano'''",
 'watchmethod-recent' => 'provjera nedavnih promjena praćenih stranica',
 'watchmethod-list' => 'provjera praćanih stranica za nedavne promjene',
 'watchlistcontains' => 'Vaš popis praćenja sadrži $1 {{PLURAL:$1|stranicu|stranice|stranica}}.',
index 9aebc88..156f504 100644 (file)
@@ -11,6 +11,7 @@
  * @author J budissin
  * @author Kaganer
  * @author Michawiki
+ * @author Nemo bis
  * @author Shirayuki
  * @author Tchoř
  * @author Tlustulimu
@@ -566,8 +567,6 @@ Njezabudź swoje [[Special:Preferences|nastajenja za {{GRAMMAR:akuzatiw|{{SITENA
 'yourname' => 'Wužiwarske mjeno:',
 'userlogin-yourname' => 'Wužiwarske mjeno',
 'userlogin-yourname-ph' => 'Zapodaj swoje wužiwarske mjeno',
-'createacct-helpusername-url' => '{{ns:Project}}:Prawidła_za_wužiwarske_mjena',
-'createacct-helpusername-link' => '[[{{MediaWiki:createacct-helpusername-url}}|(pomóž wubrać)]]',
 'yourpassword' => 'Hesło:',
 'userlogin-yourpassword' => 'Hesło',
 'userlogin-yourpassword-ph' => 'Zapodaj swoje hesło',
@@ -684,10 +683,8 @@ Snano sy swoje hesło hižo wuspěšnje změnił abo nowe nachwilne hesło poža
 
 # Special:PasswordReset
 'passwordreset' => 'Hesło wróćo stajić',
-'passwordreset-text' => 'Wupjelń tutón formular, zo by swoje hesło anulował.',
 'passwordreset-legend' => 'Hesło wróćo stajić',
 'passwordreset-disabled' => 'Wróćostajenje hesłow je so na  tutym wikiju znjemóžniło.',
-'passwordreset-pretext' => '{{PLURAL:$1||Zapodaj deleka jedne ze slědowacych datowych podaćow}}',
 'passwordreset-username' => 'Wužiwarske mjeno:',
 'passwordreset-domain' => 'Domena:',
 'passwordreset-capture' => 'E-mejlku sej wobhladać?',
@@ -910,6 +907,7 @@ Njeje žane wujasnjenje podała.',
 Zda so, zo je hîžo wušmórnjena.',
 'edit-conflict' => 'Wobdźěłanski konflikt.',
 'edit-no-change' => 'Waše wobdźěłanje bu ignorowane, dokelž tekst njebu zm,ěnjeny.',
+'postedit-confirmation' => 'Twoja změna je so składowała.',
 'edit-already-exists' => 'Njebě móžno nowu stronu wutworić.
 Eksistuje hižo.',
 'defaultmessagetext' => 'Standardny tekst zdźělenki',
@@ -2148,8 +2146,8 @@ Přichodne změny tuteje strony a přisłušneje diskusijneje strony budu so tam
 'notvisiblerev' => 'Wersija bu wušmórnjena',
 'watchnochange' => 'Žana z twojich wobkedźbowanych stron njebu w podatej dobje wobdźěłana.',
 'watchlist-details' => '{{PLURAL:$1|$1 wobkedźbowana strona|$1 wobkedźbowanej stronje|$1 wobkedźbowane strony|$1 wobkedźbowanych stronow}}, diskusijne strony wuwzate.',
-'wlheader-enotif' => 'E-mejlowe zdźělenje je zmóžnjene.',
-'wlheader-showupdated' => 'Strony, kotrež buchu po twojim poslednim wopyće změnjene so <b>tučne</b> pokazuja.',
+'wlheader-enotif' => 'E-mejlowe zdźělenje je zmóžnjene.',
+'wlheader-showupdated' => 'Strony, kotrež buchu po twojim poslednim wopyće změnjene so <b>tučne</b> pokazuja.',
 'watchmethod-recent' => 'Aktualne změny za wobkedźbowane strony přepruwować',
 'watchmethod-list' => 'Wobkedźbowanki za aktualnymi změnami přepruwować',
 'watchlistcontains' => 'Maš $1 {{PLURAL:$1|stronu|stronje|strony|stronow}} w swojich wobkedźbowankach.',
index ef8f3eb..433c889 100644 (file)
@@ -171,8 +171,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Montre kantite itlizatè k’ap swiv',
 'tog-oldsig' => 'Gade pou wè siyati ki egziste deja:',
 'tog-fancysig' => 'Konsidere siyati sa tankou yon wikitèks (san lyen ki ta otomatik)',
-'tog-externaleditor' => 'Itilize editè ki pa nan sistèm wikimedya pa defo',
-'tog-externaldiff' => 'Itilize yon konparatè ki pa nan sitsèm wikimedya pa defo',
 'tog-showjumplinks' => 'Pèmèt lyen aksesibilite « ale nan »',
 'tog-uselivepreview' => 'Itilize kout je an dirèk (sa mande JavaScrip) (Esperimantal)',
 'tog-forceeditsummary' => 'Notifye m lè m ap antre yon somè modifikasyon vid',
index 5144d21..2c2803c 100644 (file)
@@ -27,6 +27,7 @@
  * @author Kaganer
  * @author KossuthRad
  * @author Misibacsi
+ * @author Nemo bis
  * @author R-Joe
  * @author Samat
  * @author Sucy
@@ -420,6 +421,18 @@ $messages = array(
 'oct' => 'okt',
 'nov' => 'nov',
 'dec' => 'dec',
+'january-date' => 'Január $1',
+'february-date' => 'Február $1',
+'march-date' => 'Március $1',
+'april-date' => 'Április $1',
+'may-date' => 'Május $1',
+'june-date' => 'Június $1',
+'july-date' => 'Július $1',
+'august-date' => 'Augusztus $1',
+'september-date' => 'Szeptember $1',
+'october-date' => 'Október $1',
+'november-date' => 'November $1',
+'december-date' => 'December $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategória|Kategória}}',
@@ -576,10 +589,10 @@ További információkat a [[Special:Version|verzióinformációs lapon]] talál
 'youhavenewmessages' => '$1 a vitalapodon! ($2 külön is megtekintheted.)',
 'newmessageslink' => 'új üzenet vár',
 'newmessagesdifflink' => 'az utolsó üzenetet',
-'youhavenewmessagesfromusers' => '$1 a vitalapodon {{PLURAL:$3|egy|$3}} szerkesztőtől! ($2 külön is megtekintheted.)',
+'youhavenewmessagesfromusers' => '$2 kaptál {{PLURAL:$3|egy|$3}} szerkesztőtől $1!',
 'youhavenewmessagesmanyusers' => '$1ed van több szerkesztőtől ($2).',
-'newmessageslinkplural' => '{{PLURAL:$1|Új üzenet vár|Új üzenetek várnak}}',
-'newmessagesdifflinkplural' => 'Az utolsó {{PLURAL:$1|változtatást|változtatásokat}}',
+'newmessageslinkplural' => 'a vitalapodon',
+'newmessagesdifflinkplural' => '{{PLURAL:$1|Új üzenetet|Új üzeneteket}}',
 'youhavenewmessagesmulti' => 'Új üzenet vár a(z) $1 wikin',
 'editsection' => 'szerkesztés',
 'editold' => 'szerkesztés',
@@ -723,12 +736,17 @@ Lehetséges, hogy néhány oldalon továbbra is azt látod, be vagy jelentkezve,
 Ne felejtsd el módosítani a [[Special:Preferences|{{SITENAME}} beállításaidat]].',
 'yourname' => 'Szerkesztőneved:',
 'userlogin-yourname' => 'Felhasználónév',
+'userlogin-yourname-ph' => 'Add meg a felhasználóneved',
 'yourpassword' => 'Jelszavad:',
 'userlogin-yourpassword' => 'Jelszó',
+'userlogin-yourpassword-ph' => 'Add meg a jelszavad',
+'createacct-yourpassword-ph' => 'Add meg a jelszavad',
 'yourpasswordagain' => 'Jelszavad ismét:',
+'createacct-yourpasswordagain' => 'Új jelszó megerősítése',
+'createacct-yourpasswordagain-ph' => 'Írd be a jelszót újra',
 'remembermypassword' => 'Emlékezzen rám ezen a számítógépen (legfeljebb $1 napig)',
-'userlogin-remembermypassword' => 'Emlékezzen rám',
-'userlogin-signwithsecure' => 'Bejelentkezés a biztonságos kiszolgálón keresztül',
+'userlogin-remembermypassword' => 'Maradjak bejelentkezve',
+'userlogin-signwithsecure' => 'Biztonságos kapcsolat használata',
 'securelogin-stick-https' => 'Kapcsolódás HTTPS-en keresztül bejelentkezés után is',
 'yourdomainname' => 'A domainneved:',
 'password-change-forbidden' => 'Nem módosíthatod a jelszót ezen a wikin.',
@@ -749,10 +767,21 @@ Ne felejtsd el módosítani a [[Special:Preferences|{{SITENAME}} beállításaid
 'gotaccount' => "Ha már korábban regisztráltál, '''$1'''.",
 'gotaccountlink' => 'Bejelentkezés',
 'userlogin-resetlink' => 'Elfelejtetted a bejelentkezési adataidat?',
+'userlogin-resetpassword-link' => 'A jelszó alaphelyzetbe állítása',
 'helplogin-url' => 'Help:Bejelentkezés',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Segítség a bejelentkezéshez]]',
+'createacct-join' => 'Add meg az alábbi információkat.',
+'createacct-emailrequired' => 'E-mail cím',
+'createacct-emailoptional' => 'E-mail cím (opcionáis)',
+'createacct-email-ph' => 'Add meg e-mail címed',
 'createaccountmail' => 'Átmeneti, véletlenszerű jelszó használata és kiküldése az alábbi e-mail címre',
+'createacct-realname' => 'Igazi neved (nem kötelező)',
 'createaccountreason' => 'Indoklás:',
+'createacct-reason' => 'Indoklás',
+'createacct-reason-ph' => 'Miért hozol létre egy másik fiókot',
+'createacct-captcha' => 'Biztonsági ellenőrzés',
+'createacct-imgcaptcha-ph' => 'Írd be a szöveget, amit fent látsz',
+'createacct-submit' => 'Felhasználói fiók létrehozása',
 'badretype' => 'A megadott jelszavak nem egyeznek.',
 'userexists' => 'A megadott felhasználónév már foglalt.
 Kérlek, válassz másikat!',
@@ -844,31 +873,29 @@ Lehet, hogy már sikeresen megváltoztattad a jelszavad, vagy pedig időközben
 
 # Special:PasswordReset
 'passwordreset' => 'Jelszó törlése',
-'passwordreset-text' => 'Az alábbi űrlap kitöltése után egy jelszóemlékeztető e-mailt kapsz a fiókod adataival.',
 'passwordreset-legend' => 'Új jelszó kérése',
 'passwordreset-disabled' => 'Új jelszó kérése nem engedélyezett ezen a wikin.',
 'passwordreset-emaildisabled' => 'Az e-mail funkció le van tiltva ezen a wikin.',
-'passwordreset-pretext' => '{{PLURAL:$1||Írd be az alábbi adatok egyikét}}',
 'passwordreset-username' => 'Felhasználónév:',
 'passwordreset-domain' => 'Tartomány:',
 'passwordreset-capture' => 'Meg szeretnéd nézni az elkészült üzenetet?',
 'passwordreset-capture-help' => 'Ha kipipálod a dobozt, elmegy az üzenet a felhasználónak és megjelenik számodra (az ideiglenes jelszóval együtt).',
 'passwordreset-email' => 'E-mail cím:',
 'passwordreset-emailtitle' => 'A(z) {{SITENAME}}-fiók adatai',
-'passwordreset-emailtext-ip' => 'Valaki (vélhetően Te, a $1 IP-címről) emlékeztetőt kért a {{SITENAME}} ($4) oldalon felvett fiókokról. A következő felhasználói {{PLURAL:$3|fiók van|fiókok vannak}} hozzárendelve ehhez az e-mail címhez:
+'passwordreset-emailtext-ip' => 'Valaki (vélhetően Te, a $1 IP-címről) a jelszavad visszaállítását kérte a {{SITENAME}} ($4) oldalon felvett {{PLURAL:$3|fiókban|fiókokban}}. A következő felhasználói {{PLURAL:$3|fiók van|fiókok vannak}} hozzárendelve ehhez az e-mail címhez:
 
 $2
 
 {{PLURAL:$3|Ez az ideiglenes jelszó|Ezek az ideiglenes jelszavak}} $5 nap múlva {{PLURAL:$3|jár|járnak}} le. Jelentkezz be, és cseréld le a jelszavadat. Ha valaki más kérte az emlékeztetőt, vagy eszedbe jutott a régi jelszó, és nem akarod lecserélni a jelszavadat, hagyd figyelmen kívül ezt az üzenetet, és használd a régi jelszavadat.',
-'passwordreset-emailtext-user' => '$1 felhasználó emlékeztetők kért a {{SITENAME}} ($4) oldalon felvett fiókokról. A következő felhasználói {{PLURAL:$3|fiók van|fiókok vannak}} hozzárendelve ehhez az e-mail címhez:
+'passwordreset-emailtext-user' => '$1 felhasználó jelszó-visszaállítást kért a {{SITENAME}} ($4) oldalon felvett {{PLURAL:$3|fiókban|fiókokban}}. A következő felhasználói {{PLURAL:$3|fiók van|fiókok vannak}} hozzárendelve ehhez az e-mail címhez:
 
 $2
 
 {{PLURAL:$3|Ez az ideiglenes jelszó|Ezek az ideiglenes jelszavak}} $5 nap múlva {{PLURAL:$3|jár|járnak}} le. Jelentkezz be, és cseréld le a jelszavadat. Ha valaki más kérte az emlékeztetőt, vagy eszedbe jutott a régi jelszó, és nem akarod lecserélni a jelszavadat, hagyd figyelmen kívül ezt az üzenetet, és használd a régi jelszavadat.',
 'passwordreset-emailelement' => 'Felhasználónév: $1
 Ideiglenes jelszó: $2',
-'passwordreset-emailsent' => 'Emlékeztető e-mail elküldve.',
-'passwordreset-emailsent-capture' => 'Az alább látható emlékeztető e-mail lett elküldve.',
+'passwordreset-emailsent' => 'Jelszó-visszaállító e-mail elküldve.',
+'passwordreset-emailsent-capture' => 'Az alább látható jelszó-visszaállító e-mail lett elküldve.',
 'passwordreset-emailerror-capture' => 'Az emlékeztető levél generálása megtörtént, mint az alább látszik, de elküldése a szerkesztőnek nem sikerült: $1',
 
 # Special:ChangeEmail
@@ -2310,8 +2337,8 @@ Ezután minden, a lapon vagy annak vitalapján történő változást ott fogsz
 'notvisiblerev' => 'A változat törölve lett',
 'watchnochange' => 'Egyik figyelt lap sem változott a megadott időintervallumon belül.',
 'watchlist-details' => 'A vitalapokon kívül {{PLURAL:$1|egy|$1}} lap van a figyelőlistádon.',
-'wlheader-enotif' => 'Az e-mailen keresztül történő értesítés engedélyezve.',
-'wlheader-showupdated' => "Azok a lapok, amelyek megváltoztak, mióta utoljára megnézted őket, '''vastagon''' láthatóak.",
+'wlheader-enotif' => 'Az e-mailen keresztül történő értesítés engedélyezve.',
+'wlheader-showupdated' => "Azok a lapok, amelyek megváltoztak, mióta utoljára megnézted őket, '''vastagon''' láthatóak.",
 'watchmethod-recent' => 'a figyelt lapokon belüli legfrissebb szerkesztések',
 'watchmethod-list' => 'a legfrissebb szerkesztésekben található figyelt lapok',
 'watchlistcontains' => 'A figyelőlistádon {{PLURAL:$1|egy|$1}} lap szerepel.',
@@ -3038,7 +3065,6 @@ Mentsd el a számítógépedre, majd töltsd fel ide.',
 'modern.css' => '/* Az ide elhelyezett CSS hatással lesz a Modern felület használóira */',
 'vector.css' => '/* Az ide elhelyezett CSS hatással lesz a Vector felület használóira */',
 'print.css' => '/* Az ide elhelyezett CSS hatással lesz a nyomtatás kimenetelére */',
-'handheld.css' => '/* Az ide elhelyezett CSS hatással lesz azon kézi eszközökre, amelyek $wgHandheldStyle felülettel vannak konfigurálva */',
 'noscript.css' => '/* Az ide elhelyezett CSS azon felhasználókra lesz hatással, ahol a JavaScript le van tiltva */',
 'group-autoconfirmed.css' => '/* Az ide elhelyezett CSS az automatikusan megerősített felhasználókra lesz hatással */',
 'group-bot.css' => '/* Az ide elhelyezett CSS csak botokra lesz hatással */',
index 1576a02..0a0bde6 100644 (file)
@@ -8,6 +8,7 @@
  * @file
  *
  * @author Chaojoker
+ * @author Nemo bis
  * @author Pandukht
  * @author Reedy
  * @author Ruben Vardanyan (me@RubenVardanyan.com)
@@ -784,7 +785,6 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Վերականգնել գաղտնաբառը',
-'passwordreset-text' => 'Լրացրեք ձևը՝ էլ-փոստով ձեր տվյալների մասին հիշեցում ստանալու համար։',
 'passwordreset-legend' => 'Վերականգնել գաղտնաբառը',
 'passwordreset-disabled' => 'Գաղտնաբառի վերականգնումը այս վիքիում թույլատրված չէ։',
 'passwordreset-username' => 'Մասնակցի անուն՝',
@@ -1819,8 +1819,8 @@ $1-ը հղվել է $2 ից',
 'notanarticle' => 'Հոդված չէ',
 'watchnochange' => 'Ոչ մի հսկվող էջ չի փոփոխվել ցուցադրվող ժամանակահատվածում։',
 'watchlist-details' => 'Ձեր հսկացանկում կա {{PLURAL:$1|$1 էջ|$1 էջ}}` քննարկման էջերը չհաշված։',
-'wlheader-enotif' => 'Էլ-փոստով տեղեկացումը միացված է։',
-'wlheader-showupdated' => "Էջերը, որոնք փոփոխվել են ձեր դրանց վերջին այցից հետո բերված են '''թավատառ'''։",
+'wlheader-enotif' => 'Էլ-փոստով տեղեկացումը միացված է։',
+'wlheader-showupdated' => "Էջերը, որոնք փոփոխվել են ձեր դրանց վերջին այցից հետո բերված են '''թավատառ'''։",
 'watchmethod-recent' => 'վերջին փոփոխությունները հսկվող էջերի համար',
 'watchmethod-list' => 'հսկվող էջերի վերջին փոփոխությունները',
 'watchlistcontains' => 'Ձեր հսկացանկում կա $1 {{PLURAL:$1|էջ|էջ}}։',
index 9dc36f8..321561f 100644 (file)
@@ -11,6 +11,7 @@
  * @author Kaganer
  * @author Malafaya
  * @author McDutchie
+ * @author Nemo bis
  * @author Reedy
  * @author Yfdyh000
  * @author לערי ריינהארט
@@ -250,6 +251,18 @@ $messages = array(
 'oct' => 'oct',
 'nov' => 'nov',
 'dec' => 'dec',
+'january-date' => '$1 de januario',
+'february-date' => '$1 de februario���',
+'march-date' => '$1 de martio',
+'april-date' => '$1 de april',
+'may-date' => '$1 de maio',
+'june-date' => '$1 de junio',
+'july-date' => '$1 de julio',
+'august-date' => '$1 de augusto',
+'september-date' => '$1 de septembre',
+'october-date' => '$1 de octobre',
+'november-date' => '$1 de novembre',
+'december-date' => '$1 de decembre',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoria|Categorias}}',
@@ -569,7 +582,7 @@ Non oblida personalisar tu [[Special:Preferences|preferentias in {{SITENAME}}]].
 'createacct-yourpasswordagain-ph' => 'Repete le contrasigno',
 'remembermypassword' => 'Memorar mi contrasigno in iste navigator (pro un maximo de $1 {{PLURAL:$1|die|dies}})',
 'userlogin-remembermypassword' => 'Mantener mi session aperte',
-'userlogin-signwithsecure' => 'Aperir session con servitor secur',
+'userlogin-signwithsecure' => 'Usar un connexion secur',
 'securelogin-stick-https' => 'Remaner connectite via HTTPS post apertura de session',
 'yourdomainname' => 'Tu dominio:',
 'password-change-forbidden' => 'Non es possibile cambiar le contrasigno in iste wiki.',
@@ -583,20 +596,37 @@ Non oblida personalisar tu [[Special:Preferences|preferentias in {{SITENAME}}]].
 'userlogout' => 'Clauder session',
 'notloggedin' => 'Tu non ha aperite un session',
 'userlogin-noaccount' => 'Non ha un conto?',
+'userlogin-joinproject' => 'Crear un conto in {{SITENAME}}',
 'nologin' => "Tu non ha un conto? '''$1'''.",
 'nologinlink' => 'Crear un conto',
 'createaccount' => 'Crear conto',
 'gotaccount' => "Tu jam ha un conto? '''$1'''.",
 'gotaccountlink' => 'Aperir session',
 'userlogin-resetlink' => 'Datos de authentication oblidate?',
+'userlogin-resetpassword-link' => 'Reinitialisar contrasigno',
 'helplogin-url' => 'Help:Aperir session',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Adjuta a aperir session]]',
+'createacct-join' => 'Specifica tu information hic infra.',
+'createacct-emailrequired' => 'Adresse de e-mail',
+'createacct-emailoptional' => 'Adresse de e-mail (optional)',
+'createacct-email-ph' => 'Entra tu adresse de e-mail',
 'createaccountmail' => 'Usar un contrasigno aleatori temporari e inviar lo al adresse de e-mail specificate hic infra',
+'createacct-realname' => 'Nomine real (optional)',
 'createaccountreason' => 'Motivo:',
+'createacct-reason' => 'Motivo',
+'createacct-reason-ph' => 'Proque crea tu un altere conto?',
+'createacct-captcha' => 'Controlo de securitate',
+'createacct-imgcaptcha-ph' => 'Scribe le texto que tu vide hic supra',
+'createacct-submit' => 'Crear tu conto',
+'createacct-benefit-heading' => '{{SITENAME}} es facite per gente como tu.',
+'createacct-benefit-body1' => '{{PLURAL:$1|modification|modificationes}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pagina|paginas}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|contributor|contributores}} recente',
 'badretype' => 'Le duo contrasignos que tu scribeva non es identic.',
 'userexists' => 'Iste nomine de usator es jam in uso.
 Selige un altere nomine.',
 'loginerror' => 'Error in le apertura del session',
+'createacct-error' => 'Error de creation de conto',
 'createaccounterror' => 'Non poteva crear le conto: $1',
 'nocookiesnew' => "Le conto de usator ha essite create, sed tu non ha aperite un session.
 {{SITENAME}} usa ''cookies'' pro mantener le sessiones del usatores.
@@ -692,13 +722,14 @@ Pro completar le accesso, tu debe definir un nove contrasigno hic:',
 'resetpass-wrong-oldpass' => 'Le contrasigno temporari o actual es invalide.
 Es possibile que tu ha ja cambiate tu contrasigno o requestate un nove contrasigno temporari.',
 'resetpass-temp-password' => 'Contrasigno temporari:',
+'resetpass-abort-generic' => 'Le cambio del contrasigno ha essite abortate per un extension.',
 
 # Special:PasswordReset
 'passwordreset' => 'Reinitialisar contrasigno',
-'passwordreset-text' => 'Completa iste formulario pro reinitialisar tu contrasigno.',
+'passwordreset-text-one' => 'Completa iste formulario pro reinitialisar tu contrasigno.',
 'passwordreset-legend' => 'Reinitialisar contrasigno',
 'passwordreset-disabled' => 'Le reinitialisation de contrasignos ha essite disactivate in iste wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Entra un del elementos de datos hic infra}}',
+'passwordreset-emaildisabled' => 'Le functionalitate de e-mail ha essite disactivate in iste wiki.',
 'passwordreset-username' => 'Nomine de usator:',
 'passwordreset-domain' => 'Dominio:',
 'passwordreset-capture' => 'Vider le e-mail resultante?',
@@ -716,7 +747,7 @@ Tu deberea ora aperir session e eliger un nove contrasigno. Si un altere persona
 requesta, o si tu te ha rememorate tu contrasigno original e non plus
 vole cambiar lo, tu pote ignorar iste message e continuar a usar le ancian
 contrasigno.',
-'passwordreset-emailtext-user' => 'Le usator $1 in {{SITENAME}} requestava un rememoration del detalios de tu conto in {{SITENAME}}
+'passwordreset-emailtext-user' => 'Le usator $1 in {{SITENAME}} requestava un reinitialisation de tu contrasigno in {{SITENAME}}
 ($4). Le {{PLURAL:$3|conto|contos}} de usator sequente es associate con iste adresse de e-mail:
 
 $2
@@ -728,9 +759,9 @@ vole cambiar lo, tu pote ignorar iste message e continuar a usar le ancian
 contrasigno.',
 'passwordreset-emailelement' => 'Nomine de usator: $1
 Contrasigno temporari: $2',
-'passwordreset-emailsent' => 'Un e-mail de rememoration ha essite inviate.',
-'passwordreset-emailsent-capture' => 'Un e-mail de rememoration ha essite inviate; iste message es monstrate hic infra.',
-'passwordreset-emailerror-capture' => 'Un e-mail de rememoration ha essite generate; iste message es monstrate hic infra, ma le invio al usator ha fallite: $1',
+'passwordreset-emailsent' => 'Un message de e-mail pro le reinitialisation del contrasigno ha essite inviate.',
+'passwordreset-emailsent-capture' => 'Un message de e-mail pro le reinitialisation del contrasigno ha essite inviate; iste message es monstrate hic infra.',
+'passwordreset-emailerror-capture' => 'Un e-mail pro le reinitialisation del contrasigno ha essite generate; iste message es monstrate hic infra, ma le invio al {{GENDER:$2|usator}} ha fallite: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'Cambiar adresse de e-mail',
@@ -1248,6 +1279,7 @@ Tenta prefixar tu consulta con ''all:'' pro cercar in tote le contento (includen
 'searchdisabled' => 'Le recerca in {{SITENAME}} es disactivate.
 Tu pote cercar via Google in le interim.
 Nota que lor indices del contento de {{SITENAME}} pote esser obsolete.',
+'search-error' => 'Un error ha occurrite durante le recerca: $1',
 
 # Preferences page
 'preferences' => 'Preferentias',
@@ -1391,6 +1423,7 @@ Si tu opta pro dar lo, isto essera usate pro dar te attribution pro tu contribut
 'userrights-notallowed' => 'Tu conto non ha le permission de adder o remover derectos de usator.',
 'userrights-changeable-col' => 'Gruppos que tu pote modificar',
 'userrights-unchangeable-col' => 'Gruppos que tu non pote modificar',
+'userrights-conflict' => 'Conflicto inter derectos de usator! Per favor applica tu cambiamentos de novo.',
 
 # Groups
 'group' => 'Gruppo:',
@@ -2228,8 +2261,8 @@ Le modificationes futur in iste pagina e in le pagina de discussion associate es
 'notvisiblerev' => 'Le version ha essite delite',
 'watchnochange' => 'Nulle articulo que tu observa esseva modificate durante le periodo de tempore indicate.',
 'watchlist-details' => '{{PLURAL:$1|$1 pagina|$1 paginas}} es in tu observatorio, sin contar le paginas de discussion.',
-'wlheader-enotif' => '* Le notificationes via e-mail es active.',
-'wlheader-showupdated' => "* Le paginas que ha essite modificate post tu ultime visita se monstra in litteras '''grasse'''",
+'wlheader-enotif' => 'Le notification via e-mail es active.',
+'wlheader-showupdated' => "Le paginas que ha essite modificate post tu ultime visita se monstra in litteras '''grasse'''.",
 'watchmethod-recent' => 'cerca paginas sub observation in modificationes recente',
 'watchmethod-list' => 'cerca modificationes recente in paginas sub observation',
 'watchlistcontains' => 'Tu observatorio contine $1 {{PLURAL:$1|pagina|paginas}}.',
@@ -2654,6 +2687,7 @@ Per favor contacta tu providitor de servicio internet o supporto technic e infor
 'sorbsreason' => 'Tu adresse IP es listate como proxy aperte in le DNSBL usate per {{SITENAME}}.',
 'sorbs_create_account_reason' => 'Tu adresse IP es listate como proxy aperte in le DNSBL usate per {{SITENAME}}.
 Tu non pote crear un conto',
+'xffblockreason' => 'Un adresse IP presente in le capite X-Forwarded-For, o le tue o illo de un servitor proxy que tu usa, ha essite blocate. Le motivo original pro le blocada es: $1',
 'cant-block-while-blocked' => 'Tu non pote blocar altere usatores durante que tu mesme es blocate.',
 'cant-see-hidden-user' => 'Le usator que tu tenta blocar ha ja essite blocate e celate. Post que tu non ha le derecto hideuser, tu non pote vider o modificar le blocada del usator.',
 'ipbblocked' => 'Tu non pote blocar o disblocar altere usatores, proque tu mesme es blocate',
@@ -2822,6 +2856,8 @@ Per favor visita [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation]
 'thumbnail-more' => 'Aggrandir',
 'filemissing' => 'File manca',
 'thumbnail_error' => 'Error durante le creation del miniatura: $1',
+'thumbnail_error_remote' => 'Message de error ab $1:
+$2',
 'djvu_page_error' => 'Pagina DjVu foras de limite',
 'djvu_no_xml' => 'Impossibile obtener XML pro file DjVu',
 'thumbnail-temp-create' => 'Impossibile crear un file temporari de miniatura',
@@ -2977,7 +3013,6 @@ Es possibile adder un motivo in le summario.',
 'modern.css' => '/* Le CSS placiate hic afficera le usatores del apparentia Moderne */',
 'vector.css' => '/* Le CSS placiate hic afficera le usatores del apparentia Vector */',
 'print.css' => '/* Le CSS placiate hic influentiara le apparentia del paginas imprimite */',
-'handheld.css' => '/* Le CSS placiate hic afficera le apparatos mobile basate super le apparentia configurate in $wgHandheldStyle */',
 
 # Scripts
 'common.js' => '/* Omne JavaScript hic se executara pro tote le usatores a cata cargamento de pagina. */',
@@ -3137,6 +3172,7 @@ Le execution de illo pote compromitter le securitate de tu systema.",
 'minutes' => '{{PLURAL:$1|$1 minuta|$1 minutas}}',
 'hours' => '{{PLURAL:$1|$1 hora|$1 horas}}',
 'days' => '{{PLURAL:$1|$1 die|$1 dies}}',
+'weeks' => '$1 {{PLURAL:$1|septimana|septimanas}}',
 'months' => '{{PLURAL:$1|$1 mense|$1 menses}}',
 'years' => '{{PLURAL:$1|$1 anno|$1 annos}}',
 'ago' => '$1 retro',
@@ -3781,6 +3817,18 @@ Vos deberea haber recipite [{{SERVER}}{{SCRIPTPATH}}/COPYING un exemplar del Lic
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Cammino al articulo]',
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Cammino al script]',
 
+# Special:Redirect
+'redirect' => 'Rediriger per nomine de file, ID de usator o ID de version',
+'redirect-legend' => 'Rediriger a un file o pagina',
+'redirect-summary' => 'Iste pagina special redirige a un file (si es date le nomine de un file), a un pagina (si es date un ID de version) o a un pagina de usator (si es date un ID de usator numeric).',
+'redirect-submit' => 'Va',
+'redirect-lookup' => 'Cercar:',
+'redirect-value' => 'Valor:',
+'redirect-user' => 'ID de usator',
+'redirect-revision' => 'Version de pagina',
+'redirect-file' => 'Nomine de file',
+'redirect-not-exists' => 'Valor non trovate',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Cercar files duplicate',
 'fileduplicatesearch-summary' => "Cercar files duplicate a base de lor summas de verification ''(hash).''",
@@ -3870,23 +3918,26 @@ Vos deberea haber recipite [{{SERVER}}{{SCRIPTPATH}}/COPYING un exemplar del Lic
 'htmlform-submit' => 'Submitter',
 'htmlform-reset' => 'Disfacer modificationes',
 'htmlform-selectorother-other' => 'Altere',
+'htmlform-no' => 'No',
+'htmlform-yes' => 'Si',
+'htmlform-chosen-placeholder' => 'Selige un option',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 con supporto de recerca de texto integre',
 'sqlite-no-fts' => '$1 sin supporto de recerca de texto integre',
 
 # New logging system
-'logentry-delete-delete' => '$1 deleva le pagina $3',
-'logentry-delete-restore' => '$1 restaurava le pagina $3',
-'logentry-delete-event' => '$1 cambiava le visibilitate de {{PLURAL:$5|un entrata|$5 entratas}} de registro in $3: $4',
-'logentry-delete-revision' => '$1 cambiava le visibilitate de {{PLURAL:$5|un version|$5 versiones}} del pagina $3: $4',
-'logentry-delete-event-legacy' => '$1 cambiava le visibilitate de entratas de registro in $3',
-'logentry-delete-revision-legacy' => '$1 cambiava le visibilitate de versiones del pagina $3',
-'logentry-suppress-delete' => '$1 supprimeva le pagina $3',
-'logentry-suppress-event' => '$1 secretemente cambiava le visibilitate de {{PLURAL:$5|un entrata|$5 entratas}} de registro in $3: $4',
-'logentry-suppress-revision' => '$1 secretemente cambiava le visibilitate de {{PLURAL:$5|un version|$5 versiones}} del pagina $3: $4',
-'logentry-suppress-event-legacy' => '$1 secretemente cambiava le visibilitate de entratas de registro in $3',
-'logentry-suppress-revision-legacy' => '$1 secretemente cambiava le visibilitate de versiones del pagina $3',
+'logentry-delete-delete' => '$1 {{GENDER:$2|deleva}} le pagina $3',
+'logentry-delete-restore' => '$1 {{GENDER:$2|restaurava}} le pagina $3',
+'logentry-delete-event' => '$1 {{GENDER:$2|cambiava}} le visibilitate de {{PLURAL:$5|un entrata|$5 entratas}} de registro in $3: $4',
+'logentry-delete-revision' => '$1 {{GENDER:$2|cambiava}} le visibilitate de {{PLURAL:$5|un version|$5 versiones}} del pagina $3: $4',
+'logentry-delete-event-legacy' => '$1 {{GENDER:$2|cambiava}} le visibilitate de entratas de registro in $3',
+'logentry-delete-revision-legacy' => '$1 {{GENDER:$2|cambiava}} le visibilitate de versiones del pagina $3',
+'logentry-suppress-delete' => '$1 {{GENDER:$2|supprimeva}} le pagina $3',
+'logentry-suppress-event' => '$1 secretemente {{GENDER:$2|cambiava}} le visibilitate de {{PLURAL:$5|un entrata|$5 entratas}} de registro in $3: $4',
+'logentry-suppress-revision' => '$1 secretemente {{GENDER:$2|cambiava}} le visibilitate de {{PLURAL:$5|un version|$5 versiones}} del pagina $3: $4',
+'logentry-suppress-event-legacy' => '$1 secretemente {{GENDER:$2|cambiava}} le visibilitate de entratas de registro in $3',
+'logentry-suppress-revision-legacy' => '$1 secretemente {{GENDER:$2|cambiava}} le visibilitate de versiones del pagina $3',
 'revdelete-content-hid' => 'contento celate',
 'revdelete-summary-hid' => 'summario del modification celate',
 'revdelete-uname-hid' => 'nomine de usator celate',
@@ -3895,20 +3946,20 @@ Vos deberea haber recipite [{{SERVER}}{{SCRIPTPATH}}/COPYING un exemplar del Lic
 'revdelete-uname-unhid' => 'nomine de usator non plus celate',
 'revdelete-restricted' => 'restrictiones applicate al administratores',
 'revdelete-unrestricted' => 'restrictiones eliminate pro administratores',
-'logentry-move-move' => '$1 renominava le pagina $3 a $4',
-'logentry-move-move-noredirect' => '$1 renominava le pagina $3 a $4 sin lassar un redirection',
-'logentry-move-move_redir' => '$1 renominava le pagina $3 a $4, superscribente un redirection',
-'logentry-move-move_redir-noredirect' => '$1 renominava le pagina $3 a $4, superscribente un redirection sin lassar un nove redirection',
-'logentry-patrol-patrol' => '$1 marcava le version $4 del pagina $3 como patruliate',
-'logentry-patrol-patrol-auto' => '$1 automaticamente marcava le version $4 del pagina $3 como patruliate',
-'logentry-newusers-newusers' => 'Le conto de usator $1 ha essite create',
-'logentry-newusers-create' => 'Le conto de usator $1 ha essite create',
-'logentry-newusers-create2' => 'Le conto de usator $3 ha essite create per $1',
-'logentry-newusers-byemail' => 'Le conto de usator $3 ha essite create per $1 e le contrasigno ha essite inviate per e-mail',
-'logentry-newusers-autocreate' => 'Le conto $1 ha essite create automaticamente',
-'logentry-rights-rights' => '$1 cambiava le appertinentia a gruppos pro $3 de $4 a $5',
-'logentry-rights-rights-legacy' => '$1 cambiava le appertinentia a gruppos pro $3',
-'logentry-rights-autopromote' => '$1 ha essite automaticamente promovite de $4 a $5',
+'logentry-move-move' => '$1 {{GENDER:$2|renominava}} le pagina $3 a $4',
+'logentry-move-move-noredirect' => '$1 {{GENDER:$2|renominava}} le pagina $3 a $4 sin lassar un redirection',
+'logentry-move-move_redir' => '$1 {{GENDER:$2|renominava}} le pagina $3 a $4, superscribente un redirection',
+'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|renominava}} le pagina $3 a $4, superscribente un redirection sin lassar un nove redirection',
+'logentry-patrol-patrol' => '$1 {{GENDER:$2|marcava}} le version $4 del pagina $3 como patruliate',
+'logentry-patrol-patrol-auto' => '$1 automaticamente {{GENDER:$2|marcava}} le version $4 del pagina $3 como patruliate',
+'logentry-newusers-newusers' => 'Le conto de usator $1 ha essite {{GENDER:$2|create}}',
+'logentry-newusers-create' => 'Le conto de usator $1 ha essite {{GENDER:$2|create}}',
+'logentry-newusers-create2' => 'Le conto de usator $3 ha essite {{GENDER:$2|create}} per $1',
+'logentry-newusers-byemail' => 'Le conto de usator $3 ha essite {{GENDER:$2|create}} per $1 e le contrasigno ha essite inviate per e-mail',
+'logentry-newusers-autocreate' => 'Le conto $1 ha essite {{GENDER:$2|create}} automaticamente',
+'logentry-rights-rights' => '$1 {{GENDER:$2|cambiava}} le appertinentia a gruppos pro $3 de $4 a $5',
+'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|cambiava}} le appertinentia a gruppos pro $3',
+'logentry-rights-autopromote' => '$1 ha essite automaticamente {{GENDER:$2|promovite}} de $4 a $5',
 'rightsnone' => '(nulle)',
 
 # Feedback
index 66f781c..31e5f15 100644 (file)
@@ -444,6 +444,18 @@ $messages = array(
 'oct' => 'Okt',
 'nov' => 'Nov',
 'dec' => 'Des',
+'january-date' => '$1 Januari',
+'february-date' => '$1 Februari',
+'march-date' => '$1 Maret',
+'april-date' => '$1 April',
+'may-date' => '$1 Mei',
+'june-date' => '$1 Juni',
+'july-date' => '$1 Juli',
+'august-date' => '$1 Agustus',
+'september-date' => '$1 September',
+'october-date' => '$1 Oktober',
+'november-date' => '$1 November',
+'december-date' => '$1 Desember',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategori}}',
@@ -891,11 +903,9 @@ Anda mungkin telah berhasil mengganti kata sandi Anda atau telah meminta kata sa
 
 # Special:PasswordReset
 'passwordreset' => 'Setel ulang sandi',
-'passwordreset-text' => 'Lengkapi formulir ini untuk menyetel ulang kata sandi.',
 'passwordreset-legend' => 'Setel ulang sandi',
 'passwordreset-disabled' => 'Penyetelan ulang sandi telah dimatikan di wiki ini.',
 'passwordreset-emaildisabled' => 'Fitur surel telah dinonaktifkan pada wiki ini.',
-'passwordreset-pretext' => '{{PLURAL:$1||Masukkan salah satu data di bawah ini}}',
 'passwordreset-username' => 'Nama pengguna:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Lihat surel yang dihasilkan?',
@@ -1134,6 +1144,7 @@ tanpa ada keterangan.',
 Halaman kemungkinan telah dihapus.',
 'edit-conflict' => 'Konflik penyuntingan.',
 'edit-no-change' => 'Suntingan diabaikan, karena Anda tidak melakukan perubahan atas teks.',
+'postedit-confirmation' => 'Suntingan Anda tersimpan.',
 'edit-already-exists' => 'Tidak dapat membuat halaman baru
 karena telah ada.',
 'defaultmessagetext' => 'Teks baku',
@@ -1141,7 +1152,7 @@ karena telah ada.',
 'invalid-content-data' => 'Data konten tidak sah',
 'content-not-allowed-here' => 'Konten "$1" tidak diizinkan di halaman [[$2]]',
 'editwarning-warning' => 'Meninggalkan halaman ini dapat menyebabkan semua perubahan yang belum tersimpan hilang.
-Jika Anda telah masuk log, Anda dapat mematikan peringatan ini lewat "{{int:prefs-editing}}" pada halaman preferensi Anda.',
+Jika Anda telah masuk log, Anda dapat mematikan peringatan ini lewat bagian "Penyuntingan" pada halaman preferensi Anda.',
 
 # Content models
 'content-model-wikitext' => 'teks wiki',
@@ -1251,7 +1262,7 @@ Sebagai seorang pengurus, Anda dapat melihat perbedaan ini; detail mungkin terse
 'revdelete-nologtype-title' => 'Tipe log tak diberikan',
 'revdelete-nologtype-text' => 'Anda tidak memberikan suatu tipe log untuk menerapkan tindakan ini.',
 'revdelete-nologid-title' => 'Entri log tak valid',
-'revdelete-nologid-text' => 'Anda mungkin tidak menyebutkan suatu log peristiwa target untuk menjalankan fungsi ini atau entri yang dimaksud tak ditemukan.',
+'revdelete-nologid-text' => 'Anda mungkin tidak menyebutkan suatu log target peristiwa untuk menjalankan fungsi ini atau entri yang dimaksud tidak ditemukan.',
 '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',
@@ -1850,7 +1861,7 @@ Jika Anda tetap ingin memuatkan berkas Anda, harap kembali dan gunakan nama lain
 'uploadjava' => 'Berkas ini adalah berkas ZIP yang mengnadung berkas .class Java.
 Penggunggahan berkas Java tidak diperbolehkan karena dapat menyebabkan pengabaian batasan keamanan.',
 'upload-source' => 'Berkas sumber',
-'sourcefilename' => 'Jeneng berkas sumber:',
+'sourcefilename' => 'Nama berkas sumber:',
 'sourceurl' => 'URL sumber:',
 'destfilename' => 'Nama berkas tujuan:',
 'upload-maxfilesize' => 'Ukuran berkas maksimum: $1',
@@ -2394,8 +2405,8 @@ Perubahan-perubahan berikutnya pada halaman tersebut dan halaman pembicaraan ter
 'notvisiblerev' => 'Revisi telah dihapus',
 'watchnochange' => 'Tak ada halaman pantauan Anda yang telah berubah dalam jangka waktu yang dipilih.',
 'watchlist-details' => 'Terdapat {{PLURAL:$1|$1 halaman|$1 halaman}} di daftar pantauan Anda, tidak termasuk halaman pembicaraan.',
-'wlheader-enotif' => 'Notifikasi surel diaktifkan.',
-'wlheader-showupdated' => "* Halaman-halaman yang telah berubah sejak kunjungan terakhir Anda ditampilkan dengan '''huruf tebal'''",
+'wlheader-enotif' => 'Notifikasi surel diaktifkan.',
+'wlheader-showupdated' => "Halaman-halaman yang telah berubah sejak kunjungan terakhir Anda ditampilkan dengan '''huruf tebal'''.",
 'watchmethod-recent' => 'periksa daftar perubahan terbaru terhadap halaman yang dipantau',
 'watchmethod-list' => 'periksa halaman yang dipantau terhadap perubahan terbaru',
 'watchlistcontains' => 'Daftar pantauan Anda berisi $1 {{PLURAL:$1|halaman|halaman}}.',
@@ -3115,7 +3126,6 @@ Simpan ke komputer Anda dan unggah ke sini.',
 'modern.css' => '/* CSS yang ada di sini akan diterapkan pada kulit Modern. */',
 'vector.css' => '/* CSS nan ado di siko diterapkan pado kulik Vektor. */',
 'print.css' => '/* CSS yang ada di sini akan diterapkan pada tampilan cetak. */',
-'handheld.css' => '/* CSS yang ada di sini akan diterapkan untuk tampilan piranti genggam yang dikonfigurasi di $wgHandheldStyle. */',
 'noscript.css' => '/* CSS di sini akan mempengaruhi pengguna dengan skrip Java non-aktif */',
 'group-autoconfirmed.css' => '/* CSS di sini hanya mempengaruhi pengguna terkonfirmasi otomatis */',
 'group-bot.css' => '/* CSS di sini hanya mempengaruhi bot */',
index 281987d..31f7d1f 100644 (file)
@@ -161,8 +161,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Monstrar li númere de usatores vigilant',
 'tog-oldsig' => 'Prevision de signature in existentie:',
 'tog-fancysig' => 'Tractar signature quam textu wiki (sin un catenun auto-crate)',
-'tog-externaleditor' => 'Usar redactor extern per contumacie (solmen por usatores expert, besona de colocationes special in tui computator. [//www.mediawiki.org/wiki/Manual:External_editors Plu information.])',
-'tog-externaldiff' => 'Usar diferentie extern per contumacie (solmen por usatores expert, besona de colocationes special in tui computator. [//www.mediawiki.org/wiki/Manual:External_editors Plu information.])',
 'tog-showjumplinks' => 'Permisser catenunes de accessebilitá "saltar a"',
 'tog-uselivepreview' => 'Usar prevision in vivi (exige JavaScript) (experimental)',
 'tog-forceeditsummary' => 'Suggester me quande intrar un redaction che summarium in blanc',
@@ -648,9 +646,6 @@ Vider li [[Special:IPBlockList|liste de bloc de IP]] por li liste de bloces e ba
 'search-nonefound' => 'Ne esset constatat resultates por li question.',
 'powersearch' => 'Serchar avansat',
 
-# Quickbar
-'qbsettings' => 'Personalisation del barre de utensiles',
-
 # Preferences page
 'preferences' => 'Preferenties',
 'mypreferences' => 'Mi preferenties',
@@ -996,8 +991,8 @@ Li descrition es in li [$2 págine de descrition del file] ta e es monstrat in i
 'unwatch' => 'Desvigilar',
 'watchnochange' => 'Nequant de tui tui partes vigilat esset redactet in li periode de témpor monstrat.',
 'watchlist-details' => '{{PLURAL:$1|$1 págine|$1 págines}} in tui liste de págines vigilat, sin págines de discussion.',
-'wlheader-enotif' => 'Li notification de e-mail es permisset.',
-'wlheader-showupdated' => "Págines quel hat esset mutat desde tui ultim visitation es monstrat in '''nigri'''",
+'wlheader-enotif' => 'Li notification de e-mail es permisset.',
+'wlheader-showupdated' => "Págines quel hat esset mutat desde tui ultim visitation es monstrat in '''nigri'''",
 'watchmethod-recent' => 'controlant nov redactiones por págines vigilat',
 'watchmethod-list' => 'controlant págines vigilat por nov redactiones',
 'watchlistcontains' => 'Tui liste de págines vigilat contene $1 {{PLURAL:$1|págine|págines}}.',
@@ -1372,9 +1367,6 @@ Vu posse anc [[Special:EditWatchlist|usar li redactor uniform]].',
 'version-software-product' => 'Producte',
 'version-software-version' => 'Version',
 
-# Special:FilePath
-'filepath-page' => 'Figura:',
-
 # Special:SpecialPages
 'specialpages' => 'Págines special',
 'specialpages-group-maintenance' => 'Raportes de conservation',
index 05ea9a4..0157257 100644 (file)
@@ -104,8 +104,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Zi onuogụgụ ndi na banife nke ne lé',
 'tog-oldsig' => 'Létu ntakiri ndẹlu ejị a ma gí:',
 'tog-fancysig' => 'Mesò ka nkábi nwéré édé wiki (nké énwéghị jikodo nke nọr na onwe)',
-'tog-externaleditor' => 'Jí irü èzí nà áká (màkà ndi òkà nání, ȯ chọrọ ndósé nke kárí na nsónùsòrò gi)',
-'tog-externaldiff' => 'Jí nkéichè èzí nà áká (màkà ndi òkà nání, ȯ chọrọ ndósé nke kárí na nsónùsòrò gi)',
 'tog-showjumplinks' => 'Kwé ka njikodo "mani énū" I mé',
 'tog-uselivepreview' => 'Jí nlé ntàkírí dí ndụ (Í gí nwé JavaScript) (mmètú kanyí lé)',
 'tog-forceeditsummary' => 'Gwam mgbè okwu nsem màkà orüm rürü a díghị',
@@ -749,14 +747,6 @@ Nwàné ótù okwu íshí na ihe Í nè tú jí ''háníle:'' Í tuó ihe nílé
 'powersearch-toggleall' => 'Haníle',
 'powersearch-togglenone' => 'Efù',
 
-# Quickbar
-'qbsettings' => 'Mkpọrọ-ȯsȯ-ọsọ',
-'qbsettings-none' => 'Efù',
-'qbsettings-fixedleft' => 'Gbado na áká èkpè',
-'qbsettings-fixedright' => 'Gbado na áká ìkengà',
-'qbsettings-floatingleft' => 'Ne fé na áká èkpè',
-'qbsettings-floatingright' => 'Ne fé na áká nrí',
-
 # Preferences page
 'preferences' => 'Otu ha dosẹrẹ ihe',
 'mypreferences' => 'Otú m shị na dose ihem',
@@ -1115,7 +1105,7 @@ Ubwa, o na ga [[$2]].',
 'listgrouprights-addgroup' => 'Gbàkọ {{PLURAL:$2|ọtú|ọtú}}: $1',
 'listgrouprights-addgroup-all' => 'Tìnyé ọtú nílé',
 
-# E-mail user
+# Email user
 'emailuser' => 'Zi onye á ózí-nsónùsòrò',
 'emailpage' => "Mé ọ'bànifé e-mailù",
 'defemailsubject' => 'e-mail {{SITENAME}}',
@@ -1524,7 +1514,7 @@ Nke ozor gí zonari na áká onwe ha.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Àsáa',
 'exif-imagelength' => 'Ógólógó',
 'exif-orientation' => 'Ívú nà àsáa',
@@ -1695,11 +1685,6 @@ Nke ozor gí zonari na áká onwe ha.
 'version-entrypoints-header-entrypoint' => 'Ébé ọ̀bụ̀bà',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Uzọ usòrò',
-'filepath-page' => 'Usòrò:',
-'filepath-submit' => 'Gá',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Áhà usòrò:',
 'fileduplicatesearch-submit' => 'Chọwa',
index 2e151fd..d19a789 100644 (file)
@@ -45,9 +45,9 @@ $messages = array(
 'tog-usenewrc' => 'Dagiti grupo a panagbaliw babaen ti panid kadagiti kinaudi a panagbaliw ken banbantayan  (masapul ti JavaScript)',
 'tog-numberheadings' => 'Automatiko a pabilangan dagiti paulo',
 'tog-showtoolbar' => 'Ipakita ti ramit ti panag-urnos (masapul ti JavaScript)',
-'tog-editondblclick' => 'Urnosen dagiti panid iti mamindua a panagtakla (masapul ti JavaScript)',
-'tog-editsection' => 'Pakabaelan ti paset a panag-urnos babaen kadagiti [urnosen] a  panilpo',
-'tog-editsectiononrightclick' => 'Pakabaelan ti paset  a panag-urnos babaen ti panagtakla ti kanawan kadagiti paset a titulo (masapul ti JavaScript)',
+'tog-editondblclick' => 'Urnosen dagiti panid iti mamindua a panagpindut (masapul ti JavaScript)',
+'tog-editsection' => 'Pakabaelan ti paset a panag-urnos babaen kadagiti silpo nga [urnosen]',
+'tog-editsectiononrightclick' => 'Pakabaelan ti paset  a panag-urnos babaen ti panagpindut ti kanawan kadagiti paset a titulo (masapul ti JavaScript)',
 'tog-showtoc' => 'Ipakita ti tabla dagiti linaon (para kadagiti panid nga adda ti ad-adu ngem dagiti 3 a paulo)',
 'tog-rememberpassword' => 'Laglagipem ti iseserrekko iti daytoy a pagbasabasa (iti kapaut nga $1 {{PLURAL:$1|aldaw|al-aldaw}})',
 'tog-watchcreations' => 'Agnayon kadagiti panid a pinartuatko ken papeles nga inpanko idiay listaan ti bambantayak',
@@ -142,6 +142,18 @@ $messages = array(
 'oct' => 'Okt',
 'nov' => 'Nob',
 'dec' => 'Dis',
+'january-date' => 'Enero $1',
+'february-date' => 'Pebrero $1',
+'march-date' => 'Marso $1',
+'april-date' => 'Abril $1',
+'may-date' => 'Mayo $1',
+'june-date' => 'Hunio $1',
+'july-date' => 'Hulio $1',
+'august-date' => 'Agosto $1',
+'september-date' => 'Septiembre $1',
+'october-date' => 'Oktubre $1',
+'november-date' => 'Nobiembre $1',
+'december-date' => 'Disiembre $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategoria|Katkategoria}}',
@@ -452,9 +464,18 @@ Laglagipem a sumagmamano a pampanid ti mabalin a nakaparang latta a kasla nakase
 'welcomecreation-msg' => 'Naaramiden ti pakabilangam.
 Dimo liplipatan a sukatan dagiti kakaykayatam idiay [[Special:Preferences|{{SITENAME}} kakaykayatan]].',
 'yourname' => 'Nagan ti agar-aramat:',
+'userlogin-yourname' => 'Nagan ti agar-aramat',
+'userlogin-yourname-ph' => 'Ikabil ti naganmo nga agar-aramat',
 'yourpassword' => 'Kontrasenias:',
+'userlogin-yourpassword' => 'Kontrasenias',
+'userlogin-yourpassword-ph' => 'Ikabilmo ti kontrasenias',
+'createacct-yourpassword-ph' => 'Agikabil ti kontrasenias',
 'yourpasswordagain' => 'Uliten ti kontrasenias:',
+'createacct-yourpasswordagain' => 'Pasingkedan ti kontrasenias',
+'createacct-yourpasswordagain-ph' => 'Ikabil manen ti kontrasenias',
 'remembermypassword' => 'Laglagipem ti iseserrekko iti daytoy a pagbasabasa (para iti kapaut iti $1 {{PLURAL:$1|nga aldaw|nga al-aldaw}})',
+'userlogin-remembermypassword' => 'Taginayonennak nga iserrek',
+'userlogin-signwithsecure' => 'Usaren ti natalged a pannakaikapet',
 'securelogin-stick-https' => 'Agyanka a nakasilpo iti HTTPS kalpasan no nakastrekka',
 'yourdomainname' => 'Ti bukodmo a pagturayan:',
 'password-change-forbidden' => 'Saanmo a mabalin ti mangbaliw kadagiti kontrasenias iti daytoy a wiki.',
@@ -467,18 +488,38 @@ Dimo liplipatan a sukatan dagiti kakaykayatam idiay [[Special:Preferences|{{SITE
 'logout' => 'Rummuar',
 'userlogout' => 'Rummuar',
 'notloggedin' => 'Saan a nakastrek',
+'userlogin-noaccount' => 'Awan ti pakabilangam?',
+'userlogin-joinproject' => 'Tumipon {{SITENAME}}',
 'nologin' => "Awan kadi pay ti pakabilangam? '''$1'''.",
 'nologinlink' => 'Agaramid ti pakabilangan',
-'createaccount' => 'Agaramid ti pakabilangan',
+'createaccount' => 'Agaramiden ti pakabilangan',
 'gotaccount' => "Addaanka kadin ti pakabilangam? '''$1'''.",
 'gotaccountlink' => 'Sumrek',
-'userlogin-resetlink' => 'Nalipatam dagiti salaysay ti pagserrek mo?',
+'userlogin-resetlink' => 'Nalipatam dagiti salaysay ti pagserrekmo?',
+'userlogin-resetpassword-link' => 'Iyasentar manen ti kontrasenias',
+'helplogin-url' => 'Help:Panagserrek',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Tulong iti panagserrek]]',
+'createacct-join' => 'Ikabil ti pakaammom dita baba.',
+'createacct-emailrequired' => 'Esurat a pagtaengan',
+'createacct-emailoptional' => 'Esurat a pagtaengan (pagpilian)',
+'createacct-email-ph' => 'Ikabil ti esurat a pagtaengam',
 'createaccountmail' => 'Agusar ti maysa a temporario a pugto a kontrasenias ken ipatulod idiay esurat a pagtaengan a nainaganan dita baba',
+'createacct-realname' => 'Pudno a nagan (pagpilian)',
 'createaccountreason' => 'Rason:',
+'createacct-reason' => 'Rason',
+'createacct-reason-ph' => 'Apay nga agparpartuatka manen ti pakabilangam',
+'createacct-captcha' => 'Panagkita ti pannakatalinaay',
+'createacct-imgcaptcha-ph' => 'Ikabil ti testo a makitam dita ngato',
+'createacct-submit' => 'Partuatem ti pakabilangam',
+'createacct-benefit-heading' => 'Ti {{SITENAME}} ket inar-aramid babaen ti tattao a kasla kenka.',
+'createacct-benefit-body1' => '{{PLURAL:$1|nga inurnos|nga inur-urnos}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|a panid|a pampanid}}',
+'createacct-benefit-body3' => 'nga agdama a {{PLURAL:$1|nagparawad|nagparparawad}}',
 'badretype' => 'Saan nga agpada dagiti impanmo a kontrasenias.',
 'userexists' => 'Maus-usaren ti nagan a kayatmo.
 Pangngaasi nga agpilika ti sabali a nagan.',
 'loginerror' => 'Biddut ti sumrek',
+'createacct-error' => 'Biddut a panagpartuat ti pakabilangan',
 'createaccounterror' => 'Saan a makaaramid ti pakabilangan: $1',
 'nocookiesnew' => 'Naaramid ti pakabilangan ti agar-aramat, ngem saanka a nakastrek.
 Ti {{SITENAME}} ket agususar kadagiti "galietas" tapno maiserrek dagiti agaramat.
@@ -566,7 +607,7 @@ Tapno malpaska a makastrek, nasken a mangikabilka ti baro a kontrasenias ditoy:'
 'newpassword' => 'Baro a kontrasenias:',
 'retypenew' => 'Imakinilya manen ti baro a kontrasenias:',
 'resetpass_submit' => 'Ikabil ti kontrasenias ken sumrek',
-'resetpass_success' => 'Nagballigi a nabaliwan ti kontrasenias mo! 
+'resetpass_success' => 'Nagballigi a nabaliwan ti kontraseniasmo! 
 </br>
 Iserrek kan...',
 'resetpass_forbidden' => 'Saan a masukatan dagiti kontrasenias',
@@ -576,13 +617,13 @@ Iserrek kan...',
 'resetpass-wrong-oldpass' => 'Imbalido ti temporario wenno agdama a kontrasenias.
 Mabalin a nagballigi ti panagsukatmo ti kontrasenias wenno nagkiddaw ti baro a temporario a kontrasenias.',
 'resetpass-temp-password' => 'Temporario a kontrasenias:',
+'resetpass-abort-generic' => 'Ti panagsukat ti kontrasenias ket pinasardeng babaen ti pagpaatiddog.',
 
 # Special:PasswordReset
 'passwordreset' => 'Ipasubli ti kontrasenias',
-'passwordreset-text' => 'Lippasem daytoy a porma tapno maidisso manen ti bukodmo a kontrasenias.',
 'passwordreset-legend' => 'Ipasubli ti kontrasenias',
 'passwordreset-disabled' => 'Nabaldado dagiti panagisubli ti kontrasenias iti daytoy a wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Ikabil ti maysa a piraso ti datos dita baba}}',
+'passwordreset-emaildisabled' => 'Dagiti langa ti esurat ket nabaldado iti daytoy a wiki.',
 'passwordreset-username' => 'Nagan ti agar-aramat:',
 'passwordreset-domain' => 'Pagturayan:',
 'passwordreset-capture' => 'Kitaem ti nagbanagan ti esurat?',
@@ -612,7 +653,7 @@ agtuloykan nga agusar ti daan a kontraseniasmo.',
 Temporario a kontrasenias: $2',
 'passwordreset-emailsent' => 'Ti maysa nga esurat ti panangidisso manen ti kontrasenias ket naipatuloden.',
 'passwordreset-emailsent-capture' => 'Ti maysa nga esurat ti panangidisso manen ti kontrasenias ket naipatuloden, a napaikita dita baba.',
-'passwordreset-emailerror-capture' => 'Ti maysa nga esurat ti panangidisso manen ti kontrasenias ket naaramiden, a napaikita dita baba, ngem napaay a napaitulod iti agar-aramat: $1',
+'passwordreset-emailerror-capture' => 'Naaramid ti maysa nga esurat a panangyasentar manen ti kontrasenias, a napaikita dita baba, ngem ti panangitulod kenni {{GENDER:$2|agar-aramat}} ket napaay: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'Sukatan ti esurat a pagtaengan',
@@ -832,6 +873,7 @@ Awan ti intedna a palawag.',
 Kasla met naikkaten.',
 'edit-conflict' => 'Adda kasinnungat ti panag-urnos.',
 'edit-no-change' => 'Ti inurnosmo ket saan a naikaskaso, ngamin ket awan ti nasukatan a testo.',
+'postedit-confirmation' => 'Ti inurnosmo ket naidulinen.',
 'edit-already-exists' => 'Saan a makaaramid ti baro a panid.
 Adda met daytoyen.',
 'defaultmessagetext' => 'Kasisigud a testo ti mensahe',
@@ -873,7 +915,7 @@ Dagitoy a panangipalawag ket naikkaten.",
 'undo-success' => 'Ti panag-urnos ket saan a maisubli.
 Pangngaasi a kitaen ti pagipadaan dita baba tapno maamuan no agpaypayso ti kayatmo nga aramiden, ken idulin dagiti sinukatan dita baba tapno malpas ti panagsubli ti inurnos.',
 'undo-failure' => 'Ti inurnos ket saan a maipasubli gaputa adda dagiti nakisinnungat a patingnga a naurnos.',
-'undo-norev' => 'Saan a maibabawi ti naurnos ngamin ket awan met daytoy wenno mabalin a naikkat.',
+'undo-norev' => 'Saan a maibabawi ti naurnos ngamin ket awan daytoy wenno mabalin a naikkaten.',
 'undo-summary' => 'Ibabawi ti $1 a binaliwan babaen ni [[Special:Contributions/$2|$2]] ([[User talk:$2|tungtungan]])',
 
 # Account creation failure
@@ -1127,6 +1169,7 @@ Padasem a  pasarunuan ti panagbiruk mo ti ''all:'' tapno birukem amin a nagyan (
 'searchdisabled' => 'Ti panagbiruk iti {{SITENAME}} ket nabaldado.
 Mabalin mo ti agbiruk idiay Google tattan.
 Laglagipem laeng a dagiti pagsurotan nagyan ti {{SITENAME}} ket baka baak.',
+'search-error' => 'Adda maysa a biddut  napasamak bayat nga agbirbiruk:$1',
 
 # Preferences page
 'preferences' => 'Kakaykayatan',
@@ -1274,6 +1317,7 @@ Ti esurat a pagtaengam ket saan a maipakita kadagiti agar-aramat nga agkontak ke
 'userrights-notallowed' => 'Awan ti pammalubos ti pakabilangam a mangted iti kakaberngan ti agar-aramat.',
 'userrights-changeable-col' => 'Dagiti grupo a mabalinmo a baliwan',
 'userrights-unchangeable-col' => 'Dagiti grupo a dimo mabalin a baliwan',
+'userrights-conflict' => 'Suppiat ti karbengan ti agar-aramat! Pangngaasi nga ipakatmo manen dagiti sinuksukatam.',
 
 # Groups
 'group' => 'Grupo:',
@@ -1872,7 +1916,7 @@ Tattan ket naibaw-ing idiay [[$2]].',
 'ncategories' => '$1 {{PLURAL:$1|a kategoria|kadagiti kategoria}}',
 'ninterwikis' => '$1 {{PLURAL:$1|interwiki|dagiti interwiki}}',
 'nlinks' => '$1 {{PLURAL:$1|a panilpo|kadagiti panilpo}}',
-'nmembers' => '$1 {{PLURAL:$1|a kameng|kadagiti kameng}}',
+'nmembers' => '$1 {{PLURAL:$1|a kameng|kamkameng}}',
 'nrevisions' => '$1 {{PLURAL:$1|a panagbalbaliw|kadagiti panagbalbaliw}}',
 'nviews' => '$1 {{PLURAL:$1|a panangkita|kadagiti panangkita}}',
 'nimagelinks' => 'Inusar idiay $1 {{PLURAL:$1|a panid|a pampanid}}',
@@ -2009,6 +2053,15 @@ Masapul ti kangatuan a pagturayan, a kaspagarigan "*.org".<br />
 'listusers-noresult' => 'Awan ti nasarakan nga agar-aramat.',
 'listusers-blocked' => '(naserraan)',
 
+# Special:ActiveUsers
+'activeusers' => 'Listaan dagiti nasiglat nga agar-aramat',
+'activeusers-intro' => 'Daytoy ti listaan dagiti agar-aramat nga adda inararamidda kadagiti napalabas a $1 {{PLURAL:$1|nga aldaw|nga alaldaw}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|a tignay|tigtignay}} idi kalpasan ti {{PLURAL:$3|nga aldaw|$3 nga alaldaw}}',
+'activeusers-from' => 'Iparang dagiti agar-aramat a mangrugi iti:',
+'activeusers-hidebots' => 'Ilemmeng dagiti bot',
+'activeusers-hidesysops' => 'Ilemmeng dagiti administrador',
+'activeusers-noresult' => 'Awan ti nasarakan nga agar-aramat.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Dagiti karbengan ti grupo ti agar-aramat',
 'listgrouprights-summary' => 'Dagiti sumaganad a listaan ti bunggoy ti agar-aramat a naipalawag iti daytoy a wiki, a nairaman dagiti karbengan ti panagserrekda.
@@ -2086,8 +2139,8 @@ Dagiti masakbayan a panagsukat iti daytoy a panid ken dagiti mainaig a tungtunga
 'notvisiblerev' => 'Ti panagbalbaliw ti sabali nga agar-aramat ket naikkaten',
 'watchnochange' => 'Awan dagiti binambantayam ket naurnos dita panawen a naipakita.',
 'watchlist-details' => '{{PLURAL:$1|$1 panid|$1 dagiti panid}} a bambantayam, saan a mairaman dagiti panid ti tungtongan.',
-'wlheader-enotif' => '* Napakabaelan ti pakiammo ti esurat.',
-'wlheader-showupdated' => "* Dagiti panid a nasukatan manipud ti kinaudi a panagsarungkarmo ket naipakita iti '''napuskol'''",
+'wlheader-enotif' => 'Napakabaelan ti panangipakaammo ti esurat.',
+'wlheader-showupdated' => "Dagiti panid a nasukatanen manipud ti kinaudi a panagsarungkarmo ket naipakita iti '''napuskol'''",
 'watchmethod-recent' => 'kitkitaen dagiti kinaudi nga inurnos kadagiti bambantayan a panid',
 'watchmethod-list' => 'kitkitaen dagiti bambantayan a panid kadagiti kinaudi nga inurnos',
 'watchlistcontains' => 'Ti listaan ti bambantayam ket aglaon ti $1 {{PLURAL:$1|a panid|a pampanid}}.',
@@ -2675,6 +2728,8 @@ Pangngaasi a bisitaen ti [//www.mediawiki.org/wiki/Localisation Lokalisasion ti
 'thumbnail-more' => 'Padakkelen',
 'filemissing' => 'Mapukpukaw ti papeles',
 'thumbnail_error' => 'Biddut ti panagaramid ti bassit nga imahen: $1',
+'thumbnail_error_remote' => 'Biddut a mensahe manipud ti $1: 
+$2',
 'djvu_page_error' => 'Ti DjVu a panid ket saan a nasakup',
 'djvu_no_xml' => 'Saan a naala ti XML iti DjVu a papeles',
 'thumbnail-temp-create' => 'Saan a makaaramid ti temporario a bassit a papeles',
@@ -2971,11 +3026,25 @@ No usarem daytoy, baka makompromiso ti sistema.",
 'minutes' => '{{PLURAL:$1|$1 minuto|$1 minutos}}',
 'hours' => '{{PLURAL:$1|$1 oras$1 oras}}',
 'days' => '{{PLURAL:$1|$1 aldaw|$1 al-aldaw}}',
+'weeks' => '{{PLURAL:$1|$1 a lawas|$1 a law-lawas}}',
 'months' => '{{PLURAL:$1|$1 a bulan|$1 a bulbulan}}',
 'years' => '{{PLURAL:$1|$1 a tawen|$1 a tawtawen}}',
 'ago' => '$1 nagtapos',
 'just-now' => 'tatta laeng',
 
+# Human-readable timestamps
+'hours-ago' => '$1 nga {{PLURAL:$1|oras|or-oras}} idi ugma',
+'minutes-ago' => '$1 a {{PLURAL:$1|minuto|minutos}} idi ugma',
+'seconds-ago' => '$1 a {{PLURAL:$1|segundo|seg-segundo}} idi ugma',
+'monday-at' => 'Lunes idiay $1',
+'tuesday-at' => 'Martes idiay $1',
+'wednesday-at' => 'Mierkoles idiay $1',
+'thursday-at' => 'Huebes idiay $1',
+'friday-at' => 'Biernes idiay $1',
+'saturday-at' => 'Sabado idiay $1',
+'sunday-at' => 'Dominggo idiay $1',
+'yesterday-at' => 'Idi kalman idiay $1',
+
 # Bad image list
 'bad_image_list' => 'Ti kinabuklan ket kas iti sumaganad:
 
@@ -3005,7 +3074,7 @@ Dagiti dadduma ket mailemmeng a kinasigud.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Kaakaba',
 'exif-imagelength' => 'Katayag',
 'exif-bitspersample' => 'Bits tunggal maysa a  nagyan',
@@ -3182,7 +3251,7 @@ Dagiti dadduma ket mailemmeng a kinasigud.
 'exif-originalimageheight' => 'Kangato ti imahen sakbay nga naputed',
 'exif-originalimagewidth' => 'Kalawa ti imahen sakbay nga naputed',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Saan a napespes',
 
 'exif-copyrighted-true' => 'Nakarbengan a kopia',
@@ -3595,12 +3664,17 @@ Naka-awatka koman ti [{{SERVER}}{{SCRIPTPATH}}/COPYING kopia iti GNU Sapasap a
 'version-entrypoints-header-entrypoint' => 'Pagserrekan a puntos',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Dalanan ti papeles',
-'filepath-page' => 'Papeles:',
-'filepath-submit' => 'Inkan',
-'filepath-summary' => 'Daytoy nga espesial a panid ket agisubli ti kompleto a dalan ti papeles.
-Dagiti imahen ket agparang iti kadakkelan a resolusion, dagiti sabali a kita ti papeles ket dagus a mangrugida idiay nakairamananda a programa.',
+# Special:Redirect
+'redirect' => 'Ibaw-ing babaen ti papeles, agar-aramat, wenno ID ti panagbaliw',
+'redirect-legend' => 'Ibaw-ing iti papeles wenno panid',
+'redirect-summary' => 'Daytoy nga espesial a panid ket maibaw-ing iti papeles (iti nagan ti papeles), ti panid (iti ID ti panagbaliw), wenno ti panid ti agar-aramat (iti numeriko nga ID ti agar-aramat).',
+'redirect-submit' => 'Inkan',
+'redirect-lookup' => 'Kitaen:',
+'redirect-value' => 'Pateg:',
+'redirect-user' => 'ID ti agar-aramat',
+'redirect-revision' => 'Panagbaliw ti panid',
+'redirect-file' => 'Nagan ti papeles',
+'redirect-not-exists' => 'Saan a nabirukan ti pateg',
 
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Agbiruk kadagiti duplikado a papeles',
@@ -3692,6 +3766,9 @@ Daytoy a pagsaadan ket agdadama ti teknikal a pagrigrigatan.',
 'htmlform-submit' => 'Ited',
 'htmlform-reset' => 'Ibabawi ti sinukatan',
 'htmlform-selectorother-other' => 'Sabali',
+'htmlform-no' => 'Saan',
+'htmlform-yes' => 'Wen',
+'htmlform-chosen-placeholder' => 'Agpili ti pagpilian',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 adda ti suporta ti napno a testo ti panagbiruk',
@@ -3717,7 +3794,7 @@ Daytoy a pagsaadan ket agdadama ti teknikal a pagrigrigatan.',
 'revdelete-uname-unhid' => 'saan a nailemmeng ti nagan ti agar-aramat',
 'revdelete-restricted' => 'naipakat dagiti pammarit kadagiti administrador',
 'revdelete-unrestricted' => 'naikkat dagiti pammarit para kadagiti administrador',
-'logentry-move-move' => 'Ni $1 ket {{GENDER:$2|inyalisna}}ti panid $3 idiay $4',
+'logentry-move-move' => 'Ni $1 ket {{GENDER:$2|inyalisna}} ti panid $3 idiay $4',
 'logentry-move-move-noredirect' => 'Ni $1 ket {{GENDER:$2|inyalisna}} ti panid ti $3 idiay $4 a saan a nangibati ti baw-ing',
 'logentry-move-move_redir' => 'Ni $1 ket {{GENDER:$2|inyalisna}} ti panid ti $3 idiay $4 nga adda iti maysa a baw-ing',
 'logentry-move-move_redir-noredirect' => 'Ni $1 ket {{GENDER:$2|inyalisna}} ti panid ti $3 idiay $4 nga adda iti maysa a baw-ing a saan a nangibati ti baw-ing',
index fb4d15a..7e69b43 100644 (file)
@@ -1068,7 +1068,7 @@ $messages = array(
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Шерал',
 'exif-imagelength' => 'Лакхал',
 'exif-imagedescription' => 'Сурта цIи',
@@ -1128,11 +1128,6 @@ $messages = array(
 'version-version' => '(Доржам $1)',
 'version-software-version' => 'Доржам',
 
-# Special:FilePath
-'filepath' => 'Паьлачу никъ',
-'filepath-page' => 'Паьл:',
-'filepath-submit' => 'Дехьавала/яла',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'ПаьлацIи:',
 'fileduplicatesearch-submit' => 'Лаха',
index 505fa76..c2b2f50 100644 (file)
@@ -137,7 +137,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Montrez mea e-posto adreso en notifiko e-posti',
 'tog-shownumberswatching' => 'Montrez nombro di surveyanta uzanti',
 'tog-fancysig' => 'Traktez signaturo kom wikikodo (sen automata ligilo)',
-'tog-externaleditor' => 'Uzez extera redaktanto nespecigite (nur por experti, bezonas specala moderi ye vua komputoro .[//www.mediawiki.org/wiki/Manual:External_editors Plusa informo.])',
 'tog-forceeditsummary' => 'Notifikez me kande skribanta vakua redakto-rezumo',
 'tog-watchlisthideown' => 'Celez mea redaktaji de la surveyaji',
 'tog-watchlisthidebots' => 'Celez redaktaji da roboti de la surveyaji',
@@ -682,10 +681,6 @@ Probez prefixizar vua demando kun ''all:'' por serchar omna kontenajo (inkluzant
 'search-external' => 'Extera sercho',
 'searchdisabled' => 'La sercho en la kompleta texto desaktivigesis temporale pro superkargo dil servanto. Ni esperas riaktivigar ol pos facar ula proxima aktualigi. Dum ica tempo, vu povas serchar per Google.',
 
-# Quickbar
-'qbsettings' => 'Preferaji pri "Quickbar"',
-'qbsettings-none' => 'Nula',
-
 # Preferences page
 'preferences' => 'Preferaji',
 'mypreferences' => 'Mea preferaji',
@@ -1035,7 +1030,7 @@ Volutez kontrolar <strong>[[:$1]]</strong> se vu ne esas certa pri chanjar olu.
 'listgrouprights-group' => 'Grupo',
 'listgrouprights-members' => '(listo di membri)',
 
-# E-mail user
+# Email user
 'mailnologin' => 'Ne sendar adreso',
 'mailnologintext' => 'Vu mustas [[Special:UserLogin|enirir]] e havar valida e-adreso en vua [[Special:Preferences|preferaji]] por sendar e-posto ad altra uzanti.',
 'emailuser' => 'Sendar e-posto a ca uzanto',
@@ -1415,7 +1410,7 @@ Vu darfos adjuntar kauso en la rezumo.',
 # Metadata
 'metadata' => 'Metadonaji',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Larjeso',
 'exif-imagelength' => 'Alteso',
 'exif-artist' => 'Autoro',
@@ -1458,7 +1453,7 @@ Vu darfos adjuntar kauso en la rezumo.',
 'namespacesall' => 'omna',
 'monthsall' => 'omna',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail_needlogin' => 'Vu mustas $1 pro konfirmar vua adreso di e-posto.',
 
 # Scary transclusion
@@ -1516,9 +1511,6 @@ Vu darfos adjuntar kauso en la rezumo.',
 'version-software-product' => 'Produkturo',
 'version-software-version' => 'Versiono',
 
-# Special:FilePath
-'filepath-page' => 'Arkivo:',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-submit' => 'Serchar',
 
index de0e9eb..36df20f 100644 (file)
@@ -315,10 +315,10 @@ $messages = array(
 'october' => 'október',
 'november' => 'nóvember',
 'december' => 'desember',
-'january-gen' => 'janúars',
-'february-gen' => 'febrúars',
+'january-gen' => 'janúar',
+'february-gen' => 'febrúar',
 'march-gen' => 'mars',
-'april-gen' => 'apríls',
+'april-gen' => 'apríl',
 'may-gen' => 'maí',
 'june-gen' => 'júní',
 'july-gen' => 'júlí',
@@ -339,6 +339,18 @@ $messages = array(
 'oct' => 'okt',
 'nov' => 'nóv',
 'dec' => 'des',
+'january-date' => '$1. janúar',
+'february-date' => '$1. febrúar',
+'march-date' => '$1. mars',
+'april-date' => '$1. apríl',
+'may-date' => '$1. maí',
+'june-date' => '$1. júní',
+'july-date' => '$1. júlí',
+'august-date' => '$1. ágúst',
+'september-date' => '$1. september',
+'october-date' => '$1. október',
+'november-date' => '$1. nóvember',
+'december-date' => '$1. desember',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Flokkur|Flokkar}}',
@@ -647,9 +659,18 @@ Athugaðu að sumar síður kunna að birtast líkt og þú sért ennþá skrá
 'welcomecreation-msg' => 'Aðgangurinn þinn hefur verið búinn til.
 Ekki gleyma að breyta [[Special:Preferences|{{SITENAME}} stillingunum]] þínum.',
 'yourname' => 'Notandanafn:',
+'userlogin-yourname' => 'Notandanafn',
+'userlogin-yourname-ph' => 'Skrifaðu inn notendanafnið þitt',
 'yourpassword' => 'Lykilorð:',
+'userlogin-yourpassword' => 'Lykilorð',
+'userlogin-yourpassword-ph' => 'Skrifaðu niður lykilorðið þitt',
+'createacct-yourpassword-ph' => 'Skrifaðu niður lykilorð',
 'yourpasswordagain' => 'Endurrita lykilorð:',
+'createacct-yourpasswordagain' => 'Staðfestu lykilorðið',
+'createacct-yourpasswordagain-ph' => 'Sláðu inn lykilorðið aftur',
 'remembermypassword' => 'Muna innskráninguna mína í þessum vafra (í allt að $1 {{PLURAL:$1|dag|daga}})',
+'userlogin-remembermypassword' => 'Muna innskráningu mína',
+'userlogin-signwithsecure' => 'Nota örugga tengingu',
 'securelogin-stick-https' => 'Halda öllum samskiptum áfram yfir HTTPS eftir að þú skráir þig inn',
 'yourdomainname' => 'Þitt lén:',
 'password-change-forbidden' => 'Þú getur ekki breytt lykilorðum á þessum wiki.',
@@ -662,18 +683,36 @@ Ekki gleyma að breyta [[Special:Preferences|{{SITENAME}} stillingunum]] þínum
 'logout' => 'Útskráning',
 'userlogout' => 'Útskrá',
 'notloggedin' => 'Ekki innskráð(ur)',
+'userlogin-noaccount' => 'Áttu ekki aðgang?',
 'nologin' => "Ekki með aðgang? '''$1'''.",
 'nologinlink' => 'Stofnaðu aðgang',
 'createaccount' => 'Nýskrá',
 'gotaccount' => "Nú þegar með notandanafn? '''$1'''.",
 'gotaccountlink' => 'Skráðu þig inn',
 'userlogin-resetlink' => 'Gleymdir þú notendaupplýsingunum þínum?',
+'userlogin-resetpassword-link' => 'Endursetja lykilorð',
+'helplogin-url' => 'Help:Innskráning',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hjálp við innskráningu]]',
+'createacct-join' => 'Sláðu inn þínar upplýsingar fyrir neðan.',
+'createacct-emailrequired' => 'Netfang',
+'createacct-emailoptional' => 'Netfang (valfrjálst)',
+'createacct-email-ph' => 'Skrifaðu niður netfangið þitt',
 'createaccountmail' => 'Nota handahófsvalið bráðabirgðalykilorð og senda það á netfangið sem er tilgreint hér fyrir neðan',
+'createacct-realname' => 'Raunverulegt nafn (valfrjálst)',
 'createaccountreason' => 'Ástæða:',
+'createacct-reason' => 'Ástæða',
+'createacct-reason-ph' => 'Afhverju ertu að búa til annan aðgang',
+'createacct-captcha' => 'Öryggis athugun',
+'createacct-imgcaptcha-ph' => 'Sláðu inn textann að ofan',
+'createacct-submit' => 'Búa til aðganginn',
+'createacct-benefit-heading' => '{{SITENAME}} er skrifuð af fólki eins og þér.',
+'createacct-benefit-body1' => '{{PLURAL:$1|breyting|breytingar}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|síða|síður}}',
 'badretype' => 'Lykilorðin sem þú skrifaðir eru ekki eins.',
 'userexists' => 'Þetta notandanafn er þegar í notkun.
 Vinsamlegast veldu þér annað.',
 'loginerror' => 'Innskráningarvilla',
+'createacct-error' => 'Stofnun aðgangs mistókst',
 'createaccounterror' => 'Gat ekki búið til notanda: $1',
 'nocookiesnew' => 'Innskráningin var búin til, en þú ert ekki skráð(ur) inn.
 {{SITENAME}} notar vefkökur til að skrá inn notendur.
@@ -765,10 +804,8 @@ Til að klára að skrá þig inn, verður þú að endurstilla lykilorðið hé
 
 # Special:PasswordReset
 'passwordreset' => 'Endurstilla lykilorð',
-'passwordreset-text' => 'Fylltu út þennan reit til að endursetja lykilorðið þitt.',
 'passwordreset-legend' => 'Endurstilla lykilorð',
 'passwordreset-disabled' => 'Lokað hefur verið fyrir að endurstilla lykilorð á þessum wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Sláðu inn einn hluta gagnanna hér fyrir neðan}}',
 'passwordreset-username' => 'Notandanafn:',
 'passwordreset-domain' => 'Lén:',
 'passwordreset-capture' => 'Sjá áminninguna sem var send í tölvupósti?',
@@ -1003,6 +1040,7 @@ Engin skýring gefin.',
 Svo virðist sem henni hafi verið eytt.',
 'edit-conflict' => 'Breytingaárekstur.',
 'edit-no-change' => 'Breyting þín var hunsuð, því engin breyting var á textanum.',
+'postedit-confirmation' => 'Breytingin þín var vistuð.',
 'edit-already-exists' => 'Gat ekki skapað nýja síðu.
 Hún er nú þegar til.',
 'defaultmessagetext' => 'Sjálfgefinn skilaboða texti',
@@ -2253,8 +2291,8 @@ Frekari breytingar á henni eða spallsíðu hennar munu verða sýndar þar.',
 'notvisiblerev' => 'Síðasta breyting eftir annan notanda hefur verið eytt.',
 'watchnochange' => 'Engri síðu á vaktlistanum þínum hefur verið breytt á tilgreindu tímabili.',
 'watchlist-details' => '{{PLURAL:$1|$1 síða|$1 síður}} á vaktlistanum þínum, fyrir utan spjallsíður.',
-'wlheader-enotif' => 'Tilkynning með tölvupósti er virk.',
-'wlheader-showupdated' => "* Síðum sem hefur verið breytt síðan þú skoðaðir þær síðast eru '''feitletraðar'''",
+'wlheader-enotif' => 'Tilkynning með tölvupósti er virk.',
+'wlheader-showupdated' => "Síðum sem hefur verið breytt síðan þú skoðaðir þær síðast eru '''feitletraðar'''.",
 'watchmethod-recent' => 'kanna hvort nýlegar breytingar innihalda vaktaðar síður',
 'watchmethod-list' => 'leita að breytingum í vöktuðum síðum',
 'watchlistcontains' => 'Vaktlistinn þinn inniheldur {{PLURAL:$1|$1 síðu|$1 síður}}.',
index fae8187..78cd685 100644 (file)
@@ -394,6 +394,18 @@ $messages = array(
 'oct' => 'ott',
 'nov' => 'nov',
 'dec' => 'dic',
+'january-date' => '$1 gennaio',
+'february-date' => '$1 febbraio',
+'march-date' => '$1 marzo',
+'april-date' => '$1 aprile',
+'may-date' => '$1 maggio',
+'june-date' => '$1 giugno',
+'july-date' => '$1 luglio',
+'august-date' => '$1 agosto',
+'september-date' => '$1 settembre',
+'october-date' => '$1 ottobre',
+'november-date' => '$1 novembre',
+'december-date' => '$1 dicembre',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoria|Categorie}}',
@@ -728,7 +740,7 @@ Non dimenticare di personalizzare le [[Special:Preferences|preferenze di {{SITEN
 'userlogin-joinproject' => 'Registrati su {{SITENAME}}',
 'nologin' => 'Non hai ancora un accesso? $1.',
 'nologinlink' => 'Registrati',
-'createaccount' => "Crea un'utenza",
+'createaccount' => 'Registrati',
 'gotaccount' => 'Hai già un accesso? $1.',
 'gotaccountlink' => 'Entra',
 'userlogin-resetlink' => 'Hai dimenticato i tuoi dati di accesso?',
@@ -840,11 +852,10 @@ La password potrebbe essere stata già cambiata, oppure potrebbe essere stata ri
 
 # Special:PasswordReset
 'passwordreset' => 'Reimposta password',
-'passwordreset-text' => 'Compila questo modulo per reimpostare la tua password.',
+'passwordreset-text-one' => 'Compila questo modulo per reimpostare la tua password.',
 'passwordreset-legend' => 'Reimposta password',
 'passwordreset-disabled' => 'La reimpostazione delle password è stata disabilitata su questa wiki',
 'passwordreset-emaildisabled' => 'Le funzionalità di posta elettronica sono state disabilitate su questa wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Immetti uno dei dati richiesti qui sotto}}',
 'passwordreset-username' => 'Nome utente:',
 'passwordreset-domain' => 'Dominio:',
 'passwordreset-capture' => 'Visualizzare il contenuto del messaggio e-mail?',
@@ -1071,14 +1082,15 @@ Non è stata restituita alcuna spiegazione.",
 Sembra che sia stata cancellata.',
 'edit-conflict' => 'Conflitto di edizione.',
 'edit-no-change' => 'La modifica è stata ignorata poiché non sono stati apportati cambiamenti al testo.',
+'postedit-confirmation' => 'La modifica è stata salvata.',
 'edit-already-exists' => 'Impossibile creare una nuova pagina.
 Esiste già.',
 'defaultmessagetext' => 'Testo predefinito',
 'content-failed-to-parse' => 'Impossibile analizzare $2 per il modello $1: $3',
 'invalid-content-data' => 'Dati contenuti non validi',
 'content-not-allowed-here' => 'Contenuto in "$1" non consentito nella pagine [[$2]]',
-'editwarning-warning' => 'Lasciare questa pagina potrebbe costarti la perdita di tutti i cambiamenti effettuati.
-Se sei loggato, puoi disattivare questo avviso nella sezione "{{int:prefs-editing}}" delle tue preferenze.',
+'editwarning-warning' => 'Lasciare questa pagina potrebbe causare la perdita di tutte le modifiche fatte.
+Se hai effettuato l\'accesso, puoi disattivare questo avviso nella sezione "Casella di modifica" delle tue preferenze.',
 
 # Content models
 'content-model-wikitext' => 'wikitesto',
@@ -2306,8 +2318,8 @@ D\'ora in poi, le modifiche apportate alla pagina e alla sua discussione verrann
 'notvisiblerev' => 'La revisione è stata cancellata',
 'watchnochange' => 'Nessuna delle pagine osservate è stata modificata nel periodo selezionato.',
 'watchlist-details' => 'La lista degli osservati speciali contiene {{PLURAL:$1|una pagina (e la rispettiva pagina di discussione)|$1 pagine (e le rispettive pagine di discussione)}}.',
-'wlheader-enotif' => '* La notifica via e-mail è attiva.',
-'wlheader-showupdated' => "Le pagine che sono state modificate dopo l'ultima visita sono evidenziate in '''grassetto'''.",
+'wlheader-enotif' => 'La notifica via email è attiva.',
+'wlheader-showupdated' => "Le pagine che sono state modificate dopo l'ultima visita sono evidenziate in '''grassetto'''.",
 'watchmethod-recent' => 'controllo delle modifiche recenti per gli osservati speciali',
 'watchmethod-list' => 'controllo degli osservati speciali per modifiche recenti',
 'watchlistcontains' => 'La lista degli osservati speciali contiene {{PLURAL:$1|una pagina|$1 pagine}}.',
@@ -2859,6 +2871,8 @@ Visitare [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] e [//tra
 'thumbnail-more' => 'Ingrandisci',
 'filemissing' => 'File mancante',
 'thumbnail_error' => 'Errore nella creazione della miniatura: $1',
+'thumbnail_error_remote' => 'Messaggio di errore da $1:
+$2',
 'djvu_page_error' => 'Numero di pagina DjVu errato',
 'djvu_no_xml' => "Impossibile ottenere l'XML per il file DjVu",
 'thumbnail-temp-create' => 'Impossibile creare il file temporaneo delle miniature',
@@ -3011,7 +3025,6 @@ Tutte le operazioni di importazione trans-wiki sono registrate nel [[Special:Log
 'modern.css' => '/* Gli stili CSS inseriti qui si applicano agli utenti che usano la skin Modern */',
 'vector.css' => '/* Gli stili CSS inseriti qui si applicano agli utenti che usano la skin Vector */',
 'print.css' => "/* Gli stili CSS inseriti qui si applicano all'output in stampa */",
-'handheld.css' => '/* Gli stili CSS inseriti qui si applicano ai dispositivi portatili basati sulla skin configurata in $wgHandheldStyle */',
 'noscript.css' => '/ * Gli stili CSS inseriti qui si applicano agli utenti che hanno JavaScript disabilitato * /',
 'group-autoconfirmed.css' => '/ * Gli stili CSS inseriti qui si applicheranno solo ad utenti autoconvalidati * /',
 'group-bot.css' => '/ * Gli stili CSS inseriti qui si applicheranno solo ai bot * /',
index 691ee96..c0dd43b 100644 (file)
@@ -475,6 +475,18 @@ $messages = array(
 'oct' => '10月',
 'nov' => '11月',
 'dec' => '12月',
+'january-date' => '1月$1日',
+'february-date' => '2月$1日',
+'march-date' => '3月$1日',
+'april-date' => '4月$1日',
+'may-date' => '5月$1日',
+'june-date' => '6月$1日',
+'july-date' => '7月$1日',
+'august-date' => '8月$1日',
+'september-date' => '9月$1日',
+'october-date' => '10月$1日',
+'november-date' => '11月$1日',
+'december-date' => '12月$1日',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|カテゴリ}}',
@@ -798,7 +810,7 @@ $2',
 'createacct-yourpasswordagain-ph' => 'パスワードを再入力',
 'remembermypassword' => 'このブラウザーにログイン情報を保存 (最長 $1 {{PLURAL:$1|日|日間}})',
 'userlogin-remembermypassword' => 'ログイン状態を保持',
-'userlogin-signwithsecure' => 'セキュリティで保護された接続を使用',
+'userlogin-signwithsecure' => 'SSL (https) 接続を使用',
 'securelogin-stick-https' => 'ログイン後にHTTPS接続を維持',
 'yourdomainname' => 'ドメイン:',
 'password-change-forbidden' => 'このウィキではパスワードを変更できません。',
@@ -837,7 +849,7 @@ $2',
 'createacct-benefit-heading' => '{{SITENAME}}は、あなたのような人々が創っています。',
 'createacct-benefit-body1' => '{{PLURAL:$1|編集}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|ページ}}',
-'createacct-benefit-body3' => '{{PLURAL:$1|最近の貢献者}}',
+'createacct-benefit-body3' => '最近の{{PLURAL:$1|貢献者}}',
 'badretype' => '入力したパスワードが一致しません。',
 'userexists' => '入力された利用者名は既に使用されています。
 他の名前を選んでください。',
@@ -944,11 +956,11 @@ Cookieを有効にしていることを確認して、このページを再読
 
 # Special:PasswordReset
 'passwordreset' => 'パスワードの再設定',
-'passwordreset-text' => 'このフォームに記入すると、パスワードを再設定できます。',
+'passwordreset-text-one' => 'パスワードを再設定するにはこのフォームに記入してください。',
+'passwordreset-text-many' => '{{PLURAL:$1|パスワードを再設定するにはいずれかの情報を入力してください。}}',
 'passwordreset-legend' => 'パスワードの再設定',
 'passwordreset-disabled' => 'パスワードの再設定は、このウィキでは無効になっています。',
 'passwordreset-emaildisabled' => 'メール機能は、このウィキでは無効化されています。',
-'passwordreset-pretext' => '{{PLURAL:$1||下記のデータのいずれか 1 つを入力してください}}',
 'passwordreset-username' => '利用者名:',
 'passwordreset-domain' => 'ドメイン:',
 'passwordreset-capture' => 'お送りするメールの内容を表示しますか?',
@@ -1203,6 +1215,7 @@ $1または他の[[{{MediaWiki:Grouppage-sysop}}|管理者]]にこのブロッ
 既に削除されているようです。',
 'edit-conflict' => '編集が競合。',
 'edit-no-change' => '文章が変更されていないため、編集は無視されました。',
+'postedit-confirmation' => '編集を保存しました。',
 'edit-already-exists' => '新しいページを作成できませんでした。
 そのページは既に存在します。',
 'defaultmessagetext' => '既定のメッセージ文',
@@ -2496,8 +2509,8 @@ contenttype/subtypeの形式で入力してください (例: <code>image/jpeg</
 'notvisiblerev' => '別の利用者による最終版は削除されました',
 'watchnochange' => 'ウォッチリストに登録しているページで、指定期間内に編集されたものはありません。',
 'watchlist-details' => 'ウォッチリストには {{PLURAL:$1|$1 ページ}}が登録されています (トークページを除く)。',
-'wlheader-enotif' => '* メール通知が有効になっています',
-'wlheader-showupdated' => "* 最終訪問以降に変更されたページは、'''太字'''で表示されます",
+'wlheader-enotif' => 'メール通知が有効になっています。',
+'wlheader-showupdated' => "最終訪問以降に変更されたページは、'''太字'''で表示されます。",
 'watchmethod-recent' => '最近の更新内のウォッチされているページを確認中',
 'watchmethod-list' => 'ウォッチされているページ内の最近の更新を確認中',
 'watchlistcontains' => 'ウォッチリストには {{PLURAL:$1|$1 ページ}}が登録されています。',
@@ -3088,6 +3101,8 @@ MediaWiki 全般のローカライズ (地域化) に貢献したい場合は、
 'thumbnail-more' => '拡大',
 'filemissing' => 'ファイルがありません',
 'thumbnail_error' => 'サムネイルの作成エラー: $1',
+'thumbnail_error_remote' => '$1が返したエラーメッセージ:
+$2',
 'djvu_page_error' => 'DjVuページが範囲外です',
 'djvu_no_xml' => 'DjVuファイルのXMLデータを取得できません',
 'thumbnail-temp-create' => '一時的なサムネイルファイルを作成できません',
@@ -3246,7 +3261,6 @@ MediaWiki 全般のローカライズ (地域化) に貢献したい場合は、
 'modern.css' => '/* ここに記述したCSSはモダン外装の利用者に影響します */',
 'vector.css' => '/* ここに記述したCSSはベクター外装の利用者に影響します */',
 'print.css' => '/* ここに記述したCSSは印刷出力に影響します */',
-'handheld.css' => '/* ここに記述したCSSは$wgHandheldStyleで設定された外装に基づく携帯機器に影響します */',
 'noscript.css' => '/* ここに記述したCSSはJavaScriptを無効にしている利用者に影響します */',
 'group-autoconfirmed.css' => '/* ここに記述したCSSは自動承認された利用者のみに影響します */',
 'group-bot.css' => '/* ここに記述したCSSはボットのみに影響します */',
index 4279d5f..3f4e01f 100644 (file)
@@ -42,8 +42,6 @@ $messages = array(
 'tog-enotifrevealaddr' => "Ves miin e-mail-adresse i mails ve besked ændrenger'm",
 'tog-shownumberswatching' => 'Ves åntal brugere, der åvervåger',
 'tog-fancysig' => 'Signaturer uden åtåmatisk henvesnenge',
-'tog-externaleditor' => 'Brug ekstern redigærengsmåskiin åtåmatisk',
-'tog-externaldiff' => 'Brug ekstern førskelsvesnenge åtåmatisk',
 'tog-showjumplinks' => 'Ves tilgængelegheds-henvesnenger',
 'tog-uselivepreview' => 'Brug åtåmatisk førhåndsvesnenge (JavaScript) (eksperimentel)',
 'tog-forceeditsummary' => 'Advar, hves sammenfatnenge mangler ve gemnenge',
@@ -609,7 +607,7 @@ hersenenge, (førge) = førskel til den førge hersenenge, l = lile til mendre 
 'linksearch-line' => '$2 linker til $1',
 'linksearch-error' => "Wildkårter må ken benyttes i'n stårt åf håstnavnet.",
 
-# E-mail user
+# Email user
 'emailuser' => 'E-mail til denne bruger',
 
 # Watchlist
index 47bcc97..1c19744 100644 (file)
@@ -1932,6 +1932,15 @@ Perlu sedikitnya satu domain tingkat atas, misalnya "*.org".<br />
 'listusers-noresult' => 'Panganggo ora ditemokaké.',
 'listusers-blocked' => '(diblokir)',
 
+# Special:ActiveUsers
+'activeusers' => 'Dhaptar panganggo aktif',
+'activeusers-intro' => 'Iki daptar panganggo sing katon lakuné ing $1 {{PLURAL:$1|dina|dina}} kapungkur.',
+'activeusers-count' => '$1 {{PLURAL:$1|suntingan|suntingan}} ing {{PLURAL:$3|dina|$3 dina}} pungkasan',
+'activeusers-from' => 'Tampilna panganggo wiwit saka:',
+'activeusers-hidebots' => 'Delikna bot',
+'activeusers-hidesysops' => 'Delikna pangurus',
+'activeusers-noresult' => 'Panganggo ora ditemokaké.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Hak-hak grup panganggo',
 'listgrouprights-summary' => 'Ing ngisor iki kapacak dhaftar grup panganggo sing didéfinisi ing wiki iki, kanthi hak-hak aksès gandhèngané.
@@ -2009,8 +2018,8 @@ Owah-owahan sing dumadi ing tembé ing kaca iku lan kaca dhiskusi sing kagandhè
 'notvisiblerev' => 'Révisi wis dibusak',
 'watchnochange' => 'Ora ana kaca ing daftar pangawasan panjenengan sing diowahi ing mangsa wektu sing dipilih.',
 'watchlist-details' => 'Ngawasaké {{PLURAL:$1|$1 kaca|$1 kaca}}, ora kalebu kaca-kaca dhiskusi.',
-'wlheader-enotif' => 'Notifikasi e-mail diaktifaké.',
-'wlheader-showupdated' => "Kaca-kaca sing wis owah wiwit ditiliki panjenengan kaping pungkasan, dituduhaké mawa '''aksara kandel'''",
+'wlheader-enotif' => 'Notifikasi e-mail diaktifaké.',
+'wlheader-showupdated' => "Kaca-kaca sing wis owah wiwit ditiliki panjenengan kaping pungkasan, dituduhaké mawa '''aksara kandel'''",
 'watchmethod-recent' => 'priksa daftar owah-owahan anyar kanggo kaca sing diawasi',
 'watchmethod-list' => 'priksa kaca sing diawasi kanggo owah-owahan anyar',
 'watchlistcontains' => 'Daftar pangawasan panjenengan isiné ana $1 {{PLURAL:$1|kaca|kaca}}.',
@@ -2898,7 +2907,7 @@ Pranala-pranala sabanjuré ing baris sing padha dianggep minangka ''pengecualian
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Jembar',
 'exif-imagelength' => 'Dhuwur',
 'exif-bitspersample' => 'Bit per komponèn',
@@ -3076,7 +3085,7 @@ Pranala-pranala sabanjuré ing baris sing padha dianggep minangka ''pengecualian
 'exif-originalimageheight' => 'Dhuwuré gambar sakdurungé dikethok',
 'exif-originalimagewidth' => 'Jembaré gambar sakdurungé dikethok',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ora dikomprèsi',
 'exif-compression-2' => 'CCITT Group 3 1-Dimensional Modified Huffman RLE',
 'exif-compression-3' => 'CCITT Group 3 fax encoding',
@@ -3476,13 +3485,6 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 'version-entrypoints-header-entrypoint' => 'Tithik lebon',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Lokasi berkas',
-'filepath-page' => 'Berkas:',
-'filepath-submit' => 'Golèk',
-'filepath-summary' => 'Kaca astaméwa utawa kusus iki nuduhaké jalur pepak sawijining berkas.
-Gambar dituduhaké mawa résolusi kebak lan tipe liyané berkas bakal dibuka langsung mawa program kagandhèng.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Golèk berkas duplikat',
 'fileduplicatesearch-summary' => 'Golèk duplikat berkas adhedhasar biji hash-é.',
index ea8dd4d..9278429 100644 (file)
@@ -16,6 +16,7 @@
  * @author ITshnik
  * @author Kaganer
  * @author Malafaya
+ * @author Nemo bis
  * @author Nodar Kherkheulidze
  * @author Reedy
  * @author Sopho
@@ -275,6 +276,18 @@ $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' => '$1 სექტემბერი',
+'october-date' => '$1 ოქტომბერი',
+'november-date' => '$1 ნოემბერი',
+'december-date' => '$1 დეკემბერი',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|კატეგორია|კატეგორიები}}',
@@ -591,9 +604,18 @@ $2',
 'welcomecreation-msg' => 'თქვენი ანგარიში შექმნილია.
 არ დაგავიწყდეთ თქვენი [[Special:Preferences|{{SITENAME}}-ის კონფიგურაციის]] შეცვლა.',
 'yourname' => 'მომხმარებელი:',
+'userlogin-yourname' => 'მომხმარებლის სახელი',
+'userlogin-yourname-ph' => 'შეიყვანეთ თქვენი მომხმარებლის სახელი',
 'yourpassword' => 'პაროლი:',
+'userlogin-yourpassword' => 'პაროლი',
+'userlogin-yourpassword-ph' => 'შეიყვანეთ თქვენი პაროლი',
+'createacct-yourpassword-ph' => 'შეიყვანეთ პაროლი',
 'yourpasswordagain' => 'ხელმეორედ შეიყვანეთ პაროლი',
+'createacct-yourpasswordagain' => 'დაადასტურეთ პაროლი',
+'createacct-yourpasswordagain-ph' => 'ხელმეორედ შეიყვანეთ პაროლი',
 'remembermypassword' => 'დამიმახსოვრე ამ კომპიუტერზე (მაქსიმუმ $1 {{PLURAL:$1|დღე}})',
+'userlogin-remembermypassword' => 'დამიმახსოვრე',
+'userlogin-signwithsecure' => 'უსაფრთხო კავშირის გამოყენება',
 'securelogin-stick-https' => 'გააგრძელეთ კავშირი HTTPS-თან შესვლის შემდეგ',
 'yourdomainname' => 'თქვენი დომენი',
 'password-change-forbidden' => 'თქვენ არ შეგიძლიათ ამ ვიკიში პაროლის შეცვლა.',
@@ -606,14 +628,21 @@ $2',
 'logout' => 'გასვლა',
 'userlogout' => 'გასვლა',
 'notloggedin' => 'შესული არ ხართ',
+'userlogin-noaccount' => 'არ გაქვთ ანგარიში?',
+'userlogin-joinproject' => 'შეუერთდით პროექტს {{SITENAME}}',
 'nologin' => "ჯერ არ ხართ რეგისტრირებული? '''$1'''.",
 'nologinlink' => 'გახსენით ანგარიში',
 'createaccount' => 'გახსენი ანგარიში',
 'gotaccount' => "უკვე რეგისტრირებული ხართ? '''$1'''",
 'gotaccountlink' => 'შესვლა',
 'userlogin-resetlink' => 'ავტორიზაციის მონაცემები დაგავიწყდათ?',
+'userlogin-resetpassword-link' => 'პაროლის მოცილება',
 'createaccountmail' => 'გამოიყენეთ შემთხვევითობის მეთოდით შერჩეული დროებითი პაროლი და მისი გაგზავნა ქვემოთ მითითებულ ელ. ფოსტის მისამართზე:',
 'createaccountreason' => 'მიზეზი:',
+'createacct-submit' => 'შექმენით თქვენი ანგარიში',
+'createacct-benefit-heading' => '{{SITENAME}} შექმნილია თქვენნაირი ადამიანების მიერ.',
+'createacct-benefit-body1' => '{{PLURAL:$1|რედაქტირება|რედაქტირება}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|გვერდი|გვერდი}}',
 'badretype' => 'თქვენს მიერ შეყვანილი პაროლები ერთმანეთს არ ემთხვევა.',
 'userexists' => 'ეს სახელი უკვე გამოყენებულია.
 გთხოვთ, აირჩიეთ სხვა.',
@@ -709,10 +738,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'პაროლის აღდგენა',
-'passwordreset-text' => 'შეავსეთ ეს ფორმა, რათა კვლავ დააყენოთ თქვენი პაროლი.',
 'passwordreset-legend' => 'პაროლის აღდგენა',
 'passwordreset-disabled' => 'ამ ვიკიში პაროლის კვლავ დაყენების ფუნქცია გამორთულია.',
-'passwordreset-pretext' => '{{PLURAL:$1||შეიყვანეთ ქვემოთ მოცემულ მონაცემთა ერთ-ერთი ნაწილი.}}',
 'passwordreset-username' => 'მომხმარებლის სახელი:',
 'passwordreset-domain' => 'დომენი:',
 'passwordreset-capture' => 'გამოსული ელ-ფოსტის ხილვა?',
@@ -958,6 +985,7 @@ $2
 შესაძლოა, იგი წაიშალა.',
 'edit-conflict' => 'რედაქციების კონფლიქტი.',
 'edit-no-change' => 'თქვენი შესწორება არ იქნა შენახული, რადგანაც ტექსტის ცვლილება არ მოხდა.',
+'postedit-confirmation' => 'თქვენი რედაქტირება შენახულია.',
 'edit-already-exists' => 'ახალი გვერდის შექმნა არ მოხერხდა.
 ის უკვე არსებობს.',
 'defaultmessagetext' => 'შეტყობინების სტანდარტული ტექსტი',
@@ -2122,6 +2150,15 @@ $1',
 'listusers-noresult' => 'მომხმარებელი ვერ ვიპოვეთ.',
 'listusers-blocked' => '(დაბლოკილია)',
 
+# Special:ActiveUsers
+'activeusers' => 'აქტიურ მომხმარებელთა სია',
+'activeusers-intro' => 'ეს არის მომხმარებელთა სია, რომელთაც აქვს წვლილი უკანასკნელი $1 {{PLURAL:$1|დღის|დღის}} განმავლობაში.',
+'activeusers-count' => '$1 {{PLURAL:$1|მოქმედება|მოქმედება}} {{PLURAL:$3|დღის|$3 დღის}} განმავლობაში.',
+'activeusers-from' => 'მომხმარებელთა ჩვენება, დაწყებული:',
+'activeusers-hidebots' => 'რობოტების დამალვა',
+'activeusers-hidesysops' => 'ადმინისტრატორების დამალვა',
+'activeusers-noresult' => 'მომხმარებლები არ არიან ნაპოვნი.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'მომხმარებელთა ჯგუფების უფლებები',
 'listgrouprights-summary' => 'ქვემოთ წარმოდგენილია ამ ვიკიში გარკვეულ ჯგუფთა სია და მათი უფლებები.
@@ -2203,8 +2240,8 @@ $1',
 'notvisiblerev' => 'შესწორება წაშლილია',
 'watchnochange' => 'არც ერთი თქვენი კონტროლის ქვეშ მყოფი ერთეული არ იქნა რედაქტირებული ნაჩვენებ დროში.',
 'watchlist-details' => '$1 გვერდია თქვენი კონტროლის სიაში განხილვის გვერდების ჩაუთვლელად.',
-'wlheader-enotif' => 'ელ. ფოსტით შეტყობინება ჩართულია.',
-'wlheader-showupdated' => 'გვერდები, რომლებშიც შეტანილ იქნა ცვლილებები თქვენი ბოლო ვიზიტის შემდეგ, აღნიშნულია მუქად.',
+'wlheader-enotif' => 'ელ. ფოსტით შეტყობინება ჩართულია.',
+'wlheader-showupdated' => 'გვერდები, რომლებშიც შეტანილ იქნა ცვლილებები თქვენი ბოლო ვიზიტის შემდეგ, აღნიშნულია მუქად.',
 'watchmethod-recent' => 'მიმდინარეობს უახლესი შესწორებების შემოწმება კონტროლის ქვეშ მყოფი გვერდების მიხედვით.',
 'watchmethod-list' => 'მიმდინარეობს თქვენი კონტროლის ქვეშ მყოფი გვერდების შემოწმება უახლესი შესწორებების მიხედვით.',
 'watchlistcontains' => 'თქვენი კონტროლის სია შეიცავს $1 გვერდს.',
@@ -3095,11 +3132,25 @@ $1',
 'minutes' => '$1 წუთის',
 'hours' => '$1 საათის',
 'days' => '$1 დღის',
+'weeks' => '{{PLURAL:$1|$1 კვირა|$1 კვირა}}',
 'months' => '{{PLURAL:$1|$1 თვე|$1 თვე}}',
 'years' => '{{PLURAL:$1|$1 წელი|$1 წელი}}',
 'ago' => '$1 წინ',
 'just-now' => 'ახლახანს',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|საათის|საათის}} წინ',
+'minutes-ago' => '$1 {{PLURAL:$1|წუთის|წუთის}} წინ',
+'seconds-ago' => '$1 {{PLURAL:$1|წამის|წამის}} წინ',
+'monday-at' => 'ორშაბათს $1-ზე',
+'tuesday-at' => 'სამშაბათს $1-ზე',
+'wednesday-at' => 'ოთხშაბათს $1-ზე',
+'thursday-at' => 'ხუთშაბათს $1-ზე',
+'friday-at' => 'პარასკევს $1-ზე',
+'saturday-at' => 'შაბათს $1-ზე',
+'sunday-at' => 'კვირას $1-ზე',
+'yesterday-at' => 'გუშინ $1-ზე',
+
 # Bad image list
 'bad_image_list' => 'ფორმატი შემდეგია:
 
@@ -3130,7 +3181,7 @@ $1',
 'metadata-langitem' => "'''$2:''' $1",
 'metadata-langitem-default' => '$1',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'სიგანე',
 'exif-imagelength' => 'სიმაღლე',
 'exif-bitspersample' => 'ფერის კომპონენტთა სიღრმე',
@@ -3323,7 +3374,7 @@ $4, $5, $6 $7
 $8',
 'exif-subjectnewscode-value' => '$2 ($1)',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'შეუკუმშავი',
 'exif-compression-2' => 'CCITT Group 3, ჰაფმანის სერიის სიგრძის კოდირების 1-განზომილებიანი მოდიფიკაცია',
 'exif-compression-3' => 'CCITT Group 3 ფაქსის კოდირება',
@@ -3798,6 +3849,11 @@ MediaWiki ვრცელდება იმ იმედით, რომ ი
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath გზა სტატიისაკენ]',
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath გზა სკრიპტისაკენ]',
 
+# Special:Redirect
+'redirect-submit' => 'მიდი',
+'redirect-user' => 'მომხმარებლის იდენტიფიკატორი',
+'redirect-file' => 'ფაილის სახელი',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'ერთნაირი ფაილების ძიება',
 'fileduplicatesearch-summary' => 'ერთნაირი ფაილების ძიება ჰეშ-კოდის მიხედვით.',
@@ -3884,6 +3940,9 @@ MediaWiki ვრცელდება იმ იმედით, რომ ი
 'htmlform-submit' => 'შენახვა',
 'htmlform-reset' => 'ცვლილებების გაუქმება',
 'htmlform-selectorother-other' => 'სხვა',
+'htmlform-no' => 'არა',
+'htmlform-yes' => 'დიახ',
+'htmlform-chosen-placeholder' => 'აირჩიეთ პარამეტრი',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 სრული ტექსტის ძიების მხარდაჭერით',
index 37e4005..0555201 100644 (file)
@@ -180,8 +180,6 @@ $messages = array(
 'tog-enotifrevealaddr' => "Eskertiw xatlarında e-mail adresimdi ko'rset",
 'tog-shownumberswatching' => "Baqlag'an paydalanıwshılar sanın ko'rset",
 'tog-fancysig' => 'İmzalardı wikitext dep qabıl etiw (avtomat siltewsiz)',
-'tog-externaleditor' => "Defolt boyınsha sırtqı o'zgertiwshini qollan (tek g'ana ta'jiriybeli paydalanıwshılar ushın, kompyuterin'izde qosımsha sazlawlar qılınıwı kerek. [//www.mediawiki.org/wiki/Manual:External_editors More information.])",
-'tog-externaldiff' => "Defoltta sırtqı parqtı qollan (tek ekspert paydalanıwshılar ushın, kompyuterin'izde arnawlı sazlawlardı talap etedi. [//www.mediawiki.org/wiki/Manual:External_editors More information.])",
 'tog-showjumplinks' => "«O'tip ketiw» siltewlerin qos",
 'tog-uselivepreview' => "Janlı ko'rip shıg'ıwdı qollan (JavaScript) (Sınawda)",
 'tog-forceeditsummary' => "O'zgertiw juwmag'ı bos qalg'anda mag'an eskert",
@@ -863,14 +861,6 @@ Barlıq mag'lıwmat tu'rin (sonın' ishinde sa'wbet betlerdi, shablonlardı h.t.
 'powersearch-field' => "İzlenetug'ın so'z (yamasa so'z dizbegi):",
 'search-external' => 'Sırtqı izlewshi',
 
-# Quickbar
-'qbsettings' => 'Navigatsiya paneli',
-'qbsettings-none' => 'Hesh qanday',
-'qbsettings-fixedleft' => 'Shepke bekitilgen',
-'qbsettings-fixedright' => "On'g'a bekitilgen",
-'qbsettings-floatingleft' => 'Shepte jıljıwshı',
-'qbsettings-floatingright' => "On'da jıljıwshı",
-
 # Preferences page
 'preferences' => 'Sazlawlar',
 'mypreferences' => "Menin' sazlawlarım",
@@ -1412,7 +1402,7 @@ Eger siz bul betti baqlaw dizimin'izden o'shirmekshi bolsan'ız bettin' joqarg'
 'notanarticle' => "Mag'lıwmat beti emes",
 'notvisiblerev' => "Nusqa o'shirildi",
 'watchlist-details' => "Baqlaw dizimin'izde (sa'wbet betlerin esapqa almag'anda) {{PLURAL:$1|1 bet|$1 bet}} bar.",
-'wlheader-enotif' => "E-mail arqalı eskertiw qosılg'an.",
+'wlheader-enotif' => "E-mail arqalı eskertiw qosılg'an.",
 'watchlistcontains' => "Sizin' baqlaw dizimin'izde {{PLURAL:$1|1 bet|$1 bet}} bar.",
 'wlnote' => "To'mende aqırg'ı {{PLURAL:$2|saattag'ı|'''$2''' saattag'ı}} {{PLURAL:$1|aqırg'ı o'zgeris bar|aqırg'ı '''$1''' o'zgeris bar}}.",
 'wlshowlast' => "Aqırg'ı $1 saat, $2 ku'n, $3 ko'rset",
@@ -1829,7 +1819,7 @@ Eger fayl jaratılg'anınan keyin o'zgertilgen bolsa, geybir parametrleri o'zger
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Yeni:',
 'exif-imagelength' => "Uzunlıg'ı",
 'exif-imagedescription' => "Su'wret ataması",
@@ -1932,9 +1922,6 @@ Bul tastıyıqlaw kodının' pitetug'ın waqtı: $4.",
 # Special:Version
 'version' => "MediaWikidin' nusqası",
 
-# Special:FilePath
-'filepath' => 'Fayl jolı',
-
 # Special:SpecialPages
 'specialpages' => 'Arnawlı betler',
 'specialpages-group-users' => "Paydalanıwshılar ha'm olardın' huqıqları",
index cc32f1c..8ce650e 100644 (file)
@@ -150,16 +150,6 @@ $messages = array(
 'nov' => 'Wam',
 'dec' => 'Duj',
 
-'monday-at' => 'Arim af $1',
-'tuesday-at' => 'Aram af $1',
-'wednesday-at' => 'Ahad af $1',
-'thursday-at' => 'Amhad af $1',
-'friday-at' => 'Sem af $1',
-'saturday-at' => 'Sed af $1',
-'sunday-at' => 'Acer af $1',
-'today-at' => '$1',
-'yesterday-at' => 'Iḍelli af $1',
-
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Taggayt|Taggayin}}',
 'category_header' => 'Imagraden deg taggayt "$1"',
@@ -1920,6 +1910,15 @@ Ineggafen imazdayen : <code>$1</code> (ur d-renu acemma deg unadi inek/inem)',
 'listusers-noresult' => 'Ur yufi ḥedd (amseqdac).',
 'listusers-blocked' => '(yekyef)',
 
+# Special:ActiveUsers
+'activeusers' => 'Umuɣ n iseqdacen urmiden',
+'activeusers-intro' => 'Wagi d umuɣ n iseqdacen yexedmen armud deg {{PLURAL:$1|ass agi aneggaru|$1 ussan agi ineggura}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|abeddel n ussan agi ineggura|ibeddilen n ussan agi ineggura}} deg {{PLURAL:$3|ass aneggaru|$3 ussan ineggura}}',
+'activeusers-from' => 'Ssken iseqdacen seg :',
+'activeusers-hidebots' => 'Ffer iṛubuten',
+'activeusers-hidesysops' => 'Ffer inedbalen',
+'activeusers-noresult' => 'Ur yufi aseqdac.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Izerfan n igrawen n iseqdacen',
 'listgrouprights-summary' => 'Asebter agi yesɛa yiwen umuɣ n igrawen i sengelen deg wiki agi dɣa izerfan n wadduf i qqenen.
@@ -2001,8 +2000,8 @@ Ma tebɣiḍ ad tekkseḍ asebter seg wumuɣ n uɛessi inek, wekki ɣef \"Fakk a
 'notvisiblerev' => 'Lqem tetwemḥa',
 'watchnochange' => 'Ulaḥedd n yiferdas n wumuɣ n uɛessi inek ma yettubeddel deg tawala i textareḍ.',
 'watchlist-details' => 'ttɛassaɣ {{PLURAL:$1|$1 usebter|$1 n isebtaren}} mebla isebtaren "amyannan".',
-'wlheader-enotif' => 'Yeǧǧa Email n talɣut.',
-'wlheader-showupdated' => "Isebtar ttubeddlen segwasmi tkecmeḍ tikelt taneggarut ttbanen-d s '''uḍris aberbuz'''",
+'wlheader-enotif' => 'Yeǧǧa Email n talɣut.',
+'wlheader-showupdated' => "Isebtar ttubeddlen segwasmi tkecmeḍ tikelt taneggarut ttbanen-d s '''uḍris aberbuz'''",
 'watchmethod-recent' => 'yessenqed ibeddlen imaynuten n isebtar i ttɛasseɣ',
 'watchmethod-list' => 'yessenqed isebtar i ttɛassaɣ i ibeddlen imaynuten',
 'watchlistcontains' => 'Umuɣ n uɛessi inek ɣur-s $1 n {{PLURAL:$1|usebter|isebtar}}.',
@@ -2530,6 +2529,19 @@ Lukan a t-tesseqdceḍ yezmer ad yexsser aselkim inek/inem.",
 'ago' => '$1 aya',
 'just-now' => 'Tura kan',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|asrag|isragen}} aya',
+'minutes-ago' => '$1 {{PLURAL:$1|tamrect|timercin}} aya',
+'seconds-ago' => '$1 {{PLURAL:$1|tasint|tisinin}} aya',
+'monday-at' => 'Arim af $1',
+'tuesday-at' => 'Aram af $1',
+'wednesday-at' => 'Ahad af $1',
+'thursday-at' => 'Amhad af $1',
+'friday-at' => 'Sem af $1',
+'saturday-at' => 'Sed af $1',
+'sunday-at' => 'Acer af $1',
+'yesterday-at' => 'Iḍelli af $1',
+
 # Bad image list
 'bad_image_list' => 'Amasal d-wagi :
 
@@ -2556,7 +2568,7 @@ Izdayen nniḍen ɣef yiwen ajerriḍ llan d tisuraf, am isebtar ɣef anta tugna
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Tehri',
 'exif-imagelength' => 'Taɣwzi',
 'exif-bitspersample' => 'Ibitten s isger',
@@ -2971,11 +2983,6 @@ G leɛnaya-k sentem belli ṣaḥḥ tebɣiḍ ad tɛiwedeḍ axlaq n usebter-ag
 'version-entrypoints-header-entrypoint' => 'Ired n wekcam',
 'version-entrypoints-header-url' => 'Tansa URL',
 
-# Special:FilePath
-'filepath' => 'Abrid n wadduf ufaylu',
-'filepath-page' => 'Afaylu :',
-'filepath-submit' => 'Ruḥ',
-
 # Special:SpecialPages
 'specialpages' => 'isebtar usligen',
 
@@ -3013,8 +3020,4 @@ G leɛnaya-k sentem belli ṣaḥḥ tebɣiḍ ad tɛiwedeḍ axlaq n usebter-ag
 'duration-centuries' => '$1 {{PLURAL:$1|timiḍi|timiḍa}}',
 'duration-millennia' => '$1 {{PLURAL:$1|agimseggwas|agimseggwasen}}',
 
-# Unknown messages
-'hours-ago' => '$1 {{PLURAL:$1|asrag|isragen}} aya',
-'minutes-ago' => '$1 {{PLURAL:$1|tamrect|timercin}} aya',
-'seconds-ago' => '$1 {{PLURAL:$1|tasint|tisinin}} aya',
 );
index 85b046d..e39a75f 100644 (file)
@@ -84,8 +84,6 @@ $messages = array(
 'tog-shownumberswatching' => 'НапэкӀуэцӀыр я тхылъ кӀэлъыплъыгъуэхэм хэзгъэхьахэм я бжыгъэр гъэлъэгъуэн',
 'tog-oldsig' => 'ӀэпэщӀэдз щыӀэм и япэ-еплъ',
 'tog-fancysig' => 'Викитхылъ ӀэпэщӀэдз Ӏыгъын (автоматикэ техьэпӀэншу)',
-'tog-externaleditor' => 'Хэмыт редакторыр къэгъэсэбэпын (компутырым абым теухуа тегъэпсыхьыгъуэ хуэныкъуэ)',
-'tog-externaldiff' => 'Хэмыт программэр къэгъэсэбэпын зэгъэлъытэн шъхьэкӀэ (компутырым абым теухуа тегъэпсыхьыгъуэ хуэныкъуэ)',
 'tog-showjumplinks' => 'ДэӀэпыкъуэгъу техьэпӀэ «техьэн» хэгъэнэн',
 'tog-uselivepreview' => 'Япэ-еплъ щӀэхыр къэгъэсэбэпын (JavaScript хуэныкъуэ) (эксперементалу)',
 'tog-forceeditsummary' => 'КъэӀохун, гъэтэрэзыгъуэм и тепсэлъыхьыпӀэм зыри имытхамэ',
index b8a1b06..38f2da2 100644 (file)
@@ -45,8 +45,6 @@ $messages = array(
 'tog-shownumberswatching' => 'لوڑاک ممبرانن تعدادان پشاؤے',
 'tog-oldsig' => 'موجودہ دستخطو نمائش:',
 'tog-fancysig' => '(سادہ دسخط بلا خودکار ربط)',
-'tog-externaleditor' => 'ہمیشہ بیرونی تدوین کار استعمال کورے (صرفی ماہرینن بچے، ھمو بچے کمپیوٹرا خاص ترتیبات درکار بونیان)',
-'tog-externaldiff' => 'ہمیشہ بیرونی تدوین کار استعمال کورے (صرفی ماہرینن بچے، ھمو بچے کمپیوٹرا خاص ترتیبات درکار بونیان)',
 'tog-showjumplinks' => 'ھیہ ووشکی څروٹھاوے',
 'tog-uselivepreview' => 'براہِ راست نمائش استعمال کورے (JavaScript ضرورت بوی)',
 'tog-forceeditsummary' => 'کیاوتکی آوا ترمیمی خلاصو خالی پیڅھیتام تھے متے لو دیت',
@@ -1117,10 +1115,6 @@ HTML tags لوڑے.',",
 # Core parser functions
 'duplicate-defaultsort' => '\'\'\'خبردار:\'\'\' ڈیفالٹ تاڑٰ(نغڑی) "$2" پروشٹیو ڈیفالٹ تاڑا "$1" لیگی شیر۔',
 
-# Special:FilePath
-'filepath-page' => 'فایل',
-'filepath-submit' => 'Go/بوغے',
-
 # Special:SpecialPages
 'specialpages' => 'اسپیشل صفحہ',
 
index 0ed38f1..5454422 100644 (file)
@@ -1115,6 +1115,9 @@ Cêr [$2 pela arezekerdena dosya de] arezekerdene asnina.',
 'listusers-noresult' => 'Karber nêdiya.',
 'listusers-blocked' => '(kilıt biyo)',
 
+# Special:ActiveUsers
+'activeusers' => 'Lista karberunê fealu',
+
 # Special:ListGroupRights
 'listgrouprights-group' => 'Kome',
 'listgrouprights-rights' => 'Heqi',
@@ -1513,7 +1516,7 @@ Eke dosya de peydêna vuriyais biyo ki, beno ke taê melumati gorê vurnaisê ne
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Verındêni',
 'exif-imagelength' => 'Berzêni',
 
index 8db1e09..c757c53 100644 (file)
@@ -420,8 +420,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'ە-پوشتامنىڭ مەكەنجايىن ەسكەرتۋ حاتتاردا اش',
 'tog-shownumberswatching' => 'باقىلاپ تۇرعان قاتىسۋشىلاردىڭ سانىن كورسەت',
 'tog-fancysig' => 'قام قولتاڭبا (وزدىكتىك سىلتەمەسىز)',
-'tog-externaleditor' => 'شەتتىك وڭدەۋىشتى ادەپكىدەن قولدان (تەك ساراپشىلار ٴۇشىن, كومپيۋتەرىڭىزدە ارناۋلى باپتالىمدار كەرەك)',
-'tog-externaldiff' => 'شەتتىك ايىرماعىشتى ادەپكىدەن قولدان (تەك ساراپشىلار ٴۇشىن, كومپيۋتەرىڭىزدە ارناۋلى باپتالىمدار كەرەك)',
 'tog-showjumplinks' => '«ٴوتىپ كەتۋ» قاتىناۋ سىلتەمەلەرىن قوس',
 'tog-uselivepreview' => 'تۋرا قاراپ شىعۋدى قولدانۋ (JavaScript) (سىناقتاما)',
 'tog-forceeditsummary' => 'وڭدەمەنىڭ قىسقاشا مازمۇنداماسى بوس قالعاندا ماعان ەسكەرت',
@@ -1140,14 +1138,6 @@ $3 كەلتىرىلگەن سەبەبى: ''$2''",
 ازىرشە Google ارقىلى ىزدەۋگە بولادى.
 اڭعارتپا: {{SITENAME}} تورابىنىڭ ماعلۇمات تىزبەلەرى ەسكىرگەن بولۋى مۇمكىن.',
 
-# Quickbar
-'qbsettings' => 'ٴمازىر',
-'qbsettings-none' => 'ەشقانداي',
-'qbsettings-fixedleft' => 'سولعا بەكىتىلگەن',
-'qbsettings-fixedright' => 'وڭعا بەكىتىلگەن',
-'qbsettings-floatingleft' => 'سولعا قالقىعان',
-'qbsettings-floatingright' => 'وڭعا قالقىعان',
-
 # Preferences page
 'preferences' => 'باپتالىمدار',
 'mypreferences' => 'باپتالىمدارىم',
@@ -1732,8 +1722,8 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'notvisiblerev' => 'تۇزەتۋ جويىلدى',
 'watchnochange' => 'كورسەتىلگەن مەرزىمدە ەش باقىلانعان دانا وڭدەلگەن جوق.',
 'watchlist-details' => 'تالقىلاۋ بەتتەرىن ساناماعاندا $1 بەت باقلانىلادى.',
-'wlheader-enotif' => 'ەسكەرتۋ حات جىبەرۋى قوسىلعان.',
-'wlheader-showupdated' => "سوڭعى كەلىپ-كەتۋىڭىزدەن بەرى وزگەرتىلگەن بەتتەردى '''جۋان''' قارىپىمەن كورسەت",
+'wlheader-enotif' => 'ەسكەرتۋ حات جىبەرۋى قوسىلعان.',
+'wlheader-showupdated' => "سوڭعى كەلىپ-كەتۋىڭىزدەن بەرى وزگەرتىلگەن بەتتەردى '''جۋان''' قارىپىمەن كورسەت",
 'watchmethod-recent' => 'باقىلاۋلى بەتتەر ٴۇشىن جۋىقتاعى وزگەرىستەردى تەكسەرۋ',
 'watchmethod-list' => 'جۋىقتاعى وزگەرىستەر ٴۇشىن باقىلاۋلى بەتتەردى تەكسەرۋ',
 'watchlistcontains' => 'باقىلاۋ تىزىمىڭىزدە $1 بەت بار.',
@@ -2272,24 +2262,14 @@ MediaWiki جۇيەسىنىڭ [[{{#special:Import}}|سىرتتان الۋ بەت
 
 # Stylesheets
 'common.css' => '/* مىندا ورنالاستىرىلعان CSS بارلىق مانەرلەردە قولدانىلادى */',
-'standard.css' => '/* مىندا ورنالاستىرىلعان CSS تەك «داعدىلى» (standard) مانەرىن پايدالانۋشىلارىنا ىقپال ەتەدى */',
-'nostalgia.css' => '/* مىندا ورنالاستىرىلعان CSS تەك «اڭساۋ» (nostalgia) مانەرىن پايدالانۋشىلارىنا ىقپال ەتەدى */',
 'cologneblue.css' => '/* مىندا ورنالاستىرىلعان CSS تەك «كولن زەڭگىرلىگى» (cologneblue) مانەرىن پايدالانۋشىلارىنا ىقپال ەتەدى skin */',
 'monobook.css' => '/* مىندا ورنالاستىرىلعان CSS تەك «دارا كىتاپ» (monobook) مانەرىن پايدالانۋشىلارىنا ىقپال ەتەدى */',
-'myskin.css' => '/* مىندا ورنالاستىرىلعان CSS تەك «ٴوز مانەرىم» (myskin) مانەرىن پايدالانۋشىلارىنا ىقپال ەتەدى */',
-'chick.css' => '/* مىندا ورنالاستىرىلعان CSS تەك «بالاپان» (chick) مانەرىن پايدالانۋشىلارىنا ىقپال ەتەدى */',
-'simple.css' => '/* مىندا ورنالاستىرىلعان CSS تەك «كادىمگى» (simple) مانەرىن پايدالانۋشىلارىنا ىقپال ەتەدى */',
 'modern.css' => '/* مىندا ورنالاستىرىلعان CSS تەك «زاماناۋىي» (modern) مانەرىن پايدالانۋشىلارىنا ىقپال ەتەدى */',
 
 # Scripts
 'common.js' => '/* مىنداعى ٴارتۇرلى JavaScript كەز كەلگەن بەت قوتارىلعاندا بارلىق پايدالانۋشىلار ٴۇشىن جەگىلەدى. */',
-'standard.js' => '/* مىنداعى JavaScript تەك «داعدىلى» (standard) مانەرىن پايدالانۋشىلار ٴۇشىن جەگىلەدى */',
-'nostalgia.js' => '/* مىنداعى JavaScript تەك «اڭساۋ» (nostalgia) مانەرىن پايدالانۋشىلار ٴۇشىن جەگىلەدى*/',
 'cologneblue.js' => '/* مىنداعى JavaScript تەك «كولن زەڭگىرلىگى» (cologneblue) مانەرىن پايدالانۋشىلار ٴۇشىن جەگىلەدى */',
 'monobook.js' => '/* مىنداعى JavaScript تەك «دارا كىتاپ» (monobook) مانەرىن پايدالانۋشىلار ٴۇشىن جەگىلەدى */',
-'myskin.js' => '/* مىنداعى JavaScript تەك «ٴوز مانەرىم» (myskin) مانەرىن پايدالانۋشىلار ٴۇشىن جەگىلەدى */',
-'chick.js' => '/* مىنداعى JavaScript تەك «بالاپان» (chick) مانەرىن پايدالانۋشىلار ٴۇشىن جەگىلەدى */',
-'simple.js' => '/* مىنداعى JavaScript تەك «كادىمگى» (simple) مانەرىن پايدالانۋشىلار ٴۇشىن جەگىلەدى */',
 'modern.js' => '/* مىنداعى JavaScript تەك «زاماناۋىي» (modern) مانەرىن پايدالانۋشىلار ٴۇشىن جەگىلەدى */',
 
 # Metadata
@@ -2315,13 +2295,8 @@ MediaWiki جۇيەسىنىڭ [[{{#special:Import}}|سىرتتان الۋ بەت
 'spam_blanking' => '$1 دەگەنگە سىلتەمەلەرى بار بارلىق تۇزەتۋلەر تازارتىلدى',
 
 # Skin names
-'skinname-standard' => 'داعدىلى (standard)',
-'skinname-nostalgia' => 'اڭساۋ (nostalgia)',
 'skinname-cologneblue' => 'كولن زەڭگىرلىگى (cologneblue)',
 'skinname-monobook' => 'دارا كىتاپ (monobook)',
-'skinname-myskin' => 'ٴوز مانەرىم (myskin)',
-'skinname-chick' => 'بالاپان (chick)',
-'skinname-simple' => 'كادىمگى (simple)',
 'skinname-modern' => 'زاماناۋىي (modern)',
 
 # Patrolling
@@ -2410,7 +2385,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'ەنى',
 'exif-imagelength' => 'بىيىكتىگى',
 'exif-bitspersample' => 'قۇراش سايىن بىيت سانى',
@@ -2524,7 +2499,7 @@ $1',
 'exif-gpsdatestamp' => 'GPS كۇن-ايى',
 'exif-gpsdifferential' => 'GPS سارالانعان دۇرىستاۋ',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'ۇلعايتىلعان',
 
 'exif-unknowndate' => 'بەلگىسىز كۇن-ايى',
@@ -2858,13 +2833,6 @@ $5
 'version-software-product' => 'ٴونىم',
 'version-software-version' => 'نۇسقاسى',
 
-# Special:FilePath
-'filepath' => 'فايل ورنالاسۋى',
-'filepath-page' => 'فايل اتى:',
-'filepath-submit' => 'ورنالاسۋىن تاپ',
-'filepath-summary' => 'بۇل ارنايى بەت فايل ورنالاسۋى تولىق جولىن قايتارادى.
-سۋرەتتەر تولىق اجىراتىلىمدىعىمەن كورسەتىلەدى, باسقا فايل تۇرلەرىنە قاتىستى باعدارلاماسى تۋرا جەگىلەدى.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'فايل تەلنۇسقالارىن ىزدەۋ',
 'fileduplicatesearch-summary' => 'فايل حەشى ماعىناسى نەگىزىندە تەلنۇسقالارىن ىزدەۋ.',
index c12d1f8..440e4c5 100644 (file)
@@ -12,6 +12,7 @@
  * @author Daniyar
  * @author GaiJin
  * @author Kaztrans
+ * @author Nemo bis
  * @author Urhixidur
  */
 
@@ -870,10 +871,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Құпия сөзді қайтару',
-'passwordreset-text' => 'Сіздің тіркелгіңіздің баптаулары туралы хабарламаларды алу үшін мына пішінді толтырыңыз.',
 'passwordreset-legend' => 'Құпия сөзді қайтару',
 'passwordreset-disabled' => 'Бұл уикиде құпия сөзді қайтару ажыратылған.',
-'passwordreset-pretext' => '{{PLURAL:$1||Төменде көрсетілгендердің ішіндегі біреуін жазыңыз}}',
 'passwordreset-username' => 'Қатысушы аты:',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Келген хатты қарау керек пе?',
@@ -1960,8 +1959,8 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'notvisiblerev' => 'Түзету жойылды',
 'watchnochange' => 'Көрсетілген мерзімде еш бақыланған дана өңделген жоқ.',
 'watchlist-details' => 'Тізіміңізде $1 бет бар (талқылау беттері саналмайды).',
-'wlheader-enotif' => 'Ескерту хат жіберуі қосылған.',
-'wlheader-showupdated' => "Соңғы келіп-кетуіңізден бері өзгертілген беттерді '''жуан''' қаріпімен көрсет",
+'wlheader-enotif' => 'Ескерту хат жіберуі қосылған.',
+'wlheader-showupdated' => "Соңғы келіп-кетуіңізден бері өзгертілген беттерді '''жуан''' қаріпімен көрсет",
 'watchmethod-recent' => 'бақылаулы беттер үшін жуықтағы өзгерістерді тексеру',
 'watchmethod-list' => 'жуықтағы өзгерістер үшін бақылаулы беттерді тексеру',
 'watchlistcontains' => 'Бақылау тізіміңізде $1 бет бар.',
@@ -2658,7 +2657,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ені',
 'exif-imagelength' => 'Биіктігі',
 'exif-bitspersample' => 'Құраш сайын бит саны',
@@ -2772,7 +2771,7 @@ $1',
 'exif-gpsdatestamp' => 'GPS күн-айы',
 'exif-gpsdifferential' => 'GPS сараланған дұрыстау',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ұлғайтылған',
 
 'exif-unknowndate' => 'Белгісіз күн-айы',
@@ -3106,13 +3105,6 @@ $5
 'version-software-product' => 'Өнім',
 'version-software-version' => 'Нұсқасы',
 
-# Special:FilePath
-'filepath' => 'Файл орналасуы',
-'filepath-page' => 'Файл аты:',
-'filepath-submit' => 'Орналасуын тап',
-'filepath-summary' => 'Бұл арнайы бет файл орналасуы толық жолын қайтарады.
-Суреттер толық ажыратылымдығымен көрсетіледі, басқа файл түрлеріне қатысты бағдарламасы тура жегіледі.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Файл телнұсқаларын іздеу',
 'fileduplicatesearch-summary' => 'Файл хеші мағынасы негізінде телнұсқаларын іздеу.',
index 608ad71..67f1372 100644 (file)
@@ -383,8 +383,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'E-poştamnıñ mekenjaýın eskertw xattarda aş',
 'tog-shownumberswatching' => 'Baqılap turğan qatıswşılardıñ sanın körset',
 'tog-fancysig' => 'Qam qoltañba (özdiktik siltemesiz)',
-'tog-externaleditor' => 'Şettik öñdewişti ädepkiden qoldan (tek sarapşılar üşin, komp′ywteriñizde arnawlı baptalımdar kerek)',
-'tog-externaldiff' => 'Şettik aýırmağıştı ädepkiden qoldan (tek sarapşılar üşin, komp′ywteriñizde arnawlı baptalımdar kerek)',
 'tog-showjumplinks' => '«Ötip ketw» qatınaw siltemelerin qos',
 'tog-uselivepreview' => 'Twra qarap şığwdı qoldanw (JavaScript) (Sınaqtama)',
 'tog-forceeditsummary' => 'Öñdemeniñ qısqaşa mazmundaması bos qalğanda mağan eskert',
@@ -1103,14 +1101,6 @@ Añğartpa: bağıttaw siltemelerin qoldanğanda bul bağan qaýta qoýıladı.'
 Äzirşe Google arqılı izdewge boladı.
 Añğartpa: {{SITENAME}} torabınıñ mağlumat tizbeleri eskirgen bolwı mümkin.',
 
-# Quickbar
-'qbsettings' => 'Mäzir',
-'qbsettings-none' => 'Eşqandaý',
-'qbsettings-fixedleft' => 'Solğa bekitilgen',
-'qbsettings-fixedright' => 'Oñğa bekitilgen',
-'qbsettings-floatingleft' => 'Solğa qalqığan',
-'qbsettings-floatingright' => 'Oñğa qalqığan',
-
 # Preferences page
 'preferences' => 'Baptalımdar',
 'mypreferences' => 'Baptalımdarım',
@@ -1695,8 +1685,8 @@ Bul bettiñ jäne baýlanıstı talqılaw betiniñ keleşektegi özgeristeri mı
 'notvisiblerev' => 'Tüzetw joýıldı',
 'watchnochange' => 'Körsetilgen merzimde eş baqılanğan dana öñdelgen joq.',
 'watchlist-details' => 'Talqılaw betterin sanamağanda $1 bet baqlanıladı.',
-'wlheader-enotif' => 'Eskertw xat jiberwi qosılğan.',
-'wlheader-showupdated' => "Soñğı kelip-ketwiñizden beri özgertilgen betterdi '''jwan''' qaripimen körset",
+'wlheader-enotif' => 'Eskertw xat jiberwi qosılğan.',
+'wlheader-showupdated' => "Soñğı kelip-ketwiñizden beri özgertilgen betterdi '''jwan''' qaripimen körset",
 'watchmethod-recent' => 'baqılawlı better üşin jwıqtağı özgeristerdi tekserw',
 'watchmethod-list' => 'jwıqtağı özgerister üşin baqılawlı betterdi tekserw',
 'watchlistcontains' => 'Baqılaw tizimiñizde $1 bet bar.',
@@ -2236,24 +2226,14 @@ Wïkï-aparw üşin sırttan alw barlıq äreketter [[{{#special:Log}}/import|s
 
 # Stylesheets
 'common.css' => '/* Mında ornalastırılğan CSS barlıq mänerlerde qoldanıladı */',
-'standard.css' => '/* Mında ornalastırılğan CSS tek «Dağdılı» (standard) mänerin paýdalanwşılarına ıqpal etedi */',
-'nostalgia.css' => '/* Mında ornalastırılğan CSS tek «Añsaw» (nostalgia) mänerin paýdalanwşılarına ıqpal etedi */',
 'cologneblue.css' => '/* Mında ornalastırılğan CSS tek «Köln zeñgirligi» (cologneblue) mänerin paýdalanwşılarına ıqpal etedi skin */',
 'monobook.css' => '/* Mında ornalastırılğan CSS tek «Dara kitap» (monobook) mänerin paýdalanwşılarına ıqpal etedi */',
-'myskin.css' => '/* Mında ornalastırılğan CSS tek «Öz mänerim» (myskin) mänerin paýdalanwşılarına ıqpal etedi */',
-'chick.css' => '/* Mında ornalastırılğan CSS tek «Balapan» (chick) mänerin paýdalanwşılarına ıqpal etedi */',
-'simple.css' => '/* Mında ornalastırılğan CSS tek «Kädimgi» (simple) mänerin paýdalanwşılarına ıqpal etedi */',
 'modern.css' => '/* Mında ornalastırılğan CSS tek «Zamanawï» (modern) mänerin paýdalanwşılarına ıqpal etedi */',
 
 # Scripts
 'common.js' => '/* Mındağı ärtürli JavaScript kez kelgen bet qotarılğanda barlıq paýdalanwşılar üşin jegiledi. */',
-'standard.js' => '/* Mındağı JavaScript tek «Dağdılı» (standard) mänerin paýdalanwşılar üşin jegiledi */',
-'nostalgia.js' => '/* Mındağı JavaScript tek «Añsaw» (nostalgia) mänerin paýdalanwşılar üşin jegiledi*/',
 'cologneblue.js' => '/* Mındağı JavaScript tek «Köln zeñgirligi» (cologneblue) mänerin paýdalanwşılar üşin jegiledi */',
 'monobook.js' => '/* Mındağı JavaScript tek «Dara kitap» (monobook) mänerin paýdalanwşılar üşin jegiledi */',
-'myskin.js' => '/* Mındağı JavaScript tek «Öz mänerim» (myskin) mänerin paýdalanwşılar üşin jegiledi */',
-'chick.js' => '/* Mındağı JavaScript tek «Balapan» (chick) mänerin paýdalanwşılar üşin jegiledi */',
-'simple.js' => '/* Mındağı JavaScript tek «Kädimgi» (simple) mänerin paýdalanwşılar üşin jegiledi */',
 'modern.js' => '/* Mındağı JavaScript tek «Zamanawï» (modern) mänerin paýdalanwşılar üşin jegiledi */',
 
 # Metadata
@@ -2279,13 +2259,8 @@ Bunıñ sebebi şettik torap siltemesinen bolwı mümkin.',
 'spam_blanking' => '$1 degenge siltemeleri bar barlıq tüzetwler tazartıldı',
 
 # Skin names
-'skinname-standard' => 'Dağdılı (standard)',
-'skinname-nostalgia' => 'Añsaw (nostalgia)',
 'skinname-cologneblue' => 'Köln zeñgirligi (cologneblue)',
 'skinname-monobook' => 'Dara kitap (monobook)',
-'skinname-myskin' => 'Öz mänerim (myskin)',
-'skinname-chick' => 'Balapan (chick)',
-'skinname-simple' => 'Kädimgi (simple)',
 'skinname-modern' => 'Zamanawï (modern)',
 
 # Patrolling
@@ -2373,7 +2348,7 @@ Basqaları ädepkiden jasırıladı.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Eni',
 'exif-imagelength' => 'Bïiktigi',
 'exif-bitspersample' => 'Quraş saýın bït sanı',
@@ -2487,7 +2462,7 @@ Basqaları ädepkiden jasırıladı.
 'exif-gpsdatestamp' => 'GPS kün-aýı',
 'exif-gpsdifferential' => 'GPS saralanğan durıstaw',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ulğaýtılğan',
 
 'exif-unknowndate' => 'Belgisiz kün-aýı',
@@ -2817,13 +2792,6 @@ Tağı da [[Special:EditWatchlist|qalıpalğan öñdewişti paýdalana]] alasız
 'version-software-product' => 'Önim',
 'version-software-version' => 'Nusqası',
 
-# Special:FilePath
-'filepath' => 'Faýl ornalaswı',
-'filepath-page' => 'Faýl atı:',
-'filepath-submit' => 'Ornalaswın tap',
-'filepath-summary' => 'Bul arnaýı bet faýl ornalaswı tolıq jolın qaýtaradı.
-Swretter tolıq ajıratılımdığımen körsetiledi, basqa faýl türlerine qatıstı bağdarlaması twra jegiledi.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Faýl telnusqaların izdew',
 'fileduplicatesearch-summary' => 'Faýl xeşi mağınası negizinde telnusqaların izdew.',
index 6aaf505..b3fb68f 100644 (file)
@@ -12,6 +12,7 @@
  * @author Kaganer
  * @author Kiensvay
  * @author Lovekhmer
+ * @author Nemo bis
  * @author Sovichet
  * @author T-Rithy
  * @author Thearith
@@ -368,6 +369,18 @@ $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' => '$1 កញ្ញា',
+'october-date' => '$1 តុលា',
+'november-date' => '$1 វិច្ឆិកា',
+'december-date' => '$1 ធ្នូ',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|ចំណាត់ថ្នាក់ក្រុម|ចំណាត់ថ្នាក់ក្រុម}}',
@@ -840,11 +853,9 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'កំណត់​ពាក្យសម្ងាត់​សាឡើងវិញ',
-'passwordreset-text' => 'បំពេញសំណុំបែបបទនេះដើម្បីស្ដារពាក្យសម្ងាត់របស់អ្នក។',
 'passwordreset-legend' => 'កំណត់​ពាក្យសម្ងាត់​សាឡើងវិញ',
 'passwordreset-disabled' => 'មុខងារប្ដូរទៅពាក្យសម្ងាត់ដើមត្រូវបានបិទមិនអោយប្រើនៅលើវិគីនេះ។',
 'passwordreset-emaildisabled' => 'មុខងារអ៊ីមែលត្រូវបានបិទមិនអោយប្រើនៅលើវិគីនេះ។',
-'passwordreset-pretext' => '{{PLURAL:$1||វាយបញ្ចូលផ្នែកមួយនៃទិន្នន័យខាងក្រោម}}',
 'passwordreset-username' => 'អត្តនាម៖',
 'passwordreset-domain' => 'ដូម៉ែន៖',
 'passwordreset-capture' => 'មើលអ៊ីមែលលទ្ធផល?',
@@ -2289,8 +2300,8 @@ $1',
 'notvisiblerev' => 'ការកែតម្រូវត្រូវបានលុបចោល',
 'watchnochange' => 'មិនមានរបស់ដែលអ្នកកំពុងតាមដានណាមួយត្រូវបានគេកែប្រែក្នុងកំលុងពេលដូលដែលបានបង្ហាញទេ។',
 'watchlist-details' => '{{PLURAL:$1|$1 page|ទំព័រ $1}}នៅក្នុងបញ្ជីតាមដានរបស់អ្នក ដោយមិនរាប់បញ្ចូលទំព័រពិភាក្សា។',
-'wlheader-enotif' => 'អនុញ្ញាតឱ្យមានការផ្ដល់ដំណឹងតាមរយៈអ៊ីមែល',
-'wlheader-showupdated' => "ទំព័រដែលត្រូវបានផ្លាស់ប្តូរតាំងពីពេលចូលមើលចុងក្រោយរបស់អ្នក ត្រូវបានបង្ហាញជា '''អក្សរដិត'''",
+'wlheader-enotif' => 'អនុញ្ញាតឱ្យមានការផ្ដល់ដំណឹងតាមរយៈអ៊ីមែល',
+'wlheader-showupdated' => "ទំព័រដែលត្រូវបានផ្លាស់ប្តូរតាំងពីពេលចូលមើលចុងក្រោយរបស់អ្នក ត្រូវបានបង្ហាញជា '''អក្សរដិត'''",
 'watchmethod-recent' => 'ឆែកមើលកំណែប្រែថ្មីៗចំពោះទំព័រត្រូវបានតាមដាន',
 'watchmethod-list' => 'ឆែកមើលទំព័រត្រូវបានតាមដានចំពោះកំណែប្រែថ្មីៗ',
 'watchlistcontains' => 'បញ្ជីតាមដាន របស់អ្នក មាន $1 {{PLURAL:$1|ទំព័រ|ទំព័រ}}។',
@@ -3662,7 +3673,7 @@ $5
 'htmlform-reset' => 'ធ្វើដូចដើមវិញ',
 'htmlform-selectorother-other' => 'ផ្សេងទៀត',
 'htmlform-no' => 'ទេ',
-'htmlform-yes' => 'á\9e\94á\9e¶á\9e\91â\80\8bá\9e¬á\9e\85á\9e¶á\9e\9f',
+'htmlform-yes' => 'á\9e\96á\9f\92á\9e\9aá\9e\98',
 
 # New logging system
 'logentry-delete-delete' => '$1 បានលុបទំព័រ $3 ចោល',
index d80429d..1cd439c 100644 (file)
@@ -1489,7 +1489,7 @@ $2',
 'unwatchthispage' => 'ವೀಕ್ಷಣೆ ನಿಲ್ಲಿಸು',
 'notvisiblerev' => 'ಆವೃತ್ತಿಯನ್ನು ಅಳಿಸಲಾಗಿದೆ',
 'watchlist-details' => 'ಚರ್ಚೆ ಪುಟಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, ನಿಮ್ಮ ವೀಕ್ಷಣಾಪಟ್ಟಿಯಲ್ಲಿ {{PLURAL:$1|$1 ಪುಟ ಇದೆ|$1 ಪುಟಗಳು ಇವೆ}}.',
-'wlheader-showupdated' => "ನೀವು ಕೊನೆಯ ಬಾರಿ ಭೇಟಿ ನೀಡಿದ ನಂತರ ಬದಲಾವಣೆಗಳು ಆಗಿರುವ ಪುಟಗಳು '''ದಪ್ಪ ಅಕ್ಷರಗಳಲ್ಲಿ''' ತೋರಿಸಲಾಗಿದೆ",
+'wlheader-showupdated' => "ನೀವು ಕೊನೆಯ ಬಾರಿ ಭೇಟಿ ನೀಡಿದ ನಂತರ ಬದಲಾವಣೆಗಳು ಆಗಿರುವ ಪುಟಗಳು '''ದಪ್ಪ ಅಕ್ಷರಗಳಲ್ಲಿ''' ತೋರಿಸಲಾಗಿದೆ",
 'watchmethod-recent' => 'ಇತ್ತೀಚಿನ ಸಂಪಾದನೆಗಳಲ್ಲಿ ವೀಕ್ಷಣಾಪಟ್ಟಿಗೆ ಸೇರುವ ಪುಟಗಳ ಹುಡುಕು',
 'watchmethod-list' => 'ವೀಕ್ಷಣಾಪಟ್ಟಿಗೆ ಸೇರುವ ಪುಟಗಳಲ್ಲಿ ಇತ್ತೀಚಿನ ಸಂಪಾದನೆಗಳಿಗೆ ಹುಡುಕು',
 'watchlistcontains' => 'ನಿಮ್ಮ ವೀಕ್ಷಣಾಪಟ್ಟಿಯಲ್ಲಿ $1 {{PLURAL:$1|ಪುಟ|ಪುಟಗಳು}} ಇವೆ.',
index 23957b2..0ed5744 100644 (file)
@@ -381,7 +381,7 @@ $messages = array(
 'tog-oldsig' => '현재 서명:',
 'tog-fancysig' => '서명을 위키텍스트로 취급 (자동으로 링크를 걸지 않음)',
 'tog-showjumplinks' => '접근성을 위한 "이동" 링크 쓰기 (일부 스킨에서만 작동)',
-'tog-uselivepreview' => 'ì\8b¤ì\8b\9cê°\84 ë¯¸ë¦¬ ë³´ê¸° ì\82¬ì\9a©í\95\98기 (ì\9e\90ë°\94ì\8a¤í\81¬ë¦½í\8a¸ í\95\84ì\9a\94) (ì\8b\9c험 기능)',
+'tog-uselivepreview' => 'ì\8b¤ì\8b\9cê°\84 ë¯¸ë¦¬ ë³´ê¸° ì\82¬ì\9a©í\95\98기 (ì\9e\90ë°\94ì\8a¤í\81¬ë¦½í\8a¸ í\95\84ì\9a\94) (ì\8b¤험 기능)',
 'tog-forceeditsummary' => '편집 요약을 쓰지 않았을 때 알려주기',
 'tog-watchlisthideown' => '주시문서 목록에서 내 편집을 숨기기',
 'tog-watchlisthidebots' => '주시문서 목록에서 봇 편집을 숨기기',
@@ -394,7 +394,7 @@ $messages = array(
 'tog-showhiddencats' => '숨은 분류 보기',
 'tog-noconvertlink' => '링크 제목 변환을 비활성화',
 'tog-norollbackdiff' => '되돌리기 후 차이를 보이지 않기',
-'tog-useeditwarning' => 'ì\88\98ì \95í\95\9c ë\82´ì\9a©ì\9d\84 ì \80ì\9e¥í\95\98ì§\80 ì\95\8aê³  í\8e¸ì§\91 ì\96\91ì\8b\9dì\9d\84 ë\8b«ê±°ë\82\98 ë\8b¤ë¥¸ í\8e\98ì\9d´ì§\80ë¡\9c ì\9d´ë\8f\99í\95  ë\95\8c ì\95\8c림',
+'tog-useeditwarning' => 'ë°\94ê¾¼ ë\82´ì\9a©ì\9d\84 ì \80ì\9e¥í\95\98ì§\80 ì\95\8aê³  í\8e¸ì§\91 í\8e\98ì\9d´ì§\80를 ë²\97ì\96´ë\82  ë\95\8c ì\95\8c림',
 
 'underline-always' => '항상',
 'underline-never' => '치지 않음',
@@ -458,6 +458,18 @@ $messages = array(
 'oct' => '10',
 'nov' => '11',
 'dec' => '12',
+'january-date' => '1월 $1일',
+'february-date' => '2월 $1일',
+'march-date' => '3월 $1일',
+'april-date' => '4월 $1일',
+'may-date' => '5월 $1일',
+'june-date' => '6월 $1일',
+'july-date' => '7월 $1일',
+'august-date' => '8월 $1일',
+'september-date' => '9월 $1일',
+'october-date' => '10월 $1일',
+'november-date' => '11월 $1일',
+'december-date' => '12월 $1일',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|분류}}',
@@ -778,7 +790,7 @@ $2',
 'createacct-yourpasswordagain-ph' => '비밀번호 다시 입력',
 'remembermypassword' => '이 브라우저에서 로그인 상태를 저장하기 (최대 $1{{PLURAL:$1|일}})',
 'userlogin-remembermypassword' => '로그인 상태를 유지하기',
-'userlogin-signwithsecure' => 'ë³´ì\95\88 ì\84\9cë²\84ë¡\9c ë¡\9cê·¸ì\9d¸',
+'userlogin-signwithsecure' => 'ë³´ì\95\88 ì\97°ê²° ì\82¬ì\9a©',
 'securelogin-stick-https' => '로그인 후에도 HTTPS 연결 상태를 유지합니다',
 'yourdomainname' => '도메인 이름:',
 'password-change-forbidden' => '이 위키에서 비밀번호를 바꿀 수 없습니다.',
@@ -799,6 +811,7 @@ $2',
 'gotaccount' => '계정이 이미 있다면, $1.',
 'gotaccountlink' => '로그인하세요',
 'userlogin-resetlink' => '사용자 이름이나 비밀번호를 잊으셨나요?',
+'userlogin-resetpassword-link' => '내 비밀번호 재설정',
 'helplogin-url' => 'Help:로그인',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|로그인에 관한 도움말]]',
 'createacct-join' => '아래에 정보를 입력하세요.',
@@ -814,9 +827,9 @@ $2',
 'createacct-imgcaptcha-ph' => '위에 보이는 텍스트를 입력하세요',
 'createacct-submit' => '계정 만들기',
 'createacct-benefit-heading' => '{{SITENAME}}(은)는 여러분과 같은 사람으로 이루어집니다.',
-'createacct-benefit-body1' => '편집 수',
-'createacct-benefit-body2' => '문서 수',
-'createacct-benefit-body3' => '최근 기여자',
+'createacct-benefit-body1' => '{{PLURAL:$1|편집 수}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|문서 수}}',
+'createacct-benefit-body3' => '최근 {{PLURAL:$1|기여자}}',
 'badretype' => '입력한 비밀번호가 일치하지 않습니다.',
 'userexists' => '입력하신 사용자 이름이 이미 등록되어 있습니다.
 다른 이름을 선택하세요.',
@@ -921,11 +934,9 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => '비밀번호 재설정',
-'passwordreset-text' => '비밀번호를 재설정하려면 이 양식을 채워주세요.',
 'passwordreset-legend' => '비밀번호 재설정',
 'passwordreset-disabled' => '이 위키에서는 비밀번호를 재설정할 수 없습니다.',
 'passwordreset-emaildisabled' => '이 위키에서 이메일 기능이 비활성화되어 있습니다.',
-'passwordreset-pretext' => '{{PLURAL:$1||아래에 한 가지 정보를 입력하세요}}',
 'passwordreset-username' => '사용자 이름:',
 'passwordreset-domain' => '도메인:',
 'passwordreset-capture' => '발송 결과 이메일을 보시겠습니까?',
@@ -1174,14 +1185,15 @@ IP 주소는 여러 사용자가 공유할 수 있습니다.
 문서가 삭제된 것 같습니다.',
 'edit-conflict' => '편집 충돌.',
 'edit-no-change' => '문서에 어떠한 바뀜도 없기 때문에 편집은 무시되었습니다.',
+'postedit-confirmation' => '편집을 저장했습니다.',
 'edit-already-exists' => '새 문서를 만들 수 없습니다.
 문서가 이미 존재합니다.',
 'defaultmessagetext' => '기본 메세지 내용',
 'content-failed-to-parse' => '$1 모델에 대한 $2 내용을 구문 분석하는 데 실패했습니다: $3',
 'invalid-content-data' => '잘못된 내용 데이터입니다',
 'content-not-allowed-here' => '"$1" 내용은 [[$2]] 문서예 허용하지 않습니다',
-'editwarning-warning' => '이 창에서 벗어나면 저장하지 않은 편집이 모두 사라집니다.
-로그인한 경우, 환경 설정 ‘{{int:prefs-editing}}’란에서 이 경고창을 띄우지 않도록 설정할 수 있습니다.',
+'editwarning-warning' => '이 페이지에서 벗어나면 저장하지 않은 바뀜이 모두 사라집니다.
+로그인을 했다면, 환경 설정의 "편집 상자"에서 이 경고를 띄우지 않도록 설정할 수 있습니다.',
 
 # Content models
 'content-model-wikitext' => '위키텍스트',
@@ -1782,7 +1794,7 @@ HTML 태그를 확인하세요.',
 'newsectionsummary' => '새 주제: /* $1 */',
 'rc-enhanced-expand' => '자세한 기록 보기 (자바스크립트 필요)',
 'rc-enhanced-hide' => '자세한 기록 숨기기',
-'rc-old-title' => '처음에  "$1"라는 제목으로 만들어짐',
+'rc-old-title' => '처음에 "$1"라는 제목으로 만들어졌습니다',
 
 # Recent changes linked
 'recentchangeslinked' => '가리키는 글의 바뀜',
@@ -2456,8 +2468,8 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 'notvisiblerev' => '이 판은 삭제되었습니다.',
 'watchnochange' => '주어진 기간 중에 바뀐 주시문서가 없습니다.',
 'watchlist-details' => '토론을 제외하고 {{PLURAL:$1|문서 $1개}}를 주시하고 있습니다.',
-'wlheader-enotif' => '이메일 알림 기능이 활성화되었습니다.',
-'wlheader-showupdated' => "마지막으로 방문한 이후에 바뀐 문서는 '''굵은 글씨'''로 보여집니다.",
+'wlheader-enotif' => '이메일 알림 기능이 활성화되었습니다.',
+'wlheader-showupdated' => "마지막으로 방문한 이후에 바뀐 문서는 '''굵은 글씨'''로 보여집니다.",
 'watchmethod-recent' => '주시된 문서를 확인하고자 최근 편집을 확인',
 'watchmethod-list' => '최근 편집을 확인하고자 주시된 문서 확인',
 'watchlistcontains' => '{{PLURAL:$1|문서 $1개}}를 주시하고 있습니다.',
@@ -3044,6 +3056,8 @@ $1 사용자가 차단된 이유는 다음과 같습니다: "$2"',
 'thumbnail-more' => '실제 크기로',
 'filemissing' => '파일 사라짐',
 'thumbnail_error' => '섬네일을 만드는 중 오류 발생: $1',
+'thumbnail_error_remote' => '$1에서 반환한 오류 메시지:
+$2',
 'djvu_page_error' => 'DjVu 페이지 범위 벗어남',
 'djvu_no_xml' => 'DjVu 파일의 XML 정보를 읽을 수 없음',
 'thumbnail-temp-create' => '임시 섬네일 파일을 만들 수 없습니다.',
@@ -3181,7 +3195,7 @@ $1 사용자가 차단된 이유는 다음과 같습니다: "$2"',
 'tooltip-ca-nstab-help' => '도움말 문서 내용을 봅니다.',
 'tooltip-ca-nstab-category' => '분류 문서 내용을 봅니다.',
 'tooltip-minoredit' => '사소한 편집으로 표시하기',
-'tooltip-save' => 'ë°\94ë\80\9c 저장하기',
+'tooltip-save' => 'ë°\94ë\80\90 ë\82´ì\9a© 저장하기',
 'tooltip-preview' => '바뀜을 미리 봅니다. 저장하기 전에 꼭 미리 보기를 해 주세요!',
 'tooltip-diff' => '자신이 바꾼 것 보기',
 'tooltip-compareselectedversions' => '이 문서에서 선택한 두 판간의 차이를 비교',
@@ -3202,7 +3216,6 @@ $1 사용자가 차단된 이유는 다음과 같습니다: "$2"',
 'modern.css' => '/* 이 CSS 설정은 모던 스킨을 사용하는 사용자에게 적용됩니다 */',
 'vector.css' => '/* 이 CSS 설정은 벡터 스킨을 사용하는 사용자에게 적용됩니다 */',
 'print.css' => '/* 이 CSS 설정은 인쇄 출력 화면에 적용됩니다 */',
-'handheld.css' => '/* 이 CSS 설정은 $wgHandheldStyle에 설정한 스킨을 기반으로 한 휴대 기기에 적용됩니다 */',
 'noscript.css' => '/* 이 CSS 설정은 자바스크립트를 비활성화한 사용자에 적용됩니다 */',
 'group-autoconfirmed.css' => '/* 이 CSS 설정은 자동 인증된 사용자에만 적용됩니다 */',
 'group-bot.css' => '/* 이 CSS 설정은 봇에만 적용됩니다 */',
index 6dd4651..f2ede5e 100644 (file)
@@ -495,7 +495,7 @@ $messages = array(
 # Special:ListGroupRights
 'listgrouprights-members' => '(уджкериссезлöн нимлёдз)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Этiя ужкерисьлö гижöт',
 'emailfrom' => 'Кинсянь:',
 'emailto' => 'Кинлö:',
@@ -737,7 +737,7 @@ $messages = array(
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Пасьта',
 'exif-imagelength' => 'Вылына',
 
index 6a1e204..503593a 100644 (file)
@@ -525,7 +525,6 @@ $2',
 'yourname' => 'Къошулуучуну аты',
 'userlogin-yourname' => 'Тергеу джазыуну аты',
 'userlogin-yourname-ph' => 'Тергеу джазыуугъузну атын джазыгъыз',
-'createacct-helpusername-link' => '[[{{MediaWiki:createacct-helpusername-url}}|(сайлауда болушлукъ)]]',
 'yourpassword' => 'Паролюгъуз:',
 'userlogin-yourpassword' => 'Пароль',
 'userlogin-yourpassword-ph' => 'Паролунгу джаз',
@@ -2066,8 +2065,8 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'notvisiblerev' => 'Версия кетерилгенди',
 'watchnochange' => 'Къаралгъан кёзюуде, кёзде тургъан тизмеден бир бет да тюрленмегенди.',
 'watchlist-details' => 'Кёзюгюзде тургъан тизмегизде, сюзюу бетлери саналмай {{PLURAL:$1|$1 бет|$1 бет}} барды.',
-'wlheader-enotif' => 'Эл. почта бла хапар бериу джандырылыбды.',
-'wlheader-showupdated' => "Ахыр кириуюгюзден сора бетни тюрлениулери '''къалын''' джазыу бла кёргюзюлгенди.",
+'wlheader-enotif' => 'Эл. почта бла хапар бериу джандырылыбды.',
+'wlheader-showupdated' => "Ахыр кириуюгюзден сора бетни тюрлениулери '''къалын''' джазыу бла кёргюзюлгенди.",
 'watchmethod-recent' => 'кёзде тургъан бетледе этилген ахыр тюрлениуле кёрюу',
 'watchmethod-list' => 'кёзде тургъан бетледе этилген ахыр тюрлениуле кёрюу',
 'watchlistcontains' => 'Кёзюгюзде тургъан тизмегизде $1 {{PLURAL:$1|бет|бет}} барды.',
index ccfbd05..559b734 100644 (file)
@@ -480,7 +480,7 @@ Yu go ebul luk im sos.',
 'namespacesall' => 'ol',
 'monthsall' => 'ol',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail' => 'Konfam yu e-mail adrehs',
 'confirmemail_noemail' => 'Di email adrehs we yu pu na [[Special:Preferences|user preferences]] noh de.',
 
index c737ec1..82ef0ed 100644 (file)
@@ -8,6 +8,7 @@
  * @file
  *
  * @author Caesius noh en Idee vum Manes
+ * @author Nemo bis
  * @author Purodha
  * @author Reedy
  * @author Rentenirer
@@ -230,7 +231,7 @@ $messages = array(
 'tog-watchmoves' => 'Donn Sigge beim Ömnänne automattesch för ming Oppaßlėß vörschlonn',
 'tog-watchdeletion' => 'Donn Sigge beim Fottschmiiße automattesch för ming Oppaßlėß vörschlonn',
 'tog-minordefault' => 'Dun all ming Änderunge jedes Mol als klein Mini-Änderunge vürschlage',
-'tog-previewontop' => 'Zeich de Vör-Aansich üvver däm Feld för dä Tex enzejevve aan.',
+'tog-previewontop' => 'Zeisch de Vör-Aanseesch övver däm Fäld för der Täx enzejävve aan.',
 'tog-previewonfirst' => 'Zeich de Vör-Aansich tirek för et eetste Mol beim Bearbeide aan',
 'tog-nocache' => 'Dun et Sigge Zweschespeichere en Dingem Brauser avschalte',
 'tog-enotifwatchlistpages' => 'Scheck mer en <i lang="en">e-mail</i>, wann en Sigg us minge Oppaßlėß verändert woode es',
@@ -252,7 +253,7 @@ $messages = array(
 'tog-ccmeonemails' => 'Scheck mer en Kopie, wann ich en <i lang="en">e-mail</i> an ene andere Metmaacher scheck',
 'tog-diffonly' => 'Zeich beim Versione Verjliche nur de Ungerscheide aan (ävver pack nit noch de janze Sigg dodronger)',
 'tog-showhiddencats' => 'Donn de verstoche Saachjroppe aanzeije',
-'tog-noconvertlink' => 'Don de Tittele nit Ã¼mwandelle',
+'tog-noconvertlink' => 'Don de Tittele nit Ãmwandelle',
 'tog-norollbackdiff' => 'Donn noh „{{int:Rollback}}“ de Ungerscheide nit aanzeije',
 'tog-useeditwarning' => 'Donn mesch warne, wann esch vun en Sigg fott jonn, ih dat esch all ming Änderunge avjeschpeischert hann.',
 
@@ -318,6 +319,18 @@ $messages = array(
 'oct' => 'Okt',
 'nov' => 'Nov',
 'dec' => 'Dez',
+'january-date' => '$1. Jannewaa',
+'february-date' => '$1. Fääbroaa',
+'march-date' => '$1. Määz',
+'april-date' => '$1. Aprell',
+'may-date' => '$1. Mai',
+'june-date' => '$1. Juuni',
+'july-date' => '$1. Juuli',
+'august-date' => '$1. Ojoßß',
+'september-date' => '$1. Säptämber',
+'october-date' => '$1. Oktoober',
+'november-date' => '$1. Novämber',
+'december-date' => '$1. Dezämber',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Saachjrupp|Saachjruppe}}',
@@ -380,7 +393,7 @@ $messages = array(
 'navigation-heading' => 'Menü för et Navijeere',
 'errorpagetitle' => 'Fähler',
 'returnto' => 'Jangk widder noh: „$1“.',
-'tagline' => 'Us {{GRAMMAR:Dative|{{SITENAME}}}}',
+'tagline' => 'Uß {{GRAMMAR:Dativ | {{ucfirst:{{SITENAME}}}}}}',
 'help' => 'Hölp',
 'search' => 'Söhke',
 'searchbutton' => 'em Tex',
@@ -407,7 +420,7 @@ $messages = array(
 'unprotect' => 'Schoz ändere',
 'unprotectthispage' => 'Siggeschoz ändere',
 'newpage' => 'Neu Sigg',
-'talkpage' => 'Ã\9cvver die Sigg heh schwaade',
+'talkpage' => 'Ã\96vver die Sigg heh schwaade',
 'talkpagelinktext' => 'Klaaf',
 'specialpage' => '{{int:nstab-special}}',
 'personaltools' => 'Metmaacher Werkzüch',
@@ -443,13 +456,13 @@ $1',
 'pool-errorunknown' => 'Dä Fähler kenne mer nit',
 
 # 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) and the disambiguation template definition (see disambiguations).
-'aboutsite' => 'Ã\9cvver {{GRAMMAR:Akkusativ|{{SITENAME}}}}',
-'aboutpage' => 'Project:Ã\9cvver {{GRAMMAR:Nom|{{SITENAME}}}}',
+'aboutsite' => 'Ã\96vver {{GRAMMAR:Akkusativ|{{ucfirst:{{SITENAME}}}}}}',
+'aboutpage' => 'Project:Ã\96vver {{GRAMMAR:Akkusativ|{{ucfirst:{{SITENAME}}}}}}',
 'copyright' => 'Dä Enhald steiht unger de $1.',
 'copyrightpage' => '{{ns:project}}:Lizenz',
 'currentevents' => 'Et Neuste',
 'currentevents-url' => 'Project:Et Neuste',
-'disclaimers' => 'Hinwies',
+'disclaimers' => 'Henwies',
 'disclaimerpage' => 'Project:Impressum',
 'edithelp' => 'Hölp för et Bearbeide',
 'edithelppage' => 'Help:Hölp',
@@ -457,7 +470,7 @@ $1',
 'mainpage' => 'Haupsigg',
 'mainpage-description' => 'Haupsigg',
 'policy-url' => 'Project:Rejelle',
-'portal' => 'Ã\9cvver {{GRAMMAR:Acc|{{SITENAME}}}} för Metmaacher',
+'portal' => 'Ã\96vver {{GRAMMAR:Akkusativ|{{ucfirst:{{SITENAME}}}}}} för Metmaacher',
 'portal-url' => 'Project:Metmaacher Pooz',
 'privacy' => 'Daateschotz un Jeheimhaldung',
 'privacypage' => 'Project:Daateschotz un Jeheimhaldung',
@@ -645,7 +658,10 @@ Wann De wells, künnts De Ding [[Special:Preferences|Enschtällonge aanpaße]].'
 'yourpassword' => 'Paßwoot:',
 'userlogin-yourpassword' => 'Et Paßwoot',
 'userlogin-yourpassword-ph' => 'Donn Ding Paßwood enjävve',
+'createacct-yourpassword-ph' => 'Jivv_e Paßwood_en!',
 'yourpasswordagain' => 'Noch ens dat Passwood',
+'createacct-yourpasswordagain' => 'Noch ens dat Paßwoot',
+'createacct-yourpasswordagain-ph' => 'Jivv_et Paßwoot norrens en!',
 'remembermypassword' => 'Op Duur aanmelde (hält {{PLURAL:$1|för eine Daach|bes op $1 Dääsch|bloß för hück}})',
 'userlogin-remembermypassword' => 'Op Duur enlogge',
 'userlogin-signwithsecure' => 'Verschlößeld enlogge',
@@ -669,14 +685,30 @@ Wann De wells, künnts De Ding [[Special:Preferences|Enschtällonge aanpaße]].'
 'gotaccount' => "Do bes ald aanjemeldt {{GRAMMAR:en|{{SITENAME}}}}? Dann jangk nohm '''$1'''.",
 'gotaccountlink' => 'Enlogge',
 'userlogin-resetlink' => 'Häß De Ding Daate för et Enlogge verjäße?',
-'helplogin-url' => 'Hölp:Övver et Enlogge',
+'userlogin-resetpassword-link' => 'Paßwoot verjäße?',
+'helplogin-url' => 'Help:Övver et Enlogge',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hölp bem Enlogge]]',
-'createaccountmail' => 'Scheck mer en E-Mail met enem neu ußjedachte Passwood op Zick',
+'createacct-join' => 'Jiv Ding Daate en:',
+'createacct-emailrequired' => 'Ding Addräß för de <i lang="en">e-mail</i>',
+'createacct-emailoptional' => 'Ding Addräß för de <i lang="en">e-mail</i>, kann fott bliive',
+'createacct-email-ph' => 'Jiv Ding Addräß för de <i lang="en">e-mail</i> en!',
+'createaccountmail' => 'Scheck mer en <i lang="en">e-mail</i> met enem neu ußjedaachte Paßwood op Zick',
+'createacct-realname' => 'Dinge börjerlesche Naame, kam_mer och fott lohße',
 'createaccountreason' => 'Jrond:',
+'createacct-reason' => 'Der Jrond udder Aanlaß',
+'createacct-reason-ph' => 'Woröm deihs De noch ene Zohjang aanlääje?',
+'createacct-captcha' => 'Zor Sescherheit',
+'createacct-imgcaptcha-ph' => 'Jiv dä Täx en, dä De heh drövver sühs!',
+'createacct-submit' => 'Lohß Jonn!',
+'createacct-benefit-heading' => '{{ucfirst:{{GRAMMAR:Nominative|{{ucfirst:{{SITENAME}}}}}}}} weed vun Minsche wi Dir jemaat.',
+'createacct-benefit-body1' => '{{PLURAL:$1|Änderong|Änderonge|Änderonge }}',
+'createacct-benefit-body2' => '{{PLURAL:$1|Sigg|Sigge|Sigge }}',
+'createacct-benefit-body3' => '{{PLURAL:$1|aktive Metmaacher}}',
 'badretype' => 'Ding zwëij ennjejovve Paßßwööter sinn nit ejaal. Do muss De Dich för ein entscheide.',
 'userexists' => 'Ene Metmaacher met däm Name jidd et ald.
 Do muss Der ene andere Name usdenke.',
 'loginerror' => 'Fähler beim Enlogge',
+'createacct-error' => 'Fähler beim Zohjang-Aanlääje',
 'createaccounterror' => 'Kunnt keine Zohjang för der Metmaacher-Name „$1“ aanlääje.',
 'nocookiesnew' => 'Dinge neue Metmaacher Name es enjerich, ävver dat automatisch Enlogge wor dann nix.
 Schad.
@@ -719,7 +751,7 @@ Do solls De tirek jlich enlogge,
 un dat Passwood widder ändere,
 wann dat esu Dinge Wonsch wor.
 Dat neu Passwood leuf noh {{PLURAL:$5|einem Daach|$5 Dääch|noch hück}} us.
-Dä Transport Ã¼vver et Netz met e-mail
+Dä Transport Ãvver et Netz met e-mail
 es unsecher, do künne Fremde metlese,
 un winnichstens de Jeheimdeenste dun
 dat och. Usserdäm es "$3"
@@ -741,7 +773,7 @@ Ene schöne Jroß vun {{GRAMMAR:Dat|{{SITENAME}}}}.
 'noemailcreate' => 'Do moß en jöltijje Adräß för Ding <i lang="en">e-mail</i> aanjävve',
 'passwordsent' => 'E neu Passwood es aan de E-Mail Adress vun däm Metmaacher „$1“ ungerwähs. Meld dich domet aan, wann De et häs. Dat ahle Passwood bliev erhalde un kann och noch jebruch wääde, bes dat De Dich et eetste Mol met däm Neue enjelogg häs.',
 'blocked-mailpassword' => 'Ding IP Adress es blockeet.',
-'eauthentsent' => 'En <i lang="en">e-mail</i> es jetz ungerwähs aan di Adress, die en de Enstellunge steiht. Ih dat <i lang="en">e-mails</i> üvver {{GRAMMAR:Genitiv iere male|{{SITENAME}}}} <i lang="en">e-mail</i>-Knopp verscheck wääde künne, muss de <i lang="en">e-mail</i>-Adress eets ens bestätich woode sin. Wat mer doför maache moß, steiht en dä <i lang="en">e-mail</i> dren, die jrad avjescheck woode es.',
+'eauthentsent' => 'En <i lang="en">e-mail</i> es jäz ungerwähs aan di Adräß, di en de Enschtällonge schteiht. Ih dat <i lang="en">e-mails</i> övver {{GRAMMAR:Genitiv iere male|{{ucfirst:{{SITENAME}}}}}} <i lang="en">e-mail</i>-Knopp verscheck wääde künne, moß de <i lang="en">e-mail</i>-Adräß eets ens beschtäätesch woode sin. Wat mer doför maache moß, schteiht en dä <i lang="en">e-mail</i> dren, di jrad avjescheck woode es.',
 'throttled-mailpassword' => 'En Erennerung för di Passwood es alld ongerwähs, un mieh wi eimol en {{PLURAL:$1|der Schtond|$1 Schtonde|nidd ens ener Schtond}} dommer kein schecke.',
 'mailerror' => 'Fähler beim E-Mail Verschecke: $1.',
 'acct_creation_throttle_hit' => '<b>Schad.</b>
@@ -753,7 +785,7 @@ för der Momang nit noch mit Metmaacher neu aanmellde.',
 'emailauthenticated' => 'Ding E-Mail Adress wood aam <strong>$2</strong> öm <strong>$3</strong> Uhr bestätich.',
 'emailnotauthenticated' => 'Ding E-Mail Adress es <strong>nit</strong> bestätich. Dröm kann kein E-Mail aan Dich jescheck wääde för:',
 'noemailprefs' => 'Dun en E-Mail Adress endrage, domet dat et all fluppe kann.',
-'emailconfirmlink' => 'Dun Ding <i lang="en">e-mail</i> Adress bestätije looße',
+'emailconfirmlink' => 'Dun Ding <i lang="en">e-mail</i> Adräß beschtääteje lohße',
 'invalidemailaddress' => 'Wat De do als en Adreß för Ding <i lang="en">e-mail</i> aanjejovve häs, süht noh Dress us. En <i lang="en">e-mail</i> Adreß en däm Format, dat jitt et nit. Muss De repareere - oder Do mähs dat Feld leddich un schrievs nix eren. Un dann versök et noch ens.',
 'cannotchangeemail' => 'Sing <i lang="en">e-mail<i> Addreß kam_mer ehe em Wiki nit ändere.',
 'emaildisabled' => 'Heh dat Wiki kann kein <i lang="en">e-mails</i> verschecke.',
@@ -799,14 +831,13 @@ Et süht us, wi wann ene kappodde Brauser udder <i lang=\"en\">proxy</i>ẞööv
 Möjjelesch, Do häs Ding Paßwood ald jetuusch, künnt och sin,
 Do häs Der enzwesche e neu Zweschepaßwood jehollt.',
 'resetpass-temp-password' => 'Zweschepasswood:',
+'resetpass-abort-generic' => 'E Zohsazprojramm häd_et nit zohjelohße, et Paßwoot ze ändere.',
 
 # Special:PasswordReset
 'passwordreset' => 'Et Paßwoot zeröck säze',
-'passwordreset-text' => 'Donn dat Fommulaa heh ußfölle, öm e neu Paßwoot faßzelääje.',
 'passwordreset-legend' => 'Et Paßwoot zeröck säze',
 'passwordreset-disabled' => 'Et Paßwoot zeröck ze säze es heh em Wiki afjeschalldt.',
 'passwordreset-emaildisabled' => 'Heh dat Wiki määt nix met <i lang="en">e-mail</i>!',
-'passwordreset-pretext' => '{{PLURAL:$1||Jiff ein vun dä Saache heh dronger enn|}}',
 'passwordreset-username' => 'Metmaacher Name:',
 'passwordreset-domain' => 'Domähn:',
 'passwordreset-capture' => 'Wells De di <i lang="en">e-mail</i> beloore?',
@@ -898,9 +929,9 @@ Do moß Ding Paßwoot enjävve, öm Ding Änderong ze bschtäätejje.',
 
 Als Jrund es enjedrage: „''\$2''“
 
-Do kanns heh em Wiki immer noch lesse. Do sühß ävver di Sigg heh, wann De op rude Links klicks, neu Sigge aanlääje, odder Sigge ändere wells, denn doför bes De jetz jesperrt.
+Do kanns heh em Wiki immer noch lässe. Do sühß ävver di Sigg heh, wann De op rude Links klicks, neu Sigge aanlääje, udder Sigge ändere wells, denn doför bes De jäz jeschperrt.
 
-Do kanns met \$1 oder enem andere [[{{MediaWiki:Grouppage-sysop}}|Wiki-Köbes]] Ã¼vver dat Sperre schwaade, wann De wells.
+Do kanns met \$1 oder enem andere [[{{MediaWiki:Grouppage-sysop}}|Wiki-Köbes]] Ã¶vver dat Schpärre schwaade, wann De wells.
 Do kanns ävver nor dann „''E-Mail aan dä Metmaacher''“ aanwende, wann De ald en E-Mail Adress en Dinge [[Special:Preferences|Enstellunge]] enjedrage un freijejovve häs un wann et E-mail schecke nit metjesperrt es.
 
 Dun en Ding Aanfroge nenne:
@@ -921,10 +952,10 @@ Als Jrund es enjedrage: „''\$2''“
 
 Do kanns heh em Wiki immer noch lesse. Do sühß ävver di Sigg heh, wann De op rude Links klicks, neu Sigge aanlääje, odder Sigge ändere wells, denn doför bes De jetz jesperrt.
 
-Do kanns met \$1 oder enem andere [[{{MediaWiki:Grouppage-sysop}}|Wiki-Köbes]] Ã¼vver dat Sperre schwaade, wann De wells.
-Do kanns ävver nor dann „''E-Mail aan dä Metmaacher''“ aanwende, wann De ald en E-Mail Adress en Dinge [[Special:Preferences|Enstellunge]] enjedrage un freijejovve häs un wann et E-mail schecke nit metjesperrt es.
+Do kanns met \$1 oder enem andere [[{{MediaWiki:Grouppage-sysop}}|Wiki-Köbes]] Ã¶vver dat Schpärre schwaade, wann De wells.
+Do kanns ävver nor dann „''e-mail aan dä Metmaacher''“ aanwende, wann De ald en e-mail Adress en Dinge [[Special:Preferences|Enstellunge]] enjedrage un freijejovve häs un wann et e-mail schecke nit metjeschperrt es.
 
-Dun en Ding Aanfroge nenne:
+Dun en Dinge Aanfrore nänne:
 * Dä Wiki-Köbeß, dä jesperrt hät: \$1
 * Der Jrond för et Sperre: \$2
 * Da wood jesperrt: \$8
@@ -1161,11 +1192,11 @@ Als Jrund för et Sperre es enjedraare: ''$2''",
 'last' => 'met dovör',
 'page_first' => 'Aanfang',
 'page_last' => 'Engk',
-'histlegend' => 'Heh kanns De Versione för et Verjliiche ußsöke: Dun met dä Knöpp die zweij markiere,
+'histlegend' => 'Heh kanns De Versione för et Verjliiche ußsöke: Dun met dä Knöpp di zweij markiere,
 zwesche dänne De de Ungerscheid jezeich krije wells, dann dröck „<b style="padding:2px; background-color:#ddd;
 color:black">{{int:compareselectedversions}}</b>“ udder „<b style="padding:2px; background-color:#ddd;
 color:black">{{int:visualcomparison}}</b>“ udder „<b style="padding:2px; background-color:#ddd;
-color:black">{{int:wikicodecomparison}}</b>â\80\9c met Dinge Taste, oder klick op ein vun dä Knöpp Ã¼vver oder unger de Liss.<br />
+color:black">{{int:wikicodecomparison}}</b>â\80\9c met Dinge Taste, oder klick op ein vun dä Knöpp Ãvver oder unger de Liss.<br />
 Verklierung:
 ({{int:cur}}) = donn met de neuste Version verjliche,
 ({{int:last}}) = donn met de Version ein doför verjliche,
@@ -1390,15 +1421,15 @@ Appachtemangs-Name.',
 'powersearch-toggleall' => 'Övverall Höhksche draan maache',
 'powersearch-togglenone' => 'All Höhksche fott nämme',
 'search-external' => 'Söke fun Ußerhallef',
-'searchdisabled' => 'Dat Söke hee {{GRAMMAR:en|{{SITENAME}}}} es em Momang avjeschalt.
+'searchdisabled' => 'Dat Söhke hee {{GRAMMAR:en|{{SITENAME}}}} es em Momang avjeschalt.
 Dat weed op dänne ẞööver ad ens jemaat, domet de Lass op inne nit ze jroß weed,
-un winnichstens dat normale Sigge Oprofe flöck jenoch jeiht.
+un winnischsdens dat normale Sigge Oprofe flöck jenoch jeiht.
 
-Ehr künnt esu lang Ã¼vver en Sökmaschin vun usserhalv immer noch
-Sigge us {{GRAMMAR:Dative|{{SITENAME}}}} finge.
+Ehr künnt esu lang Ã¶vver en Söhkmaschin vun usserhalv emmer noch
+Sigge us {{GRAMMAR:Dative|{{ucfirst:{{SITENAME}}}}}} finge.
 Et es nit jesaht,
-dat dänne ihr Daate topaktuell sin,
-ävver et es besser wie jaa_nix.',
+dat dänne ehr Daate topaktoell sin,
+ävver et es bäßer wi jaa_nix.',
 'search-error' => 'An error has occurred while searching: $1',
 
 # Preferences page
@@ -1454,7 +1485,7 @@ Ene zohfällesch ußjewörfelte Schlößel, dää De nämme künnß, wöhr: <cod
 'timezoneuseoffset' => 'Söns jet, jiff dä Ungerscheid aan',
 'timezoneoffset' => 'Dä Ungerscheid¹ es:',
 'servertime' => 'De Uhrzigg om ẞööver es jetz:',
-'guesstimezone' => 'Fingk et erus üvver dä Brauser',
+'guesstimezone' => 'Vum Brauser övvernämme',
 'timezoneregion-africa' => 'Affrikka',
 'timezoneregion-america' => 'Ammerrika',
 'timezoneregion-antarctica' => 'Der Södpool',
@@ -1542,6 +1573,7 @@ Ene zohfällesch ußjewörfelte Schlößel, dää De nämme künnß, wöhr: <cod
 'userrights-changeable-col' => '{{PLURAL:$1:Di Jropp|Jroppe|kein Jropp doh}}, di De ändere kanns',
 'userrights-unchangeable-col' => '{{PLURAL:$1:Di Jropp|Jroppe|kein Jropp doh}}, di De nit ändere kanns',
 'userrights-irreversible-marker' => '$1 *',
+'userrights-conflict' => 'Ene Andere hät di Rääschde ald verändert. Loor, wad_eruß kohm un versöhg_et norr-ens, wann nüüdesch.',
 
 # Groups
 'group' => 'Jrupp:',
@@ -1635,7 +1667,7 @@ Ene zohfällesch ußjewörfelte Schlößel, dää De nämme künnß, wöhr: <cod
 
 # User rights log
 'rightslog' => 'Logboch för Änderunge aan Metmaacher-Räächde',
-'rightslogtext' => 'Hee sin de Änderunge an Metmaacher ehre Räächde opjeliss. Op de Sigge üvver Metmaacher, Wiki-Köbesse, Bürrokrade, Stewards, un esu, kanns De nohlese, wat domet es.',
+'rightslogtext' => 'Heh sen de Änderonge an de Metmaacher ehre Räächde opjeleß.',
 
 # Associated actions - in the sentence "You do not have permission to X"
 'action-read' => 'di Sigg ze lesse',
@@ -2086,7 +2118,7 @@ Velleisch sullts De dä [$2 Täx övver se doh]  aanpasse.',
 'filedelete-maintenance-title' => 'Di Dattei künne mer nit fottschmiiße',
 
 # MIME search
-'mimesearch' => 'Dateie üvver dänne ehre <span lang="en">MIME</span>-Typ söke',
+'mimesearch' => 'Dateije övver dänne ehre <span lang="en">MIME</span>-Tüp söhke',
 'mimesearch-summary' => 'Op hee dä {{int:nstab-special}} könne de Dateie noh em <i lang="en">MIME</i>-Tüpp ußjesöök wäde.
 Mer moß immer der Medietüp un der Ongertüp aanjevve.
 Zem Beispell: <code lang="en">image/jpeg</code>
@@ -2428,8 +2460,8 @@ Wann di Sigg udder ier Klaafsigg verändert weed, kütt dat af jäz heh en di Op
 'notvisiblerev' => 'Di Version es fottjeschmesse',
 'watchnochange' => 'Keine Atikkel en Dinger Oppassliss es en dä aanjezeichte Zick verändert woode.',
 'watchlist-details' => 'Do häs {{PLURAL:$1|<strong>ein</strong> Sigg|<strong>$1</strong> Sigge|<strong>kein</strong> Sigg}} en dä Oppassliss{{PLURAL:$1|, un di Klaafsigg dozo|, un de Klaafsigge dozo|}}.',
-'wlheader-enotif' => '* Et E-mail Schecke es enjeschalt.',
-'wlheader-showupdated' => 'Wann se Einer jeändert hätt, zickdäm De se et letzte Mol aanjeluurt häs, sin die Sigge <strong>extra markeet</strong>.',
+'wlheader-enotif' => 'Et <i lang="en">e-mail</i> Schecke es enjeschalt.',
+'wlheader-showupdated' => 'Wann se Einer jeändert hätt, zickdäm De se et letzte Mol aanjeluurt häs, sin die Sigge <strong>extra markeet</strong>.',
 'watchmethod-recent' => 'Ben de letzte Änderunge jäje de Oppassliss am pröfe',
 'watchmethod-list' => 'Ben de Oppassliss am pröfe, noh de letzte Änderung',
 'watchlistcontains' => 'En dä Oppassliss {{PLURAL:$1|es ein Sigg|sinner <strong>$1</strong> Sigge|sinner <strong>kein</strong> Sigge}}.',
@@ -2972,14 +3004,14 @@ Dröm söhk ene andere Name uß.',
 
 # Export
 'export' => 'Sigge Exporteere',
-'exporttext' => "Heh exportees De dä Tex un de Eijeschaffte vun ener Sigg, oder vun enem Knubbel Sigge, de aktuelle Version, met oder ohne ehr ählere Versione.
+'exporttext' => 'Heh exportees De dä Tex un de Eijeschaffte vun ener Sigg, oder vun enem Knubbel Sigge, de aktuelle Version, met oder ohne ehr ählere Versione.
 Dat Janze es enjepack en XML.
-Dat ka'mer en en ander Wiki — wann et och met dä MediaWiki-Soffwär läuf — üvver de Sigg „[[Special:Import|Import]]“ do widder importeere.
+Dat kam_mer en en ander Wiki — wann et och met dä MediaWiki-Soffwär läuf — övver de Sigg „[[Special:Import|Import]]“ do widder empoteere.
 
 Schriev de Titele vun dä Sigge en dat Feld för Tex enzejevve, unge, eine Titel en jede Reih.
 Dann dun onoch ussöke, ov De all de vörherije Versione vun dä Sigge han wells, oder nor de aktuelle met dä Informatione vun de letzte Änderung.
 
-En däm Fall künns De, för en einzelne Sigg, och ene tirekte Link bruche, zom Beispill „[[{{#Special:Export}}/{{MediaWiki:Mainpage}}]]“ för de Sigg „[[{{MediaWiki:Mainpage}}]]“ ze exporteere.",
+En däm Fall künns De, för en einzelne Sigg, och ene tirekte Link bruche, zom Beispill „[[{{#Special:Export}}/{{MediaWiki:Mainpage}}]]“ för de Sigg „[[{{MediaWiki:Mainpage}}]]“ ze exporteere.',
 'exportall' => 'Alle Sigge Äxpotteere',
 'exportcuronly' => 'Bloß de aktuelle Version usjevve (un <strong>nit</strong> de janze ahle Versione onoch met dobei dun)',
 'exportnohistory' => '----
@@ -3016,6 +3048,8 @@ Wenn De jenerell aan [//www.mediawiki.org/wiki/Localisation MediaWiki singe Öve
 'thumbnail-more' => 'Jrößer aanzeije',
 'filemissing' => 'Datei es nit do',
 'thumbnail_error' => 'Ene Fähler es opjetauch beim Maache vun enem Breefmarke/Thumbnail-Beldche: „$1“',
+'thumbnail_error_remote' => 'Ene Fähler es em $1 opjevalle:
+$2',
 'djvu_page_error' => 'De DjVu-Sgg es ußerhallef',
 'djvu_no_xml' => 'De XML-Date för di DjVu-Datei kunnte mer nit afrofe',
 'thumbnail-temp-create' => 'Mer kunnte kein Zweschedattei für Minnibeldscher aanlääje.',
@@ -3038,7 +3072,7 @@ All de Trans Wiki Emporte wääde em [[Special:Log/import|Emport_Logboch]] fassj
 'import-interwiki-submit' => 'Huhlade!',
 'import-interwiki-namespace' => 'Dun de Sigge emporteere en dat Appachtemeng:',
 'import-interwiki-rootpage' => 'De Aanfangssigg (kann läddesch bliive):',
-'import-upload-filename' => 'Dä Name fun dä Datei:',
+'import-upload-filename' => 'Dä Name fun dä Dattei:',
 'import-comment' => 'Jrond:',
 'importtext' => 'Dun de Daate met däm „[[Special:Export|Export]]“ vun doh vun enem Wiki Exporteere un - etwa bei Dir om Rechner - avspeichere, un dann heh wider huhlade.',
 'importstart' => 'Ben Sigge am emporteere …',
@@ -3132,7 +3166,7 @@ Bes esu joot, un versök et noch ens.',
 'tooltip-t-recentchangeslinked' => 'De neuste Änderunge aan Sigge, wo vun heh dä Sigg uß Links drop jon',
 'tooltip-feed-rss' => 'Dä RSS-Abonnomang-Kannal (Feed) för heh di Sigg',
 'tooltip-feed-atom' => 'Dä Atom-Abonnomang-Kannal (Feed) för heh di Sigg',
-'tooltip-t-contributions' => 'Donn de Liß met Bedträch vun däm Metmaacher beloore',
+'tooltip-t-contributions' => 'Donn en Leß met dä Bedrähsch vun däm Medmaacher belooere',
 'tooltip-t-emailuser' => 'Scheck en E-Mail aan dä Metmaacher',
 'tooltip-t-upload' => 'Dateie huhlade',
 'tooltip-t-specialpages' => 'Liss met de {{int:nstab-special}}e',
@@ -3143,7 +3177,7 @@ Bes esu joot, un versök et noch ens.',
 'tooltip-ca-nstab-media' => 'Don de Sigg övver en Mediendatei aanzeije',
 'tooltip-ca-nstab-special' => "Dat is en {{int:nstab-special}}. Do kam'mer nix draan verändere.",
 'tooltip-ca-nstab-project' => 'Dun die Projeksigg aanzeije',
-'tooltip-ca-nstab-image' => 'Dun die Sigg üvver heh di Dattei aanzeije',
+'tooltip-ca-nstab-image' => 'Don di Sigg övver heh di Dattei aanzeije',
 'tooltip-ca-nstab-mediawiki' => 'En Täx vum MediaWiki-System aanzeije',
 'tooltip-ca-nstab-template' => 'Dun die Schabloon aanzeije',
 'tooltip-ca-nstab-help' => 'Donn en Sigg met Hölp aanzeije',
@@ -3161,7 +3195,7 @@ Bes esu joot, un versök et noch ens.',
 'tooltip-rollback' => 'Nemmp alle Änderunge zeröck, di dä Läzde jemaat hät, dä aan dä Sigg övverhoup jet jedonn hät. Deit nimmieh frore un määd ene automattesche Endraach en „{{int:Summary}}“',
 'tooltip-undo' => '„{{UCfirst:{{int:editundo}}}}“ määt der förije Zostand
 fun dä Sigg op, zom Beärbeide un widder Afspeichere.
-Esu kam_mer noch en Aanmerkung en „{{int:summary}}“ maache.',
+Esu kam_mer noch en Aanmärkong en „{{int:summary}}“ maache.',
 'tooltip-preferences-save' => 'Enstellunge faßhallde',
 'tooltip-summary' => 'Jif en koote Zesammefassung en',
 
@@ -3172,7 +3206,6 @@ Esu kam_mer noch en Aanmerkung en „{{int:summary}}“ maache.',
 'modern.css' => '/* CSS heh aan dä Stell wirrek nur op de Ovverflääsch „Modern“ */',
 'vector.css' => '/* CSS heh aan dä Stell wirrek nur op de Ovverflääsch „Vector“ */',
 'print.css' => '/* CSS heh aan dä Stell wirrek nur op et Sigge Drökke */',
-'handheld.css' => '/* dat CSS hee wirrek sesch uß op su jeannte Handheld-Apparaate, opjebout op de Ovverflääsch uß $wgHandheldStyle */',
 'noscript.css' => '/* Dat CSS heh aan dä Stell krijje nur de Metmaacher met affjeschaldt JavaSkrepp jescheck */',
 'group-autoconfirmed.css' => '/* Dat CSS heh aan dä Stell krijje nur de automattesch beshtääteshte Metmacher jescheck */',
 'group-bot.css' => '/* Dat CSS heh aan dä Stell krijje nur de Bot-Projrammee jescheck */',
@@ -3202,7 +3235,7 @@ Esu kam_mer noch en Aanmerkung en „{{int:summary}}“ maache.',
 'others' => 'ander',
 'siteusers' => '{{PLURAL:$2|däm|de|keine}} {{PLURAL:$2|Metmaacher|Metmaachere|Metmaacher}} $1 aan {{GRAMMAR:Dat|{{SITENAME}}}}',
 'anonusers' => '{{PLURAL:$2|dä|de|keine}} nameloose Metmaacher $1 vun de translatewiki.net',
-'creditspage' => 'Ã\9cvver de Metmaacher un ehre Beidräch för heh die Sigg',
+'creditspage' => 'Ã\96vver de Metmaacher un dänne ehr Beidräsch för heh di Sigg',
 'nocredits' => "För die Sigg ha'mer nix en de Liss.",
 
 # Spam protection
@@ -3303,6 +3336,7 @@ $1',
 'mediawarning' => '<strong>Opjepass</strong>: En dä Datei künnt en <b>jefährlich Projrammstöck</b> dren stecke. Wa\'mer et laufe looße dät, do künnt dä ẞööver, udder Dinge Rääschner, met för de <i lang="en">Cracker</i> opjemaht wääde.',
 'imagemaxsize' => "Belder nit jrößer maache wie:<br /> ''(op dä Sigge, wo se beschrevve wääde)''",
 'thumbsize' => 'Esu breid solle de klein Beldche (Thumbnails/Breefmarke) sin:',
+'widthheight' => '$1&nbsp;×&nbsp;$2',
 'widthheightpage' => '{{PLURAL:$1|Ei Pixel|$1 Pixelle}} breed × {{PLURAL:$2|Ei Pixel|$2 Pixelle}} huh, {{PLURAL:$3|eij Sigg|$3 Sigge|keij Sigge}}',
 'file-info' => 'Dateiömfang: $1, MIME-Tüp: <code>$2</code>',
 'file-info-size' => '{{PLURAL:$1|Ei Pixel|$1 Pixelle}} breed × {{PLURAL:$2|Ei Pixel|$2 Pixelle}} huh, de Datei hät $3, dä MIME-Typ es: <code>$4</code>',
@@ -3336,18 +3370,34 @@ $1',
 'sp-newimages-showfrom' => 'Zeich de neu Dateie av däm $1 öm $2 Uhr',
 
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'video-dims' => '$1, $2&nbsp;×&nbsp;$3',
 'seconds-abbrev' => '$1&nbsp;Sek.',
 'minutes-abbrev' => '$1&nbsp;Min.',
 'hours-abbrev' => '$1&nbsp;Std.',
+'days-abbrev' => '$1&nbsp;d',
 'seconds' => '{{PLURAL:$1|eine Sekund|$1 Sekunde|keine Sekund}}',
 'minutes' => '{{PLURAL:$1|eine Menutt|$1 Menutte|keine Menutt}}',
 'hours' => '{{PLURAL:$1|ein Schtundt|$1 Schtunde|kein Schtundt}}',
 'days' => '{{PLURAL:$1|einem Daach|$1 Dääsch|keinem Daach}}',
+'weeks' => '{{PLURAL:$1|ein Woch|$1 Woche|keine Woch}}',
 'months' => '{{PLURAL:$1|Eine&nbsp;Monhnd|$1&nbsp;Mohnde|Keine&nbsp;Monhnd}}',
 'years' => '{{PLURAL:$1|Ein&nbsp;Jonhr|$1&nbsp;Johre|Kei&nbsp;Jonhr}}',
 'ago' => 'vür $1',
 'just-now' => 'jraad äävens',
 
+# Human-readable timestamps
+'hours-ago' => 'för {{PLURAL:$1|ein Stund|$1 Stunde|keine Stund}}',
+'minutes-ago' => 'för {{PLURAL:$1|eine Menott|$1 Menotte|keine Menott}}',
+'seconds-ago' => 'för {{PLURAL:$1|eine Sekond|$1 Sekonde|keine Sekond}}',
+'monday-at' => 'Läzde Moondaach öm $1 Uhr',
+'tuesday-at' => 'Läzde Dinnsdaach öm $1 Uhr',
+'wednesday-at' => 'Läzde Medwoch öm $1 Uhr',
+'thursday-at' => 'Läzde Donnersdaach öm $1 Uhr',
+'friday-at' => 'Läzde Friidaach öm $1 Uhr',
+'saturday-at' => 'Läzde Samsdaach öm $1 Uhr',
+'sunday-at' => 'Läzde Sundaach öm $1 Uhr',
+'yesterday-at' => 'Jästere öm $1 Uhr',
+
 # Bad image list
 'bad_image_list' => '<strong>Fomat:</strong>
 Nur Reije met ennem * am Aanfang don jet.
@@ -3782,7 +3832,7 @@ Donoh kumme, en däsellve Reih, Links op Sigge wo die Datei trotz dämm jenehm e
 
 # External editor support
 'edit-externally' => 'Dun de Datei met enem externe Projramm bei Dr om Rechner bearbeide',
-'edit-externally-help' => '(Luur en de [//www.mediawiki.org/wiki/Manual:External_editors Installationsaanweisunge] noh mieh Hinwies)',
+'edit-externally-help' => '(Luur en de [//www.mediawiki.org/wiki/Manual:External_editors Aanleidong för de Enschtallazjuhn] noh mieh Henwiese)',
 
 # 'all' in various places, this might be different for inflected languages
 'watchlistall2' => 'all',
@@ -3928,10 +3978,15 @@ Wells Do jetz met en neu Version die Sigg widder neu aanläje?',
 'autosumm-new' => 'De Sigg wood neu aanjelaat met däm Aanfang: $1',
 
 # Size units
-'size-bytes' => '$1 Bytes',
-'size-kilobytes' => '$1 KB',
-'size-megabytes' => '$1 MB',
-'size-gigabytes' => '$1 GB',
+'size-bytes' => '$1&nbsp;Bytes',
+'size-kilobytes' => '$1&nbsp;KB',
+'size-megabytes' => '$1&nbsp;MB',
+'size-gigabytes' => '$1&nbsp;GB',
+'size-terabytes' => '$1&nbsp;TB',
+'size-petabytes' => '$1&nbsp;PB',
+'size-exabytes' => '$1&nbsp;EB',
+'size-zetabytes' => '$1&nbsp;ZB',
+'size-yottabytes' => '$1&nbsp;YB',
 
 # Bitrate units
 'bitrate-bits' => '$1&nbps;bps',
@@ -4045,6 +4100,18 @@ Do sullts en [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie vun dä <i lang="en">GNU Ge
 'version-entrypoints-header-entrypoint' => 'Enschteesch',
 'version-entrypoints-header-url' => '<i lang="en">URL</i>',
 
+# Special:Redirect
+'redirect' => 'Ömleite op en Dattei, ene Metmaacher udder de Väsjohn vun ener Sigg',
+'redirect-legend' => 'Ömleide ob_en Dattei udder Sigg',
+'redirect-summary' => 'Heh di {{int:specialpage}} leidt öm ob_en Dattei — doh mößd_Er ene Nahme aanjävve — udder en Sigg — doh mößd_Er en Kännong för en Väsjoh aanjävve — udder en Metmaachersigg — doh mößd_Er enem Metmaacher sing Kännong aanjävve.',
+'redirect-submit' => 'Lohß Jonn!',
+'redirect-lookup' => 'Söhk noh:',
+'redirect-value' => 'Kännong udder Nahme:',
+'redirect-user' => 'Enem Metmaacher sing Kännong',
+'redirect-revision' => 'Ener Sigg ier Väsjohn ier Kännong',
+'redirect-file' => 'Ener Dattei iehre Nahme',
+'redirect-not-exists' => 'Nit jefonge',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Sök noh dubbelte Dateie',
 'fileduplicatesearch-summary' => 'Söhhk noh dubbelte Dateie övver dänne iere Häsh-Zahl.',
@@ -4072,7 +4139,7 @@ Do sullts en [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie vun dä <i lang="en">GNU Ge
 'specialpages-group-pages' => 'Siggeliste',
 'specialpages-group-pagetools' => 'Werrekzüch för Sigge',
 'specialpages-group-wiki' => 'Werrekzüch un Daate vum Syßteem',
-'specialpages-group-redirects' => '{{int:nstab-special}}e, die ömleite, söke, un finge',
+'specialpages-group-redirects' => '{{int:nstab-special}}e, die ömleide, söhke, un fenge',
 'specialpages-group-spam' => 'Werrekzüch jäje SPÄM',
 
 # Special:BlankPage
@@ -4138,6 +4205,7 @@ die De häs han welle. Se künnt jet ällder un nit mieh aktoäll sin.',
 'htmlform-selectorother-other' => 'Annder',
 'htmlform-no' => 'Nää',
 'htmlform-yes' => 'Joh',
+'htmlform-chosen-placeholder' => 'Söhk jäd_uß',
 
 # SQLite database support
 'sqlite-has-fts' => 'Version $1 (un kann en janze Täxte söhke)',
index fb2c736..239ddd8 100644 (file)
@@ -131,8 +131,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Nîşan bide, çiqas bikarhêner dişopînin',
 'tog-oldsig' => 'Pêşdîtina îmzeya heye:',
 'tog-fancysig' => 'Di îmzeyê de girêdana otomatîk a bikarhêner betal bike',
-'tog-externaleditor' => 'Edîtorekî derve bike "standard" (ji yên bi ezmûn re, tercîhên taybet di komputerê de hewce ne)',
-'tog-externaldiff' => 'Birnemijekî derve biguherîne "standard" (ji yên bi ezmûn re, tercîhên taybet di komputerê de hewce ne)',
 'tog-showjumplinks' => 'Girêdanên "Here-berve" qebûlbike',
 'tog-uselivepreview' => 'Pêşdîtina "zindî" bi kar bîne (JavaScript pêwîst e) (ceribandinî)',
 'tog-forceeditsummary' => 'Hinga kurteyeke vala hate tomarkirin min agahdar bike',
@@ -858,9 +856,6 @@ Sedema qedexekirina $3 ev e: ''$2''",
 'searchdisabled' => '<p>Tu dikarî li {{SITENAME}} bi Google an Yahoo! bigere. Têbînî: Dibe ku encamen lêgerîne ne yên herî nû ne.
 </p>',
 
-# Quickbar
-'qbsettings-none' => 'Tune',
-
 # Preferences page
 'preferences' => 'Tercîhên min',
 'mypreferences' => 'Tercihên min',
@@ -1004,10 +999,10 @@ Sedema qedexekirina $3 ev e: ''$2''",
 'right-sendemail' => 'Ji bikarhênerên di re e-name bişîne',
 
 # Special:Log/newusers
-'newuserlogpage' => 'çêkirina hesabê nû',
+'newuserlogpage' => 'Ã\87êkirina hesabê nû',
 
 # User rights log
-'rightslog' => 'guhertina mafê bikarhêneriyê',
+'rightslog' => 'Guhertina mafê bikarhêneriyê',
 'rightslogtext' => 'Ev guhertineke ji bo mafên bikarhêneriyê ye.',
 
 # Associated actions - in the sentence "You do not have permission to X"
@@ -1082,7 +1077,7 @@ anjî ji bo file'ên dengî '''<nowiki>[[</nowiki>{{ns:media}}:File.ogg<nowiki>]
 'upload-preferred' => 'Cureyên pelan yên tên xwestin: $1.',
 'upload-prohibited' => 'Cureyên pelan yên qedexekirî: $1.',
 'uploadlog' => 'barkirina belgeyan',
-'uploadlogpage' => 'barkirina belgeyan',
+'uploadlogpage' => 'Barkirina belgeyan',
 'filename' => 'Navê pelê',
 'filedesc' => 'Danasîn',
 'fileuploadsummary' => 'Kurte:',
@@ -1351,6 +1346,12 @@ Li [[Special:WantedCategories|kategoriyên xwestî]] binêre.',
 'listusers-noresult' => 'Bikarhêner nehate dîtin.',
 'listusers-blocked' => '(hate astengkirin)',
 
+# Special:ActiveUsers
+'activeusers' => 'Lîsteya bikarhênerên çalak',
+'activeusers-hidebots' => "Bot'an veşêre",
+'activeusers-hidesysops' => 'Rêveberan veşêre',
+'activeusers-noresult' => 'Tu bikarhêner nehate dîtin.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Mafên koma bikarhêner',
 'listgrouprights-group' => 'Kom',
@@ -1404,8 +1405,8 @@ Gava tu bixwazî wê rûpelê ji nav lîsteya xwe ya şopandinê derbixî, li se
 'notanarticle' => 'Ne gotar e',
 'watchnochange' => 'Ne rûpelek, yê tu dişopînê, hate xeyrandin di vê wextê da, yê tu dixazê bibînê.',
 'watchlist-details' => '{{PLURAL:$1|Rûpeleka|$1 rûpel}} li ser lîsteya te ya şopandinê, rûpelên gotûbêjê nayên jimartin.',
-'wlheader-enotif' => 'Agahdariya E-nameyê pêk tê.',
-'wlheader-showupdated' => "Ev rûpela hatî guhertin dema te lê meyzand bi '''nivîsa stûr''' tê xuyakirin.",
+'wlheader-enotif' => 'Agahdariya E-nameyê pêk tê.',
+'wlheader-showupdated' => "Ev rûpela hatî guhertin dema te lê meyzand bi '''nivîsa stûr''' tê xuyakirin.",
 'watchlistcontains' => 'Di lîsteya şopandina te de {{PLURAL:$1|rûpelek heye|$1 rûpel hene}}.',
 'wlnote' => "Niha {{PLURAL:$1|xeyrandinê|'''$1''' xeyrandinên}} dawî yê {{PLURAL:$2|seetê|'''$2''' seetên}} dawî {{PLURAL:$1|tê|tên}} dîtin.",
 'wlshowlast' => 'Guhertinên berî $1 saetan, $2 rojan, ya $3 nîşan bide',
@@ -1456,7 +1457,7 @@ Paşagahîdan û alîkaraya din:
 'actioncomplete' => 'Çalakî pêk hat',
 'actionfailed' => 'Çalakî têkçû',
 'deletedtext' => '"$1" hat jêbirin. Ji bo qeyda rûpelên ku di dema nêzîk de hatin jêbirin binêre $2.',
-'dellogpage' => 'jêbirina rûpelê',
+'dellogpage' => 'Jêbirina rûpelê',
 'dellogpagetext' => 'Li jêr lîsteyek ji jêbirinên dawî heye.',
 'deletionlog' => 'jêbirina rûpelê',
 'reverted' => 'Hate şondabirin berve verzyonekî berê',
@@ -1472,7 +1473,7 @@ Paşagahîdan û alîkaraya din:
 'delete-warning-toobig' => "Dîroka vê rûpelê pir mezin e, zêdetirî $1 guherandin. Jêbirina van rûpelan dikarin şaşbûnan di database'ê {{SITENAME}} da çêkin; zandibe tu çi dikê!",
 
 # Rollback
-'rollback_short' => 'bizîvirîne pêş',
+'rollback_short' => 'Bizîvirîne pêş',
 'rollbacklink' => 'bizîvirîne pêş',
 'cantrollback' => 'Guherto naye vegerandin;
 bikarhênerê dawî, tenya nivîskarê vê rûpelê ye.',
@@ -1735,7 +1736,7 @@ da bikarî navê wê rûpelê biguherînî.',
 'movepage-page-exists' => 'Rûpela $1 berê heye û ew nikane otomatîk were jêbirin.',
 'movepage-page-moved' => 'Rûpela $1 çû cihê $2.',
 'movepage-page-unmoved' => 'Rûpela $1 nikanî çûba ciha $2.',
-'movelogpage' => 'guhertina nav',
+'movelogpage' => 'Guhertina nav',
 'movelogpagetext' => 'Li jêr lîsteyek ji rûpelan ku navê wan hatiye guherandin heye.',
 'movenosubpage' => 'Binrûpelên vê rûpelê tune ne.',
 'movereason' => 'Sedem',
@@ -1924,7 +1925,7 @@ Ji ber ku girêdaneke derve di wê rûpelê de heye ev pirsgirêk pêk hat.',
 'metadata-expand' => 'Detayên dirêj nîşan bide',
 'metadata-collapse' => 'Detayên dirêj veşêre',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Panbûn',
 'exif-imagelength' => 'Dirêjbûn',
 'exif-jpeginterchangeformatlength' => "Byte'ên daneya JPEG",
@@ -2092,10 +2093,6 @@ Ji kerema xwe zanibe ku tu bi rastî dixwazî vê rûpelê dîsa çêkî.",
 'version-software-version' => 'Guherto',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath-page' => 'Wêne:',
-'filepath-submit' => 'Gotar',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Navê dosyeyê:',
 'fileduplicatesearch-submit' => 'Lê bigere',
index 245c003..55f572c 100644 (file)
@@ -224,6 +224,7 @@ $messages = array(
 'tog-watchlisthideliu' => "Cudha chanjyow gans devnydhyoryon omgelmys y'n rol golyas",
 'tog-watchlisthideanons' => "Cudha chanjyow gans devnydhyoryon heb hanow y'n rol golyas",
 'tog-showhiddencats' => 'Disqwedhes classys cudhys',
+'tog-useeditwarning' => 'Gwra ow gwarnya pan wrellen vy gasa folen chanjya gans chanjyow nag eus gwithys',
 
 'underline-always' => 'Puppres',
 'underline-never' => 'Jammes',
@@ -654,6 +655,8 @@ Gwrewgh checkya mars yw whans dhywgh gwruthyl/chanjya an folen-ma.',
 'moveddeleted-notice' => 'Diles yw an folen-ma.
 Yma covnoten dhileans ha gwayans an folen a-woles.',
 'log-fulllog' => 'Gweles an govnoten dien',
+'editwarning-warning' => 'Mar tewgh why ha gasa an folen-ma, chanjyow eus gwres genowgh a alsa bos kellys.
+Mars owgh why omgelmys, why a yll dialosegy an gwarnyans-ma yn trogh "Chanjya" agas dowisyansow.',
 
 # "Undo" feature
 'undo-summary' => 'Diswul amendyans $1 gans [[Special:Contributions/$2|$2]] ([[User talk:$2|kescows]])',
@@ -1308,7 +1311,7 @@ Why a yll gweles hy fennfenten.',
 'metadata-expand' => 'Disqwedhes manylyon ystynnys',
 'metadata-collapse' => 'Cudha manylyon ystynnys',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Les',
 'exif-imagelength' => 'Uhelder',
 'exif-artist' => 'Awtour',
@@ -1391,9 +1394,6 @@ Why a yll [[Special:EditWatchlist|usya an janjyel usadow]] ynwedh.',
 'version-other' => 'Aral',
 'version-version' => '(Versyon $1)',
 
-# Special:FilePath
-'filepath-page' => 'Restren:',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Hanow an restren:',
 'fileduplicatesearch-submit' => 'Whilas',
index e7cdfc6..9bb3544 100644 (file)
@@ -1089,6 +1089,12 @@ HTML-тегдеринин тууралыгын текшериңиз.',
 'listusers-noresult' => 'Катышуучу табылган жок.',
 'listusers-blocked' => '(блокировкаланды)',
 
+# Special:ActiveUsers
+'activeusers' => 'Активдүү катышуучулардын тизмеси',
+'activeusers-hidebots' => 'Ботторду жашыруу',
+'activeusers-hidesysops' => 'Администраторлорду жашыруу',
+'activeusers-noresult' => 'Катышуучулар табылган жок.',
+
 # Special:ListGroupRights
 'listgrouprights-group' => 'Топ',
 'listgrouprights-rights' => 'Укуктар',
@@ -1472,7 +1478,7 @@ HTML-тегдеринин тууралыгын текшериңиз.',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Туурасы',
 'exif-imagelength' => 'Бийиктик',
 'exif-imagedescription' => 'Сүрөт аты',
@@ -1517,7 +1523,7 @@ HTML-тегдеринин тууралыгын текшериңиз.',
 'exif-intellectualgenre' => 'Объекттин түрү',
 'exif-subjectnewscode' => 'Теманын коду',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Кыстырылбаган',
 
 'exif-copyrighted-true' => 'Автордук укук менен корголгон',
@@ -1669,11 +1675,6 @@ HTML-тегдеринин тууралыгын текшериңиз.',
 'version-software-version' => 'Версия',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Файл жолу',
-'filepath-page' => 'Файл:',
-'filepath-submit' => 'Өтүү',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Файл аты:',
 'fileduplicatesearch-submit' => 'Издөө',
index a0825ec..9cdcb10 100644 (file)
@@ -1158,7 +1158,7 @@ Los otros campos se van a guardar por defecto.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-filesource' => 'Manadéro de archivo',
 'exif-gpstimestamp' => 'Tiémpo GPS (óra atómica)',
 'exif-gpsdatestamp' => 'Dáta GPS',
@@ -1239,10 +1239,6 @@ Los otros campos se van a guardar por defecto.
 'version-poweredby-others' => 'otros',
 'version-software-version' => 'Versión',
 
-# Special:FilePath
-'filepath-page' => 'Dosya:',
-'filepath-submit' => 'Yir',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-submit' => 'Buscar',
 
index f542b47..f8fdad2 100644 (file)
@@ -289,6 +289,18 @@ $messages = array(
 'oct' => 'Okt.',
 'nov' => 'Nov.',
 'dec' => 'Dez.',
+'january-date' => '$1. Januar',
+'february-date' => '$1. Februar',
+'march-date' => '$1. Mäerz',
+'april-date' => '$1. Abrëll',
+'may-date' => '$1. Mee',
+'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|Kategorien}}',
@@ -565,7 +577,7 @@ Ufro: $2',
 Fir Iwwersetzungen fir all Wikien bäizesetzen oder z'änneren gitt w.e.g. op [//translatewiki.net/ translatewiki.net], de MediaWiki-Lokalisatiouns-Projet.",
 'editinginterface' => "'''Opgepasst:''' Dir sidd am Gaang, eng Säit z'änneren, déi do ass, fir Interface-Text fir d'Software ze liwweren. 
 Ännerungen op dëser Säit änneren den Interface-Text, jee no Kontext, op allen oder verschiddene Säiten, déi vun alle Benotzer op dëser Wiki gesi ginn. 
-Fir d'Iwwersetzungen fir all Wikien derbäizesetzen oder z'änneren gitt w.e.g. op [//translatewiki.net translatewiki.net], de MediaWiki-Lokalisatiouns-Projet.",
+Fir d'Iwwersetzunge fir all Wikien derbäizesetzen oder z'änneren gitt w.e.g. op [//translatewiki.net translatewiki.net], de MediaWiki-Lokalisatiouns-Projet.",
 'sqlhidden' => '(SQL-Offro verstoppt)',
 'cascadeprotected' => 'Dës Säit gouf fir Ännerunge gespaart, well se duerch Cascadeprotectioun vun {{PLURAL:$1|dëser Säit|dëse Säite}} gespaart ass mat der Cascadenoptioun:
 $2',
@@ -747,11 +759,11 @@ Vläicht hutt Dir Äert Passwuert scho geännert oder en neit temporäert Passwu
 
 # Special:PasswordReset
 'passwordreset' => 'Passwuert zrécksetzen',
-'passwordreset-text' => 'Fëllt dëse Formulaire aus fir Äert Passwuert zréckzesetzen.',
+'passwordreset-text-one' => 'Fëllt dëse Formulaire aus fir Äert Passwuert zréckzesetzen.',
+'passwordreset-text-many' => '{{PLURAL:$1|Gitt eng vun dësen Donnéeën a fir Ärt Passwuert zréckzesetzen.}}',
 'passwordreset-legend' => 'Passwuert zrécksetzen',
 'passwordreset-disabled' => "D'Zerécksetze vum Passwuert ass op dëser Wiki ausgeschalt.",
 'passwordreset-emaildisabled' => "D'E-Mail-Fonctioune goufen op dëser Wiki ausgeschalt.",
-'passwordreset-pretext' => '{{PLURAL:$1||Gitt eng vun dësen Donnéeën an}}',
 'passwordreset-username' => 'Benotzernumm:',
 'passwordreset-domain' => 'Domaine:',
 'passwordreset-capture' => "D'Mail kucken?",
@@ -880,7 +892,7 @@ D'Passwuert fir dësen neie Benotzerkont kann op der ''[[Special:ChangePassword|
 '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.",
 '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 Kommentäre 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.''",
+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.''",
 'noarticletext' => 'Dës Säit huet momentan keen Text.
 Dir kënnt op anere Säiten no [[Special:Search/{{PAGENAME}}|dësem Säitentitel sichen]],
 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} an den entspriechende Logbicher nokucken] oder [{{fullurl:{{FULLPAGENAME}}|action=edit}} esou eng Säit uleeën]</span>.',
@@ -987,12 +999,14 @@ Hei ass den Extrait aus dem Logbuch vum Réckelen a Läsche fir déi Säit.',
 Si gouf anscheinend geläscht.",
 'edit-conflict' => 'Ännerungskonflikt.',
 'edit-no-change' => 'Är ännerung gouf ignoréiert, well Dir näischt um Text geännert hutt.',
+'postedit-confirmation' => 'Är Ännerung gouf gespäichert.',
 'edit-already-exists' => 'Déi nei Säit konnt net ugeluecht ginn, well et se scho gëtt.',
 'defaultmessagetext' => 'Standardtext',
+'content-failed-to-parse' => 'Den $2-Inhalt fir den $1-Modell konnt net geparst ginn: $1',
 'invalid-content-data' => 'Donnéeë vum Inhalt sinn net valabel',
 'content-not-allowed-here' => '"$1"-Inhalt ass op der Säit [[$2]] net erlaabt',
 'editwarning-warning' => 'Wann Dir dës Säit verloosst kann dat dozou féieren datt Dir all Ännerungen, déi Dir gemaach hutt, verléiert.
-Wann Dir ageloggt sidd, kënnt Dir dës Warnung an der Sektioun "{{int:prefs-editing}}" vun Ären Astellungen ausschalten.',
+Wann Dir ageloggt sidd, kënnt Dir dës Warnung an der Sektioun "Änneren" vun Ären Astellungen ausschalten.',
 
 # Content models
 'content-model-wikitext' => 'Wikitext',
@@ -2217,8 +2231,8 @@ All weider Ännerungen op dëser Säit an der assoziéierter Diskussiounssäit g
 'notvisiblerev' => 'Versioun gouf geläscht',
 'watchnochange' => 'Keng vun Ären iwwerwaachte Säite gouf während der ugewisener Zäit verännert.',
 'watchlist-details' => "{{PLURAL:$1|1 Säit|$1 Säiten}} sinn op ärer Iwwerwaachungsklëscht (d'Diskussiounssäite net matgezielt).",
-'wlheader-enotif' => '* E-Mail-Bescheed ass aktivéiert.',
-'wlheader-showupdated' => "Säiten déi zënter ärer leschter Visite geännert goufen, si '''fett''' geschriwwen",
+'wlheader-enotif' => 'E-Mail-Notifikatioun ass ageschalt.',
+'wlheader-showupdated' => "Säiten déi zënter ärer leschter Visite geännert goufen, si '''fett''' geschriwwen",
 'watchmethod-recent' => 'Rezent Ännerunge ginn op iwwerwaacht Säiten iwwerpréift',
 'watchmethod-list' => 'Iwwerwaachte Säite ginn op rezent Ännerungen iwwerpréift',
 'watchlistcontains' => 'Op ärer Iwwerwaachungslëscht $1 {{PLURAL:$1|steet $1 Säit|stinn $1 Säiten}}.',
@@ -2242,6 +2256,9 @@ All weider Ännerungen op dëser Säit an der assoziéierter Diskussiounssäit g
 'enotif_subject_changed' => "D'{{SITENAME}}-Säit $1 gouf vum {{gender:$2|$2}} geännert",
 'enotif_body_intro_deleted' => 'D\'{{SITENAME}}-Säit $1 gouf de(n) $PAGEEDITDATE {{gender:$2|vum $2|vun der $2}} geläscht, kuckt $3.',
 'enotif_body_intro_created' => 'D\'{{SITENAME}}-Säit $1 gouf den $PAGEEDITDATE vum $2 {{GENDER:$2|ugeluecht}}, kuckt $3 fir déi aktuell Versioun.',
+'enotif_body_intro_moved' => 'D\'{{SITENAME}}-Säit $1 gouf den $PAGEEDITDATE vum $2 {{GENDER:$2|geréckelt}}, kuckt $3 fir déi aktuell Versioun.',
+'enotif_body_intro_restored' => 'D\'{{SITENAME}}-Säit $1 gouf den $PAGEEDITDATE vum $2 {{GENDER:$2|restauréiert}}, kuckt $3 fir déi aktuell Versioun.',
+'enotif_body_intro_changed' => 'D\'{{SITENAME}}-Säit $1 gouf den $PAGEEDITDATE vum $2  {{GENDER:$2|geännert}}, kuckt $3 fir déi aktuell Versioun',
 'enotif_lastvisited' => 'All Ännerungen op ee Bléck: $1',
 'enotif_lastdiff' => 'Kuckt $1 fir dës Ännerung.',
 'enotif_anon_editor' => 'Anonyme Benotzer $1',
@@ -2349,6 +2366,7 @@ Kuckt d'[[Special:ProtectedPages|Lëscht vun de gespaarte Säite]] fir eng Lësc
 'prot_1movedto2' => '[[$1]] gouf op [[$2]] geréckelt',
 'protect-badnamespace-title' => 'Nummraum deen net gespaart ka ginn',
 'protect-badnamespace-text' => 'Säiten an dësem Nummraum kënnen net gespaart ginn.',
+'protect-norestrictiontypes-text' => 'Dës Säit kann net gespaart gi well keng Restriktiounstypen disponibel sinn.',
 'protect-norestrictiontypes-title' => 'Säit kann net gespaart ginn',
 'protect-legend' => "Confirméiert d'Protectioun",
 'protectcomment' => 'Grond:',
@@ -2627,6 +2645,7 @@ Si ass awer als Deel vun der Rei $2 gespaart, an dës Spär kann opgehuewe ginn.
 'proxyblocksuccess' => 'Gemaach.',
 'sorbsreason' => 'Är IP Adress steet als oppene Proxy an der schwaarzer Lëscht (DNSBL) déi vu {{SITENAME}} benotzt gëtt.',
 'sorbs_create_account_reason' => 'Är IP-Adress steet als oppene Proxy an der schwaarzer Lëscht déi op {{SITENAME}} benotzt gëtt. DIr kënnt keen neie Benotzerkont opmaachen.',
+'xffblockreason' => 'Eng IP-Adress am X-Forwarded-For-Header gouf gespaart, entweder Är oder déi vum Proxyserver deen Dir benotzt. De Grond vun der Spär war: $1',
 'cant-block-while-blocked' => 'Dir däerft keng aner Benotzer spären, esou lang wéi dir selwer gespaart sidd.',
 'cant-see-hidden-user' => "De Benotzer deen Dir versicht ze spären ass scho gespaart a verstoppt. Well Dir d'Recht ''Hideuser'' net hutt kënnt Dir dëse Benotzer net gesinn an dem Benotzer seng Spär net änneren.",
 'ipbblocked' => 'Dir kënnt keng aner Benotzer spären oder hir Spär ophiewen well Dir selwer gespaart sidd',
@@ -2789,6 +2808,8 @@ Besicht w.e.g. [//www.mediawiki.org/wiki/Localisation MediaWiki Localisatioun] a
 'thumbnail-more' => 'vergréisseren',
 'filemissing' => 'Fichier feelt',
 'thumbnail_error' => 'Feeler beim Erstelle vun der Miniatur: $1',
+'thumbnail_error_remote' => 'Feelermessage vum $1:
+$2',
 'djvu_page_error' => 'DjVu-Säit baussent dem Säiteberäich',
 'djvu_no_xml' => 'Den XML ka fir den DjVu-Fichier net ofgeruff ginn',
 'thumbnail-temp-create' => "Den temporäre Fichier fir d'Minitaurbild konnt net ugeluecht ginn",
@@ -3716,6 +3737,7 @@ Dir misst eng [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie vun der GNU General Public
 # Special:Redirect
 'redirect' => 'Viruleedung duerch e Fichier, Benotzer oder Versiouns-ID',
 'redirect-legend' => 'Viruleedung op ee Fichier oder eng Säit',
+'redirect-summary' => 'Dës Spezialsäit ass eng Viruleedung op e Fichier (Fichiersnumm uginn), eng Säit (Versiounsnummer uginn) oder eng Benotzersäit (numeresch Benotzeridentifikatioun uginn).',
 'redirect-submit' => 'Lass',
 'redirect-lookup' => 'Nosichen:',
 'redirect-value' => 'Wäert:',
@@ -3825,9 +3847,12 @@ Dir misst eng [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie vun der GNU General Public
 'logentry-delete-delete' => "$1 {{GENDER:$2|huet}} d'Säit $3 geläscht",
 'logentry-delete-restore' => "$1 {{GENDER:$2|huet}} d'Säit $3 restauréiert",
 'logentry-delete-event' => "$1 huet d'Visibilitéit vun {{PLURAL:$5|engem Evenement|$5 Evenementer}} am Logbuch op $3:$4 {{GENDER:$2|geännert}}",
+'logentry-delete-revision' => "$1 huet d'Visibilitéit {{PLURAL:$5|vun enger Versioun|vu(n) $5 Versiounen}} op der Säit $3:$4 {{GENDER:$2|geännert}}",
 'logentry-delete-event-legacy' => "$1 huet d'Visibilitéit vun Elementer am Log op $3 {{GENDER:$2|geännert}}",
 'logentry-delete-revision-legacy' => "$1 huet d'Visibilitéit vu Versioune vun der Säit $3 {{GENDER:$2|geännert}}",
 'logentry-suppress-delete' => "$1 {{GENDER:$2|huet}} d'Säit $3 ewechgeholl",
+'logentry-suppress-event' => "$1 huet diskret d'Visibilitéit vu(n) {{PLURAL:$5|engem Evenement|$5 Evenementer}} am Logbuch op $3:$4 {{GENDER:$2|geännert}}",
+'logentry-suppress-revision' => "$1 huet diskret d'Visibilitéit {{PLURAL:$5|vun enger Versioun|vu(n) $5 Versiounen}} op der Säit $3:$4 {{GENDER:$2|geännert}}",
 'logentry-suppress-event-legacy' => "$1 {{GENDER:$2|huet}} diskret d'Visibilitéit vun Elementer am Log op $3 geännert",
 'logentry-suppress-revision-legacy' => "$1 huet diskret d'Visibilitéit vu Versioune vun der Säit $3 {{GENDER:$2|geännert}}",
 'revdelete-content-hid' => 'Inhalt verstoppt',
index 4581026..85d36e0 100644 (file)
@@ -1220,7 +1220,7 @@ Cиягьда авай анжах (* лишандихъ галаз эгечIза
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Гьяркьуь',
 'exif-planarconfiguration' => 'Ганайбур тешкил авун',
 'exif-ycbcrsubsampling' => ' Y  ва C компонентрин кьадаррин нисбет',
index 4e0d64b..909dea4 100644 (file)
@@ -63,7 +63,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Descovre la me adirije de eposta en postas de nota',
 'tog-shownumberswatching' => 'Mostra la numero de usores oservante',
 'tog-fancysig' => 'Sinias simple (sin lia automatica)',
-'tog-externaleditor' => 'Usa costumal editadores esterna',
 'tog-watchlisthideown' => 'Asconde me editas de la lista de pajes oservada',
 'tog-watchlisthidebots' => 'Asconde editas par bot de la lista de pajes oservada',
 'tog-watchlisthideminor' => 'Asconde editas minor de la lista de pajes oservada',
@@ -662,7 +661,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'listgrouprights-group' => 'Grupo',
 'listgrouprights-members' => '(lista de membros)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Envia un eposta a esta usor',
 'emailfrom' => 'De',
 'emailto' => 'Per',
@@ -930,7 +929,7 @@ Si la fix ia es cambiada de se stato orijinal, alga detalias pote no es clara en
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-exposuretime-format' => '$1 sec. ($2)',
 
 # External editor support
@@ -954,9 +953,6 @@ Si la fix ia es cambiada de se stato orijinal, alga detalias pote no es clara en
 'version' => 'Varia',
 'version-version' => '(Varia $1)',
 
-# Special:FilePath
-'filepath-page' => 'Fix:',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-submit' => 'Xerca',
 
index d951f6e..7f14e50 100644 (file)
@@ -41,8 +41,6 @@ $messages = array(
 'tog-shownumberswatching' => "Ndaganga obungi bw'abagoberera olupapula",
 'tog-oldsig' => 'Omukono gwo kakano:',
 'tog-fancysig' => 'Omukono gubemu obubonero bwa ki-wiki (naye nga tegufuuka nyunzi)',
-'tog-externaleditor' => 'Wandikisanga puloguramu eri ku kompyuta yo (kyetaagisa bumanyirivu bungi, kubanga wetaaga okutegeka kompyuta yo mu ngeri ezitali za bulijjo. [//www.mediawiki.org/wiki/Manual:External_editors Okutangaaza okusingawo.])',
-'tog-externaldiff' => "Kozesanga puloguramu ey'oku kompyuta yo okukebera njawulo wakati w'ebiwandike (kyetaagisa bumanyirivu bungi, wetaaga ntegeka ezitali za bulijjo ku kompyuta yo. [//www.mediawiki.org/wiki/Manual:External_editors Okutangaaza okusingawo.])",
 'tog-showjumplinks' => 'Wabeerewo enyunzi eza "Genda ku"',
 'tog-uselivepreview' => 'Enkyukakyuka ze nkoze zirabikirewo nga tekyetaagisiza kumala kunyiga ppeesa (kyetaagisa JavaScript)(Kikyagezesebwa)',
 'tog-forceeditsummary' => 'Ŋambaako bwe mba ŋenda okuleka nga sinnyonyodde bye nkyusizza',
@@ -750,6 +748,9 @@ Kirabika lwagyibwawo.',
 'edit-no-change' => "Sisitemu ekubaze nga atalina ky'agikozeko, olw'okubanga ebiri ku lupapula obirese nga bwe wabisanze.",
 'edit-already-exists' => "Olupapula lw'ogeza okukolawo weruli, lwakolebwawo dda.<br />
 Tekisobose kuddamu n'ate oulukolawo.",
+'editwarning-warning' => 'Bw\'ova ku lupapula luno kiyinza okuleetera enkyukakyuka z\'olukozeko okuvawo.<br />
+Bw\'oba nga okola oyingidde mu sisitemu, okulabula kuno oyinza okukusirisa nga weyambisa<br />
+ebiri mu kitundu ekya "Kukyusa" eky\'omu "Nteekateeka yange".',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => "'''Kulabula:''' Olupapula luno luliko ebiragiro eby'ekikebera engoberera y'amateeka g'empandika ebizito ebiyitiridde obungi.<br />
index bbee13e..5ce6bb4 100644 (file)
@@ -2019,6 +2019,15 @@ Haet mèndestes e toepleveldomein, wie beveurbeildj "*.org".<br />
 'listusers-noresult' => 'Gein(e) gebroeker(s) gevonje.',
 'listusers-blocked' => '(geblok)',
 
+# Special:ActiveUsers
+'activeusers' => 'Aktief gebroekers',
+'activeusers-intro' => "Dit is 'n lies mit gebroekers die aktief zeen gewaes in de aafgeloupe {{PLURAL:$1|daag|$1 daag}}.",
+'activeusers-count' => '$1 {{PLURAL:$1|bewèrking|bewèrkinger}} inne {{PLURAL:$3|lèsten daag|lès $3 daag}}',
+'activeusers-from' => 'Tuin gebroekers vanaaf:',
+'activeusers-hidebots' => 'Verberg bots',
+'activeusers-hidesysops' => 'Verberg admins',
+'activeusers-noresult' => 'Gein gebroekers gevónje.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Rechte van gebroekersgróppe',
 'listgrouprights-summary' => 'Op dees pazjena sjtaon de gebroekersgróppe in deze wiki besjreve, mit zien biebehurende rechte.
@@ -2094,8 +2103,8 @@ Toekomstige verangeringe aan dees pagina en de biebehurende euverlèkpagina weur
 'notvisiblerev' => 'Bewèrking is verwiederd',
 'watchnochange' => 'Gein van dien gevolgde items is aangepas in dees periode.',
 'watchlist-details' => "D'r {{PLURAL:$1|sjteit ein pagina|sjtaon $1 pagina's}} op dien volglies mit oetzunjering van de euverlèkpagina's.",
-'wlheader-enotif' => 'Doe wörs per e-mail gewaarsjuwd',
-'wlheader-showupdated' => "Pazjena's die verangerd zeen saers doe ze veur 't lètste bekeeks sjtaon '''vet'''",
+'wlheader-enotif' => 'Doe wörs per e-mail gewaarsjuwd',
+'wlheader-showupdated' => "Pazjena's die verangerd zeen saers doe ze veur 't lètste bekeeks sjtaon '''vet'''",
 'watchmethod-recent' => "Controleer recènte verangere veur gevolgde pazjena's",
 'watchmethod-list' => "controlere van gevolgde pazjena's veur recènte verangeringe",
 'watchlistcontains' => "Dien volglies bevat $1 {{PLURAL:$1|pazjena|pazjena's}}.",
@@ -2910,7 +2919,7 @@ Alle volgende links die op dezelfde regel sjtaon, waere behanjeld es oetzunjerin
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Breidte',
 'exif-imagelength' => 'Hoogte',
 'exif-bitspersample' => 'Bits per componènt',
@@ -3088,7 +3097,7 @@ Alle volgende links die op dezelfde regel sjtaon, waere behanjeld es oetzunjerin
 'exif-originalimageheight' => 'Heugdje vanne aafbeilding veur biesnieje',
 'exif-originalimagewidth' => 'Brèdje vanne aafbeilding veur biesnieje',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Óngecómprimeerd',
 'exif-compression-2' => 'CCITT Groep 3 1-dimensionale aangepasde "Huffman run length"-codering',
 'exif-compression-3' => 'CCITT Groep 3 faxcodering',
@@ -3496,13 +3505,6 @@ Same mit dit programma heurs se 'n [{{SERVER}}{{SCRIPTPATH}}/COPYING kopie van d
 'version-entrypoints-header-entrypoint' => 'Ingank',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Bestandjspaad',
-'filepath-page' => 'Bestandj:',
-'filepath-submit' => 'Zeuk',
-'filepath-summary' => "Dees speciaal pazjena guf 't vollejig paad veur 'n bestandj.
-Aafbeildinge waere in häör vollejige resolutie getoeandj. Anger bestandjstypes waere drèk in 't mit 't MIME-type verbónje programma geäöpendj.",
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Zeuk veur döbbelbestaondje bestenj',
 'fileduplicatesearch-summary' => 'Zeuk veur döbbel bestaondje bestenj op basis van zien hashwaarde.',
index 81dfab4..a7d4106 100644 (file)
@@ -1319,7 +1319,7 @@ I inganci sucescivi, in scia mæxima riga, van conscideræ comme eceçioìn (pag
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-datetime' => 'Data e öa do cangiamento do papê',
 'exif-artist' => 'Autô',
 'exif-copyright' => "Diritti d'autô de",
index eaf2125..e99297e 100644 (file)
@@ -495,7 +495,7 @@ Legend: '''({{int:cur}})''' = vaiţīd līdzinţõmizõks lǟndz redaktsijõks,,
 # Special:ListGroupRights
 'listgrouprights-members' => '(nõtkõmd nimkēra)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Sōtõgid sīen kȭlbatijizõn e-kēra',
 
 # Watchlist
index bc88182..2566cbf 100644 (file)
@@ -132,8 +132,6 @@ süi titul dai sezziún (JavaScript)',
 'tog-enotifrevealaddr' => "Lassa vedè 'l mè indirizz e-mail int i messagg d'avis",
 'tog-oldsig' => 'Anteprima de la firma esistenta:',
 'tog-fancysig' => 'Trata la firma cume test wiki (senza nissön ligam utumatich)',
-'tog-externaleditor' => "Dröva semper un prugrama da redatazión estern (dumà per espert, 'l gh'ha de besogn d'impustazión speciaj ins 'l to computer)",
-'tog-externaldiff' => 'Druvá sempar un "diff" estèrnu',
 'tog-watchlisthideown' => "Sconda i me mudifich dai pagin che a ten d'ögg",
 'tog-watchlisthidebots' => "Sconda i mudifich di bot da i pagin che a ten d'ögg",
 'tog-ccmeonemails' => 'Spedissem una copia di messagg spedii a i alter druvadur',
@@ -945,7 +943,7 @@ La descrizión sura la sua [$2 pagina de descrizión del file] l'è mustrada ch
 'listgrouprights' => 'Dirit del grüp di druvat',
 'listgrouprights-members' => '(Lista di member)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Manda un email a quel druvadur chì',
 'emailsent' => 'Messagg spedii',
 'emailsenttext' => "El messagg e-mail l'è staa spedii.",
@@ -1338,7 +1336,7 @@ I ligam che i vegnen dopu, in sü l'istessa riga, i vegnen cónsideraa di ecezi
 'namespacesall' => 'tücc',
 'monthsall' => 'tücc',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail' => "Cunferma l<nowiki>'</nowiki>''e-mail''",
 'confirmemail_text' => "Prima da pudé riçeef mesacc sül tò adrèss da pòsta letrònica l è neçessari verificál.
 Schiscjá ul butún che gh'è chi da sót par curfermá al tò adrèss.
@@ -1362,9 +1360,6 @@ Te riçevaree un mesacc cun deent un ligamm specjal; ti duvaree clicaa sül liga
 # Special:Version
 'version' => 'Versiun',
 
-# Special:FilePath
-'filepath' => 'Percuurz daj archivi',
-
 # Special:SpecialPages
 'specialpages' => 'Paginn special',
 
index d63187d..e29c4c0 100644 (file)
@@ -377,9 +377,6 @@ Ezalí listɛ́ ya nkásá gudi bizalí  na [[Special:SpecialPages|{{int:special
 'powersearch-toggleall' => 'Nyɔ́nsɔ',
 'powersearch-togglenone' => 'Mɔ́kɔ́ tɛ́',
 
-# Quickbar
-'qbsettings-none' => 'Mɔ́kɔ́ tɛ́',
-
 # Preferences page
 'preferences' => 'Malúli',
 'mypreferences' => 'Malúli ma ngáí',
@@ -526,7 +523,7 @@ Ezalí listɛ́ ya nkásá gudi bizalí  na [[Special:SpecialPages|{{int:special
 # Special:Categories
 'categories' => 'Ndéngé',
 
-# E-mail user
+# Email user
 'emailuser' => 'Kotíndela yě mɛ́lɛ',
 'defemailsubject' => '{{SITENAME}} mokánda',
 'emailfrom' => 'útá',
@@ -703,7 +700,7 @@ Ezalí listɛ́ ya nkásá gudi bizalí  na [[Special:SpecialPages|{{int:special
 # Special:NewFiles
 'ilsubmit' => 'Boluki',
 
-# EXIF tags
+# Exif tags
 'exif-artist' => 'Mokeli',
 
 'exif-subjectdistancerange-2' => 'kokanga view',
index 7e9dcd7..a3898ea 100644 (file)
@@ -122,8 +122,6 @@ $messages = array(
 'tog-enotifminoredits' => 'ສົ່ງ ອີເມລ ໃຫ້ຂ້ອຍ ເວລາມີການດັດແກ້ເລັກນ້ອຍນຳ',
 'tog-enotifrevealaddr' => 'ສະແດງ ອີເມລ ຂອງຂ້ອຍ ໃນ ການແຈ້ງວ່າມີຂໍ້ຄວາມອີເມລ',
 'tog-shownumberswatching' => 'ສະແດງ ຈຳນວນຜູ້ໃຊ້ ຕິດຕາມໝ້ານີ້',
-'tog-externaleditor' => 'ໃຊ້ ເອດິດເຕີທາງນອກ ຖ້າບໍ່ມີການຕັ້ງ',
-'tog-externaldiff' => 'ໃຊ້ ສ່ວນຕ່າງທາງນອກ ຖ້າບໍ່ມີ ການກຳໜົດ',
 'tog-forceeditsummary' => 'ເຕື່ອນຂ້ອຍ ຖ້າບໍ່ໄດ້ຂຽນຫຍັງໃສ່ ຊ່ອງ ສະຫຼຸບການດັດແກ້',
 'tog-watchlisthideown' => 'ເຊື່ອງ ການດັດແກ້ໂດຍຂ້ອຍ ໃນ ລາຍການຕິດຕາມຂອງຂ້ອຍ',
 'tog-watchlisthidebots' => 'ເຊື່ອງ ການດັດແກ້ ໂດຍ ບອທ໌ ໃນລາຍການຕິດຕາມຂອງຂ້ອຍ',
@@ -687,7 +685,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 # Special:ListUsers
 'listusers-submit' => 'ສະແດງ',
 
-# E-mail user
+# Email user
 'emailuser' => 'ສົ່ງອີເມລ ຫາ ຜູ້ໃຊ້ນີ້',
 'emailpage' => 'ສົ່ງອີເມລ ຫາ ຜູ້ໃຊ້',
 'emailpagetext' => 'ຖ້າຜູ້ໃຊ້ນີ້ ຂຽນທີ່ຢູ່ອີເມລຢ່າງຖືກຕ້ອງຢູ່ການຕັ້ງຄ່າຂອງລາວ, ຟອມທາງລຸ່ມນີ້​ ຈະສົ່ງຂໍ້ຄວາມໜຶ່ງຫາທີ່ຢູ່ອີເມລນັ້ນ.
@@ -714,7 +712,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'watchthispage' => 'ຕິດຕາມໜ້ານີ້',
 'unwatch' => 'ເຊົາຕິດຕາມ',
 'watchnochange' => 'ບໍ່ມີໜ້າທີ່ທ່ານຕິດຕາມໃດໆ ຖືກດັດແປງໃນໄລຍະສະແດງຂ້າງເທິງນີ້.',
-'wlheader-showupdated' => "ບັນດາ ໜ້າ ທີ່ມີການປ່ຽນແປງ ຫຼັງຈາກທີ່ທ່ານ ເຂົ້າຊົມຫຼ້າສຸດ ຈະຖືກສະແດງເປັນ ໂຕໜັງສື  '''ເຂັ້ມ'''",
+'wlheader-showupdated' => "ບັນດາ ໜ້າ ທີ່ມີການປ່ຽນແປງ ຫຼັງຈາກທີ່ທ່ານ ເຂົ້າຊົມຫຼ້າສຸດ ຈະຖືກສະແດງເປັນ ໂຕໜັງສື  '''ເຂັ້ມ'''",
 'wlshowlast' => 'ສະແດງ $1 ຊົ່ວໂມງຫຼ້າສຸດ $2 ມື້ຫຼ້າສຸດ $3',
 
 # Displayed when you click the "watch" button and it is in the process of watching
@@ -901,7 +899,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 # Metadata
 'metadata-expand' => 'ສະແດງລະອຽດຕື່ມ',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'ຄວາມກ້ວາງ',
 'exif-imagelength' => 'ຄວາມສູງ',
 'exif-imagedescription' => 'ຫົວຂໍ້ຮູບ',
@@ -917,7 +915,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'namespacesall' => 'ທັງໝົດ',
 'monthsall' => 'ທັງໝົດ',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail' => 'ຢືນຢັນ ທີ່ຢູ່ ອີເມລ',
 'confirmemail_pending' => 'ລະຫັດຢືນຢັນ ໄດ້ຖືກສົ່ງໄປ ທີ່ຢູ່ ອີເມລ ຂອງ ທ່ານ; ຖ້າ ທ່ານ ຫາກໍ່ສ້າງບັນຊີ
 , ທ່ານ ຄວນຈະລໍຖ້າໜ້ອຍໜຶ່ງ ກ່ອນຈະ ພະຍາຍາມ
@@ -962,9 +960,6 @@ Also see [[Special:WantedCategories|wanted categories]].',
 # Special:Version
 'version' => 'ສະບັບ',
 
-# Special:FilePath
-'filepath' => 'ທາງໄປຫາໄຟລ໌',
-
 # Special:SpecialPages
 'specialpages' => 'ໜ້າພິເສດ',
 
index 6f66906..0295b8e 100644 (file)
@@ -35,8 +35,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Kamukile zwa adress di meli di xete peson kwa melina notifikasyona',
 'tog-shownumberswatching' => 'Kamukile tali di kentezi sebelu',
 'tog-fancysig' => "Ro sebu e data (dicon ling'ki auto)",
-'tog-externaleditor' => "Sebelize hloli ye ng'i ektenali dauto",
-'tog-externaldiff' => 'Sebelize petuho ektenali dauto',
 'tog-showjumplinks' => 'Nyembulisize "sinkumukezi" ling\'ki',
 'tog-uselivepreview' => 'Sebelize live PendiBe (bulukezi JavaScript) (yem nca)',
 'tog-watchlisthideown' => 'Cwankekile zwa afina di zwa mukoloko di kentezi',
@@ -461,9 +459,6 @@ Informasi: (bye) = petuho a nca selt,
 'showingresultsnum' => "Kamukile {{PLURAL:$3|'''1''' ekali|'''$3''' ekalina}} di #'''$2'''.",
 'powersearch' => 'Fatukile',
 
-# Quickbar
-'qbsettings-none' => 'Ni',
-
 # Preferences page
 'preferences' => 'Petohoni di sebelu',
 'mypreferences' => 'Zwa petohoni di sebelu',
@@ -695,7 +690,7 @@ di uplodezi media.',
 'listusers-submit' => 'Kamukile',
 'listusers-noresult' => 'Ni-di sebelu.',
 
-# E-mail user
+# Email user
 'emailuser' => 'Imeli bye sebelu',
 'emailpage' => 'Imeli sebelu',
 'defemailsubject' => '{{SITENAME}} meli',
@@ -1019,7 +1014,7 @@ Xete ling'ki kwa lina sa konsidisize desepo. Petulo dimedi inlinenikusize.",
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagedescription' => 'Sebu di imegi',
 
 # External editor support
index ab46f41..8bf794c 100644 (file)
@@ -2058,6 +2058,15 @@ Palaikomi protokolai: <code>$1</code> (nei vieno iš jų nenurodykite paieškoje
 'listusers-noresult' => 'Nerasta jokių naudotojų.',
 'listusers-blocked' => '(užblokuotas)',
 
+# Special:ActiveUsers
+'activeusers' => 'Aktyvių naudotojų sąrašas',
+'activeusers-intro' => 'Tai naudotojų sąrašas, kurie ką nors padarė per $1 {{PLURAL:$1|paskutinę dieną|paskutines dienas|paskutinių dienų}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|keitimas|keitimai|keitimų}} per $3 {{PLURAL:$3|paskutinę dieną|paskutines dienas|paskutinių dienų}}',
+'activeusers-from' => 'Rodyti naudotojus, pradedant:',
+'activeusers-hidebots' => 'Slėpti robotus',
+'activeusers-hidesysops' => 'Slėpti administratorius',
+'activeusers-noresult' => 'Nerasta jokių naudotojų.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Naudotojų grupių teisės',
 'listgrouprights-summary' => 'Žemiau pateiktas naudotojų grupių, apibrėžtų šioje wiki, ir su jomis susijusių teisių sąrašas.
@@ -2136,8 +2145,8 @@ taip pat bus '''paryškinti''' [[Special:RecentChanges|naujausių keitimų sąra
 'notvisiblerev' => 'Versija buvo ištrinta',
 'watchnochange' => 'Pasirinktu laikotarpiu nebuvo redaguotas nei vienas stebimas puslapis.',
 'watchlist-details' => 'Stebima {{PLURAL:$1|$1 puslapis|$1 puslapiai|$1 puslapių}} neskaičiuojant aptarimų puslapių.',
-'wlheader-enotif' => 'El. pašto priminimai yra įjungti.',
-'wlheader-showupdated' => "Puslapiai pakeisti nuo tada, kai paskutinį kartą apsilankėte juose, yra pažymėti '''pastorintai'''",
+'wlheader-enotif' => 'El. pašto priminimai yra įjungti.',
+'wlheader-showupdated' => "Puslapiai pakeisti nuo tada, kai paskutinį kartą apsilankėte juose, yra pažymėti '''pastorintai'''",
 'watchmethod-recent' => 'tikrinami naujausi stebimųjų puslapių pakeitimai',
 'watchmethod-list' => 'ieškoma naujausių keitimų stebimuose puslapiuose',
 'watchlistcontains' => 'Jūsų stebimųjų sąraše yra $1 {{PLURAL:$1|puslapis|puslapiai|puslapių}}.',
@@ -3047,7 +3056,7 @@ Visos kitos nuorodos toje pačioje eilutėje yra laikomos išimtimis, t. y. pusl
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Plotis',
 'exif-imagelength' => 'Aukštis',
 'exif-bitspersample' => 'Bitai komponente',
@@ -3225,7 +3234,7 @@ Visos kitos nuorodos toje pačioje eilutėje yra laikomos išimtimis, t. y. pusl
 'exif-originalimageheight' => 'Piešinio aukštis prieš apkarpymą',
 'exif-originalimagewidth' => 'Piešinio plotis prieš apkarpymą',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nesuspausta',
 'exif-compression-2' => 'CCITT grupės 3 1-Dimensijos Modifikuotas Hafmano duomenų paleidimo ilgio kodavimas.',
 'exif-compression-3' => 'CCITT 3 grupės fakso kodavimas',
@@ -3644,13 +3653,6 @@ Jūs turėjote gauti [{{SERVER}}{{SCRIPTPATH}}/COPYING GNU General Public Licens
 'version-entrypoints-header-entrypoint' => 'Įėjimo taškas',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Failo kelias',
-'filepath-page' => 'Failas:',
-'filepath-submit' => 'Kelias',
-'filepath-summary' => 'Šis specialusis puslapis parašo pilną kelią iki failo.
-Paveikslėliai yra rodomi pilna raiška, kiti failų tipai paleidžiami tiesiogiai su jų susietąja programa.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Ieškoti dublikuotų failų',
 'fileduplicatesearch-summary' => 'Pasikartojančių failų paieška pagal jų kontrolinę sumą.',
index d51483a..46d2694 100644 (file)
@@ -595,7 +595,7 @@ Lopys, kas ir tovā [[Special:Watchlist|puorraugamūs rokstu sarokstā]] ir '''r
 'listgrouprights-members' => '(dalinīku saroksts)',
 'listgrouprights-addgroup' => 'Dalikt {{PLURAL:$2|grupu|grupys}}: $1',
 
-# E-mail user
+# Email user
 'emailuser' => 'Syuteit e-postu itam lītuotuojam',
 'emailmessage' => 'Viestejums:',
 
@@ -892,9 +892,6 @@ Puorejī lauki, piec nūklusiejuma, byus nūglobuoti.
 'version-software-product' => 'Produkts',
 'version-software-version' => 'Verseja',
 
-# Special:FilePath
-'filepath-page' => 'Fails:',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Faila pasauka:',
 
index af02732..7bd9062 100644 (file)
@@ -1374,6 +1374,12 @@ Hetah hian [[Special:UnusedCategories|pawl hman lohho]] pholan tel a ni lo.
 'listusers-noresult' => 'Hmangtu an awm lo.',
 'listusers-blocked' => '(danbeh)',
 
+# Special:ActiveUsers
+'activeusers' => 'Hmangtu hlun tlarna',
+'activeusers-hidebots' => 'Khawlmi thupna',
+'activeusers-hidesysops' => 'Roreltu thupna',
+'activeusers-noresult' => 'Hmangtu awm lo.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Hmangtu pawl dikna-chanvote',
 'listgrouprights-key' => '* <span class="listgrouprights-granted">Dikna-chanvo phalsak</span>
@@ -1822,7 +1828,7 @@ A bak zawng chu thuhrûk sa vek a ni ang.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Zàuzáwng',
 'exif-imagelength' => 'Sànzáwng',
 'exif-bitspersample' => 'Péng khata mal(bit) awm zât',
index cd9dd79..c0510ca 100644 (file)
@@ -1813,7 +1813,7 @@ Ja vēlāk pārdomāsi un nevēlēsies vairs uzraudzīt šo lapu, klikšķini uz
 'watchnochange' => 'Neviena no tevis uzraudzītajām lapām nav mainīta parādītajā laika posmā.',
 'watchlist-details' => '(Tu uzraugi $1 {{PLURAL:$1|lapu|lapas}}, neieskaitot diskusiju lapas.)',
 'wlheader-enotif' => 'E-pasta paziņojumi ir ieslēgti.',
-'wlheader-showupdated' => "Lapas, kuras ir tikušas izmainītas, kopš tu tās pēdējoreiz apskatījies, te rādās ar '''pustrekniem''' burtiem",
+'wlheader-showupdated' => "Lapas, kuras ir tikušas izmainītas, kopš tu tās pēdējoreiz apskatījies, te rādās ar '''pustrekniem''' burtiem",
 'watchlistcontains' => 'Tavā uzraugāmo lapu sarakstā ir $1 {{PLURAL:$1|lapa|lapas}}.',
 'iteminvalidname' => "Problēma ar '$1' vienību, nederīgs nosaukums...",
 'wlshowlast' => 'Parādīt izmaiņas pēdējo $1 stundu laikā vai $2 dienu laikā, vai arī $3.',
index b778aaa..f3129ab 100644 (file)
@@ -2420,7 +2420,6 @@ $1',
 'modern.css' => '/* 此之 CSS 用於時髦面之簿也 */',
 'vector.css' => '/* 此之 CSS 用於動力面之簿也 */',
 'print.css' => '/* 此之 CSS 用於印之出力也 */',
-'handheld.css' => '/* 此之 CSS 用於 $wgHandheldStyle 之手置面也 */',
 
 # Scripts
 'common.js' => '/* 此之JavaScript將載於全簿之頁。 */',
index 2e7155e..264a1bb 100644 (file)
@@ -508,7 +508,7 @@ Ogoruşi dudis '''all:''' pʼrefiksi okʼatute doloçʼareli na ren iri şeyi (o
 # Special:ListGroupRights
 'listgrouprights-members' => '(makʼaturepeşi listʼe)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Maxmares e-maili oncğoni',
 
 # Watchlist
index cea81b7..c2317b3 100644 (file)
@@ -1848,6 +1848,15 @@ $1',
 'listusers-noresult' => 'कोनो प्रयोक्ता नै',
 'listusers-blocked' => '(प्रतिबन्धित)',
 
+# Special:ActiveUsers
+'activeusers' => 'सक्रिय प्रयोक्ता सभक सूची',
+'activeusers-intro' => 'ई ओहेन प्रयोक्ता सभक सूची अछि जे पछिला $1 {{PLURAL:$1|दिन|दिन}} मे किछु सक्रियता देखेने छथि।',
+'activeusers-count' => '$1 {{PLURAL:$1|सम्पादन|सम्पादन सभ}} paChilaa {{PLURAL:$3|दिन|$3 दिन}}',
+'activeusers-from' => 'प्रयोक्ता प्रदर्शन प्रारम्भ भेल:',
+'activeusers-hidebots' => 'स्वचालन नुकाउ',
+'activeusers-hidesysops' => 'संचालक नुकाउ',
+'activeusers-noresult' => 'कोनो प्रयोक्ता नै भेटल',
+
 # Special:ListGroupRights
 'listgrouprights' => 'प्रयोक्ता संवर्ग अधिकार',
 'listgrouprights-summary' => 'ई सभ प्रयोक्ता संवर्गक एकटा सूची अछि जे ऐ विकीपरपरिभाषित अछि ओकर संसर्गित प्रवेश अधिकारक संग।
@@ -1924,8 +1933,8 @@ $1',
 'notvisiblerev' => 'कोनो दोसर प्रयोक्ता द्वारा कएल अन्तिम परिवर्तन मेटा देल गेल',
 'watchnochange' => 'अहाँक साकांक्ष सूचीमे सँ कोनोमे ऐ अवधिमे सम्पादन नै कएल गेल।',
 'watchlist-details' => '{{PLURAL:$1|$1 पन्ना|$1 पन्ना सभ}} अहाँक साकांक्षसूचीमे, चौबटिया पन्ना नै गानल गेल।',
-'wlheader-enotif' => 'ई-पत्र सूचना लागू अछि।',
-'wlheader-showupdated' => "पन्ना सभ जे अहाँक एतए अन्तिम बेर अएलाक बाद बदलल अछि तकर सूची देल अछि '''गाढ़''' मे",
+'wlheader-enotif' => 'ई-पत्र सूचना लागू अछि।',
+'wlheader-showupdated' => "पन्ना सभ जे अहाँक एतए अन्तिम बेर अएलाक बाद बदलल अछि तकर सूची देल अछि '''गाढ़''' मे",
 'watchmethod-recent' => 'साकांक्ष सूचीक हालक सम्पादन जाँचि रहल छी',
 'watchmethod-list' => 'साकांक्ष-सूचीक हालक सम्पादनकेँ देखि रहल छी',
 'watchlistcontains' => 'अहाँक साकांक्ष-सूचीमे अछि $1 {{PLURAL:$1|पन्ना|पन्ना}}।',
@@ -2780,7 +2789,7 @@ Variants for Chinese language
 'metadata-langitem' => "'''$2:''' $1",
 'metadata-langitem-default' => '$1',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'चौड़ाई',
 'exif-imagelength' => 'ऊँच',
 'exif-bitspersample' => 'प्रति भाग अष्टक',
@@ -2959,7 +2968,7 @@ Variants for Chinese language
 'exif-originalimageheight' => 'काटहि सें पहिने तस्वीरक ऊँचाई',
 'exif-originalimagewidth' => 'काटहि सें पहिने तस्वीरक चौड़ाई',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'असम्पीडित',
 'exif-compression-2' => 'सी.सी.आइ.टी.टी. वर्ग ३ १ - बीम संशोधित हफमैन कूट सोझ लम्बाइ',
 'exif-compression-3' => 'सी.सी.आइ.टी.टी. वर्ग ३ फैक्स संकूट',
@@ -3370,13 +3379,6 @@ $5
 'version-software-product' => 'उत्पाद',
 'version-software-version' => 'संस्करण',
 
-# Special:FilePath
-'filepath' => 'संचिकाक रस्ता',
-'filepath-page' => 'संचिका',
-'filepath-submit' => 'जाऊ',
-'filepath-summary' => 'ई विशेष पन्ना संचिकाक पूर्ण रस्ता देखबैत अछि।
-चित्र सभ पूर्ण आकारमे देखाएल जाइत अछि, दोसर संचिका प्रकार चालित होइए सोझे सम्बन्धित संविधि द्वारा।',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'द्वितीयक संचिका ताकू',
 'fileduplicatesearch-summary' => 'हैश मानक आधारपर द्वितीयक संचिका ताकू।',
index 2c3ca64..2ecfa20 100644 (file)
@@ -1744,7 +1744,7 @@ Sing liyane bakal diumpetna sacara ''default''.
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-lightsource' => 'Sumber cahya',
 
 'exif-meteringmode-6' => 'Sebagiyan',
@@ -1783,9 +1783,6 @@ Sing liyane bakal diumpetna sacara ''default''.
 # Core parser functions
 'duplicate-defaultsort' => "'''Pènget:''' Kunci baku sing nggo ngurutna (''Default sort key'') yakuwe \"\$2\" wis nggantèkna kunci baku sing nggo ngurutna sedurungé \"\$1\".",
 
-# Special:FilePath
-'filepath-submit' => 'Golèti',
-
 # Special:SpecialPages
 'specialpages' => 'Kaca-kaca khusus',
 
index e96b255..283a85f 100644 (file)
@@ -173,8 +173,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Няфтемс мъзяра сувсида конат арафтозь лопать эсь мельгеваномазост',
 'tog-oldsig' => 'Афкуксонь кядьтяшкс',
 'tog-fancysig' => 'Кядьтяшкст улихть викитекстокс (эслек тиеви сюлмафксфтома)',
-'tog-externaleditor' => 'Нолдамс тевс ушеширень петнить мъзярс илякс изь мярьгов (аньцек тевонь содайхненди, сяс мес эрявихть башка кядьёнкст-арафнемат содама машинаса [//www.mediawiki.org/wiki/Manual:External_editors сяда тов.])',
-'tog-externaldiff' => 'Нолдамс тевс ушеширень програм верзиень ваксс путоманкса мъзярс илякс изь мярьгов (аньцек тевонь содайхненди, сяс мес эрявихть башка кядьёнкст-арафнемат содама машинаса[//www.mediawiki.org/wiki/Manual:External_editors сяда тов.])',
 'tog-showjumplinks' => 'Мярьгомс "юпадемс" сатовома сюлмафкстненди',
 'tog-uselivepreview' => 'Максомс эряй васень няфтемась (JavaScript) (Варжамань)',
 'tog-forceeditsummary' => 'Няфтемс мондине мезе сёрмадомс шава петнема вальмас сувамста',
@@ -1042,14 +1040,6 @@ $3 макссь туфталсь - ''$2''",
 'search-external' => 'Ушеширень вешендема',
 'searchdisabled' => '{{SITENAME}}-са тяни вешендемась аш. Ули кода вешендемс Google эли иля вешендемань интернет програпнень вельде. Шарфтк мяльце тостонь {{SITENAME}}-нь потмонц верзиец, улема, сирелгодсь.',
 
-# Quickbar
-'qbsettings' => 'Навигациень седяфкс',
-'qbsettings-none' => 'Аф няфтемс',
-'qbsettings-fixedleft' => 'Кержи шири киртьф',
-'qbsettings-fixedright' => 'Види шири киртьф',
-'qbsettings-floatingleft' => 'Кержи ширеса уенди',
-'qbsettings-floatingright' => 'Виде ширеса уенди',
-
 # Preferences page
 'preferences' => 'Арафнематне',
 'mypreferences' => 'Монь латцемане',
@@ -1732,8 +1722,8 @@ $3 макссь туфталсь - ''$2''",
 'notvisiblerev' => 'Верзиесь нардафоль',
 'watchnochange' => 'Мезеге изь полафтов тонь мельгеванома лувомастот тя пингеёткса.',
 'watchlist-details' => '{{PLURAL:$1|$1 лопа|$1 лопат}} мельгеваномацень ала корхнема лопат аф лувомок.',
-'wlheader-enotif' => 'Электрононь сёрма вельде пачфнема нолдаф тевс.',
-'wlheader-showupdated' => "Лопат конань полафтозь тонь мекольце сувсемадот меле няфтевсть '''эчке тяшкса'''.",
+'wlheader-enotif' => 'Электрононь сёрма вельде пачфнема нолдаф тевс.',
+'wlheader-showupdated' => "Лопат конань полафтозь тонь мекольце сувсемадот меле няфтевсть '''эчке тяшкса'''.",
 'watchmethod-recent' => 'мельге ванома ала лопатнень коряс мекольце петнематнень ванондома',
 'watchmethod-list' => 'мекольце петнематнень коряс мельге ванома ала лопат ванондома',
 'watchlistcontains' => 'Тонь мельгеваномасот $1 {{PLURAL:$1|лопа|лопат}}.',
@@ -2426,7 +2416,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Келец',
 'exif-imagelength' => 'Серец',
 'exif-bitspersample' => 'Битт фкя компонентс',
@@ -2540,7 +2530,7 @@ $1',
 'exif-gpsdatestamp' => 'GPS ши',
 'exif-gpsdifferential' => 'GPS диференциень петнема',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Аф компрезияф',
 
 'exif-unknowndate' => 'Аф содаф шись',
@@ -2832,13 +2822,6 @@ $5
 'version-software-product' => 'Нолдафкс',
 'version-software-version' => 'Верзие',
 
-# Special:FilePath
-'filepath' => 'Файлти ян',
-'filepath-page' => 'Файл:',
-'filepath-submit' => 'Ян',
-'filepath-summary' => 'Тя башка тевонь лопась няфнесы сембе янць файлти.
-Архтофксне няфневихть сембе синь кувалмосост, иля файлонь сортсна нолдавихть видеста програпнень вельде конат сотфт мархтост.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Вешендемс кафонзаф файлхне',
 'fileduplicatesearch-summary' => 'Вешендемс кафонзаф файлхнень хэш-кодонь лувкс коряс.',
index 7d7d374..eccb360 100644 (file)
@@ -323,6 +323,18 @@ $messages = array(
 'oct' => 'Okt',
 'nov' => 'Nov',
 'dec' => 'Des',
+'january-date' => '$1 Janoary',
+'february-date' => '$1 Febroary',
+'march-date' => '$1 Martsa',
+'april-date' => '$1 Aprily',
+'may-date' => '$1 Mey',
+'june-date' => '$1 Jiona',
+'july-date' => '$1 Jolay',
+'august-date' => '$1 Aogositra',
+'september-date' => '$1 Septambra',
+'october-date' => '$1 Oktobra',
+'november-date' => '$1 Novambra',
+'december-date' => '$1 Desambra',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Sokajy|Sokajy}}',
@@ -348,6 +360,7 @@ $messages = array(
 'newwindow' => '(sokafy anaty takila hafa)',
 'cancel' => 'Aoka ihany',
 'moredotdotdot' => 'Tohiny...',
+'morenotlisted' => 'Tohiny tsy voalisitra...',
 'mypage' => 'Pejy',
 'mytalk' => 'Dinika',
 'anontalk' => "Resaka ho an'io adiresy IP io",
@@ -467,7 +480,7 @@ $1',
 
 'badaccess' => 'Tsy manana alàlana',
 'badaccess-group0' => 'Tsy afaka manantontosa ny asa nangatahinao ianao tompoko',
-'badaccess-groups' => "Ny asa andramanao atao io dia voafetra amin'ny mpikambana ao amin'ny vondrona $1.{{PLURAL:$2||}}",
+'badaccess-groups' => "Ny asa andramanao atao io dia voafetra amin'ny mpikambana ao amin'ny vondrona $1.{{PLURAL:$2|}}",
 
 'versionrequired' => "
 Mitaky version $1-n'i MediaWiki",
@@ -626,10 +639,22 @@ Ny antony nomen\'ny mpandrindra nanidy azy: "$3".',
 
 Mbola afaka mampiasa ny {{SITENAME}} ianao na dia ef anivoaka aza, na afaka <span class='plainlinks'>[$1 miverina mihiditra]</span> ianao ambanin'ny anaranao na anaram-pikambana hafa.
 Fantaro fa ny endriky ny pejy sasany dia mety mitovy amin'ny endrika nahitanao azy tamin' ianao mbola niditra tato, ho toy izany ny endri-pejy raha tsy nofafanao ny cache.",
+'welcomeuser' => 'Tonga soa, $1',
+'welcomecreation-msg' => "Noforonina ny aontinao.
+Aza adin ny manova ny [[Special:Preferences|safidinao ro amin'i{{SITENAME}}]].",
 'yourname' => 'Solonanarana',
+'userlogin-yourname' => 'Anaram-pikambana',
+'userlogin-yourname-ph' => 'Atsofohy ny anaram-pikambanao',
 'yourpassword' => 'Tenimiafina',
+'userlogin-yourpassword' => 'Tenimiafina',
+'userlogin-yourpassword-ph' => 'Atsofohy ny tenimiafinao',
+'createacct-yourpassword-ph' => 'Manatsofoha tenimiafina',
 'yourpasswordagain' => 'Avereno ampidirina eto ny tenimiafina',
+'createacct-yourpasswordagain' => 'Hamarino ny tenimiafinao',
+'createacct-yourpasswordagain-ph' => 'Mbola ampidiro fanindroany ny tenimiafinao',
 'remembermypassword' => '{{PLURAL:}}Tadidio ny tenimiafiko (mandritry ny $1 andro fara-fahabetsany)',
+'userlogin-remembermypassword' => 'Tadidio aho',
+'userlogin-signwithsecure' => "Fidirana amin'ny alalan'ny fanohizana azo antoka",
 'securelogin-stick-https' => "Mijanona tafiditra amin'i HTTPS rehefa tafiditra",
 'yourdomainname' => 'faritra (domaine) misy anao',
 'password-change-forbidden' => "Tsy afaka manova ny tenimiafina ianao eto amin'ity wiki ity.",
@@ -643,18 +668,37 @@ Mila manaiky cookies ianao raha te hiditra amin'ny {{SITENAME}}.",
 'logout' => 'Hiala',
 'userlogout' => 'Hiala',
 'notloggedin' => 'Tsy tafiditra',
+'userlogin-noaccount' => 'Tsy manana kaonty?',
+'userlogin-joinproject' => "Midira ho mpikamban'i {{SITENAME}}",
 'nologin' => "Tsy manana solonanarana? '''$1'''.",
 'nologinlink' => 'Manokafa kaonty',
 'createaccount' => 'Hamorona kaonty',
 'gotaccount' => "Efa manana kaonty? '''$1'''.",
 'gotaccountlink' => 'Midira',
 'userlogin-resetlink' => "Adinonavo ve ny antsipihan'ny fidiranao ?",
-'createaccountmail' => "amin'ny imailaka",
+'userlogin-resetpassword-link' => 'Hamerina ny tenimiafinao',
+'helplogin-url' => 'Fanoroana:Fidirana',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Fanoroana mikasika ny fidirana]]',
+'createacct-join' => 'Atsofohy eo ambany ny fampahalalana momba anao.',
+'createacct-emailrequired' => 'Adiresy mailaka :',
+'createacct-emailoptional' => 'Adiresy mailaka (azo tsy atao) :',
+'createacct-email-ph' => 'Atsofohy ny adiresy mailakao',
+'createaccountmail' => "Hampiasa tenimiafina kisendra vonjimaika ary handefa azy mailaka any amin'ny adiresy nolazaina teo ambany",
+'createacct-realname' => 'Tena anarana (azo tsy atao)',
 'createaccountreason' => 'Antony :',
+'createacct-reason' => 'Antony',
+'createacct-reason-ph' => 'Inona ny antony hamoronanao kaonty hafa',
+'createacct-imgcaptcha-ph' => 'Atsofohy ny teny hitanao eo ambony',
+'createacct-submit' => 'Hamorona ny kaontinao',
+'createacct-benefit-heading' => "Olona tahaka ianao no manoratra eo amin'i {{SITENAME}}",
+'createacct-benefit-body1' => 'fanovana{{PLURAL:}}',
+'createacct-benefit-body2' => 'pejy{{PLURAL:}}',
+'createacct-benefit-body3' => 'mpandray anjara vao haingana{{PLURAL:}}',
 'badretype' => 'Tsy mitovy ny tenimiafina nampidirinao.',
 'userexists' => 'Efa miasa io anaram-pikambana natsofokao io.
 Anarana hafa safidiana.',
 'loginerror' => "Tsy fetezana teo amin'ny fidirana",
+'createacct-error' => 'Hadisoana tam-pamoronana ny kaonty',
 'createaccounterror' => 'Tsy afaka mamorona kaonty : $1',
 'nocookiesnew' => "Voasikatra ny kaontim-pikambana, fa tsy tafiditra amin'ny kaontinao ianao.
 Mampiasa cookies ny {{SITENAME}} ho an'ny fidirana amin'ny kaonty.
@@ -726,6 +770,7 @@ Andraso kely ary andramo indray.",
 # Email sending
 'php-mail-error-unknown' => "Hadisoana tsy fantatra tao amin'ny tao mial() an'i PHP.",
 'user-mail-no-addy' => 'Nanandrana nandefa imailaka tsy misy adiresy imailaka.',
+'user-mail-no-body' => 'Nanandrana nandefa mailaka babangoana na fohy loatra',
 
 # Change password dialog
 'resetpass' => 'Hanova ny tenimiafina',
@@ -743,13 +788,13 @@ Andraso kely ary andramo indray.",
 'resetpass-wrong-oldpass' => 'Tsy izy ny tenimiafinao (tsotra na miserana)
 Mety efa nanova tenimiafina na nanontany tenimiafina miserana angamba ianao.',
 'resetpass-temp-password' => 'Tenimiafina miserana :',
+'resetpass-abort-generic' => "Nosakanan'ny itatra (extension) iray ny fanovana tenimiafina.",
 
 # Special:PasswordReset
 'passwordreset' => 'Famafana ary famerenana ny tenimiafina',
-'passwordreset-text' => 'Fenoy ity fôrmiolera ity mba hamerenana ny tenimiafinao.',
 'passwordreset-legend' => 'Famafana ary famerenana ny tenimiafina',
 'passwordreset-disabled' => "Tsy nalefa ny fanovana tenimiafina adino eto amin'ity wiki ity.",
-'passwordreset-pretext' => '{{PLURAL:$1}}Mampidira singa data eo ambany',
+'passwordreset-emaildisabled' => "Tsy avela ny fampiasana mailaka eto amin'ity wiki ity.",
 'passwordreset-username' => 'Anaram-pikambana :',
 'passwordreset-domain' => 'Vala (domain) :',
 'passwordreset-capture' => 'Hijery ny imailaka vokany ?',
@@ -781,6 +826,7 @@ Tenimiafina miserana : $2',
 'changeemail-oldemail' => 'Adiresy imailaka ankehitriny :',
 'changeemail-newemail' => 'Adiresy imailaka vaovao :',
 'changeemail-none' => '(tsy misy)',
+'changeemail-password' => "Tenimiafinao eo amin'i {{SITENAME}}:",
 'changeemail-submit' => 'Hanova ny adiresy imailaka',
 'changeemail-cancel' => 'Adinoy',
 
@@ -981,7 +1027,15 @@ Mety voafafa angamba izy.',
 'edit-already-exists' => 'Tsy afaka amboarina ilay pejy vaovao.
 Efa misy izy.',
 'defaultmessagetext' => 'Hafatra raha tsy misy',
+'content-failed-to-parse' => "Tsy naha-parse ny votoatin'i $2 ho an'ny modely $1 : $3",
 'invalid-content-data' => "Data anaty votoatiny tsy miady amin'ny fepetra",
+'content-not-allowed-here' => "Votoatiny ''$1'' voarara eo amin'ny pejy [[$2]]",
+
+# Content models
+'content-model-wikitext' => 'wiki-soratra',
+'content-model-text' => 'soratra tsotra',
+'content-model-javascript' => 'JavaScript',
+'content-model-css' => 'CSS',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => 'Tandremo : Betsaka loatra ny fanantsoana ny tao parser.
@@ -1338,7 +1392,7 @@ Fenoy araka ny datin'ny solosainan'ny mpitsidika",
 'youremail' => 'Imailaka:',
 'username' => '{{GENDER:$1}}Anaram-pikambana :',
 'uid' => '{{GENDER:$1}}mpikambana :',
-'prefs-memberingroups' => "mpikambana{{GENDER:$2}} ao amin'ny vondrona{{PLURAL:$1}} :",
+'prefs-memberingroups' => "Mpikambana{{GENDER:$2}} ao amin'ny vondrona{{PLURAL:$1}}:",
 'prefs-registration' => 'Daty fidirana :',
 'yourrealname' => 'Tena anarana marina:',
 'yourlanguage' => 'Tenim-pirenena:',
@@ -1679,6 +1733,8 @@ Marino ny option configuration file_uploads.",
 'uploadscripted' => "
 Misy kialo HTML na fango script mety tsy ho hain'ny navigateur sasany haseho ity rakitra ity.",
 'uploadvirus' => 'Misy viriosy io rakitra io! Toy izao ny antsipirihany: $1',
+'uploadjava' => 'Ny rakitra dia rakitra ZIP ahitana rakitra .class Java.
+Voarara ny mandefa rakitra Java satria mety hahavaky ny fepetra mikasika ny antoka ireo rakitra ireo.',
 'upload-source' => 'Rakitra fango',
 'sourcefilename' => "Anaran'ny rakitra:",
 'sourceurl' => 'Loharano URL :',
@@ -1721,6 +1777,7 @@ Raha mbola misy foana ilay  olana, manorata any amin'ny [[Special:ListUsers/syso
 'backend-fail-notsame' => "Efa misy rakitra samihafa ho an'i $1",
 'backend-fail-invalidpath' => '$1 dia lalam-pitahirizana tsy azo raisina.',
 'backend-fail-delete' => 'Tsy afaka mamafa ilay rakitra $1.',
+'backend-fail-describe' => 'Tsy nahasolo ny metadata ho an\'ny rakitra "$1".',
 'backend-fail-alreadyexists' => 'Efa misy ilay rakitra $1.',
 'backend-fail-store' => 'Tsy afaka mitahiry ilay rakitra $1 anaty $2.',
 'backend-fail-copy' => 'Tsy afaka mandika ilay rakitra $1 anaty $2.',
@@ -1930,6 +1987,8 @@ Aza manadino manamarina raha tsy misy rohy makany amin'ny endrika hafa alohan'ny
 'disambiguations' => 'Pejy misy rohy amina pejy fanalana ny fisalasalana',
 'disambiguationspage' => 'Template:homonimia',
 
+'pageswithprop-submit' => 'Alefa',
+
 'doubleredirects' => 'Fihodinana roa',
 'double-redirect-fixed-move' => "Ity fihodinana ity, nanana ny tanjona [[$1]] novaina anarana, dia mitondra mankany amin'ny [[$2]].",
 'double-redirect-fixer' => 'Mpanitsy fihodinana',
@@ -2084,6 +2143,15 @@ Protokoly zaka <code>$1</code> aza ampiana ao amin'ny karokao izy ireo.",
 'listusers-noresult' => 'Tsy nahitana mpikambana.',
 'listusers-blocked' => '(voasakana)',
 
+# Special:ActiveUsers
+'activeusers' => 'Lisitry ny mpikambana mavitrika',
+'activeusers-intro' => 'Ity ny lisitry ny mpikambana izay nanao zavatra iray nandritry ny andro $1 farany. {{PLURAL:}}',
+'activeusers-count' => "Tao $1{{PLURAL:}} tanatin'ny $3 andro",
+'activeusers-from' => 'Aseho ny mpikambana hatry ny :',
+'activeusers-hidebots' => 'Asitriho ny robo',
+'activeusers-hidesysops' => 'Asitriho ny mpandrindra',
+'activeusers-noresult' => 'Tsy nahitana mpikambana.',
+
 # Special:ListGroupRights
 'listgrouprights' => "Fahefan'ny vondrom-pikambana",
 'listgrouprights-summary' => "Ity pejy ity dia ahitana ny lisitry ny vondrom-pikambana voafaritra ato amin'ity wiki ity ary ny zo ananany. Mety misy [[{{MediaWiki:Listgrouprights-helppage}}|fampahalalana fanampiny]] mikasika ny zo manokana.",
@@ -2159,8 +2227,8 @@ na tsy maniry handray imailaka avy amin'ny mpikambana hafa izy.",
 'notvisiblerev' => 'Voafafa ilay santiôna',
 'watchnochange' => 'Tsy niova nandritra ny fe-potoana miseho ny zavatra arahanao',
 'watchlist-details' => "Pejy $1{{PLURAL:}} ao amin'ny lisitry ny pejy arahanao, tsy isaina ny pejin-dresaka.",
-'wlheader-enotif' => "* Mandeha ny fampilazana amin'ny alalan'ny imailaka.",
-'wlheader-showupdated' => "* <b>Voasorabaventy</b> ny pejy niova taorian'ny famangianao farany.",
+'wlheader-enotif' => "Alefa ny fampilazana amin'ny mailaka.",
+'wlheader-showupdated' => "Aseho '''sorabaventy''' ny pejy niova taorian'ny famangianao azy farany.",
 'watchmethod-recent' => 'fanamarinana ny fanovana farany hahitana pejy arahana',
 'watchmethod-list' => 'fanamarinana ny pejy arahana ahitana fanovana farany',
 'watchlistcontains' => "Ao amin'ny pejy arahanao dia ahitana pejy $1{{PLURAL:}}.",
@@ -2281,6 +2349,7 @@ Ho ann'y fanazavana fanampiny, jereo [[Special:ProtectedPages|ny lisitry ny pejy
 'prot_1movedto2' => '[[$1]] voaova anarana ho [[$2]]',
 'protect-badnamespace-title' => 'Anaran-tsehatra tsy azo arovana',
 'protect-badnamespace-text' => "Tsy afaka arovana ny pejy ao amin'io anaran-tsehatra io.",
+'protect-norestrictiontypes-title' => 'Pejy tsy azo arovana',
 'protect-legend' => 'Fanekena ny fiarovana pejy',
 'protectcomment' => 'Antony :',
 'protectexpiry' => 'Daty fitsaharana :',
@@ -2394,7 +2463,7 @@ $1',
 'blanknamespace' => '(fotony)',
 
 # Contributions
-'contributions' => "Fandraisan'anjaran'ny mpikambana",
+'contributions' => "Fandraisan'anjaran'ny mpikambana{{GENDER:$1}}",
 'contributions-title' => "Fandraisan'anjaran'i $1",
 'mycontris' => "Fandraisan'anjara",
 'contribsub2' => "ho an'ny $1 ($2)",
@@ -2717,6 +2786,8 @@ Andana vangio ny [//www.mediawiki.org/wiki/Localisation Fandikana an'i Mediawiki
 'thumbnail-more' => 'Angedazina',
 'filemissing' => 'Tsy hita ny rakitra',
 'thumbnail_error' => 'Tsy fetezana eo am-panamboarana ilay saritapaka : $1',
+'thumbnail_error_remote' => "Hafa-kadisoana avy amin'i $1:
+$2",
 'djvu_page_error' => "Pejy DjVu any ivelan'ny fetra",
 'djvu_no_xml' => "Tsy afaka alaina ny XML ho an'ny rakitra DjVu",
 'thumbnail-temp-create' => 'Tsy afaka namorona ilay thumbnail miserana',
@@ -2772,6 +2843,10 @@ Avereno fanindroany.',
 'import-logentry-upload' => "nampiditra [[$1]] tamin'ny fampidiran-drakitra",
 'import-logentry-interwiki' => "nampiditra $1 tamin'ny transwiki",
 
+# JavaScriptTest
+'javascripttest' => 'Fanandramana JavaScript',
+'javascripttest-title' => 'Mandefa fanandramana $1',
+
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Ny pejinao',
 'tooltip-pt-anonuserpage' => "Ny pejim-bikamban'ny IP andraisanao anjara",
@@ -2834,6 +2909,7 @@ Ampesao ny topi-maso aloha no mihatiry.",
 'tooltip-compareselectedversions' => "Jereo ny fahasamihafana amin'ireo votoatin'ny pejy anankiroa ireo.",
 'tooltip-watch' => "Ampidiro amin'ny lisitry ny pejy arahinao maso ity pejy ity",
 'tooltip-watchlistedit-normal-submit' => 'Hanala ny lohateny',
+'tooltip-watchlistedit-raw-submit' => 'Hanavao ny pejy arahana',
 'tooltip-recreate' => 'Hamorona ilay pejy fanindroany raha efa voafafa izy',
 'tooltip-upload' => 'Hanomboka ny fampidirana',
 'tooltip-rollback' => "Manala ny fanovan'ny mpikambana farany nanova azy ilay asa « foano » (Rollback) .",
@@ -2868,11 +2944,34 @@ Mamerina ny version taloha io asa io ary afaka manometraka ny antony anatin'ny a
 
 # Info page
 'pageinfo-title' => 'Fampahalalana ho an\'i "$1"',
+'pageinfo-header-basic' => 'Fampahalalana fototra',
 'pageinfo-header-edits' => "Tantaran'ny fanovana",
+'pageinfo-header-restrictions' => "Fiarovana an'ilay pejy",
+'pageinfo-header-properties' => "Tondron'ilay pejy",
+'pageinfo-display-title' => 'Lohateny aseho',
+'pageinfo-length' => 'Halavam-pejy (oktety)',
+'pageinfo-article-id' => 'Laharam-pejy',
+'pageinfo-language' => "Tenin'ny votoatiny",
+'pageinfo-robot-policy' => "Satan'ny motera fikarohana",
 'pageinfo-views' => "Isan'ny jery",
 'pageinfo-watchers' => "Isan'ny mpandray anjara manaraka",
+'pageinfo-firstuser' => 'Mpamorona ilay pejy',
+'pageinfo-firsttime' => 'Daty namoronana ilay pejy',
+'pageinfo-lastuser' => 'Mpanova farany',
+'pageinfo-lasttime' => "Datin'ny fanovana farany",
 'pageinfo-edits' => "Isa manontolon'ny fanovana",
 'pageinfo-authors' => "Isa manontolon'ny mpandray anjara",
+'pageinfo-recent-edits' => "Fanovana vao haingana (natao tanatin'ny $1)",
+'pageinfo-recent-authors' => "Isa vao haingan'ny mpanoratra misongadina",
+'pageinfo-hidden-categories' => 'Sokajy nafenina{{PLURAL:$1}} ($1)',
+'pageinfo-redirectsto' => "Fihdinana mankany amin'ny",
+'pageinfo-redirectsto-info' => 'fampahalalana',
+'pageinfo-contentpage' => 'Isaina ho pejim-botoatiny',
+'pageinfo-contentpage-yes' => 'Eny',
+'pageinfo-protect-cascading-yes' => 'Eny',
+'pageinfo-category-pages' => 'Isam-pejy',
+'pageinfo-category-subcats' => "Isan'ny zana-tsokajy",
+'pageinfo-category-files' => "Isan'ny rakitra",
 
 # Patrolling
 'markaspatrolleddiff' => 'Marihana ho voamarina',
@@ -2916,6 +3015,7 @@ Raha alefanao ilay izy, mety ho simban'io renifango io ny solosainao.",
 'file-info-size-pages' => '$1 × $2 teboka, haben-drakitra : $3, karazana MIME $4, pejy $5 {{PLURAL:}}',
 'file-nohires' => "Tsy misy sary ngeza non'io",
 'svg-long-desc' => 'rakitra SVG, habe $1 × $2 teboka, habe : $3',
+'svg-long-error' => 'Rakitra SVG tsy ekena : $1',
 'show-big-image' => "Hijery ny tena haben'ny sary",
 'show-big-image-size' => '$1 × $2 teboka',
 'file-info-gif-looped' => 'miverimberina',
@@ -2941,6 +3041,16 @@ Raha alefanao ilay izy, mety ho simban'io renifango io ny solosainao.",
 'days' => 'andro{{PLURAL:$1}}',
 'ago' => '$1 lasa izay',
 
+# Human-readable timestamps
+'monday-at' => "Alatsinainy tamin'ny $1",
+'tuesday-at' => "Talata tamin'ny $1",
+'wednesday-at' => "Alarobia tamin'ny $1",
+'thursday-at' => "Alakamisy tamin'ny $1",
+'friday-at' => "Zoma tamin'ny $1",
+'saturday-at' => "Sabotsy tamin'ny $1",
+'sunday-at' => "Alahady tamin'ny $1",
+'yesterday-at' => "Omaly tamin'ny $1",
+
 # Bad image list
 'bad_image_list' => "Ity ny andrefiny :
 
@@ -2968,7 +3078,7 @@ Tokony sary tsy misy na sary tsy izy ny rohy voalohany anaty andalana iray .
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Halalaka',
 'exif-imagelength' => 'Haavo',
 'exif-bitspersample' => 'Bit isaky ny singa',
@@ -3209,13 +3319,6 @@ Andramo ny topi-maso tsotra',
 'version-software-product' => 'Vokatra',
 'version-software-version' => 'Santiôna',
 
-# Special:FilePath
-'filepath' => "Lalan'ny drakitra",
-'filepath-page' => 'Rakitra',
-'filepath-submit' => 'Handeha',
-'filepath-summary' => "Mamerina ny lalam-pandehanana any amin'ilay rakitra ity pejy ity.
-Aseho amin'ny tena habeny ny sary aseho, ny hafa dia alefa miaraka amin'ny rindrankajy miaraka aminy avy hatrany.",
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Hitady rakitra mitovy endrika',
 'fileduplicatesearch-legend' => 'Hitady mitovy endrika',
index c83b5b4..a7f4f40 100644 (file)
@@ -187,6 +187,18 @@ $messages = array(
 'oct' => 'Okt',
 'nov' => 'Nop',
 'dec' => 'Des',
+'january-date' => '$1 Januari',
+'february-date' => '$1 Pebruari',
+'march-date' => '$1 Maret',
+'april-date' => '$1 April',
+'may-date' => '$1 Mai',
+'june-date' => '$1 Juni',
+'july-date' => '$1 Juli',
+'august-date' => '$1 Agustus',
+'september-date' => '$1 September',
+'october-date' => '$1 Oktober',
+'november-date' => '$1 Nopember',
+'december-date' => '$1 Desember',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategori}}',
@@ -391,8 +403,8 @@ $1',
 # Main script and global functions
 'nosuchaction' => 'Indak ado tindakan tasabuik',
 'nosuchactiontext' => 'Tindakan nan diminta dek URL tasabuik indak valid. Sanak mungkin salah mangetikkan URL, atau mangikuik pautan nan salah. Iko mungkin manunjuakan adonyo suatu bug pado parangkaik lunak nan dipagunoan dek {{SITENAME}}.',
-'nosuchspecialpage' => 'Indak ado laman istimewa tarsabuik',
-'nospecialpagetext' => '<strong>Sanak maminta laman istimewa nan indak sah.</strong>
+'nosuchspecialpage' => 'Indak ado laman istimewa tasabuik',
+'nospecialpagetext' => '<strong>Sanak mamintak laman istimewa nan indak sah.</strong>
 
 Daftar laman istimewa nan sah dapek dicaliak di [[Special:SpecialPages|{{int:specialpages}}]].',
 
@@ -634,11 +646,9 @@ Sanak mungkin alah berhasil mangganti kato sandi Sanak atau alah maminto kato sa
 
 # Special:PasswordReset
 'passwordreset' => 'Setel ulang sandi',
-'passwordreset-text' => 'Isi formulir ko untuak maubah kato sandi.',
 'passwordreset-legend' => 'Tuka baliak kato sandi',
 'passwordreset-disabled' => 'Pangubahan kato sandi alah dimatian di wiki iko.',
 'passwordreset-emaildisabled' => 'Fitur surel alah dimatian pado wiki iko.',
-'passwordreset-pretext' => '{{PLURAL:$1||Masuakan salah satu data di bawah ko}}',
 'passwordreset-username' => 'Namo pangguno:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Caliak kaputusannyo?',
@@ -926,7 +936,7 @@ Alasan nan diagiah jo $3 adolah ''$2''",
 'nohistory' => 'Indak ado sajarah panyuntiangan untuak laman ko',
 'currentrev' => 'Revisi tabaru',
 'currentrev-asof' => 'Revisi tabaru pado $1',
-'revisionasof' => 'Pabaikkan per $1',
+'revisionasof' => 'Revisi pado $1',
 'revision-info' => 'Revisi sajak $1 dek $2',
 'previousrevision' => '← Revisi sabalunnyo',
 'nextrevision' => 'Revisi selanjuiknyo →',
@@ -936,7 +946,7 @@ Alasan nan diagiah jo $3 adolah ''$2''",
 'last' => 'sabalun',
 'page_first' => 'awal',
 'page_last' => 'akhia',
-'histlegend' => "Bandiangkan pilihan: Tandoi revisi untuak mambandiangkan dan takan enter atau tombol di bawah.<br />
+'histlegend' => "Bandiangan piliahan: Tandoi revisi untuak mambandiangan dan takan enter atau tombol di bawah.<br />
 Contoh: '''({{int:cur}})''' = bedo jo versi tarakhia, '''({{int:last}})''' = bedo jo versi sabalunnyo, '''{{int:minoreditletter}}''' = suntiangan ketek.",
 'history-fieldset-title' => 'Talusuri riwayaik',
 'history-show-deleted' => 'Hanyo nan dihapuih',
@@ -983,34 +993,70 @@ Sanak masih dapek [$1 maliek revisi ko] ko' amuah.",
 Sanak dapek mancaliaknyo; rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log pangapuihan].",
 'rev-suppressed-diff-view' => "Revisi laman ko alah '''tabanam'''.
 Sanak dapek malieknyo; rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log pambanaman]",
-'rev-delundel' => 'tampilkan/suruakkan',
-'rev-showdeleted' => "tunjua'an",
+'rev-delundel' => 'tunjuakan/suruakkan',
+'rev-showdeleted' => 'tunjuakan',
 'revisiondelete' => 'Hapuih/batal hapuih revisi',
 'revdelete-nooldid-title' => 'Target revisi indak basobok',
+'revdelete-nooldid-text' => 'Sanak alun mangagiah target revisi untuak manjalankan fungsi ko, revisi nan ditantuan indak ado, atau Sanak nio manyuruakan revisi kini ko.',
 'revdelete-nologtype-title' => 'Tipe log indak diagiah',
 'revdelete-nologtype-text' => 'Sanak indak mngagiah tipe log untuak manerapkan tindakan ko.',
-'revdelete-nologid-title' => 'Entri log indak valid',
+'revdelete-nologid-title' => 'Entri log indak sah',
+'revdelete-nologid-text' => 'Sanak mungkin indak manyabuik suatu log target kajadian untuak manjalanan fungsi iko atau entri nan dimakasuik indak basuo.',
 '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 pilihan}}:'''",
+'logdelete-selected' => "'''{{PLURAL:$1|Log piliahan}}:'''",
+'revdelete-text' => "'''Revisi jo tindakan nan alah dihapuih akan tetap muncua di versi tadaulu dan laman log, tapi bagian dari isinyo indak dapek diakses publik.'''
+Panguruih {{SITENAME}} lain tetap dapek mangakses isi nan tasuruak ko dan dapek mambatalan pangapuihannyo manggunoan antarmuko nan samo, kacuali ado pambatehan lain nan dibuek.",
+'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
+*: ''alamaik rumah jo nomor telepon, nomor kartu identitas, dll.''",
+'revdelete-legend' => 'Pangaturan bateh',
+'revdelete-hide-text' => 'Suruakan teks revisi',
+'revdelete-hide-image' => 'Suruakan isi berkas',
+'revdelete-hide-name' => 'Suruakan tindakan jo target',
+'revdelete-hide-comment' => 'Suruakan ikhtisar suntiangan',
+'revdelete-hide-user' => 'Suruakan namo pangguno/IP panyuntiang',
+'revdelete-hide-restricted' => 'Suruakan juo data dari panguruih',
+'revdelete-radio-same' => '(jan diubah)',
 'revdelete-radio-set' => 'Yo',
 'revdelete-radio-unset' => 'Indak',
+'revdelete-suppress' => 'Suruakan juo data dari panguruih',
+'revdelete-unsuppress' => 'Hapuih batehan pado revisi nan dikambalian',
 'revdelete-log' => 'Alasan:',
+'revdelete-submit' => 'Terapkan pado {{PLURAL:$1|revisi}} tapiliah',
+'revdelete-success' => "'''Revisi barasil dipabarui.'''",
+'revdelete-failure' => "'''Revisi indak dapek dipabarui:'''
+$1",
+'logdelete-success' => "'''Log data barasil dipabarui.'''",
+'logdelete-failure' => "'''Log data indak dapek dipabarui:'''
+$1",
 'revdel-restore' => 'ganti tampilan',
 'revdel-restore-deleted' => 'suntiangan nan alah dihapuih',
 'revdel-restore-visible' => 'tampilan revisi',
 'pagehist' => 'Riwayaik laman',
+'deletedhist' => 'Riwayaik pangapuihan',
+'revdelete-reason-dropdown' => '*Alasan pangapuihan umum
+** Palanggaran hak cipta
+** Komentar atau informasi paribadi nan indak patuik
+** Namo pangguno nan indak patuik
+** Bapotensi mancemarkan namo baiak',
 'revdelete-otherreason' => 'Alasan lain/tambahan:',
 'revdelete-reasonotherlist' => 'Alasan lain',
 'revdelete-edit-reasonlist' => 'Alasan mangapuih laman',
+'revdelete-offender' => 'Pambuek reviri:',
+
+# Suppression log
+'suppressionlog' => 'Log pambanaman',
 
 # History merging
 'mergehistory-reason' => 'Alasan:',
 
 # Merge log
 'mergelog' => 'Log panggabuangan',
+'pagemerge-logentry' => 'manggabuangan [[$1]] ka [[$2]] (revisi sampai $3)',
 'revertmerge' => 'Batal gabuang',
 'mergelogpagetext' => 'Di bawah ko daftar panggabuangan riwayaik laman ka laman nan lain.',
 
@@ -1021,9 +1067,9 @@ Sanak dapek malieknyo; rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/del
 'difference-multipage' => '(Pabedoan antaro laman)',
 'lineno' => 'Barih $1:',
 'compareselectedversions' => 'Bandiangan versi tapiliah',
-'showhideselectedversions' => 'Tampilkan/suruakan versi tapiliah',
+'showhideselectedversions' => 'Tunjuakan/suruakan versi tapiliah',
 'editundo' => 'batal',
-'diff-multi' => '({{PLURAL:$1|$1 revisi antaro}} oleh {{PLURAL:$2|$2 pangguno}} indak ditampilkan)',
+'diff-multi' => '({{PLURAL:$1|$1 revisi antaro}} dek {{PLURAL:$2|$2 pangguno}} indak ditampilan)',
 
 # Search results
 'searchresults' => 'Hasil pancarian',
@@ -1054,7 +1100,7 @@ Sanak dapek malieknyo; rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/del
 'searchprofile-articles-tooltip' => 'Cari di $1',
 'searchprofile-project-tooltip' => 'Cari di $1',
 'searchprofile-images-tooltip' => 'Cari untuak berkas',
-'searchprofile-everything-tooltip' => 'Cari sadoalahnyo (tamasuak laman maota)',
+'searchprofile-everything-tooltip' => 'Cari kasadonyo (tamasuak laman rundiang)',
 'searchprofile-advanced-tooltip' => 'Pacarian di ruang namo tatantu',
 'search-result-size' => '$1 ({{PLURAL:$2|$2 kato}})',
 'search-result-category-size' => '{{PLURAL:$1|$1 anggota}} ({{PLURAL:$2|$2 subkategori}}, {{PLURAL:$3|$3 berkas}})',
@@ -1264,13 +1310,14 @@ Alamaik surel Sanak indakkan tau dek urang nan manghubuangi sanak tu.',
 'right-createaccount' => 'Mambuek akun baru',
 'right-minoredit' => 'Manandoi suntiangan ketek',
 'right-move' => 'Mamindahan laman',
-'right-move-subpages' => 'Mamindahan laman jo kasado sub laman',
+'right-move-subpages' => 'Mamindahan laman jo kasado sublaman',
 'right-move-rootuserpages' => 'Mamindahan laman pangguno',
 'right-movefile' => 'Mamindahan berkas',
 'right-suppressredirect' => 'Indak mambuek pangaliahan wakatu mamindahan laman',
 'right-upload' => 'Mamuek berkas',
 'right-reupload' => 'Manimpo berkas lamo',
 'right-reupload-own' => 'Manimpo berkas nan dimuek surang',
+'right-purge' => 'Mangapuih singgahan laman tanpa laman konfirmasi',
 'right-autoconfirmed' => 'Manyuntiang laman palinduangan semi',
 'right-bot' => 'Dipalakuan sabagai proses otomatis',
 'right-nominornewtalk' => 'Indak ado tando suntiangan ketek di laman rundiang mamicu pasan baru',
@@ -1302,9 +1349,9 @@ Alamaik surel Sanak indakkan tau dek urang nan manghubuangi sanak tu.',
 'action-createtalk' => 'buek laman diskusi',
 'action-createaccount' => 'buek akun pangguno ko',
 'action-minoredit' => 'tandoi sabagai suntiangan ketek',
-'action-move' => 'pindahkan laman ko',
+'action-move' => 'pindahan laman ko',
 'action-move-subpages' => 'pindahkan laman ko, jo sublamannyo',
-'action-move-rootuserpages' => 'pindahkan laman pangguno',
+'action-move-rootuserpages' => 'pindahan laman pangguno',
 'action-movefile' => 'pindahkan berkas ko',
 'action-upload' => 'muek berkas ko',
 'action-reupload' => 'timpo berkas lamo',
@@ -1316,7 +1363,7 @@ Alamaik surel Sanak indakkan tau dek urang nan manghubuangi sanak tu.',
 'recentchanges' => 'Parubahan baru',
 'recentchanges-legend' => 'Piliahan parubahan baru',
 'recentchanges-summary' => 'Caliak parubahan tabaru pado wiki di laman ko.',
-'recentchanges-feed-description' => 'Temukan parubahan baru dalam umpan wiki ko',
+'recentchanges-feed-description' => 'Tamuan parubahan baru dalam umpan wiki ko',
 'recentchanges-label-newpage' => 'Suntiangan ko mambuek laman baru',
 'recentchanges-label-minor' => 'Iko suntiangan ketek',
 'recentchanges-label-bot' => 'Suntiang ko dibuek dek bot',
@@ -1600,7 +1647,7 @@ Judul laman nan <del>dicoret</del> bararti alah dipelokan.',
 'listusers' => 'Daftar pangguno',
 'listusers-editsonly' => 'Tunjuakan hanyo pangguno nan ado jariah',
 'listusers-creationsort' => 'Uruikan manuruik tanggal pandaftaran',
-'usereditcount' => '$1 {{PLURAL:$1|suntiangan}}',
+'usereditcount' => '$1 {{PLURAL:$1|}} suntiangan',
 'usercreated' => '{{GENDER:$3|Dibuek}} pado $1 pukua $2',
 'newpages' => 'Laman baru',
 'newpages-username' => 'Namo pangguno:',
@@ -1731,7 +1778,7 @@ Parubahan laman ko tamasuak laman rundiangnyo akan ditampilan disinan.',
 'unwatch' => 'Batal pantau',
 'unwatchthispage' => 'Batal pantau laman ko',
 'watchlist-details' => '{{PLURAL:$1|$1 laman}} dalam daftar pantau Sanak, indak tamasuak laman rundiangnyo.',
-'wlheader-showupdated' => "Laman nan alah barubah sajak kunjuangan tarakhia Sanak ditunjuakan jo '''hurup taba'''",
+'wlheader-showupdated' => "Laman nan alah barubah sajak kunjuangan tarakhia Sanak ditunjuakan jo '''hurup taba'''",
 'wlnote' => "Di bawah ko ado $1 {{PLURAL:$1|parubahan}} dalam {{PLURAL:$2|'''$2''' jam}} iko, sampai tanggal $3, pukua $4.",
 'wlshowlast' => 'Tunjuakan $1 jam parubahan dalam $2 hari tarakhia $3',
 'watchlist-options' => 'Piliahan daftar pantau',
@@ -1816,7 +1863,7 @@ Awak dapek maubah tingkek perlindungannyo, walaupun indak pangaruah pado perlind
 ** Baulang kali dikosongan
 ** Pamintaan pangguno',
 'protect-edit-reasonlist' => 'Suntiang alasan palinduangan',
-'protect-expiry-options' => '1 jam:1 hour,1 ari:1 day,1 minggu:1 week,2 minggu:2 weeks,1 bulan:1 month,3 bulan:3 months,6 bulan:6 months,1 taun:1 year,salamonyo:infinite',
+'protect-expiry-options' => '1 jam:1 hour,1 ari:1 day,1 pakan:1 week,2 pakan:2 weeks,1 bulan:1 month,3 bulan:3 months,6 bulan:6 months,1 taun:1 year,salamonyo:infinite',
 'restriction-type' => 'Palinduangan:',
 'restriction-level' => 'Tingkek:',
 'minimum-size' => 'Ukuran min',
@@ -1844,6 +1891,10 @@ Awak dapek maubah tingkek perlindungannyo, walaupun indak pangaruah pado perlind
 'undeletelink' => 'caliak/baliakan',
 'undeleteviewlink' => 'caliak',
 'undeletedrevisions' => '{{PLURAL:$1|$1 revisi}} alah dikambalian',
+'undelete-header' => 'Caliak [[Special:Log/delete|log pangapuihan]] untuak daftar laman nan baru dihapuih.',
+'undelete-search-title' => 'Cari laman nan dihapuih',
+'undelete-search-box' => 'Cari laman nan dihapuih',
+'undelete-search-prefix' => 'Tunjuakan laman mulai dari:',
 'undelete-cleanup-error' => 'Kasalahan sawaktu mangapuih arsip berkas "$1" nan indak digunoan.',
 
 # Namespace form on various pages
@@ -1927,7 +1978,7 @@ Masuakan alasan sakek di bawah (contoh, mambuek karusakan atau vandal).',
 'ipbenableautoblock' => 'Otomatih sakek alamaik IP tarakhia nan digunoan pangguno ko, jo sado alamaik IP takaik nan mancubo manyuntiang.',
 'ipbsubmit' => 'Sakek pangguno ko',
 'ipbother' => 'Salamo:',
-'ipboptions' => '2 jam:2 hours,1 ari:1 day,3 ari:3 days,1 minggu:1 week,2 minggu:2 weeks,1 bulan:1 month,3 bulan:3 months,6 bulan:6 months,1 taun:1 year,salamonyo:infinite',
+'ipboptions' => '2 jam:2 hours,1 ari:1 day,3 ari:3 days,1 pakan:1 week,2 pakan:2 weeks,1 bulan:1 month,3 bulan:3 months,6 bulan:6 months,1 taun:1 year,salamonyo:infinite',
 'ipbotheroption' => 'lainnyo',
 'ipbotherreason' => 'Alasan lain/tambahan:',
 'ipbhidename' => 'Suruakan namo pangguno dari daftar jo suntiangan',
@@ -2006,6 +2057,7 @@ Caliak [[Special:BlockList|daftar sakek]] untuak kasado pangguno nan kini kanai
 # Developer tools
 'lockdb' => 'Kunci basis data',
 'unlockdb' => 'Bukak kunci basis data',
+'lockedbyandtime' => '(dek {{GENDER:$1|$1}} pado $2 pukua $3)',
 
 # Move page
 'move-page' => 'Pindahan $1',
@@ -2028,19 +2080,20 @@ Ingeklah bahaso laman ko '''indak''' ka bapindah apobilo lah ado laman nan mangg
 
 '''Paringatan!''' 
 Iko dapek maakibaikan parubahan nan indak dipakiroan pado laman nan populer; jadi pastikan Sanak paham akibaik tindakan ko sabalun malanjuikannyo.",
-'movepagetalktext' => "Laman diskusi nan bakaitan akan dipindahkan sacaro otomatis '''kacuali apobilo:'''
+'movepagetalktext' => "Laman rundiang nan takaik akan dipindahan sacaro otomatih '''kacuali bilo:'''
 
-*Sabuah laman diskusi nan indak kosong lah ado pado judul baru, atau
-*Angku indak mangagiah tando pado kotak di bawah.
+*Laman rundiang nan indak kosong lah ado pado judul baru, atau
+*Sanak indak mangagiah tando pado kotak di bawah.
 
-Dalam kasus tu, kok amuah Angku dapek mamindahkan ataupun manggabuangkan laman sacaro manual.",
+Dalam kasus tu, kok amuah Sanak dapek mamindahan ataupun manggabuangan laman sacaro manual.",
 'movearticle' => 'Pindahkan laman',
+'moveuserpage-warning' => "'''Paringatan:''' Sanak tangah mamindahan laman pangguno. Paralu dikatahui bahwa hanyo laman nan ka bapindah namun pangguno ''indak akan'' baganti namo.",
 'movenologin' => 'Alun masuak log',
 'movenologintext' => 'Sanak musti pangguno tadaftar dan [[Special:UserLogin|masuak log]] untuak mamindahan laman.',
 'movenotallowed' => 'Sanak indak ado izin untuak mamindahan laman.',
 'movenotallowedfile' => 'Sanak indak ado izin untuak mamindahan berkas.',
-'cant-move-user-page' => 'Sanak indak ado izin untuak mamindahan laman pangguno (bagian dari sub laman).',
-'cant-move-to-user-page' => 'Sanak indak ado izin untuak mamindahan laman ka laman pangguno (salain ka sub laman pangguno).',
+'cant-move-user-page' => 'Sanak indak ado izin untuak mamindahan laman pangguno (bagian dari sublaman).',
+'cant-move-to-user-page' => 'Sanak indak ado izin untuak mamindahan laman ka laman pangguno (salain ka sublaman pangguno).',
 'newtitle' => 'Ka judul baru:',
 'move-watch' => 'Pantau laman ko',
 'movepagebtn' => 'Pindahkan laman',
@@ -2060,29 +2113,53 @@ Silakan piliah namo lain.',
 'movelogpagetext' => 'Di bawah ko daftar log pamindahan laman.',
 'movereason' => 'Alasan:',
 'revertmove' => 'baliakkan',
+'immobile-source-namespace' => 'Indak dapek mamindahan laman dalam ruangnamo "$1"',
+'immobile-target-namespace' => 'Indak dapek mamindahan laman ka ruangnamo "$1"',
 'move-leave-redirect' => 'Buek pangaliahan ka judul baru',
 
 # Export
 'export' => 'Ekspor laman',
+'exporttext' => 'Sanak dapek mangekspor teks jo sajarah panyuntiangan suatu laman tatantu atau satu set laman dalam bantuak XML tatantu.
+Hasil ekspor ko salanjuiknyo dapek diimpor ka wiki lainnyo nan manggunoan parangkaik lunak MediaWiki, jo manggunoan fasilitas [[Special:Import|laman impor]].
+
+Untuak mangekspor laman, masuakan judul dalam kotak teks di bawah ko, satu judul pabarih, dan piliah apo Sanak nio mangekspor sacaro langkok jo versi tadaulu, atau hanyo versi tabaru jo catatan panyuntiangan tarakhia.
+
+Jikok Sanak hanyo nio mangimpor versi tabaru, Sanak dapek malakuannyo labiah capek jo manggunoan pautan khusuih, sabagai contoh: [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] untuak mangekspor laman "[[{{MediaWiki:Mainpage}}]]".',
+'exportall' => 'Ekspor kasado laman',
+'exportcuronly' => 'Ekspor revisi kini sajo, bukan kasado versi tadaulu',
+'exportnohistory' => "----
+'''Catatan:''' Mangekspor kasado riwayaik suntiangan laman jo isian ko alah dinon-aktipan dek alasan kinerja.",
+'exportlistauthors' => 'Tamasuak daftar langkok kontributor satiok laman',
+'export-submit' => 'Ekspor',
+'export-addcattext' => 'Tambah laman dari kategori:',
+'export-addcat' => 'Tambah',
+'export-addnstext' => 'Tambah laman dari ruangnamo:',
+'export-addns' => 'Tambah',
+'export-download' => 'Simpan sabagai berkas',
+'export-templates' => 'Tamasuak templat',
+'export-pagelinks' => 'Saratoan laman takaik sampai kadalaman:',
 
 # Namespace 8 related
 'allmessages' => 'Pasan sistem',
 'allmessagesname' => 'Namo',
-'allmessagesdefault' => 'Teks pasan default',
+'allmessagesdefault' => 'Teks pasan baku',
+'allmessagescurrent' => 'Teks pasan kini',
 'allmessages-language' => 'Bahaso:',
 'allmessages-filter-submit' => 'Tuju',
 
 # Thumbnails
 'thumbnail-more' => 'Pagadang',
+'filemissing' => 'Berkas indak basobok',
 'thumbnail_error' => 'Gagal mambuek miniatua: $1',
 
 # Special:Import
 'import' => 'Impor laman',
 'importstart' => 'Mangimpor laman...',
+'importnosources' => 'Indak ado sumber impor transwiki nan lah dibuek dan pamuatan riwayaik sacaro langsuang alah dinon-aktipan.',
 
 # Import log
 'importlogpagetext' => 'Administrasi laman impor jo riwayaik panyuntiangannyo dari wiki lain.',
-'import-logentry-upload' => 'mangimpor [[$1]] malalui pamuekan berkas',
+'import-logentry-upload' => 'mangimpor [[$1]] malalui pangunggahan berkas',
 
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Laman pangguno Sanak',
@@ -2261,6 +2338,7 @@ Sanak hanyo buliah mancaliak sumbernyo sajo',
 'file-info-png-frames' => '$1 {{PLURAL:$1|bingkai}}',
 
 # Special:NewFiles
+'imagelisttext' => "Di bawah ko adolah daftar '''$1''' {{PLURAL:$1|berkas}} baruruik dari $2.",
 'newimages-summary' => 'Laman istimewa barikuik manunjuakan daftar berkas nan tarakhia dimuek',
 'newimages-legend' => 'Panyariang',
 'newimages-label' => 'Namo berkas (atau sabagian darinyo):',
@@ -2276,20 +2354,20 @@ Sanak hanyo buliah mancaliak sumbernyo sajo',
 'minutes-abbrev' => '$1 min',
 'hours-abbrev' => '$1 j',
 'days-abbrev' => '$1 h',
-'seconds' => '{{PLURAL:$1|satu datiak|$1 datiak}}',
-'minutes' => '{{PLURAL:$1|$1 minik|$1 minik}}',
-'hours' => '$1 {{PLURAL:$1|jam}}',
-'days' => '$1 {{PLURAL:$1|ari}}',
-'weeks' => '$1 {{PLURAL:$1|minggu}}',
-'months' => '$1 {{PLURAL:$1|bulan}}',
-'years' => '{{PLURAL:$1|$1 taun}}',
+'seconds' => '{{PLURAL:$1|1 datiak|$1 datiak}}',
+'minutes' => '{{PLURAL:$1|1 minik|$1 minik}}',
+'hours' => '{{PLURAL:$1|1 jam|$1 jam}}',
+'days' => '{{PLURAL:$1|1 ari|$1 ari}}',
+'weeks' => '{{PLURAL:$1|1 pakan|$1 pakan}}',
+'months' => '{{PLURAL:$1|1 bulan|$1 bulan}}',
+'years' => '{{PLURAL:$1|1 taun|$1 taun}}',
 'ago' => '$1 nan lalu',
 'just-now' => 'sabanta ko',
 
 # Human-readable timestamps
-'hours-ago' => '$1 {{PLURAL:$1|jam}} nan lalu',
-'minutes-ago' => '$1 {{PLURAL:$1|minik}} nan lalu',
-'seconds-ago' => '$1 {{PLURAL:$1|datiak}} nan lalu',
+'hours-ago' => '{{PLURAL:$1|1 jam|$1 jam}} nan lalu',
+'minutes-ago' => '{{PLURAL:$1|1 minik|$1 minik}} nan lalu',
+'seconds-ago' => '{{PLURAL:$1|1 datiak|$1 datiak}} nan lalu',
 'monday-at' => 'Sinayan pukua $1',
 'tuesday-at' => 'Salasa pukua $1',
 'wednesday-at' => "Raba'a pukua $1",
@@ -2399,6 +2477,7 @@ Nan lainnyo akan tasuruak sacaro baku.
 'autosumm-new' => '←Mambuek laman baisi "$1"',
 
 # Watchlist editor
+'watchlistedit-normal-title' => 'Suntiang daftar pantau',
 'watchlistedit-normal-legend' => 'Hapuih judul dari daftar pantau',
 'watchlistedit-normal-explain' => 'Judul pado daftar pantauan Sanak ditunjuakan di bawah ko.
 Untuak mangapuih judul, agiah tando cek pado kotak di sampiangnyo, dan takan "{{int:Watchlistedit-normal-submit}}".
@@ -2442,6 +2521,7 @@ Sanak dapek juo [[Special:EditWatchlist|manggunoan panyuntiang standarnyo]].',
 'version-license' => 'Lisensi',
 'version-poweredby-credits' => "Wiki ko didukuang jo '''[//www.mediawiki.org/ MediaWiki]''', hak cipta © 2001-$1 $2.",
 'version-poweredby-others' => 'lainnyo',
+'version-credits-summary' => 'Kami nio mangakui urang-urang ko ateh kontribusinyo pado [[Special:Version|MediaWiki]].',
 'version-license-info' => 'MediaWiki adolah parangkaik lunak bebas; Sanak dapek mandistribusian dan/atau mamodfikasinyo jo syaraik Lisensi Publik Umum GNU nan dikaluaan dek Free Software Foundation; versi 2 atau nan tabaru.
 
 MediaWiki didistribusian jo harapan dapek digunoan, tapi INDAK JO JAMINAN APO PUN; indak ado jaminan PADAGANGAN atau KACOCOKAN UNTUAK TUJUAN TATANTU. Caliak Lisensi Publik Umum GNU untuak informasi lebiah lanjuik.
@@ -2530,6 +2610,7 @@ Situs ko mangalami masalah teknis.',
 'logentry-delete-delete' => '$1 {{GENDER:$2|mangapuih}} laman $3',
 'logentry-delete-restore' => '$1 {{GENDER:$2|mangambalian}} laman $3',
 'logentry-move-move' => '$1 {{GENDER:$2|mamindahan}} laman $3 ka $4',
+'logentry-move-move-noredirect' => '$1 {{GENDER:$2|mamindahan}} laman $3 ka $4 tanpa mambuek pangaliahan',
 'logentry-move-move_redir' => '$1 {{GENDER:$2|mamindahan}} laman $3 ka $4 maimpok pangaliahan lamo',
 'logentry-move-move_redir-noredirect' => '$1 {{GENDER:$2|mamindahan}} laman $3 ka $4 maimpok pangaliahan lamo tanpa mambuek pangaliahan',
 'logentry-patrol-patrol' => '$1 {{GENDER:$2|manandoi}} revisi $4 dari laman $3 tapatroli',
@@ -2548,6 +2629,14 @@ Situs ko mangalami masalah teknis.',
 'searchsuggest-containing' => 'Barisi...',
 
 # Durations
+'duration-seconds' => '$1 {{PLURAL:$1|datiak}}',
+'duration-minutes' => '$1 {{PLURAL:$1|minik}}',
+'duration-hours' => '$1 {{PLURAL:$1|jam}}',
+'duration-days' => '$1 {{PLURAL:$1|ari}}',
+'duration-weeks' => '$1 {{PLURAL:$1|minggu}}',
+'duration-years' => '$1 {{PLURAL:$1|taun}}',
+'duration-decades' => '$1 {{PLURAL:$1|dekade}}',
+'duration-centuries' => '$1 {{PLURAL:$1|abaik}}',
 'duration-millennia' => '$1 {{PLURAL:$1|milenium}}',
 
 # Image rotation
index c258132..6c7f0a6 100644 (file)
@@ -457,6 +457,18 @@ $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' => '$1 септември',
+'october-date' => '$1 октомври',
+'november-date' => '$1 ноември',
+'december-date' => '$1 декември',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Категорија|Категории}}',
@@ -486,7 +498,7 @@ $messages = array(
 'moredotdotdot' => 'Повеќе...',
 'morenotlisted' => 'Повеќе (вон списокот)...',
 'mypage' => 'Страница',
-'mytalk' => 'Разговор',
+'mytalk' => 'разговор',
 'anontalk' => 'Разговор за оваа IP-адреса',
 'navigation' => 'Навигација',
 'and' => '&#32;и',
@@ -568,7 +580,7 @@ $messages = array(
 'otherlanguages' => 'На други јазици',
 'redirectedfrom' => '(Пренасочено од $1)',
 'redirectpagesub' => 'Страница за пренасочување',
-'lastmodifiedat' => 'Последната промена на страницава е извршена на $1 во $2 ч.',
+'lastmodifiedat' => 'Ð\9fоÑ\81леднаÑ\82а Ð¿Ñ\80омена Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86ава Ðµ Ð¸Ð·Ð²Ñ\80Ñ\88ена Ð½Ð° $1 Ð³. Ð²Ð¾ $2 Ñ\87.',
 'viewcount' => 'Оваа страница била посетена {{PLURAL:$1|еднаш|$1 пати}}.',
 'protectedpage' => 'Заштитена страница',
 'jumpto' => 'Прејди на:',
@@ -884,7 +896,7 @@ $2',
 'cannotchangeemail' => 'На ова вики не може да се менува е-пошта на сметките.',
 'emaildisabled' => 'Ова мреж. место не може да праќа е-пошта.',
 'accountcreated' => 'Корисничката сметка е направена',
-'accountcreatedtext' => 'Корисничката сметка за $1 беше направена.',
+'accountcreatedtext' => 'Корисничката сметка „$1“ е направена.',
 'createaccount-title' => 'Создавање на сметка за {{SITENAME}}',
 'createaccount-text' => 'Некој направил сметка со вашата е-поштенска адреса на {{SITENAME}} ($4) со име „$2“ и  лозинка „$3“.
 Би требало сега да се пријавите и да ја промените вашата лозинка.
@@ -924,11 +936,11 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Менување на лозинка',
-'passwordreset-text' => 'Пополнете го образецов за да ја измените лозинката.',
+'passwordreset-text-one' => 'Пополнете го образецов за да ја измените лозинката.',
+'passwordreset-text-many' => '{{PLURAL:$1|Внесете еден од податоците за да ја смените лозинката.}}',
 'passwordreset-legend' => 'Нова лозинка',
 'passwordreset-disabled' => 'На ова вики е оневозможено задавање на нова лозинка.',
 'passwordreset-emaildisabled' => 'Можностите за е-пошта се исклучени на ова вики',
-'passwordreset-pretext' => '{{PLURAL:$1||Подолу внесете еден податок}}',
 'passwordreset-username' => 'Корисничко име:',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Да ја прикажам пораката?',
@@ -980,7 +992,7 @@ $2
 'link_sample' => 'Наслов на врска',
 'link_tip' => 'Внатрешна врска',
 'extlink_sample' => 'http://www.example.com наслов на врска',
-'extlink_tip' => 'Ð\9dадвоÑ\80еÑ\88на Ð²Ñ\80Ñ\81ка (Ñ\81о Ð¿Ñ\80еÑ\84икÑ\81оÑ\82 http://)',
+'extlink_tip' => 'Ð\9dадвоÑ\80еÑ\88на Ð²Ñ\80Ñ\81ка (Ñ\81о Ð¿Ñ\80еÑ\82Ñ\81Ñ\82авкаÑ\82а http://)',
 'headline_sample' => 'Наслов',
 'headline_tip' => 'Поднаслов',
 'nowiki_sample' => 'Овде внесете неформатиран текст',
@@ -1177,6 +1189,7 @@ $2
 Веројатно е избришана.',
 'edit-conflict' => 'Спротиставеност во уредувањето.',
 'edit-no-change' => 'Вашите уредувања беа игнорирани, бидејќи не се направени промени врз текстот.',
+'postedit-confirmation' => 'Вашето уредување е зачувано.',
 'edit-already-exists' => 'Не може да се создаде нова страница.
 Истата веќе постои.',
 'defaultmessagetext' => 'Текст на пораката по основно',
@@ -1184,7 +1197,7 @@ $2
 'invalid-content-data' => 'Неважечки податоци од содржината',
 'content-not-allowed-here' => 'Содржините од моделот „$1“ не се допуштени на страницата [[$2]]',
 'editwarning-warning' => 'Ако ја напуштите страницата ќе ги изгубите сите промени кои сте ги направиле.
-Ако сте најавени, можете да го исклучите ова предупредување во одделот „{{int:prefs-editing}}“ во вашите нагодувања.',
+Ако сте најавени, можете да го исклучите ова предупредување во одделот „Уредување“ во вашите нагодувања.',
 
 # Content models
 'content-model-wikitext' => 'викитекст',
@@ -1424,7 +1437,7 @@ $1",
 'searchmenu-exists' => "'''На ова вики има страница со наслов „[[:$1]]“'''",
 'searchmenu-new' => "Создајте ја страницата „[[:$1]]“ на ова вики!'''",
 'searchhelp-url' => 'Help:Содржина',
-'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ð\9fÑ\80елиÑ\81Ñ\82Ñ\83ваÑ\9aе Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86и Ñ\81о Ð¾Ð²Ð¾Ñ\98 Ð¿Ñ\80еÑ\84икÑ\81]]',
+'searchmenu-prefix' => '[[Special:PrefixIndex/$1|Ð\9fÑ\80елиÑ\81Ñ\82Ñ\83ваÑ\9aе Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86и Ñ\81о Ð¾Ð²Ð°Ð° Ð¿Ñ\80еÑ\82Ñ\81Ñ\82авка]]',
 'searchprofile-articles' => 'Статии',
 'searchprofile-project' => 'Помош и проектни страници',
 'searchprofile-images' => 'Податотеки',
@@ -1453,7 +1466,7 @@ $1",
 'showingresultsnum' => "Подолу {{PLURAL:$3|е прикажан '''1''' резултат|се прикажани '''$3''' резултати}} почнувајќи од '''$2'''.",
 'showingresultsheader' => "{{PLURAL:$5|Резултат '''$1''' од '''$3'''|Резултати '''$1 - $2''' од '''$3'''}} за '''$4'''",
 'nonefound' => "'''Напомена''': Само некои именски простори се пребаруваат по основно.
\9eбидеÑ\82е Ñ\81е Ñ\81о Ð´Ð¾Ð´Ð°Ð²Ð°Ñ\9aе Ð½Ð° Ð¿Ñ\80еÑ\84икÑ\81оÑ\82 ''all:'' Ð·Ð° Ð´Ð° Ð¿Ñ\80ебаÑ\80Ñ\83ваÑ\82е Ð½Ð¸Ð· Ñ\81иÑ\82е Ñ\81одÑ\80жини (вклÑ\83Ñ\87Ñ\83ваÑ\98Ñ\9cи Ñ\81Ñ\82Ñ\80аниÑ\86и Ð·Ð° Ñ\80азговоÑ\80, Ñ\88аблони, Ð¸Ñ\82н) Ð¸Ð»Ð¸ ÐºÐ¾Ñ\80иÑ\81Ñ\82еÑ\82е Ð³Ð¾ Ð±Ð°Ñ\80аниоÑ\82 Ð¸Ð¼ÐµÐ½Ñ\81ки Ð¿Ñ\80оÑ\81Ñ\82оÑ\80 ÐºÐ°ÐºÐ¾ Ð¿Ñ\80еÑ\84икÑ\81.",
\9eбидеÑ\82е Ñ\81е Ñ\81о Ð´Ð¾Ð´Ð°Ð²Ð°Ñ\9aе Ð½Ð° Ð¿Ñ\80еÑ\82Ñ\81Ñ\82авкаÑ\82а ''all:'' Ð·Ð° Ð´Ð° Ð¿Ñ\80ебаÑ\80Ñ\83ваÑ\82е Ð½Ð¸Ð· Ñ\81иÑ\82е Ñ\81одÑ\80жини (вклÑ\83Ñ\87Ñ\83ваÑ\98Ñ\9cи Ñ\81Ñ\82Ñ\80аниÑ\86и Ð·Ð° Ñ\80азговоÑ\80, Ñ\88аблони, Ð¸Ñ\82н) Ð¸Ð»Ð¸ ÐºÐ¾Ñ\80иÑ\81Ñ\82еÑ\82е Ð³Ð¾ Ð±Ð°Ñ\80аниоÑ\82 Ð¸Ð¼ÐµÐ½Ñ\81ки Ð¿Ñ\80оÑ\81Ñ\82оÑ\80 ÐºÐ°ÐºÐ¾ Ð¿Ñ\80еÑ\82Ñ\81Ñ\82авка.",
 'search-nonefound' => 'Нема резултати што одговараат на бараното.',
 'powersearch' => 'Напредно пребарување',
 'powersearch-legend' => 'Напредно пребарување',
@@ -1912,7 +1925,7 @@ $1",
 'filename-prefix-blacklist' => ' #<!-- Не менувајте ја содржината на овој ред - оставете ја како што е --> <pre>
 # Опис на ситнаксата:
 #   * Било што по знакот „#“, па до крајот на редот претставува коментар
-#   * Ð¡ÐµÐºÐ¾Ñ\98 Ñ\80ед Ð¾Ð·Ð½Ð°Ñ\87Ñ\83ва Ð¿Ñ\80еÑ\84икÑ\81 на типични имиња на податотеки што ги доделуваат дигиталните апарати
+#   * Ð¡ÐµÐºÐ¾Ñ\98 Ñ\80ед Ð¾Ð·Ð½Ð°Ñ\87Ñ\83ва Ð¿Ñ\80еÑ\82Ñ\81Ñ\82авка на типични имиња на податотеки што ги доделуваат дигиталните апарати
 CIMG # Casio
 DSC_ # Nikon
 DSCF # Fuji
@@ -2215,7 +2228,7 @@ $1',
 
 'withoutinterwiki' => 'Страници без меѓујазични врски',
 'withoutinterwiki-summary' => 'Следните страници немаат врски до други јазични верзии.',
-'withoutinterwiki-legend' => 'Ð\9fÑ\80еÑ\84икÑ\81',
+'withoutinterwiki-legend' => 'Ð\9fÑ\80еÑ\82Ñ\81Ñ\82авка',
 'withoutinterwiki-submit' => 'Прикажи',
 
 'fewestrevisions' => 'Статии со најмалку ревизии',
@@ -2254,7 +2267,7 @@ $1',
 'mostimages' => 'Најмногу врски до податотеки',
 'mostinterwikis' => 'Страници со најмногу меѓувики',
 'mostrevisions' => 'Статии со најмногу верзии',
-'prefixindex' => 'Страници со префикс',
+'prefixindex' => 'Сите страници (со претставка)',
 'prefixindex-namespace' => 'Сите страници со префикс (именски простор $1)',
 'shortpages' => 'Кратки страници',
 'longpages' => 'Долги страници',
@@ -2306,7 +2319,7 @@ $1',
 'all-logs-page' => 'Сите јавни дневници',
 'alllogstext' => 'Комбиниран приказ на сите расположиви дневници на {{SITENAME}}.
 Можете да го ограничите прикажаното избирајќи тип на дневник, корисничко име (разликува големи и мали букви), или страница (разликува големи и мали букви).',
-'logempty' => 'Ð\9dема Ñ\81оодвеÑ\82ни Ð·Ð°Ð¿Ð¸Ñ\81и Ð²Ð¾ Ð´Ð½ÐµÐ²Ð½Ð¸ÐºÐ¾Ñ\82.',
+'logempty' => 'Ð\94невникоÑ\82 Ð½ÐµÐ¼Ð° Ð·Ð°Ð¿Ð¸Ñ\81и Ñ\88Ñ\82о Ð¾Ð´Ð³Ð¾Ð²Ð°Ñ\80ааÑ\82 Ð½Ð° Ð¾Ð²Ð°.',
 'log-title-wildcard' => 'Пребарај наслови кои почнуваат со овој текст',
 'showhideselectedlogentries' => 'Прикажи/скриј одбрани записи',
 
@@ -2323,8 +2336,8 @@ $1',
 'allpagesprev' => 'Претходна',
 'allpagesnext' => 'Следна',
 'allpagessubmit' => 'Оди',
-'allpagesprefix' => 'Ð\9fÑ\80икажи Ñ\81Ñ\82Ñ\80аниÑ\86и Ñ\81о Ð¿Ñ\80еÑ\84икÑ\81:',
-'allpagesbadtitle' => 'Дадениот наслов е неважечки или има меѓујазичен или меѓувики префикс. Може да содржи повеќе знаци кои не смеат да се користат во наслови.',
+'allpagesprefix' => 'Ð\9fÑ\80икажи Ñ\81Ñ\82Ñ\80аниÑ\86и Ñ\81о Ð¿Ñ\80еÑ\82Ñ\81Ñ\82авка:',
+'allpagesbadtitle' => 'Дадениот наслов е неважечки или има меѓујазичен или меѓувики-претставка. Може да содржи повеќе знаци кои не смеат да се користат во наслови.',
 'allpages-bad-ns' => 'Википедија не содржи именски простор „$1“.',
 'allpages-hide-redirects' => 'Скриј пренасочувања',
 
@@ -2430,7 +2443,7 @@ $1',
 'usermessage-editor' => 'Системски гласник',
 
 # Watchlist
-'watchlist' => 'Ð\9dабљудувања',
+'watchlist' => 'набљудувања',
 'mywatchlist' => 'Набљудувања',
 'watchlistfor2' => 'За $1 $2',
 'nowatchlist' => 'Немате ништо во списокот на набљудувања.',
@@ -2450,8 +2463,8 @@ $1',
 'notvisiblerev' => 'Ревизијата била избришана',
 'watchnochange' => 'Ниту едно од вашите набљудувања не било уредувано во прикажаниот период.',
 'watchlist-details' => '{{PLURAL:$1|$1 страница|$1 страници}} во вашиот список на набљудувања, не броејќи ги страниците за разговор.',
-'wlheader-enotif' => '* Известување по е-пошта е овозможено.',
-'wlheader-showupdated' => "* Страници кои се променети од вашата последна посета се прикажани со '''задебелени''' букви",
+'wlheader-enotif' => 'Известувањето по е-пошта е вклучено.',
+'wlheader-showupdated' => "Страниците што се изменети од вашата последна посета се прикажани со '''задебелени''' букви",
 'watchmethod-recent' => 'Проверка на скорешните уредувања на набљудуваните страници',
 'watchmethod-list' => 'Проверерка на набљудуваните страници во скорешните уредувања',
 'watchlistcontains' => 'Вашиот список на набљудувања содржи $1 {{PLURAL:$1|страница|страници}}.',
@@ -2524,7 +2537,7 @@ $UNWATCHURL
 'delete-legend' => 'Бришење',
 'historywarning' => "'''Предупредување:''' Страницата што сакате да ја избришете има историја со околу $1 {{PLURAL:$1|ревизија|ревизии}}:",
 'confirmdeletetext' => 'На пат сте трајно да избришете страница заедно со нејзината историја.
-Потврдете дека имате намера да го направите ова, дека ги разбирате последиците од тоа, дека го правите ова во согласност со [[{{MediaWiki:Policy-url}}|политиката]].',
+Потврдете дека имате намера да го направите ова, дека ги разбирате последиците од тоа и дека го правите во согласност со [[{{MediaWiki:Policy-url}}|правилата]].',
 'actioncomplete' => 'Дејството е извршено',
 'actionfailed' => 'Неуспешно дејство',
 'deletedtext' => '„$1“ е избришана. Евиденција на скорешните бришења ќе најдете на $2.',
@@ -2539,7 +2552,7 @@ $UNWATCHURL
 ** На барање на авторот
 ** Прекршување на авторски права
 ** Вандализам',
-'delete-edit-reasonlist' => 'Уредување на причини за бришење',
+'delete-edit-reasonlist' => 'Уреди причини за бришење',
 'delete-toobig' => 'Оваа страница има долга историја на уредување, преку $1 {{PLURAL:$1|ревизија|ревизии}}.
 Бришењето на ваквии страници е забрането со цел {{SITENAME}} да се заштити од оштетувања.',
 'delete-warning-toobig' => 'Оваа страница има долга историја на уредување, преку $1 {{PLURAL:$1|ревизија|ревизии}}.
@@ -3041,6 +3054,8 @@ $1',
 'thumbnail-more' => 'Зголеми',
 'filemissing' => 'Недостасува податотека',
 'thumbnail_error' => 'Грешка при создавање на минијатурата: $1',
+'thumbnail_error_remote' => '$1 пријавува грешка:
+$2',
 'djvu_page_error' => 'Недостапна DjVu страница',
 'djvu_no_xml' => 'Не е можно да се излачи XML за DjVu податотеки',
 'thumbnail-temp-create' => 'Не можам да создадам привремена податотека на минијатурата',
@@ -3197,7 +3212,6 @@ $1',
 'modern.css' => '/* Тука поставениот CSS се однесува на корисниците на рувото „Современо“ */',
 'vector.css' => '/* Тука поставениот CSS се однесува на корисниците на рувото „Векторско“ */',
 'print.css' => '/* Тука поставениот CSS ќе се применува во верзијата за печатење */',
-'handheld.css' => '/* Тука поставениот CSS ќе се применува во рачните уреди со руво прилагодено во $wgHandheldStyle */',
 'noscript.css' => '/* Тука поставениот CSS се однесува на корисниците што имаат оневозможено JavaScript */',
 'group-autoconfirmed.css' => '/* Тука поставениот CSS ќе се применува само на автопотврдените корисници */',
 'group-bot.css' => '/* Тука поставениот CSS ќе се применува само врз ботовите */',
@@ -3222,7 +3236,7 @@ $1',
 'anonymous' => '{{PLURAL:$1|Анонимен корисник|Анонимни корисници}} на {{SITENAME}}',
 'siteuser' => '{{SITENAME}} корисник $1',
 'anonuser' => '{{SITENAME}} анонимен корисник $1',
-'lastmodifiedatby' => 'Последната промена на страницава е извршена на $1 во $2 ч. Промената ја направи $3.',
+'lastmodifiedatby' => 'Ð\9fоÑ\81леднаÑ\82а Ð¿Ñ\80омена Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86ава Ðµ Ð¸Ð·Ð²Ñ\80Ñ\88ена Ð½Ð° $1 Ð³ Ð¡Ð²Ð¾ $2 Ñ\87. Ð\9fÑ\80оменаÑ\82а Ñ\98а Ð½Ð°Ð¿Ñ\80ави $3.',
 'othercontribs' => 'Засновано на работата на $1.',
 'others' => 'други',
 'siteusers' => '{{PLURAL:$2|корисникот|корисниците}} на {{SITENAME}} $1',
index 1fc0f82..17c41e4 100644 (file)
@@ -19,6 +19,7 @@
  * @author Krenair
  * @author Manjith Joseph <manjithkaini@gmail.com>
  * @author Naveen Sankar
+ * @author Nemo bis
  * @author Praveen Prakash <me.praveen@gmail.com>
  * @author Praveenp
  * @author Sadik Khalid
@@ -444,6 +445,18 @@ $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' => 'സെപ്റ്റംബർ $1',
+'october-date' => 'ഒക്ടോബർ $1',
+'november-date' => 'നവംബർ $1',
+'december-date' => 'ഡിസംബർ $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|വർഗ്ഗം|വർഗ്ഗങ്ങൾ}}',
@@ -453,7 +466,7 @@ $messages = array(
 'category-empty' => "''ഈ വർഗ്ഗത്തിൽ താളുകളോ പ്രമാണങ്ങളോ ഇല്ല.''",
 'hidden-categories' => '{{PLURAL:$1|മറഞ്ഞിരിക്കുന്ന വർഗ്ഗം|മറഞ്ഞിരിക്കുന്ന വർഗ്ഗങ്ങൾ}}',
 'hidden-category-category' => 'മറഞ്ഞിരിക്കുന്ന വർഗ്ഗങ്ങൾ',
-'category-subcat-count' => '{{PLURAL:$2|à´\88 à´µàµ¼à´\97àµ\8dà´\97à´¤àµ\8dതിനàµ\81 à´¤à´¾à´´àµ\86 à´¨àµ½à´\95ിയിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨ à´\92à´°àµ\81 à´\89പവർà´\97àµ\8dà´\97à´\82 à´®à´¾à´¤àµ\8dരമാണàµ\81à´³àµ\8dളതàµ\8d.|à´\88 à´µàµ¼à´\97àµ\8dà´\97à´¤àµ\8dതിനàµ\8d ആകെ $2 ഉപവർഗ്ഗങ്ങൾ ഉള്ളതിൽ {{PLURAL:$1|ഒരു ഉപവർഗ്ഗം|$1 ഉപവർഗ്ഗങ്ങൾ}}, താഴെക്കൊടുത്തിരിക്കുന്നു.}}',
+'category-subcat-count' => '{{PLURAL:$2|à´\88 à´µàµ¼à´\97àµ\8dà´\97à´¤àµ\8dതിൽ à´¤à´¾à´´àµ\86 à´¨àµ½à´\95ിയിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨ à´\92à´°àµ\81 à´\89പവർà´\97àµ\8dà´\97à´\82 à´®à´¾à´¤àµ\8dരമാണàµ\81à´³àµ\8dളതàµ\8d.|à´\88 à´µàµ¼à´\97àµ\8dà´\97à´¤àµ\8dതിൽ ആകെ $2 ഉപവർഗ്ഗങ്ങൾ ഉള്ളതിൽ {{PLURAL:$1|ഒരു ഉപവർഗ്ഗം|$1 ഉപവർഗ്ഗങ്ങൾ}}, താഴെക്കൊടുത്തിരിക്കുന്നു.}}',
 'category-subcat-count-limited' => 'ഈ വർഗ്ഗത്തിനു താഴെ നൽകിയിരിക്കുന്ന {{PLURAL:$1|ഉപവർഗ്ഗമുണ്ട്|$1 ഉപവർഗ്ഗങ്ങളുണ്ട്}}.',
 'category-article-count' => '{{PLURAL:$2|ഈ വർഗ്ഗത്തിൽ താഴെ നൽകിയിരിക്കുന്ന ഒരു താൾ മാത്രമാണുള്ളത്.|ഈ വർഗ്ഗത്തിൽ $2 താളുകളുള്ളതിൽ {{PLURAL:$1|ഒരു താൾ|$1 എണ്ണം}} താഴെ നൽകിയിരിക്കുന്നു.}}',
 'category-article-count-limited' => 'ഈ വർഗ്ഗത്തിൽ താഴെ നൽകിയിരിക്കുന്ന {{PLURAL:$1|ഒരു താൾ ഉണ്ട്|$1 താളുകൾ ഉണ്ട്}}.',
@@ -888,11 +901,11 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'രഹസ്യവാക്ക് പുനഃക്രമീകരിക്കുക',
-'passwordreset-text' => 'രഹസ്യവാക്ക് പുനർസജ്ജീകരിക്കാനായി ഈ ഫോം പൂരിപ്പിക്കുക.',
+'passwordreset-text-one' => 'രഹസ്യവാക്ക് പുനർസജ്ജീകരിക്കാനായി ഈ ഫോം പൂരിപ്പിക്കുക.',
+'passwordreset-text-many' => '{{PLURAL:$1|താങ്കളുടെ രഹസ്യവാക്ക് പുനസജ്ജീകരിക്കാൻ വിവരശകലം നൽകുക.}}',
 'passwordreset-legend' => 'രഹസ്യവാക്ക് പുനഃക്രമീകരിക്കുക',
 'passwordreset-disabled' => 'ഈ വിക്കിയിൽ രഹസ്യവാക്ക് പുനഃക്രമീകരിക്കലുകൾ പ്രവർത്തരഹിതമാക്കിയിരിക്കുകയാണ്.',
 'passwordreset-emaildisabled' => 'ഈ വിക്കിയിൽ ഇമെയിൽ സൗകര്യങ്ങൾ പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു.',
-'passwordreset-pretext' => '{{PLURAL:$1||താഴെ ഒരു വിവരശകലം നൽകുക}}',
 'passwordreset-username' => 'ഉപയോക്തൃനാമം:',
 'passwordreset-domain' => 'ഡൊമൈൻ:',
 'passwordreset-capture' => 'ഫലമായുണ്ടാകുന്ന ഇമെയിൽ കാണണോ?',
@@ -1114,14 +1127,15 @@ $1 ആണ് ഈ തടയൽ നടത്തിയത്. ''$2'' എന്ന
 ഇത് മായ്ക്കപ്പെട്ടതായി കാണുന്നു.',
 'edit-conflict' => 'തിരുത്തൽ സമരസപ്പെടായ്ക.',
 'edit-no-change' => 'ഇപ്പോഴുള്ള സ്ഥിതിയിൽ നിന്നു യാതൊരു മാറ്റവും ഇല്ലാത്തതിനാൽ താങ്കളുടെ തിരുത്തലുകൾ തിരസ്കരിക്കപ്പെട്ടിരിക്കുന്നു.',
+'postedit-confirmation' => 'താങ്കളുടെ തിരുത്ത് സേവ് ചെയ്തിരിക്കുന്നു.',
 'edit-already-exists' => 'പുതിയ താൾ സൃഷ്ടിക്കാൻ കഴിഞ്ഞില്ല.
 താൾ ഇപ്പോൾ തന്നെ നിലവിലുണ്ട്.',
 'defaultmessagetext' => 'സ്വതേയുള്ള സന്ദേശ എഴുത്ത്',
 'content-failed-to-parse' => '$2 ഉള്ളടക്കം $1 മാതൃകയിൽ പാഴ്സ് ചെയ്യൽ പരാജയപ്പെട്ടു: $3',
 'invalid-content-data' => 'അസാധുവായ ഉള്ളടക്ക ഡേറ്റ',
 'content-not-allowed-here' => '"$1" ഉള്ളടക്കം [[$2]] താളിൽ അനുവദിക്കുന്നില്ല',
-'editwarning-warning' => 'ഈ താളിൽ നിന്നു പോകുന്നത് താങ്കൾ വരുത്തിയ മാറ്റങ്ങൾ നഷ്ടപ്പെടാൻ ഇടയാക്കുന്നതാണ്.
-താങ്കൾ ലോഗിൻ ചെയ്തിട്ടുണ്ടെങ്കിൽ, താങ്കളുടെ ക്രമീകരണങ്ങളിൽ "{{int:prefs-editing}}" ഭാഗത്ത് ചെന്ന് ഈ അറിയിപ്പ് ഒഴിവാക്കാവുന്നതാണ്.',
+'editwarning-warning' => 'ഈ താളിൽ നിന്നും പോകുന്നത് താങ്കൾ വരുത്തിയ മാറ്റങ്ങൾ നഷ്ടപ്പെടാൻ ഇടയാക്കും.
+താങ്കൾ ലോഗിൻ ചെയ്തിട്ടുണ്ടെങ്കിൽ, താങ്കളുടെ ക്രമീകരണങ്ങളിൽ "തിരുത്തൽ" എന്ന ഭാഗത്ത് ചെന്ന് ഈ അറിയിപ്പ് പ്രദർശിപ്പിക്കുന്നത് ഒഴിവാക്കാവുന്നതാണ്.',
 
 # Content models
 'content-model-wikitext' => 'വിക്കിഎഴുത്ത്',
@@ -1548,6 +1562,7 @@ $1",
 'userrights-notallowed' => 'ഉപയോക്താക്കൾക്ക് അവകാശങ്ങൾ കൊടുക്കാനും എടുത്തുകളയാനുമുള്ള അനുമതി താങ്കളുടെ അംഗത്വത്തിനില്ല.',
 'userrights-changeable-col' => 'താങ്കൾക്ക് മാറ്റാവുന്ന സംഘങ്ങൾ',
 'userrights-unchangeable-col' => 'താങ്കൾക്ക് മാറ്റാനാവാത്ത സംഘങ്ങൾ',
+'userrights-conflict' => 'ഉപയോക്തൃ അവകാശങ്ങൾ സമരസപ്പെടായ്കയുണ്ടായി! ദയവായി താങ്കളുടെ മാറ്റങ്ങൾ വീണ്ടും നടപ്പിലാക്കുക.',
 
 # Groups
 'group' => 'സംഘം:',
@@ -2358,8 +2373,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization കാണുക.',
 'notvisiblerev' => 'മറ്റൊരു ഉപയോക്താവ് സൃഷ്ടിച്ച അവസാനത്തെ നാൾപ്പതിപ്പ് മായ്ച്ചിരിക്കുന്നു',
 'watchnochange' => 'താങ്കൾ ശ്രദ്ധിക്കുന്ന താളുകൾ ഒന്നും തന്നെ ഇക്കാലയളവിൽ തിരുത്തപ്പെട്ടിട്ടില്ല.',
 'watchlist-details' => 'സം‌വാദം താളുകൾ ഉൾപ്പെടുത്താതെ {{PLURAL:$1|ഒരു താൾ|$1 താളുകൾ}} താങ്കൾ ശ്രദ്ധിക്കുന്നവയുടെ പട്ടികയിലുണ്ട്.',
-'wlheader-enotif' => '* ഇമെയിൽ വിജ്ഞാപനം സാധ്യമാക്കിയിരിക്കുന്നു.',
-'wlheader-showupdated' => "* താങ്കളുടെ അവസാന സന്ദർശനത്തിനു ശേഷം തിരുത്തപ്പെട്ട താളുകൾ  '''കടുപ്പിച്ച്''' കാണിച്ചിരിക്കുന്നു",
+'wlheader-enotif' => 'ഇമെയിൽ അറിയിപ്പുകൾ സജ്ജമാക്കിയിരിക്കുന്നു.',
+'wlheader-showupdated' => "താങ്കളുടെ അവസാന സന്ദർശനത്തിനു ശേഷം മാറ്റം വന്ന താളുകൾ  '''കടുപ്പിച്ച്''' കാണിച്ചിരിക്കുന്നു",
 'watchmethod-recent' => 'ശ്രദ്ധിക്കുന്ന താളുകൾക്കുവേണ്ടി പുതിയ മാറ്റങ്ങൾ പരിശോധിക്കുന്നു',
 'watchmethod-list' => 'ശ്രദ്ധിക്കുന്ന താളുകളിലെ പുതിയ മാറ്റങ്ങൾ പരിശോധിക്കുന്നു',
 'watchlistcontains' => 'താങ്കൾ {{PLURAL:$1|താൾ|താളുകൾ}} ശ്രദ്ധിക്കുന്നുണ്ട്.',
@@ -2934,6 +2949,7 @@ $1',
 'thumbnail-more' => 'വലുതാക്കി കാണിക്കുക',
 'filemissing' => 'പ്രമാണം നഷ്ടമായിരിക്കുന്നു',
 'thumbnail_error' => 'ലഘുചിത്രം സൃഷ്ടിക്കുന്നതിൽ പിഴവ്: $1',
+'thumbnail_error_remote' => '$1 സംരംഭത്തിൽ നിന്നുള്ള പിഴവ് സന്ദേശം: $2',
 'djvu_page_error' => 'DjVu താൾ പരിധിയ്ക്കു പുറത്താണ്',
 'djvu_no_xml' => 'DjVu പ്രമാണത്തിനു വേണ്ടി XML ശേഖരിക്കുവാൻ പറ്റിയില്ല',
 'thumbnail-temp-create' => 'താത്കാലിക ലഘുചിത്ര പ്രമാണം സൃഷ്ടിക്കാനായില്ല',
index d2279e1..1deb5ea 100644 (file)
@@ -1949,6 +1949,15 @@ URL нь зөв болон сайт ажиллагаатай байгаа эсэ
 'listusers-noresult' => 'Хэрэглэгч олдсонгүй.',
 'listusers-blocked' => '(түгжигдсэн)',
 
+# Special:ActiveUsers
+'activeusers' => 'Идэвхитэй хэрэглэгчдийн жагсаалт',
+'activeusers-intro' => 'Энэ нь сүүлийн $1 {{PLURAL:$1|өдөрт|өдөрт}} ямар нэг байдлаар үйлдэл хийсэн хэрэглэгчдийн жагсаалт юм.',
+'activeusers-count' => 'Сүүлийн {{PLURAL:$3|нэг өдөрт|$3 өдөрт}} $1 {{PLURAL:$1|засвар|засвар}}',
+'activeusers-from' => 'Хамгийн эхэлж харуулах хэрэглэгч:',
+'activeusers-hidebots' => 'Ботуудыг нуух',
+'activeusers-hidesysops' => 'Администраторуудыг нуух',
+'activeusers-noresult' => 'Хэрэглэгч олдсонгүй.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Хэрэглэгчийн бүлгийн эрхүүд',
 'listgrouprights-summary' => 'Дараах нь энэ вики дээрх хэрэглэгчийн бүлгүүд болон тэдгээрийн эрх, зөвшөөрлүүдийн жагсаалт юм.
@@ -2026,8 +2035,8 @@ URL нь зөв болон сайт ажиллагаатай байгаа эсэ
 'notvisiblerev' => 'Засвар устгагдлаа',
 'watchnochange' => 'Дурьдагдсан хугацаанд таны хянаж буй хуудсуудад өөрчлөлт ороогүй байна.',
 'watchlist-details' => 'Хяналтын жагсаалтад {{PLURAL:$1|$1 хуудас|$1 хуудаснууд}} байна.',
-'wlheader-enotif' => 'И-мэйл мэдэгдэл хүчинтэй боллоо.',
-'wlheader-showupdated' => "Таны хамгийн сүүлд айлчилснаас хойш өөрчлөгдсөн хуудсууд '''тодоор''' бичигдсэн байгаа",
+'wlheader-enotif' => 'И-мэйл мэдэгдэл хүчинтэй боллоо.',
+'wlheader-showupdated' => "Таны хамгийн сүүлд айлчилснаас хойш өөрчлөгдсөн хуудсууд '''тодоор''' бичигдсэн байгаа",
 'watchmethod-recent' => 'хяналтад буй хуудсуудад шинэ өөрчлөлт орсон эсэхийг шалгаж байна',
 'watchmethod-list' => 'хяналтад буй хуудсуудад саяхан өөрчлөлт орсон эсэхийг шалгаж байна',
 'watchlistcontains' => 'Таны хянах жагсаалтанд $1 хуудас байна.',
@@ -2865,7 +2874,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Өргөн',
 'exif-imagelength' => 'Өндөр',
 'exif-bitspersample' => 'Бүрэлдэхүүн хэсэг бүр дэх бит',
@@ -3019,7 +3028,7 @@ $1',
 'exif-giffilecomment' => 'GIF файлын тэмдэглэгээ',
 'exif-intellectualgenre' => 'Зүйлийн төрөл',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Шахагдаагүй',
 
 'exif-unknowndate' => 'Мэдэгдэхгүй огноо',
@@ -3358,13 +3367,6 @@ $5
 'version-software-product' => 'Бүтээгдэхүүн',
 'version-software-version' => 'Хувилбар',
 
-# Special:FilePath
-'filepath' => 'Файлын зам',
-'filepath-page' => 'Файл:',
-'filepath-submit' => 'Явах',
-'filepath-summary' => 'Энэхүү тусгай хуудас нь файлын бүтэн замыг дуудна.
-Зургууд нь бүтэн хэмжээгээрээ гарах ба бусад файлын төрлүүд нь тохирох програмаараа шууд нээгдэнэ.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Давхардсан файлуудыг хайх',
 'fileduplicatesearch-summary' => 'Хэш кодыг ашиглан давхардсан файлуудын хайна.',
index ef8797a..b05ccc4 100644 (file)
@@ -274,6 +274,9 @@ $messages = array(
 
 'grouppage-sysop' => '{{ns:project}}:Администраторь',
 
+# Special:Log/newusers
+'newuserlogpage' => 'Журнал утилизаторь ной',
+
 # User rights log
 'rightslog' => 'Журнал дрептурь де утилизатор',
 
@@ -363,13 +366,10 @@ $messages = array(
 # Special:LinkSearch
 'linksearch' => 'Легэтурь екстерне',
 
-# Special:Log/newusers
-'newuserlogpage' => 'Журнал утилизаторь ной',
-
 # Special:ListGroupRights
 'listgrouprights-members' => '(листэ де мембрь)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Тримите прин поштэ електроникэ ун месаж ачестуй утилизатор',
 
 # Watchlist
index 53b7bbb..c0d4672 100644 (file)
@@ -2146,6 +2146,15 @@ Input:contenttype/subtype, e.g. <code>image/jpeg</code>.',
 'listusers-noresult' => 'एकही सदस्य सापडला नाही.',
 'listusers-blocked' => '(खंडित)',
 
+# Special:ActiveUsers
+'activeusers' => 'कार्यरत सदस्यांची यादी',
+'activeusers-intro' => '$1 {{PLURAL:$1|day|days}} मधे शेवटी काम केलेल्या सदस्यांची यादी येथे मिळेल',
+'activeusers-count' => 'शेवटच्या {{PLURAL:$3|दिवसात|$3 दिवसांत}} $1 {{PLURAL:$1|संपादन|संपादने}}',
+'activeusers-from' => 'पुढील शब्दापासून सुरू होणारे सदस्य दाखवा:',
+'activeusers-hidebots' => 'सांगकामे लपवा',
+'activeusers-hidesysops' => 'प्रचालक लपवा',
+'activeusers-noresult' => 'एकही सदस्य सापडला नाही.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'सदस्य गट अधिकार',
 'listgrouprights-summary' => 'खाली या विकिवर दिलेली सदस्य गटांची यादी त्यांच्या अधिकारांसकट दर्शविलेली आहे. प्रत्येकाच्या अधिकारांची अधिक माहिती [[{{MediaWiki:Listgrouprights-helppage}}|इथे]] दिलेली आहे.',
@@ -2222,8 +2231,8 @@ Input:contenttype/subtype, e.g. <code>image/jpeg</code>.',
 'notvisiblerev' => 'आवृत्ती वगळण्यात आलेली आहे',
 'watchnochange' => 'प्रदर्शित कालावधीत, तुम्ही नित्य पहाण्यासाठी ठेवलेली कोणतीही बाब संपादित झाली नाही.',
 'watchlist-details' => '{{PLURAL:$1|$1 पान|$1 पाने}} पहाऱ्याच्या सूचीमध्ये, चर्चा पाने मोजलेले नाहीत.',
-'wlheader-enotif' => 'विपत्र सूचना सुविधा उपलब्ध केली.',
-'wlheader-showupdated' => "तुम्ही पानांस दिलेल्या शेवटच्या भेटी पासून बदललेली पाने '''ठळक''' दाखवली आहेत.",
+'wlheader-enotif' => 'विपत्र सूचना सुविधा उपलब्ध केली.',
+'wlheader-showupdated' => "तुम्ही पानांस दिलेल्या शेवटच्या भेटी पासून बदललेली पाने '''ठळक''' दाखवली आहेत.",
 'watchmethod-recent' => 'पहाऱ्यातील पानांकरिता अलीकडील बदलांचा तपास',
 'watchmethod-list' => 'अलीकडील बदलांकरिता पहाऱ्यातील पानांचा तपास',
 'watchlistcontains' => 'तुमचा $1 {{PLURAL:$1|पानावर|पानांवर}} पहारा आहे.',
@@ -3087,7 +3096,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'रूंदी',
 'exif-imagelength' => 'उंची',
 'exif-bitspersample' => 'प्रती घटक बीट्स',
@@ -3266,7 +3275,7 @@ $1',
 'exif-originalimageheight' => 'चित्राचा आकार बदलण्यापुर्वीची उंची',
 'exif-originalimagewidth' => 'छाचाचित्राचा आकार बदलण्यापुर्वीची रूंदी',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'अनाकुंचीत',
 'exif-compression-2' => 'CCITT गट३ १-Dimensional Modified Huffman run length encoding',
 'exif-compression-3' => 'CCITT Group 3 फॅक्स संकेतन',
@@ -3671,13 +3680,6 @@ $5
 'version-entrypoints-header-entrypoint' => 'आत येण्याचा मार्ग',
 'version-entrypoints-header-url' => 'यू॰आर॰एल',
 
-# Special:FilePath
-'filepath' => 'संचिका मार्ग',
-'filepath-page' => 'संचिका:',
-'filepath-submit' => 'चला',
-'filepath-summary' => 'हे विशेष पान संचिकेचा संपूर्ण मार्ग कळवते.
-चित्रे संपूर्ण रिझोल्युशन मध्ये दाखवली आहेत,इतर संचिका प्रकार त्यांच्या संबधित प्रोग्रामने प्रत्यक्ष सुरू होतात.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'जुळ्या संचिका शोधा',
 'fileduplicatesearch-summary' => 'हॅश किंमतीप्रमाणे जुळ्या संचिका शोधा.',
index cefe13a..503dca4 100644 (file)
@@ -75,8 +75,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Манярын ӹлӹштӓшӹм вӓнгӹмӹ списокышкышты пыртенӹт, анжыкташ',
 'tog-oldsig' => 'Ылшы сирӹмӹ подписьӹм анзыцок анжен лӓктӓш',
 'tog-fancysig' => 'Вики-пӓлӹкӹн ӹшке подписьшӹ (автоматический ажедмӓш гӹц пасна)',
-'tog-externaleditor' => 'Тӱнӹш тӧрлӹшӹм кычылташ (компьютерӹн йори настройкыжы келеш)',
-'tog-externaldiff' => 'Вариантвлӓн тӓнгӓштӓрӹмӹ годым тӱнӹш программым кычылташ (компьютерӹн йори настройкыжы келеш)',
 'tog-showjumplinks' => '«ванжаш» палшышы ажедмӓшвлӓм чӱктӓш',
 'tog-uselivepreview' => 'Текстӹм пӹсӹн анзыц анжен лӓкмӹм кычылташ (эксперимент семӹнь JavaScript)',
 'tog-forceeditsummary' => 'Мам тӧрлӹмӹ тӹ «нырын» охыр ылмыжы гишӓн пӓлдӹртӓш',
@@ -387,6 +385,9 @@ $messages = array(
 
 'grouppage-sysop' => '{{ns:project}}:Администраторвлӓ',
 
+# Special:Log/newusers
+'newuserlogpage' => 'Сирӹшӹвлӓм регистрируйышы журнал',
+
 # User rights log
 'rightslog' => 'Сирӹшӹн прававлӓжӹм анжыктышы журнал',
 
@@ -480,13 +481,10 @@ $messages = array(
 # Special:LinkSearch
 'linksearch' => 'Тӱнӹш ажедмӓшвлӓ',
 
-# Special:Log/newusers
-'newuserlogpage' => 'Сирӹшӹвлӓм регистрируйышы журнал',
-
 # Special:ListGroupRights
 'listgrouprights-members' => '(группын списокшы)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Сирӹшӹлӓн сирмӓш',
 
 # Watchlist
index c146312..0040e09 100644 (file)
@@ -305,6 +305,18 @@ $messages = array(
 'oct' => 'Okt',
 'nov' => 'Nov',
 'dec' => 'Dis',
+'january-date' => '$1 Januari',
+'february-date' => '$1 Februari',
+'march-date' => '$1 Mac',
+'april-date' => '$1 April',
+'may-date' => '$1 Mei',
+'june-date' => '$1 Jun',
+'july-date' => '$1 Julai',
+'august-date' => '$1 Ogos',
+'september-date' => '$1 September',
+'october-date' => '$1 Oktober',
+'november-date' => '$1 November',
+'december-date' => '$1 Disember',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategori|Kategori}}',
@@ -619,10 +631,13 @@ Jangan lupa untuk mengubah [[Special:Preferences|keutamaan anda di {{SITENAME}}]
 'yourpassword' => 'Kata laluan:',
 'userlogin-yourpassword' => 'Kata laluan',
 'userlogin-yourpassword-ph' => 'Masukkan kata laluan anda',
+'createacct-yourpassword-ph' => 'Isikan kata laluan',
 'yourpasswordagain' => 'Ulangi kata laluan:',
+'createacct-yourpasswordagain' => 'Sahkan kata laluan',
+'createacct-yourpasswordagain-ph' => 'Isikan kata laluan semula',
 'remembermypassword' => 'Ingat log masuk saya pada pelayar ini (tidak melebihi $1 {{PLURAL:$1|hari|hari}})',
-'userlogin-remembermypassword' => 'Ingati saya',
-'userlogin-signwithsecure' => 'Daftar masuk dengan pelayan terlindung',
+'userlogin-remembermypassword' => 'Biar saya kekal log masuk',
+'userlogin-signwithsecure' => 'Gunakan sambungan terlindung',
 'securelogin-stick-https' => 'Kekal disambungkan ke HTTPS selepas log masuk',
 'yourdomainname' => 'Domain anda:',
 'password-change-forbidden' => 'Anda tidak dapat mengubah kata laluan di wiki ini.',
@@ -643,14 +658,30 @@ Jangan lupa untuk mengubah [[Special:Preferences|keutamaan anda di {{SITENAME}}]
 'gotaccount' => "Sudah mempunyai akaun? '''$1'''.",
 'gotaccountlink' => 'Log masuk',
 'userlogin-resetlink' => 'Lupa nama pengguna/kata laluan anda?',
+'userlogin-resetpassword-link' => 'Reset kata laluan anda',
 'helplogin-url' => 'Help:Log masuk',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Bantuan untuk log masuk]]',
+'createacct-join' => 'Isikan keterangan anda di bawah.',
+'createacct-emailrequired' => 'Alamat e-mel',
+'createacct-emailoptional' => 'Alamat e-mel (pilihan)',
+'createacct-email-ph' => 'Isikan alamt e-mel anda',
 'createaccountmail' => 'Gunakan kata laluan rawak yang sementara dan hantarnya ke alamat e-mel yang dinyatakan di bawah',
+'createacct-realname' => 'Nama sebenar (pilihan)',
 'createaccountreason' => 'Sebab:',
+'createacct-reason' => 'Sebab',
+'createacct-reason-ph' => 'Mengapa anda membuka satu lagi akaun',
+'createacct-captcha' => 'Pemeriksaan sekuriti',
+'createacct-imgcaptcha-ph' => 'Isikan teks yang anda lihat di atas',
+'createacct-submit' => 'Wujudkan akaun anda',
+'createacct-benefit-heading' => '{{SITENAME}} dijayakan oleh orang ramai seperti anda.',
+'createacct-benefit-body1' => '{{PLURAL:$1|suntingan}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|halaman}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|penyumbang}} terkini',
 'badretype' => 'Sila ulangi kata laluan dengan betul.',
 'userexists' => 'Nama pengguna yang diisikan telah pun digunakan.
 Sila pilih nama yang lain.',
 'loginerror' => 'Ralat log masuk',
+'createacct-error' => 'Ralat pembukaan akaun',
 'createaccounterror' => 'Tidak dapat mencipta akaun: $1',
 'nocookiesnew' => 'Akaun anda telah dibuka, tetapi anda belum log masuk. {{SITENAME}} menggunakan kuki untuk mencatat status log masuk pengguna. Sila aktifkan sokongan kuki pada pelayar anda, kemudian log masuk dengan nama pengguna dan kata laluan baru anda.',
 'nocookieslogin' => "{{SITENAME}} menggunakan ''cookies'' untuk mencatat status log masuk pengguna. Sila aktifkan sokongan ''cookies'' pada pelayar anda dan cuba lagi.",
@@ -734,14 +765,15 @@ Sila tunggu sebentar dan cuba lagi.',
 'resetpass-wrong-oldpass' => 'Kata laluan sementara atau semasa tidak sah.
 Anda mungkin telah pun berjaya menukar kata laluan anda atau meminta kata laluan sementara yang baru.',
 'resetpass-temp-password' => 'Kata laluan sementara:',
+'resetpass-abort-generic' => 'Penukaran kata laluan telah dihenti paksa oleh sambungan.',
 
 # Special:PasswordReset
 'passwordreset' => 'Set semula kata laluan',
-'passwordreset-text' => 'Lengkapkan borang ini untuk mengeset semula kata laluan.',
+'passwordreset-text-one' => 'Lengkapkan borang ini untuk mengeset semula kata laluan anda.',
+'passwordreset-text-many' => '{{PLURAL:$1|Masukkan salah sebahagian data untuk mengeset semula kata laluan anda.}}',
 'passwordreset-legend' => 'Set semula kata laluan',
 'passwordreset-disabled' => 'Ciri set semula kata laluan telah dimatikan di wiki ini.',
 'passwordreset-emaildisabled' => 'Ciri-ciri e-mel telah dipadamkan di wiki ini.',
-'passwordreset-pretext' => '{{PLURAL:$1||Isikan data di bawah}}',
 'passwordreset-username' => 'Nama pengguna:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Lihat e-mel yang terhasil?',
@@ -970,6 +1002,7 @@ Log penghapusan bagi laman ini dilampirkan di bawah untuk rujukan.',
 'edit-gone-missing' => 'Laman tersebut telah dihapuskan dan tidak dapat dikemaskinikan.',
 'edit-conflict' => 'Percanggahan penyuntingan.',
 'edit-no-change' => 'Suntingan anda diabaikan kerana tiada perubahan dibuat pada teks tersebut.',
+'postedit-confirmation' => 'Suntingan anda telah disimpan.',
 'edit-already-exists' => 'Tidak dapat mencipta laman baru kerana ia telah wujud.',
 'defaultmessagetext' => 'Teks mesej asal',
 'content-failed-to-parse' => 'Kandungan $2 tidak dapat dihuraikan untuk model $1: $3',
@@ -1406,6 +1439,7 @@ Tindakan ini tidak boleh dibatalkan.',
 'userrights-changeable-col' => 'Kumpulan yang anda boleh ubah',
 'userrights-unchangeable-col' => 'Kumpulan yang anda tak boleh ubah',
 'userrights-irreversible-marker' => '$1*',
+'userrights-conflict' => 'Hak-hak pengguna bercanggah! Sila terapkan pengubahan anda sekali lagi.',
 
 # Groups
 'group' => 'Kumpulan:',
@@ -2224,8 +2258,8 @@ Perubahan-perubahan pada halaman ini dan halaman perbualannya pada masa akan dat
 'notvisiblerev' => 'Semakan ini telah dihapuskan',
 'watchnochange' => 'Tiada perubahan pada laman-laman yang dipantau dalam tempoh yang ditunjukkan.',
 'watchlist-details' => '$1 laman dipantau (tidak termasuk laman perbincangan).',
-'wlheader-enotif' => '* Pemberitahuan melalui e-mel diaktifkan.',
-'wlheader-showupdated' => "* Laman-laman yang telah diubah sejak kunjungan terakhir anda dipaparkan dalam '''teks tebal'''",
+'wlheader-enotif' => 'Pemberitahuan melalui e-mel dibolehkan.',
+'wlheader-showupdated' => "Laman-laman yang telah diubah sejak kunjungan terakhir anda dipaparkan dalam '''teks tebal'''.",
 'watchmethod-recent' => 'menyemak laman yang dipantau dalam suntingan-suntingan terkini',
 'watchmethod-list' => 'menyemak suntingan terkini pada laman-laman yang dipantau',
 'watchlistcontains' => 'Terdapat $1 laman dalam senarai pantau anda.',
@@ -2803,6 +2837,7 @@ Sila lawat [//www.mediawiki.org/wiki/Localisation Penyetempatan MediaWiki] dan [
 'thumbnail-more' => 'Besarkan',
 'filemissing' => 'Fail hilang',
 'thumbnail_error' => 'Berlaku ralat ketika mencipta gambar kenit: $1',
+'thumbnail_error_remote' => 'Mesej ralat dari $1: $2',
 'djvu_page_error' => 'Laman DjVu di luar julat',
 'djvu_no_xml' => 'Gagal mendapatkan data XML bagi fail DjVu',
 'thumbnail-temp-create' => 'Fail gambar kenit sementara tidak dapat dibuat',
@@ -3111,11 +3146,25 @@ Dengan menjalankannya, komputer anda mungkin akan terjejas.",
 'minutes' => '$1 minit',
 'hours' => '$1 jam',
 'days' => '$1 hari',
+'weeks' => '$1 minggu',
 'months' => '$1 bulan',
 'years' => '$1 tahun',
 'ago' => '$1 yang lalu',
 'just-now' => 'tadi',
 
+# Human-readable timestamps
+'hours-ago' => '$1 jam yang lalu',
+'minutes-ago' => '$1 minit yang lalu',
+'seconds-ago' => '$1 saat yang lalu',
+'monday-at' => 'Isnin $1',
+'tuesday-at' => 'Selasa $1',
+'wednesday-at' => 'Rabu $1',
+'thursday-at' => 'Khamis $1',
+'friday-at' => 'Jumaat $1',
+'saturday-at' => 'Sabtu $1',
+'sunday-at' => 'Ahad $1',
+'yesterday-at' => 'Semalam $1',
+
 # Bad image list
 'bad_image_list' => 'Berikut adalah format yang digunakan:
 
@@ -3743,6 +3792,18 @@ Anda patut telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING sebuah salinan bagi
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Laluan rencana]',
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Laluan skrip]',
 
+# Special:Redirect
+'redirect' => 'Lencongkan mengikut fail, ID pengguna atau ID semakan',
+'redirect-legend' => 'Lencongkan ke fail atau halaman',
+'redirect-summary' => 'Halaman khas ini melencong kepada fail (dengan nama fail), halaman (dengan ID semakan) atau halaman pengguna (dengan ID pengguna berangka).',
+'redirect-submit' => 'Pergi',
+'redirect-lookup' => 'Cari:',
+'redirect-value' => 'Nilai:',
+'redirect-user' => 'ID Pengguna',
+'redirect-revision' => 'Semakan halaman',
+'redirect-file' => 'Nama fail',
+'redirect-not-exists' => 'Nilai tidak dijumpai',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Cari fail serupa',
 'fileduplicatesearch-summary' => 'Anda boleh mencari fail serupa berdasarkan nilai cincangannya.',
@@ -3834,6 +3895,7 @@ Anda patut telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING sebuah salinan bagi
 'htmlform-selectorother-other' => 'Lain-lain',
 'htmlform-no' => 'Tidak',
 'htmlform-yes' => 'Ya',
+'htmlform-chosen-placeholder' => 'Pilih satu pilihan',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 dengan sokongan carian teks penuh',
index 6bee092..69bfec7 100644 (file)
@@ -2106,6 +2106,15 @@ Protokolli aċċettati: <code>$1</code> (jekk ma jiġi speċifikat l-ebda protok
 'listusers-noresult' => 'L-ebda utent ma nstab.',
 'listusers-blocked' => '(imblukkat)',
 
+# Special:ActiveUsers
+'activeusers' => 'Lista tal-utenti attivi',
+'activeusers-intro' => "Din hija lista ta' utenti li kellhom xi tip ta' attività f'dawn l-aħħar $1 {{PLURAL:$1|ġurnata|ġurnata}}.",
+'activeusers-count' => '$1 {{PLURAL:$1|modifika|modifika}} fl-aħħar {{PLURAL:$3|jum|$3 jum}}',
+'activeusers-from' => 'Uri utenti li jibdew minn:',
+'activeusers-hidebots' => 'Aħbi l-bots',
+'activeusers-hidesysops' => 'Aħbi amministraturi',
+'activeusers-noresult' => 'L-ebda utent ma nstab.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Drittijiet tal-grupp tal-utenti',
 'listgrouprights-summary' => "Hawn taħt hawn elenkati l-gruppi tal-utenti għal din il-wiki, bid-drittijiet ta' aċċess rispettiv.
@@ -2182,8 +2191,8 @@ Kwalunkwe modifika li ssir fil-futur, kemm fuq din il-paġna u fil-paġna ta\' d
 'notvisiblerev' => 'Ir-reviżjoni tħassret',
 'watchnochange' => 'L-ebda waħda mill-paġni osservati tiegħek ma ġiet modifikata fil-ħin stipulat.',
 'watchlist-details' => "Il-lista ta' osservazzjoni fiha {{PLURAL:$1|paġna waħda (u l-paġna ta' diskussjoni tagħha)|$1 paġni (u l-paġni ta' diskussjoni tagħhom)}}.",
-'wlheader-enotif' => 'In-notifikazzjoni bl-użu tal-posta elettronika hija attivata.',
-'wlheader-showupdated' => "Il-paġni li ġew editjati wara l-aħħar żjara tiegħek qed jiġu murija b'tipa '''ħoxna'''",
+'wlheader-enotif' => 'In-notifikazzjoni bl-użu tal-posta elettronika hija attivata.',
+'wlheader-showupdated' => "Il-paġni li ġew editjati wara l-aħħar żjara tiegħek qed jiġu murija b'tipa '''ħoxna'''",
 'watchmethod-recent' => "Kontroll ta' modifiki riċenti għall-osservati speċjali.",
 'watchmethod-list' => 'Kontroll tal-osservati speċjali għal modifiki riċenti',
 'watchlistcontains' => "Il-lista ta' osservazzjoni fiha {{PLURAL:$1|paġna|$1 paġni}}.",
@@ -3051,7 +3060,7 @@ Oħrajn jiġu moħbija kif inhu definit oriġinarjament.
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => "Wisa'",
 'exif-imagelength' => 'Għoli',
 'exif-bitspersample' => 'Bits għal kull komponent',
@@ -3229,7 +3238,7 @@ Oħrajn jiġu moħbija kif inhu definit oriġinarjament.
 'exif-originalimageheight' => 'Għoli tal-istampa qabel ma ġiet maqtugħa',
 'exif-originalimagewidth' => "Wisa' tal-istampa qabel ma ġiet maqtugħa",
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'L-Ebda',
 
 'exif-copyrighted-true' => 'Protetta bil-copyright',
@@ -3650,13 +3659,6 @@ Flimkien ma' dan il-programm suppost kellek tirċievi [{{SERVER}}{{SCRIPTPATH}}/
 'version-entrypoints-header-entrypoint' => "Punt ta' dħul",
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Post tal-fajl',
-'filepath-page' => 'Fajl:',
-'filepath-submit' => 'Mur',
-'filepath-summary' => "Din il-paġna speċjali tagħti lura l-indirizz komplet tal-posta għal fajl.
-Stampi huwa mogħrija b'risoluzzjoni sħiħa, tipi tal-fajl oħrajn jibdew bil-program assoċjat magħhom direttament.",
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Fittex fajls duplikati',
 'fileduplicatesearch-summary' => "Fittex fajls duplikati fil-bażi għal valur ''hash''.",
index 26ed430..65a4423 100644 (file)
@@ -107,8 +107,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Rebelar l miu andereço de correio eiletrónico nas noteficaçones',
 'tog-shownumberswatching' => "Amostrar l númaro d'outelizadores a begiar",
 'tog-fancysig' => 'Tratar assinatura cumo wikitesto (sin lhigaçon outomática)',
-'tog-externaleditor' => 'Por oumisson, outelizar un eiditor sterno (solo para outelizadores abançados, eisige cunfiguraçones adecionales ne l tou cumputador)',
-'tog-externaldiff' => 'Por oumisson, outelizar defrenças sternas (solo para outelizadores abançados, eisige cunfiguraçones adicionales ne l tou cumputador)',
 'tog-showjumplinks' => 'Posseblitar lhigaçones d\'acessibelidade "{{ant:jumpto}}"',
 'tog-uselivepreview' => "Ousar l'antebison an tiempo rial (JavaScrit) (Spurmental)",
 'tog-forceeditsummary' => 'Abisar-me al antroduzir un sumairo bazio',
@@ -852,7 +850,7 @@ Páiginas que steian ne ls [[Special:Watchlist|tous begiados]] son amostradas an
 'listgrouprights-rights' => 'Dreitos',
 'listgrouprights-members' => '(lista de nembros)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Ambiar carta eiletrónica a este outelizador',
 'emailfrom' => 'De:',
 'emailto' => 'Para:',
@@ -1087,13 +1085,8 @@ Por fabor, scuolhe outro nome.',
 Premite ajuntar la rezon de la eidiçon ne l sumário.',
 
 # Skin names
-'skinname-standard' => 'Clássico',
-'skinname-nostalgia' => 'Suidade',
 'skinname-cologneblue' => 'Azul',
 'skinname-monobook' => 'Lhibro',
-'skinname-myskin' => 'Piel',
-'skinname-chick' => 'Cipe-Çape',
-'skinname-simple' => 'Simpre',
 'skinname-modern' => 'Moderno',
 
 # Browsing diffs
@@ -1138,7 +1131,7 @@ Causo l fexeiro tenga sido demudado a partir de l sou stado oureginal, alguns de
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ancho',
 'exif-imagelength' => 'Altura',
 'exif-imagedescription' => 'Títalo de la eimaige',
@@ -1213,11 +1206,6 @@ Causo l fexeiro tenga sido demudado a partir de l sou stado oureginal, alguns de
 'version-software-product' => 'Perduto',
 'version-software-version' => 'Berson',
 
-# Special:FilePath
-'filepath' => 'Camino de l fexeiro',
-'filepath-page' => 'Fexeiro',
-'filepath-submit' => 'Camino',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Nome de l fexeiro',
 'fileduplicatesearch-submit' => 'Percurar',
index e6f79b9..835bb30 100644 (file)
@@ -710,13 +710,6 @@ Try prefixing your query with ''all:'' to search all content (including talk pag
 'powersearch-togglenone' => 'အမည်ညွှန်းမရှိ',
 'search-external' => 'အပြင်တွင် ရှာရန်',
 
-# Quickbar
-'qbsettings-none' => 'အမည်ညွှန်းမရှိ',
-'qbsettings-fixedleft' => 'ဘယ်ဘက်ကို အသေထားရန်',
-'qbsettings-fixedright' => 'ညာဘက်ကို အသေထားရန်',
-'qbsettings-floatingleft' => 'ဘယ်ဘက်ကို အရှင်ထားရန်',
-'qbsettings-floatingright' => 'ညာဘက်ကို အရှင်ထားရန်',
-
 # Preferences page
 'preferences' => '​ရွေး​ချယ်​စ​ရာ​များ​',
 'mypreferences' => '​ရွေး​ချယ်​စ​ရာ​များ​',
@@ -818,7 +811,7 @@ Your e-mail address is not revealed when other users contact you.
 'prefs-displaywatchlist' => 'ပြသရန် ရွေးချယ်မှု',
 'prefs-diffs' => 'ကွဲပြားချက်',
 
-# User preference: e-mail validation using jQuery
+# User preference: email validation using jQuery
 'email-address-validity-valid' => 'အီးမေးလိပ်စာ တရားဝင်ပုံပေါ်သည်',
 'email-address-validity-invalid' => 'တရားဝင်အီးမေးလိပ်စာတစ်ခု ထည့်ပါ',
 
@@ -1043,7 +1036,6 @@ Your e-mail address is not revealed when other users contact you.
 
 # HTTP errors
 'http-invalid-url' => 'တရားမဝင်သော URL လင့် - $1',
-'http-host-unreachable' => 'URL လင့်သို့ သွားမရပါ။',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'URL လင့်သို့ သွားမရပါ',
@@ -1273,7 +1265,7 @@ Your e-mail address is not revealed when other users contact you.
 'listgrouprights-addgroup-self-all' => 'အုပ်စုအားလုံးကို မိမိ၏အကောင့်သို့ ပေါင်းထည့်ရန်',
 'listgrouprights-removegroup-self-all' => 'မိမိ၏အကောင့်မှ အုပ်စုအားလုံးကို ဖယ်ရှားရန်',
 
-# E-mail user
+# Email user
 'mailnologin' => 'ပို့ရန်လိပ်စာ မရှိပါ',
 'emailuser' => 'ဤ​အ​သုံး​ပြု​သူ​အား​အီး​မေး​ပို့​ပါ​',
 'emailpage' => 'အီးမေးအသုံးပြုသူ',
@@ -1707,7 +1699,7 @@ Your e-mail address is not revealed when other users contact you.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'အကျယ်',
 'exif-imagelength' => 'အမြင့်',
 'exif-bitspersample' => 'အစိတ်အပိုင်းတစ်ခုတွင်ပါဝင်သော အပိုင်းငယ်များ',
@@ -1785,7 +1777,7 @@ Your e-mail address is not revealed when other users contact you.
 'monthsall' => 'အားလုံး',
 'limitall' => 'အားလုံး',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail' => 'အီးမေးကိုအတည်ပြုပါ',
 'confirmemail_send' => 'အတည်ပြုချက်ကုတ်ကို အီးမေးပို့ပေးရန်',
 
@@ -1837,11 +1829,6 @@ Your e-mail address is not revealed when other users contact you.
 'version-software-product' => 'ထုတ်ကုန်',
 'version-software-version' => 'ဗားရှင်း',
 
-# Special:FilePath
-'filepath' => 'ဖိုင်လမ်းကြောင်း',
-'filepath-page' => 'ဖိုင်:',
-'filepath-submit' => 'သွား',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'နှစ်ခုထပ်နေသောဖိုင်များကို ရှာရန်',
 'fileduplicatesearch-legend' => 'နှစ်ခုထပ်နေသည်ကို ရှာရန်',
index 405cd8e..0d86814 100644 (file)
@@ -216,8 +216,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Невтемс зяро теицятнеде, конат аравтызь лопанть эсест ванома лемрисьментень',
 'tog-oldsig' => 'Уликс кедьпутовксось:',
 'tog-fancysig' => 'Лемпутовксось прок викитекст (сонсь теевиця сюлмавома певтеме)',
-'tog-externaleditor' => 'Нолдамс тевс ушоёнонь витнемканть, зярс лиякс апак аравто (ансяк тевень содыйтненень, арсий машинасот эрявить башка ёнкст-аравтомат [//www.mediawiki.org/wiki/Manual:External_editors подробнее])',
-'tog-externaldiff' => 'Нолдамс тевс ушоёнонь diff, зярс лиякс апак аравто (ансяк тевень содыйтненень, арсий машинасот эрявить башка ёнкст-аравтомат [//www.mediawiki.org/wiki/Manual:External_editors подробнее])',
 'tog-showjumplinks' => 'Меремс "тёкадемс" маласпонгомань сюлмавомапетнес',
 'tog-uselivepreview' => 'Максомс эряй васнянь невтевкс (JavaScript) (Варчамонь)',
 'tog-forceeditsummary' => 'Невтик монень, мезе сёрмадомс витнемадо-петнемадо ёвтамонь вальминентень',
@@ -1405,6 +1403,12 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'listusers-noresult' => 'Совицязо а муеви',
 'listusers-blocked' => '(саймас саезь)',
 
+# Special:ActiveUsers
+'activeusers' => 'Активной теицятнеде списка',
+'activeusers-hidebots' => 'Кекшемс ботатнень',
+'activeusers-hidesysops' => 'Кекшемс администратортнэнь',
+'activeusers-noresult' => 'Якинзэ-пакинзэ арасть',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Теиця куронть видечинзэ',
 'listgrouprights-group' => 'Куро',
@@ -1910,7 +1914,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Келе',
 'exif-imagelength' => 'Сэрь',
 'exif-bitspersample' => 'Эрьва компонентс зяро битт',
@@ -1962,7 +1966,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'exif-languagecode' => 'Кель',
 'exif-iimcategory' => 'Явовкс',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Апак сювордо',
 
 'exif-unknowndate' => 'Апак содань чи',
@@ -2170,11 +2174,6 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'version-software-product' => 'Шкавкс-нолдавкс',
 'version-software-version' => 'Верзия',
 
-# Special:FilePath
-'filepath' => 'Файлас яннэ',
-'filepath-page' => 'Файлась:',
-'filepath-submit' => 'Ютак',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Вешнэмс кавтаське файлат',
 'fileduplicatesearch-legend' => 'Вешнэмс кавтаське',
index 146a7ee..ab1210e 100644 (file)
@@ -156,8 +156,6 @@ $messages = array(
 'tog-shownumberswatching' => 'دمبالکرونِ سِراق هدائن',
 'tog-oldsig' => 'پیش نیمایش ایمضای موجود:',
 'tog-fancysig' => 'ایمضا ره ویکی متن نظر بیرین (بدون لینک هایتن)',
-'tog-externaleditor' => 'به شیکل پیش فرض خارجی ویرایشگرون جه ایستیفاده بواشه',
-'tog-externaldiff' => 'ایستیفاده از تفاوت‌گیر جه (diff) خارجی به‌طور پیش‌فرض.',
 'tog-showjumplinks' => 'فعال هکردن بپرسنی پیوندون مندرجات فهرست دله',
 'tog-uselivepreview' => 'ایستیفاده از پیش نیمایش زنده (جاوا اسکریپ) (جدیده)',
 'tog-forceeditsummary' => 'زمونی که خولاصه دچی‌ین ره ننویشتمه مه ره بائو',
@@ -1032,12 +1030,12 @@ $2، $1',
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
 'video-dims' => '$1, $2×$3',
 
-# EXIF tags
+# Exif tags
 'exif-gpsareainformation' => 'جی پی اس ناحیه نوم',
 'exif-gpsdatestamp' => 'جی پی اس روز',
 'exif-gpsdifferential' => 'جی پی اس په‌چه‌ک درس هأکه‌ردن',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'فه‌شورده نئی',
 
 'exif-unknowndate' => 'نه‌شناسی روز',
index 958004c..5d8c441 100644 (file)
@@ -1341,7 +1341,7 @@ Hueliz cah inīn huēyi tlapatlaliztli. Timitztlātlauhtia ticmatīz cuallōtl a
 'metadata-expand' => 'Tiquittāz tlanōnōtzaliztli huehca ōmpa',
 'metadata-collapse' => 'Tictlātīz tlanōnōtzaliztli huehca ōmpa',
 
-# EXIF tags
+# Exif tags
 'exif-photometricinterpretation' => 'Pixel tlachīhualiztli',
 'exif-imagedescription' => 'Īxiptli ītōcā',
 'exif-software' => 'Software ōmotēquitilti',
@@ -1471,10 +1471,6 @@ Niman tihuelīti [[Special:UserLogin|timocalaqui]] auh ticpactiāz huiquitica.',
 'version-version' => '(Machiyōtzin $1)',
 'version-software-version' => 'Machiyōtzin',
 
-# Special:FilePath
-'filepath-page' => 'Tlahcuilōlli:',
-'filepath-submit' => 'Yāuh',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Tlahcuilōlli ītōcā:',
 'fileduplicatesearch-submit' => 'Tlatēmōz',
index 12c44e4..3e04583 100644 (file)
@@ -8,8 +8,10 @@
  * @file
  *
  * @author Carmine Colacino
+ * @author Chelin
  * @author Cryptex
  * @author E. abu Filumena
+ * @author PiRSquared17
  * @author SabineCretella
  * @author לערי ריינהארט
  */
@@ -57,15 +59,16 @@ $messages = array(
 'tog-underline' => "Sottolinia 'e jonte:",
 'tog-justify' => "Alliniamento d''e paracrafe mpare",
 'tog-hideminor' => "Annascunne 'e cagne piccirille  'int'a ll'úrdeme cagne",
-'tog-extendwatchlist' => "Spanne ll'asservate speciale pe fà vedé tutte 'e cagne possíbbele",
-'tog-usenewrc' => 'Urdeme cagne avanzate (JavaScript)',
+'tog-hidepatrolled' => "Annascunne 'e cagne 'verificate' 'int'a ll'úrdeme cagne",
+'tog-extendwatchlist' => "Spanne ll'asservate speciale pe fà vedé tutte 'e cagnàmiente, nun solo l'ultimo",
+'tog-usenewrc' => 'Urdeme càgnamiente avanzate (JavaScript)',
 'tog-numberheadings' => "Annúmmera automatecamente 'e títule",
 'tog-showtoolbar' => "Aspone 'a barra d''e stromiente 'e cagno (JavaScript)",
 'tog-editondblclick' => "Cagna 'e pàggene cliccanno ddoje vote (JavaScript)",
 'tog-editsection' => "Permette 'e cagnà 'e sezzione cu a jonta [cagna]",
 'tog-editsectiononrightclick' => "Permette 'e cangne 'e sezzione cliccanno p''o tasto destro ncopp 'e titule 'e sezzione (JavaScript)",
 'tog-showtoc' => "Mosta ll'innece pe 'e paggene cu cchiù 'e 3 sezzione",
-'tog-rememberpassword' => "Ricurda 'a registrazzione pe' cchiu sessione (for a maximum of $1 {{PLURAL:$1|day|days}})",
+'tog-rememberpassword' => "Ricurda 'a registrazzione pe' cchiu sessione (ppe 'numassimo 'e $1 {{PLURAL:$1|juorno|juorne}})",
 
 'underline-always' => 'Sèmpe',
 'underline-never' => 'Màje',
@@ -123,54 +126,86 @@ $messages = array(
 'dec' => 'dic',
 
 # Categories related messages
+'pagecategories' => '{{PLURAL:$1|Categurìa|Categurìe}}',
 'category_header' => 'Paggene rìnt\'a categurìa "$1"',
 'subcategories' => 'Categurìe secunnarie',
+'category-media-header' => 'File \'int\'â categuría "$1"',
+'hidden-categories' => '{{PLURAL:$1|Categurìa annascusa|Categuríe annascuse}}',
+'category-subcat-count' => "{{PLURAL:$2|Chesta categurìa cuntene n'unneca sottocategurìa, nzignata 'e seguito.|Chesta categurìa cuntene {{PLURAL:$1|'a sottocategurìa nzignata|'e $1 sottocategurìe nzignate}} 'e seguito, 'a nu totale 'e $2.}}",
+'category-article-count' => "{{PLURAL:$2|Chesta categurìa cuntiene un'unneca paggena, nzignata ccà sotto.|Chesta categurìa cuntiene {{PLURAL:$1|'a paggena nzignata|'e $1 paggene nzignate}} ccà sotto, faccenno nu totale 'e $2.}}",
+'listingcontinuesabbrev' => 'cont.',
 
 'about' => 'Nfromma',
 'article' => 'Articulo',
 'newwindow' => "(s'arape n'ata fenèsta)",
 'cancel' => 'Scancèlla',
-'mypage' => "'A paggena mia",
-'mytalk' => "'E mmie chiacchieriàte",
+'moredotdotdot' => 'Cchiù...',
+'mypage' => 'Paggena',
+'mytalk' => "'E mmie chiàcchieriate",
 'anontalk' => 'Chiacchierate pe chisto IP',
+'navigation' => 'Navigazzione',
 
 # Cologne Blue skin
 'qbfind' => 'Truòva',
 'qbedit' => 'Càgna',
 'qbpageoptions' => 'Chesta paggena',
-'qbpageinfo' => "Nfrummazzione ncopp'â paggena",
 'qbmyoptions' => "'E ppaggene mie",
 'qbspecialpages' => 'Pàggene speciàle',
+'faq' => 'FAQ',
+
+# Vector skin
+'vector-action-delete' => 'Scancèlla',
+'vector-action-move' => 'Spusta',
+'vector-action-protect' => 'Prutegge',
+'vector-view-create' => 'Cria',
+'vector-view-edit' => 'Càgna',
+'vector-view-history' => 'Vere cronologgia',
+'vector-view-view' => 'Legge',
+'vector-view-viewsource' => 'Vere sorgente',
+'actions' => 'Azione',
+'namespaces' => 'Namespace',
+'variants' => 'Variante',
 
 'errorpagetitle' => 'Sbaglio',
 'returnto' => 'Torna a $1.',
+'tagline' => 'Dda {{SITENAME}}.',
 'help' => 'Ajùto',
 'search' => 'Truova',
 'searchbutton' => 'Truova',
 'go' => 'Vàje',
+'searcharticle' => 'Vàje',
 'history' => "Verziune 'e primma",
 'history_short' => 'Cronologgia',
 'printableversion' => "Verzione pe' stampa",
 'permalink' => 'Jonta permanente',
 'edit' => 'Càgna',
+'create' => 'Cria',
 'editthispage' => 'Càgna chesta paggena',
+'create-this-page' => 'Cria sta paggena',
 'delete' => 'Scancèlla',
 'deletethispage' => 'Scancèlla chésta paggena',
 'protect' => 'Ferma',
+'protect_change' => 'càgna',
 'protectthispage' => 'Ferma chesta paggena',
-'unprotect' => 'Sferma',
-'unprotectthispage' => 'Sferma chesta paggena',
+'unprotect' => 'Càgna prutezzione',
+'unprotectthispage' => "Càgna prutezzione 'e chesta paggena",
 'newpage' => 'Paggena nòva',
 'talkpage' => "Paggena 'e chiàcchiera",
 'talkpagelinktext' => 'Chiàcchiera',
 'specialpage' => 'Paggena speciàle',
+'personaltools' => 'Strumiente perzonale',
+'postcomment' => 'Nova sezzione',
+'articlepage' => 'Vere a paggena e contenuto',
 'talk' => 'Chiàcchiera',
+'views' => 'Visite',
 'toolbox' => 'Strumiente',
-'imagepage' => 'Paggena fiùra',
+'userpage' => 'Vere a paggena utente',
+'imagepage' => 'Vere a paggena ddo file',
 'otherlanguages' => 'Ate léngue',
 'redirectedfrom' => "(Redirect 'a $1)",
 'lastmodifiedat' => "Urdema cagnamiénto pe' a paggena: $2, $1.",
 'viewcount' => 'Chesta paggena è stata lètta {{PLURAL:$1|una vòta|$1 vòte}}.',
+'protectedpage' => 'Paggena prutetta',
 'jumpto' => 'Vaje a:',
 'jumptonavigation' => 'navigazione',
 'jumptosearch' => 'truova',
@@ -178,33 +213,48 @@ $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) and the disambiguation template definition (see disambiguations).
 'aboutsite' => "'Nfrummazione ncòpp'a {{SITENAME}}",
 'aboutpage' => "Project:'Nfrummazione",
+'copyrightpage' => '{{ns:project}}:Copyrights',
+'currentevents' => 'Novità',
+'currentevents-url' => 'Project:Novità',
 'disclaimers' => 'Avvertimiènte',
 'disclaimerpage' => 'Project:Avvertimiènte generale',
 'edithelp' => 'Guida',
+'edithelppage' => 'Help:Càgna',
 'helppage' => 'Help:Ajùto',
 'mainpage' => 'Paggena prencepale',
 'mainpage-description' => 'Paggena prencepale',
 'portal' => "Porta d''a cummunetà",
 'portal-url' => "Project:Porta d''a cummunetà",
+'privacy' => "'Nformazzione ppe a privacy",
+'privacypage' => "Project:'Nfrummazione ncopp'â privacy",
 
 'badaccess' => "Nun haje 'e premmesse abbastante.",
 
+'retrievedfrom' => 'Estratto \'e "$1"',
+'youhavenewmessages' => 'Haje $1 ($2).',
 'newmessageslink' => "nuove 'mmasciàte",
 'newmessagesdifflink' => "differenze cu 'a revisione precedente",
 'youhavenewmessagesmulti' => 'Tiene nuove mmasciate $1',
 'editsection' => 'càgna',
 'editold' => 'càgna',
+'editlink' => 'càgna',
+'viewsourcelink' => 'Vere sorgente',
+'editsectionhint' => 'Modifica a sezzione $1',
 'toc' => 'Énnece',
 'showtoc' => 'faje vedé',
 'hidetoc' => 'annascunne',
 'viewdeleted' => 'Vire $1?',
+'site-atom-feed' => "Feed Atom 'e $1",
+'red-link-title' => '$1 (a paggena nun esiste)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Articulo',
 'nstab-user' => 'Paggena utente',
+'nstab-special' => 'Paggena speciale',
 'nstab-project' => "Paggena 'e servizio",
 'nstab-image' => 'Fiura',
 'nstab-mediawiki' => "'Mmasciata",
+'nstab-template' => 'Modello',
 'nstab-help' => 'Ajùto',
 'nstab-category' => 'Categurìa',
 
@@ -212,18 +262,22 @@ $messages = array(
 'filedeleteerror' => 'Nun se pô scancellà \'o file "$1"',
 'cannotdelete' => "Nun è possibbele scassà 'a paggena o 'a fiura addamannata. (Putria éssere stato già scancellato.)",
 'badtitle' => "'O nnomme nun è jùsto",
+'viewsource' => 'Vere sorgente',
+'exception-nologin' => 'Acciesso nun affettuato',
 
 # Login and logout pages
 'logouttext' => "'''Site asciùte.'''
 
 Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putite trasì n'ata vota, cu 'o stesso nomme o cu n'ato nomme.",
-'welcomecreation' => "== Bemmenuto, $1! ==
-
-'O cunto è stato criato currettamente.  Nun scurdà 'e perzonalizzà 'e ppreferenze 'e {{SITENAME}}.",
+'welcomeuser' => 'Bemmenuto, $1!',
+'yourname' => 'Nomme utente',
+'yourpassword' => 'Password:',
 'remembermypassword' => 'Allicuordate d"a password (for a maximum of $1 {{PLURAL:$1|day|days}})',
 'yourdomainname' => "Spiecà 'o dumminio",
 'login' => 'Tràse',
+'nav-login-createaccount' => "Tràse o cria n'acciesso nuovo",
 'userlogin' => "Tràse o cria n'acciesso nuovo",
+'userloginnocreate' => 'Tràse',
 'logout' => 'Jèsce',
 'userlogout' => 'Jèsce',
 'notloggedin' => 'Acciesso nun affettuato',
@@ -241,8 +295,15 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'loginlanguagelabel' => 'Lengua: $1',
 
 # Edit page toolbar
+'italic_sample' => 'Corsivo',
+'italic_tip' => 'Corsivo',
+'link_sample' => 'Titulo ddo cullegamente',
+'extlink_sample' => 'http://www.example.com titulo ddo cullegamente',
+'headline_sample' => 'Testate',
+'headline_tip' => "Testate 'e 2° livello",
 'image_sample' => 'Essempio.jpg',
 'image_tip' => 'Fiura ncuorporata',
+'media_tip' => 'Cullegamente a file multimediale',
 
 # Edit pages
 'minoredit' => 'Chisto è nu cagnamiénto piccerillo',
@@ -256,44 +317,84 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'loginreqpagetext' => "Pe' veré ate ppaggene abbesognate $1.",
 'accmailtitle' => "'O password è stato mannato.",
 'accmailtext' => '\'A password pe ll\'utente "$1" fuje mannata ô nnerizzo $2.',
-'previewnote' => "'''Chesta è sola n'anteprimma; 'e cagnamiénte â paggena NUN songo ancora sarvate!'''",
+'newarticle' => '(Novo)',
+'previewnote' => "'''Chesta è sola n'anteprimma; 'e cagnamiénte â paggena nun songo ancora sarvate!'''",
 'editing' => "Cagnamiento 'e $1",
-'templatesused' => "Template ausate 'a chesta paggena:",
+'editingsection' => 'Cagnamiénto di $1 (sezzione)',
+'templatesused' => "{{PLURAL:$1|Template|Templates}} ausate 'a chesta paggena:",
+'template-protected' => '(prutetto)',
 
 # "Undo" feature
 'undo-summary' => "Canciella 'o cagnamiento $1 'e [[Special:Contributions/$2|$2]] ([[User talk:$2|Chiàcchiera]])",
 
 # History pages
 'currentrev' => "Verzione 'e mmo",
+'currentrev-asof' => 'Vversione attuale dde $1',
+'revisionasof' => 'Vversione delle $1',
+'nextrevision' => 'Vversione cchiù recente →',
+'cur' => 'corr',
+'last' => 'prec',
+
+# Revision feed
+'history-feed-item-nocomment' => "$1 'o $2",
 
 # Revision deletion
 'rev-delundel' => 'faje vedé/annascunne',
+'revdel-restore' => 'càgna visiblità',
+
+# Diffs
+'lineno' => 'Riga $1:',
+'editundo' => 'annulla',
 
 # Search results
 'searchresults' => "Risultato d''a recerca",
+'searchresults-title' => 'Ascià risultate ppe "$1"',
 'searchresulttext' => "Pe sapé de cchiù ncopp'â comme ascia 'a {{SITENAME}}, vere [[{{MediaWiki:Helppage}}|Ricerca in {{SITENAME}}]].",
 'notitlematches' => "Voce addemannata nun truvata dint' 'e titule 'e articulo",
 'notextmatches' => "Voce addemannata nun truvata dint' 'e teste 'e articulo",
+'prevn' => '{{PLURAL:$1|precedente|precedente $1}}',
+'nextn' => '{{PLURAL:$1|successivo|successive $1}}',
+'prevn-title' => '{{PLURAL:$1|Risultato precediente|$1 risultate precedenti}}',
+'nextn-title' => '{{PLURAL:$1|Risultato successivo|$1 risultate successive}}',
+'shown-title' => "Fa vere {{PLURAL:$1|'nu risultato|$1 risultate}} ppe paggena",
+'viewprevnext' => 'Vere($1 {{int:pipe-separator}} $2) ($3).',
+'searchmenu-new' => "'''Cria a paggena \"[[:\$1]]\" ncopp'â chisto wiki!'''",
 'searchhelp-url' => 'Help:Ajùto',
+'searchprofile-articles' => "Paggene 'e contenute",
+'searchprofile-project' => "Paggene 'e ajùto e relative 'o prugietto",
+'searchprofile-images' => 'Multimedia',
+'searchprofile-everything' => 'Tutto',
+'searchprofile-advanced' => 'Avanzate',
+'searchprofile-articles-tooltip' => "Circa dint'ô $1",
+'searchprofile-project-tooltip' => "Circa dint'ô $1",
+'searchprofile-images-tooltip' => 'Circa file',
+'searchprofile-advanced-tooltip' => "Circa dint'e namespace perzonalizzate",
+'search-result-size' => "$1 ({{PLURAL:$2|'na parola|$2 parole}})",
+'search-redirect' => '(redirect $1)',
+'search-section' => '(sezzione $1)',
+'searchall' => 'Tutte',
 'powersearch' => 'Truova',
 
 # Preferences page
-'mypreferences' => "Preferenze d''e mie",
+'mypreferences' => "Preferenze d''e mmeje",
 'changepassword' => 'Cagna password',
 'prefs-rc' => 'Urdeme nove',
 'prefs-watchlist' => 'Asservate speciale',
 'columns' => 'Culonne:',
 'timezoneregion-africa' => 'Afreca',
+'youremail' => 'E-mail:',
 'username' => 'Nomme utente',
 'yourlanguage' => 'Lengua:',
 
-# User rights log
-'rightsnone' => '(nisciuno)',
+# Associated actions - in the sentence "You do not have permission to X"
+'action-edit' => 'càgna chesta paggena',
 
 # Recent changes
 'recentchanges' => 'Urdeme nove',
 'recentchanges-summary' => "Ncoppa chesta paggena song' appresentate ll'urdeme cagnamiente fatto ê cuntenute d\"o sito.",
-'rcnote' => "Ccà sotto nce songo ll'urdeme {{PLURAL:$1|cangiamiento|'''$1''' cangiamiente}} 'e ll'urdeme {{PLURAL:$2|juorno|'''$2''' juorne}}, agghiuornate a $3.",
+'recentchanges-label-newpage' => "Chista modifica ha criato 'na nova paggena",
+'recentchanges-label-minor' => 'Chisto è nu cagnamiénto piccerillo',
+'rcnote' => "Ccà sotto nce songo ll'urdeme {{PLURAL:$1|cangiamiento|'''$1''' cangiamiente}} 'e ll'urdeme {{PLURAL:$2|juorno|'''$2''' juorne}}, agghiuornate alle $5 ddo $4.",
 'rclistfrom' => "Faje vedé 'e cagnamiénte fatte a partì 'a $1",
 'rcshowhideminor' => "$1 'e cagnamiénte piccerille",
 'rcshowhidebots' => "$1 'e bot",
@@ -301,31 +402,47 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'rcshowhideanons' => "$1 ll'utente anonime",
 'rcshowhidemine' => "$1 'e ffatiche mmee",
 'rclinks' => "Faje vedé ll'urdeme $1 cagnamiente dint' ll'urdeme $2 juorne<br />$3",
+'diff' => 'diff',
+'hist' => 'cron',
 'hide' => 'annascunne',
 'show' => 'faje vedé',
+'minoreditletter' => 'm',
+'newpageletter' => 'N',
+'boteditletter' => 'b',
 'rc_categories_any' => 'Qualònca',
 
 # Recent changes linked
 'recentchangeslinked' => 'Cagnamiénte cullegate',
 'recentchangeslinked-feed' => 'Cagnamiénte cullegate',
 'recentchangeslinked-toolbox' => 'Cagnamiénte cullegate',
+'recentchangeslinked-page' => 'Nomme dda paggena',
 
 # Upload
 'upload' => 'Careca file',
 'uploadedimage' => 'ha carecato "[[$1]]"',
 
+'license' => 'Licenze:',
+'license-header' => 'Licenza',
+
 # Special:ListFiles
 'listfiles_name' => 'Nomme',
 
 # File description page
 'file-anchor-link' => 'Fiura',
+'filehist-current' => 'attuale',
+'filehist-datetime' => 'Data/Ora',
+'filehist-thumb' => 'Miniature',
 'filehist-user' => 'Utente',
+'filehist-dimensions' => 'Dimenzione',
 'imagelinks' => 'Jonte ê ffiure',
 
 # Random page
 'randompage' => 'Na paggena qualsiase',
 'randompage-nopages' => 'Nessuna pagina nel namespace selezionato.',
 
+# Statistics
+'statistics' => 'Statistiche',
+
 'disambiguations' => "Paggene 'e disambigua",
 
 'doubleredirects' => 'Redirect duppie',
@@ -338,14 +455,23 @@ Putite cuntinuà a ausà {{SITENAME}} comme n'utente senza nomme, o si nò putit
 'wantedpages' => 'Paggene cchiù addemannate',
 'shortpages' => 'Paggene curte',
 'longpages' => 'Paggene cchiú longhe',
+'usercreated' => "{{GENDER:$3|Criato/a}} 'o $1 a $2",
 'newpages' => 'Paggene cchiù frische',
 'move' => 'Spusta',
 'movethispage' => 'Spusta chesta paggena',
 
+# Book sources
+'booksources-go' => 'Vàje',
+
+# Special:Log
+'log' => 'Logs',
+
 # Special:AllPages
 'allpages' => "Tutte 'e ppaggene",
+'alphaindexline' => 'da $1 a $2',
 'allarticles' => "Tutt' 'e vvoce",
 'allinnamespace' => "Tutt' 'e ppaggene d''o namespace $1",
+'allpagessubmit' => 'Vàje',
 
 # Special:Categories
 'categories' => 'Categurìe',
@@ -357,10 +483,12 @@ Also see [[Special:WantedCategories|wanted categories]].",
 'linksearch-ok' => 'Truova',
 
 # Watchlist
+'mywatchlist' => 'osservate speciale',
+'watchlistfor2' => 'Ppe $1 $2',
 'watch' => 'Secuta',
+'unwatch' => 'Nun segui',
 'notanarticle' => 'Chesta paggena nun è na voce',
 
-'enotif_newpagetext' => 'Chesta è na paggena nòva.',
 'changed' => 'cagnata',
 
 # Delete
@@ -377,6 +505,7 @@ Also see [[Special:WantedCategories|wanted categories]].",
 
 # Rollback
 'rollback' => "Ausa na revizione 'e primma",
+'rollbacklink' => 'a vascio',
 'revertpage' => "Cangiaje 'e cagnamiénte 'e [[Special:Contributions/$2|$2]] ([[User talk:$2|discussione]]), cu â verzione 'e pprimma 'e  [[User:$1|$1]]",
 
 # Protect
@@ -385,20 +514,29 @@ Also see [[Special:WantedCategories|wanted categories]].",
 
 # Undelete
 'viewdeletedpage' => "Vìre 'e ppàggine scancellate",
+'undeleteviewlink' => 'vere',
 
 # Namespace form on various pages
+'namespace' => 'Namespace:',
 'invert' => "abbarruca 'a sceveta",
+'blanknamespace' => '(Prencepale)',
 
 # Contributions
-'contributions' => 'Contribbute utente',
-'mycontris' => 'Mie contribbute',
+'contributions' => 'Contribbute {{GENDER:$1|utente}}',
+'mycontris' => "'E ffatiche d''e mmeje",
+'uctop' => '(ultima ppe a paggena)',
 
 'sp-contributions-talk' => 'Chiàcchiera',
+'sp-contributions-submit' => 'Truova',
 
 # What links here
 'whatlinkshere' => 'Paggene ca cullegano a chesta',
 'whatlinkshere-title' => 'Paggene ca cullegano a $1',
+'whatlinkshere-page' => 'Paggena:',
 'nolinkshere' => "Nisciuna paggena cuntene jonte ca mpuntano a '''[[:$1]]'''.",
+'whatlinkshere-links' => '← jonte',
+'whatlinkshere-hideredirs' => '$1 redirects',
+'whatlinkshere-hideimages' => '$1 links ddo file',
 
 # Block/unblock
 'blockip' => 'Ferma utelizzatóre',
@@ -406,6 +544,8 @@ Also see [[Special:WantedCategories|wanted categories]].",
 'ipboptions' => '2 ore:2 hours,1 juorno:1 day,3 juorne:3 days,1 semmana:1 week,2 semmane:2 weeks,1 mise:1 month,3 mese:3 months,6 mese:6 months,1 anno:1 year,infinito:infinite',
 'blockipsuccesssub' => 'Blocco aseguito',
 'blocklink' => 'ferma',
+'unblocklink' => 'sblocca',
+'contribslink' => 'contribuzzione',
 'blocklogpage' => 'Blocche',
 'blocklogentry' => 'ha fermato "[[$1]]" pe\' nu mumento \'e $2 $3',
 'blocklogtext' => "Chesta è 'a lista d''e azzione 'e blocco e sblocco utente.  'E nnerizze IP bloccate automaticamente nun nce so'. Addumannà 'a [[Special:BlockList|lista IP bloccate]] pp' 'a lista d''e nnerizze e nomme utente 'o ca blocco nce sta.",
@@ -416,7 +556,9 @@ Also see [[Special:WantedCategories|wanted categories]].",
 'movepagebtn' => "Spusta 'a paggena",
 'articleexists' => "Na paggena cu chisto nomme asiste già, o pure 'o nomme scegliuto nun è buono.  Scegliere n'ato titulo.",
 'movedto' => 'spustata a',
+'movelogpage' => 'Spustamente',
 'movereason' => 'Raggióne',
+'revertmove' => 'ripristina',
 'delete_and_move' => 'Scancèlla e spusta',
 'delete_and_move_confirm' => "Sì, suprascrivi 'a paggena asistente",
 
@@ -428,6 +570,9 @@ Also see [[Special:WantedCategories|wanted categories]].",
 'allmessagesname' => 'Nomme',
 'allmessagescurrent' => "Testo 'e mo",
 
+# Thumbnails
+'thumbnail-more' => 'Ingrandisce',
+
 # Special:Import
 'import' => 'Mpurta paggene',
 'import-interwiki-submit' => 'Mpurta',
@@ -436,18 +581,49 @@ Also see [[Special:WantedCategories|wanted categories]].",
 'import-logentry-upload' => 'ha mpurtato [[$1]] trammeto upload',
 
 # Tooltip help for the actions
+'tooltip-pt-mycontris' => 'Elenco dde tuje contributte',
+'tooltip-pt-login' => 'A reggistrazione e consegliata',
 'tooltip-pt-logout' => 'Jésce (logout)',
+'tooltip-ca-edit' => "Puo modifica chista paggena. Ppe favore usa 'o pulsante 'e anteprimma primma 'e salva",
+'tooltip-ca-addsection' => "Cummincia 'na nova sezzione",
+'tooltip-ca-viewsource' => "Chista paggena è prutetta, ma puo vere 'o codice sorgente",
+'tooltip-ca-history' => "Vversione precedente 'e chista paggena",
+'tooltip-ca-move' => 'Spusta chista paggena',
+'tooltip-search' => "Truova dint'ô {{SITENAME}}",
+'tooltip-search-fulltext' => "Ascià 'o testo indicato dint'e paggene",
+'tooltip-p-logo' => 'Visita a paggena prencepale',
+'tooltip-n-mainpage' => 'Visita a paggena prencepale',
+'tooltip-n-mainpage-description' => 'Visita a paggena prencepale',
+'tooltip-n-portal' => 'Descrizione ddo prugietto, che pou fa, addo truova e cose',
+'tooltip-n-recentchanges' => 'Ennece dde urdeme cagnamiénte ddo sito',
+'tooltip-n-randompage' => 'Na paggena qualsiase',
+'tooltip-n-help' => "Paggena 'e ajùto",
+'tooltip-t-recentchangeslinked' => 'Urdeme cagnamiénte dde paggene ca cullegano a chesta',
+'tooltip-t-upload' => 'Careca file',
+'tooltip-t-specialpages' => "Lista 'e tutte e paggene speciale",
+'tooltip-t-print' => "Vversione pe' stampa 'e chista paggena",
+'tooltip-t-permalink' => 'Jonta permanente a chista vversione dda paggena',
+'tooltip-ca-nstab-main' => 'Vere a paggena e contenuto',
+'tooltip-ca-nstab-template' => "Vere 'o modello",
 'tooltip-minoredit' => 'Rénne chìsto cagnamiénto cchiù ppiccirìllo.',
 'tooltip-save' => "Sàrva 'e cagnamiénte.",
 'tooltip-preview' => "Primma 'e sarvà, vìre primma chille ca hê cagnàte!",
+'tooltip-rollback' => "\"A vascio\" annulla 'e modefeche 'e chista paggena ell'ultimo contributore cu n' uneco click",
 
 # Attribution
 'others' => 'ate',
 
+# Media information
+'file-info-size' => '$1 × $2 pixel, dimenzione ddo file: $3, tipo MIME: $4',
+'show-big-image' => 'Vversione ad ata risoluzione',
+
 # Special:NewFiles
 'noimages' => "Nun nc'è nind' 'a veré.",
 'ilsubmit' => 'Truova',
 
+# Metadata
+'metadata' => 'Metadate',
+
 'exif-xyresolution-i' => '$1 punte pe pollice (dpi)',
 
 'exif-meteringmode-0' => 'Scanusciuto',
@@ -465,9 +641,11 @@ Also see [[Special:WantedCategories|wanted categories]].",
 'edit-externally-help' => "Pe piglià cchiù nfromma veré 'e [//www.mediawiki.org/wiki/Manual:External_editors struzione] ('n ngrese)",
 
 # 'all' in various places, this might be different for inflected languages
+'watchlistall2' => 'tutte',
 'namespacesall' => 'Tutte',
+'monthsall' => 'tutte',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail_needlogin' => "Abbesognate $1 pe cunfirmà 'o nnerizzo 'e e-mail d''o vuosto.",
 'confirmemail_loggedin' => "'O nnerizzo 'e e-mail è vàleto",
 
@@ -476,9 +654,12 @@ Also see [[Special:WantedCategories|wanted categories]].",
 
 # Auto-summaries
 'autoredircomment' => 'Redirect â paggena [[$1]]',
-'autosumm-new' => 'Paggena nuova: $1',
+'autosumm-new' => "Paggena criate ch''o: $1",
 
 # Special:SpecialPages
 'specialpages' => 'Paggene speciale',
 
+# New logging system
+'rightsnone' => '(nisciuno)',
+
 );
index 2873829..f96cbda 100644 (file)
@@ -37,6 +37,7 @@
  * @author Purodha
  * @author Qaqqalik
  * @author Samuelsen
+ * @author Simen47
  * @author Simny
  * @author Sjurhamre
  * @author Stigmj
@@ -423,6 +424,18 @@ $messages = array(
 'oct' => 'okt',
 'nov' => 'nov',
 'dec' => 'des',
+'january-date' => 'Januar $1',
+'february-date' => 'Februar $1',
+'march-date' => 'Mars $1',
+'april-date' => 'April $1',
+'may-date' => 'Mai $1',
+'june-date' => 'Juni $1',
+'july-date' => 'Juli $1',
+'august-date' => 'August $1',
+'september-date' => 'September $1',
+'october-date' => 'Oktober $1',
+'november-date' => 'November $1',
+'december-date' => 'Desember $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategori|Kategorier}}',
@@ -734,9 +747,12 @@ Ikke glem å endre [[Special:Preferences|innstillingene dine]] på {{SITENAME}}.
 'yourpassword' => 'Passord:',
 'userlogin-yourpassword' => 'Passord',
 'userlogin-yourpassword-ph' => 'Skriv inn passordet ditt',
+'createacct-yourpassword-ph' => 'Skriv inn et passord',
 'yourpasswordagain' => 'Gjenta passord',
+'createacct-yourpasswordagain' => 'Bekreft passord',
+'createacct-yourpasswordagain-ph' => 'Skriv inn passordet igjen',
 'remembermypassword' => 'Husk meg på denne datamaskinen (i maks $1 {{PLURAL:$1|dag|dager}})',
-'userlogin-remembermypassword' => 'Husk brukernavn og passord',
+'userlogin-remembermypassword' => 'Hold meg innlogget',
 'userlogin-signwithsecure' => 'Logg inn med sikker tjener',
 'securelogin-stick-https' => 'Vær fortsatt koblet til HTTPS etter innlogging',
 'yourdomainname' => 'Ditt domene',
@@ -758,14 +774,30 @@ Ikke glem å endre [[Special:Preferences|innstillingene dine]] på {{SITENAME}}.
 'gotaccount' => 'Har du allerede en konto? $1.',
 'gotaccountlink' => 'Logg inn',
 'userlogin-resetlink' => 'Har du glemt påloggingsdetaljene dine?',
+'userlogin-resetpassword-link' => 'Tilbakestill passordet dit',
 'helplogin-url' => 'Help:Innlogging',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hjelp med innlogging]]',
+'createacct-join' => 'Skriv inn informasjonen din under.',
+'createacct-emailrequired' => 'Email-adresse',
+'createacct-emailoptional' => 'Email-adresse (valgfritt)',
+'createacct-email-ph' => 'Skriv inn email-adressen din',
 'createaccountmail' => 'Bruk et midlertidig tilfeldig passord, og send det til e-postadressen nedenfor',
+'createacct-realname' => 'Virkelige navn (valgfritt)',
 'createaccountreason' => 'Årsak:',
+'createacct-reason' => 'Årsak',
+'createacct-reason-ph' => 'Hvorfor lager du en annen bruker',
+'createacct-captcha' => 'Sikkerhetssjekk',
+'createacct-imgcaptcha-ph' => 'Skriv inn teksten du ser ovenfor',
+'createacct-submit' => 'Lag deg en bruker',
+'createacct-benefit-heading' => '{{SITENAME}} er laget av personer som deg.',
+'createacct-benefit-body1' => '{{PLURAL:$1|edit|edits}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|page|pages}}',
+'createacct-benefit-body3' => 'siste {{PLURAL:$1|contributor|contributors}}',
 'badretype' => 'Passordene samsvarte ikke.',
 'userexists' => 'Brukernavnet er allerede i bruk.
 Velg et annet brukernavn.',
 'loginerror' => 'Innloggingsfeil',
+'createacct-error' => 'Feil med kontoppretting',
 'createaccounterror' => 'Kunne ikke opprette konto: $1',
 'nocookiesnew' => 'Din brukerkonto er nå opprettet, men du har ikke logget på. {{SITENAME}} bruker informasjonskapsler («cookies») for å logge brukere på og du har slått dem av. Slå dem på for å kunne logge på med ditt nye brukernavn og passord.',
 'nocookieslogin' => '{{SITENAME}} bruker informasjonskapsler («cookies») for å logge brukere på og du har slått dem av. Slå dem på og prøv igjen.',
@@ -848,14 +880,13 @@ Du kan ignorere denne beskjeden dersom kontoen ble opprettet ved en feil.',
 'resetpass-wrong-oldpass' => 'Ugyldig midlertidig eller nåværende passord.
 Du kan ha allerede byttet passordet, eller bedt om et nytt midlertidig passord.',
 'resetpass-temp-password' => 'Midlertidig passord:',
+'resetpass-abort-generic' => 'Endring av passord har blitt avbrutt av en utvidelse.',
 
 # Special:PasswordReset
 'passwordreset' => 'Passordresetting',
-'passwordreset-text' => 'Fyll ut dette skjemaet for å tilbakestille passordet ditt.',
 'passwordreset-legend' => 'Nullstill passord',
 'passwordreset-disabled' => 'Nullstilling av passord er deaktivert på denne wikien.',
 'passwordreset-emaildisabled' => 'E-posttjenester er slått av på denne wikien.',
-'passwordreset-pretext' => '{{PLURAL:$1||Skriv inn en av datadelene nedenfor}}',
 'passwordreset-username' => 'Brukernavn:',
 'passwordreset-domain' => 'Domene:',
 'passwordreset-capture' => 'Vise resulterende e-post?',
@@ -1530,6 +1561,7 @@ Den kan maks inneholde $1 {{PLURAL:$1|tegn|tegn}}.',
 'userrights-changeable-col' => 'Grupper du kan endre',
 'userrights-unchangeable-col' => 'Grupper du ikke kan endre',
 'userrights-irreversible-marker' => '$1 *',
+'userrights-conflict' => 'En konflikt med brukerrettighetene! Vennligst legg til endringene dine igjen.',
 
 # Groups
 'group' => 'Gruppe:',
@@ -2347,8 +2379,8 @@ Fremtidige endringer til denne siden og den tilhørende diskusjonssiden blir lis
 'notvisiblerev' => 'Revisjonen er slettet',
 'watchnochange' => 'Ingen av sidene i overvåkningslisten er endret i den valgte perioden.',
 'watchlist-details' => '{{PLURAL:$1|Én side|$1 sider}} på din overvåkningsliste, teller ikke diskusjonssider.',
-'wlheader-enotif' => 'E-postnotifikasjon er slått på.',
-'wlheader-showupdated' => "Sider som har blitt forandret siden du sist besøkte dem vises i '''fet tekst'''",
+'wlheader-enotif' => 'E-postnotifikasjon er slått på.',
+'wlheader-showupdated' => "Sider som har blitt forandret siden du sist besøkte dem vises i '''fet tekst'''",
 'watchmethod-recent' => 'sjekker siste endringer for sider i overvåkningslisten',
 'watchmethod-list' => 'sjekker siste endringer for sider i overvåkningslisten',
 'watchlistcontains' => 'Overvåkningslisten inneholder $1 {{PLURAL:$1|side|sider}}.',
@@ -2914,6 +2946,8 @@ Besøk [//translatewiki.net translatewiki.net] om du ønsker å bidra med overse
 'thumbnail-more' => 'Forstørr',
 'filemissing' => 'Filen mangler',
 'thumbnail_error' => 'Feil under oppretting av miniatyrbilde: $1',
+'thumbnail_error_remote' => 'Feil-melding fra $1:
+$2',
 'djvu_page_error' => 'DjVu-side ute av rekkevidde',
 'djvu_no_xml' => 'Klarte ikke å hente XML for DjVu-fil',
 'thumbnail-temp-create' => 'Kan ikke opprette midlertidig miniatyrbildefil',
@@ -3223,11 +3257,25 @@ Ved å åpne den kan systemet ditt kompromitteres.",
 'minutes' => '{{PLURAL:$1|$1 minutt|$1 minutter}}',
 'hours' => '{{PLURAL:$1|$1 time|$1 timer}}',
 'days' => '{{PLURAL:$1|$1 dag|$1 dager}}',
+'weeks' => '{{FLERTALL:$1|$1 uke|$1 uker}}',
 'months' => '{{PLURAL:$1|$1 måned|$1 måneder}}',
 'years' => '{{PLURAL:$1|$1 år}}',
 'ago' => '$1 siden',
 'just-now' => 'nettopp',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{FLERTALL:$1|time|timer}} siden',
+'minutes-ago' => '$1 {{FLERTALL:$1|minutt|minutter}} siden',
+'seconds-ago' => '$1 {{FLERTALL:$1|sekund|sekunder}} siden',
+'monday-at' => 'Mandag på $1',
+'tuesday-at' => 'Tirsdag på $1',
+'wednesday-at' => 'Onsdag på $1',
+'thursday-at' => 'Torsdag på $1',
+'friday-at' => 'Fredag på $1',
+'saturday-at' => 'Lørdag på $1',
+'sunday-at' => 'Søndag på $1',
+'yesterday-at' => 'I går på $1',
+
 # Bad image list
 'bad_image_list' => 'Formatet er som følger:
 
@@ -3869,6 +3917,15 @@ Du skal ha mottatt [{{SERVER}}{{SCRIPTPATH}}/COPYING en kopi av GNU General Publ
 'version-entrypoints-header-entrypoint' => 'Inngangspunkt',
 'version-entrypoints-header-url' => 'URL',
 
+# Special:Redirect
+'redirect-submit' => 'Gå',
+'redirect-lookup' => 'Oppslag:',
+'redirect-value' => 'Verdi:',
+'redirect-user' => 'Bruker ID',
+'redirect-revision' => 'Side revisjon',
+'redirect-file' => 'Fil-navn',
+'redirect-not-exists' => 'Verdi er ikke funnet',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Søk etter duplikatfiler',
 'fileduplicatesearch-summary' => 'Søk etter duplikatfiler basert på dets hash-verdi.',
@@ -3960,6 +4017,7 @@ Du skal ha mottatt [{{SERVER}}{{SCRIPTPATH}}/COPYING en kopi av GNU General Publ
 'htmlform-selectorother-other' => 'Andre',
 'htmlform-no' => 'Nei',
 'htmlform-yes' => 'Ja',
+'htmlform-chosen-placeholder' => 'Velg et alternativ',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 med støtte for fulltekstsøk',
index 4beb139..a8fa3d8 100644 (file)
@@ -1805,6 +1805,15 @@ Kiek ok bi de [[Special:WantedCategories|wünschten Kategorien]].',
 'listusers-noresult' => 'Keen Bruker funnen.',
 'listusers-blocked' => '(sperrt)',
 
+# Special:ActiveUsers
+'activeusers' => 'Aktive Brukers',
+'activeusers-intro' => 'Dit is en List von Brukers, de {{PLURAL:$1|den verleden Dag|de verleden $1 Daag}} aktiv wesen sünd.',
+'activeusers-count' => '$1 {{PLURAL:$1|Ännern|Ännern}} {{PLURAL:$3|den verleden Dag|in de verleden $3 Daag}}',
+'activeusers-from' => 'Brukers wiesen vanaf:',
+'activeusers-hidebots' => 'Bots nich wiesen',
+'activeusers-hidesysops' => 'Administraters nich wiesen',
+'activeusers-noresult' => 'Keen Brukers funnen.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Brukergruppen-Rechten',
 'listgrouprights-summary' => 'Dit is en List vun de Brukergruppen, de in dit Wiki defineert sünd, un de Rechten, de dor mit verbunnen sünd.
@@ -1877,7 +1886,7 @@ Mehr Informatschonen över enkelte Rechten staht ünner [[{{MediaWiki:Listgroupr
 'watchnochange' => 'Kene Siet op dien Oppasslist is in den wiesten Tietruum ännert worrn.',
 'watchlist-details' => '{{PLURAL:$1|Ene Siet is|$1 Sieden sünd}} op dien Oppasslist (ahn Diskuschoonssieden).',
 'wlheader-enotif' => 'Benarichtigen per E-Mail is anstellt.',
-'wlheader-showupdated' => "Sieden, de siet dien letzten Besöök ännert worrn sünd, warrt '''fett''' wiest.",
+'wlheader-showupdated' => "Sieden, de siet dien letzten Besöök ännert worrn sünd, warrt '''fett''' wiest.",
 'watchmethod-recent' => 'letzte Ännern no Oppasslist pröven',
 'watchmethod-list' => 'Oppasslist na letzte Ännern nakieken',
 'watchlistcontains' => 'Diene Oppasslist bargt {{PLURAL:$1|ene Siet|$1 Sieden}}.',
@@ -2598,7 +2607,7 @@ Wiedere warrt standardmatig nich anwiest:
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Breed',
 'exif-imagelength' => 'Hööchd',
 'exif-bitspersample' => 'Bits je Farvkomponent',
@@ -2716,7 +2725,7 @@ Wiedere warrt standardmatig nich anwiest:
 'exif-languagecode' => 'Spraak',
 'exif-iimcategory' => 'Kategorie',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Unkomprimeert',
 
 'exif-unknowndate' => 'Unbekannt Datum',
@@ -3030,14 +3039,6 @@ Du kannst ok de [[Special:EditWatchlist|normale Sied to’n Ännern]] bruken.',
 'version-software-version' => 'Version',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Dateipadd',
-'filepath-page' => 'Datei:',
-'filepath-submit' => 'Los',
-'filepath-summary' => 'Disse Spezialsiet gifft den kumpletten Padd för ene Datei trüch. Biller warrt in vull Oplösen wiest, annere Datein warrt glieks mit dat Programm opropen, dat för de Soort Datein instellt is.
-
-Geev den Dateinaam ahn den Tosatz „{{ns:file}}:“ an.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Söök na Datein, de jüst gliek sünd',
 'fileduplicatesearch-summary' => 'Söök na Datein, de na jemehr Hash-Tallen jüst gliek sünd.',
index de38aba..d339b04 100644 (file)
@@ -2306,7 +2306,7 @@ Toekomstige wiezigingen op disse zied en de overlegzied zullen hier vermeld wör
 'watchnochange' => 'Gien van de ziejen op joew volglieste is in disse periode ewiezigd',
 'watchlist-details' => 'Der {{PLURAL:$1|steet één zied|staon $1 ziejen}} op joew volglieste, zonder de overlegziejen mee-erekend.',
 'wlheader-enotif' => 'Je kriegen bericht per netpost',
-'wlheader-showupdated' => "Ziejen die sinds joew leste bezeuk bie-ewörken bin, staon '''vet-edrokt'''.",
+'wlheader-showupdated' => "Ziejen die sinds joew leste bezeuk bie-ewörken bin, staon '''vet-edrokt'''.",
 'watchmethod-recent' => "leste wiezigingen an t naokieken op ziejen die'j volgen",
 'watchmethod-list' => 'Kik joew nao volglieste veur de leste wiezigingen',
 'watchlistcontains' => 'Der {{PLURAL:$1|steet 1 zied|staon $1 ziejen}} op joew volglieste.',
index 3eb03d1..5b2ad6e 100644 (file)
@@ -83,8 +83,6 @@ $messages = array(
 'tog-shownumberswatching' => 'निगरानी गरिरहेका प्रयोगकर्ताहरुको संख्या देखाउने',
 'tog-oldsig' => 'वर्तमान हस्ताक्षर:',
 'tog-fancysig' => 'मेरो दस्तखतलाई विकि पाठको रुपमा लिने(स्वत सम्वन्ध बिना)',
-'tog-externaleditor' => 'पूर्वनिर्धारित रुपमा बाह्य सम्पादक प्रयोग गर्नुहोस् (विज्ञहरुको लागि मात्र, तपाईको कम्प्युटरमा विशेष अनुकुलता आवश्यक हुन्छ [//www.mediawiki.org/wiki/Manual:External_editors More information.])',
-'tog-externaldiff' => 'पूर्वनिर्धारित रुपमा बाह्य diff प्रयोग गर्नुहोस (विज्ञ प्रयोगकर्ताहरुको लागि मात्र, तपाईंको कम्प्युटरमा विशेष अनुकुलता आवश्यक हुन्छ [//www.mediawiki.org/wiki/Manual:External_editors More information.])',
 'tog-showjumplinks' => '"जाने" पहुँच सम्वन्ध सक्रिय पार्ने',
 'tog-uselivepreview' => 'प्रत्यक्ष पूर्वरुप प्रयोग गर्नुहोस् ( जाभा स्क्रिप्ट आवश्यक) (प्रयोगात्मक)',
 'tog-forceeditsummary' => 'खाली सम्पादन सार प्रविष्टि गरेमा मलाई सोध्ने',
@@ -1067,15 +1065,6 @@ $1",
 हाललाई तपाईले गूगलद्वारा खोज्न सक्नुहुन्छ ।
 याद गर्नुहोस् उनीहरुको {{SITENAME}}को सूची सामग्री पुरानो भएको हुनसक्छ ।',
 
-# Quickbar
-'qbsettings' => 'क्विकबार',
-'qbsettings-none' => 'कुनैपनि होइन',
-'qbsettings-fixedleft' => 'देब्रे निश्चित गरिएको',
-'qbsettings-fixedright' => 'दाहिने निश्चित गरिएको',
-'qbsettings-floatingleft' => 'देब्रे तैरने',
-'qbsettings-floatingright' => 'दाहिने तैरने',
-'qbsettings-directionality' => 'तपाईको भाषाको लेखाइ दिशाको आधारमा मिलान गरिएको छ',
-
 # Preferences page
 'preferences' => 'रोजाईहरू',
 'mypreferences' => 'प्राथमिकताहरु',
@@ -1546,7 +1535,6 @@ $1',
 'http-read-error' => 'HTTP बुझाइमा त्रुटि।',
 'http-timed-out' => 'HTTP माँगिएको समय सकियो।',
 'http-curl-error' => 'URL $1 लिनमा त्रुटि',
-'http-host-unreachable' => 'URL मा पुग्न सकिएन।',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'URLमा पुग्न सकिएन',
@@ -1886,8 +1874,8 @@ $1',
 'notvisiblerev' => 'पूर्वावलोकन हटाइयो',
 'watchnochange' => 'दिइएको समय अवधीभित्र निगरानी सुचीमा रहेका कुनै पनि सामाग्री सम्पादन भएको छैनन ।',
 'watchlist-details' => 'तपाईको निगरानी सूचीमा रहेका{{PLURAL:$1|$1 पृष्ठ|$1 पृष्ठहरु}}वार्तालापमा पृष्ठमा गनिएका छैनन् ।',
-'wlheader-enotif' => 'ईमेलद्वारा जानकारी गराउने तरिका सक्रिय गरियो ।',
-'wlheader-showupdated' => "तपाइले पछिल्लो पल्ट भ्रमण गरेपछि परिवर्तन भएका पृष्ठहरूलाई '''गाढा''' गरेर देखाइएको छ ।",
+'wlheader-enotif' => 'ईमेलद्वारा जानकारी गराउने तरिका सक्रिय गरियो ।',
+'wlheader-showupdated' => "तपाइले पछिल्लो पल्ट भ्रमण गरेपछि परिवर्तन भएका पृष्ठहरूलाई '''गाढा''' गरेर देखाइएको छ ।",
 'watchmethod-recent' => 'निगरानी सुचीमा रहेका पृष्ठमा गरिएका सम्पादनहरु जाँच्दै',
 'watchmethod-list' => 'सम्पदान गरिएका निगरानी सुचीमा रहेका पृष्ठहरुको सम्पादन जाँच्दै',
 'watchlistcontains' => 'तपाईको निगरानी सुचीमा $1 {{PLURAL:$1|पृष्ठ|पृष्ठहरु}}रहेका छन् ।',
@@ -2520,17 +2508,11 @@ $1को बन्देजको कारण : "$2" हो',
 
 # Stylesheets
 'common.css' => '/* यहाँ राखिएका CSS सबै खोलहरुमा लागु हुनेछन् */',
-'standard.css' => '/* यहाँ राखिएका CSS हरुले स्तरीय खोल प्रयोग गर्ने प्रयोगकर्ताहरुलाई प्रभावित पार्छ  */',
-'nostalgia.css' => '/* यहाँ राखिएको CSS ले नस्टाल्जिया स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ  */',
 'cologneblue.css' => '/* यहाँ राखिएको CSS ले कोलोग्ने ब्लु स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ  */',
 'monobook.css' => '/* यहाँ राखिएको CSS ले मोनोबुक स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ  */',
-'myskin.css' => '/* यहाँ राखिएको CSS ले माइस्किन स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ  */',
-'chick.css' => '/* यहाँ राखिएको CSS ले चिक स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ  */',
-'simple.css' => '/* यहाँ राखिएको CSS ले सिम्पल स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ  */',
 'modern.css' => '/* यहाँ राखिएको CSS ले मोनोबुक मोडर्न प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ  */',
 'vector.css' => '/* यहाँ राखिएको CSS ले भेक्टर स्किनको प्रयोगकर्ताहरुलाई प्रभावित गर्ने छ  */',
 'print.css' => '/* यहाँ राखिएको CSS मुद्रण नतिजालाई प्रभावित गर्छ  */',
-'handheld.css' => '/* यहाँ राखिएको CSS ले हाते मेसिनहरु(मोबाईल) स्किनलाई प्रभावित गर्छ जुन $wgHandheldStyle मा निर्धारण गरिएको छ  */',
 
 # Metadata
 'notacceptable' => 'विकि सर्भर तपाइको क्लाइन्टलाइ जुन प्रकारको डाटा चाहिन्छ त्यस प्रकारले दिन सक्दैन।',
@@ -2565,13 +2547,8 @@ $1को बन्देजको कारण : "$2" हो',
 'pageinfo-authors' => 'फरक सम्पादकरुको संख्या',
 
 # Skin names
-'skinname-standard' => 'क्लासिक',
-'skinname-nostalgia' => 'नोस्टाल्जिया',
 'skinname-cologneblue' => 'कोलोग्ने निलो',
 'skinname-monobook' => 'मोनोबुक',
-'skinname-myskin' => 'माइस्किन',
-'skinname-chick' => 'चिक',
-'skinname-simple' => 'सिम्पल',
 'skinname-modern' => 'मोडर्न',
 'skinname-vector' => 'भेक्टर',
 
@@ -2676,7 +2653,7 @@ Others will be hidden by default.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'चौडाइ',
 'exif-imagelength' => 'उचाई',
 'exif-bitspersample' => 'घटक प्रति बिट्स',
@@ -2850,7 +2827,7 @@ $4, $5, $6 $7
 $8',
 'exif-subjectnewscode-value' => '$2 ($1)',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'नखादिएको(कम्प्रेस नगरिएको)',
 'exif-compression-2' => 'CCITT समूह 3 1-Dimensional Modified Huffman संचालन इन्कोडिङ्ग',
 'exif-compression-3' => 'CCITT Group 3  फ्याक्स इन्कोडिङ्ग',
@@ -3323,15 +3300,6 @@ $5
 'version-software-product' => 'उत्पादन',
 'version-software-version' => 'संस्करण',
 
-# Special:FilePath
-'filepath' => 'फाइल मार्ग:',
-'filepath-page' => 'फाइल',
-'filepath-submit' => 'जाने',
-'filepath-summary' => 'यस पृष्ठले फाइको पूरा बाटो(पाथ) दिन्छ ।
-तस्विरहु पूरा रिजोल्युशनमा देखाइन्छ अरु फाइहरु निका सम्बन्धित अनुप्रयोगहरुसँग खोलिन्छन ।
-
- "{{ns:file}}:" प्रिफिक्स(पूर्वसर्ग) बिना फाइल नाम प्रविष्ट गर्नुहोस् । .',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'नक्कल फाइल खोज्ने',
 'fileduplicatesearch-summary' => 'ह्यास मानको आधारमा दुरुस्त नक्कल फाइहरु खोज्ने ।',
index d9cd17d..939f036 100644 (file)
@@ -46,7 +46,7 @@ $messages = array(
 'tog-underline' => 'लिङ्कतेत अन्दरलाइन यानादिसँ:',
 'tog-justify' => 'अनुच्छेद धंकादिसँ',
 'tog-hideminor' => 'न्हुगु हिलेज्याय् चिधंगु सम्पादन सुचुकादिसँ',
-'tog-extendwatchlist' => 'वाचलिस्टयात परिमार्जित याना सकल स्वेज्युगु हिलेज्या क्यनादिसँ',
+'tog-extendwatchlist' => 'वाचलिस्टयात परिमार्जित याना सकल स्वेज्युगु हिलेज्या क्यनादिसँ, दकले लिपाया जक्क मखु',
 'tog-usenewrc' => 'एन्ह्यान्स्ड् न्हुगु हिलेज्या (जाभास्क्रिप्ट)',
 'tog-numberheadings' => 'अटो-ल्याखँ हेडिङ',
 'tog-showtoolbar' => 'सम्पादन टुलबार क्यनादिसँ (जाभास्क्रिप्ट)',
@@ -69,8 +69,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'जिगु इ-मेल थाय्‌बाय्‌ नोटिफिकेसन इ-मेलय् क्यनादिसँ',
 'tog-shownumberswatching' => 'स्वयाच्वंपिं छ्यलामितेगु ल्याखँ क्यनादिसँ',
 'tog-fancysig' => 'कच्चा हस्ताक्षर (अटोम्याटिक लिङ्क मदेःकः)',
-'tog-externaleditor' => 'डिफल्टं एक्स्टर्नल एडिटर छ्यलादिसँ (एक्स्पर्टतेगु निंतिं जक्क, छिगु कम्प्युटरय् विषेश सेटिङ माः)',
-'tog-externaldiff' => 'एक्स्टर्नल डिफ् (diff) डिफल्टं छ्यलादिसँ (एक्स्पर्टतेगु निंतिं जक्क, छिगु कम्प्युटरय् विषेश सेटिङ माः)',
 'tog-showjumplinks' => '"जम्प टु" एसिसिबिलिटी लिङ्क इनेबल यानादिसँ',
 'tog-uselivepreview' => 'लाइभ प्रिभ्यु (जाभास्क्रिप्ट) इनेबल यानादिसँ (परिक्षणकाल)',
 'tog-forceeditsummary' => 'सम्पादन सार खालि त्वतिबिले जित सशंकित यानादिसँ',
@@ -166,9 +164,19 @@ $messages = array(
 # Cologne Blue skin
 'qbfind' => 'मालादिसँ',
 'qbedit' => 'सम्पादन',
+'qbpageoptions' => 'थ्व पौ',
+'qbmyoptions' => 'जिगु पौ',
+'qbspecialpages' => 'विशेष पौ',
 'faq' => 'आपालं न्यनिगु न्ह्यसः (FAQ)',
 'faqpage' => 'Project:आपालं न्यनिगु न्ह्यसःत (FAQ)',
 
+# Vector skin
+'vector-action-move' => 'संकादिसँ',
+'vector-view-create' => 'दयेकादिसँ',
+'vector-view-edit' => 'सम्पादन',
+'vector-view-history' => 'इतिहास स्वयादिसँ',
+'vector-view-view' => 'ब्वनादिसँ',
+
 'returnto' => '$1य् लिहाँझासँ।',
 'tagline' => '{{SITENAME}}नं',
 'help' => 'ग्वहालि',
@@ -182,8 +190,13 @@ $messages = array(
 'printableversion' => 'ध्वायेज्युगु संस्करण',
 'permalink' => 'स्थायी लिङ्क',
 'print' => 'ध्वानादिसँ',
+'view' => 'क्यनादिसँ',
 'edit' => 'सम्पादन',
+'create' => 'दयेकादिसँ',
 'editthispage' => 'थ्व पौ सम्पादन यानादिसं',
+'create-this-page' => 'थ्व पौ दयेकादिसँ',
+'delete' => 'हुयादिसँ (दिलित)',
+'deletethispage' => 'थ्व पौ हुयादिसँ (दिलित)',
 'newpage' => 'न्हुगु पौ',
 'talkpagelinktext' => 'खँल्हाबँल्हा',
 'specialpage' => 'विषेश पौ',
@@ -192,7 +205,9 @@ $messages = array(
 'toolbox' => 'ज्याब्व सन्दुक',
 'projectpage' => 'ज्याखँ पौ क्येनादिसँ',
 'otherlanguages' => 'मेमेगु भाषाय्',
+'jumpto' => 'थन झासँ:',
 'jumptosearch' => 'मालादिसँ',
+'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) and the disambiguation template definition (see disambiguations).
 'aboutsite' => '{{SITENAME}}या बारेय्',
@@ -228,8 +243,12 @@ $messages = array(
 'youhavenewmessagesmulti' => '$1य् छित न्हुगु सन्देश वगु दु',
 'editsection' => 'सम्पादन',
 'editold' => 'सम्पादन',
+'editlink' => 'सम्पादन',
 'editsectionhint' => 'खण्ड सम्पादन: $1',
 'showtoc' => 'क्यनादिसँ',
+'hidetoc' => 'सुचुकादिसँ',
+'collapsible-expand' => 'चायेकादिसँ',
+'red-link-title' => '$1 (पौ मदु)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'पौ',
@@ -269,9 +288,7 @@ MySQL नं इरर "<tt>$3: $4</tt>" क्यंगु दु।',
 'viewsource' => 'स्रोत स्वयादिसँ',
 
 # Login and logout pages
-'welcomecreation' => '== लसकुस, $1! ==
-छिगु खाता चायेके धुंकल।
-छिगु [[Special:Preferences|{{SITENAME}} प्राथमिकता]] हिलिगु लुमंकादिसँ।',
+'welcomeuser' => 'लसकुस, $1जु!',
 'yourname' => 'छ्य्‌लामि नां:',
 'yourpassword' => 'दुथखँग्वः (पासवर्द):',
 'yourpasswordagain' => 'दुथखँग्वः हानं तियादिसँ:',
@@ -284,14 +301,42 @@ MySQL नं इरर "<tt>$3: $4</tt>" क्यंगु दु।',
 'nologinlink' => 'खाता न्ह्यथनादिसँ',
 'createaccount' => 'खाता चायेकादिसँ',
 'gotaccountlink' => 'दुहां झासँ',
+'badretype' => 'छिं तियादिगु पासवर्द पाय्‌छि मजु।',
 'loginsuccesstitle' => 'लग इन सफल जुल',
+'emaildisabled' => 'थ्व फाइलं इमेल छ्वयेमफु।',
 'accountcreated' => 'खाता न्ह्येथन',
+'accountcreatedtext' => '$1या निंतिं छ्य्‌लामि खाता चायेकूगु दु।',
 'loginlanguagelabel' => 'भाषा: $1',
 
+# Change password dialog
+'resetpass' => 'पासवर्द हिलादिसँ',
+
+# Special:ChangeEmail
+'changeemail-submit' => 'इ-मेल हिलादिसँ',
+'changeemail-cancel' => 'खारेज',
+
+# Edit page toolbar
+'bold_sample' => 'गाढा आखः',
+'bold_tip' => 'गाढा आखः',
+'italic_sample' => 'बेक्वःगु आखः',
+'italic_tip' => 'बेक्वःगु आखः',
+'link_tip' => 'आन्तरिक लिंक',
+
 # Edit pages
 'summary' => 'सारांश:',
-'savearticle' => 'पौ मुंकादिसं',
-'preview' => 'स्वयादिसं',
+'minoredit' => 'थ्व चिधंगु सम्पादन ख',
+'watchthis' => 'थ्व पौ स्वयादिसँ',
+'savearticle' => 'पौ स्वथनादिसँ',
+'preview' => 'न्हेकिपा',
+'showpreview' => 'न्हेकिपा क्यनादिसँ',
+'showlivepreview' => 'जुथें (लाइभ) न्हेकिपा',
+'showdiff' => 'हिसुझ्वः क्यनादिसँ',
+'anoneditwarning' => "'''न्ह्यःखँ:''' छि लग्द इन मदु। 
+छिगु IP address पौया सम्पादन इतिहासय् स्वथनिगु जुइ।",
+'anonpreviewwarning' => "''छि लग्द इन मदु। थ्व पौ स्वथनादिल धाःसा छिगु IP address थ्व पौया इतिहासय् स्वथनिगु जुइ।''",
+'loginreqtitle' => 'लग इन माःगु',
+'loginreqpagetext' => 'मेमेगु पौ स्वयेत छिं $1 यायेमा/जुइमा।',
+'accmailtitle' => 'पासवर्द छ्वल।',
 'newarticle' => '(न्हु)',
 'note' => "'''होस यानादिसँ:'''",
 'previewnote' => "'''थ्व पूर्वालोकन जक्क ख। छिं यानादिगु सम्पादन स्वथंगु मदुनि!'''",
@@ -300,12 +345,17 @@ MySQL नं इरर "<tt>$3: $4</tt>" क्यंगु दु।',
 'yourtext' => 'छिगु आखः',
 'storedversion' => 'स्वथनातगु संस्करण',
 
+# Content models
+'content-model-text' => 'सादा आखः',
+
 # History pages
 'revisionasof' => '$1 तक्कया संस्करण',
 'previousrevision' => '←पुलांगु संस्करण',
 
 # Search results
 'searchhelp-url' => 'Help:धलःपौ',
+'searchprofile-everything' => 'दक्वं',
+'search-result-size' => '$1 ({{PLURAL:$2|1 खँग्वः |$2 खँग्वःत}})',
 'searchrelated' => 'स्वापू दुःगु',
 'searchall' => 'सकल',
 'powersearch' => 'मालादिसँ',
@@ -313,6 +363,7 @@ MySQL नं इरर "<tt>$3: $4</tt>" क्यंगु दु।',
 # Preferences page
 'mypreferences' => 'जिगु प्राथमिकता',
 'changepassword' => 'पासवर्द हिलादिसँ',
+'prefs-skin' => 'भुँसा',
 'prefs-datetime' => 'दिं व ई',
 'prefs-personal' => 'छ्य्‌लामि प्रोफाइल',
 'prefs-rc' => 'न्हुगु हिलेज्या',
@@ -321,21 +372,24 @@ MySQL नं इरर "<tt>$3: $4</tt>" क्यंगु दु।',
 'username' => 'छ्य्‌लामि नां:',
 'yourrealname' => 'वास्तविक नां:',
 'yourlanguage' => 'भाषा:',
+'gender-male' => 'मिजं',
+'gender-female' => 'मिसा',
 'email' => 'इ-मेल',
 
 # User rights
 'userrights-user-editname' => 'छपू छ्य्‌लामि नां तयादिसँ:',
 
 # Groups
+'group' => 'पुचः',
 'group-user' => 'छ्य्‌लामित',
 'group-bot' => 'बोत',
 
 # Recent changes
-'recentchanges' => 'नà¥\8dहà¥\81à¤\97à¥\81 à¤¹à¤¿à¤²à¥\87à¤\9cà¥\8dया',
+'recentchanges' => 'नà¤\95तिनिया à¤¹à¤¿à¤¸à¥\81à¤\9dà¥\8dवà¤\83',
 'show' => 'क्यनादिसँ',
 
 # Upload
-'upload' => 'सà¤\82à¤\9aिà¤\95ा à¤\9aढ़ाà¤\8fँ',
+'upload' => 'फाà¤\87ल à¤\85पलà¥\8bद à¤¯à¤¾à¤¨à¤¾à¤¦à¤¿à¤¸ँ',
 
 # File description page
 'file-anchor-link' => 'फाइल',
@@ -361,6 +415,9 @@ MySQL नं इरर "<tt>$3: $4</tt>" क्यंगु दु।',
 # Special:Categories
 'categories' => 'पुचःत',
 
+# Email user
+'emailusername' => 'छ्य्‌लामि नां (युजर नेम) :',
+
 # Restrictions (nouns)
 'restriction-edit' => 'सम्पादन',
 
@@ -376,10 +433,16 @@ MySQL नं इरर "<tt>$3: $4</tt>" क्यंगु दु।',
 # What links here
 'whatlinkshere' => 'थन छु स्वाई',
 
+# Block/unblock
+'contribslink' => 'योगदान',
+
 # Move page
 'movereason' => 'कारण:',
 
 # Tooltip help for the actions
+'tooltip-search' => '{{SITENAME}} मालादिसं',
+'tooltip-search-fulltext' => 'थ्व खँग्वःया निंतिं पौस मालादिसं',
+'tooltip-p-logo' => 'मू पौय् झासँ',
 'tooltip-n-mainpage' => 'मू पौ भ्रमण यानादिसँ',
 'tooltip-n-portal' => 'ज्याझ्वःया बारेय्, छिं छु यायेछिं, गन खँ सीकिगु',
 'tooltip-n-currentevents' => 'जुयाच्वँगु घटनाया लिधँसा तथ्य मालादिसँ',
@@ -392,7 +455,7 @@ MySQL नं इरर "<tt>$3: $4</tt>" क्यंगु दु।',
 'tooltip-feed-atom' => 'थ्व पौया Atom फीड',
 'tooltip-t-contributions' => 'थ्व छ्य्‌लामिया योगदानया धलः क्यनादिसँ',
 'tooltip-t-emailuser' => 'थ्व छ्य्‌लामियात इ-मेल छ्वयादिसँ',
-'tooltip-t-upload' => 'सà¤\82à¤\9aिà¤\95ाà¤\8fà¤\81 à¤\9aढ़ाà¤\8fँ',
+'tooltip-t-upload' => 'फाà¤\87ल à¤\85पलà¥\8bद à¤¯à¤¾à¤¨à¤¾à¤¦à¤¿à¤¸ँ',
 'tooltip-t-specialpages' => 'सकल विशेष पौस धलः',
 'tooltip-t-print' => 'थ्व पौस ध्वायेज्युगु संस्करण',
 'tooltip-t-permalink' => 'थ्व पौस थ्व संस्करणया पर्मानेन्ट लिङ्क',
@@ -420,13 +483,8 @@ MySQL नं इरर "<tt>$3: $4</tt>" क्यंगु दु।',
 
 # Stylesheets
 'common.css' => '/* थन तःगु CSS सकल स्किनय् छ्य्‌लिगु जुइ */',
-'standard.css' => '/* थन तःगु CSS नं स्ट्याण्डर्ड स्किनया छ्य्‌लामितेत प्रभावित याइ */',
-'nostalgia.css' => '/* थन तःगु CSS नं नोस्ट्याल्जिया स्किनया छ्य्‌लामितेत असर याइ */',
 'cologneblue.css' => '/* थन तःगु CSS नं कोलोन ब्लु स्किनया छ्य्‌लामितेत असर याइ */',
 'monobook.css' => '/* थन तःगु CSS नं मोनोबुक स्किनया छ्य्‌लामितेत असर याइ */',
-'myskin.css' => '/* थन तःगु CSS नं माइस्किन स्किनया छ्य्‌लामितेत असर याइ */',
-'chick.css' => '/* थन तःगु CSS नं चिक स्किनया छ्य्‌लामितेत असर याइ */',
-'simple.css' => '/* थन तःगु CSS नं सिम्पल स्किनया छ्य्‌लामितेत असर याइ */',
 'modern.css' => '/* थन तःगु CSS नं मोडर्न स्किनया छ्य्‌लामितेत असर याइ */',
 'print.css' => '/* थन तःगु CSS नं प्रिन्ट आउटपुटयात असर याइ */',
 'handheld.css' => '/* थन तःगु CSS नं $wgHandheldStyle आधारित ह्याण्डहेल्ड यन्त्रयात असर याइ */',
@@ -434,6 +492,20 @@ MySQL नं इरर "<tt>$3: $4</tt>" क्यंगु दु।',
 # Attribution
 'others' => 'मेमेगु',
 
+# Exif tags
+'exif-imagewidth' => 'ब्याः',
+'exif-imagelength' => 'जाः',
+'exif-imagedescription' => 'किपाया नां',
+'exif-make' => 'किपासाः दयेकामि',
+'exif-model' => 'किपासाः मोदेल',
+'exif-software' => 'छ्यलातःगु सफ्तवेयर',
+'exif-artist' => 'च्वमि',
+'exif-copyright' => 'लेखाधिकार थुवा',
+'exif-pixelydimension' => 'किपा ब्याः',
+'exif-pixelxdimension' => 'किपा जाः',
+
+'exif-dc-date' => 'तिथि',
+
 # 'all' in various places, this might be different for inflected languages
 'namespacesall' => 'सकल',
 
index fd1c9eb..71879af 100644 (file)
@@ -469,6 +469,18 @@ $messages = array(
 'oct' => 'okt',
 'nov' => 'nov',
 'dec' => 'dec',
+'january-date' => '$1 januari',
+'february-date' => '$1 februari',
+'march-date' => '$1 maart',
+'april-date' => '$1 april',
+'may-date' => '$1 mei',
+'june-date' => '$1 juni',
+'july-date' => '$1 juli',
+'august-date' => '$1 augustus',
+'september-date' => '$1 september',
+'october-date' => '$1 oktober',
+'november-date' => '$1 november',
+'december-date' => '$1 december',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categorie|Categorieën}}',
@@ -791,7 +803,7 @@ Vergeet niet uw [[Special:Preferences|voorkeuren voor {{SITENAME}}]] aan te pass
 'createacct-yourpasswordagain-ph' => 'Geef het wachtwoord opnieuw op',
 'remembermypassword' => 'Aanmeldgegevens onthouden (maximaal $1 {{PLURAL:$1|dag|dagen}})',
 'userlogin-remembermypassword' => 'Aangemeld blijven',
-'userlogin-signwithsecure' => 'Aanmelden via beveiligde server',
+'userlogin-signwithsecure' => 'Beveiligde verbinding gebruiken',
 'securelogin-stick-https' => 'Verbonden blijven via HTTPS na aanmelden',
 'yourdomainname' => 'Uw domein:',
 'password-change-forbidden' => 'U kunt uw wachtwoord niet wijzigen in deze wiki.',
@@ -812,6 +824,7 @@ Vergeet niet uw [[Special:Preferences|voorkeuren voor {{SITENAME}}]] aan te pass
 'gotaccount' => 'Hebt u al een gebruikersnaam? $1.',
 'gotaccountlink' => 'Aanmelden',
 'userlogin-resetlink' => 'Bent u uw aanmeldgegevens vergeten?',
+'userlogin-resetpassword-link' => 'Uw wachtwoord opnieuw instellen',
 'helplogin-url' => 'Help:Aanmelden',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hulp bij aanmelden]]',
 'createacct-join' => 'Geef uw gegevens hieronder op.',
@@ -940,11 +953,11 @@ Mogelijk hebt u uw wachtwoord al gewijzigd of een nieuw tijdelijk wachtwoord aan
 
 # Special:PasswordReset
 'passwordreset' => 'Wachtwoord opnieuw instellen',
-'passwordreset-text' => 'Vul dit formulier in om uw wachtwoord opnieuw in te stellen.',
+'passwordreset-text-one' => 'Vul dit formulier in om uw wachtwoord opnieuw in te stellen.',
+'passwordreset-text-many' => '{{PLURAL:$1|Vul een van de gegevensvelden in om uw wachtwoord opnieuw in te stellen.}}',
 'passwordreset-legend' => 'Wachtwoord opnieuw instellen',
 'passwordreset-disabled' => 'Het is in deze wiki niet mogelijk uw wachtwoord opnieuw in te stellen.',
 'passwordreset-emaildisabled' => 'E-mailmogelijkheden zijn uitgeschakeld op deze wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Voer één van de onderstaande velden in}}',
 'passwordreset-username' => 'Gebruiker:',
 'passwordreset-domain' => 'Domein:',
 'passwordreset-capture' => 'De resulterende e-mail bekijken?',
@@ -1189,6 +1202,7 @@ Er is geen toelichting beschikbaar.',
 Deze lijkt verwijderd te zijn.',
 'edit-conflict' => 'Bewerkingsconflict.',
 'edit-no-change' => 'Uw bewerking is genegeerd, omdat er geen wijziging aan de tekst is gemaakt.',
+'postedit-confirmation' => 'Uw bewerking is opgeslagen',
 'edit-already-exists' => 'De pagina is niet aangemaakt.
 Deze bestaat al.',
 'defaultmessagetext' => 'Standaardinhoud',
@@ -2479,8 +2493,8 @@ Toekomstige bewerkingen van deze pagina en de bijbehorende overlegpagina worden
 'notvisiblerev' => 'De laatste versie van een andere gebruiker is verwijderd',
 'watchnochange' => "Geen van de pagina's op uw volglijst is in deze periode bewerkt.",
 'watchlist-details' => "Er {{PLURAL:$1|staat één pagina|staan $1 pagina's}} op uw volglijst, exclusief overlegpagina's.",
-'wlheader-enotif' => '* U wordt per e-mail gewaarschuwd',
-'wlheader-showupdated' => "* Pagina's die zijn bewerkt sinds uw laatste bezoek worden '''vet''' weergegeven",
+'wlheader-enotif' => 'U wordt per e-mail gewaarschuwd.',
+'wlheader-showupdated' => "Pagina's die zijn bewerkt sinds uw laatste bezoek worden '''vet''' weergegeven.",
 'watchmethod-recent' => "controleer recente wijzigingen op pagina's op volglijst",
 'watchmethod-list' => "controleer pagina's op volglijst op wijzigingen",
 'watchlistcontains' => "Er {{PLURAL:$1|staat één pagina|staan $1 pagina's}} op uw volglijst.",
@@ -3068,6 +3082,8 @@ Ga naar [//www.mediawiki.org/wiki/Localisation MediaWiki-lokalisatie] en [//tran
 'thumbnail-more' => 'Vergroten',
 'filemissing' => 'Bestand is zoek',
 'thumbnail_error' => 'Fout bij het aanmaken van de miniatuurafbeelding: $1',
+'thumbnail_error_remote' => 'Foutmelding van $1:
+$2',
 'djvu_page_error' => 'DjVu-pagina buiten bereik',
 'djvu_no_xml' => 'De XML voor het DjVu-bestand kon niet opgehaald worden',
 'thumbnail-temp-create' => 'Het was niet mogelijk een tijdelijk miniatuurbestand aan te maken.',
@@ -3225,7 +3241,6 @@ U kunt wel de broncode bekijken.',
 'modern.css' => '/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Modern */',
 'vector.css' => '/* CSS die hier wordt geplaatst heeft alleen invloed op de skin Vector */',
 'print.css' => '/* CSS die hier wordt geplaatst heeft alleen invloed op de printuitvoer */',
-'handheld.css' => '/* CSS die hier wordt geplaatst heeft alleen invloed op handheldapparaten gebaseerd op de skin die is ingesteld in $wgHandheldStyle */',
 'noscript.css' => '/ * CSS die hier wordt geplaatst heeft invloed voor gebruikers die JavaScript hebben uitgeschakeld * /',
 'group-autoconfirmed.css' => '/* CSS die hier wordt geplaatst heeft alleen invloed op automatisch bevestigde gebruikers */',
 'group-bot.css' => '/* CSS die hier wordt geplaatst heeft alleen invloed op robots */',
index 663aa93..f52c86b 100644 (file)
@@ -418,7 +418,7 @@ Toekomstige bewerkingen van deze pagina en de bijbehorende overlegpagina worden
 'removedwatchtext' => 'De pagina "[[:$1]]" is van [[Special:Watchlist|je volglijst]] verwijderd.',
 'watchnochange' => "Geen van de pagina's op je volglijst is in deze periode bewerkt.",
 'watchlist-details' => "Er {{PLURAL:$1|staat één pagina|staan $1 pagina's}} op je volglijst, exclusief overlegpagina's.",
-'wlheader-showupdated' => "* Pagina's die zijn bewerkt sinds je laatste bezoek worden '''vet''' weergegeven",
+'wlheader-showupdated' => "Pagina's die zijn bewerkt sinds je laatste bezoek worden '''vet''' weergegeven.",
 'watchlistcontains' => "Er {{PLURAL:$1|staat 1 pagina|staan $1 pagina's}} op je volglijst.",
 
 'enotif_lastvisited' => 'Zie $1 voor alle wijzigingen sinds je laatste bezoek.',
index f71d3dc..c9c2cce 100644 (file)
@@ -425,6 +425,18 @@ $messages = array(
 'oct' => 'okt',
 'nov' => 'nov',
 'dec' => 'des',
+'january-date' => '$1. januar',
+'february-date' => '$1. februar',
+'march-date' => '$1. mars',
+'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. desember',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategori|Kategoriar}}',
@@ -838,11 +850,9 @@ Du kan allereie ha byta passordet, eller ha bede om å få eit nytt mellombels p
 
 # Special:PasswordReset
 'passwordreset' => 'Attendestilling av passord',
-'passwordreset-text' => '↓Fyll ut dette skjemaet for å motta ei påminning om kontoopplysningane dine i ein e-post.',
 'passwordreset-legend' => '↓Nullstill passordet',
 'passwordreset-disabled' => '↓Tilbakestilling av passord er ikkje aktivert på denne wikien',
 'passwordreset-emaildisabled' => 'E-postfunksjonen er slegen av på wikien.',
-'passwordreset-pretext' => '↓{{PLURAL:$1||Tast inn ein av datadelane nedanfor}}',
 'passwordreset-username' => 'Brukarnamn:',
 'passwordreset-domain' => 'Domene:',
 'passwordreset-capture' => 'Vis resulterande epost',
@@ -1065,13 +1075,14 @@ Sletteloggen for sida finn du her:",
 Det ser ut til at ho er sletta.',
 'edit-conflict' => 'Endringskonflikt.',
 'edit-no-change' => 'Redigeringa di vart ignorert fordi det ikkje vart gjort endringar i teksten.',
+'postedit-confirmation' => 'Endringa di vart lagra.',
 'edit-already-exists' => 'Kunne ikkje opprette ny side fordi ho alt eksisterer.',
 'defaultmessagetext' => 'Standard meldingstekst',
 'content-failed-to-parse' => 'Klarte ikkje å tolke innhaldet «$2» for innhaldsmodellen «$1»: $3',
 'invalid-content-data' => 'Ugyldig innhald',
 'content-not-allowed-here' => 'Innhaldsmodellen «$1» er ikkje tillaten på sida [[$2]]',
-'editwarning-warning' => 'Gjennom å navigera vekk frå denne sida vil du mista alle endringane du måtte ha gjort.
-Denne åtvaringa kan slåast av under {{int:prefs-editing}} i instillingane dine.',
+'editwarning-warning' => 'Ved å forlata denne sida kan du mista alle endringane du måtte ha gjort.
+Er du innlogga kan denne åtvaringa slåast av under bolken «Endring» i innstillingane dine.',
 
 # Content models
 'content-model-wikitext' => 'WikiTekst',
@@ -2301,8 +2312,8 @@ E-postadressa du har sett i [[Special:Preferences|innstillingane dine]] vil dukk
 'notvisiblerev' => 'Sideversjonen er sletta',
 'watchnochange' => 'Ingen av sidene i overvakingslista er endra i den valde perioden.',
 'watchlist-details' => '{{PLURAL:$1|Éi side|$1 sider}} er overvaka, utanom diskusjonssider.',
-'wlheader-enotif' => 'Funksjonen for endringsmeldingar per e-post er på.',
-'wlheader-showupdated' => "Sider som har vorte endra sidan du sist såg på dei er '''utheva'''",
+'wlheader-enotif' => 'Funksjonen for endringsmeldingar per e-post er på.',
+'wlheader-showupdated' => "Sider som har vorte endra sidan du sist såg på dei er '''utheva'''",
 'watchmethod-recent' => 'sjekkar siste endringar for dei overvaka sidene',
 'watchmethod-list' => 'sjekkar om dei overvaka sidene har blitt endra i det siste',
 'watchlistcontains' => 'Overvakingslista di inneheld {{PLURAL:$1|éi side|$1 sider}}.',
@@ -3001,7 +3012,6 @@ Vitja [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] og [//trans
 'monobook.css' => '/* CSS-tekst som vert plassert her, endrar utsjånaden til sidedrakta Monobook */',
 'modern.css' => '/* CSS i denne fila vil gjelde alle som nyttar drakta Modern */',
 'print.css' => '/* CSS i denne fila vil påverke utskriftsversjonen */',
-'handheld.css' => '/* CSS i denne fila vil gjelde alle handheldte innretnigar konfigurert i $wgHandheldStyle */',
 
 # Scripts
 'common.js' => '/* Javascript i denne fila vil gjelde for alle drakter. */',
@@ -3887,7 +3897,7 @@ Du skal ha motteke [{{SERVER}}{{SCRIPTPATH}}/COPYING ein kopi av GNU General Pub
 'logentry-suppress-event-legacy' => '$1 {{GENDER:$2|endra}} i løyndom synlegdomen til logghendingar på $3',
 'logentry-suppress-revision-legacy' => '$1 {{GENDER:$2|endra}} i løyndom synlegdomen til versjonar på sida $3',
 'revdelete-content-hid' => 'innhald løynt',
-'revdelete-summary-hid' => 'endringsamandrag gøymt',
+'revdelete-summary-hid' => 'endringsamandrag løynt',
 'revdelete-uname-hid' => 'brukarnamn gøymt',
 'revdelete-content-unhid' => 'innhald gjort synleg',
 'revdelete-summary-unhid' => 'endringssamandrag gjort synleg',
index 5a67f1f..bfee3ab 100644 (file)
@@ -358,8 +358,8 @@ Si vu voli plu tardim ekarta li pagine fro vun observa-liste, klikta \"Desobserv
 'unwatch' => 'Desobserva',
 'unwatchthispage' => 'Des-observa disi pagine',
 
-'changed' => 'chanjati',
 'enotif_lastvisited' => 'Regarda $1 por vida omni chanjes depos vun lasti visite.',
+'changed' => 'chanjati',
 
 # Delete
 'confirm' => 'Konfirma',
@@ -429,7 +429,7 @@ Si vu voli plu tardim ekarta li pagine fro vun observa-liste, klikta \"Desobserv
 'ilsubmit' => 'Sercha',
 'bydate' => 'segun date',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Larjeso',
 'exif-imagelength' => 'Alteso',
 'exif-imagedescription' => 'Title de imaje',
index eed1ac1..3aa00b7 100644 (file)
@@ -66,7 +66,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Bonagatša email atrese go temošo tša poso',
 'tog-shownumberswatching' => 'Laetša palo bašomiši bao ba tlhapetšego',
 'tog-fancysig' => 'Tsaeno ya gose fihliwe',
-'tog-externaleditor' => 'Šomiša sengwadi sa kantle (bašumiši bao banalego botsibi fela.  [//www.mediawiki.org/wiki/Manual:External_editors More information.])',
 'tog-forceeditsummary' => 'Ntaetše ge kesa tsenye mongwalo go kakaretšo ya dithetogo',
 'tog-watchlisthideown' => 'Fihla diphetogo tšeo di direlego ke nna go lenano la ditlhapetšo.',
 'tog-watchlisthideminor' => 'Fihla diphetogo tše nyenyane tšeo di direlego ke nna go lenano la ditlhapetšo',
@@ -1209,7 +1208,7 @@ letlakala la seswantšho ge tafola ya metadata e bulwa. Tše dingwe tša di ''fi
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Bophara',
 'exif-imagelength' => 'Botelele',
 'exif-artist' => 'Mongwadi',
index 477e2b0..5f0838e 100644 (file)
@@ -14,6 +14,7 @@
  * @author Jfblanc
  * @author Kaganer
  * @author McDutchie
+ * @author Nemo bis
  * @author Spacebirdy
  * @author Горан Анђелковић
  * @author לערי ריינהארט
@@ -321,8 +322,6 @@ $messages = array(
 'tog-shownumberswatching' => "Afichar lo nombre d'utilizaires que seguisson aquesta pagina",
 'tog-oldsig' => 'Apercebut de la signatura existenta :',
 'tog-fancysig' => 'Tractar la signatura coma de wikitèxte (sens ligam automatic)',
-'tog-externaleditor' => 'Utilizar un editor extèrne per defaut (pels utilizaires avançats, necessita una configuracion especiala sus vòstre ordinator)',
-'tog-externaldiff' => "Utilizar un comparador extèrne per defaut (pels utilizaires avançats, necessita una configuracion especiala sus vòstre ordenador, [//www.mediawiki.org/wiki/Manual:External_editors/fr mai d'informacions]).",
 'tog-showjumplinks' => 'Activar los ligams « navigacion » e « recèrca » en naut de pagina (aparéncias Myskin e autres)',
 'tog-uselivepreview' => 'Utilizar l’apercebut rapid (JavaScript) (experimental)',
 'tog-forceeditsummary' => "M'avertir quand ai pas completat lo contengut de la bóstia de comentaris",
@@ -337,6 +336,7 @@ $messages = array(
 'tog-showhiddencats' => 'Afichar las categorias amagadas',
 'tog-noconvertlink' => 'Desactivar la conversion dels títols',
 'tog-norollbackdiff' => 'Ometre lo diff aprèp l’utilizacion d’un revert',
+'tog-useeditwarning' => 'M’avisar quand quiti una pagina de modificacion sens publicar los cambiaments',
 
 'underline-always' => 'Totjorn',
 'underline-never' => 'Pas jamai',
@@ -1006,6 +1006,8 @@ Sembla que siá estada suprimida.',
 'edit-already-exists' => 'La pagina novèla a pogut èsser creada .
 Existís ja.',
 'defaultmessagetext' => 'Messatge per defaut',
+'editwarning-warning' => "Quitar aquesta pagina vos farà pèrdre totas las modificacions qu'avètz fachas.
+Se sètz connectat amb vòstre compte, podètz levar aqueste avertiment dins la seccion {{int:prefs-editing}} de vòstras preferéncias.",
 
 # Content models
 'content-model-wikitext' => 'wikitèxte',
@@ -1273,14 +1275,6 @@ Ensajatz en utilizant lo prefix ''all:'' per recercar tot lo contengut (tot incl
 En esperant la reactivacion, podètz efectuar una recèrca via Google.
 Atencion, lor indexacion de contengut {{SITENAME}} benlèu es pas a jorn.',
 
-# Quickbar
-'qbsettings' => "Barra d'aisinas",
-'qbsettings-none' => 'Pas cap',
-'qbsettings-fixedleft' => 'Esquèrra',
-'qbsettings-fixedright' => 'Drecha',
-'qbsettings-floatingleft' => 'Flotanta a esquèrra',
-'qbsettings-floatingright' => 'Flotanta a drecha',
-
 # Preferences page
 'preferences' => 'Preferéncias',
 'mypreferences' => 'Preferéncias',
@@ -1782,7 +1776,6 @@ Per una seguretat optimala, img_auth.php es desactivat.",
 'http-read-error' => 'HTTP Error de lectura.',
 'http-timed-out' => 'HTTP request timed out.',
 'http-curl-error' => "Error al moment de la recuperacion de l'URL : $1",
-'http-host-unreachable' => "Impossible d'aténher l'URL",
 'http-bad-status' => 'I a agut un problèma al moment de la requèsta HTTP : $1 $2',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
@@ -2164,8 +2157,8 @@ Las modificacions venentas d\'aquesta pagina e de la pagina de discussion associ
 'notvisiblerev' => 'Version suprimida',
 'watchnochange' => 'Cap de las paginas que seguissètz son pas estadas modificadas pendent lo periòde afichat.',
 'watchlist-details' => 'I a {{PLURAL:$1|pagina|paginas}} dins vòstra lista de seguiment, sens comptar las paginas de discussion.',
-'wlheader-enotif' => 'La notificacion per corrièr electronic es activada.',
-'wlheader-showupdated' => 'Las paginas que son estadas modificadas dempuèi vòstra darrièra visita son mostradas en <b>gras</b>',
+'wlheader-enotif' => 'La notificacion per corrièr electronic es activada.',
+'wlheader-showupdated' => 'Las paginas que son estadas modificadas dempuèi vòstra darrièra visita son mostradas en <b>gras</b>',
 'watchmethod-recent' => 'verificacion dels darrièrs cambiaments de las paginas seguidas',
 'watchmethod-list' => 'verificacion de las paginas seguidas per de modificacions recentas',
 'watchlistcontains' => 'Vòstra lista de seguiment conten $1 {{PLURAL:$1|pagina|paginas}}.',
@@ -2820,27 +2813,16 @@ Salvatz-lo sus vòstre disc dur puèi importatz-lo aicí.",
 
 # Stylesheets
 'common.css' => '/** Lo CSS plaçat aicí serà aplicat a totas las aparéncias. */',
-'standard.css' => '/* Lo CSS plaçat aicí afectarà los utilizaires de l’abilhatge Estandard. */',
-'nostalgia.css' => '/* Lo CSS plaçat aicí afectarà los utilizaires de l’abilhatge Nostalgia. */',
 'cologneblue.css' => '/* Lo CSS plaçat aicí afectarà los utilizaires de l’abilhatge Cologne Blue */',
 'monobook.css' => '/* Lo CSS plaçat aicí afectarà los utilizaires del skin Monobook */',
-'myskin.css' => '/* Lo CSS plaçat aicí afectarà los utilizaires de l’abilhatge MySkin */',
-'chick.css' => '/* Lo CSS plaçat aicí afectarà los utilizaires de l’abilhatge Chick */',
-'simple.css' => '/* Lo CSS plaçat aicí afectarà los utilizaires de l’abilhatge Simple */',
 'modern.css' => '/* Lo CSS plaçat aicí afectarà los utilizaires de l’abilhatge Modern */',
 'vector.css' => '/* Lo CSS plaçat aicí afectarà los utilizaires de l’abilhatge Vector */',
 'print.css' => '/* Lo CSS plaçat aicí afectarà las impressions */',
-'handheld.css' => '/* Lo CSS plaçat aicí afectarà los aparelhs mobils en foncion de l\'abilhatge configurat $wgHandheldStyle */',
 
 # Scripts
 'common.js' => '/* Tot JavaScript serà cargat amb cada pagina accedida per un utilizaire quin que siá. */',
-'standard.js' => '/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge Standard unicament. */',
-'nostalgia.js' => '/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge Nostalgia unicament. */',
 'cologneblue.js' => '/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge Cologne Blue unicament. */',
 'monobook.js' => '/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge MonoBook unicament. */',
-'myskin.js' => '/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge MySkin unicament. */',
-'chick.js' => '/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge Chick unicament. */',
-'simple.js' => '/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge Simple unicament. */',
 'modern.js' => '/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge Modern unicament. */',
 'vector.js' => '/* Tot JavaScript aicí serà cargat amb las paginas accedidas pels utilizaires de l’abilhatge Vector unicament. */',
 
@@ -2907,13 +2889,8 @@ Aquò es probablament causat per un ligam sus lista negra que punta cap a un sit
 'pageinfo-category-files' => 'Nombre de fichièrs',
 
 # Skin names
-'skinname-standard' => 'Estandard',
-'skinname-nostalgia' => 'Nostalgia',
 'skinname-cologneblue' => 'Colonha Blau',
 'skinname-monobook' => 'Monobook',
-'skinname-myskin' => 'Mon interfàcia',
-'skinname-chick' => 'Poleton',
-'skinname-simple' => 'Simple',
 'skinname-modern' => 'Modèrne',
 
 # Patrolling
@@ -3021,7 +2998,7 @@ Los autres ligams sus la meteissa linha son considerats coma d'excepcions, per e
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Largor',
 'exif-imagelength' => 'Nautor',
 'exif-bitspersample' => 'Bits per compausanta',
@@ -3186,7 +3163,7 @@ Los autres ligams sus la meteissa linha son considerats coma d'excepcions, per e
 'exif-originalimageheight' => "Nautor de l'imatge abans d'èsser requadrada",
 'exif-originalimagewidth' => "Largor de l'imatge abans d'èsser requadrada",
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Sens compression',
 'exif-compression-2' => "CCITT Grop 3 Longor de l'encodatge Huffman modificat de dimension 1",
 'exif-compression-3' => 'CCITT Grop 3 encodatge del fax',
@@ -3576,13 +3553,6 @@ Ensajatz la previsualizacion normala.',
 'version-software-product' => 'Produch',
 'version-software-version' => 'Version',
 
-# Special:FilePath
-'filepath' => "Camin d'accès d'un fichièr",
-'filepath-page' => 'Fichièr :',
-'filepath-submit' => 'Validar',
-'filepath-summary' => "Aquesta pagina especiala retorna lo camin d'accès complet d’un fichièr.
-Los imatges son afichats en nauta resolucion, los fichièrs àudio e vidèo son cargats e aviats dirèctament amb lor programa associat.",
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Recèrca dels fichièrs en doble',
 'fileduplicatesearch-summary' => 'Recèrca per de fichièrs en doble sus la banca de valors fragmentàrias.',
index 6de3fa3..479063f 100644 (file)
@@ -33,6 +33,8 @@ $digitTransformTable = array(
        '9' => '୯', # &#x0b6f;
 );
 
+$linkTrail = "/^([a-z\x{0B00}-\x{0B7F}]+)(.*)$/sDu";
+
 /** namespace translations from translatewiki.net 
  * @author Shijualex
  * @author Psubhashish
@@ -363,6 +365,18 @@ $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' => '$1 ସେପ୍ଟେମ୍ବର',
+'october-date' => '$1 ଅକ୍ଟୋବର',
+'november-date' => '$1 ନଭେମ୍ବର',
+'december-date' => '$1 ଡିସେମ୍ବର',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|ଶ୍ରେଣୀ|ଶ୍ରେଣୀସମୂହ}}',
@@ -669,6 +683,7 @@ $2',
 'welcomecreation-msg' => 'ଆପଣଙ୍କ ଖାତାଟି ଖୋଲାଗଲା
 ନିଜର [[Special:Preferences|{{SITENAME}} ପସନ୍ଦସବୁକୁ]] ବଦଳାଇବାକୁ ଭୁଲିବେ ନାହିଁ ।',
 'yourname' => 'ବ୍ୟବହାରକାରୀଙ୍କ ନାମ:',
+'userlogin-yourname' => 'ବ୍ୟବହାରକାରୀଙ୍କ ନାମ',
 'yourpassword' => 'ପାସୱାର୍ଡ଼',
 'userlogin-yourpassword' => 'ପାସୱାର୍ଡ଼',
 'userlogin-yourpassword-ph' => 'ଆପଣଙ୍କ ପାସୱାର୍ଡ଼ ନିବେଶ କରନ୍ତୁ',
@@ -2223,6 +2238,15 @@ URLଟି ଠିକ ଅଚିକି କି ନାଁ ଓ ସାଇଟଟି ସ
 'listusers-noresult' => 'ଜଣେ ବି ସଭ୍ୟ ମିଳିଲେ ନାହିଁ ।',
 'listusers-blocked' => '(ଅଟକାଯାଇଥିବା)',
 
+# Special:ActiveUsers
+'activeusers' => 'ସଚଳ ସଭ୍ୟଙ୍କ ତାଲିକା',
+'activeusers-intro' => 'ବିଗତ $1 {{PLURAL:$1|ଦିନ|ଦିନ}} ଭିତରେ କିଛି ପ୍ରକାରର କାମ କରିଥିବା ସଭ୍ୟମାନଙ୍କର ତାଲିକା ।',
+'activeusers-count' => 'ବିଗତ {{PLURAL:$3|ଦିନ|$3 ଦିନରେ}}ରେ $1ଟି {{PLURAL:$1|ସମ୍ପାଦନା|ସମ୍ପାଦନାଗୁଡିକ}}',
+'activeusers-from' => 'ଏହି ନାମରେ ଆରମ୍ଭ ହେଉଥିବା ସଭ୍ୟମାନଙ୍କୁ ଦେଖାଇବେ:',
+'activeusers-hidebots' => 'ଆପେଆପେ ଚାଳିତ ସଭ୍ୟମାନଙ୍କୁ ଲୁଚାନ୍ତୁ',
+'activeusers-hidesysops' => 'ପରିଚାଳକମାନଙ୍କୁ ଲୁଚାଇବେ',
+'activeusers-noresult' => 'ଜଣେ ବି ସଭ୍ୟ ମିଳିଲେ ନାହିଁ ।',
+
 # Special:ListGroupRights
 'listgrouprights' => 'ସଭ୍ୟ ଗୋଠ ଅଧିକାରସମୂହ',
 'listgrouprights-summary' => 'ତଳେ ଉଇକି ସ୍ଥିର କରାଯାଇଥିବା ଏକ ଏକ ବ୍ୟବହାରକାରୀ ଗୋଠର ତାଲିକା ଦିଆଯାଇଛି, ସେଥିରେ ସେମାନଙ୍କ ବ୍ୟବହାର ଅଧିକାର ବାବଦରେ ମଧ୍ୟ ଦିଆଯାଇଛି ।
@@ -2300,8 +2324,8 @@ URLଟି ଠିକ ଅଚିକି କି ନାଁ ଓ ସାଇଟଟି ସ
 'notvisiblerev' => 'ଜଣେ ଅଲଗା ବ୍ୟବହାରକାରୀଙ୍କ ଦେଇ କରାଯାଇଥିବା ସେଶ ସଂସ୍କରଣଟି ଲିଭାଇଦିଆଗଲା ।',
 'watchnochange' => 'ଆପଣଙ୍କ ଦେଇ ଦେଖାଯାଇଥିବା ସମୟ ସୀମା ଭିତରେ କୌଣସିଟି ପୃଷ୍ଠାର ବଦଳ କରାଯାଇନାହିଁ ।',
 'watchlist-details' => 'ଆପଣଙ୍କ ଦେଖଣା ତାଲିକାରେ ଆଲୋଚନା ପୃଷ୍ଠାକୁ ଛାଡ଼ି {{PLURAL:$1|$1 ଟି ପୃଷ୍ଠା|$1 ଟି ପୃଷ୍ଠା}} ଅଛି ।',
-'wlheader-enotif' => 'ଇ-ମେଲ ସୂଚନାକୁ ସଚଳ କରାଗଲା ।',
-'wlheader-showupdated' => "ଆପଣ ଶେଷଥର ଦେଖିଥିବା ପୃଷ୍ଠାଗୁଡ଼ିକ '''ମୋଟା ଅକ୍ଷର'''ରେ ଦେଖାଯାଇଅଛି ।",
+'wlheader-enotif' => 'ଇ-ମେଲ ସୂଚନାକୁ ସଚଳ କରାଗଲା ।',
+'wlheader-showupdated' => "ଆପଣ ଶେଷଥର ଦେଖିଥିବା ପୃଷ୍ଠାଗୁଡ଼ିକ '''ମୋଟା ଅକ୍ଷର'''ରେ ଦେଖାଯାଇଅଛି ।",
 'watchmethod-recent' => 'ଏଡଖାଯାଇଥିବା ପୃଷ୍ଠାର ନଗଦ ବଦଳ ପରଖୁଛୁଁ',
 'watchmethod-list' => 'ନଗଦ ବଦଳ ନିମନ୍ତେ ଦେଖାଯାଇଥିବା ପୃଷ୍ଠାମାନ ପରଖୁଛୁଁ',
 'watchlistcontains' => 'ଆପଣଙ୍କ ଦେଖଣାତାଲିକାରେ $1 {{PLURAL:$1|ଗୋଟି ପୃଷ୍ଠା|ଗୋଟି ପୃଷ୍ଠା}} ରହିଅଛି ।',
@@ -3220,7 +3244,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'ଓସାର',
 'exif-imagelength' => 'ଉଚ୍ଚତା',
 'exif-bitspersample' => 'ଉପାଦାନ ପ୍ରତି ବିଟ',
@@ -3398,7 +3422,7 @@ $1',
 'exif-originalimageheight' => 'ଛୋଟ କରାଯିବ ଆଗରୁ ଛବିର ଉଚ୍ଚତା',
 'exif-originalimagewidth' => 'ଛୋଟ କରାଯିବ ଆଗରୁ ଛବିର ଓସାର',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'ଅସମ୍ପାଦିତ',
 'exif-compression-2' => 'CCITT ଗୋଠ ୩ ୧-ବିମିୟ ବଦଳାଯାଇଥିବା ହଫମାନ ରନ ଲମ୍ବ ଏନକୋଡ଼ିଙ୍ଗ',
 'exif-compression-3' => 'CCITT ଗୋଠ ୩ ଫାକ୍ସ ଏନକୋଡ଼ିଙ୍ଗ',
@@ -3811,13 +3835,6 @@ MediaWiki ଉପଯୋଗୀ ହେବା ଲକ୍ଷରେ ବଣ୍ଟାଯ
 'version-entrypoints-header-entrypoint' => 'ପ୍ରବେଶ ବିନ୍ଦୁ',
 'version-entrypoints-header-url' => 'ଇଉଆରଏଲ',
 
-# Special:FilePath
-'filepath' => 'ଫାଇଲ ପଥ',
-'filepath-page' => 'ଫାଇଲ:',
-'filepath-submit' => 'ଯିବା',
-'filepath-summary' => 'ଏହି ବିଶେଷ ପୃଷ୍ଠା ଏକ ଫାଇଲର ପୁରା ପଥ ଦେଖାଇଦିଏ ।
-ଛବିସବୁ ପୁରା ରେଜୋଲୁସନରେ ଦେଖାଇଦିଆଯାଏ, ବାକି ଫାଇଲସବୁ ସେମାନଙ୍କ ସହଯୋଗୀ ପ୍ରଗାମ ମାନଙ୍କ ଦେଇ ଆରମ୍ଭ ହୋଇଥାନ୍ତି ।',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'ଏହାର ନକଲ ପୃଷ୍ଠା ଖୋଜିବେ ।',
 'fileduplicatesearch-summary' => 'ହାସ୍ ମୂଲ୍ୟକୁ ନେଇ ଦୁଇଥର ଥିବା ଫାଇଲ ଖୋଜନ୍ତୁ ।',
index 347739c..651f561 100644 (file)
@@ -613,7 +613,7 @@ $2',
 'yourpasswordagain' => 'Пароль ногæй бафысс:',
 'createacct-yourpasswordagain' => 'Сбæлвырд кæн пароль',
 'createacct-yourpasswordagain-ph' => 'Пароль ногæй бафысс',
-'remembermypassword' => 'Ð\91аÑ\85Ñ\8aÑ\83Ñ\8bдÑ\8b Ð¼Ã¦ ÐºÃ¦Ð½Ã¦Ð´ Ð°Ñ\88Ñ\8b Ð±Ñ\80аÑ\83зеÑ\80Ñ\8b (макÑ\81имÑ\83м $1 {{PLURAL:$1|бонмæ|бонмæ}})',
+'remembermypassword' => 'Ð\91аÑ\85Ñ\8aÑ\83Ñ\8bдÑ\8b Ð¼Ã¦ ÐºÃ¦Ð½Ã¦Ð´ Ð°Ñ\86Ñ\8b Ð±Ñ\80аÑ\83зеÑ\80Ñ\8b (макÑ\81имÑ\83м $1 {{PLURAL:$1|бонмæ}})',
 'userlogin-remembermypassword' => 'Системæйы мæ дар',
 'userlogin-signwithsecure' => 'Æдас бастдзинадæй',
 'securelogin-stick-https' => 'Дарддæр дæр HTTPS-ы уылты, бахизыны фæстæ',
@@ -755,11 +755,9 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Пароль раппарæн',
-'passwordreset-text' => 'Байдзаг кæн ацы формæ, цæмæй райсай дæ пароль ногæй сæвæрай.',
 'passwordreset-legend' => 'Пароль раппарын',
 'passwordreset-disabled' => 'Парол фæлварын ацы викийы хицæн у.',
 'passwordreset-emaildisabled' => 'Электрон пост ацы викийы хицæн у.',
-'passwordreset-pretext' => '{{PLURAL:$1||Дæлдæр цы рардты хæйттæ ис, уыдонæй иу бафысс}}',
 'passwordreset-username' => 'Фæсномыг:',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Цы e-mail рауадис, уый æвдыст æрцæуæт?',
index 29a7ab1..3a4c5a0 100644 (file)
@@ -191,23 +191,23 @@ $messages = array(
 # User preference toggles
 'tog-underline' => 'ਲਿੰਕ ਹੇਠ-ਲਾਈਨ:',
 'tog-justify' => 'ਪੈਰਾਗਰਾਫ਼ ਇਕਸਾਰ',
-'tog-hideminor' => 'ਤਾà¨\9c਼ਾ à¨¬à¨¦à¨²à¨¾à¨\85 à¨µà¨¿à©±à¨\9a à¨\9bà©\8bà¨\9fà©\80à¨\86à¨\82 à¨¸à©\8bਧਾà¨\82 à¨\93ਹਲà©\87',
-'tog-hidepatrolled' => 'ਤਾà¨\9c਼ਾ à¨¬à¨¦à¨²à¨¾à¨\85 à¨µà¨¿à©±à¨\9a à¨\9cਾà¨\82à¨\9a à¨\95à©\80ਤà©\80à¨\86à¨\82 à¨¸à©\8bਧਾà¨\82 à¨\93ਹਲà©\87',
+'tog-hideminor' => 'ਤਾà¨\9c਼ਾ à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 à¨µà¨¿à©±à¨\9aà©\8bà¨\82 à¨\9bà©\8bà¨\9fà©\80à¨\86à¨\82 à¨¸à©\8bਧਾà¨\82 à¨²à©\81à¨\95ਾà¨\93',
+'tog-hidepatrolled' => 'ਤਾà¨\9c਼ਾ à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 à¨µà¨¿à©±à¨\9aà©\8bà¨\82 à¨\9cਾà¨\82à¨\9aà©\80à¨\86à¨\82 à¨¸à©\8bਧਾà¨\82 à¨²à©\81à¨\95ਾà¨\93',
 'tog-newpageshidepatrolled' => 'ਨਵੀਂ ਸਫ਼ਾ ਸੂਚੀ ਵਿੱਚੋਂ ਨਿਗਰਾਨੀ ਸਫ਼ੇ ਓਹਲੇ ਕਰੋ',
-'tog-extendwatchlist' => 'à¨\95à©\87ਵਲ à¨¹à¨¾à¨²à¨¿à¨\86 à¨¹à©\80 à¨¨à¨¹à©\80à¨\82, à¨¸à¨\97à©\8bà¨\82 à¨¸à¨¾à¨°à©\87 à¨ªà¨°à¨¿à¨µà¨°à¨¤à¨¨à¨¾à¨\82 à¨¨à©\82à©° à¨µà¨¿à¨\96ਾà¨\89ਣ à¨²à¨\88 à¨§à¨¿à¨\86ਨਸà©\82à¨\9aà©\80 à¨¨à©\82à©° à¨µà¨¿à¨¸à¨¥à¨¾à¨°à¨¿à¨¤ à¨\95ਰà©\8b',
-'tog-usenewrc' => 'ਹਾਲ â\80\99à¨\9a à¨¹à©\8bà¨\8f à¨¬à¨¦à¨²à¨¾à¨µ à¨\85ਤà©\87 à¨§à¨¿à¨\86ਨਸà©\82à¨\9aà©\80 à¨µà¨¿à©±à¨\9a à¨ªà©°à¨¨à©\87 à¨®à©\81ਤਾਬà¨\95 à¨¬à¨¦à¨²à¨¾à¨µ à¨¦à©\87 à¨\97ਰà©\81ੱਪ à¨¬à¨£à¨¾à¨\93 (à¨\9cਾਵਾਸà¨\95à©\8dਰਿਪà¨\9f à¨¦à©\80 à¨\9cਰà©\82ਰਤ ਹੈ)',
+'tog-extendwatchlist' => 'ਸਿਰਫ਼ à¨¤à¨¾à¨\9c਼ਾ à¨¹à©\80 à¨¨à¨¹à©\80à¨\82, à¨¸à¨\97à©\8bà¨\82 à¨¸à¨¾à¨°à©\80à¨\86à¨\82 à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 à¨¨à©\82à©° à¨µà¨\96ਾà¨\89ਣ à¨²à¨\88 à¨¨à¨¿à¨\97ਰਾਨà©\80-ਲਿਸà¨\9f à¨¨à©\82à©° à¨µà¨§à¨¾à¨\93',
+'tog-usenewrc' => 'ਹਾਲ â\80\99à¨\9a à¨¹à©\8bà¨\88à¨\86à¨\82 à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 à¨\85ਤà©\87 à¨¨à¨¿à¨\97ਰਾਨà©\80-ਲਿਸà¨\9f à¨µà¨¿à©±à¨\9a à¨ªà©°à¨¨à©\87 à¨®à©\81ਤਾਬà¨\95 à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 à¨¦à©\87 à¨\97ਰà©\81ੱਪ à¨¬à¨£à¨¾à¨\93 (à¨\9cਾਵਾਸà¨\95à©\8dਰਿਪà¨\9f à¨²à©\8bà©\9cà©\80à¨\82ਦà©\80 ਹੈ)',
 'tog-numberheadings' => 'ਆਟੋ-ਨੰਬਰ ਹੈਡਿੰਗ',
 'tog-showtoolbar' => 'ਸੋਧ ਟੂਲਬਾਰ ਵੇਖੋ (JavaScript ਚਾਹੀਦੀ ਹੈ)',
 'tog-editondblclick' => 'ਦੋ ਵਾਰ ਕਲਿੱਕ ਕਰਨ ਨਾਲ ਸਫ਼ੇ ਸੋਧੋ (ਜਾਵਾਸਕ੍ਰਿਪਟ ਚਾਹੀਦੀ ਹੈ)',
-'tog-editsection' => '[ਸੋਧ] ਲਿੰਕ ਰਾਹੀਂ ਭਾਗ ਸੋਧ ਕਰਨਾ ਚਾਲੂ',
+'tog-editsection' => '[ਸੋਧੋ] ਲਿੰਕਾਂ ਦੁਆਰਾ ਸੈਕਸ਼ਨ ਸੋਧਣਾ ਚਾਲੂ ਕਰੋ',
 'tog-editsectiononrightclick' => 'ਭਾਗ ਸਿਰਲੇਖਾਂ ਤੇ ਸੱਜੀ ਕਲਿੱਕ ਦੁਆਰਾ ਸੋਧ ਯੋਗ ਕਰੋ (ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਲੋੜੀਂਦੀ ਹੈ)',
-'tog-showtoc' => 'ਤਤà¨\95ਰਾ à¨µà©\87à¨\96ਾà¨\93 (3 à¨¤à©\8bà¨\82 à¨µà©±à¨§ à¨¸à¨¿à¨°à¨²à©\87à¨\96ਾà¨\82 à¨µà¨¾à¨²à©\87 à¨ªà©°à¨¨à¨¿à¨\86à¨\82 à¨²à¨\88)',
+'tog-showtoc' => 'ਤਤਕਰਾ ਵਖਾਓ (3 ਤੋਂ ਵੱਧ ਸਿਰਲੇਖਾਂ ਵਾਲੇ ਪੰਨਿਆਂ ਲਈ)',
 'tog-rememberpassword' => 'ਇਸ ਬਰਾਊਜ਼ਰ ਉੱਤੇ ਮੇਰਾ ਲਾਗਇਨ ਯਾਦ ਰੱਖੋ ($1 {{PLURAL:$1|ਦਿਨ|ਦਿਨਾਂ}} ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ)',
-'tog-watchcreations' => 'ਮà©\87ਰà©\87 à¨µà¨²à©\8bà¨\82 à¨¬à¨£à¨¾à¨\8f à¨\97à¨\8f à¨ªà©°à¨¨à©\87 à¨\85ਤà©\87 à¨\85ੱਪਲà©\8bਡ à¨\95à©\80ਤà©\80à¨\86à¨\82 à¨«à¨¾à¨\88ਲਾà¨\82 à¨®à©\87ਰà©\80 à¨§à¨¿à¨\86ਨਸà©\82à¨\9aà©\80 ਵਿੱਚ ਪਾਓ',
-'tog-watchdefault' => 'ਮà©\87ਰà©\87 à¨µà©±à¨²à©\8bà¨\82 à¨¸à©°à¨ªà¨¾à¨¦à¨¤ à¨\97à¨\8f à¨ªà©°à¨¨à©\87 à¨\85ਤà©\87 à¨«à¨¾à¨\88ਲਾà¨\82 à¨®à©\87ਰà©\80 à¨§à¨¿à¨\86ਨਸà©\82à¨\9aà©\80 ਵਿੱਚ ਪਾਓ',
-'tog-watchmoves' => 'ਮà©\87ਰà©\87 à¨µà©±à¨²à©\8bà¨\82 à¨¸à¨¥à¨¾à¨¨à¨¾à¨\82ਤਰਤ à¨ªà©°à¨¨à©\87 à¨\85ਤà©\87 à¨«à¨¾à¨\88ਲਾà¨\82 à¨®à©\87ਰà©\80 à¨§à¨¿à¨\86ਨਸà©\82à¨\9aà©\80 ਵਿੱਚ ਪਾਓ',
-'tog-watchdeletion' => 'ਮà©\87ਰà©\87 à¨µà¨²à©\8bà¨\82 à¨¹à¨\9fਾà¨\8f à¨\97à¨\8f à¨ªà©°à¨¨à©\87 à¨\85ਤà©\87 à¨«à¨¾à¨\88ਲਾà¨\82 à¨®à©\87ਰà©\80 à¨§à¨¿à¨\86ਨਸà©\82à¨\9aà©\80 ਵਿੱਚ ਪਾਓ',
-'tog-minordefault' => 'ਮà©\87ਰà©\87 à¨¸à¨¾à¨°à©\87 à¨¸à©°à¨ªà¨¾à¨¦à¨¨ à¨\9bà©\8bà¨\9fà©\87 à¨¬à¨¦à¨²à¨¾à¨\85 à¨¹à¨¨',
+'tog-watchcreations' => 'ਮà©\87ਰà©\87 à¨µà¨²à©\8bà¨\82 à¨¬à¨£à¨¾à¨\8f à¨\97à¨\8f à¨ªà©°à¨¨à©\87 à¨\85ਤà©\87 à¨\85ੱਪਲà©\8bਡ à¨\95à©\80ਤà©\80à¨\86à¨\82 à¨«à¨¾à¨\88ਲਾà¨\82 à¨®à©\87ਰà©\80 à¨¨à¨¿à¨\97ਰਾਨà©\80-ਲਿਸà¨\9f ਵਿੱਚ ਪਾਓ',
+'tog-watchdefault' => 'ਮà©\87ਰà©\87 à¨µà©±à¨²à©\8bà¨\82 à¨¸à©\8bਧà©\87 à¨\97à¨\8f à¨ªà©°à¨¨à©\87 à¨\85ਤà©\87 à¨«à¨¼à¨¾à¨\88ਲਾà¨\82 à¨®à©\87ਰà©\80 à¨¨à¨¿à¨\97ਰਾਨà©\80-ਲਿਸà¨\9f ਵਿੱਚ ਪਾਓ',
+'tog-watchmoves' => 'ਮà©\87ਰà©\87 à¨µà©±à¨²à©\8bà¨\82 à¨¬à¨¦à¨²à©\87 à¨¸à¨¿à¨°à¨²à©\87à¨\96ਾà¨\82 à¨µà¨¾à¨²à¨¼à©\87 à¨ªà©°à¨¨à©\87 à¨\85ਤà©\87 à¨«à¨¼à¨¾à¨\88ਲਾà¨\82 à¨®à©\87ਰà©\80 à¨¨à¨¿à¨\97ਰਾਨà©\80-ਲਿਸà¨\9f ਵਿੱਚ ਪਾਓ',
+'tog-watchdeletion' => 'ਮà©\87ਰà©\87 à¨µà¨²à©\8bà¨\82 à¨®à¨¿à¨\9fਾà¨\8f à¨\97à¨\8f à¨ªà©°à¨¨à©\87 à¨\85ਤà©\87 à¨«à¨¼à¨¾à¨\88ਲਾà¨\82 à¨®à©\87ਰà©\80 à¨¨à¨¿à¨\97ਰਾਨà©\80-ਲਿਸà¨\9f ਵਿੱਚ ਪਾਓ',
+'tog-minordefault' => 'ਸਾਰà©\87 à¨«à©\87ਰ-ਬਦਲਾà¨\82 â\80\99ਤà©\87 à¨®à©\82ਲ à¨°à©\82ਪ à¨µà¨¿à¨\9a à¨\9bà©\8bà¨\9fà©\87 à¨¹à©\8bਣ à¨¦à¨¾ à¨¨à¨¿à¨¸à¨¼à¨¾à¨¨ à¨²à¨¾à¨\93',
 'tog-previewontop' => 'ਸੋਧ ਬਾਕਸ ਤੋਂ ਪਹਿਲਾਂ ਝਲਕ ਵੇਖਾਓ',
 'tog-previewonfirst' => 'ਪਹਿਲੀ ਸੋਧ ਉੱਤੇ ਝਲਕ ਵੇਖਾਓ',
 'tog-nocache' => 'ਬਰਾਊਜ਼ਰ ਸਫ਼ਾ ਕੈਸ਼ ਕਰਨਾ ਬੰਦ ਕਰੋ',
@@ -261,7 +261,7 @@ $messages = array(
 'january' => 'ਜਨਵਰੀ',
 'february' => 'ਫਰਵਰੀ',
 'march' => 'ਮਾਰਚ',
-'april' => 'ਅਪਰੈਲ',
+'april' => 'à¨\85ਪà©\8dਰà©\88ਲ',
 'may_long' => 'ਮਈ',
 'june' => 'ਜੂਨ',
 'july' => 'ਜੁਲਾਈ',
@@ -273,7 +273,7 @@ $messages = array(
 'january-gen' => 'ਜਨਵਰੀ',
 'february-gen' => 'ਫ਼ਰਵਰੀ',
 'march-gen' => 'ਮਾਰਚ',
-'april-gen' => 'ਅਪਰੈਲ',
+'april-gen' => 'à¨\85ਪà©\8dਰà©\88ਲ',
 'may-gen' => 'ਮਈ',
 'june-gen' => 'ਜੂਨ',
 'july-gen' => 'ਜੁਲਾਈ',
@@ -332,7 +332,7 @@ $messages = array(
 'qbedit' => 'ਸੋਧ',
 'qbpageoptions' => 'ਇਹ ਸਫ਼ਾ',
 'qbmyoptions' => 'ਮੇਰੇ ਸਫ਼ੇ',
-'qbspecialpages' => 'ਖਾਸ ਸਫ਼ੇ',
+'qbspecialpages' => 'à¨\96਼ਾਸ à¨¸à¨«à¨¼à©\87',
 'faq' => 'ਸਵਾਲ-ਜਵਾਬ',
 'faqpage' => 'Project:ਸਵਾਲ-ਜਵਾਬ',
 
@@ -357,19 +357,19 @@ $messages = array(
 'errorpagetitle' => 'ਗਲਤੀ',
 'returnto' => '$1 ’ਤੇ ਵਾਪਸ ਜਾਓ।',
 'tagline' => '{{SITENAME}} ਤੋਂ',
-'help' => 'ਮੱਦਦ',
+'help' => 'ਮਦਦ',
 'search' => 'ਖੋਜ',
 'searchbutton' => 'ਖੋਜ',
 'go' => 'ਜਾਓ',
 'searcharticle' => 'ਜਾਓ',
-'history' => 'ਸਫ਼ਾ ਅਤੀਤ',
+'history' => 'ਸਫ਼à©\87 à¨¦à¨¾ à¨\85ਤà©\80ਤ',
 'history_short' => 'ਅਤੀਤ',
 'updatedmarker' => 'ਮੇਰੀ ਆਖਰੀ ਫੇਰੀ ਤੋਂ ਬਾਅਦ ਦੇ ਅੱਪਡੇਟ',
 'printableversion' => 'ਛਪਣਯੋਗ ਵਰਜਨ',
 'permalink' => 'ਪੱਕਾ ਲਿੰਕ',
 'print' => 'ਛਾਪੋ',
 'view' => 'ਵੇਖੋ',
-'edit' => 'ਸੋਧ',
+'edit' => 'ਸੋਧ',
 'create' => 'ਬਣਾਓ',
 'editthispage' => 'ਇਹ ਸਫ਼ਾ ਸੋਧੋ',
 'create-this-page' => 'ਇਹ ਸਫ਼ਾ ਬਣਾਓ',
@@ -396,14 +396,14 @@ $messages = array(
 'projectpage' => 'ਪ੍ਰੋਜੈਕਟ ਸਫ਼ਾ ਵੇਖੋ',
 'imagepage' => 'ਫਾਇਲ ਸਫ਼ਾ ਵੇਖੋ',
 'mediawikipage' => 'ਸੁਨੇਹਾ ਪੇਜ ਵੇਖੋ',
-'templatepage' => 'ਸਾà¨\82à¨\9aਾ ਪੰਨਾ ਵੇਖੋ',
+'templatepage' => 'ਫਰਮਾ ਪੰਨਾ ਵੇਖੋ',
 'viewhelppage' => 'ਮੱਦਦ ਸਫ਼ਾ ਵੇਖੋ',
 'categorypage' => 'ਕੈਟੈਗਰੀ ਸਫ਼ਾ ਵੇਖੋ',
 'viewtalkpage' => 'ਚਰਚਾ ਵੇਖੋ',
 'otherlanguages' => 'ਹੋਰ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ',
 'redirectedfrom' => '($1 ਤੋਂ ਰੀਡਿਰੈਕਟ)',
 'redirectpagesub' => 'ਰੀਡਿਰੈਕਟ ਸਫ਼ਾ',
-'lastmodifiedat' => 'à¨\87ਹ à¨¸à¨«à¨¼à©\87 à¨µà¨¿à©±à¨\9a à¨\86à¨\96ਰà©\80 à¨¸à©\8bਧ  $1 à¨¨à©\82à©°  $2 ਵਜੇ ਹੋਈ।',
+'lastmodifiedat' => 'à¨\87ਸ à¨¸à¨«à¨¼à©\87 à¨µà¨¿à©±à¨\9a à¨\86à¨\96਼ਰà©\80 à¨¸à©\8bਧ $1 à¨¨à©\82à©° $2 ਵਜੇ ਹੋਈ।',
 'viewcount' => 'ਇਹ ਸਫ਼ਾ {{PLURAL:$1|ਇੱਕ ਵਾਰ|$1 ਵਾਰ}} ਵੇਖਿਆ ਗਿਆ।',
 'protectedpage' => 'ਸੁਰੱਖਿਅਤ ਪੇਜ',
 'jumpto' => 'ਇਸ ’ਤੇ ਜਾਓ:',
@@ -432,7 +432,7 @@ $1',
 'mainpage' => 'ਮੁੱਖ ਸਫ਼ਾ',
 'mainpage-description' => 'ਮੁੱਖ ਸਫ਼ਾ',
 'policy-url' => 'Project:ਨੀਤੀ',
-'portal' => 'ਸਮਾà¨\9c ਸੱਥ',
+'portal' => 'ਭਾà¨\88à¨\9aਾਰà¨\95 ਸੱਥ',
 'portal-url' => 'Project:ਸਮਾਜ ਸੱਥ',
 'privacy' => 'ਪਰਾਈਵੇਸੀ ਨੀਤੀ',
 'privacypage' => 'Project:ਪਰਾਈਵੇਸੀ ਨੀਤੀ',
@@ -449,7 +449,7 @@ $1',
 'retrievedfrom' => '"$1" ਤੋਂ ਲਿਆ',
 'youhavenewmessages' => 'ਤੁਹਾਡੇ ਲਈ $1। ($2)',
 'newmessageslink' => 'ਨਵੇਂ ਸੁਨੇਹੇ',
-'newmessagesdifflink' => 'à¨\86à¨\96ਰà©\80 à¨¬à¨¦à¨²à¨¾à¨\85',
+'newmessagesdifflink' => 'à¨\86à¨\96਼ਰà©\80 à¨¤à¨¬à¨¦à©\80ਲà©\80',
 'youhavenewmessagesfromusers' => '{{PLURAL:$3|ਇੱਕ ਵਰਤੋਂਕਾਰ|$3 ਵਰਤੋਂਕਾਰਾਂ}} ਵੱਲੋਂ ਤੁਹਾਨੂੰ $1 ($2)।',
 'youhavenewmessagesmanyusers' => 'ਕਈ ਯੂਜ਼ਰ ਵੱਲੋਂ ਤੁਹਾਨੂੰ $1 ($2)।',
 'newmessageslinkplural' => '{{PLURAL:$1|ਇੱਕ ਨਵਾਂ ਸੁਨੇਹਾ|ਨਵੇਂ ਸੁਨੇਹੇ}} {{PLURAL:$1|ਹੈ|ਹਨ}}',
@@ -711,7 +711,6 @@ Note that some pages may continue to be displayed as if you were still logged in
 
 # Special:PasswordReset
 'passwordreset' => 'ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ ਕਰੋ',
-'passwordreset-text' => 'ਆਪਣਾ ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ ਕਰਨ ਲਈ ਇਹ ਫਾਰਮ ਪੂਰਾ ਕਰੋ।',
 'passwordreset-legend' => 'ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ ਕਰੋ',
 'passwordreset-disabled' => 'ਇਸ ਵਿਕੀ ਤੇ ਪਾਸਵਰਡ ਰੀਸੈੱਟ ਬੰਦ ਕੀਤੇ ਗਏ ਹਨ।',
 'passwordreset-emaildisabled' => 'ਇਹ ਵਿਕਿ ਉੱਤੇ ਈਮੇਲ ਫੀਚਰ ਬੰਦ ਕੀਤਾ ਹੋਇਆ ਹੈ।',
@@ -766,7 +765,7 @@ $2
 'summary' => 'ਸਾਰ:',
 'subject' => 'ਵਿਸ਼ਾ/ਹੈੱਡਲਾਈਨ:',
 'minoredit' => 'ਇਹ ਇੱਕ ਛੋਟੀ ਸੋਧ ਹੈ',
-'watchthis' => 'à¨\87ਹ à¨¸à¨«à¨¼à©\87 à¨¦à©\80 à¨¨à¨¿à¨\97ਰਾਨà©\80',
+'watchthis' => 'à¨\87ਸ à¨¸à¨«à¨¼à©\87 à¨¤à©\87 à¨¨à¨\9c਼ਰ à¨°à©±à¨\96à©\8b',
 'savearticle' => 'ਸਫ਼ਾ ਸੰਭਾਲੋ',
 'preview' => 'ਝਲਕ',
 'showpreview' => 'ਝਲਕ ਵੇਖਾਓ',
@@ -835,9 +834,9 @@ sysop}}|administrator]] ਨਾਲ ਰਾਬਤਾ ਕਰ ਸਕਦੇ ਹੋ।
 '''ਇਹ ਹਾਲੇ ਸਾਂਭੀ ਨਹੀਂ ਗਈ ਹੈ!'''",
 'updated' => '(ਅੱਪਡੇਟ)',
 'note' => "'''ਨੋਟ:'''",
-'previewnote' => "'''ਯਾਦ ਰੱਖੋ, ਇਹ ਕੇਵਲ ਇੱਕ ਝਲਕ ਹੈ।'''
-ਤà©\81ਹਾਡà©\87 à¨¬à¨¦à¨²à¨¾à¨\85 à¨¹à¨¾à¨²à©\87 à¨¸à©°à¨­à¨¾à¨²à©\87 à¨¨à¨¹à©\80à¨\82 à¨\97à¨\8f à¨¹à¨¨à¥¤",
-'continue-editing' => 'ਸà©\8bਧ à¨\96à©\87ਤਰ à¨¨à©\82à©° ਜਾਓ',
+'previewnote' => "'''ਯਾਦ ਰੱਖੋ ਇਹ ਸਿਰਫ਼ ਇੱਕ ਝਲਕ ਹੈ।'''
+ਤà©\81ਹਾਡà©\80à¨\86à¨\82 à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 à¨¹à¨¾à¨²à©\87 à¨¸à¨¾à¨\82ਭà©\80à¨\86à¨\82 à¨¨à¨¹à©\80à¨\82 à¨\97à¨\88à¨\86à¨\82!",
+'continue-editing' => 'ਸà©\8bਧ à¨\96à©\87ਤਰ à¨¤à©\87 ਜਾਓ',
 'previewconflict' => 'ਇਹ ਝਲਕ ਲਿਖਤ ਦਾ ਓਹ ਅਕਸ ਪੇਸ਼ ਕਰਦੀ ਹੈ ਜਿਵੇਂ ਓਹ ਤੁਹਾਡੇ ਸਾਂਭੇ ਜਾਣ ਤੋਂ ਬਾਅਦ ਦਿੱਸੇਗਾ।',
 'editing' => '$1 ਸੋਧ ਜਾਰੀ',
 'creating' => '$1 ਬਣਾਇਆ ਜਾ ਰਿਹਾ ਹੈ',
@@ -871,7 +870,7 @@ $1 ਲੁਕਵੀਆਂ ਸ਼੍ਰੇਣੀਆਂ}} ਦਾ ਮੈਂਬਰ 
 'nocreate-loggedin' => 'ਤੁਹਾਨੂੰ ਨਵੇਂ ਸਫ਼ੇ ਬਣਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।',
 'permissionserrors' => 'ਅਧਿਕਾਰ ਗਲਤੀਆਂ',
 'permissionserrorstext' => 'ਤੁਹਾਨੂੰ ਇੰਝ ਕਰਨ ਦੇ ਅਧਿਕਾਰ ਨਹੀਂ ਹਨ। ਹੇਠ ਦਿੱਤੇ {{PLURAL:$1|ਕਾਰਨ|ਕਾਰਨ}} ਨੇ:',
-'permissionserrorstext-withaction' => 'ਤà©\81ਹਾਨà©\82à©°  $2 à¨²à¨\88 à¨\85ਧਿà¨\95ਾਰ à¨¨à¨¹à©\80à¨\82 à¨¹à¨¨, à¨\85ੱà¨\97à©\87 à¨¦à¨¿à©±à¨¤à©\87 {{PLURAL:$1|à¨\95ਾਰਨ|à¨\95ਾਰਨਾà¨\82}} à¨\95ਰà¨\95à©\87:',
+'permissionserrorstext-withaction' => 'à¨\85ੱà¨\97à©\87 à¨¦à¨¿à©±à¨¤à©\87 {{PLURAL:$1|à¨\95ਾਰਨ|à¨\95ਾਰਨਾà¨\82}} à¨\95ਰà¨\95à©\87 à¨¤à©\81ਹਾਡà©\87 à¨\95à©\8bਲ $2 à¨²à¨\88 à¨¹à©±à¨\95 à¨¨à¨¹à©\80à¨\82 à¨¹à¨¨:',
 'recreate-moveddeleted-warn' => "'''ਚਿਤਾਵਣੀ:
 ਤੁਸੀਂ ਐਸਾ ਪੰਨਾ ਬਣਾ ਰਹੇ ਹੋ ਜੋ ਪਹਿਲਾਂ ਹਟਾਇਆ ਜਾ ਚੁੱਕਾ ਹੈ।'''
 
@@ -927,10 +926,10 @@ $3 ਨੇ ਕਾਰਨ ਇਹ ਦੱਸਿਆ ਹੈ, ''$2''",
 'last' => 'ਪਿੱਛੇ',
 'page_first' => 'ਪਹਿਲਾਂ',
 'page_last' => 'ਆਖਰੀ',
-'histlegend' => "à¨\85ੰਤਰ ਵੇਖੋ:
-ਮੁਕਾਬਲਾ ਕਰਨ ਲਈ ਰੀਵਿਜਨਾਂ ਦੇ ਰੇਡੀਓ ਬਟਨਾਂ ਵਿੱਚ ਨਿਸ਼ਾਨ ਲਾਓ ਅਤੇ ਜਾਓ ਜਾਂ ਸਭ ਤੋਂ ਥੱਲੇ ਵਾਲੇ ਬਟਨ ਤੇ ਕਲਿੱਕ ਕਰੋ। <br />
+'histlegend' => "ਫ਼ਰà¨\95 ਵੇਖੋ:
+ਮੁਕਾਬਲਾ ਕਰਨ ਲਈ ਰੀਵਿਜਨਾਂ ਦੇ ਰੇਡੀਓ ਬਟਨਾਂ ਵਿੱਚ ਨਿਸ਼ਾਨ ਲਾਓ ਅਤੇ \"ਜਾਓ\" ਜਾਂ ਸਭ ਤੋਂ ਥੱਲੇ ਵਾਲੇ ਬਟਨ ਤੇ ਕਲਿੱਕ ਕਰੋ। <br />
 ਲੈਜਅੰਡ:
-'''({{int:cur}})''' = à¨¨à¨µà©\87à¨\82 à¨°à©\80ਵਿà¨\9cਨ à¨¨à¨¾à¨²à©\8bà¨\82 à¨\85ੰਤਰ, '''({{int:last}})''' = à¨ªà¨¿à©±à¨\9bਲà©\80 à¨°à©\80ਵਿà¨\9cਨ à¨¨à¨¾à¨²à©\8bà¨\82 à¨\85ੰਤਰ, '''({{int:minoreditletter}})''' = à¨\9bà©\8bà¨\9fਾ à¨¬à¨¦à¨²à¨¾à¨µ।",
+'''({{int:cur}})''' = à¨¨à¨µà©\87à¨\82 à¨°à©\80ਵਿà¨\9cਨ à¨¨à¨¾à¨²à©\8bà¨\82 à¨«à¨¼à¨°à¨\95, '''({{int:last}})''' = à¨ªà¨¿à¨\9bਲà©\87 à¨°à©\80ਵਿà¨\9cਨ à¨¨à¨¾à¨²à©\8bà¨\82 à¨«à¨¼à¨°à¨\95, '''({{int:minoreditletter}})''' = à¨\9bà©\8bà¨\9fà©\80 à¨¤à¨¬à¨¦à©\80ਲà©\80।",
 'history-fieldset-title' => 'ਬਰਾਊਜ਼ਰ ਅਤੀਤ',
 'history-show-deleted' => 'ਕੇਵਲ ਹਟਾਏ ਗਏ',
 'histfirst' => 'ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਦੇ',
@@ -1170,7 +1169,7 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'yourrealname' => 'ਅਸਲੀ ਨਾਮ:',
 'yourlanguage' => 'ਭਾਸ਼ਾ:',
 'yourvariant' => 'ਸਮੱਗਰੀ ਭਾਸ਼ਾ ਰੂਪ:',
-'yournick' => 'ਨਵਾà¨\82 à¨¦à¨¸à¨¤à¨\96ਤ:',
+'yournick' => 'ਨਵà©\87à¨\82 à¨¦à¨¸à¨¤à¨\96਼ਤ:',
 'prefs-help-signature' => 'ਗੱਲ-ਬਾਤ ਸਫ਼ਿਆਂ ਉੱਤੇ ਟਿੱਪਣੀਆਂ ਦੇ ਆਖ਼ਰ ਵਿਚ "<nowiki>~~~~</nowiki>" ਲਾਓ ਜੋ ਤੁਹਾਡੇ ਦਸਤਖ਼ਤ ਅਤੇ ਵਕਤ ਦੀ ਮੋਹਰ ਵਿਚ ਤਬਦੀਲ ਹੋ ਜਾਵੇਗਾ।',
 'badsiglength' => 'ਦਸਤਖ਼ਤ ਬਹੁਤ ਲੰਬਾ ਹੋ ਗਿਆ ਹੈ। ਇਹ {{PLURAL:$1|ਅੱਖਰ|ਅੱਖਰਾਂ}} ਤੋਂ ਲੰਬਾ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ।',
 'yourgender' => 'ਲਿੰਗ:',
@@ -1186,7 +1185,7 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'prefs-info' => 'ਮੁੱਢਲੀ ਜਾਣਕਾਰੀ',
 'prefs-i18n' => 'ਅੰਤਰਰਾਸ਼ਟਰੀਕਰਨ',
 'prefs-signature' => 'ਦਸਤਖ਼ਤ',
-'prefs-dateformat' => 'ਮਿਤà©\80 à¨¸à¨¼à©\88ਲà©\80',
+'prefs-dateformat' => 'ਮਿਤà©\80 à¨¦à¨¾ à¨\85ੰਦਾà¨\9c਼',
 'prefs-advancedediting' => 'ਤਕਨੀਕੀ ਚੋਣਾਂ',
 'prefs-advancedrc' => 'ਤਕਨੀਕੀ ਚੋਣਾਂ',
 'prefs-advancedrendering' => 'ਤਕਨੀਕੀ ਚੋਣਾਂ',
@@ -1202,7 +1201,7 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'email-address-validity-invalid' => 'ਸਹੀ ਈ-ਮੇਲ ਪਤਾ ਦਾਖ਼ਲ ਕਰੋ',
 
 # User rights
-'userrights' => 'ਯà©\82à¨\9c਼ਰ à¨¹à©±à¨\95 à¨ªà¨°à¨¬à©°à¨§',
+'userrights' => 'ਵਰਤà©\8bà¨\82à¨\95ਾਰ à¨¦à©\87 à¨\85ਧਿà¨\95ਾਰਾà¨\82 à¨¦à¨¾ à¨°à©±à¨\96-ਰà¨\96ਾà¨\93',
 'userrights-lookup-user' => 'ਯੂਜ਼ਰ ਗਰੁੱਪ ਦੇਖਭਾਲ',
 'userrights-user-editname' => 'ਇੱਕ ਯੂਜ਼ਰ ਨਾਂ ਦਿਓ:',
 'editusergroup' => 'ਯੂਜ਼ਰ ਗਰੁੱਪ ਸੋਧ',
@@ -1217,7 +1216,7 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 
 # Groups
 'group' => 'ਗਰੁੱਪ:',
-'group-user' => 'ਯà©\82à¨\9c਼ਰ',
+'group-user' => 'ਵਰਤà©\8bà¨\82à¨\95ਾਰ',
 'group-autoconfirmed' => 'ਖ਼ੁਦ-ਤਸਦੀਕਸ਼ੁਦਾ ਮੈਂਬਰ',
 'group-bot' => 'ਬੋਟ',
 'group-sysop' => 'ਪਰਸ਼ਾਸ਼ਕ',
@@ -1241,8 +1240,8 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'right-upload_by_url' => 'URL ਤੋਂ ਫਾਇਲਾਂ ਅੱਪਲੋਡ ਕਰੋ',
 'right-autoconfirmed' => 'ਨੀਮ-ਸੁਰੱਖਿਅਤ ਸਫ਼ਿਆਂ ਨੂੰ ਸੋਧਣਾ',
 'right-delete' => 'ਸਫ਼ੇ ਹਟਾਓ',
-'right-bigdelete' => 'ਵੱਡà©\87 à¨\87ਤਿਹਾਸ à¨µà¨¾à¨²à©\87 à¨ªà©°à¨¨à©\87 à¨¹ਟਾਉਣੇ',
-'right-browsearchive' => 'ਹà¨\9fਾà¨\8f à¨\97à¨\8f à¨ªà©°à¨¨à©\87 à¨\96à©\8bà¨\9cਣਾ',
+'right-bigdelete' => 'ਵੱਡà©\87 à¨\85ਤà©\80ਤ à¨µà¨¾à¨²à©\87 à¨ªà©°à¨¨à©\87 à¨®à¨¿ਟਾਉਣੇ',
+'right-browsearchive' => 'ਮਿà¨\9fਾà¨\8f à¨¹à©\8bà¨\8f à¨¸à¨«à¨¼à©\87 à¨\96à©\8bà¨\9cà©\8b',
 'right-undelete' => 'ਸਫ਼ੇ ਨੂੰ ਅਣ-ਮਿਟਾਇਆ ਕਰਨਾ',
 'right-suppressionlog' => 'ਪ੍ਰਾਈਵੇਟ ਚਿੱਠੇ ਵੇਖਣਾ',
 'right-block' => 'ਦੂਜੇ ਮੈਂਬਰਾਂ ਦੇ ਸੋਧ ਕਰਨ ਤੇ ਪਾਬੰਦੀ ਲਾਉਣੀ',
@@ -1265,11 +1264,11 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'rightslogtext' => 'ਇਹ ਮੈਂਬਰ ਹੱਕਾਂ ਵਿਚ ਹੋਈਆਂ ਤਬਦੀਲੀਆਂ ਦਾ ਚਿੱਠਾ ਹੈ।',
 
 # Associated actions - in the sentence "You do not have permission to X"
-'action-read' => 'à¨\87ਹ à¨ªà©°à¨¨à¨¾ à¨ªà©\9cà©\8dਹਨ',
+'action-read' => 'à¨\87ਹ à¨¸à¨«à¨¼à¨¾ à¨ªà©\9cà©\8dਹà©\8b',
 'action-edit' => 'ਇਹ ਪੰਨੇ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰਨ',
-'action-createpage' => 'ਪੰਨà©\87 à¨¬à¨£à¨¾à¨\89ਣ',
+'action-createpage' => 'ਸਫ਼à©\87 à¨¬à¨£à¨¾à¨\93',
 'action-createtalk' => 'ਚਰਚਾ ਸਫ਼ੇ ਬਣਾਉਣ',
-'action-createaccount' => 'ਵਰਤà©\8bà¨\82à¨\95ਾਰ à¨\96ਾਤਾ à¨¬à¨£à¨¾à¨\89ਣ',
+'action-createaccount' => 'à¨\87ਹ à¨µà¨°à¨¤à©\8bà¨\82à¨\95ਾਰ à¨\96ਾਤਾ à¨¬à¨£à¨¾à¨\93',
 'action-minoredit' => 'ਇਹ ਸੋਧ ਨੂੰ ਛੋਟੀ ਤੌਰ ਉੱਤੇ ਮੰਨੋ',
 'action-move' => 'ਇਹ ਸਫ਼ਾ ਭੇਜੋ',
 'action-move-subpages' => 'ਇਹ ਸਫ਼ਾ ਤੇ ਇਸ ਦੇ ਅਧੀਨ-ਸਫ਼ਿਆਂ ਨੂੰ ਭੇਜੋ',
@@ -1279,8 +1278,8 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'action-reupload-shared' => 'ਇਹ ਫਾਇਲ ਨੂੰ ਸਾਂਝੀ ਕੀਤੀ ਰਿਪੋਜ਼ਟਰੀ ਉੱਤੇ ਲਿਖੋ',
 'action-upload_by_url' => 'ਇਹ ਫਾਇਲ ਨੂੰ URL ਤੋਂ ਅੱਪਲੋਡ ਕਰੋ',
 'action-writeapi' => 'ਲਿਖਣ API ਵਰਤੋਂ',
-'action-delete' => 'à¨\87ਹ à¨ªà©°à¨¨à¨¾ à¨¹ਟਾਓ',
-'action-deleterevision' => 'à¨\87ਹ à¨°à©\80ਵਿà¨\9cਨ à¨¹ਟਾਓ',
+'action-delete' => 'à¨\87ਹ à¨ªà©°à¨¨à¨¾ à¨®à¨¿ਟਾਓ',
+'action-deleterevision' => 'à¨\87ਹ à¨°à©\80ਵਿà¨\9cਨ à¨®à¨¿ਟਾਓ',
 'action-deletedhistory' => 'ਇਸ ਸਫ਼ੇ ਦਾ ਮਿਟਾਇਆ ਅਤੀਤ ਵੇਖਣ',
 'action-browsearchive' => 'ਮਿਟਾਏ ਸਫ਼ੇ ਖੋਜਣ',
 'action-undelete' => 'ਇਹ ਸਫ਼ਾ ਅਣ-ਮਿਟਿਆ ਕਰਨ',
@@ -1298,28 +1297,28 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'action-sendemail' => 'ਈ-ਮੇਲਾਂ ਭੇਜੋ',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|ਬਦਲਾà¨\85}}',
-'recentchanges' => 'ਹਾਲ â\80\99à¨\9a à¨¹à©\8bà¨\8f à¨¬à¨¦à¨²à¨¾à¨\85',
-'recentchanges-legend' => 'ਹਾਲ à¨¦à©\87 à¨ªà¨°à¨¿à¨µà¨°à¨¤à¨¨ à¨¸à¨¬à©°à¨§à©\80 à¨µà¨¿à¨\95ਲਪ',
+'nchanges' => '$1 {{PLURAL:$1|ਤਬਦà©\80ਲà©\80|ਤਬਦà©\80ਲà©\80à¨\86à¨\82}}',
+'recentchanges' => 'ਹਾਲ â\80\99à¨\9a à¨¹à©\8bà¨\88à¨\86à¨\82 à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82',
+'recentchanges-legend' => 'ਹਾਲ à¨¦à©\80à¨\86à¨\82 à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 à¨¸à¨¬à©°à¨§à©\80 à¨\9aà©\8bਣਾà¨\82',
 'recentchanges-summary' => 'ਇਸ ਵਿਕੀ ’ਤੇ ਹੋਈਆਂ ਸਭ ਤੋਂ ਨਵੀਆਂ ਤਬਦੀਲੀਆਂ ਇਸ ਸਫ਼ੇ ’ਤੇ ਵੇਖੋ।',
-'recentchanges-feed-description' => 'à¨\87ਸ à¨µà¨¿à¨\95à©\80 â\80\99ਤà©\87 à¨¹à¨¾à¨² â\80\98à¨\9a à¨¹à©\8bà¨\8f à¨¬à¨¦à¨²à¨¾à¨µ ਇਸ ਫ਼ੀਡ ’ਚ ਵੇਖੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।',
-'recentchanges-label-newpage' => 'à¨\87ਹ à¨¸à©°à¨ªà¨¾à¨¦à¨¨ à¨¨à¨¾à¨² à¨¨à¨µà¨¾à¨\82 à¨ªà©°à¨¨à¨¾ à¨¬à¨£à¨¾à¨\87à¨\86 à¨\97ਿà¨\86',
-'recentchanges-label-minor' => 'à¨\87ਹ à¨\87ੱà¨\95 à¨\9bà©\8bà¨\9fਾ à¨¸à©°à¨ªà¨¾à¨¦à¨¨ ਹੈ',
-'recentchanges-label-bot' => 'à¨\87ਹ à¨¸à©°à¨ªà¨¾à¨¦à¨¨ à¨\87ੱà¨\95 à¨¬à©\8bà¨\9fਾ à¨¦à©\81à¨\86ਰਾ à¨\95à©\80ਤਾ à¨\97ਿà¨\86 ਸੀ',
+'recentchanges-feed-description' => 'à¨\87ਸ à¨µà¨¿à¨\95à©\80 â\80\99ਤà©\87 à¨¹à¨¾à¨² â\80\98à¨\9a à¨¹à©\8bà¨\88à¨\86à¨\82 à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 ਇਸ ਫ਼ੀਡ ’ਚ ਵੇਖੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।',
+'recentchanges-label-newpage' => 'à¨\87ਸ à¨¸à©\8bਧ à¨¨à©\87 à¨¨à¨µà¨¾à¨\82 à¨ªà©°à¨¨à¨¾ à¨¬à¨£à¨¾à¨\87à¨\86 à¨¹à©\88',
+'recentchanges-label-minor' => 'à¨\87ਹ à¨\87ੱà¨\95 à¨\9bà©\8bà¨\9fà©\80 à¨¸à©\8bਧ ਹੈ',
+'recentchanges-label-bot' => 'à¨\87ਹ à¨¸à©\8bਧ à¨\87ੱà¨\95 à¨¬à©\8bà¨\9f à¨¦à©\81à¨\86ਰਾ à¨\95à©\80ਤà©\80 à¨\97à¨\88 ਸੀ',
 'recentchanges-label-unpatrolled' => 'ਇਹ ਫੇਰ-ਬਦਲ ਹਾਲੇ ਵੇਖਿਆ ਨਹੀਂ ਗਿਆ',
 'rcnote' => "$4, $5 ਤੱਕ ਆਖਰੀ {{PLURAL:$2|ਦਿਨ|'''$2''' ਦਿਨਾਂ}} ਵਿੱਚ {{PLURAL:$1|'''1''' ਬਦਲੀ ਹੋਈ ਹੈ।|'''$1''' ਬਦਲੀਆਂ ਹੋਈਆਂ ਹਨ।}}",
 'rcnotefrom' => "'''$2''' ਤੱਕ ('''$1''' ਤੱਕ ਦਿੱਸਦੇ) ਬਦਲਾਵ ਹੇਠ ਦਿੱਤੀਆਂ ਹਨ।",
-'rclistfrom' => '$1 à¨¤à©\8bà¨\82 à¨¸à¨¼à©\81ਰà©\82 à¨\95ਰà¨\95à©\87 à¨¨à¨µà©\87à¨\82 à¨¬à¨¦à¨²à¨¾à¨\85 à¨µà©\87ਖਾਓ',
-'rcshowhideminor' => '$1 ਛੋਟੇ ਬਦਲਾਅ',
+'rclistfrom' => '$1 à¨¤à©\8bà¨\82 à¨¸à¨¼à©\81ਰà©\82 à¨\95ਰà¨\95à©\87 à¨¨à¨µà©\80à¨\86à¨\82 à¨¸à©\8bਧਾà¨\82 à¨µਖਾਓ',
+'rcshowhideminor' => 'ਛੋਟੀਆਂ ਤਬਦੀਲੀਆਂ $1',
 'rcshowhidebots' => '$1 ਬੋਟ',
-'rcshowhideliu' => '$1 ਲਾਗਇਨ ਹੋਏ ਵਰਤੋਂਕਾਰਾਂ',
-'rcshowhideanons' => '$1 ਆਈ॰ਪੀ ਵਰਤੋਂਕਾਰਾਂ ਦੇ ਬਦਲਾਅ',
-'rcshowhidepatr' => 'à¨\9cਾà¨\82à¨\9aà©\87 à¨¹à©\8bà¨\8f à¨¸à©°à¨ªà¨¾à¨¦à¨¨ $1',
-'rcshowhidemine' => 'ਮà©\87ਰà©\87 à¨¬à¨¦à¨²à¨¾à¨\85 $1',
-'rclinks' => 'ਪਿੱà¨\9bਲà©\87 $2 à¨¦à¨¿à¨¨à¨¾à¨\82 à¨µà¨¿à©±à¨\9a à¨¹à©\8bà¨\8f $1 à¨¬à¨¦à¨²à¨¾à¨\85 à¨µà©\87ਖਾਓ<br /> $3',
-'diff' => 'à¨\85ੰਤਰ',
-'hist' => 'à¨\87ਤਿਹਾਸ',
-'hide' => 'à¨\9bà©\81ਪਾਓ',
+'rcshowhideliu' => '$1 ਲਾਗਇਨ ਹੋਏ ਵਰਤੋਂਕਾਰ',
+'rcshowhideanons' => 'ਅਣਜਾਣ ਵਰਤੋਂਕਾਰ $1',
+'rcshowhidepatr' => 'à¨\9cਾà¨\82à¨\9aà©\80à¨\86à¨\82 à¨¹à©\8bà¨\88à¨\86à¨\82 à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 $1',
+'rcshowhidemine' => 'ਮà©\87ਰà©\80à¨\86à¨\82 à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82  $1',
+'rclinks' => 'ਪਿà¨\9bਲà©\87 $2 à¨¦à¨¿à¨¨à¨¾à¨\82 à¨µà¨¿à©±à¨\9a à¨¹à©\8bà¨\88à¨\86à¨\82 $1 à¨¤à¨¬à¨¦à©\80ਲà©\80à¨\86à¨\82 à¨µਖਾਓ<br /> $3',
+'diff' => 'ਫ਼ਰà¨\95',
+'hist' => 'à¨\85ਤà©\80ਤ',
+'hide' => 'ਲà©\81à¨\95ਾਓ',
 'show' => 'ਵੇਖਾਓ',
 'minoreditletter' => 'ਛੋ',
 'newpageletter' => 'ਨ',
@@ -1328,7 +1327,7 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'rc_categories_any' => 'ਕੋਈ ਵੀ',
 'newsectionsummary' => '/* $1 */ ਨਵਾਂ ਭਾਗ',
 'rc-enhanced-expand' => 'ਵੇਰਵਾ ਵੇਖਾਓ (ਜਾਵਾਸਕ੍ਰਿਪਟ ਲੋੜੀਂਦੀ ਹੈ)',
-'rc-enhanced-hide' => 'ਵà©\87ਰਵਾ à¨\9bà©\81ਪਾਓ',
+'rc-enhanced-hide' => 'ਵà©\87ਰਵਾ à¨²à©\81à¨\95ਾਓ',
 'rc-old-title' => 'ਅਸਲ ਵਿੱਚ "$1" ਵਜੋਂ ਬਣਾਇਆ',
 
 # Recent changes linked
@@ -1342,7 +1341,7 @@ $3|'''1''' ਨਤੀਜਾ|'''$3''' ਨਤੀਜੇ}} ਵਖਾਓ।",
 'recentchangeslinked-to' => 'ਇਸਦੇ ਬਦਲੇ ਇਸ ਪੰਨੇ ਨਾਲ ਜੁੜੇ ਪੰਨਿਆਂ ਵਿੱਚ ਹੋਏ ਬਦਲਾਅ ਵਿਖਾਓ',
 
 # Upload
-'upload' => 'ਫਾਈਲ ਅਪਲੋਡ ਕਰੋ',
+'upload' => 'ਫ਼ਾà¨\88ਲ à¨\85ਪਲà©\8bਡ à¨\95ਰà©\8b',
 'uploadbtn' => 'ਫਾਇਲ ਅੱਪਲੋਡ ਕਰੋ',
 'reuploaddesc' => 'ਅੱਪਲੋਡ ਫਾਰਮ ਉੱਤੇ ਜਾਓ।',
 'uploadnologin' => 'ਲਾਗਇਨ ਨਹੀਂ ਹੋ',
@@ -1367,10 +1366,10 @@ to upload files.',
 'filetype-missing' => 'ਫਾਇਲ ਦੀ ਕੋਈ ਐਕਸ਼ਟੇਸ਼ਨ ਨਹੀਂ ਹੈ (ਜਿਵੇਂ ".jpg").',
 'empty-file' => 'ਤੁਹਾਡੇ ਵਲੋਂ ਦਿੱਤੀ ਫਾਇਲ ਖਾਲੀ ਸੀ।',
 'file-too-large' => 'ਤੁਹਾਡੇ ਵਲੋਂ ਦਿੱਤੀ ਫਾਇਲ ਬਹੁਤ ਵੱਡੀ ਸੀ।',
-'filename-tooshort' => 'ਫਾà¨\88ਲ à¨¬à¨¹à©\81ਤ à¨\9bà©\8bà¨\9fà©\80 ਹੈ।',
+'filename-tooshort' => 'ਫ਼ਾà¨\88ਲ à¨¦à¨¾ à¨¨à¨¾à¨\82 à¨¬à¨¹à©\81ਤ à¨\9bà©\8bà¨\9fਾ ਹੈ।',
 'filetype-banned' => 'ਇਸ ਕਿਸਮ ਦੀ ਫਾਈਲ ਦੀ ਮਨਾਹੀ ਹੈ।',
 'verification-error' => 'ਇਹ ਫਾਇਲ ਫਾਇਲ ਜਾਂਚ ਪੂਰੀ ਨਹੀਂ ਕਰਦੀ ਹੈ।',
-'illegal-filename' => 'à¨\87ਸ à¨«à¨¾à¨\88ਲ-ਨਾਮ à¨¦à©\80 à¨\85ਨà©\81ਮਤà©\80 ਨਹੀਂ ਹੈ।',
+'illegal-filename' => 'à¨\87ਸ à¨«à¨¾à¨\88ਲ-ਨਾਮ à¨¦à©\80 à¨\87à¨\9cਾà¨\9c਼ਤ ਨਹੀਂ ਹੈ।',
 'unknown-error' => 'ਅਣਜਾਣ ਗਲਤੀ ਆਈ ਹੈ।',
 'tmp-create-error' => 'ਆਰਜ਼ੀ ਫਾਇਲ ਬਣਾਉਣ ਲਈ ਅਸਮਰੱਥ ਹੈ।',
 'tmp-write-error' => 'ਆਰਜ਼ੀ ਫਾਇਲ ਲਿਖਣ ਲਈ ਗਲਤੀ ਹੈ।',
@@ -1410,7 +1409,7 @@ to upload files.',
 'backend-fail-store' => 'ਫ਼ਾਈਲ "$1", "$2" ਵਿਚ ਸਾਂਭੀ ਨਹੀਂ ਜਾ ਸਕੀ।',
 'backend-fail-copy' => 'ਫ਼ਾਈਲ "$1", "$2" ਵਿਚ ਨਕਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ।',
 'backend-fail-move' => 'ਫ਼ਾਈਲ "$1", "$2" ਤੇ ਭੇਜੀ ਨਹੀਂ ਜਾ ਸਕੀ।',
-'backend-fail-opentemp' => 'à¨\85ਸਥਾà¨\88 à¨«ਾਈਲ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ।',
+'backend-fail-opentemp' => 'à¨\86ਰà¨\9c਼à©\80 à¨«à¨¼ਾਈਲ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ।',
 
 # Special:UploadStash
 'uploadstash-refresh' => 'ਫ਼ਾਈਲਾਂ ਦੀ ਲਿਸਟ ਨੂੰ ਤਾਜ਼ਾ ਕਰੋ',
@@ -1444,7 +1443,7 @@ to upload files.',
 
 # File description page
 'file-anchor-link' => 'ਫਾਈਲ',
-'filehist' => 'ਫਾà¨\88ਲ à¨¦à¨¾ à¨\87ਤਿਹਾਸ',
+'filehist' => 'ਫ਼ਾà¨\88ਲ à¨¦à¨¾ à¨\85ਤà©\80ਤ',
 'filehist-help' => 'ਤਾਰੀਖ/ਸਮੇਂ ’ਤੇ ਕਲਿੱਕ ਕਰੋ ਤਾਂ ਉਸ ਸਮੇਂ ਦੀ ਫਾਈਲ ਪੇਸ਼ ਹੋ ਜਾਵੇਗੀ।',
 'filehist-deleteall' => 'ਸਭ ਹਟਾਓ',
 'filehist-deleteone' => 'ਇਹ ਹਟਾਓ',
@@ -1531,7 +1530,7 @@ to upload files.',
 'statistics-pages-desc' => 'ਇਸ ਵਿਕੀ ਦੇ ਸਾਰੇ ਸਫ਼ੇ, ਗੱਲ-ਬਾਤ ਸਫ਼ਿਆਂ, ਰੀਡਾਇਰੈਕਟਾਂ ਇਤਿਆਦਿ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋਏ',
 'statistics-files' => 'ਅਪਲੋਡ ਕੀਤੀਆਂ ਗਈਆਂ ਫਾਈਲਾਂ',
 'statistics-edits-average' => 'ਪ੍ਰਤੀ ਸਫ਼ਾ ਔਸਤਨ ਸੋਧਾਂ',
-'statistics-users' => 'ਪੰà¨\9cà©\80à¨\95ਰਿਤ [[Special:ListUsers|ਵਰਤà©\8bà¨\82à¨\95ਾਰਾà¨\82]]',
+'statistics-users' => 'ਰà¨\9cਿਸà¨\9fà©\8dਰਡ [[Special:ListUsers|ਵਰਤà©\8bà¨\82à¨\95ਾਰ]]',
 'statistics-users-active' => 'ਸਰਗਰਮ ਯੂਜ਼ਰ',
 'statistics-users-active-desc' => 'ਮੈਂਬਰ, ਜਿੰਨ੍ਹਾ ਨੇ ਆਖ਼ਰੀ {{PLURAL:$1|ਦਿਨ|$1 ਦਿਨਾਂ}} ਵਿਚ ਕੋਈ ਕੰਮ ਕੀਤਾ ਹੈ।',
 'statistics-mostpopular' => 'ਸਭ ਤੋਂ ਵੱਧ ਵੇਖੇ ਸਫ਼ੇ',
@@ -1583,7 +1582,7 @@ to upload files.',
 'newpages' => 'ਨਵੇਂ ਸਫ਼ੇ',
 'newpages-username' => 'ਯੂਜ਼ਰ-ਨਾਂ:',
 'ancientpages' => 'ਸਭ ਤੋਂ ਪੁਰਾਣੇ ਪੇਜ',
-'move' => 'ਸਥਾਨਾà¨\82ਤਰਨ',
+'move' => 'ਸਿਰਲà©\87à¨\96 à¨¬à¨¦à¨²à©\8b',
 'movethispage' => 'ਇਹ ਸਫ਼ਾ ਭੇਜੋ',
 'unusedcategoriestext' => 'ਇਹ ਕੈਟੇਗਰੀ ਸਫ਼ੇ ਮੌਜੂਦ ਹਨ ਹਾਲਾਂਕਿ ਕਿਸੇ ਵੀ ਸਫ਼ੇ ਜਾਂ ਕੈਟੇਗਰੀ ਨੇ ਇਹਨਾਂ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ।',
 'notargettitle' => 'ਟਾਰਗੇਟ ਨਹੀਂ',
@@ -1697,7 +1696,7 @@ to upload files.',
 
 # Watchlist
 'watchlist' => 'ਨਿਗਰਾਨ-ਸੂਚੀ',
-'mywatchlist' => 'ਨਿਗਰਾਨ-ਸੂਚੀ',
+'mywatchlist' => 'ਨਿਗਰਾਨੀ-ਲਿਸਟ',
 'watchlistfor2' => '$1 $2 ਲਈ',
 'nowatchlist' => 'ਤੁਹਾਡੀ ਨਿਗਰਾਨੀ-ਲਿਸਟ ਵਿਚ ਕੋਈ ਚੀਜ਼ ਨਹੀਂ ਹੈ।',
 'watchlistanontext' => 'ਆਪਣੀ ਨਿਗਰਾਨੀ-ਲਿਸਟ ਵਿਚਲੀਆਂ ਚੀਜ਼ਾਂ ਵੇਖਣ ਜਾਂ ਸੋਧਣ ਲਈ ਮਿਹਰਬਾਨੀ ਕਰਕੇ $1।',
@@ -1719,8 +1718,8 @@ to upload files.',
 'watchlistcontains' => 'ਤੁਹਾਡੀ ਨਿਗਰਾਨੀ-ਲਿਸਟ ਵਿਚ $1 {{PLURAL:$1|ਸਫ਼ਾ ਹੈ|ਸਫ਼ੇ ਹਨ}}।',
 'wlnote' => "$3, $4 ਮੁਤਾਬਕ ਆਖ਼ਰੀ {{PLURAL:$2|ਘੰਟੇ|'''$2''' ਘੰਟਿਆਂ}} ਵਿਚ {{PLURAL:
 $1|ਤਬਦੀਲੀ ਹੋਈ|'''$1''' ਤਬਦੀਲੀਆਂ ਹੋਈਆਂ}}, ਹੇਠਾਂ ਵੇਖੋ।",
-'wlshowlast' => 'ਪਿੱà¨\9bਲà©\87 $1 à¨\98à©°à¨\9fà©\87 $2 à¨¦à¨¿à¨¨ $3 à¨µà©\87à¨\96à©\8b',
-'watchlist-options' => 'ਨਿਗਰਾਨ-ਸੂਚੀ ਚੋਣਾਂ',
+'wlshowlast' => 'ਪਿà¨\9bਲà©\87 $1 à¨\98à©°à¨\9fà©\87 $2 à¨¦à¨¿à¨¨ $3 à¨µà¨\96ਾà¨\93',
+'watchlist-options' => 'ਨਿਗਰਾਨੀ-ਲਿਸਟ ਚੋਣਾਂ',
 
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'ਨਿਗ੍ਹਾ (ਵਾਚ) ਰੱਖੀ ਜਾ ਰਹੀ ਹੈ...',
@@ -1876,11 +1875,11 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'whatlinkshere-hideredirs' => 'ਅਸਿੱਧੇ ਰਾਹ $1',
 'whatlinkshere-hidetrans' => '$1 ਇੱਥੇ ਕੀ ਕੀ ਜੁੜਦਾ ਹੈ।',
 'whatlinkshere-hidelinks' => '$1 ਲਿੰਕ',
-'whatlinkshere-hideimages' => 'ਫਾਈਲ ਲਿੰਕ $1',
+'whatlinkshere-hideimages' => 'ਫ਼ਾà¨\88ਲ à¨²à¨¿à©°à¨\95 $1',
 'whatlinkshere-filters' => 'ਫਿਲਟਰ',
 
 # Block/unblock
-'blockip' => 'à¨\85ਵਰà©\8bਧਤ à¨\95ਰà©\8b',
+'blockip' => 'ਪਾਬੰਦà©\80ਸ਼à©\81ਦਾ à¨µà¨°à¨¤à©\8bà¨\82à¨\95ਾਰ',
 'ipadressorusername' => 'IP ਐਡਰੈਸ ਜਾਂ ਯੂਜ਼ਰ ਨਾਂ:',
 'ipbexpiry' => 'ਮਿਆਦ:',
 'ipbreason' => 'ਕਾਰਨ:',
@@ -1967,7 +1966,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 ਮਿਹਰਬਾਨੀ ਕਰਕੇ ਕੋਈ ਹੋਰ ਨਾਮ ਚੁਣੋ।',
 'movedto' => 'ਭੇਜਿਆ',
 'movepage-page-moved' => 'ਸਫ਼ਾ $1 ਨੂੰ $2 ’ਤੇ ਭੇਜਿਆ ਜਾ ਚੁੱਕਾ ਹੈ।',
-'movelogpage' => 'ਸਥਾਨਾà¨\82ਤਰਣ ਦਾ ਚਿੱਠਾ',
+'movelogpage' => 'ਸਿਰਲà©\87à¨\96 à¨¬à¨¦à¨²à©\80 ਦਾ ਚਿੱਠਾ',
 'movereason' => 'ਕਾਰਨ:',
 'revertmove' => 'ਉਲਟਾਓ',
 'delete_and_move' => 'ਹਟਾਓ ਅਤੇ ਮੂਵ ਕਰੋ',
@@ -2040,7 +2039,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'tooltip-p-logo' => 'ਮੁੱਖ ਪੰਨੇ ’ਤੇ ਜਾਓ',
 'tooltip-n-mainpage' => 'ਮੁੱਖ ਪੰਨੇ ’ਤੇ ਜਾਓ',
 'tooltip-n-mainpage-description' => 'ਮੁੱਖ ਪੰਨੇ ’ਤੇ ਜਾਓ',
-'tooltip-n-portal' => 'ਪਰਯà©\8bà¨\9cਨਾ ਬਾਰੇ, ਤੁਸੀਂ ਕੀ ਕਰ ਸਕਦੇ ਹੋ, ਕਿੱਥੇ ਕੁਝ ਲੱਭਣਾ ਹੈ',
+'tooltip-n-portal' => 'ਪà©\8dਰà©\8bà¨\9cà©\88à¨\95à¨\9f ਬਾਰੇ, ਤੁਸੀਂ ਕੀ ਕਰ ਸਕਦੇ ਹੋ, ਕਿੱਥੇ ਕੁਝ ਲੱਭਣਾ ਹੈ',
 'tooltip-n-currentevents' => 'ਮੌਜੂਦਾ ਸਮਾਗਮ ਬਾਰੇ ਪਿਛਲੀ ਜਾਣਕਾਰੀ ਲੱਭੋ',
 'tooltip-n-recentchanges' => 'ਵਿਕੀ ਵਿੱਚ ਹਾਲ ’ਚ ਹੋਈਆਂ ਬਦਲੀਆਂ ਦੀ ਸੂਚੀ',
 'tooltip-n-randompage' => 'ਇੱਕ ਰਲਵਾਂ ਪੰਨਾ ਲੋਡ ਕਰੋ',
@@ -2050,15 +2049,15 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'tooltip-feed-atom' => 'ਇਸ ਪੰਨੇ ਦੀ ਐਟਮ ਫ਼ੀਡ',
 'tooltip-t-contributions' => 'ਇਸ ਵਰਤੋਂਕਾਰ ਦੇ ਯੋਗਦਾਨ ਦੀ ਸੂਚੀ',
 'tooltip-t-emailuser' => 'ਇਸ ਵਰਤੋਂਕਾਰ ਨੂੰ ਈ-ਮੇਲ ਭੇਜੋ',
-'tooltip-t-upload' => 'à¨\9aਿੱਤਰ à¨\9cਾà¨\82 à¨®à©\80ਡà©\80à¨\86 à¨«ਾਈਲਾਂ ਅਪਲੋਡ ਕਰੋ',
-'tooltip-t-specialpages' => 'ਸਾਰà©\87 à¨µà¨¿à¨¸à¨¼à©\87ਸ਼ à¨ªà©°à¨¨à¨¿à¨\86à¨\82 à¨¦à©\80 à¨¸à©\82à¨\9aà©\80',
+'tooltip-t-upload' => 'ਤਸਵà©\80ਰ à¨\9cਾà¨\82 à¨®à©\80ਡà©\80à¨\86 à¨«à¨¼ਾਈਲਾਂ ਅਪਲੋਡ ਕਰੋ',
+'tooltip-t-specialpages' => 'ਸਾਰà©\87 à¨\96਼ਾਸ à¨ªà©°à¨¨à¨¿à¨\86à¨\82 à¨¦à©\80 à¨²à¨¿à¨¸à¨\9f',
 'tooltip-t-print' => 'ਇਹ ਪੰਨੇ ਦਾ ਛਪਣਯੋਗ ਵਰਜਨ',
 'tooltip-t-permalink' => 'ਪੰਨੇ ਦੇ ਇਸ ਰੀਵਿਜਨ ਲਈ ਪੱਕਾ ਲਿੰਕ',
 'tooltip-ca-nstab-main' => 'ਸਮੱਗਰੀ ਪੰਨਾ ਵੇਖੋ',
 'tooltip-ca-nstab-user' => 'ਵਰਤੋਂਕਾਰ ਪੰਨਾ ਵੇਖੋ',
 'tooltip-ca-nstab-media' => 'ਮੀਡਿਆ ਪੇਜ ਵੇਖੋ',
 'tooltip-ca-nstab-special' => 'ਇਹ ਵਿਸ਼ੇਸ਼ ਪੰਨਾ ਹੈ, ਤੁਸੀਂ ਇਸ ਪੰਨੇ ਨੂੰ ਬਦਲ ਨਹੀਂ ਸਕਦੇ।',
-'tooltip-ca-nstab-project' => 'ਪਰਯà©\8bà¨\9cਨਾ ਪੰਨਾ ਵੇਖੋ',
+'tooltip-ca-nstab-project' => 'ਪà©\8dਰà©\8bà¨\9cà©\88à¨\95à¨\9f ਪੰਨਾ ਵੇਖੋ',
 'tooltip-ca-nstab-image' => 'ਫਾਈਲ ਪੰਨਾ ਵੇਖੋ',
 'tooltip-ca-nstab-mediawiki' => 'ਸਿਸਟਮ ਸੁਨੇਹੇ ਵੇਖੋ',
 'tooltip-ca-nstab-template' => 'ਸਾਂਚਾ ਵੇਖੋ',
@@ -2071,7 +2070,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'tooltip-compareselectedversions' => 'ਇਸ ਪੰਨੇ ਦੇ ਦੋ ਚੁਣੇ ਹੋਏ ਸੋਧਾਂ ਵਿੱਚ ਫ਼ਰਕ ਵੇਖੋ',
 'tooltip-watch' => 'ਇਸ ਪੰਨੇ ਨੂੰ ਆਪਣੀ ਧਿਆਨਸੂਚੀ ਵਿੱਚ ਪਾਓ',
 'tooltip-watchlistedit-normal-submit' => 'ਸਿਰਲੇਖ ਹਟਾਓ',
-'tooltip-watchlistedit-raw-submit' => 'ਧਿà¨\86ਨਸà©\82à¨\9aà©\80 à¨\85ਪਡà©\87à¨\9f ਕਰੋ',
+'tooltip-watchlistedit-raw-submit' => 'ਨਿà¨\97ਰਾਨà©\80-ਲਿਸà¨\9f à¨¤à¨¾à¨\9c਼ਾ ਕਰੋ',
 'tooltip-upload' => 'ਅਪਲੋਡ ਸ਼ੁਰੂ ਕਰੋ',
 'tooltip-rollback' => "''ਵਾਪਸ ਮੋੜੋ'' ਇੱਕ ਹੀ ਕਲਿੱਕ ਨਾਲ ਆਖਰੀ ਯੋਗਦਾਨ ਨੂੰ ਰੱਦ ਕਰ ਦਿੰਦਾ ਹੈ",
 'tooltip-undo' => '"ਉਧੇੜਨਾ" ਇਸ ਬਦਲਾਵ ਨੂੰ ਰੱਦ ਕਰਕੇ ਸੋਧ ਫ਼ਾਰਮ ਨੂੰ ਝਲਕ ਦੇ ਸ਼ੈਲੀ ਵਿੱਚ ਦਿਖਾਉਂਦਾ ਹੈ।
@@ -2098,8 +2097,8 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'skinname-monobook' => 'ਮੋਨੋਬੁੱਕ',
 
 # Browsing diffs
-'previousdiff' => 'â\86\90 à¨\87ਸ à¨¤à©\8bà¨\82 à¨ªà©\81ਰਾਣਾ à¨¬à¨¦à¨²à¨¾à¨\85',
-'nextdiff' => 'ਤਾà¨\9cਾ à¨¸à©°à¨ªà¨¾à¨¦à¨¨ →',
+'previousdiff' => 'â\86\90 à¨ªà©\81ਰਾਣà©\80 à¨¤à¨¬à¨¦à©\80ਲà©\80',
+'nextdiff' => 'ਨਵà©\80à¨\82 à¨¤à¨¬à¨¦à©\80ਲà©\80 →',
 
 # Media information
 'thumbsize' => 'ਥੰਮਨੇਲ ਆਕਾਰ:',
@@ -2122,7 +2121,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 ਲਾਈਨ ਵਿਚ ਪਹਿਲੀ ਕੜੀ ਗ਼ਲਤ ਫ਼ਾਈਲ ਦੀ ਕੜੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਉਸ ਲਾਈਨ ’ਚ ਅੱਗੇ ਦਿਤੀਆਂ ਕੜੀਆਂ ਨੂੰ ਇਤਰਾਜ਼ਯੋਗ ਮੰਨਿਆ ਜਾਵੇਗਾ, ਭਾਵ ਉਹ ਪੰਨੇ ਜਿਨ੍ਹਾਂ ਵਿਚ ਫ਼ਾਈਲ ਕਿਸੇ ਲਾਈਨ ਵਿਚ ਸਥਿਤ ਹੋ ਸਕਦੀ ਹੈ।',
 
 # Metadata
-'metadata' => 'ਮà©\80à¨\9fਾਡਾਟਾ',
+'metadata' => 'ਮà©\80à¨\9fਾਡà©\88ਟਾ',
 'metadata-help' => 'ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਵਾਧੂ ਜਾਣਕਾਰੀਆਂ ਹਨ, ਜੋ ਸ਼ਾਇਦ ਉਸ ਕੈਮਰੇ ਜਾਂ ਸਕੈਨਰ ਦੀ ਦੇਣ ਹਨ ਜੋ ਇਸਨੂੰ ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਗਿਆ। ਜੇ ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਕੋਈ ਤਬਦੀਲੀ ਕੀਤੀ ਗਈ ਹੈ ਤਾਂ ਹੋ ਸਕਦਾ ਹੈ ਕੁਝ ਵੇਰਵੇ ਬਦਲੀ ਫ਼ਾਈਲ ਦਾ ਸਹੀ ਰੂਪਮਾਨ ਨਾ ਹੋਣ।',
 'metadata-fields' => 'ਇਸ ਸੁਨੇਹੇ ਵਿੱਚ ਸੂਚੀਬੱਧ ਖੇਤਰ ਚਿੱਤਰ ਪੰਨੇ ’ਚ ਸ਼ਾਮਲ ਕੀਤੇ ਜਾਣਗੇ ਜੋ ਉਦੋਂ ਦਿੱਸਦੇ ਹਨ ਜਦੋ ਮੈਟਾਡੈਟਾ ਖਾਕਾ ਬੰਦ ਹੋਵੇ। ਬਾਕੀ ਉਂਞ ਹੀ ਲੁਕੇ ਹੋਣਗੇ।',
 
@@ -2172,7 +2171,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'exif-urgency-normal' => 'ਸਧਾਰਨ ($1)',
 
 # External editor support
-'edit-externally' => 'ਬਾਹਰà©\80 à¨\90ਪਲà©\80à¨\95à©\87ਸ਼ਨ à¨µà¨°à¨¤à¨¦à©\87 à¨¹à©\8bà¨\8f à¨\87ਸ à¨«à¨¾à¨\88ਲ à¨¨à©\82à©° à¨¸à©°à¨ªà¨¾à¨¦à¨¨ à¨\95ਰà©\8b।',
+'edit-externally' => 'ਬਾਹਰà©\80 à¨\90ਪਲà©\80à¨\95à©\87ਸ਼ਨ à¨µà¨°à¨¤à¨¦à©\87 à¨¹à©\8bà¨\8f à¨\87ਸ à¨«à¨¾à¨\88ਲ à¨¨à©\82à©° à¨¸à©\8bਧà©\8b',
 'edit-externally-help' => '(ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ [//www.mediawiki.org/wiki/Manual:External_editors setup instructions] ਵੇਖੋ)',
 
 # 'all' in various places, this might be different for inflected languages
@@ -2182,12 +2181,12 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'limitall' => 'ਸਭ',
 
 # Email address confirmation
-'confirmemail' => 'ਈਮੇਲ ਐਡਰੈੱਸ ਪੁਸ਼ਟੀ',
+'confirmemail' => 'ਈ-ਮੇਲ ਪਤਾ ਤਸਦੀਕ ਕਰੋ',
 'confirmemail_send' => 'ਇੱਕ ਪੁਸ਼ਟੀ ਕੋਡ ਭੇਜੋ',
 'confirmemail_sent' => 'ਪੁਸ਼ਟੀ ਈਮੇਲ ਭੇਜੀ ਗਈ।',
 'confirmemail_invalid' => 'ਗਲਤ ਪੁਸ਼ਟੀ ਕੋਡ ਹੈ। ਕੋਡ ਦੀ ਮਿਆਦ ਪੁੱਗੀ ਹੋ ਸਕਦੀ ਹੈ।',
 'confirmemail_loggedin' => 'ਤੁਹਾਡਾ ਈ-ਮੇਲ ਪਤਾ ਹੁਣ ਤਸਦੀਕ ਹੋ ਚੁੱਕਾ ਹੈ।',
-'confirmemail_subject' => '{{SITENAME}} ਈਮੇਲ ਐਡਰੈੱਸ ਪੁਸ਼ਟੀ',
+'confirmemail_subject' => '{{SITENAME}} ਈ-ਮੇਲ ਪਤਾ ਤਸਦੀਕ',
 
 # Scary transclusion
 'scarytranscludetoolong' => '[URL ਬਹੁਤ ਲੰਬਾ ਹੈ]',
@@ -2199,16 +2198,16 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'confirm_purge_button' => 'ਠੀਕ ਹੈ',
 
 # Multipage image navigation
-'imgmultipageprev' => 'â\86\90 à¨ªà¨¿à©±à¨\9bਲਾ à¨ªà©°à¨¨à¨¾',
+'imgmultipageprev' => '← ਪਿਛਲਾ ਪੰਨਾ',
 'imgmultipagenext' => 'ਅਗਲਾ ਪੰਨਾ →',
 'imgmultigo' => 'ਜਾਓ!',
 'imgmultigoto' => '$1 ਸਫ਼ੇ ਉੱਤੇ ਜਾਓ',
 
 # Table pager
 'table_pager_next' => 'ਅਗਲਾ ਪੰਨਾ',
-'table_pager_prev' => 'ਪਿੱà¨\9bਲਾ à¨ªà©°à¨¨à¨¾',
+'table_pager_prev' => 'ਪਿਛਲਾ ਪੰਨਾ',
 'table_pager_first' => 'ਪਹਿਲਾ ਪੰਨਾ',
-'table_pager_last' => 'ਆਖਰੀ ਪੰਨਾ',
+'table_pager_last' => 'à¨\86à¨\96਼ਰà©\80 à¨ªà©°à¨¨à¨¾',
 'table_pager_limit' => 'ਹਰੇਕ ਪੇਜ ਲਈ $1 ਆਈਟਮਾਂ',
 'table_pager_limit_label' => 'ਪ੍ਰਤੀ ਸਫ਼ਾ ਆਈਟਮਾਂ:',
 'table_pager_limit_submit' => 'ਜਾਓ',
@@ -2223,14 +2222,14 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'livepreview-ready' => '…ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ। ਤਿਆਰ!',
 
 # Watchlist editor
-'watchlistedit-normal-title' => 'ਧਿà¨\86ਨਸà©\82à¨\9aà©\80 à¨¬à¨¦à¨²ੋ',
+'watchlistedit-normal-title' => 'ਨਿà¨\97ਰਾਨà©\80-ਲਿਸà¨\9f à¨¸à©\8bਧੋ',
 'watchlistedit-raw-titles' => 'ਟਾਇਟਲ:',
-'watchlistedit-raw-submit' => 'ਧਿà¨\86ਨਸà©\82à¨\9aà©\80 à¨¨à©\82à©° à¨\85ਪਡà©\87à¨\9f ਕਰੋ',
+'watchlistedit-raw-submit' => 'ਨਿà¨\97ਰਾਨà©\80-ਲਿਸà¨\9f à¨¤à¨¾à¨\9c਼à©\80 ਕਰੋ',
 'watchlistedit-raw-added' => '{{PLURAL:$1|1 title was|$1 titles were}} ਸ਼ਾਮਲ:',
 'watchlistedit-raw-removed' => '{{PLURAL:$1|1 title was|$1 titles were}} ਹਟਾਓ:',
 
 # Watchlist editing tools
-'watchlisttools-view' => 'à¨\86ਧਾਰਿਤ à¨¬à¨¦à¨²à¨¾à¨\85 ਵੇਖੋ',
+'watchlisttools-view' => 'ਸਬੰਧਤ à¨¤à¨¬à¨¦à¨²à©\80à¨\86à¨\82 ਵੇਖੋ',
 'watchlisttools-edit' => 'ਧਿਆਨਸੂਚੀ ਵੇਖੋ ’ਤੇ ਸੰਪਾਦਨ ਕਰੋ',
 'watchlisttools-raw' => 'ਕੱਚੀ ਧਿਆਨਸੂਚੀ ਸੰਪਾਦਨ ਕਰੋ',
 
@@ -2242,9 +2241,9 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 'version-other' => 'ਹੋਰ',
 
 # Special:SpecialPages
-'specialpages' => 'ਵਿਸ਼à©\87ਸ਼ ਪੰਨੇ',
+'specialpages' => 'à¨\96਼ਾਸ ਪੰਨੇ',
 'specialpages-group-login' => 'ਲਾਗਇਨ / ਖਾਤਾ ਬਣਾਓ',
-'specialpages-group-users' => 'ਵਰਤੋਂਕਾਰਾਂ ਅਤੇ ਅਧਿਕਾਰ',
+'specialpages-group-users' => 'ਵਰਤੋਂਕਾਰ ਅਤੇ ਹੱਕ',
 
 # Special:BlankPage
 'blankpage' => 'ਖ਼ਾਲੀ ਸਫ਼ਾ',
@@ -2262,7 +2261,7 @@ delete|ਹਟਾਉਣ ਦਾ ਚਿੱਠਾ]] ਵੇਖੋ।',
 # Special:Tags
 'tag-filter' => '[[Special:Tags|ਟੈਗ]] ਫਿਲਟਰ:',
 'tags-tag' => 'ਟੈਗ ਦਾ ਨਾਮ',
-'tags-edit' => 'ਸੰਪਾਦਨ',
+'tags-edit' => 'ਸà©\8bਧà©\8b',
 
 # HTML forms
 'htmlform-submit' => 'ਭੇਜੋ',
index 5c5ba09..94ce761 100644 (file)
@@ -45,8 +45,6 @@ Pabusten ing pamanaliling dake kapamilatan [alilan] ning suglung',
 'tog-shownumberswatching' => 'Ipakit la reng bilang da reng magbanteng talagamit',
 'tog-oldsig' => 'I-preview ya ing salukuyan a pirma',
 'tog-fancysig' => 'Ituring yang wikitext ing pirma (alang automatic link o tambing a suglung)',
-'tog-externaleditor' => 'Gumamit a pangkilual a editor kapamilatan ning kabud',
-'tog-externaldiff' => 'Tambing kang gumamit aliwa (diff) ibat a panglual',
 'tog-showjumplinks' => 'Salangian la reng suglung a pampabilis (accessibility links) a "luksu king" (jump to)',
 'tog-uselivepreview' => 'Gumamit kang live preview (JavaScript) (Experimental)',
 'tog-forceeditsummary' => 'Pabaluan mu ku ustung magpalub a blankung edit',
@@ -797,13 +795,6 @@ Tutuking $1 {{PLURAL:$1|result|results}}',
 Samantala, maliari kang maintun kapamilatan ning Google.
 Pakitandanan mung maliaring e no makapanaun deng karelang index king kalamnan ning {{SITENAME}}.',
 
-# Quickbar
-'qbsettings-none' => 'Ala',
-'qbsettings-fixedleft' => 'Makapirmi ya ing kaili',
-'qbsettings-fixedright' => 'Makapirmi ya ing wanan',
-'qbsettings-floatingleft' => 'Kikimut ya ing kaili',
-'qbsettings-floatingright' => 'Kikimut ya ing wanan',
-
 # Preferences page
 'preferences' => 'Pinili',
 'mypreferences' => '↓Deng pinili ku',
@@ -1373,8 +1364,8 @@ click me ing \"Tuknangan ing pamagbante\" (Unwatch) king gilid na ning bulung.",
 'notvisiblerev' => 'Mebura ya itang mibayu (revision)',
 'watchnochange' => 'Alang me-edit kareng kekang babanten ketang panaun a makabili keti.',
 'watchlist-details' => "{{PLURAL:$1|$1 bulung|$1 bulung}} king kekang watchlist, e la kayabe deng ''talk pages''.",
-'wlheader-enotif' => 'Makasalangi (enabled) ing pamipabalu kapamilatan ning e-mail.',
-'wlheader-showupdated' => "'''Makapal''' la pangasulat deng bulung a miyalilan manibat aniang tauli mu lang pintalan.",
+'wlheader-enotif' => 'Makasalangi (enabled) ing pamipabalu kapamilatan ning e-mail.',
+'wlheader-showupdated' => "'''Makapal''' la pangasulat deng bulung a miyalilan manibat aniang tauli mu lang pintalan.",
 'watchmethod-recent' => 'sisimen/susurian la reng bayung mengayalili para kareng bulung a babanten',
 'watchmethod-list' => 'susurian la reng bulung a babanten para kareng bayung mengayalili',
 'watchlistcontains' => 'Atin yang $1 {{PLURAL:$1|a bulung|bulung}} ing kekang tala ring babanten (watchlist).',
@@ -2015,7 +2006,7 @@ Detang aliwa tambing (by default) lang makasalikut.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lapad',
 'exif-imagelength' => 'Katas',
 'exif-bitspersample' => 'Bit balang dake (component)',
@@ -2109,7 +2100,7 @@ Detang aliwa tambing (by default) lang makasalikut.
 'exif-source' => 'Pikuanan',
 'exif-cameraownername' => 'Mikibandi keng paglitratu',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'E makapitpit (uncompressed)',
 
 'exif-unknowndate' => 'E makabili ing petsa',
@@ -2321,11 +2312,6 @@ Mayari/mapasu ya ining confirmation code keng $4.',
 'version-software-product' => 'Produktu',
 'version-software-version' => 'Bersion',
 
-# Special:FilePath
-'filepath' => 'Dalan ning simpan (file path)',
-'filepath-page' => 'Simpan (file):',
-'filepath-submit' => 'Dalan',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Maintun simpan (file) a kapareu',
 'fileduplicatesearch-legend' => 'Maintun kapareu',
index 8beee8e..64377fa 100644 (file)
@@ -755,7 +755,7 @@ Vir l'pache [$2 édseur Commons].",
 'listgrouprights-summary' => "L'pache-lo ch'est ène lisse d'chés groupes d'uzeus définis édseur ech wiki aveuc chés drouots d'intrèe achuchonnés.<br />I put y avoèr ichi d'eutes [[MediaWiki:Listgrouprights-helppage|informacions]] édseur chés drouots individuèls. ([[{{MediaWiki:Listgrouprights-helppage}}|vir]])",
 'listgrouprights-members' => '(lisse éd chés mimbes)',
 
-# E-mail user
+# Email user
 'emailuser' => "Imèle echl'uzeu-lo",
 'emailpage' => 'Imèle dech uzeu',
 
@@ -1059,9 +1059,6 @@ Chés eutes cans is s'ront muchés pèr défeut.
 # Special:Version
 'version-specialpages' => 'Paches éspéchiales',
 
-# Special:FilePath
-'filepath-page' => 'Fichié :',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Dénicher chés doublons',
 
index ab3f5ce..f52d5d3 100644 (file)
@@ -420,9 +420,6 @@ Paesswatt fer nau: $2',
 'powersearch-togglenone' => 'Ken',
 'search-external' => 'Guck im Gewebb',
 
-# Quickbar
-'qbsettings-none' => 'Ken',
-
 # Preferences page
 'preferences' => 'Paerseenlich Profil',
 'mypreferences' => 'Uffschtellinge',
@@ -677,7 +674,7 @@ Paesswatt fer nau: $2',
 'listgrouprights-addgroup' => 'Yuuser zu {{PLURAL:$2|daer Druppe|denne Druppe}} dezu duh: $1',
 'listgrouprights-addgroup-all' => 'Yuuser zu alle Druppe dezu duh',
 
-# E-mail user
+# Email user
 'emailuser' => 'E-Poschd fer den Yuuser',
 'defemailsubject' => '{{SITENAME}} - E-Poschde vun Yuuser „$1“',
 'emailusername' => 'Yuuser-Naame:',
@@ -906,7 +903,7 @@ Guck $2 fer e Lischt vun de letscht Leschunge.',
 # Metadata
 'metadata' => 'Metadaade',
 
-# EXIF tags
+# Exif tags
 'exif-imagelength' => 'Leng',
 'exif-software' => 'Geyuust Software',
 'exif-usercomment' => 'Anmaerrickinge vun Yuuser',
@@ -976,11 +973,6 @@ Guck $2 fer e Lischt vun de letscht Leschunge.',
 'version-poweredby-others' => 'annere',
 'version-software-version' => 'Version',
 
-# Special:FilePath
-'filepath' => 'Feilpaad',
-'filepath-page' => 'Feil:',
-'filepath-submit' => 'Geh',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Feilnaame:',
 'fileduplicatesearch-submit' => 'Uffgucke',
index aa4e5f9..013c818 100644 (file)
@@ -547,25 +547,15 @@ Dee Grunt es: "$2"',
 
 # Stylesheets
 'common.css' => '/* CSS opp dise Sted woat opp aula Skins wirtje */',
-'standard.css' => '/* CSS opp dise Sted wirtjt opp dem Standard-Skin */',
-'nostalgia.css' => '/* CSS opp dise Sted wirtjt opp daut Nostalgia-Skin */',
 'cologneblue.css' => '/* CSS opp dise Sted wirtjt opp daut Keloonsch-Blau-Skin */',
 'monobook.css' => '/* CSS opp dise Sted wirtjt opp daut Monobook-Skin */',
-'myskin.css' => '/* CSS opp dise Sted wirtjt opp daut MySkin-Skin */',
-'chick.css' => '/* CSS opp dise Sted wirtjt opp daut Chick-Skin */',
-'simple.css' => '/* CSS opp dise Sted wirtjt opp daut Simple-Skin */',
 'modern.css' => '/* CSS opp dise Sted wirtjt opp daut Modern-Skin */',
 'print.css' => '/* CSS opp dise Sted woat daut Utkome vom Dretje aundasch moake */',
 
 # Scripts
 'common.js' => '/* Daut neachste JavaScript woat fe aula Brucka jelode. */',
-'standard.js' => '/* Daut neachste JavaScript woat fe Brucka mett Standard-Skin jelode. */',
-'nostalgia.js' => '/* Daut neachste JavaScript woat fe Brucka mett Nostalgie-Skin jelode. */',
 'cologneblue.js' => '/* Daut neachste JavaScript woat fe Brucka mett Keloonsch-Blau-Skin jelode */',
 'monobook.js' => '/* Daut neachste JavaScript woat fe Brucka mett Monobook-Skin jelode */',
-'myskin.js' => '/* Daut neachste JavaScript woat fe Brucka mett MySkin-Skin jelode */',
-'chick.js' => '/* Daut neachste JavaScript woat fe Brucka mett Chick-Skin jelode */',
-'simple.js' => '/* Daut neachste JavaScript woat fe Brucka mett Eenfach-Skin jelode */',
 'modern.js' => '/* Daut neachste JavaScript woat fe Brucka mett Modern-Skin jelode. */',
 
 # Metadata
index 06d0fe1..32cfc57 100644 (file)
@@ -56,12 +56,18 @@ $namespaceAliases = array(
 
 $messages = array(
 # User preference toggles
-'tog-showtoolbar' => "Werkzaich zum Bearwaide zaische (dodezu brauchd's JavaScript)",
-'tog-showhiddencats' => 'Zaisch vaschdeglde Kadegorije',
+'tog-underline' => 'Lingg unnaschdraische',
+'tog-showtoolbar' => "Wergzaisch fas Beawaide zaische (dodezu brauchd's JavaScript)",
+'tog-showjumplinks' => 'Schdellde "Hubs uff"-Lingg o',
+'tog-showhiddencats' => 'Zaisch vaschdeglde Grubbe',
 
-'underline-always' => 'Immer',
-'underline-never' => 'Garnet',
-'underline-default' => 'Des nemme, was em Browser gsaachd hoschd.',
+'underline-always' => 'Imma',
+'underline-never' => 'Gaaned',
+'underline-default' => 'Des nemme, wum Browser gsachd hoschd.',
+
+# Font style option in Special:Preferences
+'editfont-sansserif' => 'Sans-serif Schrifd',
+'editfont-serif' => 'Serif Schrifd',
 
 # Dates
 'sunday' => 'Sundaach',
@@ -78,32 +84,32 @@ $messages = array(
 'thu' => 'Du',
 'fri' => 'Fr',
 'sat' => 'So',
-'january' => 'Jänner',
-'february' => 'Fewwer',
+'january' => 'Janua',
+'february' => 'Februa',
 'march' => 'März',
 'april' => 'Abril',
 'may_long' => 'Mai',
 'june' => 'Juni',
 'july' => 'Juli',
 'august' => 'Auguschd',
-'september' => 'Sebdember',
-'october' => 'Ogdower',
-'november' => 'Nowember',
-'december' => 'Dezember',
-'january-gen' => 'Jänner',
-'february-gen' => 'Fewwer',
+'september' => 'Sebdemba',
+'october' => 'Ogdowa',
+'november' => 'Nowemba',
+'december' => 'Dezemba',
+'january-gen' => 'Janua',
+'february-gen' => 'Februa',
 'march-gen' => 'März',
 'april-gen' => 'Abril',
 'may-gen' => 'Mai',
 'june-gen' => 'Juni',
 'july-gen' => 'Juli',
 'august-gen' => 'Auguschd',
-'september-gen' => 'Sebdember',
-'october-gen' => 'Ogdower',
-'november-gen' => 'Nowember',
-'december-gen' => 'Dezember',
-'jan' => 'Jän',
-'feb' => 'Few',
+'september-gen' => 'Sebdemba',
+'october-gen' => 'Ogdowa',
+'november-gen' => 'Nowemba',
+'december-gen' => 'Dezemba',
+'jan' => 'Jan',
+'feb' => 'Feb',
 'mar' => 'Mär',
 'apr' => 'Abr',
 'may' => 'Mai',
@@ -116,303 +122,403 @@ $messages = array(
 'dec' => 'Dez',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Kadegorie|Kadegorie}}',
-'category_header' => 'Saide in de Kadegorie „$1“',
-'subcategories' => 'Unnerkadegorie',
-'category-media-header' => 'Medie in de Kadegorie „$1“',
-'hidden-categories' => '{{PLURAL:$1|Verschdegelde Kadegorie|Verschdegelde Kadegorije}}',
-'hidden-category-category' => 'Verschdegelde Kadegorije',
-'category-subcat-count' => '{{PLURAL:$2|Die Kategorie hot die Unnerkategorie:|{{PLURAL:$1|Die Unnerkategori isch eni vun insgsamt $2 Unnerkategorie in derre Kategorie:|S werre $1 vun insgsamt $2 Unnerkategorie in derre Kategorie aagezeicht:}}}}',
-'category-article-count' => "{{PLURAL:$2|In derre Kadegorie hot's numme die Said.|Die {{PLURAL:$1|Said|$1 Saide}} gebbt's in derre Kadegorie, vun insgsamt $2.}}",
-'listingcontinuesabbrev' => '(Forts.)',
-
-'about' => 'Iwwer',
-'newwindow' => '(werd im e naie Fenschter uffgmacht)',
-'cancel' => 'Abbreche',
+'pagecategories' => '{{PLURAL:$1|Grubb|Grubbe}}',
+'category_header' => 'Saide in de Grubb „$1“',
+'subcategories' => 'Unnagrubbe',
+'category-media-header' => 'Medije inde Grubb „$1“',
+'category-empty' => '"Die Grubb hod kä Said odda Medije."',
+'hidden-categories' => '{{PLURAL:$1|Vaschdegldi Grubb|Vaschdeglde Grubbe}}',
+'hidden-category-category' => 'Verschdegelde Grubbe',
+'category-subcat-count' => '{{PLURAL:$2|Die Grubb hod bloß die Unnagrubb.|Die Grubb hod {{PLURAL:$1|Unnagrubbe|$1 Unnagrubbe}},vun gsomd $2.}}',
+'category-article-count' => '{{PLURAL:$2|Inde Grubb hodss nua die Said.|Die {{PLURAL:$1|Said|$1 Saide}} gibbds inde Grubb, vun gsomd $2.}}',
+'category-file-count' => "{{PLURAL:$2|Die Grubb hod bloß ä Said.|Die {{PLURAL:$1|Said isch äni vun $2 Saide:|S'werren $1 vun gsomd $2 Saide gzaischd:}}}}",
+'listingcontinuesabbrev' => '(Fords.)',
+'noindex-category' => 'Saide, wu ned im Vazaischnis sinn',
+
+'about' => 'Iwwa',
+'newwindow' => '(werd inem naije Fenschda uffgmachd)',
+'cancel' => 'Abbresche',
+'moredotdotdot' => 'Mea …',
 'mypage' => 'Said',
 'mytalk' => 'Dischbediere',
 'navigation' => 'Nawigadzion',
 
 # Cologne Blue skin
 'qbfind' => 'Finne',
-'qbedit' => 'Bearwaide',
-'qbmyoptions' => 'Mai Saide',
+'qbbrowse' => 'Duaschschdewere',
+'qbedit' => 'Beawaide',
+'qbpageoptions' => 'Die Said',
+'qbmyoptions' => 'Moi Saide',
 'faq' => 'Ofd gschdeldi Froche',
 
 # Vector skin
+'vector-action-addsection' => 'Abschnidd dzufiesche',
 'vector-action-delete' => 'Lesche',
-'vector-action-move' => 'Verschiewe',
+'vector-action-move' => 'Vaschiewe',
 'vector-action-protect' => 'Schidze',
-'vector-view-edit' => 'Bearwaide',
+'vector-action-undelete' => 'Zriggbringe',
+'vector-view-create' => 'Oleesche',
+'vector-view-edit' => 'Beawaide',
 'vector-view-history' => 'Dadaigschischd',
 'vector-view-view' => 'Lese',
-'actions' => 'Agzione',
-'namespaces' => 'Nomensreem',
+'vector-view-viewsource' => 'Gwelltegschd zaische',
+'actions' => 'Maßnohme',
+'namespaces' => 'Nomensreum',
+'variants' => 'Tibbe',
 
-'errorpagetitle' => 'Fehler',
+'errorpagetitle' => 'Irrdumm',
 'returnto' => 'Zrick zu $1.',
 'tagline' => 'Vun {{SITENAME}}',
-'help' => 'Hilf',
-'search' => 'Suche',
-'searchbutton' => 'Suche',
-'go' => 'Adiggel',
-'searcharticle' => 'Suche',
-'history' => 'Gschichd vun de Said',
-'history_short' => 'Versione',
-'printableversion' => 'Drugg-Aasicht',
-'permalink' => 'Permanentlink',
-'print' => 'Ausdrugge',
-'view' => 'Lese',
-'edit' => 'Bearwaide',
-'create' => 'Aaleche',
-'editthispage' => 'Die Said bearwaide',
+'help' => 'Unaschdidzung',
+'search' => 'Nochgugge',
+'searchbutton' => 'Gugg',
+'go' => 'Ausfiere',
+'searcharticle' => 'Ausfiare',
+'history' => 'Gschischd vunde Said',
+'history_short' => 'Gschischd',
+'printableversion' => 'Drugg-Asischd',
+'permalink' => 'Schdendischa Lingg',
+'print' => 'Drugge',
+'view' => 'Ogugge',
+'edit' => 'Beawaide',
+'create' => 'Aleesche',
+'editthispage' => 'Die Said beawaide',
 'delete' => 'Lesche',
-'undelete_short' => '{{PLURAL:$1|ä Ännerung|$1 Ännerunge}} widderherschdelle',
+'deletethispage' => 'Lesch die Said',
+'undelete_short' => '{{PLURAL:$1|ä Ännarung|$1 Ännarunge}} widdaheaschdelle',
+'viewdeleted_short' => 'Zaisch {{PLURAL:$1|ä gleschdi Ännarung|$1 gleschde Ännarunge}}',
 'protect' => 'schidze',
-'protect_change' => 'ännere',
+'protect_change' => 'ännare',
 'protectthispage' => 'Die Said schidze',
-'unprotect' => 'Saideschudz änare',
-'newpage' => 'Naie Said',
-'talkpage' => 'Iwwer die Said dischbediere',
+'unprotect' => 'Saideschudz ännare',
+'newpage' => 'Naiji Said',
+'talkpage' => 'Iwwa die Said dischbediere',
 'talkpagelinktext' => 'Dischbediere',
-'personaltools' => 'Perseenliche Werkzeische',
+'personaltools' => 'Persenlischs Wergzaisch',
+'postcomment' => 'Naije Abschnidd',
 'talk' => 'Dischbediere',
-'views' => 'Wievielmol aageguckt',
-'toolbox' => 'Werkzaisch',
-'otherlanguages' => 'In annere Schbroche',
-'redirectedfrom' => '(Wairrerglaidet vun $1)',
-'redirectpagesub' => 'Wairerlaidungssaid',
-'lastmodifiedat' => 'Die Said isch zum ledschde Mol gänneret worre am $1, am $2.',
-'viewcount' => 'Die Seid isch bis jetzerd {{PLURAL:$1|$1|$1}} mol uffgerufe worre.',
-'jumpto' => 'Spring zu:',
-'jumptonavigation' => 'Navigation',
-'jumptosearch' => 'Suche',
+'views' => 'Uffruf',
+'toolbox' => 'Wergzaischkischd',
+'viewtalkpage' => 'Zaischs Gbabbl',
+'otherlanguages' => 'In annare Schbroche',
+'redirectedfrom' => '(Nochgschiggd vun $1)',
+'redirectpagesub' => 'Nochschigg-Said',
+'lastmodifiedat' => 'Die Said ischs ledschde Mol gännad worre om $1, om $2.',
+'viewcount' => 'Die Said isch bis jedz {{PLURAL:$1|$1|$1}} mol uffgrufe worre.',
+'protectedpage' => 'Said schidze',
+'jumpto' => 'Hubs uff:',
+'jumptonavigation' => 'Nawigadzion',
+'jumptosearch' => 'Nochgugge',
+'pool-errorunknown' => 'Ubkonnde Irrdumm',
 
 # 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) and the disambiguation template definition (see disambiguations).
-'aboutsite' => 'Iwwer {{SITENAME}}',
-'aboutpage' => 'Project:Iwwer',
-'copyright' => 'Was do drin schdeht isch unner $1 verfiechbar.',
-'copyrightpage' => '{{ns:project}}:Urhewerrecht',
-'currentevents' => 'Was grad so bassierd isch',
-'currentevents-url' => 'Project: Leschdi Eraigniss',
+'aboutsite' => 'Iwwa {{SITENAME}}',
+'aboutpage' => 'Project:Iwwa',
+'copyright' => 'Was do drin schded isch unna $1 vafieschba.',
+'copyrightpage' => '{{ns:project}}:Urhewareschd',
+'currentevents' => 'Aggduelli Gscheniss',
+'currentevents-url' => 'Project: Leschdi Gschneniss',
 'disclaimers' => 'Hafdungsausschluß',
 'disclaimerpage' => 'Project:Impressum',
-'edithelp' => 'Hilf fers Bearwaide',
-'edithelppage' => 'Help:Ännere',
+'edithelp' => 'Unaschdizung fas Beawaide',
+'edithelppage' => 'Help:Ännare',
 'helppage' => 'Help:Inhald',
-'mainpage' => 'Hääptsaid',
-'mainpage-description' => 'Startseid',
+'mainpage' => 'Schdadsaid',
+'mainpage-description' => 'Schdadsaid',
 'portal' => '{{SITENAME}}-Bordal',
 'portal-url' => 'Project:Gmoinschafdsbordal',
-'privacy' => 'Dadeschuds',
-'privacypage' => 'Project:Daadeschutz',
+'privacy' => 'Daadeschuds',
+'privacypage' => 'Project:Daadeschuds',
 
-'badaccess' => 'Kää ausraichende Reschd',
+'badaccess' => 'Ned genuch Reschd',
 
+'ok' => 'Alla gud',
 'retrievedfrom' => 'Vun "$1"',
-'youhavenewmessages' => 'Du hoscht $1 ($2).',
-'newmessageslink' => 'naie Nochrischde',
-'newmessagesdifflink' => 'ledschde Ännerung',
-'editsection' => 'bearwaide',
-'editold' => 'bearwaide',
-'viewsourceold' => 'Quelltegschd ogugge',
-'editlink' => 'bearwaide',
-'viewsourcelink' => 'Quell aagugge',
-'editsectionhint' => 'Abschnidd ännere: $1',
+'youhavenewmessages' => 'Du hoschd $1 ($2).',
+'newmessageslink' => 'naije Nochrischde',
+'newmessagesdifflink' => 'ledschdi Ännarung',
+'editsection' => 'beawaide',
+'editold' => 'beawaide',
+'viewsourceold' => 'Gwelltegschd ogugge',
+'editlink' => 'beawaide',
+'viewsourcelink' => 'Gwell aagugge',
+'editsectionhint' => 'Deel ännare: $1',
 'toc' => 'Inhald',
 'showtoc' => 'zaische',
-'hidetoc' => 'versteggle',
-'site-rss-feed' => '$1 RSS Feed',
-'site-atom-feed' => '$1 Atom Feed',
-'page-rss-feed' => '"$1" RSS Feed',
-'page-atom-feed' => '"$1" Atom Feed',
-'red-link-title' => '$1 (Said gebbds nid)',
+'hidetoc' => 'vaschdeggle',
+'collapsible-collapse' => 'Oiglabbe',
+'viewdeleted' => '$1 zaische?',
+'restorelink' => '{{PLURAL:$1|ä gleschdi Ännarung|$1 gleschde Ännarunge}}',
+'site-rss-feed' => '$1 RSS-Feed',
+'site-atom-feed' => '$1 Atom-Feed',
+'page-rss-feed' => '"$1" RSS-Feed',
+'page-atom-feed' => '"$1" Atom-Feed',
+'red-link-title' => '$1 (Said gibbds ned)',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Said',
-'nstab-user' => 'Benutzersaid',
-'nstab-media' => 'Media',
-'nstab-special' => 'Spezialsaid',
+'nstab-user' => 'Benudzersaid',
+'nstab-media' => 'Medije',
+'nstab-special' => 'Schbezialsaid',
 'nstab-project' => 'Bordal',
-'nstab-image' => 'Dadei',
-'nstab-mediawiki' => 'Mitdeelung',
-'nstab-template' => 'Vorlaach',
-'nstab-help' => 'Hilf',
+'nstab-image' => 'Dadai',
+'nstab-mediawiki' => 'Middeelung',
+'nstab-template' => 'Vorlach',
+'nstab-help' => 'Unaschdidzung',
 'nstab-category' => 'Kadegorie',
 
 # General errors
-'missing-article' => "De Text fer „$1“ $2 isch inde Daadebong'g nit gfunne worre.
+'error' => 'Irrdumm',
+'missing-article' => 'De Tegschd fa „$1“ $2 isch inde Daadebongg ned gfunne worre.
 
-Normalerwais hääßd des, dass die Said gleschd worre isch.
+Noamalawees heeßd des, dass die Said gleschd worre isch.
 
-Wenns des nit isch, hoschd villaischd en Fehler in de Daadebong'g gfunne.
-Bidde meldsm [[Special:ListUsers/sysop|Adminischdrador]], un gebb d URL dezu aa.",
+Wonnse des awwa ned isch, hoschd villaischdn Irddumm inde Daadebongg gfunne.
+Bidde meldsm [[Special:ListUsers/sysop|Adminischdrador]], un gebbde URL dzu aa.',
 'missingarticle-rev' => '(Versionsnummer#: $1)',
 'badtitle' => 'Schleschde Didl',
-'badtitletext' => 'De Titel vun de aageforderte Said isch nid giltich, leer, odder e nid giltiche Link vun eme annere Wiki.
-S kann sai, dass es ää odder meh Zaiche drin hot, wu im Titel vun de Said nid gebraucht werre därfe.',
-'viewsource' => 'Quelltegschd bedrachde',
+'badtitletext' => 'De Tidl vunde aagefordad Said isch nid gildisch, leer, oddan nid gildische Lingg vunem annare Wiki.
+S kann sai, dass es ää odda meh Zaische drin hod, wu im Tidl vunde Said nid gbrauchd werre dirfn.',
+'viewsource' => 'Gwelltegschd ogugge',
 
 # Login and logout pages
-'yourname' => 'Benutzername:',
+'welcomeuser' => 'Willkumme, $1!',
+'yourname' => 'Benudzernome:',
 'yourpassword' => 'Password:',
 'yourpasswordagain' => 'Password nomol oigewe:',
-'remembermypassword' => 'Mai Passwort uff dem Computer merke (hechschtens fer $1 {{PLURAL:$1|Dach|Dach}})',
+'remembermypassword' => 'Mai Passwort uffm Computer merge (hegschdns fa $1 {{PLURAL:$1|Daach|Daach}})',
 'login' => 'Omelde',
-'nav-login-createaccount' => 'Aamelde / Benudzerkondo aaleche',
-'userlogin' => 'Omelde / Benutzerkonto anleche',
-'logout' => 'Abmelde',
-'userlogout' => 'Abmelde',
-'nologinlink' => 'E Benutzerkondo aaleche',
-'mailmypassword' => 'Nais Passwort per E-Mail schicke',
+'nav-login-createaccount' => 'Amelde / Benudzerkondo aleesche',
+'loginprompt' => 'Cookies mugschd fa {{SITENAME}} schun ohawe.',
+'userlogin' => 'Omelde / Benudzerkondo oleesche',
+'userloginnocreate' => 'Oilogge',
+'logout' => 'Uffhere',
+'userlogout' => 'Uffhere',
+'nologin' => 'Hoschd noch kä Kondo? $1',
+'nologinlink' => 'E Benudzerkondo aaleesche',
+'createaccount' => 'Bnudza oleesche',
+'gotaccount' => 'Hoschd schun ä Kondo? $1',
+'gotaccountlink' => 'Omelde',
+'userlogin-resetlink' => 'Hoschd doi Daade vagesse?',
+'mailmypassword' => 'Nais Passwort per E-Mail schigge',
+'loginlanguagelabel' => 'Schbrooch: $1',
+
+# Change password dialog
+'resetpass-submit-loggedin' => 'Password wegsle',
+
+# Special:PasswordReset
+'passwordreset-username' => 'Benudza:',
+
+# Special:ChangeEmail
+'changeemail-none' => '(käni)',
+'changeemail-cancel' => 'Uffhere',
 
 # Edit page toolbar
-'bold_sample' => 'Fedde Schrifd',
-'bold_tip' => 'Fedde Schrifd',
-'italic_sample' => 'Kursive Schrifd',
-'italic_tip' => 'Kursive Schrifd',
-'link_sample' => 'Schdischword',
-'link_tip' => 'Interner Link',
-'extlink_sample' => "http://www.example.com Ling'gtegschd",
-'extlink_tip' => 'Externer Link (uff http:// Acht gewwe)',
-'headline_sample' => 'Abschnitts-Iwwerschrift',
-'headline_tip' => 'Iwwerschrift Ewene 2',
-'nowiki_sample' => 'Gebb do en Text ai, wu nit formatiert wird',
-'nowiki_tip' => 'Wiki-Formatierunge ignoriere',
-'image_tip' => 'Bildverwais',
-'media_tip' => 'Dadeilink',
+'bold_sample' => 'Feddi Schrifd',
+'bold_tip' => 'Feddi Schrifd',
+'italic_sample' => 'Schebbi Schrifd',
+'italic_tip' => 'Schebbi Schrifd',
+'link_sample' => 'Schdischwoad',
+'link_tip' => 'Inderna Lingg',
+'extlink_sample' => 'http://www.example.com Linggtegschd',
+'extlink_tip' => 'Exderna Lingg (uff http:// uffbasse)',
+'headline_sample' => 'Schlaachzail',
+'headline_tip' => 'Iwwaschrifd Ewene 2',
+'nowiki_sample' => 'Gebb do en Tegschd ai, wu nit uffberaid werd',
+'nowiki_tip' => 'Wiki-Formatierunge ned beachde',
+'image_tip' => 'Bildvawais',
+'media_tip' => 'Dadailingg',
 'sig_tip' => 'Dai Unnerschrifd mid ener Zaidaagab',
 'hr_tip' => 'Horizontale Linie (sparsam verwenne)',
 
 # Edit pages
-'summary' => 'Zammefassung:',
+'summary' => 'Iwwabligg:',
 'subject' => 'Bedreff:',
 'minoredit' => 'Des isch e klänni Bearwaidung',
-'watchthis' => 'Die Said beowachde',
+'watchthis' => 'Die Said im Aach bhalde',
 'savearticle' => 'Said schbeichere',
 'preview' => 'Voaschau',
-'showpreview' => 'Vorschau zaische',
-'showlivepreview' => 'Live-Vorschau',
-'showdiff' => 'Ännerunge zaische',
-'anoneditwarning' => "'''Warnung:''' Du bischt nit aagemeldt. Dai IP-Adress werd in de Gschichd vum Artikel gspaichert.",
-'summary-preview' => 'Zammefassung:',
+'showpreview' => 'Voaschau zaische',
+'showlivepreview' => 'Live-Voaschau',
+'showdiff' => 'Ännarunge zaische',
+'anoneditwarning' => "'''Baßma uff:''' Du bischd nit aagemeld. Dai IP-Adress werd inde Gschischd vum Adiggl gschbaischad.",
+'summary-preview' => 'Iwwabligg:',
+'blockednoreason' => "s'hod kän Grund",
 'newarticle' => '(Nai)',
 'newarticletext' => "Du bisch eme Link nogange zu re Said, wu s no gar nit gebbt.
 Zum die Said aaleche, kannscht do in dem Käschtel unne aafange mid schraiwe (guck[[{{MediaWiki:Helppage}}|Hilfe]] fer meh Informatione).
 Wenn do nid hin hoscht welle, no druck in Daim Browser uff '''Zrick'''.",
-'noarticletext' => 'Uff derre Said gebbt\'s noch kää Text. Du kannschd uff annere Saide [[Special:Search/{{PAGENAME}}|de Aidrach suche]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} de Logbuchaidrach suche, wu dezu ghert],
-orrer [{{fullurl:{{FULLPAGENAME}}|action=edit}} die Said bearwaide]</span>.',
+'noarticletext' => 'Uffde Said hods noch kän Tegschd. Du konnschd uff onnare 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>.',
+'updated' => '(Gännad)',
+'note' => "'''Hiwes:'''",
 'previewnote' => "'''Deng'g droa, dass des numme e Vorschau isch.'''
 Doi Ännerunge sinn no nid gschbaichert worre!",
-'editing' => 'Am $1 bearwaide',
-'editingsection' => '$1 bearwaide (Abschnitt)',
+'editing' => 'Om $1 beawaide',
+'editingsection' => '$1 beawaide (de Deel)',
 'yourtext' => 'Doin Tegschd',
 'storedversion' => 'Gschbaischerdi Version',
 'yourdiff' => 'Unaschied',
-'copyrightwarning' => "Bidde gebb achd, dass alle Baidräch zu {{SITENAME}} unner $2 vereffentlischd werre (guck $1 fer mehr Details).
-Wenn du nit willschd, dass deswu du gschriwwe hoschd, gänneret un kopierd werre kann, dann duu s do nit naischraiwe.<br />
-du gebbschd do au zu, dass Du des selwerschd gschriwwe hoschd orrer vun ere effendliche, fraie Quell ('''public domain''') orrer vun ere ähnliche fraie Quell her hoschd.
-'''SCHRAIB DO NIX NAI, WAS URHEWERRECHDLICH GSCHIZD ISCH!'''",
-'templatesused' => '{{PLURAL:$1|Vorlach wu uff derre Said gbrauchd werd|Vorlache wu uff derre Said gbrauchd werre}}:',
-'templatesusedpreview' => '{{PLURAL:$1|Vorlach wu in derre Vorschau gbrauchd werd|Vorlache wu in derre Vorschau gbrauchd werre}}:',
+'copyrightwarning' => "Baß uff, dass alli Baidräch fa {{SITENAME}} unna $2 vaeffendlischd werren (gugg $1 fa mea Enzlhaide).
+Wonnsda ned basse dud, dass des wu gschriwwe hoschd, gännad un kopiead werre konn, donn duus do ned noischraiwe.<br />
+Du gibbschd do a zu, dasses selwaschd gschriwwe hoschd odda vuna effendlischi, fraiji Gwell ('''public domain''') odda vuna ähnlichi fraiji Gwell hawe duschd.
+'''Du do nix noi schraiwe, wa unnam Uahewareschd gschizd isch!'''",
+'templatesused' => '{{PLURAL:$1|Vorlach wu uffde Said gbrauchd werd|Vorlache wu uffde Saide gbrauchd werren}}:',
+'templatesusedpreview' => '{{PLURAL:$1|Vorlach wu inde Vorschau gbrauchd werd|Vorlache wu inde Vorschau gbrauchd werren}}:',
 'template-protected' => '(gschizd)',
-'template-semiprotected' => '(halb-gschizd)',
+'template-semiprotected' => '(halwa-gschizd)',
 'hiddencategories' => 'Die Said ghert zu {{PLURAL:$1|1 versteckelte Kategorie|$1 versteckelte Kategorie}}:',
-'permissionserrorstext-withaction' => 'Du därfscht nid $2, aus {{PLURAL:$1|dem Grund|denne Grind}}:',
+'permissionserrorstext-withaction' => 'Du därfscht nid $2, wesche{{PLURAL:$1|m Grund|de Grind}}:',
+'recreate-moveddeleted-warn' => "'''Baßma uff: Du magschd do ä Said, wuma frija schumol geleschd kabd hod.'''",
 'moveddeleted-notice' => 'Die Said isch gleschd worre.
 De Leschaidrach fa die Said isch do unne als Kwell aagewwe.',
 
+# Content models
+'content-model-css' => 'CSS',
+
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => "'''Baßma uff:''' Greeß vunde Vorlach isch iwwaschridde. Oinischi Vorlache werren ned bnuzd.",
+'post-expand-template-inclusion-category' => 'Saide mid Vorlache, wu die Greeß iwwaschridde worre isch',
+'post-expand-template-argument-warning' => "'''Baßma uff:''' Die Said hod wenigschdns ä Vorlach mida Kenngreeß, wu groß werre dud. Die Kenngreeß wead do ned ogeguggd.",
+
 # History pages
 'viewpagelogs' => 'Lochbischer fer die Said aagucke',
 'currentrev' => 'Ledschdi Änarung',
-'currentrev-asof' => 'Agduell Version vun $1',
-'revisionasof' => 'Version vun $1',
-'previousrevision' => '← Äldere Versione',
-'nextrevision' => 'Naiere Versione →',
-'currentrevisionlink' => 'Agduell Version',
-'cur' => 'jetzert',
-'next' => 'Negschde',
-'last' => 'vorich',
+'currentrev-asof' => 'Agduell Ausgab vun $1',
+'revisionasof' => 'Iwwaawaidung vun $1',
+'revision-info' => 'Ännarung vun $1 duasch $2',
+'previousrevision' => '← Älderi Beawaidung',
+'nextrevision' => 'Naijare Ausgab →',
+'currentrevisionlink' => 'Agduell Ausgab',
+'cur' => 'jedzischi',
+'next' => 'Negschd',
+'last' => 'vorischi',
+'page_first' => 'Easchd',
+'page_last' => 'Ledschd',
 'histlegend' => "Du kannscht zwää Versione auswähle un verglaiche.<br />
 Erklärung: '''({{int:cur}})''' = Unnerschied zu jetzert,
 '''({{int:last}})''' = Unnerschied zu de voriche Version, '''{{int:minoreditletter}}''' = klenni Ännerung.",
-'history-fieldset-title' => 'In de Versionsgschichd gugge',
+'history-fieldset-title' => 'Gugg die Gschischd',
+'history-show-deleted' => 'Bloß gleschdi Saide zaische',
 'histfirst' => 'Ältschde',
 'histlast' => 'Naischde',
+'historyempty' => '(lea)',
 
 # Revision feed
 'history-feed-item-nocomment' => '$1 om $2',
 
 # Revision deletion
 'rev-delundel' => 'zaisch/verschdeggle',
+'rev-showdeleted' => 'zaische',
 'revdelete-show-file-submit' => 'Ja',
+'revdelete-radio-same' => '(dudo nix ännare)',
 'revdelete-radio-set' => 'Ja',
 'revdelete-radio-unset' => 'Nä',
-'revdelete-submit' => 'Uff die gewehld {{PLURAL:$1|Version|Versione}} owende',
-'revdel-restore' => 'Sischdbakaid ännere',
-'revdel-restore-deleted' => 'gleschdi Änarunge',
-'revdel-restore-visible' => 'sischdbari Änarunge',
+'revdelete-submit' => 'Uff die {{PLURAL:$1|gewehld Asugab|gewehldi Ausgawe}} owende',
+'revdel-restore' => 'Sischdbakaid ännare',
+'revdel-restore-deleted' => 'gleschdi Ännarunge',
+'revdel-restore-visible' => 'sischdbari Ännarunge',
+'pagehist' => 'Gschischd vunde Said',
+
+# History merging
+'mergehistory-go' => 'Zaisch, wasma vaoinische konn',
 
 # Merge log
-'revertmerge' => 'Zammefiehrung rickgängich mache',
+'revertmerge' => 'Zammefiehrung rigggängisch mache',
 
 # Diffs
-'history-title' => 'Änarungsgschischd vun "$1"',
+'history-title' => 'Ännarungsgschischd vun "$1"',
 'lineno' => 'Zail $1:',
-'compareselectedversions' => 'Die Versione mitenonner vergleiche',
-'editundo' => 'zerigg',
+'compareselectedversions' => 'Ausgawe midnonna vaglaische',
+'showhideselectedversions' => 'Zaisch/Vaschdeggl gwehldi Ausgawe',
+'editundo' => 'zriggnemme',
 
 # Search results
-'searchresults' => 'Ergebnis suche',
-'searchresults-title' => 'Ergebnis suche fer "$1"',
-'searchresulttext' => 'Fer mehr Informatione iwwer d Such in {{SITENAME}}, guck emol uff [[{{MediaWiki:Helppage}}|{{int:help}}]].',
-'searchsubtitle' => 'Du hoscht no \'\'\'[[:$1]]\'\'\' gesucht ([[Special:Prefixindex/$1|alle Saide wo mit "$1" aafange]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|alle Saide wo uf "$1" verlinkt sin]])',
-'searchsubtitleinvalid' => "Du hoscht '''$1''' gsucht",
-'notitlematches' => 'Kää Saidetitel gfunne',
-'notextmatches' => 'Kää Iwwerainstimmunge mit Inhalde',
-'prevn' => 'voriche {{PLURAL:$1|$1}}',
-'nextn' => 'negschte {{PLURAL:$1|$1}}',
-'prevn-title' => 'Frijari $1 {{PLURAL:$1|result|Ergewnis}}',
-'nextn-title' => 'Negschdi $1 {{PLURAL:$1|result|Ergewnis}}',
-'shown-title' => 'Zaisch $1 {{PLURAL:$1|Ergewnis}} vunde Said',
+'searchresults' => 'Eagewnis nochgugge',
+'searchresults-title' => 'Eagewnis gugge fa "$1"',
+'searchresulttext' => 'Fa mea Ogawe iwwas Nochgugge uff {{SITENAME}}, guggmol uff [[{{MediaWiki:Helppage}}|{{int:help}}]].',
+'searchsubtitle' => 'Du hoschd noch \'\'\'[[:$1]]\'\'\' geguggd ([[Special:Prefixindex/$1|alle Saide, wu mid "$1" aafange]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|alle Saide, wu uff "$1" valinggd sinn]])',
+'searchsubtitleinvalid' => "Du hoschd '''$1''' gsuchd",
+'notitlematches' => 'Kän Saidedidl gfunne',
+'notextmatches' => 'Kä Iwwaoinschdimmunge midm Tegschd',
+'prevn' => 'vorisch {{PLURAL:$1|$1}}',
+'nextn' => 'negschd {{PLURAL:$1|$1}}',
+'prevn-title' => 'Frijari $1 {{PLURAL:$1|Ergewnis|Ergewnis}}',
+'nextn-title' => 'Negschdi $1 {{PLURAL:$1|Ergewnis|Ergewnis}}',
+'shown-title' => 'Zaisch $1 {{PLURAL:$1|Ergewnis}} bro Said',
 'viewprevnext' => 'Gugg ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => "'''Dohods ä Said \"[[:\$1]]\".'''",
+'searchmenu-new' => "'''Mach die Said „[[:$1]]“ im Wiki.'''",
+'searchprofile-articles' => 'Inhald',
+'searchprofile-project' => 'Hilf- un Brojegdsaide',
+'searchprofile-images' => 'Multimedia',
 'searchprofile-everything' => 'Alles',
+'searchprofile-advanced' => 'Foadgschridde',
 'searchprofile-articles-tooltip' => 'In $1 gugge',
 'searchprofile-project-tooltip' => 'In $1 gugge',
-'searchprofile-images-tooltip' => 'Gugg noch Bilder',
-'searchprofile-advanced-tooltip' => 'Gugg in onare Nomensraim',
-'search-result-size' => '$1 ({{PLURAL:$2|1 Word|$2 Wärder}})',
-'search-redirect' => '(Wairerlaitung $1)',
-'search-section' => '(Abschnitt $1)',
-'search-suggest' => 'Hoscht gemäänt: $1',
+'searchprofile-images-tooltip' => 'Gugg noch Bilda',
+'searchprofile-everything-tooltip' => 'Such iwwaraal (a wuma dischbedierd)',
+'searchprofile-advanced-tooltip' => 'Gugg in onare Nomensreum',
+'search-result-size' => '$1 ({{PLURAL:$2|1 Word|$2 Wärda}})',
+'search-redirect' => '(Waidalaidung $1)',
+'search-section' => '(Abschnidd $1)',
+'search-suggest' => 'Hoschd gemäänd: $1',
 'search-interwiki-caption' => 'Schweschterprojekt',
 'search-interwiki-default' => '$1 Ergebnis:',
 'search-interwiki-more' => '(meh)',
+'search-relatedarticle' => 'Vawond',
+'mwsuggest-disable' => 'Schald Voaschlesch ab',
+'searchrelated' => 'vawond',
 'searchall' => 'alle',
+'showingresultsheader' => "{{PLURAL:$5|Ergewnis '''$1''' vun '''$3'''|Ergewnis '''$1–$2''' vun '''$3'''}} fa '''$4'''",
 'nonefound' => "'''Hiiwais:''' S werre standardmäßich numme e Dail Namensraim durchsucht. Setz ''all:'' vor Dai Suchbegriff zum alle Saide (mit Dischbediersaide, Voalaache usw.) durchsuche odder direkt de Name vum Namensraum, wu durchsucht werre sell.",
 'search-nonefound' => 'Fa die Such hods kä Ergewnis.',
 'powersearch' => 'Erwaiterte Such',
 'powersearch-legend' => 'Erwaiterte Such',
 'powersearch-ns' => 'In de Namensraim suche:',
-'powersearch-redir' => 'Wairerlaitunge aazaiche',
+'powersearch-redir' => 'Waiderlaidunge aazaische',
 'powersearch-field' => 'Suche noch',
+'powersearch-togglelabel' => 'Wehl:',
+'powersearch-toggleall' => 'Alli',
 'powersearch-togglenone' => 'Kään',
 
 # Preferences page
-'preferences' => 'Optione',
-'mypreferences' => 'Oistellunge',
-'saveprefs' => 'Oischdellunge schbeichere',
-'resetprefs' => 'Oischdellunge verwerfe',
+'preferences' => 'Obzione',
+'mypreferences' => 'Oischdellunge',
+'prefs-watchlist' => 'Beowachdungslischd',
+'prefs-misc' => 'Schunschdisches',
+'saveprefs' => 'Oischdellunge schbaischere',
+'resetprefs' => 'Oischdellunge vawerfe',
+'prefs-editing' => 'Schaffe',
+'rows' => 'Zaile',
+'columns' => 'Schbalde',
+'searchresultshead' => 'Nochgugge',
+'resultsperpage' => 'Dreffa bro Said',
+'stub-threshold-disabled' => 'Abgschdeld',
 'guesstimezone' => 'Aus em Browser iwwernemme',
-'yourrealname' => 'Birscherlischer Nome:',
+'timezoneregion-europe' => 'Oirobba',
+'prefs-searchoptions' => 'Nochgugge',
+'youremail' => 'E-Mail:',
+'yourrealname' => 'Birschalischa Nome:',
 'yourlanguage' => 'Schbrooch:',
+'yournick' => 'Naiji Unnaschfrid',
+'yourgender' => 'Gschleschd:',
 'gender-unknown' => 'Ghoim gkalde',
+'gender-male' => 'Männlisch',
+'gender-female' => 'Waiblisch',
+'prefs-help-email-others' => 'Konschd a wehle, ob onnare disch iwwan Lingg uff doina Dischbedier-Said oschbresche kennen.
+Doi Meil-Address isch ned zaisch nix waida.',
+'prefs-diffs' => 'Unaschied',
+
+# User rights
+'userrights-groupsmember' => 'Midglied vun:',
 
 # Groups
 'group' => 'Grubb:',
+'group-user' => 'Benudza',
 'group-bot' => 'Bots',
 'group-sysop' => 'Adminischdradore',
-'group-bureaucrat' => 'Birokrade',
+'group-bureaucrat' => 'Birograde',
 'group-all' => '(alle)',
 
 'group-bot-member' => '{{GENDER:$1|Bot}}',
@@ -421,6 +527,13 @@ Erklärung: '''({{int:cur}})''' = Unnerschied zu jetzert,
 
 'grouppage-sysop' => '{{ns:project}}:Adminischtratore',
 
+# Rights
+'right-move' => 'Said bwesche',
+'right-move-subpages' => 'Said midde Unasaide bwesche',
+'right-movefile' => 'Saide vaschiewe',
+'right-upload' => 'Dadaije nufflade',
+'right-delete' => 'Saide lesche',
+
 # Special:Log/newusers
 'newuserlogpage' => 'Naiaameldungs-Logbuch',
 
@@ -428,108 +541,135 @@ Erklärung: '''({{int:cur}})''' = Unnerschied zu jetzert,
 'rightslog' => 'Benutzerrecht-Logbuch',
 
 # Associated actions - in the sentence "You do not have permission to X"
-'action-edit' => 'die Said bearwaide',
+'action-edit' => 'die Said beawaide',
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|Ännerung|Ännerunge}}',
-'recentchanges' => 'Was zuledschd gemachd worre isch',
-'recentchanges-legend' => 'Optione vun de Aazaich',
+'recentchanges' => 'Ledschdi Ännarunge',
+'recentchanges-legend' => 'Wehl ä Aazaisch fa die ledschdi Ännarunge',
 'recentchanges-feed-description' => 'Di letschte Ännerunge vun {{SITENAME}} in des Feed aigewwe.',
+'recentchanges-label-newpage' => 'Domid magschd ä naiji Said',
 'recentchanges-label-minor' => "S'ische glänni Beawaidung",
+'recentchanges-label-bot' => 'Ännarunge duaschn Bod',
+'recentchanges-label-unpatrolled' => 'Die Änarung isch noch ned iwwabriefd worre',
 'rcnote' => "Aagezaicht {{PLURAL:$1|werd '''1''' Ännerung|werre die letschte '''$1''' Ännerunge}} {{PLURAL:$2|vum letschte Dach|in de letschte '''$2''' Dache}} (Stand: $4, $5)",
-'rclistfrom' => 'Zeich die ledschde Ännerunge ab $1',
-'rcshowhideminor' => 'Klenne Ännerunge $1',
+'rclistfrom' => 'Zaisch die ledschd Ännarunge ab $1',
+'rcshowhideminor' => 'Klenne Ännarunge $1',
 'rcshowhidebots' => 'Bots $1',
 'rcshowhideliu' => 'Aagemeldte Benutzer $1',
-'rcshowhideanons' => 'Nit aagemeldte Benutzer $1',
-'rcshowhidemine' => 'Mai Bearwaidunge $1',
-'rclinks' => 'Zeich die letschte $1 Ännerunge in de letschte $2 Dache<br />$3',
-'diff' => 'Unnerschied',
-'hist' => 'Gschichd',
+'rcshowhideanons' => 'Nit aagemeldt Benutzer $1',
+'rcshowhidepatr' => '$1 iwabriefde Ännarunge',
+'rcshowhidemine' => 'Mai Beawaidunge $1',
+'rclinks' => 'Zaich die letschde $1 Ännarunge inde ledschde $2 Dach<br />$3',
+'diff' => 'Unnaschied',
+'hist' => 'Gschischd',
 'hide' => 'vaschdeggle',
 'show' => 'zaische',
 'minoreditletter' => 'k',
 'newpageletter' => 'N',
 'boteditletter' => 'B',
-'rc-enhanced-expand' => "Details zaische (dodezu braucht's JavaScript)",
-'rc-enhanced-hide' => 'Dedails versdeckle',
+'rc_categories_any' => 'Ebbes',
+'rc-enhanced-expand' => 'Änzlhaide zaische (dozu brauchds JavaScript)',
+'rc-enhanced-hide' => 'Ogawe vaschdeggle',
 
 # Recent changes linked
-'recentchangeslinked' => 'Was on verlinkde Saide gemacht worre isch',
-'recentchangeslinked-feed' => 'Was on verlinkde Seide gemacht worre isch',
-'recentchangeslinked-toolbox' => 'Was on verlinkde Seide gemacht worre isch',
-'recentchangeslinked-title' => 'Ännerunge an Saide, wu „$1“ druf verlinkt',
-'recentchangeslinked-summary' => "Des isch e Lischt vun Ännerunge, wu erscht gmacht worre sin an Saide, die wu vun ere bstimmte Said verlinkt sin (odder die wu zu ere bstimmte Kadegorie ghere).
-Saide uff [[Special:Watchlist|Dainer Beowachdungslischt]] sin '''fett'''.",
+'recentchangeslinked' => 'Was on verlinggde Saide gännad worre isch',
+'recentchangeslinked-feed' => 'Ännarunge on valinggde Saide',
+'recentchangeslinked-toolbox' => 'Ännarunge on verlingde Saide',
+'recentchangeslinked-title' => 'Ännarunge on Saide, wu „$1“ druff verlinggd',
+'recentchangeslinked-noresult' => 'Inde Zaid ischdo nix gännad worre.',
+'recentchangeslinked-summary' => "Die Lischd zaischd ledschde Ännarunge, vunna bschdimmde Said, wu do valinggd isch (odda zu Midglied vuna bschdimmde Kadegorije isch).
+Saide uff [[Special:Watchlist|Dainer Beowachdungslischd]] sinn '''fedd'''.",
 'recentchangeslinked-page' => 'Saide:',
-'recentchangeslinked-to' => 'Zaisch Ännerunge uff Saide, wu do her verlinkt sinn',
+'recentchangeslinked-to' => 'Zaisch Ännarunge uff Saide, wu do her valinggd sinn',
 
 # Upload
 'upload' => 'Nufflade',
-'uploadbtn' => 'Datei hochlade',
-'uploadlogpage' => 'Dateie-Logbuch',
-'filedesc' => 'Zommefassung',
-'fileuploadsummary' => 'Zommefassung:',
-'savefile' => 'Datei schbeichere',
+'uploadbtn' => 'Dadai nufflade',
+'uploadlogpage' => 'Dadaije-Logbuch',
+'filedesc' => 'Iwwabligg',
+'fileuploadsummary' => 'Iwwabligg:',
+'savefile' => 'Dadai schbaischere',
 'uploadedimage' => 'hod „[[$1]]“ nuffglade',
 
 # Lock manager
-'lockmanager-notlocked' => '„$1“ hod ned uffgmachd were kenne, die isch ganed gschberd gwesd.',
+'lockmanager-notlocked' => "„$1“ hod ned uffgmachd were kenne, s'isch ganed gschberd gwesd.",
 'lockmanager-fail-closelock' => 'Die gbscherd Dadai „$1“ hod ned gschlosse were kenne.',
 'lockmanager-fail-deletelock' => 'Die gbscherd Dadai „$1“ hod ned gleschd were kenne.',
 'lockmanager-fail-acquirelock' => '„$1“ komma ned schberre.',
 'lockmanager-fail-openlock' => 'Die gschberd Dadai „$1“ komma ned uffmache.',
 'lockmanager-fail-releaselock' => '„$1“ konn ned fraigewe werre.',
 
+'license' => 'Bwillischung',
+'license-header' => 'Bwillischung',
+
 # Special:ListFiles
+'listfiles_name' => 'Nome',
+'listfiles_size' => 'Greeß',
 'listfiles_count' => 'Versione',
 
 # File description page
-'file-anchor-link' => 'Datei',
-'filehist' => 'Dateigschischd',
-'filehist-help' => 'Drick uff e Zaidpunkt zum aazääche, wie s dort ausgsähne hot.',
-'filehist-revert' => 'zuriggsedze',
-'filehist-current' => 'akduell',
+'file-anchor-link' => 'Dadai',
+'filehist' => 'Dadaigschischd',
+'filehist-help' => 'Drigg uff e Zaidpunggd zum aazaische, wie s dord ausgseh hod.',
+'filehist-deleteall' => 'alles lesche',
+'filehist-deleteone' => 'lesche',
+'filehist-revert' => 'zriggsedze',
+'filehist-current' => 'agduell',
 'filehist-datetime' => 'Zaidpungd',
-'filehist-thumb' => 'Vorschaubild',
-'filehist-thumbtext' => 'Vorschaubild fer Version vum $1',
+'filehist-thumb' => 'Gleenes Bild',
+'filehist-thumbtext' => 'Skizz fa die Ausgab vum $1',
 'filehist-user' => 'Benudzer',
-'filehist-dimensions' => 'Moß',
-'filehist-comment' => 'Kommentar',
+'filehist-dimensions' => 'Maß',
+'filehist-comment' => 'Aißarung',
 'imagelinks' => 'Dadaivawendung',
 'linkstoimage' => 'Die {{PLURAL:$1|Said verwaisd|$1 Saide verwaise}} uff die Datei:',
+'nolinkstoimage' => 'Do hods kä Said, wu dohea zaischd.',
 'sharedupload' => 'Die Datei isch vun $1 un s kann sai, dass se ach vun annere Projekt gebraucht werd.',
 'uploadnewversion-linktext' => 'E naiere Version vun derre Datei hochlade',
 
 # File deletion
+'filedelete' => 'Lesch $1',
+'filedelete-legend' => 'Dadai lesche',
 'filedelete-submit' => 'Lesche',
+'filedelete-success' => "'''$1''' isch gleschd worre.",
+'filedelete-maintenance-title' => 'Dadai konnned gleschd werre',
+
+# MIME search
+'download' => 'Runalaade',
 
 # Random page
-'randompage' => 'Irnd en Adiggel',
+'randompage' => 'Irschnd en Adiggl',
 
 # Statistics
-'statistics' => 'Statischtike',
+'statistics' => 'Schdadischdigge',
+'statistics-pages' => 'Saide',
+
+'disambiguationspage' => 'Template:Vadaidlischung',
 
-'brokenredirects-edit' => 'bearwaide',
+'brokenredirects-edit' => 'beawaide',
 'brokenredirects-delete' => 'lesche',
 
+'withoutinterwiki-submit' => 'Zaische',
+
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|Byte|Bytes}}',
-'nmembers' => '$1 {{PLURAL:$1|Mitglied|Mitglieder}}',
+'nmembers' => '$1 {{PLURAL:$1|Dailnemma|Dailnemma}}',
 'prefixindex' => 'Alle Saide (mid Präfix)',
-'newpages' => 'Naie Saide',
+'listusers-editsonly' => 'Zaisch bloß Bnudza mid Baidräsch',
+'newpages' => 'Naije Saide',
 'move' => 'Verschiewe',
 'movethispage' => 'Die Said verschiewe',
 'pager-newer-n' => '{{PLURAL:$1|negschte 1|negschte $1}}',
 'pager-older-n' => '{{PLURAL:$1|vorich 1|voriche $1}}',
 
 # Book sources
-'booksources' => 'Buchqwelle',
+'booksources' => 'Buchgwelle',
 'booksources-search-legend' => 'No Buchquelle suche',
 'booksources-go' => 'Geh',
 
 # Special:Log
-'log' => 'Logbicher',
+'log' => 'Logbischa',
 
 # Special:AllPages
 'allpages' => 'Alle Saide',
@@ -539,25 +679,33 @@ Saide uff [[Special:Watchlist|Dainer Beowachdungslischt]] sin '''fett'''.",
 'allpagesto' => 'Saide aazaische wu ufhere mid:',
 'allarticles' => 'Alle Saide',
 'allpagesprev' => 'Voriche',
-'allpagesnext' => 'Negschte',
+'allpagesnext' => 'Negschd',
 'allpagessubmit' => 'Zaische',
 
+# Special:Categories
+'categories' => 'Kadegorije',
+
 # Special:LinkSearch
-'linksearch' => 'Externe Links',
+'linksearch' => 'Exderne Lings',
+'linksearch-line' => '$1 isch vun $2 valinggd',
 
 # Special:ListGroupRights
 'listgrouprights-members' => '(Midgliederlischd)',
 
 # Email user
 'emailuser' => 'E-Mail on de Benutzer',
+'emailfrom' => 'Vum:',
+'emailto' => 'Fa:',
+'emailsubject' => 'Bdreff:',
+'emailmessage' => 'Middeelung:',
 'emailsend' => 'Abschigge',
 
 # Watchlist
 'watchlist' => 'Beowachdungslischd',
 'mywatchlist' => 'Beowachdungslischd',
 'watchlistfor2' => 'Vun $1 $2',
-'addedwatchtext' => "Die Said \"[[:\$1]]\" isch zu Dainer [[Special:Watchlist|Beowachdungslischt]] zugefiecht worre.
-Zukimftiche Ännerunge an derre Said un de Dischbediersaid, wu dezu ghert, werre doo aagezaicht, un d Said werd '''fett''' aagezaicht in de [[Special:RecentChanges|Letschte Ännerunge]] fer dass es ääfacher isch zum finne.",
+'addedwatchtext' => "Die Said \"[[:\$1]]\" isch zu Doina [[Special:Watchlist|Beowachdungslischt]] zugfieschd worre.
+Zukinfdischi Ännarunge onde Said unde Dischbediersaid, wu dzu kead, werren doo aagzaischd, un die Said werd '''fedd''' aagzaisch inde [[Special:RecentChanges|Ledschdi Ännarunge]] domidmas efacha finne konn.",
 'removedwatchtext' => 'D Said "[[:$1]]" isch aus [[Special:Watchlist|Dainer Beowachdungslischt]] rausgenumme worre.',
 'watch' => 'Beowachde',
 'watchthispage' => 'Die Said beowachde',
@@ -574,11 +722,12 @@ Zukimftiche Ännerunge an derre Said un de Dischbediersaid, wu dezu ghert, werre
 
 # Delete
 'deletepage' => 'Said lesche',
-'confirm' => 'Bestädiche',
+'confirm' => 'Beschdedische',
 'delete-legend' => 'Lesche',
 'confirmdeletetext' => 'Du bisch debai e Said z lesche mid alle Versione.
 Bitte du bstätiche, dass Du des wllscht du, dass Du verstehsch, was des hääßt, un dass Du des machscht in Iwweraistimmung mit de [[{{MediaWiki:Policy-url}}|Richtline]].',
-'actioncomplete' => 'Agtion ferdisch',
+'actioncomplete' => 'Agzion ferdisch',
+'actionfailed' => 'Maßnohm gschaidad',
 'deletedtext' => '"$1" isch gelescht worre.
 Guck $2 fer e Lischt vun de letschte Leschunge.',
 'dellogpage' => 'Leschlogbuch',
@@ -587,11 +736,11 @@ Guck $2 fer e Lischt vun de letschte Leschunge.',
 'deletereasonotherlist' => 'Annere Grund',
 
 # Rollback
-'rollbacklink' => 'Zeriggsetze',
+'rollbacklink' => 'Zeriggsedze',
 
 # Protect
 'protectlogpage' => 'Saideschutz-Logbuch',
-'protectedarticle' => 'hot "[[$1]]" gschizd',
+'protectedarticle' => 'hod "[[$1]]" gschizd',
 'modifiedarticleprotection' => 'hot de Schutzstatus vun "[[$1]]" gännert',
 'protectcomment' => 'Grund:',
 'protectexpiry' => 'Bis:',
@@ -602,33 +751,34 @@ Guck $2 fer e Lischt vun de letschte Leschunge.',
 Do hot s di aktuelle Aistellunge vun de Said '''$1''':",
 'protect-cascadeon' => 'Die Said isch gschizd, wail se {{PLURAL:$1|zu derre Said ghert|zu denne Saide ghert}}, wu e Kaskadesperrung gelt.
 Der Schutzstatus vun derre Said kannscht ännere, awwer des hot kää Aifluss uff d Kaskadesperrung.',
-'protect-default' => 'Alle Benutzer erlääwe',
-'protect-fallback' => '«$1»-Berechdichung nedich',
-'protect-level-autoconfirmed' => 'Naie un nid aagemeldte Benutzer sperre',
-'protect-level-sysop' => 'Numme Adminischtratore',
+'protect-default' => 'Alle Benudzer erlauwe',
+'protect-fallback' => 'Bloß fa Laid mid "$1" Bereschdischung',
+'protect-level-autoconfirmed' => 'Naije un nid aagemeldte Benutzer schberre',
+'protect-level-sysop' => 'Bloß fa Adminischdradore',
 'protect-summary-cascade' => 'Kaskade',
 'protect-expiring' => 'bis $1 (UTC)',
+'protect-expiring-local' => 'bis $1',
 'protect-cascade' => 'Kaskadesperrung – alle aigebunnene Vorlache sinn midgsperrd.',
 'protect-cantedit' => 'Du kannscht de Schutzstatus vun derre Said nit ännere, wail Du nid d Berechdichung dezu hoscht.',
 'restriction-type' => 'Berechdichung:',
-'restriction-level' => 'Schutzewene:',
+'restriction-level' => 'Schudsewene:',
 
 # Restrictions (nouns)
-'restriction-edit' => 'Bearwaide',
+'restriction-edit' => 'Beawaide',
 'restriction-move' => 'Verschiewe',
 
 # Undelete
 'undelete' => 'Widderherschdelle',
 'undeletebtn' => 'Widderherschdelle',
-'undeletelink' => 'aagucke/wirrer herstelle',
+'undeletelink' => 'aagucke/widda herschdelle',
 'undeleteviewlink' => 'Ogugge',
-'undeletereset' => 'Zuricksetze',
+'undeletereset' => 'Zuriggsedze',
 'undelete-show-file-submit' => 'Ja',
 
 # Namespace form on various pages
 'namespace' => 'Nomensraum',
-'invert' => 'Auswahl umkehre',
-'blanknamespace' => '(Haaptsaid)',
+'invert' => 'Wahl dausche',
+'blanknamespace' => '(Schdadsaid)',
 
 # Contributions
 'contributions' => '{{GENDER:$1|Wasa gemachd hod}}',
@@ -636,166 +786,177 @@ Der Schutzstatus vun derre Said kannscht ännere, awwer des hot kää Aifluss uf
 'mycontris' => 'Baidräsch',
 'contribsub2' => 'Fer $1 ($2)',
 'uctop' => '(akduell)',
-'month' => 'un Monet (un frieher):',
-'year' => 'Ab em Johr (un frieher):',
+'month' => 'än Monad (un frija):',
+'year' => 'Abm Johr (un frieja):',
 
-'sp-contributions-newbies' => 'Zaich numme Baidräch vun naie Benutzerkonte',
-'sp-contributions-blocklog' => 'Sperrlogbuch',
+'sp-contributions-newbies' => 'Zaisch nua Baidräsch vun naije Konde',
+'sp-contributions-blocklog' => 'Schberrlogbuch',
+'sp-contributions-uploads' => 'Nufflade',
+'sp-contributions-logs' => 'Logbischa',
 'sp-contributions-talk' => 'Dischbediere',
-'sp-contributions-search' => 'No Baidräch suche',
-'sp-contributions-username' => 'IP-Adress orrer Benutzername:',
+'sp-contributions-search' => 'Noch Baidräsch gugge',
+'sp-contributions-username' => 'IP-Adress odda Benudzernome:',
+'sp-contributions-toponly' => 'Bloß agduelli Ännarunge zaische',
 'sp-contributions-submit' => 'Suche',
 
 # What links here
-'whatlinkshere' => 'Was doher zeischt',
+'whatlinkshere' => 'Was doher zaische dud',
 'whatlinkshere-title' => 'Saide wu uff "$1" verlinke',
 'whatlinkshere-page' => 'Said:',
-'linkshere' => "Die Saide verlinke zu '''[[:$1]]''':",
-'isredirect' => 'Wairerlaitungsaid',
-'istemplate' => 'Vorlacheaibindung',
-'isimage' => "Dadailing'g",
+'linkshere' => "Die Saide valingge uff '''[[:$1]]''':",
+'nolinkshere' => "Kä Said zaischd uff '''[[:$1]]'''.",
+'isredirect' => 'Waidalaidungsaid',
+'istemplate' => 'Vorlacheoibindung',
+'isimage' => 'Dadailingg',
 'whatlinkshere-prev' => '{{PLURAL:$1|vorich|voriche $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|negscht|negschte $1}}',
-'whatlinkshere-links' => '← Links',
-'whatlinkshere-hideredirs' => '$1 Wairerlaitunge',
+'whatlinkshere-next' => '{{PLURAL:$1|negschd|negschde $1}}',
+'whatlinkshere-links' => '← Linggs',
+'whatlinkshere-hideredirs' => '$1 Waidalaidunge',
 'whatlinkshere-hidetrans' => '$1 Vorlacheaibindunge',
-'whatlinkshere-hidelinks' => '$1 Links',
-'whatlinkshere-filters' => 'Filter',
+'whatlinkshere-hidelinks' => '$1 Linggs',
+'whatlinkshere-filters' => 'Filda',
 
 # Block/unblock
-'blockip' => 'Benutzer bloggiere',
-'ipbsubmit' => 'Benutzer bloggiere',
+'blockip' => 'Benudzer bloggiere',
+'ipbsubmit' => 'Benudzer bloggiere',
 'ipboptions' => '2 Stunne:2 hours,1 Dach:1 day,3 Dache:3 days,1 Woch:1 week,2 Woche:2 weeks,1 Monet:1 month,3 Monet:3 months,6 Monet:6 months,1 Johr:1 year,Fer immer:infinite',
-'ipusubmit' => 'Die Adreß freigewwe',
+'ipbotheroption' => 'onnari',
+'ipusubmit' => 'Die Adreß fraigewwe',
 'ipblocklist' => 'Gschberrdi IP-Adress un Benudzernome',
-'blocklink' => 'sperre',
+'infiniteblock' => 'ubgrensd',
+'blocklink' => 'schberre',
 'unblocklink' => 'Sperr uffhewe',
-'change-blocklink' => 'Sperr ännere',
-'contribslink' => 'Baidräch',
-'blocklogpage' => 'Sperrlogbuch',
+'change-blocklink' => 'Schberr ännare',
+'contribslink' => 'Baidräsch',
+'blocklogpage' => 'Schberrlogbuch',
 'blocklogentry' => 'hot [[$1]] gsperrt fer e Zaidraum vun $2 $3',
 'unblocklogentry' => 'hot d Sperr vun $1 uffghowwe',
-'block-log-flags-nocreate' => 'Aaleche vun Benutzerkonte isch gsperrt',
+'block-log-flags-nocreate' => 'Aalesche vun Benudzerkonde isch gschberrd',
 
 # Developer tools
-'lockbtn' => 'Dadebonk schberre',
-'unlockbtn' => 'Dadebonk freigewwe',
+'lockbtn' => 'Dadebongg schberre',
+'unlockbtn' => 'Dadebongg fraigewwe',
 
 # Move page
-'move-page-legend' => 'Said verschiewe',
-'movepagetext' => "Mid dem Format kannscht ener Said e naie Name gewwe, debai werre alle alde Versione uff de nai Name verschowe.
-Aus em Alde Name werd e Wairerlaidungssaid´zum naie Name.
-Wairerlaidungssaide, wu uff de ald Name umlaire, kannscht automatisch aktualisiere.
-Wenn De des nid willsch, no guck uff [[Special:DoubleRedirects|doppelte]] orrer [[Special:BrokenRedirects|kaputte Wairerlaidunge]].
-Du solltescht defer sorche, dass Links wairer zu de richdiche Saide fiehre.
-
-Gebb Acht, dass die Said '''nid''' verschowe werd, wenn s scho e Said mid em naie Name hot, außer wenn se leer isch orrer e Wairerlaidung.
-Des hääßt, Du kannscht ke Said, wu s schun gebbt, iwwerschraiwe.
-
-'''WARNUNG!'''
-Des isch e wichdiche Ännerung fer e Said un kann ziehmlich unerwartet sai fer wichdiche Saide;
-bitte mach des numme, wenn Du die Folche vun derre Aktion kannsch abschätze.",
+'move-page-legend' => 'Said vaschiewe',
+'movepagetext' => "Midm Formad konnschd ä Said en naije Nome gewwe, debai werrem alli alde Ausgawe uffde nai Nome vaschowe.
+Ausm alde Nome werd e Waidalaidungssaid zum naije Nome.
+Waidalaidungssaide, wu uffde ald Nome umlaide dun, konnschd vun allä uffde naischde Schdond bringe.
+Wonndes ned willschd, guggschd uff [[Special:DoubleRedirects|dobbldi]] odda [[Special:BrokenRedirects|kabuddi Waidalaidunge]].
+Soasch dfia, dass Linggs waida uffdie rischdische Saide fiehan.
+
+Gebb Achd, dass die Said '''ned''' vaschowe werd, wonns schunä Said midm naije Nome hod, außa wonnse lea isch odda e Waidalaidung.
+Des heeßd, Du konnschd ke Said, wus schun gibbd, iwwaschraiwe.
+
+'''BAßMAUFF!'''
+Des isch e wischdischi Ännarung fa e Said un konn zimlisch uuerwaaded soi fa wischdischi Saide;
+mach des bloß, wonn die Folsche vunde Maßnohm a abschedze konnschd.",
 'movepagetalktext' => "D Dischbediersaid werd ach mid verschowe, '''ausser:'''
 * Du verschiebsch die Saide in e annere Namensraum, odder
 * s gebbt schun e Dischbediersaid mi dem Name, orrer
 * Du wählsch unne d Option, se nid z verschiewe.
 
 In denne Fäll misst mer d Dischbediersaid vun Hand kopiere.",
-'movearticle' => 'Said verschiewe:',
-'newtitle' => 'Zum naie Titel:',
+'movearticle' => 'Said vaschiewe:',
+'newtitle' => 'Zum naije Didl:',
 'move-watch' => 'Die Said beowachde',
-'movepagebtn' => 'Said verschiewe',
+'movepagebtn' => 'Said vaschiewe',
 'pagemovedsub' => 'Verschiewung hot geklappt',
 'movepage-moved' => '\'\'\'"$1" isch verschowe worre uff "$2"\'\'\'',
 'articleexists' => 'E Said mid dem Name gebbt s schun, orrer de Name, wu du gewählt hoscht, isch nid gildich.
 Bitte nemm e annere Name.',
 'talkexists' => "'''Die Said selwerschd, isch verschowe worre, awwer d Dischbediersaid hot nid kenne verschowe werre, wail s schun enni gebbt mid dem Name.
 Bitte duu se vun Hand zammefiehre.'''",
-'movedto' => 'verschowe uff',
+'movedto' => 'vaschowe uff',
 'movetalk' => 'Dischbediersaid, wu dezu ghert, verschiewe',
 'movelogpage' => 'Verschiewungs-Logbuch',
 'movereason' => 'Grund:',
-'revertmove' => 'Zerigg verschiewe',
+'revertmove' => 'Zurigg vaschiewe',
 'delete_and_move' => 'Lesche un Verschiewe',
 'delete_and_move_confirm' => 'Ja, Said lesche',
 
 # Export
 'export' => 'Saide expordiere',
-'export-submit' => 'Seide exbordiere',
+'export-submit' => 'Saide exbordiere',
+
+# Namespace 8 related
+'allmessagesname' => 'Nome',
+'allmessagesdefault' => 'Vorgewene Tegschd',
+'allmessages-filter-modified' => 'Vaännad',
 
 # Thumbnails
-'thumbnail-more' => 'Greßer mache',
+'thumbnail-more' => 'Mags greßa',
 
 # Special:Import
 'import-interwiki-submit' => 'Impordiere',
 
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Dai Benudzersaid',
-'tooltip-pt-mytalk' => 'Dai Dischbedier-Said',
+'tooltip-pt-mytalk' => 'Dai Said fas Dischbediere',
 'tooltip-pt-preferences' => 'Dai Aistellunge',
-'tooltip-pt-watchlist' => 'D Lischt vun Saide, die wu du beowachde dusch',
-'tooltip-pt-mycontris' => 'Lischd vun Daine Baidräch',
-'tooltip-pt-login' => 'Du kannscht Dich aamelde, awwer du muscht s nit',
+'tooltip-pt-watchlist' => 'D Lischd vun Saide, wu du beowachde duschd',
+'tooltip-pt-mycontris' => 'Lischd vun Daine Baidräsch',
+'tooltip-pt-login' => 'Du konnschd disch aamelde, awwer du mugschd s nit',
 'tooltip-pt-logout' => 'Abmelde',
-'tooltip-ca-talk' => 'Iwwer d Inhaltssaid dischbediere',
-'tooltip-ca-edit' => 'Du kannschd die Said bearwaide.
-Bidde nemmde Vorschau-Knobb vorm Schbaischere',
+'tooltip-ca-talk' => 'Iwwa d Inhaldssaid dischbediere',
+'tooltip-ca-edit' => 'Du konnschd die Said beawaide.
+Bidde nemmde Vorschau-Gnobb vorm Schbaischare',
 'tooltip-ca-addsection' => 'E naie Abschnitt aaleche',
-'tooltip-ca-viewsource' => 'Die Said isch gschizd.
-Du kannscht awwer de Quelltegschd aagucke',
+'tooltip-ca-viewsource' => 'Die Said isch gschizd. Du konnschd awwa de Gwelltegschd aagugge.',
 'tooltip-ca-history' => 'Ledschde Versione vun derre Said',
 'tooltip-ca-protect' => 'Die Said schidze',
 'tooltip-ca-delete' => 'Die Said lesche',
-'tooltip-ca-move' => 'Die Said verschiewe',
-'tooltip-ca-watch' => 'Die Said zu Dainere Beowachdungslischt zufieche',
-'tooltip-ca-unwatch' => 'Die Said aus Dainer Beowachdunschlischde rausnemme',
-'tooltip-search' => 'Durchsuch {{SITENAME}}',
+'tooltip-ca-move' => 'Die Said vaschiewe',
+'tooltip-ca-watch' => 'Die Said zu Dainer Beowachdungslischd zufiesche',
+'tooltip-ca-unwatch' => 'Die Said aus Dainer Beowachdunschlischd wegnemme',
+'tooltip-search' => 'Gugg uff {{SITENAME}} noch',
 'tooltip-search-go' => 'Geh zu ere Said mid genää dem Namme, wenn s se gebbt',
-'tooltip-search-fulltext' => 'Gugg in de Said nochm Tegschd',
-'tooltip-p-logo' => 'Haubdsaid',
-'tooltip-n-mainpage' => 'Uff d Hääptsaid geh',
-'tooltip-n-mainpage-description' => 'Haubdsaid aagucke',
+'tooltip-search-fulltext' => 'Gugg inde Said nochm Tegschd',
+'tooltip-p-logo' => 'Schdadsaid',
+'tooltip-n-mainpage' => 'Uff d Schdadsaid geje',
+'tooltip-n-mainpage-description' => 'Haubdsaid aagugge',
 'tooltip-n-portal' => 'Iwwers Brojegd, wude duu kannschd, wu ebbes finne duschd',
-'tooltip-n-currentevents' => 'hinnergundsinformatione finne iwwer naie Eraichnis',
-'tooltip-n-recentchanges' => 'D Lischd vun de ledschde Ännerunge in dem Wiki',
-'tooltip-n-randompage' => 'E zufällisch Said lade',
-'tooltip-n-help' => 'De Ort zum rausfinne',
-'tooltip-t-whatlinkshere' => 'Lischd vun alle Wikisaide, wu do her verlingd sinn',
-'tooltip-t-recentchangeslinked' => 'Letschde Ännerunge in Saide, wu vun do verlinkt sin',
+'tooltip-n-currentevents' => 'Finn Auskinfd iwwa naiji Voafell',
+'tooltip-n-recentchanges' => 'Lischd vun de ledschde Ännarunge im Wiki',
+'tooltip-n-randompage' => 'Lad e zufellischi Said',
+'tooltip-n-help' => 'Do konschds rausfinne',
+'tooltip-t-whatlinkshere' => 'Lischd vun alle Wikisaide, wu do hie verlingd sinn',
+'tooltip-t-recentchangeslinked' => 'Ledschde Ännerunge in Saide, wu vun do verlinggd sin',
 'tooltip-feed-rss' => 'RSS feed fer die Said',
-'tooltip-feed-atom' => 'Atom feed fer die Said',
-'tooltip-t-contributions' => 'Die ledschde Baidräch vun däm Benudzer aagucke',
+'tooltip-feed-atom' => 'Atom-Feed fa die Said',
+'tooltip-t-contributions' => 'Die ledschde Baidräsch vum Benudzer aagugge',
 'tooltip-t-emailuser' => 'Dem Benutzer e E-Mail schicke',
-'tooltip-t-upload' => 'Dateije nufflade',
-'tooltip-t-specialpages' => 'Lischd vun alle Schbezialsaide',
-'tooltip-t-print' => 'Druggversion vun derre Said',
+'tooltip-t-upload' => 'Dadaije nufflade',
+'tooltip-t-specialpages' => 'Lischd vunde Schbezialsaide',
+'tooltip-t-print' => 'Druggausgab vunde Said',
 'tooltip-t-permalink' => 'E dauerhafte Link zu derre Version vun de Said',
-'tooltip-ca-nstab-main' => 'D Inhaldssaid aagucke',
-'tooltip-ca-nstab-user' => 'D Benutzersaid aagucke',
+'tooltip-ca-nstab-main' => 'Inhald agugge',
+'tooltip-ca-nstab-user' => 'D Benudzersaid aagucke',
 'tooltip-ca-nstab-special' => 'Des isch e Spezialsaid, du kannscht d Said sälwerscht nit ännere',
-'tooltip-ca-nstab-project' => 'D Projektsaid aagucke',
-'tooltip-ca-nstab-image' => 'D Dateisaid aaugucke',
-'tooltip-ca-nstab-template' => 'Vorlach aagucke',
-'tooltip-ca-nstab-category' => 'D Kategoriesaid aagucke',
-'tooltip-minoredit' => 'Des als klenne Ännerung markiere',
-'tooltip-save' => 'Dai Ännerunge spaichere',
+'tooltip-ca-nstab-project' => 'Brojegdsaid agugge',
+'tooltip-ca-nstab-image' => 'D Dadaisaid aaugugge',
+'tooltip-ca-nstab-template' => 'Vorlach aagugge',
+'tooltip-ca-nstab-category' => 'D Kadegoriesaid aagucke',
+'tooltip-minoredit' => 'Des als klenni Ännarung makiere',
+'tooltip-save' => 'Dai Ännerunge schbaischere',
 'tooltip-preview' => 'Guck Daine Ännerunge in de Vorschau aa, vor Du uff Spaichere driksch!',
 'tooltip-diff' => 'Guck, welle Ännerunge Du im Text gmacht hoscht',
-'tooltip-compareselectedversions' => 'D Unnerschied zwische denne zwai ausgwehlte Versione aagucke',
+'tooltip-compareselectedversions' => 'D Unnaschied zwische denne zwee gwehlde Versione aagugge',
 'tooltip-watch' => 'Die Said zu Dainer Beowachdunglischd zufieche',
-'tooltip-rollback' => "„Zeriggsetze“ machd alle Bearwaidunge vum ledschde Bearwaider rigg'gängisch",
-'tooltip-undo' => "„Zerigg“ machd numme die Ännerung rigg'gängich un zaichd d Vorschau aa.
-Du kannschd e Grund in dr Zammfassung aagewwe",
+'tooltip-rollback' => "„Zriggsedze“ machd alli Beawaidunge vum ledschde Midawaida rigg'gängisch",
+'tooltip-undo' => "„Zrigg“ machd nua die Ännarung rigg'gängich un zaischd ä Vorschau aa.
+Du kannschd e Grund in de Zommefassung aagewwe.",
+'tooltip-summary' => 'Gebä koaz Resimee',
 
 # Browsing diffs
 'previousdiff' => '← Ältere Bearwaidung',
-'nextdiff' => 'Naiere Bearwaidung →',
+'nextdiff' => 'Naijari Beawaidung →',
 
 # Media information
 'file-info-size' => '$1 × $2 Pixels, Dateigreß: $3, MIME-Type: $4',
-'file-nohires' => 'Ke hechere Ufflesung verfiechbar.',
+'file-nohires' => 'Ke heheri Ufflesung vafieschba.',
 'svg-long-desc' => 'SVG-Datei, Basisgreß $1 × $2 Pixels, Dateigreß: $3',
-'show-big-image' => 'Volli Uflesung',
+'show-big-image' => 'Volli Ufflesung',
 
 # Special:NewFiles
 'showhidebots' => '(Bots $1)',
@@ -810,8 +971,8 @@ Annere Links in der glaiche Zail werre als Ausnahme behanneld, d. h. Saide, wu d
 
 # Metadata
 'metadata' => 'Metadata',
-'metadata-help' => 'Die Dadei hot waidere Informatione, wahrschainlich vun de Digidalkamera oder vum Scanner, mid dem wu sie gmacht worre sinn.
-Wenn die Dadei verännerd worre isch, dann kann s sai, dass die zusädzlich Information fer die verännert Dadei nimmi richdisch isch.',
+'metadata-help' => 'Die Dadai hod waideri Ogawe, waaschoinlisch vunde Digidalkomara odda vum Skänna, wuse mid gmachd worre isch.
+Wpnn die Dadai vaännad worre isch, donn konns soi, daß zusedzlischi Ogawe fa die vaännad Dadai nemme rischdisch sin.',
 'metadata-expand' => 'Erwaiterte Details aazaiche',
 'metadata-collapse' => 'Erwaiterte Details versteckeln',
 'metadata-fields' => 'Die EXIF-Medadaade werren inde Bild-Bschraiwung a ogzaischd, wonn die Medadaade-Tabelle verschdegld isch.
@@ -846,13 +1007,17 @@ Annere Medadaade sinn noamalawais verschdegld.
 'watchlisttools-edit' => 'D Beowachdunglischt aagucke un bearwaide',
 'watchlisttools-raw' => 'ime große Textfeld bearwaide',
 
+# Core parser functions
+'duplicate-defaultsort' => '\'\'\'Baßma uff:\'\'\' De Schlissl "$2" dudde frijare Schlissl "$1" iwwaschraiwe.',
+
 # Special:SpecialPages
-'specialpages' => 'Spezialsaide',
+'specialpages' => 'Schbezialsaide',
 'specialpages-group-other' => 'Onare bsundare Saide',
 'specialpages-group-pagetools' => 'Wergzaisch fa Saide',
 'specialpages-group-wiki' => 'Daade un Wergzaisch',
 
 # Special:Tags
+'tag-filter' => '[[Special:Tags|Bschildarungs]]-Filda:',
 'tags-edit' => 'bearwaide',
 
 # New logging system
index b4488ac..f03ea10 100644 (file)
@@ -14,6 +14,7 @@
  * @author BeginaFelicysym
  * @author Chrumps
  * @author Cysioland
+ * @author Debeet
  * @author Derbeth
  * @author Equadus
  * @author Fizykaa
@@ -408,6 +409,18 @@ $messages = array(
 'oct' => 'paź',
 'nov' => 'lis',
 'dec' => 'gru',
+'january-date' => '$1 stycznia',
+'february-date' => '$1 lutego',
+'march-date' => '$1 marca',
+'april-date' => '$1 kwietnia',
+'may-date' => '$1 maja',
+'june-date' => '$1 czerwca',
+'july-date' => '$1 lipca',
+'august-date' => '$1 sierpnia',
+'september-date' => '$1 września',
+'october-date' => '$1 października',
+'november-date' => '$1 listopada',
+'december-date' => '$1 grudnia',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategoria|Kategorie}}',
@@ -740,7 +753,7 @@ Nie zapomnij dostosować [[Special:Preferences|preferencji]].',
 'userlogout' => 'Wyloguj',
 'notloggedin' => 'Nie jesteś zalogowany',
 'userlogin-noaccount' => 'Nie masz konta?',
-'userlogin-joinproject' => 'Dołącz do {{SITENAME}}',
+'userlogin-joinproject' => 'Dołącz do {{GRAMMAR:D.lp|{{SITENAME}}}}',
 'nologin' => "Nie masz konta? '''$1'''.",
 'nologinlink' => 'Zarejestruj się',
 'createaccount' => 'Załóż nowe konto',
@@ -749,7 +762,7 @@ Nie zapomnij dostosować [[Special:Preferences|preferencji]].',
 'userlogin-resetlink' => 'Zapomniałeś danych do zalogowania się?',
 'userlogin-resetpassword-link' => 'Nie pamiętasz hasła?',
 'helplogin-url' => 'Help:Logowanie',
-'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pomoc z logowaniem]]',
+'userlogin-helplink' => '<p></p>',
 'createacct-join' => 'Wpisz poniżej swoje dane.',
 'createacct-emailrequired' => 'Adres e‐mail',
 'createacct-emailoptional' => 'Adres e-mail (opcjonalnie)',
@@ -762,7 +775,7 @@ Nie zapomnij dostosować [[Special:Preferences|preferencji]].',
 'createacct-captcha' => 'Kontrola bezpieczeństwa',
 'createacct-imgcaptcha-ph' => 'Wpisz tekst widoczny powyżej',
 'createacct-submit' => 'Utwórz konto',
-'createacct-benefit-heading' => '{{grammar:4sg|{{SITENAME}}}} tworzą ludzie tacy jak ty.',
+'createacct-benefit-heading' => '{{grammar:B.lp|{{SITENAME}}}} tworzą ludzie tacy jak Ty.',
 'createacct-benefit-body1' => '{{PLURAL:$1|edycja|edycje|edycji}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|strona|strony|stron}}',
 'createacct-benefit-body3' => '{{PLURAL:$1|użytkownik|użytkowników}} w ostatnim czasie',
@@ -867,11 +880,9 @@ Być może właśnie zmienił{{GENDER:|eś|aś|eś(‐aś)}} swoje hasło lub po
 
 # Special:PasswordReset
 'passwordreset' => 'Wyczyść hasło',
-'passwordreset-text' => 'Wypełnij formularz, aby zresetować swoje hasło.',
 'passwordreset-legend' => 'Zresetuj hasło',
 'passwordreset-disabled' => 'Na tej wiki wyłączono możliwość resetowania haseł.',
 'passwordreset-emaildisabled' => 'Wysyłanie emaili zostało wyłączone na tej wiki',
-'passwordreset-pretext' => '{{PLURAL:$1||Wprowadź jedną z danych poniżej}}',
 'passwordreset-username' => 'Nazwa użytkownika:',
 'passwordreset-domain' => 'Domena',
 'passwordreset-capture' => 'Czy pokazywać treść wiadomości e‐mail?',
@@ -1110,6 +1121,7 @@ Wystąpił z nieokreślonej przyczyny.',
 Zdaje się, że została skasowana.',
 'edit-conflict' => 'Konflikt edycji.',
 'edit-no-change' => 'Twoja edycja została zignorowana, ponieważ nie zmienił{{GENDER:|eś|aś|eś(‐aś)}} niczego w tekście.',
+'postedit-confirmation' => 'Twoja edycja została zapisana.',
 'edit-already-exists' => 'Nie udało się stworzyć nowej strony.
 Strona już istnieje.',
 'defaultmessagetext' => 'Domyślny tekst komunikatu',
@@ -1536,7 +1548,7 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'userrights-groups-help' => 'Możesz zmienić przynależność tego użytkownika do podanych grup.
 * Zaznaczone pole oznacza przynależność użytkownika do danej grupy.
 * Niezaznaczone pole oznacza, że użytkownik nie należy do danej grupy.
-* Gwiazdka * informuje, że nie możesz usunąć z grupy po dodaniu do niej lub dodać po usunięciu z grupy.',
+* Gwiazdka * informuje, że nie możesz usunąć użytkownika z grupy po dodaniu do niej lub dodać po usunięciu z grupy.',
 'userrights-reason' => 'Powód',
 'userrights-no-interwiki' => 'Nie masz dostępu do edycji uprawnień na innych wiki.',
 'userrights-nodatabase' => 'Baza danych $1 nie istnieje lub nie jest lokalna.',
@@ -1544,6 +1556,7 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'userrights-notallowed' => 'Nie jesteś upoważniony do nadawania i odbierania uprawnień użytkownikom.',
 'userrights-changeable-col' => 'Grupy, które możesz wybrać',
 'userrights-unchangeable-col' => 'Grupy, których nie możesz wybrać',
+'userrights-conflict' => 'Konflikt uprawnień użytkownika! Proszę zastosować zmiany ponownie.',
 
 # Groups
 'group' => 'Grupa',
@@ -1708,7 +1721,7 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'rc_categories_any' => 'Wszystkie',
 'rc-change-size-new' => '$1 {{PLURAL:$1|bajt|bajty|bajtów}} po zmianie',
 'newsectionsummary' => '/* $1 */ nowa sekcja',
-'rc-enhanced-expand' => 'Pokaż szczegóły (wymagana JavaScript)',
+'rc-enhanced-expand' => 'Pokaż szczegóły (wymagany JavaScript)',
 'rc-enhanced-hide' => 'Ukryj szczegóły',
 'rc-old-title' => 'oryginalnie utworzono jako "$1"',
 
@@ -2373,8 +2386,8 @@ Każda zmiana treści tej strony lub związanej z nią strony dyskusji zostanie
 'notvisiblerev' => 'Wersja została usunięta',
 'watchnochange' => 'Żadna z obserwowanych stron nie była edytowana w podanym okresie.',
 'watchlist-details' => 'Lista obserwowanych przez Ciebie stron zawiera {{PLURAL:$1|$1 pozycję|$1 pozycje|$1 pozycji}}, nie licząc stron dyskusji.',
-'wlheader-enotif' => 'Wysyłanie powiadomień na adres e‐mail jest włączone.',
-'wlheader-showupdated' => "'''Wytłuszczone''' zostały strony, które zostały zmodyfikowane od Twojej ostatniej na nich wizyty.",
+'wlheader-enotif' => 'Wysyłanie powiadomień na adres e‐mail jest włączone.',
+'wlheader-showupdated' => "'''Wytłuszczone''' zostały strony, które zostały zmodyfikowane od Twojej ostatniej na nich wizyty.",
 'watchmethod-recent' => 'poszukiwanie ostatnich zmian wśród obserwowanych stron',
 'watchmethod-list' => 'poszukiwanie obserwowanych stron wśród ostatnich zmian',
 'watchlistcontains' => 'Na liście obserwowanych przez Ciebie stron {{PLURAL:$1|znajduje się 1 pozycja|znajdują się $1 pozycje|znajduje się $1 pozycji}}.',
@@ -2495,8 +2508,8 @@ Wszystkie aktywne zabezpieczenia odnajdziesz na liście [[Special:ProtectedPages
 'modifiedarticleprotection' => 'zmieniono stopień zabezpieczenia "[[$1]]"',
 'unprotectedarticle' => 'odbezpieczył [[$1]]',
 'movedarticleprotection' => 'przeniósł ustawienia zabezpieczeń z [[$2]] do [[$1]]',
-'protect-title' => 'Zmiana poziomu zabezpieczenia „$1”',
-'protect-title-notallowed' => 'Podgląd poziomu zabezpieczenia „$1”',
+'protect-title' => 'Zmiana stopnia zabezpieczenia „$1”',
+'protect-title-notallowed' => 'Podgląd stopnia zabezpieczenia „$1”',
 'prot_1movedto2' => 'stronę [[$1]] przeniósł do [[$2]]',
 'protect-badnamespace-title' => 'Przestrzeń nazw, w której nie można zabezpieczać stron',
 'protect-badnamespace-text' => 'Stron w tej przestrzeni nazw nie można zabezpieczać.',
@@ -2951,6 +2964,8 @@ Odwiedź [//www.mediawiki.org/wiki/Localisation Tłumaczenie MediaWiki] oraz [//
 'thumbnail-more' => 'Powiększ',
 'filemissing' => 'Brak pliku',
 'thumbnail_error' => 'Błąd przy generowaniu miniatury $1',
+'thumbnail_error_remote' => 'Komunikat o błędzie z {{grammar:2sg|$1}}:
+$2',
 'djvu_page_error' => 'Strona DjVu poza zakresem',
 'djvu_no_xml' => 'Nie można pobrać danych w formacie XML dla pliku DjVu',
 'thumbnail-temp-create' => 'Nie można utworzyć pliku tymczasowego miniatury',
@@ -3016,7 +3031,7 @@ Brak katalogu dla plików tymczasowych.',
 'importlogpagetext' => 'Rejestr przeprowadzonych importów stron z innych serwisów wiki.',
 'import-logentry-upload' => 'Zaimportowano [[$1]] przez pobieranie plików',
 'import-logentry-upload-detail' => '$1 {{PLURAL:$1|wersja|wersje|wersji}}',
-'import-logentry-interwiki' => '{{GENDER:$2|zaimportował|zaimportowała}} $1 używając transwiki',
+'import-logentry-interwiki' => 'zaimportowano $1 używając transwiki',
 'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|wersja|wersje|wersji}} z $2',
 
 # JavaScriptTest
@@ -3106,7 +3121,6 @@ Pozwala na wpisanie powodu w opisie zmian.',
 'modern.css' => '/* Umieszczony tutaj kod CSS wpłynie na wygląd skórki Nowoczesna */',
 'vector.css' => '/* Umieszczony tutaj kod CSS wpłynie na wygląd skórki Wektor */',
 'print.css' => '/* Umieszczony tutaj kod CSS wpłynie na wygląd wydruku */',
-'handheld.css' => '/* Umieszczony tutaj kod CSS wpłynie na wygląd na urządzeniach kieszonkowych skórki ustawionej w zmiennej $wgHandheldStyle */',
 'noscript.css' => '/* Umieszczony tu arkusz stylów CSS będzie wykorzystywany dla użytkowników z wyłączoną obsługą JavaScript */',
 'group-autoconfirmed.css' => '/* CSS tutaj umieszczony będzie dotyczyć tylko automatycznie zatwierdzonych użytkowników */',
 'group-bot.css' => '/* CSS tutaj umieszczony będzie obowiązywał tylko dla botów */',
@@ -3956,7 +3970,7 @@ Możesz także użyć [[Special:EditWatchlist|standardowego edytora obserwowanyc
 'version-hook-subscribedby' => 'Zapotrzebowany przez',
 'version-version' => '(Wersja $1)',
 'version-license' => 'Licencja',
-'version-poweredby-credits' => "To wiki korzysta z oprogramowania '''[//www.mediawiki.org/ MediaWiki]''', copyright © 2001‐$1 $2.",
+'version-poweredby-credits' => "Ta wiki korzysta z oprogramowania '''[//www.mediawiki.org/ MediaWiki]''', copyright © 2001‐$1 $2.",
 'version-poweredby-others' => 'inni',
 'version-credits-summary' => 'Następujące osoby wniosły istotny wkład w rozwój oprogramowania [[Special:Version|MediaWiki]].',
 'version-license-info' => 'MediaWiki jest wolnym oprogramowaniem – możesz je dystrybuować i modyfikować zgodnie z warunkami licencji GNU General Public License opublikowanej przez Free Software Foundation w wersji 2 tej licencji lub (jeśli wolisz) dowolnej późniejszej.
@@ -3972,9 +3986,16 @@ Powinieneś otrzymać [{{SERVER}}{{SCRIPTPATH}}/COPYING kopię licencji GNU Gene
 'version-entrypoints-header-url' => 'URL',
 
 # Special:Redirect
+'redirect' => 'Przekierowanie według pliku, użytkownika albo identyfikatora wersji',
+'redirect-legend' => 'Przekieruj do pliku lub strony',
+'redirect-summary' => 'Ta strona specjalna przekierowuje do pliku (wg nazwy pliku), do strony (wg numeru wersji) albo do strony użytkownika (wg liczbowego identyfikatora użytkownika)',
+'redirect-submit' => 'Przejdź',
+'redirect-lookup' => 'Wyszukaj:',
 'redirect-value' => 'Wartość:',
 'redirect-user' => 'ID użytkownika',
+'redirect-revision' => 'Wersja strony',
 'redirect-file' => 'Nazwa pliku',
+'redirect-not-exists' => 'Nie znaleziono wartości',
 
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Szukaj duplikatów pliku',
index 67f4bb2..2cec50d 100644 (file)
@@ -153,28 +153,28 @@ $messages = array(
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categorìa|Categorìe}}',
 'category_header' => 'Pàgine ant la categorìa «$1»',
-'subcategories' => 'Sotacategorìe',
-'category-media-header' => 'Archivi ant la categorìa "$1"',
+'subcategories' => 'Sot-categorìe',
+'category-media-header' => 'Archivi multimojen ant la categorìa «$1»',
 'category-empty' => "''Al dì d'ancheuj la categorìa a l'ha pa andrinta nì 'd pàgine, nì d'archivi multimojen.''",
 'hidden-categories' => '{{PLURAL:$1|Categorìa stërmà|Categorìe stërmà}}',
 'hidden-category-category' => 'Categorìe stërmà',
-'category-subcat-count' => "{{PLURAL:$2|Sta categorìa-sì a l'ha mach na sot-categorìa, listà ambelessì sota.|Sta categorìa-sì a l'ha {{PLURAL:$1|na sot-categorìa|$1 sot-categorìe}}, ëd $2 ch'a-i në j'é an total.}}",
+'category-subcat-count' => "{{PLURAL:$2|Sta categorìa-sì a l'ha mach la sot-categorìa sì-dapress.|Sta categorìa-sì a l'ha {{PLURAL:$1|la sot-categorìa|le $1 sot-categorìe}} sì-dapress, ëd $2 ch'a-i në j'é an total.}}",
 'category-subcat-count-limited' => "Sta categorìa-sì a l'ha {{PLURAL:$1|la sot-categorìa|le $1 sot-categorìe}} sì-dapress.",
 'category-article-count' => "{{PLURAL:$2|Sta categorìa-sì a l'ha mach sta pàgina.|Ant sta categorìa-sì a-i {{PLURAL:$1|intra mach sta pàgina|intro $1 pàgine}} ëd $2 ch'a-i në j'é an total.}}",
 'category-article-count-limited' => 'Ant sta categorìa-sì a-i {{PLURAL:$1|resta mach sta pàgina|resto $1 pàgine}}.',
 'category-file-count' => "{{PLURAL:$2|Sta categorìa-sì a l'ha nomach st'archivi.|Sta categorìa-sì a l'ha {{PLURAL:$1|n'|$1}} archivi, ëd $2 ch'a-i në j'é an total.}}",
 'category-file-count-limited' => "Ant sta categorìa-sì a-i {{PLURAL:$1|intra mach st'|intro $1}} archivi.",
-'listingcontinuesabbrev' => ' anans',
+'listingcontinuesabbrev' => 'anans',
 'index-category' => 'Pàgine indicisà',
-'noindex-category' => 'Pàgine pa indicisà',
-'broken-file-category' => 'Pàgine con colegament pa giust a archivi',
+'noindex-category' => 'Pàgine nen indicisà',
+'broken-file-category' => "Pàgine con dle liure cioche a d'archivi",
 
 'about' => 'A propòsit ëd',
 'article' => 'Pàgina ëd contnù',
 'newwindow' => '(as deurb ant na fnestra neuva)',
-'cancel' => 'Scancela',
-'moredotdotdot' => ' pì...',
-'morenotlisted' => "A-i é ëdcò d'àutre nen ant la lista...",
+'cancel' => 'Anulé',
+'moredotdotdot' => 'Ëd pì...',
+'morenotlisted' => "A-i na j'é ëdcò d'àutri nen ant la lista...",
 'mypage' => 'Pàgina',
 'mytalk' => 'Ciaciarade',
 'anontalk' => "Ciaciarade për st'adrëssa IP-sì",
@@ -182,53 +182,53 @@ $messages = array(
 'and' => '&#32;e',
 
 # Cologne Blue skin
-'qbfind' => 'Treuva',
-'qbbrowse' => 'Sfeuja',
-'qbedit' => 'Modìfica',
-'qbpageoptions' => 'Opsion dla pàgina',
-'qbmyoptions' => 'Mie opsion',
+'qbfind' => 'Trové',
+'qbbrowse' => 'Sfojé',
+'qbedit' => 'Modifiché',
+'qbpageoptions' => 'Costa pàgina',
+'qbmyoptions' => 'Mie pàgine',
 'qbspecialpages' => 'Pàgine speciaj',
 'faq' => 'Chestion frequente',
 'faqpage' => 'Project:Soèns An Ciamo',
 
 # Vector skin
-'vector-action-addsection' => 'Gionta argoment',
-'vector-action-delete' => 'Scancela',
-'vector-action-move' => 'Tramuda',
-'vector-action-protect' => 'Protegg',
-'vector-action-undelete' => 'Arcùpera',
+'vector-action-addsection' => "Gionté n'argoment",
+'vector-action-delete' => 'Scancelé',
+'vector-action-move' => 'Tramudé',
+'vector-action-protect' => 'Protege',
+'vector-action-undelete' => 'Arcuperé',
 'vector-action-unprotect' => 'Cangé la protession',
 'vector-simplesearch-preference' => "Abilité la bara d'arserca semplificà (mach për la pel Vector)",
-'vector-view-create' => 'Crea',
-'vector-view-edit' => 'Modìfica',
-'vector-view-history' => 'Varda stòria',
-'vector-view-view' => 'Les',
-'vector-view-viewsource' => 'Varda sorgiss',
+'vector-view-create' => 'Creé',
+'vector-view-edit' => 'Modifiché',
+'vector-view-history' => 'Smon-e la stòria',
+'vector-view-view' => 'Lese',
+'vector-view-viewsource' => 'Vëdde la sorgiss',
 'actions' => 'Assion',
 'namespaces' => 'Spassi nominaj',
 'variants' => 'Variant',
 
 'navigation-heading' => 'Lista ëd navigassion',
 'errorpagetitle' => 'Eror',
-'returnto' => 'Torna andré a $1.',
+'returnto' => 'Torné andré a $1.',
 'tagline' => 'Da {{SITENAME}}.',
 'help' => 'Agiut',
-'search' => 'Sërca',
-'searchbutton' => 'Sërca',
-'go' => 'Va',
-'searcharticle' => 'Va',
+'search' => 'Sërc',
+'searchbutton' => 'Sërc',
+'go' => 'Andé',
+'searcharticle' => 'Andé',
 'history' => 'Version pì veje',
 'history_short' => 'Stòria',
-'updatedmarker' => "Agiornà da 'nt l'ùltima vira che i son passà",
+'updatedmarker' => "agiornà da l'ùltima vira che i son passà",
 'printableversion' => 'Version bon-a për stampé',
 'permalink' => 'Anliura fissa',
-'print' => 'Stampa',
+'print' => 'Stampé',
 'view' => 'Vardé',
-'edit' => 'Modìfica',
+'edit' => 'Modifiché',
 'create' => 'Creé',
-'editthispage' => "Modìfica st'artìcol-sì",
+'editthispage' => 'Modifiché costa pàgina',
 'create-this-page' => 'Creé sta pàgina',
-'delete' => 'Scancela',
+'delete' => 'Scancelé',
 'deletethispage' => 'Scancela pàgina',
 'undelete_short' => 'Disdëscancela {{PLURAL:$1|na modìfica|$1 modìfiche}}',
 'viewdeleted_short' => 'Vardé {{PLURAL:$1|na modìfica scancelà|$1 modìfiche scancelà}}',
@@ -566,13 +566,12 @@ Për piasì speta prima ëd prové torna.",
 'resetpass-wrong-oldpass' => "Ciav a temp o corenta nen bon-a.
 Miraco it l'has già cambià la ciav o it l'has ciamà na neuva ciav a temp.",
 'resetpass-temp-password' => 'Ciav a temp:',
+'resetpass-abort-generic' => "Ël cangiament ëd la ciav a l'é stàit anulà da n'estension.",
 
 # Special:PasswordReset
 'passwordreset' => 'Cambi ëd ciav',
-'passwordreset-text' => "Ch'a completa 's formolari për arsèive un mëssagi ëd pòsta eletrònica con ij detaj ëd sò cont.",
 'passwordreset-legend' => 'Cambié la ciav',
 'passwordreset-disabled' => 'Ij cangiament ëd ciav a son stàit disabilità su sta wiki.',
-'passwordreset-pretext' => "{{PLURAL:$1||Ch'a anserissa un dij tòch ëd dat sì-sota}}",
 'passwordreset-username' => 'Stranòm:',
 'passwordreset-domain' => 'Domini:',
 'passwordreset-capture' => 'Vardé ël mëssagi arzultant?',
@@ -804,14 +803,15 @@ A-i é pa gnun-e spiegassion.",
 A smija che a sia stàita scancelà.',
 'edit-conflict' => "Conflit d'edission.",
 'edit-no-change' => "Toa modìfica a l'é stàita ignorà, përchè a l'é pa stàit fàit gnun cambiament al test.",
+'postedit-confirmation' => "Soa modìfica a l'é stàita salvà!",
 'edit-already-exists' => 'As peul nen creesse la pàgina.
 A esist già.',
 'defaultmessagetext' => "Test che a-i sarìa se a-i fusso pa 'd modìfiche",
 'content-failed-to-parse' => "Faliment ëd l'anàlisi dël contnù ëd $2 për ël model $1: $3",
 'invalid-content-data' => 'Dat dël contnù pa bon',
 'content-not-allowed-here' => "Ël contnù «$1» a l'é nen autorisà an sla pàgina [[$2]]",
-'editwarning-warning' => "Lassé sta pàgina-sì a peul fé an manera che it perde tute le modìfiche ch'it l'has fàit.
-S'it ses logà, it peule disabilité st'avis-sì ant la session \"{{int:prefs-editing}}\" dij tò gust.",
+'editwarning-warning' => "Chité sta pàgina-sì a peul feje perde tute le modìfiche ch'a l'ha fàit.
+S'a l'é rintrà ant ël sistema, a peul disabilité st'avis ant la session «Modìfiche» dij sò gust.",
 
 # Content models
 'content-model-wikitext' => 'test wiki',
@@ -2062,8 +2062,8 @@ Le modìfiche che a-i saran ant costa pàgina-sì e ant soa pàgina ëd discussi
 'notvisiblerev' => "La revision a l'é stàita scancelà",
 'watchnochange' => "Gnun-a dle ròbe che as ten sot-euj a l'é staita modificà ant ël periòd ësmonù.",
 'watchlist-details' => "A l'é dëmentrè ch'as ten sot-euj {{PLURAL:$1|$1 pàgina|$1 pàgine}}, nen contand cole ëd discussion.",
-'wlheader-enotif' => 'Le notìfiche për pòsta eletrònica a son abilità.',
-'wlheader-showupdated' => "Cole pàgine che a son ëstàite modificà da quand che a l'é passaje ansima l'ùltima vira a resto marcà an '''grassèt'''",
+'wlheader-enotif' => 'Le notìfiche për pòsta eletrònica a son abilità.',
+'wlheader-showupdated' => "Cole pàgine che a son ëstàite modificà da quand che a l'é passaje ansima l'ùltima vira a resto marcà an '''grassèt'''",
 'watchmethod-recent' => "contròl a j'ùltime modìfiche fàite a le pàgine che as ten sot-euj",
 'watchmethod-list' => 'contròl ëd le pàgine che as ten sot-euj për vëdde se a-i sio staje dle modìfiche recente',
 'watchlistcontains' => "Soa lista dla ròba ch'as ten sot-euj a l'ha andrinta {{PLURAL:$1|na pàgina|$1 pàgine}}.",
index ea4d727..8324dc0 100644 (file)
@@ -1871,6 +1871,15 @@ $1",
 'listusers-noresult' => 'ورتن آلا نئیں لبیا۔',
 'listusers-blocked' => '(روکیا گیا)',
 
+# Special:ActiveUsers
+'activeusers' => 'کم کرن والیاں دی لسٹ',
+'activeusers-intro' => 'اے اوناں ورتن والیاں دی لسٹ اے جنان پچھلے $1 {{PLURAL:$1|دن|دناں}} چ کم کیتا اے۔',
+'activeusers-count' => '$1 {{PLURAL:$1|تبدیلی|تبدیلیاں}} پچھلے{{PLURAL:$3|دن|$3 دن}} چ',
+'activeusers-from' => 'ورتن والے ایس توں شروع ہون والے دسو:',
+'activeusers-hidebots' => 'بوٹ چھپاؤ',
+'activeusers-hidesysops' => 'مکھۓ لکاؤ',
+'activeusers-noresult' => 'کوئی ورتن والا نئیں لبیا۔',
+
 # Special:ListGroupRights
 'listgrouprights' => 'ورتن ٹرلی حق',
 'listgrouprights-summary' => 'تھلے اک لسٹ اے ورتن ٹولیاں دی ای وکی تے، اپنے رلدے حقاں نال۔ 
@@ -1948,7 +1957,7 @@ $1",
 'watchnochange' => 'دسے گۓ ویلے چ تھواڈیاں ویکھیاںشیواں نئیں بدلیاں گیاں۔',
 'watchlist-details' => '{{PLURAL:$1|$1 صفحہ|$1 صفحہ}} تواڈی اکھ تھلے گلاں باتاں شامل نہیں۔',
 'wlheader-enotif' => 'ای-میل نوٹیفیکیشن قابل',
-'wlheader-showupdated' => ' صفے جیہڑے بدلے کۓ تھواڈے آخری وار آن مکرون  اونان نوں موٹا کرکے دسیا گیا اے۔',
+'wlheader-showupdated' => ' صفے جیہڑے بدلے کۓ تھواڈے آخری وار آن مکرون  اونان نوں موٹا کرکے دسیا گیا اے۔',
 'watchmethod-recent' => 'نیڑے ہویاں تبدیلیاں چائیدے صفیاں دیاں ویکھے جان والے صفیاں لئی۔',
 'watchmethod-list' => 'ویکھے کے صفے نیڑے ہون والیاں تبدیلیاں دی پڑتال',
 'watchlistcontains' => 'تھواڈی اکھ تھلے رکھی لسٹ چ $1 {{PLURAL:$1|صفہ|صفے}}  نیں۔',
@@ -2793,7 +2802,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'چوڑائی',
 'exif-imagelength' => 'اچائی',
 'exif-bitspersample' => 'اک کمپوننٹ وچ بٹ',
@@ -2971,7 +2980,7 @@ $1',
 'exif-originalimageheight' => 'مورت دی اچائی کٹن توں پہلے',
 'exif-originalimagewidth' => 'مورت دی چوڑائی کٹن توں پہلے',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'کھولی گئی',
 'exif-compression-2' => 'سی سی آئی ٹی ٹی گروپ 3 1-ڈائمینشنل موڈیفائیڈ ہفمین رن فل لنتھ انکوڈنگ',
 'exif-compression-3' => 'سی سی آئی ٹی ٹی گروپ 3 فیکس اینکوڈنگ',
@@ -3380,13 +3389,6 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 'version-software-product' => 'پراڈکٹ',
 'version-software-version' => 'ورژن',
 
-# Special:FilePath
-'filepath' => 'فائل راہ',
-'filepath-page' => 'فائل:',
-'filepath-submit' => 'چلو',
-'filepath-summary' => 'اے خاص صفہاک فائل دا پورا راہ دسدا اے۔
-مورتاں پورے ریزولوشن چ دسیاں گیاں نئیں، دوجیاں فائل ٹائپ نوں نوں اوناں دے رلدے پروکراماں نال ٹوریا گیا اے۔',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'دوہری فائلاں دی کھوج کرو',
 'fileduplicatesearch-summary' => 'دوہریاں فائلاں دی کھوج ہیش ویلیو تے اے۔',
index 88b7195..7bb4f58 100644 (file)
@@ -614,9 +614,6 @@ $messages = array(
 'powersearch-togglenone' => 'Τιδέν',
 'search-external' => 'Εύρον σα εξ μερέαν',
 
-# Quickbar
-'qbsettings-none' => 'Τιδέν',
-
 # Preferences page
 'preferences' => 'Αγαπεμένα',
 'mypreferences' => "Τ' εμά τ' αγαπεμένα",
@@ -948,7 +945,7 @@ $messages = array(
 'listgrouprights-rights' => 'Δικαιώματα',
 'listgrouprights-members' => '(κατάλογον μελών)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Στείλον μένεμαν σον χρήστεν ατόν',
 'emailfrom' => 'Ασά:',
 'emailto' => 'Σο:',
@@ -1306,7 +1303,7 @@ $messages = array(
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Πλάτος',
 'exif-imagelength' => 'Ύψηλος',
 'exif-bitspersample' => 'Bits ανά στοιχείο',
@@ -1408,10 +1405,6 @@ $messages = array(
 'version-software' => "Λογισμικόν ντ'εθέκεν",
 'version-software-version' => 'Έκδοση',
 
-# Special:FilePath
-'filepath-page' => 'Αρχείον:',
-'filepath-submit' => 'Δέβα',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Όνεμα αρχείου:',
 'fileduplicatesearch-submit' => 'Εύρον',
index 20ec925..2a792d8 100644 (file)
@@ -43,8 +43,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Waidinnais gīrbin stēisan nadirīntin tērpautajan',
 'tog-oldsig' => 'Twājs tēntiskas papeisāsenis',
 'tog-fancysig' => 'Laikais papeisāsenin per wikitekstan (šlāit autōmatiskan sēisnan)',
-'tog-externaleditor' => 'Auprestaminai tērpaus izwinaīnan editōran (tēr per ekspertans, izkīnina speciālins ensadīnsenins en kōmputeŗu)',
-'tog-externaldiff' => 'Auprestaminai tērpaus izwinaīnan prōgraman waidināntin šlaitīntans  (tēr per ekspertans, izkīnina speciālins ensadīnsenins en kōmputeŗu)',
 'tog-showjumplinks' => 'Enklaūjais autengīnsenins "sākais en"',
 'tog-uselivepreview' => 'Tērpaus dināmiskan pirmādiran (JavaScript) (eksperimentālin)',
 'tog-forceeditsummary' => 'Pawakēis mi nierpilninsenin stesse ebpeisāsenin stēisan kitawīdinsnan',
@@ -841,14 +839,6 @@ Bandais pagaūtun laukītan frāzin sen prefiksan \"all:\", kāi pralaukīlai pa
 En šissei kērdan tu mazzi laukītun sen Google.
 Pamēnais, kāi tenēisan indicai mazzi ni būtwei aktuālin.',
 
-# Quickbar
-'qbsettings' => 'Dīwas preiēisenes sawinzli',
-'qbsettings-none' => 'Nisatausnā',
-'qbsettings-fixedleft' => 'Preidrūktintan prei kāirai',
-'qbsettings-fixedright' => 'Preidrūktintan prei tikrai',
-'qbsettings-floatingleft' => 'Plūjants prei kāirai',
-'qbsettings-floatingright' => 'Plūjants prei tikrai',
-
 # Preferences page
 'preferences' => 'Pirminiskwas',
 'mypreferences' => 'Majjas pirminiskwas',
@@ -1587,8 +1577,8 @@ Eraīna šisse pāusas ēnturas kitawīdinsna anga diskusiōnis pāusas sēitan
 'notvisiblerev' => 'Wersiōni pastāi āupausintan',
 'watchnochange' => 'Niaīnan iz nadirītans pāusans ni bēi redigītan en padātan kērdasetrapan.',
 'watchlist-details' => 'Ast {{PLURAL:$1|$1 pāusan|$1 pāusai}} en twajjai listin stēisan nadirītan, ni gīrbawintei diskusiōnis pāusans.',
-'wlheader-enotif' => 'E-mail pawakīsenei ast enklaūtan.',
-'wlheader-showupdated' => "Pastāi '''pastarīntan''' pāusai,  kawīdai bēi kitawīdintan ezze Twajjai panzdauman tenēisan kāimalukisnan..",
+'wlheader-enotif' => 'E-mail pawakīsenei ast enklaūtan.',
+'wlheader-showupdated' => "Pastāi '''pastarīntan''' pāusai,  kawīdai bēi kitawīdintan ezze Twajjai panzdauman tenēisan kāimalukisnan..",
 'watchmethod-recent' => 'Izbandasnā stēisan panzdauman kitawīdisnan sirzdau nadirītans pāusans',
 'watchmethod-list' => 'Izbandasnā stēisan nadirītan pāusan laukīntei panzdaumans kitawīdisnans',
 'watchlistcontains' => 'En twajjai listin stēisan nadirītan ast $1 {{PLURAL:$1|pāusan|pāusai}}.',
@@ -2254,7 +2244,7 @@ Kitāi wīrst būwusis kliptan auprestaminai.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Plattu',
 'exif-imagelength' => 'Aūktan',
 'exif-bitspersample' => 'Bittai per izimlin',
@@ -2355,7 +2345,7 @@ Kitāi wīrst būwusis kliptan auprestaminai.
 'exif-gpsareainformation' => 'GPS areālas pabilisnā',
 'exif-gpsdatestamp' => 'GPS dātan',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nikōmpresitan',
 
 'exif-unknowndate' => 'Niwaīstan dātan',
@@ -2623,15 +2613,6 @@ Tu mazzi dīgi [[Special:EditWatchlist|tērpautun stāndardiskan editōran]].',
 'version-software' => 'Instalītas prōgraminis',
 'version-software-version' => 'Wersiōni',
 
-# Special:FilePath
-'filepath' => 'Lunki en zūrbrukin',
-'filepath-page' => 'Zūrbrukis:',
-'filepath-submit' => 'Lunki',
-'filepath-summary' => 'Šin speciālin pāusan wartinna pastippan lunkin prei zūrbrukin.
-Bildei ast waīdintan en pilnan  rezōluciōnin, kitāi zūrbrukin tīpai ast etwertan en prōgramu preiristasmu prei tennans.
-
-Enpeisāis zūrbrukes pabilīsnan šlāit "{{ns:file}}:" prefiksan.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Laukīs dwigubbintans zūrbrukins',
 'fileduplicatesearch-summary' => 'Laukīs dwigubbintans zūrbrukins pa tenēisan kōntrōlingin summin.',
index 662435b..5d7037a 100644 (file)
@@ -265,6 +265,18 @@ $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' => 'سېپتمبر $1',
+'october-date' => 'اکتوبر $1',
+'november-date' => 'نومبر $1',
+'december-date' => 'دېسمبر $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|وېشنيزه|وېشنيزې}}',
@@ -583,9 +595,9 @@ $1',
 'createacct-imgcaptcha-ph' => 'پورته تاسې ته ښکاره شوی متن وټاپۍ',
 'createacct-submit' => 'ګڼون مو جوړ کړۍ',
 'createacct-benefit-heading' => '{{SITENAME}} ستاسې په شان خلکو لخوا جوړ شوی.',
-'createacct-benefit-body1' => 'سمونونه',
-'createacct-benefit-body2' => 'مخونه',
-'createacct-benefit-body3' => 'وروستني ونډه وال',
+'createacct-benefit-body1' => '{{PLURAL:$1|سمون|سمونونه}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|مخ|مخونه}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|وروستنی ونډه وال|وروستني ونډه وال}}',
 'badretype' => 'دا پټنوم چې تاسې ليکلی د مخکني پټنوم سره ورته نه دی.',
 'userexists' => 'کوم کارن نوم چې تاسې ورکړی هغه بل چا کارولی.
 لطفاً يو بل نوم وټاکۍ.',
@@ -1690,7 +1702,7 @@ $1',
 'notanarticle' => 'يو منځپانګيز مخ نه دی',
 'watchlist-details' => 'ستاسې کتنلړ کې {{PLURAL:$1|$1 مخ دی|$1 مخونه دي}}، د خبرو اترو مخونه مو پکې نه دي شمېرلي.',
 'wlheader-enotif' => 'د برېښليک له لارې خبرول چارن شوی.*',
-'wlheader-showupdated' => "هغه مخونه چې وروستی ځل ستاسو د کتلو نه وروسته بدلون موندلی په '''روڼ''' ليک نښه شوي.",
+'wlheader-showupdated' => "هغه مخونه چې وروستی ځل ستاسو د کتلو نه وروسته بدلون موندلی په '''روڼ''' ليک نښه شوي.",
 'watchlistcontains' => 'ستاسې کتنلړ $1 {{PLURAL:$1|مخ|مخونه}} لري.',
 'iteminvalidname' => "د '$1' توکي سره ستونزه، ناسم نوم ...",
 'wlnote' => "دلته لاندې {{PLURAL:$1|وروستی بدلون دی|وروستي '''$1''' بدلونونه دي}} چې په {{PLURAL:$2|تېر ساعت|تېرو '''$2''' ساعتونو}} کې تر $3 نېټې او $4 بجو پېښ شوي.",
@@ -2466,8 +2478,8 @@ $1',
 'confirmemail_noemail' => 'تاسې يوه سمه برېښليک پته نه ده ثبته کړې مهرباني وکړی [[Special:Preferences|د کارن غوره توبونه]] مو بدل کړۍ.',
 'confirmemail_send' => 'يو تاييدي کوډ لېږل',
 'confirmemail_sent' => 'تاييدي برېښليک ولېږل شو.',
-'confirmemail_oncreate' => 'ستاسو د برېښناليک پتې ته يو تاييدي کوډ درولېږل شو.
-ددې لپاره چې تاسو غونډال ته ورننوځی تاسو ته د همدغه کوډ اړتيا نشته، خو تاسو ته د همدغه کوډ اړتيا په هغه وخت کې پکارېږي کله چې په ويکي کې خپلې برېښناليکي کړنې چارن کول غواړی.',
+'confirmemail_oncreate' => 'ستاسې برېښليک پتې ته يو تاييدي کوډ درولېږل شو.
+که تاسې غونډال ته ورننوځی نو تاسې دې کوډ ته اړتيا نه لرۍ، خو تاسې هغه وخت همدې درلېږل شوي کوډ ته اړتيا لرۍ، کله چې په ويکي کې د برېښليک پر بنسټ نورې کړنې چارنول غواړی.',
 'confirmemail_needlogin' => 'ددې لپاره چې ستاسې د برېښليک پتې پخلی وشي، تاسې ته پکار ده چې $1.',
 'confirmemail_loggedin' => 'اوس ستاسې د برېښليک پتې پخلی وشو.',
 'confirmemail_error' => 'ستاسې د برېښليک پتې د تاييد په خوندي کولو کې يوه ستونزه رامېنڅ ته شوه.',
index 2ead4ef..89b727f 100644 (file)
@@ -36,6 +36,7 @@
  * @author McDutchie
  * @author MetalBrasil
  * @author Minh Nguyen
+ * @author Nemo bis
  * @author Nuno Tavares
  * @author Opraco
  * @author Paulo Juntas
@@ -422,6 +423,18 @@ $messages = array(
 'oct' => 'Out.',
 'nov' => 'Nov.',
 'dec' => 'Dez.',
+'january-date' => '$1 de Janeiro',
+'february-date' => '$1 de Fevereiro',
+'march-date' => '$1 de Março',
+'april-date' => '$1 de Abril',
+'may-date' => '$1 de Maio',
+'june-date' => '$1 de Junho',
+'july-date' => '$1 de Julho',
+'august-date' => '$1 de Agosto',
+'september-date' => '$1 de Setembro',
+'october-date' => '$1 de Outubro',
+'november-date' => '$1 de Novembro',
+'december-date' => '$1 de Dezembro',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoria|Categorias}}',
@@ -738,8 +751,8 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências]].'
 'createacct-yourpasswordagain' => 'Confirme a palavra-chave',
 'createacct-yourpasswordagain-ph' => 'Digite a palavra-chave novamente',
 'remembermypassword' => 'Recordar os meus dados neste computador (no máximo, por $1 {{PLURAL:$1|dia|dias}})',
-'userlogin-remembermypassword' => 'Memorizar neste computador',
-'userlogin-signwithsecure' => 'Inicie sessão com servidor seguro',
+'userlogin-remembermypassword' => 'Manter-me autenticado',
+'userlogin-signwithsecure' => 'Use uma ligação segura',
 'securelogin-stick-https' => 'Manter a ligação HTTPS após a autenticação',
 'yourdomainname' => 'O seu domínio:',
 'password-change-forbidden' => 'Não podes alterar senhas nesta wiki.',
@@ -760,6 +773,7 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências]].'
 'gotaccount' => "Já possui uma conta? '''$1'''.",
 'gotaccountlink' => 'Autentique-se',
 'userlogin-resetlink' => 'Esqueceu-se do seu nome de utilizador ou da palavra-chave?',
+'userlogin-resetpassword-link' => 'Recuperar palavra-chave',
 'helplogin-url' => 'Ajuda:login',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Ajuda a fazer login]]',
 'createacct-join' => 'Insira a sua informação abaixo.',
@@ -770,11 +784,19 @@ Não se esqueça de personalizar as suas [[Special:Preferences|preferências]].'
 'createacct-realname' => 'Nome verdadeiro (opcional)',
 'createaccountreason' => 'Motivo:',
 'createacct-reason' => 'Razão',
+'createacct-reason-ph' => 'Porque está a criar outra conta',
 'createacct-captcha' => 'Verificar segurança',
+'createacct-imgcaptcha-ph' => 'Digite o texto que vê acima',
+'createacct-submit' => 'Crie a sua conta',
+'createacct-benefit-heading' => '{{SITENAME}} é feito por pessoas como você.',
+'createacct-benefit-body1' => '{{PLURAL:$1|edição|edições}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|página|páginas}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|contribuidor|contribuidores}} recentes',
 'badretype' => 'As palavras-chave que introduziu não são iguais.',
 'userexists' => 'O nome de utilizador introduzido já existe.
 Por favor escolha um nome diferente.',
 'loginerror' => 'Erro de autenticação',
+'createacct-error' => 'Erro na criação da conta',
 'createaccounterror' => 'Não foi possível criar a conta: $1',
 'nocookiesnew' => "A conta de utilizador foi criada, mas neste momento não está autenticado.
 A {{SITENAME}} utiliza ''cookies'' para autenticar os utilizadores.
@@ -845,6 +867,7 @@ Aguarde antes de tentar novamente, por favor.',
 # Email sending
 'php-mail-error-unknown' => 'Erro desconhecido na função mail() do PHP',
 'user-mail-no-addy' => 'Tentou enviar uma mensagem sem um endereço de correio electrónico',
+'user-mail-no-body' => 'Tentou mandar email sem conteúdo ou com conteúdo demasiado pequeno.',
 
 # Change password dialog
 'resetpass' => 'Alterar palavra-chave',
@@ -864,13 +887,15 @@ Para prosseguir, será necessário definir uma nova palavra-chave.',
 'resetpass-wrong-oldpass' => 'Palavra-chave temporária ou actual inválida.
 Pode ter já alterado com sucesso a sua palavra-chave ou solicitado uma nova palavra-chave temporária.',
 'resetpass-temp-password' => 'Palavra-chave temporária:',
+'resetpass-abort-generic' => 'Alteração de senha foi cancelada por uma extensão.',
 
 # Special:PasswordReset
 'passwordreset' => 'Repor palavra-chave',
-'passwordreset-text' => 'Preencha este formulário para repor a sua palavra-passe.',
+'passwordreset-text-one' => 'Preencha este formulário para repor a sua palavra-passe.',
+'passwordreset-text-many' => '{{PLURAL:$1|Digite uma parte dos dados para redefinir sua senha.}}',
 'passwordreset-legend' => 'Reiniciar a palavra-chave',
 'passwordreset-disabled' => 'O reinício da palavra-chave foi impossibilitado nesta wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Introduza um dos dados abaixo}}',
+'passwordreset-emaildisabled' => 'Recursos de e-mail foram desactivados neste wiki.',
 'passwordreset-username' => 'Nome de utilizador:',
 'passwordreset-domain' => 'Domínio:',
 'passwordreset-capture' => 'Ver o email resultante?',
@@ -901,6 +926,7 @@ Palavra-chave temporária: $2',
 'changeemail-oldemail' => 'Correio electrónico actual:',
 'changeemail-newemail' => 'Correio electrónico novo:',
 'changeemail-none' => '(nenhum)',
+'changeemail-password' => 'A sua senha {{SITENAME}}:',
 'changeemail-submit' => 'Alterar correio electrónico',
 'changeemail-cancel' => 'Cancelar',
 
@@ -1112,9 +1138,12 @@ Não foi dada nenhuma explicação.',
 Ela parece ter sido eliminada.',
 'edit-conflict' => 'Conflito de edição.',
 'edit-no-change' => 'A sua edição foi ignorada, uma vez que o texto não sofreu alterações.',
+'postedit-confirmation' => 'Sua edição foi gravada',
 'edit-already-exists' => 'Não foi possível criar uma página nova.
 Ela já existia.',
 'defaultmessagetext' => 'Texto da mensagem padrão',
+'content-failed-to-parse' => 'Falha ao analisar conteúdo $2 para modelo $1:$3',
+'invalid-content-data' => 'Dados de conteúdo inválidos',
 'content-not-allowed-here' => 'Conteúdo do tipo "$1" não é permitido na página [[$2]]',
 'editwarning-warning' => 'Sair desta página fará com que você perca todas as alterações feitas por você.
 Se você fez login, pode desabilitar este aviso na seção "{{int:prefs-editing}}" das suas preferências.',
@@ -1408,6 +1437,7 @@ Tente usar o prefixo ''all:'' para pesquisar todo o conteúdo (incluindo página
 'searchdisabled' => 'Foi impossibilitada a realização de pesquisas na {{SITENAME}}.
 Entretanto, pode realizar pesquisas através do Google.
 Note, no entanto, que a indexação da {{SITENAME}} neste motor de busca pode estar desactualizada.',
+'search-error' => 'Um erro ocorreu enquanto se efectuava a busca: $1',
 
 # Preferences page
 'preferences' => 'Preferências',
@@ -1552,6 +1582,7 @@ Esta informação será pública.',
 'userrights-notallowed' => 'A sua conta não tem permissão para adicionar ou remover privilégios a utilizadores.',
 'userrights-changeable-col' => 'Grupos que pode alterar',
 'userrights-unchangeable-col' => 'Grupos que não pode alterar',
+'userrights-conflict' => 'Conflito com os privilégios dos utilizadores! Por favor, aplique as suas mudanças novamente.',
 
 # Groups
 'group' => 'Grupo:',
@@ -1894,6 +1925,7 @@ Caso o problema persista, contacte um [[Special:ListUsers/sysop|administrador]].
 'backend-fail-notsame' => 'Já existe um ficheiro não idêntico em $1 .',
 'backend-fail-invalidpath' => '$1 não é um caminho de armazenamento válido.',
 'backend-fail-delete' => 'Não foi possível excluir o ficheiro $1.',
+'backend-fail-describe' => 'Não foi possível mudar metadados para o ficheiro "$1".',
 'backend-fail-alreadyexists' => 'O ficheiro $1 já existe.',
 'backend-fail-store' => 'Não foi possível armazenar o ficheiro $1 em $2.',
 'backend-fail-copy' => 'Não foi possível copiar o ficheiro $1 para $2.',
@@ -2126,6 +2158,12 @@ Talvez queira editar a descrição na [$2 página original de descrição do fic
 Estes links deviam ser desambiguados, apontando-os para uma página mais apropriada.<br />
 Considera-se que uma página é de desambiguação se nela for utilizada uma predefinição que esteja definida em [[MediaWiki:Disambiguationspage]].",
 
+'pageswithprop' => 'Páginas com uma propriedade',
+'pageswithprop-legend' => 'Páginas com uma propriedade',
+'pageswithprop-text' => 'Esta página lista páginas que usam uma propriedade em particular.',
+'pageswithprop-prop' => 'Nome da propriedade:',
+'pageswithprop-submit' => 'Avançar',
+
 'doubleredirects' => 'Redireccionamentos duplos',
 'doubleredirectstext' => 'Esta página lista todas as páginas que redireccionam para outras páginas de redireccionamento.
 Cada linha contém links para o primeiro e segundo redireccionamentos, bem como o destino do segundo redireccionamento, geralmente contendo a verdadeira página de destino, que devia ser o destino do primeiro redireccionamento.
@@ -2323,6 +2361,7 @@ Encontram-se disponíveis [[{{MediaWiki:Listgrouprights-helppage}}|informações
 'mailnologintext' => 'Precisa de estar [[Special:UserLogin|autenticado]] e possuir um endereço de correio válido nas suas [[Special:Preferences|preferências]], para poder enviar correio electrónico a outros utilizadores.',
 'emailuser' => 'Enviar correio electrónico a este utilizador',
 'emailuser-title-target' => 'Enviar correio eletrónico a {{GENDER:$1|este utilizador|esta utilizadora}}',
+'emailuser-title-notarget' => 'Enviar correio electrónico ao utilizador',
 'emailpage' => 'Enviar correio electrónico ao utilizador',
 'emailpagetext' => 'Pode usar o formulário abaixo para enviar uma mensagem por correio eletrónico para {{GENDER:$1|este utilizador|esta utilizadora}}.
 O endereço de correio que introduziu nas [[Special:Preferences|suas preferências]] irá aparecer no campo do remetente da mensagem "De:", para que o destinatário lhe possa responder diretamente.',
@@ -2376,8 +2415,8 @@ O nome desta página passará a aparecer a '''negrito''' na lista de [[Special:R
 'notvisiblerev' => 'Edição eliminada',
 'watchnochange' => 'Nenhuma das páginas vigiadas foi editada no período apresentado.',
 'watchlist-details' => '{{PLURAL:$1|Existe $1 página|Existem $1 páginas}} na sua lista de páginas vigiadas, excluindo páginas de discussão.',
-'wlheader-enotif' => 'A notificação por correio electrónico está activada.',
-'wlheader-showupdated' => "As páginas modificadas desde a última vez que as visitou aparecem destacadas a '''negrito'''",
+'wlheader-enotif' => 'A notificação por correio electrónico está activada.',
+'wlheader-showupdated' => "As páginas modificadas desde a última vez que as visitou aparecem destacadas a '''negrito'''",
 'watchmethod-recent' => 'a procurar páginas vigiadas nas mudanças recentes',
 'watchmethod-list' => 'a procurar mudanças recentes nas páginas vigiadas',
 'watchlistcontains' => 'A sua lista de páginas vigiadas contém $1 {{PLURAL:$1|página|páginas}}.',
@@ -2394,6 +2433,16 @@ O nome desta página passará a aparecer a '''negrito''' na lista de [[Special:R
 'enotif_mailer' => 'Gerador de Notificações da {{SITENAME}}',
 'enotif_reset' => 'Marcar todas as páginas como visitadas',
 'enotif_impersonal_salutation' => 'Utilizador da "{{SITENAME}}"',
+'enotif_subject_deleted' => 'A página  $1 de {{SITENAME}} foi {{GENDER:$2|eliminada}} por $2',
+'enotif_subject_created' => 'A página $1 de {{SITENAME}} foi {{GENDER:$2|criada}} por $2',
+'enotif_subject_moved' => 'A página $1 de {{SITENAME}} foi {{GENDER:$2|movida}} por $2',
+'enotif_subject_restored' => 'A página $1 de {{SITENAME}} foi {{GENDER:$2|restaurada}} por $2',
+'enotif_subject_changed' => 'A página $1 de {{SITENAME}} foi {{GENDER:$2|alterada}} por $2',
+'enotif_body_intro_deleted' => 'A página $1 de {{SITENAME}} foi {{GENDER:$2|eliminada}} em $PAGEEDITDATE por $2, ver $3.',
+'enotif_body_intro_created' => 'A página $1 em {{SITENAME}} foi {{GENDER:$2| criada}} em $PAGEEDITDATE por $2, ver $3 para a versão actual.',
+'enotif_body_intro_moved' => 'A páginas $1 em {{SITENAME}} foi {{GENDER:$2|movida}} em $PAGEEDITDATE por $2, ver $3 para a versão actual.',
+'enotif_body_intro_restored' => 'A páginas $1 em {{SITENAME}} foi {{GENDER:$2|restaurada}} em $PAGEEDITDATE por $2, ver $3 para a versão actual.',
+'enotif_body_intro_changed' => 'A página $1 em {{SITENAME}} foi {{GENDER:$2|alterada}} em $PAGEEDITDATE por $2, ver $3 para a versão actual.',
 'enotif_lastvisited' => 'Consulte $1 para todas as alterações efectuadas desde a sua última visita.',
 'enotif_lastdiff' => 'Consulte $1 para ver esta alteração.',
 'enotif_anon_editor' => 'utilizador anónimo $1',
@@ -2497,6 +2546,8 @@ Consulte a [[Special:ProtectedPages|lista de páginas protegidas]] para ver as p
 'prot_1movedto2' => 'moveu [[$1]] para [[$2]]',
 'protect-badnamespace-title' => 'Espaço nominal não passível de protecção',
 'protect-badnamespace-text' => 'Páginas neste espaço nominal não podem ser protegidas.',
+'protect-norestrictiontypes-text' => 'Esta página não pode ser protegida porque não há nenhum tipo de restrição disponível.',
+'protect-norestrictiontypes-title' => 'Página não passível de protecção',
 'protect-legend' => 'Confirmar protecção',
 'protectcomment' => 'Motivo:',
 'protectexpiry' => 'Expiração:',
@@ -2778,6 +2829,7 @@ Contacte o seu fornecedor de internet ou o serviço de apoio técnico e informe-
 'proxyblocksuccess' => 'Concluído.',
 'sorbsreason' => "O seu endereço IP encontra-se listado como ''proxy'' aberto na DNSBL utilizada pela {{SITENAME}}.",
 'sorbs_create_account_reason' => "O seu endereço IP encontra-se listado como ''proxy'' aberto na DNSBL utilizada pela {{SITENAME}}. Não pode criar uma conta",
+'xffblockreason' => 'Um endereço IP presente no cabeçalho X-Forwardd-For, seja seu ou de um servidor de proxy que estiver a usar, foi bloqueado. A razão do bloqueio original foi: $1',
 'cant-block-while-blocked' => 'Não pode bloquear outros utilizadores enquanto estiver bloqueado.',
 'cant-see-hidden-user' => "O utilizador que está tentando bloquear já está bloqueado e oculto.
 Como não tem o privilégio para ocultar utilizadores ''(hideuser)'', não pode ver ou editar o bloqueio deste utilizador.",
@@ -2941,6 +2993,8 @@ Se deseja colaborar na localização genérica do MediaWiki, visite [//www.media
 'thumbnail-more' => 'Ampliar',
 'filemissing' => 'Ficheiro não encontrado',
 'thumbnail_error' => 'Erro ao criar miniatura: $1',
+'thumbnail_error_remote' => 'Mensagem de erro de $1 :
+$2',
 'djvu_page_error' => 'página DjVu inacessível',
 'djvu_no_xml' => 'Não foi possível aceder ao XML para o ficheiro DjVU',
 'thumbnail-temp-create' => 'Não foi possível criar o ficheiro temporário da miniatura',
@@ -2962,6 +3016,7 @@ Todas as acções de importação transwikis são registadas no [[Special:Log/im
 'import-interwiki-templates' => 'Incluir todas as predefinições',
 'import-interwiki-submit' => 'Importar',
 'import-interwiki-namespace' => 'Espaço nominal de destino:',
+'import-interwiki-rootpage' => 'Raiz da página de destino (opcional):',
 'import-upload-filename' => 'Nome do ficheiro:',
 'import-comment' => 'Comentário:',
 'importtext' => 'Exporte o ficheiro da wiki de origem utilizando a página especial [[Special:Export|exportação de páginas]].
@@ -2997,7 +3052,9 @@ Não há um directório temporário.',
 'import-error-interwiki' => 'A página "$1" não pode ser importada pois seu nome está reservado para um link externo (interwiki).',
 'import-error-special' => 'A página "$1" não pode ser importada porque ela pertence a um espaço nominal especial que não permite páginas.',
 'import-error-invalid' => 'A página "$1" não pode ser importada porque seu nome é inválido.',
+'import-error-unserialize' => 'Revisão $2 da página "$1" não pode ser desserializada. Foi relatado que a revisão usava o modelo de conteúdo $3 serializado como $4.',
 'import-options-wrong' => '{{PLURAL:$2|Opção errada|Opções erradas}}: <nowiki>$1</nowiki>',
+'import-rootpage-invalid' => 'A raiz da página dada é um título inválido.',
 
 # Import log
 'importlogpage' => 'Registo de importações',
@@ -3095,7 +3152,6 @@ Permite colocar uma justificação no resumo da edição.',
 'modern.css' => '/* Código CSS colocado aqui afectará os utilizadores do tema Moderno */',
 'vector.css' => '/* Código CSS colocado aqui afectará os utilizadores do tema Vector */',
 'print.css' => '/* Código CSS colocado aqui afectará as impressões */',
-'handheld.css' => '/* Código CSS colocado aqui afectará dispositivos móveis baseados no tema configurado em $wgHandheldStyle */',
 
 # Scripts
 'common.js' => '/* Código Javascript colocado aqui será carregado para todos os utilizadores em cada carregamento de página */',
index 61788ce..e70911a 100644 (file)
@@ -46,6 +46,7 @@
  * @author McDutchie
  * @author MetalBrasil
  * @author MisterSanderson
+ * @author Nemo bis
  * @author Opraco
  * @author Pedroca cerebral
  * @author Ppena
@@ -428,6 +429,18 @@ $messages = array(
 'oct' => 'out.',
 'nov' => 'nov.',
 'dec' => 'dez.',
+'january-date' => '$1 de janeiro',
+'february-date' => '$1 de fevereiro',
+'march-date' => '$1 de março',
+'april-date' => '$1 de abril',
+'may-date' => '$1 de maio',
+'june-date' => '$1 de junho',
+'july-date' => '$1 de julho',
+'august-date' => '$1 de agosto',
+'september-date' => '$1 de setembro',
+'october-date' => '$1 de outubro',
+'november-date' => '$1 de novembro',
+'december-date' => '$1 de dezembro',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categoria|Categorias}}',
@@ -881,11 +894,9 @@ Você pode já ter alterado com sucesso a sua senha, ou solicitado uma nova senh
 
 # Special:PasswordReset
 'passwordreset' => 'Redefinir senha',
-'passwordreset-text' => 'Preencha este formulário para recuperar os dados da sua conta pelo e-mail.',
 'passwordreset-legend' => 'Reiniciar a senha',
 'passwordreset-disabled' => 'Redefinições de senha foram desabilitadas nesta wiki.',
 'passwordreset-emaildisabled' => 'Os recursos de e-mail foram desativados nesta wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Introduza um dos dados abaixo}}',
 'passwordreset-username' => 'Nome de usuário:',
 'passwordreset-domain' => 'Domínio:',
 'passwordreset-capture' => 'Ver o e-mail resultante?',
@@ -1126,6 +1137,7 @@ Ele não deu nenhuma explicação.",
 Ela parece ter sido eliminada.',
 'edit-conflict' => 'Conflito de edição.',
 'edit-no-change' => 'A sua edição foi ignorada, uma vez que o texto não sofreu alterações.',
+'postedit-confirmation' => 'Sua edição foi salva',
 'edit-already-exists' => 'Não foi possível criar uma nova página.
 Ela já existia.',
 'defaultmessagetext' => 'Texto da mensagem padrão',
@@ -2396,8 +2408,8 @@ Futuras modificações em tal página e páginas de discussão relacionadas ser
 'notvisiblerev' => 'Edição eliminada',
 'watchnochange' => 'Nenhuma das páginas vigiadas foi editada no período exibido.',
 'watchlist-details' => '{{PLURAL:$1|$1 página|$1 páginas}} na sua lista de páginas vigiadas, excluindo páginas de discussão.',
-'wlheader-enotif' => 'A notificação por email encontra-se ativada.',
-'wlheader-showupdated' => "As páginas modificadas desde a sua última visita são mostradas em '''negrito'''",
+'wlheader-enotif' => 'A notificação por email encontra-se ativada.',
+'wlheader-showupdated' => "As páginas modificadas desde a sua última visita são mostradas em '''negrito'''",
 'watchmethod-recent' => 'verificando edições recentes para as páginas vigiadas',
 '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}}.',
index 4713481..bec6bad 100644 (file)
@@ -8,6 +8,7 @@
  * @file
  *
  * @author *Surak*
+ * @author 127.0.0.1
  * @author Abanima
  * @author Ahonc
  * @author Aleator
@@ -309,6 +310,18 @@ This option means "underline links as in your user skin or your browser", there
 'oct' => 'Abbreviation of October, the tenth month of the Gregorian calendar',
 'nov' => 'Abbreviation of November, the eleventh month of the Gregorian calendar',
 'dec' => 'Abbreviation of December, the twelfth month of the Gregorian calendar',
+'january-date' => 'A date in the Gregorian month of January. $1 is the numerical date, for example "23".',
+'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.',
+'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".',
+'december-date' => 'A date in the Gregorian month of December. $1 is the numerical date, for example "23".',
 
 # Categories related messages
 'pagecategories' => 'Used in the categories section of pages. Is followed by a colon and a list of categories.',
@@ -520,6 +533,7 @@ See also:
 * {{msg-mw|Accesskey-ca-delete}}
 * {{msg-mw|Tooltip-ca-delete}}
 {{Identical|Delete}}',
+'undeletethispage' => 'In the Cologne Blue skin this is the text for link to undelete the page in admin view, at the bottom of the page.',
 'deletethispage' => 'In the Cologne Blue skin this is the text for link to delete the page in admin view, at the bottom of the page.
 {{Identical|Delete this page}}',
 'undelete_short' => "It is tab label. It's really can be named ''nstab-undelete''.",
@@ -638,7 +652,8 @@ See also:
 * {{msg-mw|Tooltip-n-currentevents}}',
 'currentevents-url' => "Target page of ''CurrentEvents'' in the sidebar. See also {{msg-mw|currentevents}}.
 {{doc-important|Do not translate the \"<tt>Project:</tt>\" part.}}",
-'disclaimers' => 'Used as display name for the link to [[{{MediaWiki:Disclaimerpage}}]] shown at the bottom of every page on the wiki. Example [[{{MediaWiki:Disclaimerpage}}|{{MediaWiki:Disclaimers}}]].',
+'disclaimers' => 'Used as display name for the link to [[{{MediaWiki:Disclaimerpage}}]] shown at the bottom of every page on the wiki. Example [[{{MediaWiki:Disclaimerpage}}|{{MediaWiki:Disclaimers}}]].
+{{Identical|Disclaimer}}',
 'disclaimerpage' => 'Used as page for that contains the site disclaimer. Used at the bottom of every page on the wiki. Example: [[{{MediaWiki:Disclaimerpage}}|{{MediaWiki:Disclaimers}}]].
 {{doc-important|Do not change the "<tt>Project:</tt>" part.}}',
 'edithelp' => 'This is the text that appears on the editing help link that is near the bottom of the editing page',
@@ -820,7 +835,7 @@ See also:
 * {{msg-mw|Accesskey-ca-nstab-main}}
 * {{msg-mw|Tooltip-ca-nstab-main}}
 {{Identical|Page}}',
-'nstab-user' => 'The name for the tab of the user namespace. Example: [[User:Example]]. It is possible to use <nowiki>{{GENDER:{{BASEPAGENAME}}|male form|female form}}</nowiki> if needed.
+'nstab-user' => 'The name for the tab of the user namespace. Example: [[User:Example]]. It is possible to use <nowiki>{{GENDER:{{ROOTPAGENAME}}|male form|female form}}</nowiki> if needed.
 
 See also:
 * {{msg-mw|Nstab-user}}
@@ -1126,19 +1141,19 @@ See example: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useN
 {{Identical|Do not have an account}}',
 'nologinlink' => 'Text of the link to the account creation form. Before that link, the message {{msg-mw|Nologin}} appears.
 {{Identical|Create an account}}',
-'createaccount' => '{{doc-special|CreateAccount}}
-The special page enables users to register a new account.
+'createaccount' => 'Used on the top of the page for logged out users, where it appears next to {{msg-mw|login}}, so consider making them similar.
 
-Used on the submit button in the form where you register a new account.
-
-It is also used on the top of the page for logged out users, where it appears next to {{msg-mw|login}}, so consider making them similar.
+It is also used on the submit button in the form/special page where you register a new account.
+{{doc-special|CreateAccount}}
 {{Identical|Create account}}',
 'gotaccount' => 'A message shown in the account creation form.
 * $1 - a link to the log in form, and the text of it is {{msg-mw|Gotaccountlink}}',
 'gotaccountlink' => 'Text of the link to the log in form. Before that link, the message {{msg-mw|Gotaccount}} appears.
 {{Identical|Log in}}',
 'userlogin-resetlink' => 'Used on the login page.',
-'userlogin-resetpassword-link' => 'Text of link to [[Special:PasswordReset]] on new vertical-layout create account form.
+'userlogin-resetpassword-link' => 'Used as link text on new vertical-layout create account form.
+
+The link points to [[Special:PasswordReset]].
 
 See example: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1]
 
@@ -1336,13 +1351,13 @@ See also:
 # Special:PasswordReset
 'passwordreset' => 'Title of [[Special:PasswordReset]].
 {{Identical|Reset password}}',
-'passwordreset-text' => 'Text on [[Special:PasswordReset]]',
+'passwordreset-text-one' => 'Text on [[Special:PasswordReset]] that appears when there is only one way of resetting the password.',
+'passwordreset-text-many' => 'Text on [[Special:PasswordReset]] that appears when there are multiple ways of resetting the password.
+
+* $1 is the number of password reset routes.',
 'passwordreset-legend' => '{{Identical|Reset password}}',
 'passwordreset-disabled' => 'Used as error message in changing password.',
 'passwordreset-emaildisabled' => "Used as error message in changing password when site's email feature is disabled.",
-'passwordreset-pretext' => 'These instructions are shown on the password reset dialogue, which can, in principle, take the user\'s email address as well as, or instead of, their username. This text displays above one or more fields, at least one of which needs to be completed, and the message does not know which routes are available, so it needs to refer to some vague noun rather than specifically "username".
-"One of the pieces of data" means "an info"/"a datum" (probably to be translatea with a singular noun in your language if available). Parameters:
-* $1 is the number of password reset routes. This is never 1, but always two or more. Thus, the first plural option is empty in English.',
 'passwordreset-username' => '{{Identical|Username}}',
 'passwordreset-domain' => 'A domain like used in Domain Name System (DNS) or more specifically like a domain component in the Lightweight Directory Access Protocol (LDAP)',
 'passwordreset-capture' => 'Label for checkbox asking the user whether they want to see the contents of the password reset email (only shown if they have the <tt>passwordreset</tt> permission',
@@ -1700,6 +1715,7 @@ See also:
 * {{msg-mw|edit-gone-missing}}
 * {{msg-mw|edit-conflict}}
 * {{msg-mw|edit-already-exists}}',
+'postedit-confirmation' => 'Confirmation message that is displayed upon successful edit. Parameter $1 is the current user, for GENDER support.',
 'edit-already-exists' => 'Used as error message.
 
 See also:
@@ -4232,8 +4248,7 @@ The other parts are {{msg-mw|Prevpage}} and {{msg-mw|Nextpage}}.
 
 # Special:Categories
 'categories' => 'The page name of [[Special:Categories]].
-
-{{Identical|Categories}}',
+{{Identical|Category}}',
 'categoriespagetext' => "{{doc-important|Do not translate or change links.}}
 Text displayed in [[Special:Categories]].
 
@@ -4255,7 +4270,7 @@ See also:
 * {{msg-mw|Special-categories-sort-count}}',
 
 # Special:DeletedContributions
-'deletedcontributions' => 'The message is shown as a link on user contributions page (like [[Special:Contributions/User]]) to the corresponding [[Special:DeletedContributions]] page.
+'deletedcontributions' => 'The message is shown as a link on [[Special:SpecialPages]] to [[Special:DeletedContributions]].
 
 {{Identical|Deleted user contributions}}',
 'deletedcontributions-title' => 'Title of [[Special:DeletedContributions]] (extension), a special page with a list of edits to pages which were deleted. Only viewable by sysops.
@@ -4511,13 +4526,12 @@ See also:
 * {{msg-mw|Watchlist-options|fieldset}}
 * {{msg-mw|Wlheader-enotif|watchlist header}}
 * {{msg-mw|enotif reset|Submit button text}}',
-'wlheader-enotif' => 'Used in [[Special:Watchlist]].
+'wlheader-enotif' => 'Message at the top of [[Special:Watchlist]], after {{msg-mw|watchlist-details}}. Has to be a full sentence.
 
 See also:
 * {{msg-mw|Watchlist-options|fieldset}}
-* {{msg-mw|Watchlist-details|watchlist header}}
 * {{msg-mw|enotif reset|Submit button text}}',
-'wlheader-showupdated' => 'This message shows up near top of users watchlist page.',
+'wlheader-showupdated' => 'Message at the top of [[Special:Watchlist]], after {{msg-mw|watchlist-details}}. Has to be a full sentence.',
 'watchmethod-recent' => 'See also:
 * {{msg-mw|Watchmethod-list}}',
 'watchmethod-list' => 'See also:
@@ -6080,7 +6094,7 @@ The reason $1 is one of the following messages:
 * {{msg-mw|Svg-long-error}}
 * other custom string',
 'thumbnail_error_remote' => 'Message shown in a thumbnail frame when creation of the thumbnail fails. Parameters:
-* $1 - is the name of the shared repository, see {{msg-mw|shardupload}}
+* $1 - the name of the shared repository, see {{msg-mw|sharedupload}}
 * $2 - the reason, see {{msg-mw|thumbnail_error}}',
 'djvu_page_error' => 'Used as error message.
 
@@ -6741,8 +6755,6 @@ CSS applied to users using Monobook skin.',
 'modern.css' => '{{optional}}',
 'vector.css' => '{{optional}}',
 'print.css' => '{{optional}}',
-'handheld.css' => '{{optional}}
-Style that can be applied on [[w:handheld devices|handheld devices]] (e.g. mobile phones), <code>$wgHandheldStyle</code> is an optional configuration variable which specifies a style sheet file for handheld devices.',
 'noscript.css' => '{{optional}}',
 'group-autoconfirmed.css' => '{{doc-group|autoconfirmed|css}}',
 'group-bot.css' => '{{doc-group|bot|css}}',
@@ -6880,15 +6892,19 @@ See also:
 'pageinfo-views' => 'The number of times the page has been viewed.',
 'pageinfo-watchers' => 'The number of users watching the page.',
 'pageinfo-few-watchers' => 'Message displayed when there are fewer than $wgUnwatchedPageThreshold watchers. $1 is the value of $wgUnwatchedPageThreshold.',
-'pageinfo-redirects-name' => "The number of redirects to the page.
+'pageinfo-redirects-name' => 'Followed by the number of redirects to the page.
+
+Used as link text. The link points to "{{int:Whatlinkshere-title}}" page ([[Special:WhatLinksHere]]).
 
-Used as link text, linked to '{{int:Whatlinkshere-title}}' page ([[Special:WhatLinksHere]]).",
+See example: [{{canonicalurl:Main page|action=info}} Main page?action=info]',
 'pageinfo-redirects-value' => '{{Optional}}
 Parameters:
 * $1 - the number of redirects to the page',
-'pageinfo-subpages-name' => "The number of subpages of the page.
+'pageinfo-subpages-name' => 'Followed by the number of subpages of the page.
 
-Used as link text, linked to '{{int:Prefixindex}}' page ([[Special:PrefixIndex]]).",
+Used as link text. The link points to the "{{int:Prefixindex}}" page ([[Special:PrefixIndex]]).
+
+See example: [{{canonicalurl:Main page|action=info}} Main page?action=info]',
 'pageinfo-subpages-value' => 'Parameters:
 * $1 - the number of subpages of the page
 * $2 - the number of subpages of the page that are redirects
@@ -7127,36 +7143,28 @@ Abbreviation for "days". $1 is the number of days.
 See also {{msg-mw|days}}',
 'seconds' => 'Full word for "seconds". $1 is the number of seconds.
 
-See also {{msg-mw|Seconds-abbrev}}
-
-Part of variable $1 in {{msg-mw|Ago}}',
+See also {{msg-mw|seconds-abbrev}}, {{msg-mw|seconds-ago}}.',
 'minutes' => 'Full word for "minutes". $1 is the number of minutes.
 
-See also {{msg-mw|Minutes-abbrev}}
+See also {{msg-mw|minutes-abbrev}}, {{msg-mw|minutes-ago}}.
 
-Part of variable $1 in {{msg-mw|Ago}}.
 {{Identical|Minute}}',
 'hours' => 'Full word for "hours". $1 is the number of hours.
 
-See also {{msg-mw|Hours-abbrev}}
-
-Part of variable $1 in {{msg-mw|Ago}}',
+See also {{msg-mw|hours-abbrev}}, {{msg-mw|hours-ago}}.',
 'days' => 'Full word for "days". $1 is the number of days.
 
 See also {{msg-mw|Days-abbrev}}
 
-Part of variable $1 in {{msg-mw|Ago}}
 {{Identical|Day}}',
 'weeks' => 'Full word for "weeks".
 
-Used as <code>$1</code> in {{msg-mw|Ago}}. Parameters:
+Parameters:
 * $1 - the number of weeks',
-'months' => 'Full word for "months". $1 is the number of months.
-
-Part of variable $1 in {{msg-mw|Ago}}',
+'months' => 'Full word for "months". $1 is the number of months.',
 'years' => 'Full word for "years".
 
-Used as <code>$1</code> in {{msg-mw|Ago}}. Parameters:
+Parameters:
 * $1 - the number of years',
 'ago' => 'Phrase for indicating how long ago something happened. $1 is something like "3 days 10 hours", taken from these messages:
 *{{msg-mw|Seconds}}
@@ -7693,7 +7701,8 @@ This property can come from xmp:Label in XMP ( http://www.adobe.com/content/dam/
 'exif-pngfilecomment' => 'See also:
 * {{msg-mw|Exif-pngfilecomment}}
 * {{msg-mw|Exif-giffilecomment}}',
-'exif-disclaimer' => 'Disclaimer for the image.',
+'exif-disclaimer' => 'Disclaimer for the image.
+{{Identical|Disclaimer}}',
 'exif-contentwarning' => 'Content warning for the image. For example if the image/media contains violent, sexual or otherwise offensive content.
 
 This comes from the png warning textual chunk. See http://www.w3.org/TR/PNG/#11keywords',
index 5cdd684..c9d6c8f 100644 (file)
@@ -677,9 +677,18 @@ Sutinnaq kaspaykipas {{SITENAME}}pi wamp'uytam atinki. Mana hinataq munaspaykiqa
 'welcomecreation-msg' => 'Rakiqunaykiqa kamarisqañam.
 Ama qunqaychu [[Special:Preferences|{{SITENAME}} allinkachinaykikunata]] hukchayta.',
 'yourname' => 'Ruraq sutiyki:',
+'userlogin-yourname' => 'Ruraqpa sutin',
+'userlogin-yourname-ph' => 'Ruraqpa sutiykita yaykuchiy',
 'yourpassword' => 'Yaykuna rimayki',
+'userlogin-yourpassword' => 'Yaykuna rima',
+'userlogin-yourpassword-ph' => 'Yaykuna rimaykita yaykuchiy',
+'createacct-yourpassword-ph' => 'Yaykuna rimata yaykuchiy',
 'yourpasswordagain' => 'Yaykuna rimaykita kutipayay',
+'createacct-yourpasswordagain' => 'Yaykuna rimata takyachiy',
+'createacct-yourpasswordagain-ph' => 'Yaykuna rimata musuqmanta yaykuchiy',
 'remembermypassword' => "Ruraqpa sutiyta yaykuna rimaytapas yuyaykuy llamk'ay tiyayniypura ({{PLURAL:$1|huk p'unchawkama|$1 p'unchawkama}})",
+'userlogin-remembermypassword' => 'Yaykusqa kakunaytam munani',
+'userlogin-signwithsecure' => "Amachasqa t'inkinakusqata llamk'achiy",
 'securelogin-stick-https' => "Yaykurquspa HTTPS nisqawan t'inkisqa kakuy",
 'yourdomainname' => 'Duminyuykip sutin',
 'password-change-forbidden' => 'Kay wikipi yaykuna rimataqa manam hukchayta atinkichu.',
@@ -692,14 +701,25 @@ Ama qunqaychu [[Special:Preferences|{{SITENAME}} allinkachinaykikunata]] hukchay
 'logout' => 'Lluqsiy',
 'userlogout' => 'Lluqsiy',
 'notloggedin' => 'Manam yaykurqankichu',
+'userlogin-noaccount' => 'Rakiqunaykiri manachu kanchu?',
+'userlogin-joinproject' => '{{SITENAME}}man yaykuy',
 'nologin' => "Manaraqchu rakiqunaykichu kachkan? '''$1'''.",
 'nologinlink' => 'Kichariy',
 'createaccount' => 'Musuq rakiqunata kichariy',
 'gotaccount' => "Rakiqunaykiñachu kachkan? '''$1'''.",
 'gotaccountlink' => 'Rakiqunaykita willaway',
 'userlogin-resetlink' => 'Yaykuna willayniykikunatari qunqarqankichu?',
+'userlogin-resetpassword-link' => 'Yaykuna rimaykita kutichiy',
+'helplogin-url' => 'Help:Yaykuy',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Yaykunapaq yanapa]]',
+'createacct-join' => 'Kay qatiqpi willaykita yaykuchiy.',
+'createacct-emailrequired' => 'E-chaski imamayta',
+'createacct-emailoptional' => 'E-chaski imamayta (munaspayki)',
+'createacct-email-ph' => 'E-chaski imamaytaykita yaykuchiy',
 'createaccountmail' => "Kikinmanta tukusqa mit'alla yaykuna rimata llamk'achispa kay qatiqpi kaq e-chaski imamaytaman kachay",
+'createacct-realname' => 'Chiqap suti (munaspayki)',
 'createaccountreason' => 'Kayrayku:',
+'createacct-reason' => 'Kayrayku',
 'badretype' => 'Qusqayki yaykuna rimakunaqa manam kaqllachu.',
 'userexists' => 'Munasqayki ruraqpa sutiykiqa kachkanñam.
 Ama hina kaspa, huk ruraqpa sutiykita akllay.',
@@ -2146,6 +2166,15 @@ Q\'imichisqa tantari {{PLURAL:$2|qillqa|qillqakuna}}: <code>$1</code> (mana mayq
 'listusers-noresult' => 'Ruraqqa manam tarisqachu.',
 'listusers-blocked' => "(hark'asqa)",
 
+# Special:ActiveUsers
+'activeusers' => "Llamk'achkaq ruraqkuna",
+'activeusers-intro' => "Kay qatiqpiqa ruraqkunatam rikunki, qhipaq $1 {{PLURAL:$1|p'unchawpi|p'unchawkunapi}} kay wikipi imatapas ruraq.",
+'activeusers-count' => "$1 {{PLURAL:$1|llamk'apusqa|llamk'apusqakuna}} ñaqha {{PLURAL:$3|p'unchawpi|$3 p'unchawkunapi}}",
+'activeusers-from' => 'Ruraqkunata rikuchiy, kaywan qallarispa:',
+'activeusers-hidebots' => 'Rurana antachakunata pakay',
+'activeusers-hidesysops' => 'Kamachiqkunata pakay',
+'activeusers-noresult' => 'Ruraqkunataqa manam tarinichu.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Ruraq huñup hayñinkuna',
 'listgrouprights-summary' => "Kay qatiq sutisuyupiqa kay wikipi sut'ichasqa ruraq huñukunatam, kikinpa chayamuna hayñinkunatawan rikunki.
@@ -2222,8 +2251,8 @@ Qampa [[Special:Preferences|allinkachinaykikunapi]] qillqakamachisqayki imamayta
 'notvisiblerev' => 'Musuqchasqaqa qullusqam',
 'watchnochange' => "Manam ima watiqasqayki qillqapas llamk'apusqachu karqan rikuchisqa mit'api.",
 'watchlist-details' => "Watiqana sutisuyuykipiqa {{PLURAL:$1|huk p'anqam|$1 p'anqakunam}}, rimanakuna p'anqakunata mana yupaspa.",
-'wlheader-enotif' => 'E-chaskimanta musyachinaman arí nisqañam.',
-'wlheader-showupdated' => "Qayna watukamusqaykimantapacha hukchasqa p'anqakunataqa '''yanasapa''' nisqapim rikunki.",
+'wlheader-enotif' => 'E-chaskimanta musyachinaman arí nisqañam.',
+'wlheader-showupdated' => "Qayna watukamusqaykimantapacha hukchasqa p'anqakunataqa '''yanasapa''' nisqapim rikunki.",
 'watchmethod-recent' => "watiqasqayki p'anqakunapaq ñaqha hukchasqakunata llanchispa",
 'watchmethod-list' => "watiqasqayki p'anqakunata ñaqha hukchasqakunapaq llanchispa",
 'watchlistcontains' => "Watiqana sutisuyuykipiqa $1 {{PLURAL:$1|p'anqam|p'anqakunam}} kachkan.",
@@ -2922,7 +2951,6 @@ Tukuy hawa wikimanta chaskisqakunaqa [[Special:Log/import|hawamanta chaskiy hall
 'monobook.css' => '/* Kayman churasqa CSS nisqaqa Monobook qaratam hukchanqa tukuy internet tiyanapaq */',
 'modern.css' => "/* Churamusqa CSS chantakunaqa ''Modern skin'' nisqa qarata llamk'achiq ruraqkunapaq llamk'anqa */",
 'print.css' => "/* Churamusqa CSS chantakunaqa ch'ipachinap rikch'akuynintam hukchanqa */",
-'handheld.css' => "/* Churamusqa CSS chantakunaqa makiwan hap'isqa qarapi tiksisqa \$wgHandheldStyle nisqapi allichasqa antakunap llamk'aynintam hukchanqa */",
 
 # Scripts
 'common.js' => "/* Ima kaypi kaq JavaScript qillqapas tukuy ruraqkunapaq tukuy p'anqakunap tukuy chaqnankunapi chaqnamusqa kanqa. */",
@@ -3106,7 +3134,7 @@ Kikin siq'ipi ima qatiq t'inkillapas sapaqllatam hamut'arisqa, ahinataq siq'ipi
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Suni kay',
 'exif-imagelength' => 'Hanaq kay',
 'exif-bitspersample' => 'Bitkuna ñawpariqninman',
@@ -3284,7 +3312,7 @@ Kikin siq'ipi ima qatiq t'inkillapas sapaqllatam hamut'arisqa, ahinataq siq'ipi
 'exif-originalimageheight' => "Manaraq rutusqa rikch'ap hanaq kaynin",
 'exif-originalimagewidth' => "Manaraq rutusqa rikch'ap suni kaynin",
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => "Mana mat'isqa",
 'exif-compression-2' => 'CCITT Huñu 3 1-tupu wakinchasqa Huffman purina suni llawiy',
 'exif-compression-3' => 'CCITT Huñu 3 tilifaks llawiy',
index 79dbea3..d7c6e0c 100644 (file)
@@ -44,8 +44,6 @@ $messages = array(
 'tog-shownumberswatching' => "Fam' avdè e' nòmar d'j utent ch'j tèn sta pàgina sot occ",
 'tog-oldsig' => 'Anteprèma dla fírma bona',
 'tog-fancysig' => "Tràta la firma cumpagna e' test int'la wiki (senza nissön ligam automatich)",
-'tog-externaleditor' => "Drova sempar un prugràma d'scritura esteran (editor testuale)",
-'tog-externaldiff' => 'Drova sempar un prugràma comparator esteran (sol par j utent espert)',
 'tog-showjumplinks' => "Fa' funzionè j leghèm d'acesibilitè tipo \"Va' a\"",
 'tog-uselivepreview' => 'Drova la funziòn "Anteprèma dal viv" (u j vo Javascript; sperimentêl)',
 'tog-forceeditsummary' => "Dam la vos quènd l'ugèt dla mudèfica l'è vut",
@@ -476,7 +474,7 @@ $1 {{PLURAL:$1|elemént|elemént}}',
 # Special:ListGroupRights
 'listgrouprights-members' => "(Lèsta d'j mèmbar)",
 
-# E-mail user
+# Email user
 'emailuser' => 'Manda un scrètt a ste patàca',
 
 # Watchlist
index d5fb568..63cf5da 100644 (file)
@@ -514,7 +514,7 @@ Tasniwin di [[Special:Watchlist|your watchlist]] d '''tizurarin'''.",
 # Special:ListUsers
 'listusers-submit' => 'Smmrad',
 
-# E-mail user
+# Email user
 'emailuser' => 'Ssek E-mail i bnadm a',
 
 # Watchlist
index 951c13e..db311ea 100644 (file)
@@ -2069,8 +2069,8 @@ Midadas futuras vid questa pagina e la pagina da discussiun appertegnenta vegnan
 'notvisiblerev' => "L'ultima versiun d'in auter utilisader è vegnida stizzada",
 'watchnochange' => 'Nagin dals artitgels che ti observeschas è vegnì midà durant la perioda da temp inditgada.',
 'watchlist-details' => "{{PLURAL:$1|Ina pagina|$1 paginas}} èn sin tia glista d'observaziun (senza dumbrar las paginas da discussiun).",
-'wlheader-enotif' => "Il servetsch d'infurmaziun per e-mail è activà.",
-'wlheader-showupdated' => "Artitgels ch'èn vegnids midads suenter che ti has vis els la davosa giada èn mussads '''grass'''",
+'wlheader-enotif' => "Il servetsch d'infurmaziun per e-mail è activà.",
+'wlheader-showupdated' => "Artitgels ch'èn vegnids midads suenter che ti has vis els la davosa giada èn mussads '''grass'''",
 'watchmethod-recent' => "intercurir las davosas midadas per la glista d'observaziun",
 'watchmethod-list' => 'intercurir las paginas observadas davart novas midadas',
 'watchlistcontains' => "Tia glista d'observaziun cuntegna $1 {{PLURAL:$1|pagina|paginas}}.",
index 3910671..9cae704 100644 (file)
@@ -84,7 +84,6 @@ $messages = array(
 
 # Cologne Blue skin
 'qbedit' => 'Editisar',
-'qbpageinfo' => 'Patrinyake janglimata',
 'qbspecialpages' => 'Uzalutne patrya',
 
 'errorpagetitle' => 'Dosh',
@@ -169,9 +168,6 @@ $messages = array(
 'logouttext' => "'''Akana san avryal i {{SITENAME}}.'''
 
 Shai te labyares {{SITENAME}} sar ekh bijanglo jeno vai shai te prinjares tut palem sar o jeno le kadale navesa vai le aver navesa.",
-'welcomecreation' => '== Mishto avilyan, $1! ==
-
-Akana si tuke ekh akont. Te na bistares te paruves, kana trebul tuke, tire kamimata kai {{SITENAME}}.',
 'yourname' => 'Tiro anav',
 'yourpassword' => 'O nakhavipnasko lav',
 'yourpasswordagain' => 'O nakhavipnasko lav de nevo',
@@ -371,7 +367,7 @@ Kana avilyan kathe doshatar, ja palpale.',
 'allarticles' => 'Sa le artikolurya',
 'allpagessubmit' => 'Ja',
 
-# E-mail user
+# Email user
 'emailuser' => 'Bichhal les/la e-mail',
 'emailfrom' => 'Katar',
 'emailto' => 'Karing',
@@ -391,7 +387,6 @@ Kana kamesa te khoses kadaya patrin andar tiri lista le patryange so arakhes len
 'wlnote' => 'Tele si le palutne $1 paruvimata ande palutne <b>$2</b> ore.',
 
 'enotif_reset' => 'Thov semno kai patrya so dikhlem',
-'enotif_newpagetext' => 'Kadaya si ek nevi patrin.',
 
 # Delete
 'deletepage' => 'Khos i patrin',
index 1100940..7fa1a6c 100644 (file)
@@ -406,6 +406,18 @@ pe titlul secțiunii (JavaScript)',
 'oct' => 'oct',
 'nov' => 'nov',
 'dec' => 'dec',
+'january-date' => '$1 ianuarie',
+'february-date' => '$1 februarie',
+'march-date' => '$1 martie',
+'april-date' => '$1 aprilie',
+'may-date' => '$1 mai',
+'june-date' => '$1 iunie',
+'july-date' => '$1 iulie',
+'august-date' => '$1 august',
+'september-date' => '$1 septembrie',
+'october-date' => '$1 octombrie',
+'november-date' => '$1 noiembrie',
+'december-date' => '$1 decembrie',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categorie|Categorii}}',
@@ -858,11 +870,11 @@ Este posibil să fi reușit deja schimbarea parolei sau să fi cerut o parolă t
 
 # Special:PasswordReset
 'passwordreset' => 'Resetare parolă',
-'passwordreset-text' => 'Completați acest formular pentru a vă reseta parola.',
+'passwordreset-text-one' => 'Completați acest formular pentru a vă reseta parola.',
+'passwordreset-text-many' => '{{PLURAL:$1|Introduceți una din aceste informații pentru a vă reseta parola.}}',
 'passwordreset-legend' => 'Resetare parolă',
 'passwordreset-disabled' => 'Resetarea parolei a fost dezactivată pe acest wiki.',
 'passwordreset-emaildisabled' => 'Funcțiile de e-mail au fost dezactivate de pe acest wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1| | Introduceți mai jos o parte din informații}}',
 'passwordreset-username' => 'Nume de utilizator:',
 'passwordreset-domain' => 'Domeniu:',
 'passwordreset-capture' => 'Vizualizați e-mailul rezultat?',
@@ -1104,6 +1116,7 @@ Nicio explicație furnizată.',
 Se pare că a fost ștearsă.',
 'edit-conflict' => 'Conflict de modificare.',
 'edit-no-change' => 'Modificarea dvs. a fost ignorată deoarece nu s-a efectuat nicio schimbare.',
+'postedit-confirmation' => 'Modificarea dumneavoastră a fost salvată.',
 'edit-already-exists' => 'Pagina nouă nu a putut fi creată.
 Ea există deja.',
 'defaultmessagetext' => 'Textul implicit',
@@ -2363,8 +2376,8 @@ Modificările viitoare efectuate asupra acestei pagini dar și asupra paginii de
 'notvisiblerev' => 'Versiunea a fost ștearsă',
 'watchnochange' => 'Nici una dintre paginile pe care le urmăriți nu a fost modificată în perioada de timp afișată.',
 'watchlist-details' => '{{PLURAL:$1|O pagină|$1 pagini urmărite|$1 de pagini urmărite}}, excluzând paginile de discuție.',
-'wlheader-enotif' => '*Notificarea email este activată',
-'wlheader-showupdated' => "* Paginile care au fost modificate după ultima dumneavoastră vizită sunt afișate '''îngroșat'''",
+'wlheader-enotif' => 'Notificarea prin e-mail este activată.',
+'wlheader-showupdated' => "Paginile care au fost modificate ulterior accesării lor ultima dată de către dumneavoastră sunt '''îngroșate'''.",
 'watchmethod-recent' => 'căutarea schimbărilor recente pentru paginile urmărite',
 'watchmethod-list' => 'căutarea paginilor urmărite pentru schimbări recente',
 'watchlistcontains' => 'Lista de pagini urmărite conține $1 {{PLURAL:$1|element|elemente|de elemente}}.',
@@ -2549,7 +2562,7 @@ Puteți schimba nivelul de protejare al acestei pagini, dar asta nu va afecta pr
 'undelete' => 'Recuperare pagină ștearsă',
 'undeletepage' => 'Vizualizare și recuperare pagini șterse',
 'undeletepagetitle' => "'''Această listă cuprinde versiuni șterse ale paginii [[:$1|$1]].'''",
-'viewdeletedpage' => 'Vezi paginile șterse',
+'viewdeletedpage' => 'Vizualizare pagini șterse',
 'undeletepagetext' => '{{PLURAL:$1|Următoarea pagină a fost ștearsă, dar încă se află în arhivă și poate fi recuperată|Următoarele $1 pagini au fost șterse, dar încă se află în arhivă și pot fi recuperate|Următoarele $1 de pagini au fost șterse, dar încă se află în arhivă și pot fi recuperate}}. Arhiva ar putea fi ștearsă periodic.',
 'undelete-fieldset-title' => 'Recuperare versiuni',
 'undeleteextrahelp' => "Pentru a restaura întregul istoric al paginii lăsați toate căsuțele nebifate și apăsați butonul '''''{{int:undeletebtn}}'''''.
@@ -2943,6 +2956,8 @@ Vă rugăm să vizitați [//www.mediawiki.org/wiki/Localisation MediaWiki Locali
 'thumbnail-more' => 'Extindere',
 'filemissing' => 'Fișier lipsă',
 'thumbnail_error' => 'Eroare la generarea previzualizării: $1',
+'thumbnail_error_remote' => 'Mesaj de eroare de la $1:
+$2',
 'djvu_page_error' => 'Numărul paginii DjVu eronat',
 'djvu_no_xml' => 'Imposibil de obținut XML-ul pentru fișierul DjVu',
 'thumbnail-temp-create' => 'Imposibil de creat miniatura temporară',
index 1b3cabb..1d48931 100644 (file)
@@ -132,6 +132,18 @@ $messages = array(
 'oct' => 'Ott',
 'nov' => 'Nov',
 'dec' => 'Dec',
+'january-date' => 'Scennare $1',
+'february-date' => 'Febbrare $1',
+'march-date' => 'Màrze $1',
+'april-date' => 'Abbrile $1',
+'may-date' => 'Màsce $1',
+'june-date' => 'Sciugne $1',
+'july-date' => 'Luglie $1',
+'august-date' => 'Aguste $1',
+'september-date' => 'Settemmre $1',
+'october-date' => 'Ottommre $1',
+'november-date' => 'Novemmre $1',
+'december-date' => 'Decemmre $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Categorije|Categorije}}',
@@ -607,11 +619,11 @@ Pò essere ca tu è già cangete 'a password toje o è richieste una temboranea
 
 # Special:PasswordReset
 'passwordreset' => "Azzere 'a passuord",
-'passwordreset-text' => "Comblete stu module pe ricevere 'na mail de promemorie de le dettaglie d'u cunde tune.",
+'passwordreset-text-one' => "Comblete stu module pe azzerà 'a passuord toje.",
+'passwordreset-text-many' => "{{PLURAL:$1|Mitte une de le pizze de date pe azzerà 'a passuord toje.}}",
 'passwordreset-legend' => "Azzere 'a passuord",
 'passwordreset-disabled' => "'U reset de le passuord ha state desabbilitate sus a sta uicchi.",
 'passwordreset-emaildisabled' => "Le funziune de l'email onne state disabbilitate sus a sta uicchi.",
-'passwordreset-pretext' => '{{PLURAL:$1||Mitte une de le stuèzze de le date aqquà sotte}}',
 'passwordreset-username' => 'Nome utende:',
 'passwordreset-domain' => 'Dominie:',
 'passwordreset-capture' => "Vide 'a mail resultande?",
@@ -858,6 +870,7 @@ Non g'à date nisciune mutive.",
 Pare proprie ca l'onne scangellete.",
 'edit-conflict' => 'conflitte de cangiaminde.',
 'edit-no-change' => "'U cangiamende ca p fatte, avène scettate purcè 'u teste non g'à cangete manghe de 'na virgola.",
+'postedit-confirmation' => "'U cangiamende tune ha state reggistrate.",
 'edit-already-exists' => "Non ge puè ccrejà 'na pàgene nove purcè esiste già!",
 'defaultmessagetext' => 'Messàgge de teste de base',
 'content-failed-to-parse' => "L'analise d'u condenute $2 pu modelle $1 ha fallite: $3",
@@ -2145,8 +2158,8 @@ Le cangiaminde future a sta pàgene e 'a pàgene de le 'ngazzaminde associete le
 'notvisiblerev' => "'A revisione ha state scangellete",
 'watchnochange' => "Niscune de le vôsce condrollete onne state cangete jndr'à 'u periode visualizzate.",
 'watchlist-details' => "{{PLURAL:$1|$1 pàgene|$1 pàggene}} jndr'à liste de le pàggene condrollete, scartanne le pàggene de le 'ngazzaminde.",
-'wlheader-enotif' => "* 'A notifiche de le e-mail notification jè abbilitete.",
-'wlheader-showupdated' => "* Le pàggene ca onne cangete da quanne tu l'è visitate sonde visualizzate in '''grascette'''",
+'wlheader-enotif' => '* Notifiche pe email abbilitate.',
+'wlheader-showupdated' => "* Le pàggene ca onne state cangiate da l'urtema visite avènene fatte vedè in '''grascette'''",
 'watchmethod-recent' => 'verifiche de le cangiaminde recende pe le pàggene condrollete',
 'watchmethod-list' => 'stoche a condrolle le pàggene condrollete pe le urteme cangiaminde',
 'watchlistcontains' => "'A liste de le pàggene condrollete toje condene $1 {{PLURAL:$1|pàgene|pàggene}}.",
@@ -2739,6 +2752,8 @@ Pe piacere vè vide [//www.mediawiki.org/wiki/Localisation Localizzazione de Med
 'thumbnail-more' => 'Allarije',
 'filemissing' => 'File perdute',
 'thumbnail_error' => "Errore ccrejanne l'andeprime picenne: $1",
+'thumbnail_error_remote' => "Messàgge d'errore da $1:
+$2",
 'djvu_page_error' => 'Pàgene DjVu fore da le limite',
 'djvu_no_xml' => "Non ge riesche a esaminà l'XML d'u file DjVu",
 'thumbnail-temp-create' => "Non ge se pò ccrejà 'na miniature temboranèe d'u file",
@@ -2898,7 +2913,6 @@ Permette de aggiungere 'nu mutive jndr'à 'u riepileghe",
 'modern.css' => "/* 'U CSS ca se iacchie aqquà 'u 'ndrucane le utinde d'a masckere Moderne */",
 'vector.css' => "/* 'U CSS ca se iacchie aqquà 'u 'ndrucane le utinde d'a masckere Vettore */",
 'print.css' => "/* 'U CSS ca se iacchie aqquà avène applicate a 'u resultate d'a stambe */",
-'handheld.css' => "/* 'U CSS ca se iacchie aqquà l'ausane le dispositive de gestione manuale basate sus a masckere configurate in \$wgHandheldStyle */",
 'noscript.css' => "/* 'U CSS ca se iacchie aqquà l'ausane le utinde cu 'u Javascript disabbilitate */",
 'group-autoconfirmed.css' => "/* 'U CSS ca se iacchie aqquà ave effettue seulamende sus a le utinde autoconfirmatarie */",
 'group-bot.css' => "/* 'U CSS ca se iacchie aqquà ave effettue seulamende sus a le bot */",
index c3f6d70..3a778fd 100644 (file)
  * @author KorneySan
  * @author Kv75
  * @author Lockal
+ * @author Matma Rex
  * @author MaxBioHazard
  * @author MaxSem
  * @author NBS
+ * @author Nemo bis
  * @author Ola
  * @author Ole Yves
  * @author Putnik
@@ -533,6 +535,18 @@ $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' => 'Сентябрь $1',
+'october-date' => 'Октябрь $1',
+'november-date' => 'Ноябрь $1',
+'december-date' => 'Декабрь $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Категория|Категории}}',
@@ -690,7 +704,7 @@ $1',
 'youhavenewmessages' => 'Вы получили $1 ($2).',
 'newmessageslink' => 'новые сообщения',
 'newmessagesdifflink' => 'последнее изменение',
-'youhavenewmessagesfromusers' => 'Вы получили $1 от {{PLURAL:$3|$3 участника|$3 участников|$3 участников}} ($2).',
+'youhavenewmessagesfromusers' => 'Вы получили $1 от {{PLURAL:$3|$3 участника|$3 участников}} ($2).',
 'youhavenewmessagesmanyusers' => 'Вы получили $1 от множества пользователей ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|новое сообщение|новые сообщения}}',
 'newmessagesdifflinkplural' => '{{PLURAL:$1|последнее изменение|последние изменения}}',
@@ -850,8 +864,8 @@ $2',
 'createacct-yourpasswordagain' => 'Подтвердите пароль',
 'createacct-yourpasswordagain-ph' => 'Введите пароль еще раз',
 'remembermypassword' => 'Помнить мою учётную запись на этом компьютере (не более $1 {{PLURAL:$1|дня|дней|дней}})',
-'userlogin-remembermypassword' => 'Ð\97апомниÑ\82Ñ\8c Ð¼ÐµÐ½Ñ\8f',
-'userlogin-signwithsecure' => 'Ð\92Ñ\8bполниÑ\82е Ð²Ñ\85од, Ð¸Ñ\81полÑ\8cзÑ\83Ñ\8f Ð±ÐµÐ·Ð¾Ð¿Ð°Ñ\81нÑ\8bй Ñ\81еÑ\80веÑ\80',
+'userlogin-remembermypassword' => 'Ð\9eÑ\81Ñ\82аваÑ\82Ñ\8cÑ\81Ñ\8f Ð² Ñ\81иÑ\81Ñ\82еме',
+'userlogin-signwithsecure' => 'Ð\97аÑ\89иÑ\89Ñ\91нное Ñ\81оединение',
 'securelogin-stick-https' => 'Продолжить подключение по HTTPS после входа',
 'yourdomainname' => 'Ваш домен:',
 'password-change-forbidden' => 'Вы не можете изменить пароль в этой вики.',
@@ -873,6 +887,7 @@ $2',
 'gotaccountlink' => 'Представьтесь',
 'userlogin-resetlink' => 'Забыли данные для входа?',
 'userlogin-resetpassword-link' => 'Сброс пароля',
+'helplogin-url' => 'Help:Вход в систему',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Помощь со входом в систему]]',
 'createacct-join' => 'Введите свои данные ниже.',
 'createacct-emailrequired' => 'Адрес электронной почты',
@@ -882,13 +897,14 @@ $2',
 'createacct-realname' => 'Настоящее имя (необязательно)',
 'createaccountreason' => 'Причина:',
 'createacct-reason' => 'Причина',
+'createacct-reason-ph' => 'Зачем вы создаёте другую учетную запись',
 'createacct-captcha' => 'Проверка безопасности',
 'createacct-imgcaptcha-ph' => 'Введите текст, который вы видите выше',
 'createacct-submit' => 'Зарегистрировать учётную запись',
 'createacct-benefit-heading' => '{{SITENAME}} сделана такими же людьми, как вы.',
 'createacct-benefit-body1' => '{{PLURAL:$1|правка|правки|правок}}',
-'createacct-benefit-body2' => '{{PLURAL:$1|страница|страницы|страниц}}',
-'createacct-benefit-body3' => '{{PLURAL:$1|Ñ\83Ñ\87аÑ\81Ñ\82ник|Ñ\83Ñ\87аÑ\81Ñ\82ников|Ñ\83Ñ\87аÑ\81Ñ\82ника}} Ð² последнее время',
+'createacct-benefit-body2' => '{{PLURAL:$1|статья|статьи|статей}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|Ñ\83Ñ\87аÑ\81Ñ\82ник|Ñ\83Ñ\87аÑ\81Ñ\82ника|Ñ\83Ñ\87аÑ\81Ñ\82ников}} Ð·Ð° последнее время',
 'badretype' => 'Введённые вами пароли не совпадают.',
 'userexists' => 'Введённое имя участника уже используется.
 Пожалуйста, выберите другое имя.',
@@ -982,14 +998,15 @@ $2',
 'resetpass-wrong-oldpass' => 'Неправильный временный или текущий пароль.
 Возможно, вы уже успешно изменили пароль, или запросили новый временный пароль.',
 'resetpass-temp-password' => 'Временный пароль:',
+'resetpass-abort-generic' => 'Изменение пароля было прервано расширением.',
 
 # Special:PasswordReset
 'passwordreset' => 'Сброс пароля',
-'passwordreset-text' => 'Чтобы сбросить свой пароль, заполните эту форму.',
+'passwordreset-text-one' => 'Заполните эту форму, чтобы сбросить свой пароль.',
+'passwordreset-text-many' => '{{PLURAL:$1|Введите одну из частей данных для сброса пароля.}}',
 'passwordreset-legend' => 'Сбросить пароль',
 'passwordreset-disabled' => 'Сбросы пароля отключены на этой вики.',
 'passwordreset-emaildisabled' => 'Функции электронной почты отключены в этой вики.',
-'passwordreset-pretext' => '{{PLURAL:$1||Введите одну из частей данных, показанных ниже}}',
 'passwordreset-username' => 'Имя участника:',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Просмотреть получившееся письмо?',
@@ -1018,7 +1035,7 @@ $2
 Временный пароль: $2',
 'passwordreset-emailsent' => 'Отправлено электронное письмо с информацией о сбросе пароля.',
 'passwordreset-emailsent-capture' => 'Отправлено электронное письмо с информацией о сбросе пароля, текст которого можно увидеть ниже.',
-'passwordreset-emailerror-capture' => 'Было создано электронное письмо с информацией о сбросе пароля, текст которого можно увидеть ниже. Однако его не удалось отправить по следующей причине: $1',
+'passwordreset-emailerror-capture' => 'Было создано электронное письмо с информацией о сбросе пароля, текст которого можно увидеть ниже, однако его не удалось отправить {{GENDER:$2|участнику|участнице}} по следующей причине: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'Изменить адрес электронной почты',
@@ -1233,6 +1250,7 @@ $2
 Вероятно, она была удалена.',
 'edit-conflict' => 'Конфликт редактирования.',
 'edit-no-change' => 'Ваша правка была отклонена, так как в тексте не было сделано изменений.',
+'postedit-confirmation' => 'Ваша правка сохранена.',
 'edit-already-exists' => 'Невозможно создать новую страницу.
 Она уже существует.',
 'defaultmessagetext' => 'Текст по умолчанию',
@@ -1240,7 +1258,7 @@ $2
 'invalid-content-data' => 'Недопустимые данные',
 'content-not-allowed-here' => 'Содержимое "$1" недопустимо на странице [[$2]]',
 'editwarning-warning' => 'Переход на другую страницу может привести к потере сделанных вами изменений.
-Если вы зарегистрированы в системе, то вы можете отключить это предупреждение в разделе «{{int:prefs-editing}}» ваших настроек.',
+Если вы зарегистрированы в системе, то вы можете отключить это предупреждение в разделе «Редактирование» ваших настроек.',
 
 # Content models
 'content-model-wikitext' => 'вики-текст',
@@ -1666,6 +1684,7 @@ $1",
 'userrights-notallowed' => 'С вашей учётной записи не разрешено добавлять и удалять права участников.',
 'userrights-changeable-col' => 'Группы, которые вы можете изменять',
 'userrights-unchangeable-col' => 'Группы, которые вы не можете изменять',
+'userrights-conflict' => 'Конфликт прав участника! Пожалуйста, примените изменения заново.',
 
 # Groups
 'group' => 'Группа:',
@@ -2490,8 +2509,8 @@ $1',
 'notvisiblerev' => 'Версия была удалена',
 'watchnochange' => 'За этот период ни одна страница из списка наблюдения не менялась.',
 'watchlist-details' => 'В вашем списке наблюдения $1 {{PLURAL:$1|страница|страницы|страниц}}, не считая страниц обсуждения.',
-'wlheader-enotif' => '* Уведомление по эл. почте включено.',
-'wlheader-showupdated' => "Страницы, изменившиеся с вашего последнего их посещения, выделены '''жирным''' шрифтом.",
+'wlheader-enotif' => 'Уведомления по эл. почте включены.',
+'wlheader-showupdated' => "Страницы, изменившиеся с вашего последнего их посещения, выделены '''жирным''' шрифтом.",
 'watchmethod-recent' => 'просмотр последних изменений для наблюдаемых страниц',
 'watchmethod-list' => 'просмотр наблюдаемых страниц для последних изменений',
 'watchlistcontains' => 'Ваш список наблюдения содержит $1 {{PLURAL:$1|страница|страницы|страниц}}.',
@@ -3065,6 +3084,8 @@ $1',
 'thumbnail-more' => 'Увеличить',
 'filemissing' => 'Файл не найден',
 'thumbnail_error' => 'Ошибка создания миниатюры: $1',
+'thumbnail_error_remote' => 'Сообщение об ошибке от $1:
+$2',
 'djvu_page_error' => 'Номер страницы DjVu вне досягаемости',
 'djvu_no_xml' => 'Невозможно получить XML для DjVu',
 'thumbnail-temp-create' => 'Не удаётся создать временный файл эскиза',
@@ -3217,7 +3238,6 @@ $1',
 'modern.css' => '/* Размещённый здесь CSS будет применяться к теме оформления Modern */',
 'vector.css' => '/* Размещённый здесь CSS будет применяться к векторной теме оформления  */',
 'print.css' => '/* Размещённый здесь CSS будет применяться к версии для печати */',
-'handheld.css' => '/* Размещённый здесь CSS-код будет применяться для мобильных устройств, использующих тему оформления, указанную в $wgHandheldStyle */',
 'noscript.css' => '/* Размещённый здесь CSS будет применяться для участников с отключенным JavaScript  */',
 'group-autoconfirmed.css' => '/* Размещённый здесь CSS будет применяться для автоподтверждённых участников */',
 'group-bot.css' => '/* Размещённый здесь CSS будет применяться только для ботов */',
@@ -3394,11 +3414,25 @@ $1',
 'minutes' => '{{PLURAL:$1|$1 минута|$1 минуты|$1 минут}}',
 'hours' => '{{PLURAL:$1|$1 час|$1 часа|$1 часов}}',
 'days' => '{{PLURAL:$1|$1 день|$1 дня|$1 дней}}',
+'weeks' => '{{PLURAL:$1|$1 неделя|$1 недели|$1 недель}}',
 'months' => '{{PLURAL:$1|$1 месяц|$1 месяца|$1 месяцев}}',
 'years' => '{{PLURAL:$1|$1 год|$1 года|$1 лет}}',
 'ago' => '$1 назад',
 'just-now' => 'только что',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|час|часа|часов}} назад',
+'minutes-ago' => '$1 {{PLURAL:$1|минуту|минуты|минут}} назад',
+'seconds-ago' => '$1 {{PLURAL:$1|секунду|секунды|секунд}} назад',
+'monday-at' => 'в понедельник в $1',
+'tuesday-at' => 'во вторник в $1',
+'wednesday-at' => 'в среду в $1',
+'thursday-at' => 'в четверг в $1',
+'friday-at' => 'в пятницу в $1',
+'saturday-at' => 'в субботу в $1',
+'sunday-at' => 'в воскресенье в $1',
+'yesterday-at' => 'Вчера в $1',
+
 # Bad image list
 'bad_image_list' => 'Формат должен быть следующим:
 
@@ -4103,6 +4137,18 @@ MediaWiki распространяется в надежде, что она бу
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Путь к статье]',
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Путь к скрипту]',
 
+# Special:Redirect
+'redirect' => 'Перенаправление с файла, участника или идентификатора версии',
+'redirect-legend' => 'Перенаправление на файл или страницу',
+'redirect-summary' => 'Эта специальная страница перенаправляет на файл (с имени файла), страницу (с идентификатора версии) или страницу участника (с числового идентификатора участника).',
+'redirect-submit' => 'Перейти',
+'redirect-lookup' => 'Поиск:',
+'redirect-value' => 'Значение:',
+'redirect-user' => 'Идентификатор участника',
+'redirect-revision' => 'Версия страницы',
+'redirect-file' => 'Название файла',
+'redirect-not-exists' => 'Значение не найдено',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Поиск одинаковых файлов',
 'fileduplicatesearch-summary' => 'Поиск одинаковых файлов по хэш-коду.',
@@ -4194,6 +4240,7 @@ MediaWiki распространяется в надежде, что она бу
 'htmlform-selectorother-other' => 'Иное',
 'htmlform-no' => 'Нет',
 'htmlform-yes' => 'Да',
+'htmlform-chosen-placeholder' => 'Выберите вариант',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 с поддержкой полнотекстового поиска',
index 99272b3..0931e4f 100644 (file)
@@ -225,6 +225,18 @@ $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' => '$1. септембра',
+'october-date' => '$1. октобра',
+'november-date' => '$1. новембра',
+'december-date' => '$1. децембра',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Катеґорія|Катеґорії}}',
@@ -472,7 +484,7 @@ $1',
 'directorycreateerror' => 'Не мож вытворити адресарь «$1».',
 'filenotfound' => 'Не было можне найти файл «$1».',
 'fileexistserror' => 'Не дасть ся записати до файлу «$1»: файл екзістує.',
-'unexpected' => 'Неочекавана годнота: «$1»=«$2».',
+'unexpected' => 'Несподїване значіня: «$1»=«$2».',
 'formerror' => 'Хыба: небыло можне одослати формуларь',
 'badarticleerror' => 'Тота дїя не може быти выконана на тій сторінцї.',
 'cannotdelete' => 'Не є можне вымазати сторінку або файл "$1".
@@ -672,26 +684,21 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Ресет гесла',
-'passwordreset-text' => 'Выпиште тот формуларь, жебы ся вам могло обновити гесло',
 'passwordreset-legend' => 'Знову наставити гесло',
 'passwordreset-disabled' => 'Зновунаставлїня гесла є на тій вікі заказане',
 'passwordreset-emaildisabled' => 'Функції електронічной пошты были выпнуы на тій вікі.',
-'passwordreset-pretext' => '{{PLURAL:$1||Задайте єден з дат ниже}}',
 'passwordreset-username' => 'Мено хоснователя:',
 'passwordreset-domain' => 'Домена:',
 'passwordreset-capture' => 'Посмотрити выслїдный імейл?',
 'passwordreset-capture-help' => 'Кідь означіте тото поличко, буде імейл (з дочасным геслом) оркем посланя хоснователёви указаный і вам.',
 'passwordreset-email' => 'Адреса електронічной пошты:',
 'passwordreset-emailtitle' => 'Детайлы конта на {{SITENAME}}',
-'passwordreset-emailtext-ip' => 'Дахто (може вы, з IP адресы $1) пожадав о наставлїня гесла вашому 
-конту на {{grammar:6sg|{{SITENAME}}}} ($4). К тій адресї {{PLURAL:$3|є спрягнуте наступне конто|суть спрягнуты наступны конта}}:
+'passwordreset-emailtext-ip' => 'Дахто (може Вы, з IP адресы $1) попросив о наставлїня нового гесла до вашого конта на {{grammar:6sg|{{SITENAME}}}} ($4). З тов адресов {{PLURAL:$3|є повязане наступне конто|суть повазяны слїдуючі конта}}:
 
 $2
 
-{{PLURAL:$3|Тот дочасне гесло|Тоты дочасны гесла}} кінчать{{PLURAL:$5|за єден день|за $5 днїв|за $5 днїв}}.
-Нынї бы сьте ся мав(а) приголосити і зволити собі нове гесло. Як тоту пожадавку
-послав дахто другый або сьте собі на своє старе гесло спомянув(а), і не хочете го
-змінити, можете тото повідомлїня іґноровати та дале хосновати старе гесло.',
+{{PLURAL:$3|Тото дочасне гесло|Тоты дочасны гесла}} стануть неплатныма {{PLURAL:$5|за день|за $5 днї|за $5 днїв}}.
+Теперь бы хотїло, бы сьте ся приголосили та зволлил нове гесло. Кідь тоту просьбу післав хтось другый або сьте ся на старе гесло роспамнятали і не хочете го змінити, можете тото повідомлїня іґноровати та дале хосновати старе гесло.',
 'passwordreset-emailtext-user' => '{{gender:$1|Хоснователь|Хоснователька|Хоснователь}} $1 {{grammar:2sg|{{SITENAME}}}} {{gender:$1|попросив|попросила|попросив}} о наставлїня нового гесла к вашому
 конту на {{grammar:6sg|{{SITENAME}}}} ($4). К тій адресї {{PLURAL:$3|є спряжене наступне конто|суть спряжены наступну конта}}:
 
@@ -705,7 +712,7 @@ $2
 Дочасне гесло: $2',
 'passwordreset-emailsent' => 'Імейл з геслом быв посланый.',
 'passwordreset-emailsent-capture' => 'Быв выґенерованый імейл з геслом, што є вказаный ниже.',
-'passwordreset-emailerror-capture' => 'Быв выґенерованый імейл з геслом, котрый є указаный ниже, але одослати хоснователёви ся го не вдало: $1',
+'passwordreset-emailerror-capture' => 'Быв выґенерованый імейл з геслом, котрый є указаный ниже, але ся го не вдало загнати {{GENDER:$2|хоснователёви|хосновательцї}}: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'Зміна імейловой адресы',
@@ -1192,7 +1199,7 @@ $1",
 'powersearch-togglenone' => 'Жадный',
 'search-external' => 'Екстерне гляданя',
 'searchdisabled' => '<p>Перебачте. Повнотекстове гляданя є дочасно недоступне. Затля можете спробовати гляданя Google; є але можне, же ёго резултаты не мусять быти актуалны.</p>',
-'search-error' => 'Ð\9fÑ\96д Ñ\87аÑ\81 Ð³Ð»Ñ\8fданÑ\8f Ñ\81Ñ\8f Ñ\82Ñ\80аÑ\84ила Ñ\85Ñ\8bба',
+'search-error' => 'Як Ñ\81Ñ\8f Ð³Ð»Ñ\8fдало Ñ\82Ñ\80аÑ\84Ñ\96ла Ñ\81Ñ\8f Ñ\85Ñ\8bба: $1',
 
 # Preferences page
 'preferences' => 'Наставлїня',
@@ -2280,9 +2287,9 @@ $UNWATCHURL
 Моменталны наставлїня про сторінку : '''$1''':",
 'protect-cascadeon' => 'Тота сторінка є теперь хранена, бо є загорнута {{PLURAL:$1|до зазначеной сторінкы ніже, на яку|до ниже зазначеных сторінок, на якы}} становлена каскадова охрана. Вы можете змінити рівень охраны той сторінкы, але тото не буде впливати на каскадову охрану.',
 'protect-default' => 'Дозволити вшыткым хоснователям',
-'protect-fallback' => 'Ð\9fоÑ\80Ñ\82Ñ\80Ñ\96бнÑ\8b "$1" Ð¿Ñ\80ава',
-'protect-level-autoconfirmed' => 'Ð\91локоваÑ\82и Ð½Ð¾Ð²Ñ\8bÑ\85 Ñ\96 Ð½ÐµÐ·Ð°Ñ\80еÒ\91Ñ\96Ñ\81Ñ\82Ñ\80ованÑ\8bÑ\85 Ñ\85оÑ\81новаÑ\82елÑ\97в',
-'protect-level-sysop' => 'Ð\9bем Ð°Ð´Ð¼Ñ\96нÑ\96Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8b',
+'protect-fallback' => 'Ð\94озволено Ð»ÐµÐ¼ Ñ\85оÑ\81новаÑ\82елÑ\8fм Ð· Ð¿Ñ\80авом â\80\9e$1â\80\9c',
+'protect-level-autoconfirmed' => 'Ð\94озволиÑ\82и Ð»ÐµÐ¼ Ð°Ð²Ñ\82омаÑ\82Ñ\96Ñ\87но Ð¿Ð¾Ñ\82веÑ\80дженÑ\8bм Ñ\85оÑ\81новаÑ\82елÑ\8fм',
+'protect-level-sysop' => 'Ð\94озволено Ð»ÐµÐ¼ Ð°Ð´Ð¼Ñ\96нÑ\96Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80ам',
 'protect-summary-cascade' => 'каскадовый',
 'protect-expiring' => 'кінчіть $1 (UTC)',
 'protect-expiring-local' => 'кінчіть ся $1',
@@ -2543,6 +2550,7 @@ $1',
 'proxyblocksuccess' => 'Готово.',
 'sorbsreason' => 'Ваша IP-адреса є веджена як отвореный проксі в DNSBL.',
 'sorbs_create_account_reason' => 'Ваша IP-адреса є веджена як одкрытый проксі в DNSBL. З той адресы собі не можете створити конто.',
+'xffblockreason' => 'IP адреса написана в голові X-Forwarded-For, ці уж ваша, або проксі сервера, што хоснуєете, была заблокована. Оріґінална прічіна того блокованя: $1',
 'cant-block-while-blocked' => 'Не можете блоковати іншых хоснователїв, кідь сьте сам заблокованый(а).',
 'cant-see-hidden-user' => 'Хоснователь, котрого хочете заблоковати, уж быв заблокованый і схованый. Кідьже не маєте права hideuser, не можете собі наставлїня блокованя того хоснователя посмотрити ани го змінити.',
 'ipbblocked' => 'Не можете блоковати або одблоковати іншых хоснователїв, {{GENDER:|сам|сама|сам}} сьте {{GENDER:|заблокованый|заблокована|заблокованый}}',
@@ -2570,14 +2578,14 @@ $1',
 # Move page
 'move-page' => 'Переменовати „$1“',
 'move-page-legend' => 'Переменовати сторінку',
-'movepagetext' => "ХоÑ\81нÑ\83вÑ\87Ñ\96 Ñ\84оÑ\80мÑ\83 Ð½Ð¸Ð¶Ðµ, Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿ÐµÑ\80еменоваÑ\82и Ñ\81Ñ\82оÑ\80Ñ\96нкÑ\83, Ñ\94днÑ\8bм Ñ\80азом перемістивши на нове місце і лоґ єй едітовань.
-СÑ\82аÑ\80а Ð½Ð°Ð·Ð²Ð° Ñ\81Ñ\82ане Ð¿ÐµÑ\80енапÑ\80Ñ\8fмлинÑ\91м Ð½Ð° Ð½Ð¾Ð²Ñ\83 Ð½Ð°Ð·Ð²Ñ\83.
-Можете автоматично обновити напрямлиня на стару назву.
-Кідь вы тото не зробите, просиме Вас, перевірте наявність [[Special:DoubleRedirects|подвойных]] ці [[Special:BrokenRedirects|розорваных]] напрямлїнь.
+'movepagetext' => "ХоÑ\81нÑ\83вÑ\87Ñ\96 Ñ\84оÑ\80мÑ\83 Ð½Ð¸Ð¶Ðµ, Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿ÐµÑ\80еменоваÑ\82и Ñ\81Ñ\82оÑ\80Ñ\96нкÑ\83, Ñ\82акой перемістивши на нове місце і лоґ єй едітовань.
+Стара назва стане напрямлинём на нову назву.
+Можете автоматично обновити напрямлїня на стару назву.
+Кідь вы тото не зробите, просиме Вас, перевірте [[Special:DoubleRedirects|подвойны]] ці [[Special:BrokenRedirects|розорваны]] напрямлїня.
 Вы одповідате за то, жебы одказы і надале вказовали там, де мають.
 
-Уважте, же сторінка '''не''' буде переменована, кідь сторінка з новов назвов уж екзістує, окрем того, коли она порожня або є напрямлїнём, а лоґ єй едітовань порожнїй.
-То Ð·Ð½Ð°Ñ\87Ñ\96Ñ\82Ñ\8c, Ð¶Ðµ Ð²Ñ\8b Ð¼Ð¾Ð¶ÐµÑ\82е Ð²ÐµÑ\80нÑ\83Ñ\82и Ñ\81Ñ\82оÑ\80Ñ\96нÑ\86Ñ\97 Ñ\81Ñ\82аÑ\80Ñ\83 Ð½Ð°Ð·Ð²Ñ\83, ÐºÑ\96дÑ\8c Ð²Ñ\8b Ð¿ÐµÑ\80еменовали Ñ\94й Ð¿Ð¾Ð¼Ñ\8bлково, Ð°Ð»Ðµ Ð²Ñ\8b Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿ÐµÑ\80епиÑ\81аÑ\82и ÐµÐºÐ·Ñ\96Ñ\81Ñ\82уючу сторінку.
+Уважте, же сторінка '''не''' буде переменована, кідь сторінка з новов назвов уж існує, окрем того, коли она порожня або є напрямлїнём, а лоґ єй едітовань порожнїй.
+То Ð·Ð½Ð°Ñ\87Ñ\96Ñ\82Ñ\8c, Ð¶Ðµ Ð²Ñ\8b Ð¼Ð¾Ð¶ÐµÑ\82е Ð²ÐµÑ\80нÑ\83Ñ\82и Ñ\81Ñ\82оÑ\80Ñ\96нÑ\86Ñ\97 Ñ\81Ñ\82аÑ\80Ñ\83 Ð½Ð°Ð·Ð²Ñ\83, ÐºÑ\96дÑ\8c Ð²Ñ\8b Ð¿ÐµÑ\80еменовали Ñ\94й Ð½ÐµÐ½Ð°Ñ\80оком, Ð°Ð»Ðµ Ð²Ñ\8b Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿ÐµÑ\80епиÑ\81аÑ\82и Ñ\96Ñ\81нуючу сторінку.
 
 '''ВАРОВАНЯ!'''
 Тота дїя може ся стати причінов серіозных а неочекованых змін популарных сторінок.
@@ -2704,6 +2712,8 @@ $1',
 'thumbnail-more' => 'Звекшыти',
 'filemissing' => 'Файл хыбить',
 'thumbnail_error' => 'Хыба створїня нагляду: $1',
+'thumbnail_error_remote' => 'Хыбове голошіня з {{grammar:2sg|$1}}:
+$2',
 'djvu_page_error' => 'Сторінка DjVu мімо россяг',
 'djvu_no_xml' => 'Створїня XML про файл DjVu ся не вдало.',
 'thumbnail-temp-create' => 'Дочасный файл нагляду негодно было створити',
@@ -2889,6 +2899,7 @@ $1',
 'pageinfo-robot-noindex' => 'Не індексує ся',
 'pageinfo-views' => 'Чісло переглядів',
 'pageinfo-watchers' => 'Кількость слїдуючіх сторінку',
+'pageinfo-few-watchers' => 'Менше як $1 {{PLURAL:$1|слїдуючій|слїдуючі|слїдуючіх}}',
 'pageinfo-redirects-name' => 'Напрямлїня на гевсю сторінку',
 'pageinfo-subpages-name' => 'Підсторінкы гевсёй сторінкы',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|напрямлїня}}; $3 {{PLURAL:$3|ненапрямлїня}})',
@@ -2903,6 +2914,7 @@ $1',
 'pageinfo-magic-words' => '{{PLURAL:$1|Маґічне слово|Маґічны слова}} ($1)',
 'pageinfo-hidden-categories' => '{{PLURAL:$1|Скрыта катеґорія|Скрыты катеґорії}} ($1)',
 'pageinfo-templates' => '{{PLURAL:$1|Хоснована шаблона|Хоснованы шаблоны}} ($1)',
+'pageinfo-transclusions' => '{{PLURAL:$1|Сторінка, до котрой|Сторінкы, до котрых}} є тота сторінка вложена ($1)',
 'pageinfo-toolboxlink' => 'Інформації о сторінцї',
 'pageinfo-redirectsto' => 'Напрямлює на',
 'pageinfo-redirectsto-info' => 'інформація',
@@ -2911,6 +2923,10 @@ $1',
 'pageinfo-protect-cascading' => 'Одты ся почінать каскадна охорона',
 'pageinfo-protect-cascading-yes' => 'Гей',
 'pageinfo-protect-cascading-from' => 'Каскадна охорона ся почінать гев',
+'pageinfo-category-info' => 'Інформація о катеґорії',
+'pageinfo-category-pages' => 'Кількость сторінок',
+'pageinfo-category-subcats' => 'Кількость підкатеґорій',
+'pageinfo-category-files' => 'Кількость файлів',
 
 # Patrolling
 'markaspatrolleddiff' => 'Означіти як перевірене',
@@ -2988,9 +3004,25 @@ $1',
 'minutes' => '{{PLURAL:$1|$1 минута|$1 минуты|$1 минут}}',
 'hours' => '{{PLURAL:$1|$1 година|$1 годины|$1 годин}}',
 'days' => '{{PLURAL:$1|$1 день|$1 днї|$1 днїв}}',
+'weeks' => '{{PLURAL:$1|$1 тыждень|$1 тыжднї|$1 тыжднїв}}',
+'months' => '{{PLURAL:$1|$1 місяць|$1 місяцї|$1 місяцїв}}',
+'years' => '{{PLURAL:$1|$1 рік|$1 рокы|$1 років}}',
 'ago' => '$1 тому',
 'just-now' => 'акурат теперь',
 
+# Human-readable timestamps
+'hours-ago' => 'перед $1 {{PLURAL:$1|годинов|годинами}}',
+'minutes-ago' => '$1 {{PLURAL:$1|минуту|минуты|минут}} тому',
+'seconds-ago' => '$1 {{PLURAL:$1|секунду|секунды|секунд}} тому',
+'monday-at' => 'В понедїлёк о $1',
+'tuesday-at' => 'У вівторок о $1',
+'wednesday-at' => 'В середу о $1',
+'thursday-at' => 'В четверь о $1',
+'friday-at' => 'В пятніцю о $1',
+'saturday-at' => 'В суботу о $1',
+'sunday-at' => 'В недїлю о $1',
+'yesterday-at' => 'Вчера о $1',
+
 # Bad image list
 'bad_image_list' => 'Формат має быти наступным:
 
@@ -3605,6 +3637,18 @@ MediaWiki є дістрібуована в надїї, же буде хосно
 'version-entrypoints-header-entrypoint' => 'Вступный пункт',
 'version-entrypoints-header-url' => 'URL',
 
+# Special:Redirect
+'redirect' => 'Напрямлїня за файлом, хоснователям або ID ревізії',
+'redirect-legend' => 'Напрямити на файл або сторінку',
+'redirect-summary' => 'Тота шпеціална сторінка напрямує на файл (по назві), сторінку (по ID ревізії) або хоснователя (по чіселнім хоснователёвім ID).',
+'redirect-submit' => 'Перейти',
+'redirect-lookup' => 'Найти:',
+'redirect-value' => 'Значіня',
+'redirect-user' => 'ID хоснователя',
+'redirect-revision' => 'Ревізія сторінкы',
+'redirect-file' => 'Назва файлу',
+'redirect-not-exists' => 'Значіня ся не нашло',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Гляданя дуплікатных файлів',
 'fileduplicatesearch-summary' => 'Гляданя дупліцітных файлів ся базує на їх геш функції.',
@@ -3631,7 +3675,7 @@ MediaWiki є дістрібуована в надїї, же буде хосно
 'specialpages-group-highuse' => 'Часто поужываны сторінкы',
 'specialpages-group-pages' => 'Спискы сторінок',
 'specialpages-group-pagetools' => 'Інштрументы сторінок',
-'specialpages-group-wiki' => 'Ð\92Ñ\96кÑ\96 Ð´Ð°Ñ\82а і інштрументы',
+'specialpages-group-wiki' => 'Ð\94анÑ\8b і інштрументы',
 'specialpages-group-redirects' => 'Напрямлїня',
 'specialpages-group-spam' => 'Протиспамовы інштрументы',
 
@@ -3694,23 +3738,26 @@ MediaWiki є дістрібуована в надїї, же буде хосно
 'htmlform-submit' => 'Одослати',
 'htmlform-reset' => 'Вернути зміны',
 'htmlform-selectorother-other' => 'Інше',
+'htmlform-no' => 'Нє',
+'htmlform-yes' => 'Гей',
+'htmlform-chosen-placeholder' => 'Звольте параметер',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 з підпоров повнотекстового гляданя',
 'sqlite-no-fts' => '$1 без підпоры повнотекстового гляданя',
 
 # New logging system
-'logentry-delete-delete' => '$1 змазав сторінку $3',
-'logentry-delete-restore' => '$1 обновив сторінку $3',
-'logentry-delete-event' => '$1 змінив відимость {{PLURAL:$5|протоколового запису|$5 протоколовых записів}} к сторінцї $3: $4',
-'logentry-delete-revision' => '$1 змінив відимость {{PLURAL:$5|ревізії|$5 ревізій}} на сторінцї $3: $4',
-'logentry-delete-event-legacy' => '$1 змінив відимость протоколовых записів к сторінцї $3',
-'logentry-delete-revision-legacy' => '$1 змінив відимость ревізій на сторінцї $3',
-'logentry-suppress-delete' => '$1 утаїв сторінку $3',
-'logentry-suppress-event' => '$1 тайком змінив відимость {{PLURAL:$5|протоколового запису|$5 протоколовых записів}} к сторінцї $3: $4',
-'logentry-suppress-revision' => '$1 тайком змінив відимость {{PLURAL:$5|ревізії|$5 ревізій}} на сторінцї $3: $4',
-'logentry-suppress-event-legacy' => '$1 тайком змінив відимость протоколовых записів к сторінцї $3',
-'logentry-suppress-revision-legacy' => '$1 тайком змінив відимость ревізій на сторінцї $3',
+'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-event-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-event-legacy' => '$1 тайком {{GENDER:$2|змінив|змінила}}  відимость протоколовых записів к сторінцї $3',
+'logentry-suppress-revision-legacy' => '$1 тайком {{GENDER:$2|змінив|змінила}} відимость ревізій на сторінцї $3',
 'revdelete-content-hid' => 'скрыти обсяг',
 'revdelete-summary-hid' => 'опис едітованя схованый',
 'revdelete-uname-hid' => 'імя хоснователя сховане',
@@ -3719,19 +3766,20 @@ MediaWiki є дістрібуована в надїї, же буде хосно
 '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-patrol-patrol' => '$1 означів ревізію $4 сторінкы $3 як перевірену',
-'logentry-patrol-patrol-auto' => '$1 автоматічно означів ревізію $4 сторінкы $3 як перевірену',
-'logentry-newusers-newusers' => 'Створене хосновательске конто $1',
-'logentry-newusers-create' => 'Створене было хосновательске конто $1',
-'logentry-newusers-create2' => '$1 створив хосновательске конто $3',
-'logentry-newusers-autocreate' => 'Автоматічно было створене конто $1',
+'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|означів|означіла}} ревізію $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' => '$1 {{GENDER:$2|створив|створила}} хосновательске конто $3',
+'logentry-newusers-byemail' => '$1 {{GENDER:$2|створив|створила}} хосновательске конто $3, гесло послане было імейлом',
+'logentry-newusers-autocreate' => 'Автоматічно было {{GENDER:$2|створене}} конто $1',
 'logentry-rights-rights' => '$1 {{GENDER:$1|змінив|змінила}} членство в ґрупах про $3 із $4 на $5',
 'logentry-rights-rights-legacy' => '$1 {{GENDER:$1|змінив|змінила}} членство в ґрупах про $3',
-'logentry-rights-autopromote' => '$1 было автоматічно переведено із $4 в $5',
+'logentry-rights-autopromote' => '$1 {{GENDER:$2|быв автоматічно переведеный|была автоматічно переведана}} з $4 на $5',
 'rightsnone' => '(жадне)',
 
 # Feedback
@@ -3786,6 +3834,7 @@ MediaWiki є дістрібуована в надїї, же буде хосно
 'api-error-ok-but-empty' => 'Внутрїшня хыба: сервер не одповідать.',
 'api-error-overwrite' => 'Не є дозволене переписати екзістуючій файл.',
 'api-error-stashfailed' => 'Внутрїшня хыба: серверу ся не вдало уложыти дочасный файл.',
+'api-error-publishfailed' => 'Внутрїшня хыба: серверови ся не вдало опубліковати дочасный файл.',
 'api-error-timeout' => 'Сервер не одповідав в очекаванім часї.',
 'api-error-unclassified' => 'Трафила ся незнама хыба.',
 'api-error-unknown-code' => 'Незнама хыба: „$1“',
@@ -3806,4 +3855,7 @@ MediaWiki є дістрібуована в надїї, же буде хосно
 'duration-centuries' => '$1 {{PLURAL:$1|стороча|стороча|стороч}}',
 'duration-millennia' => '$1 {{PLURAL:$1|тісячроча|тісячроча|тісячроч}}',
 
+# Image rotation
+'rotate-comment' => 'Образчік обернутый о $1 {{PLURAL:$1|ґрадус|ґрадусів}} за цайґером',
+
 );
index 71ae93f..0828c2a 100644 (file)
@@ -2172,6 +2172,15 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'listusers-noresult' => 'योजकः न प्राप्तः ।',
 'listusers-blocked' => 'अवरुद्धम् ।',
 
+# Special:ActiveUsers
+'activeusers' => 'सक्रिययोजकानाम् आवली ।',
+'activeusers-intro' => 'एषा तु गतेषु $1 {{PLURAL:$1|दिनेषु}} कृतकार्याणां योजकाना आवली ।',
+'activeusers-count' => '$1 {{PLURAL:$1|सम्पादनानि}} गतेषु $3 {{PLURAL:$3|दिनेषु}} कृतानि  ।',
+'activeusers-from' => 'एतस्मात् आरभमाणान् योजकान् दर्शयतु ।',
+'activeusers-hidebots' => 'स्वयं चालकान् गोपयतु ।',
+'activeusers-hidesysops' => 'प्रशासकान् गोपयतु ।',
+'activeusers-noresult' => 'योजकः न प्राप्तः ।',
+
 # Special:ListGroupRights
 'listgrouprights' => 'योजकसमूहाधिकाराः ।',
 'listgrouprights-summary' => 'अधोदत्ता विकिपरिभाषितस्य सङ्गताभिगम्यताधिकारैः सहिता योजकसमूहस्य आवली । [[{{MediaWiki:Listgrouprights-helppage}}|additional information]]',
@@ -2248,8 +2257,8 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'notvisiblerev' => 'अन्ययोजकेन कृतम् अवतरणम् अपमर्जितम् ।',
 'watchnochange' => 'दर्शितावधौ अवलोकितपदार्थाः न सम्पादिताः ।',
 'watchlist-details' => '{{PLURAL:$1|$1 पृष्ठं|$1 पृष्ठानि}} भवतः अवेक्षणसूच्यां सन्ति, सम्भाषणपृष्ठानि नात्र गणितानि।',
-'wlheader-enotif' => 'विद्युन्मानपत्रस्य सूचनाः सक्रियाः ।',
-'wlheader-showupdated' => 'भवतः सन्दर्शनस्य पश्चात् परिवर्तितानि पुटानि स्थूलाक्षरैः निर्दिष्टानि ।',
+'wlheader-enotif' => 'विद्युन्मानपत्रस्य सूचनाः सक्रियाः ।',
+'wlheader-showupdated' => 'भवतः सन्दर्शनस्य पश्चात् परिवर्तितानि पुटानि स्थूलाक्षरैः निर्दिष्टानि ।',
 'watchmethod-recent' => 'अवलोकितपुटानां सद्यः सम्पादनस्य परीक्षणम् ।',
 'watchmethod-list' => 'सद्यः सम्पादनार्थम् अवलोकितपुटानां परीक्षणम् ।',
 'watchlistcontains' => 'भवतः अवलोकनावली $1 युक्तास्ति ।{{PLURAL:$1|page|pages}}.',
@@ -3142,7 +3151,7 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'विस्तारः',
 'exif-imagelength' => 'औन्नत्यम्',
 'exif-bitspersample' => 'प्रत्येकं भागस्य अंशः ।',
@@ -3320,7 +3329,7 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 'exif-originalimageheight' => 'कर्तनात्पूरव चित्रस्य औन्नत्यम् ।',
 'exif-originalimagewidth' => 'कर्तनात् पूर्वं चित्रस्य व्यासः ।',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'असङ्कोचितम् ।',
 'exif-compression-2' => 'CCITT समूहः 3 1- Dimensional Modified Huffman run length encoding',
 'exif-compression-3' => 'CCITT समूह ३ फेक्स  सङ्केतीकरणम् ।',
@@ -3726,13 +3735,6 @@ $5
 'version-entrypoints-header-entrypoint' => 'प्रवेशबिन्दुः ।',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'सञ्चिकापथः ।',
-'filepath-page' => 'सञ्चिका:',
-'filepath-submit' => 'गम्यताम्',
-'filepath-summary' => 'एतद्विशेषपुटं सञ्चिकायाः पूर्णपथं प्रदर्शयति । 
-चित्राणि परिपूर्णसत्वयुतानि दर्शितानि । अन्यसञ्चिकाभेदाः सम्बद्धकार्यकलापैः प्रत्यक्षं आरब्धाः ।',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'प्रतिकृतिसञ्चिकार्थम् अन्विषतु ।',
 'fileduplicatesearch-summary' => 'सम्मिश्रमौल्यामूलयुतर्थं  प्रतिकृतिसञ्चिकार्थम् अन्विषतु ।',
index f43c87c..a5df584 100644 (file)
@@ -13,6 +13,7 @@
  * @author HalanTul
  * @author Kaganer
  * @author Meno25
+ * @author Nemo bis
  * @author Urhixidur
  */
 
@@ -150,6 +151,18 @@ $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' => 'Балаҕан ыйын $1',
+'october-date' => 'Алтынньы $1',
+'november-date' => 'Сэтинньи $1',
+'december-date' => 'Ахсынньы $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Категория|Категориялар}}',
@@ -459,10 +472,13 @@ $2',
 'yourpassword' => 'Киирии тыла:',
 'userlogin-yourpassword' => 'Киирии тыл',
 'userlogin-yourpassword-ph' => 'Киирии тылгын суруй',
+'createacct-yourpassword-ph' => 'Киирии тылгын суруй',
 'yourpasswordagain' => 'Киирии тылгын хатылаа:',
+'createacct-yourpasswordagain' => 'Киирии тылгын бигэргэт',
+'createacct-yourpasswordagain-ph' => 'Киирии тылгын хатылаа',
 'remembermypassword' => 'Миигин бу көмпүүтэргэ сигээ ($1 {{PLURAL:$1|күн|күнтэн ордуга суох}})',
-'userlogin-remembermypassword' => 'Ð\94олоÒ\95ойгоÑ\80 Ñ\85аÑ\82аа',
-'userlogin-signwithsecure' => 'Ð\91игÑ\8d Ñ\81иÑ\8dÑ\80бÑ\8dÑ\80и Ñ\82Ñ\83һанан ÐºÐ¸Ð¸Ñ\80ии',
+'userlogin-remembermypassword' => 'ТиһиликÑ\82Ñ\8dн Ñ\82аÑ\85Ñ\81Ñ\8bма',
+'userlogin-signwithsecure' => 'Ð\91игÑ\8d Ñ\85олбонÑ\83Ñ\83',
 'securelogin-stick-https' => 'Киирэн баран HTTPS нөҥүө холбонууну салгыырга',
 'yourdomainname' => 'Эн дөмүөнүҥ:',
 'password-change-forbidden' => 'Бу биикигэ киирии тылы уоарытар табыллыбат.',
@@ -483,14 +499,30 @@ $2',
 'gotaccount' => "Бэлиэтэммитиҥ дуо? '''$1'''.",
 'gotaccountlink' => 'Аатыҥ',
 'userlogin-resetlink' => 'Киирэр тылгын умнубуккун дуо?',
+'userlogin-resetpassword-link' => 'Киирии тылы уларытыы',
 'helplogin-url' => 'Help:Бэлиэ-ааты киллэрии',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Бэлиэтэниигэ көмө]]',
+'createacct-join' => 'Аллара суруй.',
+'createacct-emailrequired' => 'Email аадырыс',
+'createacct-emailoptional' => 'Email аадырыс (булгуччута суох)',
+'createacct-email-ph' => 'Эл аадырыскын суруй',
 'createaccountmail' => 'Быстах киирии тылы туһаныы уонна ону email-ынан ыытыы',
+'createacct-realname' => 'Дьиҥнээх аатыҥ (булгуччута суох)',
 'createaccountreason' => 'Төрүөтэ:',
+'createacct-reason' => 'Төрүөтэ',
+'createacct-reason-ph' => 'Саҥа аатынан тоҕо киирэҕиний',
+'createacct-captcha' => 'Куттал суох буолуутун тургутуу',
+'createacct-imgcaptcha-ph' => 'Үөһэ көстөрү хатылаа',
+'createacct-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}} «cookies» туттар, оттон эн көмпүүтэргэр ону туһанар бобуллубут. Бука диэн «cookies» холбоо, онтон өссө киирэн көр.',
 'nocookieslogin' => '{{SITENAME}} дьону билэргэ «cookies» туттар. Эн көмпүүтэргэр «cookies» бобуллубут. Ону холбоон баран өссө киирэн көр.',
@@ -582,10 +614,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Киирии тылы саҥаттан',
-'passwordreset-text' => 'Урукку киирии тылы уларытарга бу форманы толор.',
 'passwordreset-legend' => 'Киирии тылы саҥаттан',
 'passwordreset-disabled' => 'Бу биикигэ киирии тылы саҥардыы бобуллубут.',
-'passwordreset-pretext' => '{{PLURAL:$1||Аллара көстөр дааннайдартан биирин талан суруй}}',
 'passwordreset-username' => 'Кыттааччы:',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Суруллубут суругу көрөҕүн дуо?',
@@ -2074,8 +2104,8 @@ $1',
 'notvisiblerev' => 'Торум сотуллубут',
 'watchnochange' => 'Кэтиир сирэйдэргиттэн этиллибит кэмҥэ биир да уларыйбатах.',
 'watchlist-details' => '{{PLURAL:$1|$1 сирэйи кэтиигин|$1 сирэй кэтэбилгэ сылдьар}}, ырытыы сирэйдэрин аахпатахха.',
-'wlheader-enotif' => 'эл. почтанан биллэрии холбоммут.',
-'wlheader-showupdated' => "Бүтэһик киириигит кэннэ уларыйбыт сирэйдэр '''модьу''' бичигинэн бэлиэтэннилэр",
+'wlheader-enotif' => 'эл. почтанан биллэрии холбоммут.',
+'wlheader-showupdated' => "Бүтэһик киириигит кэннэ уларыйбыт сирэйдэр '''модьу''' бичигинэн бэлиэтэннилэр",
 'watchmethod-recent' => 'кэтээн көрүү бүтэһик уларыйыыларын көрүү',
 'watchmethod-list' => 'кэтээһин бүтэһик уларыйыылара',
 'watchlistcontains' => '$1 сирэйи кэтээн көрөҕүн.',
index f22b6e8..f962f00 100644 (file)
@@ -26,7 +26,7 @@ $messages = array(
 'tog-hidepatrolled' => 'Joṛaoakanaḱko nãwã bodolaḱte danaṅkam',
 'tog-newpageshidepatrolled' => 'Biḍạakanaḱ sakamko nãwã sakamreaḱ talikare danȧkam',
 'tog-extendwatchlist' => 'Khạli nitoḱ bodolko do baṅ, joto bodolkodo ńeloḱ tạlikare phaylaomẽ.',
-'tog-usenewrc' => 'Cetan darja reaḱ nãwã bodolakanaḱko beoharme',
+'tog-usenewrc' => 'Nahaḱ bodolakanaḱko ar nojor reaḱ pahaṭare bodolaḱko mit́são ńelńam',
 'tog-numberheadings' => 'Mukhiạ kathako do actege piṛhipiṛhite sajaḱma',
 'tog-showtoolbar' => 'Joṛaoakanaḱ ṭulbar udugoḱma',
 'tog-editondblclick' => 'Bar dhao lin kate sakam torjomão reaḱ ạidari emogoḱma',
@@ -34,9 +34,9 @@ $messages = array(
 'tog-editsectiononrightclick' => 'Pahaṭa reaḱ pahaṭa guṭkathare jojom seć lin hotete <br /> pahaṭa sompadon lạgitte ektiạr em hoyoḱma (JavaScript)',
 'tog-showtoc' => 'Ṭibilre menaḱako ńel ( sakamkore 3 khon jạti hedlayenko)',
 'tog-rememberpassword' => 'Noa sendrare amaḱ boloḱ reaḱ katha (katha cạbi) disạimẽ (jạstite $1 {{PLURAL:$1din reaḱ din reaḱ}} lạgit)',
-'tog-watchcreations' => 'Sakamko songe  Ińaḱ ńelok tạlikare benao',
-'tog-watchdefault' => 'Sakam tońgey me Iń do ińaḱ ńeloḱ tạlikare joṛaokeda',
-'tog-watchmoves' => 'Sakamko tońgeyme Ińaḱ ńelok tạlikare kulme',
+'tog-watchcreations' => 'Ińaḱ tear sakam ar rakaṕ páelko ińaḱ ńelogoḱ tạlikare ńeloḱ ma',
+'tog-watchdefault' => 'Ińaḱ purạoakanaḱ sakam ar phayelko do ińaḱ ńeloḱ tạlikare joṛaoḱma',
+'tog-watchmoves' => 'Ińaḱ ocoḱ sakam ar phayelko inyaḱ nojor sakamre joṛaḱma',
 'tog-watchdeletion' => 'Sakamko tońgeyme Ińaḱ ńeloḱ tạlika khon get́ giḍikam',
 'tog-minordefault' => 'Etohoṕre sanam joṛao purạoanaḱko do bekor unuduḱ lekate cinhạkma',
 'tog-previewontop' => 'Joṛao bakso purạo lahare unuduḱ hoyoḱma',
@@ -1173,7 +1173,7 @@ f nombor
 isospeeddratings
 jeleń',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Ganḍe',
 'exif-imagelength' => 'Usul',
 'exif-datetime' => 'Rẽt bodol reaḱ tạrikh ar okte',
index f41597f..c688b46 100644 (file)
@@ -660,14 +660,6 @@ Prova a seberare ''totu:'' pro chircare in totu su cuntènnidu (inclùdidas pàg
 'powersearch-toggleall' => 'Totu',
 'powersearch-togglenone' => 'Nudda',
 
-# Quickbar
-'qbsettings' => 'Settaggio della barra menu',
-'qbsettings-none' => 'Nessuno',
-'qbsettings-fixedleft' => 'Fisso a sinistra',
-'qbsettings-fixedright' => 'Fisso a destra',
-'qbsettings-floatingleft' => 'Fluttuante a sinistra',
-'qbsettings-floatingright' => 'Fluttuante a destra',
-
 # Preferences page
 'preferences' => 'Preferèntzias',
 'mypreferences' => 'Preferèntzias meas',
@@ -1016,7 +1008,7 @@ Dia podent essere immàgines impreadas dae àteros giassos cun unu ligàmine dir
 'listgrouprights-group' => 'Grupu',
 'listgrouprights-members' => '(lista de is cumponentes)',
 
-# E-mail user
+# Email user
 'mailnologintext' => "Depes èsser [[Special:UserLogin|identificadu (login)]] e àer registradu un'indiritzu e-mail vàlidu in is [[Special:Preferences|preferèntzias tuas]] pro imbiare e-mail a àteros usuàrios.",
 'emailuser' => 'E-mail a custu usuàriu',
 'emailpage' => "Ispedi una missada a s'usuàriu",
@@ -1428,14 +1420,14 @@ Is acàpius chi sighint in sa matessi lìnia sunt cunsideraus comente eccetzione
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-artist' => 'Autore',
 'exif-exposuretime-format' => '$1 s ($2)',
 'exif-fnumber-format' => 'f/$1',
 'exif-flash' => 'Flash',
 'exif-focallength-format' => '$1 mm',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-6' => 'JPEG',
 
 'exif-photometricinterpretation-2' => 'RGB',
@@ -1473,7 +1465,7 @@ Is acàpius chi sighint in sa matessi lìnia sunt cunsideraus comente eccetzione
 'monthsall' => 'totu',
 'limitall' => 'totu',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail' => "Cunfirma s'indiritzu e-mail",
 
 # action=purge
@@ -1531,10 +1523,6 @@ Is acàpius chi sighint in sa matessi lìnia sunt cunsideraus comente eccetzione
 'version-license' => 'Licèntzia',
 'version-software-version' => 'Versione',
 
-# Special:FilePath
-'filepath-page' => 'Nùmene de su file:',
-'filepath-submit' => 'Bae',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-submit' => 'Chirca',
 
index c6ddce6..5decd0b 100644 (file)
@@ -1717,6 +1717,14 @@ Protucolli suppurtati: <code>$1</code>',
 'listusers-noresult' => "Nuddu utenti attruvatu. Virificari l'usu di caràttiri maiùsculi/minùsculi.",
 'listusers-blocked' => '(bloccatu)',
 
+# Special:ActiveUsers
+'activeusers' => 'Lista dî utenti attivi',
+'activeusers-count' => "$1 {{PLURAL:$1|canciamentu|canciamenti}} nti {{PLURAL:$3|l'ùrtimu jornu| nti l'ùrtimi $3 jorna}}",
+'activeusers-from' => 'Ammustra li utenti a pàrtiri da:',
+'activeusers-hidebots' => 'Bot ammucciati',
+'activeusers-hidesysops' => 'Amministratura ammucciati',
+'activeusers-noresult' => 'Nussun utenti truvatu.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Diritti dô gruppu utenti',
 'listgrouprights-summary' => "Ccà sutta sunnu elincati li gruppi utenti difiniti pi sta wiki, cu li dritti d'accessu assuciati a iddi. Pi sapìrinni chiossai supra li dritti, lèggiti [[{{MediaWiki:Listgrouprights-helppage}}|sta pàggina]].",
@@ -1777,8 +1785,8 @@ Protucolli suppurtati: <code>$1</code>',
 'notvisiblerev' => 'La revisioni fu cancillata',
 'watchnochange' => 'Nudda dî pàggini ossirvati hà statu canciata ntô pirìudu cunzidiratu.',
 'watchlist-details' => 'La lista dê pàggini taliati cunteni {{PLURAL:$1|na pàggina (cu la rispittiva pàggina di discussioni)|$1 pàggini (cu li rispittivi pàggini di discussioni)}}.',
-'wlheader-enotif' => 'La nutìfica via e-mail è attivata.',
-'wlheader-showupdated' => "Li pàggini ca hannu statu canciati dâ tò ùrtima vìsita sunnu evidinziati 'n '''grassettu'''",
+'wlheader-enotif' => 'La nutìfica via e-mail è attivata.',
+'wlheader-showupdated' => "Li pàggini ca hannu statu canciati dâ tò ùrtima vìsita sunnu evidinziati 'n '''grassettu'''",
 'watchmethod-recent' => "cuntrollu dî canciamenti ricenti pi l'ossirvati spiciali",
 'watchmethod-list' => "cuntrollu di l'ossirvati spiciali pi canciamenti ricenti",
 'watchlistcontains' => 'La tò lista di ossirvati spiciali cunteni {{PLURAL:$1|na pàggina|$1 pàggini}}.',
@@ -2479,7 +2487,7 @@ Li lijami succissivi, supra la stissa riga, sunnu cunzidirati comu eccizzioni (p
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Larghizza',
 'exif-imagelength' => 'Autizza',
 'exif-bitspersample' => 'Bit pi campiuni',
@@ -2593,7 +2601,7 @@ Li lijami succissivi, supra la stissa riga, sunnu cunzidirati comu eccizzioni (p
 'exif-gpsdatestamp' => 'Data GPS',
 'exif-gpsdifferential' => 'Currezzioni diffirinziali GPS',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nuddu',
 
 'exif-unknowndate' => 'Data scanusciuta',
@@ -2886,14 +2894,6 @@ Stu còdici di cunferma scadi automaticamenti a li $4.',
 'version-software-product' => 'Prodottu',
 'version-software-version' => 'Virsioni',
 
-# Special:FilePath
-'filepath' => 'Pircorsu di nu file',
-'filepath-page' => 'Nnomu dô file:',
-'filepath-submit' => 'Pircorsu',
-'filepath-summary' => 'Sta pàggina spiciali rimanna arredi lu traggittu cumpretu di nu file. Li mmàggini sù ammustrati cu la cchiù àuta risoluzzioni dispunìbbili, pi l\'àutri tipi di file parti direttamenti lu prugramma assuciatu.
-
-Mèttiri lu nomu dû file senza lu prifissu "{{ns:file}}:"',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Circata dê file duppiuni',
 'fileduplicatesearch-summary' => "Circata di pussìbbili dupppiuni dû file 'n basi ô valuri di ''hash''.",
index 556670b..c271e88 100644 (file)
@@ -51,8 +51,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Shaw ma email address in notification mails',
 'tog-shownumberswatching' => 'Shaw the nummer o watching uisers',
 'tog-fancysig' => 'Raw seignaturs (athoot automatic airtin)',
-'tog-externaleditor' => 'Uise external editor bi defaut',
-'tog-externaldiff' => 'Uise external diff bi defaut',
 'tog-showjumplinks' => 'Enable "loup til" accessibility airtins',
 'tog-uselivepreview' => 'Uise leeve preview (JavaScript) (Prattik)',
 'tog-forceeditsummary' => 'Gie me a jottin when A dinnae put in a edit summary',
@@ -738,9 +736,6 @@ there micht be parteeculars in the [{{fullurl:{{#Special:Log}}/suppress|page={{F
 'powersearch-toggleall' => 'Aw',
 'searchdisabled' => 'Rakin throu {{SITENAME}} is disabled for performance raesons. Ye can rake via Google juist nou. Mynd that thair indexes o {{SITENAME}} content micht be oot o date.',
 
-# Quickbar
-'qbsettings-none' => 'Nane',
-
 # Preferences page
 'mypreferences' => 'Ma preferences',
 'prefsnologin' => 'No loggit in',
@@ -1451,7 +1446,7 @@ If th' file haes bin modified frae tis original state, some details kin nae full
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-copyright' => 'Copyricht hauder',
 'exif-colorspace' => 'Colour space',
 'exif-componentsconfiguration' => 'Meanin o ilka component',
@@ -1534,9 +1529,6 @@ Please confirm that ye really want tae recreate this airticle.",
 # Core parser functions
 'duplicate-defaultsort' => '\'\'\'Wairnin:\'\'\' Default sort key "$2" overrides earlier default sort key "$1".',
 
-# Special:FilePath
-'filepath-page' => 'File:',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Filename:',
 'fileduplicatesearch-submit' => 'Rake',
index 880e9b5..17e4204 100644 (file)
@@ -694,7 +694,7 @@ $1 {{PLURAL:$1|اکر|اکرن}} کان ننڍي هوڻ گھرجي.',
 # Special:Categories
 'categories' => 'زمرا',
 
-# E-mail user
+# Email user
 'emailuser' => 'هن يوزر کي برق ٽپال اماڻيو',
 
 # Watchlist
@@ -912,7 +912,7 @@ $1 {{PLURAL:$1|اکر|اکرن}} کان ننڍي هوڻ گھرجي.',
 'metadata-expand' => 'توسيعي تفصيل ڏيکاريو',
 'metadata-collapse' => 'توسيعي تفصيل لڪايو',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'ويڪر',
 'exif-imagelength' => 'اوچائي',
 'exif-bitspersample' => 'ٻٽڻيون في جُز',
@@ -966,7 +966,7 @@ $1 {{PLURAL:$1|اکر|اکرن}} کان ننڍي هوڻ گھرجي.',
 'namespacesall' => 'سڀ',
 'monthsall' => 'سڀ',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail_success' => 'توھان جي برق ٽپال جي پڪ ڪئي وئي آھي. ھاڻِ توھان لاگ ان ٿي وڪيءَ جو مزو وٺي سگھو ٿا',
 
 # Delete conflict
index e09bb1f..d180355 100644 (file)
@@ -133,8 +133,6 @@ $messages = array(
 'tog-enotifrevealaddr' => "Rivera lu me' indirizzu di postha erettrònica i' l'imbasciaddi d'avvisu",
 'tog-shownumberswatching' => "Musthra lu nùmaru d'utenti ch'àni la pàgina abbaidadda",
 'tog-fancysig' => "Interpreta i cumandi wiki i' la fimma (chena cullegaumentu otomatiggu)",
-'tog-externaleditor' => 'Impustha cumenti pridifiniddu un cumponidori di testhi esthernu',
-'tog-externaldiff' => 'Impustha cumenti pridifiniddu un prugramma di diff esthernu',
 'tog-showjumplinks' => "Attiba li cullegamenti atzessibili 'vai a'",
 'tog-uselivepreview' => "Attiba la funzioni ''Live preview'' (dumanda JavaScript; ippirimintari)",
 'tog-forceeditsummary' => "Dumanda cunfèimma si l'oggettu di la mudìfigga è bioddu",
@@ -800,14 +798,6 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'powersearch-togglenone' => 'Nisciunu',
 'searchdisabled' => 'Abà no pói zirchà in {{SITENAME}}; proba cun Google o sìmiri, ma ammèntaddi chi li cuntinuddi di {{SITENAME}} poni assé no aggiornaddi.',
 
-# Quickbar
-'qbsettings' => 'Prifirenzi di lu menù',
-'qbsettings-none' => 'Nisciunu',
-'qbsettings-fixedleft' => 'Fissu a manca',
-'qbsettings-fixedright' => 'Fissu a drestha',
-'qbsettings-floatingleft' => 'Galliggianti a manca',
-'qbsettings-floatingright' => 'Galliggianti a drestha',
-
 # Preferences page
 'preferences' => 'Prifirenzi',
 'mypreferences' => "Li me' prifirenzi",
@@ -1285,8 +1275,8 @@ Si daboi s'à gana d'eliminà la pàgina da la listha di l'abbaidaddi ippiziarii
 'notvisiblerev' => 'La ribisioni è isthadda canzilladda',
 'watchnochange' => "Nisciuna di li pàgini abbaidaddi è isthadda mudìfiggadda i' lu perìodu cunsidaraddu.",
 'watchlist-details' => "La listha di l'abbaidaddi ippiziari cunteni {{PLURAL:$1|una pagina (e la rippettiba pagina di dischussioni)|$1 pagini (e li rippettibi pagini di dischussioni)}}.",
-'wlheader-enotif' => 'La nutìfica via postha erettrònica è attiba.',
-'wlheader-showupdated' => "Li pàgini chi so isthaddi mudìfiggaddi daboi l'ulthima vìsita so evidenziaddi in '''grasseddu'''",
+'wlheader-enotif' => 'La nutìfica via postha erettrònica è attiba.',
+'wlheader-showupdated' => "Li pàgini chi so isthaddi mudìfiggaddi daboi l'ulthima vìsita so evidenziaddi in '''grasseddu'''",
 'watchmethod-recent' => "cuntrollu di li mudìfigghi rizzenti pa l'abbaidaddi ippiziari",
 'watchmethod-list' => "cuntrollu di l'abbaidaddi ippiziari pa mudìfigghi rizzenti",
 'watchlistcontains' => "La listha di l'abbaidaddi ippiziari cunteni {{PLURAL:$1|una pàgina|$1 pàgini}}.",
@@ -1841,7 +1831,7 @@ So cunsidaraddi soru l'erenchi puntaddi (righi ch'ischumenzani cu' lu caràtteri
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Larghèzia',
 'exif-imagelength' => 'Althèzia',
 'exif-bitspersample' => 'Bit pa campioni',
@@ -2017,11 +2007,6 @@ Pa piazeri, cunfèimma chi vòi ricrià avveru chistha pàgina.",
 'version-other' => 'Althru',
 'version-software-version' => 'Versioni',
 
-# Special:FilePath
-'filepath' => "Parchossu d'un file",
-'filepath-page' => 'Innommu di lu file:',
-'filepath-submit' => 'Parchossu',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-legend' => "Zercha d'un dupricaddu",
 'fileduplicatesearch-filename' => 'Innòommu di lu file:',
index 19f9c32..d7fc8d9 100644 (file)
@@ -11,6 +11,7 @@
  * @author Jeblad
  * @author Kaganer
  * @author Laila
+ * @author Linnea
  * @author Skuolfi
  * @author Teak
  * @author The Evil IP address
@@ -632,13 +633,6 @@ $1 {{int:pipe-separator}} $2',
 'powersearch-toggleall' => 'Buot',
 'powersearch-togglenone' => 'Ii mihkkege',
 
-# Quickbar
-'qbsettings-none' => 'Ii maidige',
-'qbsettings-fixedleft' => 'Teaksta mielde, gurut',
-'qbsettings-fixedright' => 'Teaksta mielde, olgeš',
-'qbsettings-floatingleft' => 'Biso gurutbealde',
-'qbsettings-floatingright' => 'Biso olgesbealde',
-
 # Preferences page
 'preferences' => 'Ásahusat',
 'mypreferences' => 'Ásahusat',
@@ -727,6 +721,12 @@ $1 {{int:pipe-separator}} $2',
 'rightslog' => 'Logga geavaheaddjirievttiin',
 'rightslogtext' => 'Vuolábealde lea logga geavaheaddjirivttiid rievdadusain.',
 
+# Associated actions - in the sentence "You do not have permission to X"
+'action-createpage' => 'álggahit siidduid',
+'action-createtalk' => 'álggahit ságastallansiidduid',
+'action-browsearchive' => 'ohcat sihkkojuvvon siidduid',
+'action-sendemail' => 'sáddet e-poasttaid',
+
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|rievdadus|rievdadusa}}',
 'recentchanges' => 'Varas rievdadusat',
@@ -1041,8 +1041,8 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'notanarticle' => 'Ii leat siidu',
 'watchnochange' => 'Válljejuvvon áigodagas oktage du čuovvunlisttui gullevaš siidu leat rievdaduvvon.',
 'watchlist-details' => 'Du čuovvunlisttus {{PLURAL:$1|lea $1 siidu|leat $1 siiddu}}. Lohkui eai leat váldojuvvon ságastallansiidduid.',
-'wlheader-enotif' => 'E-poastaalmmuhusat leat anus.',
-'wlheader-showupdated' => "Siiddut, mat leat rievdaduvvon du maŋimus geavahangearddi maŋŋá leat merkojuvvon '''buoiddes teavsttain'''",
+'wlheader-enotif' => 'E-poastaalmmuhusat leat anus.',
+'wlheader-showupdated' => "Siiddut, mat leat rievdaduvvon du maŋimus geavahangearddi maŋŋá leat merkojuvvon '''buoiddes teavsttain'''",
 'watchmethod-recent' => 'dárkistuvvo varas rievdadusat čuovvunlisttu siidduide',
 'watchmethod-list' => 'dárkistuvvo čuovvunlisttu siidduid varas rievdadusat',
 'watchlistcontains' => 'Du čuovvunlisttus {{PLURAL:$1|lea okta siidu|leat $1 siiddu}}.',
@@ -1360,7 +1360,7 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 'metadata-expand' => 'Čájet buot sisdoallogovvádusaid',
 'metadata-collapse' => 'Čájet beare dehaleamos sisdoallogovvádusaid',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Viidodat',
 'exif-imagelength' => 'Allodat',
 'exif-bitspersample' => 'Bihtá komponeanttas',
index 8d3ebd6..5f56f5e 100644 (file)
@@ -42,8 +42,6 @@ $messages = array(
 'tog-enotifrevealaddr' => 'Xuniim henadressade e-iitom notificacionde e-iitóm',
 'tog-shownumberswatching' => 'Cohuatlöx caitóm cáminotómde numberam',
 'tog-fancysig' => 'Signaturenám brazzinám (sans linkám automaticám)',
-'tog-externaleditor' => 'Usadad ticpatlöx externöx auto',
-'tog-externaldiff' => 'Usadad diff extern auto',
 'tog-showjumplinks' => 'Záj "jumpöx" accessibilitiit linkám',
 'tog-uselivepreview' => 'Usadad cuáxiit live (JavaScript) (Experimentam)',
 'tog-forceeditsummary' => 'Ixuniimticpatlöx he jan nenenterom abvuatlde ticpatlöx',
@@ -582,10 +580,6 @@ Informacion: (curt) = quiíxde vercion currentua,
 'searchhelp-url' => 'Help:Caálixötöj',
 'powersearch' => 'Yahöx',
 
-# Quickbar
-'qbsettings' => 'Zuónaát',
-'qbsettings-none' => 'Nepartám',
-
 # Preferences page
 'preferences' => 'Quáatlaác',
 'mypreferences' => 'Hequáatlaác',
@@ -1023,7 +1017,7 @@ iitom e-iitomde diijömde caitóm.',
 'ilsubmit' => 'Yahöx',
 'bydate' => 'de datum',
 
-# EXIF tags
+# Exif tags
 'exif-fnumber' => 'F Numberam',
 'exif-gpslatitude' => 'Latitudam',
 'exif-gpslongitude' => 'Longitudam',
index 0411b80..2e2bba5 100644 (file)
@@ -87,8 +87,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Ruodītė keravuojantiu nauduotuoju skatliu',
 'tog-oldsig' => 'Esams parašos:',
 'tog-fancysig' => 'Parašos kāp wiki tekstos (ba autuomatėniu nūruodu)',
-'tog-externaleditor' => 'Vagol nutīliejėma nauduotė ėšuorini radaktuoriu (tėktās specam, rēk specēliū nustatīmu kompioteriō. [//www.mediawiki.org/wiki/Manual:External_editors Daugiau infuormacėjės.])',
-'tog-externaldiff' => 'Palē nutīliejėma nauduotė ėšuorinė skėrtomu ruodīma pruograma (tėktās specam, rēk specēliū nustatīmu kompioteriō. [//www.mediawiki.org/wiki/Manual:External_editors Daugiau infuormacėjės.])',
 'tog-showjumplinks' => 'Ijongtė „paršuoktė i“ pasėikiamoma nūruodas',
 'tog-uselivepreview' => 'Nauduotė tėisiogėne parvėiza (JavaScript) (Eksperimentėnis)',
 'tog-forceeditsummary' => 'Klaustė, kumet palėiku toščē pakeitėma kuomentara',
@@ -762,10 +760,6 @@ Kėtė admėnėstratuorē šėtom pruojekte vėsdar galės pasėiktė pasliepta
 'powersearch-field' => 'Ėiškoutė',
 'search-external' => 'Ėšuorėnė paėiška',
 
-# Quickbar
-'qbsettings' => 'Greitasā pasėrėnkėms',
-'qbsettings-none' => 'Neruodītė',
-
 # Preferences page
 'preferences' => 'Nustatīmā',
 'mypreferences' => 'Mona nustatīmā',
@@ -1270,8 +1264,8 @@ Jēgo bikumet ožsėnuorietomiet liautėis keravuotė straipsnė, spauskat \"neb
 'notanarticle' => 'Ne torėnė poslapis',
 'watchnochange' => 'Pasėrėnkto čieso nebova redagouts nė vėins keravuojams straipsnis.',
 'watchlist-details' => 'Keravuojama $1 {{PLURAL:$1|poslapis|$1 poslapē|$1 poslapiu}} neskaitlioujant aptarėmu poslapiu.',
-'wlheader-enotif' => 'El. pašta primėnėmā ijongtė īr.',
-'wlheader-showupdated' => "Poslapē, katrėi pakeistė nu Tamstas paskotėnė apsėlonkėma čiesa anūs, īr pažīmietė '''pastuorintā'''",
+'wlheader-enotif' => 'El. pašta primėnėmā ijongtė īr.',
+'wlheader-showupdated' => "Poslapē, katrėi pakeistė nu Tamstas paskotėnė apsėlonkėma čiesa anūs, īr pažīmietė '''pastuorintā'''",
 'watchmethod-recent' => 'tėkrėnamė vielībė̅jė pakeitėmā keravuojamiems poslapiams',
 'watchmethod-list' => 'Ėiškuoma vielībūju pakeitėmu keravuojamūs poslapiūs',
 'watchlistcontains' => 'Tamstas kervuojamu sārašė īr $1 {{PLURAL:$1|poslapis|poslapē|poslapiu}}.',
@@ -1773,7 +1767,7 @@ Vėsas kėtas nūoruodas tuo patiuo eilotie īr laikomas ėšėmtim, tas rēšk
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Platoms',
 'exif-imagelength' => 'Aukštoms',
 'exif-orientation' => 'Pasokims',
@@ -1908,10 +1902,6 @@ Tamsta tēpuogi galėt [[Special:EditWatchlist/raw|redagoutė grīnaji keravuoja
 'version' => 'Versėjė',
 'version-license' => 'Licenzėjė',
 
-# Special:FilePath
-'filepath' => 'Faila maršrots',
-'filepath-page' => 'Fails:',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Ėiškuotė doblikoutu failu',
 'fileduplicatesearch-legend' => 'Ėiškuotė doblėkatu',
index 5f8c725..6d58d82 100644 (file)
@@ -8,6 +8,7 @@
  * @file
  *
  * @author Kaganer
+ * @author Nemo bis
  * @author OC Ripper
  * @author לערי ריינהארט
  */
@@ -250,6 +251,7 @@ $messages = array(
 'tog-diffonly' => 'Ne prikazuj sadržaj stranice ispod prikaza razlika',
 'tog-showhiddencats' => 'Prikaži skrivene kategorije',
 'tog-norollbackdiff' => 'Nakon povrata zanemari prikaz razlika',
+'tog-useeditwarning' => 'Upozori me kad napuštam stranicu za uređivanje bez snimanja izmjena',
 
 'underline-always' => 'Uvijek',
 'underline-never' => 'Nikad',
@@ -313,6 +315,18 @@ $messages = array(
 'oct' => 'okt',
 'nov' => 'nov',
 'dec' => 'dec',
+'january-date' => '$1. januar',
+'february-date' => '$1. februar',
+'march-date' => '$1. mart',
+'april-date' => '$1. april',
+'may-date' => '$1. maj',
+'june-date' => '$1. jun',
+'july-date' => '$1. jul',
+'august-date' => '$1. august',
+'september-date' => '$1. septembar',
+'october-date' => '$1. oktobar',
+'november-date' => '$1. novembar',
+'december-date' => '$1. decembar',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategorija|Kategorije}}',
@@ -620,9 +634,18 @@ Obratite pažnju da neke stranice mogu nastaviti da se prikazuju kao da ste još
 'welcomecreation-msg' => 'Vaš korisnički račun je napravljen.
 Ne zaboravite izmijeniti vlastite [[Special:Preferences|{{SITENAME}} postavke]].',
 'yourname' => 'Korisničko ime:',
+'userlogin-yourname' => 'Korisničko ime',
+'userlogin-yourname-ph' => 'Unesite svoje korisničko ime',
 'yourpassword' => 'Lozinka/zaporka:',
+'userlogin-yourpassword' => 'Lozinka/zaporka',
+'userlogin-yourpassword-ph' => 'Unesite svoju lozinku/zaporku',
+'createacct-yourpassword-ph' => 'Unesite lozinku/zaporku',
 'yourpasswordagain' => 'Ponovno utipkajte lozinku/zaporku:',
+'createacct-yourpasswordagain' => 'Potvrdite lozinku/zaporku',
+'createacct-yourpasswordagain-ph' => 'Unesite lozinku/zaporku ponovno',
 'remembermypassword' => 'Upamti moju lozinku na ovom kompjuteru (za maksimum od $1 {{PLURAL:$1|dan|dana}})',
+'userlogin-remembermypassword' => 'Držite me ulogiranog/u',
+'userlogin-signwithsecure' => 'Koristite sigurnu vezu',
 'securelogin-stick-https' => 'Ostanite povezani na HTTPS nakon prijave',
 'yourdomainname' => 'Vaš domen:',
 'password-change-forbidden' => 'Ne možete da promenite lozinku na ovom vikiju.',
@@ -635,18 +658,38 @@ Ne zaboravite izmijeniti vlastite [[Special:Preferences|{{SITENAME}} postavke]].
 'logout' => 'Odjavi me',
 'userlogout' => 'Odjava',
 'notloggedin' => 'Niste prijavljeni',
+'userlogin-noaccount' => 'Nemate račun?',
+'userlogin-joinproject' => 'Pridružite se {{SITENAME}}',
 'nologin' => "Nemate korisničko ime? '''$1'''.",
 'nologinlink' => 'Otvorite račun',
 'createaccount' => 'Napravi korisnički račun',
 'gotaccount' => "Imate račun? '''$1'''.",
 'gotaccountlink' => 'Prijavi se',
 'userlogin-resetlink' => 'Zaboravili ste detalje vaše prijave?',
+'userlogin-resetpassword-link' => 'Resetirajte svoju lozinku/zaporku',
+'helplogin-url' => 'Help:Logiranje',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pomoć pri logiranju]]',
+'createacct-join' => 'Unesite svoje informacije ispod',
+'createacct-emailrequired' => 'E-mail adresa',
+'createacct-emailoptional' => 'E-mail adresa (opcionalno)',
+'createacct-email-ph' => 'Unesite svoju E-mail adresu',
 'createaccountmail' => 'Koristite privremenu slučajno stvorenu lozinku i pošaljite na dolje specificiranu e-mail adresu',
+'createacct-realname' => 'Stvarno ime (opcionalno)',
 'createaccountreason' => 'Razlog:',
+'createacct-reason' => 'Razlog',
+'createacct-reason-ph' => 'Zašto stvarate novi račun',
+'createacct-captcha' => 'Sigurnosna provjera',
+'createacct-imgcaptcha-ph' => 'Unesite tekst koji vidite iznad',
+'createacct-submit' => 'Stvorite svoj račun',
+'createacct-benefit-heading' => '{{SITENAME}} se stvara od ljudi poput vas.',
+'createacct-benefit-body1' => '$1 {{PLURAL:$1|izmjena|izmjene}}',
+'createacct-benefit-body2' => '$1 {{PLURAL:$1|stranica|stranice|stranica}}',
+'createacct-benefit-body3' => 'nedavni {{PLURAL:$1|donator|donatora}}',
 'badretype' => 'Lozinke koje ste unijeli se ne poklapaju.',
 'userexists' => 'Uneseno korisničko ime već je u upotrebi.
 Unesite neko drugo ime.',
 'loginerror' => 'Greška pri prijavljivanju',
+'createacct-error' => 'Pogreška u stvaranju računa',
 'createaccounterror' => 'Ne može se napraviti račun: $1',
 'nocookiesnew' => "Korisnički nalog je napravljen, ali niste prijavljeni.
 {{SITENAME}} koristi kolačiće (''cookies'') da bi se korisnici prijavili.
@@ -737,21 +780,20 @@ Da biste završili prijavu, morate unijeti novu šifru ovdje:',
 'resetpass-wrong-oldpass' => 'Privremena ili trenutna lozinka nije valjana.
 Možda ste već uspješno promijenili Vašu lozinku ili ste tražili novu privremenu lozinku.',
 'resetpass-temp-password' => 'Privremena lozinka:',
+'resetpass-abort-generic' => 'Promjenu lozinke/zaporke je prekinula ekstenzija.',
 
 # Special:PasswordReset
 'passwordreset' => 'Ponovno postavi lozinku',
-'passwordreset-text' => 'Ispunite ovaj obrazac da biste dobili e-mail podsjetnik o vašim detaljima računa.',
 'passwordreset-legend' => 'Ponovno postavi lozinku',
 'passwordreset-disabled' => 'Ponovno postavljanje lozinke je onemogućeno na ovom wikiju.',
-'passwordreset-pretext' => '{{PLURAL:$1||Unesite jedan dio podataka ispod}}',
+'passwordreset-emaildisabled' => 'Postavke E-maila su deaktivirane na ovoj wiki.',
 'passwordreset-username' => 'Korisničko ime:',
 'passwordreset-domain' => 'Domena:',
 'passwordreset-capture' => 'Pogledati krajnji e-mail?',
 'passwordreset-capture-help' => 'Ako označite ovu kućicu, e-mail s privremenom lozinkom će biti prikazana i poslata korisniku.',
 'passwordreset-email' => 'E-mail adresa:',
 'passwordreset-emailtitle' => 'Detalji računa na {{SITENAME}}',
-'passwordreset-emailtext-ip' => 'Netko (vjerovatno Vi, s IP adrese $1) je zatražio podsjetnik Vaših detalja računa
-za {{SITENAME}} ($4). Sljedeći {{PLURAL:$3|račun korisnika je|računi korisnika su}}
+'passwordreset-emailtext-ip' => 'Netko (vjerovatno Vi, s IP adrese $1) je zatražio resetiranje vaše lozinke/zaporke {{SITENAME}} ($4). Sljedeći {{PLURAL:$3|račun korisnika je|računi korisnika su}}
 povezani s ovom e-mail adresom:
 
 $2
@@ -760,7 +802,7 @@ $2
 Trebate se prijaviti i odabrati novu lozinku. Ako je neko drugi napravio ovaj
 zahtjev, ili ako ste se sjetili Vaše početne lozinke, a ne želite je promijeniti, 
 možete zanemariti ovu poruku i nastaviti koristiti staru lozinku.',
-'passwordreset-emailtext-user' => 'Korisnik $1 na {{SITENAME}} je zatražio podsjetnik o detaljima Vašeg računa za {{SITENAME}}
+'passwordreset-emailtext-user' => 'Korisnik $1 na {{SITENAME}} je zatražio resetiranje vaše lozinke/zaporke za {{SITENAME}}
 ($4). Sljedeći {{PLURAL:$3|korisnički račun je|korisnički računi su}} povezani s ovom e-mail adresom:
 
 $2
@@ -771,9 +813,9 @@ zahtjev, ili ako ste se sjetili Vaše originalne lozinke, a ne želite je više
 možete zanemariti ovu poruku i nastaviti koristiti staru lozinku.',
 'passwordreset-emailelement' => 'Korisničko ime: $1
 Privremena šifra: $2',
-'passwordreset-emailsent' => 'E-mail podsjetnik je poslan.',
-'passwordreset-emailsent-capture' => 'Poslan je podsjetnik preko e-maila (prikazan dolje).',
-'passwordreset-emailerror-capture' => 'E-mail s podsjetnikom, prikazan dolje, je poslan, ali slanje korisniku nije uspjelo: $1',
+'passwordreset-emailsent' => 'E-mail za resetiranje lozinke/zaporke je poslan.',
+'passwordreset-emailsent-capture' => 'E-mail za resetiranje lozinke/zaporke je poslan (prikazan dolje).',
+'passwordreset-emailerror-capture' => 'E-mail za resetiranje lozinke/zaporke, prikazan dolje, je poslan, ali slanje {{GENDER:$2|korisniku|korisnici|korisniku}} nije uspjelo: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'Promijeni e-mail adresu',
@@ -996,6 +1038,8 @@ Izgleda da već postoji.',
 'content-failed-to-parse' => 'Ne mogu da raščlanim sadržaj tipa $2 za model $1: $3',
 'invalid-content-data' => 'Neispravni podaci sadržaja',
 'content-not-allowed-here' => 'Sadržaj modela „$1“ nije dozvoljen na stranici [[$2]]',
+'editwarning-warning' => 'Napuštanje ove stranice može dovesti do gubitka svih promjena koje ste načinili.
+Ako ste prijavljeni, možete isključiti ovo upozorenje u "{{int:prefs-editing}}" dijelu vaših opcija.',
 
 # Content models
 'content-model-wikitext' => 'wikitekst',
@@ -1283,6 +1327,7 @@ Pokušajte u svoju pretragu staviti ''all:'' da se pretražuje cjelokupan sadrž
 'searchdisabled' => 'Pretraga teksta na ovoj Wiki je trenutno onemogućena.
 U međuvremenu možete pretraživati preko Googlea.
 Uzmite u obzir da njegovi indeksi za ovu Wiki ne moraju biti ažurirani.',
+'search-error' => 'Dogodila se pogreška prilikom pretraživanja: $1',
 
 # Preferences page
 'preferences' => 'Postavke',
@@ -1428,6 +1473,7 @@ Ako izaberete da date ime, biće korišteno za pripisivanje Vašeg rada.',
 'userrights-notallowed' => 'Vaš račun Vam ne daje dozvolu da postavljate i uklanjate korisnička prava.',
 'userrights-changeable-col' => 'Grupe koje možete mijenjati',
 'userrights-unchangeable-col' => 'Grupe koje ne možete mijenjati',
+'userrights-conflict' => 'Sukob u korisničkim pravima! Molimo pošaljite Vaše promjene ponovno.',
 
 # Groups
 'group' => 'Grupa:',
@@ -1991,6 +2037,12 @@ Prije brisanja provjerite da li druge stranice vode na te šablone.',
 One se možda moraju povezati sa konkretnim člankom.<br />
 Stranica se smatra stranicom za razvrstavanje, ukoliko koristi šablon koji je povezan sa spiskom [[MediaWiki:Disambiguationspage|stranica za razvrstavanje]]",
 
+'pageswithprop' => 'Stranice sa svojstvom stranice',
+'pageswithprop-legend' => 'Stranice sa svojstvom stranice',
+'pageswithprop-text' => 'Ova stranica navodi stranice sa specifičnim svojstvom stranice.',
+'pageswithprop-prop' => 'Naziv svojstva:',
+'pageswithprop-submit' => 'Idi',
+
 'doubleredirects' => 'Dvostruka preusmjerenja',
 'doubleredirectstext' => 'Ova stranica prikazuje stranice koje preusmjeravaju na druga preusmjerenja.
 Svaki red sadrži veze na prvo i drugo preusmjerenje, kao i na prvu liniju teksta drugog preusmjerenja, što obično daje "pravi" ciljni članak, na koji bi prvo preusmjerenje i trebalo da pokazuje.
@@ -2155,6 +2207,15 @@ Podržani {{PLURAL:$2|protokol|protokoli}}: <code>$1</code> (default je http://
 'listusers-noresult' => 'Nije pronađen korisnik.',
 'listusers-blocked' => '(blokiran)',
 
+# Special:ActiveUsers
+'activeusers' => 'Spisak aktivnih korisnika',
+'activeusers-intro' => 'Ovo je spisak korisnika koji su napravili neku aktivnost u {{PLURAL:$1|zadnji $1 dan|zadnja $1 dana|zadnjih $1 dana}}.',
+'activeusers-count' => '{{PLURAL:$1|$1 izmjena|$1 izmjene|$1 izmjena}} u {{PLURAL:$3|posljednji $3 dan|posljednja $3 dana|posljednjih $3 dana}}',
+'activeusers-from' => 'Prikaži korisnike koji počinju sa:',
+'activeusers-hidebots' => 'Sakrij botove',
+'activeusers-hidesysops' => 'Sakrij administratore',
+'activeusers-noresult' => 'Nije pronađen korisnik.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Prava korisničkih grupa',
 'listgrouprights-summary' => 'Slijedi spisak korisničkih grupa na ovoj wiki, s njihovim pravima pristupa.
@@ -2655,6 +2716,7 @@ Molimo vas da kontaktirate vašeg davatelja internetskih usluga (Internet Servic
 'sorbsreason' => 'Vaša IP adresa je prikazana kao otvoreni proxy u DNSBL koji koristi {{SITENAME}}.',
 'sorbs_create_account_reason' => 'Vaša IP adresa je prikazana kao otvoreni proxy u DNSBL korišten od {{SITENAME}}.
 Ne možete napraviti račun',
+'xffblockreason' => 'IP adresa koja postoji u zagljavlju X-Forwarded-For, ili Vaša ili od proxy servera koji koristite, je blokirana. Originalni razlog za blokiranje je bio: $1',
 'cant-block-while-blocked' => 'Ne možete blokirati druge korisnike dok ste blokirani.',
 'cant-see-hidden-user' => 'Korisnik kojeg pokušavate blokirati je već blokiran i sakriven. 
 Pošto nemate prava hideuser (sakrivanje korisnika), ne možete vidjeti ni urediti korisnikovu blokadu.',
@@ -2819,6 +2881,8 @@ Molimo posjetite [//www.mediawiki.org/wiki/Localisation MediaWiki lokalizaciju]
 'thumbnail-more' => 'Uvećaj',
 'filemissing' => 'Nedostaje datoteka',
 'thumbnail_error' => 'Greška pri pravljenju umanjene slike: $1',
+'thumbnail_error_remote' => 'Poruka o pogrešci o $1:
+$2',
 'djvu_page_error' => 'DjVu stranica je van opsega',
 'djvu_no_xml' => 'Za XML-datoteku se ne može pozvati DjVu datoteka',
 'thumbnail-temp-create' => 'Ne mogu da napravim privremenu smanjenu sliku',
@@ -3118,11 +3182,25 @@ Njegovim izvršavanjem možete da ugrozite Vaš sistem.",
 'minutes' => '{{PLURAL:$1|$1 minut|$1 minuta|$1 minuta}}',
 'hours' => '{{PLURAL:$1|$1 sat|$1 sata|$1 sati}}',
 'days' => '{{PLURAL:$1|$1 dan|$1 dana|$1 dana}}',
+'weeks' => '{{PLURAL:$1|$1 sedmica}}',
 'months' => '{{PLURAL:$1|$1 mjesec|$1 mjeseci}}',
 'years' => '{{PLURAL:$1|$1 godina|$1 godine|$1 godina}}',
 'ago' => 'prije $1',
 'just-now' => 'upravo sada',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|sat|sati}}',
+'minutes-ago' => '$1 {{PLURAL:$1|minut|minuta}}',
+'seconds-ago' => '$1 {{PLURAL:$1|sekunda|sekunde}}',
+'monday-at' => 'ponedjeljak u $1',
+'tuesday-at' => 'utorak u $1',
+'wednesday-at' => 'srijeda u $1',
+'thursday-at' => 'četvrtak u $1',
+'friday-at' => 'petak u $1',
+'saturday-at' => 'subota u $1',
+'sunday-at' => 'nedjelja u $1',
+'yesterday-at' => 'jučer u $1',
+
 # Bad image list
 'bad_image_list' => "Koristi se sljedeći format:
 
@@ -3150,7 +3228,7 @@ Svi drugi linkovi u istoj liniji se smatraju izuzecima, npr. kod stranica gdje s
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Širina',
 'exif-imagelength' => 'Visina',
 'exif-bitspersample' => 'Bita po komponenti',
@@ -3330,7 +3408,7 @@ Svi drugi linkovi u istoj liniji se smatraju izuzecima, npr. kod stranica gdje s
 'exif-originalimageheight' => 'Visina slike prije nego što je odrezana',
 'exif-originalimagewidth' => 'Širina slike prije nego što je odrezana',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nekompresovano',
 'exif-compression-2' => 'CCITT Grupa 3 1 — Dimenzionalno izmijenjeo Huffmanovo šifriranje po dužini',
 'exif-compression-3' => 'CCITT Group 3 faks kodiranje',
@@ -3747,12 +3825,17 @@ Trebali biste dobiti [{{SERVER}}{{SCRIPTPATH}}/KOPIJU GNU opće javne licence] z
 'version-entrypoints-header-entrypoint' => 'Ulazna tačka',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Putanja datoteke',
-'filepath-page' => 'Datoteka:',
-'filepath-submit' => 'Idi',
-'filepath-summary' => 'Ova posebna stranica prikazuje potpunu putanju za datoteku.
-Slike su prikazane u punoj veličini, ostale vrste datoteka su prikazane direktno sa, s njima povezanim, programom.',
+# Special:Redirect
+'redirect' => 'Preusmjeravanje preko datoteke, korisnika ili ID-a izmjene',
+'redirect-legend' => 'Preusmjeravanje na datoteku ili stranicu',
+'redirect-summary' => 'Ova posebna stranica preusmjerava na datoteku (ako je navedeno ime datoteke), stranicu (ako postoji ID revizije) ili korisničku stranicu (ako postoji brojčani ID korisnika).',
+'redirect-submit' => 'Idi',
+'redirect-lookup' => 'Pregled:',
+'redirect-value' => 'Vrijednost:',
+'redirect-user' => 'Korisnički ID',
+'redirect-revision' => 'Izmjena stranice',
+'redirect-file' => 'Naziv datoteke',
+'redirect-not-exists' => 'Vrijednost nije pronađena',
 
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Potraga za duplim datotekama',
@@ -3843,23 +3926,26 @@ Slike su prikazane u punoj veličini, ostale vrste datoteka su prikazane direktn
 'htmlform-submit' => 'Unesi',
 'htmlform-reset' => 'Vrati izmjene',
 'htmlform-selectorother-other' => 'Ostalo',
+'htmlform-no' => 'Ne',
+'htmlform-yes' => 'Da',
+'htmlform-chosen-placeholder' => 'Odaberi opciju',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 sa podrškom pretrage cijelog teksta',
 'sqlite-no-fts' => '$1 bez podrške pretrage cijelog teksta',
 
 # New logging system
-'logentry-delete-delete' => '$1 obrisa stranicu $3',
-'logentry-delete-restore' => '$1 povrati stranicu $3',
-'logentry-delete-event' => '$1 promijeni vidljivost {{PLURAL:$5|događaja u historiji|$5 događaja u historiji|$5 događaja u historiji}} na $3: $4',
-'logentry-delete-revision' => '$1 promijeni vidljivost {{PLURAL:$5|izmjene|$5 izmjene|$5 izmjena}} na stranici $3: $4',
-'logentry-delete-event-legacy' => '$1 promijeni vidljivost događajâ u historiji na $3',
-'logentry-delete-revision-legacy' => '$1 promijeni vidljivost izmjenâ na stranici $3',
-'logentry-suppress-delete' => '$1 potisnu stranicu $3',
+'logentry-delete-delete' => '$1 je {{GENDER:$2|obrisao|obrisala}} stranicu $3',
+'logentry-delete-restore' => '$1 je {{GENDER:$2|vratio|vratila}} stranicu $3',
+'logentry-delete-event' => '$1 je {{GENDER:$2|promijenio|promijenila}} vidljivost {{PLURAL:$5|događaja|$5 događaja}} u evidenciji na $3: $4',
+'logentry-delete-revision' => '$1 je {{GENDER:$2|promijenio|promijenila}} vidljivost {{PLURAL:$5|izmjene|$5 izmjene|$5 izmjena}} na stranici $3: $4',
+'logentry-delete-event-legacy' => '$1 je {{GENDER:$2|promijenio|promijenila}} vidljivost događaja u evidenciji na $3',
+'logentry-delete-revision-legacy' => '$1 je {{GENDER:$2|promijenio|promijenila}} vidljivost izmjena na stranici $3',
+'logentry-suppress-delete' => '$1 je {{GENDER:$2|potisnuo|potisnula}} stranicu $3',
 'logentry-suppress-event' => '$1 potajno promijeni vidljivost {{PLURAL:$5|događaja u historiji|$5 događaja u historiji|$5 događaja u historiji}} na $3: $4',
-'logentry-suppress-revision' => '$1 potajno promijeni vidljivost {{PLURAL:$5|izmjene|$5 izmjene|$5 izmjena}} na stranici $3: $4',
-'logentry-suppress-event-legacy' => '$1 potajno promijeni vidljivost događajâ u registru na $3',
-'logentry-suppress-revision-legacy' => '$1 potajno promijeni vidljivost izmjenâ na stranici $3',
+'logentry-suppress-revision' => '$1 je tajno {{GENDER:$2|promijenio|promijenila}} vidljivost {{PLURAL:$5|izmjene|$5 izmjene|$5 izmjena}} na stranici $3: $4',
+'logentry-suppress-event-legacy' => '$1 je tajno {{GENDER:$2|promijenio|promijenila}} vidljivost događaja u evidenciji na $3',
+'logentry-suppress-revision-legacy' => '$1 je tajno {{GENDER:$2|promijenio|promijenila}} vidljivost izmjena na stranici $3',
 'revdelete-content-hid' => 'sadržaj je sakriven',
 'revdelete-summary-hid' => 'sažetak izmjene je sakriven',
 'revdelete-uname-hid' => 'korisničko ime sakriveno',
@@ -3868,20 +3954,20 @@ Slike su prikazane u punoj veličini, ostale vrste datoteka su prikazane direktn
 'revdelete-uname-unhid' => 'korisničko ime je otkriveno',
 'revdelete-restricted' => 'primijenjena ograničenja za administratore',
 'revdelete-unrestricted' => 'uklonjena ograničenja za administratore',
-'logentry-move-move' => '$1 premjesti stranicu $3 na $4',
-'logentry-move-move-noredirect' => '$1 premjesti stranicu $3 na $4 bez ostavljanja preusmjerenja',
-'logentry-move-move_redir' => '$1 je premjestio stranicu $3 na $4 preko preusmjerenja',
-'logentry-move-move_redir-noredirect' => '$1 premjesti stranicu $3 na $4 preko preusmjerenja bez ostavljanja preusmjerenja',
-'logentry-patrol-patrol' => '$1 označi izmjenu $4 pregledane stranice $3',
-'logentry-patrol-patrol-auto' => '$1 samostalno označi izmjenu $4 pregledane stranice $3',
-'logentry-newusers-newusers' => 'Korisnički račun $1 je napravljen',
-'logentry-newusers-create' => 'Korisnički račun $1 je napravljen',
-'logentry-newusers-create2' => 'Korisnički račun $3 {{GENDER:|je napravio|je napravila|je napravio}} $1',
-'logentry-newusers-byemail' => 'Korisnički račun $3 je napravio $1 i lozinka/šifra je poslana putem e-maila',
-'logentry-newusers-autocreate' => 'Račun $1 je samostalno otvoren',
-'logentry-rights-rights' => '$1 {{GENDER:$1|je promijenio|je promijenila|je promijenio}} članstvo grupe za $3 iz $4 u $5',
-'logentry-rights-rights-legacy' => '$1 {{GENDER:$1|je promenio|je promenila|je promenio}} članstvo grupe za $3',
-'logentry-rights-autopromote' => '$1 je automatski {{GENDER:$1|unaprijeđen|unaprijeđena|unaprijeđen}} iz $4 u $5',
+'logentry-move-move' => '$1 je {{GENDER:$2|premjestio|premjestila}} stranicu $3 na $4',
+'logentry-move-move-noredirect' => '$1 je {{GENDER:$2|premjestio|premjestila}} stranicu $3 na $4 bez ostavljanja preusmjerenja',
+'logentry-move-move_redir' => '$1 je {{GENDER:$2|premjestio|premjestila}} stranicu $3 na $4 preko preusmjeravanja',
+'logentry-move-move_redir-noredirect' => '$1 je {{GENDER:$2|premjestio|premjestila}} stranicu $3 na $4 preko preusmjeravanja bez ostavljanja preusmjeravanja',
+'logentry-patrol-patrol' => '$1 je {{GENDER:$2|označio|označila}} izmjenu $4 stranice $3 patroliranim',
+'logentry-patrol-patrol-auto' => '$1 je automatski {{GENDER:$2|označio|označila}} izmjenu $4 stranice $3 patroliranim',
+'logentry-newusers-newusers' => 'Korisnički račun $1 je {{GENDER:$2|napravljen}}',
+'logentry-newusers-create' => 'Korisnički račun $1 je {{GENDER:$2|napravljen}}',
+'logentry-newusers-create2' => 'Korisnički račun $3 {{GENDER:$2|je napravio|je napravila|je napravio}} $1',
+'logentry-newusers-byemail' => 'Korisnički račun $3 je {{GENDER:$2|napravio|napravila}} $1 i lozinka/šifra je poslana putem e-maila',
+'logentry-newusers-autocreate' => 'Korisnički račun $1 je automatski {{GENDER:$2|napravljen}}',
+'logentry-rights-rights' => '$1 je {{GENDER:$2|promijenio|promijenila|promijenio}} članstvo grupe za $3 iz $4 u $5',
+'logentry-rights-rights-legacy' => '$1 {{GENDER:$2|je promijenio|je promijenila|je promijenio}} članstvo grupe za $3',
+'logentry-rights-autopromote' => '$1 {{GENDER:$2|je automatski unaprijeđen|je automatski unaprijeđena}} iz $4 u $5',
 'rightsnone' => '(nema)',
 
 # Feedback
@@ -3957,4 +4043,7 @@ U suprotnom, poslužite se jednostavnim obrascem ispod. Vaš komentar će stajat
 'duration-centuries' => '$1 {{PLURAL:$1|vijek|vijekova}}',
 'duration-millennia' => '$1 {{PLURAL:$1|milenijum|milenijuma}}',
 
+# Image rotation
+'rotate-comment' => 'Slika rotirana za $1 {{PLURAL:$1|stepeni}} u smjeru kazaljke na satu',
+
 );
index 696c4fb..11f2e18 100644 (file)
@@ -43,8 +43,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Ml uṭṭun n Midn lli swurn ɣ tasna yad',
 'tog-oldsig' => 'Asmmaql (Tiẓṛi) n ukrraj n ufus lli illan:',
 'tog-fancysig' => 'Skr akrrag n ufus s taɣarast  n  wikitext (bla azday utumatik)',
-'tog-externaleditor' => 'Swwur s yan umẓṛg u uṭṛiṣ n brra ( i imskarn lli bahra ḥrcnin, ira mayad riglaj iẓlin ɣ urdinatur)',
-'tog-externaldiff' => 'Skr s yan umsnaḥya abrrani ( i midn lli bahra ḥrcnin, mayad ira riglaj ɣ urdinatur)',
 'tog-showjumplinks' => 'Srɣ izdayn « Amuddu » d « acnubc » niḍ « Asiǧl » ɣ uflla n tasna',
 'tog-uselivepreview' => 'Skr s umẓri amaynu izrbn (ira JavaScript) (Arm)',
 'tog-forceeditsummary' => 'Ayyit tini iɣ ur iwiɣ imsmun n imbdln',
@@ -405,7 +403,7 @@ Ussaɣ n isqdacn ḥiln hlli.
 'emailconfirmlink' => 'Als i tasna nk n tbratin izd nit nttat ayan.',
 'loginlanguagelabel' => 'Tutlayt: $1',
 
-# E-mail sending
+# Email sending
 'php-mail-error-unknown' => 'Kra ur igadda tasɣnt btbratin() n PHP.',
 
 # Change password dialog
@@ -657,14 +655,6 @@ Tigira n ujbbad ns, ar takka yat tayafut bahra imqqurn,  ɣayan afan ur ttili.',
 Tzdar at cabbat ɣilad ɣ Google.
 Izdar ad urtili ɣ isbidn n mayllan ɣ {{SITENAME}} .',
 
-# Quickbar
-'qbsettings' => 'Tafeggagt izrbn',
-'qbsettings-none' => 'Ur iḥudda',
-'qbsettings-fixedleft' => 'Aẓẓugz azlmaḍ',
-'qbsettings-fixedright' => 'Azzugz afasi',
-'qbsettings-floatingleft' => 'Yaywul su uzlmad',
-'qbsettings-floatingright' => 'Yaywul su ufasi',
-
 # Preferences page
 'preferences' => 'Timssusmin',
 'mypreferences' => 'Timssusmin',
@@ -911,7 +901,7 @@ Mel imbddeln z tisniwin li ittuyzdayni bla tasna li trit.',
 # Special:ListGroupRights
 'listgrouprights-members' => 'Umuɣ n  midn',
 
-# E-mail user
+# Email user
 'emailuser' => 'Azn tabrat umsqdac ad',
 
 # Watchlist
@@ -1293,10 +1283,6 @@ Wiyyaḍ raggis ḥbun s ɣiklli sttin kkan gantn.
 'version-software-product' => 'lmntoj',
 'version-software-version' => 'noskha',
 
-# Special:FilePath
-'filepath-page' => 'Asdaw:',
-'filepath-submit' => 'Ftu',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'smiyt n-wasdaw:',
 'fileduplicatesearch-submit' => 'Sigl',
index 35d70e6..b6c719f 100644 (file)
@@ -618,7 +618,7 @@ $2',
 'createacct-yourpasswordagain-ph' => 'මුර පදය යළි ඇතුළු කරන්න',
 'remembermypassword' => 'මාගේ පිවිසීම මෙම ගවේෂක මතකයෙහි (උපරිම ලෙස {{PLURAL:$1|දින|දින}}) $1 ක් මතක තබාගන්න',
 'userlogin-remembermypassword' => 'මා ප්‍රවිෂ්ටයෙහි තබන්න',
-'userlogin-signwithsecure' => 'à·\83à·\94රà¶\9aà·\8aà·\82à·\92ත à·\83à·\9aà·\80à·\8fදà·\8fයà¶\9aය à¶­à·\94ලà·\92නà·\8a à¶´à·\8aâ\80\8dරà·\80à·\92à·\82à·\8aට කරන්න',
+'userlogin-signwithsecure' => 'à·\83à·\94රà¶\9aà·\8aà·\82à·\92ත à·\83මà·\8aබනà·\8aධතà·\8fà·\80ය à¶·à·\8fà·\80à·\92තà·\8f කරන්න',
 'securelogin-stick-https' => 'ඇතුල්වීමෙන් පසුවද HTTPS හරහා සම්බන්ධ වන්න',
 'yourdomainname' => 'ඔබගේ වසම:',
 'password-change-forbidden' => 'ඔබට මෙම විකියෙහි මුරපද වෙනස් කල නොහැක.',
@@ -694,8 +694,8 @@ $2',
 'blocked-mailpassword' => 'ඔබගේ අන්තර්ජාල ලිපිනය භාවිතා කරමින් සංස්කරණයෙහි යෙදීම වාරණය කොට ඇති අතර, අපයෙදුම වළකනු වස්,  මුර-පදය පුනරුත්ථාන  කෘත්‍යය භාවිත කිරීමට අවසරයද අහිමි කොට ඇත.',
 'eauthentsent' => 'නම් කර ඇති විද්‍යුත්-ලිපි ලිපිනය වෙත, තහවුරු කිරීම් විද්‍යුත්-ලිපියක් යවා ඇත.
 ගිණුම වෙත වෙනත් විද්‍යුත්-ලිපියක්  යැවීමට පෙර, ගිණුම සත්‍ය වශයෙන්ම ඔබගේම බව තහවුරු කරනු වස්, විද්‍යුත්-ලිපියෙහි අඩංගු උපදෙස්  පිළිපදින්න.',
-'throttled-mailpassword' => 'අවසන් {{PLURAL:$1| පැය|පැය $1 }} අතරතුරදී, දැනටමත් එක් මුර-පද සිහිගැන්වීමක් යවා ඇත .
-අපයෙදුම වළක්වනු වස්, {{PLURAL:$1|එක් පැයක| පැය $1 ක}}ට වරක් එක් මුර-පද සිහිගැන්වීමක් පමණක් යවනු ලැබේ.',
+'throttled-mailpassword' => 'අවසන් {{PLURAL:$1|පැය|පැය $1}} අතරතුරදී, මුරපද යළි සැකසුම් විද්‍යුත් තැපෑලක් දැනටමත් යවා ඇත.
+අපයෙදුම වළක්වනු වස්, {{PLURAL:$1|එක් පැයක|පැය $1 ක}}ට වරක් එක් මුරපද යළි සැකසුම් විද්‍යුත් තැපෑලක් පමණක් යවනු ලැබේ.',
 'mailerror' => 'තැපෑල යැවීමේදී වූ දෝෂය: $1',
 'acct_creation_throttle_hit' => 'ඔබගේ අන්තර්ජාල ලිපිනය භාවිතා කල මෙම විකියට අමුත්තන් විසින් {{PLURAL:$1|එක් ගිණුමක්|ගිණුම් $1 ක්}} පසුගිය දිනය තුලදී තනා ඇති අතර, එය මෙම කාල පරිච්ඡේදය තුලදී ඉඩ දෙනු ලබන උපරිමය වෙයි.
 මේ හේතුවෙන්, මෙම අන්තර්ජාල ලිපිනය භාවිතා කරන අමුත්තන් විසින් මෙම අවස්ථාවෙහිදී තවත් ගිණුම් තැනීම සිදු කල නොහැකිව ඇත.',
@@ -747,7 +747,7 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'මුරපදය වෙනස් කරන්න',
-'passwordreset-text' => 'ඔබගේ ගිණුම් තොරතුරුවල විද්‍යුත් තැපැල් මතක්කිරීමක් ලබා ගැනීම සදහා මෙම ආකෘතිපත්‍රය සම්පූර්ණ කරන්න.',
+'passwordreset-text' => 'ඔබගේ මුරපදය යළි සැකසීම සදහා මෙම ආකෘතිපත්‍රය සම්පූර්ණ කරන්න.',
 'passwordreset-legend' => 'මුරපදය යළි පිහිටුවන්න',
 'passwordreset-disabled' => 'මෙම විකියෙහි මුර පද ප්‍රත්‍යාරම්භ කිරීම් අක්‍රීය කොට ඇත.',
 'passwordreset-pretext' => '{{PLURAL:$1||පහත දැක්වෙන දත්ත කණ්ඩ වලින් එකක් ඇතුල් කරන්න}}',
@@ -2207,8 +2207,8 @@ When filtered by user, only files where that user uploaded the most recent versi
 'notvisiblerev' => 'සංශෝධනය මකාදමා ඇත',
 'watchnochange' => 'ඔබ විසින් මුරකෙරෙන කිසිදු අයිතමයක් දක්වා ඇති කාල සීමාවෙහිදී  සංස්කරණයට භාජනය වී නොමැත.',
 'watchlist-details' => 'සාකච්ඡා පිටු නොගිණුනු කල, ඔබගේ මුර ලැයිස්තුවෙහි {{PLURAL:$1|එක් පිටුවක්|පිටු $1 ක්}} ඇත.',
-'wlheader-enotif' => 'විද්‍යුත්-තැපැල් දැනුම්දීම සක්‍රීය කෙරිණි.',
-'wlheader-showupdated' => "ඔබ විසින් ඒවාට අවසන් වරට පිවිසුනු පසුව වෙනස්කෙරුනු පිටු  '''තදකුරු''' වලින් පෙන්වා ඇත",
+'wlheader-enotif' => 'විද්‍යුත්-තැපැල් දැනුම්දීම සක්‍රීය කෙරිණි.',
+'wlheader-showupdated' => "ඔබ විසින් ඒවාට අවසන් වරට පිවිසුනු පසුව වෙනස්කෙරුනු පිටු  '''තදකුරු''' වලින් පෙන්වා ඇත",
 'watchmethod-recent' => 'මුර-කෙරෙන පිටු සඳහා මෑත සංස්කරණයන් පරික්‍ෂා කරමින්',
 'watchmethod-list' => 'මෑත සංස්කරණයන් සඳහා මුර-කෙරෙන පිටු පරික්‍ෂා කරමින්',
 'watchlistcontains' => 'ඔබගේ මුර-ලැයිස්තුවෙහි  {{PLURAL:$1|එක් පිටුවක්|පිටු $1 ක්}} අඩංගුය.',
@@ -2932,7 +2932,6 @@ $1 ගේ වාරණයට හේතුව මෙය වේ: "$2"',
 'monobook.css' => '/* මෙහි CSS  බහාලීම ඒකායන ඡවිය භාවිතා කරන පරිශීලකයන් හට බලපෑම් සිදු කල හැක */',
 'modern.css' => '/* මෙහි CSS  බහාලීම නූතන ඡවිය භාවිතා කරන පරිශීලකයන් හට බලපෑම් සිදු කල හැක */',
 'print.css' => '/* මෙහි CSS  බහාලීම මුද්‍රණ ප්‍රතිදානයට බලපෑම් සිදු කල හැක */',
-'handheld.css' => '/* මෙහි බහාලන CSS විසින් $wgHandheldStyle හි වින්‍යාසකෙරෙන ජවිය මත පදනම් වූ අතේ ගෙන යා හැකි උපකරණ වලට බලපෑම් කල හැක*/',
 
 # Scripts
 'common.js' => '/* මෙහි ඕනෑම ජාවාස්ක්‍රිප්ට් එකක් සෑම පිටු ප්‍රවේශනයකදීම සියළු පරිශීලකයන්හට ප්‍රවේශනය කෙරේ. */',
@@ -3846,7 +3845,7 @@ MediaWiki බෙදාහැර ඇත්තේ එය ප්‍රයෝජන
 'specialpages-group-highuse' => 'බෙහෙවින් භාවිත වන පිටු',
 'specialpages-group-pages' => 'පිටු ලැයිස්තු',
 'specialpages-group-pagetools' => 'පිටු මෙවලම්',
-'specialpages-group-wiki' => 'à·\80à·\92à¶\9aà·\92 à¶¯à¶­à·\8aත à·\84à·\8f à¶¸à·\99à·\80ලමà·\8a',
+'specialpages-group-wiki' => 'දත්ත හා මෙවලම්',
 'specialpages-group-redirects' => 'විශේෂ පිටු යළි-යොමුකිරීම',
 'specialpages-group-spam' => 'ස්පෑම් මෙවලම්',
 
index e0d35c9..d993ff5 100644 (file)
@@ -16,6 +16,7 @@
  * @author Maros
  * @author Michawiki
  * @author Mormegil
+ * @author Nemo bis
  * @author Palica
  * @author Pitr2311
  * @author Ragimiri
@@ -820,11 +821,9 @@ Je možné, že sa vám už podarilo úspešne zmeniť svoje heslo alebo ste si
 
 # Special:PasswordReset
 'passwordreset' => 'Reset hesla',
-'passwordreset-text' => 'Vyplnením tohto formulára si vytvoríte nové heslo.',
 'passwordreset-legend' => 'Obnoviť heslo',
 'passwordreset-disabled' => 'Obnovenie hesla bolo na tejto wiki zakázané.',
 'passwordreset-emaildisabled' => 'E-mailové funkcie boli na tejto wiki vypnuté.',
-'passwordreset-pretext' => '{{PLURAL:$1|Zadajte nižšie uvedený údaj|Zadajte jeden z nižšie uvedených údajov}}',
 'passwordreset-username' => 'Používateľské meno:',
 'passwordreset-domain' => 'Doména:',
 'passwordreset-capture' => 'Zobraziť výsledný e-mail?',
@@ -2315,8 +2314,8 @@ Budú tam uvedené aj budúce úpravy tejto stránky a jej diskusie.',
 'notvisiblerev' => 'Revízia bola zmazaná',
 'watchnochange' => 'V rámci zobrazeného času nebola upravená žiadna z vašich sledovaných stránok.',
 'watchlist-details' => '{{PLURAL:$1|Jedna sledovaná stránka|$1 sledované stránky|$1 sledovaných stránok}}, nepočítajúc diskusné stránky.',
-'wlheader-enotif' => 'Upozorňovanie e-mailom je zapnuté.',
-'wlheader-showupdated' => "Stránky, ktoré boli zmené od vašej poslednej návštevy sú zobrazené '''tučne'''.",
+'wlheader-enotif' => 'Upozorňovanie e-mailom je zapnuté.',
+'wlheader-showupdated' => "Stránky, ktoré boli zmené od vašej poslednej návštevy sú zobrazené '''tučne'''.",
 'watchmethod-recent' => 'kontrolujú sa sledované stránky v posledných úpravách',
 'watchmethod-list' => 'kontrolujú posledné úpravy v sledovaných stránkach',
 'watchlistcontains' => 'Váš zoznam sledovaných obsahuje {{PLURAL:$1|jednu stránku|$1 stránky|$1 stránok}}.',
@@ -3046,7 +3045,6 @@ Umožnuje do zhrnutia pridanie dôvodu.',
 'modern.css' => '/* Tu umiestnené CSS bude ovplyvňovať používateľov štýlu Moderný */',
 'vector.css' => '/* Tu umiestnené CSS bude ovplyvňovať používateľov štýlu Vector */',
 'print.css' => '/* Tu umiestnené CSS bude ovplyvňovať tlačový výstup */',
-'handheld.css' => '/* Tu umiestnené CSS bude ovplyvňovať prenosné zariadenia vychádzajúceho zo štýlu nastaveného v $wgHandheldStyle */',
 'noscript.css' => '/* Tu umiestnené CSS bude ovplyvňovať používateľov s vypnutým JavaScriptom */',
 'group-autoconfirmed.css' => '/* Tu umiestnené CSS bude ovplyvňovať iba používateľov s overenou emailovou adresou */',
 'group-bot.css' => '/* Tu umiestnené CSS bude ovplyvňovať iba robotov */',
index e931be8..b7869a6 100644 (file)
@@ -12,6 +12,7 @@
  * @author Freakolowsky
  * @author Irena Plahuta
  * @author McDutchie
+ * @author Nemo bis
  * @author Smihael
  * @author Vadgt
  * @author XJamRastafire
@@ -293,6 +294,18 @@ $messages = array(
 'oct' => 'okt.',
 'nov' => 'nov.',
 'dec' => 'dec.',
+'january-date' => '$1. januar',
+'february-date' => '$1. februar',
+'march-date' => '$1. marec',
+'april-date' => '$1. april',
+'may-date' => '$1. maj',
+'june-date' => '$1. junij',
+'july-date' => '$1. julij',
+'august-date' => '$1. avgust',
+'september-date' => '$1. september',
+'october-date' => '$1. oktober',
+'november-date' => '$1. november',
+'december-date' => '$1. december',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategorija|Kategoriji|Kategorije}}',
@@ -614,7 +627,7 @@ Ne pozabite si prilagoditi vaših [[Special:Preferences|nastavitev {{GRAMMAR:rod
 'createacct-yourpasswordagain-ph' => 'Ponovno vnesite geslo',
 'remembermypassword' => 'Zapomni si me na tem računalniku (za največ $1 {{PLURAL:$1|dan|dneva|dni}})',
 'userlogin-remembermypassword' => 'Zapomni si me',
-'userlogin-signwithsecure' => 'Vpiši se z varnim strežnikom',
+'userlogin-signwithsecure' => 'Uporabi varno povezavo',
 'securelogin-stick-https' => 'Po prijavi ostani povezan preko HTTPS',
 'yourdomainname' => 'Domena',
 'password-change-forbidden' => 'Na tem wikiju ne morete spreminjati gesel.',
@@ -635,6 +648,7 @@ Ne pozabite si prilagoditi vaših [[Special:Preferences|nastavitev {{GRAMMAR:rod
 'gotaccount' => 'Račun že imate? $1.',
 'gotaccountlink' => 'Prijavite se',
 'userlogin-resetlink' => 'Ste pozabili svoje prijavne podatke?',
+'userlogin-resetpassword-link' => 'Ponastavite svoje geslo',
 'helplogin-url' => 'Help:Prijava',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pomoč pri prijavi]]',
 'createacct-join' => 'Spodaj vnesite svoje informacije.',
@@ -668,7 +682,7 @@ Ker jih imate onemogočene, vas prosimo, da jih omogočite in se ponovno prijavi
 Poskrbite, da imate omogočene piškotke, osvežite to stran in poskusite znova.',
 'noname' => 'Niste vnesli veljavnega uporabniškega imena.',
 'loginsuccesstitle' => 'Uspešno ste se prijavili',
-'loginsuccess' => "'''Sedaj ste prijavljeni v {{GRAMMAR:tožilnik|{{SITENAME}}}} kot »$1«.'''",
+'loginsuccess' => "'''Zdaj ste prijavljeni v {{GRAMMAR:tožilnik|{{SITENAME}}}} kot »$1«.'''",
 'nosuchuser' => 'Uporabnik z imenom »$1« ne obstaja.
 Uporabniška imena so občutljiva na velikost črk.
 Preverite črkovanje ali pa si [[Special:UserLogin/signup|ustvarite nov uporabniški račun]].',
@@ -756,11 +770,9 @@ Morda ste že uspešno spremenili geslo ali pa ste zahtevali novo začasno geslo
 
 # Special:PasswordReset
 'passwordreset' => 'Ponastavitev gesla',
-'passwordreset-text' => 'Izpolnite obrazec, da ponastavite geslo.',
 'passwordreset-legend' => 'Ponastavitev gesla',
 'passwordreset-disabled' => 'Ponastavljanje gesla je na tem wikiju onemogočeno.',
 'passwordreset-emaildisabled' => 'Na tem wikiju so možnosti e-pošte onemogočene.',
-'passwordreset-pretext' => '{{PLURAL:$1||Vnesite enega od dela podatkov spodaj}}',
 'passwordreset-username' => 'Uporabniško ime:',
 'passwordreset-domain' => 'Domena:',
 'passwordreset-capture' => 'Ogled nastale e-pošte?',
@@ -1897,7 +1909,7 @@ Ko so rezultati filtrirani po uporabniku, so prikazane samo datoteke, pri kateri
 # File description page
 'file-anchor-link' => 'Datoteka',
 'filehist' => 'Zgodovina datoteke',
-'filehist-help' => 'Kliknite na datum in čas za ogled datoteke, ki je bila takrat naložena.',
+'filehist-help' => 'Kliknite datum in čas za ogled datoteke, ki je bila takrat naložena.',
 'filehist-deleteall' => 'izbriši vse',
 'filehist-deleteone' => 'izbriši to',
 'filehist-revert' => 'vrni',
@@ -2276,8 +2288,8 @@ Morebitne spremembe te strani in pripadajoče pogovorne strani bodo navedene tuk
 'notvisiblerev' => 'Redakcija je bila izbrisana',
 'watchnochange' => 'V prikazanem časovnem obdobju ni nihče spremenil nadzorovanih strani.',
 'watchlist-details' => 'Spremljate $1 {{PLURAL:$1|stran|strani|strani|strani|strani}} (pogovorne strani niso vštete).',
-'wlheader-enotif' => 'Obveščanje po elektronski pošti je omogočeno.',
-'wlheader-showupdated' => "Strani, spremenjene od vašega zadnjega ogleda, so prikazane '''krepko'''.",
+'wlheader-enotif' => 'Obveščanje po elektronski pošti je omogočeno.',
+'wlheader-showupdated' => "Strani, spremenjene od vašega zadnjega ogleda, so prikazane '''krepko'''.",
 'watchmethod-recent' => 'med nedavnimi urejanji iščem spremljane strani',
 'watchmethod-list' => 'med spremljanimi stranmi iščem nedavna urejanja',
 'watchlistcontains' => 'Spremljate $1 {{PLURAL:$1|stran|strani}}.',
@@ -2862,6 +2874,8 @@ Za lokalizacijo in prevajanje obiščite [//www.mediawiki.org/wiki/Localisation
 'thumbnail-more' => 'Povečaj',
 'filemissing' => 'Datoteka manjka',
 'thumbnail_error' => 'Napaka pri izdelavi sličice: $1',
+'thumbnail_error_remote' => 'Sporočilo o napaki od $1:
+$2',
 'djvu_page_error' => 'Stran DjVu je izven območja',
 'djvu_no_xml' => 'Ni mogoče pridobiti XML za datoteko DjVu',
 'thumbnail-temp-create' => 'Ne morem ustvariti začasne datoteke sličice',
@@ -3814,7 +3828,9 @@ Skupaj s programom bi morali bi prejeti [{{SERVER}}{{SCRIPTPATH}}/COPYING kopijo
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Pot skripta]',
 
 # Special:Redirect
+'redirect' => 'Preusmeri po datoteki, uporabniku ali ID-ju redakcije',
 'redirect-legend' => 'Preusmeritev na datoteko ali stran',
+'redirect-summary' => 'Posebna stran preusmeri na datoteko (če podate ime datoteke), stran (če podate ID redakcije) ali uporabniško stran (če podatek številski ID uporabnika).',
 'redirect-submit' => 'Pojdi',
 'redirect-lookup' => 'Iskanje:',
 'redirect-value' => 'Vrednost:',
index fbcf663..c60c2b8 100644 (file)
@@ -54,8 +54,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Oazoahl derr beobachtenden Nutzer oazäan',
 'tog-oldsig' => 'Vorschau der aktuella Signatur:',
 'tog-fancysig' => 'Signatur ols Wikitext behandeln (ohne automatische Verlinkung)',
-'tog-externaleditor' => "Extern'n Editor als Standard benutza (nur fier Experta, is missa spezielle Einstellungen uff dam eegenen Rechner vurgenumma warn)",
-'tog-externaldiff' => 'Externes Diff-Programm als Standard benutza (nur fier Experta, is missa spezielle Einstellungen uff dam eegenen Rechner vurgenumma warn)',
 'tog-showjumplinks' => '„Wechseln zu“-Verknipfunga aktiviern',
 'tog-uselivepreview' => 'Direkte Vurschau notza (beneetigt JavaScript) (vrsuchsweise)',
 'tog-forceeditsummary' => 'Warnen, wenn bem Speichern de Zsoammafassung fahln tutt',
@@ -807,10 +805,6 @@ Stelle sicher, doaß de Versionsgeschichte anner Seite historisch korrekt ies.',
 'powersearch-togglenone' => 'Kenne',
 'searchdisabled' => 'De {{SITENAME}}-Suche ies deaktiviert. Du koast underdessa miet Google sucha. Bitte bedenke, doaß der Suchindex fier {{SITENAME}} veraltet sei koan.',
 
-# Quickbar
-'qbsettings' => 'Seytaleiste',
-'qbsettings-none' => 'Keene',
-
 # Preferences page
 'preferences' => 'Eenstellunga',
 'mypreferences' => 'Meene Eistellunga',
@@ -1416,8 +1410,8 @@ Wenn du de Seite wieder vu denner Beobachtungsliste entferna mechtest, klicke uf
 'notanarticle' => 'Keene Seite',
 'watchnochange' => 'Kenne dar vu dir beobachteta Seyta wurde während des oagezeigta Zeitraums beoarbeetet.',
 'watchlist-details' => 'Du beobachtest {{PLURAL:$1|1 Seite|$1 Seita}}.',
-'wlheader-enotif' => 'Dar E-Mail-Benoachrichtigungsdienst ies aktiviert.',
-'wlheader-showupdated' => "Seyta miet noo ne gesehenen Änderunga waan '''fett''' dargestellt.",
+'wlheader-enotif' => 'Dar E-Mail-Benoachrichtigungsdienst ies aktiviert.',
+'wlheader-showupdated' => "Seyta miet noo ne gesehenen Änderunga waan '''fett''' dargestellt.",
 'watchmethod-recent' => 'Ieberprifa dar letzta Beoarbeetunga fier de Beobachtungsliste',
 'watchmethod-list' => 'Ieberpriefa dar Beobachtungsliste noach letzta Beoarbeetunga',
 'watchlistcontains' => 'Denne Beobachtungsliste enthält $1 {{PLURAL:$1|Seite|Seita}}.',
@@ -2046,7 +2040,7 @@ Weitere werden standardmäßig nicht angezeigt.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagelength' => 'Länge',
 'exif-bitspersample' => 'Bits pro Forbkomponente',
 'exif-compression' => 'Oart dar Kompression',
@@ -2298,12 +2292,6 @@ Du koast au de [[Special:EditWatchlist|Standard-Beoarbeetungsseyte]] benutza.',
 'version-hook-name' => 'Schnittstallanoame',
 'version-hook-subscribedby' => 'Uffruff vu',
 
-# Special:FilePath
-'filepath-submit' => 'Pfad sucha',
-'filepath-summary' => 'Miet dieser Spezialseyte lässt siech dar komplette Pfad dar aktuella Version einer Datei ohne Umweg obfroaga. De oagefroagte Datei werd direkt dargestallt bzw. miet der verkniepfta Oawendung gestartet.
-
-De Eengabe muuß ohne dann Zusatz „{{ns:file}}:“ erfolga.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-summary' => 'Suche noach Dateiduplikaten uff Basis ihres Hashwertes.',
 'fileduplicatesearch-legend' => 'Suche noach Duplikata',
index 13ebdf5..42fa0c0 100644 (file)
@@ -533,7 +533,7 @@ Dov dorje värrhtoedimmie gååvnese bielieh, jallh [[Special:UserLogin|logge s
 # Special:ListUsers
 'listusers-submit' => 'Vuesehte',
 
-# E-mail user
+# Email user
 'emailuser' => 'E-påaste dïhte nuhtjien',
 'emailpage' => 'E-påaste nuhtjien',
 'defemailsubject' => '{{SITENAME}} e-påaste',
@@ -558,7 +558,6 @@ Dov dorje värrhtoedimmie gååvnese bielieh, jallh [[Special:UserLogin|logge s
 'watching' => 'Sïektjeminie...',
 'unwatching' => 'Ov-sïektjedh...',
 
-'enotif_newpagetext' => 'Dïhte lea orre bielie.',
 'enotif_impersonal_salutation' => '{{SITENAME}} nuhtjien',
 'created' => 'skaepede',
 
@@ -789,7 +788,7 @@ Jeatjebh dajveh lea gaptjedh goh sïejhme, bine vuesehte gåessie taabelle stoer
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Gamte',
 'exif-imagelength' => 'Gåhkoe',
 'exif-model' => 'Guvviedahke hammohke',
index 58e90d8..2a78608 100644 (file)
@@ -2102,6 +2102,15 @@ Protokolle të mbështetura: <code>$1<code> (mos shtoni ndonjërin nga këta në
 'listusers-noresult' => "Asnjë përdorues s'u gjet.",
 'listusers-blocked' => '(Bllokuar)',
 
+# Special:ActiveUsers
+'activeusers' => 'Lista e përdoruesve aktivë',
+'activeusers-intro' => 'Kjo është një listë e përdoruesve që kanë qenë aktivë për $1 {{PLURAL:$1|ditë|ditë}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|redaktim|redaktime}} në {{PLURAL:$3|ditën|$3 ditët}} e fundit',
+'activeusers-from' => 'Trego përdoruesit duke filluar prej te:',
+'activeusers-hidebots' => 'Fshih robotët',
+'activeusers-hidesysops' => 'Fshih administratorët',
+'activeusers-noresult' => 'Asnjë përdorues nuk u gjet.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Grupime përdoruesish me privilegje',
 'listgrouprights-summary' => 'Më poshtë jepet grupimi i përdoruesve sipas privilegjeve që ju janë dhënë në këtë wiki. Më shumë informacion rreth privilegjeve në veçanti mund të gjendet [[{{MediaWiki:Listgrouprights-helppage}}|këtu]].',
@@ -2177,8 +2186,8 @@ Në qoftë se dëshironi të hiqni një faqe nga lista mbikqyrëse më vonë, sh
 'notvisiblerev' => 'Revizioni është grisur',
 'watchnochange' => 'Asnjë nga artikujt nën mbikqyrje nuk është redaktuar gjatë kohës së dhënë.',
 'watchlist-details' => '{{PLURAL:$1|$1 faqe|$1 faqe}} nën mbikqyrje duke mos numëruar faqet e diskutimit.',
-'wlheader-enotif' => 'Njoftimi me email është lejuar.',
-'wlheader-showupdated' => "Faqet që kanë ndryshuar nga vizita juaj e fundit do të tregohen të '''trasha'''",
+'wlheader-enotif' => 'Njoftimi me email është lejuar.',
+'wlheader-showupdated' => "Faqet që kanë ndryshuar nga vizita juaj e fundit do të tregohen të '''trasha'''",
 'watchmethod-recent' => 'duke parë ndryshimet e fundit për faqet nën mbikqyrje',
 'watchmethod-list' => 'duke parë faqet nën mbikqyrje për ndryshimet e fundit',
 'watchlistcontains' => 'Lista mbikqyrëse e juaj ka $1 {{PLURAL:$1|faqe|faqe}}.',
@@ -3041,7 +3050,7 @@ Në qoftë se skeda është ndryshuar nga gjendja origjinale, disa hollësira mu
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Gjerësia',
 'exif-imagelength' => 'Gjatësia',
 'exif-bitspersample' => 'Bit për komponent',
@@ -3219,7 +3228,7 @@ Në qoftë se skeda është ndryshuar nga gjendja origjinale, disa hollësira mu
 'exif-originalimageheight' => 'Lartësia e fotografisë para se të shkurtohej',
 'exif-originalimagewidth' => 'Gjerësia e fotografisë para se të shkurtohej',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'E pangjeshur',
 'exif-compression-2' => 'CCITT Grupi 3 1-Dimensional Kodimi i Modifikuar Huffman i linjës së gjatësisë',
 'exif-compression-3' => 'CCITT Grupi 3 faks kodimi',
@@ -3625,13 +3634,6 @@ Ju duhet të keni marrë [{{SERVER}}{{SCRIPTPATH}}/COPYING një kopje të GNU Ge
 'version-software-version' => 'Versioni',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Vendndodhja e skedave',
-'filepath-page' => 'Skeda:',
-'filepath-submit' => 'Shko',
-'filepath-summary' => 'Kjo faqe speciale jep vendndodhjen e plotë të një skede.
-Figurat tregohen me madhësi të plotë, skedat e tjera hapen me programet përkatëse.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Kërkoni për skeda të dyfishta',
 'fileduplicatesearch-summary' => 'Kërkoni për dyfishime të skedave në bazë të vlerës përmbledhëse («hash»).',
index b98d87e..4943b29 100644 (file)
@@ -503,6 +503,18 @@ $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' => '$1 семптембар',
+'october-date' => '$1 окотобар',
+'november-date' => '$1 новембар',
+'december-date' => '$1 децембар',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Категорија|Категорије}}',
@@ -821,12 +833,17 @@ $2',
 Не заборавите да промените своја [[Special:Preferences|подешавања]].',
 'yourname' => 'Корисничко име:',
 'userlogin-yourname' => 'Корисничко име',
+'userlogin-yourname-ph' => 'Унесите ново корисничко име',
 'yourpassword' => 'Лозинка:',
 'userlogin-yourpassword' => 'Лозинка',
 'userlogin-yourpassword-ph' => 'Унесите лозинку',
+'createacct-yourpassword-ph' => 'Унесите нову лозинку',
 'yourpasswordagain' => 'Потврда лозинке:',
+'createacct-yourpasswordagain' => 'Потврдите лозинку',
+'createacct-yourpasswordagain-ph' => 'Унесите лозинку још једном',
 'remembermypassword' => 'Запамти ме на овом прегледачу (најдуже $1 {{PLURAL:$1|дан|дана|дана}})',
 'userlogin-remembermypassword' => 'Запамти ме',
+'userlogin-signwithsecure' => 'Користите слигурну конекцију (SSL)',
 'securelogin-stick-https' => 'Останите повезани са HTTPS након пријаве',
 'yourdomainname' => 'Домен:',
 'password-change-forbidden' => 'Не можете да промените лозинку на овом викију.',
@@ -839,14 +856,30 @@ $2',
 'logout' => 'Одјава',
 'userlogout' => 'Одјави ме',
 'notloggedin' => 'Нисте пријављени',
+'userlogin-noaccount' => 'Немате налог?',
+'userlogin-joinproject' => 'Придружите се {{SITENAME}}',
 'nologin' => 'Немате налог? Идите на страницу „$1“.',
 'nologinlink' => 'Отварање налога',
 'createaccount' => 'Отвори налог',
 'gotaccount' => 'Већ имате налог? Идите на страницу „$1“.',
 'gotaccountlink' => 'Пријава',
 'userlogin-resetlink' => 'Заборавили сте податке за пријаву?',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Помоћ при пријављивању]]',
+'createacct-emailrequired' => 'Адреса е-поште',
+'createacct-emailoptional' => 'Адреса е-поште (опцијоно)',
+'createacct-email-ph' => 'Унесите вашу адресу е-поште',
 'createaccountmail' => 'Користите привремену, случајно створену лозинку и пошаљите на доле наведену адресу електронске поште',
+'createacct-realname' => 'Право име (опцијоно)',
 'createaccountreason' => 'Разлог:',
+'createacct-reason' => 'Разлог',
+'createacct-reason-ph' => 'Зашто правите још један налог?',
+'createacct-captcha' => 'Сигурносна провера',
+'createacct-imgcaptcha-ph' => 'Унесите текст који видите изнад',
+'createacct-submit' => 'Отворите налог',
+'createacct-benefit-heading' => '{{SITENAME}} је направљен од стране људи као што сте ви.',
+'createacct-benefit-body1' => '{{PLURAL:$1|измена}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|страница}}',
+'createacct-benefit-body3' => 'скорашњих {{PLURAL:$1|доприноса}}',
 'badretype' => 'Унете лозинке се не поклапају.',
 'userexists' => 'Корисничко име је заузето. Изаберите друго.',
 'loginerror' => 'Грешка при пријављивању',
@@ -945,10 +978,8 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'Обнављање лозинке',
-'passwordreset-text' => 'Попуните овај образац да бисте ресетовали лозинку.',
 'passwordreset-legend' => 'Поништи лозинку',
 'passwordreset-disabled' => 'Обнављање лозинке је онемогућено на овом викију.',
-'passwordreset-pretext' => '{{PLURAL:$1||Унесите један од делова података испод}}',
 'passwordreset-username' => 'Корисничко име:',
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Погледати крајњу поруку?',
@@ -2483,8 +2514,8 @@ $1',
 'notvisiblerev' => 'Измена је обрисана',
 'watchnochange' => 'Ништа што надгледате није промењено у приказаном времену.',
 'watchlist-details' => '{{PLURAL:$1|$1 страница|$1 странице|$1 страница}} на вашем списку надгледања, не рачунајући странице за разговор.',
-'wlheader-enotif' => '* Е-обавештење је омогућено.',
-'wlheader-showupdated' => "* Странице које су измењене откад сте их последњи пут посетили су '''подебљане'''",
+'wlheader-enotif' => 'Обавештење е-поруком је омогућено.',
+'wlheader-showupdated' => "Странице које су измењене откад сте их последњи пут посетили су '''подебљане'''.",
 'watchmethod-recent' => 'проверава се да ли има надгледаних страница у скорашњим изменама',
 'watchmethod-list' => 'проверава се да ли има скорашњих измена у надгледаним страницама',
 'watchlistcontains' => 'Ваш списак надгледања садржи $1 {{PLURAL:$1|страницу|странице|страница}}.',
@@ -2736,12 +2767,12 @@ $1',
 'blanknamespace' => '(Главно)',
 
 # Contributions
-'contributions' => 'Кориснички доприноси',
+'contributions' => '{{GENDER:$1|Кориснички}} доприноси',
 'contributions-title' => 'Доприноси {{GENDER:$1|корисника|кориснице|корисника}} $1',
 'mycontris' => 'Доприноси',
 'contribsub2' => 'За $1 ($2)',
 'nocontribs' => 'Измене које одговарају овим условима нису пронађене.',
-'uctop' => '(вÑ\80Ñ\85)',
+'uctop' => '(поÑ\81ледÑ\9aа)',
 'month' => 'од месеца (и раније):',
 'year' => 'од године (и раније):',
 
@@ -3231,7 +3262,6 @@ $1',
 'modern.css' => '/* CSS постављен овде ће утицати на све кориснике теме „Савремено“ */',
 'vector.css' => '/* CSS постављен овде ће утицати на све кориснике теме „Векторско“ */',
 'print.css' => '/* CSS постављен овде ће утицати на издање за штампу */',
-'handheld.css' => '/* CSS постављен овде ће утицати на ручне уређаје с темом прилагођеном у $wgHandheldStyle */',
 'noscript.css' => '/* CSS постављен овде ће утицати на све кориснике којима је онемогућен јаваскрипт */',
 'group-autoconfirmed.css' => '/* CSS постављен овде ће утицати на самопотврђене кориснике */',
 'group-bot.css' => '/* CSS постављен овде ће утицати само на ботове */',
@@ -3408,6 +3438,7 @@ $1',
 'hours' => '{{PLURAL:$1|$1 сат|$1 сата|$1 сати}}',
 'days' => '{{PLURAL:$1|$1 дан|$1 дана|$1 дана}}',
 'ago' => 'пре $1',
+'just-now' => 'управо сад',
 
 # Bad image list
 'bad_image_list' => 'Формат је следећи:
@@ -4201,6 +4232,11 @@ $5
 'version-entrypoints-header-entrypoint' => 'Улазна тачка',
 'version-entrypoints-header-url' => 'Адреса',
 
+# Special:Redirect
+'redirect-submit' => 'Иди',
+'redirect-value' => 'Вредност:',
+'redirect-file' => 'Назив датотеке',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Претрага дупликата',
 'fileduplicatesearch-summary' => 'Претрага дуплираних датотека према вредностима дисперзије.',
@@ -4227,7 +4263,7 @@ $5
 'specialpages-group-highuse' => 'Најчешће коришћене странице',
 'specialpages-group-pages' => 'Спискови страница',
 'specialpages-group-pagetools' => 'Алатке',
-'specialpages-group-wiki' => 'Подаци и алати енциклопедије',
+'specialpages-group-wiki' => 'Подаци и алати',
 'specialpages-group-redirects' => 'Преусмеравање посебних страница',
 'specialpages-group-spam' => 'Алатке против непожељних порука',
 
@@ -4292,6 +4328,7 @@ $5
 'htmlform-selectorother-other' => 'Друго',
 'htmlform-no' => 'Не',
 'htmlform-yes' => 'Да',
+'htmlform-chosen-placeholder' => 'Изаберите опцију',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 с подршком претраге целог текста',
index b11795d..fdbf933 100644 (file)
@@ -12,6 +12,7 @@
  * @author Liangent
  * @author Meno25
  * @author Michaello
+ * @author Milicevic01
  * @author Rancher
  * @author Red Baron
  * @author Reedy
@@ -743,6 +744,7 @@ Imajte na umu da neke stranice mogu nastaviti da se prikazuju kao da ste još pr
 'gotaccount' => 'Već imate nalog? Idite na stranicu „$1“.',
 'gotaccountlink' => 'Prijava',
 'userlogin-resetlink' => 'Zaboravili ste podatke za prijavu?',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Pomoć pri prijavljivanju]]',
 'createaccountmail' => 'E-poštom',
 'createaccountreason' => 'Razlog:',
 'badretype' => 'Unete lozinke se ne poklapaju.',
@@ -841,10 +843,8 @@ Možda ste već promenili lozinku ili ste zatražili novu privremenu lozinku.',
 
 # Special:PasswordReset
 'passwordreset' => 'Obnavljanje lozinke',
-'passwordreset-text' => 'Popunite ovaj obrazac da biste primili e-poruku sa svojim podacima za prijavu.',
 'passwordreset-legend' => 'Poništi lozinku',
 'passwordreset-disabled' => 'Obnavljanje lozinke je onemogućeno na ovom vikiju.',
-'passwordreset-pretext' => '{{PLURAL:$1||Unesite jedan od delova podataka ispod}}',
 'passwordreset-username' => 'Korisničko ime:',
 'passwordreset-domain' => 'Domen:',
 'passwordreset-capture' => 'Pogledati krajnju poruku?',
@@ -2280,6 +2280,15 @@ Podržani protokoli: <code>$1</code> (zadaje http:// ako ne navedete protokol).'
 'listusers-noresult' => 'Korisnik nije pronađen.',
 'listusers-blocked' => '({{GENDER:$1|blokiran|blokirana|blokiran}})',
 
+# Special:ActiveUsers
+'activeusers' => 'Spisak aktivnih korisnika',
+'activeusers-intro' => 'Ovo je spisak korisnika koji su bili aktivni {{PLURAL:$1|prethodni dan|u poslednja $1 dana|u poslednjih $1 dana}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|izmena|izmene|izmena}} {{PLURAL:$3|prethodni dan|u poslednja $3 dana|u poslednjih $3 dana}}',
+'activeusers-from' => 'Prikaži korisnike počev od:',
+'activeusers-hidebots' => 'Sakrij botove',
+'activeusers-hidesysops' => 'Sakrij administratore',
+'activeusers-noresult' => 'Korisnik nije pronađen.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Prava korisničkih grupa',
 'listgrouprights-summary' => 'Sledi spisak korisničkih grupa na ovom vikiju, zajedno s pravima pristupa.
@@ -2362,8 +2371,8 @@ Ukoliko budete želeli da uklonite stranicu sa spiska nadgledanja, kliknite opet
 'notvisiblerev' => 'Izmena je obrisana',
 'watchnochange' => 'Ništa što nadgledate nije promenjeno u prikazanom vremenu.',
 'watchlist-details' => '{{PLURAL:$1|$1 stranica|$1 stranice|$1 stranica}} na vašem spisku nadgledanja, ne računajući stranice za razgovor.',
-'wlheader-enotif' => 'E-obaveštenje je omogućeno.',
-'wlheader-showupdated' => "Stranice koje su izmenjene otkad ste ih poslednji put posetili su '''podebljane'''",
+'wlheader-enotif' => 'E-obaveštenje je omogućeno.',
+'wlheader-showupdated' => "Stranice koje su izmenjene otkad ste ih poslednji put posetili su '''podebljane'''",
 'watchmethod-recent' => 'proverava se da li ima nadgledanih stranica u skorašnjim izmenama',
 'watchmethod-list' => 'proverava se da li ima skorašnjih izmena u nadgledanim stranicama',
 'watchlistcontains' => 'Vaš spisak nadgledanja sadrži $1 {{PLURAL:$1|stranicu|stranice|stranica}}.',
@@ -2609,7 +2618,7 @@ $1',
 'mycontris' => 'Doprinosi',
 'contribsub2' => 'Za $1 ($2)',
 'nocontribs' => 'Izmene koje odgovaraju ovim uslovima nisu pronađene.',
-'uctop' => '(vrh)',
+'uctop' => '(poslednja)',
 'month' => 'od meseca (i ranije):',
 'year' => 'od godine (i ranije):',
 
@@ -3098,7 +3107,6 @@ Pokušajte ponovo.',
 'modern.css' => '/* CSS postavljen ovde će uticati na sve korisnike teme „Savremeno“ */',
 'vector.css' => '/* CSS postavljen ovde će uticati na sve korisnike teme „Vektorsko“ */',
 'print.css' => '/* CSS postavljen ovde će uticati na izdanje za štampu */',
-'handheld.css' => '/* CSS postavljen ovde će uticati na ručne uređaje s temom prilagođenom u $wgHandheldStyle */',
 'noscript.css' => '/* CSS postavljen ovde će uticati na sve korisnike kojima je onemogućen javaskript */',
 'group-autoconfirmed.css' => '/* CSS postavljen ovde će uticati na samopotvrđene korisnike */',
 'group-bot.css' => '/* CSS postavljen ovde će uticati samo na botove */',
@@ -3158,6 +3166,7 @@ Ovo je verovatno izazvano vezom do spoljašnjeg sajta koji se nalazi na crnoj li
 'pageinfo-robot-noindex' => 'Ne može da se popiše',
 'pageinfo-views' => 'Broj pregleda',
 'pageinfo-watchers' => 'Broj nadgledača stranica',
+'pageinfo-few-watchers' => 'Manje od $1 {{PLURAL:$1|pratioca|pratilaca}}',
 'pageinfo-redirects-name' => 'Preusmeravanja na stranicu',
 'pageinfo-subpages-name' => 'Podstranice ove stranice',
 'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|preusmerenje|preusmerenja|preusmerenja}}; $3 {{PLURAL:$3|nepreusmerenje|nepreusmerenja|nepreusmerenja}})',
@@ -3352,7 +3361,7 @@ Ako je prvobitno stanje datoteke promenjeno, moguće je da neki detalji ne opisu
 'metadata-langitem' => "'''$2:''' $1",
 'metadata-langitem-default' => '$1',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Širina',
 'exif-imagelength' => 'Visina',
 'exif-bitspersample' => 'Dubina boje',
@@ -3545,7 +3554,7 @@ $4, $5, $6 $7
 $8',
 'exif-subjectnewscode-value' => '$2 ($1)',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Nesažeto',
 'exif-compression-2' => 'CCITT Group 3 1 – Dimenzionalno izmenjeno Hafmanovo kodiranje po dužini',
 'exif-compression-3' => 'CCITT Group 3 faks kodiranje',
@@ -4061,13 +4070,6 @@ Trebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove op
 'version-entrypoints-header-entrypoint' => 'Ulazna tačka',
 'version-entrypoints-header-url' => 'Adresa',
 
-# Special:FilePath
-'filepath' => 'Putanja datoteke',
-'filepath-page' => 'Datoteka:',
-'filepath-submit' => 'Idi',
-'filepath-summary' => 'Ova posebna stranica prikazuje potpunu putanju datoteke.
-Slike su prikazane u punoj veličini, a druge vrste datoteka se pokreću pomoću njima pridruženim programima.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Pretraga duplikata',
 'fileduplicatesearch-summary' => 'Pretraga dupliranih datoteka prema vrednostima disperzije.',
index 0b23f31..7aca717 100644 (file)
@@ -179,8 +179,6 @@ $messages = array(
 'tog-enotifminoredits' => 'E-mail mi fu pikin kenki fu peprewoysi opo mi sirey',
 'tog-enotifrevealaddr' => 'Sori mi e-mail nen ini den e-mail boskopu',
 'tog-shownumberswatching' => 'Sori omeni kebroikiman e tan luku a papira disi',
-'tog-externaleditor' => 'Tan kebroiki wan dorosey kenki-wrokosani (soso gi sabiman - spesrutu seti de fanowdu gi disi)',
-'tog-externaldiff' => 'Tan kebroiki wan dorosey agersi-wrokosani (soso gi sabiman - spesrutu set de fanowdu gi disi)',
 'tog-showjumplinks' => 'Sori den "go na" miti',
 'tog-uselivepreview' => 'Kebroiki "wanten sori-na-fesi" (JavaScript – ondrosuku fasi)',
 'tog-forceeditsummary' => 'Gi wan boskopu efu a "Syatu" boksu leygi',
@@ -641,14 +639,6 @@ A kan ben trowe efu dribi.
 'searchhelp-url' => 'Help:San de',
 'powersearch' => 'Suku moro dipi',
 
-# Quickbar
-'qbsettings' => 'Kwikbak',
-'qbsettings-none' => 'Nowan',
-'qbsettings-fixedleft' => 'Set na ku',
-'qbsettings-fixedright' => 'Set na pe',
-'qbsettings-floatingleft' => 'Han na ku',
-'qbsettings-floatingright' => 'Han na pe',
-
 # Preferences page
 'preferences' => 'Seti',
 'mypreferences' => 'Mi seti',
@@ -942,7 +932,7 @@ Papira ini [[Special:Watchlist|yu Tan Luku réy]] '''fatu'''.",
 'listusers-submit' => 'Libi si',
 'listusers-noresult' => 'No masyin dyaso.',
 
-# E-mail user
+# Email user
 'mailnologin' => 'No stiradresi',
 'emailuser' => 'E-mail a kebroikiman disi',
 'emailpage' => 'Mayin e-mail',
index 6f58e15..43d5057 100644 (file)
@@ -74,9 +74,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Antaal fon do beooboachtjende Benutsere anwiese',
 'tog-oldsig' => 'Aktuälle Signatuur:',
 'tog-fancysig' => 'Unnerskrift as Wikitext behonnelje (sunner automatiske Ferlinkenge)',
-'tog-externaleditor' => 'Externen Editor as Standoard benutsje (bloot foar Experte, der mouten spezielle Ienstaalengen ap dän oaine Computer moaked wäide. [//www.mediawiki.org/wiki/Manual:External_editors Moor Information hiertou.])',
-'tog-externaldiff' => 'Extern Diff-Program as Standoard benutsje (bloot foar Experte, der mouten spezielle Ienstaalengen ap dän oaine Computer moaked wäide.
- [//www.mediawiki.org/wiki/Manual:External_editors Wiedere Informatione hiertou.])',
 'tog-showjumplinks' => '"Wikselje tou"-Links muugelk moakje',
 'tog-uselivepreview' => 'Live-Foarbekiek nutsje (JavaScript) (experimentell)',
 'tog-forceeditsummary' => 'Woarskauje, wan bie dät Spiekerjen ju Touhoopefoatenge failt',
@@ -1022,15 +1019,6 @@ Staal deertruch sicher, dät ju Versionsgeskichte fon n Artikkel historisk akroa
 'search-external' => 'Externe Säike',
 'searchdisabled' => 'Ju {{SITENAME}} Fultextsäike is weegen Uurläästenge apstuuns deaktivierd. Du koast insteede deerfon ne Google- of Yahoo-Säike startje. Do Resultoate foar {{SITENAME}} speegelje oawers nit uunbedingd dän aktuällen Stand wier.',
 
-# Quickbar
-'qbsettings' => 'Siedenlieste',
-'qbsettings-none' => 'Naan',
-'qbsettings-fixedleft' => 'Links, fääst',
-'qbsettings-fixedright' => 'Gjuchts, fääst',
-'qbsettings-floatingleft' => 'Links, swieuwjend',
-'qbsettings-floatingright' => 'Gjuchts, swieuwjend',
-'qbsettings-directionality' => 'Fääst, ouhongich fon de Skrieuwgjuchte fon ju wäälde Sproake',
-
 # Preferences page
 'preferences' => 'Ienstaalengen',
 'mypreferences' => 'Ienstaalengen',
@@ -1525,7 +1513,6 @@ Uut Sicherhaidsgruunde is img_auth.php deaktivierd.',
 'http-read-error' => 'HTTP-Leesefailer.',
 'http-timed-out' => 'Tied is ferron bie ju HTTP-Anfroage.',
 'http-curl-error' => 'Failer bier dän Ouroup fon ju URL: $1',
-'http-host-unreachable' => 'URL is nit tou beloangjen',
 'http-bad-status' => 'Unner ju HTTP-Anfroage is n Failer aptreeden: $1 $2',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
@@ -1907,8 +1894,8 @@ Wan du die Artikkel wier fon ju Foulgelieste ou hoalje moatest, klik ap ju Siede
 'notvisiblerev' => 'Version wuude läsked',
 'watchnochange' => 'Neen fon do Sieden, do du beooboachtest, wuude in dän läästen Tiedruum beoarbaided.',
 'watchlist-details' => 'Jie beooboachtje {{PLURAL:$1|1 Siede|$1 Sieden}} (Diskussionssieden wuuden hier nit meetäld).',
-'wlheader-enotif' => 'E-Mail-Beskeed is aktivierd.',
-'wlheader-showupdated' => "Sieden, do ätter dien lääste Besäik annerd wuuden sunt, wäide '''fat''' deerstoald.",
+'wlheader-enotif' => 'E-Mail-Beskeed is aktivierd.',
+'wlheader-showupdated' => "Sieden, do ätter dien lääste Besäik annerd wuuden sunt, wäide '''fat''' deerstoald.",
 'watchmethod-recent' => 'Uurpröiwjen fon do lääste Beoarbaidengen foar ju Beooboachtengslieste',
 'watchmethod-list' => 'Uurpröiwjen fon ju Beooboachtengslieste ätter lääste Beoarbaidengen',
 'watchlistcontains' => 'Jou Beooboachtengslieste änthaalt $1 {{PLURAL:$1|Siede|Sieden}}.',
@@ -2696,7 +2683,7 @@ Wiedere wäide standoardmäitich nit anwiesd.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Bratte',
 'exif-imagelength' => 'Laangte',
 'exif-bitspersample' => 'Bits pro Faawenkomponente',
@@ -2854,7 +2841,7 @@ Wiedere wäide standoardmäitich nit anwiesd.
 'exif-copyrighted' => 'Uurhieuwergjuchtstoatus',
 'exif-copyrightowner' => 'Uurhieuwergjuchtsienhääber',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Uunkomprimierd',
 
 'exif-unknowndate' => 'Uunbekoand Doatum',
@@ -3186,12 +3173,6 @@ Ne [{{SERVER}}{{SCRIPTPATH}}/COPYING Kopie fon ju ''GNU General Public License''
 'version-software-product' => 'Produkt',
 'version-software-version' => 'Version',
 
-# Special:FilePath
-'filepath' => 'Doatäipaad',
-'filepath-page' => 'Doatäi:',
-'filepath-submit' => 'Gung',
-'filepath-summary' => 'Mäd disse Spezialsiede lät sik die komplette Paad fon ju aktuelle Version fon ne Doatäi sunner Uumwai oufräigje. Ju anfräigede Doatäi wäd fluks deerstoald blw. mäd ju ferknätte Anweendenge started.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Doatäi-Duplikoat-Säike',
 'fileduplicatesearch-summary' => 'Säike ätter Doatäi-Duplikoate ap Basis fon hieren Hash-Wäid.',
index 2c8b70a..23fa02b 100644 (file)
@@ -159,8 +159,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Témbongkeun jumlah nu ngawaskeun',
 'tog-oldsig' => 'Paraf nu geus aya:',
 'tog-fancysig' => 'Témbongkeun paraf salaku wikitext (tanpa tumbu otomatis)',
-'tog-externaleditor' => 'Paké éditor éxternal dumasar asalna (ukur pikeun nu ahli, perlu sétingan husus dina komputer anjeun. [//www.mediawiki.org/wiki/Manual:External_editors More information.])',
-'tog-externaldiff' => 'Paké diff éxternal dumasar asalna (ukur pikeun nu ahli, perlu sétingan husus dina komputer anjeun. [//www.mediawiki.org/wiki/Manual:External_editors Émbaran lengkep.])',
 'tog-showjumplinks' => 'Aktifkeun tumbu panyambung "luncat ka"',
 'tog-uselivepreview' => 'Paké pramidang saharita (JavaScript) (ujicoba)',
 'tog-forceeditsummary' => 'Mun kotak ringkesan éditan masih kosong, béjaan!',
@@ -175,6 +173,7 @@ $messages = array(
 'tog-showhiddencats' => 'Témbongkeun kategori nyumput',
 'tog-noconvertlink' => 'Non-aktifkeun konvérsi judul tumbu',
 'tog-norollbackdiff' => 'Liwat béda sanggeus malikkeun révisi',
+'tog-useeditwarning' => 'Béjaan kuring lamun ninggalkeun kaca édit anu parobahanana can disimpen',
 
 'underline-always' => 'Salawasna',
 'underline-never' => 'Ulah',
@@ -1089,14 +1088,6 @@ Coba susud dimimitian ku ''all:'' pikeun nyusud sakabéh kandunganana (kaasup ka
 'search-external' => 'Panéangan luar',
 'searchdisabled' => 'Punten! Néangan téks lengkep di {{SITENAME}} kanggo samentawis ditumpurkeun pikeun alesan kinerja. Jalaran kitu, saheulaanan anjeun bisa nyungsi di Google di handap ieu. Catet yén indéxna ngeunaan eusi {{SITENAME}} bisa jadi teu mutahir.',
 
-# Quickbar
-'qbsettings' => 'Bar gancang',
-'qbsettings-none' => 'Henteu aya',
-'qbsettings-fixedleft' => 'Angger beulah kenca',
-'qbsettings-fixedright' => 'Angger beulah katuhu',
-'qbsettings-floatingleft' => 'Ngambang ka kenca',
-'qbsettings-floatingright' => 'Ngambang ka katuhu',
-
 # Preferences page
 'preferences' => 'Préferénsi',
 'mypreferences' => 'Préferéns',
@@ -1533,7 +1524,6 @@ Pariksa heula jujutan hapusanana saméméh neruskeun ngamuat deui éta berkas.',
 # HTTP errors
 'http-invalid-url' => 'URL teu bener: $1',
 'http-invalid-scheme' => 'URL anu skémana "$1" teu karojong',
-'http-host-unreachable' => 'URL teu kahontal.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'URL teu kahontal',
@@ -1883,8 +1873,8 @@ Jaga, parobahan na kaca ieu katut kaca obrolanana bakal dibéréndélkeun di din
 'notvisiblerev' => 'Révisi geus dihapus',
 'watchnochange' => 'Sadaya awaseun anjeun taya nu diédit dina jangka wanci nu ditémbongkeun.',
 'watchlist-details' => 'Aya {{PLURAL:$1|$1 kaca|$1 kaca}} nu ku anjeun diawaskeun, teu kaasup kaca obrolan/sawala.',
-'wlheader-enotif' => 'Pangémbar surélék difungsikeun.',
-'wlheader-showupdated' => "Kaca nu robah ti panungtungan anjeun sindang ditémbongkeun kalawan '''kandel'''",
+'wlheader-enotif' => 'Pangémbar surélék difungsikeun.',
+'wlheader-showupdated' => "Kaca nu robah ti panungtungan anjeun sindang ditémbongkeun kalawan '''kandel'''",
 'watchmethod-recent' => 'mariksa nu anyar robah na kaca nu diawaskeun',
 'watchmethod-list' => 'mariksa nu anyar robah na kaca nu diawaskeun',
 'watchlistcontains' => 'Anjeun ngawaskeun $1 {{PLURAL:$1|kaca|kaca}}.',
@@ -2551,7 +2541,7 @@ Nu séjénna bakal disumputkeun sakumaha asalna.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lega',
 'exif-imagelength' => 'Luhur',
 'exif-compression' => 'Skéma komprési',
@@ -2963,11 +2953,6 @@ Coba ku sawangan normal.',
 'version-software-product' => 'Produk',
 'version-software-version' => 'Vérsi',
 
-# Special:FilePath
-'filepath' => 'Jalur koropak',
-'filepath-page' => 'Koropak:',
-'filepath-submit' => 'Jalur',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Sungsi gambar duplikat',
 'fileduplicatesearch-legend' => 'Sungsi duplikat',
index 532aa99..34c47dc 100644 (file)
@@ -33,6 +33,7 @@
  * @author Mikez
  * @author NH
  * @author Najami
+ * @author Nemo bis
  * @author Nghtwlkr
  * @author Ozp
  * @author Per
@@ -428,6 +429,18 @@ $messages = array(
 'oct' => 'okt',
 'nov' => 'nov',
 'dec' => 'dec',
+'january-date' => '$1 januari',
+'february-date' => '$1 februari',
+'march-date' => '$1 mars',
+'april-date' => '$1 april',
+'may-date' => '$1 maj',
+'june-date' => '$1 juni',
+'july-date' => '$1 juli',
+'august-date' => '$1 augusti',
+'september-date' => '$1 september',
+'october-date' => '$1 oktober',
+'november-date' => '$1 november',
+'december-date' => '$1 december',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategori|Kategorier}}',
@@ -766,13 +779,13 @@ 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' => 'Återställ ditt lösenord',
-'helplogin-url' => 'Help:Logging in',
+'helplogin-url' => 'Help:Logga in',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Hjälp med inloggning]]',
 'createacct-join' => 'Ange din information nedan.',
 'createacct-emailrequired' => 'E-postadress',
 'createacct-emailoptional' => 'E-postadress (valfritt)',
 'createacct-email-ph' => 'Bekräfta din e-postadress',
-'createaccountmail' => 'Använd ett tillfällig slumpartat lösenord och skicka den till e-postadressen som anges nedan',
+'createaccountmail' => 'Använd ett tillfälligt slumpvis valt lösenord och skicka det till e-postadressen som anges nedan',
 'createacct-realname' => 'Riktigt namn (valfritt)',
 'createaccountreason' => 'Orsak:',
 'createacct-reason' => 'Anledning',
@@ -876,11 +889,9 @@ Du kanske redan har lyckats ändra ditt lösenord eller begärt ett nytt tillfä
 
 # Special:PasswordReset
 'passwordreset' => 'Lösenordsåterställning',
-'passwordreset-text' => 'Fyll i detta formulär för att återställa ditt lösenord.',
 'passwordreset-legend' => 'Återställ lösenord',
 'passwordreset-disabled' => 'Lösenordsåterställning har inaktiverats på denna wiki.',
 'passwordreset-emaildisabled' => 'E-postfunktioner har inaktiverats på denna wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1||Ange en av datadelarna nedan}}',
 'passwordreset-username' => 'Användarnamn:',
 'passwordreset-domain' => 'Domän:',
 'passwordreset-capture' => 'Visa resulterande e-post?',
@@ -1115,6 +1126,7 @@ Den gav ingen förklaring.',
 Det verkar som att den har raderats.',
 'edit-conflict' => 'Redigeringskonflikt.',
 'edit-no-change' => 'Din redigering ignorerades, eftersom ingen ändring gjordes i texten.',
+'postedit-confirmation' => 'Din redigering sparades.',
 'edit-already-exists' => 'Sidan kunde inte skapas.
 Den finns redan.',
 'defaultmessagetext' => 'Standardtext för meddelande',
@@ -2374,8 +2386,8 @@ Framtida ändringar av den här sidan och dess diskussionssida kommer att listas
 'notvisiblerev' => 'Sidversionen har raderats',
 'watchnochange' => 'Inga av dina bevakade sidor har ändrats inom den visade tidsperioden.',
 'watchlist-details' => 'Du har $1 {{PLURAL:$1|sida|sidor}} på din bevakningslista (diskussionssidor är inte medräknade).',
-'wlheader-enotif' => '* Bekräftelse per e-post är aktiverad.',
-'wlheader-showupdated' => "Sidor som har ändrats sedan ditt senaste besök visas i '''fetstil.'''",
+'wlheader-enotif' => 'E-postmeddelanden är aktiverade.',
+'wlheader-showupdated' => "Sidor som har ändrats sedan ditt senaste besök visas i '''fetstil.'''",
 'watchmethod-recent' => 'letar efter bevakade sidor bland senaste ändringar',
 'watchmethod-list' => 'letar efter nyligen gjorda ändringar bland bevakade sidor',
 'watchlistcontains' => 'Din bevakningslista innehåller $1 {{PLURAL:$1|sida|sidor}}.',
@@ -2948,6 +2960,8 @@ Besök [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] eller [//t
 'thumbnail-more' => 'Förstora',
 'filemissing' => 'Fil saknas',
 'thumbnail_error' => 'Fel vid skapande av miniatyrbild: $1',
+'thumbnail_error_remote' => 'Felmeddelande från $1:
+$2',
 'djvu_page_error' => 'DjVu-sida utanför gränserna',
 'djvu_no_xml' => 'Kan inte hämta DjVu-filens XML',
 'thumbnail-temp-create' => 'Kunde inte skapa temporär miniatyrfil',
@@ -3103,7 +3117,6 @@ Ger möjlighet att skriva en motivering i redigeringssammanfattningen',
 'modern.css' => '/* CSS som skrivs här kommer att påverka alla användare av skalet Modern */',
 'vector.css' => '/* CSS som skrivs här kommer att påverka alla användare av skalet Vector */',
 'print.css' => '/* CSS som skrivs här kommer att påverka utskriftsversionen */',
-'handheld.css' => '/* CSS som placeras här kommer att påverka handhållna enheter som baseras på skalet som konfigurerats i $wgHandheldStyle */',
 'noscript.css' => '/* CSS som placeras här kommer att påverka användare med JavaScript inaktiverat */',
 'group-autoconfirmed.css' => '/* CSS som placeras här kommer bara att påverka bekräftade användare */',
 'group-bot.css' => '/* CSS som placeras här kommer bara att påverka robotar */',
index 6348b22..367e3cd 100644 (file)
@@ -14,6 +14,7 @@
  * @author Malangali
  * @author Marcos
  * @author Muddyb Blast Producer
+ * @author Nemo bis
  * @author Robert Ullmann
  * @author Stephenwanjau
  * @author לערי ריינהארט
@@ -232,9 +233,21 @@ $messages = array(
 'oct' => 'Okt',
 'nov' => 'Nov',
 'dec' => 'Des',
+'january-date' => '$1 Januari',
+'february-date' => '$1 Februari',
+'march-date' => '$1 Machi',
+'april-date' => '$1 Aprili',
+'may-date' => '$1 Mei',
+'june-date' => '$1 Juni',
+'july-date' => '$1 Julai',
+'august-date' => '$1 Agosti',
+'september-date' => '$1 Septemba',
+'october-date' => '$1 Oktoba',
+'november-date' => '$1 Novemba',
+'december-date' => '$1 Desemba',
 
 # Categories related messages
-'pagecategories' => '{{PLURAL:$1|Jamii|Jamii}}',
+'pagecategories' => '{{PLURAL:$1|Jamii}}',
 'category_header' => 'Makala katika jamii "$1"',
 'subcategories' => 'Vijamii',
 'category-media-header' => 'Picha, video, na sauti katika jamii  "$1"',
@@ -257,7 +270,7 @@ $messages = array(
 'newwindow' => '(Itafungua kwa dirisha jipya)',
 'cancel' => 'Batilisha',
 'moredotdotdot' => 'Zaidi...',
-'mypage' => 'Ukurasa wangu',
+'mypage' => 'Ukurasa',
 'mytalk' => 'Majadiliano',
 'anontalk' => 'Majadiliano ya IP hii',
 'navigation' => 'Urambazaji',
@@ -654,10 +667,8 @@ Inawezekana ikawa tayari umefaulu kubadilisha neno lako la siri au neno la siri
 
 # Special:PasswordReset
 'passwordreset' => 'Seti upya neno la siri',
-'passwordreset-text' => 'Jaza fomu hii ili upate barua pepe inayotoa maelezo ya akaunti yako.',
 'passwordreset-legend' => 'Seti upya neno la siri',
 'passwordreset-disabled' => 'Kuweka neno la siri jipya kumeshitishwa katika wiki hii.',
-'passwordreset-pretext' => '{{PLURAL:$1||Ingiza moja kati ya data hizi hapo chini}}',
 'passwordreset-username' => 'Jina la mtumiaji:',
 'passwordreset-domain' => 'Miliki',
 'passwordreset-capture' => 'Ioneshe barua-pepe itakayotumwa?',
@@ -1913,6 +1924,15 @@ Itifaki zinazoungwa mkono: <code>$1</code> (usiongeza hizi unapotafuta).',
 'listusers-noresult' => 'Mtumiaji hakupatikana.',
 'listusers-blocked' => '(imezuiwa)',
 
+# Special:ActiveUsers
+'activeusers' => 'Orodha ya watumiaji hai',
+'activeusers-intro' => 'Hii ni orodha ya watumiaji walioshughulika jambo fulani ndani ya siku $1 {{PLURAL:$1|iliyopita|zilizopita}}.',
+'activeusers-count' => '{{PLURAL:$1|haririo|maharirio}} $1 katika siku $3 {{PLURAL:$3|iliyopita|zilizopita}}',
+'activeusers-from' => 'Onyesha watumiaji kuanzia:',
+'activeusers-hidebots' => 'Ficha boti',
+'activeusers-hidesysops' => 'Ficha wakabidhi',
+'activeusers-noresult' => 'Watumiaji hawakupatikana.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Wezo za kundi za watumiaji',
 'listgrouprights-summary' => 'Inafuata orodha ya kundi za watumiaji wa wiki hii, pamoja na maelezo ya wezo zao za kushughulika mambo.
@@ -1994,8 +2014,8 @@ Ukitaka kufuta ukurasa huo kutoka maangalizi yako baadaye, bonyeza \"Acha kufuat
 'notvisiblerev' => 'Haririo ya mwisho, iliotendwa na mtumiaji mwingine, imefutwa',
 'watchnochange' => 'Hakuna kitu kati ya maangalizi yako kilichohaririwa katika kipindi kilichotajwa.',
 'watchlist-details' => 'Unafuatilia {{PLURAL:$1|ukurasa $1|kurasa $1}} bila kuzingatia kurasa za majadiliano.',
-'wlheader-enotif' => 'Huduma ya kuarifu kwa barua pepe imewezeshwa.',
-'wlheader-showupdated' => "Kurasa zilizobadilika tangu ulivyotembelea mara ya mwisho zinaonyeshwa katika hali ya '''kukooza'''",
+'wlheader-enotif' => 'Huduma ya kuarifu kwa barua pepe imewezeshwa.',
+'wlheader-showupdated' => "Kurasa zilizobadilika tangu ulivyotembelea mara ya mwisho zinaonyeshwa katika hali ya '''kukooza'''",
 'watchmethod-recent' => 'kupitia madabiliko ya karibuni ili kupata kurasa za maangalizi',
 'watchmethod-list' => 'Kupitia kurasa za maangalizi ili kupata madabiliko ya karibuni',
 'watchlistcontains' => 'Orodha ya maangalizi yako ina {{PLURAL:$1|pages|kurasa}}.',
@@ -2164,7 +2184,7 @@ Hivi ni vipimo kwa ukurasa '''$1''':",
 'undeletebtn' => 'Rudisha',
 'undeletelink' => 'onyesha/rejesha',
 'undeleteviewlink' => 'tazama',
-'undeletereset' => 'Seti upya',
+'undeletereset' => 'Panga upya',
 'undeleteinvert' => 'Geuza uteuzi',
 'undeletecomment' => 'Sababu:',
 'undeletedrevisions' => '{{PLURAL:$1|pitio 1 lilirudishwa|mapitio $1 yalirudishwa}}',
@@ -2657,7 +2677,7 @@ likifupishwa. Nyuga zingine zitafichwa kama chaguo-msingi.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Upana',
 'exif-imagelength' => 'Urefu',
 'exif-jpeginterchangeformatlength' => 'Idadi ya baiti za data ya JPEG',
@@ -3031,12 +3051,6 @@ Huwa unapokea [{{SERVER}}{{SCRIPTPATH}}/COPYING nakala ya GNU General Public Lic
 'version-software-version' => 'Toleo',
 'version-entrypoints-header-url' => 'KISARA Kioneshi Sanifu Raslimali',
 
-# Special:FilePath
-'filepath' => 'Njia ya faili',
-'filepath-page' => 'Faili:',
-'filepath-submit' => 'Nenda',
-'filepath-summary' => 'Ukurasa huu maalumu unarejesha njia kamili ya faili. Picha inaonyeshwa ukubwa wote, faili za aina zingine zinaanza na programu zake zinazohusiana moja kwa moja.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Tafuta mafaili ya nakili',
 'fileduplicatesearch-summary' => 'Kutafuta mafaili ya nakili kwa kuzingatia thamani za reli.',
@@ -3180,12 +3194,12 @@ Tovuti hii inapata matatatizo wakati huu.',
 'api-error-uploaddisabled' => 'Kupakia kumelemazwa katika wiki hii.',
 
 # Durations
-'duration-seconds' => '$1 {{PLURAL:$1|second|sekunde}}',
-'duration-minutes' => '$1 {{PLURAL:$1|minute|dakikas}}',
-'duration-hours' => '$1 {{PLURAL:$1|hour|masaa}}',
-'duration-days' => '$1 {{PLURAL:$1|day|masiku}}',
-'duration-weeks' => '$1 {{PLURAL:$1|week|wiki}}',
-'duration-years' => '$1 {{PLURAL:$1|year|miaka}}',
+'duration-seconds' => '{{PLURAL:$1|sekunde}} $1',
+'duration-minutes' => '{{PLURAL:$1|dakika}} $1',
+'duration-hours' => '{{PLURAL:$1|saa|masaa}} $1',
+'duration-days' => '{{PLURAL:$1|siku}} $1',
+'duration-weeks' => '{{PLURAL:$1|wiki}} $1',
+'duration-years' => '{{PLURAL:$1|mwaka|miaka}} $1',
 'duration-centuries' => '$1 {{PLURAL:$1|century|karne}}',
 
 );
index 9414568..4a38133 100644 (file)
@@ -1614,6 +1614,11 @@ Uobsůgiwane protokoły: <code>$1</code>',
 'listusers-submit' => 'Pokož',
 'listusers-noresult' => 'Ńy znejdźůno žodnygo užytkowńika.',
 
+# Special:ActiveUsers
+'activeusers-hidebots' => 'Schrůń boty',
+'activeusers-hidesysops' => 'Schrůń adminy',
+'activeusers-noresult' => 'Ńy sům używacze.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Uprawńyńo grup użytkowńikůw',
 'listgrouprights-summary' => 'Půńiży znojdowo śe spis grup użytkowńikůw zdefińjowanych na tyj wiki, s wyszczygůlńyńym przidźelůnych im prow dostympu.
@@ -1678,8 +1683,8 @@ Na tyi liśće bydźeš mjou rejer přišuych sprowjyń tyi zajty i jeji zajty g
 'notvisiblerev' => 'Wersyja zostoua wyćepano',
 'watchnochange' => 'Žodno ze zajtůw, na kere dowoš pozůr, ńy bůua sprowjano w podanym uokreśe.',
 'watchlist-details' => 'Na pozorliśće {{PLURAL:$1|je 1 artikel|sům $1 artikle|je $1 artikli}} ńy rachujůnc zajtůw godek.',
-'wlheader-enotif' => 'Wysůuańy powjadůmjyń na adres e-brif je zouůnčůne',
-'wlheader-showupdated' => "Zajty, kere bouy sprowjane uod Twoi uostatńi wizyty na ńych zostoy naškryflane '''tuustym'''",
+'wlheader-enotif' => 'Wysůuańy powjadůmjyń na adres e-brif je zouůnčůne',
+'wlheader-showupdated' => "Zajty, kere bouy sprowjane uod Twoi uostatńi wizyty na ńych zostoy naškryflane '''tuustym'''",
 'watchmethod-recent' => 'šnupańy za půmjyńanymi na uostatku w zajtach, na kere dowoš pozůr',
 'watchmethod-list' => 'šnupańy w zajtach, na kere dowoš pozůr pośrůd půmjyńanych na uostatku',
 'watchlistcontains' => 'Lista zajtůw, na kere dowoš pozůr mo {{PLURAL:$1|jedna pozycja|$1 pozycje|$1 pozycyji}}.',
@@ -2365,7 +2370,7 @@ Eli plik był modyfikowany, dane mogům w tajli ńy być we zgodźe ze parametr
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Šyrokość',
 'exif-imagelength' => 'Wysokość',
 'exif-bitspersample' => 'Bitůw na průbka',
@@ -2479,7 +2484,7 @@ Eli plik był modyfikowany, dane mogům w tajli ńy być we zgodźe ze parametr
 'exif-gpsdatestamp' => 'Data GPS',
 'exif-gpsdifferential' => 'Korekcyjo růžńicy GPS',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'ńyskůmpresowany',
 
 'exif-unknowndate' => 'ńyznano data',
@@ -2771,15 +2776,6 @@ Možeš tyž [[Special:EditWatchlist|užyć standardowygo edytora]].',
 'version-software-product' => 'Mjano',
 'version-software-version' => 'Wersjo',
 
-# Special:FilePath
-'filepath' => 'Śćežka do plika',
-'filepath-page' => 'Plik:',
-'filepath-submit' => 'Śćežka',
-'filepath-summary' => 'Ta ekstra zajta zwraco peuno śćyžka do plika.
-Grafiki sům pokazywane w peunyj rozdźelčośći, inkše typy plikůw sům uodmykane we skojařůnym ś ńimi průgramje.
-
-Naškryflej sam mjano plika bez prefiksu „{{ns:file}}:”.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Šnupej za duplikatym plika',
 'fileduplicatesearch-summary' => 'Šnupej za duplikatůma plika na podstawje wartośći fůnkcyji skrůtu.',
index 65018b9..6003df4 100644 (file)
@@ -20,6 +20,7 @@
  * @author Mayooranathan
  * @author Naveen
  * @author Planemad
+ * @author Sank
  * @author Shanmugamp7
  * @author Sodabottle
  * @author Sundar
@@ -214,6 +215,7 @@ $messages = array(
 'newwindow' => '(புதிய சாளரத்துள் திறக்கும்)',
 'cancel' => 'சேமிக்காமல் திரும்பு',
 'moredotdotdot' => 'மேலும்...',
+'morenotlisted' => 'மேலதிகமானவை பட்டியலிடப்படவில்லை',
 'mypage' => 'பக்கம்',
 'mytalk' => 'பேச்சு',
 'anontalk' => 'இந்த ஐ.பி. முகவரிக்கான பேச்சு',
@@ -485,9 +487,18 @@ MySQL returned error "$3: $4".',
 'welcomeuser' => 'வருக $1',
 'welcomecreation-msg' => 'உங்களுக்கான பயனர் கணக்கு உருவாக்கப்பட்டுள்ளது. உங்களுக்கேற்றவாறு [[Special:Preferences|{{SITENAME}} விருப்பத்தேர்வுகளை]] மாற்றிக் கொள்ள மறவாதீர்கள்.',
 'yourname' => 'பயனர் பெயர்:',
+'userlogin-yourname' => 'பயனர் பெயர்',
+'userlogin-yourname-ph' => 'தங்களின் பயனர் பெயரை உள்ளிடவும்',
 'yourpassword' => 'கடவுச்சொல்:',
+'userlogin-yourpassword' => 'கடவுச்சொல்',
+'userlogin-yourpassword-ph' => 'தங்களின் கடவுச்சொல்லை உள்ளிடவும்',
+'createacct-yourpassword-ph' => 'கடவுச்சொல்லை உள்ளிடுக',
 'yourpasswordagain' => 'கடவுச்சொல்லைத் திரும்ப தட்டச்சிடுக:',
+'createacct-yourpasswordagain' => 'கடவுச்சொல்லை உறுதிசெய்க',
+'createacct-yourpasswordagain-ph' => 'கடவுச்சொல்லை மீளவும் இடுக',
 'remembermypassword' => 'எனது கடவுச்சொல்லை (கூடியது $1 {{PLURAL:$1|நாள்|நாட்கள்}}) அமர்வுகளிடையே நினைவில் வைத்திருக்கவும்.',
+'userlogin-remembermypassword' => 'இடுபதிந்தே இருக்கவிடவும்',
+'userlogin-signwithsecure' => 'பாதுகாப்பான தொடர்பை உபயோகிக்கவும்',
 'securelogin-stick-https' => 'புகுபதிகைக்குப் பிறகும் HTTPS-இலேயே இருக்கவும்',
 'yourdomainname' => 'உங்கள் உரிமைப்பரப்பு:',
 'password-change-forbidden' => 'நீங்கள் விக்கிகளில் கடவுச் சொற்களை மாற்ற முடியாது',
@@ -500,18 +511,29 @@ MySQL returned error "$3: $4".',
 'logout' => 'விடுபதிகை',
 'userlogout' => 'விடுபதிகை',
 'notloggedin' => 'புகுபதிகை செய்யப்படவில்லை',
+'userlogin-noaccount' => 'பயனர் கணக்கு இல்லையா?',
+'userlogin-joinproject' => 'இணைக {{SITENAME}}',
 'nologin' => "பயனர் கணக்கு இல்லையா? '''$1'''.",
 'nologinlink' => 'கணக்கு ஒன்றை உருவாக்கவும்',
 'createaccount' => 'புதிய கணக்கை உருவாக்கு',
 'gotaccount' => "ஏற்கனவே பயனர் கணக்கு உள்ளதா? '''$1'''.",
 'gotaccountlink' => 'புகுபதிகை',
 'userlogin-resetlink' => 'உங்கள் புகுபதிகைக் குறிப்புகளை மறந்துவிட்டீர்களா?',
-'createaccountmail' => 'மின்னஞ்சல் மூலம்',
+'createacct-join' => 'தங்களின் தகவலை கீழிடவும்',
+'createacct-emailrequired' => 'மின்னஞ்சல் முகவரி',
+'createacct-email-ph' => 'தங்களின் மின்னஞ்சல் முகவரியை உள்ளிடவும்',
+'createaccountmail' => 'தற்காலிகமாக எழுந்தமான ஒரு கடவுச்சொல்லை பயன்படுத்துக, அதை கீழே தரப்பட்டுள்ள மின்னஞ்சலுக்கு அனுப்புக',
+'createacct-realname' => 'உண்மைப் பெயர் (விருப்பத்தேர்வு)',
 'createaccountreason' => 'காரணம்:',
+'createacct-reason-ph' => 'தாங்கள் ஏன் மற்றொரு கணக்கைத் துவங்குகிறீர்கள்?',
+'createacct-imgcaptcha-ph' => 'மேலே காணும் சொற்களை உள்ளிடுக',
+'createacct-submit' => 'தங்களின் கணக்கினை உருவாக்கவும்',
+'createacct-benefit-heading' => '{{SITENAME}} தங்களைப் போன்றோர்களால் உருவாக்கப்பட்டது',
 'badretype' => 'நீங்கள் பதிந்த கடவுச்சொற்கள்  பொருந்தவில்லை.',
 'userexists' => 'உள்ளிட்ட பயனர்பெயர் ஏற்கனவே உபயோகத்தில் உள்ளது.
 தயவுகூர்ந்து வேறு பெயரை தேர்ந்தெடுக்கவும்.',
 'loginerror' => 'புகுபதிகைத் தவறு',
+'createacct-error' => 'கணக்கு உருவாக்குதலில் பிழை',
 'createaccounterror' => 'இந்த கணக்கை உருவாக்க முடியவில்லை: $1',
 'nocookiesnew' => '{{SITENAME}} தளத்துக்கான உங்கள் பயனர் கணக்கு உருவாக்கப்பட்டுள்ளது, ஆனால் நீங்கள் புகுபதிகை செய்யவில்லை. பயனர்களைப் புகுபதிகை செய்ய {{SITENAME}} தளம் ஞாபகிகளைப் (குக்கிகள்) பயன்படுத்துகிறது. நீங்கள் ஞாபகிகளைச் செயலற்றவையாக்கியுள்ளீர்கள். தயவுசெய்து அவற்றைச் செயற்படுத்தியப் பின் உங்கள் புதிய பயனர் பெயருடனும், கடவுச் சொல்லுடனும் புகுபதிகை செய்யுங்கள்.',
 'nocookieslogin' => '{{SITENAME}} தளம் பயனர்களைப் புகுபதிகை செய்வதற்கு ஞாபகிகளைப் (குக்கிகள்) பயன்படுத்துகிறது. நீங்கள் ஞாபகிகளைச் செயலிழக்கச் செய்துள்ளீர்கள். தயவுசெய்து அவற்றைச் செயற்பாடுள்ளதாக்கித் திரும்பவும் முயலுங்கள்.',
@@ -545,7 +567,7 @@ MySQL returned error "$3: $4".',
 'passwordsent' => '"$1" பயனருக்கான மின்னஞ்சல் முகவரிக்கு ஒரு புதிய கடவுச்சொல் அனுப்பப்பட்டுள்ளது. பெற்றுக்கொண்டதும் தயவுசெய்து மீண்டும் புகுபதிகை செய்யவும்.',
 'blocked-mailpassword' => 'உங்கள் ஐ.பி. முகவரி தடுக்கப்பட்டுள்ளது, விசம செயற்பாடுகளைத் தவிர்க்க கடவுச்சொல் மீட்புச் செயலியை நீங்கள் பயன்படுத்து அனுமதிக்கப்படவில்லை.',
 'eauthentsent' => 'உறுதிப்படுத்தல் மின்னஞ்சலொன்று நீங்கள் கொடுத்த மின்னஞ்சல் முகவரிக்கு அனுப்பப் பட்டுள்ளது. மேலதிகமாக எந்த மின்னஞ்சலும் இந்த முகவரிக்கு அனுப்பப்படு முன்னர், மின்னலில் கொடுக்கப்பட்டுள்ள அறிவுறுத்தல்களின் படி, இம்மின்னஞ்சல் முகவரி உங்களுடையது என்பதை உறுதிப்படுத்தவும்.',
-'throttled-mailpassword' => 'கடந்த {{PLURAL:$1|மணிநேரத்துக்குள்|$1 மணிநேரங்களுக்குள்}} ஒரு கடவுச்சொல் நினைவூட்டல் மின்னஞ்சல் ஏற்கனவே அனுப்பப் பட்டுவிட்டது. விசம பயன்பாடுகளைத் தவிர்ப்பதற்காக {{PLURAL:$1|மணிநேரத்திற்கு|$1 மணிநேரங்களுக்கு}} ஒரு கடவுச்சொல் நினைவூட்டல் மின்னஞ்சல் மட்டுமே அனுப்பப்படும்.',
+'throttled-mailpassword' => 'கடந்த {{PLURAL:$1|மணிநேரத்துக்குள்|$1 மணிநேரங்களுக்குள்}} ஒரு கடவுச்சொல் நினைவூட்டல் மின்னஞ்சல் ஏற்கனவே அனுப்பப்பட்டுவிட்டது. விசமப் பயன்பாடுகளைத் தவிர்ப்பதற்காக {{PLURAL:$1|மணிநேரத்திற்கு|$1 மணிநேரங்களுக்கு}} ஒரு கடவுச்சொல் நினைவூட்டல் மின்னஞ்சல் மட்டுமே அனுப்பப்படும்.',
 'mailerror' => 'மின்னஞ்சல் அனுப்புவதில் தவறு: $1',
 'acct_creation_throttle_hit' => 'தங்களது IP முகவரியை பயன்படுத்தி இந்த விக்கியில் நேற்று {{PLURAL:$1|1 கணக்கு |$1 கணக்குகள்}} உருவாக்கப்பட்டுள்ளது.  தற்போது இதுவே மிக அதிகமாக அனுமதிக்கப்பட்ட அளவாகும்.
 
@@ -595,10 +617,8 @@ MySQL returned error "$3: $4".',
 
 # Special:PasswordReset
 'passwordreset' => 'கடவுச்சொல்லை மீட்டமை',
-'passwordreset-text' => ' உங்கள் கடவுச்சொல்லை மீட்டமைக்க இப்படிவத்தை பூர்த்தி செய்யவும்.',
 'passwordreset-legend' => 'கடவுச்சொல்லை மீட்டமை',
 'passwordreset-disabled' => 'கடவுச்சொல் மீட்டமைப்பு இந்த விக்கியில் செயலிழக்க செய்யப்பட்டுள்ளது.',
-'passwordreset-pretext' => '{{PLURAL:$1|| தரவு பகுதி ஒன்றை கீழே உள்ளிடு}}',
 'passwordreset-username' => 'பயனர் பெயர்:',
 'passwordreset-domain' => 'இணையதள முகவரி:',
 'passwordreset-capture' => 'விளைவு மின்னஞ்சலை காண்',
@@ -1082,7 +1102,7 @@ $1",
 'search-interwiki-default' => '$1 தளத்தின் முடிவுகள்:',
 'search-interwiki-more' => '(மேலும்)',
 'search-relatedarticle' => 'தொடர்புடையவை',
-'mwsuggest-disable' => 'AJAX பரிந்துரைகளை முடக்கு',
+'mwsuggest-disable' => 'தேடல் பரிந்துரைகளை முடக்கு',
 'searcheverything-enable' => 'அனைத்துப் பெயர்வெளிகளிலும் தேடவும்',
 'searchrelated' => 'தொடர்புடையவை',
 'searchall' => 'அனைத்தும்',
@@ -1103,6 +1123,7 @@ $1",
 'powersearch-togglenone' => 'ஏதுமில்லை',
 'search-external' => 'வெளித்தேடல்',
 'searchdisabled' => '{{SITENAME}} தளத்தின் தேடல் வசதிகள் தற்காலிகமாக முடக்கப்பட்டுள்ளது. அதுவரை நீங்கள் கீழேயுள்ள கூகிள் தேடலைப் பயன்படுத்தலாம். இது சில சமயம் இற்றைப்படுத்தப்படாததாய் இருக்கக்கூடும்.',
+'search-error' => 'தேடுகையில் ஒரு பிழை ஏற்பட்டுள்ளது:$1',
 
 # Preferences page
 'preferences' => 'விருப்பங்கள்',
@@ -1166,7 +1187,7 @@ $1",
 'timezoneregion-indian' => 'இந்தியப் பெருங்கடல்',
 'timezoneregion-pacific' => 'பசிபிக் பெருங்கடல்',
 'allowemail' => 'ஏனைய பயனர்களிடம் இருந்தான மின்னஞ்சல்களை அனுமதி',
-'prefs-searchoptions' => 'தà¯\87à®\9fà¯\81à®\95',
+'prefs-searchoptions' => 'தà¯\87à®\9fலà¯\8d',
 'prefs-namespaces' => 'பெயர்வெளிகள்',
 'defaultns' => 'அப்படியில்லையென்றால் இந்த பொயர்வெளிகளில் தேடவும்:',
 'default' => 'பொதுவானது',
@@ -1180,8 +1201,8 @@ $1",
 'prefs-textboxsize' => 'தொகுக்கும் சாளரத்தின் அளவு',
 'youremail' => 'மின்னஞ்சல்:',
 'username' => '{{GENDER:$1|பயனர் பெயர்}}:',
-'uid' => 'பயனர்:',
-'prefs-memberingroups' => 'பின்வரும் {{பன்மை:$1|குழு|குழுக்களில்}} {{பாலினம்:$2|உறுப்பினர்}}:',
+'uid' => '{{GENDER:$1|User}} ID:',
+'prefs-memberingroups' => 'பின்வரும் {{PLURAL:$1|குழு|குழுக்களில்}} உறுப்பினர்:',
 'prefs-registration' => 'பதிவு செய்யும் நேரம்:',
 'yourrealname' => 'உண்மைப் பெயர்:',
 'yourlanguage' => 'மொழி:',
@@ -2011,8 +2032,8 @@ $1',
 'notvisiblerev' => 'திருத்தம் நீக்கப்பட்டுள்ளது',
 'watchnochange' => 'காட்சிப்படுத்தப்பட்ட கால இடைவெளியில், கவனிப்பிலுள்ள, உங்கள் விடயமெதுவும் தொகுக்கப்பட்டிருக்கவில்லை.',
 'watchlist-details' => 'பேச்சுப் பக்கங்களைத் தவிர்த்து, {{PLURAL:$1|$1 பக்கம் கவனிக்கப்பட்டது.|$1 பக்கங்கள் கவனிக்கப்பட்டன.}}',
-'wlheader-enotif' => 'மின்னஞ்சல் அறிவித்தல்கள் செயல்படுத்தப்பட்டுள்ளன.',
-'wlheader-showupdated' => "உமது கடைசி வருகைக்குப் பின்னர் மாற்றங்கள் செய்யப்பட்ட பக்கங்கள் '''தடித்த எழுத்துக்களால்''' காட்டப்பட்டுள்ளன",
+'wlheader-enotif' => 'மின்னஞ்சல் அறிவித்தல்கள் செயல்படுத்தப்பட்டுள்ளன.',
+'wlheader-showupdated' => "உமது கடைசி வருகைக்குப் பின்னர் மாற்றங்கள் செய்யப்பட்ட பக்கங்கள் '''தடித்த எழுத்துக்களால்''' காட்டப்பட்டுள்ளன",
 'watchmethod-recent' => 'கவனிக்கப்படுகின்ற பக்கங்களுக்காக, அண்மைய தொகுப்புகள் தேடிப் பார்க்கப்படுகிறன',
 'watchmethod-list' => 'அண்மைய தொகுப்புகளுக்காக, கவனிக்கப்படுகின்ற பக்கங்கள் தேடிப் பார்க்கப்படுகிறன',
 'watchlistcontains' => 'உங்கள் கவனிப்புப் பட்டியல் {{PLURAL:$1|ஒரு பக்கத்தைக்|$1 பக்கங்களைக்}} கொண்டுள்ளது.',
@@ -2799,6 +2820,7 @@ $1',
 'file-info-size' => '$1 × $2 படவணுக்கள், கோப்பின் அளவு: $3, MIME வகை: $4',
 'file-nohires' => 'இதைவிட அளவில் பெரிய படிமம் இல்லை.',
 'svg-long-desc' => 'SVG கோப்பு, பெயரளவில் $1 × $2 பிக்சல்கள், கோப்பு அளவு: $3',
+'svg-long-error' => 'செல்லாத SVG கோப்பு: $1',
 'show-big-image' => 'முழு அளவிலான படிமம்',
 'show-big-image-preview' => 'இந்த முன்னோட்டத்தின் அளவு:  $1 .',
 'show-big-image-other' => 'மற்ற  {{PLURAL:$2|பிரிதிறன்|பிரிதிறன்கள்}}:  $1 .',
@@ -3429,6 +3451,11 @@ $5
 'version-entrypoints-header-entrypoint' => 'நுழைவு புள்ளி',
 'version-entrypoints-header-url' => 'உரலி (URL)',
 
+# Special:Redirect
+'redirect-submit' => 'செல்க',
+'redirect-lookup' => 'கவனிக்கவும்:',
+'redirect-not-exists' => 'மதிப்பு காணப்பெறவில்லை',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'நகல் கோப்புகளைத் தேடுக',
 'fileduplicatesearch-summary' => 'நகல் கோப்புகளை  ஹாஷ் மதிப்புகள் அடிப்படையில் தேடு.',
@@ -3454,7 +3481,7 @@ $5
 'specialpages-group-highuse' => 'உயர் பயன்பாட்டு பக்கங்கள்',
 'specialpages-group-pages' => 'பக்கங்களின் பட்டியல்கள்',
 'specialpages-group-pagetools' => 'பக்கக் கருவிகள்',
-'specialpages-group-wiki' => 'விà®\95à¯\8dà®\95ி à®¤à®°à®µà¯\81 à®®à®±à¯\8dà®±à¯\81à®®à¯\8d à®\95à®°à¯\81விà®\95ளà¯\8d',
+'specialpages-group-wiki' => 'தரவு மற்றும் கருவிகள்',
 'specialpages-group-redirects' => 'சிறப்புப் பக்கங்கள் வழிமாற்றம் செய்யப்படுகின்றது',
 'specialpages-group-spam' => 'எரித கருவிகள்',
 
@@ -3474,14 +3501,14 @@ $5
 
 # Special:Tags
 'tags' => 'செல்லத்தக்க மாற்று குறிச்சொற்கள்',
-'tag-filter' => '[[Special:Tags|Tag]] [[சிறப்பு:மேற்கோள்கள்|மேற்கோள்]] வடிப்பான்:',
+'tag-filter' => '[[Special:Tags|குறொச்சொல்]] வடிப்பான்:',
 'tag-filter-submit' => 'வடிகட்டி',
 'tags-title' => 'குறிச்சொற்கள்',
 'tags-intro' => 'இப்பக்கத்தின் மென்பொருள் ஒரு திருத்ததுடனான குறியீடு என்று குறிச்சொற்கள், மற்றும் அவற்றின் பொருளை பட்டியலிடுகிறது.',
-'tags-tag' => 'à®\95à¯\81றிà®\9aà¯\8dà®\9aà¯\8aà®±à¯\8dà®\95ளினà¯\8d à®ªà¯\86யர்',
-'tags-display-header' => ' மாற்று பட்டியல்களின் தோற்றங்கள்',
-'tags-description-header' => 'à®\85à®°à¯\8dதà¯\8dததà¯\8dதினà¯\8d à®®à¯\81à®´à¯\81 விளக்கம்',
-'tags-hitcount-header' => 'à®\95à¯\81றிà®\9aà¯\8dà®\9aà¯\8aலà¯\8dலிà®\9fபà¯\8dபà®\9fà¯\8dà®\9f  à®®à®¾à®±à¯\8dà®±à®\99à¯\8dà®\95ளà¯\8d',
+'tags-tag' => 'à®\95à¯\81றிà®\9aà¯\8dà®\9aà¯\8aல்',
+'tags-display-header' => 'கவனிப்புப் பட்டியலில் தெரியும் பெயர்',
+'tags-description-header' => 'விரிவான விளக்கம்',
+'tags-hitcount-header' => 'மாறà¯\8dà®±à®\99à¯\8dà®\95ளினà¯\8d à®\8eணà¯\8dணிà®\95à¯\8dà®\95à¯\88',
 'tags-edit' => 'தொகு',
 'tags-hitcount' => '$1 {{PLURAL:$1|மாற்றம்|மாற்றங்கள்}}',
 
@@ -3518,6 +3545,7 @@ $5
 'htmlform-submit' => 'சமர்ப்பி',
 'htmlform-reset' => 'மாற்றங்களை இல்லாது செய்',
 'htmlform-selectorother-other' => 'மற்றவை',
+'htmlform-chosen-placeholder' => 'விருப்பத்தினைத் தேர்க',
 
 # SQLite database support
 'sqlite-has-fts' => '$1முழு-உரை தேடல் ஆதரவுடன்',
index 6fad2e8..3498739 100644 (file)
@@ -43,8 +43,6 @@ $messages = array(
 'tog-shownumberswatching' => 'ಪುಟೊನು ತೂವೊಂದುಪ್ಪುನಂಚಿನ ಸದಸ್ಯೆರ್’ನ ಸಂಖ್ಯೆನ್ ತೊಜ್ಪಾಲೆ',
 'tog-oldsig' => 'ಇತ್ತೆದ ಸಹಿ',
 'tog-fancysig' => 'ಸರಳ ಸಹಿಗಳು (ಲಿಂಕ್ ಇಜ್ಜಂದಿಲೆಕ)',
-'tog-externaleditor' => 'ಯಾಪಲ ಪಿದಯಿದ ಸಂಪಾದನೆ ಉಪಕರಣದ ಉಪಯೋಗ ಮನ್ಪುಲೆ (ಅನುಭವ ಉಪ್ಪುನಂಚಿನ ಸದಸ್ಯೆರೆಗ್ ಮಾತ್ರ, ನಿಕ್ಲೆನ ಕಂಪ್ಯೂಟರ್’ಡ್ ವಿಶೇಷವಾಯಿನ ಬದಲಾವಣೆಲು ಬೋಡಾಪುಂಡು)',
-'tog-externaldiff' => 'ಬಾಹ್ಯ ಮುನ್ನೋಟನ್ ಯಾಪಲ ಉಪಯೋಗ ಮಲ್ಪುಲೆ (ಅನುಭವ ಉಪ್ಪುನಂಚಿನ ಸದಸ್ಯೆರೆಗ್ ಮಾತ್ರ, ನಿಕ್ಲೆನ ಕಂಪ್ಯೂಟರ್’ಡ್ ವಿಶೇಷ ಬದಲಾವಣೆಲು ಬೋಡಾಪುಂಡು)',
 'tog-uselivepreview' => 'ನೇರ ಮುನ್ನೋಟನ್ ಉಪಯೋಗ ಮಲ್ಪುಲೆ (JavaScript) (ಪ್ರಾಯೋಗಿಕ)',
 'tog-forceeditsummary' => 'ಸಂಪಾದನೆ ಸಾರಾಂಶೊನು ಖಾಲಿ ಬುಡ್’ನ್ಡ್ ಎಂಕ್ ನೆನಪು ಮಲ್ಪುಲೆ',
 'tog-watchlisthideown' => 'ವೀಕ್ಷಣಾಪಟ್ಟಿಡ್ ಎನ್ನ ಸಂಪಾದನೆಲೆನ್ ತೊಜ್’ಪಾವೊಚಿ',
@@ -777,7 +775,7 @@ $messages = array(
 # Special:ListGroupRights
 'listgrouprights-members' => '(ಸದಸ್ಯೆರ್ನ ಪಟ್ಟಿ)',
 
-# E-mail user
+# Email user
 'emailuser' => 'ಈ ಸದಸ್ಯೆರೆಗ್ ಇ-ಮೈಲ್ ಕಡಪುಡ್ಲೆ',
 
 # Watchlist
index 76c5541..5163720 100644 (file)
@@ -1849,6 +1849,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|బైటు|బైట్లు}}',
 'ncategories' => '$1 {{PLURAL:$1|వర్గం|వర్గాలు}}',
+'ninterwikis' => '$1 {{PLURAL:$1|అంతర్వికీ|అంతర్వికీలు}}',
 'nlinks' => '$1 {{PLURAL:$1|లింకు|లింకులు}}',
 'nmembers' => '{{PLURAL:$1|ఒక ఉపవర్గం/పేజీ/ఫైలు|$1 ఉపవర్గాలు/పేజీలు/ఫైళ్లు}}',
 'nrevisions' => '{{PLURAL:$1|ఒక సంచిక|$1 సంచికలు}}',
@@ -2064,8 +2065,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'notvisiblerev' => 'ఈ కూర్పును తొలగించాం',
 'watchnochange' => 'మీ వీక్షణ జాబితాలోని ఏ పేజీలోనూ ఈ కాల అవధిలో మార్పులు జరగలేదు.',
 'watchlist-details' => 'మీ వీక్షణ జాబితాలో {{PLURAL:$1|ఒక పేజీ ఉంది|$1 పేజీలు ఉన్నాయి}}, చర్చా పేజీలని వదిలేసి.',
-'wlheader-enotif' => 'ఈ-మెయిలు ప్రకటనలు పంపబడతాయి.',
-'wlheader-showupdated' => "మీ గత సందర్శన తరువాత మారిన పేజీలు '''బొద్దు'''గా చూపించబడ్డాయి.",
+'wlheader-enotif' => 'ఈ-మెయిలు ప్రకటనలు పంపబడతాయి.',
+'wlheader-showupdated' => "మీ గత సందర్శన తరువాత మారిన పేజీలు '''బొద్దు'''గా చూపించబడ్డాయి.",
 'watchmethod-recent' => 'వీక్షణ జాబితాలోని పేజీల కొరకు ఇటీవలి మార్పులు పరిశీలించబడుతున్నాయి',
 'watchmethod-list' => 'ఇటీవలి మార్పుల కొరకు వీక్షణ జాబితాలోని పేజీలు పరిశీలించబడుతున్నాయి',
 'watchlistcontains' => 'మీ వీక్షణ జాబితాలో {{PLURAL:$1|ఒక పేజీ ఉంది|$1 పేజీలు ఉన్నాయి}}.',
@@ -2851,6 +2852,7 @@ $1',
 'minutes' => '{{PLURAL:$1|ఒక నిమిషం|$1 నిమిషాల}}',
 'hours' => '{{PLURAL:$1|ఒక గంట|$1 గంటల}}',
 'days' => '{{PLURAL:$1|ఒక రోజు|$1 రోజుల}}',
+'weeks' => '{{PLURAL:$1|$1 వారం|$1 వారాలు}}',
 'months' => '{{PLURAL:$1|ఒక నెల|$1 నెలల}}',
 'years' => '{{PLURAL:$1|ఒక సంవత్సరం|$1 సంవత్సరాల}}',
 'ago' => '$1 క్రితం',
index b67ec27..4f0223c 100644 (file)
@@ -632,6 +632,10 @@ Ita-nia mudansa la armazenadu seidauk!",
 # Special:ListUsers
 'listusers-submit' => 'Hatudu',
 
+# Special:ActiveUsers
+'activeusers-hidebots' => 'Subar bot sira',
+'activeusers-hidesysops' => 'Subar administradór sira',
+
 # Special:ListGroupRights
 'listgrouprights-group' => 'Grupu',
 'listgrouprights-rights' => 'Priviléjiu',
@@ -765,6 +769,7 @@ Ita-nia mudansa la armazenadu seidauk!",
 'blocklink' => 'blokeiu',
 'unblocklink' => 'la blokeiu',
 'contribslink' => 'kontribuisaun',
+'blocklogentry' => 'blokeiu [[$1]] ba tempu $2 $3',
 'block-log-flags-nocreate' => 'la bele kria konta foun',
 'block-log-flags-noemail' => 'korreiu eletróniku blokeiu',
 'block-log-flags-nousertalk' => 'la bele edita pájina diskusaun rasik',
@@ -872,7 +877,7 @@ Liña hotu tenke komesa ho *
 Ligasaun uluk iha liña tenke ligasaun bá imajen aat.
 Ligasaun seluk iha liña - ne'e pájina sira iha ne'ebé bele inklui imajen aat.",
 
-# EXIF tags
+# Exif tags
 'exif-make' => 'Fabrikante kámara nian',
 'exif-model' => 'Kámara',
 'exif-artist' => 'Autór',
@@ -953,10 +958,6 @@ Ligasaun seluk iha liña - ne'e pájina sira iha ne'ebé bele inklui imajen aat.
 'version-software-product' => 'Produtu',
 'version-software-version' => 'Versaun',
 
-# Special:FilePath
-'filepath-page' => 'Fail:',
-'filepath-submit' => 'Bá',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-submit' => 'Buka',
 
index 9a9c71f..f641ff3 100644 (file)
@@ -100,8 +100,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Нишон додани шумораи корбарони пайгир',
 'tog-oldsig' => 'Пешнамоиши имзои вуҷуддошта:',
 'tog-fancysig' => 'Имзоро ба сурати викиматн ба назар бигир (бе пайванди худкор)',
-'tog-externaleditor' => 'Истифода аз вироишгари хориҷӣ ба таври пешфарз (фақат барои корбарони пешрафта, ниёзманди танзимоти вижа дар ройонаи шумо аст. [//www.mediawiki.org/wiki/Manual:External_editors Иттилооти бештар.])',
-'tog-externaldiff' => 'Истифода аз тафовутгири (diff) хориҷӣ ба таври пешфарз (фақат барои корбарони пешрафта, ниёзманди танзимоти вижа дар ройонаи шумо аст. [//www.mediawiki.org/wiki/Manual:External_editors Иттилооти бештар.])',
 'tog-showjumplinks' => 'Намоиши пайвандҳои дастрасии "ҷаҳиш ба" дар феҳристи мундариҷот',
 'tog-uselivepreview' => 'Истифода аз пешнамоиши зинда (ҶаваСкрипт) (Озмоишӣ)',
 'tog-forceeditsummary' => 'Ҳангоме ки хулосаи вироиш нанавиштаам юа ман ислоҳ бидеҳ',
@@ -864,14 +862,6 @@ $1',
 'search-external' => 'Ҷустуҷӯи хориҷӣ',
 'searchdisabled' => 'Ҷустуҷу дар {{SITENAME}} ғайрифаъол карда шудааст. Шумо метавонед тариқи Google дар ҳол ҷустуҷӯ кунед. Таваҷҷӯҳ кунед, ки натоиҷи ҷустуҷӯ {{SITENAME}} метавонад барӯз набошад.',
 
-# Quickbar
-'qbsettings' => 'Танзимоти тезхат (Quickbar)',
-'qbsettings-none' => 'Набошад',
-'qbsettings-fixedleft' => 'Сабти чап',
-'qbsettings-fixedright' => 'Сабти рост',
-'qbsettings-floatingleft' => 'Шиновар чап',
-'qbsettings-floatingright' => 'Шиновар рост',
-
 # Preferences page
 'preferences' => 'Тарҷиҳот',
 'mypreferences' => 'Танзимот',
@@ -1452,8 +1442,8 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'notvisiblerev' => 'Нусха ҳазф шуд',
 'watchnochange' => 'Ягон мавриди пайгириҳои шумо дар давраи замони намоишёфта вироиш нашуда аст.',
 'watchlist-details' => '{{PLURAL:$1|$1 саҳифаи|$1 саҳифаҳои}} дар феҳристи пайгириҳои шумо, бидуни ҳисоби саҳифаҳои баҳс.',
-'wlheader-enotif' => 'Иттилоорасонии тариқи почтаи электронӣ (E-mail) имконпазир аст.',
-'wlheader-showupdated' => "Саҳифаҳое, ки пас аз охирин сар заданатон ба онҳо тағйир кардаанд '''пурранг''' нишон дода шудаанд",
+'wlheader-enotif' => 'Иттилоорасонии тариқи почтаи электронӣ (E-mail) имконпазир аст.',
+'wlheader-showupdated' => "Саҳифаҳое, ки пас аз охирин сар заданатон ба онҳо тағйир кардаанд '''пурранг''' нишон дода шудаанд",
 'watchmethod-recent' => 'баррасии вироишҳои охир барои саҳифаҳои пайгиришуда',
 'watchmethod-list' => 'баррасии саҳифаҳои пайгиришуда барои вироишҳои охир',
 'watchlistcontains' => 'Феҳристи пайгириҳои шумо $1 {{PLURAL:$1|саҳифаро|саҳифаҳоро}} дар бар мегирад.',
@@ -2092,7 +2082,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Васеъӣ',
 'exif-imagelength' => 'Баландӣ',
 'exif-bitspersample' => 'Нуқта дар ҳар ҷузъ',
@@ -2206,7 +2196,7 @@ $1',
 'exif-gpsdatestamp' => 'Таърихи ҶПС',
 'exif-gpsdifferential' => 'Тасҳеҳи ҷузъии ҶПС',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ғайрифишурда',
 
 'exif-unknowndate' => 'Таърихи номаълум',
@@ -2507,15 +2497,6 @@ $5
 'version-software-product' => 'Маҳсул',
 'version-software-version' => 'Нусха',
 
-# Special:FilePath
-'filepath' => 'Масири парванда',
-'filepath-page' => 'Парванда:',
-'filepath-submit' => 'Масир',
-'filepath-summary' => 'Ин саҳифаи вижа нишонаи комил барои як парвандаро нишон медиҳад.
-Аксҳо бо кайфият бо ҳаҷми пурраашон нишон дода мешаванд, дигар навъҳои парвандаҳои дигар бо барномаҳои алоқаманди махсус ба худашон боз мешаванд.
-
-Нишонаи пайвандро бидуни пешванд "{{ns:file}}:" ворид кунед.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Ҷустуҷӯ барои парвандаҳои такрорӣ',
 'fileduplicatesearch-summary' => 'Ҷустуҷӯ барои парвандаҳои такрорӣ бар асоси миқдори дар ҳам шудаи онҳо сурат мегирад.',
index 61887af..eb2aaee 100644 (file)
@@ -42,8 +42,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Nişon dodani şumorai korbaroni pajgir',
 'tog-oldsig' => 'Peşnamoişi imzoi vuçuddoşta:',
 'tog-fancysig' => 'Imzoro ba surati vikimatn ba nazar bigir (be pajvandi xudkor)',
-'tog-externaleditor' => 'Istifoda az viroişgari xoriçī ba tavri peşfarz (faqat baroi korbaroni peşrafta, nijozmandi tanzimoti viƶa dar rojonai şumo ast. [//www.mediawiki.org/wiki/Manual:External_editors Ittilooti beştar.])',
-'tog-externaldiff' => 'Istifoda az tafovutgiri (diff) xoriçī ba tavri peşfarz (faqat baroi korbaroni peşrafta, nijozmandi tanzimoti viƶa dar rojonai şumo ast. [//www.mediawiki.org/wiki/Manual:External_editors Ittilooti beştar.])',
 'tog-showjumplinks' => 'Namoişi pajvandhoi dastrasiji "çahiş ba" dar fehristi mundariçot',
 'tog-uselivepreview' => 'Istifoda az peşnamoişi zinda (ÇavaSkript) (Ozmoişī)',
 'tog-forceeditsummary' => 'Hangome ki xulosai viroiş nanaviştaam jua man isloh bideh',
@@ -733,14 +731,6 @@ Itminon hosil kuned, ki in taƣjir davomnokiji ta'rixiji sahifaro nigoh dorad.",
 'search-external' => 'Çustuçūi xoriçī',
 'searchdisabled' => "Çustuçu dar {{SITENAME}} ƣajrifa'ol karda şudaast. Şumo metavoned tariqi Google dar hol çustuçū kuned. Tavaççūh kuned, ki natoiçi çustuçū {{SITENAME}} metavonad barūz naboşad.",
 
-# Quickbar
-'qbsettings' => 'Tanzimoti tezxat (Quickbar)',
-'qbsettings-none' => 'Naboşad',
-'qbsettings-fixedleft' => 'Sabti cap',
-'qbsettings-fixedright' => 'Sabti rost',
-'qbsettings-floatingleft' => 'Şinovar cap',
-'qbsettings-floatingright' => 'Şinovar rost',
-
 # Preferences page
 'preferences' => 'Tarçihot',
 'mypreferences' => 'Tarçihoti man',
@@ -1275,8 +1265,8 @@ Agar şumo dertar az fehristi nazarotaton in sahifaro hazv kardan xohed, dar men
 'notvisiblerev' => 'Nusxa hazf şud',
 'watchnochange' => 'Jagon mavridi pajgirihoi şumo dar davrai zamoni namoişjofta viroiş naşuda ast.',
 'watchlist-details' => '{{PLURAL:$1|$1 sahifai|$1 sahifahoi}} dar fehristi pajgirihoi şumo, biduni hisobi sahifahoi bahs.',
-'wlheader-enotif' => 'Ittiloorasoniji tariqi poctai elektronī (E-mail) imkonpazir ast.',
-'wlheader-showupdated' => "Sahifahoe, ki pas az oxirin sar zadanaton ba onho taƣjir kardaand '''purrang''' nişon doda şudaand",
+'wlheader-enotif' => 'Ittiloorasoniji tariqi poctai elektronī (E-mail) imkonpazir ast.',
+'wlheader-showupdated' => "Sahifahoe, ki pas az oxirin sar zadanaton ba onho taƣjir kardaand '''purrang''' nişon doda şudaand",
 'watchmethod-recent' => 'barrasiji viroişhoi oxir baroi sahifahoi pajgirişuda',
 'watchmethod-list' => 'barrasiji sahifahoi pajgirişuda baroi viroişhoi oxir',
 'watchlistcontains' => 'Fehristi pajgirihoi şumo $1 {{PLURAL:$1|sahifaro|sahifahoro}} dar bar megirad.',
@@ -1871,7 +1861,7 @@ Faqat satrhoe, ki bo * şurū' şavand ba nazar girifta meşavand. Avvalin pajva
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => "Vase'ī",
 'exif-imagelength' => 'Balandī',
 'exif-bitspersample' => "Nuqta dar har çuz'",
@@ -1985,7 +1975,7 @@ Faqat satrhoe, ki bo * şurū' şavand ba nazar girifta meşavand. Avvalin pajva
 'exif-gpsdatestamp' => "Ta'rixi ÇPS",
 'exif-gpsdifferential' => "Tashehi çuz'iji ÇPS",
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ƣajrifişurda',
 
 'exif-unknowndate' => "Ta'rixi noma'lum",
@@ -2280,15 +2270,6 @@ Tavaççūh kuned, ki şumo metavoned az [[Special:EditWatchlist|viroişgari sta
 'version-software-product' => 'Mahsul',
 'version-software-version' => 'Nusxa',
 
-# Special:FilePath
-'filepath' => 'Masiri parvanda',
-'filepath-page' => 'Parvanda:',
-'filepath-submit' => 'Masir',
-'filepath-summary' => 'In sahifai viƶa nişonai komil baroi jak parvandaro nişon medihad.
-Aksho bo kajfijat bo haçmi purraaşon nişon doda meşavand, digar nav\'hoi parvandahoi digar bo barnomahoi aloqamandi maxsus ba xudaşon boz meşavand.
-
-Nişonai pajvandro biduni peşvand "{{ns:file}}:" vorid kuned.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Çustuçū baroi parvandahoi takrorī',
 'fileduplicatesearch-summary' => 'Çustuçū baroi parvandahoi takrorī bar asosi miqdori dar ham şudai onho surat megirad.',
index 435be96..e07655d 100644 (file)
@@ -570,7 +570,7 @@ $1',
 คำค้น: $2',
 'viewsource' => 'ดูโค้ด',
 'viewsource-title' => 'ดูโค้ดสำหรับ $1',
-'actionthrottled' => 'à¸\81ารà¸\81ระà¸\97ำà¸\96ูà¸\81ระà¸\87ัà¸\9aชั่วคราว',
+'actionthrottled' => 'à¸\81ารà¸\81ระà¸\97ำà¸\99ีà¹\89à¸\96ูà¸\81ระà¸\87ัà¸\9aà¹\84วà¹\89ชั่วคราว',
 'actionthrottledtext' => 'เพื่อเป็นมาตรการป้องกันสแปม คุณจึงถูกจำกัดมิให้กระทำสิ่งนี้ไม่ให้ติดต่อกันหลายครั้งเกินไปในช่วงระยะเวลาสั้น ๆ ซึ่งขณะนี้คุณได้กระทำเกินขีดจำกัดแล้ว กรุณารอสักครู่แล้วลองอีกครั้ง',
 'protectedpagetext' => 'หน้านี้ถูกป้องกันมิให้แก้ไขหรือปฏิบัติการอื่น',
 'viewsourcetext' => 'คุณสามารถดูและคัดลอกโค้ดหน้านี้ได้:',
@@ -691,7 +691,7 @@ $1',
 'cannotchangeemail' => 'ไม่สามารถเปลี่ยนที่อยู่อีเมลบนวิกินี้',
 'emaildisabled' => 'เว็บไซต์นี้ไม่สามารถส่งอีเมล',
 'accountcreated' => 'บัญชีถูกสร้างขึ้น',
-'accountcreatedtext' => 'à¸\9aัà¸\8dà¸\8aีà¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\82อà¸\87 $1 à¸\96ูà¸\81สร้างขึ้นแล้ว',
+'accountcreatedtext' => 'à¸\9aัà¸\8dà¸\8aีà¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\82อà¸\87 $1 à¹\84à¸\94à¹\89สร้างขึ้นแล้ว',
 'createaccount-title' => 'สร้างบัญชีสำหรับ {{SITENAME}}',
 'createaccount-text' => 'มีบางคนสร้างบัญชีโดยใช้ที่อยู่อีเมลของคุณบน {{SITENAME}} ($4) โดยใช้ชื่อ "$2" และรหัสผ่าน "$3" คุณควรล็อกอินเพื่อเปลี่ยนรหัสผ่านทันที
 
@@ -728,7 +728,6 @@ $1',
 
 # Special:PasswordReset
 'passwordreset' => 'ตั้งรหัสผ่านใหม่',
-'passwordreset-text' => 'กรอกแบบฟอร์มนี้เพื่อตั้งรหัสผ่านใหม่',
 'passwordreset-legend' => 'เปลี่ยนรหัสผ่าน',
 'passwordreset-disabled' => 'การตั้งรหัสผ่านใหม่ปิดใช้งานบนวิกินี้',
 'passwordreset-emaildisabled' => 'คุณลักษณะอีเมลถูกปิดใช้งานบนวิกินี้',
@@ -1648,7 +1647,7 @@ $1",
 ถ้าคุณยังคงต้องการอัปโหลดไฟล์ของคุณ กรุณาย้อนกลับไปตั้งชื่อใหม่
 [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'ไฟล์นี้ซ้ำกับ{{PLURAL:$1|ไฟล์|ไฟล์}}ต่อไปนี้:',
-'file-deleted-duplicate' => 'ไฟล์ที่เหมือไฟล์นี้ ([[:$1]]) เคยถูกลบไปก่อนหน้านี้แล้ว
+'file-deleted-duplicate' => 'à¹\84à¸\9fลà¹\8cà¸\97ีà¹\88à¹\80หมือà¸\99à¹\84à¸\9fลà¹\8cà¸\99ีà¹\89 ([[:$1]]) à¹\80à¸\84ยà¸\96ูà¸\81ลà¸\9aà¹\84à¸\9bà¸\81à¹\88อà¸\99หà¸\99à¹\89าà¸\99ีà¹\89à¹\81ลà¹\89ว
 คุณควรตรวจสอบว่าประวัติการลบของไฟล์ก่อนดำเนินการอัปโหลดใหม่',
 'uploadwarning' => 'คำเตือนการอัปโหลด',
 'uploadwarning-text' => 'กรุณาแก้ไขคำอธิบายไฟล์ด้านล่างนี้ แล้วลองใหม่อีกครั้ง',
@@ -2019,7 +2018,7 @@ $1',
 'showhideselectedlogentries' => 'แสดง/ซ่อนหน่วยปูมที่เลือก',
 
 # Special:AllPages
-'allpages' => 'à¸\97ุà¸\81หà¸\99à¹\89า',
+'allpages' => 'หà¸\99à¹\89าà¸\97ัà¹\89à¸\87หมà¸\94',
 'alphaindexline' => '$1 ถึง $2',
 'nextpage' => 'ถัดไป ($1)',
 'prevpage' => 'ก่อนหน้า ($1)',
@@ -2144,7 +2143,7 @@ $1',
 'watchnologin' => 'ไม่ได้ล็อกอิน',
 'watchnologintext' => 'ต้อง[[Special:UserLogin|ล็อกอิน]]เพื่อแก้ไขรายการเฝ้าดูของคุณ',
 'addwatch' => 'เพิ่มเข้ารายการเฝ้าดู',
-'addedwatchtext' => 'หà¸\99à¹\89า "[[:$1]]" à¹\84à¸\94à¹\89à¹\80à¸\9eิà¹\88มลà¸\87à¹\83à¸\99[[Special:Watchlist|รายà¸\81ารà¹\80à¸\9dà¹\89าà¸\94ู]]à¸\82อà¸\87à¸\84ุà¸\93à¹\81ลà¹\89ว à¸\81ารà¹\80à¸\9bลีà¹\88ยà¸\99à¹\81à¸\9bลà¸\87à¹\83à¸\99หà¸\99à¹\89าà¸\99ีà¹\89หรือหà¸\99à¹\89าà¸\9eูà¸\94à¸\84ุยà¸\97ีà¹\88à¹\80à¸\81ีà¹\88ยวà¸\82à¹\89อà¸\87à¸\88ะà¹\81สà¸\94à¸\87à¹\83à¸\99รายà¸\81ารà¸\94à¹\89าà¸\99ลà¹\88าà¸\87',
+'addedwatchtext' => 'หà¸\99à¹\89า "[[:$1]]" à¹\84à¸\94à¹\89à¹\80à¸\9eิà¹\88มลà¸\87à¹\83à¸\99[[Special:Watchlist|รายà¸\81ารà¹\80à¸\9dà¹\89าà¸\94ู]]à¸\82อà¸\87à¸\84ุà¸\93à¹\81ลà¹\89ว à¸\81ารà¹\80à¸\9bลีà¹\88ยà¸\99à¹\81à¸\9bลà¸\87à¹\83à¸\99หà¸\99à¹\89าà¸\99ีà¹\89หรือหà¸\99à¹\89าà¸\9eูà¸\94à¸\84ุยà¸\97ีà¹\88à¹\80à¸\81ีà¹\88ยวà¸\82à¹\89อà¸\87à¸\88ะà¹\81สà¸\94à¸\87à¹\83à¸\99รายà¸\81ารà¸\94ัà¸\87à¸\81ลà¹\88าว',
 'removewatch' => 'นำออกจากรายการเฝ้าดู',
 'removedwatchtext' => 'หน้า "[[:$1]]" ถูกนำออกจาก[[Special:Watchlist|รายการเฝ้าดูของคุณ]]',
 'watch' => 'เฝ้าดู',
@@ -2155,8 +2154,8 @@ $1',
 'notvisiblerev' => 'รุ่นล่าสุดโดยผู้ใช้อีกคนถูกลบแล้ว',
 'watchnochange' => 'ไม่มีการแก้ไขหน้าที่คุณเฝ้าดูในระยะเวลาที่แสดง',
 'watchlist-details' => 'มี $1 หน้าในรายการเฝ้าดูของคุณ ไม่รวมหน้าอภิปราย',
-'wlheader-enotif' => 'แจ้งเตือนผ่านอีเมลถูกเปิดใช้งาน',
-'wlheader-showupdated' => "หน้าที่มีการเปลี่ยนแปลงตั้งแต่การเข้าชมครั้งล่าสุดของคุณแสดงใน'''ตัวหนา'''",
+'wlheader-enotif' => 'แจ้งเตือนผ่านอีเมลถูกเปิดใช้งาน',
+'wlheader-showupdated' => "หน้าที่มีการเปลี่ยนแปลงตั้งแต่การเข้าชมครั้งล่าสุดของคุณแสดงใน'''ตัวหนา'''",
 'watchmethod-recent' => 'ตรวจสอบการปรับปรุงล่าสุดกับหน้าเฝ้าดู',
 'watchmethod-list' => 'ตรวจสอบหน้าเฝ้าดูกับการแก้ไขล่าสุด',
 'watchlistcontains' => 'รายการเฝ้าดูของคุณมี $1 หน้า',
@@ -2526,7 +2525,8 @@ $1',
 'change-blocklink' => 'เปลี่ยนการบล็อก',
 'contribslink' => 'เรื่องที่เขียน',
 'emaillink' => 'ส่งอีเมล',
-'autoblocker' => 'ถูกบล็อกอัตโนมัติเนื่องจากเลขที่อยู่ไอพีของคุณล่าสุดถูกใช้โดย "[[User:$1|$1]]" เหตุผลที่ให้แก่การบล็อก $1 คือ: "$2"',
+'autoblocker' => 'ได้บล็อกอัตโนมัติเนื่องจากเลขที่อยู่ไอพีของคุณใช้โดย "[[User:$1|$1]]" เมื่อเร็ว ๆ นี้
+เหตุผลที่ให้แก่การบล็อก $1 คือ: "$2"',
 'blocklogpage' => 'ปูมการบล็อก',
 'blocklog-showlog' => 'ผู้ใช้นี้ถูกสกัดกั้นมาก่อน
 ปูมการสกัดกั้นแสดงไว้ด้านล่างนี้เพื่อการอ้างอิง:',
@@ -2706,8 +2706,8 @@ $1',
 'allmessagesname' => 'ชื่อ',
 'allmessagesdefault' => 'ข้อความตามค่าตั้งต้น',
 'allmessagescurrent' => 'ข้อความปัจจุบัน',
-'allmessagestext' => 'รายà¸\81ารà¸\82à¹\89อà¸\84วามà¸\82อà¸\87ระà¸\9aà¸\9a อยู่ในเนมสเปซมีเดียวิกิ
-à¸\81รุà¸\93าà¹\84à¸\9bà¸\97ีà¹\88 [//www.mediawiki.org/wiki/Localisation à¸¡à¸µà¹\80à¸\94ียวิà¸\81ิ] à¹\81ละ [//translatewiki.new translatewiki.net] à¸\96à¹\89าà¸\84ุà¸\93ยัà¸\87อยาà¸\81à¸\97ีà¹\88à¸\88ะแปลข้อความของระบบมีเดียวิกิ',
+'allmessagestext' => 'à¸\99ีà¹\88à¸\84ือรายà¸\81ารà¸\82à¹\89อà¸\84วามà¸\82อà¸\87ระà¸\9aà¸\9aà¸\97ีà¹\88อยู่ในเนมสเปซมีเดียวิกิ
+à¸\81รุà¸\93าอà¹\88าà¸\99หà¸\99à¹\89า[//www.mediawiki.org/wiki/Localisation à¹\80à¸\97ศวิวัà¸\95à¸\99à¹\8cà¸\82อà¸\87มีà¹\80à¸\94ียวิà¸\81ิ] à¹\81ละ [//translatewiki.net translatewiki.net] à¸\96à¹\89าà¸\84ุà¸\93อยาà¸\81à¸\97ีà¹\88à¸\88ะà¸\8aà¹\88วยแปลข้อความของระบบมีเดียวิกิ',
 'allmessagesnotsupportedDB' => "หน้านี้ไม่สามารถใช้งานได้เนื่องจาก '''\$wgUseDatabaseMessages''' ถูกระงับการใช้งาน",
 'allmessages-filter-legend' => 'กรอง',
 'allmessages-filter' => 'กรองตามสถานะที่เลือก:',
@@ -2865,7 +2865,6 @@ $1',
 'modern.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินโมเดิร์น */',
 'vector.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินเวกเตอร์ */',
 'print.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ข้อมูลส่งออกเป็นสิ่งพิมพ์ */',
-'handheld.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่อุปกรณ์เคลื่อนที่ โดยขึ้นอยู่กับสกินที่ตั้งค่าไว้ใน $wgHandheldStyle */',
 'noscript.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ปิดการใช้งานจาวาสคริปต์ */',
 'group-autoconfirmed.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ทั่วไปเท่านั้น */',
 'group-bot.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่บอตเท่านั้น */',
index 84c3abc..e1e4f45 100644 (file)
@@ -68,8 +68,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Gözegçilikde saklaýan ulanyjylaryň sanyny görkez',
 'tog-oldsig' => 'Bar bolan gol:',
 'tog-fancysig' => 'Gola wikitekst hökmünde çemeleş (awtomatik çykgytsyz)',
-'tog-externaleditor' => 'Gaýybana daşarky redaktor ulan (diňe hünärmenler üçin, kompýuteriňizde ýörite sazlamalar talap edilýär. [//www.mediawiki.org/wiki/Manual:External_editors Jikme-jik.])',
-'tog-externaldiff' => 'Başga programmalaryň üsti bilen deňeşdir (diňe hünärmenler üçin, kompýuteriňizde ýörite sazlamalar talap edilýär)',
 'tog-showjumplinks' => '"Git" çykgydyny işlet',
 'tog-uselivepreview' => 'Gönümel deslapky syny ulan (JavaScript) (Synag edilýär)',
 'tog-forceeditsummary' => 'Gysgaça mazmuny boş galdyran mahalym maňa ýatlat',
@@ -300,9 +298,9 @@ Bu sahypany ulanmak üçin MediaWikiniň $1 wersiýasy talap edilýär. [[Specia
 'ok' => 'OK',
 'retrievedfrom' => '"$1" adresinden alyndy.',
 'youhavenewmessages' => 'Size $1 bar. ($2)',
-'newmessageslink' => 'täze habarlaşyk',
+'newmessageslink' => 'täze habar',
 'newmessagesdifflink' => 'soňky üýtgeşme',
-'youhavenewmessagesmulti' => 'Size $1-de täze habarlaşyk bar.',
+'youhavenewmessagesmulti' => 'Size $1-de täze habar bar.',
 'editsection' => 'redaktirle',
 'editold' => 'redaktirle',
 'viewsourceold' => 'çeşmäni gör',
@@ -1012,14 +1010,6 @@ Gözlegiňiziň başyna '''all:''' pristawkasyny goşup tutuş mazmuny (şol san
 Ýogsa-da, oňa çenli Google bilen gözleg geçirip bilersiňiz.
 Emma olaryň {{SITENAME}} indeksleriniň möwriti geçen bolmagy mümkindir.',
 
-# Quickbar
-'qbsettings' => 'Tiz panel',
-'qbsettings-none' => 'Hiç biri',
-'qbsettings-fixedleft' => 'Çepe berkidildi',
-'qbsettings-fixedright' => 'Saga berkidildi',
-'qbsettings-floatingleft' => 'Çepe ýaplanýar',
-'qbsettings-floatingright' => 'Saga ýaplanýar',
-
 # Preferences page
 'preferences' => 'Ileri tutmalar',
 'mypreferences' => 'Ileri tutmalar',
@@ -1484,7 +1474,6 @@ Howpsuzlygyň optimizasiýasy üçin, img_auth.php ýapylyp goýuldy.',
 'http-read-error' => 'HTTP okamak säwligi.',
 'http-timed-out' => 'HTTP talabynyň wagty geçdi.',
 'http-curl-error' => 'URL äkelmek säwligi: $1',
-'http-host-unreachable' => 'URL-ä baryp bolmaýar',
 'http-bad-status' => 'HTTP talaby wagtynda problema döredi: $1 $2',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
@@ -1861,8 +1850,8 @@ Aňsatlyk bilen saýlap almak üçin bolsa, [[Special:RecentChanges|soňky üýt
 'notvisiblerev' => 'Başga bir ulanyja degişli iň soňky wersiýa öçürilipdir',
 'watchnochange' => 'Gözegçilik edýän sahypalaryňyzyň hiç birisi görkezilen wagtyň dowamynda redaktirlenmändir.',
 'watchlist-details' => 'Çekişme sahypalaryny hasap etmäniňde, gözegçilik sanawyňyzda {{PLURAL:$1|$1 sahypa|$1 sahypa}} bar.',
-'wlheader-enotif' => 'E-poçta bilen habar beriş açyk.',
-'wlheader-showupdated' => "Soňky gezek baryp görenizden soňra üýtgedilen sahypalar '''goýy şrift''' bilen görkezilýär.",
+'wlheader-enotif' => 'E-poçta bilen habar beriş açyk.',
+'wlheader-showupdated' => "Soňky gezek baryp görenizden soňra üýtgedilen sahypalar '''goýy şrift''' bilen görkezilýär.",
 'watchmethod-recent' => 'soňky özgerdişlerdäki gözegçilikde saklaýan sahypalaryňyz barlanylýar',
 'watchmethod-list' => 'gözegçilikde saklaýan sahypalaryňyzdaky soňky özgerdişler barlanylýar',
 'watchlistcontains' => 'Gözegçilik sanawyňyzda $1 sany {{PLURAL:$1|sahypa|sahypa}} bar.',
@@ -2616,7 +2605,7 @@ Ondan soňraky çykgyt(lar) kadadan çykma hökmünde kabul edilýär, meselem:
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'In',
 'exif-imagelength' => 'Beýiklik',
 'exif-bitspersample' => 'Komponent başyna bit',
@@ -2732,7 +2721,7 @@ Ondan soňraky çykgyt(lar) kadadan çykma hökmünde kabul edilýär, meselem:
 'exif-languagecode' => 'Dil',
 'exif-iimcategory' => 'Kategoriýa',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Gysylmadyk',
 
 'exif-unknowndate' => 'Näbelli sene',
@@ -3051,15 +3040,6 @@ Bu programmanyň ýany bilen siz [{{SERVER}}{{SCRIPTPATH}}/COPYING GNU General P
 'version-software-product' => 'Önüm',
 'version-software-version' => 'Wersiýa',
 
-# Special:FilePath
-'filepath' => 'Faýla barýan ýol',
-'filepath-page' => 'Faýl:',
-'filepath-submit' => 'Git',
-'filepath-summary' => 'Bu ýörite sahypa faýla barýan doly ýoly gaýtaryp getirýär.
-Suratlar doly ölçegde görkezilýär, beýleki faýl görnüşleri degişli programmalary bilen gönümel başladylýar.
-
-Faýlyň adyny "{{ns:file}}:" pristawkasyz giriziň.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Dublikat faýllaryň gözlegi',
 'fileduplicatesearch-summary' => 'Heş kodlary boýunça meňzeş faýllary gözle.',
index 4957e48..bad2c0e 100644 (file)
@@ -2110,6 +2110,15 @@ Sinusuportahang mga protokolo: <code>$1</code> (huwag idagdag ang anuman sa mga
 'listusers-noresult' => 'Walang nahanap na tagagamit.',
 'listusers-blocked' => '(hinarang)',
 
+# Special:ActiveUsers
+'activeusers' => 'Tala ng mga aktibong tagagamit',
+'activeusers-intro' => 'Isa itong talaan ng mga tagagamit na nagkaroon ng ilang uri ng galaw sa loob ng huling $1 {{PLURAL:$1|araw|mga araw}}.',
+'activeusers-count' => '$1 {{PLURAL:$1|pagbabago|mga pagbabago}} sa loob ng huling {{PLURAL:$3|araw|$3 mga araw}}',
+'activeusers-from' => 'Ipakita ang mga tagagamit simula sa:',
+'activeusers-hidebots' => 'Itago ang mga bots',
+'activeusers-hidesysops' => 'Itago ang mga tagapangasiwa',
+'activeusers-noresult' => 'Walang natagpuang mga tagagamit.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Mga uri ng tagagamit',
 'listgrouprights-summary' => 'Ang sumusunod ay isang talaan ng mga pangkat ng tagagamit na binigyang kahulugang sa wiking ito, kasama ang kanilang mga kaugnay na mga karapatan.
@@ -2189,8 +2198,8 @@ Makikita doon ang lahat ng mga susunod na pagbabago sa pahinang ito pati na ang
 'notvisiblerev' => 'Nabura na ang pagbabago',
 'watchnochange' => 'Wala sa binabantayan mo ang binago sa oras na nakikita.',
 'watchlist-details' => '{{PLURAL:$1|$1 pahinang|$1 mga pahinang}} nasa iyong talaan ng mga binabantayan, hindi binibilang ang mga pahina ng usapan.',
-'wlheader-enotif' => 'Umiiral ang pagpapahayag sa pamamagitan ng e-liham.',
-'wlheader-showupdated' => "Ipinapakitang may '''makakapal na mga panitik''' ang nabagong/binagong mga pahina mula pa noong huli mong pagdalaw sa kanila",
+'wlheader-enotif' => 'Umiiral ang pagpapahayag sa pamamagitan ng e-liham.',
+'wlheader-showupdated' => "Ipinapakitang may '''makakapal na mga panitik''' ang nabagong/binagong mga pahina mula pa noong huli mong pagdalaw sa kanila",
 'watchmethod-recent' => 'sinusuri ang kamakailan lamang na mga pagbabago para sa binabantayang mga pahina',
 'watchmethod-list' => 'sinusuri ang binabantayang mga pahina para sa mga kamakailan lamang na mga pagbabago',
 'watchlistcontains' => 'Naglalaman ng $1 {{PLURAL:$1|pahina|mga pahina}} ang iyong talaan ng mga binabantayan.',
@@ -2911,7 +2920,6 @@ Sagipin mo ito sa iyong kompyuter at papaitaas na ikarga ito rito.',
 'modern.css' => "/* Ang CSS na iniligay dito ay makakaapekto sa tagagamit ng Makabagong (''Modern'') pabalat */",
 'vector.css' => '/* Ang inilagay na CSS dito ay makakaapekto sa mga tagagamit ng pabalat na Vector */',
 'print.css' => '/* Ang CSS na inilagay dito ay makakaapekto sa kalalabasan o resulta ng paglilimbag */',
-'handheld.css' => "/* Ang CSS na inilagay dito ay makakaapekto sa mga aparatong nahahawakan (''handheld device'') batay sa itinakdang pabalat sa ''\$wgHandheldStyle'' */",
 'noscript.css' => '/* Ang inilagay na Cascading Style Sheets dito ay makakaapekto sa mga tagagamit na hindi nagpapagana ng JavaScript */',
 'group-autoconfirmed.css' => '/* Ang inilagay na Mga Pilas ng Estilong Lumalagaslas (Cascading Style Sheets o CSS) dito ay makakaapekto lamang sa mga tagagamit na kusang natiyak */',
 'group-bot.css' => '/* Ang inilagay na Mga Pilas ng Estilong Lumalagaslas (Cascading Style Sheets o CSS) dito ay makakaapekto lamang sa mga bot */',
@@ -3156,7 +3164,7 @@ Likas na nakatakdang itago ang iba pa.
 'metadata-langitem' => "'''$2:''' $1",
 'metadata-langitem-default' => '$1',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lapad',
 'exif-imagelength' => 'Taas',
 'exif-bitspersample' => 'Mga bit (piraso) ng bawat komponente (bahagi)',
@@ -3349,7 +3357,7 @@ $4, $5, $6 $7
 $8',
 'exif-subjectnewscode-value' => '$2 ($1)',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Walang kompresyon',
 'exif-compression-2' => 'CCITT Pangkat 3 1-kodigo sa haba ng pagtakbo ng Pangdimensiyong Huffman na May Bahagyang Pagbabago',
 'exif-compression-3' => 'Kodigo ng Pangkat 3 ng CCITT',
@@ -3881,13 +3889,6 @@ Dapat na nakatanggap ka ng [{{SERVER}}{{SCRIPTPATH}}/COPYING isang sipi ng Pangk
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Landas ng artikulo]',
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Landas ng panitik]',
 
-# Special:FilePath
-'filepath' => 'Lokasyon ng talaksan (file path)',
-'filepath-page' => 'Talaksan:',
-'filepath-submit' => 'Gawin',
-'filepath-summary' => 'Ibinabalik ng natatanging pahinang ito ang buong landas para sa isang talaksan.  
-Ipinapakita ang mga larawan sa buong kalinawan, tuwirang sinisimulan ang ibang uri ng mga talaksan sa pamamagitan ng kaugnay nilang mga programa.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Maghanap ng kaparehong mga talaksan',
 'fileduplicatesearch-summary' => "Maghanap ng mga kaparehong mga talaksan sa baba ng kanyang halaga ng ''hash''.",
index afaeb6c..0704c08 100644 (file)
@@ -730,7 +730,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'listusersfrom' => 'ʻAsi mai kau ʻetita mei he:',
 'listusers-submit' => 'ʻAsi mai',
 
-# E-mail user
+# Email user
 'mailnologin' => 'ʻOku ʻikai ha tuʻasila ke tohila ki ai',
 'emailuser' => 'Tohila ki he ʻetitá ni',
 'emailpage' => 'Ko e ʻetita ʻene tohila',
@@ -1043,7 +1043,7 @@ Pea hoko ai pē hoʻo lava tānaki ha ʻuhinga ʻi he fakanounou',
 'metadata-expand' => 'Fano kiʻi meʻa',
 'metadata-collapse' => 'Holo kiʻi meʻa',
 
-# EXIF tags
+# Exif tags
 'exif-xresolution' => 'Auiiki fakalava',
 'exif-yresolution' => 'Auiiki tuʻutonu',
 'exif-jpeginterchangeformatlength' => 'ʻŪ valu meʻaʻilo JPEG',
@@ -1157,7 +1157,7 @@ Pea hoko ai pē hoʻo lava tānaki ha ʻuhinga ʻi he fakanounou',
 'watchlistall2' => 'kātoa',
 'namespacesall' => 'vā kotoa',
 
-# E-mail address confirmation
+# Email address confirmation
 'confirmemail' => 'Fakamoʻoniʻi ho tuʻasila tohila',
 'confirmemail_noemail' => 'Naʻe ʻikai te ke fakamoʻoniʻi ʻa e tohila totonu ʻi he [[Special:Preferences|faʻiteliha ʻaʻau]].',
 'confirmemail_text' => 'Kuo pau te ke fakamoʻoniʻi ho tuʻasila tohila ki muʻa ʻi hoʻo ngāueʻaki ʻa e ngaahi fōtunga tohila. Lomiʻi ʻa e meʻalolomi ʻi lalo pea ʻe ʻavea ha tohila fakamoʻoniʻi ki ho tuʻasila. ʻE ʻi ai ha fehokotaki mo ha lea fakapulipuli ʻi ai. Fafaʻo ʻa e fehokotakí ni ʻi hoʻo palausa ke fakamoʻoniʻi ʻoku sai ho tuʻasila tohila.',
@@ -1221,11 +1221,6 @@ Kātaki fakapapauʻi te ke fie toe fatu ʻa e kupu ni.",
 # Special:Version
 'version' => 'Paaki',
 
-# Special:FilePath
-'filepath' => 'Hala ki he faile',
-'filepath-page' => 'Faile:',
-'filepath-submit' => 'Ko e hala',
-
 # Special:SpecialPages
 'specialpages' => 'Ngaahi peesi makehe',
 
index 39c868d..25ad43f 100644 (file)
@@ -80,8 +80,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Soim hamas yusa i lukautim pes',
 'tog-oldsig' => 'Olsem wanem yu raitim nem nau',
 'tog-fancysig' => 'Dispela rot yu raitim long nem stap wikitext (i no gat otomatik link)',
-'tog-externaleditor' => 'Yusim long ausait edita oltaim (tasol long man bilong save, i nidim sipesol setap antap long komputa bilong yu. [//www.mediawiki.org/wiki/Manual:External_editors Lukim moa infomesen.])',
-'tog-externaldiff' => 'Yusim long ausait diff oltaim (tasol long man bilong save, i nidim sipesol setap antap long komputa bilong yu. [//www.mediawiki.org/wiki/Manual:External_editors Lukim moa infomesen.])',
 'tog-showjumplinks' => ' Setap ol "Go stret long" links bilong helpim',
 'tog-uselivepreview' => 'Soim ol senis kwiktaim taim mi wokim (i nidim Javascript)',
 'tog-forceeditsummary' => 'Tokim mi long wanem taim raitim mi nating long liklik toksave bilong senis',
@@ -397,9 +395,6 @@ Na tu yu tok tru nau olsem yu raitim dispela yu yet, o yu kisim long wanpela hap
 'powersearch-toggleall' => 'Olgeta',
 'powersearch-togglenone' => 'I nogat wanpela',
 
-# Quickbar
-'qbsettings-none' => 'I nogat wanpela',
-
 # Preferences page
 'preferences' => 'Ol laik',
 'mypreferences' => 'Ol laik bilong mi',
@@ -614,7 +609,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'listgrouprights-group' => 'Grup',
 'listgrouprights-members' => '(lista bilong ol memba)',
 
-# E-mail user
+# Email user
 'emailuser' => 'E-mel dispela yusa',
 'emailpage' => 'E-mel yusa',
 'defemailsubject' => '{{SITENAME}} e-mel',
@@ -643,7 +638,7 @@ Sapos yu laik rausim dispela pes long lukautbuk bilong yu bihain, paitim \"Pinis
 'unwatch' => 'Pinis long lukautim',
 'unwatchthispage' => 'Pinis long lukautim',
 'watchlist-details' => '$1 pes istap long lukautbuk (dispela namba i no kaunim ol pes bilong toktok).',
-'wlheader-showupdated' => "Ol pes i senis pinis bihain long taim yu lukim ol igat nem i '''strongpela'''",
+'wlheader-showupdated' => "Ol pes i senis pinis bihain long taim yu lukim ol igat nem i '''strongpela'''",
 'wlshowlast' => 'Lukim dispela $1 aua $2 de $3',
 'watchlist-options' => 'Ol laik bilong Lukautbuk',
 
@@ -805,7 +800,7 @@ Yu inap lukim as tok bilong em',
 # Metadata
 'metadata' => 'Metadata',
 
-# EXIF tags
+# Exif tags
 'exif-imagedescription' => 'Nem bilong piksa',
 
 'exif-meteringmode-255' => 'Narapela',
@@ -858,10 +853,6 @@ Yu inap lukim as tok bilong em',
 'version-license' => 'Laisens',
 'version-poweredby-others' => 'ol narapela',
 
-# Special:FilePath
-'filepath-page' => 'Fail:',
-'filepath-submit' => 'Go',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Nem bilong fail:',
 'fileduplicatesearch-submit' => 'Painim',
index 5d5a996..c9462d8 100644 (file)
@@ -20,6 +20,7 @@
  * @author Erkan Yilmaz
  * @author Fryed-peach
  * @author Goktr001
+ * @author Gorizon
  * @author Hanberke
  * @author Hcagri
  * @author Hedda Gabler
@@ -38,6 +39,7 @@
  * @author Mskyrider
  * @author Myildirim2007
  * @author Nazif İLBEK
+ * @author Nemo bis
  * @author Reedy
  * @author Runningfridgesrule
  * @author Sadrettin
@@ -456,16 +458,6 @@ $messages = array(
 'nov' => 'Kas',
 'dec' => 'Ara',
 
-'monday-at' => '$1 Pazartesi günü',
-'tuesday-at' => '$1 Salı günü',
-'wednesday-at' => '$1 Çarşamba günü',
-'thursday-at' => '$1 Perşembe günü',
-'friday-at' => '$1 Cuma günü',
-'saturday-at' => '$1 Cumartesi günü',
-'sunday-at' => '$1 Pazar günü',
-'today-at' => '$1',
-'yesterday-at' => '$1 dün itibariyle',
-
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Kategori|Kategoriler}}',
 'category_header' => '"$1" kategorisindeki sayfalar',
@@ -621,8 +613,8 @@ $1',
 'youhavenewmessages' => 'Yeni $1 var ($2).',
 'newmessageslink' => 'mesajınız',
 'newmessagesdifflink' => 'son değişiklik',
-'youhavenewmessagesfromusers' => '{{PLURAL:$3|Başka bir kullanıcıdan|$3 kullanıcıdan}} $1 var. ($2)',
-'youhavenewmessagesmanyusers' => 'Birçok kullanıcıdan $1 var. ($2)',
+'youhavenewmessagesfromusers' => '{{PLURAL:$3|Başka bir kullanıcıdan|$3 kullanıcıdan}} $1 var ($2).',
+'youhavenewmessagesmanyusers' => 'Birçok kullanıcıdan $1 var ($2).',
 'newmessageslinkplural' => '{{PLURAL:$1|yeni mesajınız|yeni mesajlarınız}}',
 'newmessagesdifflinkplural' => 'son {{PLURAL:$1|değişiklik|değişiklikler}}',
 'youhavenewmessagesmulti' => "$1'de yeni mesajınız var.",
@@ -879,10 +871,8 @@ Girişi bitirmek için, burada yeni bir parola yazın:',
 
 # Special:PasswordReset
 'passwordreset' => 'Parola sıfırlama',
-'passwordreset-text' => 'Hesap bilgilerinizin e-posta ile hatırlatılması için bu formu doldurunuz.',
 'passwordreset-legend' => 'Şifreyi sıfırla',
 'passwordreset-disabled' => 'Parola sıfırlamaları bu wiki üzerinde devre dışı bırakıldı.',
-'passwordreset-pretext' => '{{PLURAL:$1||Aşağıdaki verilerden birini girin}}',
 'passwordreset-username' => 'Kullanıcı adı:',
 'passwordreset-domain' => 'Domain:',
 'passwordreset-capture' => 'Sonuç e-postasını görüntüle?',
@@ -1107,6 +1097,7 @@ Bir açıklama verilmedi.',
 Silinmiş görünüyor.',
 'edit-conflict' => 'Değişiklik çakışması.',
 'edit-no-change' => 'Değişikliğiniz yoksayıldı, çünkü metinde bir değişiklik yapılmadı.',
+'postedit-confirmation' => 'Değişikliğiniz kaydedildi.',
 'edit-already-exists' => 'Yeni sayfa oluşturulamıyor.
 Sayfa zaten mevcut.',
 'defaultmessagetext' => 'Varsayılan mesaj metni',
@@ -2222,6 +2213,15 @@ Desteklenen {{PLURAL:$2|iletişim kuralı|iletişim kuralları}}: <code>$1</code
 'listusers-noresult' => 'Kullanıcı bulunamadı.',
 'listusers-blocked' => '(engellenmiş)',
 
+# Special:ActiveUsers
+'activeusers' => 'Aktif kullanıcı listesi',
+'activeusers-intro' => 'Bu, son $1 {{PLURAL:$1|günde|günde}} bir çeşit etkinlik göstermiş kullanıcıların listesidir.',
+'activeusers-count' => 'Son {{PLURAL:$3|günde|$3 günde}} $1 {{PLURAL:$1|eylem|eylem}}',
+'activeusers-from' => 'Şununla başlayan kullanıcıları görüntüle:',
+'activeusers-hidebots' => 'Botları gizle',
+'activeusers-hidesysops' => 'Yöneticileri gizle',
+'activeusers-noresult' => 'Kullanıcı bulunamadı.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Kullanıcı grubu hakları',
 'listgrouprights-summary' => 'Aşağıdaki bu vikide tanımlanan kullanıcı gruplarının, ilgili erişim haklarıyla birlikte listesidir.
@@ -2299,8 +2299,8 @@ Bundan sonra, bu sayfaya ve ilgili tartışma sayfasına yapılacak değişiklik
 'notvisiblerev' => 'Revizyon silinmiş',
 'watchnochange' => 'İzleme listenizdeki sayfaların hiçbiri, gösterilen zaman aralığında güncellenmemiş.',
 'watchlist-details' => 'Tartışma sayfaları hariç {{PLURAL:$1|$1 sayfa|$1 sayfa}} izleme listenizdedir.',
-'wlheader-enotif' => 'E-posta ile haber verme açılmıştır.',
-'wlheader-showupdated' => "Son ziyaretinizden sonraki sayfa değişiklikleri '''kalın yazıyla''' gösterilmiştir.",
+'wlheader-enotif' => 'E-posta ile haber verme açılmıştır.',
+'wlheader-showupdated' => "Son ziyaretinizden sonraki sayfa değişiklikleri '''kalın yazıyla''' gösterilmiştir.",
 'watchmethod-recent' => 'izlediğiniz sayfalarda yapılan son değişiklikler kontrol ediliyor',
 'watchmethod-list' => 'izlediğiniz sayfalarda yapılan son değişiklikler kontrol ediliyor',
 'watchlistcontains' => 'İzleme listenizde $1 tane {{PLURAL:$1|sayfa|sayfa}} var.',
@@ -3152,6 +3152,19 @@ Bunu çalıştırmak, sisteminizi tehlikeye atabilir.",
 'ago' => '$1 önce',
 'just-now' => 'Hemen şimdi',
 
+# Human-readable timestamps
+'hours-ago' => '$1 {{PLURAL:$1|saat|saat}} önce',
+'minutes-ago' => '$1 {{PLURAL:$1|dakika|dakika}} önce',
+'seconds-ago' => '$1 {{PLURAL:$1|saniye|saniye}} önce',
+'monday-at' => '$1 Pazartesi günü',
+'tuesday-at' => '$1 Salı günü',
+'wednesday-at' => '$1 Çarşamba günü',
+'thursday-at' => '$1 Perşembe günü',
+'friday-at' => '$1 Cuma günü',
+'saturday-at' => '$1 Cumartesi günü',
+'sunday-at' => '$1 Pazar günü',
+'yesterday-at' => '$1 dün itibariyle',
+
 # Bad image list
 'bad_image_list' => 'Biçim aşağıdaki gibidir:
 
@@ -3183,7 +3196,7 @@ Diğerleri varsayılan olarak gizlenecektir.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Genişlik',
 'exif-imagelength' => 'Yükseklik',
 'exif-bitspersample' => 'Bits per component',
@@ -3348,7 +3361,7 @@ Diğerleri varsayılan olarak gizlenecektir.
 'exif-originalimageheight' => 'Resmin kırpılmadan önceki yükseliği',
 'exif-originalimagewidth' => 'Resmin kırpılmadan önceki genişliği',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Sıkıştırılmamış',
 'exif-compression-6' => 'JPEG',
 
@@ -3782,13 +3795,6 @@ Bu programla birlikte [{{SERVER}}{{SCRIPTPATH}}/COPYING GNU Genel Kamu Lisansın
 'version-entrypoints-header-entrypoint' => 'Giriş noktası',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Dosyanın konumu',
-'filepath-page' => 'Dosya adı:',
-'filepath-submit' => 'Git',
-'filepath-summary' => 'Bu özel sayfa bir dosya için tam yolu getirir.
-Resimler tam çözünürlükte görüntülenir, diğer dosya tipleri ilgili programlarıyla doğrudan başlatılır.',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Benzer dosyaları ara',
 'fileduplicatesearch-summary' => 'Sağlama değeri tabanında benzer dosyaları ara.',
@@ -3973,8 +3979,4 @@ Resimler tam çözünürlükte görüntülenir, diğer dosya tipleri ilgili prog
 'duration-centuries' => '$1 {{PLURAL:$1|yüzyıl|yüzyıl}}',
 'duration-millennia' => '$1 {{PLURAL:$1|bin yıl|bin yıl}}',
 
-# Unknown messages
-'hours-ago' => '$1 {{PLURAL:$1|saat|saat}} önce',
-'minutes-ago' => '$1 {{PLURAL:$1|dakika|dakika}} önce',
-'seconds-ago' => '$1 {{PLURAL:$1|saniye|saniye}} önce',
 );
index 6208505..9fbb8f8 100644 (file)
@@ -457,7 +457,7 @@ Legend: '''({{int:cur}})''' = difference with latest revision, '''({{int:last}})
 'prefs-help-email-others' => 'Kibux mijğolat 3am Hadome ğer biFaṭo duMamlo u luglozam dumat Işmux.',
 'prefs-signature' => 'Imḍa',
 
-# User preference: e-mail validation using jQuery
+# User preference: email validation using jQuery
 'email-address-validity-valid' => 'uEmail-Adresayḍux m³adlo yo.',
 
 # Groups
@@ -594,7 +594,7 @@ The description on its [$2 file description page] there is shown below.',
 'listgrouprights-helppage' => 'Help: Ḥaqat diGudo',
 'listgrouprights-members' => '(Lista daHadome)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Kṭaw Email luHadomano.',
 'emailusername' => 'Işme duHadomo:',
 'emailfrom' => 'Men:',
@@ -802,7 +802,7 @@ Others will be hidden by default.
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-writer' => 'Kaṭowo',
 'exif-languagecode' => 'Leşono',
 'exif-cameraownername' => 'uMoro diQamera',
@@ -824,9 +824,6 @@ Others will be hidden by default.
 # Core parser functions
 'duplicate-defaultsort' => '\'\'\'Warning:\'\'\' Default sort key "$2" overrides earlier default sort key "$1".',
 
-# Special:FilePath
-'filepath-submit' => 'Zux',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-submit' => 'Krax',
 
index 42d9c49..50a2b3e 100644 (file)
@@ -38,8 +38,6 @@ $messages = array(
 'tog-enotifminoredits' => 'ndzurhumele e-mail loko ku endleka mindzulamiso leyi ntsongo',
 'tog-enotifrevealaddr' => 'Paluxa e-mail yamina eka mapapila lawa ndzimarhumelaka',
 'tog-shownumberswatching' => 'Komba ntsengo wa vatirhisi lava hlaleleke tluka',
-'tog-externaleditor' => 'Tirhisa xilulamisi xalehandle hikukongoma (Nhlawulo lowu i wavatirhisi lavangani ntokoto ntsena, wu lava ku cinca kokarhi eka khompuyuta yawena. [//www.mediawiki.org/wiki/Manual:External_editors vuxokoxoko hi mhakaleyi.])',
-'tog-externaldiff' => 'Tirhisa phurogiremi yalehandle hikukongoma (Nhlawulo lowu i wavatirhisi lavangani ntokoto ntsena, wu lava ku cinca kokarhi eka khompuyuta yawena. [//www.mediawiki.org/wiki/Manual:External_editors vuxokoxoko hi mhakaleyi.])',
 'tog-forceeditsummary' => 'Ndzivutisisi loko ndzinga hoxi nkomiso wa ndzulamiso lowu ndzi wu endleke',
 'tog-watchlisthideown' => 'Tumbeta mindzulamiso ya mina eka leswi ndzi swi languteke',
 'tog-watchlisthidebots' => 'Tumbeta mindzulamiso ya rhobhoti eka leswi ndzi swi languteke',
@@ -696,7 +694,7 @@ Nhlamuselo ya yona leyi nge ndzeni ka [$2 tluka ro hlamusela] hi yona leyi kombi
 # Special:ListGroupRights
 'listgrouprights-members' => '(nxaxamelo wa valandzeri)',
 
-# E-mail user
+# Email user
 'emailuser' => 'rhumela mutirhisi loyi E-mail',
 
 # Watchlist
index 53cd450..dbb1acc 100644 (file)
@@ -1697,6 +1697,12 @@ PICT # төрле
 'listusers-noresult' => 'Кулланучыларны табылмады.',
 'listusers-blocked' => '(тыелган)',
 
+# Special:ActiveUsers
+'activeusers' => 'Актив кулланучылар исемлеге',
+'activeusers-hidebots' => 'Ботларны яшер',
+'activeusers-hidesysops' => 'Идарәчеләрне яшер',
+'activeusers-noresult' => 'Кулланучылар табылмады.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'Кулланучы төркемнәренең хокуклары',
 'listgrouprights-group' => 'Төркем',
@@ -2224,7 +2230,7 @@ $1',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Киңлек',
 'exif-imagelength' => 'Биеклек',
 'exif-imagedescription' => 'Рәсемнең исеме',
@@ -2434,11 +2440,6 @@ $1',
 'version-software-product' => 'Продукт',
 'version-software-version' => 'Версия',
 
-# Special:FilePath
-'filepath' => 'Файлга юл',
-'filepath-page' => 'Файл:',
-'filepath-submit' => 'Күчү',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Бер үк файлларны эзләү',
 'fileduplicatesearch-submit' => 'Эзләү',
index 826d833..bd0096e 100644 (file)
@@ -122,8 +122,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Bitne küzätü isemleklärenä östägän qullanuçılar sanın kürsätelsen',
 'tog-oldsig' => 'Xäzerge imzanı aldan qaraw:',
 'tog-fancysig' => 'İmzanıñ şäxsi wiki-bilgelämäse (avtomatik sıltamasız)',
-'tog-externaleditor' => 'Tışqı redaqtor qullanu (kompyuter maxsus köylängän bulu zarur)',
-'tog-externaldiff' => 'Tışqı versiä çağıştıru programmasın qullanu (kompyuter maxsus köylängän bulu zarur)',
 'tog-showjumplinks' => '«Küçü» yärdämçe sıltamaları yalğansın',
 'tog-uselivepreview' => 'Tiz qarap alu qullanılsın (JavaScript, eksperimental)',
 'tog-forceeditsummary' => 'Üzgärtülärne taswirlaw yulı tutırılmağan bulsa, kisätü',
@@ -940,14 +938,6 @@ Barlıq alannarda (bäxäs bitläre, ürnäklär, h.b.) ezläw öçen ''all'' s
 'powersearch-togglenone' => 'Birni dä yuq',
 'search-external' => 'Tışqı ezläw',
 
-# Quickbar
-'qbsettings' => 'Küçeşlär aslığı',
-'qbsettings-none' => 'Kürsätmäw',
-'qbsettings-fixedleft' => 'Sulda küçerelmäs',
-'qbsettings-fixedright' => 'Uñda küçerelmäs',
-'qbsettings-floatingleft' => 'Sulda yözmä',
-'qbsettings-floatingright' => 'Uñda yözmä',
-
 # Preferences page
 'preferences' => 'Köylänmälär',
 'mypreferences' => 'Köylänmälärem',
@@ -1893,13 +1883,8 @@ Zinhar başqa isem saylağız.',
 'spamprotectiontitle' => 'Spam filtrı',
 
 # Skin names
-'skinname-standard' => 'Klassik',
-'skinname-nostalgia' => 'İskä alu',
 'skinname-cologneblue' => 'Zäñgär sağış',
 'skinname-monobook' => 'Kitap',
-'skinname-myskin' => 'Üzem',
-'skinname-chick' => 'Çebi',
-'skinname-simple' => 'Ğädi',
 'skinname-modern' => 'Zamana',
 'skinname-vector' => 'Sızımlı',
 
@@ -1970,7 +1955,7 @@ Yulnıñ berençe sıltaması quyma öçen tıyılğan räsemgä sıltama bulır
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Kiñlek',
 'exif-imagelength' => 'Bieklek',
 'exif-imagedescription' => 'Räsemneñ iseme',
@@ -2138,11 +2123,6 @@ Yulnıñ berençe sıltaması quyma öçen tıyılğan räsemgä sıltama bulır
 'version-software-product' => 'Produkt',
 'version-software-version' => 'Versiä',
 
-# Special:FilePath
-'filepath' => 'Faylğa yul',
-'filepath-page' => 'Fayl:',
-'filepath-submit' => 'Küçü',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-submit' => 'Ezläw',
 
index 1368166..43d580b 100644 (file)
@@ -409,7 +409,7 @@ $messages = array(
 'login-abort-generic' => 'Системаже таптыг эвес кирип тур силер',
 'loginlanguagelabel' => 'Дыл: $1',
 
-# E-mail sending
+# Email sending
 'php-mail-error-unknown' => 'PHP-ниң mail() ажыл-чорудулгазында билбес алдаг бар.',
 
 # Change password dialog
@@ -955,7 +955,7 @@ It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
 'listgrouprights-group' => 'Бөлүк кижилер',
 'listgrouprights-members' => '(кежигүннүң даңзызы)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Бо ажыглакчыга э-чагааны чорудаары',
 'defemailsubject' => '{{grammar:ablative|{{SITENAME}}}} э-чагаа',
 'emailusernamesubmit' => 'Күүcедири',
@@ -1199,13 +1199,8 @@ It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
 'anonymous' => '{{grammar:genitive|{{SITENAME}}}} ат эвес {{PLURAL:$1|ажыглакчызы|ажыглакчылары}}',
 
 # Skin names
-'skinname-standard' => 'Классик',
-'skinname-nostalgia' => 'Ностальгия',
 'skinname-cologneblue' => 'Cologne Blue',
 'skinname-monobook' => 'МоноБук',
-'skinname-myskin' => 'МайСкин',
-'skinname-chick' => 'Чикк',
-'skinname-simple' => 'Симпел',
 'skinname-modern' => 'Модерн',
 'skinname-vector' => 'Вектор',
 
@@ -1266,7 +1261,7 @@ It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Калбаа',
 'exif-imagelength' => 'Бедик',
 'exif-imagedescription' => 'Чуруктуң ады',
@@ -1344,10 +1339,6 @@ It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
 'version-other' => 'Өске',
 'version-software-version' => 'Үндүрери',
 
-# Special:FilePath
-'filepath-page' => 'Файл:',
-'filepath-submit' => 'Күүcедири',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Файлдың ады:',
 'fileduplicatesearch-submit' => 'Дилээри',
index 575f499..1beb939 100644 (file)
@@ -2042,6 +2042,15 @@ URL نىڭ توغرىلىقى ۋە تور بېكەتنى زىيارەت قىلى
 'listusers-noresult' => 'ئىشلەتكۈچى تېپىلمىدى.',
 'listusers-blocked' => '(چەكلەنگەن)',
 
+# Special:ActiveUsers
+'activeusers' => 'ئاكتىپ ئەزالار تىزىملىكى',
+'activeusers-intro' => 'بۇ يېقىنقى $1 {{PLURAL:$1| كۈن|كۈن}}دىكى مەشغۇلات قىلغان ئىشلەتكۈچىلەر تىزىملىكى.',
+'activeusers-count' => 'يېقىنقى {{PLURAL:$3|كۈن|$3 كۈن}}دىكى {{PLURAL:$1|مەشغۇلات}} قېتىم سانى $1',
+'activeusers-from' => 'باشلانغان ئىشلەتكۈچىنى كۆرسەت:',
+'activeusers-hidebots' => 'ماشىنا ئادەمنى يوشۇر',
+'activeusers-hidesysops' => 'باشقۇرغۇچىنى يوشۇر',
+'activeusers-noresult' => 'ئىشلەتكۈچى تېپىلمىدى.',
+
 # Special:ListGroupRights
 'listgrouprights' => 'ئىشلەتكۈچى گۇرۇپپا ھوقۇقى',
 'listgrouprights-summary' => 'تۆۋەندىكىسى بۇ wiki دا ئېنىقلىما بېرىلگەن ئىشلەتكۈچى ھوقۇق چېكى تىزىملىكى ۋە ئۇلارنىڭ زىيارەت ھوقۇق چېكى.
@@ -2122,8 +2131,8 @@ URL نىڭ توغرىلىقى ۋە تور بېكەتنى زىيارەت قىلى
 'notvisiblerev' => 'تۈزىتىلگەن نەشرى ئۆچۈرۈلدى',
 'watchnochange' => 'كۆرسەتكەن ۋاقىت بۆلىكىدە سىزنىڭ كۆزەت بېتىڭىزدە ئۆزگىرىش بولمىدى.',
 'watchlist-details' => 'كۆزەت تىزىملىكىڭىزدە {{PLURAL:$1|$1 بەت|$1 بەت}}  بار، مۇنازىرە بېتىنى ئۆز ئىچىگە ئالمايدۇ.',
-'wlheader-enotif' => 'ئېلخەتتە ئەسكەرتىش ئىقتىدارى قوزغىتىلدى.',
-'wlheader-showupdated' => "سىز ئالدىنقى قېتىم كۆرگەندىن كېيىن ئۆزگەرتىلگەن بەتلەر '''توم''' كۆرۈنىدۇ",
+'wlheader-enotif' => 'ئېلخەتتە ئەسكەرتىش ئىقتىدارى قوزغىتىلدى.',
+'wlheader-showupdated' => "سىز ئالدىنقى قېتىم كۆرگەندىن كېيىن ئۆزگەرتىلگەن بەتلەر '''توم''' كۆرۈنىدۇ",
 'watchmethod-recent' => 'كۆزىتىۋاتقان بەتنىڭ يېقىنقى ئۆزگەرتىشىنى تەكشۈر',
 'watchmethod-list' => 'كۆزىتىۋاتقان بەتنىڭ يېقىنقى ئۆزگەرتىشىنى تەكشۈر',
 'watchlistcontains' => 'كۆزەت تىزىملىكىڭىزدە $1 {{PLURAL:$1|بەت|بەت}} بار.',
@@ -3116,7 +3125,7 @@ Variants for Chinese language
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'كەڭلىك',
 'exif-imagelength' => 'ئېگىزلىك',
 'exif-bitspersample' => 'ھەر بىر نۇقتىنىڭ بىت سانى',
@@ -3294,7 +3303,7 @@ Variants for Chinese language
 'exif-originalimageheight' => 'كېسىشتىن ئىلگىرىكى سۈرەتنىڭ ئېگىزلىكى',
 'exif-originalimagewidth' => 'كېسىشتىن ئىلگىرىكى سۈرەتنىڭ كەڭلىكى',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'پرىسلانمىغان',
 'exif-compression-2' => 'CCITT 3-گۇرۇپپا بىر ئۆلچەملىك ئۆزگەرتىلگەن خۇفمان ئىجرا كودلىنىشى',
 'exif-compression-3' => 'CCITT نىڭ 3-گۇرۇپپا فاكس كودلىنىشى',
@@ -3707,13 +3716,6 @@ MediaWiki ئىشلىتىش مەقسىتىنى ئاساس قىلىپ ئېلان 
 'version-entrypoints-header-entrypoint' => 'كىرىش نۇقتىسى',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'ھۆججەت يولى',
-'filepath-page' => 'ھۆججەت:',
-'filepath-submit' => 'يۆتكەل',
-'filepath-summary' => '!بۇ ئالاھىدە بەت ھۆججەتنىڭ تولۇق يولىنى قايتۇرىدۇ.
-سۈرەت تولۇق ئېنىقلىقتا كۆرسىتىلىدۇ، باشقا ھۆججەت تىپى بىۋاسىتە ئۇلانغان قوللىنىشچان پروگراممىدا ئېچىلىدۇ',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'تەكرار ھۆججەت ئىزدە',
 'fileduplicatesearch-summary' => 'چاچما (hash) قىممىتىگە ئاساسەن تەكرار ھۆججەت ئىزدە.',
index 9d916dc..c93757f 100644 (file)
@@ -30,6 +30,7 @@
  * @author KEL
  * @author Kalan
  * @author Microcell
+ * @author Nemo bis
  * @author NickK
  * @author Olvin
  * @author Prima klasy4na
@@ -464,6 +465,18 @@ $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' => '$1 вересня',
+'october-date' => '$1 жовтня',
+'november-date' => '$1 листопада',
+'december-date' => '$1 грудня',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Категорія|Категорії}}',
@@ -783,8 +796,8 @@ $1',
 'createacct-yourpasswordagain' => 'Підтвердіть пароль',
 'createacct-yourpasswordagain-ph' => 'Введіть пароль знову',
 'remembermypassword' => "Запам'ятати мій обліковий запис на цьому комп'ютері (на строк не більше $1 {{PLURAL:$1|дня|днів}})",
-'userlogin-remembermypassword' => 'Запам’ятати мене',
-'userlogin-signwithsecure' => 'Вхід за допомогою безпечного сервера',
+'userlogin-remembermypassword' => "Запам'ятати мене",
+'userlogin-signwithsecure' => "Використовувати захищене з'єднання",
 'securelogin-stick-https' => 'Залишайтись підключенним через HTTPS після входу',
 'yourdomainname' => 'Ваш домен:',
 'password-change-forbidden' => 'Ви не можна змінити пароль на цій вікі.',
@@ -805,6 +818,7 @@ $1',
 'gotaccount' => "Ви вже зареєстровані? '''$1'''.",
 'gotaccountlink' => 'Увійдіть',
 'userlogin-resetlink' => 'Забули дані, потрібні для входу?',
+'userlogin-resetpassword-link' => 'Скинути пароль',
 'helplogin-url' => 'Help:Вхід до системи',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Допомога в реєстрації]]',
 'createacct-join' => 'Введіть вашу інформацію нижче.',
@@ -815,12 +829,14 @@ $1',
 'createacct-realname' => "Справжнє ім'я (не обов'язково)",
 'createaccountreason' => 'Причина:',
 'createacct-reason' => 'Причина',
+'createacct-reason-ph' => 'Чому Ви створюєте інший обліковий запис',
 'createacct-captcha' => 'Перевірка безпеки',
 'createacct-imgcaptcha-ph' => 'Введіть текст, що Ви бачите вище',
+'createacct-submit' => 'Створіть Ваш обліковий запис',
 'createacct-benefit-heading' => '{{SITENAME}} створюється такі ж люди як Ви.',
-'createacct-benefit-body1' => 'редагування',
-'createacct-benefit-body2' => 'сторінки',
-'createacct-benefit-body3' => 'дописувачів цього місяця',
+'createacct-benefit-body1' => '{{PLURAL:$1|редагування|редагування|редагувань}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|сторінка|сторінки|сторінок}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|дописувач|дописувачі|дописувачів}} цього місяця',
 'badretype' => 'Уведені вами паролі не збігаються.',
 'userexists' => "Уведене ім'я користувача вже існує.
 Будь ласка оберіть інше ім'я.",
@@ -918,14 +934,13 @@ $1',
 'resetpass-wrong-oldpass' => 'Неправильний тимчасовий або поточний пароль.
 Можливо, ви вже успішно змінили пароль або зробили запит на новий тимчасовий пароль.',
 'resetpass-temp-password' => 'Тимчасовий пароль:',
+'resetpass-abort-generic' => 'Зміну пароля було перервано розширенням.',
 
 # Special:PasswordReset
 'passwordreset' => 'Скинути пароль',
-'passwordreset-text' => 'Заповніть цю форму для відновлення пароля.',
 'passwordreset-legend' => 'Перевстановити пароль',
 'passwordreset-disabled' => 'У цій вікі вимкнена можливість скидання пароля.',
 'passwordreset-emaildisabled' => 'Функції електронної пошти вимкнуто в цій вікі.',
-'passwordreset-pretext' => '{{PLURAL:$1||Введіть одну з частин даних}}',
 'passwordreset-username' => "Ім'я користувача:",
 'passwordreset-domain' => 'Домен:',
 'passwordreset-capture' => 'Продивитись результуючий електронний лист?',
@@ -1167,6 +1182,7 @@ $2
 Імовірно, вона була вилучена.',
 'edit-conflict' => 'Конфлікт редагувань.',
 'edit-no-change' => 'Ваше редагування відхилене, оскільки в тексті не було зроблено змін.',
+'postedit-confirmation' => 'Ваше редагування збережено',
 'edit-already-exists' => 'Неможливо створити нову сторінку.
 Вона вже існує.',
 'defaultmessagetext' => 'Текст «за замовчування»',
@@ -1607,6 +1623,7 @@ $1",
 'userrights-changeable-col' => 'Групи, які ви можете змінити',
 'userrights-unchangeable-col' => 'Групи, які ви не можете змінити',
 'userrights-irreversible-marker' => '$1*',
+'userrights-conflict' => 'Конфлікт прав користувача! Будь ласка, застосуйте зміни знову.',
 
 # Groups
 'group' => 'Група:',
@@ -2443,8 +2460,8 @@ $1',
 'notvisiblerev' => 'Версія була вилучена',
 'watchnochange' => 'За вказаний період в статтях з списку спостереження нічого не змінено.',
 'watchlist-details' => 'У вашому списку спостереження $1 {{PLURAL:$1|сторінка|сторінки|сторінок}} (не враховуючи сторінок обговорення).',
-'wlheader-enotif' => 'Сповіщення електронною поштою ввімкнено.',
-'wlheader-showupdated' => "Сторінки, що змінилися після вашого останнього їх відвідування, виділені '''жирним''' шрифтом.",
+'wlheader-enotif' => 'Сповіщення електронною поштою ввімкнено.',
+'wlheader-showupdated' => "Сторінки, що змінилися після вашого останнього їх відвідування, виділені '''жирним''' шрифтом.",
 'watchmethod-recent' => 'перегляд останніх редагувань статей за якими ведеться спостереження',
 'watchmethod-list' => 'перегляд статей за якими ведеться спостереження',
 'watchlistcontains' => 'Ваш список спостереження містить $1 {{PLURAL:$1|сторінку|сторінки|сторінок}}.',
@@ -3014,6 +3031,8 @@ $1',
 'thumbnail-more' => 'Збільшити',
 'filemissing' => 'Файл не знайдено',
 'thumbnail_error' => 'Помилка створення мініатюри: $1',
+'thumbnail_error_remote' => 'Повідомлення про помилку від $1:
+$2',
 'djvu_page_error' => 'Номер сторінки DjVu недосяжний',
 'djvu_no_xml' => 'Неможливо отримати XML для DjVu',
 'thumbnail-temp-create' => 'Не вдалося створити тимчасовий файл мініатюри',
@@ -3178,7 +3197,6 @@ $1',
 'modern.css' => '/* Розміщений тут CSS-код буде використаний в темі оформлення Сучасне */',
 'vector.css' => '/* Розміщений тут CSS-код буде використаний в темі оформлення Векторне */',
 'print.css' => '/* Розміщений тут CSS-код буде використаний для друкованої версії */',
-'handheld.css' => '/* Розміщений тут CSS-код буде використаний для мобільних пристроїв, що використовують тему оформлення налаштовану в $wgHandheldStyle */',
 'noscript.css' => '/* Розміщений тут CSS-код буде використаний для користувачів у яких вимкнено JavaScript */',
 'group-autoconfirmed.css' => '/* Розміщений тут CSS-код буде використаний для автопідтверджених користувачів */',
 'group-bot.css' => '/* Розміщений тут CSS-код буде використаний тільки для ботів */',
@@ -4159,6 +4177,18 @@ MediaWiki поширюється в надії, що вона буде кори
 'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Шлях до статей]',
 'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Шлях до скриптів]',
 
+# Special:Redirect
+'redirect' => 'Перенаправлення за файлом, користувачем або ID версії',
+'redirect-legend' => 'Перенаправити на файл чи сторінку',
+'redirect-summary' => 'Ця спеціальна сторінка перенаправляє на файл (за поданою назвою файлу), сторінку (за поданим ID версії) або сторінку користувача (за поданим числовим ID користувача).',
+'redirect-submit' => 'Перейти',
+'redirect-lookup' => 'Шукати:',
+'redirect-value' => 'Значення:',
+'redirect-user' => 'ID користувача',
+'redirect-revision' => 'Версія сторінки',
+'redirect-file' => 'Назва файлу',
+'redirect-not-exists' => 'Значення не знайдено',
+
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Пошук файлів-дублікатів',
 'fileduplicatesearch-summary' => 'Пошук дублікатів файлів на основі хеш-значень.',
@@ -4250,6 +4280,7 @@ MediaWiki поширюється в надії, що вона буде кори
 'htmlform-selectorother-other' => 'Інше',
 'htmlform-no' => 'Ні',
 'htmlform-yes' => 'Так',
+'htmlform-chosen-placeholder' => 'Виберіть параметр',
 
 # SQLite database support
 'sqlite-has-fts' => '$1 з підтримкою повнотекстового пошуку',
index cf15c01..e7dba1f 100644 (file)
@@ -430,7 +430,7 @@ $1',
 'internalerror_info' => 'Ichki xato: $1',
 'badtitle' => 'Notoʻgʻri sarlavha',
 'viewsource' => 'Manbasini koʻrish',
-'viewsource-title' => "$1 sahifasining manbasini ko'rish",
+'viewsource-title' => '$1 sahifasining manbasini koʻrish',
 'actionthrottled' => "Tezlik bo'yicha cheklov",
 'protectedpagetext' => 'Bu sahifa tahrirlash va boshqa oʻzgartirishlar kiritishdan himoyalangan.',
 'viewsourcetext' => 'Siz bu sahifaning manbasini koʻrishingiz va uni nusxasini olishingiz mumkin:',
index dda6840..4e05e33 100644 (file)
@@ -13,6 +13,7 @@
  * @author Frigotoni
  * @author GatoSelvadego
  * @author Kaganer
+ * @author Nemo bis
  * @author Nick1915
  * @author Omnipaedista
  * @author OrbiliusMagister
@@ -708,11 +709,9 @@ Forse te ghè zà canbià la to password o te ghè domandà na password tenporan
 
 # Special:PasswordReset
 'passwordreset' => 'Rinposta ła password',
-'passwordreset-text' => 'Conpleta sto moduło par resetar la to password.',
 'passwordreset-legend' => 'Rinposta ła password',
 'passwordreset-disabled' => 'Ła rinpostasion deła password xe stà dixabiłità so sto projeto wiki.',
 'passwordreset-emaildisabled' => 'Le funsionalità de posta eletrònega le xe stà disabilità su sta wiki.',
-'passwordreset-pretext' => '{{PLURAL:$1|| Inserisi una dełe porsion de dati cua soto}}',
 'passwordreset-username' => 'Nome utente:',
 'passwordreset-domain' => 'Dominio',
 'passwordreset-capture' => 'Vixuałixare el contenuto del mesajo de posta ełetronega?',
@@ -2170,8 +2169,8 @@ I futuri canbiamenti a sta pàjina e a ła so pàjina de discusion i vegnarà el
 'notvisiblerev' => 'La revision la xe stà scancelà',
 'watchnochange' => "Nissuna pagina tegnùa d'ocio la xe stà canbià nel periodo mostrà.",
 'watchlist-details' => "Te sì drio tegner d'ocio {{PLURAL:$1|una pagina (e la so pagina de discussion)|$1 pagine (e le so pagine de discussion)}}.",
-'wlheader-enotif' => 'Xe ativà la notifica via e-mail.',
-'wlheader-showupdated' => "Le pagine che xe stà canbià da la to ultima visita le xe segnà in '''grosso'''",
+'wlheader-enotif' => 'Xe ativà la notifica via e-mail.',
+'wlheader-showupdated' => "Le pagine che xe stà canbià da la to ultima visita le xe segnà in '''grosso'''",
 'watchmethod-recent' => 'controło de łe ultime modifeghe par i osservati speciałi',
 'watchmethod-list' => 'controło de i osservati speciałi par modifeghe recenti',
 'watchlistcontains' => 'La lista de i osservati speciałi la contien {{PLURAL:$1|una pagina|$1 pagine}}.',
index 6647ce6..7ea0d96 100644 (file)
@@ -118,8 +118,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Ozutada niiden kävutajiden lugu, kudambad oma mülütanuded lehtpolen ičeze kaclendnimikirjutesihe',
 'tog-oldsig' => 'Nügüdläine allekirjutez',
 'tog-fancysig' => 'Ičeze allekirjutesen wiki-znamišt (avtomatižeta kosketuseta)',
-'tog-externaleditor' => 'Kävutada irdredaktor augotižjärgendusen mödhe (vaiše ekspertoiden täht; pidab järgeta specialižikš kompjuter; [//www.mediawiki.org/wiki/Manual:External_editors Enamb informacijad.])',
-'tog-externaldiff' => 'Kävutada irdredaktor augotižjärgendusen mödhe (vaiše ekspertoiden täht; pidab järgeta specialižikš kompjuter; [//www.mediawiki.org/wiki/Manual:External_editors Enamb informacijad.])',
 'tog-showjumplinks' => 'Ližata "hüpähtada..."-abukosketused',
 'tog-uselivepreview' => 'Kävutada hered ezikacund (JavaScript) (Eksperimentaline)',
 'tog-forceeditsummary' => 'Varutada, kunz toižetusen ümbrikirjutandan pöud ei ole täuttud',
@@ -974,14 +972,6 @@ Kävutagat prefiks ''all:'', miše ectä kaikes südäimištospäi (lodulehtpoli
 Tö voit nügüd' ectä Google'n turbiš.
 Otkat sil'mnägubale üks-se, miše {{SITENAME}}-saitan sädäimišt voib olda vanhtunuden.",
 
-# Quickbar
-'qbsettings' => "Navigacijan panel'",
-'qbsettings-none' => 'Ala ozuta',
-'qbsettings-fixedleft' => 'Likumatoi huralpäi',
-'qbsettings-fixedright' => 'Likumatoi oiktalpäi',
-'qbsettings-floatingleft' => 'Ujui huralpäi',
-'qbsettings-floatingright' => 'Ujui oiktalpäi',
-
 # Preferences page
 'preferences' => 'Järgendused',
 'mypreferences' => 'Järgendused',
@@ -1409,7 +1399,6 @@ Ku problem jäb jäl'ghepäi-ki, säkat pagin [[Special:ListUsers/sysop|sistemad
 'http-read-error' => "HTTP'd lugemižen petuz.",
 'http-timed-out' => 'HTTP-he küzelendan aig om lopnus.',
 'http-curl-error' => "Petuz URL'ad ecmäs: $1",
-'http-host-unreachable' => 'Ei voi säta sidod URL:anke',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Ei voi säta sidod URL:anke',
@@ -1749,7 +1738,7 @@ Kc. mugažo [[Special:WantedCategories|ectud kategorijoiden nimikirjutez]].',
 'notanarticle' => "Nece ei ole lehtpol'",
 'notvisiblerev' => 'Versijad oma čutud',
 'watchlist-details' => "Teiden kaclendnimikirjuteses om {{PLURAL:$1|$1 lehtpol'|$1 lehtpol't}}. Lodulehtpoled ei olgoi neciš lugus.",
-'wlheader-enotif' => 'Tedotand e-počtadme om kävutamas.',
+'wlheader-enotif' => 'Tedotand e-počtadme om kävutamas.',
 'watchmethod-recent' => 'ozutadas kaceltud lehtpoliden tantoižed toižetused',
 'watchmethod-list' => 'kaceltud lehtpoliden kodvind tantoižid toižetusid ectes',
 'watchlistcontains' => "Teiden kaclendnimikirjuteses om $1 {{PLURAL:$1|lehtpol'|lehtpol't}}.",
@@ -2371,13 +2360,8 @@ Voib olda, necil lehtpolel om kosketuz irdsaitale, kudamb om mustas nimikirjutes
 'pageinfo-authors' => 'Erazvuiččiden avtoroiden lugu',
 
 # Skin names
-'skinname-standard' => 'Klassine',
-'skinname-nostalgia' => "Nostal'gii",
 'skinname-cologneblue' => "Köl'nan sinine",
 'skinname-monobook' => 'MonoBook',
-'skinname-myskin' => 'Ičeze',
-'skinname-chick' => 'Cipuine',
-'skinname-simple' => 'Koveritoi',
 'skinname-modern' => "Nügüd'aigaine",
 
 # Patrolling
@@ -2453,8 +2437,6 @@ Jäl'ghižed kosketused siš-žo rives oma arvostadud kut erindad (lehtpoled, ku
 
 /*
 Short names for language variants used for language conversion links.
-To disable showing a particular link, set it to 'disable', e.g.
-'variantname-zh-sg' => 'disable',
 Variants for Chinese language
 */
 'variantname-zh-hans' => 'hans',
@@ -2480,7 +2462,7 @@ Ku fail redaktiruidihe sändan polhe, erased parametrad voidas erineda nügüdl
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Leveduz',
 'exif-imagelength' => 'Korktuz’',
 'exif-bitspersample' => 'Mujun süvuz',
@@ -2612,7 +2594,7 @@ Ku fail redaktiruidihe sändan polhe, erased parametrad voidas erineda nügüdl
 'exif-label' => 'Arbaine',
 'exif-pngfilecomment' => 'Kommentarii PNG-failha',
 
-# EXIF attributes
+# Exif attributes
 'exif-compression-1' => 'Ahtištamatoi',
 
 'exif-unknowndate' => 'Tundmatoi dat',
@@ -2960,11 +2942,6 @@ Kävutagat normaline ezikacund.',
 'version-software-version' => 'Versii',
 'version-entrypoints-header-url' => 'URL',
 
-# Special:FilePath
-'filepath' => 'Te failannoks',
-'filepath-page' => 'Fail:',
-'filepath-submit' => 'Te',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Ectä kaksitadud failad',
 'fileduplicatesearch-summary' => 'Ühtejiččiden failoiden ecmine niiden heš-kodan mödhe.',
index abb653d..62bf24f 100644 (file)
@@ -431,6 +431,18 @@ $messages = array(
 'oct' => 'tháng 10',
 'nov' => 'tháng 11',
 'dec' => 'tháng 12',
+'january-date' => '$1 tháng 1',
+'february-date' => '$1 tháng 2',
+'march-date' => '$1 tháng 3',
+'april-date' => '$1 tháng 4',
+'may-date' => '$1 tháng 5',
+'june-date' => '$1 tháng 6',
+'july-date' => '$1 tháng 7',
+'august-date' => '$1 tháng 8',
+'september-date' => '$1 tháng 9',
+'october-date' => '$1 tháng 10',
+'november-date' => '$1 tháng 11',
+'december-date' => '$1 tháng 12',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Thể loại|Thể loại}}',
@@ -868,11 +880,11 @@ Có thể bạn đã thay đổi thành công mật khẩu của mình hoặc đ
 
 # Special:PasswordReset
 'passwordreset' => 'Tái tạo mật khẩu',
-'passwordreset-text' => 'Hãy điền mẫu đơn này để tái tạo mật khẩu.',
+'passwordreset-text-one' => 'Hãy điền mẫu đơn này để tái tạo mật khẩu.',
+'passwordreset-text-many' => '{{PLURAL:$1|Nhập một trong những chi tiết sau để táo tạo mật khẩu.}}',
 'passwordreset-legend' => 'Tái tạo mật khẩu',
 'passwordreset-disabled' => 'Chức năng tái tạo mật khẩu đã bị tắt trên wiki này.',
 'passwordreset-emaildisabled' => 'Tính năng gửi thư điện tử không được kích hoạt trên wiki này.',
-'passwordreset-pretext' => '{{PLURAL:$1||Nhập một trong những thông tin được yêu cầu ở dưới}}',
 'passwordreset-username' => 'Tên người dùng:',
 'passwordreset-domain' => 'Tên miền:',
 'passwordreset-capture' => 'Xem thư điện tử có mật khẩu tạm',
@@ -1111,6 +1123,7 @@ Không có lý do nào được đưa ra.',
 Dường như trang này đã bị xóa.',
 'edit-conflict' => 'Sửa đổi mâu thuẫn.',
 'edit-no-change' => 'Sửa đổi của bạn không được tính đến, vì nó không làm thay đổi nội dung.',
+'postedit-confirmation' => 'Sửa đổi của bạn đã được lưu.',
 'edit-already-exists' => 'Không thể tạo trang mới.
 Nó đã tồn tại.',
 'defaultmessagetext' => 'Nội dung mặc định',
@@ -1118,7 +1131,7 @@ Nó đã tồn tại.',
 'invalid-content-data' => 'Dữ liệu nội dung không hợp lệ',
 'content-not-allowed-here' => 'Không cho phép đưa nội dung “$1” vào trang [[$2]]',
 'editwarning-warning' => 'Rời khỏi trang này sẽ khiến bạn mất các sửa đổi đã thực hiện.
-Nếu đã đăng nhập, bạn có thể tắt cảnh báo này tại mục “{{int:prefs-editing}}” trong tùy chọn cá nhân.',
+Nếu đã đăng nhập, bạn có thể tắt cảnh báo này tại mục “Sửa đổi” trong tùy chọn cá nhân.',
 
 # Content models
 'content-model-wikitext' => 'mã wiki',
@@ -2365,8 +2378,8 @@ Những sửa đổi đối với trang này và trang thảo luận của nó s
 'notvisiblerev' => 'Phiên bản bị xóa',
 'watchnochange' => 'Không có trang nào bạn theo dõi được sửa đổi.',
 'watchlist-details' => 'Bạn đang theo dõi {{PLURAL:$1|$1 trang|$1 trang}}, không kể các trang thảo luận.',
-'wlheader-enotif' => 'Đã bật thông báo qua thư điện tử.',
-'wlheader-showupdated' => "* Các trang đã thay đổi từ lần cuối bạn xem chúng được in '''đậm'''",
+'wlheader-enotif' => 'Đã bật thông báo qua thư điện tử.',
+'wlheader-showupdated' => "Các trang đã thay đổi kể từ lần cuối bạn xem chúng được in '''đậm'''",
 'watchmethod-recent' => 'Dưới đây hiện thay đổi mới với các trang theo dõi.',
 'watchmethod-list' => 'Dưới đây hiện danh sách các trang theo dõi.',
 'watchlistcontains' => 'Danh sách theo dõi của bạn có $1 {{PLURAL:$1|trang|trang}}.',
@@ -2938,6 +2951,8 @@ Mời vào [//www.mediawiki.org/wiki/Localisation?uselang=vi Địa phương hó
 'thumbnail-more' => 'Phóng lớn',
 'filemissing' => 'Không có tập tin',
 'thumbnail_error' => 'Hình thu nhỏ có lỗi: $1',
+'thumbnail_error_remote' => 'Thông báo lỗi từ $1:
+$2',
 'djvu_page_error' => 'Trang DjVu quá xa',
 'djvu_no_xml' => 'Không thể truy xuất XML cho tập tin DjVu',
 'thumbnail-temp-create' => 'Không thể tạo tập tin hình nhỏ tạm thời',
@@ -3091,7 +3106,6 @@ Lưu nó vào máy tính của bạn rồi tải nó lên đây.',
 'modern.css' => '/* Mã CSS tại đây sẽ ảnh hưởng đến những người dùng sử dụng hình dạng Hiện đại */',
 'vector.css' => '/* Mã CSS đặt ở đây sẽ ảnh hưởng đến thành viên sử dụng hình dạng Vectơ */',
 'print.css' => '/* Mã CSS tại đây sẽ ảnh hưởng đến bản để in */',
-'handheld.css' => '/* Mã CSS tại đây sẽ ảnh hưởng đến các thiết bị cầm tay dựa trên hình dạng cấu hình trong $wgHandheldStyle */',
 'noscript.css' => '/* Mã CSS tại đây sẽ ảnh hưởng đến những người dùng tắt JavaScript */',
 'group-autoconfirmed.css' => '/* Mã CSS tại đây sẽ chỉ ảnh hưởng đến các thành viên tự động xác nhận */',
 'group-bot.css' => '/* Mã CSS tại đây sẽ chỉ ảnh hưởng đến các bot */',
index cd5cb6f..3f15d71 100644 (file)
@@ -910,7 +910,7 @@ Bloos  dsajln, dii mi´m dsajchn * ôôfanga, wärn berigsichdichd. Un dä ärsc
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'brajdn',
 'exif-imagelength' => 'Heen',
 
index aaf82d8..5620a99 100644 (file)
@@ -1664,8 +1664,8 @@ If vilol poso moükön padi de galädalised olik, välolös lä on knopi: „neg
 'notvisiblerev' => 'Fomam pemoükon',
 'watchnochange' => 'Nonik padas pagalädöl olik peredakon dü period löpo pejonöl.',
 'watchlist-details' => '{{PLURAL:$1|pad $1|pads $1}} su galädalised, plä bespikapads.',
-'wlheader-enotif' => 'Nunam medü pot leäktronik pemögükon.',
-'wlheader-showupdated' => "Pads pos visit lätik ola pevotüköls papenons '''me tonats bigik'''",
+'wlheader-enotif' => 'Nunam medü pot leäktronik pemögükon.',
+'wlheader-showupdated' => "Pads pos visit lätik ola pevotüköls papenons '''me tonats bigik'''",
 'watchmethod-recent' => 'vestigam redakamas brefabüik padas galädaliseda',
 'watchmethod-list' => 'vestigam votükamas brefabüik padas galädaliseda',
 'watchlistcontains' => 'Galädalised olik labon {{PLURAL:$1|padi|padis}} $1.',
index 6ca447b..cfe4728 100644 (file)
@@ -404,9 +404,6 @@ Proovvi lizät etsün alkuu ''all:'', nii ettsü etsib kõikkõõ sisältoo (taa
 'powersearch-redir' => 'Spiiska mešaitussijõ',
 'powersearch-field' => 'Etsi',
 
-# Quickbar
-'qbsettings-none' => 'Eb õõ',
-
 # Preferences page
 'preferences' => 'Koozid',
 'mypreferences' => 'Minu koozid',
@@ -603,7 +600,7 @@ Seness [$2 kuvauhsõ lehocülless] informaattsija on alapallõ annõttu.',
 # Special:ListGroupRights
 'listgrouprights-members' => '(selttsilainspiiska)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Lähettega elektropoštia selle cäüttijälle',
 'emailusername' => 'Cäüttijänimi:',
 'emailmessage' => 'Ilmottamin:',
@@ -890,7 +887,7 @@ Kui faili on muutõttu, siiz detaaľid võivad õlla kahõllaizõd muutõtull fa
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-gpstimestamp' => 'GPS-aika',
 'exif-languagecode' => 'Ceeli',
 'exif-iimcategory' => 'Gruppa',
@@ -934,10 +931,6 @@ Kui faili on muutõttu, siiz detaaľid võivad õlla kahõllaizõd muutõtull fa
 # Core parser functions
 'duplicate-defaultsort' => '\'\'\'Warning:\'\'\' Default sort key "$2" overrides earlier default sort key "$1".',
 
-# Special:FilePath
-'filepath-page' => 'Faili:',
-'filepath-submit' => 'Mee',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Failinimi:',
 'fileduplicatesearch-submit' => 'Etsi',
index 8005ca0..a715c85 100644 (file)
@@ -1321,8 +1321,8 @@ ja sul piät umin [[Special:Preferences|säädmiisin]] olõma e-postiaadrõs, et
 'notanarticle' => 'Olõ-i artikli',
 'watchnochange' => 'Taa ao seen olõ-i üttegi perräkaetavat lehte muudõt.',
 'watchlist-details' => 'Perräkaemisnimekirän om {{PLURAL:$1|$1 leht|$1 lehte}}, rehkendämäldä arotuslehti.',
-'wlheader-enotif' => 'E-postiga teedäqandmisõq ommaq käügin.',
-'wlheader-showupdated' => "Leheq, midä om muudõt päält su viimäst käümist, ommaq '''paksun kirän'''",
+'wlheader-enotif' => 'E-postiga teedäqandmisõq ommaq käügin.',
+'wlheader-showupdated' => "Leheq, midä om muudõt päält su viimäst käümist, ommaq '''paksun kirän'''",
 'watchmethod-recent' => 'kontrollitas perräkaetavidõ lehti perämäidsi muutmiisi',
 'watchmethod-list' => 'perräkaetavidõ lehti perämädseq muutmisõq',
 'watchlistcontains' => 'Perräkaemisnimekirän om $1 {{PLURAL:$1|leht|lehte}}.',
index d6b8740..7a8020f 100644 (file)
@@ -113,8 +113,6 @@ $messages = array(
 'tog-shownumberswatching' => "Mostrer l' nombe d' uzeus ki shuvèt l' pådje",
 'tog-oldsig' => 'Siné pol moumint:',
 'tog-fancysig' => 'Sinateure avou do tecse wiki (sins loyén otomatike)',
-'tog-externaleditor' => "Eployî on dfoûtrin aspougneu d' tecse come prémetowe dujhance (po les spepieus uzeus seulmint, ca i vs fåt fé des apontiaedjes sol sopiutrece da vosse, [//www.mediawiki.org/wiki/Manual:External_editors loukîz chal po pus di racsegnes]).",
-'tog-externaldiff' => 'Eployî on dfoûtrin programe di diferinces come prémetowe dujhance (po les spepieus uzeus seulmint, ca i vs fåt fé des apontiaedjes sol sopiutrece da vosse, [//www.mediawiki.org/wiki/Manual:External_editors loukîz chal po pus di racsegnes]).',
 'tog-showjumplinks' => 'Mete en alaedje les loyéns di naiviaedje «potchî a» å dzeu del pådje (pol pea «Myskin» et ds ôtes)',
 'tog-uselivepreview' => "Eployî l' prévoeyaedje abeye (JavaScript) (Esperimintå)",
 'tog-forceeditsummary' => "M' advierti cwand dji lai vude on rascourti",
@@ -127,6 +125,7 @@ $messages = array(
 'tog-ccmeonemails' => "M' evoyî ene copeye des emiles ki dj' evoye ås ôtes",
 'tog-diffonly' => "Èn nén håyner l' contnou del pådje pa dzo l' pådje des diferinces",
 'tog-showhiddencats' => 'Mostrer les categoreyes mucheyes',
+'tog-useeditwarning' => "M' advierti cwand dji cwite ene pådje k' a des candjmints nén schapés",
 
 'underline-always' => 'Tofer',
 'underline-never' => 'Måy',
@@ -711,6 +710,8 @@ Motoit k' elle a stî tapêye evoye.",
 'edit-conflict' => 'Ecramiaedje di candjmints.',
 'edit-no-change' => "Vosse sicrijhaedje n' a nén passé, paski rén n' a stî candjî al modêye di dvant.",
 'edit-already-exists' => "Li novele pâdje n' a savou esse ahivêye, ca cisse pâdje la egzistêye dedja.",
+'editwarning-warning' => "Cwiter cisse pådje ci vos frè piede tos les candjmints ki vos avoz fwait.
+Si vos estoz elodjî, vos ploz dismete cist adviertixhmint ci dins l' linwete «Boesse di tecse» di vos preferinces.",
 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => "'''Asteme:''' I gn a trop di modeles dins cisse pådje ci.
@@ -855,15 +856,6 @@ Vos ploz sayî di mete «all:» pa dvant l' tecse a cweri po cweri dins tot l' c
 'search-external' => 'Difoûtrin cweraedje',
 'searchdisabled' => "Mande escuzes! Li cweraedje å dvins des årtikes a stî dismetou pol moumint, cåze ki l' sierveu est fortcherdjî. Tot ratindant, vos ploz eployî Google po fé les rcweraedjes so {{SITENAME}}, mins çoula pout esse ene miete vî.",
 
-# Quickbar
-'qbsettings' => 'Apontiaedjes pol bår di menu',
-'qbsettings-none' => 'Nole bår',
-'qbsettings-fixedleft' => 'Aclawêye a hintche',
-'qbsettings-fixedright' => 'Aclawêye a droete',
-'qbsettings-floatingleft' => 'Flotante a hintche',
-'qbsettings-floatingright' => 'Flotante a droete',
-'qbsettings-directionality' => "Aclawêye, sorlon l' sinse di scrijhaedje di vosse lingaedje",
-
 # Preferences page
 'preferences' => 'Preferinces',
 'mypreferences' => 'Mes preferinces',
@@ -1472,8 +1464,8 @@ Si vos vloz bodjî l' pådje foû di vosse djivêye des shuvous, clitchîz so «
 'notanarticle' => 'Nén èn årtike',
 'watchnochange' => "Nole des pådjes di vosse djivêye di pådjes a shuve n' a stî candjeye dins l' termene di tins dmandêye.",
 'watchlist-details' => 'Vos avoz {{PLURAL:$1|$1 pådje shuvowe|$1 pådjes shuvowes}} (sins conter les pådjes di copene).',
-'wlheader-enotif' => 'Li notifiaedje pa emile est en alaedje.',
-'wlheader-showupdated' => "Les pådjes k' ont candjî dispoy vosse dierinne vizite sont metowes e '''cråssès letes'''",
+'wlheader-enotif' => 'Li notifiaedje pa emile est en alaedje.',
+'wlheader-showupdated' => "Les pådjes k' ont candjî dispoy vosse dierinne vizite sont metowes e '''cråssès letes'''",
 'watchmethod-recent' => "Cwerant après les pådjes k' ont stî candjeyes dierinnmint ki sont eto des pådjes shuvowes",
 'watchmethod-list' => "Cwerant après les pådjes shuvowes k' ont stî candjeyes dierinnmint",
 'watchlistcontains' => 'I gn a {{PLURAL:$1|$1 pådje|$1 pådjes}} e vosse djivêye des pådjes a shuve.',
@@ -2051,7 +2043,7 @@ est raptiti. Les ôtes seront catchîs.
 * gpslongitude
 * gpsaltitude",
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Lårdjeur',
 'exif-imagelength' => 'Hôteur',
 'exif-bitspersample' => 'Bits pa compôzant',
@@ -2268,9 +2260,6 @@ Acertinez s' i vs plait ki vos vloz vormint rifé cisse pådje ci.",
 'version-software-product' => 'Prodût',
 'version-software-version' => 'Modêye',
 
-# Special:FilePath
-'filepath-page' => 'Fitchî:',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch' => 'Cweraedje après les dobes fitchîs',
 'fileduplicatesearch-submit' => 'Cweri',
index f214a9b..38f0cdd 100644 (file)
@@ -608,7 +608,7 @@ Ikaw in naglalog-in yana...',
 Temporaryo nga tigaman han pagsakob: $2',
 'passwordreset-emailsent' => 'Ginpadangat an password reset email.',
 'passwordreset-emailsent-capture' => 'Ginpadangat an password reset email, nga ginpakita ha ubos.',
-'passwordreset-emailerror-capture' => 'Ginhimo an password reset email, kun diin nakikita ha ubos, pero pakyas an pagpadara: $1',
+'passwordreset-emailerror-capture' => 'Ginhimo an password reset email, kun diin nakikita ha ubos, pero pakyas an pagpadara ha  {{GENDER:$2|gumaramit}}: $1',
 
 # Special:ChangeEmail
 'changeemail' => 'Igliwan an e-mail address',
@@ -737,8 +737,13 @@ An iba nga mga batakan in diri mauupod.",
 Ini nga mga argumento in ginlaktawan.",
 'post-expand-template-argument-category' => 'Mga pakli nga nagsusulod hin ginlaktawan nga mga argumento hin batakan',
 
+# "Undo" feature
+'undo-norev' => 'An pagliwat in diri mapapawaray-buhat tungod waray ito dida o napara na.',
+'undo-summary' => 'Igpawaray-buhat an rebisyon nga $1 ni [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]])',
+
 # Account creation failure
 'cantcreateaccounttitle' => 'Diri makakahimo hin akawnt',
+'cantcreateaccount-text' => "An paghimo hin akawnt hini nga IP address  ('''$1''') in ginpugngan ni [[User:$3|$3]]. An rason nga ginhatag ni $3 in ''$2''",
 
 # History pages
 'viewpagelogs' => 'Kitaa an mga log para hini nga pakli',
@@ -768,12 +773,18 @@ Leyenda: '''({{int:cur}})''' = kaibhan ha giuurhii nga pag-bag-o, '''({{int:last
 'history-feed-title' => 'Kaagi han pagliwat',
 'history-feed-description' => 'Kaagi han pagliwat para hini nga pakli ha wiki',
 'history-feed-item-nocomment' => '$1 ha $2',
+'history-feed-empty' => 'An imo ginpaalayon nga pakli in waray dida.
+Bangin ini napara tikang ha wiki, o ginngaranan hin iba.
+
+[[Special:Search|pamilnga ha wiki]] para han may pagkahisumpay nga bag-o nga pakli.',
 
 # Revision deletion
 'rev-deleted-comment' => '(gintanggal an kaagi han dalikyat nga sumat)',
 'rev-deleted-user' => '(gintanggal an agnay hiton gumaramit)',
 'rev-deleted-event' => '(gintanggal an talaan han mga buhat)',
 'rev-deleted-user-contribs' => '[gintanggal an agnay-hit-gumaramit o IP address - an pagliwat in gintago tikang han mga amot]',
+'rev-deleted-text-permission' => "Ini nga rebisyon han pakli in '''ginpara'''.
+An mga detalye in mabibilngan ha [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].",
 'rev-suppressed-no-diff' => "Diri mo makikita ini nga kaibhan tungod nga usa ha mga rebisyon in '''ginpara'''.",
 'rev-delundel' => 'igpakita/igtago',
 'rev-showdeleted' => 'igpakita',
@@ -1044,6 +1055,7 @@ Diri ka gintutugotan pagliwat han mga katungod han gumaramit ha iba nga mga wiki
 'right-mergehistory' => 'Igtampo an kaagi han mga pakli',
 'right-userrights' => 'Igliwat an ngatanan nga mga katungod han gumaramit',
 'right-userrights-interwiki' => 'Igliwat an mga katungod han gumaramit han mga gumaramit ha iba nga mga wiki',
+'right-siteadmin' => 'Igtrangka ngan igrangka an database',
 'right-sendemail' => 'Padad-i hin e-mail ngada ha iba nga mga gumaramit',
 
 # Special:Log/newusers
index 3ab6639..b9bede3 100644 (file)
@@ -110,8 +110,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Wone limu jëfandikukat yiy topp wii xët',
 'tog-oldsig' => 'Wonendig xaatim gi teew:',
 'tog-fancysig' => 'Soppi sa xaatim (du am lëkkalekaay bu boppu)',
-'tog-externaleditor' => 'Jëfandikoo soppikaay bu biti saa su ne',
-'tog-externaldiff' => 'Jëfandiku ab méngalekaay bu biti saa su ne (ngir jëfandikukat yu xarale yi rekk, dafa laaj yenn kocc-koccal yi ci sa nosukaay)',
 'tog-showjumplinks' => 'Doxalal lëkkalekaay yii di « joowin » ak « seet »',
 'tog-uselivepreview' => 'Jëfandikul wonendi gu gaaw gi (JavaScript)',
 'tog-forceeditsummary' => 'Wax ma ko suma mottaliwul koju coppite bi',
@@ -924,14 +922,6 @@ Jéemala bindaale ''all'' ngir seet ci biir ëmbit gépp (boolewaale ci xëti wa
 'search-external' => 'Ceet gu biti',
 'searchdisabled' => 'Ceet gi ci {{SITENAME}} doxul. Ci négandiku doxal gi, man nga seet ci Google. Jàppal ne, xéj-na ëmbiti {{SITENAME}} gi ci bii seetukaay yeesaluñ leen.',
 
-# Quickbar
-'qbsettings' => 'Banqaasu jumtukaay',
-'qbsettings-none' => 'Kenn',
-'qbsettings-fixedleft' => 'Cammooñ',
-'qbsettings-fixedright' => 'Ndijoor',
-'qbsettings-floatingleft' => 'Ci cammooñ',
-'qbsettings-floatingright' => 'Ci ndijoor',
-
 # Preferences page
 'preferences' => 'Tànneef',
 'mypreferences' => 'Samay tànneef',
@@ -1604,7 +1594,7 @@ Coppite yiy ñëw yu xët wi ak xëtu waxtaanuwaay wi mu àndal di nañu leen fa
 'unwatchthispage' => 'Bul toppati',
 'watchnochange' => 'Lenn ci xët yi ngay topp soppikuwul ci diir bii',
 'watchlist-details' => 'Topp nga $1 {{PLURAL:$1|xët|ciy xët}}, soo waññiwaalewul xëti waxtaanuwaay yi.',
-'wlheader-showupdated' => 'Xët yi ñu soppiwoon ca sa duggu bu mujj ñoom la ñu fesal ñu <b>xëm</b>',
+'wlheader-showupdated' => 'Xët yi ñu soppiwoon ca sa duggu bu mujj ñoom la ñu fesal ñu <b>xëm</b>',
 'watchmethod-recent' => 'saytug coppite yu mujj yu xët yi ngay topp',
 'watchmethod-list' => 'saytug xët yi ñuy topp ngir ay coppite yu mujj',
 'watchlistcontains' => "Sa limu toppte am na '''$1''' {{PLURAL:$1|xët|xët}}.",
@@ -2058,24 +2048,14 @@ Dafay tax nga man a bind ngirte li ci boyotu tënk bi.',
 
 # Stylesheets
 'common.css' => '/* CSS yiñ def fii dañuy am ay njeexit ci col yépp  */',
-'standard.css' => '/* CSS yiñ def fii dañuy am ay njeexit ci jëfandikukatu col gu Standard  */',
-'nostalgia.css' => '/* CSS yiñ def fii dañuy am ay njeexit ci jëfandikukatu col gu Nostalgia  */',
 'cologneblue.css' => '/* CSS yiñ def fii dañuy am ay njeexit ci jëfandikukatu col gu Cologne Blue */',
 'monobook.css' => '/* CSS yiñ def fii dañuy am ay njeexit ci jëfandikukatu col gu Monobook. */',
-'myskin.css' => '/* CSS yiñ def fii dañuy am ay njeexit ci jëfandikukatu col gu MySkin */',
-'chick.css' => '/* CSS yiñ def fii dañuy am ay njeexit ci jëfandikukatu col gu Chick */',
-'simple.css' => '/* CSS yiñ def fii dañuy am ay njeexit ci jëfandikukatu col gu Simple */',
 'modern.css' => '/* CSS yiñ def fii dañuy am ay njeexit ci jëfandikukatu col gu Modern */',
 
 # Scripts
 'common.js' => '/* Bépp JavaScript buñ fi duggal, xët yéppa koy yeb ak jëfandikukat bumu manti doon. */',
-'standard.js' => '/* Bépp JavaScript buñ fi duggal jëfandikukat yiy jëfandikoo col gu Standard keppa koy yeb  */',
-'nostalgia.js' => '/* Bépp JavaScript buñ fi duggal jëfandikukat yiy jëfandikoo col gu Nostalgia keppa koy yeb */',
 'cologneblue.js' => '/* Bépp JavaScript buñ fi duggal jëfandikukat yiy jëfandikoo col gu Cologne Blue keppa koy yeb */',
 'monobook.js' => '/*Bépp JavaScript buñ fi duggal jëfandikukat yiy jëfandikoo col gu Monobook keppa koy yeb. */',
-'myskin.js' => '/* Bépp JavaScript buñ fi duggal jëfandikukat yiy jëfandikoo col gu MySkin keppa koy yeb */',
-'chick.js' => '/* Bépp JavaScript buñ fi duggal jëfandikukat yiy jëfandikoo col gu Chick keppa koy yeb */',
-'simple.js' => '/* Bépp JavaScript buñ fi duggal jëfandikukat yiy jëfandikoo col gu Simple keppa koy yeb*/',
 'modern.js' => '/* Bépp JavaScript buñ fi duggal jëfandikukat yiy jëfandikoo col gu Modern keppa koy yeb */',
 
 # Metadata
@@ -2136,7 +2116,7 @@ Lëkkalekaay yiy toftal, ci wenn rëdd wi, dees leen di jàppee nikiy sette, maa
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Yaatuwaay',
 'exif-imagelength' => 'Kawewaay',
 'exif-usercomment' => 'Kadduy jëfëndikookat bi',
index fe51e6e..36e57dc 100644 (file)
@@ -1474,8 +1474,6 @@ $1",
 
 /*
 Short names for language variants used for language conversion links.
-To disable showing a particular link, set it to 'disable', e.g.
-'variantname-zh-sg' => 'disable',
 Variants for Chinese language
 */
 'variantname-zh-tw' => '台湾',
@@ -1503,7 +1501,7 @@ Variants for Chinese language
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-artist' => '作者',
 
 'exif-componentsconfiguration-0' => '弗存在',
@@ -1575,11 +1573,6 @@ Variants for Chinese language
 # Special:Version
 'version' => '版本',
 
-# Special:FilePath
-'filepath' => '文件路径',
-'filepath-page' => '文件:',
-'filepath-submit' => '路径',
-
 # Special:SpecialPages
 'specialpages' => '特殊页面',
 
index a575bf4..77254aa 100644 (file)
@@ -86,8 +86,6 @@ $messages = array(
 'tog-shownumberswatching' => 'Тер халх шинҗлдг демнчнрин то үзүлх',
 'tog-oldsig' => 'Бәәдг тәвсн һарна хәләвр:',
 'tog-fancysig' => 'Эврән тәвсн һарна бики темдлһн (авто заалһта уга)',
-'tog-externaleditor' => 'Һаза чикллгч олзлх (һанцхн эрдмчнрт, тана тоолцврт шишлң көг кергтә. [//www.mediawiki.org/wiki/Manual:External_editors Дәкәд өггцн.])',
-'tog-externaldiff' => 'Һаза йилһән үзүлдг програм олзлх (һанцхн эрдмчнрт, тана тоолцврт шишлң көг кергтә [//www.mediawiki.org/wiki/Manual:External_editors Дәкәд өггцн.])',
 'tog-showjumplinks' => 'Туслмҗ заалһуд «-д/-т һарх» йовулх',
 'tog-uselivepreview' => 'Шамдһа хәләвр олзлх (JavaScript кергтә, амслһн)',
 'tog-forceeditsummary' => 'Учр-утх хоосн бәәхлә медүлх',
@@ -604,9 +602,6 @@ $1',
 'powersearch-field' => 'Хәәх',
 'powersearch-togglenone' => 'Уга',
 
-# Quickbar
-'qbsettings' => 'Ормин самбр',
-
 # Preferences page
 'preferences' => 'Дурллһн',
 'mypreferences' => 'Көгүд',
@@ -858,7 +853,7 @@ $1',
 # Special:ListGroupRights
 'listgrouprights-members' => '(мөчүдин сеткүл)',
 
-# E-mail user
+# Email user
 'emailuser' => 'Энд E-mail йовулх',
 
 # Watchlist
@@ -1156,7 +1151,7 @@ $2 шидрә һарһлһна төлә хәләтн.',
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'Өргн',
 'exif-imagelength' => 'Өндр',
 'exif-bitspersample' => 'Өңгин гүн',
@@ -1234,11 +1229,6 @@ $2 шидрә һарһлһна төлә хәләтн.',
 'version-software-product' => 'Һарц',
 'version-software-version' => 'Һарц',
 
-# Special:FilePath
-'filepath' => 'Боомгд хаалһ',
-'filepath-page' => 'Боомг:',
-'filepath-submit' => 'Орх',
-
 # Special:FileDuplicateSearch
 'fileduplicatesearch-filename' => 'Боомгин нерн:',
 'fileduplicatesearch-submit' => 'Хәәх',
index 2deb341..f0ab960 100644 (file)
@@ -606,7 +606,7 @@ $messages = array(
 # Special:ListGroupRights
 'listgrouprights-members' => '(მაკათურეფიშ ერკებული)',
 
-# E-mail user
+# Email user
 'emailuser' => 'მიდუჯღონით ელ.ფოშტა ათე მახვარებუს',
 
 # Watchlist
@@ -882,7 +882,7 @@ $messages = array(
 * gpslongitude
 * gpsaltitude',
 
-# EXIF tags
+# Exif tags
 'exif-imagewidth' => 'სიგანე',
 'exif-imagelength' => 'სიმაღალე',
 
index 0851040..c8aa314 100644 (file)
@@ -301,6 +301,18 @@ $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' => '$1 סעפטעמבער',
+'october-date' => '$1 אקטאבער',
+'november-date' => '$1 נאוועמבער',
+'december-date' => '$1 דעצעמבער',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|קאַטעגאָריע|קאַטעגאָריעס}}',
@@ -336,7 +348,7 @@ $messages = array(
 
 # Cologne Blue skin
 'qbfind' => 'טרעף',
-'qbbrowse' => '×\91×\9c×¢×\98ער×\98',
+'qbbrowse' => '×\91×\9c×¢×\98ער×\9f',
 'qbedit' => 'ענדערן',
 'qbpageoptions' => 'דער בלאט',
 'qbmyoptions' => 'מיינע בלעטער',
@@ -622,7 +634,7 @@ $2',
 'createacct-yourpasswordagain-ph' => 'ארײַנגעבן פאסווארט נאכאמאל',
 'remembermypassword' => 'געדיינק מײַן אַרײַנלאגירן אויף דעם קאמפיוטער (ביז  $1 {{PLURAL:$1|טאָג|טעג}})',
 'userlogin-remembermypassword' => 'לאז מיך בלײַבן ארײַנלאגירט',
-'userlogin-signwithsecure' => '×\90×\99×\99נשר×\99×\99×\91×\9f ×\9e×\99×\98 זיכערן סארווער',
+'userlogin-signwithsecure' => '× ×\99צ×\9f זיכערן סארווער',
 'securelogin-stick-https' => 'בלייַבן פארבונדן צו HTTPS נאָכן ארײַנלאָגירן',
 'yourdomainname' => 'אײַער געביט:',
 'password-change-forbidden' => 'איר קען נישט ענדערן פאסווערטער אויף דער וויקי.',
@@ -643,6 +655,7 @@ $2',
 'gotaccount' => "האסטו שוין א קאנטע? '''$1'''.",
 'gotaccountlink' => 'אַרײַנלאגירן',
 'userlogin-resetlink' => 'פארגעסן אײַערע אַרײַנלאָגירן פרטים?',
+'userlogin-resetpassword-link' => 'צוריקשטעלן אײַער פאַסווארט',
 'helplogin-url' => 'Help:אריינלאגירן',
 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|הילף מיט אריינלאגירן]]',
 'createacct-join' => 'גיט ארײַן אײַער אינפֿארמאציע אונטן.',
@@ -658,12 +671,14 @@ $2',
 'createacct-imgcaptcha-ph' => 'קלאפט ארײַן דעם טעקסט איר זעט אויבן',
 'createacct-submit' => 'שאפֿט אײַער קאנטע',
 'createacct-benefit-heading' => '{{SITENAME}} איז געמאכט דורך מענטשן ווי איר.',
-'createacct-benefit-body1' => 'רעדאקטירונגען',
-'createacct-benefit-body2' => 'בלעטער',
+'createacct-benefit-body1' => '{{PLURAL:$1|רעדאַקטירונג|$1 רעדאַקטירונגען}}',
+'createacct-benefit-body2' => '$1 {{PLURAL:$1|בלאַט|בלעטער}}',
+'createacct-benefit-body3' => 'לעצטיקע {{PLURAL:$1|בײַשטײַערער}}',
 'badretype' => 'די פאסווערטער וואס איר האט אריינגעלייגט זענען נישט אייניג.',
 'userexists' => 'דער באַניצער נאָמען איז שוין געניצט.
 ביטע קלײַבט אױס אַן אַנדער נאָמען.',
 'loginerror' => 'לאגירן פֿעלער',
+'createacct-error' => 'קאנטע שאפן פעלער',
 'createaccounterror' => 'האט נישט געקענט שאַפֿן קאנטע: $1',
 'nocookiesnew' => 'די באניצער קאנטע איז באשאפן, אבער איר זענט נישט אריינלאגירט.
 {{SITENAME}} ניצט קיכלעך אריינצולאגירן באניצער.
@@ -757,11 +772,9 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => 'צוריקשטעלן פאַסווארט',
-'passwordreset-text' => 'דערגאַנצט די פאָרעם צוריקצושטעלן אײַער פאַסווארט.',
 'passwordreset-legend' => 'צוריקשטעלן פאַסווארט',
 'passwordreset-disabled' => 'מען האט אומאַקטיוויטר צוריקשטעלן פאַסווערטער אויף דער וויקי.',
 'passwordreset-emaildisabled' => 'ע-פאסט דינסטן זענען געווארן אומאקטיווירט אויף דער דאזיקער וויקי.',
-'passwordreset-pretext' => '{{PLURAL:$1| | קלאַפט אַרײַן איינע פֿון די דאַטן אונטן}}',
 'passwordreset-username' => 'באַניצער נאָמען:',
 'passwordreset-domain' => 'דאמען:',
 'passwordreset-capture' => 'זען  דעם געשיקטן ע־בריוו?',
@@ -1012,7 +1025,7 @@ $2
 'invalid-content-data' => 'אומגילטיקע אינהאלט דאטן',
 'content-not-allowed-here' => '"$1" אינהאלט נישט דערלויבט אויף בלאט [[$2]]',
 'editwarning-warning' => 'איבערלאזן דעם בלאט קען גורם זײַן פֿארלירן אײַערע ענדערונגען.
-אויב איר זענט ארײַנלאגירט, קענט איר מבטל זײַן די דאזיגע ווארענונג אין דער "{{int:prefs-editing}}" אפטיילונג פון אײַערע פרעפערענצן.',
+אויב איר זענט ארײַנלאגירט, קענט איר מבטל זײַן די דאזיגע ווארענונג אין דער "באארבעטן" אפטיילונג פון אײַערע פרעפערענצן.',
 
 # Content models
 'content-model-wikitext' => 'וויקיטעקסט',
@@ -1295,6 +1308,7 @@ $1",
 'searchdisabled' => "{{SITENAME}} זוך איז אָפאַקטיווירט.
 צווישנצײַט קענט איר זוכן מיט גוגל.
 געב אכט אז ס'איז מעגלעך אַז זייער אינדעקס פֿון {{SITENAME}} אינהאַלט איז אפשר פֿאַרעלטערט.",
+'search-error' => "ס'האט פאסירט א פֿעלער ביים זוכן: $1",
 
 # Preferences page
 'preferences' => 'פרעפֿערענצן',
@@ -1766,6 +1780,7 @@ $1",
 'lockmanager-notlocked' => 'מ\'קען נישט אויפֿשליסן "$1"; ער איז נישט פֿארשלאסן.',
 'lockmanager-fail-closelock' => 'נישט מעגלעך פארשפארן שלאס טעקע פאר "$1".',
 'lockmanager-fail-deletelock' => 'נישט מעגלעך אויסמעקן שלאס טעקע פאר "$1".',
+'lockmanager-fail-acquirelock' => 'נישט מעגלעך צו באקומען שלאס טעקע פאר "$1".',
 'lockmanager-fail-openlock' => 'נישט מעגלעך עפֿענען שלאס טעקע פאר "$1".',
 'lockmanager-fail-releaselock' => 'נישט מעגלעך באפֿרייען שלאס טעקע פאר "$1".',
 
@@ -1946,6 +1961,9 @@ $1",
 'disambiguationspage' => 'Template:באדייטן',
 'disambiguations-text' => "די קומענדיגע בלעטער פארבינדן צו א '''באדייטן בלאט'''. זיי ברויכן ענדערשט פֿארבינדן צו דעם רעלעוואנטן טעמע בלאט.<br />א בלאט ווערט פאררעכענט פאר א באדײַטן בלאט אויב ער באניצט זיך מיט א מוסטער וואס איז פארבינדען פון [[MediaWiki:Disambiguationspage]].",
 
+'pageswithprop' => 'בלעטער מיט א בלאט אייגנשאפט',
+'pageswithprop-legend' => 'בלעטער מיט א בלאט אייגנשאפט',
+'pageswithprop-text' => 'דער בלאט האלט א רשימה פון בלעטער וואס ניצן א געוויסע בלאט אייגנשאפט.',
 'pageswithprop-prop' => 'אייגנשאפט נאמען:',
 'pageswithprop-submit' => 'גייט',
 
@@ -2193,8 +2211,8 @@ $1",
 'notvisiblerev' => 'די באארבעטונג איז געווארן אויסגעמעקט',
 'watchnochange' => 'קיינע פֿון אײַערע אויפֿגעפאַסטע בלעטער האבן זיך געענדערט אין דעם צײַט פעריאד געוויזן.',
 'watchlist-details' => '{{PLURAL:$1|איין בלאט|$1 בלעטער}} אין אייער אויפֿפאסן ליסטע (נישט רעכענען  רעדן בלעטער).',
-'wlheader-enotif' => 'ע-פאסט מעלדונג ערמעגליכט.',
-'wlheader-showupdated' => "* בלעטער געענדערט זײַט אײַער לעצטן וויזיט זען געוויזן '''דיק'''",
+'wlheader-enotif' => 'ע-פאסט מעלדונג ערמעגליכט.',
+'wlheader-showupdated' => "בלעטער געענדערט זײַט אײַער לעצטן וויזיט זען געוויזן '''דיק'''.",
 'watchmethod-recent' => 'קאנטראלירן לעצטע ענדערונגען פֿאַר אויפֿגעפאַסטע בלעטער',
 'watchmethod-list' => 'קאנטראלירן בלעטער אין אַכטונג־ליסטע פֿאַר לעצטע ענדערונגען',
 'watchlistcontains' => 'אייער אויפֿפאסונג ליסטע אנטהאלט {{PLURAL:$1|איין בלאט|$1 בלעטער}}.',
index 56991d9..0b91405 100644 (file)
@@ -2121,8 +2121,8 @@ A óò ṣ\'àkójọ àwọn àtúnṣe ọjọ́wajú sí ojúewé yìí àti
 'notvisiblerev' => 'Àtúnyẹ̀wò gbígbẹ̀yìn látọwọ́ oníṣe míràn ti jẹ́ píparẹ́',
 'watchnochange' => 'Kò sí ìkankan nínú àwọn ohun ìmójútó yín tó jẹ́ títúnṣe láàrin àsìkò títẹ́kalẹ̀.',
 'watchlist-details' => '{{PLURAL:$1|Ojúewé $1|Àwọn ojúewé $1}} ló wà nínú ìmójútó yín, tí a kò bá ka àwọn ojúewé ọ̀rọ̀.',
-'wlheader-enotif' => 'Ìfitónilétí e-mail wà ní gbígbàláyè.',
-'wlheader-showupdated' => "Àwọn ojúewé tí wọn ti yípadà látìgbà tí ẹ ṣàbẹ̀wò wọn gbẹ̀yìn jẹ́ fífihàn ní ''kedere'''",
+'wlheader-enotif' => 'Ìfitónilétí e-mail wà ní gbígbàláyè.',
+'wlheader-showupdated' => "Àwọn ojúewé tí wọn ti yípadà látìgbà tí ẹ ṣàbẹ̀wò wọn gbẹ̀yìn jẹ́ fífihàn ní ''kedere'''",
 'watchmethod-recent' => 'únwo àwọn àtúnṣe tuntun fún àwọn ojúewé mímójútó',
 'watchmethod-list' => 'únwo àwọn ojúewé mímójútó fún àwọn àtúnṣe tuntun',
 'watchlistcontains' => 'Àwọn ìmójútó yín ní {{PLURAL:$1|ojúewé|àwọn ojúewé}} $1 nínú.',
index 5022fac..3c4fec0 100644 (file)
@@ -7,11 +7,13 @@
  * @ingroup Language
  * @file
  *
+ * @author Anson2812
  * @author Horacewai2
  * @author Justincheng12345
  * @author Kaganer
  * @author KaiesTse
  * @author Mark85296341
+ * @author Nemo bis
  * @author Simon Shek
  * @author Waihorace
  * @author William915
@@ -1193,7 +1195,7 @@ $1",
 'resetprefs' => '清除未保存嘅更改',
 'restoreprefs' => '恢復全部預設設定',
 'prefs-editing' => '編輯中',
-'prefs-edit-boxsize' => '編框大細',
+'prefs-edit-boxsize' => '編框大細',
 'rows' => '列:',
 'columns' => '行:',
 'searchresultshead' => '搵嘢',
@@ -1236,7 +1238,7 @@ $1",
 'prefs-common-css-js' => '共有嘅CSS同埋JavaScript畀所有畫面用:',
 'prefs-reset-intro' => '你可以用呢版去重設你嘅喜好設定到網站預設值。呢個動作無得番轉頭。',
 'prefs-emailconfirm-label' => '電郵確認:',
-'prefs-textboxsize' => '編輯窗大細',
+'prefs-textboxsize' => '編寫框大細',
 'youremail' => '電郵:',
 'username' => '用戶名:',
 'uid' => '用戶 ID:',
@@ -2010,8 +2012,8 @@ Template:搞清楚',
 'notvisiblerev' => '上次由唔同用戶嘅修訂已經刪除咗',
 'watchnochange' => '響顯示嘅時間之內,你所監視嘅頁面並無任何嘅更改。',
 'watchlist-details' => '唔計討論頁,有 $1 版響你個監視清單度。',
-'wlheader-enotif' => '電子郵件通知已經啟用。',
-'wlheader-showupdated' => "'''粗體字'''嘅頁響你上次嚟之後被人改過",
+'wlheader-enotif' => '電子郵件通知已經啟用。',
+'wlheader-showupdated' => "'''粗體字'''嘅頁響你上次嚟之後被人改過",
 'watchmethod-recent' => '睇緊最近修改中有邊頁監視緊',
 'watchmethod-list' => '睇緊被監視頁有乜新修改',
 'watchlistcontains' => '你嘅監視清單裏面有$1頁。',
@@ -2642,7 +2644,6 @@ $1',
 'modern.css' => '/* 響呢度放 CSS 碼去改用戶用嘅摩登畫面 */',
 'vector.css' => '/* 響呢度放 CSS 碼去改用戶用嘅域達畫面 */',
 'print.css' => '/* 響呢度放 CSS 碼去改打印輸出 */',
-'handheld.css' => '/* 響呢度放 CSS 碼去改響 $wgHandheldStyle 設定手提裝置畫面 */',
 
 # Scripts
 'common.js' => '/* 響每一次個頁面載入時,所有用戶都會載入呢度任何嘅JavaScript。 */',
index 2715b8f..5bb99cd 100644 (file)
@@ -73,8 +73,6 @@ $messages = array(
 'tog-shownumberswatching' => "'t Antal gebrukers weerheven 't a deêze pahina volg",
 'tog-oldsig' => 'Bestaende onderteêkenienge',
 'tog-fancysig' => "As wikitekst behandel'n (zonder automaotische verwiezienge ni de gebrukersbladzie)",
-'tog-externaleditor' => 'Standard een externe tekstbewerker gebruken (alleêne vò experts - vò deêze functie ben speciaole ienstellienge nudig. [//www.mediawiki.org/wiki/Manual:External_editors Meê informaosie]).',
-'tog-externaldiff' => 'Standard een extern verheliekiengsprohramma gebruken (alleên vò experts - vò deêze functie ben speciaole ienstelliengen nudig. [//www.mediawiki.org/wiki/Manual:External_editors Meê informaosie]).',
 'tog-showjumplinks' => '“hi nae”-toehankelijkeidslienks inschaokelen',
 'tog-uselivepreview' => '“live voevertoônienge” gebruken (JavaScript vereist – experimenteêl)',
 'tog-forceeditsummary' => 'Heef me een meldieng bie een lehe saemenvattieng',
@@ -842,14 +840,6 @@ Zurg da je bie deêze wiezigieng de heschiedenisdeurloôpendeid van de pagina be
 Je kan gebruuk maeken van Google.
 De hehevens over {{SITENAME}} zien meuhlijk nie bie'ewerkt.",
 
-# Quickbar
-'qbsettings' => 'Menubalke',
-'qbsettings-none' => 'Uuteschaokeld',
-'qbsettings-fixedleft' => 'Lienks vast',
-'qbsettings-fixedright' => 'Rechs vast',
-'qbsettings-floatingleft' => 'Lienks zwevend',
-'qbsettings-floatingright' => 'Rechs zwevend',
-
 # Preferences page
 'preferences' => 'Vòkeuren',
 'mypreferences' => 'Mien vòkeuren',
index f67d5b9..b63cb57 100644 (file)
@@ -54,6 +54,7 @@
  * @author Shizhao
  * @author Simon Shek
  * @author Slboat
+ * @author Stevenliuyi
  * @author Supaiku
  * @author Tommyang
  * @author Waihorace
@@ -461,6 +462,18 @@ $messages = array(
 'oct' => '10月',
 'nov' => '11月',
 'dec' => '12月',
+'january-date' => '1月$1日',
+'february-date' => '2月$1日',
+'march-date' => '3月$1日',
+'april-date' => '4月$1日',
+'may-date' => '5月$1日',
+'june-date' => '6月$1日',
+'july-date' => '7月$1日',
+'august-date' => '8月$1日',
+'september-date' => '9月$1日',
+'october-date' => '10月$1日',
+'november-date' => '11月$1日',
+'december-date' => '12月$1日',
 
 # Categories related messages
 'pagecategories' => '$1个分类',
@@ -486,7 +499,7 @@ $messages = array(
 'newwindow' => '(将于新窗口中打开)',
 'cancel' => '取消',
 'moredotdotdot' => '更多',
-'morenotlisted' => 'æ\9b´å¤\9aæ\9cªè¢«å\88\97å\87ºç\9a\84模æ\9d¿...',
+'morenotlisted' => 'æ\9b´å¤\9a模æ\9d¿æ\9cªå\88\97å\87º...',
 'mypage' => '页面',
 'mytalk' => '讨论',
 'anontalk' => '该IP地址的讨论',
@@ -569,7 +582,7 @@ $messages = array(
 'viewtalkpage' => '查看讨论',
 'otherlanguages' => '其他语言',
 'redirectedfrom' => '(重定向自$1)',
-'redirectpagesub' => '重定向页',
+'redirectpagesub' => '重定向页',
 'lastmodifiedat' => '本页面最后修改于$1 $2。',
 'viewcount' => '此页面已被浏览过$1次。',
 'protectedpage' => '受保护页面',
@@ -599,7 +612,7 @@ $1',
 'helppage' => 'Help:目录',
 'mainpage' => '首页',
 'mainpage-description' => '首页',
-'policy-url' => 'Project:æ\96¹é\92\88',
+'policy-url' => 'Project:æ\94¿ç­\96',
 'portal' => '社区专页',
 'portal-url' => 'Project:社区专页',
 'privacy' => '隐私权政策',
@@ -620,7 +633,7 @@ $1',
 'newmessagesdifflink' => '最后更改',
 'youhavenewmessagesfromusers' => '你有来自{{PLURAL:$3|其他用户|$3个用户}}的$1($2)。',
 'youhavenewmessagesmanyusers' => '你有来自多个用户的$1($2)。',
-'newmessageslinkplural' => '{{PLURAL:$1|一条新信息|新信息}}',
+'newmessageslinkplural' => '{{PLURAL:$1|新信息}}',
 'newmessagesdifflinkplural' => '最后{{PLURAL:$1|更改}}',
 'youhavenewmessagesmulti' => '你在$1有新信息',
 'editsection' => '编辑',
@@ -762,17 +775,17 @@ $2',
 'welcomecreation-msg' => '你的账户已创建。请不要忘记更改你的[[Special:Preferences|{{SITENAME}}系统设置]]。',
 'yourname' => '用户名:',
 'userlogin-yourname' => '用户名',
-'userlogin-yourname-ph' => 'è¾\93å\85¥æ\82¨的用户名',
+'userlogin-yourname-ph' => '请è¾\93å\85¥ä½ 的用户名',
 'yourpassword' => '密码:',
 'userlogin-yourpassword' => '密码',
-'userlogin-yourpassword-ph' => 'è¾\93å\85¥æ\82¨的密码',
+'userlogin-yourpassword-ph' => '请è¾\93å\85¥ä½ 的密码',
 'createacct-yourpassword-ph' => '请输入密码',
 'yourpasswordagain' => '再次输入密码:',
 'createacct-yourpasswordagain' => '确认新密码',
 'createacct-yourpasswordagain-ph' => '请再次输入密码',
 'remembermypassword' => '在该浏览器保存我的登录状态(最长$1日)',
-'userlogin-remembermypassword' => '保持我的登录状态',
-'userlogin-signwithsecure' => '使用安全接',
+'userlogin-remembermypassword' => '记住我的登录状态',
+'userlogin-signwithsecure' => '使用安全接',
 'securelogin-stick-https' => '登录后继续使用HTTPS连接',
 'yourdomainname' => '您的域名:',
 'password-change-forbidden' => '您不能在本wiki上更改密码。',
@@ -785,7 +798,7 @@ $2',
 'logout' => '退出',
 'userlogout' => '退出',
 'notloggedin' => '未登录',
-'userlogin-noaccount' => '还没有账号吗?',
+'userlogin-noaccount' => '没有账户?',
 'userlogin-joinproject' => '加入{{SITENAME}}',
 'nologin' => '没有账户?$1。',
 'nologinlink' => '创建账户',
@@ -793,9 +806,9 @@ $2',
 'gotaccount' => '已经拥有账户?请$1。',
 'gotaccountlink' => '登录',
 'userlogin-resetlink' => '忘记了你的登录信息?',
-'userlogin-resetpassword-link' => '重置的密码',
+'userlogin-resetpassword-link' => '重置的密码',
 'helplogin-url' => 'Help:登录',
-'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|登录说明]]',
+'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|登录帮助]]',
 'createacct-join' => '请在下面输入你的信息。',
 'createacct-emailrequired' => '电子邮件地址:',
 'createacct-emailoptional' => '电子邮件地址 (可选)',
@@ -806,16 +819,16 @@ $2',
 'createacct-reason' => '原因',
 'createacct-reason-ph' => '为什么您要创建另一个帐户',
 'createacct-captcha' => '安全检查',
-'createacct-imgcaptcha-ph' => 'è¾\93å\85¥æ\82¨å\9c¨ä¸\8aé\9d¢ç\9c\8bå\88°ç\9a\84æ\96\87æ\9c¬',
+'createacct-imgcaptcha-ph' => '请è¾\93å\85¥ä¸\8aå\9b¾ä¸­ç\9a\84æ\96\87å­\97',
 'createacct-submit' => '创建您的账户',
-'createacct-benefit-heading' => '{{SITENAME}} 是由像你这样的人建立的。',
+'createacct-benefit-heading' => '{{SITENAME}}是由像您这样的人建立的。',
 'createacct-benefit-body1' => '{{PLURAL:$1|编辑}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|页面}}',
 'createacct-benefit-body3' => '最近{{PLURAL:$1|贡献者}}',
 'badretype' => '您所输入的密码并不相同。',
 'userexists' => '用户名已存在。请使用其他名称。',
 'loginerror' => '登录错误',
-'createacct-error' => '帐户创建错误',
+'createacct-error' => '账户创建出错',
 'createaccounterror' => '无法建立账户:$1',
 'nocookiesnew' => '该用户帐户已被创建,但登录失败。{{SITENAME}}使用Cookie实现用户登录。您已禁用Cookie,请启用Cookie,然后使用你的新用户名与密码登录。',
 'nocookieslogin' => '{{SITENAME}}使用Cookie实现用户登录。您已停用Cookie。请启用Cookie后再试。',
@@ -828,11 +841,11 @@ $2',
 'nouserspecified' => '你必须指定用户名。',
 'login-userblocked' => '该用户已被封禁,禁止登录。',
 'wrongpassword' => '你输入的密码错误。请重试。',
-'wrongpasswordempty' => '您没有输入密码,请重试!',
+'wrongpasswordempty' => '密码输入为空。请重试。',
 'passwordtooshort' => '您的密码至少需要$1个字符。',
 'password-name-match' => '您的密码必须和您的用户名不相同。',
 'password-login-forbidden' => '这个用户名称及密码的使用是被禁止的。',
-'mailmypassword' => 'ç\94¨ç\94µå­\90é\82®ä»¶å\8f\91é\80\81æ\96°å¯\86ç \81',
+'mailmypassword' => '电子邮件发送新密码',
 'passwordremindertitle' => '{{SITENAME}}的新临时密码',
 'passwordremindertext' => '有人(可能是您,来自IP地址$1)已请求{{SITENAME}}的新密码($4)。
 用户“$2”的一个新临时密码现在已被设置好为“$3”。
@@ -894,11 +907,9 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => '重置密码',
-'passwordreset-text' => '完成该表格以重设你的密码。',
 'passwordreset-legend' => '重置密码',
 'passwordreset-disabled' => '此wiki已经禁用密码重置。',
 'passwordreset-emaildisabled' => '此Wiki上无法使用邮件功能。',
-'passwordreset-pretext' => '{{PLURAL:$1||输入下面的数据项之一}}',
 'passwordreset-username' => '用户名:',
 'passwordreset-domain' => '域:',
 'passwordreset-capture' => '查看生成的电子邮件吗?',
@@ -1102,6 +1113,7 @@ $2
 它可能刚刚被删除。',
 'edit-conflict' => '编辑冲突。',
 'edit-no-change' => '因为没有文字更改,你的编辑已被忽略。',
+'postedit-confirmation' => '您的编辑已保存。',
 'edit-already-exists' => '不可以建立一个新页面。
 它已经存在。',
 'defaultmessagetext' => '默认消息文本',
@@ -1259,7 +1271,7 @@ $1",
 'revdelete-otherreason' => '其他/附加原因:',
 'revdelete-reasonotherlist' => '其他原因',
 'revdelete-edit-reasonlist' => '编辑删除埋由',
-'revdelete-offender' => '修订版本编辑者:',
+'revdelete-offender' => '版本作者:',
 
 # Suppression log
 'suppressionlog' => '监督日志',
@@ -1364,7 +1376,7 @@ $1",
 'powersearch' => '高级搜索',
 'powersearch-legend' => '高级搜索',
 'powersearch-ns' => '在以下的名字空间中搜索:',
-'powersearch-redir' => '重定向页列表',
+'powersearch-redir' => '列出重定向页',
 'powersearch-field' => '搜索',
 'powersearch-togglelabel' => '选择:',
 'powersearch-toggleall' => '全选',
@@ -1714,7 +1726,7 @@ $1",
 'upload-prohibited' => '禁止的文件类型:$1。',
 'uploadlog' => '上传日志',
 'uploadlogpage' => '上传日志',
-'uploadlogpagetext' => '下面是最近的文件上传的列表。图像概览请见[[Special:NewFiles|新文件库]]。',
+'uploadlogpagetext' => 'ä¸\8bé\9d¢æ\98¯æ\9c\80è¿\91ç\9a\84æ\96\87件ä¸\8aä¼ ç\9a\84å\88\97表ã\80\82å\9b¾å\83\8fæ¦\82è§\88请è§\81[[Special:NewFiles|æ\96°æ\96\87件å\9b¾åº\93]]ã\80\82',
 'filename' => '文件名',
 'filedesc' => '文件说明',
 'fileuploadsummary' => '摘要:',
@@ -2045,12 +2057,12 @@ $1',
 'statistics-users-active-desc' => '在前$1天中操作过的用户',
 'statistics-mostpopular' => '浏览最多的页面',
 
-'disambiguations' => '链接至消歧义页的页面',
+'disambiguations' => '链接至消歧义页的页面',
 'disambiguationspage' => 'Template:消歧义',
 'disambiguations-text' => "以下的页面都有到'''消歧义页'''的链接,但它们可能可以链接到更适当的页面。<br />一个页面如果使用了[[MediaWiki:Disambiguationspage]]内的模板,则会被视为消歧义页。",
 
-'pageswithprop' => '有页面属性的页面',
-'pageswithprop-legend' => '有页面属性的页面',
+'pageswithprop' => '有页面属性的页面',
+'pageswithprop-legend' => '有页面属性的页面',
 'pageswithprop-text' => '此页面列出了使用特定页面属性的页面名单。',
 'pageswithprop-prop' => '属性名称:',
 'pageswithprop-submit' => '提交',
@@ -2061,17 +2073,17 @@ $1',
 'double-redirect-fixed-maintenance' => '修复双重重定向自[[$1]]至[[$2]]。',
 'double-redirect-fixer' => '重定向页修复器',
 
-'brokenredirects' => '损坏的重定向页',
+'brokenredirects' => '受损重定向页',
 'brokenredirectstext' => '以下的重定向页面指向的是不存在的页面:',
 'brokenredirects-edit' => '编辑',
 'brokenredirects-delete' => '删除',
 
-'withoutinterwiki' => '无语言链接页面',
+'withoutinterwiki' => '无语言链接页面',
 'withoutinterwiki-summary' => '以下的页面是未有语言链接到其它语言版本。',
 'withoutinterwiki-legend' => '前缀',
 'withoutinterwiki-submit' => '显示',
 
-'fewestrevisions' => '最少版本页面',
+'fewestrevisions' => '版本最少页面',
 
 # Miscellaneous special pages
 'nbytes' => '$1字节',
@@ -2094,7 +2106,7 @@ $1',
 'unusedimages' => '未使用文件',
 'popularpages' => '热点页面',
 'wantedcategories' => '需要的分类',
-'wantedpages' => '待撰页面',
+'wantedpages' => '需要的页面',
 'wantedpages-badtitle' => '在结果组上的无效标题:$1',
 'wantedfiles' => '需要的文件',
 'wantedfiletext-cat' => '下列被使用的文件并不存在。已列出可能存在外部媒体库中的文件。任何此类误报将被<del>剔除</del>。此外,[[:$1]]列出列出了嵌入不存在文件的页面。',
@@ -2111,7 +2123,7 @@ $1',
 'prefixindex-namespace' => '所有有前缀的页面($1名字空间)',
 'shortpages' => '短页面',
 'longpages' => '长页面',
-'deadendpages' => 'æ\96­链页面',
+'deadendpages' => 'æ\97 链页面',
 'deadendpagestext' => '以下页面没有链接到{{SITENAME}}中的其它页面。',
 'protectedpages' => '受保护页面',
 'protectedpages-indef' => '仅无限期保护',
@@ -2128,7 +2140,7 @@ $1',
 'usercreated' => '$1 $2{{GENDER:$3|创建}}',
 'newpages' => '新页面',
 'newpages-username' => '用户名:',
-'ancientpages' => '最页面',
+'ancientpages' => '最页面',
 'move' => '移动',
 'movethispage' => '移动本页',
 'unusedimagestext' => '下列文件已存在,但并未插入任何页面。
@@ -2298,8 +2310,8 @@ $1',
 'notvisiblerev' => '上次由不同用户所作的修订版本已经删除',
 'watchnochange' => '在显示的时间段内您所监视的页面没有更改。',
 'watchlist-details' => '不计讨论页面,你的监视列表中有$1个页面。',
-'wlheader-enotif' => '* 已经启动电子邮件通知功能。',
-'wlheader-showupdated' => "*你上次访问后更改的页面以'''粗体'''显示",
+'wlheader-enotif' => '已启用电子邮件通知',
+'wlheader-showupdated' => "你上次访问后更改的页面以'''粗体'''显示",
 'watchmethod-recent' => '检查被监视页面的最近编辑',
 'watchmethod-list' => '查看监视页中的最新修改',
 'watchlistcontains' => '您的监视列表包含$1个页面。',
@@ -2554,7 +2566,7 @@ $1',
 最近的封锁日志项目在下面提供以便参考:',
 'sp-contributions-search' => '搜索贡献',
 'sp-contributions-username' => 'IP地址或用户名:',
-'sp-contributions-toponly' => '只显示最后修订版本的编辑',
+'sp-contributions-toponly' => '仅显示最后版本编辑',
 'sp-contributions-submit' => '搜索',
 
 # What links here
@@ -2564,13 +2576,13 @@ $1',
 'linkshere' => "以下页面链接至'''[[:$1]]''':",
 'nolinkshere' => "没有页面链接至'''[[:$1]]'''。",
 'nolinkshere-ns' => "在所选的名字空间内没有页面链接到'''[[:$1]]'''。",
-'isredirect' => '重定向页',
+'isredirect' => '重定向页',
 'istemplate' => '包含',
 'isimage' => '文件链接',
 'whatlinkshere-prev' => '上$1个',
 'whatlinkshere-next' => '下$1个',
 'whatlinkshere-links' => '←链入页面',
-'whatlinkshere-hideredirs' => '$1重定向',
+'whatlinkshere-hideredirs' => '$1重定向',
 'whatlinkshere-hidetrans' => '$1包含',
 'whatlinkshere-hidelinks' => '$1链接',
 'whatlinkshere-hideimages' => '$1个文件链接',
@@ -2854,6 +2866,8 @@ $1被封禁的理由是:“$2”',
 'thumbnail-more' => '放大',
 'filemissing' => '无法找到文件',
 'thumbnail_error' => '生成缩略图错误:$1',
+'thumbnail_error_remote' => '来自$1的错误消息从:
+$2',
 'djvu_page_error' => 'DjVu页面超出范围',
 'djvu_no_xml' => '无法在DjVu文件中获取XML',
 'thumbnail-temp-create' => '无法创建临时缩略图文件',
@@ -2936,7 +2950,7 @@ $1被封禁的理由是:“$2”',
 'tooltip-pt-anontalk' => '有关本IP地址的编辑的讨论',
 'tooltip-pt-preferences' => '你的系统设置',
 'tooltip-pt-watchlist' => '你正在监视更改的页面的列表',
-'tooltip-pt-mycontris' => '你的贡献列表',
+'tooltip-pt-mycontris' => '你的贡献列表',
 'tooltip-pt-login' => '我们鼓励你登录,不过这不是强制的',
 'tooltip-pt-anonlogin' => '我们鼓励你登录,不过这不是强制的',
 'tooltip-pt-logout' => '退出登录',
@@ -2984,7 +2998,7 @@ $1被封禁的理由是:“$2”',
 'tooltip-ca-nstab-help' => '查看帮助页面',
 'tooltip-ca-nstab-category' => '查看分类页面',
 'tooltip-minoredit' => '标记本编辑为小编辑',
-'tooltip-save' => '保存的更改',
+'tooltip-save' => '保存的更改',
 'tooltip-preview' => '预览您的更改,请在保存前使用此功能!',
 'tooltip-diff' => '显示您对该文字所做的更改',
 'tooltip-compareselectedversions' => '查看此页面两个选定的修订版本间的差异。',
@@ -3005,7 +3019,6 @@ $1被封禁的理由是:“$2”',
 'modern.css' => '/* 此处的 CSS 将影响使用 Modern 皮肤的用户 */',
 'vector.css' => '/* 此处的 CSS 将影响使用 Vector 皮肤的用户 */',
 'print.css' => '/* 此处的 CSS 将影响打印输出 */',
-'handheld.css' => '/* 此处的 CSS 将影响在 $wgHandheldStyle 设置手提装置面板 */',
 'noscript.css' => '/* 此处的 CSS 将影响没有启用 JavaScript 的用户 */',
 'group-autoconfirmed.css' => '/* 此处的 CSS 将只会影响自动确认用户 */',
 'group-bot.css' => '/* 此处的 CSS 将只会影响机器人 */',
@@ -3050,47 +3063,47 @@ $1被封禁的理由是:“$2”',
 
 # Info page
 'pageinfo-title' => '“$1”的信息',
-'pageinfo-not-current' => 'å\8fªè\83½æ\98¾ç¤ºå½\93å\89\8d修订ç\89\88æ\9c¬ç\9a\84信息。',
+'pageinfo-not-current' => '对ä¸\8dèµ·ï¼\8cæ\88\91们æ\97 æ³\95æ\8f\90ä¾\9bæ\97§ç\89\88æ\9c¬ç\9a\84该信息。',
 'pageinfo-header-basic' => '基本信息',
 'pageinfo-header-edits' => '编辑历史',
 'pageinfo-header-restrictions' => '页面保护',
 'pageinfo-header-properties' => '页面属性',
 'pageinfo-display-title' => '显示的标题',
-'pageinfo-default-sort' => 'é»\98认æ\8e\92åº\8få­\97',
+'pageinfo-default-sort' => 'é»\98认æ\8e\92åº\8få\85³é\94®è¯\8d',
 'pageinfo-length' => '页面长度(字节)',
 'pageinfo-article-id' => '页面ID',
 'pageinfo-language' => '页面内容语言',
 'pageinfo-robot-policy' => '搜索引擎状态',
 'pageinfo-robot-index' => '可索引',
 'pageinfo-robot-noindex' => '不可索引',
-'pageinfo-views' => 'æ\9f¥ç\9c\8b次æ\95°',
-'pageinfo-watchers' => '页面监视者数',
-'pageinfo-few-watchers' => '少于$1监视者',
-'pageinfo-redirects-name' => '重定向到本页',
-'pageinfo-subpages-name' => '本页的子页面',
-'pageinfo-subpages-value' => '$1 ($2个重定向;$3个非重定向)',
+'pageinfo-views' => '查看数',
+'pageinfo-watchers' => '页面监视者数',
+'pageinfo-few-watchers' => '少于$1监视者',
+'pageinfo-redirects-name' => '本页重定向页数',
+'pageinfo-subpages-name' => '本页子页面数',
+'pageinfo-subpages-value' => '$1($2个重定向页,$3个非重定向页)',
 'pageinfo-firstuser' => '页面创建者',
 'pageinfo-firsttime' => '页面创建日期',
-'pageinfo-lastuser' => '最后编辑',
-'pageinfo-lasttime' => '最后编辑日期',
-'pageinfo-edits' => 'æ\80»ç¼\96è¾\91次æ\95°',
-'pageinfo-authors' => '不同编者总计',
-'pageinfo-recent-edits' => 'æ\9c\80è¿\91ç\9a\84ç¼\96è¾\91æ\95°ï¼\88$1内)',
-'pageinfo-recent-authors' => '最近的不同者数',
+'pageinfo-lastuser' => '最后编辑',
+'pageinfo-lasttime' => '最后编辑日期',
+'pageinfo-edits' => '总编辑数',
+'pageinfo-authors' => '不同作者总数',
+'pageinfo-recent-edits' => 'æ\9c\80è¿\91ç¼\96è¾\91æ\95°ï¼\88è¿\87å\8e»$1内)',
+'pageinfo-recent-authors' => '最近的不同者数',
 'pageinfo-magic-words' => '魔术字($1)',
 'pageinfo-hidden-categories' => '隐藏分类($1)',
 'pageinfo-templates' => '使用的模板($1)',
-'pageinfo-transclusions' => '$1个包含此页的页面',
+'pageinfo-transclusions' => '包含该页的页面($1)',
 'pageinfo-toolboxlink' => '页面信息',
-'pageinfo-redirectsto' => '重定向',
+'pageinfo-redirectsto' => '重定向',
 'pageinfo-redirectsto-info' => '信息',
-'pageinfo-contentpage' => '计算为内容页',
+'pageinfo-contentpage' => '计为内容页面',
 'pageinfo-contentpage-yes' => '是',
-'pageinfo-protect-cascading' => 'ä»\8eè¿\99é\87\8cå¼\80å§\8bè¿\9eé\94\81ä¿\9dæ\8a¤',
+'pageinfo-protect-cascading' => 'ä¿\9dæ\8a¤è¿\9eé\94\81è\87ªæ­¤',
 'pageinfo-protect-cascading-yes' => '是',
-'pageinfo-protect-cascading-from' => '保护级联自',
+'pageinfo-protect-cascading-from' => '保护连锁自',
 'pageinfo-category-info' => '分类信息',
-'pageinfo-category-pages' => '页数',
+'pageinfo-category-pages' => '页数',
 'pageinfo-category-subcats' => '子分类数',
 'pageinfo-category-files' => '文件数',
 
@@ -3156,7 +3169,7 @@ $1',
 'file-no-thumb-animation-gif' => "'''注意:由于技术限制,高分辨率GIF图像的缩略图无法进行动画处理。'''",
 
 # Special:NewFiles
-'newimages' => '新文件库',
+'newimages' => 'æ\96°æ\96\87件å\9b¾åº\93',
 'imagelisttext' => "以下是按$2排列的'''$1'''个文件列表。",
 'newimages-summary' => '本特殊页面展示最后上传的文件。',
 'newimages-legend' => '过滤',
@@ -3177,14 +3190,14 @@ $1',
 'hours' => '$1小时',
 'days' => '$1天',
 'weeks' => '$1周',
-'months' => '{{PLURAL:$1|$1个月}}',
-'years' => '{{PLURAL:$1|$1年}}',
+'months' => '$1个月',
+'years' => '$1年',
 'ago' => '$1前',
 'just-now' => '刚刚',
 
 # Human-readable timestamps
 'hours-ago' => '$1小时前',
-'minutes-ago' => '$1分前',
+'minutes-ago' => '$1分前',
 'seconds-ago' => '$1秒前',
 'monday-at' => '周一$1',
 'tuesday-at' => '周二$1',
@@ -3841,7 +3854,7 @@ MediaWiki发表时预期有用,但对此'''无任何保证''',亦无隐含
 
 # Special:Redirect
 'redirect' => '重定向',
-'redirect-legend' => '重定向至一个文件或页面',
+'redirect-legend' => '重定向至文件或页面',
 'redirect-summary' => '本特殊页面会重定向到一个文件(给予文件名),一个页面(给予修订版本ID),或一个用户页面(给予用户数字ID)。',
 'redirect-submit' => '提交',
 'redirect-lookup' => '基于:',
@@ -3970,7 +3983,7 @@ MediaWiki发表时预期有用,但对此'''无任何保证''',亦无隐含
 'revdelete-unrestricted' => '已移除对管理员的限制',
 'logentry-move-move' => '$1移动$3页面至$4',
 'logentry-move-move-noredirect' => '$1移动$3页面至$4,不留重定向',
-'logentry-move-move_redir' => '$1移å\8a¨é¡µé\9d¢$3è\87³$4è¦\86ç\9b\96é\87\8då®\9aå\90\91',
+'logentry-move-move_redir' => '$1移å\8a¨é¡µé\9d¢$3è¦\86ç\9b\96é\87\8då®\9aå\90\91页$4',
 'logentry-move-move_redir-noredirect' => '$1通过重定向移动$3页面至$4,不留重定向',
 'logentry-patrol-patrol' => '$1{{GENDER:$2|标记}}页面$3的版本$4为已巡查',
 'logentry-patrol-patrol-auto' => '$1自动{{GENDER:$2|标记}}页面$3的版本$4为已巡查',
index 68d5be0..f69f53f 100644 (file)
@@ -367,6 +367,18 @@ $messages = array(
 'oct' => '10月',
 'nov' => '11月',
 'dec' => '12月',
+'january-date' => '1月$1日',
+'february-date' => '2月$1日',
+'march-date' => '3月$1日',
+'april-date' => '4月$1日',
+'may-date' => '5月$1日',
+'june-date' => '6月$1日',
+'july-date' => '7月$1日',
+'august-date' => '8月$1日',
+'september-date' => '9月$1日',
+'october-date' => '10月$1日',
+'november-date' => '11月$1日',
+'december-date' => '12月$1日',
 
 # Categories related messages
 'pagecategories' => '$1個分類',
@@ -700,8 +712,8 @@ $2',
 'userlogin-noaccount' => '沒有帳戶嗎?',
 'userlogin-joinproject' => '參與 {{SITENAME}}',
 'nologin' => '您還沒有帳號嗎?$1。',
-'nologinlink' => '建立戶',
-'createaccount' => '建立戶',
+'nologinlink' => '建立戶',
+'createaccount' => '建立戶',
 'gotaccount' => '已經擁有帳號?$1。',
 'gotaccountlink' => '登入',
 'userlogin-resetlink' => '忘記了你的登錄信息?',
@@ -719,7 +731,7 @@ $2',
 'createacct-reason-ph' => '您為甚麼要創建另一個帳號',
 'createacct-captcha' => '安全驗證',
 'createacct-imgcaptcha-ph' => '輸入您在上面看到的字符',
-'createacct-submit' => '建立帳',
+'createacct-submit' => '建立帳',
 'createacct-benefit-heading' => '{{SITENAME}}是由像您一樣的人建立。',
 'createacct-benefit-body1' => '{{PLURAL:$1|次編輯|次編輯}}',
 'createacct-benefit-body2' => '{{PLURAL:$1|頁頁面|頁頁面}}',
@@ -814,11 +826,11 @@ $2',
 
 # Special:PasswordReset
 'passwordreset' => '重新設定密碼',
-'passwordreset-text' => '完成此表格以重置您的密碼。',
+'passwordreset-text-one' => '完成此表格以重新設定您的密碼。',
+'passwordreset-text-many' => '{{PLURAL:$1|輸入其中一項資料以重新設定您的密碼。}}',
 'passwordreset-legend' => '重設密碼',
 'passwordreset-disabled' => '此維基上已禁止了重設密碼。',
 'passwordreset-emaildisabled' => '電子郵件功能在此 wiki 上已禁用。',
-'passwordreset-pretext' => '{{PLURAL:$1||輸入下列其中一個}}',
 'passwordreset-username' => '用戶名:',
 'passwordreset-domain' => '域名:',
 'passwordreset-capture' => '查看生成的電子郵件嗎?',
@@ -1048,6 +1060,7 @@ $2
 它可能剛剛被刪除。',
 'edit-conflict' => '編輯衝突。',
 'edit-no-change' => '您的編輯已經略過,因為文字無任何改動。',
+'postedit-confirmation' => '您的編輯已儲存。',
 'edit-already-exists' => '不可以建立一個新頁面。
 它已經存在。',
 'defaultmessagetext' => '預設訊息文字',
@@ -2027,7 +2040,7 @@ Template:消除歧義',
 'double-redirect-fixed-maintenance' => '修復從[[$1]]到[[$2]]的雙重重定向。',
 'double-redirect-fixer' => '重新定向修正器',
 
-'brokenredirects' => '損壞的重定向頁',
+'brokenredirects' => '受損重定向頁',
 'brokenredirectstext' => '以下的重定向頁指向的是不存在的頁面:',
 'brokenredirects-edit' => '編輯',
 'brokenredirects-delete' => '刪除',
@@ -2267,8 +2280,8 @@ Template:消除歧義',
 'notvisiblerev' => '上次由不同用戶所作的修訂版本已經刪除',
 'watchnochange' => '在顯示的時間段內您所監視的頁面沒有更改。',
 'watchlist-details' => '不包含討論頁,您的監視列表上有 $1 個頁面。',
-'wlheader-enotif' => '已經啟動電子郵件通知功能。',
-'wlheader-showupdated' => "* 在{{GENDER:|你|妳|你}}上次檢視後有被修改過的頁面會顯示為'''粗體'''",
+'wlheader-enotif' => '已經啟動電子郵件通知功能。',
+'wlheader-showupdated' => "在{{GENDER:|你|妳|你}}上次檢視後有被修改過的頁面會顯示為'''粗體'''。",
 'watchmethod-recent' => '檢查被監視頁面的最近編輯',
 'watchmethod-list' => '檢查最近編輯的被監視頁面',
 'watchlistcontains' => '您的監視列表包含$1個頁面。',
@@ -2838,6 +2851,8 @@ $1被封禁的理由是“$2”',
 'thumbnail-more' => '放大',
 'filemissing' => '無法找到檔案',
 'thumbnail_error' => '創建縮圖錯誤: $1',
+'thumbnail_error_remote' => '$1發出的電子郵件:
+$2',
 'djvu_page_error' => 'DjVu頁面超出範圍',
 'djvu_no_xml' => '無法在DjVu檔案中擷取XML',
 'thumbnail-temp-create' => '無法創建臨時縮略圖文件',
@@ -2991,7 +3006,6 @@ $1被封禁的理由是“$2”',
 'modern.css' => '/* 此處的 CSS 將影響使用 Modern 面板的用戶 */',
 'vector.css' => '/* 此處的 CSS 將影響使用 Vector 面板的用戶 */',
 'print.css' => '/* 此處的 CSS 將影響打印輸出 */',
-'handheld.css' => '/* 此處的 CSS 將影響在 $wgHandheldStyle 設定手提裝置面板 */',
 'noscript.css' => '/* 此處的 CSS 將影響沒有啓用 JavaScript 的用戶 */',
 'group-autoconfirmed.css' => '/* 此處的 CSS 將只會影響自動確認用戶 */',
 'group-bot.css' => '/* 此處的 CSS 將只會影響機器人 */',
index d3e980f..1790f48 100644 (file)
--- a/load.php
+++ b/load.php
 // Bail if PHP is too low
 if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.3.2' ) < 0 ) {
        // We need to use dirname( __FILE__ ) here cause __DIR__ is PHP5.3+
-       require( dirname( __FILE__ ) . '/includes/PHPVersionError.php' );
+       require dirname( __FILE__ ) . '/includes/PHPVersionError.php';
        wfPHPVersionError( 'load.php' );
 }
 
-require ( __DIR__ . '/includes/WebStart.php' );
+require __DIR__ . '/includes/WebStart.php';
 
 wfProfileIn( 'load.php' );
 
index e6862ac..90e4f7e 100644 (file)
@@ -44,7 +44,7 @@ QT_AUTOBRIEF           = NO
 MULTILINE_CPP_IS_BRIEF = NO
 INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 8
+TAB_SIZE               = 4
 ALIASES =      "type{1}=<b> \1 </b>:" \
                "types{2}=<b> \1 </b> or <b> \2 </b>:" \
                "types{3}=<b> \1 </b>, <b> \2 </b>, or <b> \3 </b>:" \
@@ -176,6 +176,7 @@ FILE_PATTERNS          = *.c \
                          *.txt \
                          README
 RECURSIVE              = YES
+EXCLUDE                = {{EXCLUDE}}
 EXCLUDE_SYMLINKS       = YES
 EXCLUDE_PATTERNS       = LocalSettings.php AdminSettings.php StartProfiler.php .svn */.git/* {{EXCLUDE_PATTERNS}}
 EXCLUDE_SYMBOLS        =
index 94f9402..b4df328 100644 (file)
@@ -23,7 +23,7 @@
 // Make sure we're on PHP5.3.2 or better
 if ( !function_exists( 'version_compare' ) || version_compare( PHP_VERSION, '5.3.2' ) < 0 ) {
        // We need to use dirname( __FILE__ ) here cause __DIR__ is PHP5.3+
-       require_once( dirname( __FILE__ ) . '/../includes/PHPVersionError.php' );
+       require_once dirname( __FILE__ ) . '/../includes/PHPVersionError.php';
        wfPHPVersionError( 'cli' );
 }
 
@@ -426,6 +426,7 @@ abstract class Maintenance {
                $this->addOption( 'server', "The protocol and server name to use in URLs, e.g. " .
                                "http://en.wikipedia.org. This is sometimes necessary because " .
                                "server name detection may fail in command line scripts.", false, true );
+               $this->addOption( 'profiler', 'Set to "text" or "trace" show profiling output', false, true );
 
                # Save generic options to display them separately in help
                $this->mGenericParameters = $this->mParams;
@@ -454,7 +455,7 @@ abstract class Maintenance {
                // Make sure the class is loaded first
                if ( !MWInit::classExists( $maintClass ) ) {
                        if ( $classFile ) {
-                               require_once( $classFile );
+                               require_once $classFile;
                        }
                        if ( !MWInit::classExists( $maintClass ) ) {
                                $this->error( "Cannot spawn child: $maintClass" );
@@ -877,6 +878,16 @@ abstract class Maintenance {
                $wgShowSQLErrors = true;
                @set_time_limit( 0 );
                $this->adjustMemoryLimit();
+
+               // Per-script profiling; useful for debugging
+               $forcedProfiler = $this->getOption( 'profiler' );
+               if ( $forcedProfiler === 'text' ) {
+                       Profiler::setInstance( new ProfilerSimpleText( array() ) );
+                       Profiler::instance()->setTemplated( true );
+               } elseif ( $forcedProfiler === 'trace' ) {
+                       Profiler::setInstance( new ProfilerSimpleTrace( array() ) );
+                       Profiler::instance()->setTemplated( true );
+               }
        }
 
        /**
@@ -1026,7 +1037,7 @@ abstract class Maintenance {
                                                ( strpos( file_get_contents( $file ), '$maintClass' ) === false ) ) {
                                                continue;
                                        }
-                                       require( $file );
+                                       require $file;
                                        $vars = get_defined_vars();
                                        if ( array_key_exists( 'maintClass', $vars ) ) {
                                                self::$mCoreScripts[$vars['maintClass']] = $file;
index f080645..0749bbf 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup MaintenanceArchive
  */
 
-require( __DIR__ . '/../commandLine.inc' );
+require __DIR__ . '/../commandLine.inc';
 
 /**
  * Maintenance script that upgrade for log_id/log_deleted fields in a
index cb480c2..2cf277f 100644 (file)
@@ -24,7 +24,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to correct wrong values in the `page_latest` field
index bcd59f1..db045cf 100644 (file)
@@ -116,7 +116,7 @@ class BackupDumper {
         */
        function loadPlugin( $class, $file ) {
                if ( $file != '' ) {
-                       require_once( $file );
+                       require_once $file;
                }
                $register = array( $class, 'register' );
                call_user_func_array( $register, array( &$this ) );
index 547abab..c5e48f4 100644 (file)
@@ -24,7 +24,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/backup.inc' );
+require_once __DIR__ . '/backup.inc';
 
 /**
  * @ingroup Maintenance
index 9fb39fb..dd558f3 100644 (file)
@@ -27,7 +27,7 @@
  * @ingroup Benchmark
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Base class for benchmark scripts.
index aa47784..6f800fb 100644 (file)
@@ -24,7 +24,7 @@
  * @author  Platonides
  */
 
-require_once( __DIR__ . '/Benchmarker.php' );
+require_once __DIR__ . '/Benchmarker.php';
 
 /**
  * Maintenance script that benchmarks HTTP request vs HTTPS request.
index d86fec6..3eff534 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Benchmark
  */
 
-require_once( __DIR__ . '/Benchmarker.php' );
+require_once __DIR__ . '/Benchmarker.php';
 
 /**
  * Maintenance script that benchmarks SQL DELETE vs SQL TRUNCATE.
index c6ef3e4..80fd962 100644 (file)
@@ -24,7 +24,7 @@
  * @author  Platonides
  */
 
-require_once( __DIR__ . '/Benchmarker.php' );
+require_once __DIR__ . '/Benchmarker.php';
 
 /**
  * Maintenance script that benchmark if elseif... versus switch case.
index 4d6bc35..bd21b18 100644 (file)
@@ -23,7 +23,7 @@
  * @ingroup Benchmark
  */
 
-require_once( __DIR__ . '/Benchmarker.php' );
+require_once __DIR__ . '/Benchmarker.php';
 
 function bfNormalizeTitleStrTr( $str ) {
        return strtr( $str, '_', ' ' );
index 86d4808..078293e 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Benchmark
  */
 
-require_once( __DIR__ . '/Benchmarker.php' );
+require_once __DIR__ . '/Benchmarker.php';
 
 /**
  * This little benchmark executes the regexp used in Language->checkTitleEncoding()
index 151d25a..f8a2156 100644 (file)
@@ -22,7 +22,7 @@
  * @author Tyler Romeo
  */
 
-require_once( __DIR__ . '/Benchmarker.php' );
+require_once __DIR__ . '/Benchmarker.php';
 
 /**
  * Maintenance script that benchmarks wfBaseConvert().
index 34b02a8..1cd2016 100644 (file)
@@ -24,7 +24,7 @@
  * @author  Platonides
  */
 
-require_once( __DIR__ . '/Benchmarker.php' );
+require_once __DIR__ . '/Benchmarker.php';
 
 /**
  * Maintenance script that benchmarks wfIsWindows().
index 531fa31..3f5d6db 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Benchmark
  */
 
-require_once( __DIR__ . '/Benchmarker.php' );
+require_once __DIR__ . '/Benchmarker.php';
 
 /**
  * Maintenance script that benchmarks %MediaWiki hooks.
index 0932ee5..fd863d5 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Benchmark
  */
 
-require_once( __DIR__ . '/Benchmarker.php' );
+require_once __DIR__ . '/Benchmarker.php';
 
 /**
  * Maintenance script that benchmarks Squid purge.
index 9e56e1b..d42f9f7 100644 (file)
@@ -23,7 +23,7 @@
  */
 
 /** */
-require_once( __DIR__ . '/commandLine.inc' );
+require_once __DIR__ . '/commandLine.inc';
 
 function cdbShowHelp( $command ) {
        $commandList = array(
index bf06862..5d98e1f 100644 (file)
@@ -24,7 +24,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to change the password of a given user.
index 2db8219..a96e9b8 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to check that pages marked as being redirects really are.
index b5faf2e..e6aea53 100644 (file)
@@ -20,7 +20,7 @@
  * @file
  * @ingroup Maintenance
  */
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to check images to see if they exist, are readable, etc.
index 0d701eb..dc8626d 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to check syntax of all PHP files in MediaWiki.
index c6ef8da..7deca80 100644 (file)
@@ -21,8 +21,7 @@
  * @ingroup Maintenance
  */
 
-
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to check that database usernames are actually valid.
@@ -37,23 +36,32 @@ class CheckUsernames extends Maintenance {
        public function __construct() {
                parent::__construct();
                $this->mDescription = "Verify that database usernames are actually valid";
+               $this->setBatchSize( 1000 );
        }
 
        function execute() {
                $dbr = wfGetDB( DB_SLAVE );
 
-               $res = $dbr->select( 'user',
-                       array( 'user_id', 'user_name' ),
-                       null,
-                       __METHOD__
-               );
+               $maxUserId = 0;
+               do {
+                       $res = $dbr->select( 'user',
+                               array( 'user_id', 'user_name' ),
+                               array( 'user_id > ' . $maxUserId ),
+                               __METHOD__,
+                               array(
+                                       'ORDER BY' => 'user_id',
+                                       'LIMIT' => $this->mBatchSize,
+                               )
+                       );
 
-               foreach ( $res as $row ) {
-                       if ( ! User::isValidUserName( $row->user_name ) ) {
-                               $this->error( sprintf( "%s: %6d: '%s'\n", wfWikiID(), $row->user_id, $row->user_name ) );
-                               wfDebugLog( 'checkUsernames', $row->user_name );
+                       foreach ( $res as $row ) {
+                               if ( ! User::isValidUserName( $row->user_name ) ) {
+                                       $this->error( sprintf( "%s: %6d: '%s'\n", wfWikiID(), $row->user_id, $row->user_name ) );
+                                       wfDebugLog( 'checkUsernames', $row->user_name );
+                               }
                        }
-               }
+                       $maxUserId = $row->user_id;
+               } while( $res->numRows() );
        }
 }
 
index 9c6ad8f..694efaa 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to cleans up old database tables, dropping old indexes
index 8a5e778..1a47ac4 100644 (file)
@@ -29,7 +29,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/cleanupTable.inc' );
+require_once __DIR__ . '/cleanupTable.inc';
 
 /**
  * Maintenance script to clean up broken page links when somebody turns on $wgCapitalLinks.
index 42cae2a..0e0b619 100644 (file)
@@ -29,7 +29,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/cleanupTable.inc' );
+require_once __DIR__ . '/cleanupTable.inc';
 
 /**
  * Maintenance script to clean up broken, unparseable upload filenames.
index 0a89e3a..06ae17f 100644 (file)
@@ -23,7 +23,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that removes hidden preferences from the database.
index 5713948..84eec28 100644 (file)
@@ -22,7 +22,7 @@
  * @author Roan Kattouw
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to remove cache entries for removed ResourceLoader modules
index 78ea0de..4b8c9fe 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to cleanup all spam from a given hostname.
index 57acfd8..410a55c 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Generic class to cleanup a database table. Already subclasses Maintenance.
index 57eb2b7..895254f 100644 (file)
@@ -29,7 +29,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/cleanupTable.inc' );
+require_once __DIR__ . '/cleanupTable.inc';
 
 /**
  * Maintenance script to clean up broken, unparseable titles.
index e87e7ee..9dd62a3 100644 (file)
@@ -25,7 +25,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to remove old or broken uploads from temporary uploaded
index 62c7d2f..f1a7b48 100644 (file)
@@ -29,7 +29,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/cleanupTable.inc' );
+require_once __DIR__ . '/cleanupTable.inc';
 
 /**
  * Maintenance script to remove broken, unparseable titles in the watchlist table.
index c7f2ce0..6a96612 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to remove all statistics tracking from the cache.
index 1e1f547..80c9004 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to clear the cache of interwiki prefixes for all local wikis.
index 86a558d..be07142 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 global $optionsWithArgs;
 if ( !isset( $optionsWithArgs ) ) {
@@ -55,5 +55,5 @@ class CommandLineInc extends Maintenance {
 }
 
 $maintClass = 'CommandLineInc';
-require( RUN_MAINTENANCE_IF_MAIN );
+require RUN_MAINTENANCE_IF_MAIN;
 
index 1fdd00b..fabc257 100644 (file)
@@ -28,7 +28,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/dumpIterator.php' );
+require_once __DIR__ . '/dumpIterator.php';
 
 /**
  * Maintenance script to take page text out of an XML dump file and render
index f87f762..17b9111 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to convert from the old links schema (string->ID)
index d39b040..34c643b 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to convert user options to the new `user_properties` table.
index 1c592a9..13301ed 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Copy all files in one container of one backend to another.
@@ -56,7 +56,7 @@ class CopyFileBackend extends Maintenance {
                $src = FileBackendGroup::singleton()->get( $this->getOption( 'src' ) );
                $dst = FileBackendGroup::singleton()->get( $this->getOption( 'dst' ) );
                $containers = explode( '|', $this->getOption( 'containers' ) );
-               $subDir = $this->getOption( rtrim( 'subdir', '/' ), '' );
+               $subDir = rtrim( $this->getOption( 'subdir', '' ), '/' );
 
                $rateFile = $this->getOption( 'ratefile' );
 
index c91264c..e833115 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Copy all jobs from one job queue system to another.
index 92d3a48..03e6904 100644 (file)
@@ -23,7 +23,7 @@
  * @author Pablo Castellano <pablo@anche.no>
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to create an account and grant it administrator rights.
index ca1062c..ad7b54d 100644 (file)
@@ -24,8 +24,8 @@
  * @author Aaron Schulz
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
-require_once( __DIR__ . '/deleteArchivedFiles.inc' );
+require_once __DIR__ . '/Maintenance.php';
+require_once __DIR__ . '/deleteArchivedFiles.inc';
 
 /**
  * Maintenance script to delete archived (non-current) files from the database.
index 18e0d35..ffd581c 100644 (file)
@@ -24,8 +24,8 @@
  * @author Aaron Schulz
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
-require_once( __DIR__ . '/deleteArchivedRevisions.inc' );
+require_once __DIR__ . '/Maintenance.php';
+require_once __DIR__ . '/deleteArchivedRevisions.inc';
 
 /**
  * Maintenance script to delete archived (deleted from public) revisions
index de57e30..c1cc03c 100644 (file)
@@ -28,7 +28,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to delete a batch of pages.
index 366e4fb..7d8c80e 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that deletes all pages in the MediaWiki namespace
index 693c8d8..1e36363 100644 (file)
@@ -19,7 +19,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that deletes all pages in the MediaWiki namespace
@@ -41,7 +41,7 @@ class DeleteEqualMessages extends Maintenance {
         * @param string|bool $langCode See --lang-code option.
         */
        protected function fetchMessageInfo( $langCode, array &$messageInfo ) {
-               global $wgUser, $wgContLang;
+               global $wgContLang;
 
                if ( $langCode ) {
                        $this->output( "\n... fetching message info for language: $langCode" );
@@ -152,6 +152,7 @@ class DeleteEqualMessages extends Maintenance {
                if ( !$user ) {
                        $this->error( "Invalid username", true );
                }
+               global $wgUser;
                $wgUser = $user;
 
                // Hide deletions from RecentChanges
index 5d967a0..835de35 100644 (file)
@@ -24,7 +24,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that deletes image information from the object cache.
index ab8a382..847d863 100644 (file)
@@ -22,7 +22,7 @@
  * @author Rob Church <robchur@gmail.com>
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that deletes old (non-current) revisions from the database.
index 73b57b3..f0a9692 100644 (file)
@@ -24,7 +24,7 @@
  * @todo More efficient cleanup of text records
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that deletes revisions which refer to a nonexisting page.
index 2641cd8..6bc0f7c 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that deletes one or more revisions by moving them
index f94b1ab..a097622 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that deletes self-references to $wgServer
index d277e57..a3cc0ba 100644 (file)
@@ -58,7 +58,7 @@ if ( $ext == 'php' || $ext == 'php5' ) {
        # We use require and return true here because when you return false
        # the php webserver will discard post data and things like login
        # will not function in the dev environment.
-       require( $file );
+       require $file;
        return true;
 }
 $mime = false;
index 59ea18f..22452fd 100644 (file)
@@ -1663,9 +1663,9 @@ ggp
 ghostscript
 gimpbaseenums
 git
+gitblit
 gitdir
 github
-gitweb
 global
 globalauth
 globalblock
index f471d50..866ec5a 100644 (file)
@@ -53,22 +53,26 @@ $maintenance->setup();
 // to $maintenance->mSelf. Keep that here for b/c
 $self = $maintenance->getName();
 
-// Detect compiled mode
+# Load composer's autoloader if present
+if ( is_readable( "$IP/vendor/autoload.php" ) ) {
+       require_once "$IP/vendor/autoload.php";
+}
 # Get the MWInit class
-require_once( "$IP/includes/Init.php" );
-require_once( "$IP/includes/AutoLoader.php" );
+require_once "$IP/includes/Init.php";
+# Start the autoloader, so that extensions can derive classes from core files
+require_once "$IP/includes/AutoLoader.php";
 # Stub the profiler
-require_once( "$IP/includes/profiler/Profiler.php" );
+require_once "$IP/includes/profiler/Profiler.php";
 
 # Start the profiler
 $wgProfiler = array();
 if ( file_exists( "$IP/StartProfiler.php" ) ) {
-       require( "$IP/StartProfiler.php" );
+       require "$IP/StartProfiler.php";
 }
 
 // Some other requires
-require_once( "$IP/includes/Defines.php" );
-require_once( MWInit::compiledPath( 'includes/DefaultSettings.php' ) );
+require_once "$IP/includes/Defines.php";
+require_once MWInit::compiledPath( 'includes/DefaultSettings.php' );
 
 if ( defined( 'MW_CONFIG_CALLBACK' ) ) {
        # Use a callback function to configure MediaWiki
@@ -81,16 +85,16 @@ if ( defined( 'MW_CONFIG_CALLBACK' ) ) {
                # Maybe a hook?
                global $cluster;
                $cluster = 'pmtpa';
-               require( MWInit::interpretedPath( '../wmf-config/wgConf.php' ) );
+               require MWInit::interpretedPath( '../wmf-config/wgConf.php' );
        }
        // Require the configuration (probably LocalSettings.php)
-       require( $maintenance->loadSettings() );
+       require $maintenance->loadSettings();
 }
 
 if ( $maintenance->getDbType() === Maintenance::DB_ADMIN &&
        is_readable( "$IP/AdminSettings.php" ) )
 {
-       require( MWInit::interpretedPath( 'AdminSettings.php' ) );
+       require MWInit::interpretedPath( 'AdminSettings.php' );
 }
 
 if ( $maintenance->getDbType() === Maintenance::DB_NONE ) {
@@ -100,7 +104,7 @@ if ( $maintenance->getDbType() === Maintenance::DB_NONE ) {
 }
 $maintenance->finalSetup();
 // Some last includes
-require_once( MWInit::compiledPath( 'includes/Setup.php' ) );
+require_once MWInit::compiledPath( 'includes/Setup.php' );
 
 // Much much faster startup than creating a title object
 $wgTitle = null;
index 9254adc..25a777c 100644 (file)
@@ -29,8 +29,8 @@ $originalDir = getcwd();
 
 $optionsWithArgs = array( 'pagelist', 'start', 'end', 'revstart', 'revend' );
 
-require_once( __DIR__ . '/commandLine.inc' );
-require_once( __DIR__ . '/backup.inc' );
+require_once __DIR__ . '/commandLine.inc';
+require_once __DIR__ . '/backup.inc';
 
 $dumper = new BackupDumper( $argv );
 
index 3a51145..dd468a9 100644 (file)
@@ -26,7 +26,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Base class for interating over a dump.
index 14e2789..be0b463 100644 (file)
@@ -30,7 +30,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that generates a plaintext link dump.
index 6609a70..5f0c5b7 100644 (file)
@@ -25,7 +25,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that generates a page name dump for SisterSites usage.
index 2e0d03b..5d783cb 100644 (file)
@@ -26,8 +26,8 @@
 
 $originalDir = getcwd();
 
-require_once( __DIR__ . '/commandLine.inc' );
-require_once( __DIR__ . '/backupTextPass.inc' );
+require_once __DIR__ . '/commandLine.inc';
+require_once __DIR__ . '/backupTextPass.inc';
 
 
 $dumper = new TextPassDumper( $argv );
index 5a0890f..1a9293c 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to dump a the list of files uploaded,
index fe5005d..7c24f0f 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to make a page edit.
@@ -52,6 +52,8 @@ class EditCLI extends Maintenance {
                $noRC = $this->hasOption( 'no-rc' );
 
                $wgUser = User::newFromName( $userName );
+               $context = RequestContext::getMain();
+               $context->setUser( $wgUser );
                if ( !$wgUser ) {
                        $this->error( "Invalid username", true );
                }
@@ -63,6 +65,7 @@ class EditCLI extends Maintenance {
                if ( !$wgTitle ) {
                        $this->error( "Invalid title", true );
                }
+               $context->setTitle( $wgTitle );
 
                $page = WikiPage::factory( $wgTitle );
 
diff --git a/maintenance/eraseArchivedFile.php b/maintenance/eraseArchivedFile.php
new file mode 100644 (file)
index 0000000..4b06513
--- /dev/null
@@ -0,0 +1,119 @@
+<?php
+/**
+ * Delete archived (non-current) files from storage
+ *
+ * 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 Maintenance
+ * @author Aaron Schulz
+ */
+
+require_once( __DIR__ . '/Maintenance.php' );
+
+/**
+ * Maintenance script to delete archived (non-current) files from storage.
+ *
+ * @TODO: Maybe add some simple logging
+ *
+ * @ingroup Maintenance
+ * @since 1.22
+ */
+class EraseArchivedFile extends Maintenance {
+       public function __construct() {
+               parent::__construct();
+               $this->mDescription = "Erases traces of deleted files.";
+               $this->addOption( 'delete', 'Perform the deletion' );
+               $this->addOption( 'filename', 'File name', false, true );
+               $this->addOption( 'filekey', 'File storage key (with extension) or "*"', true, true );
+       }
+
+       public function execute() {
+               if ( !$this->hasOption( 'delete' ) ) {
+                       $this->output( "Use --delete to actually confirm this script\n" );
+               }
+
+               $filekey = $this->getOption( 'filekey' );
+               $filename = $this->getOption( 'filename' );
+
+               if ( $filekey === '*' ) { // all versions by name
+                       if ( !strlen( $filename ) ) {
+                               $this->error( "Missing --filename parameter.", 1 );
+                       }
+                       $afile = false;
+               } else { // specified version
+                       $dbw = wfGetDB( DB_MASTER );
+                       $row = $dbw->selectRow( 'filearchive', '*',
+                               array( 'fa_storage_group' => 'deleted', 'fa_storage_key' => $filekey ),
+                               __METHOD__ );
+                       if ( !$row ) {
+                               $this->error( "No deleted file exists with key '$filekey'.", 1 );
+                       }
+                       $filename = $row->fa_name;
+                       $afile = ArchivedFile::newFromRow( $row );
+               }
+
+               $file = wfLocalFile( $filename );
+               if ( $file->exists() ) {
+                       $this->error( "File '$filename' is still a public file, use the delete form.\n", 1 );
+               }
+
+               $this->output( "Purging all thumbnails for file '$filename'..." );
+               $file->purgeCache();
+               $file->purgeHistory();
+               $this->output( "done.\n" );
+
+               if ( $afile instanceof ArchivedFile ) {
+                       $this->scrubVersion( $afile );
+               } else {
+                       $this->output( "Finding deleted versions of file '$filename'...\n" );
+                       $this->scrubAllVersions( $filename );
+                       $this->output( "Done\n" );
+               }
+       }
+
+       protected function scrubAllVersions( $name ) {
+               $dbw = wfGetDB( DB_MASTER );
+               $res = $dbw->select( 'filearchive', '*',
+                       array( 'fa_name' => $name, 'fa_storage_group' => 'deleted' ),
+                       __METHOD__ );
+               foreach ( $res as $row ) {
+                       $this->scrubVersion( ArchivedFile::newFromRow( $row ) );
+               }
+       }
+
+       protected function scrubVersion( ArchivedFile $archivedFile ) {
+               $key = $archivedFile->getStorageKey();
+               $name = $archivedFile->getName();
+               $ts = $archivedFile->getTimestamp();
+               $repo = RepoGroup::singleton()->getLocalRepo();
+               $path = $repo->getZonePath( 'deleted' ) . '/' . $repo->getDeletedHashPath( $key ) . $key;
+               if ( $this->hasOption( 'delete' ) ) {
+                       $status = $repo->getBackend()->delete( array( 'src' => $path ) );
+                       if ( $status->isOK() ) {
+                               $this->output( "Deleted version '$key' ($ts) of file '$name'\n" );
+                       } else {
+                               $this->output( "Failed to delete version '$key' ($ts) of file '$name'\n" );
+                               $this->output( print_r( $status->getErrorsArray(), true ) );
+                       }
+               } else {
+                       $this->output( "Would delete version '{$key}' ({$ts}) of file '$name'\n" );
+               }
+       }
+}
+
+$maintClass = "EraseArchivedFile";
+require_once( RUN_MAINTENANCE_IF_MAIN );
index 95f46ff..abedc61 100644 (file)
@@ -34,7 +34,7 @@
 $optionsWithArgs = array( 'd' );
 
 /** */
-require_once( __DIR__ . "/commandLine.inc" );
+require_once __DIR__ . "/commandLine.inc";
 
 if ( isset( $options['d'] ) ) {
        $d = $options['d'];
index 02e29fb..05470d3 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script used to fetch page text in a subprocess.
index 8adc965..9dba818 100644 (file)
  * @ingroup Maintenance
  */
 
-$wgProfiler = array( 'class' => 'ProfilerSimpleText' );
 error_reporting( E_ALL );
-
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to test fileop performance.
@@ -44,6 +42,8 @@ class TestFileOpPerformance extends Maintenance {
        }
 
        public function execute() {
+               Profiler::setInstance( new ProfilerSimpleText( array() ) ); // clear
+
                $backend = FileBackendGroup::singleton()->get( $this->getOption( 'b1' ) );
                $this->doPerfTest( $backend );
 
@@ -52,10 +52,8 @@ class TestFileOpPerformance extends Maintenance {
                        $this->doPerfTest( $backend );
                }
 
-               $profiler = Profiler::instance();
-               $profiler->setTemplated( true );
-
-               //NOTE: as of MW1.21, $profiler->logData() is called implicitly by doMaintenance.php.
+               Profiler::instance()->setTemplated( true );
+               // NOTE: as of MW1.21, $profiler->logData() is called implicitly by doMaintenance.php.
        }
 
        protected function doPerfTest( FileBackend $backend ) {
index 12268f9..373170f 100644 (file)
@@ -34,7 +34,7 @@
  * @author Antoine Musso <hashar at free dot fr>
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that compares documented and actually present mismatches.
index 8c09f8b..523be7e 100644 (file)
@@ -25,7 +25,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that fixes double redirects.
index 0ca6589..55fbd9a 100644 (file)
@@ -23,7 +23,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that fixes any entriy for protocol-relative URLs
index e7dbefd..e4e557f 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that fixes erroneous page_latest values
index 763e015..b0609d1 100644 (file)
@@ -25,7 +25,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that fixes timestamp corruption caused by one or
index 524bf20..097936c 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that fixes the user_registration field.
index fe547e7..e2b3c41 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that formats RELEASE-NOTE file to wiki text or HTML markup.
index 2c9e92b..6b7f38a 100644 (file)
@@ -127,17 +127,17 @@ Wiki configuration for testing:
   $wgEnableWriteAPI = true;   // enable API.
 
   // Install & enable Parser Hook extensions to increase code coverage. E.g.:
-  require_once("extensions/ParserFunctions/ParserFunctions.php");
-  require_once("extensions/Cite/Cite.php");
-  require_once("extensions/inputbox/inputbox.php");
-  require_once("extensions/Sort/Sort.php");
-  require_once("extensions/wikihiero/wikihiero.php");
-  require_once("extensions/CharInsert/CharInsert.php");
-  require_once("extensions/FixedImage/FixedImage.php");
+  require_once "extensions/ParserFunctions/ParserFunctions.php";
+  require_once "extensions/Cite/Cite.php";
+  require_once "extensions/inputbox/inputbox.php";
+  require_once "extensions/Sort/Sort.php";
+  require_once "extensions/wikihiero/wikihiero.php";
+  require_once "extensions/CharInsert/CharInsert.php";
+  require_once "extensions/FixedImage/FixedImage.php";
 
   // Install & enable Special Page extensions to increase code coverage. E.g.:
-  require_once("extensions/Cite/SpecialCite.php");
-  require_once("extensions/Renameuser/SpecialRenameuser.php");
+  require_once "extensions/Cite/SpecialCite.php";
+  require_once "extensions/Renameuser/SpecialRenameuser.php";
   // --------- End ---------
 
   If you want to try E_STRICT error logging, add this to the above:
@@ -181,7 +181,7 @@ TODO:
 // ///////////////////////// COMMAND LINE HELP ////////////////////////////////////
 
 // This is a command line script, load MediaWiki env (gives command line options);
-require_once( __DIR__ . '/commandLine.inc' );
+require_once __DIR__ . '/commandLine.inc';
 
 // if the user asked for an explanation of command line options.
 if ( isset( $options["help"] ) ) {
index 86fb97a..4f6bed5 100644 (file)
@@ -26,7 +26,7 @@
  * @see http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that generates a sitemap for the site.
index 72e3f06..57ff083 100644 (file)
@@ -23,7 +23,7 @@
  * @author Antoine Musso
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Print serialized output of MediaWiki config vars
index a677e20..7365a2e 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that displays replication lag times.
index 5d3d9dd..d618825 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that reports the hostname of a slave server.
index c68f9bf..9c4bdfb 100644 (file)
@@ -23,7 +23,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that outputs page text to stdout.
index bd6281b..2d71b87 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/hhvm -f
 <?php
 
-require( __DIR__ . '/../Maintenance.php' );
+require __DIR__ . '/../Maintenance.php';
 
 class RunHipHopServer extends Maintenance {
        function __construct() {
index 9d15d90..1f47cf1 100644 (file)
@@ -24,7 +24,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that imports XML dump files into the current wiki.
index 9b0a290..cbbcf0f 100644 (file)
@@ -35,8 +35,8 @@ $optionsWithArgs = array(
        'extensions', 'comment', 'comment-file', 'comment-ext', 'summary', 'user',
        'license', 'sleep', 'limit', 'from', 'source-wiki-url', 'timestamp',
 );
-require_once( __DIR__ . '/commandLine.inc' );
-require_once( __DIR__ . '/importImages.inc' );
+require_once __DIR__ . '/commandLine.inc';
+require_once __DIR__ . '/importImages.inc';
 $processed = $added = $ignored = $skipped = $overwritten = $failed = 0;
 
 echo "Import Images\n\n";
index c498280..fd768b3 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to import all scripts in the MediaWiki namespace from a
index 0c4f98c..e081c20 100644 (file)
@@ -24,7 +24,7 @@
 
 $options = array( 'help', 'nooverwrite', 'norc' );
 $optionsWithArgs = array( 'title', 'user', 'comment' );
-require_once( __DIR__ . '/commandLine.inc' );
+require_once __DIR__ . '/commandLine.inc';
 echo "Import Text File\n\n";
 
 if ( count( $args ) < 1 || isset( $options['help'] ) ) {
index 5985d01..4b04683 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 class InitEditCount extends Maintenance {
        public function __construct() {
index deddb1d..92268b3 100644 (file)
@@ -23,7 +23,7 @@
  * @author Rob Church <robchur@gmail.com>
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to re-initialise or update the site statistics table
index 031668d..d118747 100644 (file)
  */
 
 if ( !function_exists( 'version_compare' ) || ( version_compare( phpversion(), '5.3.2' ) < 0 ) ) {
-       require_once( dirname( __FILE__ ) . '/../includes/PHPVersionError.php' );
+       require_once dirname( __FILE__ ) . '/../includes/PHPVersionError.php';
        wfPHPVersionError( 'cli' );
 }
 
 define( 'MW_CONFIG_CALLBACK', 'Installer::overrideConfig' );
 define( 'MEDIAWIKI_INSTALL', true );
 
-require_once( dirname( __DIR__ ) . "/maintenance/Maintenance.php" );
+require_once dirname( __DIR__ ) . "/maintenance/Maintenance.php";
 
 /**
  * Maintenance script to install and configure MediaWiki
index 2bcc8c0..3f0a9ba 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to do test JavaScript validity parses using jsmin+'s parser
index c195c4d..410bf75 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to show database lag.
index 74a8033..d0e6e84 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup MaintenanceLanguage
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Maintenance script that gets all messages as defined by the
index 190b237..ac9d8cb 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup MaintenanceLanguage
  */
 
-require_once( __DIR__ . '/../commandLine.inc' );
+require_once __DIR__ . '/../commandLine.inc';
 $messagesDir = __DIR__ . '/../../languages/messages/';
 $runTest = false;
 $run = false;
@@ -80,12 +80,12 @@ if ( $run ) {
        } elseif ( !strcmp( $runMode, 'raw' ) ) {
                $runMode = 'raw';
        }
-       include( $messagesFile );
+       include $messagesFile;
        $messageExist = isset( $messages );
        if ( $messageExist ) {
                $wgMessages[$langCode] = $messages;
        }
-       include( $messagesFileC );
+       include $messagesFileC;
        $messageCExist = isset( $messages );
        if ( $messageCExist ) {
                $wgMessages[$langCodeC] = $messages;
index 8d44e71..79a4dd9 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup MaintenanceLanguage
  */
 
-require_once( __DIR__ . '/../commandLine.inc' );
+require_once __DIR__ . '/../commandLine.inc';
 require_once 'languages.inc';
 require_once 'checkLanguage.inc';
 
index 2b94126..ec6e122 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup MaintenanceLanguage
  */
 
-require_once( __DIR__ . '/../commandLine.inc' );
+require_once __DIR__ . '/../commandLine.inc';
 require_once 'checkLanguage.inc';
 require_once 'languages.inc';
 
index e9b76cb..95a7154 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup MaintenanceLanguage
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Maintenance script that counts how many messages we have defined
@@ -59,7 +59,7 @@ class CountMessages extends Maintenance {
 
        private function getNumMessages( $file ) {
                // Separate function to limit scope
-               require( $file );
+               require $file;
                if ( isset( $messages ) ) {
                        return count( $messages );
                } else {
index f8357f9..1463418 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup MaintenanceLanguage
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Maintenance script that tests various language time and date functions.
index 0a0c5e7..a6e0456 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup MaintenanceLanguage
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Maintenance script that check digit transformation.
@@ -49,7 +49,7 @@ class Digit2Html extends Maintenance {
                        $filename = Language::getMessagesFileName( $code );
                        $this->output( "Loading language [$code] ... " );
                        unset( $digitTransformTable );
-                       require_once( $filename );
+                       require_once $filename;
                        if ( !isset( $digitTransformTable ) ) {
                                $this->error( "\$digitTransformTable not found for lang: $code" );
                                continue;
index c642476..a72e25b 100644 (file)
@@ -23,7 +23,7 @@
  * @todo Make this more useful, right now just dumps $wgContLang
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Maintenance script that dumps an entire language, using the keys from English.
index f1f402a..fcf2c96 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup MaintenanceLanguage
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Generate first letter data files for Collation.php
index bd50fe9..216445e 100644 (file)
@@ -21,9 +21,9 @@
  * @ingroup MaintenanceLanguage
  */
 
-require_once( __DIR__ . '/../../includes/normal/UtfNormalUtil.php' );
+require_once __DIR__ . '/../../includes/normal/UtfNormalUtil.php';
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Generates normalizer data files for Arabic and Malayalam.
index 6694092..14485f9 100644 (file)
@@ -22,8 +22,8 @@
  */
 
 /** This is a command line script */
-require_once( __DIR__ . '/../Maintenance.php' );
-require_once( __DIR__ . '/languages.inc' );
+require_once __DIR__ . '/../Maintenance.php';
+require_once __DIR__ . '/languages.inc';
 
 /**
  * Maintenance script that tries to get the memory usage for each language file.
index 31bfcb9..6070f4a 100644 (file)
@@ -46,7 +46,7 @@ class languages {
         * @param $exif bool Treat the Exif messages?
         */
        function __construct( $exif = true ) {
-               require( __DIR__ . '/messageTypes.inc' );
+               require __DIR__ . '/messageTypes.inc';
                $this->mIgnoredMessages = $wgIgnoredMessages;
                if ( $exif ) {
                        $this->mOptionalMessages = array_merge( $wgOptionalMessages );
@@ -107,7 +107,7 @@ class languages {
                $this->mSpecialPageAliases[$code] = array();
                $filename = Language::getMessagesFileName( $code );
                if ( file_exists( $filename ) ) {
-                       require( $filename );
+                       require $filename;
                        if ( isset( $messages ) ) {
                                $this->mRawMessages[$code] = $messages;
                        }
index 87c4000..17feaf9 100644 (file)
@@ -317,7 +317,6 @@ $wgOptionalMessages = array(
        'modern.css',
        'vector.css',
        'print.css',
-       'handheld.css',
        'noscript.css',
        'group-autoconfirmed.css',
        'group-bot.css',
index f620f94..3a07553 100644 (file)
@@ -135,6 +135,18 @@ $wgMessageStructure = array(
                'oct',
                'nov',
                'dec',
+               'january-date',
+               'february-date',
+               'march-date',
+               'april-date',
+               'may-date',
+               'june-date',
+               'july-date',
+               'august-date',
+               'september-date',
+               'october-date',
+               'november-date',
+               'december-date',
        ),
        'categorypages' => array(
                'pagecategories',
@@ -225,6 +237,7 @@ $wgMessageStructure = array(
                'create-this-page',
                'delete',
                'deletethispage',
+               'undeletethispage',
                'undelete_short',
                'viewdeleted_short',
                'protect',
@@ -572,11 +585,11 @@ $wgMessageStructure = array(
        ),
        'passwordreset' => array(
                'passwordreset',
-               'passwordreset-text',
+               'passwordreset-text-one',
+               'passwordreset-text-many',
                'passwordreset-legend',
                'passwordreset-disabled',
                'passwordreset-emaildisabled',
-               'passwordreset-pretext',
                'passwordreset-username',
                'passwordreset-domain',
                'passwordreset-capture',
@@ -726,6 +739,7 @@ $wgMessageStructure = array(
                'edit-gone-missing',
                'edit-conflict',
                'edit-no-change',
+               'postedit-confirmation',
                'edit-already-exists',
                'addsection-preload',
                'addsection-editintro',
@@ -2673,7 +2687,6 @@ $wgMessageStructure = array(
                'modern.css',
                'vector.css',
                'print.css',
-               'handheld.css',
                'noscript.css',
                'group-autoconfirmed.css',
                'group-bot.css',
@@ -3906,8 +3919,8 @@ $wgBlockComments = array(
 begin with * or ** are discarded, furthermore lines that do begin with ** and
 do not contain | are also discarded, but do not depend on this behavior for
 future releases. Also note that since each list value is wrapped in a unique
-XHTML id it should only appear once and include characters that are legal
-XHTML id names.",
+(X)HTML id it should only appear once and include characters that are legal
+(X)HTML id names.",
        'toggles'             => 'User preference toggles',
        'underline'           => '',
        'editfont'            => 'Font style option in Special:Preferences',
index 02c41d2..66948ae 100644 (file)
@@ -22,7 +22,7 @@
  * @defgroup MaintenanceLanguage MaintenanceLanguage
  */
 
-require_once( __DIR__ . '/../commandLine.inc' );
+require_once __DIR__ . '/../commandLine.inc';
 require_once 'languages.inc';
 require_once 'writeMessagesArray.inc';
 
@@ -56,7 +56,7 @@ function rebuildLanguage( $languages, $code, $write, $listUnknown, $removeUnknow
  */
 function removeDupes( $oldMsgArray, $dupeMsgSource ) {
        if ( file_exists( $dupeMsgSource ) ) {
-               include( $dupeMsgSource );
+               include $dupeMsgSource;
                if ( !isset( $dupeMessages ) ) {
                        echo "There are no duplicated messages in the source file provided.";
                        exit( 1 );
index 9cdc85e..61b84a0 100644 (file)
@@ -28,9 +28,9 @@
  */
 $optionsWithArgs = array( 'output' );
 
-require_once( __DIR__ . '/../commandLine.inc' );
+require_once __DIR__ . '/../commandLine.inc';
 require_once 'languages.inc';
-require_once( __DIR__ . '/StatOutputs.php' );
+require_once __DIR__ . '/StatOutputs.php';
 
 
 if ( isset( $options['help'] ) ) {
index 4f00496..63d9b84 100644 (file)
@@ -36,8 +36,8 @@ define( 'NOT_REALLY_MEDIAWIKI', 1 );
 
 $IP = __DIR__ . '/../..';
 
-require_once( "$IP/includes/Defines.php" );
-require_once( "$IP/languages/Language.php" );
+require_once "$IP/includes/Defines.php";
+require_once "$IP/languages/Language.php";
 
 $files = array();
 foreach ( $argv as $arg ) {
@@ -57,7 +57,7 @@ foreach ( $files as $filename ) {
 }
 
 function getVars( $filename ) {
-       require( $filename );
+       require $filename;
        $vars = get_defined_vars();
        unset( $vars['filename'] );
        return $vars;
index 973e9c4..fc0da3f 100644 (file)
@@ -110,11 +110,11 @@ $messages = array(
                # Load messages
                $dir = $prefix ? $prefix : __DIR__;
 
-               require( $dir . '/messages.inc' );
+               require $dir . '/messages.inc';
                self::$messageStructure = $wgMessageStructure;
                self::$blockComments = $wgBlockComments;
 
-               require( $dir . '/messageTypes.inc' );
+               require $dir . '/messageTypes.inc';
                self::$ignoredMessages = $wgIgnoredMessages;
                self::$optionalMessages = $wgOptionalMessages;
 
index 4bed0d4..7b7b761 100644 (file)
@@ -23,7 +23,7 @@
  */
 
 /** */
-require_once( __DIR__ . '/commandLine.inc' );
+require_once __DIR__ . '/commandLine.inc';
 
 $options = getopt( '', array( 'debug', 'help', 'cache:' ) );
 
index 375c80d..26e1e18 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that  makes several 'set', 'incr' and 'get' requests
index 243c2dd..2b680d3 100644 (file)
@@ -25,7 +25,7 @@
 # Start from scratch
 define( 'MW_NO_EXTENSION_MESSAGES', 1 );
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 $maintClass = 'MergeMessageFileList';
 $mmfl = false;
 
@@ -98,7 +98,7 @@ foreach ( $mmfl['setupFiles'] as $fileName ) {
        if ( empty( $mmfl['quiet'] ) ) {
                fwrite( STDERR, "Loading data from $fileName\n" );
        }
-       if ( !include_once( $fileName ) ) {
+       if ( !( include_once $fileName ) ) {
                fwrite( STDERR, "Unable to read $fileName\n" );
                exit( 1 );
        }
index c62a5d3..6903365 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that re-assigns users from an old group to a new one.
index 270536b..ec936c8 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that minifies a file or set of files.
index d3627a0..34e6428 100644 (file)
@@ -34,7 +34,7 @@
  * e.g. immobile_namespace for namespaces which can't be moved
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to move a batch of pages.
index 8aac4b3..9283264 100644 (file)
@@ -8,12 +8,6 @@
  * Usage:
  *   php mwdocgen.php
  *
- * KNOWN BUGS:
- *
- * - pass_thru seems to always use buffering (even with ob_implicit_flush()),
- * that make output slow when doxygen parses language files.
- * - the menu doesnt work, got disabled at revision 13740. Need to code it.
- *
  * 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
  * @version first release
  */
 
-#
-# Variables / Configuration
-#
-
-if ( PHP_SAPI != 'cli' ) {
-       echo 'Run "' . __FILE__ . '" from the command line.';
-       die( -1 );
-}
-
-/** Figure out the base directory for MediaWiki location */
-$mwPath = dirname( __DIR__ ) . DIRECTORY_SEPARATOR;
-
-/** doxygen binary script */
-$doxygenBin = 'doxygen';
-
-/** doxygen configuration template for mediawiki */
-$doxygenTemplate = $mwPath . 'maintenance/Doxyfile';
-
-/** doxygen input filter to tweak source file before they are parsed */
-$doxygenInputFilter = "php {$mwPath}maintenance/mwdoc-filter.php";
-
-/** where Phpdoc should output documentation */
-$doxyOutput = $mwPath . 'docs' . DIRECTORY_SEPARATOR;
-
-$doxyVersion = 'master';
-
-/** MediaWiki subpaths */
-$mwPathI = $mwPath . 'includes/';
-$mwPathL = $mwPath . 'languages/';
-$mwPathM = $mwPath . 'maintenance/';
-$mwPathS = $mwPath . 'skins/';
-
-/** Ignored paths relative to $mwPath */
-$mwExcludePaths = array(
-       'images',
-       'static',
-);
-
-/** Variable to get user input */
-$input = '';
-$excludePatterns = '';
-/** Whether to generates man pages: */
-$doxyGenerateMan = false;
-
-#
-# Functions
-#
-
-define( 'MEDIAWIKI', true );
-require_once( "$mwPath/includes/GlobalFunctions.php" );
-
-/**
- * Read a line from the shell
- * @param $prompt String
- * @return string
- */
-function readaline( $prompt = '' ) {
-       print $prompt;
-       $fp = fopen( "php://stdin", "r" );
-       $resp = trim( fgets( $fp, 1024 ) );
-       fclose( $fp );
-       return $resp;
-}
+require_once __DIR__ . '/Maintenance.php';
 
 /**
- * Generate a configuration file given user parameters and return the temporary filename.
- * @param $doxygenTemplate String: full path for the template.
- * @param $outputDirectory String: directory where the stuff will be output.
- * @param $stripFromPath String: path that should be stripped out (usually mediawiki base path).
- * @param $currentVersion String: Version number of the software
- * @param $input String: Path to analyze.
- * @param $exclude String: Additionals path regex to exclude
- * @param $excludePatterns String: Additionals path regex to exclude
- *                 (LocalSettings.php, AdminSettings.php, .svn and .git directories are always excluded)
- * @param $doxyGenerateMan Boolean
- * @return string
+ * Maintenance script that builds doxygen documentation.
+ * @ingroup Maintenance
  */
-function generateConfigFile( $doxygenTemplate, $outputDirectory, $stripFromPath, $currentVersion, $input, $exclude, $excludePatterns, $doxyGenerateMan, $doxygenInputFilter ) {
-
-       $template = file_get_contents( $doxygenTemplate );
-       // Replace template placeholders by correct values.
-       $replacements = array(
-               '{{OUTPUT_DIRECTORY}}' => $outputDirectory,
-               '{{STRIP_FROM_PATH}}' => $stripFromPath,
-               '{{CURRENT_VERSION}}' => $currentVersion,
-               '{{INPUT}}' => $input,
-               '{{EXCLUDE}}' => $exclude,
-               '{{EXCLUDE_PATTERNS}}' => $excludePatterns,
-               '{{HAVE_DOT}}' => `which dot` ? 'YES' : 'NO',
-               '{{GENERATE_MAN}}' => $doxyGenerateMan ? 'YES' : 'NO',
-               '{{INPUT_FILTER}}' => $doxygenInputFilter,
-       );
-       $tmpCfg = str_replace( array_keys( $replacements ), array_values( $replacements ), $template );
-       $tmpFileName = tempnam( wfTempDir(), 'mwdocgen-' );
-       file_put_contents( $tmpFileName, $tmpCfg ) or die( "Could not write doxygen configuration to file $tmpFileName\n" );
-
-       return $tmpFileName;
-}
-
-#
-# Main !
-#
-
-unset( $file );
+class MWDocGen extends Maintenance {
+
+       /**
+        * Prepare Maintenance class
+        */
+       public function __construct() {
+               parent::__construct();
+               $this->mDescription = 'Build doxygen documentation';
+
+               $this->addOption( 'doxygen',
+                       'Path to doxygen',
+                       false, true );
+               $this->addOption( 'version',
+                       'Pass a MediaWiki version',
+                       false, true );
+               $this->addOption( 'generate-man',
+                       'Whether to generate man files' );
+               $this->addOption( 'file',
+                       'Only process given file (relative to $IP)',
+                       false, true );
+               $this->addOption( 'output',
+                       'Path to write doc to',
+                       false, true );
+               $this->addOption( 'no-extensions',
+                       'Ignore extensions' );
+       }
 
-if ( is_array( $argv ) ) {
-       for ( $i = 0; $i < count( $argv ); $i++ ) {
-               switch ( $argv[$i] ) {
-               case '--all':
-                       $input = 0;
-                       break;
-               case '--includes':
-                       $input = 1;
-                       break;
-               case '--languages':
-                       $input = 2;
-                       break;
-               case '--maintenance':
-                       $input = 3;
-                       break;
-               case '--skins':
-                       $input = 4;
-                       break;
-               case '--file':
-                       $input = 5;
-                       $i++;
-                       if ( isset( $argv[$i] ) ) {
-                               $file = $argv[$i];
-                       }
-                       break;
-               case '--no-extensions':
-                       $input = 6;
-                       break;
-               case '--output':
-                       $i++;
-                       if ( isset( $argv[$i] ) ) {
-                               $doxyOutput = realpath( $argv[$i] );
-                       }
-                       break;
-               case '--version':
-                       $i++;
-                       if ( isset( $argv[$i] ) ) {
-                               $doxyVersion = $argv[$i];
-                       }
-                       break;
-               case '--generate-man':
-                       $doxyGenerateMan = true;
-                       break;
-               case '--help':
-                       print <<<END
-Usage: php mwdocgen.php [<command>] [<options>]
+       public function getDbType() {
+               return Maintenance::DB_NONE;
+       }
 
-Commands:
-    --all           Process entire codebase
-    --includes      Process only files in includes/ dir
-    --languages     Process only files in languages/ dir
-    --maintenance   Process only files in maintenance/ dir
-    --skins         Process only files in skins/ dir
-    --file <file>   Process only the given file
-    --no-extensions Process everything but extensions directorys
+       protected function init() {
+               global $IP;
+
+               $this->doxygen = $this->getOption( 'doxygen', 'doxygen' );
+               $this->mwVersion = $this->getOption( 'version', 'master' );
+               $this->input = $IP . '/' . $this->getOption( 'file', '' );
+               $this->output = $this->getOption( 'output', "$IP/docs" );
+
+               $this->inputFilter = wfShellWikiCmd(
+                       $IP . '/maintenance/mwdoc-filter.php' );
+               $this->template = $IP . '/maintenance/Doxyfile';
+               $this->excludes = array(
+                       'images',
+                       'static',
+               );
+               $this->excludePatterns = array();
+               if ( $this->hasOption( 'no-extensions' ) ) {
+                       $this->excludePatterns[] = 'extensions';
+               }
 
-If no command is given, you will be prompted.
+               $this->doDot = `which dot`;
+               $this->doMan = $this->hasOption( 'generate-man' );
+       }
 
-Other options:
-    --output <dir>  Set output directory (default: $doxyOutput)
-    --generate-man  Generates man page documentation
-    --version       Project version to display in the outut (default: $doxyVersion)
-    --help          Show this help and exit.
+       public function execute() {
+               global $IP;
 
+               $this->init();
 
-END;
-                       exit( 0 );
-                       break;
+               # Build out directories we want to exclude
+               $exclude = '';
+               foreach ( $this->excludes as $item ) {
+                       $exclude .= " $IP/$item";
                }
-       }
-}
-
-// TODO : generate a list of paths ))
 
-if ( $input === '' ) {
-       echo <<<OPTIONS
-Several documentation possibilities:
- 0 : whole documentation (1 + 2 + 3 + 4)
- 1 : only includes
- 2 : only languages
- 3 : only maintenance
- 4 : only skins
- 5 : only a given file
- 6 : all but the extensions directory
-OPTIONS;
-       while ( !is_numeric( $input ) ) {
-               $input = readaline( "\nEnter your choice [0]:" );
-               if ( $input == '' ) {
-                       $input = 0;
+               $excludePatterns = implode( ' ', $this->excludePatterns );
+
+               $conf = strtr( file_get_contents( $this->template ),
+                       array(
+                               '{{OUTPUT_DIRECTORY}}' => $this->output,
+                               '{{STRIP_FROM_PATH}}' => $IP,
+                               '{{CURRENT_VERSION}}' => $this->mwVersion,
+                               '{{INPUT}}' => $this->input,
+                               '{{EXCLUDE}}' => $exclude,
+                               '{{EXCLUDE_PATTERNS}}' => $excludePatterns,
+                               '{{HAVE_DOT}}' => $this->doDot ? 'YES' : 'NO',
+                               '{{GENERATE_MAN}}' => $this->doMan ? 'YES' : 'NO',
+                               '{{INPUT_FILTER}}' => $this->inputFilter,
+                       )
+               );
+
+               $tmpFile = tempnam( wfTempDir(), 'MWDocGen-' );
+               if ( file_put_contents( $tmpFile, $conf ) === false ) {
+                       $this->error( "Could not write doxygen configuration to file $tmpFile\n",
+                               /** exit code: */ 1 );
                }
-       }
-}
-
-switch ( $input ) {
-case 0:
-       $input = $mwPath;
-       break;
-case 1:
-       $input = $mwPathI;
-       break;
-case 2:
-       $input = $mwPathL;
-       break;
-case 3:
-       $input = $mwPathM;
-       break;
-case 4:
-       $input = $mwPathS;
-       break;
-case 5:
-       if ( !isset( $file ) ) {
-               $file = readaline( "Enter file name $mwPath" );
-       }
-       $input = $mwPath . $file;
-       break;
-case 6:
-       $input = $mwPath;
-       $excludePatterns = 'extensions';
-}
 
-// Generate path exclusions
-$excludedPaths = $mwPath . join( " $mwPath", $mwExcludePaths );
-print "EXCLUDE: $excludedPaths\n\n";
+               $command = $this->doxygen . ' ' . $tmpFile;
+               $this->output( "Executing command:\n$command\n" );
 
-$generatedConf = generateConfigFile( $doxygenTemplate, $doxyOutput, $mwPath, $doxyVersion, $input, $excludedPaths, $excludePatterns, $doxyGenerateMan, $doxygenInputFilter );
-$command = $doxygenBin . ' ' . $generatedConf;
+               $exitcode = 1;
+               system( $command, $exitcode );
 
-echo <<<TEXT
+               $this->output( <<<TEXT
 ---------------------------------------------------
-Launching the command:
-
-$command
+Doxygen execution finished.
+Check above for possible errors.
 
+You might want to delete the temporary file:
+ $tmpFile
 ---------------------------------------------------
 
-TEXT;
-
-$exitcode = 1;
-passthru( $command, $exitcode );
+TEXT
+       );
 
-echo <<<TEXT
----------------------------------------------------
-Doxygen execution finished.
-Check above for possible errors.
+               if ( $exitcode !== 0 ) {
+                       $this->error( "Something went wrong (exit: $exitcode)\n",
+                               $exitcode );
+               }
 
-You might want to delete the temporary file $generatedConf
+       }
 
-TEXT;
+}
 
-exit( $exitcode );
+$maintClass = 'MWDocGen';
+require_once RUN_MAINTENANCE_IF_MAIN;
index 555feaa..ff02468 100644 (file)
@@ -24,7 +24,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that checks for articles to fix after
index ca550ae..219b5d8 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that picks a database that has pending jobs.
index 13206d7..479dcf7 100644 (file)
@@ -33,7 +33,7 @@
  * based on nukePage by Rob Church
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that removes pages with only one revision from the
index f5ce5ec..1870273 100644 (file)
@@ -23,7 +23,7 @@
  * @author Rob Church <robchur@gmail.com>
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that erases a page record from the database.
index abe86c3..435625d 100644 (file)
@@ -27,7 +27,7 @@
  * i.e.: GRANT REFERENCES (user_id) ON mwuser TO hubclient;
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 class AlterSharedConstraints extends Maintenance {
        public function __construct() {
index 0f6f365..74fb1b1 100644 (file)
@@ -636,10 +636,11 @@ ALTER TABLE &mw_prefix.valid_tag ADD CONSTRAINT &mw_prefix.valid_tag_pk PRIMARY
 
 -- This table is not used unless profiling is turned on
 --CREATE TABLE &mw_prefix.profiling (
---  pf_count   NUMBER         DEFAULT 0 NOT NULL,
---  pf_time    NUMERIC(18,10)  DEFAULT 0 NOT NULL,
---  pf_name    CLOB            NOT NULL,
---  pf_server  CLOB            NULL
+--  pf_count   NUMBER          DEFAULT 0 NOT NULL,
+--  pf_time    NUMBER(18,10)   DEFAULT 0 NOT NULL,
+--  pf_memory  NUMBER(18,10)   DEFAULT 0 NOT NULL,
+--  pf_name    VARCHAR2(255),
+--  pf_server  VARCHAR2(30)
 --);
 --CREATE UNIQUE INDEX &mw_prefix.profiling_u01 ON &mw_prefix.profiling (pf_name, pf_server);
 
index cdaba1c..b4d255a 100644 (file)
@@ -28,7 +28,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that looks for 'orphan' revisions hooked to pages which
index e082525..3ac7a28 100644 (file)
@@ -49,7 +49,7 @@
  * @license GNU General Public License 2.0 or later
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to parse some wikitext.
index 6a3ca37..31ce156 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that manually runs an SQL patch outside of the general updaters.
index 05ba3e6..4c8cdaa 100644 (file)
@@ -22,7 +22,7 @@
  * @author Simetrical
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Mainteance script to populate the category table.
index a4d2538..c579d4f 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( dirname( __FILE__ ) . '/Maintenance.php' );
+require_once dirname( __FILE__ ) . '/Maintenance.php';
 
 /**
  * Maintenance script to populate the fa_sha1 field.
index e9e4309..126d22d 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to populate the img_sha1 field.
index c6a5aff..d65635e 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that makes the required database updates for populating the
index 44b9924..e579e52 100644 (file)
@@ -24,7 +24,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that makes the required database updates for
index 950a282..e29fa5f 100644 (file)
@@ -23,7 +23,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that makes the required database updates for rev_parent_id
index 9ab0f51..3c69125 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that populates the rev_len field for old revisions
index b2abb61..89bfb85 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that fills the rev_sha1 and ar_sha1 columns of revision
index 29739ef..0dc19e2 100644 (file)
@@ -25,7 +25,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/dumpIterator.php' );
+require_once __DIR__ . '/dumpIterator.php';
 
 /**
  * Maintenance script that takes page text out of an XML dump file and
index 0a1a9f6..563ea45 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/commandLine.inc' );
+require_once __DIR__ . '/commandLine.inc';
 
 $wgHooks['BeforeParserFetchTemplateAndtitle'][] = 'PPFuzzTester::templateHook';
 
index 61fa392..ec03f93 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that protects or unprotects a page.
index 42df145..48d3897 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that prunes file cache for pages, objects, resources, etc.
index 6886e29..32b6569 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that scans the deletion log and purges affected files
index 4dc2fd0..2f89520 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that sends purge requests for listed pages to squid.
index 49a31d7..3d81e2d 100644 (file)
@@ -22,7 +22,7 @@
  * @author Rob Church <robchur@gmail.com>
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that purges old text records from the database.
index 9b92b32..ca2a041 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require( __DIR__ . '/Maintenance.php' );
+require __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to remove old objects from the parser cache.
index 446c988..7e15c09 100644 (file)
@@ -23,7 +23,7 @@
  * @licence GNU General Public Licence 2.0 or later
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that reassigns edits from a user or IP address
index ba146ab..12ed9fa 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that builds file cache for content pages.
index 4597d30..53bf823 100644 (file)
@@ -30,7 +30,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to update image metadata records.
index 8053250..ee6ddbb 100644 (file)
@@ -29,7 +29,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to rebuild the localisation cache.
index d52b0e5..54444e9 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that rebuilds link tracking tables from scratch.
index 82c8701..f223f1a 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that purges all languages from the message cache.
index c4afe10..1834825 100644 (file)
@@ -23,7 +23,7 @@
  * @todo Document
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that rebuilds recent changes from scratch.
index d32ce7f..a31aba2 100644 (file)
@@ -25,7 +25,7 @@
  * @todo document
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that rebuilds search index table from scratch.
index 5699863..8b852e3 100644 (file)
@@ -24,7 +24,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to refresh file headers from metadata
index 23bf7f8..7fe5c4c 100644 (file)
@@ -27,7 +27,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to refresh image metadata fields.
index a54f553..0e6725c 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to refresh link tables.
index 2bb874a..24c66b1 100644 (file)
@@ -23,7 +23,7 @@
  * @author Rob Church <robchur@gmail.com>
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that removes unused user accounts from the database.
@@ -77,6 +77,9 @@ class RemoveUnusedAccounts extends Maintenance {
                        $this->output( "\nDeleting inactive accounts..." );
                        $dbw = wfGetDB( DB_MASTER );
                        $dbw->delete( 'user', array( 'user_id' => $del ), __METHOD__ );
+                       $dbw->delete( 'user_groups', array( 'ug_user' => $del ), __METHOD__ );
+                       $dbw->delete( 'user_former_groups', array( 'ufg_user' => $del ), __METHOD__ );
+                       $dbw->delete( 'user_properties', array( 'up_user' => $del ), __METHOD__ );
                        $dbw->delete( 'logging', array( 'log_user' => $del ), __METHOD__ );
                        $dbw->delete( 'recentchanges', array( 'rc_user' => $del ), __METHOD__ );
                        $this->output( "done.\n" );
index acd2d95..ed9d1f5 100644 (file)
@@ -23,7 +23,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that changes the prefix of database tables.
index 1b92f19..0cde28c 100644 (file)
@@ -28,7 +28,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that takes page text out of an XML dump file
index d20dea0..241d632 100644 (file)
@@ -23,7 +23,7 @@
  * @author Daniel Friesen <mediawiki@danielfriesen.name>
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to reset the user_token for all users on the wiki.
index 305fea8..e5e33c0 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to rollback all edits by a given user or IP provided
index 0515594..93ba24a 100644 (file)
@@ -23,7 +23,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to run a database query in batches and wait for slaves.
index 90908bf..6a6f9d2 100644 (file)
@@ -25,7 +25,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that runs pending jobs.
@@ -84,7 +84,7 @@ class RunJobs extends Maintenance {
                }
 
                $flags = JobQueueGroup::USE_CACHE | JobQueueGroup::USE_PRIORITY;
-               $lastTime = time();
+               $lastTime = time(); // time since last slave check
                do {
                        $job = ( $type === false )
                                ? $group->pop( JobQueueGroup::TYPE_DEFAULT, $flags )
@@ -129,6 +129,7 @@ class RunJobs extends Maintenance {
                                $timePassed = time() - $lastTime;
                                if ( $timePassed >= 5 || $timePassed < 0 ) {
                                        wfWaitForSlaves();
+                                       $lastTime = time();
                                }
                                // Don't let any queue slaves/backups fall behind
                                if ( $jobsRun > 0 && ( $jobsRun % 100 ) == 0 ) {
index 1eb8d66..cd9768d 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that shows statistics from the cache.
index de078d8..322a849 100644 (file)
@@ -25,7 +25,7 @@
  * @author Antoine Musso
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that reports the number of jobs currently waiting
index 233e9c9..49148b3 100644 (file)
@@ -29,7 +29,7 @@
  * @license GNU General Public License 2.0 or later
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to show the cached statistics.
index ff3771c..a628b0b 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that sends SQL queries from the specified file to the database.
@@ -34,16 +34,42 @@ class MwSql extends Maintenance {
                parent::__construct();
                $this->mDescription = "Send SQL queries to a MediaWiki database";
                $this->addOption( 'cluster', 'Use an external cluster by name', false, true );
+               $this->addOption( 'slave', 'Use a slave server (either "any" or by name)', false, true );
        }
 
        public function execute() {
-               // Get a DB handle (with this wiki's DB select) from the appropriate load balancer
+               // Get the appropriate load balancer (for this wiki)
                if ( $this->hasOption( 'cluster' ) ) {
                        $lb = wfGetLBFactory()->getExternalLB( $this->getOption( 'cluster' ) );
-                       $dbw = $lb->getConnection( DB_MASTER ); // master for external LB
                } else {
-                       $dbw = wfGetDB( DB_MASTER ); // master for primary LB for this wiki
+                       $lb = wfGetLB();
                }
+               // Figure out which server to use
+               if ( $this->hasOption( 'slave' ) ) {
+                       $server = $this->getOption( 'slave' );
+                       if ( $server === 'any' ) {
+                               $index = DB_SLAVE;
+                       } else {
+                               $index = null;
+                               for ( $i = 0; $i < $lb->getServerCount(); ++$i ) {
+                                       if ( $lb->getServerName( $i ) === $server ) {
+                                               $index = $i;
+                                               break;
+                                       }
+                               }
+                               if ( $index === null ) {
+                                       $this->error( "No slave server configured with the name '$server'.", 1 );
+                               }
+                       }
+               } else {
+                       $index = DB_MASTER;
+               }
+               // Get a DB handle (with this wiki's DB selected) from the appropriate load balancer
+               $dbw = $lb->getConnection( $index );
+               if ( $this->hasOption( 'slave' ) && $dbw->getLBInfo( 'master' ) !== null ) {
+                       $this->error( "The server selected ({$dbw->getServer()}) is not a slave.", 1 );
+               }
+
                if ( $this->hasArg( 0 ) ) {
                        $file = fopen( $this->getArg( 0 ), 'r' );
                        if ( !$file ) {
index 1ca8500..8a78524 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that performs some operations specific to SQLite database backend.
index 632e04a..03dc113 100644 (file)
@@ -22,7 +22,7 @@
  */
 
 if ( !defined( 'MEDIAWIKI' ) ) {
-       require_once( __DIR__ . '/../commandLine.inc' );
+       require_once __DIR__ . '/../commandLine.inc';
 
        $cs = new CheckStorage;
        $fix = isset( $options['fix'] );
index 947f402..8cb5548 100644 (file)
@@ -41,7 +41,7 @@
  * @ingroup Maintenance ExternalStorage
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Maintenance script that compress the text of a wiki.
index 577201c..f12bbd1 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance ExternalStorage
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Maintenance script that gets the text of a revision,
index 36f2658..101aa06 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance ExternalStorage
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Maintenance script to fix bug 20757.
index 6122ddd..348fb77 100644 (file)
@@ -24,8 +24,8 @@
 define( 'REPORTING_INTERVAL', 1 );
 
 if ( !defined( 'MEDIAWIKI' ) ) {
-       require_once( __DIR__ . '/../commandLine.inc' );
-       require_once( __DIR__ . '/../../includes/externalstore/ExternalStoreDB.php' );
+       require_once __DIR__ . '/../commandLine.inc';
+       require_once __DIR__ . '/../../includes/externalstore/ExternalStoreDB.php';
        require_once 'resolveStubs.php';
 
        $fname = 'moveToExternal';
index 8b4fc93..1df1501 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance ExternalStorage
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 /**
  * Maintenance script that shows some statistics on the blob_orphans table,
index 2a6d017..b266316 100644 (file)
@@ -23,7 +23,7 @@
  */
 
 $optionsWithArgs = RecompressTracked::getOptionsWithArgs();
-require( __DIR__ . '/../commandLine.inc' );
+require __DIR__ . '/../commandLine.inc';
 
 if ( count( $args ) < 1 ) {
        echo "Usage: php recompressTracked.php [options] <cluster> [... <cluster>...]
index 414eab8..e47d640 100644 (file)
@@ -27,7 +27,7 @@ define( 'REPORTING_INTERVAL', 100 );
 if ( !defined( 'MEDIAWIKI' ) ) {
        $optionsWithArgs = array( 'm' );
 
-       require_once( __DIR__ . '/../commandLine.inc' );
+       require_once __DIR__ . '/../commandLine.inc';
 
        resolveStubs();
 }
index dca7042..e33057f 100644 (file)
@@ -19,7 +19,7 @@
  * @ingroup Maintenance ExternalStorage
  */
 
-require_once( __DIR__ . '/../Maintenance.php' );
+require_once __DIR__ . '/../Maintenance.php';
 
 class StorageTypeStats extends Maintenance {
        function execute() {
index e13e1b1..fdc28d9 100644 (file)
@@ -22,7 +22,7 @@
  */
 
 $optionsWithArgs = array( 'start', 'limit', 'type' );
-require( __DIR__ . '/../commandLine.inc' );
+require __DIR__ . '/../commandLine.inc';
 
 if ( !isset( $args[0] )  ) {
        echo "Usage: php testCompression.php [--type=<type>] [--start=<start-date>] [--limit=<num-revs>] <page-title>\n";
index 2f3c8c6..7857dd9 100644 (file)
@@ -22,7 +22,7 @@
  * @see wfWaitForSlaves()
  */
 
-require( __DIR__ . '/../commandLine.inc' );
+require __DIR__ . '/../commandLine.inc';
 
 
 if ( count( $args ) < 1 ) {
index 00bb7b3..f0be709 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that syncs one file backend to another based on
index 94917b5..c890c69 100644 (file)
@@ -21,7 +21,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 class Undelete extends Maintenance {
        public function __construct() {
index 4d73c78..6fcec2c 100644 (file)
  */
 
 if ( !function_exists( 'version_compare' ) || ( version_compare( phpversion(), '5.3.2' ) < 0 ) ) {
-       require( dirname( __FILE__ ) . '/../includes/PHPVersionError.php' );
+       require dirname( __FILE__ ) . '/../includes/PHPVersionError.php';
        wfPHPVersionError( 'cli' );
 }
 
 $wgUseMasterForMaintenance = true;
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to run database schema updates.
index 49d5811..7964a21 100644 (file)
@@ -23,7 +23,7 @@
  * @author Rob Church <robchur@gmail.com>
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to provide a better count of the number of articles
index 94b2537..b847c23 100644 (file)
@@ -26,7 +26,7 @@
 
 #$optionsWithArgs = array( 'begin', 'max-slave-lag' );
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that will find all rows in the categorylinks table
index 6d91a64..41988d1 100644 (file)
@@ -23,7 +23,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to normalize double-byte latin UTF-8 characters.
index 420843e..175447e 100644 (file)
@@ -24,7 +24,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script that updates page_restrictions table from
index 97707be..0691bee 100644 (file)
@@ -28,7 +28,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script for periodic off-peak updating of the search index.
index 5472623..181c222 100644 (file)
@@ -22,7 +22,7 @@
  * @ingroup Maintenance
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to update cached special pages.
@@ -67,7 +67,7 @@ class UpdateSpecialPages extends Maintenance {
                }
 
                // This is needed to initialise $wgQueryPages
-               require_once( "$IP/includes/QueryPage.php" );
+               require_once "$IP/includes/QueryPage.php";
 
                foreach ( $wgQueryPages as $page ) {
                        list( $class, $special ) = $page;
@@ -94,7 +94,7 @@ class UpdateSpecialPages extends Maintenance {
                        } else {
                                if ( !class_exists( $class ) ) {
                                        $file = $specialObj->getFile();
-                                       require_once( $file );
+                                       require_once $file;
                                }
                                $queryPage = new $class;
                        }
index ddbda49..51da80d 100644 (file)
@@ -25,7 +25,7 @@
 $options = array( 'list', 'nowarn', 'quiet', 'usage', 'dry' );
 $optionsWithArgs = array( 'old', 'new' );
 
-require_once( __DIR__ . '/commandLine.inc' );
+require_once __DIR__ . '/commandLine.inc';
 
 /**
  * @ingroup Maintenance
index 28e1a54..a62d161 100644 (file)
@@ -22,7 +22,7 @@
  * @see wfWaitForSlaves()
  */
 
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
 
 /**
  * Maintenance script to wait until slave lag goes under a certain value.
index 270a8b2..570b426 100644 (file)
@@ -24,7 +24,7 @@ define( 'MW_CONFIG_CALLBACK', 'Installer::overrideConfig' );
 define( 'MEDIAWIKI_INSTALL', true );
 
 chdir( dirname( __DIR__ ) );
-require( dirname( __DIR__ ) . '/includes/WebStart.php' );
+require dirname( __DIR__ ) . '/includes/WebStart.php';
 
 wfInstallerMain();
 
index cb8b1be..ecd5051 100644 (file)
@@ -20,7 +20,7 @@
  * @file
  */
 
-require_once( __DIR__ . '/includes/WebStart.php' );
+require_once __DIR__ . '/includes/WebStart.php';
 
 if ( $wgRequest->getVal( 'ctype' ) == 'application/xml' ) {
        // Makes testing tweaks about a billion times easier
index f18dfbf..8120599 100644 (file)
@@ -28,7 +28,7 @@
 ini_set( 'zlib.output_compression', 'off' );
 
 $wgEnableProfileInfo = $wgProfileToDatabase = false;
-require ( __DIR__ . '/includes/WebStart.php' );
+require __DIR__ . '/includes/WebStart.php';
 
 header( 'Content-Type: text/html; charset=utf-8' );
 
index ddcefda..90c6c95 100644 (file)
@@ -596,6 +596,9 @@ return array(
                        'user.tokens',
                ),
        ),
+       'mediawiki.icon' => array(
+               'styles' => 'resources/mediawiki/mediawiki.icon.css',
+       ),
        'mediawiki.debug' => array(
                'scripts' => 'resources/mediawiki/mediawiki.debug.js',
                'styles' => 'resources/mediawiki/mediawiki.debug.css',
@@ -668,6 +671,7 @@ return array(
                        'jquery.client',
                        'jquery.placeholder',
                        'jquery.suggestions',
+                       'mediawiki.api',
                ),
        ),
        'mediawiki.Title' => array(
@@ -740,7 +744,14 @@ return array(
        ),
        'mediawiki.action.view.postEdit' => array(
                'scripts' => 'resources/mediawiki.action/mediawiki.action.view.postEdit.js',
-               'dependencies' => 'jquery.cookie'
+               'styles' => 'resources/mediawiki.action/mediawiki.action.view.postEdit.css',
+               'dependencies' => array(
+                       'jquery.cookie',
+                       'mediawiki.jqueryMsg'
+               ),
+               'messages' => array(
+                       'postedit-confirmation',
+               ),
        ),
        'mediawiki.action.view.rightClickEdit' => array(
                'scripts' => 'resources/mediawiki.action/mediawiki.action.view.rightClickEdit.js',
@@ -902,7 +913,7 @@ return array(
        ),
        'mediawiki.special.changeslist' => array(
                'styles' => 'resources/mediawiki.special/mediawiki.special.changeslist.css',
-               'dependencies' => array( 'jquery.makeCollapsible' ),
+               'dependencies' => array( 'jquery.makeCollapsible', 'mediawiki.icon' ),
        ),
        'mediawiki.special.movePage' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.movePage.js',
index f2b98f0..a8c0b06 100644 (file)
@@ -78,7 +78,8 @@
                // Chop off characters from the end of the "inserted content" string
                // until the limit is statisfied.
                if ( fn ) {
-                       while ( $.byteLength( fn( inpParts.join( '' ) ) ) > byteLimit ) {
+                       // stop, when there is nothing to slice - bug 41450
+                       while ( $.byteLength( fn( inpParts.join( '' ) ) ) > byteLimit && inpParts[1].length > 0 ) {
                                inpParts[1] = inpParts[1].slice( 0, -1 );
                        }
                } else {
index b0bd685..2da022c 100644 (file)
@@ -6,7 +6,7 @@
        /* Private Members */
 
        /**
-        * @var profileCache {Object} Keyed by userAgent string,
+        * @var {Object} profileCache Keyed by userAgent string,
         * value is the parsed $.client.profile object for that user agent.
         */
        var profileCache = {};
@@ -18,9 +18,9 @@
                /**
                 * Get an object containing information about the client.
                 *
-                * @param nav {Object} An object with atleast a 'userAgent' and 'platform' key.
+                * @param {Object} nav An object with atleast a 'userAgent' and 'platform' key.
                 * Defaults to the global Navigator object.
-                * @return {Object} The resulting client object will be in the following format:
+                * @returns {Object} The resulting client object will be in the following format:
                 *  {
                 *   'name': 'firefox',
                 *   'layout': 'gecko',
                                        // Generic version digit
                                        x = 'x',
                                        // Strings found in user agent strings that need to be conformed
-                                       wildUserAgents = ['Opera', 'Navigator', 'Minefield', 'KHTML', 'Chrome', 'PLAYSTATION 3'],
+                                       wildUserAgents = ['Opera', 'Navigator', 'Minefield', 'KHTML', 'Chrome', 'PLAYSTATION 3', 'Iceweasel'],
                                        // Translations for conforming user agent strings
                                        userAgentTranslations = [
                                                // Tons of browsers lie about being something they are not
-                                               [/(Firefox|MSIE|KHTML,\slike\sGecko|Konqueror)/, ''],
+                                               [/(Firefox|MSIE|KHTML,?\slike\sGecko|Konqueror)/, ''],
                                                // Chrome lives in the shadow of Safari still
                                                ['Chrome Safari', 'Chrome'],
                                                // KHTML is the layout engine not the browser - LIES!
                                        // version detectection
                                        versionPrefixes = [
                                                'camino', 'chrome', 'firefox', 'iceweasel', 'netscape', 'netscape6', 'opera', 'version', 'konqueror',
-                                               'lynx', 'msie', 'safari', 'ps3'
+                                               'lynx', 'msie', 'safari', 'ps3', 'android'
                                        ],
                                        // Used as matches 2, 3 and 4 in version extraction - 3 is used as actual version number
                                        versionSuffix = '(\\/|\\;?\\s|)([a-z0-9\\.\\+]*?)(\\;|dev|rel|\\)|\\s|$)',
                                        // Names of known browsers
                                        names = [
                                                'camino', 'chrome', 'firefox', 'iceweasel', 'netscape', 'konqueror', 'lynx', 'msie', 'opera',
-                                               'safari', 'ipod', 'iphone', 'blackberry', 'ps3', 'rekonq'
+                                               'safari', 'ipod', 'iphone', 'blackberry', 'ps3', 'rekonq', 'android'
                                        ],
                                        // Tanslations for conforming browser names
                                        nameTranslations = [],
                },
 
                /**
-                * Checks the current browser against a support map object to determine if the browser has been black-listed or
-                * not. If the browser was not configured specifically it is assumed to work. It is assumed that the body
-                * element is classified as either "ltr" or "rtl". If neither is set, "ltr" is assumed.
+                * Checks the current browser against a support map object.
                 *
                 * A browser map is in the following format:
                 * {
+                *   // Multiple rules with configurable operators
+                *   'msie': [['>=', 7], ['!=', 9]],
+                *    // Match no versions
+                *   'iphone': false,
+                *    // Match any version
+                *   'android': null
+                * }
+                *
+                * It can optionally be split into ltr/rtl sections:
+                * {
                 *   'ltr': {
-                *     // Multiple rules with configurable operators
-                *     'msie': [['>=', 7], ['!=', 9]],
-                *      // Blocked entirely
+                *     'android': null,
                 *     'iphone': false
                 *   },
                 *   'rtl': {
-                *     // Test against a string
-                *     'msie': [['!==', '8.1.2.3']],
-                *     // RTL rules do not fall through to LTR rules, you must explicity set each of them
+                *     'android': false,
+                *     // rules are not inherited from ltr
                 *     'iphone': false
                 *   }
                 * }
                 *
-                * @param map {Object} Browser support map
-                * @param profile {Object} (optional) a client-profile object.
+                * @param {Object} map Browser support map
+                * @param {Object} [profile] A client-profile object
+                * @param {boolean} [exactMatchOnly=false] Only return true if the browser is matched, otherwise
+                * returns true if the browser is not found.
                 *
-                * @return Boolean true if browser known or assumed to be supported, false if blacklisted
+                * @returns {boolean} The current browser is in the support map
                 */
-               test: function ( map, profile ) {
+               test: function ( map, profile, exactMatchOnly ) {
                        /*jshint evil: true */
 
                        var conditions, dir, i, op, val;
                        profile = $.isPlainObject( profile ) ? profile : $.client.profile();
-                       dir = $( 'body' ).is( '.rtl' ) ? 'rtl' : 'ltr';
+                       if ( map.ltr && map.rtl ) {
+                               dir = $( 'body' ).is( '.rtl' ) ? 'rtl' : 'ltr';
+                               map = map[dir];
+                       }
                        // Check over each browser condition to determine if we are running in a compatible client
-                       if ( typeof map[dir] !== 'object' || map[dir][profile.name] === undefined ) {
-                               // Unknown, so we assume it's working
-                               return true;
+                       if ( typeof map !== 'object' || map[profile.name] === undefined ) {
+                               // Not found, return true if exactMatchOnly not set, false otherwise
+                               return !exactMatchOnly;
                        }
-                       conditions = map[dir][profile.name];
+                       conditions = map[profile.name];
                        if ( conditions === false ) {
+                               // Match no versions
                                return false;
                        }
+                       if ( conditions === null ) {
+                               // Match all versions
+                               return true;
+                       }
                        for ( i = 0; i < conditions.length; i++ ) {
                                op = conditions[i][0];
                                val = conditions[i][1];
index a552237..405c600 100644 (file)
 
        }
 
+       /**
+        * Sets the sort count of the columns that are not affected by the sorting to have them sorted
+        * in default (ascending) order when their header cell is clicked the next time.
+        *
+        * @param {jQuery} $headers
+        * @param {Number[][]} sortList
+        * @param {Number[][]} headerToColumns
+        */
+       function setHeadersOrder( $headers, sortList, headerToColumns ) {
+               // Loop through all headers to retrieve the indices of the columns the header spans across:
+               $.each( headerToColumns, function( headerIndex, columns ) {
+
+                       $.each( columns, function( i, columnIndex ) {
+                               var header = $headers[headerIndex];
+
+                               if ( !isValueInArray( columnIndex, sortList ) ) {
+                                       // Column shall not be sorted: Reset header count and order.
+                                       header.order = 0;
+                                       header.count = 0;
+                               } else {
+                                       // Column shall be sorted: Apply designated count and order.
+                                       $.each( sortList, function( j, sortColumn ) {
+                                               if ( sortColumn[0] === i ) {
+                                                       header.order = sortColumn[1];
+                                                       header.count = sortColumn[1] + 1;
+                                                       return false;
+                                               }
+                                       } );
+                               }
+                       } );
+
+               } );
+       }
+
        function isValueInArray( v, a ) {
                var l = a.length;
                for ( var i = 0; i < l; i++ ) {
                $.each( sortObjects, function( i, sortObject ) {
                        $.each ( sortObject, function( columnIndex, order ) {
                                var orderIndex = ( order === 'desc' ) ? 1 : 0;
-                               sortList.push( [columnIndex, orderIndex] );
+                               sortList.push( [parseInt( columnIndex, 10 ), orderIndex] );
                        } );
                } );
                return sortList;
                                                                }
                                                        }
 
+                                                       // Reset order/counts of cells not affected by sorting
+                                                       setHeadersOrder( $headers, config.sortList, headerToColumns );
+
                                                        // Set CSS for headers
                                                        setHeadersCss( $table[0], $headers, config.sortList, sortCSS, sortMsg, columnToHeader );
                                                        appendToTable(
                                                        sortList = convertSortList( sortList );
                                                }
 
+                                               // Set each column's sort count to be able to determine the correct sort
+                                               // order when clicking on a header cell the next time
+                                               setHeadersOrder( $headers, sortList, headerToColumns );
+
                                                // re-build the cache for the tbody cells
                                                cache = buildCache( table );
 
index 17fd0cd..c44816b 100644 (file)
@@ -89,7 +89,7 @@
                         * Ported from skins/common/edit.js by Trevor Parscal
                         * (c) 2009 Wikimedia Foundation (GPLv2) - http://www.wikimedia.org
                         *
-                        * Inserts text at the begining and end of a text selection, optionally
+                        * Inserts text at the beginning and end of a text selection, optionally
                         * inserting text at the caret when selection is empty.
                         *
                         * @fixme document the options parameters
                         * Some code copied from
                         * http://www.dedestruct.com/2008/03/22/howto-cross-browser-cursor-position-in-textareas/
                         *
-                        * Get the position (in resolution of bytes not nessecarily characters)
+                        * Get the position (in resolution of bytes not necessarily characters)
                         * in a textarea
                         *
                         * Will focus the textarea in some browsers (IE/Opera)
diff --git a/resources/mediawiki.action/images/green-checkmark.png b/resources/mediawiki.action/images/green-checkmark.png
new file mode 100644 (file)
index 0000000..8ec604e
Binary files /dev/null and b/resources/mediawiki.action/images/green-checkmark.png differ
diff --git a/resources/mediawiki.action/mediawiki.action.view.postEdit.css b/resources/mediawiki.action/mediawiki.action.view.postEdit.css
new file mode 100644 (file)
index 0000000..1e531bf
--- /dev/null
@@ -0,0 +1,80 @@
+.postedit-container {
+       margin: 0 auto;
+       position: fixed;
+       top: 0;
+       height: 0;
+       left: 50%;
+       z-index: 1000;
+}
+
+.postedit {
+       position: relative;
+       top: 0.6em;
+       left: -50%;
+       padding: .6em 3.6em .6em 1.1em;
+       font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+       font-size: 0.8em;
+       line-height: 1.5625em;
+       color: #626465;
+       background-color: #f4f4f4;
+       border: 1px solid #dcd9d9;
+       -webkit-text-shadow: 0 0.0625em 0 rgba(255, 255, 255, 0.5);
+       -moz-text-shadow: 0 0.0625em 0 rgba(255, 255, 255, 0.5);
+       text-shadow: 0 0.0625em 0 rgba(255, 255, 255, 0.5);
+       -webkit-border-radius: 5px;
+       -moz-border-radius: 5px;
+       border-radius: 5px;
+       -webkit-box-shadow: 0 2px 5px 0 #ccc;
+       -moz-box-shadow: 0 2px 5px 0 #ccc;
+       box-shadow: 0 2px 5px 0 #ccc;
+       -webkit-transition: all 0.25s ease-in-out;
+       -moz-transition: all 0.25s ease-in-out;
+       -ms-transition: all 0.25s ease-in-out;
+       -o-transition: all 0.25s ease-in-out;
+       transition: all 0.25s ease-in-out;
+}
+
+.skin-monobook .postedit {
+       top: 3em !important;
+}
+
+.postedit-faded {
+       opacity: 0;
+}
+
+.postedit-icon {
+       padding-left: 41px; /* 25 + 8 + 8 */
+       /* like min-height, but old IE compatible and keeps text vertically aligned, too */
+       line-height: 25px;
+       background-repeat: no-repeat;
+       background-position: 8px 50%;
+}
+
+.postedit-icon-checkmark {
+       /* @embed */
+       background-image: url(images/green-checkmark.png);
+       background-position: left;
+}
+
+.postedit-close {
+       position: absolute;
+       padding: 0 .8em;
+       right: 0;
+       top: 0;
+       font-size: 1.25em;
+       font-weight: bold;
+       line-height: 2.3em;
+       color: black;
+       text-shadow: 0 0.0625em 0 white;
+       text-decoration: none;
+       opacity: 0.2;
+       filter: alpha(opacity=20);
+}
+
+.postedit-close:hover {
+       color: black;
+       text-decoration: none;
+       cursor: pointer;
+       opacity: 0.4;
+       filter: alpha(opacity=40);
+}
index a11233f..e7a3e3c 100644 (file)
@@ -1,15 +1,45 @@
 ( function ( mw, $ ) {
-       // Only a view can be a post-edit.
-       if ( mw.config.get( 'wgAction' ) !== 'view' ) {
+       'use strict';
+
+       var config = mw.config.get( [ 'wgAction', 'wgCookiePrefix', 'wgCurRevisionId' ] ),
+               // This should match EditPage::POST_EDIT_COOKIE_KEY_PREFIX:
+               cookieKey = config.wgCookiePrefix + 'PostEditRevision' + config.wgCurRevisionId,
+               div, id;
+
+       if ( config.wgAction !== 'view' || $.cookie( cookieKey ) !== '1' ) {
                return;
        }
 
-       // Matches EditPage::POST_EDIT_COOKIE_KEY_PREFIX
-       var cookieKey = mw.config.get( 'wgCookiePrefix' ) + 'PostEditRevision' + mw.config.get( 'wgCurRevisionId' );
+       $.cookie( cookieKey, null, { path: '/' } );
+       mw.config.set( 'wgPostEdit', true );
+
+       function removeConfirmation() {
+               div.parentNode.removeChild( div );
+               mw.hook( 'postEdit.afterRemoval' ).fire();
+       }
+
+       function fadeOutConfirmation() {
+               clearTimeout( id );
+               div.firstChild.className = 'postedit postedit-faded';
+               setTimeout( removeConfirmation, 500 );
+               return false;
+       }
 
-       if ( $.cookie( cookieKey ) === '1' ) {
-               // We just saved this page
-               $.cookie( cookieKey, null, { path: '/' } );
-               mw.config.set( 'wgPostEdit', true );
+       function showConfirmation() {
+               div = document.createElement( 'div' );
+               div.className = 'postedit-container';
+               div.innerHTML =
+                       '<div class="postedit">' +
+                               '<div class="postedit-icon postedit-icon-checkmark">' +
+                                       mw.message( 'postedit-confirmation', mw.user ).escaped() +
+                               '</div>' +
+                               '<a href="#" class="postedit-close">&times;</a>' +
+                       '</div>';
+               id = setTimeout( fadeOutConfirmation, 3000 );
+               div.firstChild.lastChild.onclick = fadeOutConfirmation;
+               document.body.insertBefore( div, document.body.firstChild );
        }
+
+       mw.hook( 'postEdit' ).add( showConfirmation ).fire();
+
 } ( mediaWiki, jQuery ) );
index 2cd1b92..96947cc 100644 (file)
@@ -27,7 +27,7 @@
                                // an infinite loop. If this fresh token is bad, something else is very wrong.
                                useTokenToPost = function ( token ) {
                                        params.token = token;
-                                       api.post( params, ok, err );
+                                       api.post( params, { ok: ok, err: err } );
                                };
                                return api.getEditToken( useTokenToPost, err );
                        } else {
@@ -43,7 +43,7 @@
                                                err( code, result );
                                        }
                                };
-                               return api.post( params, { ok : ok, err : getTokenIfBad });
+                               return api.post( params, { ok: ok, err: getTokenIfBad } );
                        }
                },
 
@@ -85,7 +85,7 @@
                                        } else {
                                                d.reject( 'token-missing', data );
                                        }
-                               })
+                               } )
                                .fail( d.reject );
 
                        return d.promise( { abort: apiPromise.abort } );
diff --git a/resources/mediawiki.special/images/arrow-collapsed-ltr.png b/resources/mediawiki.special/images/arrow-collapsed-ltr.png
deleted file mode 100644 (file)
index ea9c67a..0000000
Binary files a/resources/mediawiki.special/images/arrow-collapsed-ltr.png and /dev/null differ
diff --git a/resources/mediawiki.special/images/arrow-collapsed-rtl.png b/resources/mediawiki.special/images/arrow-collapsed-rtl.png
deleted file mode 100644 (file)
index 081d3a8..0000000
Binary files a/resources/mediawiki.special/images/arrow-collapsed-rtl.png and /dev/null differ
diff --git a/resources/mediawiki.special/images/arrow-expanded.png b/resources/mediawiki.special/images/arrow-expanded.png
deleted file mode 100644 (file)
index fa4bf26..0000000
Binary files a/resources/mediawiki.special/images/arrow-expanded.png and /dev/null differ
index 2c251d7..f43505e 100644 (file)
Binary files a/resources/mediawiki.special/images/glyph-people-large.png and b/resources/mediawiki.special/images/glyph-people-large.png differ
index 62b37f9..e9b8874 100644 (file)
Binary files a/resources/mediawiki.special/images/icon-contributors.png and b/resources/mediawiki.special/images/icon-contributors.png differ
index 263832b..f4ec247 100644 (file)
Binary files a/resources/mediawiki.special/images/icon-edits.png and b/resources/mediawiki.special/images/icon-edits.png differ
index 306f1f1..4b3d4ee 100644 (file)
Binary files a/resources/mediawiki.special/images/icon-lock.png and b/resources/mediawiki.special/images/icon-lock.png differ
index 0389c84..a406ce7 100644 (file)
Binary files a/resources/mediawiki.special/images/icon-pages.png and b/resources/mediawiki.special/images/icon-pages.png differ
index 3c841e5..7b3740e 100644 (file)
@@ -49,16 +49,6 @@ table.mw-enhanced-rc td.mw-enhanced-rc-nested {
        cursor: pointer;
 }
 
-.mw-enhancedchanges-arrow.mw-collapsible-toggle-collapsed {
-       /* @embed */
-       background: url(images/arrow-collapsed-ltr.png) no-repeat left bottom;
-}
-
-.mw-enhancedchanges-arrow.mw-collapsible-toggle-expanded {
-       /* @embed */
-       background: url(images/arrow-expanded.png) no-repeat left bottom;
-}
-
 .mw-changeslist-line-watched .mw-title,
 .mw-enhanced-watched .mw-enhanced-rc-time {
        font-weight: bold;
index ef16a1d..11d00e7 100644 (file)
 }
 
 div.mw-createacct-benefits-container {
-       float: left
+       /* Keeps this column compact and close to the form, but tends to squish contents. */
+       float: left;
 }
 
 div.mw-createacct-benefits-container h2 {
        margin-bottom: 30px;
 }
 
-div.mw-benefits-icon {
-       display: inline-block;
-       padding: 0;
-       float: left;
-       width: 80px;
-       height: 75px;
-       margin-right: 15px;
-       border: 0;
-}
-
-.mw-benefits-icon.icon-edits {
+.mw-number-text.icon-edits {
        /* @embed */
-       background: url(images/icon-edits.png) no-repeat right;
+       background: url(images/icon-edits.png) no-repeat left center;
 }
 
-.mw-benefits-icon.icon-pages {
+.mw-number-text.icon-pages {
        /* @embed */
-       background: url(images/icon-pages.png) no-repeat right;
+       background: url(images/icon-pages.png) no-repeat left center;
 }
 
-.mw-benefits-icon.icon-contributors {
+.mw-number-text.icon-contributors {
        /* @embed */
-       background: url(images/icon-contributors.png) no-repeat right;
+       background: url(images/icon-contributors.png) no-repeat left center;
 }
 
 /* Special font for numbers in benefits*/
@@ -86,10 +77,13 @@ div.mw-number-text h3 {
        text-align: center;
 }
 
+/* Contains a number and explanatory text, with space for an icon */
 div.mw-number-text {
        display: block;
        font-size: 1.2em;
        color: #444;
        margin-top: 1em;
+       padding: 0 0 0 95px; /* 80px wide icon plus "margin" */
+       min-height: 75px; /* matches max icon height, ensures icon emblem is visible */
        text-align: center;
 }
index 0f8d420..810340c 100644 (file)
@@ -178,7 +178,7 @@ a.mw-ui-button {
   -moz-box-sizing: border-box;
   box-sizing: border-box;
   font-size: 0.9em;
-  color: #7d7d7d;
+  color: #4a4a4a;
   width: auto;
   margin: 0 0 0.2em 0;
   padding: 0;
@@ -215,7 +215,7 @@ a.mw-ui-button {
 /* line 72, sourcefiles/scss/components/default/_forms.scss */
 .mw-ui-label {
   font-size: 0.9em;
-  color: #7d7d7d;
+  color: #4a4a4a;
 }
 /* line 34, sourcefiles/scss/mixins/_forms.scss */
 .mw-ui-label * {
index 9826526..5f03376 100644 (file)
@@ -307,7 +307,7 @@ a.mw-ui-button {
   -moz-box-sizing: border-box;
   box-sizing: border-box;
   font-size: 0.9em;
-  color: #7d7d7d;
+  color: #4a4a4a;
   width: auto;
   margin: 0 0 0.2em 0;
   padding: 0;
@@ -344,7 +344,7 @@ a.mw-ui-button {
 /* line 72, sourcefiles/scss/components/default/_forms.scss */
 .mw-ui-label {
   font-size: 0.9em;
-  color: #7d7d7d;
+  color: #4a4a4a;
 }
 /* line 34, sourcefiles/scss/mixins/_forms.scss */
 .mw-ui-label * {
index 6316232..5db857a 100644 (file)
@@ -29,7 +29,7 @@
         //weight: bold;
         size: 0.9em;
     };
-    color: darken($agoraGray, 30%);
+    color: darken($agoraGray, 50%);
 
     & * {
         font-weight: normal;
diff --git a/resources/mediawiki/images/arrow-collapsed-ltr.png b/resources/mediawiki/images/arrow-collapsed-ltr.png
new file mode 100644 (file)
index 0000000..ea9c67a
Binary files /dev/null and b/resources/mediawiki/images/arrow-collapsed-ltr.png differ
diff --git a/resources/mediawiki/images/arrow-collapsed-rtl.png b/resources/mediawiki/images/arrow-collapsed-rtl.png
new file mode 100644 (file)
index 0000000..081d3a8
Binary files /dev/null and b/resources/mediawiki/images/arrow-collapsed-rtl.png differ
diff --git a/resources/mediawiki/images/arrow-expanded.png b/resources/mediawiki/images/arrow-expanded.png
new file mode 100644 (file)
index 0000000..fa4bf26
Binary files /dev/null and b/resources/mediawiki/images/arrow-expanded.png differ
index 87529b4..ac6f2a1 100644 (file)
                } );
        }
 
+       $( document ).ready( function() {
+               var $matrixTooltips = $( '.mw-htmlform-matrix .mw-htmlform-tooltip' );
+               if ( $matrixTooltips.length ) {
+                       mw.loader.using( 'jquery.tipsy', function () {
+                               $matrixTooltips.tipsy();
+                       } );
+               }
+       } );
 }( mediaWiki, jQuery ) );
diff --git a/resources/mediawiki/mediawiki.icon.css b/resources/mediawiki/mediawiki.icon.css
new file mode 100644 (file)
index 0000000..f61b725
--- /dev/null
@@ -0,0 +1,15 @@
+/* General-purpose icons via CSS. Classes here should be named "mw-icon-*". */
+
+/* For the collapsed and expanded arrows, we also provide selectors to make it
+ * easy to use them with jquery.makeCollapsible. */
+.mw-icon-arrow-collapsed,
+.mw-collapsible-arrow.mw-collapsible-toggle-collapsed {
+       /* @embed */
+       background: url(images/arrow-collapsed-ltr.png) no-repeat left bottom;
+}
+
+.mw-icon-arrow-expanded,
+.mw-collapsible-arrow.mw-collapsible-toggle-expanded {
+       /* @embed */
+       background: url(images/arrow-expanded.png) no-repeat left bottom;
+}
index 00e74c5..08f10fe 100644 (file)
                $( searchboxesSelectors.join(', ') )
                        .suggestions( {
                                fetch: function ( query ) {
-                                       var $el, jqXhr;
+                                       var $el;
 
                                        if ( query.length !== 0 ) {
-                                               $el = $(this);
-                                               jqXhr = $.ajax( {
-                                                       url: mw.util.wikiScript( 'api' ),
-                                                       data: {
-                                                               format: 'json',
-                                                               action: 'opensearch',
-                                                               search: query,
-                                                               namespace: 0,
-                                                               suggest: ''
-                                                       },
-                                                       dataType: 'json',
-                                                       success: function ( data ) {
-                                                               if ( $.isArray( data ) && data.length ) {
-                                                                       $el.suggestions( 'suggestions', data[1] );
-                                                               }
-                                                       }
-                                               });
-                                               $el.data( 'request', jqXhr );
+                                               $el = $( this );
+                                               $el.data( 'request', ( new mw.Api() ).get( {
+                                                       action: 'opensearch',
+                                                       search: query,
+                                                       namespace: 0,
+                                                       suggest: ''
+                                               } ).done( function ( data ) {
+                                                       $el.suggestions( 'suggestions', data[1] );
+                                               } ) );
                                        }
                                },
                                cancel: function () {
-                                       var jqXhr = $(this).data( 'request' );
+                                       var apiPromise = $( this ).data( 'request' );
                                        // If the delay setting has caused the fetch to have not even happened
-                                       // yet, the jqXHR object will have never been set.
-                                       if ( jqXhr && $.isFunction( jqXhr.abort ) ) {
-                                               jqXhr.abort();
-                                               $(this).removeData( 'request' );
+                                       // yet, the apiPromise object will have never been set.
+                                       if ( apiPromise && $.isFunction( apiPromise.abort ) ) {
+                                               apiPromise.abort();
+                                               $( this ).removeData( 'request' );
                                        }
                                },
                                result: {
index bd8e596..977929d 100644 (file)
                 * Returns null if not found.
                 *
                 * @param {string} param The parameter name.
-                * @param {string} [url] URL to search through.
+                * @param {string} [url=document.location.href] URL to search through, defaulting to the current document's URL.
                 * @return {Mixed} Parameter value or null.
                 */
                getParamValue: function ( param, url ) {
                 *
                 * @param {Mixed} message The DOM-element, jQuery object or HTML-string to be put inside the message box.
                 * to allow CSS/JS to hide different boxes. null = no class used.
-                * @deprecated Use mw#notify
+                * @deprecated since 1.20 Use mw#notify
                 */
                jsMessage: function ( message ) {
                        if ( !arguments.length || message === '' || message === null ) {
index 09aec79..766c1a5 100644 (file)
@@ -24,7 +24,7 @@
 if ( !defined( 'MEDIAWIKI' ) ) {
        $wgNoDBParam = true;
        $optionsWithArgs = array( 'o' );
-       require_once( __DIR__ .'/../maintenance/commandLine.inc' );
+       require_once __DIR__ .'/../maintenance/commandLine.inc';
 
        $stderr = fopen( 'php://stderr', 'w' );
        if ( !isset( $args[0] ) ) {
@@ -65,7 +65,7 @@ if ( !defined( 'MEDIAWIKI' ) ) {
 //----------------------------------------------------------------------------
 
 function getVars( $_gv_filename ) {
-       require( $_gv_filename );
+       require $_gv_filename;
        $vars = get_defined_vars();
        unset( $vars['_gv_filename'] );
 
index aeeb0f8..e805aca 100644 (file)
@@ -43,17 +43,10 @@ class SkinMonoBook extends SkinTemplate {
         * @param $out OutputPage
         */
        function setupSkinUserCss( OutputPage $out ) {
-               global $wgHandheldStyle;
                parent::setupSkinUserCss( $out );
 
                $out->addModuleStyles( 'skins.monobook' );
 
-               // Ugh. Can't do this properly because $wgHandheldStyle may be a URL
-               if ( $wgHandheldStyle ) {
-                       // Currently in testing... try 'chick/main.css'
-                       $out->addStyle( $wgHandheldStyle, 'handheld' );
-               }
-
                // TODO: Migrate all of these
                $out->addStyle( 'monobook/IE60Fixes.css', 'screen', 'IE 6' );
                $out->addStyle( 'monobook/IE70Fixes.css', 'screen', 'IE 7' );
index d477c65..d0305f0 100644 (file)
@@ -48,7 +48,7 @@ class SkinVector extends SkinTemplate {
                parent::initPage( $out );
 
                // Append CSS which includes IE only behavior fixes for hover support -
-               // this is better than including this in a CSS fille since it doesn't
+               // this is better than including this in a CSS file since it doesn't
                // wait for the CSS file to load before fetching the HTC file.
                $min = $this->getRequest()->getFuzzyBool( 'debug' ) ? '' : '.min';
                $out->addHeadItem( 'csshover',
@@ -61,8 +61,7 @@ class SkinVector extends SkinTemplate {
        }
 
        /**
-        * Load skin and user CSS files in the correct order
-        * fixes bug 22916
+        * Loads skin and user CSS files.
         * @param $out OutputPage object
         */
        function setupSkinUserCss( OutputPage $out ) {
index 121f9d1..ca74b38 100644 (file)
@@ -1,15 +1,23 @@
-// remote scripting library
-// (c) copyright 2005 modernmethod, inc
-window.sajax_debug_mode = false;
-window.sajax_request_type = 'GET';
+/**
+ * Remote Scripting Library
+ * Copyright 2005 modernmethod, inc
+ * Under the open source BSD license
+ * http://www.modernmethod.com/sajax/
+ */
+
+/*jshint camelcase:false, onevar:false */
+/*global alert */
+( function ( mw ) {
 
 /**
- * if sajax_debug_mode is true, this function outputs given the message into 
- * the element with id = sajax_debug; if no such element exists in the document, 
+ * if sajax_debug_mode is true, this function outputs given the message into
+ * the element with id = sajax_debug; if no such element exists in the document,
  * it is injected.
  */
-window.sajax_debug = function(text) {
-       if (!sajax_debug_mode) return false;
+function debug( text ) {
+       if ( !window.sajax_debug_mode ) {
+               return false;
+       }
 
        var e = document.getElementById( 'sajax_debug' );
 
@@ -33,36 +41,36 @@ window.sajax_debug = function(text) {
        e.appendChild( m );
 
        return true;
-};
+}
 
 /**
  * Compatibility wrapper for creating a new XMLHttpRequest object.
  */
-window.sajax_init_object = function() {
-       sajax_debug( 'sajax_init_object() called..' );
-       var A;
+function createXhr() {
+       debug( 'sajax_init_object() called..' );
+       var a;
        try {
                // Try the new style before ActiveX so we don't
                // unnecessarily trigger warnings in IE 7 when
                // set to prompt about ActiveX usage
-               A = new XMLHttpRequest();
-       } catch ( e ) {
+               a = new XMLHttpRequest();
+       } catch ( xhrE ) {
                try {
-                       A = new ActiveXObject( 'Msxml2.XMLHTTP' );
-               } catch ( e ) {
+                       a = new window.ActiveXObject( 'Msxml2.XMLHTTP' );
+               } catch ( msXmlE ) {
                        try {
-                               A = new ActiveXObject( 'Microsoft.XMLHTTP' );
-                       } catch ( oc ) {
-                               A = null;
+                               a = new window.ActiveXObject( 'Microsoft.XMLHTTP' );
+                       } catch ( msXhrE ) {
+                               a = null;
                        }
                }
        }
-       if ( !A ) {
-               sajax_debug( 'Could not create connection object.' );
+       if ( !a ) {
+               debug( 'Could not create connection object.' );
        }
 
-       return A;
-};
+       return a;
+}
 
 /**
  * Perform an AJAX call to MediaWiki. Calls are handled by AjaxDispatcher.php
@@ -80,13 +88,13 @@ window.sajax_init_object = function() {
  * (1, 2, 3) as the parameter list, and will show the result in the element
  * with id = showFoo
  */
-window.sajax_do_call = function(func_name, args, target) {
-       var i, x, n;
+function doAjaxRequest( func_name, args, target ) {
+       var i, x;
        var uri;
        var post_data;
        uri = mw.util.wikiScript() + '?action=ajax';
-       if ( sajax_request_type == 'GET' ) {
-               if ( uri.indexOf( '?' ) == -1 ) {
+       if ( window.sajax_request_type === 'GET' ) {
+               if ( uri.indexOf( '?' ) === -1 ) {
                        uri = uri + '?rs=' + encodeURIComponent( func_name );
                } else {
                        uri = uri + '&rs=' + encodeURIComponent( func_name );
@@ -102,47 +110,47 @@ window.sajax_do_call = function(func_name, args, target) {
                        post_data = post_data + '&rsargs[]=' + encodeURIComponent( args[i] );
                }
        }
-       x = sajax_init_object();
+       x = createXhr();
        if ( !x ) {
                alert( 'AJAX not supported' );
                return false;
        }
 
        try {
-               x.open( sajax_request_type, uri, true );
+               x.open( window.sajax_request_type, uri, true );
        } catch ( e ) {
-               if ( window.location.hostname == 'localhost' ) {
-                       alert( "Your browser blocks XMLHttpRequest to 'localhost', try using a real hostname for development/testing." );
+               if ( location.hostname === 'localhost' ) {
+                       alert( 'Your browser blocks XMLHttpRequest to "localhost", try using a real hostname for development/testing.' );
                }
                throw e;
        }
-       if ( sajax_request_type == 'POST' ) {
+       if ( window.sajax_request_type === 'POST' ) {
                x.setRequestHeader( 'Method', 'POST ' + uri + ' HTTP/1.1' );
                x.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
        }
        x.setRequestHeader( 'Pragma', 'cache=yes' );
        x.setRequestHeader( 'Cache-Control', 'no-transform' );
-       x.onreadystatechange = function() {
-               if ( x.readyState != 4 ) {
+       x.onreadystatechange = function () {
+               if ( x.readyState !== 4 ) {
                        return;
                }
 
-               sajax_debug( 'received (' + x.status + ' ' + x.statusText + ') ' + x.responseText );
+               debug( 'received (' + x.status + ' ' + x.statusText + ') ' + x.responseText );
 
                //if ( x.status != 200 )
                //      alert( 'Error: ' + x.status + ' ' + x.statusText + ': ' + x.responseText );
                //else
 
-               if ( typeof( target ) == 'function' ) {
+               if ( typeof target === 'function' ) {
                        target( x );
-               } else if ( typeof( target ) == 'object' ) {
-                       if ( target.tagName == 'INPUT' ) {
-                               if ( x.status == 200 ) {
+               } else if ( typeof target === 'object' ) {
+                       if ( target.tagName === 'INPUT' ) {
+                               if ( x.status === 200 ) {
                                        target.value= x.responseText;
                                }
                                //else alert( 'Error: ' + x.status + ' ' + x.statusText + ' (' + x.responseText + ')' );
                        } else {
-                               if ( x.status == 200 ) {
+                               if ( x.status === 200 ) {
                                        target.innerHTML = x.responseText;
                                } else {
                                        target.innerHTML = '<div class="error">Error: ' + x.status +
@@ -150,24 +158,37 @@ window.sajax_do_call = function(func_name, args, target) {
                                }
                        }
                } else {
-                       alert( 'bad target for sajax_do_call: not a function or object: ' + target );
+                       alert( 'Bad target for sajax_do_call: not a function or object: ' + target );
                }
        };
 
-       sajax_debug( func_name + ' uri = ' + uri + ' / post = ' + post_data );
+       debug( func_name + ' uri = ' + uri + ' / post = ' + post_data );
        x.send( post_data );
-       sajax_debug( func_name + ' waiting..' );
-       delete x;
+       debug( func_name + ' waiting..' );
 
        return true;
-};
+}
 
 /**
- * @return boolean whether the browser supports XMLHttpRequest
+ * @return {boolean} Whether the browser supports AJAX
  */
-window.wfSupportsAjax = function() {
-       var request = sajax_init_object();
+function wfSupportsAjax() {
+       var request = createXhr();
        var supportsAjax = request ? true : false;
-       delete request;
+       request = undefined;
        return supportsAjax;
-};
+}
+
+// Expose + Mark as deprecated
+var deprecationNotice = 'Sajax is deprecated, use jQuery.ajax or mediawiki.api instead.';
+
+// Variables
+mw.log.deprecate( window, 'sajax_debug_mode', false, deprecationNotice );
+mw.log.deprecate( window, 'sajax_request_type', 'GET', deprecationNotice );
+// Methods
+mw.log.deprecate( window, 'sajax_debug', debug, deprecationNotice );
+mw.log.deprecate( window, 'sajax_init_object', createXhr, deprecationNotice );
+mw.log.deprecate( window, 'sajax_do_call', doAjaxRequest, deprecationNotice );
+mw.log.deprecate( window, 'wfSupportsAjax', wfSupportsAjax, deprecationNotice );
+
+}( mediaWiki ) );
diff --git a/skins/common/images/question-small.png b/skins/common/images/question-small.png
new file mode 100644 (file)
index 0000000..590f0cb
Binary files /dev/null and b/skins/common/images/question-small.png differ
diff --git a/skins/common/images/question.svg b/skins/common/images/question.svg
new file mode 100644 (file)
index 0000000..2797305
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\r
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\r
+        width="21.059px" height="21.06px" viewBox="0 0 21.059 21.06" enable-background="new 0 0 21.059 21.06" xml:space="preserve">\r
+<path fill="#575757" d="M10.529,0C4.715,0,0,4.714,0,10.529s4.715,10.53,10.529,10.53c5.816,0,10.529-4.715,10.529-10.53\r
+       S16.346,0,10.529,0z M10.527,16.767c-0.861,0-1.498-0.688-1.498-1.516c0-0.862,0.637-1.534,1.498-1.534c0.828,0,1.5,0.672,1.5,1.534\r
+       C12.027,16.078,11.355,16.767,10.527,16.767z M12.664,10.255c-0.723,0.568-1,0.931-1,1.739v0.5H9.459v-0.603\r
+       c0-1.517,0.449-2.136,1.154-2.688c0.707-0.552,1.139-0.845,1.139-1.637c0-0.672-0.414-1.051-1.24-1.051\r
+       c-0.707,0-1.328,0.189-1.982,0.638L7.479,5.346c0.861-0.604,1.93-1.034,3.342-1.034c1.912,0,3.516,1.051,3.516,3.066\r
+       C14.336,8.808,13.543,9.566,12.664,10.255z"/>\r
+</svg>\r
index fb140b2..d946ce2 100644 (file)
@@ -235,6 +235,32 @@ td.mw-label {
 .prefsection table.mw-htmlform-matrix {
        width: auto;
 }
+
+.mw-icon-question {
+       /* @embed */
+       background: url('images/question-small.png') no-repeat;
+       /* SVG support using a transparent gradient to guarantee cross-browser
+        * compatibility (browsers able to understand gradient syntax support also SVG)
+        * lifted from #pt-login css rule in skins/vector/screen.css */
+       /* @embed */
+       background: -webkit-linear-gradient(transparent, transparent), url('images/question.svg') no-repeat;
+       /* @embed */
+       background: linear-gradient(transparent, transparent), url('images/question.svg') no-repeat;
+       background-size: 13px 13px;
+       display: inline-block;
+       height: 13px;
+       width: 13px;
+       margin-left: 4px;
+}
+
+.mw-icon-question:lang(ar),
+.mw-icon-question:lang(fa),
+.mw-icon-question:lang(ur) {
+       -webkit-transform: scaleX(-1);
+       -ms-transform: scaleX(-1);
+       transform: scaleX(-1);
+}
+
 td.mw-submit {
        white-space: nowrap;
 }
index 65042ef..8c01ba3 100644 (file)
@@ -1,67 +1,61 @@
 /**
  * MediaWiki legacy wikibits
  */
-( function ( mw ) {
-
-window.clientPC = navigator.userAgent.toLowerCase(); // Get client info
-window.is_gecko = /gecko/.test( clientPC ) &&
-       !/khtml|spoofer|netscape\/7\.0/.test(clientPC);
-
-window.is_safari = window.is_safari_win = window.webkit_version =
-       window.is_chrome = window.is_chrome_mac = false;
-window.webkit_match = clientPC.match(/applewebkit\/(\d+)/);
-if (webkit_match) {
-       window.is_safari = clientPC.indexOf('applewebkit') != -1 &&
-               clientPC.indexOf('spoofer') == -1;
-       window.is_safari_win = is_safari && clientPC.indexOf('windows') != -1;
-       window.webkit_version = parseInt(webkit_match[1]);
-       // Tests for chrome here, to avoid breaking old scripts safari left alone
-       // This is here for accesskeys
-       window.is_chrome = clientPC.indexOf('chrome') !== -1 &&
-               clientPC.indexOf('spoofer') === -1;
-       window.is_chrome_mac = is_chrome && clientPC.indexOf('mac') !== -1
-}
+/*jshint quotmark:false, onevar:false */
+( function ( mw, $ ) {
+       var isIE6, isGecko,
+               ua = navigator.userAgent.toLowerCase(),
+               uaMsg = 'Use feature detection or module jquery.client instead.';
 
-// For accesskeys; note that FF3+ is included here!
-window.is_ff2 = /firefox\/[2-9]|minefield\/3/.test( clientPC );
-window.ff2_bugs = /firefox\/2/.test( clientPC );
-// These aren't used here, but some custom scripts rely on them
-window.is_ff2_win = is_ff2 && clientPC.indexOf('windows') != -1;
-window.is_ff2_x11 = is_ff2 && clientPC.indexOf('x11') != -1;
-
-window.is_opera = window.is_opera_preseven = window.is_opera_95 =
-       window.opera6_bugs = window.opera7_bugs = window.opera95_bugs = false;
-if (clientPC.indexOf('opera') != -1) {
-       window.is_opera = true;
-       window.is_opera_preseven = window.opera && !document.childNodes;
-       window.is_opera_seven = window.opera && document.childNodes;
-       window.is_opera_95 = /opera\/(9\.[5-9]|[1-9][0-9])/.test( clientPC );
-       window.opera6_bugs = is_opera_preseven;
-       window.opera7_bugs = is_opera_seven && !is_opera_95;
-       window.opera95_bugs = /opera\/(9\.5)/.test( clientPC );
-}
-// As recommended by <http://msdn.microsoft.com/en-us/library/ms537509.aspx>,
-// avoiding false positives from moronic extensions that append to the IE UA
-// string (bug 23171)
-window.ie6_bugs = false;
-if ( /msie ([0-9]{1,}[\.0-9]{0,})/.exec( clientPC ) != null
-&& parseFloat( RegExp.$1 ) <= 6.0 ) {
-       ie6_bugs = true;
+/**
+ * User-agent sniffing.
+ * To be removed in MediaWiki 1.23.
+ *
+ * @deprecated since 1.17 Use jquery.client instead.
+ */
+mw.log.deprecate( window, 'clientPC', ua, uaMsg );
+$.each([
+               'is_gecko',
+               'is_chrome_mac',
+               'is_chrome',
+               'webkit_version',
+               'is_safari_win',
+               'is_safari',
+               'webkit_match',
+               'is_ff2',
+               'ff2_bugs',
+               'is_ff2_win',
+               'is_ff2_x11',
+               'opera95_bugs',
+               'opera7_bugs',
+               'opera6_bugs',
+               'is_opera_95',
+               'is_opera_preseven',
+               'is_opera',
+               'ie6_bugs'
+       ],
+       function ( i, key ) {
+               mw.log.deprecate( window, key, false, uaMsg );
+       }
+);
+if ( /msie ([0-9]{1,}[\.0-9]{0,})/.exec( ua ) && parseFloat( RegExp.$1 ) <= 6.0 ) {
+       isIE6 = true;
 }
+isGecko = /gecko/.test( ua ) && !/khtml|spoofer|netscape\/7\.0/.test( ua );
 
 // add any onload functions in this hook (please don't hard-code any events in the xhtml source)
 window.doneOnloadHook = undefined;
 
-if (!window.onloadFuncts) {
+if ( !window.onloadFuncts ) {
        window.onloadFuncts = [];
 }
 
 window.addOnloadHook = function( hookFunct ) {
        // Allows add-on scripts to add onload functions
-       if( !doneOnloadHook ) {
-               onloadFuncts[onloadFuncts.length] = hookFunct;
+       if( !window.doneOnloadHook ) {
+               window.onloadFuncts[window.onloadFuncts.length] = hookFunct;
        } else {
-               hookFunct();  // bug in MSIE script loading
+               hookFunct(); // bug in MSIE script loading
        }
 };
 
@@ -69,15 +63,15 @@ window.importScript = function( page ) {
        var uri = mw.config.get( 'wgScript' ) + '?title=' +
                mw.util.wikiUrlencode( page ) +
                '&action=raw&ctype=text/javascript';
-       return importScriptURI( uri );
+       return window.importScriptURI( uri );
 };
 
 window.loadedScripts = {}; // included-scripts tracker
 window.importScriptURI = function( url ) {
-       if ( loadedScripts[url] ) {
+       if ( window.loadedScripts[url] ) {
                return null;
        }
-       loadedScripts[url] = true;
+       window.loadedScripts[url] = true;
        var s = document.createElement( 'script' );
        s.setAttribute( 'src', url );
        s.setAttribute( 'type', 'text/javascript' );
@@ -86,7 +80,7 @@ window.importScriptURI = function( url ) {
 };
 
 window.importStylesheet = function( page ) {
-       return importStylesheetURI( mw.config.get( 'wgScript' ) + '?action=raw&ctype=text/css&title=' + mw.util.wikiUrlencode( page ) );
+       return window.importStylesheetURI( mw.config.get( 'wgScript' ) + '?action=raw&ctype=text/css&title=' + mw.util.wikiUrlencode( page ) );
 };
 
 window.importStylesheetURI = function( url, media ) {
@@ -114,8 +108,10 @@ window.appendCSS = function( text ) {
 };
 
 if ( mw.config.get( 'wgBreakFrames' ) ) {
-       // Un-trap us from framesets
-       if ( window.top != window ) {
+       // Note: In IE < 9 strict comparison to window is non-standard (the standard didn't exist yet)
+       // it works only comparing to window.self or window.window (http://stackoverflow.com/q/4850978/319266)
+       if ( window.top !== window.self ) {
+               // Un-trap us from framesets
                window.top.location = window.location;
        }
 }
@@ -131,7 +127,7 @@ window.changeText = function( el, newText ) {
 
 window.killEvt = function( evt ) {
        evt = evt || window.event || window.Event; // W3C, IE, Netscape
-       if ( typeof ( evt.preventDefault ) != 'undefined' ) {
+       if ( typeof evt.preventDefault !== 'undefined' ) {
                evt.preventDefault(); // Don't follow the link
                evt.stopPropagation();
        } else {
@@ -148,7 +144,7 @@ window.escapeQuotes = function( text ) {
        text = text.replace( re, "\\'" );
        re = new RegExp( "\\n", "g" );
        text = text.replace( re, "\\n" );
-       return escapeQuotesHTML( text );
+       return window.escapeQuotesHTML( text );
 };
 
 window.escapeQuotesHTML = function( text ) {
@@ -164,63 +160,14 @@ window.escapeQuotesHTML = function( text ) {
 };
 
 /**
- * Set the accesskey prefix based on browser detection.
- */
-window.tooltipAccessKeyPrefix = 'alt-';
-if ( is_opera ) {
-       tooltipAccessKeyPrefix = 'shift-esc-';
-} else if ( is_chrome ) {
-       tooltipAccessKeyPrefix = is_chrome_mac ? 'ctrl-option-' : 'alt-';
-} else if ( !is_safari_win && is_safari && webkit_version > 526 ) {
-       tooltipAccessKeyPrefix = 'ctrl-alt-';
-} else if ( !is_safari_win && ( is_safari
-               || clientPC.indexOf('mac') != -1
-               || clientPC.indexOf('konqueror') != -1 ) ) {
-       tooltipAccessKeyPrefix = 'ctrl-';
-} else if ( is_ff2 ) {
-       tooltipAccessKeyPrefix = 'alt-shift-';
-}
-window.tooltipAccessKeyRegexp = /\[(ctrl-)?(alt-)?(shift-)?(esc-)?(.)\]$/;
-
-/**
- * Add the appropriate prefix to the accesskey shown in the tooltip.
- * If the nodeList parameter is given, only those nodes are updated;
- * otherwise, all the nodes that will probably have accesskeys by
- * default are updated.
+ * Accesskey prefix utilities.
+ * To be removed in MediaWiki 1.23.
  *
- * @param nodeList Array list of elements to update
+ * @deprecated since 1.17 Use mediawiki.util instead.
  */
-window.updateTooltipAccessKeys = function( nodeList ) {
-       if ( !nodeList ) {
-               // Rather than scan all links on the whole page, we can just scan these
-               // containers which contain the relevant links. This is really just an
-               // optimization technique.
-               var linkContainers = [
-                       'column-one', // Monobook and Modern
-                       'mw-head', 'mw-panel', 'p-logo' // Vector
-               ];
-               for ( var i in linkContainers ) {
-                       var linkContainer = document.getElementById( linkContainers[i] );
-                       if ( linkContainer ) {
-                               updateTooltipAccessKeys( linkContainer.getElementsByTagName( 'a' ) );
-                       }
-               }
-               // these are rare enough that no such optimization is needed
-               updateTooltipAccessKeys( document.getElementsByTagName( 'input' ) );
-               updateTooltipAccessKeys( document.getElementsByTagName( 'label' ) );
-               return;
-       }
-
-       for ( var i = 0; i < nodeList.length; i++ ) {
-               var element = nodeList[i];
-               var tip = element.getAttribute( 'title' );
-               if ( tip && tooltipAccessKeyRegexp.exec( tip ) ) {
-                       tip = tip.replace(tooltipAccessKeyRegexp,
-                                         '[' + tooltipAccessKeyPrefix + "$5]");
-                       element.setAttribute( 'title', tip );
-               }
-       }
-};
+mw.log.deprecate( window, 'tooltipAccessKeyPrefix', 'alt-', 'Use mediawiki.util instead.' );
+mw.log.deprecate( window, 'tooltipAccessKeyRegexp', /\[(alt-)?(.)\]$/, 'Use mediawiki.util instead.' );
+mw.log.deprecate( window, 'updateTooltipAccessKeys', mw.util.updateTooltipAccessKeys, 'Use mediawiki.util instead.' );
 
 /**
  * Add a link to one of the portlet menus on the page, including:
@@ -263,7 +210,7 @@ window.addPortletLink = function( portlet, href, text, id, tooltip, accesskey, n
                node = document.createElement( 'ul' );
                var lastElementChild = null;
                for ( var i = 0; i < root.childNodes.length; ++i ) { /* get root.lastElementChild */
-                       if ( root.childNodes[i].nodeType == 1 ) {
+                       if ( root.childNodes[i].nodeType === 1 ) {
                                lastElementChild = root.childNodes[i];
                        }
                }
@@ -303,10 +250,10 @@ window.addPortletLink = function( portlet, href, text, id, tooltip, accesskey, n
                link.setAttribute( 'title', tooltip );
        }
        if ( accesskey && tooltip ) {
-               updateTooltipAccessKeys( [link] );
+               mw.util.updateTooltipAccessKeys( [link] );
        }
 
-       if ( nextnode && nextnode.parentNode == node ) {
+       if ( nextnode && nextnode.parentNode === node ) {
                node.insertBefore( item, nextnode );
        } else {
                node.appendChild( item );  // IE compatibility (?)
@@ -316,10 +263,10 @@ window.addPortletLink = function( portlet, href, text, id, tooltip, accesskey, n
 };
 
 window.getInnerText = function( el ) {
-       if ( typeof el == 'string' ) {
+       if ( typeof el === 'string' ) {
                return el;
        }
-       if ( typeof el == 'undefined' ) {
+       if ( typeof el === 'undefined' ) {
                return el;
        }
        // Custom sort value through 'data-sort-value' attribute
@@ -341,7 +288,7 @@ window.getInnerText = function( el ) {
        for ( var i = 0; i < l; i++ ) {
                switch ( cs[i].nodeType ) {
                        case 1: // ELEMENT_NODE
-                               str += getInnerText( cs[i] );
+                               str += window.getInnerText( cs[i] );
                                break;
                        case 3: // TEXT_NODE
                                str += cs[i].nodeValue;
@@ -351,71 +298,21 @@ window.getInnerText = function( el ) {
        return str;
 };
 
-window.checkboxes = undefined;
-window.lastCheckbox = undefined;
-
-window.setupCheckboxShiftClick = function() {
-       checkboxes = [];
-       lastCheckbox = null;
-       var inputs = document.getElementsByTagName( 'input' );
-       addCheckboxClickHandlers( inputs );
-};
-
-window.addCheckboxClickHandlers = function( inputs, start ) {
-       if ( !start ) {
-               start = 0;
-       }
-
-       var finish = start + 250;
-       if ( finish > inputs.length ) {
-               finish = inputs.length;
-       }
-
-       for ( var i = start; i < finish; i++ ) {
-               var cb = inputs[i];
-               if ( !cb.type || cb.type.toLowerCase() != 'checkbox' || ( ' ' + cb.className + ' ' ).indexOf( ' noshiftselect ' )  != -1 ) {
-                       continue;
-               }
-               var end = checkboxes.length;
-               checkboxes[end] = cb;
-               cb.index = end;
-               addClickHandler( cb, checkboxClickHandler );
-       }
-
-       if ( finish < inputs.length ) {
-               setTimeout( function() {
-                       addCheckboxClickHandlers( inputs, finish );
-               }, 200 );
-       }
-};
-
-window.checkboxClickHandler = function( e ) {
-       if ( typeof e == 'undefined' ) {
-               e = window.event;
-       }
-       if ( !e.shiftKey || lastCheckbox === null ) {
-               lastCheckbox = this.index;
-               return true;
-       }
-       var endState = this.checked;
-       var start, finish;
-       if ( this.index < lastCheckbox ) {
-               start = this.index + 1;
-               finish = lastCheckbox;
-       } else {
-               start = lastCheckbox;
-               finish = this.index - 1;
-       }
-       for ( var i = start; i <= finish; ++i ) {
-               checkboxes[i].checked = endState;
-               if( i > start && typeof checkboxes[i].onchange == 'function' ) {
-                       checkboxes[i].onchange(); // fire triggers
-               }
-       }
-       lastCheckbox = this.index;
-       return true;
-};
-
+/**
+ * Toggle checkboxes with shift selection.
+ * To be removed in MediaWiki 1.23.
+ *
+ * @deprecated since 1.17 Use jquery.checkboxShiftClick instead.
+ */
+$.each({
+       checkboxes: [],
+       lastCheckbox: null,
+       setupCheckboxShiftClick: $.noop,
+       addCheckboxClickHandlers: $.noop,
+       checkboxClickHandler: $.noop
+}, function ( key, val ) {
+       mw.log.deprecate( window, key, val, 'Use jquery.checkboxShiftClick instead.' );
+} );
 
 /*
        Written by Jonathan Snook, http://www.snook.ca/jonathan
@@ -425,22 +322,22 @@ window.checkboxClickHandler = function( e ) {
 */
 window.getElementsByClassName = function( oElm, strTagName, oClassNames ) {
        var arrReturnElements = [];
-       if ( typeof( oElm.getElementsByClassName ) == 'function' ) {
+       if ( typeof oElm.getElementsByClassName === 'function' ) {
                /* Use a native implementation where possible FF3, Saf3.2, Opera 9.5 */
                var arrNativeReturn = oElm.getElementsByClassName( oClassNames );
-               if ( strTagName == '*' ) {
+               if ( strTagName === '*' ) {
                        return arrNativeReturn;
                }
                for ( var h = 0; h < arrNativeReturn.length; h++ ) {
-                       if( arrNativeReturn[h].tagName.toLowerCase() == strTagName.toLowerCase() ) {
+                       if( arrNativeReturn[h].tagName.toLowerCase() === strTagName.toLowerCase() ) {
                                arrReturnElements[arrReturnElements.length] = arrNativeReturn[h];
                        }
                }
                return arrReturnElements;
        }
-       var arrElements = ( strTagName == '*' && oElm.all ) ? oElm.all : oElm.getElementsByTagName( strTagName );
+       var arrElements = ( strTagName === '*' && oElm.all ) ? oElm.all : oElm.getElementsByTagName( strTagName );
        var arrRegExpClassNames = [];
-       if( typeof oClassNames == 'object' ) {
+       if( typeof oClassNames === 'object' ) {
                for( var i = 0; i < oClassNames.length; i++ ) {
                        arrRegExpClassNames[arrRegExpClassNames.length] =
                                new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)");
@@ -468,16 +365,17 @@ window.getElementsByClassName = function( oElm, strTagName, oClassNames ) {
 };
 
 window.redirectToFragment = function( fragment ) {
-       var match = navigator.userAgent.match(/AppleWebKit\/(\d+)/);
+       var webKitVersion,
+               match = navigator.userAgent.match(/AppleWebKit\/(\d+)/);
        if ( match ) {
-               var webKitVersion = parseInt( match[1] );
+               webKitVersion = parseInt( match[1], 10 );
                if ( webKitVersion < 420 ) {
                        // Released Safari w/ WebKit 418.9.1 messes up horribly
                        // Nightlies of 420+ are ok
                        return;
                }
        }
-       if ( window.location.hash == '' ) {
+       if ( !window.location.hash ) {
                window.location.hash = fragment;
 
                // Mozilla needs to wait until after load, otherwise the window doesn't
@@ -486,12 +384,12 @@ window.redirectToFragment = function( fragment ) {
                // version-testing.  If Firefox fixes the bug, they'll jump twice, but
                // better twice than not at all, so make the fix hit future versions as
                // well.
-               if ( is_gecko ) {
-                       addOnloadHook(function() {
-                               if ( window.location.hash == fragment ) {
+               if ( isGecko ) {
+                       $( function () {
+                               if ( window.location.hash === fragment ) {
                                        window.location.hash = fragment;
                                }
-                       });
+                       } );
                }
        }
 };
@@ -501,11 +399,9 @@ window.redirectToFragment = function( fragment ) {
  * something, replacing any preexisting message.
  *
  * @deprecated since 1.17 Use the 'mediawiki.notify' module instead.
- * @param {String|HTMLElement} message To be put inside the message box.
+ * @param {string|HTMLElement} message To be put inside the message box.
  */
-window.jsMsg = function () {
-       return mw.util.jsMessage.apply( mw.util, arguments );
-};
+mw.log.deprecate( window, 'jsMsg', mw.util.jsMessage, 'Use mediawiki.notify instead.' );
 
 /**
  * Inject a cute little progress spinner after the specified element
@@ -539,17 +435,17 @@ window.removeSpinner = function( id ) {
 
 window.runOnloadHook = function() {
        // don't run anything below this for non-dom browsers
-       if ( doneOnloadHook || !( document.getElementById && document.getElementsByTagName ) ) {
+       if ( window.doneOnloadHook || !( document.getElementById && document.getElementsByTagName ) ) {
                return;
        }
 
        // set this before running any hooks, since any errors below
        // might cause the function to terminate prematurely
-       doneOnloadHook = true;
+       window.doneOnloadHook = true;
 
        // Run any added-on functions
-       for ( var i = 0; i < onloadFuncts.length; i++ ) {
-               onloadFuncts[i]();
+       for ( var i = 0; i < window.onloadFuncts.length; i++ ) {
+               window.onloadFuncts[i]();
        }
 };
 
@@ -569,7 +465,7 @@ window.addHandler = function( element, attach, handler ) {
 };
 
 window.hookEvent = function( hookName, hookFunct ) {
-       addHandler( window, hookName, hookFunct );
+       window.addHandler( window, hookName, hookFunct );
 };
 
 /**
@@ -579,7 +475,7 @@ window.hookEvent = function( hookName, hookFunct ) {
  * @param handler callable Event handler callback
  */
 window.addClickHandler = function( element, handler ) {
-       addHandler( element, 'click', handler );
+       window.addHandler( element, 'click', handler );
 };
 
 /**
@@ -598,10 +494,10 @@ window.removeHandler = function( element, remove, handler ) {
 };
 // note: all skins should call runOnloadHook() at the end of html output,
 //      so the below should be redundant. It's there just in case.
-hookEvent( 'load', runOnloadHook );
+window.hookEvent( 'load', window.runOnloadHook );
 
-if ( ie6_bugs ) {
-       importScriptURI( mw.config.get( 'stylepath' ) + '/common/IEFixes.js' );
+if ( isIE6 ) {
+       window.importScriptURI( mw.config.get( 'stylepath' ) + '/common/IEFixes.js' );
 }
 
-}( mediaWiki ) );
+}( mediaWiki, jQuery ) );
index 1f44689..90a41d3 100644 (file)
@@ -428,14 +428,13 @@ li#pt-anonuserpage {
        display: inline;
        border: 1px solid #aaa;
        border-bottom: none;
-       padding: 0 0 .1em 0;
+       padding: 0 0 1em 0;
        margin: 0 .3em 0 0;
        overflow: visible;
        background: white;
 }
 #p-cactions li.selected {
        border-color: #fabd23;
-       padding: 0 0 .2em 0;
        font-weight: bold;
 }
 #p-cactions li a {
index 0136a2a..c25dff7 100644 (file)
@@ -30,7 +30,7 @@ if ( PHP_SAPI != 'cli' ) {
 
 define( 'SELENIUMTEST', true );
 
-require( __DIR__ . '/../maintenance/Maintenance.php' );
+require __DIR__ . '/../maintenance/Maintenance.php';
 
 require_once 'PHPUnit/Runner/Version.php';
 if ( version_compare( PHPUnit_Runner_Version::id(), '3.5.0', '>=' ) ) {
@@ -44,7 +44,7 @@ if ( version_compare( PHPUnit_Runner_Version::id(), '3.5.0', '>=' ) ) {
 require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
 include_once 'PHPUnit/Util/Log/JUnit.php';
 
-require_once( __DIR__ . "/selenium/SeleniumServerManager.php" );
+require_once __DIR__ . "/selenium/SeleniumServerManager.php";
 
 class SeleniumTester extends Maintenance {
        protected $selenium;
@@ -133,7 +133,7 @@ class SeleniumTester extends Maintenance {
                }
 
                foreach ( $seleniumTestSuites as $testSuiteName => $testSuiteFile ) {
-                       require( $testSuiteFile );
+                       require $testSuiteFile;
                        $suite = new $testSuiteName();
                        $suite->setName( $testSuiteName );
                        $suite->addTests();
index 4a6e3fb..1e9c2af 100644 (file)
@@ -33,6 +33,7 @@ $wgAutoloadClasses += array(
        'ParserTestResult' => "$testDir/parser/ParserTestResult.php",
        'TestFileIterator' => "$testDir/testHelpers.inc",
        'TestRecorder' => "$testDir/testHelpers.inc",
+       'ITestRecorder' => "$testDir/testHelpers.inc",
 
        # tests/phpunit
        'MediaWikiTestCase' => "$testDir/phpunit/MediaWikiTestCase.php",
@@ -48,6 +49,7 @@ $wgAutoloadClasses += array(
 
        //db
        'ORMTableTest' => "$testDir/phpunit/includes/db/ORMTableTest.php",
+       'PageORMTableForTesting' => "$testDir/phpunit/includes/db/ORMTableTest.php",
        'DatabaseTestHelper' => "$testDir/phpunit/includes/db/DatabaseTestHelper.php",
 
        # tests/phpunit/includes/api
@@ -83,6 +85,8 @@ $wgAutoloadClasses += array(
        'MockFSFile' => "$testDir/phpunit/mocks/filebackend/MockFSFile.php",
        'MockFileBackend' => "$testDir/phpunit/mocks/filebackend/MockFileBackend.php",
        'MockBitmapHandler' => "$testDir/phpunit/mocks/media/MockBitmapHandler.php",
+       'MockImageHandler' => "$testDir/phpunit/mocks/media/MockBitmapHandler.php",
+       'MockSvgHandler' => "$testDir/phpunit/mocks/media/MockBitmapHandler.php",
 
        # tests/phpunit/languages
        'LanguageClassesTestCase' => "$testDir/phpunit/languages/LanguageClassesTestCase.php",
index 972ad8f..1c3ba1d 100644 (file)
@@ -1,6 +1,8 @@
 <?php
 /**
- * Helper code for the MediaWiki parser test suite.
+ * Helper code for the MediaWiki parser test suite. Some code is duplicated
+ * in PHPUnit's NewParserTests.php, so you'll probably want to update both
+ * at the same time.
  *
  * Copyright © 2004, 2010 Brion Vibber <brion@pobox.com>
  * http://www.mediawiki.org/
@@ -681,6 +683,8 @@ class ParserTest {
                        'wgNoFollowDomainExceptions' => array(),
                        'wgThumbnailScriptPath' => false,
                        'wgUseImageResize' => true,
+                       'wgSVGConverter' => 'null',
+                       'wgSVGConverters' => array( 'null' => 'echo "1">$output' ),
                        'wgLocaltimezone' => 'UTC',
                        'wgAllowExternalImages' => true,
                        'wgUseTidy' => false,
@@ -869,6 +873,8 @@ class ParserTest {
                # Clear the message cache
                MessageCache::singleton()->clear();
 
+               // Remember to update newParserTests.php after changing the below
+               // (and it uses a slightly different syntax just for teh lulz)
                $this->uploadDir = $this->setupUploadDir();
                $user = User::createNew( 'WikiSysop' );
                $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Foobar.jpg' ) );
@@ -902,6 +908,19 @@ class ParserTest {
                        'fileExists' => true
                ), $this->db->timestamp( '20130225203040' ), $user );
 
+               $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Foobar.svg' ) );
+               $image->recordUpload2( '', 'Upload of some lame SVG', 'Some lame SVG', array(
+                               'size'        => 12345,
+                               'width'       => 240,
+                               'height'      => 180,
+                               'bits'        => 24,
+                               'media_type'  => MEDIATYPE_DRAWING,
+                               'mime'        => 'image/svg+xml',
+                               'metadata'    => serialize( array() ),
+                               'sha1'        => wfBaseConvert( '', 16, 36, 31 ),
+                               'fileExists'  => true
+               ), $this->db->timestamp( '20010115123500' ), $user );
+
                # This image will be blacklisted in [[MediaWiki:Bad image list]]
                $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Bad.jpg' ) );
                $image->recordUpload2( '', 'zomgnotcensored', 'Borderline image', array(
@@ -985,7 +1004,11 @@ class ParserTest {
                copy( "$IP/skins/monobook/wiki.png", "$dir/e/ea/Thumb.png" );
                wfMkdirParents( $dir . '/0/09', null, __METHOD__ );
                copy( "$IP/skins/monobook/headbg.jpg", "$dir/0/09/Bad.jpg" );
-
+               wfMkdirParents( $dir . '/f/ff', null, __METHOD__ );
+               copy( "$IP/skins/monobook/headbg.jpg", "$dir/f/ff/Foobar.svg" );
+               file_put_contents( "$dir/f/ff/Foobar.svg",
+                       '<?xml version="1.0" encoding="utf-8"?>' .
+                       '<svg xmlns="http://www.w3.org/2000/svg" />' );
                return $dir;
        }
 
@@ -1035,6 +1058,14 @@ class ParserTest {
 
                                "$dir/0/09/Bad.jpg",
 
+                               "$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/270px-Foobar.svg.png",
+                               "$dir/thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.png",
+                               "$dir/thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png",
+
                                "$dir/math/f/a/5/fa50b8b616463173474302ca3e63586b.png",
                        )
                );
@@ -1048,10 +1079,13 @@ class ParserTest {
                                "$dir/thumb/3/3a/Foobar.jpg",
                                "$dir/thumb/3/3a",
                                "$dir/thumb/3",
-
                                "$dir/e/ea",
                                "$dir/e",
-
+                               "$dir/f/ff/",
+                               "$dir/f/",
+                               "$dir/thumb/f/ff/Foobar.svg",
+                               "$dir/thumb/f/ff/",
+                               "$dir/thumb/f/",
                                "$dir/0/09/",
                                "$dir/0/",
                                "$dir/thumb",
index 05e935b..4aadd7a 100644 (file)
@@ -303,6 +303,59 @@ b
 
 !! end
 
+!! test
+Extra newlines: More paragraphs with indented comment
+!! input
+a
+
+   <!--boo-->
+
+b
+!!result
+<p>a
+</p><p><br />
+b
+</p>
+!!end
+
+!! test
+Extra newlines followed by heading
+!! input
+a
+
+
+
+=b=
+[[a]]
+
+
+=b=
+!! result
+<p>a
+</p><p><br />
+</p>
+<h1><span class="mw-headline" id="b">b</span><span class="mw-editsection">[<a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: b">edit</a>]</span></h1>
+<p><a href="/index.php?title=A&amp;action=edit&amp;redlink=1" class="new" title="A (page does not exist)">a</a>
+</p><p><br />
+</p>
+<h1><span class="mw-headline" id="b_2">b</span><span class="mw-editsection">[<a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: b">edit</a>]</span></h1>
+
+!! end
+
+!! test
+Extra newlines between heading and content are swallowed
+!! input
+=b=
+
+
+
+[[a]]
+!! result
+<h1><span class="mw-headline" id="b">b</span><span class="mw-editsection">[<a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: b">edit</a>]</span></h1>
+<p><a href="/index.php?title=A&amp;action=edit&amp;redlink=1" class="new" title="A (page does not exist)">a</a>
+</p>
+!! end
+
 !! test
 Parsing an URL
 !! input
@@ -5163,7 +5216,7 @@ Magic Word: {{NUMBEROFFILES}}
 !! input
 {{NUMBEROFFILES}}
 !! result
-<p>3
+<p>4
 </p>
 !! end
 
@@ -6237,7 +6290,7 @@ parsoid=wt2html,wt2wt
 {{echo|Bar}}
 !!result
 <!-- foo -->
-<p typeof="mw:Object/Template">Bar
+<p typeof="mw:Transclusion">Bar
 </p>
 !!end
 
@@ -6629,7 +6682,7 @@ parsoid=wt2html,wt2wt
 !!input
 {{echo_with_span|''a}}{{echo_with_span|b''c''d}}{{echo_with_span|''e}}
 !!result
-<p><span typeof="mw:Object/Template"><i>a</i></span><i typeof="mw:Object/Template"><span>b</span></i><span>c</span><i>d</i><span>e</span></p>
+<p><span typeof="mw:Transclusion"><i>a</i></span><i typeof="mw:Transclusion"><span>b</span></i><span>c</span><i>d</i><span>e</span></p>
 !!end
 
 !!test
@@ -6640,9 +6693,9 @@ parsoid=wt2html,wt2wt
 !!input
 {{echo_with_div|''a}}{{echo_with_div|b''c''d}}{{echo_with_div|''e}}
 !!result
-<div typeof="mw:Object/Template"><i>a</i></div>
-<div typeof="mw:Object/Template"><i>b</i>c<i>d</i></div>
-<div typeof="mw:Object/Template">e</div>
+<div typeof="mw:Transclusion"><i>a</i></div>
+<div typeof="mw:Transclusion"><i>b</i>c<i>d</i></div>
+<div typeof="mw:Transclusion">e</div>
 !!end
 
 !!test
@@ -6665,7 +6718,7 @@ parsoid
 |bar
 |}
 !!result
-<table typeof="mw:Object/Template">
+<table typeof="mw:Transclusion">
 <tbody>
 <tr>
 <td>foo</td></tr></tbody></table><span>bar</span>
@@ -6697,7 +6750,7 @@ parsoid
   </tr>
 </table>
 !!result
-<table  about="#mwt1" typeof="mw:Object/Template">
+<table  about="#mwt1" typeof="mw:Transclusion">
   <tbody><tr >
     <td >
     <table >
@@ -7704,6 +7757,37 @@ Thumbnail image caption with a free URL and explicit alt
 
 !! end
 
+
+!! test
+SVG thumbnails with no language set
+!! options
+!! input
+[[File:Foobar.svg|thumb|width=200]]
+!! result
+<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="180" 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>width=200</div></div></div>
+
+!! end
+
+!! test
+SVG thumbnails with language de
+!! options
+!! input
+[[File:Foobar.svg|thumb|width=200|lang=de]]
+!! result
+<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="180" 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>width=200</div></div></div>
+
+!! end
+
+!! test
+SVG thumbnails with invalid language code
+!! options
+!! input
+[[File:Foobar.svg|thumb|width=200|lang=invalid.language.code]]
+!! result
+<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="180" 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>
+
+!! end
+
 !! test
 BUG 1887: A ISBN with a thumbnail
 !! input
@@ -7899,6 +7983,198 @@ wgEnableUploads=0
 </p>
 !! end
 
+# Parsoid-specific testing for images
+# http://www.mediawiki.org/wiki/Parsoid/MediaWiki_DOM_spec#Images
+# Currently imperfect due to a flaw in the Parsoid testrunner
+# Work in progress
+
+!! test
+Parsoid-specific image handling - simple image
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg]]
+!! result
+<p>
+<span class="mw-default-size" typeof="mw:Image">
+<a href="File:Foobar.jpg">
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg" height="220" width="1941">
+</a>
+</span>
+</p>
+!! end
+
+!! test
+Parsoid-specific image handling - simple image without link
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg|link=]]
+!! result
+<p>
+<span class="mw-default-size" typeof="mw:Image">
+<span>
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg" height="220" width="1941">
+</span>
+</span>
+</p>
+!! end
+
+!! test
+Parsoid-specific image handling - simple image with specific link
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg|link=Main Page]]
+!! result
+<p>
+<span class="mw-default-size" typeof="mw:Image">
+<a href="Main_Page">
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg" height="220" width="1941">
+</a>
+</span>
+</p>
+!! end
+
+!! test
+Parsoid-specific image handling - simple image with size and middle alignment
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg|50px|middle]]
+!! result
+<p>
+<span class="mw-valign-middle" typeof="mw:Image">
+<a href="File:Foobar.jpg">
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50">
+</a>
+</span>
+</p>
+!! end
+
+!! test
+Parsoid-specific image handling - simple image with both sizes, a baseline alignment, and a caption
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg|500x10px|baseline|caption]]
+!! result
+<p>
+<span class="mw-valign-baseline" typeof="mw:Image" data-mw="{&quot;caption&quot;:&quot;caption&quot;}">
+<a href="File:Foobar.jpg">
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/89px-Foobar.jpg" height="10" width="89">
+</a>
+</span>
+</p>
+!! end
+
+!! test
+Parsoid-specific image handling - simple image with border and size spec
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg|50px|border|caption]]
+!! result
+<p>
+<span class="mw-image-border" typeof="mw:Image" data-mw="{&quot;caption&quot;:&quot;caption&quot;}">
+<a href="File:Foobar.jpg">
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50">
+</a>
+</span>
+</p>
+!! end
+
+!! test
+Parsoid-specific image handling - thumbnail with halign, valign, and caption
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg|thumb|left|baseline|caption content]]
+!! result
+<figure class="mw-default-size mw-halign-left mw-valign-baseline" typeof="mw:Image/Thumb">
+<a href="File:Foobar.jpg">
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/180px-Foobar.jpg" height="21" width="180" />
+</a>
+<figcaption class="mw-figcaption">caption content</figcaption>
+</figure>
+!! end
+
+!! test
+Parsoid-specific image handling - thumbnail with specific size, halign, valign, and caption
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg|thumb|50x50px|right|middle|caption]]
+!! result
+<figure class="mw-halign-right mw-valign-middle" typeof="mw:Image/Thumb">
+<a href="File:Foobar.jpg">
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/50px-Foobar.jpg" height="6" width="50" />
+</a>
+<figcaption class="mw-figcaption">caption</figcaption>
+</figure>
+!! end
+
+!! test
+Parsoid-specific image handling - framed image with specific size and caption
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg|500x50px|frame|caption]]
+!! result
+<figure typeof="mw:Image/Frame">
+<a href="File:Foobar.jpg">
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/442px-Foobar.jpg" height="50" width="442" />
+</a>
+<figcaption class="mw-figcaption">caption</figcaption>
+</figure>
+!! end
+
+!! test
+Parsoid-specific image handling - framed image with specific size, halign, valign, and caption
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg|500x50px|frame|left|baseline|caption]]
+!! result
+<figure class="mw-halign-left mw-valign-baseline" typeof="mw:Image/Frame">
+<a href="File:Foobar.jpg">
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/442px-Foobar.jpg" height="50" width="442" />
+</a>
+<figcaption class="mw-figcaption">caption</figcaption>
+</figure>
+!! end
+
+!! test
+Parsoid-specific image handling - frameless image with specific size, border, and caption
+!! options
+parsoid
+!! input
+[[Image:Foobar.jpg|frameless|500x50px|border|caption]]
+!! result
+<p>
+<span class="mw-image-border" typeof="mw:Image/Frameless" data-mw="{&quot;caption&quot;:&quot;caption&quot;}">
+<a href="File:Foobar.jpg">
+<img resource="./File:Foobar.jpg" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg/442px-Foobar.jpg" height="50" width="442" />
+</a>
+</p>
+!! end
+
+#!! test
+#Parsoid-specific image handling - simple image with a formatted caption
+#!! options
+#parsoid
+#!! input
+#[[Image:Foobar.jpg|<table><tr><td>a</td><td>b</td></tr><tr><td>c</td></tr></table>]]
+#!! result
+#<p>
+#<span typeof="mw:Image">
+#<a class="mw-default-size" href="Image:Foobar.jpg">
+#<img alt="Foobar.jpg" class="mw-default-size" src="http://upload.wikimedia.org/wikipedia/commons/3/3a/Foobar.jpg" height="220" width="1941">
+#</a>
+#<span>abc</span>
+#</span>
+#</p>
+
 
 ###
 ### Subpages
@@ -13044,6 +13320,40 @@ Screen
 </p>
 !! end
 
+!! test
+Verify that displaytitle handles inline CSS styles (bug 26547) - rejected value
+!! options
+showtitle
+title=[[Screen]]
+!! config
+wgAllowDisplayTitle=true
+wgRestrictDisplayTitle=true
+!! input
+this is not the the title
+{{DISPLAYTITLE:<span style="display: none;">s</span>creen}}
+!! result
+<span style="/* attempt to bypass $wgRestrictDisplayTitle */">s</span>creen
+<p>this is not the the title
+</p>
+!! end
+
+!! test
+Verify that displaytitle handles inline CSS styles (bug 26547) - accepted value
+!! options
+showtitle
+title=[[Screen]]
+!! config
+wgAllowDisplayTitle=true
+wgRestrictDisplayTitle=true
+!! input
+this is not the the title
+{{DISPLAYTITLE:<span style="color: red;">s</span>creen}}
+!! result
+<span style="color: red;">s</span>creen
+<p>this is not the the title
+</p>
+!! end
+
 !! test
 preload: check <noinclude> and <includeonly>
 !! options
@@ -13686,6 +13996,7 @@ HttP://MediaWiki.Org/
 </p>
 !! end
 
+
 ###
 ### Parsoids-specific tests
 ### Parsoid-PHP parser incompatibilities
@@ -13699,11 +14010,11 @@ parsoid=wt2html,wt2wt
 {{echo|#a}}
 {{echo|:a}}
 !!result
-<span about="#mwt1" typeof="mw:Object/Template">
+<span about="#mwt1" typeof="mw:Transclusion">
 </span><ul about="#mwt1"><li>a</li></ul>
-<span about="#mwt2" typeof="mw:Object/Template">
+<span about="#mwt2" typeof="mw:Transclusion">
 </span><ol about="#mwt2"><li>a</li></ol>
-<span about="#mwt3" typeof="mw:Object/Template">
+<span about="#mwt3" typeof="mw:Transclusion">
 </span><dl about="#mwt3"><dd>a</dd></dl>
 !!end
 
@@ -14798,7 +15109,7 @@ parsoid=wt2html,wt2wt
 <table>
 <tbody>
 <tr></tr>
-<tr typeof="mw:Object/Template">
+<tr typeof="mw:Transclusion">
 <td>foo</td></tr></tbody></table>
 !!end
 
@@ -14854,6 +15165,7 @@ parsoid
 </p>
 !!end
 
+
 TODO:
 more images
 more tables
index c04c159..debb357 100644 (file)
@@ -27,8 +27,8 @@
 $otions = array( 'quick', 'color', 'quiet', 'help', 'show-output', 'record', 'run-disabled', 'run-parsoid' );
 $optionsWithArgs = array( 'regex', 'filter', 'seed', 'setversion' );
 
-require_once( __DIR__ . '/../maintenance/commandLine.inc' );
-require_once( __DIR__ . '/TestsAutoLoader.php' );
+require_once __DIR__ . '/../maintenance/commandLine.inc';
+require_once __DIR__ . '/TestsAutoLoader.php';
 
 if ( isset( $options['help'] ) ) {
        echo <<<ENDS
diff --git a/tests/phpunit/AutoLoaderTest.php b/tests/phpunit/AutoLoaderTest.php
deleted file mode 100644 (file)
index e49ea6d..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-class AutoLoaderTest extends MediaWikiTestCase {
-
-       public function testAutoLoadConfig() {
-               $results = self::checkAutoLoadConf();
-
-               $this->assertEquals(
-                       $results['expected'],
-                       $results['actual']
-               );
-       }
-
-       protected static function checkAutoLoadConf() {
-               global $wgAutoloadLocalClasses, $wgAutoloadClasses, $IP;
-               $supportsParsekit = function_exists( 'parsekit_compile_file' );
-
-               // wgAutoloadLocalClasses has precedence, just like in includes/AutoLoader.php
-               $expected = $wgAutoloadLocalClasses + $wgAutoloadClasses;
-               $actual = array();
-
-               $files = array_unique( $expected );
-
-               foreach ( $files as $file ) {
-                       // Only prefix $IP if it doesn't have it already.
-                       // Generally local classes don't have it, and those from extensions and test suites do.
-                       if ( substr( $file, 0, 1 ) != '/' && substr( $file, 1, 1 ) != ':' ) {
-                               $filePath = "$IP/$file";
-                       } else {
-                               $filePath = $file;
-                       }
-                       if ( $supportsParsekit ) {
-                               $parseInfo = parsekit_compile_file( "$filePath" );
-                               $classes = array_keys( $parseInfo['class_table'] );
-                       } else {
-                               $contents = file_get_contents( "$filePath" );
-                               $m = array();
-                               preg_match_all( '/\n\s*(?:final)?\s*(?:abstract)?\s*(?:class|interface)\s+([a-zA-Z0-9_]+)/', $contents, $m, PREG_PATTERN_ORDER );
-                               $classes = $m[1];
-                       }
-                       foreach ( $classes as $class ) {
-                               $actual[$class] = $file;
-                       }
-               }
-
-               return array(
-                       'expected' => $expected,
-                       'actual' => $actual,
-               );
-       }
-}
diff --git a/tests/phpunit/StructureTest.php b/tests/phpunit/StructureTest.php
deleted file mode 100644 (file)
index a942098..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-/**
- * The tests here verify the structure of the code.  This is for outright bugs,
- * not just style issues.
- */
-
-class StructureTest extends MediaWikiTestCase {
-       /**
-        * Verify all files that appear to be tests have file names ending in
-        * Test.  If the file names do not end in Test, they will not be run.
-        * @group medium
-        */
-       public function testUnitTestFileNamesEndWithTest() {
-               if ( wfIsWindows() ) {
-                       $this->markTestSkipped( 'This test does not work on Windows' );
-               }
-               $rootPath = escapeshellarg( __DIR__ );
-               $testClassRegex = implode( '|', array(
-                       'ApiFormatTestBase',
-                       'ApiTestCase',
-                       'ApiQueryTestBase',
-                       'ApiQueryContinueTestBase',
-                       'MediaWikiLangTestCase',
-                       'MediaWikiTestCase',
-                       'PHPUnit_Framework_TestCase',
-                       'DumpTestCase',
-               ) );
-               $testClassRegex = "^class .* extends ($testClassRegex)";
-               $finder = "find $rootPath -name '*.php' '!' -name '*Test.php'" .
-                       " | xargs grep -El '$testClassRegex|function suite\('";
-
-               $results = null;
-               $exitCode = null;
-               exec( $finder, $results, $exitCode );
-
-               $this->assertEquals(
-                       0,
-                       $exitCode,
-                       'Verify find/grep command succeeds.'
-               );
-
-               $results = array_filter(
-                       $results,
-                       array( $this, 'filterSuites' )
-               );
-               $strip = strlen( $rootPath ) - 1;
-               foreach ( $results as $k => $v ) {
-                       $results[$k] = substr( $v, $strip );
-               }
-               $this->assertEquals(
-                       array(),
-                       $results,
-                       "Unit test file in $rootPath must end with Test."
-               );
-       }
-
-       /**
-        * Filter to remove testUnitTestFileNamesEndWithTest false positives.
-        */
-       public function filterSuites( $filename ) {
-               return strpos( $filename, __DIR__ . '/suites/' ) !== 0;
-       }
-}
index ea8387c..d929b79 100644 (file)
@@ -11,5 +11,5 @@ if ( !defined( 'MW_PHPUNIT_TEST' ) ) {
 You are running these tests directly from phpunit. You may not have all globals correctly set.
 Running phpunit.php instead is recommended.
 EOF;
-       require_once( __DIR__ . "/phpunit.php" );
+       require_once __DIR__ . "/phpunit.php";
 }
index f1004fb..ae35fd7 100644 (file)
@@ -2,7 +2,7 @@
 class CollationTest extends MediaWikiLangTestCase {
        protected function setUp() {
                parent::setUp();
-               if ( !extension_loaded( 'intl' ) ) {
+               if ( !wfDl( 'intl' ) ) {
                        $this->markTestSkipped( 'These tests require intl extension' );
                }
        }
diff --git a/tests/phpunit/includes/FauxRequestTest.php b/tests/phpunit/includes/FauxRequestTest.php
new file mode 100644 (file)
index 0000000..dfb0f13
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+
+class FauxRequestTest extends MediaWikiTestCase {
+
+       function testGetSetHeader() {
+               $value = 'test/test';
+
+               $request = new FauxRequest();
+               $request->setHeader( 'Content-Type', $value );
+
+               $this->assertEquals( $request->getHeader( 'Content-Type' ), $value );
+               $this->assertEquals( $request->getHeader( 'CONTENT-TYPE' ), $value );
+               $this->assertEquals( $request->getHeader( 'content-type' ), $value );
+       }
+}
index 56691c9..977c22b 100644 (file)
@@ -47,6 +47,9 @@ class FauxResponseTest extends MediaWikiTestCase {
 
                $this->response->header( 'Location: http://127.0.0.2/', false );
                $this->assertEquals( 'http://127.0.0.1/', $this->response->getheader( 'Location' ), 'Same header with override disabled' );
+
+               $this->response->header( 'Location: http://localhost/' );
+               $this->assertEquals( 'http://localhost/', $this->response->getheader( 'LOCATION' ), 'Get header case insensitive' );
        }
 
        function testResponseCode() {
index 4084fb1..56bb0fc 100644 (file)
@@ -19,7 +19,6 @@ class OutputPageTest extends MediaWikiTestCase {
         *
         * options['printableQuery'] - value of query string for printable, or omitted for none
         * options['handheldQuery'] - value of query string for handheld, or omitted for none
-        * options['handheldForIPhone'] - value of the $wgHandheldForIPhone global
         * options['media'] - passed into the method under the same name
         * options['expectedReturn'] - expected return value
         * options['message'] - PHPUnit message for assertion
@@ -39,58 +38,38 @@ class OutputPageTest extends MediaWikiTestCase {
                $fauxRequest = new FauxRequest( $queryData, false );
                $this->setMWGlobals( array(
                        'wgRequest' => $fauxRequest,
-                       'wgHandheldForIPhone' => $args['handheldForIPhone']
                ) );
 
                $actualReturn = OutputPage::transformCssMedia( $args['media'] );
                $this->assertSame( $args['expectedReturn'], $actualReturn, $args['message'] );
        }
 
-       /**
-        * Tests a case of transformCssMedia with both values of wgHandheldForIPhone.
-        * Used to verify that behavior is orthogonal to that option.
-        *
-        * If the value of wgHandheldForIPhone should matter, use assertTransformCssMediaCase.
-        *
-        * @param array $args key-value array of arguments as shown in assertTransformCssMediaCase.
-        * Will be mutated.
-        */
-       protected function assertTransformCssMediaCaseWithBothHandheldForIPhone( $args ) {
-               $message = $args['message'];
-               foreach ( array( true, false ) as $handheldForIPhone ) {
-                       $args['handheldForIPhone'] = $handheldForIPhone;
-                       $stringHandheldForIPhone = var_export( $handheldForIPhone, true );
-                       $args['message'] = "$message. \$wgHandheldForIPhone was $stringHandheldForIPhone";
-                       $this->assertTransformCssMediaCase( $args );
-               }
-       }
-
        /**
         * Tests print requests
         */
        public function testPrintRequests() {
-               $this->assertTransformCssMediaCaseWithBothHandheldForIPhone( array(
+               $this->assertTransformCssMediaCase( array(
                        'printableQuery' => '1',
                        'media' => 'screen',
                        'expectedReturn' => null,
                        'message' => 'On printable request, screen returns null'
                ) );
 
-               $this->assertTransformCssMediaCaseWithBothHandheldForIPhone( array(
+               $this->assertTransformCssMediaCase( array(
                        'printableQuery' => '1',
                        'media' => self::SCREEN_MEDIA_QUERY,
                        'expectedReturn' => null,
                        'message' => 'On printable request, screen media query returns null'
                ) );
 
-               $this->assertTransformCssMediaCaseWithBothHandheldForIPhone( array(
+               $this->assertTransformCssMediaCase( array(
                        'printableQuery' => '1',
                        'media' => self::SCREEN_ONLY_MEDIA_QUERY,
                        'expectedReturn' => null,
                        'message' => 'On printable request, screen media query with only returns null'
                ) );
 
-               $this->assertTransformCssMediaCaseWithBothHandheldForIPhone( array(
+               $this->assertTransformCssMediaCase( array(
                        'printableQuery' => '1',
                        'media' => 'print',
                        'expectedReturn' => '',
@@ -103,25 +82,30 @@ class OutputPageTest extends MediaWikiTestCase {
         */
        public function testScreenRequests() {
                $this->assertTransformCssMediaCase( array(
-                       'handheldForIPhone' => false,
                        'media' => 'screen',
                        'expectedReturn' => 'screen',
-                       'message' => 'On screen request, with handheldForIPhone false, screen media type is preserved'
+                       'message' => 'On screen request, screen media type is preserved'
+               ) );
+
+               $this->assertTransformCssMediaCase( array(
+                       'media' => 'handheld',
+                       'expectedReturn' => 'handheld',
+                       'message' => 'On screen request, handheld media type is preserved'
                ) );
 
-               $this->assertTransformCssMediaCaseWithBothHandheldForIPhone( array(
+               $this->assertTransformCssMediaCase( array(
                        'media' => self::SCREEN_MEDIA_QUERY,
                        'expectedReturn' => self::SCREEN_MEDIA_QUERY,
                        'message' => 'On screen request, screen media query is preserved.'
                ) );
 
-               $this->assertTransformCssMediaCaseWithBothHandheldForIPhone( array(
+               $this->assertTransformCssMediaCase( array(
                        'media' => self::SCREEN_ONLY_MEDIA_QUERY,
                        'expectedReturn' => self::SCREEN_ONLY_MEDIA_QUERY,
                        'message' => 'On screen request, screen media query with only is preserved.'
                ) );
 
-               $this->assertTransformCssMediaCaseWithBothHandheldForIPhone( array(
+               $this->assertTransformCssMediaCase( array(
                        'media' => 'print',
                        'expectedReturn' => 'print',
                        'message' => 'On screen request, print media type is preserved'
@@ -129,44 +113,21 @@ class OutputPageTest extends MediaWikiTestCase {
        }
 
        /**
-        * Tests handheld and wgHandheldForIPhone behavior
+        * Tests handheld behavior
         */
        public function testHandheld() {
-               $this->assertTransformCssMediaCaseWithBothHandheldForIPhone( array(
+               $this->assertTransformCssMediaCase( array(
                        'handheldQuery' => '1',
                        'media' => 'handheld',
                        'expectedReturn' => '',
                        'message' => 'On request with handheld querystring and media is handheld, returns empty string'
                ) );
 
-               $this->assertTransformCssMediaCaseWithBothHandheldForIPhone( array(
+               $this->assertTransformCssMediaCase( array(
                        'handheldQuery' => '1',
                        'media' => 'screen',
                        'expectedReturn' => null,
                        'message' => 'On request with handheld querystring and media is screen, returns null'
                ) );
-
-               // A bit counter-intuitively, $wgHandheldForIPhone should only matter if the query handheld is false or omitted
-               $this->assertTransformCssMediaCase( array(
-                       'handheldQuery' => '0',
-                       'media' => 'screen',
-                       'handheldForIPhone' => true,
-                       'expectedReturn' => 'screen and (min-device-width: 481px)',
-                       'message' => 'With $wgHandheldForIPhone true, screen media type is transformed'
-               ) );
-
-               $this->assertTransformCssMediaCase( array(
-                       'media' => 'handheld',
-                       'handheldForIPhone' => true,
-                       'expectedReturn' => 'handheld, only screen and (max-device-width: 480px)',
-                       'message' => 'With $wgHandheldForIPhone true, handheld media type is transformed'
-               ) );
-
-               $this->assertTransformCssMediaCase( array(
-                       'media' => 'handheld',
-                       'handheldForIPhone' => false,
-                       'expectedReturn' => 'handheld',
-                       'message' => 'With $wgHandheldForIPhone false, handheld media type is preserved'
-               ) );
        }
 }
index 68db9ad..fa228a6 100644 (file)
@@ -79,7 +79,12 @@ class ResourceLoaderTest extends MediaWikiTestCase {
                                'Regression fixed in r88706 with dotless names',
                                array( 'foo', 'bar', 'baz' ),
                                'foo,bar,baz',
-                       )
+                       ),
+                       array(
+                               'Prefixless modules after a prefixed module',
+                               array( 'single.module', 'foobar', 'foobaz' ),
+                               'single.module|foobar,foobaz',
+                       ),
                );
        }
 }
index b745423..38c15ee 100644 (file)
@@ -227,10 +227,14 @@ class SanitizerTest extends MediaWikiTestCase {
        public static function provideCssCommentsFixtures() {
                /** array( <expected>, <css>, [message] ) */
                return array(
-                       array( ' ', '/**/' ),
+                       // Valid comments spanning entire input
+                       array( '/**/', '/**/' ),
+                       array( '/* comment */', '/* comment */' ),
+                       // Weird stuff
                        array( ' ', '/****/' ),
-                       array( ' ', '/* comment */' ),
-                       array( ' ', "\\2f\\2a foo \\2a\\2f",
+                       array( ' ', '/* /* */' ),
+                       array( 'display: block;', "display:/* foo */block;" ),
+                       array( 'display: block;', "display:\\2f\\2a foo \\2a\\2f block;",
                                'Backslash-escaped comments must be stripped (bug 28450)' ),
                        array( '', '/* unfinished comment structure',
                                'Remove anything after a comment-start token' ),
index d382f6f..1c6b733 100644 (file)
@@ -101,11 +101,19 @@ class WebRequestTest extends MediaWikiTestCase {
        /**
         * @dataProvider provideGetIP
         */
-       function testGetIP( $expected, $input, $squid, $private, $description ) {
+       function testGetIP( $expected, $input, $squid, $xffList, $private, $description ) {
                $_SERVER = $input;
                $this->setMwGlobals( array(
                        'wgSquidServersNoPurge' => $squid,
                        'wgUsePrivateIPs' => $private,
+                       'wgHooks' => array(
+                               'IsTrustedProxy' => array(
+                                       function( &$ip, &$trusted ) use ( $xffList ) {
+                                               $trusted = $trusted || in_array( $ip, $xffList );
+                                               return true;
+                                       }
+                               )
+                       )
                ) );
 
                $request = new WebRequest();
@@ -121,6 +129,7 @@ class WebRequestTest extends MediaWikiTestCase {
                                        'REMOTE_ADDR' => '127.0.0.1'
                                ),
                                array(),
+                               array(),
                                false,
                                'Simple IPv4'
                        ),
@@ -130,6 +139,7 @@ class WebRequestTest extends MediaWikiTestCase {
                                        'REMOTE_ADDR' => '::1'
                                ),
                                array(),
+                               array(),
                                false,
                                'Simple IPv6'
                        ),
@@ -140,6 +150,7 @@ class WebRequestTest extends MediaWikiTestCase {
                                        'HTTP_X_FORWARDED_FOR' => '12.0.0.3, 12.0.0.2'
                                ),
                                array( '12.0.0.1', '12.0.0.2' ),
+                               array(),
                                false,
                                'With X-Forwaded-For'
                        ),
@@ -150,6 +161,7 @@ class WebRequestTest extends MediaWikiTestCase {
                                        'HTTP_X_FORWARDED_FOR' => '12.0.0.3, 12.0.0.2'
                                ),
                                array(),
+                               array(),
                                false,
                                'With X-Forwaded-For and disallowed server'
                        ),
@@ -160,29 +172,87 @@ class WebRequestTest extends MediaWikiTestCase {
                                        'HTTP_X_FORWARDED_FOR' => '12.0.0.3, 12.0.0.2'
                                ),
                                array( '12.0.0.1' ),
+                               array(),
                                false,
                                'With multiple X-Forwaded-For and only one allowed server'
                        ),
                        array(
-                               '12.0.0.2',
+                               '10.0.0.3',
                                array(
                                        'REMOTE_ADDR' => '12.0.0.2',
-                                       'HTTP_X_FORWARDED_FOR' => '10.0.0.3, 12.0.0.2'
+                                       'HTTP_X_FORWARDED_FOR' => '10.0.0.4, 10.0.0.3, 12.0.0.2'
                                ),
                                array( '12.0.0.1', '12.0.0.2' ),
+                               array(),
                                false,
-                               'With X-Forwaded-For and private IP'
+                               'With X-Forwaded-For and private IP (from cache proxy)'
                        ),
                        array(
-                               '10.0.0.3',
+                               '10.0.0.4',
                                array(
                                        'REMOTE_ADDR' => '12.0.0.2',
-                                       'HTTP_X_FORWARDED_FOR' => '10.0.0.3, 12.0.0.2'
+                                       'HTTP_X_FORWARDED_FOR' => '10.0.0.4, 10.0.0.3, 12.0.0.2'
+                               ),
+                               array( '12.0.0.1', '12.0.0.2', '10.0.0.3' ),
+                               array(),
+                               true,
+                               'With X-Forwaded-For and private IP (allowed)'
+                       ),
+                       array(
+                               '10.0.0.4',
+                               array(
+                                       'REMOTE_ADDR' => '12.0.0.2',
+                                       'HTTP_X_FORWARDED_FOR' => '10.0.0.4, 10.0.0.3, 12.0.0.2'
                                ),
                                array( '12.0.0.1', '12.0.0.2' ),
+                               array( '10.0.0.3' ),
                                true,
                                'With X-Forwaded-For and private IP (allowed)'
                        ),
+                       array(
+                               '10.0.0.3',
+                               array(
+                                       'REMOTE_ADDR' => '12.0.0.2',
+                                       'HTTP_X_FORWARDED_FOR' => '10.0.0.4, 10.0.0.3, 12.0.0.2'
+                               ),
+                               array( '12.0.0.1', '12.0.0.2' ),
+                               array( '10.0.0.3' ),
+                               false,
+                               'With X-Forwaded-For and private IP (disallowed)'
+                       ),
+                       array(
+                               '12.0.0.3',
+                               array(
+                                       'REMOTE_ADDR' => '12.0.0.1',
+                                       'HTTP_X_FORWARDED_FOR' => '12.0.0.3, 12.0.0.2'
+                               ),
+                               array(),
+                               array( '12.0.0.1', '12.0.0.2' ),
+                               false,
+                               'With X-Forwaded-For'
+                       ),
+                       array(
+                               '12.0.0.2',
+                               array(
+                                       'REMOTE_ADDR' => '12.0.0.1',
+                                       'HTTP_X_FORWARDED_FOR' => '12.0.0.3, 12.0.0.2'
+                               ),
+                               array(),
+                               array( '12.0.0.1' ),
+                               false,
+                               'With multiple X-Forwaded-For and only one allowed server'
+                       ),
+                       array(
+                               '12.0.0.2',
+                               array(
+                                       'REMOTE_ADDR' => '12.0.0.2',
+                                       'HTTP_X_FORWARDED_FOR' => '10.0.0.3, 12.0.0.2'
+                               ),
+                               array(),
+                               array( '12.0.0.2' ),
+                               false,
+                               'With X-Forwaded-For and private IP and hook (disallowed)'
+                       ),
                );
        }
 
diff --git a/tests/phpunit/includes/XmlTypeCheckTest.php b/tests/phpunit/includes/XmlTypeCheckTest.php
new file mode 100644 (file)
index 0000000..18f363f
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+/**
+ * PHPUnit tests for XMLTypeCheck.
+ * @author physikerwelt
+ * @group ?
+ * @covers XMLTypeCheck
+ */
+class XmlTypeCheckTest extends MediaWikiTestCase {
+       const WELL_FORMED_XML = "<root><child /></root>";
+       const MAL_FORMED_XML = "<root><child /></error>";
+
+       /**
+        * @covers XMLTypeCheck::newFromString
+        * @covers XMLTypeCheck::getRootElement
+        */
+       public function testWellFormedXML() {
+               $testXML = XmlTypeCheck::newFromString( self::WELL_FORMED_XML );
+               $this->assertTrue( $testXML->wellFormed );
+               $this->assertEquals( 'root', $testXML->getRootElement() );
+       }
+
+       /**
+        * @covers XMLTypeCheck::newFromString
+        */
+       public function testMalFormedXML() {
+               $testXML = XmlTypeCheck::newFromString( self::MAL_FORMED_XML );
+               $this->assertFalse( $testXML->wellFormed );
+       }
+
+}
\ No newline at end of file
index bdd15c4..87f5c4c 100644 (file)
@@ -6,8 +6,8 @@
  */
 
 // Start up MediaWiki in command-line mode
-require_once( __DIR__ . "/../../../../maintenance/Maintenance.php" );
-require( __DIR__ . "/RandomImageGenerator.php" );
+require_once __DIR__ . "/../../../../maintenance/Maintenance.php";
+require __DIR__ . "/RandomImageGenerator.php";
 
 class GenerateRandomImages extends Maintenance {
 
@@ -43,4 +43,4 @@ class GenerateRandomImages extends Maintenance {
 }
 
 $maintClass = 'GenerateRandomImages';
-require( RUN_MAINTENANCE_IF_MAIN );
+require RUN_MAINTENANCE_IF_MAIN;
diff --git a/tests/phpunit/includes/cache/MessageCacheTest.php b/tests/phpunit/includes/cache/MessageCacheTest.php
new file mode 100644 (file)
index 0000000..c550150
--- /dev/null
@@ -0,0 +1,127 @@
+<?php
+
+/**
+ * @group Database
+ * @group Cache
+ */
+class MessageCacheTest extends MediaWikiLangTestCase {
+
+       protected function setUp() {
+               parent::setUp();
+               $this->configureLanguages();
+               MessageCache::singleton()->enable();
+       }
+
+       /**
+        * Helper function -- setup site language for testing
+        */
+       protected function configureLanguages() {
+               // for the test, we need the content language to be anything but English,
+               // let's choose e.g. German (de)
+               $langCode = 'de';
+               $langObj = Language::factory( $langCode );
+
+               $this->setMwGlobals( array(
+                       'wgLanguageCode' => $langCode,
+                       'wgLang' => $langObj,
+                       'wgContLang' => $langObj,
+               ) );
+       }
+
+       function addDBData() {
+               $this->configureLanguages();
+
+               // Set up messages and fallbacks ab -> ru -> de
+               $this->makePage( 'FallbackLanguageTest-Full', 'ab' );
+               $this->makePage( 'FallbackLanguageTest-Full', 'ru' );
+               $this->makePage( 'FallbackLanguageTest-Full', 'de' );
+
+               // Fallbacks where ab does not exist
+               $this->makePage( 'FallbackLanguageTest-Partial', 'ru' );
+               $this->makePage( 'FallbackLanguageTest-Partial', 'de' );
+
+               // Fallback to the content language
+               $this->makePage( 'FallbackLanguageTest-ContLang', 'de' );
+
+               // Add customizations for an existing message.
+               $this->makePage( 'sunday', 'ru' );
+
+               // Full key tests -- always want russian
+               $this->makePage( 'MessageCacheTest-FullKeyTest', 'ab' );
+               $this->makePage( 'MessageCacheTest-FullKeyTest', 'ru' );
+
+               // In content language -- get base if no derivative
+               $this->makePage( 'FallbackLanguageTest-NoDervContLang', 'de', 'de/none', false );
+       }
+
+       /**
+        * Helper function for addDBData -- adds a simple page to the database
+        *
+        * @param string $title Title of page to be created
+        * @param string $lang  Language and content of the created page
+        * @param string|null $content Content of the created page, or null for a generic string
+        * @param bool $createSubPage Set to false if a root page should be created
+        */
+       protected function makePage( $title, $lang, $content = null, $createSubPage = true ) {
+               global $wgContLang;
+
+               if ( $content === null ) {
+                       $content = $lang;
+               }
+               if ( $lang !== $wgContLang->getCode() || $createSubPage ) {
+                       $title = "$title/$lang";
+               }
+
+               $title = Title::newFromText( $title, NS_MEDIAWIKI );
+               $wikiPage = new WikiPage( $title );
+               $contentHandler = ContentHandler::makeContent( $content, $title );
+               $wikiPage->doEditContent( $contentHandler, "$lang translation test case" );
+       }
+
+       /**
+        * Test message fallbacks, bug #1495
+        *
+        * @dataProvider provideMessagesForFallback
+        */
+       function testMessageFallbacks( $message, $lang, $expectedContent ) {
+               $result = MessageCache::singleton()->get( $message, true, $lang );
+               $this->assertEquals( $expectedContent, $result, "Message fallback failed." );
+       }
+
+       function provideMessagesForFallback() {
+               return array(
+                       array( 'FallbackLanguageTest-Full', 'ab', 'ab' ),
+                       array( 'FallbackLanguageTest-Partial', 'ab', 'ru' ),
+                       array( 'FallbackLanguageTest-ContLang', 'ab', 'de' ),
+                       array( 'FallbackLanguageTest-None', 'ab', false ),
+
+                       // Existing message with customizations on the fallbacks
+                       array( 'sunday', 'ab', 'амҽыш' ),
+
+                       // bug 46579
+                       array( 'FallbackLanguageTest-NoDervContLang', 'de', 'de/none' ),
+                       // UI language different from content language should only use de/none as last option
+                       array( 'FallbackLanguageTest-NoDervContLang', 'fit', 'de/none' ),
+               );
+       }
+
+       /**
+        * There's a fallback case where the message key is given as fully qualified -- this
+        * should ignore the passed $lang and use the language from the key
+        *
+        * @dataProvider provideMessagesForFullKeys
+        */
+       function testFullKeyBehaviour( $message, $lang, $expectedContent ) {
+               $result = MessageCache::singleton()->get( $message, true, $lang, true );
+               $this->assertEquals( $expectedContent, $result, "Full key message fallback failed." );
+       }
+
+       function provideMessagesForFullKeys() {
+               return array(
+                       array( 'MessageCacheTest-FullKeyTest/ru', 'ru', 'ru' ),
+                       array( 'MessageCacheTest-FullKeyTest/ru', 'ab', 'ru' ),
+                       array( 'MessageCacheTest-FullKeyTest/ru/foo', 'ru', false ),
+               );
+       }
+
+}
index c345513..2904472 100644 (file)
@@ -431,4 +431,18 @@ class DummyContentForTesting extends AbstractContent {
        public function getParserOutput( Title $title, $revId = null, ParserOptions $options = null, $generateHtml = true ) {
                return new ParserOutput( $this->getNativeData() );
        }
+
+       /**
+        * @see AbstractContent::fillParserOutput()
+        *
+        * @param $title        Title Context title for parsing
+        * @param $revId        int|null Revision ID (for {{REVISIONID}})
+        * @param $options      ParserOptions|null Parser options
+        * @param $generateHtml bool Whether or not to generate HTML
+        * @param $output       ParserOutput The output object to fill (reference).
+        */
+       protected function fillParserOutput( Title $title, $revId,
+                       ParserOptions $options, $generateHtml, ParserOutput &$output ) {
+               $output = new ParserOutput( $this->getNativeData() );
+       }
 }
index 1c45820..61716f9 100644 (file)
@@ -5,7 +5,7 @@
  * @group Database
  *        ^--- needed, because we do need the database to test link updates
  */
-class CssContentTest extends MediaWikiTestCase {
+class CssContentTest extends JavaScriptContentTest {
 
        protected function setUp() {
                parent::setUp();
index c7138b7..d7dde37 100644 (file)
@@ -7,14 +7,21 @@
  */
 class TextContentTest extends MediaWikiLangTestCase {
        protected $context;
+       protected $savedContentGetParserOutput;
 
        protected function setUp() {
+               global $wgHooks;
+
                parent::setUp();
 
                // Anon user
                $user = new User();
                $user->setName( '127.0.0.1' );
 
+               $this->context = new RequestContext( new FauxRequest() );
+               $this->context->setTitle( Title::newFromText( 'Test' ) );
+               $this->context->setUser( $user );
+
                $this->setMwGlobals( array(
                        'wgUser' => $user,
                        'wgTextModelsToParse' => array(
@@ -26,9 +33,22 @@ class TextContentTest extends MediaWikiLangTestCase {
                        'wgAlwaysUseTidy' => false,
                ) );
 
-               $this->context = new RequestContext( new FauxRequest() );
-               $this->context->setTitle( Title::newFromText( 'Test' ) );
-               $this->context->setUser( $user );
+               // bypass hooks that force custom rendering
+               if ( isset( $wgHooks['ContentGetParserOutput'] )  ) {
+                       $this->savedContentGetParserOutput = $wgHooks['ContentGetParserOutput'];
+                       unset( $wgHooks['ContentGetParserOutput'] );
+               }
+       }
+
+       public function teardown() {
+               global $wgHooks;
+
+               // restore hooks that force custom rendering
+               if ( $this->savedContentGetParserOutput !== null ) {
+                       $wgHooks['ContentGetParserOutput'] = $this->savedContentGetParserOutput;
+               }
+
+               parent::teardown();
        }
 
        public function newContent( $text ) {
index 965a5f3..46ccfe0 100644 (file)
@@ -204,6 +204,41 @@ class DatabaseSQLTest extends MediaWikiTestCase {
                );
        }
 
+       /**
+        * @dataProvider provideUpsert
+        */
+       function testUpsert( $sql, $sqlText ) {
+               $this->database->upsert(
+                       $sql['table'],
+                       $sql['rows'],
+                       $sql['uniqueIndexes'],
+                       $sql['set'],
+                       __METHOD__
+               );
+               $this->assertLastSql( $sqlText );
+       }
+
+       public static function provideUpsert() {
+               return array(
+                       array(
+                               array(
+                                       'table' => 'upsert_table',
+                                       'rows' => array( 'field' => 'text', 'field2' => 'text2' ),
+                                       'uniqueIndexes' => array( 'field' ),
+                                       'set' => array( 'field' => 'set' ),
+                               ),
+                               "BEGIN; " .
+                                       "UPDATE upsert_table " .
+                                       "SET field = 'set' " .
+                                       "WHERE ((field = 'text')); " .
+                                       "INSERT IGNORE INTO upsert_table " .
+                                       "(field,field2) " .
+                                       "VALUES ('text','text2'); " .
+                                       "COMMIT"
+                       ),
+               );
+       }
+
        /**
         * @dataProvider provideDeleteJoin
         */
diff --git a/tests/phpunit/includes/installer/OracleInstallerTest.php b/tests/phpunit/includes/installer/OracleInstallerTest.php
new file mode 100644 (file)
index 0000000..7c37f98
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * Tests for OracleInstaller
+ *
+ * @group Database
+ * @group Installer
+ */
+
+class OracleInstallerTest extends MediaWikiTestCase {
+
+       /**
+        * @dataProvider provideOracleConnectStrings
+        */
+       function testCheckConnectStringFormat( $expected, $connectString, $msg = '' ) {
+               $validity = $expected ? 'should be valid' : 'should NOT be valid';
+               $msg = "'$connectString' ($msg) $validity.";
+               $this->assertEquals( $expected,
+                       OracleInstaller::checkConnectStringFormat( $connectString ),
+                       $msg
+               );
+       }
+
+       /**
+        * Provider to test OracleInstaller::checkConnectStringFormat()
+        */
+       function provideOracleConnectStrings() {
+               // expected result, connectString[, message]
+               return array(
+                       array( true, 'simple_01', 'Simple TNS name' ),
+                       array( true, 'simple_01.world', 'TNS name with domain' ),
+                       array( true, 'simple_01.domain.net', 'TNS name with domain' ),
+                       array( true, 'host123', 'Host only' ),
+                       array( true, 'host123.domain.net', 'FQDN only' ),
+                       array( true, '//host123.domain.net', 'FQDN URL only' ),
+                       array( true, '123.223.213.132', 'Host IP only' ),
+                       array( true, 'host:1521', 'Host and port' ),
+                       array( true, 'host:1521/service', 'Host, port and service' ),
+                       array( true, 'host:1521/service:shared', 'Host, port, service and shared server type' ),
+                       array( true, 'host:1521/service:dedicated', 'Host, port, service and dedicated server type' ),
+                       array( true, 'host:1521/service:pooled', 'Host, port, service and pooled server type' ),
+                       array( true, 'host:1521/service:shared/instance1', 'Host, port, service, server type and instance' ),
+                       array( true, 'host:1521//instance1', 'Host, port and instance' ),
+               );
+       }
+
+}
index 3e39675..25a43eb 100644 (file)
@@ -62,7 +62,7 @@ class XMPTest extends MediaWikiTestCase {
                        // result array, but it seems kind of big to put directly in the test
                        // file.
                        $result = null;
-                       include( $xmpPath . $file[0] . '.result.php' );
+                       include $xmpPath . $file[0] . '.result.php';
                        $data[] = array( $xmp, $result, '[' . $file[0] . '.xmp] ' . $file[1] );
                }
 
index 3939c4f..22737b3 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-require_once( __DIR__ . '/NewParserTest.php' );
+require_once __DIR__ . '/NewParserTest.php';
 
 /**
  * The UnitTest must be either a class that inherits from MediaWikiTestCase
index 8cee07b..6975939 100644 (file)
@@ -102,6 +102,10 @@ class NewParserTest extends MediaWikiTestCase {
 
                $tmpGlobals['wgParser'] = new StubObject( 'wgParser', $GLOBALS['wgParserConf']['class'], array( $GLOBALS['wgParserConf'] ) );
 
+               $tmpGlobals['wgFileExtensions'][] = 'svg';
+               $tmpGlobals['wgSVGConverter'] = 'rsvg';
+               $tmpGlobals['wgSVGConverters']['rsvg'] = '$path/rsvg-convert -w $width -h $height $input -o $output';
+
                if ( $GLOBALS['wgStyleDirectory'] === false ) {
                        $tmpGlobals['wgStyleDirectory'] = "$IP/skins";
                }
@@ -113,6 +117,8 @@ class NewParserTest extends MediaWikiTestCase {
                foreach ( $wgMediaHandlers as $type => $handler ) {
                        $tmpGlobals['wgMediaHandlers'][$type] = 'MockBitmapHandler';
                }
+               // Vector images have to be handled slightly differently
+               $tmpGlobals['wgMediaHandlers']['image/svg+xml'] = 'MockSvgHandler';
 
                $tmpHooks = $wgHooks;
                $tmpHooks['ParserTestParser'][] = 'ParserTestParserHook::setup';
@@ -270,6 +276,20 @@ class NewParserTest extends MediaWikiTestCase {
                                $this->db->timestamp( '20010115123500' ), $user
                        );
                }
+               $image = wfLocalFile( Title::makeTitle( NS_FILE, 'Foobar.svg' ) );
+               if ( !$this->db->selectField( 'image', '1', array( 'img_name' => $image->getName() ) ) ) {
+                       $image->recordUpload2( '', 'Upload of some lame SVG', 'Some lame SVG', array(
+                                       'size'        => 12345,
+                                       'width'       => 200,
+                                       'height'      => 200,
+                                       'bits'        => 24,
+                                       'media_type'  => MEDIATYPE_DRAWING,
+                                       'mime'        => 'image/svg+xml',
+                                       'metadata'    => serialize( array() ),
+                                       'sha1'        => wfBaseConvert( '', 16, 36, 31 ),
+                                       'fileExists'  => true
+                       ), $this->db->timestamp( '20010115123500' ), $user );
+               }
        }
 
        //ParserTest setup/teardown functions
@@ -440,6 +460,19 @@ class NewParserTest extends MediaWikiTestCase {
                $backend->store( array(
                        'src' => "$IP/skins/monobook/headbg.jpg", 'dst' => "$base/local-public/0/09/Bad.jpg"
                ) );
+
+               // No helpful SVG file to copy, so make one ourselves
+               $tmpDir = wfTempDir();
+               $tempFsFile = new TempFSFile( "$tmpDir/Foobar.svg" );
+               $tempFsFile->autocollect(); // destroy file when $tempFsFile leaves scope
+               file_put_contents( "$tmpDir/Foobar.svg",
+                       '<?xml version="1.0" encoding="utf-8"?>' .
+                       '<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><text>Foo</text></svg>' );
+
+               $backend->prepare( array( 'dir' => "$base/local-public/f/ff" ) );
+               $backend->quickStore( array(
+                       'src' => "$tmpDir/Foobar.svg", 'dst' => "$base/local-public/f/ff/Foobar.svg"
+               ) );
        }
 
        /**
@@ -492,6 +525,14 @@ 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-public/math/f/a/5/fa50b8b616463173474302ca3e63586b.png",
                        )
                );
diff --git a/tests/phpunit/includes/upload/UploadBaseTest.php b/tests/phpunit/includes/upload/UploadBaseTest.php
new file mode 100644 (file)
index 0000000..298420b
--- /dev/null
@@ -0,0 +1,144 @@
+<?php
+/**
+ * @group Upload
+ */
+class UploadBaseTest extends MediaWikiTestCase {
+       protected $upload;
+
+
+       protected function setUp() {
+               global $wgHooks;
+               parent::setUp();
+
+               $this->upload = new UploadTestHandler;
+               $this->hooks = $wgHooks;
+               $wgHooks['InterwikiLoadPrefix'][] = function ( $prefix, &$data ) {
+                       return false;
+               };
+       }
+
+       protected function tearDown() {
+               global $wgHooks;
+               $wgHooks = $this->hooks;
+
+               parent::tearDown();
+       }
+
+
+       /**
+        * First checks the return code
+        * of UploadBase::getTitle() and then the actual returned title
+        *
+        * @dataProvider provideTestTitleValidation
+        */
+       public function testTitleValidation( $srcFilename, $dstFilename, $code, $msg ) {
+               /* Check the result code */
+               $this->assertEquals( $code,
+                       $this->upload->testTitleValidation( $srcFilename ),
+                       "$msg code" );
+
+               /* If we expect a valid title, check the title itself. */
+               if ( $code == UploadBase::OK ) {
+                       $this->assertEquals( $dstFilename,
+                               $this->upload->getTitle()->getText(),
+                               "$msg text" );
+               }
+       }
+
+       /**
+        * Test various forms of valid and invalid titles that can be supplied.
+        */
+       public static function provideTestTitleValidation() {
+               return array(
+                       /* Test a valid title */
+                       array( 'ValidTitle.jpg', 'ValidTitle.jpg', UploadBase::OK,
+                               'upload valid title' ),
+                       /* A title with a slash */
+                       array( 'A/B.jpg', 'B.jpg', UploadBase::OK,
+                               'upload title with slash' ),
+                       /* A title with illegal char */
+                       array( 'A:B.jpg', 'A-B.jpg', UploadBase::OK,
+                               'upload title with colon' ),
+                       /* Stripping leading File: prefix */
+                       array( 'File:C.jpg', 'C.jpg', UploadBase::OK,
+                               'upload title with File prefix' ),
+                       /* Test illegal suggested title (r94601) */
+                       array( '%281%29.JPG', null, UploadBase::ILLEGAL_FILENAME,
+                               'illegal title for upload' ),
+                       /* A title without extension */
+                       array( 'A', null, UploadBase::FILETYPE_MISSING,
+                               'upload title without extension' ),
+                       /* A title with no basename */
+                       array( '.jpg', null, UploadBase::MIN_LENGTH_PARTNAME,
+                               'upload title without basename' ),
+                       /* A title that is longer than 255 bytes */
+                       array( str_repeat( 'a', 255 ) . '.jpg', null, UploadBase::FILENAME_TOO_LONG,
+                               'upload title longer than 255 bytes' ),
+                       /* A title that is longer than 240 bytes */
+                       array( str_repeat( 'a', 240 ) . '.jpg', null, UploadBase::FILENAME_TOO_LONG,
+                               'upload title longer than 240 bytes' ),
+               );
+       }
+
+       /**
+        * Test the upload verification functions
+        */
+       public function testVerifyUpload() {
+               /* Setup with zero file size */
+               $this->upload->initializePathInfo( '', '', 0 );
+               $result = $this->upload->verifyUpload();
+               $this->assertEquals( UploadBase::EMPTY_FILE,
+                       $result['status'],
+                       'upload empty file' );
+       }
+
+       // Helper used to create an empty file of size $size.
+       private function createFileOfSize( $size ) {
+               $filename = tempnam( wfTempDir(), "mwuploadtest" );
+
+               $fh = fopen( $filename, 'w' );
+               ftruncate( $fh, $size );
+               fclose( $fh );
+
+               return $filename;
+       }
+
+       /**
+        * test uploading a 100 bytes file with $wgMaxUploadSize = 100
+        *
+        * This method should be abstracted so we can test different settings.
+        */
+
+       public function testMaxUploadSize() {
+               global $wgMaxUploadSize;
+               $savedGlobal = $wgMaxUploadSize; // save global
+               global $wgFileExtensions;
+               $wgFileExtensions[] = 'txt';
+
+               $wgMaxUploadSize = 100;
+
+               $filename = $this->createFileOfSize( $wgMaxUploadSize );
+               $this->upload->initializePathInfo( basename( $filename ) . '.txt', $filename, 100 );
+               $result = $this->upload->verifyUpload();
+               unlink( $filename );
+
+               $this->assertEquals(
+                       array( 'status' => UploadBase::OK ), $result );
+
+               $wgMaxUploadSize = $savedGlobal; // restore global
+       }
+}
+
+class UploadTestHandler extends UploadBase {
+       public function initializeFromRequest( &$request ) {
+       }
+
+       public function testTitleValidation( $name ) {
+               $this->mTitle = false;
+               $this->mDesiredDestName = $name;
+               $this->mTitleError = UploadBase::OK;
+               $this->getTitle();
+
+               return $this->mTitleError;
+       }
+}
diff --git a/tests/phpunit/includes/upload/UploadTest.php b/tests/phpunit/includes/upload/UploadTest.php
deleted file mode 100644 (file)
index 94c78dc..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-<?php
-/**
- * @group Upload
- */
-class UploadTest extends MediaWikiTestCase {
-       protected $upload;
-
-
-       protected function setUp() {
-               global $wgHooks;
-               parent::setUp();
-
-               $this->upload = new UploadTestHandler;
-               $this->hooks = $wgHooks;
-               $wgHooks['InterwikiLoadPrefix'][] = function ( $prefix, &$data ) {
-                       return false;
-               };
-       }
-
-       protected function tearDown() {
-               global $wgHooks;
-               $wgHooks = $this->hooks;
-
-               parent::tearDown();
-       }
-
-
-       /**
-        * First checks the return code
-        * of UploadBase::getTitle() and then the actual returned title
-        *
-        * @dataProvider provideTestTitleValidation
-        */
-       public function testTitleValidation( $srcFilename, $dstFilename, $code, $msg ) {
-               /* Check the result code */
-               $this->assertEquals( $code,
-                       $this->upload->testTitleValidation( $srcFilename ),
-                       "$msg code" );
-
-               /* If we expect a valid title, check the title itself. */
-               if ( $code == UploadBase::OK ) {
-                       $this->assertEquals( $dstFilename,
-                               $this->upload->getTitle()->getText(),
-                               "$msg text" );
-               }
-       }
-
-       /**
-        * Test various forms of valid and invalid titles that can be supplied.
-        */
-       public static function provideTestTitleValidation() {
-               return array(
-                       /* Test a valid title */
-                       array( 'ValidTitle.jpg', 'ValidTitle.jpg', UploadBase::OK,
-                               'upload valid title' ),
-                       /* A title with a slash */
-                       array( 'A/B.jpg', 'B.jpg', UploadBase::OK,
-                               'upload title with slash' ),
-                       /* A title with illegal char */
-                       array( 'A:B.jpg', 'A-B.jpg', UploadBase::OK,
-                               'upload title with colon' ),
-                       /* Stripping leading File: prefix */
-                       array( 'File:C.jpg', 'C.jpg', UploadBase::OK,
-                               'upload title with File prefix' ),
-                       /* Test illegal suggested title (r94601) */
-                       array( '%281%29.JPG', null, UploadBase::ILLEGAL_FILENAME,
-                               'illegal title for upload' ),
-                       /* A title without extension */
-                       array( 'A', null, UploadBase::FILETYPE_MISSING,
-                               'upload title without extension' ),
-                       /* A title with no basename */
-                       array( '.jpg', null, UploadBase::MIN_LENGTH_PARTNAME,
-                               'upload title without basename' ),
-                       /* A title that is longer than 255 bytes */
-                       array( str_repeat( 'a', 255 ) . '.jpg', null, UploadBase::FILENAME_TOO_LONG,
-                               'upload title longer than 255 bytes' ),
-                       /* A title that is longer than 240 bytes */
-                       array( str_repeat( 'a', 240 ) . '.jpg', null, UploadBase::FILENAME_TOO_LONG,
-                               'upload title longer than 240 bytes' ),
-               );
-       }
-
-       /**
-        * Test the upload verification functions
-        */
-       public function testVerifyUpload() {
-               /* Setup with zero file size */
-               $this->upload->initializePathInfo( '', '', 0 );
-               $result = $this->upload->verifyUpload();
-               $this->assertEquals( UploadBase::EMPTY_FILE,
-                       $result['status'],
-                       'upload empty file' );
-       }
-
-       // Helper used to create an empty file of size $size.
-       private function createFileOfSize( $size ) {
-               $filename = tempnam( wfTempDir(), "mwuploadtest" );
-
-               $fh = fopen( $filename, 'w' );
-               ftruncate( $fh, $size );
-               fclose( $fh );
-
-               return $filename;
-       }
-
-       /**
-        * test uploading a 100 bytes file with $wgMaxUploadSize = 100
-        *
-        * This method should be abstracted so we can test different settings.
-        */
-
-       public function testMaxUploadSize() {
-               global $wgMaxUploadSize;
-               $savedGlobal = $wgMaxUploadSize; // save global
-               global $wgFileExtensions;
-               $wgFileExtensions[] = 'txt';
-
-               $wgMaxUploadSize = 100;
-
-               $filename = $this->createFileOfSize( $wgMaxUploadSize );
-               $this->upload->initializePathInfo( basename( $filename ) . '.txt', $filename, 100 );
-               $result = $this->upload->verifyUpload();
-               unlink( $filename );
-
-               $this->assertEquals(
-                       array( 'status' => UploadBase::OK ), $result );
-
-               $wgMaxUploadSize = $savedGlobal; // restore global
-       }
-}
-
-class UploadTestHandler extends UploadBase {
-       public function initializeFromRequest( &$request ) {
-       }
-
-       public function testTitleValidation( $name ) {
-               $this->mTitle = false;
-               $this->mDesiredDestName = $name;
-               $this->mTitleError = UploadBase::OK;
-               $this->getTitle();
-
-               return $this->mTitleError;
-       }
-}
index 54f7753..d687dbb 100644 (file)
@@ -1384,6 +1384,9 @@ class LanguageTest extends LanguageClassesTestCase {
                        array( 'other', 2, array(
                                'kissa=kala', '1=2=3', 'other',
                        ) ),
+                       array( '', 2, array(
+                               '0=explicit zero', '1=explicit one',
+                       ) ),
                );
        }
 
index 2ae30a3..742b41e 100644 (file)
  * @ingroup Media
  */
 
+class MockBitmapHandler extends BitmapHandler {
+       function doTransform( $image, $dstPath, $dstUrl, $params, $flags = 0 ) {
+               return MockImageHandler::doFakeTransform( $this, $image, $dstPath, $dstUrl, $params, $flags );
+       }
+       function doClientImage( $image, $scalerParams ) {
+                       return $this->getClientScalingThumbnailImage( $image, $scalerParams );
+       }
+}
+class MockSvgHandler extends SvgHandler {
+       function doTransform( $image, $dstPath, $dstUrl, $params, $flags = 0 ) {
+               return MockImageHandler::doFakeTransform( $this, $image, $dstPath, $dstUrl, $params, $flags );
+       }
+}
 /**
  * Mock handler for images.
  *
@@ -28,7 +41,7 @@
  *
  * @ingroup Media
  */
-class MockBitmapHandler extends BitmapHandler {
+class MockImageHandler {
 
        /**
         * Override BitmapHandler::doTransform() making sure we do not generate
@@ -36,14 +49,14 @@ class MockBitmapHandler extends BitmapHandler {
         * will be consumed by the unit test.  There is no need to create a real
         * thumbnail on the filesystem.
         */
-       function doTransform( $image, $dstPath, $dstUrl, $params, $flags = 0 ) {
+       static function doFakeTransform( $that, $image, $dstPath, $dstUrl, $params, $flags = 0 ) {
                # Example of what we receive:
                # $image: LocalFile
                # $dstPath: /tmp/transform_7d0a7a2f1a09-1.jpg
                # $dstUrl : http://example.com/images/thumb/0/09/Bad.jpg/320px-Bad.jpg
                # $params:  width: 320,  descriptionUrl http://trunk.dev/wiki/File:Bad.jpg
 
-               $this->normaliseParams( $image, $params );
+               $that->normaliseParams( $image, $params );
 
                $scalerParams = array(
                        # The size to which the image will be resized
@@ -67,9 +80,11 @@ class MockBitmapHandler extends BitmapHandler {
                # In some cases, we do not bother generating a thumbnail.
                if ( !$image->mustRender() &&
                        $scalerParams['physicalWidth'] == $scalerParams['srcWidth']
-                       && $scalerParams['physicalHeight'] == $scalerParams['srcHeight'] ) {
+                       && $scalerParams['physicalHeight'] == $scalerParams['srcHeight']
+               ) {
                        wfDebug( __METHOD__ . ": returning unscaled image\n" );
-                       return $this->getClientScalingThumbnailImage( $image, $scalerParams );
+                       // getClientScalingThumbnailImage is protected
+                       return $that->doClientImage( $image, $scalerParams );
                }
 
                return new ThumbnailImage( $image, $dstUrl, false, $params );
index 0b66725..e4cb6b6 100755 (executable)
@@ -12,7 +12,7 @@
 define( 'MW_PHPUNIT_TEST', true );
 
 // Start up MediaWiki in command-line mode
-require_once( dirname( dirname( __DIR__ ) ) . "/maintenance/Maintenance.php" );
+require_once dirname( dirname( __DIR__ ) ) . "/maintenance/Maintenance.php";
 
 class PHPUnitMaintClass extends Maintenance {
 
@@ -33,6 +33,9 @@ class PHPUnitMaintClass extends Maintenance {
                global $wgLocaltimezone, $wgLocalisationCacheConf;
                global $wgDevelopmentWarnings;
 
+               // Inject test autoloader
+               require_once __DIR__ . '/../TestsAutoLoader.php';
+
                // wfWarn should cause tests to fail
                $wgDevelopmentWarnings = true;
 
@@ -98,16 +101,19 @@ class PHPUnitMaintClass extends Maintenance {
 }
 
 $maintClass = 'PHPUnitMaintClass';
-require( RUN_MAINTENANCE_IF_MAIN );
+require RUN_MAINTENANCE_IF_MAIN;
 
-require_once 'PHPUnit/Runner/Version.php';
+if ( !class_exists( 'PHPUnit_Runner_Version') ) {
+       require_once 'PHPUnit/Runner/Version.php';
+}
 
 if ( PHPUnit_Runner_Version::id() !== '@package_version@'
        && version_compare( PHPUnit_Runner_Version::id(), '3.6.7', '<' )
 ) {
        die( 'PHPUnit 3.6.7 or later required, you have ' . PHPUnit_Runner_Version::id() . ".\n" );
 }
-require_once 'PHPUnit/Autoload.php';
 
-require_once( "$IP/tests/TestsAutoLoader.php" );
+if ( !class_exists( 'PHPUnit_TextUI_Command' ) ) {
+       require_once 'PHPUnit/Autoload.php';
+}
 MediaWikiPHPUnitCommand::main();
diff --git a/tests/phpunit/resources/ResourcesTest.php b/tests/phpunit/resources/ResourcesTest.php
deleted file mode 100644 (file)
index 3af805a..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-/**
- * Sanity checks for making sure registered resources are sane.
- *
- * @file
- * @author Niklas Laxström, 2012
- * @author Antoine Musso, 2012
- * @author Santhosh Thottingal, 2012
- * @author Timo Tijhof, 2012
- * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
- */
-class ResourcesTest extends MediaWikiTestCase {
-
-       /**
-        * @dataProvider provideResourceFiles
-        */
-       public function testFileExistence( $filename, $module, $resource ) {
-               $this->assertFileExists( $filename,
-                       "File '$resource' referenced by '$module' must exist."
-               );
-       }
-
-       /**
-        * This ask the ResouceLoader for all registered files from modules
-        * created by ResourceLoaderFileModule (or one of its descendants).
-        *
-        *
-        * Since the raw data is stored in protected properties, we have to
-        * overrride this through ReflectionObject methods.
-        */
-       public static function provideResourceFiles() {
-               global $wgEnableJavaScriptTest;
-
-               // Test existance of test suite files as well
-               // (can't use setUp or setMwGlobals because providers are static)
-               $live_wgEnableJavaScriptTest = $wgEnableJavaScriptTest;
-               $wgEnableJavaScriptTest = true;
-
-               // Array with arguments for the test function
-               $cases = array();
-
-               // Initialize ResourceLoader
-               $rl = new ResourceLoader();
-
-               // See also ResourceLoaderFileModule::__construct
-               $filePathProps = array(
-                       // Lists of file paths
-                       'lists' => array(
-                               'scripts',
-                               'debugScripts',
-                               'loaderScripts',
-                               'styles',
-                       ),
-
-                       // Collated lists of file paths
-                       'nested-lists' => array(
-                               'languageScripts',
-                               'skinScripts',
-                               'skinStyles',
-                       ),
-               );
-
-               foreach ( $rl->getModuleNames() as $moduleName ) {
-                       $module = $rl->getModule( $moduleName );
-                       if ( !$module instanceof ResourceLoaderFileModule ) {
-                               continue;
-                       }
-
-                       $reflectedModule = new ReflectionObject( $module );
-
-                       $files = array();
-
-                       foreach ( $filePathProps['lists'] as $propName ) {
-                               $property = $reflectedModule->getProperty( $propName );
-                               $property->setAccessible( true );
-                               $list = $property->getValue( $module );
-                               foreach ( $list as $key => $value ) {
-                                       // 'scripts' are numeral arrays.
-                                       // 'styles' can be numeral or associative.
-                                       // In case of associative the key is the file path
-                                       // and the value is the 'media' attribute.
-                                       if ( is_int( $key ) ) {
-                                               $files[] = $value;
-                                       } else {
-                                               $files[] = $key;
-                                       }
-                               }
-                       }
-
-                       foreach ( $filePathProps['nested-lists'] as $propName ) {
-                               $property = $reflectedModule->getProperty( $propName );
-                               $property->setAccessible( true );
-                               $lists = $property->getValue( $module );
-                               foreach ( $lists as $list ) {
-                                       foreach ( $list as $key => $value ) {
-                                               // We need the same filter as for 'lists',
-                                               // due to 'skinStyles'.
-                                               if ( is_int( $key ) ) {
-                                                       $files[] = $value;
-                                               } else {
-                                                       $files[] = $key;
-                                               }
-                                       }
-                               }
-                       }
-
-                       // Get method for resolving the paths to full paths
-                       $method = $reflectedModule->getMethod( 'getLocalPath' );
-                       $method->setAccessible( true );
-
-                       // Populate cases
-                       foreach ( $files as $file ) {
-                               $cases[] = array(
-                                       $method->invoke( $module, $file ),
-                                       $module->getName(),
-                                       $file,
-                               );
-                       }
-               }
-
-               // Restore settings
-               $wgEnableJavaScriptTest = $live_wgEnableJavaScriptTest;
-
-               return $cases;
-       }
-}
diff --git a/tests/phpunit/structure/AutoLoaderTest.php b/tests/phpunit/structure/AutoLoaderTest.php
new file mode 100644 (file)
index 0000000..e49ea6d
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+class AutoLoaderTest extends MediaWikiTestCase {
+
+       public function testAutoLoadConfig() {
+               $results = self::checkAutoLoadConf();
+
+               $this->assertEquals(
+                       $results['expected'],
+                       $results['actual']
+               );
+       }
+
+       protected static function checkAutoLoadConf() {
+               global $wgAutoloadLocalClasses, $wgAutoloadClasses, $IP;
+               $supportsParsekit = function_exists( 'parsekit_compile_file' );
+
+               // wgAutoloadLocalClasses has precedence, just like in includes/AutoLoader.php
+               $expected = $wgAutoloadLocalClasses + $wgAutoloadClasses;
+               $actual = array();
+
+               $files = array_unique( $expected );
+
+               foreach ( $files as $file ) {
+                       // Only prefix $IP if it doesn't have it already.
+                       // Generally local classes don't have it, and those from extensions and test suites do.
+                       if ( substr( $file, 0, 1 ) != '/' && substr( $file, 1, 1 ) != ':' ) {
+                               $filePath = "$IP/$file";
+                       } else {
+                               $filePath = $file;
+                       }
+                       if ( $supportsParsekit ) {
+                               $parseInfo = parsekit_compile_file( "$filePath" );
+                               $classes = array_keys( $parseInfo['class_table'] );
+                       } else {
+                               $contents = file_get_contents( "$filePath" );
+                               $m = array();
+                               preg_match_all( '/\n\s*(?:final)?\s*(?:abstract)?\s*(?:class|interface)\s+([a-zA-Z0-9_]+)/', $contents, $m, PREG_PATTERN_ORDER );
+                               $classes = $m[1];
+                       }
+                       foreach ( $classes as $class ) {
+                               $actual[$class] = $file;
+                       }
+               }
+
+               return array(
+                       'expected' => $expected,
+                       'actual' => $actual,
+               );
+       }
+}
diff --git a/tests/phpunit/structure/ResourcesTest.php b/tests/phpunit/structure/ResourcesTest.php
new file mode 100644 (file)
index 0000000..3af805a
--- /dev/null
@@ -0,0 +1,126 @@
+<?php
+/**
+ * Sanity checks for making sure registered resources are sane.
+ *
+ * @file
+ * @author Niklas Laxström, 2012
+ * @author Antoine Musso, 2012
+ * @author Santhosh Thottingal, 2012
+ * @author Timo Tijhof, 2012
+ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
+ */
+class ResourcesTest extends MediaWikiTestCase {
+
+       /**
+        * @dataProvider provideResourceFiles
+        */
+       public function testFileExistence( $filename, $module, $resource ) {
+               $this->assertFileExists( $filename,
+                       "File '$resource' referenced by '$module' must exist."
+               );
+       }
+
+       /**
+        * This ask the ResouceLoader for all registered files from modules
+        * created by ResourceLoaderFileModule (or one of its descendants).
+        *
+        *
+        * Since the raw data is stored in protected properties, we have to
+        * overrride this through ReflectionObject methods.
+        */
+       public static function provideResourceFiles() {
+               global $wgEnableJavaScriptTest;
+
+               // Test existance of test suite files as well
+               // (can't use setUp or setMwGlobals because providers are static)
+               $live_wgEnableJavaScriptTest = $wgEnableJavaScriptTest;
+               $wgEnableJavaScriptTest = true;
+
+               // Array with arguments for the test function
+               $cases = array();
+
+               // Initialize ResourceLoader
+               $rl = new ResourceLoader();
+
+               // See also ResourceLoaderFileModule::__construct
+               $filePathProps = array(
+                       // Lists of file paths
+                       'lists' => array(
+                               'scripts',
+                               'debugScripts',
+                               'loaderScripts',
+                               'styles',
+                       ),
+
+                       // Collated lists of file paths
+                       'nested-lists' => array(
+                               'languageScripts',
+                               'skinScripts',
+                               'skinStyles',
+                       ),
+               );
+
+               foreach ( $rl->getModuleNames() as $moduleName ) {
+                       $module = $rl->getModule( $moduleName );
+                       if ( !$module instanceof ResourceLoaderFileModule ) {
+                               continue;
+                       }
+
+                       $reflectedModule = new ReflectionObject( $module );
+
+                       $files = array();
+
+                       foreach ( $filePathProps['lists'] as $propName ) {
+                               $property = $reflectedModule->getProperty( $propName );
+                               $property->setAccessible( true );
+                               $list = $property->getValue( $module );
+                               foreach ( $list as $key => $value ) {
+                                       // 'scripts' are numeral arrays.
+                                       // 'styles' can be numeral or associative.
+                                       // In case of associative the key is the file path
+                                       // and the value is the 'media' attribute.
+                                       if ( is_int( $key ) ) {
+                                               $files[] = $value;
+                                       } else {
+                                               $files[] = $key;
+                                       }
+                               }
+                       }
+
+                       foreach ( $filePathProps['nested-lists'] as $propName ) {
+                               $property = $reflectedModule->getProperty( $propName );
+                               $property->setAccessible( true );
+                               $lists = $property->getValue( $module );
+                               foreach ( $lists as $list ) {
+                                       foreach ( $list as $key => $value ) {
+                                               // We need the same filter as for 'lists',
+                                               // due to 'skinStyles'.
+                                               if ( is_int( $key ) ) {
+                                                       $files[] = $value;
+                                               } else {
+                                                       $files[] = $key;
+                                               }
+                                       }
+                               }
+                       }
+
+                       // Get method for resolving the paths to full paths
+                       $method = $reflectedModule->getMethod( 'getLocalPath' );
+                       $method->setAccessible( true );
+
+                       // Populate cases
+                       foreach ( $files as $file ) {
+                               $cases[] = array(
+                                       $method->invoke( $module, $file ),
+                                       $module->getName(),
+                                       $file,
+                               );
+                       }
+               }
+
+               // Restore settings
+               $wgEnableJavaScriptTest = $live_wgEnableJavaScriptTest;
+
+               return $cases;
+       }
+}
diff --git a/tests/phpunit/structure/StructureTest.php b/tests/phpunit/structure/StructureTest.php
new file mode 100644 (file)
index 0000000..df00d4d
--- /dev/null
@@ -0,0 +1,63 @@
+<?php
+/**
+ * The tests here verify the structure of the code.  This is for outright bugs,
+ * not just style issues.
+ */
+
+class StructureTest extends MediaWikiTestCase {
+       /**
+        * Verify all files that appear to be tests have file names ending in
+        * Test.  If the file names do not end in Test, they will not be run.
+        * @group medium
+        */
+       public function testUnitTestFileNamesEndWithTest() {
+               if ( wfIsWindows() ) {
+                       $this->markTestSkipped( 'This test does not work on Windows' );
+               }
+               $rootPath = escapeshellarg( __DIR__ . '/..' );
+               $testClassRegex = implode( '|', array(
+                       'ApiFormatTestBase',
+                       'ApiTestCase',
+                       'ApiQueryTestBase',
+                       'ApiQueryContinueTestBase',
+                       'MediaWikiLangTestCase',
+                       'MediaWikiTestCase',
+                       'PHPUnit_Framework_TestCase',
+                       'DumpTestCase',
+               ) );
+               $testClassRegex = "^class .* extends ($testClassRegex)";
+               $finder = "find $rootPath -name '*.php' '!' -name '*Test.php'" .
+                       " | xargs grep -El '$testClassRegex|function suite\('";
+
+               $results = null;
+               $exitCode = null;
+               exec( $finder, $results, $exitCode );
+
+               $this->assertEquals(
+                       0,
+                       $exitCode,
+                       'Verify find/grep command succeeds.'
+               );
+
+               $results = array_filter(
+                       $results,
+                       array( $this, 'filterSuites' )
+               );
+               $strip = strlen( $rootPath ) - 1;
+               foreach ( $results as $k => $v ) {
+                       $results[$k] = substr( $v, $strip );
+               }
+               $this->assertEquals(
+                       array(),
+                       $results,
+                       "Unit test file in $rootPath must end with Test."
+               );
+       }
+
+       /**
+        * Filter to remove testUnitTestFileNamesEndWithTest false positives.
+        */
+       public function filterSuites( $filename ) {
+               return strpos( $filename, __DIR__ . '/../suites/' ) !== 0;
+       }
+}
index 56f6447..844c853 100644 (file)
@@ -29,7 +29,7 @@
                        <directory>maintenance</directory>
                </testsuite>
                <testsuite name="structure">
-                       <file>StructureTest.php</file>
+                       <directory>structure</directory>
                </testsuite>
                <testsuite name="uploadfromurl">
                        <file>suites/UploadFromUrlTestSuite.php</file>
index 670c934..7eb599e 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-require_once( dirname( __DIR__ ) . '/includes/upload/UploadFromUrlTest.php' );
+require_once dirname( __DIR__ ) . '/includes/upload/UploadFromUrlTest.php';
 
 class UploadFromUrlTestSuite extends PHPUnit_Framework_TestSuite {
        public $savedGlobals = array();
index 1836980..12e5a2d 100644 (file)
@@ -61,7 +61,7 @@
  * </code>
  */
 
-require( __DIR__ . '/../../../maintenance/Maintenance.php' );
+require __DIR__ . '/../../../maintenance/Maintenance.php';
 
 class GenerateJqueryMsgData extends Maintenance {
 
index c21844e..596c57c 100644 (file)
        /**
         * Test factory for $.fn.byteLimit
         *
-        * @param $input {jQuery} jQuery object in an input element
-        * @param hasLimit {Boolean} Wether a limit should apply at all
-        * @param limit {Number} Limit (if used) otherwise undefined
-        * The limit should be less than 20 (the sample data's length)
+        * @param {Object} options
+        * @param {string} options.description Test name
+        * @param {jQuery} options.$input jQuery object in an input element
+        * @param {string} options.sample Sequence of characters to simulate being
+        *  added one by one
+        * @param {string} options.expected Expected final value of `$input`
         */
        function byteLimitTest( options ) {
                var opt = $.extend( {
                        description: '',
                        $input: null,
                        sample: '',
-                       hasLimit: false,
-                       expected: '',
-                       limit: null
+                       expected: ''
                }, options );
 
-               QUnit.asyncTest( opt.description, opt.hasLimit ? 3 : 2, function ( assert ) {
+               QUnit.asyncTest( opt.description, 1, function ( assert ) {
                        setTimeout( function () {
-                               var rawVal, fn, effectiveVal;
-
                                opt.$input.appendTo( '#qunit-fixture' );
 
                                // Simulate pressing keys for each of the sample characters
                                addChars( opt.$input, opt.sample );
 
-                               rawVal = opt.$input.val();
-                               fn = opt.$input.data( 'byteLimit.callback' );
-                               effectiveVal = fn ? fn( rawVal ) : rawVal;
-
-                               if ( opt.hasLimit ) {
-                                       assert.ltOrEq(
-                                               $.byteLength( effectiveVal ),
-                                               opt.limit,
-                                               'Prevent keypresses after byteLimit was reached, length never exceeded the limit'
-                                       );
-                                       assert.equal(
-                                               $.byteLength( rawVal ),
-                                               $.byteLength( opt.expected ),
-                                               'Not preventing keypresses too early, length has reached the expected length'
-                                       );
-                                       assert.equal( rawVal, opt.expected, 'New value matches the expected string' );
-
-                               } else {
-                                       assert.equal(
-                                               $.byteLength( effectiveVal ),
-                                               $.byteLength( opt.expected ),
-                                               'Unlimited scenarios are not affected, expected length reached'
-                                       );
-                                       assert.equal( rawVal, opt.expected, 'New value matches the expected string' );
-                               }
+                               assert.equal(
+                                       opt.$input.val(),
+                                       opt.expected,
+                                       'New value matches the expected string'
+                               );
+
                                QUnit.start();
                        }, 10 );
                } );
@@ -89,7 +68,6 @@
                description: 'Plain text input',
                $input: $( '<input type="text"/>' ),
                sample: simpleSample,
-               hasLimit: false,
                expected: simpleSample
        } );
 
@@ -98,7 +76,6 @@
                $input: $( '<input type="text"/>' )
                        .byteLimit(),
                sample: simpleSample,
-               hasLimit: false,
                expected: simpleSample
        } );
 
                        .attr( 'maxlength', '10' )
                        .byteLimit(),
                sample: simpleSample,
-               hasLimit: true,
-               limit: 10,
                expected: '1234567890'
        } );
 
                $input: $( '<input type="text"/>' )
                        .byteLimit( 10 ),
                sample: simpleSample,
-               hasLimit: true,
-               limit: 10,
                expected: '1234567890'
        } );
 
                        .attr( 'maxlength', '10' )
                        .byteLimit( 15 ),
                sample: simpleSample,
-               hasLimit: true,
-               limit: 15,
                expected: '123456789012345'
        } );
 
                $input: $( '<input type="text"/>' )
                        .byteLimit( 14 ),
                sample: mbSample,
-               hasLimit: true,
-               limit: 14,
                expected: '1234567890' + U_20AC + '1'
        } );
 
                $input: $( '<input type="text"/>' )
                        .byteLimit( 12 ),
                sample: mbSample,
-               hasLimit: true,
-               limit: 12,
                expected: '1234567890' + '12'
        } );
 
                                return new mw.Title( String( val ) ).getMain();
                        } ),
                sample: 'User:Sample',
-               hasLimit: true,
-               limit: 6, // 'Sample' length
                expected: 'User:Sample'
        } );
 
                                return new mw.Title( String( val ) ).getMain();
                        } ),
                sample: 'User:Sample',
-               hasLimit: true,
-               limit: 6, // 'Sample' length
                expected: 'User:Sample'
        } );
 
+       byteLimitTest( {
+               description: 'Pass the limit and a callback as input filter',
+               $input: $( '<input type="text"/>' )
+                       .byteLimit( 6, function ( val ) {
+                               // Invalid title
+                               if ( val === '' ) {
+                                       return '';
+                               }
+
+                               // Return without namespace prefix
+                               return new mw.Title( String( val ) ).getMain();
+                       } ),
+               sample: 'User:Example',
+               // The callback alters the value to be used to calculeate
+               // the length. The altered value is "Exampl" which has
+               // a length of 6, the "e" would exceed the limit.
+               expected: 'User:Exampl'
+       } );
+
+       byteLimitTest( {
+               description: 'Input filter that increases the length',
+               $input: $( '<input type="text"/>' )
+               .byteLimit( 10, function ( text ) {
+                       return 'prefix' + text;
+               } ),
+               sample: simpleSample,
+               // Prefix adds 6 characters, limit is reached after 4
+               expected: '1234'
+       } );
+
+       // Regression tests for bug 41450
+       byteLimitTest( {
+               description: 'Input filter of which the base exceeds the limit',
+               $input: $( '<input type="text"/>' )
+               .byteLimit( 3, function ( text ) {
+                       return 'prefix' + text;
+               } ),
+               sample: simpleSample,
+               hasLimit: true,
+               limit: 6, // 'prefix' length
+               expected: ''
+       } );
+
        QUnit.test( 'Confirm properties and attributes set', 4, function ( assert ) {
                var $el, $elA, $elB;
 
index 88bbf5c..b2a6fd5 100644 (file)
@@ -1,16 +1,11 @@
 ( function ( $ ) {
-       var uacount, uas, testMap;
 
        QUnit.module( 'jquery.client', QUnit.newMwEnvironment() );
 
-       /** Number of user-agent defined */
-       uacount = 0;
-
-       uas = ( function () {
-
+       var uacount = 0,
                // Object keyed by userAgent. Value is an array (human-readable name, client-profile object, navigator.platform value)
                // Info based on results from http://toolserver.org/~krinkle/testswarm/job/174/
-               var uas = {
+               uas = {
                        // Internet Explorer 6
                        // Internet Explorer 7
                        'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)': {
                                        rtl: true
                                }
                        },
+                       // Iceweasel 15.0.1
+                       'Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1 Iceweasel/15.0.1': {
+                               title: 'Iceweasel 15.0.1',
+                               platform: 'Linux',
+                               profile: {
+                                       name: 'iceweasel',
+                                       layout: 'gecko',
+                                       layoutVersion: 20100101,
+                                       platform: 'linux',
+                                       version: '15.0.1',
+                                       versionBase: '15',
+                                       versionNumber: 15
+                               },
+                               wikiEditor: {
+                                       ltr: true,
+                                       rtl: true
+                               }
+                       },
                        // Firefox 5
                        // Safari 3
                        // Safari 4
                                }
                        },
                        // Safari 5
+                       // Safari 6
+                       'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.29.13 (KHTML, like Gecko) Version/6.0.4 Safari/536.29.13': {
+                               title: 'Safari 6',
+                               platform: 'MacIntel',
+                               profile: {
+                                       name: 'safari',
+                                       layout: 'webkit',
+                                       layoutVersion: 536,
+                                       platform: 'mac',
+                                       version: '6.0.4',
+                                       versionBase: '6',
+                                       versionNumber: 6
+                               },
+                               wikiEditor: {
+                                       ltr: true,
+                                       rtl: true
+                               }
+                       },
+                       // Safari 6.0.5+ (doesn't have the comma in "KHTML, like Gecko")
+                       'Mozilla/5.0 (Macintosh; Intel Mac OS X 1084) AppleWebKit/536.30.1 (KHTML like Gecko) Version/6.0.5 Safari/536.30.1': {
+                               title: 'Safari 6',
+                               platform: 'MacIntel',
+                               profile: {
+                                       name: 'safari',
+                                       layout: 'webkit',
+                                       layoutVersion: 536,
+                                       platform: 'mac',
+                                       version: '6.0.5',
+                                       versionBase: '6',
+                                       versionNumber: 6
+                               },
+                               wikiEditor: {
+                                       ltr: true,
+                                       rtl: true
+                               }
+                       },
                        // Opera 10+
                        'Opera/9.80 (Windows NT 5.1)': {
                                title: 'Opera 10+ (exact version unspecified)',
                                        rtl: true
                                }
                        },
+                       // Android WebKit Browser 2.3
+                       'Mozilla/5.0 (Linux; U; Android 2.3.5; en-us; HTC Vision Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1': {
+                               title: 'Android WebKit Browser 2.3',
+                               platform: 'Linux armv7l',
+                               profile: {
+                                       name: 'android',
+                                       layout: 'webkit',
+                                       layoutVersion: 533,
+                                       platform: 'linux',
+                                       version: '2.3.5',
+                                       versionBase: '2',
+                                       versionNumber: 2.3
+                               },
+                               wikiEditor: {
+                                       ltr: true,
+                                       rtl: true
+                               }
+                       },
                        // Bug #34924
                        'Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) rekonq Safari/534.34': {
                                title: 'Rekonq',
                                        rtl: true
                                }
                        }
-               };
-               $.each( uas, function () {
-                       uacount++;
-               } );
-               return uas;
-       }() );
-
-       QUnit.test( 'profile userAgent support', uacount, function ( assert ) {
-               // Generate a client profile object and compare recursively
-               var uaTest = function ( rawUserAgent, data ) {
-                       var ret = $.client.profile( {
-                               userAgent: rawUserAgent,
-                               platform: data.platform
-                       } );
-                       assert.deepEqual( ret, data.profile, 'Client profile support check for ' + data.title + ' (' + data.platform + '): ' + rawUserAgent );
-               };
+               },
+               testMap = {
+                       // Example from WikiEditor
+                       // Make sure to use raw numbers, a string like "7.0" would fail on a
+                       // version 10 browser since in string comparaison "10" is before "7.0" :)
+                       'ltr': {
+                               'msie': [['>=', 7.0]],
+                               'firefox': [['>=', 2]],
+                               'opera': [['>=', 9.6]],
+                               'safari': [['>=', 3]],
+                               'chrome': [['>=', 3]],
+                               'netscape': [['>=', 9]],
+                               'blackberry': false,
+                               'ipod': false,
+                               'iphone': false
+                       },
+                       'rtl': {
+                               'msie': [['>=', 8]],
+                               'firefox': [['>=', 2]],
+                               'opera': [['>=', 9.6]],
+                               'safari': [['>=', 3]],
+                               'chrome': [['>=', 3]],
+                               'netscape': [['>=', 9]],
+                               'blackberry': false,
+                               'ipod': false,
+                               'iphone': false
+                       }
+               }
+       ;
 
-               // Loop through and run tests
-               $.each( uas, uaTest );
+       // Count test cases
+       $.each( uas, function () {
+               uacount++;
        } );
 
-       QUnit.test( 'profile return validation for current user agent', 7, function ( assert ) {
+       QUnit.test( 'profile( navObject )', 7, function ( assert ) {
                var p = $.client.profile();
 
                function unknownOrType( val, type, summary ) {
                assert.equal( typeof p.versionNumber, 'number', 'p.versionNumber is a number' );
        } );
 
-       // Example from WikiEditor
-       // Make sure to use raw numbers, a string like "7.0" would fail on a
-       // version 10 browser since in string comparaison "10" is before "7.0" :)
-       testMap = {
-               'ltr': {
-                       'msie': [['>=', 7.0]],
-                       'firefox': [['>=', 2]],
-                       'opera': [['>=', 9.6]],
-                       'safari': [['>=', 3]],
-                       'chrome': [['>=', 3]],
-                       'netscape': [['>=', 9]],
-                       'blackberry': false,
-                       'ipod': false,
-                       'iphone': false
-               },
-               'rtl': {
-                       'msie': [['>=', 8]],
-                       'firefox': [['>=', 2]],
-                       'opera': [['>=', 9.6]],
-                       'safari': [['>=', 3]],
-                       'chrome': [['>=', 3]],
-                       'netscape': [['>=', 9]],
-                       'blackberry': false,
-                       'ipod': false,
-                       'iphone': false
-               }
-       };
+       QUnit.test( 'profile( navObject ) - samples', uacount, function ( assert ) {
+               // Loop through and run tests
+               $.each( uas, function ( rawUserAgent, data ) {
+                       // Generate a client profile object and compare recursively
+                       var ret = $.client.profile( {
+                               userAgent: rawUserAgent,
+                               platform: data.platform
+                       } );
+                       assert.deepEqual( ret, data.profile, 'Client profile support check for ' + data.title + ' (' + data.platform + '): ' + rawUserAgent );
+               } );
+       } );
 
-       QUnit.test( 'test', 1, function ( assert ) {
+       QUnit.test( 'test( testMap )', 4, function ( assert ) {
                // .test() uses eval, make sure no exceptions are thrown
                // then do a basic return value type check
-               var testMatch = $.client.test( testMap );
+               var testMatch = $.client.test( testMap ),
+                       ie7Profile = $.client.profile( {
+                               'userAgent': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
+                               'platform': ''
+                       } );
+
+               assert.equal( typeof testMatch, 'boolean', 'map with ltr/rtl split returns a boolean value' );
+
+               testMatch = $.client.test( testMap.ltr );
+
+               assert.equal( typeof testMatch, 'boolean', 'simple map (without ltr/rtl split) returns a boolean value' );
+
+               assert.equal( $.client.test( {
+                       'msie': null
+               }, ie7Profile ), true, 'returns true if any version of a browser are allowed (null)' );
+
+               assert.equal( $.client.test( {
+                       'msie': false
+               }, ie7Profile ), false, 'returns false if all versions of a browser are not allowed (false)' );
+       } );
+
+       QUnit.test( 'test( testMap, exactMatchOnly )', 2, function ( assert ) {
+               var ie7Profile = $.client.profile( {
+                       'userAgent': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
+                       'platform': ''
+               } );
 
-               assert.equal( typeof testMatch, 'boolean', 'test returns a boolean value' );
+               assert.equal( $.client.test( {
+                       'firefox': [['>=', 2]]
+               }, ie7Profile, false ), true, 'returns true if browser not found and exactMatchOnly not set' );
 
+               assert.equal( $.client.test( {
+                       'firefox': [['>=', 2]]
+               }, ie7Profile, true ), false, 'returns false if browser not found and exactMatchOnly is set' );
        } );
 
-       QUnit.test( 'User-agent matches against WikiEditor\'s compatibility map', uacount * 2, function ( assert ) {
+       QUnit.test( 'test( testMap) - WikiEditor sample', uacount * 2, function ( assert ) {
                var $body = $( 'body' ),
                        bodyClasses = $body.attr( 'class' );
 
index 7c8503b..4353464 100644 (file)
                        $table.find( '.headerSort:eq(0)' ).click();
                }
        );
+       tableTest(
+               'Basic planet table: ascending by name (multiple clicks)',
+               header,
+               planets,
+               ascendingName,
+               function ( $table ) {
+                       $table.tablesorter();
+                       $table.find( '.headerSort:eq(0)' ).click();
+                       $table.find( '.headerSort:eq(1)' ).click();
+                       $table.find( '.headerSort:eq(0)' ).click();
+               }
+       );
        tableTest(
                'Basic planet table: descending by name',
                header,
                        $table.data( 'tablesorter' ).sort();
                }
        );
+       tableTest(
+               'Sort via click event after having initialized the tablesorter with initial sorting',
+               header,
+               initial,
+               descasc,
+               function ( $table ) {
+                       $table.tablesorter(
+                               { sortList: [ { 0: 'asc' }, { 1: 'asc' } ] }
+                       );
+                       $table.find( '.headerSort:eq(0)' ).click();
+               }
+       );
+       tableTest(
+               'Multi-sort via click event after having initialized the tablesorter with initial sorting',
+               header,
+               initial,
+               asc,
+               function ( $table ) {
+                       $table.tablesorter(
+                               { sortList: [ { 0: 'desc' }, { 1: 'desc' } ] }
+                       );
+                       $table.find( '.headerSort:eq(0)' ).click();
+
+                       // Pretend to click while pressing the multi-sort key
+                       var event = $.Event( 'click' );
+                       event[$table.data( 'tablesorter' ).config.sortMultiSortKey] = true;
+                       $table.find( '.headerSort:eq(1)' ).trigger( event );
+               }
+       );
        QUnit.test( 'Reset sorting making table appear unsorted', 3, function ( assert ) {
                var $table = tableCreate( header, initial );
                $table.tablesorter(
                        $table.find( '.headerSort:eq(0)' ).click();
                }
        );
+       tableTest( 'Sorting with colspanned headers: sort spanned column twice',
+               header,
+               initial,
+               [ caa4, bbc2, abc3, aab5, aaa1 ],
+               function ( $table ) {
+                       // Make colspanned header for test
+                       $table.find( 'tr:eq(0) th:eq(1), tr:eq(0) th:eq(2)' ).remove();
+                       $table.find( 'tr:eq(0) th:eq(0)' ).prop( 'colspan', '3' );
+
+                       $table.tablesorter();
+                       $table.find( '.headerSort:eq(0)' ).click();
+                       $table.find( '.headerSort:eq(0)' ).click();
+               }
+       );
        tableTest( 'Sorting with colspanned headers: subsequent column',
                header,
                initial,
                        $table.find( '.headerSort:eq(1)' ).click();
                }
        );
+       tableTest( 'Sorting with colspanned headers: sort subsequent column twice',
+               header,
+               initial,
+               [ aab5, caa4, abc3, bbc2, aaa1 ],
+               function ( $table ) {
+                       // Make colspanned header for test
+                       $table.find( 'tr:eq(0) th:eq(1), tr:eq(0) th:eq(2)' ).remove();
+                       $table.find( 'tr:eq(0) th:eq(0)' ).prop( 'colspan', '3' );
+
+                       $table.tablesorter();
+                       $table.find( '.headerSort:eq(1)' ).click();
+                       $table.find( '.headerSort:eq(1)' ).click();
+               }
+       );
+
 
        // Regression tests!
        tableTest(
index 21332cf..2d4e964 100644 (file)
@@ -3,7 +3,7 @@
 class SeleniumTestHTMLLogger {
        public function setHeaders() {
                global $wgOut;
-               $wgOut->addHeadItem( 'selenium', '<style type="text/css">
+               $wgOut->addHeadItem( 'selenium', '<style>
                .selenium pre {
                        overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not needed in Firefox 3 */
                        white-space: pre-wrap; /* css-3 */
index 4583360..9c060fa 100644 (file)
@@ -23,7 +23,7 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 30 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index 6375d66..117e5c8 100644 (file)
@@ -23,7 +23,7 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 04 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index fad4e06..ed08928 100644 (file)
@@ -23,7 +23,7 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 02 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index 37f5af2..da10eec 100644 (file)
@@ -24,7 +24,7 @@
  */
 
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 09 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index 536ceb6..3b2f012 100644 (file)
@@ -23,7 +23,7 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 10 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index f0efce6..f7f5910 100644 (file)
@@ -23,7 +23,7 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 29 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index a9a8fc3..472d2ed 100644 (file)
@@ -24,9 +24,9 @@
  */
 
 require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
-require_once ( __DIR__ . '/MediaWikiInstallationConfig.php' );
-require_once ( __DIR__ . '/MediaWikiInstallationMessage.php' );
-require_once ( __DIR__ . '/MediaWikiInstallationVariables.php' );
+require_once __DIR__ . '/MediaWikiInstallationConfig.php';
+require_once __DIR__ . '/MediaWikiInstallationMessage.php';
+require_once __DIR__ . '/MediaWikiInstallationVariables.php';
 
 class MediaWikiInstallationCommonFunction extends PHPUnit_Extensions_SeleniumTestCase {
        function setUp() {
index 6946cc7..e32a9e6 100644 (file)
@@ -29,19 +29,19 @@ if ( PHP_SAPI != 'cli' ) {
 
 require_once 'PHPUnit/Framework/TestSuite.php';
 
-require_once ( __DIR__ . '/MediaWikiUserInterfaceTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiButtonsAvailabilityTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiHelpFieldHintTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiRightFrameworkLinksTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiRestartInstallationTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiErrorsConnectToDatabasePageTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiErrorsNamepageTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiMySQLDataBaseTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiMySQLiteDataBaseTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiUpgradeExistingDatabaseTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiDifferntDatabasePrefixTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiDifferentDatabaseAccountTestCase.php' );
-require_once ( __DIR__ . '/MediaWikiOnAlreadyInstalledTestCase.php' );
+require_once __DIR__ . '/MediaWikiUserInterfaceTestCase.php';
+require_once __DIR__ . '/MediaWikiButtonsAvailabilityTestCase.php';
+require_once __DIR__ . '/MediaWikiHelpFieldHintTestCase.php';
+require_once __DIR__ . '/MediaWikiRightFrameworkLinksTestCase.php';
+require_once __DIR__ . '/MediaWikiRestartInstallationTestCase.php';
+require_once __DIR__ . '/MediaWikiErrorsConnectToDatabasePageTestCase.php';
+require_once __DIR__ . '/MediaWikiErrorsNamepageTestCase.php';
+require_once __DIR__ . '/MediaWikiMySQLDataBaseTestCase.php';
+require_once __DIR__ . '/MediaWikiMySQLiteDataBaseTestCase.php';
+require_once __DIR__ . '/MediaWikiUpgradeExistingDatabaseTestCase.php';
+require_once __DIR__ . '/MediaWikiDifferntDatabasePrefixTestCase.php';
+require_once __DIR__ . '/MediaWikiDifferentDatabaseAccountTestCase.php';
+require_once __DIR__ . '/MediaWikiOnAlreadyInstalledTestCase.php';
 
 $suite = new PHPUnit_Framework_TestSuite( 'ArrayTest' );
 $result = new PHPUnit_Framework_TestResult;
index 92f26d0..823bb8c 100644 (file)
@@ -23,7 +23,7 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 01 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index e9be370..11d0437 100644 (file)
@@ -24,7 +24,7 @@
  */
 
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 06 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index ce27500..6c77dee 100644 (file)
@@ -24,7 +24,7 @@
  */
 
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 
 /**
index f34210c..1a026f1 100644 (file)
@@ -23,7 +23,7 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 11, 12 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index 039d71a..709085f 100644 (file)
@@ -23,7 +23,7 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 14, 15, 16, 17 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index cd901d1..0f969b7 100644 (file)
@@ -23,7 +23,7 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 05 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index 9733152..71ef684 100644 (file)
@@ -23,7 +23,7 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-require_once ( __DIR__ . '/MediaWikiInstallationCommonFunction.php' );
+require_once __DIR__ . '/MediaWikiInstallationCommonFunction.php';
 
 /**
  * Test Case ID   : 18 - 27 (http://www.mediawiki.org/wiki/New_installer/Test_plan)
index bc880a8..4296f79 100644 (file)
@@ -1,6 +1,6 @@
 == Details==
 
-Automated Selenium test scripts written for MediaWiki Installer is available at https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/core.git;a=tree;f=tests/selenium/installer;hb=HEAD.
+Automated Selenium test scripts written for MediaWiki Installer is available at https://git.wikimedia.org/tree/mediawiki%2Fcore.git/HEAD/tests%2Fselenium%2Finstaller.
 Detailed test cases available at http://www.mediawiki.org/wiki/New_installer/Test_plan.
 
 Version : MediaWiki 1.18alpha
index 446836a..9fe6fb8 100644 (file)
@@ -3,7 +3,7 @@
  * Sample test suite.
  * Two ways to configure MW for these tests
  * 1) If you are running multiple test suites, add the following in LocalSettings.php
- * require_once("tests/selenium/SimpleSeleniumConfig.php");
+ * require_once "tests/selenium/SimpleSeleniumConfig.php";
  * $wgSeleniumTestConfigs['SimpleSeleniumTestSuite'] = 'SimpleSeleniumConfig::getSettings';
  * OR
  * 2) Add the following to your Localsettings.php
index 69bdddd..7afa9aa 100644 (file)
@@ -26,4 +26,4 @@ define( 'THUMB_HANDLER', true );
 
 # Execute thumb.php, having set THUMB_HANDLER so that
 # it knows to extract params from a thumbnail file URL.
-require( __DIR__ . '/thumb.php' );
+require __DIR__ . '/thumb.php';
index 435dff0..b5450e1 100644 (file)
@@ -1,3 +1,3 @@
 <?php
 // stub file for compatibility with older versions
-include_once('./index.php');
+include_once './index.php';