Merge "Revert "Adding sanity check to Title::isRedirect().""
authorBrion VIBBER <brion@wikimedia.org>
Sun, 3 Jun 2012 11:03:20 +0000 (11:03 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sun, 3 Jun 2012 11:03:20 +0000 (11:03 +0000)
425 files changed:
CREDITS
RELEASE-NOTES-1.20
api.php
api.php5
docs/export-0.1.xsd
docs/export-0.2.xsd
docs/export-0.3.xsd
docs/export-0.4.xsd
docs/export-0.5.xsd
docs/export-0.6.xsd
docs/export-0.7.xsd [new file with mode: 0644]
docs/export-demo.xml
img_auth.php
img_auth.php5
includes/Action.php
includes/AjaxDispatcher.php
includes/AjaxResponse.php
includes/Article.php
includes/AuthPlugin.php
includes/AutoLoader.php
includes/Autopromote.php
includes/BacklinkCache.php
includes/Block.php
includes/CacheHelper.php
includes/Category.php
includes/CategoryPage.php
includes/CategoryViewer.php
includes/Categoryfinder.php
includes/Cdb.php
includes/Cdb_PHP.php
includes/ChangeTags.php
includes/ChangesFeed.php
includes/ChangesList.php
includes/Collation.php
includes/ConfEditor.php
includes/Cookie.php
includes/CryptRand.php
includes/DataUpdate.php
includes/DefaultSettings.php
includes/DeferredUpdates.php
includes/Defines.php
includes/DeprecatedGlobal.php
includes/DeviceDetection.php [deleted file]
includes/EditPage.php
includes/Exception.php
includes/Export.php
includes/ExternalStore.php
includes/ExternalStoreDB.php
includes/ExternalStoreHttp.php
includes/ExternalUser.php
includes/FakeTitle.php
includes/GlobalFunctions.php
includes/HTMLForm.php
includes/HttpFunctions.php
includes/ImageGallery.php
includes/ImagePage.php
includes/Linker.php
includes/LinksUpdate.php
includes/MagicWord.php
includes/OutputPage.php
includes/Preferences.php
includes/QueryPage.php
includes/Revision.php
includes/RevisionList.php
includes/Skin.php
includes/SkinLegacy.php
includes/SkinTemplate.php
includes/SpecialPage.php
includes/SqlDataUpdate.php
includes/Title.php
includes/User.php
includes/WebRequest.php
includes/WikiPage.php
includes/actions/ViewAction.php
includes/api/ApiBlock.php
includes/api/ApiFormatXml.php
includes/api/ApiPageSet.php
includes/api/ApiProtect.php
includes/api/ApiQueryAllLinks.php
includes/api/ApiQueryAllUsers.php
includes/api/ApiQueryBacklinks.php
includes/api/ApiQueryBlocks.php
includes/api/ApiQueryCategoryMembers.php
includes/api/ApiQueryDeletedrevs.php
includes/api/ApiQueryIWBacklinks.php
includes/api/ApiQueryLangBacklinks.php
includes/api/ApiQueryRecentChanges.php
includes/api/ApiQueryRevisions.php
includes/api/ApiQueryUserContributions.php
includes/api/ApiQueryUsers.php
includes/api/ApiQueryWatchlistRaw.php
includes/cache/GenderCache.php
includes/cache/MessageCache.php
includes/db/IORMRow.php [new file with mode: 0644]
includes/db/IORMTable.php [new file with mode: 0644]
includes/db/ORMResult.php
includes/db/ORMRow.php
includes/db/ORMTable.php
includes/debug/Debug.php
includes/filerepo/FSRepo.php
includes/filerepo/FileRepo.php
includes/filerepo/ForeignAPIRepo.php
includes/filerepo/ForeignDBRepo.php
includes/filerepo/ForeignDBViaLBRepo.php
includes/filerepo/NullRepo.php
includes/filerepo/RepoGroup.php
includes/filerepo/backend/FSFile.php
includes/filerepo/backend/FSFileBackend.php
includes/filerepo/backend/FileBackend.php
includes/filerepo/backend/FileBackendMultiWrite.php
includes/filerepo/backend/FileBackendStore.php
includes/filerepo/backend/FileOp.php
includes/filerepo/backend/FileOpBatch.php
includes/filerepo/backend/SwiftFileBackend.php
includes/filerepo/backend/filejournal/DBFileJournal.php
includes/filerepo/backend/filejournal/FileJournal.php
includes/filerepo/backend/lockmanager/DBLockManager.php
includes/filerepo/backend/lockmanager/FSLockManager.php
includes/filerepo/backend/lockmanager/LSLockManager.php
includes/filerepo/backend/lockmanager/LockManager.php
includes/filerepo/backend/lockmanager/LockManagerGroup.php
includes/filerepo/file/File.php
includes/filerepo/file/ForeignAPIFile.php
includes/filerepo/file/ForeignDBFile.php
includes/filerepo/file/LocalFile.php
includes/filerepo/file/OldLocalFile.php
includes/filerepo/file/UnregisteredLocalFile.php
includes/installer/Installer.php
includes/job/JobQueue.php
includes/json/FormatJson.php
includes/logging/LogEventsList.php
includes/mobile/DeviceDetection.php [new file with mode: 0644]
includes/objectcache/MemcachedBagOStuff.php
includes/objectcache/MemcachedPeclBagOStuff.php
includes/parser/Preprocessor.php
includes/parser/Preprocessor_DOM.php
includes/parser/Preprocessor_Hash.php
includes/resourceloader/ResourceLoaderContext.php
includes/resourceloader/ResourceLoaderWikiModule.php
includes/revisiondelete/RevisionDelete.php
includes/specials/SpecialEditWatchlist.php
includes/specials/SpecialEmailuser.php
includes/specials/SpecialLog.php
includes/specials/SpecialMergeHistory.php
includes/specials/SpecialNewpages.php
includes/specials/SpecialPasswordReset.php
includes/specials/SpecialRecentchanges.php
includes/specials/SpecialShortpages.php
includes/specials/SpecialTags.php
includes/specials/SpecialUnwatchedpages.php
includes/specials/SpecialWatchlist.php
includes/upload/UploadBase.php
includes/upload/UploadFromChunks.php
includes/upload/UploadFromFile.php
includes/upload/UploadFromStash.php
includes/upload/UploadFromUrl.php
includes/upload/UploadStash.php
index.php5
languages/Language.php
languages/Names.php
languages/classes/LanguageIu.deps.php [deleted file]
languages/classes/LanguageKk.deps.php [deleted file]
languages/classes/LanguageKu.deps.php [deleted file]
languages/classes/LanguageShi.deps.php [deleted file]
languages/classes/LanguageSr.deps.php [deleted file]
languages/classes/LanguageZh.deps.php [deleted file]
languages/messages/MessagesAce.php
languages/messages/MessagesAeb.php
languages/messages/MessagesAf.php
languages/messages/MessagesAln.php
languages/messages/MessagesAm.php
languages/messages/MessagesAn.php
languages/messages/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/MessagesBa.php
languages/messages/MessagesBar.php
languages/messages/MessagesBcc.php
languages/messages/MessagesBcl.php
languages/messages/MessagesBe.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBg.php
languages/messages/MessagesBjn.php
languages/messages/MessagesBn.php
languages/messages/MessagesBpy.php
languages/messages/MessagesBr.php
languages/messages/MessagesBs.php
languages/messages/MessagesCa.php
languages/messages/MessagesCdo.php
languages/messages/MessagesCkb.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/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesDe.php
languages/messages/MessagesDiq.php
languages/messages/MessagesDsb.php
languages/messages/MessagesEl.php
languages/messages/MessagesEn.php
languages/messages/MessagesEo.php
languages/messages/MessagesEs.php
languages/messages/MessagesEt.php
languages/messages/MessagesEu.php
languages/messages/MessagesExt.php
languages/messages/MessagesFa.php
languages/messages/MessagesFi.php
languages/messages/MessagesFit.php [new file with mode: 0644]
languages/messages/MessagesFo.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrp.php
languages/messages/MessagesFrr.php
languages/messages/MessagesFur.php
languages/messages/MessagesFy.php
languages/messages/MessagesGa.php
languages/messages/MessagesGan_hans.php
languages/messages/MessagesGan_hant.php
languages/messages/MessagesGd.php
languages/messages/MessagesGl.php
languages/messages/MessagesGrc.php
languages/messages/MessagesGsw.php
languages/messages/MessagesGu.php
languages/messages/MessagesGv.php
languages/messages/MessagesHak.php
languages/messages/MessagesHe.php
languages/messages/MessagesHi.php
languages/messages/MessagesHif_latn.php
languages/messages/MessagesHr.php
languages/messages/MessagesHsb.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/MessagesJv.php
languages/messages/MessagesKa.php
languages/messages/MessagesKaa.php
languages/messages/MessagesKab.php
languages/messages/MessagesKhw.php
languages/messages/MessagesKiu.php
languages/messages/MessagesKk_arab.php
languages/messages/MessagesKk_cyrl.php
languages/messages/MessagesKk_latn.php
languages/messages/MessagesKm.php
languages/messages/MessagesKn.php
languages/messages/MessagesKo.php
languages/messages/MessagesKrc.php
languages/messages/MessagesKsh.php
languages/messages/MessagesKu_latn.php
languages/messages/MessagesKv.php
languages/messages/MessagesKw.php
languages/messages/MessagesKy.php
languages/messages/MessagesLa.php
languages/messages/MessagesLad.php
languages/messages/MessagesLb.php
languages/messages/MessagesLez.php
languages/messages/MessagesLfn.php
languages/messages/MessagesLg.php
languages/messages/MessagesLi.php
languages/messages/MessagesLij.php
languages/messages/MessagesLiv.php
languages/messages/MessagesLmo.php
languages/messages/MessagesLo.php
languages/messages/MessagesLt.php
languages/messages/MessagesLus.php
languages/messages/MessagesLv.php
languages/messages/MessagesLzh.php
languages/messages/MessagesMai.php
languages/messages/MessagesMap_bms.php
languages/messages/MessagesMdf.php
languages/messages/MessagesMg.php
languages/messages/MessagesMhr.php
languages/messages/MessagesMin.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesMn.php
languages/messages/MessagesMr.php
languages/messages/MessagesMs.php
languages/messages/MessagesMt.php
languages/messages/MessagesMy.php
languages/messages/MessagesMyv.php
languages/messages/MessagesMzn.php
languages/messages/MessagesNah.php
languages/messages/MessagesNb.php
languages/messages/MessagesNds.php
languages/messages/MessagesNds_nl.php
languages/messages/MessagesNe.php
languages/messages/MessagesNl.php
languages/messages/MessagesNn.php
languages/messages/MessagesNo.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/MessagesPfl.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPnb.php
languages/messages/MessagesPrg.php
languages/messages/MessagesPs.php
languages/messages/MessagesPt.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesQu.php
languages/messages/MessagesQug.php
languages/messages/MessagesRm.php
languages/messages/MessagesRo.php
languages/messages/MessagesRoa_tara.php
languages/messages/MessagesRu.php
languages/messages/MessagesRue.php
languages/messages/MessagesSa.php
languages/messages/MessagesSah.php
languages/messages/MessagesSat.php
languages/messages/MessagesScn.php
languages/messages/MessagesSco.php
languages/messages/MessagesSdc.php
languages/messages/MessagesSe.php
languages/messages/MessagesSei.php
languages/messages/MessagesSgs.php
languages/messages/MessagesSh.php
languages/messages/MessagesShi.php
languages/messages/MessagesSi.php
languages/messages/MessagesSk.php
languages/messages/MessagesSl.php
languages/messages/MessagesSli.php
languages/messages/MessagesSo.php
languages/messages/MessagesSq.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSr_el.php
languages/messages/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/MessagesTg_cyrl.php
languages/messages/MessagesTg_latn.php
languages/messages/MessagesTh.php
languages/messages/MessagesTk.php
languages/messages/MessagesTl.php
languages/messages/MessagesTly.php
languages/messages/MessagesTr.php
languages/messages/MessagesTs.php
languages/messages/MessagesTt_cyrl.php
languages/messages/MessagesTt_latn.php
languages/messages/MessagesTyv.php
languages/messages/MessagesUg_arab.php
languages/messages/MessagesUk.php
languages/messages/MessagesUr.php
languages/messages/MessagesUz.php
languages/messages/MessagesVec.php
languages/messages/MessagesVep.php
languages/messages/MessagesVi.php
languages/messages/MessagesVo.php
languages/messages/MessagesVro.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.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
load.php
load.php5
maintenance/benchmarks/bench_utf8_title_check.php [new file with mode: 0644]
maintenance/language/messageTypes.inc
maintenance/language/messages.inc
maintenance/nextJobDB.php
maintenance/populateImageSha1.php
maintenance/populateRevisionSha1.php
opensearch_desc.php
opensearch_desc.php5
redirect.php
redirect.php5
resources/jquery/jquery.byteLimit.js
resources/mediawiki/mediawiki.util.js
skins/Chick.deps.php [deleted file]
skins/Modern.deps.php [deleted file]
skins/MonoBook.deps.php [deleted file]
skins/MySkin.deps.php [deleted file]
skins/Simple.deps.php [deleted file]
skins/Vector.deps.php [deleted file]
tests/TestsAutoLoader.php
tests/parser/parserTests.txt
tests/phpunit/MediaWikiTestCase.php
tests/phpunit/includes/DeviceDetectionTest.php [deleted file]
tests/phpunit/includes/GlobalFunctions/wfGetCallerTest.php [new file with mode: 0644]
tests/phpunit/includes/WebRequestTest.php
tests/phpunit/includes/WikiPageTest.php
tests/phpunit/includes/db/ORMRowTest.php [new file with mode: 0644]
tests/phpunit/includes/db/TestORMRowTest.php [new file with mode: 0644]
tests/phpunit/includes/debug/MWDebugTest.php
tests/phpunit/includes/filerepo/FileBackendTest.php
tests/phpunit/includes/mobile/DeviceDetectionTest.php [new file with mode: 0644]
tests/phpunit/languages/LanguageTest.php
tests/phpunit/maintenance/DumpTestCase.php
tests/phpunit/maintenance/backupTextPassTest.php
thumb.php
thumb.php5
thumb_handler.php
thumb_handler.php5

diff --git a/CREDITS b/CREDITS
index dcd4a43..89154a3 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -109,6 +109,7 @@ following names for their contribution to the product.
 * David Baumgarten
 * Denny Vrandecic
 * Edward Z. Yang
+* Elvis Stansvik
 * Erwin Dokter
 * FunPika
 * fomafix
index 8875eeb..f034999 100644 (file)
@@ -63,6 +63,8 @@ upgrade PHP if you have not done so prior to upgrading MediaWiki.
   Arguments signature has changed. First arguments is now an options object of which
   'config' can be a property. Previously 'config' itself was the first and only argument.
 * New getCreator and getOldestRevision methods added to WikiPage class
+* (bug 4220) the XML dump format schema now have unique identity constraints
+  for page and revision identifiers. Patch by Elvis Stansvik.
 
 === Bug fixes in 1.20 ===
 * (bug 30245) Use the correct way to construct a log page title.
@@ -110,6 +112,9 @@ upgrade PHP if you have not done so prior to upgrading MediaWiki.
 * (bug 30410) Removed deprecated $wgFilterCallback and the 'filtered' API error.
 * (bug 32604) Some messages needs escaping of wikitext inside username
 * (bug 36537) Rename wfArrayToCGI to wfArrayToCgi for consistency with wfCgiToArray.
+* (bug 25946) The message on the top of Special:RecentChanges is now displayed
+  in user language instead of content language
+* (bug 35264) Wrong type used for <ns> in export.xsd
 
 === API changes in 1.20 ===
 * (bug 34316) Add ability to retrieve maximum upload size from MediaWiki API.
@@ -125,6 +130,7 @@ upgrade PHP if you have not done so prior to upgrading MediaWiki.
 * (bug 34927) Output media_type for list=filearchive
 * (bug 28814) add properties to output of action=parse
 * (bug 33224) add variants of content language to meta=siteinfo
+* (bug 36761) "Mark pages as visited" now submits previously established filter options
 
 === Languages updated in 1.20 ===
 
@@ -132,6 +138,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.
 
+* Tornedalen Finnish (fit) added.
 * Mizo (lus) added.
 * Santali (sat) added.
 * (bug 34192) Namespace gender aliases for Albanian languages (sq & aln).
diff --git a/api.php b/api.php
index 3691ac6..1cd5497 100644 (file)
--- a/api.php
+++ b/api.php
@@ -1,9 +1,16 @@
 <?php
-
 /**
- * API for MediaWiki 1.8+
+ * This file is the entry point for all API queries.
+ *
+ * It begins by checking whether the API is enabled on this wiki; if not,
+ * it informs the user that s/he should set $wgEnableAPI to true and exits.
+ * Otherwise, it constructs a new ApiMain using the parameter passed to it
+ * as an argument in the URL ('?action=') and with write-enabled set to the
+ * value of $wgEnableWriteAPI as specified in LocalSettings.php.
+ * It then invokes "execute()" on the ApiMain object instance, which
+ * produces output in the format sepecified in the URL.
  *
- * Copyright (C) 2006 Yuri Astrakhan <Firstname><Lastname>@gmail.com
+ * Copyright © 2006 Yuri Astrakhan <Firstname><Lastname>@gmail.com
  *
  * 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
  * @file
  */
 
-/**
- * This file is the entry point for all API queries. It begins by checking
- * whether the API is enabled on this wiki; if not, it informs the user that
- * s/he should set $wgEnableAPI to true and exits. Otherwise, it constructs
- * a new ApiMain using the parameter passed to it as an argument in the URL
- * ('?action=') and with write-enabled set to the value of $wgEnableWriteAPI
- * as specified in LocalSettings.php. It then invokes "execute()" on the
- * ApiMain object instance, which produces output in the format sepecified
- * in the URL.
- */
-
 // So extensions (and other code) can check whether they're running in API mode
 define( 'MW_API', true );
 
index 72ee155..bb515c5 100644 (file)
--- a/api.php5
+++ b/api.php5
@@ -1 +1,24 @@
-<?php require 'api.php';
+<?php
+/**
+ * Version of api.php to used in web server requiring .php5 extension
+ * to execute scripts with PHP5 egine.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+require 'api.php';
index 0b3eb17..9ff48f0 100644 (file)
@@ -2,57 +2,57 @@
 <!--
        This is an XML Schema description of the format
        output by MediaWiki's Special:Export system.
-       
+
        The canonical URL to the schema document is:
        http://www.mediawiki.org/xml/export-0.1.xsd
-       
+
        Use the namespace:
        http://www.mediawiki.org/xml/export-0.1/
 -->
 <schema xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:mw="http://www.mediawiki.org/xml/export-0.1/"
-        targetNamespace="http://www.mediawiki.org/xml/export-0.1/"
-        elementFormDefault="qualified">
+               xmlns:mw="http://www.mediawiki.org/xml/export-0.1/"
+               targetNamespace="http://www.mediawiki.org/xml/export-0.1/"
+               elementFormDefault="qualified">
 
        <annotation>
                <documentation xml:lang="en">
                        MediaWiki's page export format
                </documentation>
        </annotation>
-       
+
        <!-- Need this to reference xml:lang -->
        <import namespace="http://www.w3.org/XML/1998/namespace"
-               schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-       
+                       schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
        <!-- Our root element -->
        <element name="mediawiki" type="mw:MediaWikiType"/>
-       
+
        <complexType name="MediaWikiType">
                <sequence>
                        <element name="page" type="mw:PageType"
-                               minOccurs="0" maxOccurs="unbounded"/>
+                                        minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
                <attribute name="version" type="string" use="required"/>
                <attribute ref="xml:lang" use="required"/>
        </complexType>
-       
+
        <complexType name="PageType">
                <sequence>
                        <!-- Title in text form. (Using spaces, not underscores; with namespace ) -->
                        <element name="title" type="string"/>
-                       
+
                        <!-- optional page ID number -->
                        <element name="id" type="positiveInteger" minOccurs="0"/>
-                       
+
                        <!-- comma-separated list of string tokens, if present -->
                        <element name="restrictions" type="string" minOccurs="0"/>
-                       
+
                        <!-- Zero or more sets of revision data -->
                        <element name="revision" type="mw:RevisionType"
-                               minOccurs="0" maxOccurs="unbounded"/>
+                                        minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
        </complexType>
-       
+
        <complexType name="RevisionType">
                <sequence>
                        <element name="id" type="positiveInteger" minOccurs="0"/>
                        <element name="text" type="string"/>
                </sequence>
        </complexType>
-       
+
        <complexType name="ContributorType">
                <sequence>
                        <element name="username" type="string" minOccurs="0"/>
                        <element name="id" type="positiveInteger" minOccurs="0" />
-                       
+
                        <element name="ip" type="string" minOccurs="0"/>
                </sequence>
        </complexType>
index 8acbf54..55b05f8 100644 (file)
@@ -2,54 +2,54 @@
 <!--
        This is an XML Schema description of the format
        output by MediaWiki's Special:Export system.
-       
+
        Version 0.2 adds optional basic file upload info support,
        which is used by our OAI export/import submodule.
-       
+
        The canonical URL to the schema document is:
        http://www.mediawiki.org/xml/export-0.2.xsd
-       
+
        Use the namespace:
        http://www.mediawiki.org/xml/export-0.2/
 -->
 <schema xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:mw="http://www.mediawiki.org/xml/export-0.2/"
-        targetNamespace="http://www.mediawiki.org/xml/export-0.2/"
-        elementFormDefault="qualified">
+               xmlns:mw="http://www.mediawiki.org/xml/export-0.2/"
+               targetNamespace="http://www.mediawiki.org/xml/export-0.2/"
+               elementFormDefault="qualified">
 
        <annotation>
                <documentation xml:lang="en">
                        MediaWiki's page export format
                </documentation>
        </annotation>
-       
+
        <!-- Need this to reference xml:lang -->
        <import namespace="http://www.w3.org/XML/1998/namespace"
-               schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-       
+                       schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
        <!-- Our root element -->
        <element name="mediawiki" type="mw:MediaWikiType"/>
-       
+
        <complexType name="MediaWikiType">
                <sequence>
                        <element name="page" type="mw:PageType"
-                               minOccurs="0" maxOccurs="unbounded"/>
+                                        minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
                <attribute name="version" type="string" use="required"/>
                <attribute ref="xml:lang" use="required"/>
        </complexType>
-       
+
        <complexType name="PageType">
                <sequence>
                        <!-- Title in text form. (Using spaces, not underscores; with namespace ) -->
                        <element name="title" type="string"/>
-                       
+
                        <!-- optional page ID number -->
                        <element name="id" type="positiveInteger" minOccurs="0"/>
-                       
+
                        <!-- comma-separated list of string tokens, if present -->
                        <element name="restrictions" type="string" minOccurs="0"/>
-                       
+
                        <!-- Zero or more sets of revision or upload data -->
                        <choice minOccurs="0" maxOccurs="unbounded">
                                <element name="revision" type="mw:RevisionType" />
@@ -57,7 +57,7 @@
                        </choice>
                </sequence>
        </complexType>
-       
+
        <complexType name="RevisionType">
                <sequence>
                        <element name="id" type="positiveInteger" minOccurs="0"/>
                        <element name="text" type="string"/>
                </sequence>
        </complexType>
-       
+
        <complexType name="ContributorType">
                <sequence>
                        <element name="username" type="string" minOccurs="0"/>
                        <element name="id" type="positiveInteger" minOccurs="0" />
-                       
+
                        <element name="ip" type="string" minOccurs="0"/>
                </sequence>
        </complexType>
-       
+
        <complexType name="UploadType">
                <sequence>
                        <!-- Revision-style data... -->
                        <element name="timestamp" type="dateTime"/>
                        <element name="contributor" type="mw:ContributorType"/>
                        <element name="comment" type="string" minOccurs="0"/>
-                       
+
                        <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) -->
                        <element name="filename" type="string"/>
-                       
+
                        <!-- URI at which this resource can be obtained -->
                        <element name="src" type="anyURI"/>
-                       
+
                        <element name="size" type="positiveInteger" />
-                       
+
                        <!-- TODO: add other metadata fields -->
                </sequence>
        </complexType>
-       
+
 </schema>
index 1e0b7c8..ea2b816 100644 (file)
@@ -2,48 +2,48 @@
 <!--
        This is an XML Schema description of the format
        output by MediaWiki's Special:Export system.
-       
+
        Version 0.2 adds optional basic file upload info support,
        which is used by our OAI export/import submodule.
-       
+
        Version 0.3 adds some site configuration information such
        as a list of defined namespaces.
-       
+
        The canonical URL to the schema document is:
        http://www.mediawiki.org/xml/export-0.3.xsd
-       
+
        Use the namespace:
        http://www.mediawiki.org/xml/export-0.3/
 -->
 <schema xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:mw="http://www.mediawiki.org/xml/export-0.3/"
-        targetNamespace="http://www.mediawiki.org/xml/export-0.3/"
-        elementFormDefault="qualified">
+               xmlns:mw="http://www.mediawiki.org/xml/export-0.3/"
+               targetNamespace="http://www.mediawiki.org/xml/export-0.3/"
+               elementFormDefault="qualified">
 
        <annotation>
                <documentation xml:lang="en">
                        MediaWiki's page export format
                </documentation>
        </annotation>
-       
+
        <!-- Need this to reference xml:lang -->
        <import namespace="http://www.w3.org/XML/1998/namespace"
-               schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-       
+                       schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
        <!-- Our root element -->
        <element name="mediawiki" type="mw:MediaWikiType"/>
-       
+
        <complexType name="MediaWikiType">
                <sequence>
                        <element name="siteinfo" type="mw:SiteInfoType"
-                               minOccurs="0" maxOccurs="1"/>
+                                        minOccurs="0" maxOccurs="1"/>
                        <element name="page" type="mw:PageType"
-                               minOccurs="0" maxOccurs="unbounded"/>
+                                        minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
                <attribute name="version" type="string" use="required"/>
                <attribute ref="xml:lang" use="required"/>
        </complexType>
-       
+
        <complexType name="SiteInfoType">
                <sequence>
                        <element name="sitename" type="string" minOccurs="0" />
                        <element name="namespaces" type="mw:NamespacesType" minOccurs="0" />
                </sequence>
        </complexType>
-       
+
        <simpleType name="CaseType">
                <restriction base="NMTOKEN">
                        <!-- Cannot have two titles differing only by case of first letter. -->
                        <!-- Default behavior through 1.5, $wgCapitalLinks = true -->
                        <enumeration value="first-letter" />
-                       
+
                        <!-- Complete title is case-sensitive -->
                        <!-- Behavior when $wgCapitalLinks = false -->
                        <enumeration value="case-sensitive" />
-                       
+
                        <!-- Cannot have two titles differing only by case. -->
                        <!-- Not yet implemented as of MediaWiki 1.5 -->
                        <enumeration value="case-insensitive" />
                </restriction>
        </simpleType>
-       
+
        <complexType name="NamespacesType">
                <sequence>
                        <element name="namespace" type="mw:NamespaceType"
-                               minOccurs="0" maxOccurs="unbounded" />
+                                        minOccurs="0" maxOccurs="unbounded" />
                </sequence>
        </complexType>
-       
+
        <complexType name="NamespaceType">
                <simpleContent>
                        <extension base="string">
                        </extension>
                </simpleContent>
        </complexType>
-       
+
        <complexType name="PageType">
                <sequence>
                        <!-- Title in text form. (Using spaces, not underscores; with namespace ) -->
                        <element name="title" type="string"/>
-                       
+
                        <!-- optional page ID number -->
                        <element name="id" type="positiveInteger" minOccurs="0"/>
-                       
+
                        <!-- comma-separated list of string tokens, if present -->
                        <element name="restrictions" type="string" minOccurs="0"/>
-                       
+
                        <!-- Zero or more sets of revision or upload data -->
                        <choice minOccurs="0" maxOccurs="unbounded">
                                <element name="revision" type="mw:RevisionType" />
                        </choice>
                </sequence>
        </complexType>
-       
+
        <complexType name="RevisionType">
                <sequence>
                        <element name="id" type="positiveInteger" minOccurs="0"/>
                        <element name="text" type="mw:TextType" />
                </sequence>
        </complexType>
-       
+
        <complexType name="TextType">
                <simpleContent>
                        <extension base="string">
                        </extension>
                </simpleContent>
        </complexType>
-       
+
        <complexType name="ContributorType">
                <sequence>
                        <element name="username" type="string" minOccurs="0"/>
                        <element name="id" type="positiveInteger" minOccurs="0" />
-                       
+
                        <element name="ip" type="string" minOccurs="0"/>
                </sequence>
        </complexType>
-       
+
        <complexType name="UploadType">
                <sequence>
                        <!-- Revision-style data... -->
                        <element name="timestamp" type="dateTime"/>
                        <element name="contributor" type="mw:ContributorType"/>
                        <element name="comment" type="string" minOccurs="0"/>
-                       
+
                        <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) -->
                        <element name="filename" type="string"/>
-                       
+
                        <!-- URI at which this resource can be obtained -->
                        <element name="src" type="anyURI"/>
-                       
+
                        <element name="size" type="positiveInteger" />
-                       
+
                        <!-- TODO: add other metadata fields -->
                </sequence>
        </complexType>
-       
+
 </schema>
index 3e7f2ea..b3ea3bf 100644 (file)
@@ -2,52 +2,52 @@
 <!--
        This is an XML Schema description of the format
        output by MediaWiki's Special:Export system.
-       
+
        Version 0.2 adds optional basic file upload info support,
        which is used by our OAI export/import submodule.
-       
+
        Version 0.3 adds some site configuration information such
        as a list of defined namespaces.
-       
+
        Version 0.4 adds per-revision delete flags, log exports,
        discussion threading data, a per-page redirect flag, and
        per-namespace capitalization.
 
        The canonical URL to the schema document is:
        http://www.mediawiki.org/xml/export-0.4.xsd
-       
+
        Use the namespace:
        http://www.mediawiki.org/xml/export-0.4/
 -->
 <schema xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:mw="http://www.mediawiki.org/xml/export-0.4/"
-        targetNamespace="http://www.mediawiki.org/xml/export-0.4/"
-        elementFormDefault="qualified">
+               xmlns:mw="http://www.mediawiki.org/xml/export-0.4/"
+               targetNamespace="http://www.mediawiki.org/xml/export-0.4/"
+               elementFormDefault="qualified">
 
        <annotation>
                <documentation xml:lang="en">
                        MediaWiki's page export format
                </documentation>
        </annotation>
-       
+
        <!-- Need this to reference xml:lang -->
        <import namespace="http://www.w3.org/XML/1998/namespace"
-               schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-       
+                       schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
        <!-- Our root element -->
        <element name="mediawiki" type="mw:MediaWikiType"/>
-       
+
        <complexType name="MediaWikiType">
                <sequence>
                        <element name="siteinfo" type="mw:SiteInfoType"
-                               minOccurs="0" maxOccurs="1"/>
+                                        minOccurs="0" maxOccurs="1"/>
                        <element name="page" type="mw:PageType"
-                               minOccurs="0" maxOccurs="unbounded"/>
+                                        minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
                <attribute name="version" type="string" use="required"/>
                <attribute ref="xml:lang" use="required"/>
        </complexType>
-       
+
        <complexType name="SiteInfoType">
                <sequence>
                        <element name="sitename" type="string" minOccurs="0" />
                        <element name="namespaces" type="mw:NamespacesType" minOccurs="0" />
                </sequence>
        </complexType>
-       
+
        <simpleType name="CaseType">
                <restriction base="NMTOKEN">
                        <!-- Cannot have two titles differing only by case of first letter. -->
                        <!-- Default behavior through 1.5, $wgCapitalLinks = true -->
                        <enumeration value="first-letter" />
-                       
+
                        <!-- Complete title is case-sensitive -->
                        <!-- Behavior when $wgCapitalLinks = false -->
                        <enumeration value="case-sensitive" />
-                       
+
                        <!-- Cannot have non-case senstitive titles eg [[FOO]] == [[Foo]] -->
                        <!-- Not yet implemented as of MediaWiki 1.18 -->
                        <enumeration value="case-insensitive" />
                </restriction>
        </simpleType>
-       
+
        <simpleType name="DeletedFlagType">
                <restriction base="NMTOKEN">
                        <enumeration value="deleted"/>
        <complexType name="NamespacesType">
                <sequence>
                        <element name="namespace" type="mw:NamespaceType"
-                               minOccurs="0" maxOccurs="unbounded" />
+                                        minOccurs="0" maxOccurs="unbounded" />
                </sequence>
        </complexType>
-       
+
        <complexType name="NamespaceType">
                <simpleContent>
                        <extension base="string">
                        </extension>
                </simpleContent>
        </complexType>
-       
+
        <complexType name="PageType">
                <sequence>
                        <!-- Title in text form. (Using spaces, not underscores; with namespace ) -->
                        <element name="title" type="string"/>
-                       
+
                        <!-- optional page ID number -->
                        <element name="id" type="positiveInteger" minOccurs="0"/>
-                       
+
                        <!-- flag if the current revision is a redirect -->
-                       <element name="redirect" minOccurs="0"/>        
+                       <element name="redirect" minOccurs="0"/>
 
                        <!-- comma-separated list of string tokens, if present -->
                        <element name="restrictions" type="string" minOccurs="0"/>
-                       
+
                        <!-- Zero or more sets of revision or upload data -->
                        <choice minOccurs="0" maxOccurs="unbounded">
                                <element name="revision" type="mw:RevisionType" />
                                <element name="upload" type="mw:UploadType" />
                                <element name="logitem" type="mw:LogItemType" />
                        </choice>
-                       
+
                        <!-- Zero or One sets of discussion threading data -->
                        <element name="discussionthreadinginfo" minOccurs="0" maxOccurs="1" type="mw:DiscussionThreadingInfo" />
                </sequence>
        </complexType>
-       
+
        <complexType name="RevisionType">
                <sequence>
                        <element name="id" type="positiveInteger" minOccurs="0"/>
                        <element name="text" type="mw:TextType" />
                </sequence>
        </complexType>
-       
+
        <complexType name="CommentType">
                <simpleContent>
                        <extension base="string">
                        <extension base="string">
                                <attribute ref="xml:space" use="optional" default="preserve" />
                                <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
-                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>    
+                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
                                <!-- This isn't a good idea; we should be using "ID" instead of "NMTOKEN" -->
                                <!-- However, "NMTOKEN" is strictest definition that is both compatible with existing -->
                                <!-- usage ([0-9]+) and with the "ID" type. -->
                        </extension>
                </simpleContent>
        </complexType>
-       
+
        <complexType name="ContributorType">
                <sequence>
                        <element name="username" type="string" minOccurs="0"/>
                        <element name="id" type="positiveInteger" minOccurs="0" />
-                       
+
                        <element name="ip" type="string" minOccurs="0"/>
                </sequence>
                <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
                <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
        </complexType>
-       
+
        <complexType name="UploadType">
                <sequence>
                        <!-- Revision-style data... -->
                        <element name="timestamp" type="dateTime"/>
                        <element name="contributor" type="mw:ContributorType"/>
                        <element name="comment" type="string" minOccurs="0"/>
-                       
+
                        <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) -->
                        <element name="filename" type="string"/>
-                       
+
                        <!-- URI at which this resource can be obtained -->
                        <element name="src" type="anyURI"/>
-                       
+
                        <element name="size" type="positiveInteger" />
-                       
+
                        <!-- TODO: add other metadata fields -->
                </sequence>
        </complexType>
-       
+
        <!-- Discussion threading data for LiquidThreads -->
        <complexType name="DiscussionThreadingInfo">
                <sequence>
                        <element name="ThreadType" type="string" />
                </sequence>
        </complexType>
-       
+
 </schema>
index 469446d..ed6c002 100644 (file)
@@ -2,54 +2,54 @@
 <!--
        This is an XML Schema description of the format
        output by MediaWiki's Special:Export system.
-       
+
        Version 0.2 adds optional basic file upload info support,
        which is used by our OAI export/import submodule.
-       
+
        Version 0.3 adds some site configuration information such
        as a list of defined namespaces.
-       
+
        Version 0.4 adds per-revision delete flags, log exports,
        discussion threading data, a per-page redirect flag, and
        per-namespace capitalization.
-       
+
        Version 0.5 adds byte count per revision.
 
        The canonical URL to the schema document is:
        http://www.mediawiki.org/xml/export-0.5.xsd
-       
+
        Use the namespace:
        http://www.mediawiki.org/xml/export-0.5/
 -->
 <schema xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:mw="http://www.mediawiki.org/xml/export-0.5/"
-        targetNamespace="http://www.mediawiki.org/xml/export-0.5/"
-        elementFormDefault="qualified">
+               xmlns:mw="http://www.mediawiki.org/xml/export-0.5/"
+               targetNamespace="http://www.mediawiki.org/xml/export-0.5/"
+               elementFormDefault="qualified">
 
        <annotation>
                <documentation xml:lang="en">
                        MediaWiki's page export format
                </documentation>
        </annotation>
-       
+
        <!-- Need this to reference xml:lang -->
        <import namespace="http://www.w3.org/XML/1998/namespace"
-               schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-       
+                       schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
        <!-- Our root element -->
        <element name="mediawiki" type="mw:MediaWikiType"/>
-       
+
        <complexType name="MediaWikiType">
                <sequence>
                        <element name="siteinfo" type="mw:SiteInfoType"
-                               minOccurs="0" maxOccurs="1"/>
+                                        minOccurs="0" maxOccurs="1"/>
                        <element name="page" type="mw:PageType"
-                               minOccurs="0" maxOccurs="unbounded"/>
+                                        minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
                <attribute name="version" type="string" use="required"/>
                <attribute ref="xml:lang" use="required"/>
        </complexType>
-       
+
        <complexType name="SiteInfoType">
                <sequence>
                        <element name="sitename" type="string" minOccurs="0" />
                        <element name="namespaces" type="mw:NamespacesType" minOccurs="0" />
                </sequence>
        </complexType>
-       
+
        <simpleType name="CaseType">
                <restriction base="NMTOKEN">
                        <!-- Cannot have two titles differing only by case of first letter. -->
                        <!-- Default behavior through 1.5, $wgCapitalLinks = true -->
                        <enumeration value="first-letter" />
-                       
+
                        <!-- Complete title is case-sensitive -->
                        <!-- Behavior when $wgCapitalLinks = false -->
                        <enumeration value="case-sensitive" />
-                       
+
                        <!-- Cannot have non-case senstitive titles eg [[FOO]] == [[Foo]] -->
                        <!-- Not yet implemented as of MediaWiki 1.18 -->
                        <enumeration value="case-insensitive" />
                </restriction>
        </simpleType>
-       
+
        <simpleType name="DeletedFlagType">
                <restriction base="NMTOKEN">
                        <enumeration value="deleted"/>
        <complexType name="NamespacesType">
                <sequence>
                        <element name="namespace" type="mw:NamespaceType"
-                               minOccurs="0" maxOccurs="unbounded" />
+                                        minOccurs="0" maxOccurs="unbounded" />
                </sequence>
        </complexType>
-       
+
        <complexType name="NamespaceType">
                <simpleContent>
                        <extension base="string">
                        </extension>
                </simpleContent>
        </complexType>
-       
+
        <complexType name="PageType">
                <sequence>
                        <!-- Title in text form. (Using spaces, not underscores; with namespace ) -->
                        <element name="title" type="string"/>
-                       
+
                        <!-- optional page ID number -->
                        <element name="id" type="positiveInteger" minOccurs="0"/>
-                       
+
                        <!-- flag if the current revision is a redirect -->
-                       <element name="redirect" minOccurs="0"/>        
+                       <element name="redirect" minOccurs="0"/>
 
                        <!-- comma-separated list of string tokens, if present -->
                        <element name="restrictions" type="string" minOccurs="0"/>
-                       
+
                        <!-- Zero or more sets of revision or upload data -->
                        <choice minOccurs="0" maxOccurs="unbounded">
                                <element name="revision" type="mw:RevisionType" />
                                <element name="upload" type="mw:UploadType" />
                                <element name="logitem" type="mw:LogItemType" />
                        </choice>
-                       
+
                        <!-- Zero or One sets of discussion threading data -->
                        <element name="discussionthreadinginfo" minOccurs="0" maxOccurs="1" type="mw:DiscussionThreadingInfo" />
                </sequence>
        </complexType>
-       
+
        <complexType name="RevisionType">
                <sequence>
                        <element name="id" type="positiveInteger" minOccurs="0"/>
                        <element name="text" type="mw:TextType" />
                </sequence>
        </complexType>
-       
+
        <complexType name="CommentType">
                <simpleContent>
                        <extension base="string">
                        <extension base="string">
                                <attribute ref="xml:space" use="optional" default="preserve" />
                                <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
-                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>    
+                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
                                <!-- This isn't a good idea; we should be using "ID" instead of "NMTOKEN" -->
                                <!-- However, "NMTOKEN" is strictest definition that is both compatible with existing -->
                                <!-- usage ([0-9]+) and with the "ID" type. -->
                        </extension>
                </simpleContent>
        </complexType>
-       
+
        <complexType name="ContributorType">
                <sequence>
                        <element name="username" type="string" minOccurs="0"/>
                        <element name="id" type="positiveInteger" minOccurs="0" />
-                       
+
                        <element name="ip" type="string" minOccurs="0"/>
                </sequence>
                <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
                <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
        </complexType>
-       
+
        <complexType name="UploadType">
                <sequence>
                        <!-- Revision-style data... -->
                        <element name="timestamp" type="dateTime"/>
                        <element name="contributor" type="mw:ContributorType"/>
                        <element name="comment" type="string" minOccurs="0"/>
-                       
+
                        <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) -->
                        <element name="filename" type="string"/>
-                       
+
                        <!-- URI at which this resource can be obtained -->
                        <element name="src" type="anyURI"/>
-                       
+
                        <element name="size" type="positiveInteger" />
-                       
+
                        <!-- TODO: add other metadata fields -->
                </sequence>
        </complexType>
-       
+
        <!-- Discussion threading data for LiquidThreads -->
        <complexType name="DiscussionThreadingInfo">
                <sequence>
                        <element name="ThreadType" type="string" />
                </sequence>
        </complexType>
-       
+
 </schema>
index 55428b5..4668794 100644 (file)
@@ -2,57 +2,57 @@
 <!--
        This is an XML Schema description of the format
        output by MediaWiki's Special:Export system.
-       
+
        Version 0.2 adds optional basic file upload info support,
        which is used by our OAI export/import submodule.
-       
+
        Version 0.3 adds some site configuration information such
        as a list of defined namespaces.
-       
+
        Version 0.4 adds per-revision delete flags, log exports,
        discussion threading data, a per-page redirect flag, and
        per-namespace capitalization.
 
        Version 0.5 adds byte count per revision.
-       
+
        Version 0.6 adds a separate namespace tag, and resolves the
-       redirect target and adds a separate sha1 tag for each revision. 
-       
+       redirect target and adds a separate sha1 tag for each revision.
+
        The canonical URL to the schema document is:
        http://www.mediawiki.org/xml/export-0.6.xsd
-       
+
        Use the namespace:
        http://www.mediawiki.org/xml/export-0.6/
 -->
 <schema xmlns="http://www.w3.org/2001/XMLSchema"
-        xmlns:mw="http://www.mediawiki.org/xml/export-0.6/"
-        targetNamespace="http://www.mediawiki.org/xml/export-0.6/"
-        elementFormDefault="qualified">
+               xmlns:mw="http://www.mediawiki.org/xml/export-0.6/"
+               targetNamespace="http://www.mediawiki.org/xml/export-0.6/"
+               elementFormDefault="qualified">
 
        <annotation>
                <documentation xml:lang="en">
                        MediaWiki's page export format
                </documentation>
        </annotation>
-       
+
        <!-- Need this to reference xml:lang -->
        <import namespace="http://www.w3.org/XML/1998/namespace"
-               schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-       
+                       schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
        <!-- Our root element -->
        <element name="mediawiki" type="mw:MediaWikiType"/>
-       
+
        <complexType name="MediaWikiType">
                <sequence>
                        <element name="siteinfo" type="mw:SiteInfoType"
-                               minOccurs="0" maxOccurs="1"/>
+                                        minOccurs="0" maxOccurs="1"/>
                        <element name="page" type="mw:PageType"
-                               minOccurs="0" maxOccurs="unbounded"/>
+                                        minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
                <attribute name="version" type="string" use="required"/>
                <attribute ref="xml:lang" use="required"/>
        </complexType>
-       
+
        <complexType name="SiteInfoType">
                <sequence>
                        <element name="sitename" type="string" minOccurs="0" />
                        <element name="namespaces" type="mw:NamespacesType" minOccurs="0" />
                </sequence>
        </complexType>
-       
+
        <simpleType name="CaseType">
                <restriction base="NMTOKEN">
                        <!-- Cannot have two titles differing only by case of first letter. -->
                        <!-- Default behavior through 1.5, $wgCapitalLinks = true -->
                        <enumeration value="first-letter" />
-                       
+
                        <!-- Complete title is case-sensitive -->
                        <!-- Behavior when $wgCapitalLinks = false -->
                        <enumeration value="case-sensitive" />
-                       
+
                        <!-- Cannot have non-case senstitive titles eg [[FOO]] == [[Foo]] -->
                        <!-- Not yet implemented as of MediaWiki 1.18 -->
                        <enumeration value="case-insensitive" />
                </restriction>
        </simpleType>
-       
+
        <simpleType name="DeletedFlagType">
                <restriction base="NMTOKEN">
                        <enumeration value="deleted"/>
        <complexType name="NamespacesType">
                <sequence>
                        <element name="namespace" type="mw:NamespaceType"
-                               minOccurs="0" maxOccurs="unbounded" />
+                                        minOccurs="0" maxOccurs="unbounded" />
                </sequence>
        </complexType>
-       
+
        <complexType name="NamespaceType">
                <simpleContent>
                        <extension base="string">
                        </extension>
                </simpleContent>
        </complexType>
-       
+
        <complexType name="PageType">
                <sequence>
                        <!-- Title in text form. (Using spaces, not underscores; with namespace ) -->
                        <element name="title" type="string"/>
-                       
+
                        <!-- Namespace in canonical form -->
                        <element name="ns" type="positiveInteger"/>
-                       
+
                        <!-- optional page ID number -->
                        <element name="id" type="positiveInteger" minOccurs="0"/>
-                       
+
                        <!-- flag if the current revision is a redirect -->
-                       <element name="redirect" type="string" minOccurs="0"/>  
+                       <element name="redirect" type="string" minOccurs="0"/>
 
                        <!-- comma-separated list of string tokens, if present -->
                        <element name="restrictions" type="string" minOccurs="0"/>
-                       
+
                        <!-- Zero or more sets of revision or upload data -->
                        <choice minOccurs="0" maxOccurs="unbounded">
                                <element name="revision" type="mw:RevisionType" />
                                <element name="upload" type="mw:UploadType" />
                                <element name="logitem" type="mw:LogItemType" />
                        </choice>
-                       
+
                        <!-- Zero or One sets of discussion threading data -->
                        <element name="discussionthreadinginfo" minOccurs="0" maxOccurs="1" type="mw:DiscussionThreadingInfo" />
                </sequence>
        </complexType>
-       
+
        <complexType name="RevisionType">
                <sequence>
                        <element name="id" type="positiveInteger" minOccurs="0"/>
                        <element name="text" type="mw:TextType" />
                </sequence>
        </complexType>
-       
+
        <complexType name="CommentType">
                <simpleContent>
                        <extension base="string">
                        <extension base="string">
                                <attribute ref="xml:space" use="optional" default="preserve" />
                                <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
-                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>    
+                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
                                <!-- This isn't a good idea; we should be using "ID" instead of "NMTOKEN" -->
                                <!-- However, "NMTOKEN" is strictest definition that is both compatible with existing -->
                                <!-- usage ([0-9]+) and with the "ID" type. -->
                        </extension>
                </simpleContent>
        </complexType>
-       
+
        <complexType name="ContributorType">
                <sequence>
                        <element name="username" type="string" minOccurs="0"/>
                        <element name="id" type="positiveInteger" minOccurs="0" />
-                       
+
                        <element name="ip" type="string" minOccurs="0"/>
                </sequence>
                <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
                <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
        </complexType>
-       
+
        <complexType name="UploadType">
                <sequence>
                        <!-- Revision-style data... -->
                        <element name="timestamp" type="dateTime"/>
                        <element name="contributor" type="mw:ContributorType"/>
                        <element name="comment" type="string" minOccurs="0"/>
-                       
+
                        <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) -->
                        <element name="filename" type="string"/>
-                       
+
                        <!-- URI at which this resource can be obtained -->
                        <element name="src" type="anyURI"/>
-                       
+
                        <element name="size" type="positiveInteger" />
-                       
+
                        <!-- TODO: add other metadata fields -->
                </sequence>
        </complexType>
-       
+
        <!-- Discussion threading data for LiquidThreads -->
        <complexType name="DiscussionThreadingInfo">
                <sequence>
                        <element name="ThreadType" type="string" />
                </sequence>
        </complexType>
-       
+
 </schema>
diff --git a/docs/export-0.7.xsd b/docs/export-0.7.xsd
new file mode 100644 (file)
index 0000000..2d64036
--- /dev/null
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+       This is an XML Schema description of the format
+       output by MediaWiki's Special:Export system.
+
+       Version 0.2 adds optional basic file upload info support,
+       which is used by our OAI export/import submodule.
+
+       Version 0.3 adds some site configuration information such
+       as a list of defined namespaces.
+
+       Version 0.4 adds per-revision delete flags, log exports,
+       discussion threading data, a per-page redirect flag, and
+       per-namespace capitalization.
+
+       Version 0.5 adds byte count per revision.
+
+       Version 0.6 adds a separate namespace tag, and resolves the
+       redirect target and adds a separate sha1 tag for each revision.
+
+       Version 0.7 adds a unique identity constraint for both page and
+       revision identifiers. See also bug 4220.
+       Fix type for <ns> from "positiveInteger" to "nonNegativeInteger" to allow 0
+       Moves <logitem> to its right location.
+
+       The canonical URL to the schema document is:
+       http://www.mediawiki.org/xml/export-0.7.xsd
+
+       Use the namespace:
+       http://www.mediawiki.org/xml/export-0.7/
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+               xmlns:mw="http://www.mediawiki.org/xml/export-0.7/"
+               targetNamespace="http://www.mediawiki.org/xml/export-0.7/"
+               elementFormDefault="qualified">
+
+       <annotation>
+               <documentation xml:lang="en">
+                       MediaWiki's page export format
+               </documentation>
+       </annotation>
+
+       <!-- Need this to reference xml:lang -->
+       <import namespace="http://www.w3.org/XML/1998/namespace"
+                       schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+       <!-- Our root element -->
+       <element name="mediawiki" type="mw:MediaWikiType">
+               <!-- Page ID contraint, see bug 4220 -->
+               <unique name="PageIDConstraint">
+                       <selector xpath="mw:page"/>
+                       <field xpath="mw:id"/>
+               </unique>
+               <!-- Revision ID contraint, see bug 4220 -->
+               <unique name="RevIDConstraint">
+                       <selector xpath="mw:page/mw:revision"/>
+                       <field xpath="mw:id"/>
+               </unique>
+       </element>
+
+       <complexType name="MediaWikiType">
+               <sequence>
+                       <element name="siteinfo" type="mw:SiteInfoType"
+                                        minOccurs="0" maxOccurs="1"/>
+                       <element name="page" type="mw:PageType"
+                                        minOccurs="0" maxOccurs="unbounded"/>
+                       <element name="logitem" type="mw:LogItemType"
+                                        minOccurs="0" maxOccurs="unbounded"/>
+               </sequence>
+               <attribute name="version" type="string" use="required"/>
+               <attribute ref="xml:lang" use="required"/>
+       </complexType>
+
+       <complexType name="SiteInfoType">
+               <sequence>
+                       <element name="sitename" type="string" minOccurs="0" />
+                       <element name="base" type="anyURI" minOccurs="0" />
+                       <element name="generator" type="string" minOccurs="0" />
+                       <element name="case" type="mw:CaseType" minOccurs="0" />
+                       <element name="namespaces" type="mw:NamespacesType" minOccurs="0" />
+               </sequence>
+       </complexType>
+
+       <simpleType name="CaseType">
+               <restriction base="NMTOKEN">
+                       <!-- Cannot have two titles differing only by case of first letter. -->
+                       <!-- Default behavior through 1.5, $wgCapitalLinks = true -->
+                       <enumeration value="first-letter" />
+
+                       <!-- Complete title is case-sensitive -->
+                       <!-- Behavior when $wgCapitalLinks = false -->
+                       <enumeration value="case-sensitive" />
+
+                       <!-- Cannot have non-case senstitive titles eg [[FOO]] == [[Foo]] -->
+                       <!-- Not yet implemented as of MediaWiki 1.18 -->
+                       <enumeration value="case-insensitive" />
+               </restriction>
+       </simpleType>
+
+       <simpleType name="DeletedFlagType">
+               <restriction base="NMTOKEN">
+                       <enumeration value="deleted"/>
+               </restriction>
+       </simpleType>
+
+       <complexType name="NamespacesType">
+               <sequence>
+                       <element name="namespace" type="mw:NamespaceType"
+                                        minOccurs="0" maxOccurs="unbounded" />
+               </sequence>
+       </complexType>
+
+       <complexType name="NamespaceType">
+               <simpleContent>
+                       <extension base="string">
+                               <attribute name="key" type="integer" />
+                               <attribute name="case" type="mw:CaseType" />
+                       </extension>
+               </simpleContent>
+       </complexType>
+
+       <complexType name="PageType">
+               <sequence>
+                       <!-- Title in text form. (Using spaces, not underscores; with namespace ) -->
+                       <element name="title" type="string"/>
+
+                       <!-- Namespace in canonical form -->
+                       <element name="ns" type="nonNegativeInteger"/>
+
+                       <!-- optional page ID number -->
+                       <element name="id" type="positiveInteger" minOccurs="0"/>
+
+                       <!-- flag if the current revision is a redirect -->
+                       <element name="redirect" type="string" minOccurs="0"/>
+
+                       <!-- comma-separated list of string tokens, if present -->
+                       <element name="restrictions" type="string" minOccurs="0"/>
+
+                       <!-- Zero or more sets of revision or upload data -->
+                       <choice minOccurs="0" maxOccurs="unbounded">
+                               <element name="revision" type="mw:RevisionType" />
+                               <element name="upload" type="mw:UploadType" />
+                       </choice>
+
+                       <!-- Zero or One sets of discussion threading data -->
+                       <element name="discussionthreadinginfo" minOccurs="0" maxOccurs="1" type="mw:DiscussionThreadingInfo" />
+               </sequence>
+       </complexType>
+
+       <complexType name="RevisionType">
+               <sequence>
+                       <element name="id" type="positiveInteger" minOccurs="0"/>
+                       <element name="timestamp" type="dateTime"/>
+                       <element name="contributor" type="mw:ContributorType"/>
+                       <element name="minor" minOccurs="0" />
+                       <element name="comment" type="mw:CommentType" minOccurs="0"/>
+                       <element name="sha1" type="string" />
+                       <element name="text" type="mw:TextType" />
+               </sequence>
+       </complexType>
+
+       <complexType name="LogItemType">
+               <sequence>
+                       <element name="id" type="positiveInteger" minOccurs="0"/>
+                       <element name="timestamp" type="dateTime"/>
+                       <element name="contributor" type="mw:ContributorType"/>
+                       <element name="comment" type="mw:CommentType" minOccurs="0"/>
+                       <element name="type" type="string" />
+                       <element name="action" type="string" />
+                       <element name="text" type="mw:LogTextType" minOccurs="0" maxOccurs="1" />
+                       <element name="logtitle" type="string" minOccurs="0" maxOccurs="1" />
+                       <element name="params" type="mw:LogParamsType" minOccurs="0" maxOccurs="1" />
+               </sequence>
+       </complexType>
+
+       <complexType name="CommentType">
+               <simpleContent>
+                       <extension base="string">
+                               <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
+                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+                       </extension>
+               </simpleContent>
+       </complexType>
+
+       <complexType name="TextType">
+               <simpleContent>
+                       <extension base="string">
+                               <attribute ref="xml:space" use="optional" default="preserve" />
+                               <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
+                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+                               <!-- This isn't a good idea; we should be using "ID" instead of "NMTOKEN" -->
+                               <!-- However, "NMTOKEN" is strictest definition that is both compatible with existing -->
+                               <!-- usage ([0-9]+) and with the "ID" type. -->
+                               <attribute name="id" type="NMTOKEN"/>
+                               <attribute name="bytes" use="optional" type="nonNegativeInteger"/>
+                       </extension>
+               </simpleContent>
+       </complexType>
+
+       <complexType name="LogTextType">
+               <simpleContent>
+                       <extension base="string">
+                               <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
+                               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+                       </extension>
+               </simpleContent>
+       </complexType>
+
+       <complexType name="LogParamsType">
+               <simpleContent>
+                       <extension base="string">
+                               <attribute ref="xml:space" use="optional" default="preserve" />
+                       </extension>
+               </simpleContent>
+       </complexType>
+
+       <complexType name="ContributorType">
+               <sequence>
+                       <element name="username" type="string" minOccurs="0"/>
+                       <element name="id" type="positiveInteger" minOccurs="0" />
+
+                       <element name="ip" type="string" minOccurs="0"/>
+               </sequence>
+               <!-- This allows deleted=deleted on non-empty elements, but XSD is not omnipotent -->
+               <attribute name="deleted" use="optional" type="mw:DeletedFlagType"/>
+       </complexType>
+
+       <complexType name="UploadType">
+               <sequence>
+                       <!-- Revision-style data... -->
+                       <element name="timestamp" type="dateTime"/>
+                       <element name="contributor" type="mw:ContributorType"/>
+                       <element name="comment" type="string" minOccurs="0"/>
+
+                       <!-- Filename. (Using underscores, not spaces. No 'File:' namespace marker.) -->
+                       <element name="filename" type="string"/>
+
+                       <!-- URI at which this resource can be obtained -->
+                       <element name="src" type="anyURI"/>
+
+                       <element name="size" type="positiveInteger" />
+
+                       <!-- TODO: add other metadata fields -->
+               </sequence>
+       </complexType>
+
+       <!-- Discussion threading data for LiquidThreads -->
+       <complexType name="DiscussionThreadingInfo">
+               <sequence>
+                       <element name="ThreadSubject" type="string" />
+                       <element name="ThreadParent" type="positiveInteger" />
+                       <element name="ThreadAncestor" type="positiveInteger" />
+                       <element name="ThreadPage" type="string" />
+                       <element name="ThreadID" type="positiveInteger" />
+                       <element name="ThreadAuthor" type="string" />
+                       <element name="ThreadEditStatus" type="string" />
+                       <element name="ThreadType" type="string" />
+               </sequence>
+       </complexType>
+
+</schema>
index 77b26a4..9d79e5c 100644 (file)
-<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.4/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.4/ http://www.mediawiki.org/xml/export-0.4.xsd" version="0.4" xml:lang="en">
-
-<!-- Optional global configuration info -->
-<siteinfo>
-  <!-- Site name, as set in $wgSitename -->
-  <sitename>DemoWiki</sitename>
+<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.7/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.7/ http://www.mediawiki.org/xml/export-0.7.xsd" version="0.7" xml:lang="en">
   
-  <!-- Forgot where you got this set? -->
-  <base>http://example.com/wiki/Main_Page</base>
-  
-  <!-- Source software version -->
-  <generator>MediaWiki 1.5.0</generator>
-  
-  <!-- Title case sensitivity options of the wiki this data came from -->
-  <!-- May be 'first-letter', 'case-sensitive', or 'case-insensitive' -->
-  <case>first-letter</case>
-  
-  <!-- Defined namespace keys on the source wiki. -->
-  <!-- Titles can be substring-split to obtain the symbolic numeric key -->
-  <namespaces>
-    <namespace key="-2">Media</namespace>
-    <namespace key="-1">Special</namespace>
-    <namespace key="0"></namespace>
-    <namespace key="1">Talk</namespace>
-    <namespace key="2">User</namespace>
-    <namespace key="3">User talk</namespace>
-    <namespace key="4">DemoWiki</namespace>
-    <namespace key="5">DemoWIki talk</namespace>
-    <namespace key="6">Image</namespace>
-    <namespace key="7">Image talk</namespace>
-    <namespace key="8">MediaWiki</namespace>
-    <namespace key="9">MediaWiki talk</namespace>
-    <namespace key="10">Template</namespace>
-    <namespace key="11">Template talk</namespace>
-    <namespace key="12">Help</namespace>
-    <namespace key="13">Help talk</namespace>
-    <namespace key="14">Category</namespace>
-    <namespace key="15">Category talk</namespace>
-  </namespaces>
-</siteinfo>
-
-<!-- The rest of the data will be a series of page records -->
-<page>
-  <!-- Titles are listed here in text form, with namespace prefix   -->
-  <!-- if any, and spaces rather than the underscores used in URLs. -->
-  <title>Page title</title>
+  <!-- Optional global configuration info -->
+  <siteinfo>
+    <!-- Site name, as set in $wgSitename -->
+    <sitename>DemoWiki</sitename>
+    
+    <!-- Forgot where you got this set? -->
+    <base>http://example.com/wiki/Main_Page</base>
+    
+    <!-- Source software version -->
+    <generator>MediaWiki 1.20</generator>
+    
+    <!-- Title case sensitivity options of the wiki this data came from -->
+    <!-- May be 'first-letter', 'case-sensitive', or 'case-insensitive' -->
+    <case>first-letter</case>
+    
+    <!-- Defined namespace keys on the source wiki. -->
+    <namespaces>
+      <namespace key="-2" case="first-letter">Media</namespace>
+      <namespace key="-1" case="first-letter">Special</namespace>
+      <namespace key="0" case="first-letter" />
+      <namespace key="1" case="first-letter">Talk</namespace>
+      <namespace key="2" case="first-letter">User</namespace>
+      <namespace key="3" case="first-letter">User talk</namespace>
+      <namespace key="4" case="first-letter">DemoWiki</namespace>
+      <namespace key="5" case="first-letter">DemoWIki talk</namespace>
+      <namespace key="6" case="first-letter">File</namespace>
+      <namespace key="7" case="first-letter">File talk</namespace>
+      <namespace key="8" case="first-letter">MediaWiki</namespace>
+      <namespace key="9" case="first-letter">MediaWiki talk</namespace>
+      <namespace key="10" case="first-letter">Template</namespace>
+      <namespace key="11" case="first-letter">Template talk</namespace>
+      <namespace key="12" case="first-letter">Help</namespace>
+      <namespace key="13" case="first-letter">Help talk</namespace>
+      <namespace key="14" case="first-letter">Category</namespace>
+      <namespace key="15" case="first-letter">Category talk</namespace>
+    </namespaces>
+  </siteinfo>
   
-  <!-- The page's immutable page_id number in the source database.  -->
-  <!-- Page ID numbers are kept across page moves, but may change   -->
-  <!-- if a page is deleted and recreated.                          -->
-  <id>1</id>
-
-  <!-- Tag wether this article is a redirect -->
-  <!-- This corresponds to the page_is_redirect in the page table -->
-  <redirect />
+  <!-- The rest of the data will be a series of page records -->
+  <page>
+    <!-- Titles are listed here in text form, with namespace prefix   -->
+    <!-- if any, and spaces rather than the underscores used in URLs. -->
+    <title>Page title</title>
+    
+    <!-- Namespace in canonical form -->
+    <ns>0</ns>
+    
+    <!-- The page's immutable page_id number in the source database.  -->
+    <!-- Page ID numbers are kept across page moves, but may change   -->
+    <!-- if a page is deleted and recreated.                          -->
+    <id>1</id>
+    
+    <!-- Tag wether this article is a redirect and its target -->
+    <!-- This corresponds to the page_is_redirect in the page table -->
+    <redirect title="Target" />
+    
+    <!-- If restricted, the ACL is listed here raw. -->
+    <restrictions>edit=sysop:move=sysop</restrictions>
+    
+    <!-- With a series of revision records... -->
+    
+    <!-- Remember this is XML; if you must use a regex-based extractor -->
+    <!-- in place of a standard XML parser, be very careful.           -->
+    <!-- * Don't forget to decode character entities!                  -->
+    <!-- * If using a 'loose' XML parser, ensure that whitespace is    -->
+    <!--    preserved in the <text> elements.                          -->
+    <revision>
+      <!-- Unique revision ID number (rev_id) in the source database.  -->
+      <!-- This number uniquely identifies the revision on that wiki.  -->
+      <id>100</id>
+      <timestamp>2001-01-15T13:15:00Z</timestamp>
+      <contributor>
+        <username>Foobar</username>
+        <id>42</id>
+      </contributor>
+      <minor />
+      <comment>I have just one thing to say!</comment>
+      <sha1>5x0ux8iwjrbmfzgv6pkketxgkcnpr7h</sha1>
+      <text xml:space="preserve" bytes="25">A bunch of [[text]] here.</text>
+    </revision>
+    
+    <revision>
+      <timestamp>2001-01-15T13:10:27Z</timestamp>
+      <contributor>
+        <ip>10.0.0.2</ip>
+      </contributor>
+      <comment>new!</comment>
+      <sha1>etaxt3shcge6igz1biwy3d4um2pnle4</sha1>
+      <text xml:space="preserve" bytes="24">An earlier [[revision]].</text>
+    </revision>
+  </page>
   
-  <!-- If restricted, the ACL is listed here raw. -->
-  <restrictions>edit=sysop:move=sysop</restrictions>
+  <page>
+    <title>Talk:Page title</title>
+    <ns>1</ns>
+    <id>2</id>
+    <revision>
+      <id>101</id>
+      <timestamp>2001-01-15T14:03:00Z</timestamp>
+      <contributor><ip>10.0.0.2</ip></contributor>
+      <comment>hey</comment>
+      <sha1>ml80vmyjlixdstnywwihx003exfzq9j</sha1>
+      <text xml:space="preserve" bytes="47">WHYD YOU LOCK PAGE??!!! i was editing that jerk</text>
+    </revision>
+  </page>
   
-  <!-- With a series of revision records... -->
+  <page>
+    <title>File:Some image.jpg</title>
+    <ns>6</ns>
+    <id>3</id>
+    <revision>
+      <id>102</id>
+      <timestamp>2001-01-15T20:34:12Z</timestamp>
+      <contributor><username>Foobar</username><id>42</id></contributor>
+      <comment>My awesomeest image!</comment>
+      <sha1>mehom37npwkpzhaiwu3wyr0egalumki</sha1>
+      <text xml:space="preserve" bytes="52">This is an awesome little imgae. I lurves it. {{PD}}</text>
+    </revision>
+    <upload>
+      <timestamp>2001-01-15T20:34:12Z</timestamp>
+      <contributor><username>Foobar</username><id>42</id></contributor>
+      <comment>My awesomeest image!</comment>
+      <filename>Some_image.jpg</filename>
+      <src>http://upload.wikimedia.org/commons/2/22/Some_image.jpg</src>
+      <size>12345</size>
+    </upload>
+  </page>
   
-  <!-- Remember this is XML; if you must use a regex-based extractor -->
-  <!-- in place of a standard XML parser, be very careful.           -->
-  <!-- * Don't forget to decode character entities!                  -->
-  <!-- * If using a 'loose' XML parser, ensure that whitespace is    -->
-  <!--    preserved in the <text> elements.                          -->
-  <revision>
-    <!-- Unique revision ID number (rev_id) in the source database.  -->
-    <!-- This number uniquely identifies the revision on that wiki.  -->
-    <id>100</id>
-    
-    <timestamp>2001-01-15T13:15:00Z</timestamp>
-    <contributor><username>Foobar</username><id>42</id></contributor>
-    <minor />
-    <comment>I have just one thing to say!</comment>
-    <text xml:space="preserve">A bunch of [[text]] here.</text>
-  </revision>
+  <!-- or a series of logitem records, but normaly page and logitem never exist both in one file -->
+  <logitem>
+    <id>15</id>
+    <timestamp>2008-10-23T03:20:32Z</timestamp>
+    <contributor>
+      <username>Wikimedian</username>
+      <id>12345</id>
+    </contributor>
+    <comment>content was: 'I think this was a silly edit'</comment>
+    <type>delete</type>
+    <action>delete</action>
+    <logtitle>Silly page name</logtitle>
+    <params xml:space="preserve" />
+  </logitem>
   
-  <revision>
-    <timestamp>2001-01-15T13:10:27Z</timestamp>
-    <contributor><ip>10.0.0.2</ip></contributor>
-    <comment>new!</comment>
-    <text xml:space="preserve">An earlier [[revision]].</text>
-  </revision>
-</page>
-
-<page>
-  <title>Talk:Page title</title>
-  <id>2</id>
-  <revision>
-    <id>101</id>
-    <timestamp>2001-01-15T14:03:00Z</timestamp>
-    <contributor><ip>10.0.0.2</ip></contributor>
-    <comment>hey</comment>
-    <text xml:space="preserve">WHYD YOU LOCK PAGE??!!! i was editing that jerk</text>
-  </revision>
-</page>
-
-<page>
-  <title>Image:Some image.jpg</title>
-  <id>3</id>
-  <revision>
-    <id>102</id>
-    <timestamp>2001-01-15T20:34:12Z</timestamp>
-    <contributor><username>Foobar</username><id>42</id></contributor>
-    <comment>My awesomeest image!</comment>
-    <text xml:space="preserve">This is an awesome little imgae. I lurves it. {{PD}}</text>
-  </revision>
-  <upload>
-    <timestamp>2001-01-15T20:34:12Z</timestamp>
-    <contributor><username>Foobar</username><id>42</id></contributor>
-    <comment>My awesomeest image!</comment>
-    <filename>Some_image.jpg</filename>
-    <src>http://upload.wikimedia.org/commons/2/22/Some_image.jpg</src>
-    <size>12345</size>
-  </upload>
-</page>
-
-<logitem>
-  <id>15</id>
-  <timestamp>2008-10-23T03:20:32Z</timestamp>
-  <contributor>
-  <username>Wikimedian</username>
-  <id>12345</id>
-  </contributor>
-  <comment>content was: 'I think this was a silly edit'</comment>
-  <type>delete</type>
-  <action>delete</action>
-  <logtitle>Silly page name</logtitle>
-  <params xml:space="preserve" />
-</logitem>
-
-
 </mediawiki>
index a51e5ca..d712589 100644 (file)
@@ -1,5 +1,4 @@
 <?php
-
 /**
  * Image authorisation script
  *
  *
  * Your server needs to support PATH_INFO; CGI-based configurations usually don't.
  *
- * @file
+ * 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
+ */
 
 define( 'MW_NO_OUTPUT_COMPRESSION', 1 );
 if ( isset( $_SERVER['MW_COMPILED'] ) ) {
index df25e95..b3eb450 100644 (file)
@@ -1 +1,24 @@
-<?php require './img_auth.php';
\ No newline at end of file
+<?php
+/**
+ * Version of img_auth.php to used in web server requiring .php5 extension
+ * to execute scripts with PHP5 egine.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+require './img_auth.php';
index a25e8aa..a9891ec 100644 (file)
@@ -1,15 +1,6 @@
 <?php
 /**
- * @defgroup Actions Action done on pages
- */
-
-/**
- * Actions are things which can be done to pages (edit, delete, rollback, etc).  They
- * are distinct from Special Pages because an action must apply to exactly one page.
- *
- * To add an action in an extension, create a subclass of Action, and add the key to
- * $wgActions.  There is also the deprecated UnknownAction hook
- *
+ * Base classes for actions done on pages.
  *
  * 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
  *
  * @file
  */
+
+/**
+ * @defgroup Actions Action done on pages
+ */
+
+/**
+ * Actions are things which can be done to pages (edit, delete, rollback, etc).  They
+ * are distinct from Special Pages because an action must apply to exactly one page.
+ *
+ * To add an action in an extension, create a subclass of Action, and add the key to
+ * $wgActions.  There is also the deprecated UnknownAction hook
+ *
+ * Actions generally fall into two groups: the show-a-form-then-do-something-with-the-input
+ * format (protect, delete, move, etc), and the just-do-something format (watch, rollback,
+ * patrol, etc). The FormAction and FormlessAction classes respresent these two groups.
+ */
 abstract class Action {
 
        /**
         * Page on which we're performing the action
-        * @var Page
+        * @var Page $page
         */
        protected $page;
 
        /**
         * IContextSource if specified; otherwise we'll use the Context from the Page
-        * @var IContextSource
+        * @var IContextSource $context
         */
        protected $context;
 
        /**
         * The fields used to create the HTMLForm
-        * @var Array
+        * @var Array $fields
         */
        protected $fields;
 
@@ -352,6 +359,9 @@ abstract class Action {
        public abstract function execute();
 }
 
+/**
+ * An action which shows a form and does something based on the input from the form
+ */
 abstract class FormAction extends Action {
 
        /**
@@ -446,8 +456,8 @@ abstract class FormAction extends Action {
        /**
         * @see Action::execute()
         * @throws ErrorPageError
-        * @param array|null $data
-        * @param bool $captureErrors
+        * @param $data array|null
+        * @param $captureErrors bool
         * @return bool
         */
        public function execute( array $data = null, $captureErrors = true ) {
@@ -488,9 +498,7 @@ abstract class FormAction extends Action {
 }
 
 /**
- * Actions generally fall into two groups: the show-a-form-then-do-something-with-the-input
- * format (protect, delete, move, etc), and the just-do-something format (watch, rollback,
- * patrol, etc).
+ * An action which just does something, without showing a form first.
  */
 abstract class FormlessAction extends Action {
 
@@ -509,10 +517,17 @@ abstract class FormlessAction extends Action {
                return false;
        }
 
+       /**
+        * @param $data Array
+        * @return bool
+        */
        public function onSubmit( $data ) {
                return false;
        }
 
+       /**
+        * @return bool
+        */
        public function onSuccess() {
                return false;
        }
index 5bc9f06..e3df520 100644 (file)
@@ -1,10 +1,28 @@
 <?php
 /**
- * @defgroup Ajax Ajax
+ * Handle ajax requests and send them to the proper handler.
+ *
+ * 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 Ajax
- * Handle ajax requests and send them to the proper handler.
+ */
+
+/**
+ * @defgroup Ajax Ajax
  */
 
 /**
  * @ingroup Ajax
  */
 class AjaxDispatcher {
-       /** The way the request was made, either a 'get' or a 'post' */
+       /**
+        * The way the request was made, either a 'get' or a 'post'
+        * @var string $mode
+        */
        private $mode;
 
-       /** Name of the requested handler */
+       /**
+        * Name of the requested handler
+        * @var string $func_name
+        */
        private $func_name;
 
-       /** Arguments passed */
+       /** Arguments passed
+        * @var array $args
+        */
        private $args;
 
-       /** Load up our object with user supplied data */
+       /**
+        * Load up our object with user supplied data
+        */
        function __construct() {
                wfProfileIn( __METHOD__ );
 
@@ -62,7 +90,8 @@ class AjaxDispatcher {
                wfProfileOut( __METHOD__ );
        }
 
-       /** Pass the request to our internal function.
+       /**
+        * Pass the request to our internal function.
         * BEWARE! Data are passed as they have been supplied by the user,
         * they should be carefully handled in the function processing the
         * request.
index a395239..6bf94cc 100644 (file)
@@ -1,6 +1,21 @@
 <?php
 /**
- * Response handler for Ajax requests
+ * Response handler for Ajax requests.
+ *
+ * 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 Ajax
  * @ingroup Ajax
  */
 class AjaxResponse {
-       /** Number of seconds to get the response cached by a proxy */
+
+       /**
+        * Number of seconds to get the response cached by a proxy
+        * @var int $mCacheDuration
+        */
        private $mCacheDuration;
 
-       /** HTTP header Content-Type */
+       /**
+        * HTTP header Content-Type
+        * @var string $mContentType
+        */
        private $mContentType;
 
-       /** Disables output. Can be set by calling $AjaxResponse->disable() */
+       /**
+        * Disables output. Can be set by calling $AjaxResponse->disable()
+        * @var bool $mDisabled
+        */
        private $mDisabled;
 
-       /** Date for the HTTP header Last-modified */
+       /**
+        * Date for the HTTP header Last-modified
+        * @var string|false $mLastModified
+        */
        private $mLastModified;
 
-       /** HTTP response code */
+       /**
+        * HTTP response code
+        * @var string $mResponseCode
+        */
        private $mResponseCode;
 
-       /** HTTP Vary header */
+       /**
+        * HTTP Vary header
+        * @var string $mVary
+        */
        private $mVary;
 
-       /** Content of our HTTP response */
+       /**
+        * Content of our HTTP response
+        * @var string $mText
+        */
        private $mText;
 
        /**
@@ -52,22 +89,41 @@ class AjaxResponse {
                }
        }
 
+       /**
+        * Set the number of seconds to get the response cached by a proxy
+        * @param $duration int
+        */
        function setCacheDuration( $duration ) {
                $this->mCacheDuration = $duration;
        }
 
+       /**
+        * Set the HTTP Vary header
+        * @param $vary string
+        */
        function setVary( $vary ) {
                $this->mVary = $vary;
        }
 
+       /**
+        * Set the HTTP response code
+        * @param $code string
+        */
        function setResponseCode( $code ) {
                $this->mResponseCode = $code;
        }
 
+       /**
+        * Set the HTTP header Content-Type
+        * @param $type string
+        */
        function setContentType( $type ) {
                $this->mContentType = $type;
        }
 
+       /**
+        * Disable output.
+        */
        function disable() {
                $this->mDisabled = true;
        }
@@ -207,8 +263,8 @@ class AjaxResponse {
        }
 
        /**
-        * @param $mckey
-        * @param $touched
+        * @param $mckey string
+        * @param $touched int
         * @return bool
         */
        function loadFromMemcached( $mckey, $touched ) {
@@ -235,7 +291,7 @@ class AjaxResponse {
        }
 
        /**
-        * @param $mckey
+        * @param $mckey string
         * @param $expiry int
         * @return bool
         */
index 6a3e41c..ded8c49 100644 (file)
@@ -1,6 +1,22 @@
 <?php
 /**
- * File for articles
+ * User interface for page actions.
+ *
+ * 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
  */
 
@@ -9,7 +25,7 @@
  *
  * This maintains WikiPage functions for backwards compatibility.
  *
- * @TODO: move and rewrite code to an Action class
+ * @todo move and rewrite code to an Action class
  *
  * See design.txt for an overview.
  * Note: edit user interface and cache support functions have been
@@ -23,42 +39,69 @@ class Article extends Page {
         */
 
        /**
-        * @var IContextSource
+        * The context this Article is executed in
+        * @var IContextSource $mContext
         */
        protected $mContext;
 
        /**
-        * @var WikiPage
+        * The WikiPage object of this instance
+        * @var WikiPage $mPage
         */
        protected $mPage;
 
        /**
-        * @var ParserOptions: ParserOptions object for $wgUser articles
+        * ParserOptions object for $wgUser articles
+        * @var ParserOptions $mParserOptions
         */
        public $mParserOptions;
 
+       /**
+        * Content of the revision we are working on
+        * @var string $mContent
+        */
        var $mContent;                    // !<
+
+       /**
+        * Is the content ($mContent) already loaded?
+        * @var bool $mContentLoaded
+        */
        var $mContentLoaded = false;      // !<
+
+       /**
+        * The oldid of the article that is to be shown, 0 for the
+        * current revision
+        * @var int|null $mOldId
+        */
        var $mOldId;                      // !<
 
        /**
-        * @var Title
+        * Title from which we were redirected here
+        * @var Title $mRedirectedFrom
         */
        var $mRedirectedFrom = null;
 
        /**
-        * @var mixed: boolean false or URL string
+        * URL to redirect to or false if none
+        * @var string|false $mRedirectUrl
         */
        var $mRedirectUrl = false;        // !<
+
+       /**
+        * Revision ID of revision we are working on
+        * @var int $mRevIdFetched
+        */
        var $mRevIdFetched = 0;           // !<
 
        /**
-        * @var Revision
+        * Revision we are working on
+        * @var Revision $mRevision
         */
        var $mRevision = null;
 
        /**
-        * @var ParserOutput
+        * ParserOutput object
+        * @var ParserOutput $mParserOutput
         */
        var $mParserOutput;
 
@@ -793,7 +836,7 @@ class Article extends Page {
         * merging of several policies using array_merge().
         * @param $policy Mixed, returns empty array on null/false/'', transparent
         *            to already-converted arrays, converts String.
-        * @return Array: 'index' => <indexpolicy>, 'follow' => <followpolicy>
+        * @return Array: 'index' => \<indexpolicy\>, 'follow' => \<followpolicy\>
         */
        public static function formatRobotPolicy( $policy ) {
                if ( is_array( $policy ) ) {
@@ -1640,6 +1683,7 @@ class Article extends Page {
        /**
         * Handle action=purge
         * @deprecated since 1.19
+        * @return Action|bool|null false if the action is disabled, null if it is not recognised
         */
        public function purge() {
                return Action::factory( 'purge', $this )->show();
index 07a614a..e550473 100644 (file)
@@ -248,6 +248,8 @@ class AuthPlugin {
        /**
         * If you want to munge the case of an account name before the final
         * check, now is your chance.
+        * @param $username string
+        * @return string
         */
        public function getCanonicalName( $username ) {
                return $username;
index de31736..78ed450 100644 (file)
@@ -2,6 +2,21 @@
 /**
  * This defines autoloading handler for whole MediaWiki framework
  *
+ * 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
  */
 
@@ -56,7 +71,8 @@ $wgAutoloadLocalClasses = array(
        'DeferredUpdates' => 'includes/DeferredUpdates.php',
        'DeprecatedGlobal' => 'includes/DeprecatedGlobal.php',
        'DerivativeRequest' => 'includes/WebRequest.php',
-       'DeviceDetection' => 'includes/DeviceDetection.php',
+       'DeviceDetection' => 'includes/mobile/DeviceDetection.php',
+       'DeviceProperties' => 'includes/mobile/DeviceDetection.php',
        'DiffHistoryBlob' => 'includes/HistoryBlob.php',
        'DoubleReplacer' => 'includes/StringUtils.php',
        'DummyLinker' => 'includes/Linker.php',
@@ -122,6 +138,8 @@ $wgAutoloadLocalClasses = array(
        'HttpRequest' => 'includes/HttpFunctions.old.php',
        'ICacheHelper' => 'includes/CacheHelper.php',
        'IcuCollation' => 'includes/Collation.php',
+       'IDeviceProperties' => 'includes/mobile/DeviceDetection.php',
+       'IDeviceDetector' => 'includes/mobile/DeviceDetection.php',
        'IdentityCollation' => 'includes/Collation.php',
        'ImageGallery' => 'includes/ImageGallery.php',
        'ImageHistoryList' => 'includes/ImagePage.php',
@@ -429,6 +447,8 @@ $wgAutoloadLocalClasses = array(
        'DBConnectionError' => 'includes/db/DatabaseError.php',
        'DBError' => 'includes/db/DatabaseError.php',
        'DBObject' => 'includes/db/DatabaseUtility.php',
+       'IORMRow' => 'includes/db/IORMRow.php',
+       'IORMTable' => 'includes/db/IORMTable.php',
        'DBMasterPos' => 'includes/db/DatabaseUtility.php',
        'DBQueryError' => 'includes/db/DatabaseError.php',
        'DBUnexpectedError' => 'includes/db/DatabaseError.php',
@@ -1006,6 +1026,14 @@ class AutoLoader {
        static function autoload( $className ) {
                global $wgAutoloadClasses, $wgAutoloadLocalClasses;
 
+               // Workaround for PHP bug <https://bugs.php.net/bug.php?id=49143> (5.3.2. is broken, it's fixed in 5.3.6).
+               // Strip leading backslashes from class names. When namespaces are used, leading backslashes are used to indicate
+               // the top-level namespace, e.g. \foo\Bar. When used like this in the code, the leading backslash isn't passed to
+               // the auto-loader ($className would be 'foo\Bar'). However, if a class is accessed using a string instead of a
+               // class literal (e.g. $class = '\foo\Bar'; new $class()), then some versions of PHP do not strip the leading
+               // backlash in this case, causing autoloading to fail.
+               $className = ltrim( $className, '\\' );
+
                if ( isset( $wgAutoloadLocalClasses[$className] ) ) {
                        $filename = $wgAutoloadLocalClasses[$className];
                } elseif ( isset( $wgAutoloadClasses[$className] ) ) {
@@ -1048,6 +1076,7 @@ class AutoLoader {
         * Sanitizer that have define()s outside of their class definition. Of course
         * this wouldn't be necessary if everything in MediaWiki was class-based. Sigh.
         *
+        * @param $class string
         * @return Boolean Return the results of class_exists() so we know if we were successful
         */
        static function loadClass( $class ) {
index 38adf14..9c77855 100644 (file)
@@ -1,9 +1,30 @@
 <?php
+/**
+ * Automatic user rights promotion based on conditions specified
+ * in $wgAutopromote.
+ *
+ * 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
+ */
+
 /**
  * This class checks if user can get extra rights
  * because of conditions specified in $wgAutopromote
  */
-
 class Autopromote {
        /**
         * Get the groups for the given user based on $wgAutopromote.
index c028352..2aba29f 100644 (file)
@@ -1,7 +1,28 @@
 <?php
 /**
- * File for BacklinkCache class
+ * Class for fetching backlink lists, approximate backlink counts and
+ * partitions.
+ *
+ * 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 Tim Starling
+ * @copyright © 2009, Tim Starling, Domas Mituzas
+ * @copyright © 2010, Max Sem
+ * @copyright © 2011, Antoine Musso
  */
 
 /**
  * Introduced by r47317
  *
  * @internal documentation reviewed on 18 Mar 2011 by hashar
- *
- * @author Tim Starling
- * @copyright © 2009, Tim Starling, Domas Mituzas
- * @copyright © 2010, Max Sem
- * @copyright © 2011, Antoine Musso
  */
 class BacklinkCache {
 
index 7cdc756..301a45a 100644 (file)
@@ -126,17 +126,42 @@ class Block {
                $dbr = wfGetDB( DB_SLAVE );
                $res = $dbr->selectRow(
                        'ipblocks',
-                       '*',
+                       self::selectFields(),
                        array( 'ipb_id' => $id ),
                        __METHOD__
                );
                if ( $res ) {
-                       return Block::newFromRow( $res );
+                       return self::newFromRow( $res );
                } else {
                        return null;
                }
        }
 
+       /**
+        * Return the list of ipblocks fields that should be selected to create
+        * a new block.
+        * @return array
+        */
+       public static function selectFields() {
+               return array(
+                       'ipb_id',
+                       'ipb_address',
+                       'ipb_by',
+                       'ipb_by_text',
+                       'ipb_reason',
+                       'ipb_timestamp',
+                       'ipb_auto',
+                       'ipb_anon_only',
+                       'ipb_create_account',
+                       'ipb_enable_autoblock',
+                       'ipb_expiry',
+                       'ipb_deleted',
+                       'ipb_block_email',
+                       'ipb_allow_usertalk',
+                       'ipb_parent_block_id',
+               );
+       }
+
        /**
         * Check if two blocks are effectively equal.  Doesn't check irrelevant things like
         * the blocking user or the block timestamp, only things which affect the blocked user   *
@@ -247,7 +272,7 @@ class Block {
                        }
                }
 
-               $res = $db->select( 'ipblocks', '*', $conds, __METHOD__ );
+               $res = $db->select( 'ipblocks', self::selectFields(), $conds, __METHOD__ );
 
                # This result could contain a block on the user, a block on the IP, and a russian-doll
                # set of rangeblocks.  We want to choose the most specific one, so keep a leader board.
@@ -260,7 +285,7 @@ class Block {
                $bestBlockPreventsEdit = null;
 
                foreach( $res as $row ){
-                       $block = Block::newFromRow( $row );
+                       $block = self::newFromRow( $row );
 
                        # Don't use expired blocks
                        if( $block->deleteIfExpired() ){
index 6b6a594..5209857 100644 (file)
@@ -1,13 +1,32 @@
 <?php
-
 /**
- * Interface for all classes implementing CacheHelper functionality.
+ * Cache of various elements in a single cache entry.
  *
- * @since 1.20
+ * 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
  * @licence GNU GPL v2 or later
  * @author Jeroen De Dauw < jeroendedauw@gmail.com >
  */
+
+/**
+ * Interface for all classes implementing CacheHelper functionality.
+ *
+ * @since 1.20
+ */
 interface ICacheHelper {
 
        /**
@@ -81,11 +100,6 @@ interface ICacheHelper {
  * After adding the last HTML that should be cached, call $this->saveCache();
  *
  * @since 1.20
- *
- * @file CacheHelper.php
- *
- * @licence GNU GPL v2 or later
- * @author Jeroen De Dauw < jeroendedauw@gmail.com >
  */
 class CacheHelper implements ICacheHelper {
 
@@ -360,4 +374,4 @@ class CacheHelper implements ICacheHelper {
                $this->onInitHandler = $handlerFunction;
        }
 
-}
\ No newline at end of file
+}
index 4f1e423..7987069 100644 (file)
@@ -1,14 +1,33 @@
 <?php
+/**
+ * Representation for a category.
+ *
+ * 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 Simetrical
+ */
+
 /**
  * Category objects are immutable, strictly speaking. If you call methods that change the database,
  * like to refresh link counts, the objects will be appropriately reinitialized.
  * Member variables are lazy-initialized.
  *
  * TODO: Move some stuff from CategoryPage.php to here, and use that.
- *
- * @author Simetrical
  */
-
 class Category {
        /** Name of the category, normalized to DB-key form */
        private $mName = null;
index 3c7d89e..32e270e 100644 (file)
@@ -1,14 +1,26 @@
 <?php
 /**
- * Class for viewing MediaWiki category description pages.
+ * Special handling for category description pages.
  * Modelled after ImagePage.php.
  *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
  * @file
  */
 
-if ( !defined( 'MEDIAWIKI' ) )
-       die( 1 );
-
 /**
  * Special handling for category description pages, showing pages,
  * subcategories and file that belong to the category
index dff3802..0af7d7c 100644 (file)
@@ -1,7 +1,24 @@
 <?php
-
-if ( !defined( 'MEDIAWIKI' ) )
-       die( 1 );
+/**
+ * List and paging of category members.
+ *
+ * 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
+ */
 
 class CategoryViewer extends ContextSource {
        var $limit, $from, $until,
@@ -587,7 +604,7 @@ class CategoryViewer extends ContextSource {
                        );
                }
 
-               return "($prevLink) ($nextLink)";
+               return $this->msg('categoryviewer-pagedlinks')->rawParams($prevLink, $nextLink)->escaped();
        }
 
        /**
index 4a8ed70..e2b6a0c 100644 (file)
@@ -1,4 +1,25 @@
 <?php
+/**
+ * Recent changes filtering by category.
+ *
+ * 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
+ */
+
 /**
  * The "Categoryfinder" class takes a list of articles, creates an internal
  * representation of all their parent categories (as well as parents of
index 94aa192..ae2e5b1 100644 (file)
@@ -1,6 +1,21 @@
 <?php
 /**
- * Native CDB file reader and writer
+ * Native CDB file reader and writer.
+ *
+ * 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
  */
index 77b61cb..02be65f 100644 (file)
@@ -6,6 +6,21 @@
  *    * Exception thrown if sizes or offsets are between 2GB and 4GB
  *    * Some variables renamed
  *
+ * 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
  */
 
index 0dbaac6..204df45 100644 (file)
@@ -1,9 +1,25 @@
 <?php
 /**
- * Functions related to change tags.
+ * Recent changes tagging.
+ *
+ * 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
  */
+
 class ChangeTags {
 
        /**
index ba3bfd6..2954920 100644 (file)
@@ -1,4 +1,24 @@
 <?php
+/**
+ * Feed for list of changes.
+ *
+ * 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
+ */
 
 /**
  * Feed to Special:RecentChanges and Special:RecentChangesLiked
index e0183c4..d280c9a 100644 (file)
@@ -1,10 +1,27 @@
 <?php
 /**
- * Classes to show various lists of changes:
+ * Classes to show lists of changes.
+ *
+ * These can be:
  * - watchlist
  * - related changes
  * - recent changes
  *
+ * 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
  */
 
@@ -857,8 +874,10 @@ class EnhancedChangesList extends ChangesList {
                        array_push( $users, $text );
                }
 
-               $users = ' <span class="changedby">[' .
-                       implode( $this->message['semicolon-separator'], $users ) . ']</span>';
+               $users = ' <span class="changedby">'
+                       . $this->getContext()->msg( 'brackets' )->rawParams(
+                               implode( $this->message['semicolon-separator'], $users )
+                       )->plain() . '</span>';
 
                $tl = '<span class="mw-collapsible-toggle mw-enhancedchanges-arrow"></span>';
                $r .= "<td>$tl</td>";
index e4ffae6..ad2b94b 100644 (file)
@@ -1,4 +1,24 @@
 <?php
+/**
+ * Database row sorting.
+ *
+ * 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
+ */
 
 abstract class Collation {
        static $instance;
index 8fa6233..b68fc76 100644 (file)
@@ -1,4 +1,24 @@
 <?php
+/**
+ * Configuration file editor.
+ *
+ * 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
+ */
 
 /**
  * This is a state machine style parser with two internal stacks:
index b76212e..1ca02b5 100644 (file)
@@ -1,6 +1,24 @@
 <?php
 /**
- * @defgroup HTTP HTTP
+ * Cookie for HTTP requests.
+ *
+ * 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 HTTP
  */
 
 class Cookie {
index 95905fb..bb80eeb 100644 (file)
@@ -5,6 +5,21 @@
  * This is based in part on Drupal code as well as what we used in our own code
  * prior to introduction of this class.
  *
+ * 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
+ *
  * @author Daniel Friesen
  * @file
  */
index 07e8223..7203c3b 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 /**
- * See docs/deferred.txt
+ * Base code for update jobs that do something with some secondary
+ * data extracted from article.
  *
  * 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
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  * http://www.gnu.org/copyleft/gpl.html
  *
+ * @file
+ */
+
+/**
  * Abstract base class for update jobs that do something with some secondary
  * data extracted from article.
  */
index 952926d..8f61096 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 /**
- * @file
+ * Default values for configuration settings.
+ *
  *
  *                 NEVER EDIT THIS FILE
  *
  *
  * Documentation is in the source and on:
  * http://www.mediawiki.org/wiki/Manual:Configuration_settings
+ *
+ * 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
  */
 
 /**
@@ -310,9 +328,11 @@ $wgImgAuthPublicTest = true;
  *   - zones            Associative array of zone names that each map to an array with:
  *                          container : backend container name the zone is in
  *                          directory : root path within container for the zone
- *                      Zones default to using <repo name>-<zone> as the
- *                      container name and the container root as the zone directory.
- *   - url              Base public URL
+ *                          url       : base URL to the root of the zone
+ *                      Zones default to using <repo name>-<zone name> as the container name
+ *                      and default to using the container root as the zone's root directory.
+ *                      Nesting of zone locations within other zones should be avoided.
+ *   - url              Public zone URL. The 'zones' settings take precedence.
  *   - hashLevels       The number of directory levels for hash-based division of files
  *   - thumbScriptUrl   The URL for thumb.php (optional, not recommended)
  *   - transformVia404  Whether to skip media file transformation on parse and rely on a 404
@@ -5742,6 +5762,19 @@ $wgCompiledFiles = array();
 /** @} */ # End of HipHop compilation }
 
 
+/************************************************************************//**
+ * @name   Mobile support
+ * @{
+ */
+
+/**
+ * Name of the class used for mobile device detection, must be inherited from
+ * IDeviceDetector.
+ */
+$wgDeviceDetectionClass = 'DeviceDetection';
+
+/** @} */ # End of Mobile support }
+
 /************************************************************************//**
  * @name   Miscellaneous
  * @{
index 262994e..00af974 100644 (file)
@@ -1,4 +1,25 @@
 <?php
+/**
+ * Interface and manager for deferred updates.
+ *
+ * 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
+ */
+
 /**
  * Interface that deferrable updates should implement. Basically required so we
  * can validate input on DeferredUpdates::addUpdate()
index e40c9b2..d0f0c26 100644 (file)
@@ -6,6 +6,21 @@
  * since this file will not be executed during request startup for a compiled
  * MediaWiki.
  *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
  * @file
  */
 
index 39c5cab..4d7b968 100644 (file)
@@ -1,4 +1,25 @@
 <?php
+/**
+ * Delayed loading of deprecated global objects.
+ *
+ * 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
+ */
+
 /**
  * Class to allow throwing wfDeprecated warnings
  * when people use globals that we do not want them to.
diff --git a/includes/DeviceDetection.php b/includes/DeviceDetection.php
deleted file mode 100644 (file)
index cc68667..0000000
+++ /dev/null
@@ -1,425 +0,0 @@
-<?php
-/**
- * Device detection class
- *
- * Copyright © 2011 Patrick Reilly
- * http://www.mediawiki.org/
- *
- * 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
- */
-
-/**
- * Provides abstraction for a device.
- * A device can select which format a request should receive and
- * may be extended to provide access to particular device functionality.
- * @since 1.20
- */
-class DeviceDetection {
-
-       /**
-        * @return array
-        */
-       public function getAvailableFormats() {
-               $formats = array (
-                       'html' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'default',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'default',
-                               'supports_javascript' => false,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'capable' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'default',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'default',
-                               'supports_javascript' => true,
-                               'supports_jquery' => true,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'webkit' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'webkit',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'webkit',
-                               'supports_javascript' => true,
-                               'supports_jquery' => true,
-                               'disable_zoom' => false,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'ie' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'default',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'default',
-                               'supports_javascript' => true,
-                               'supports_jquery' => true,
-                               'disable_zoom' => false,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'android' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'default',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'android',
-                               'supports_javascript' => true,
-                               'supports_jquery' => true,
-                               'disable_zoom' => false,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'iphone' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'webkit',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'iphone',
-                               'supports_javascript' => true,
-                               'supports_jquery' => true,
-                               'disable_zoom' => false,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'iphone2' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'default',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'iphone2',
-                               'supports_javascript' => true,
-                               'supports_jquery' => true,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'native_iphone' => array (
-                               'view_format' => 'html',
-                               'search_bar' => false,
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'default',
-                               'supports_javascript' => true,
-                               'supports_jquery' => true,
-                               'disable_zoom' => false,
-                               'parser' => 'html',
-                               'disable_links' => false,
-                       ),
-                       'palm_pre' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'default',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'palm_pre',
-                               'supports_javascript' => true,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'kindle' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'kindle',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'kindle',
-                               'supports_javascript' => false,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'kindle2' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'kindle',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'kindle',
-                               'supports_javascript' => false,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'blackberry' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'default',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'blackberry',
-                               'supports_javascript' => true,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'blackberry-lt5' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'default',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'blackberry',
-                               'supports_javascript' => false,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'netfront' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'simple',
-                               'footmenu' => 'simple',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'simple',
-                               'supports_javascript' => false,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'wap2' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'simple',
-                               'footmenu' => 'simple',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'simple',
-                               'supports_javascript' => false,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'psp' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'simple',
-                               'footmenu' => 'simple',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'psp',
-                               'supports_javascript' => false,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'ps3' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'simple',
-                               'footmenu' => 'simple',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'simple',
-                               'supports_javascript' => false,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'wii' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'wii',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'wii',
-                               'supports_javascript' => true,
-                               'supports_jquery' => true,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'operamini' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'simple',
-                               'footmenu' => 'simple',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'operamini',
-                               'supports_javascript' => false,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'operamobile' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'simple',
-                               'footmenu' => 'simple',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'operamobile',
-                               'supports_javascript' => true,
-                               'supports_jquery' => true,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'nokia' => array (
-                               'view_format' => 'html',
-                               'search_bar' => 'webkit',
-                               'footmenu' => 'default',
-                               'with_layout' => 'application',
-                               'css_file_name' => 'nokia',
-                               'supports_javascript' => true,
-                               'supports_jquery' => false,
-                               'disable_zoom' => true,
-                               'parser' => 'html',
-                               'disable_links' => true,
-                       ),
-                       'wml' => array (
-                               'view_format' => 'wml',
-                               'search_bar' => 'wml',
-                               'supports_javascript' => false,
-                               'supports_jquery' => false,
-                               'parser' => 'wml',
-                       ),
-               );
-               return $formats;
-       }
-
-       /**
-        * @param $userAgent
-        * @param string $acceptHeader
-        * @return array
-        */
-       public function detectDevice( $userAgent, $acceptHeader = '' ) {
-               $formatName = $this->detectFormatName( $userAgent, $acceptHeader );
-               return $this->getDevice( $formatName );
-       }
-
-       /**
-        * @param $formatName
-        * @return array
-        */
-       public function getDevice( $formatName ) {
-               $format = $this->getAvailableFormats();
-               return ( isset( $format[$formatName] ) ) ? $format[$formatName] : array();
-       }
-
-       /**
-        * @param $userAgent string
-        * @param $acceptHeader string
-        * @return string
-        */
-       public function detectFormatName( $userAgent, $acceptHeader = '' ) {
-               $formatName = '';
-
-               if ( preg_match( '/Android/', $userAgent ) ) {
-                       $formatName = 'android';
-                       if ( strpos( $userAgent, 'Opera Mini' ) !== false ) {
-                               $formatName = 'operamini';
-                       }
-               } else if ( preg_match( '/MSIE 9.0/', $userAgent ) ||
-                               preg_match( '/MSIE 8.0/', $userAgent ) ) {
-                       $formatName = 'ie';
-               } else if( preg_match( '/MSIE/', $userAgent ) ) {
-                       $formatName = 'html';
-               } else if ( strpos( $userAgent, 'Opera Mobi' ) !== false ) {
-                       $formatName = 'operamobile';
-               } elseif ( preg_match( '/iPad.* Safari/', $userAgent ) ) {
-                       $formatName = 'iphone';
-               } elseif ( preg_match( '/iPhone.* Safari/', $userAgent ) ) {
-                       if ( strpos( $userAgent, 'iPhone OS 2' ) !== false ) {
-                               $formatName = 'iphone2';
-                       } else {
-                               $formatName = 'iphone';
-                       }
-               } elseif ( preg_match( '/iPhone/', $userAgent ) ) {
-                       if ( strpos( $userAgent, 'Opera' ) !== false ) {
-                               $formatName = 'operamini';
-                       } else {
-                               $formatName = 'native_iphone';
-                       }
-               } elseif ( preg_match( '/WebKit/', $userAgent ) ) {
-                       if ( preg_match( '/Series60/', $userAgent ) ) {
-                               $formatName = 'nokia';
-                       } elseif ( preg_match( '/webOS/', $userAgent ) ) {
-                               $formatName = 'palm_pre';
-                       } else {
-                               $formatName = 'webkit';
-                       }
-               } elseif ( preg_match( '/Opera/', $userAgent ) ) {
-                       if ( strpos( $userAgent, 'Nintendo Wii' ) !== false ) {
-                               $formatName = 'wii';
-                       } elseif ( strpos( $userAgent, 'Opera Mini' ) !== false ) {
-                               $formatName = 'operamini';
-                       } elseif ( strpos( $userAgent, 'Opera Mobi' ) !== false ) {
-                               $formatName = 'iphone';
-                       } else {
-                               $formatName = 'webkit';
-                       }
-               } elseif ( preg_match( '/Kindle\/1.0/', $userAgent ) ) {
-                       $formatName = 'kindle';
-               } elseif ( preg_match( '/Kindle\/2.0/', $userAgent ) ) {
-                       $formatName = 'kindle2';
-               } elseif ( preg_match( '/Firefox/', $userAgent ) ) {
-                       $formatName = 'capable';
-               } elseif ( preg_match( '/NetFront/', $userAgent ) ) {
-                       $formatName = 'netfront';
-               } elseif ( preg_match( '/SEMC-Browser/', $userAgent ) ) {
-                       $formatName = 'wap2';
-               } elseif ( preg_match( '/Series60/', $userAgent ) ) {
-                       $formatName = 'wap2';
-               } elseif ( preg_match( '/PlayStation Portable/', $userAgent ) ) {
-                       $formatName = 'psp';
-               } elseif ( preg_match( '/PLAYSTATION 3/', $userAgent ) ) {
-                       $formatName = 'ps3';
-               } elseif ( preg_match( '/SAMSUNG/', $userAgent ) ) {
-                       $formatName = 'capable';
-               } elseif ( preg_match( '/BlackBerry/', $userAgent ) ) {
-                       if( preg_match( '/BlackBerry[^\/]*\/[1-4]\./', $userAgent ) ) {
-                               $formatName = 'blackberry-lt5';
-                       } else {
-                               $formatName = 'blackberry';
-                       }
-               }
-
-               if ( $formatName === '' ) {
-                       if ( strpos( $acceptHeader, 'application/vnd.wap.xhtml+xml' ) !== false ) {
-                               // Should be wap2
-                               $formatName = 'html';
-                       } elseif ( strpos( $acceptHeader, 'vnd.wap.wml' ) !== false ) {
-                               $formatName = 'wml';
-                       } else {
-                               $formatName = 'html';
-                       }
-               }
-               return $formatName;
-       }
-
-       /**
-        * @return array: List of all device-specific stylesheets
-        */
-       public function getCssFiles() {
-               $devices = $this->getAvailableFormats();
-               $files = array();
-               foreach ( $devices as $dev ) {
-                       if ( isset( $dev['css_file_name'] ) ) {
-                               $files[] = $dev['css_file_name'];
-                       }
-               }
-               return array_unique( $files );
-       }
-}
index c84ae75..9e337fd 100644 (file)
@@ -1,6 +1,22 @@
 <?php
 /**
- * Contains the EditPage class
+ * Page edition user interface.
+ *
+ * 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
  */
 
index a1e3f12..9f6d5bd 100644 (file)
@@ -1,6 +1,21 @@
 <?php
 /**
- * Exception class and handler
+ * Exception class and handler.
+ *
+ * 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
  */
@@ -231,6 +246,9 @@ class MWException extends Exception {
                } elseif ( self::isCommandLine() ) {
                        MWExceptionHandler::printError( $this->getText() );
                } else {
+                       header( "HTTP/1.1 500 MediaWiki exception" );
+                       header( "Status: 500 MediaWiki exception", true );
+
                        $this->reportHTML();
                }
        }
index c201c97..0bfcd74 100644 (file)
@@ -644,6 +644,12 @@ class XmlDumpWriter {
                        $out .= "      " . Xml::elementClean( 'comment', array(), strval( $row->rev_comment ) ) . "\n";
                }
 
+               if ( $row->rev_sha1 && !( $row->rev_deleted & Revision::DELETED_TEXT ) ) {
+                       $out .= "      " . Xml::element('sha1', null, strval( $row->rev_sha1 ) ) . "\n";
+               } else {
+                       $out .= "      <sha1/>\n";
+               }
+
                $text = '';
                if ( $row->rev_deleted & Revision::DELETED_TEXT ) {
                        $out .= "      " . Xml::element( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
@@ -660,12 +666,6 @@ class XmlDumpWriter {
                                "" ) . "\n";
                }
 
-               if ( $row->rev_sha1 && !( $row->rev_deleted & Revision::DELETED_TEXT ) ) {
-                       $out .= "      " . Xml::element('sha1', null, strval( $row->rev_sha1 ) ) . "\n";
-               } else {
-                       $out .= "      <sha1/>\n";
-               }
-
                wfRunHooks( 'XmlDumpWriterWriteRevision', array( &$this, &$out, $row, $text ) );
 
                $out .= "    </revision>\n";
@@ -685,37 +685,37 @@ class XmlDumpWriter {
        function writeLogItem( $row ) {
                wfProfileIn( __METHOD__ );
 
-               $out  = "    <logitem>\n";
-               $out .= "      " . Xml::element( 'id', null, strval( $row->log_id ) ) . "\n";
+               $out  = "  <logitem>\n";
+               $out .= "    " . Xml::element( 'id', null, strval( $row->log_id ) ) . "\n";
 
-               $out .= $this->writeTimestamp( $row->log_timestamp );
+               $out .= $this->writeTimestamp( $row->log_timestamp, "    " );
 
                if ( $row->log_deleted & LogPage::DELETED_USER ) {
-                       $out .= "      " . Xml::element( 'contributor', array( 'deleted' => 'deleted' ) ) . "\n";
+                       $out .= "    " . Xml::element( 'contributor', array( 'deleted' => 'deleted' ) ) . "\n";
                } else {
-                       $out .= $this->writeContributor( $row->log_user, $row->user_name );
+                       $out .= $this->writeContributor( $row->log_user, $row->user_name, "    " );
                }
 
                if ( $row->log_deleted & LogPage::DELETED_COMMENT ) {
-                       $out .= "      " . Xml::element( 'comment', array( 'deleted' => 'deleted' ) ) . "\n";
+                       $out .= "    " . Xml::element( 'comment', array( 'deleted' => 'deleted' ) ) . "\n";
                } elseif ( $row->log_comment != '' ) {
-                       $out .= "      " . Xml::elementClean( 'comment', null, strval( $row->log_comment ) ) . "\n";
+                       $out .= "    " . Xml::elementClean( 'comment', null, strval( $row->log_comment ) ) . "\n";
                }
 
-               $out .= "      " . Xml::element( 'type', null, strval( $row->log_type ) ) . "\n";
-               $out .= "      " . Xml::element( 'action', null, strval( $row->log_action ) ) . "\n";
+               $out .= "    " . Xml::element( 'type', null, strval( $row->log_type ) ) . "\n";
+               $out .= "    " . Xml::element( 'action', null, strval( $row->log_action ) ) . "\n";
 
                if ( $row->log_deleted & LogPage::DELETED_ACTION ) {
-                       $out .= "      " . Xml::element( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
+                       $out .= "    " . Xml::element( 'text', array( 'deleted' => 'deleted' ) ) . "\n";
                } else {
                        $title = Title::makeTitle( $row->log_namespace, $row->log_title );
-                       $out .= "      " . Xml::elementClean( 'logtitle', null, self::canonicalTitle( $title ) ) . "\n";
-                       $out .= "      " . Xml::elementClean( 'params',
+                       $out .= "    " . Xml::elementClean( 'logtitle', null, self::canonicalTitle( $title ) ) . "\n";
+                       $out .= "    " . Xml::elementClean( 'params',
                                array( 'xml:space' => 'preserve' ),
                                strval( $row->log_params ) ) . "\n";
                }
 
-               $out .= "    </logitem>\n";
+               $out .= "  </logitem>\n";
 
                wfProfileOut( __METHOD__ );
                return $out;
@@ -725,9 +725,9 @@ class XmlDumpWriter {
         * @param $timestamp string
         * @return string
         */
-       function writeTimestamp( $timestamp ) {
+       function writeTimestamp( $timestamp, $indent = "      " ) {
                $ts = wfTimestamp( TS_ISO_8601, $timestamp );
-               return "      " . Xml::element( 'timestamp', null, $ts ) . "\n";
+               return $indent . Xml::element( 'timestamp', null, $ts ) . "\n";
        }
 
        /**
@@ -735,15 +735,15 @@ class XmlDumpWriter {
         * @param $text string
         * @return string
         */
-       function writeContributor( $id, $text ) {
-               $out = "      <contributor>\n";
+       function writeContributor( $id, $text, $indent = "      " ) {
+               $out = $indent . "<contributor>\n";
                if ( $id || !IP::isValid( $text ) ) {
-                       $out .= "        " . Xml::elementClean( 'username', null, strval( $text ) ) . "\n";
-                       $out .= "        " . Xml::element( 'id', null, strval( $id ) ) . "\n";
+                       $out .= $indent . "  " . Xml::elementClean( 'username', null, strval( $text ) ) . "\n";
+                       $out .= $indent . "  " . Xml::element( 'id', null, strval( $id ) ) . "\n";
                } else {
-                       $out .= "        " . Xml::elementClean( 'ip', null, strval( $text ) ) . "\n";
+                       $out .= $indent . "  " . Xml::elementClean( 'ip', null, strval( $text ) ) . "\n";
                }
-               $out .= "      </contributor>\n";
+               $out .= $indent . "</contributor>\n";
                return $out;
        }
 
index f2eed4b..61d4ef7 100644 (file)
@@ -1,4 +1,25 @@
 <?php
+/**
+ * Data storage in external repositories.
+ *
+ * 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
+ */
+
 /**
  * @defgroup ExternalStorage ExternalStorage
  */
index 241c43c..6f2b33e 100644 (file)
@@ -1,4 +1,24 @@
 <?php
+/**
+ * External storage in SQL database.
+ *
+ * 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
+ */
 
 /**
  * DB accessable external objects
index 092ff7d..311e32b 100644 (file)
@@ -1,4 +1,24 @@
 <?php
+/**
+ * External storage using HTTP requests.
+ *
+ * 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
+ */
 
 /**
  * Example class for HTTP accessable external objects.
index bea0e7e..9a01deb 100644 (file)
@@ -18,6 +18,8 @@
  * 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
  */
 
 /**
index 369c1ee..60f7600 100644 (file)
@@ -107,8 +107,6 @@ class FakeTitle extends Title {
        function moveNoAuth( &$nt ) { $this->error(); }
        function isValidMoveOperation( &$nt, $auth = true, $reason = '' ) { $this->error(); }
        function moveTo( &$nt, $auth = true, $reason = '', $createRedirect = true ) { $this->error(); }
-       function moveOverExistingRedirect( &$nt, $reason = '', $createRedirect = true ) { $this->error(); }
-       function moveToNewTitle( &$nt, $reason = '', $createRedirect = true ) { $this->error(); }
        function moveSubpages( $nt, $auth = true, $reason = '', $createRedirect = true ) { $this->error(); }
        function isSingleRevRedirect() { $this->error(); }
        function isValidMoveTarget( $nt ) { $this->error(); }
index 7aec2e2..4cfd946 100644 (file)
@@ -30,7 +30,7 @@ if ( !defined( 'MEDIAWIKI' ) ) {
 /**
  * Compatibility functions
  *
- * We support PHP 5.2.3 and up.
+ * We support PHP 5.3.2 and up.
  * Re-implementations of newer functions or functions in non-standard
  * PHP extensions may be included here.
  */
@@ -1831,7 +1831,7 @@ function wfDebugBacktrace( $limit = 0 ) {
        }
 
        if ( $limit && version_compare( PHP_VERSION, '5.4.0', '>=' ) ) {
-               return array_slice( debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, $limit ), 1 );
+               return array_slice( debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, $limit + 1 ), 1 );
        } else {
                return array_slice( debug_backtrace(), 1 );
        }
@@ -1890,12 +1890,15 @@ function wfBacktrace() {
 
 /**
  * Get the name of the function which called this function
+ * wfGetCaller( 1 ) is the function with the wfGetCaller() call (ie. __FUNCTION__)
+ * wfGetCaller( 2 ) [default] is the caller of the function running wfGetCaller()
+ * wfGetCaller( 3 ) is the parent of that.
  *
  * @param $level Int
  * @return Bool|string
  */
 function wfGetCaller( $level = 2 ) {
-       $backtrace = wfDebugBacktrace( $level );
+       $backtrace = wfDebugBacktrace( $level + 1 );
        if ( isset( $backtrace[$level] ) ) {
                return wfFormatStackFrame( $backtrace[$level] );
        } else {
@@ -2198,13 +2201,7 @@ function wfResetOutputBuffers( $resetGzipEncoding = true ) {
                        if( $status['name'] == 'ob_gzhandler' ) {
                                // Reset the 'Content-Encoding' field set by this handler
                                // so we can start fresh.
-                               if ( function_exists( 'header_remove' ) ) {
-                                       // Available since PHP 5.3.0
-                                       header_remove( 'Content-Encoding' );
-                               } else {
-                                       // We need to provide a valid content-coding. See bug 28069
-                                       header( 'Content-Encoding: identity' );
-                               }
+                               header_remove( 'Content-Encoding' );
                                break;
                        }
                }
@@ -2631,11 +2628,7 @@ function wfTempDir() {
                        return $tmp;
                }
        }
-       if( function_exists( 'sys_get_temp_dir' ) ) {
-               return sys_get_temp_dir();
-       }
-       # Usual defaults
-       return wfIsWindows() ? 'C:\Windows\Temp' : '/tmp';
+       return sys_get_temp_dir();
 }
 
 /**
index e56ca2e..c149965 100644 (file)
@@ -333,6 +333,9 @@ class HTMLForm extends ContextSource {
                }
 
                $callback = $this->mSubmitCallback;
+               if ( !is_callable( $callback ) ) {
+                       throw new MWException( 'HTMLForm: no submit callback provided. Use setSubmitCallback() to set one.' );
+               }
 
                $data = $this->filterDataForSubmit( $this->mFieldData );
 
index fbae861..201a9e5 100644 (file)
@@ -778,12 +778,6 @@ class CurlHttpRequest extends MWHttpRequest {
                $this->parseHeader();
                $this->setStatus();
 
-               if ( isset( $this->respHeaders['content-length'] ) ) {
-                       if ( strlen( $this->content ) < $this->getResponseHeader( 'content-length' ) ) {
-                               $this->status->fatal( 'http-truncated-body' );
-                       }
-               }
-
                return $this->status;
        }
 
index 247acff..d391ead 100644 (file)
@@ -20,9 +20,6 @@
  * @file
  */
 
-if ( ! defined( 'MEDIAWIKI' ) )
-       die( 1 );
-
 /**
  * Image gallery
  *
index 3fbbcba..63e9894 100644 (file)
@@ -346,18 +346,30 @@ class ImagePage extends Article {
                                                # Note that $height <= $maxHeight now, but might not be identical
                                                # because of rounding.
                                        }
-                                       $msgbig  = wfMsgHtml( 'show-big-image' );
+                                       $msgbig = wfMsgHtml( 'show-big-image' );
+                                       if ( $this->displayImg->getRepo()->canTransformVia404() ) {
+                                               $thumbSizes = $wgImageLimits;
+                                       } else {
+                                               # Creating thumb links triggers thumbnail generation.
+                                               # Just generate the thumb for the current users prefs.
+                                               $thumbOption = $user->getOption( 'thumbsize' );
+                                               $thumbSizes = array( isset( $wgImageLimits[$thumbOption] )
+                                                       ? $wgImageLimits[$thumbOption]
+                                                       : $wgImageLimits[User::getDefaultOption( 'thumbsize' )] );
+                                       }
+                                       # Generate thumbnails or thumbnail links as needed...
                                        $otherSizes = array();
-                                       foreach ( $wgImageLimits as $size ) {
-                                               if ( $size[0] < $width_orig && $size[1] < $height_orig &&
-                                                               $size[0] != $width && $size[1] != $height ) {
+                                       foreach ( $thumbSizes as $size ) {
+                                               if ( $size[0] < $width_orig && $size[1] < $height_orig
+                                                       && $size[0] != $width && $size[1] != $height )
+                                               {
                                                        $otherSizes[] = $this->makeSizeLink( $params, $size[0], $size[1] );
                                                }
                                        }
                                        $msgsmall = wfMessage( 'show-big-image-preview' )->
                                                rawParams( $this->makeSizeLink( $params, $width, $height ) )->
                                                parse();
-                                       if ( count( $otherSizes ) && $this->displayImg->getRepo()->canTransformVia404() ) {
+                                       if ( count( $otherSizes ) ) {
                                                $msgsmall .= ' ' .
                                                Html::rawElement( 'span', array( 'class' => 'mw-filepage-other-resolutions' ),
                                                        wfMessage( 'show-big-image-other' )->rawParams( $lang->pipeList( $otherSizes ) )->
@@ -1026,7 +1038,9 @@ class ImageHistoryList extends ContextSource {
                $row .= '<td>';
                if ( $iscur ) {
                        $row .= wfMsgHtml( 'filehist-current' );
-               } elseif ( $local && $user->isLoggedIn() && $this->title->userCan( 'edit' ) ) {
+               } elseif ( $local && $this->title->quickUserCan( 'edit' )
+                       && $this->title->quickUserCan( 'upload' )
+               ) {
                        if ( $file->isDeleted( File::DELETED_FILE ) ) {
                                $row .= wfMsgHtml( 'filehist-revert' );
                        } else {
@@ -1087,7 +1101,10 @@ class ImageHistoryList extends ContextSource {
                // Image dimensions + size
                $row .= '<td>';
                $row .= htmlspecialchars( $file->getDimensionsString() );
-               $row .= ' <span style="white-space: nowrap;">(' . Linker::formatSize( $file->getSize() ) . ')</span>';
+               $row .= $this->getContext()->msg( 'word-separator' )->plain();
+               $row .= '<span style="white-space: nowrap;">';
+               $row .= $this->getContext()->msg( 'parentheses' )->rawParams( Linker::formatSize( $file->getSize() ) )->plain();
+               $row .= '</span>';
                $row .= '</td>';
 
                // Uploading user
index 8e02fd9..722df3a 100644 (file)
@@ -1641,9 +1641,9 @@ class Linker {
         * @return string
         */
        public static function generateRollback( $rev ) {
-               return '<span class="mw-rollback-link">['
-                       . self::buildRollbackLink( $rev )
-                       . ']</span>';
+               return '<span class="mw-rollback-link">'
+                       . wfMessage( 'brackets' )->rawParams( self::buildRollbackLink( $rev ) )->plain()
+                       . '</span>';
        }
 
        /**
index 8b403fc..0712ac8 100644 (file)
@@ -66,6 +66,10 @@ class LinksUpdate extends SqlDataUpdate {
                $this->mTitle = $title;
                $this->mId = $title->getArticleID();
 
+               if ( !$this->mId ) {
+                       throw new MWException( "The Title object did not provide an article ID. Perhaps the page doesn't exist?" );
+               }
+
                $this->mParserOutput = $parserOutput;
                $this->mLinks = $parserOutput->getLinks();
                $this->mImages = $parserOutput->getImages();
index ba38f37..f838ad0 100644 (file)
@@ -306,8 +306,8 @@ class MagicWord {
                $wgContLang->getMagic( $this );
                if ( !$this->mSynonyms ) {
                        $this->mSynonyms = array( 'dkjsagfjsgashfajsh' );
-                       #throw new MWException( "Error: invalid magic word '$id'" );
-                       wfDebugLog( 'exception', "Error: invalid magic word '$id'\n" );
+                       throw new MWException( "Error: invalid magic word '$id'" );
+                       #wfDebugLog( 'exception', "Error: invalid magic word '$id'\n" );
                }
                wfProfileOut( __METHOD__ );
        }
index b1bd14a..35b2f38 100644 (file)
  * @file
  */
 
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( 1 );
-}
-
 /**
  * This class should be covered by a general architecture document which does
  * not exist as of January 2011.  This is one of the Core classes and should
@@ -1682,18 +1678,6 @@ class OutputPage extends ContextSource {
                return $cookies;
        }
 
-       /**
-        * Return whether this page is not cacheable because "useskin" or "uselang"
-        * URL parameters were passed.
-        *
-        * @return Boolean
-        */
-       function uncacheableBecauseRequestVars() {
-               $request = $this->getRequest();
-               return $request->getText( 'useskin', false ) === false
-                       && $request->getText( 'uselang', false ) === false;
-       }
-
        /**
         * Check if the request has a cache-varying cookie header
         * If it does, it's very important that we don't allow public caching
@@ -1755,7 +1739,7 @@ class OutputPage extends ContextSource {
                $headers = array();
                foreach( $this->mVaryHeader as $header => $option ) {
                        $newheader = $header;
-                       if( is_array( $option ) ) {
+                       if ( is_array( $option ) && count( $option ) > 0 ) {
                                $newheader .= ';' . implode( ';', $option );
                        }
                        $headers[] = $newheader;
@@ -1861,7 +1845,7 @@ class OutputPage extends ContextSource {
                        $response->header( $this->getXVO() );
                }
 
-               if( !$this->uncacheableBecauseRequestVars() && $this->mEnableClientCache ) {
+               if( $this->mEnableClientCache ) {
                        if(
                                $wgUseSquid && session_id() == '' && !$this->isPrintable() &&
                                $this->mSquidMaxage != 0 && !$this->haveCacheVaryCookies()
index 9ec3b64..3eee191 100644 (file)
@@ -371,7 +371,7 @@ class Preferences {
 
                        $emailAddress = $user->getEmail() ? htmlspecialchars( $user->getEmail() ) : '';
                        if ( $wgAuth->allowPropChange( 'emailaddress' ) ) {
-                               $emailAddress .= $emailAddress == '' ? $link : " ($link)";
+                               $emailAddress .= $emailAddress == '' ? $link : ( ' ' . $context->msg( 'parentheses' )->rawParams( $link )->plain() );
                        }
 
 
index 1c42b1c..4440aac 100644 (file)
@@ -499,7 +499,7 @@ abstract class QueryPage extends SpecialPage {
                                        $updateddate = $lang->userDate( $ts, $user );
                                        $updatedtime = $lang->userTime( $ts, $user );
                                        $out->addMeta( 'Data-Cache-Time', $ts );
-                                       $out->addInlineScript( "var dataCacheTime = '$ts';" );
+                                       $out->addJsConfigVars( 'dataCacheTime', $ts );
                                        $out->addWikiMsg( 'perfcachedts', $updated, $updateddate, $updatedtime, $maxResults );
                                } else {
                                        $out->addWikiMsg( 'perfcached', $maxResults );
@@ -508,7 +508,7 @@ abstract class QueryPage extends SpecialPage {
                                # If updates on this page have been disabled, let the user know
                                # that the data set won't be refreshed for now
                                if ( is_array( $wgDisableQueryPageUpdate ) && in_array( $this->getName(), $wgDisableQueryPageUpdate ) ) {
-                                       $out->addWikiMsg( 'querypage-no-updates' );
+                                       $out->wrapWikiMsg( "<div class=\"mw-querypage-no-updates\">\n$1\n</div>", 'querypage-no-updates' );
                                }
                        }
                }
index 6928eb9..6dbd808 100644 (file)
@@ -381,7 +381,9 @@ class Revision {
                        'page_namespace',
                        'page_title',
                        'page_id',
-                       'page_latest'
+                       'page_latest',
+                       'page_is_redirect',
+                       'page_len',
                );
        }
 
@@ -493,7 +495,7 @@ class Revision {
        /**
         * Get revision ID
         *
-        * @return Integer
+        * @return Integer|null
         */
        public function getId() {
                return $this->mId;
@@ -512,7 +514,7 @@ class Revision {
        /**
         * Get text row ID
         *
-        * @return Integer
+        * @return Integer|null
         */
        public function getTextId() {
                return $this->mTextId;
@@ -530,7 +532,7 @@ class Revision {
        /**
         * Returns the length of the text in this revision, or null if unknown.
         *
-        * @return Integer
+        * @return Integer|null
         */
        public function getSize() {
                return $this->mSize;
@@ -539,30 +541,34 @@ class Revision {
        /**
         * Returns the base36 sha1 of the text in this revision, or null if unknown.
         *
-        * @return String
+        * @return String|null
         */
        public function getSha1() {
                return $this->mSha1;
        }
 
        /**
-        * Returns the title of the page associated with this entry.
+        * Returns the title of the page associated with this entry or null.
         *
-        * @return Title
+        * Will do a query, when title is not set and id is given.
+        *
+        * @return Title|null
         */
        public function getTitle() {
                if( isset( $this->mTitle ) ) {
                        return $this->mTitle;
                }
-               $dbr = wfGetDB( DB_SLAVE );
-               $row = $dbr->selectRow(
-                       array( 'page', 'revision' ),
-                       self::selectPageFields(),
-                       array( 'page_id=rev_page',
-                                  'rev_id' => $this->mId ),
-                       __METHOD__ );
-               if ( $row ) {
-                       $this->mTitle = Title::newFromRow( $row );
+               if( !is_null( $this->mId ) ) { //rev_id is defined as NOT NULL
+                       $dbr = wfGetDB( DB_SLAVE );
+                       $row = $dbr->selectRow(
+                               array( 'page', 'revision' ),
+                               self::selectPageFields(),
+                               array( 'page_id=rev_page',
+                                          'rev_id' => $this->mId ),
+                               __METHOD__ );
+                       if ( $row ) {
+                               $this->mTitle = Title::newFromRow( $row );
+                       }
                }
                return $this->mTitle;
        }
@@ -579,7 +585,7 @@ class Revision {
        /**
         * Get the page ID
         *
-        * @return Integer
+        * @return Integer|null
         */
        public function getPage() {
                return $this->mPage;
@@ -1120,7 +1126,8 @@ class Revision {
 
                $current = $dbw->selectRow(
                        array( 'page', 'revision' ),
-                       array( 'page_latest', 'rev_text_id', 'rev_len', 'rev_sha1' ),
+                       array( 'page_latest', 'page_namespace', 'page_title',
+                               'rev_text_id', 'rev_len', 'rev_sha1' ),
                        array(
                                'page_id' => $pageId,
                                'page_latest=rev_id',
@@ -1137,6 +1144,7 @@ class Revision {
                                'len'        => $current->rev_len,
                                'sha1'       => $current->rev_sha1
                                ) );
+                       $revision->setTitle( Title::makeTitle( $current->page_namespace, $current->page_title ) );
                } else {
                        $revision = null;
                }
index 488ef52..44c7912 100644 (file)
@@ -371,13 +371,13 @@ class RevisionItem extends RevisionItemBase {
        }
 
        public function getHTML() {
-               $difflink = $this->getDiffLink();
+               $difflink = wfMessage( 'parentheses' )->rawParams( $this->getDiffLink() );
                $revlink = $this->getRevisionLink();
                $userlink = Linker::revUserLink( $this->revision );
                $comment = Linker::revComment( $this->revision );
                if ( $this->isDeleted() ) {
                        $revlink = "<span class=\"history-deleted\">$revlink</span>";
                }
-               return "<li>($difflink) $revlink $userlink $comment</li>";
+               return "<li>$difflink $revlink $userlink $comment</li>";
        }
 }
index 677664a..56355bb 100644 (file)
  * @defgroup Skins Skins
  */
 
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( 1 );
-}
-
 /**
  * The main skin class that provide methods and properties for all other skins.
  * This base class is also the "Standard" skin.
@@ -168,11 +164,6 @@ abstract class Skin extends ContextSource {
                if ( !MWInit::classExists( $className ) ) {
 
                        if ( !defined( 'MW_COMPILED' ) ) {
-                               // Preload base classes to work around APC/PHP5 bug
-                               $deps = "{$wgStyleDirectory}/{$skinName}.deps.php";
-                               if ( file_exists( $deps ) ) {
-                                       include_once( $deps );
-                               }
                                require_once( "{$wgStyleDirectory}/{$skinName}.php" );
                        }
 
index 1deaf89..e1ec897 100644 (file)
  * @file
  */
 
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( 1 );
-}
-
 class SkinLegacy extends SkinTemplate {
        var $useHeadElement = true;
        protected $mWatchLinkNum = 0; // Appended to end of watch link id's
index 9807237..114a55c 100644 (file)
  * @file
  */
 
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( 1 );
-}
-
 /**
  * Wrapper object for MediaWiki's localization functions,
  * to be passed to the template engine.
index 7a6c0be..9e6717f 100644 (file)
@@ -626,7 +626,7 @@ class SpecialPage {
                } else {
                        $msg = $summaryMessageKey;
                }
-               if ( !$this->msg( $msg )->isBlank() && !$this->including() ) {
+               if ( !$this->msg( $msg )->isDisabled() && !$this->including() ) {
                        $this->getOutput()->wrapWikiMsg(
                                "<div class='mw-specialpage-summary'>\n$1\n</div>", $msg );
                }
index f0204df..6d36a43 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 /**
- * See docs/deferred.txt
+ * Base code for update jobs that put some secondary data extracted
+ * from article content into the database.
  *
  * 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
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  * http://www.gnu.org/copyleft/gpl.html
  *
+ * @file
+ */
+
+/**
  * Abstract base class for update jobs that put some secondary data extracted
  * from article content into the database.
  */
index cf428f9..481f480 100644 (file)
@@ -209,7 +209,15 @@ class Title {
         */
        public static function newFromID( $id, $flags = 0 ) {
                $db = ( $flags & self::GAID_FOR_UPDATE ) ? wfGetDB( DB_MASTER ) : wfGetDB( DB_SLAVE );
-               $row = $db->selectRow( 'page', '*', array( 'page_id' => $id ), __METHOD__ );
+               $row = $db->selectRow(
+                       'page',
+                       array(
+                               'page_namespace', 'page_title', 'page_id',
+                               'page_len', 'page_is_redirect', 'page_latest',
+                       ),
+                       array( 'page_id' => $id ),
+                       __METHOD__
+               );
                if ( $row !== false ) {
                        $title = Title::newFromRow( $row );
                } else {
@@ -3489,12 +3497,7 @@ class Title {
                $protected = $this->isProtected();
 
                // Do the actual move
-               $err = $this->moveToInternal( $nt, $reason, $createRedirect );
-               if ( is_array( $err ) ) {
-                       # @todo FIXME: What about the File we have already moved?
-                       $dbw->rollback( __METHOD__ );
-                       return $err;
-               }
+               $this->moveToInternal( $nt, $reason, $createRedirect );
 
                // Refresh the sortkey for this row.  Be careful to avoid resetting
                // cl_timestamp, which may disturb time-based lists on some sites.
@@ -3570,6 +3573,7 @@ class Title {
         * @param $reason String The reason for the move
         * @param $createRedirect Bool Whether to leave a redirect at the old title.  Ignored
         *   if the user doesn't have the suppressredirect right
+        * @throws MWException
         */
        private function moveToInternal( &$nt, $reason = '', $createRedirect = true ) {
                global $wgUser, $wgContLang;
@@ -3974,7 +3978,7 @@ class Title {
                $pageId = $this->getArticleID( $flags );
                if ( $pageId ) {
                        $db = ( $flags & self::GAID_FOR_UPDATE ) ? wfGetDB( DB_MASTER ) : wfGetDB( DB_SLAVE );
-                       $row = $db->selectRow( 'revision', '*',
+                       $row = $db->selectRow( 'revision', Revision::selectFields(),
                                array( 'rev_page' => $pageId ),
                                __METHOD__,
                                array( 'ORDER BY' => 'rev_timestamp ASC', 'LIMIT' => 1 )
index 5de4b2c..01407b1 100644 (file)
@@ -1028,7 +1028,7 @@ class User {
                }
 
                $dbr = wfGetDB( DB_MASTER );
-               $s = $dbr->selectRow( 'user', '*', array( 'user_id' => $this->mId ), __METHOD__ );
+               $s = $dbr->selectRow( 'user', self::selectFields(), array( 'user_id' => $this->mId ), __METHOD__ );
 
                wfRunHooks( 'UserLoadFromDatabase', array( $this, &$s ) );
 
@@ -4018,7 +4018,7 @@ class User {
 
                        $res = $dbr->select(
                                'user_properties',
-                               '*',
+                               array( 'up_property', 'up_value' ),
                                array( 'up_user' => $this->getId() ),
                                __METHOD__
                        );
@@ -4041,13 +4041,9 @@ class User {
        protected function saveOptions() {
                global $wgAllowPrefChange;
 
-               $extuser = ExternalUser::newFromUser( $this );
-
                $this->loadOptions();
-               $dbw = wfGetDB( DB_MASTER );
-
-               $insert_rows = array();
 
+               // Not using getOptions(), to keep hidden preferences in database
                $saveOptions = $this->mOptions;
 
                // Allow hooks to abort, for instance to save to a global profile.
@@ -4056,13 +4052,17 @@ class User {
                        return;
                }
 
+               $extuser = ExternalUser::newFromUser( $this );
+               $userId = $this->getId();
+               $insert_rows = array();
                foreach( $saveOptions as $key => $value ) {
                        # Don't bother storing default values
-                       if ( ( is_null( self::getDefaultOption( $key ) ) &&
-                                       !( $value === false || is_null($value) ) ) ||
-                                       $value != self::getDefaultOption( $key ) ) {
+                       $defaultOption = self::getDefaultOption( $key );
+                       if ( ( is_null( $defaultOption ) &&
+                                       !( $value === false || is_null( $value ) ) ) ||
+                                       $value != $defaultOption ) {
                                $insert_rows[] = array(
-                                               'up_user' => $this->getId(),
+                                               'up_user' => $userId,
                                                'up_property' => $key,
                                                'up_value' => $value,
                                        );
@@ -4079,7 +4079,8 @@ class User {
                        }
                }
 
-               $dbw->delete( 'user_properties', array( 'up_user' => $this->getId() ), __METHOD__ );
+               $dbw = wfGetDB( DB_MASTER );
+               $dbw->delete( 'user_properties', array( 'up_user' => $userId ), __METHOD__ );
                $dbw->insert( 'user_properties', $insert_rows, __METHOD__ );
        }
 
@@ -4141,4 +4142,28 @@ class User {
 
                return $ret;
        }
+
+       /**
+        * Return the list of user fields that should be selected to create
+        * a new user object.
+        * @return array
+        */
+       public static function selectFields() {
+               return array(
+                       'user_id',
+                       'user_name',
+                       'user_real_name',
+                       'user_password',
+                       'user_newpassword',
+                       'user_newpass_time',
+                       'user_email',
+                       'user_touched',
+                       'user_token',
+                       'user_email_authenticated',
+                       'user_email_token',
+                       'user_email_token_expires',
+                       'user_registration',
+                       'user_editcount',
+               );
+       }
 }
index 39c1b1b..87526fc 100644 (file)
@@ -981,9 +981,11 @@ HTML;
 
        /**
         * Parse the Accept-Language header sent by the client into an array
-        * @return array array( languageCode => q-value ) sorted by q-value in descending order
+        * @return array array( languageCode => q-value ) sorted by q-value in descending order then
+        *                                                appearing time in the header in ascending order.
         * May contain the "language" '*', which applies to languages other than those explicitly listed.
         * This is aligned with rfc2616 section 14.4
+        * Preference for earlier languages appears in rfc3282 as an extension to HTTP/1.1.
         */
        public function getAcceptLang() {
                // Modified version of code found at http://www.thefutureoftheweb.com/blog/use-accept-language-header
@@ -1004,19 +1006,25 @@ HTML;
                        return array();
                }
 
-               // Create a list like "en" => 0.8
-               $langs = array_combine( $lang_parse[1], $lang_parse[4] );
+               $langcodes = $lang_parse[1];
+               $qvalues = $lang_parse[4];
+               $indices = range( 0, count( $lang_parse[1] ) - 1 );
+
                // Set default q factor to 1
-               foreach ( $langs as $lang => $val ) {
-                       if ( $val === '' ) {
-                               $langs[$lang] = 1;
-                       } elseif ( $val == 0 ) {
-                               unset($langs[$lang]);
+               foreach ( $indices as $index ) {
+                       if ( $qvalues[$index] === '' ) {
+                               $qvalues[$index] = 1;
+                       } elseif ( $qvalues[$index] == 0 ) {
+                               unset( $langcodes[$index], $qvalues[$index], $indices[$index] );
                        }
                }
 
-               // Sort list
-               arsort( $langs, SORT_NUMERIC );
+               // Sort list. First by $qvalues, then by order. Reorder $langcodes the same way
+               array_multisort( $qvalues, SORT_DESC, SORT_NUMERIC, $indices, $langcodes );
+
+               // Create a list like "en" => 0.8
+               $langs = array_combine( $langcodes, $qvalues );
+
                return $langs;
        }
 
index b326eb4..b5f4c1d 100644 (file)
@@ -530,11 +530,7 @@ class WikiPage extends Page {
                }
 
                wfProfileOut( __METHOD__ );
-               if ( $row ) {
-                       return Revision::newFromRow( $row );
-               } else {
-                       return null;
-               }
+               return $row ? Revision::newFromRow( $row ) : null;
        }
 
        /**
@@ -2225,21 +2221,7 @@ class WikiPage extends Page {
                        return WikiPage::DELETE_NO_REVISIONS;
                }
 
-               # update site status
-               DeferredUpdates::addUpdate( new SiteStatsUpdate( 0, 1, - (int)$this->isCountable(), -1 ) );
-
-               # remove secondary indexes, etc
-               $updates = $this->getDeletionUpdates( );
-               DataUpdate::runUpdates( $updates );
-
-               # Clear caches
-               WikiPage::onArticleDelete( $this->mTitle );
-
-               # Reset this object
-               $this->clear();
-
-               # Clear the cached article id so the interface doesn't act like we exist
-               $this->mTitle->resetArticleID( 0 );
+               $this->doDeleteUpdates( $id );
 
                # Log the deletion, if the page was suppressed, log it at Oversight instead
                $logtype = $suppress ? 'suppress' : 'delete';
@@ -2259,6 +2241,39 @@ class WikiPage extends Page {
                return WikiPage::DELETE_SUCCESS;
        }
 
+       /**
+        * Do some database updates after deletion
+        *
+        * @param $id Int: page_id value of the page being deleted (B/C, currently unused)
+        */
+       public function doDeleteUpdates( $id ) {
+               # update site status
+               DeferredUpdates::addUpdate( new SiteStatsUpdate( 0, 1, - (int)$this->isCountable(), -1 ) );
+
+               # remove secondary indexes, etc
+               $updates = $this->getDeletionUpdates( );
+               DataUpdate::runUpdates( $updates );
+
+               # Clear caches
+               WikiPage::onArticleDelete( $this->mTitle );
+
+               # Reset this object
+               $this->clear();
+
+               # Clear the cached article id so the interface doesn't act like we exist
+               $this->mTitle->resetArticleID( 0 );
+       }
+
+       public function getDeletionUpdates() {
+               $updates = array(
+                       new LinksDeletionUpdate( $this ),
+               );
+
+               //@todo: make a hook to add update objects
+               //NOTE: deletion updates will be determined by the ContentHandler in the future
+               return $updates;
+       }
+
        /**
         * Roll back the most recent consecutive set of edits to a page
         * from the same user; fails if there are no eligible edits to
@@ -2956,16 +2971,6 @@ class WikiPage extends Page {
                global $wgUser;
                return $this->isParserCacheUsed( ParserOptions::newFromUser( $wgUser ), $oldid );
        }
-
-       public function getDeletionUpdates() {
-               $updates = array(
-                       new LinksDeletionUpdate( $this ),
-               );
-
-               //@todo: make a hook to add update objects
-               //NOTE: deletion updates will be determined by the ContentHandler in the future
-               return $updates;
-       }
 }
 
 class PoolWorkArticleView extends PoolCounterWork {
index 4e37381..d43e5fb 100644 (file)
@@ -36,7 +36,11 @@ class ViewAction extends FormlessAction {
        public function show(){
                global $wgSquidMaxage;
 
-               $this->getOutput()->setSquidMaxage( $wgSquidMaxage );
+               $request = $this->getRequest();
+               if ( $request->getFullRequestURL() == $this->getTitle()->getInternalURL() ) {
+                       $this->getOutput()->setSquidMaxage( $wgSquidMaxage );
+               }
+
                $this->page->view();
        }
 
index 9a2f255..e229ef0 100644 (file)
@@ -100,7 +100,7 @@ class ApiBlock extends ApiBase {
 
                $block = Block::newFromTarget( $target );
                if( $block instanceof Block ){
-                       $res['expiry'] = $block->mExpiry == wfGetDB( DB_SLAVE )->getInfinity()
+                       $res['expiry'] = $block->mExpiry == $this->getDB()->getInfinity()
                                ? 'infinite'
                                : wfTimestamp( TS_ISO_8601, $block->mExpiry );
                        $res['id'] = $block->getId();
index 8f4abc1..ef2c54f 100644 (file)
@@ -215,7 +215,8 @@ class ApiFormatXml extends ApiFormatBase {
        public function getParamDescription() {
                return array(
                        'xmldoublequote' => 'If specified, double quotes all attributes and content',
-                       'xslt' => 'If specified, adds <xslt> as stylesheet',
+                       'xslt' => 'If specified, adds <xslt> as stylesheet. This should be a wiki page '
+                               . 'in the MediaWiki namespace whose page name ends with ".xsl"',
                        'includexmlnamespace' => 'If specified, adds an XML namespace'
                );
        }
index cc86c76..598f9ad 100644 (file)
@@ -481,6 +481,7 @@ class ApiPageSet extends ApiQueryBase {
                        ApiBase::dieDebug( __METHOD__, 'Missing $processTitles parameter when $remaining is provided' );
                }
 
+               $usernames = array();
                if ( $res ) {
                        foreach ( $res as $row ) {
                                $pageId = intval( $row->page_id );
@@ -496,6 +497,11 @@ class ApiPageSet extends ApiQueryBase {
 
                                // Store any extra fields requested by modules
                                $this->processDbRow( $row );
+
+                               // Need gender information
+                               if( MWNamespace::hasGenderDistinction( $row->page_namespace ) ) {
+                                       $usernames[] = $row->page_title;
+                               }
                        }
                }
 
@@ -510,6 +516,11 @@ class ApiPageSet extends ApiQueryBase {
                                                $this->mMissingTitles[$this->mFakePageId] = $title;
                                                $this->mFakePageId--;
                                                $this->mTitles[] = $title;
+
+                                               // need gender information
+                                               if( MWNamespace::hasGenderDistinction( $ns ) ) {
+                                                       $usernames[] = $dbkey;
+                                               }
                                        }
                                }
                        } else {
@@ -521,6 +532,10 @@ class ApiPageSet extends ApiQueryBase {
                                }
                        }
                }
+
+               // Get gender information
+               $genderCache = GenderCache::singleton();
+               $genderCache->doQuery( $usernames, __METHOD__ );
        }
 
        /**
@@ -664,6 +679,9 @@ class ApiPageSet extends ApiQueryBase {
         * @return LinkBatch
         */
        private function processTitlesArray( $titles ) {
+               $genderCache = GenderCache::singleton();
+               $genderCache->doTitlesArray( $titles, __METHOD__ );
+
                $linkBatch = new LinkBatch();
 
                foreach ( $titles as $title ) {
index d156468..286f191 100644 (file)
@@ -56,7 +56,7 @@ class ApiProtect extends ApiBase {
                }
 
                $restrictionTypes = $titleObj->getRestrictionTypes();
-               $dbr = wfGetDB( DB_SLAVE );
+               $db = $this->getDB();
 
                $protections = array();
                $expiryarray = array();
@@ -80,7 +80,7 @@ class ApiProtect extends ApiBase {
                        }
 
                        if ( in_array( $expiry[$i], array( 'infinite', 'indefinite', 'never' ) ) ) {
-                               $expiryarray[$p[0]] = $dbr->getInfinity();
+                               $expiryarray[$p[0]] = $db->getInfinity();
                        } else {
                                $exp = strtotime( $expiry[$i] );
                                if ( $exp < 0 || !$exp ) {
@@ -94,7 +94,7 @@ class ApiProtect extends ApiBase {
                                $expiryarray[$p[0]] = $exp;
                        }
                        $resultProtections[] = array( $p[0] => $protections[$p[0]],
-                                       'expiry' => ( $expiryarray[$p[0]] == $dbr->getInfinity() ?
+                                       'expiry' => ( $expiryarray[$p[0]] == $db->getInfinity() ?
                                                                'infinite' :
                                                                wfTimestamp( TS_ISO_8601, $expiryarray[$p[0]] ) ) );
                }
index 7e7fc40..f04d5b2 100644 (file)
@@ -76,16 +76,16 @@ class ApiQueryAllLinks extends ApiQueryGeneratorBase {
                        $this->dieUsage( 'alcontinue and alfrom cannot be used together', 'params' );
                }
                if ( !is_null( $params['continue'] ) ) {
-                       $arr = explode( '|', $params['continue'] );
-                       if ( count( $arr ) != 2 ) {
+                       $continueArr = explode( '|', $params['continue'] );
+                       if ( count( $continueArr ) != 2 ) {
                                $this->dieUsage( 'Invalid continue parameter', 'badcontinue' );
                        }
-                       $from = $this->getDB()->strencode( $this->titleToKey( $arr[0] ) );
-                       $id = intval( $arr[1] );
+                       $continueTitle = $db->addQuotes( $this->titleToKey( $continueArr[0] ) );
+                       $continueFrom = intval( $continueArr[1] );
                        $this->addWhere(
-                               "pl_title > '$from' OR " .
-                               "(pl_title = '$from' AND " .
-                               "pl_from > $id)"
+                               "pl_title > $continueTitle OR " .
+                               "(pl_title = $continueTitle AND " .
+                               "pl_from > $continueFrom)"
                        );
                }
 
index 01cb15a..e110e67 100644 (file)
@@ -154,9 +154,9 @@ class ApiQueryAllUsers extends ApiQueryBase {
 
                        $this->addFields( 'COUNT(*) AS recentedits' );
 
-                       $this->addWhere( "rc_log_type IS NULL OR rc_log_type != 'newusers'" );
+                       $this->addWhere( 'rc_log_type IS NULL OR rc_log_type != ' . $db->addQuotes( 'newusers' ) );
                        $timestamp = $db->timestamp( wfTimestamp( TS_UNIX ) - $wgActiveUserDays*24*3600 );
-                       $this->addWhere( "rc_timestamp >= {$db->addQuotes( $timestamp )}" );
+                       $this->addWhere( 'rc_timestamp >= ' . $db->addQuotes( $timestamp ) );
 
                        $this->addOption( 'GROUP BY', $userFieldToSort );
                }
@@ -361,7 +361,7 @@ class ApiQueryAllUsers extends ApiQueryBase {
                        'dir' => 'Direction to sort in',
                        'group' => 'Limit users to given group name(s)',
                        'excludegroup' => 'Exclude users in given group name(s)',
-                       'rights' => 'Limit users to given right(s)',
+                       'rights' => 'Limit users to given right(s) (does not include rights granted by implicit or auto-promoted groups like *, user, or autoconfirmed)',
                        'prop' => array(
                                'What pieces of information to include.',
                                ' blockinfo      - Adds the information about a current block on the user',
index 8903714..5505692 100644 (file)
@@ -188,25 +188,25 @@ class ApiQueryBacklinks extends ApiQueryGeneratorBase {
                $titleWhere = array();
                foreach ( $this->redirTitles as $t ) {
                        $titleWhere[] = "{$this->bl_title} = " . $db->addQuotes( $t->getDBkey() ) .
-                                       ( $this->hasNS ? " AND {$this->bl_ns} = '{$t->getNamespace()}'" : '' );
+                                       ( $this->hasNS ? " AND {$this->bl_ns} = {$t->getNamespace()}" : '' );
                }
                $this->addWhere( $db->makeList( $titleWhere, LIST_OR ) );
                $this->addWhereFld( 'page_namespace', $this->params['namespace'] );
 
                if ( !is_null( $this->redirID ) ) {
                        $first = $this->redirTitles[0];
-                       $title = $db->strencode( $first->getDBkey() );
+                       $title = $db->addQuotes( $first->getDBkey() );
                        $ns = $first->getNamespace();
                        $from = $this->redirID;
                        if ( $this->hasNS ) {
                                $this->addWhere( "{$this->bl_ns} > $ns OR " .
                                                "({$this->bl_ns} = $ns AND " .
-                                               "({$this->bl_title} > '$title' OR " .
-                                               "({$this->bl_title} = '$title' AND " .
+                                               "({$this->bl_title} > $title OR " .
+                                               "({$this->bl_title} = $title AND " .
                                                "{$this->bl_from} >= $from)))" );
                        } else {
-                               $this->addWhere( "{$this->bl_title} > '$title' OR " .
-                                               "({$this->bl_title} = '$title' AND " .
+                               $this->addWhere( "{$this->bl_title} > $title OR " .
+                                               "({$this->bl_title} = $title AND " .
                                                "{$this->bl_from} >= $from)" );
                        }
                }
index 824589c..8c287d6 100644 (file)
@@ -103,10 +103,15 @@ class ApiQueryBlocks extends ApiQueryBase {
                        }
                        $prefix = substr( $lower, 0, 4 );
 
+                       # Fairly hard to make a malicious SQL statement out of hex characters,
+                       # but it is good practice to add quotes
+                       $lower = $db->addQuotes( $lower );
+                       $upper = $db->addQuotes( $upper );
+
                        $this->addWhere( array(
                                'ipb_range_start' . $db->buildLike( $prefix, $db->anyString() ),
-                               "ipb_range_start <= '$lower'",
-                               "ipb_range_end >= '$upper'",
+                               'ipb_range_start <= ' . $lower,
+                               'ipb_range_end >= ' . $upper,
                                'ipb_auto' => 0
                        ) );
                }
index 0f7800f..35b5645 100644 (file)
@@ -97,7 +97,7 @@ class ApiQueryCategoryMembers extends ApiQueryGeneratorBase {
                $dir = in_array( $params['dir'], array( 'asc', 'ascending', 'newer' ) ) ? 'newer' : 'older';
 
                if ( $params['sort'] == 'timestamp' ) {
-                       $this->addWhereRange( 'cl_timestamp',
+                       $this->addTimestampWhereRange( 'cl_timestamp',
                                $dir,
                                $params['start'],
                                $params['end'] );
index c25f561..6912ddc 100644 (file)
@@ -155,7 +155,7 @@ class ApiQueryDeletedrevs extends ApiQueryBase {
                        $this->addWhereFld( 'ar_user_text', $params['user'] );
                } elseif ( !is_null( $params['excludeuser'] ) ) {
                        $this->addWhere( 'ar_user_text != ' .
-                               $this->getDB()->addQuotes( $params['excludeuser'] ) );
+                               $db->addQuotes( $params['excludeuser'] ) );
                }
 
                if ( !is_null( $params['continue'] ) && ( $mode == 'all' || $mode == 'revs' ) ) {
@@ -164,14 +164,14 @@ class ApiQueryDeletedrevs extends ApiQueryBase {
                                $this->dieUsage( 'Invalid continue param. You should pass the original value returned by the previous query', 'badcontinue' );
                        }
                        $ns = intval( $cont[0] );
-                       $title = $this->getDB()->strencode( $this->titleToKey( $cont[1] ) );
-                       $ts = $this->getDB()->strencode( $cont[2] );
+                       $title = $db->addQuotes( $this->titleToKey( $cont[1] ) );
+                       $ts = $db->addQuotes( $db->timestamp( $cont[2] ) );
                        $op = ( $dir == 'newer' ? '>' : '<' );
                        $this->addWhere( "ar_namespace $op $ns OR " .
                                        "(ar_namespace = $ns AND " .
-                                       "(ar_title $op '$title' OR " .
-                                       "(ar_title = '$title' AND " .
-                                       "ar_timestamp $op= '$ts')))" );
+                                       "(ar_title $op $title OR " .
+                                       "(ar_title = $title AND " .
+                                       "ar_timestamp $op= $ts)))" );
                }
 
                $this->addOption( 'LIMIT', $limit + 1 );
index 8ebe3ec..2ffe479 100644 (file)
@@ -61,14 +61,15 @@ class ApiQueryIWBacklinks extends ApiQueryGeneratorBase {
                                        'original value returned by the previous query', '_badcontinue' );
                        }
 
-                       $prefix = $this->getDB()->strencode( $cont[0] );
-                       $title = $this->getDB()->strencode( $this->titleToKey( $cont[1] ) );
+                       $db = $this->getDB();
+                       $prefix = $db->addQuotes( $cont[0] );
+                       $title = $db->addQuotes( $this->titleToKey( $cont[1] ) );
                        $from = intval( $cont[2] );
                        $this->addWhere(
-                               "iwl_prefix > '$prefix' OR " .
-                               "(iwl_prefix = '$prefix' AND " .
-                               "(iwl_title > '$title' OR " .
-                               "(iwl_title = '$title' AND " .
+                               "iwl_prefix > $prefix OR " .
+                               "(iwl_prefix = $prefix AND " .
+                               "(iwl_title > $title OR " .
+                               "(iwl_title = $title AND " .
                                "iwl_from >= $from)))"
                        );
                }
index 4233560..efc2e81 100644 (file)
@@ -61,14 +61,15 @@ class ApiQueryLangBacklinks extends ApiQueryGeneratorBase {
                                        'original value returned by the previous query', '_badcontinue' );
                        }
 
-                       $prefix = $this->getDB()->strencode( $cont[0] );
-                       $title = $this->getDB()->strencode( $this->titleToKey( $cont[1] ) );
+                       $db = $this->getDB();
+                       $prefix = $db->addQuotes( $cont[0] );
+                       $title = $db->addQuotes( $this->titleToKey( $cont[1] ) );
                        $from = intval( $cont[2] );
                        $this->addWhere(
-                               "ll_lang > '$prefix' OR " .
-                               "(ll_lang = '$prefix' AND " .
-                               "(ll_title > '$title' OR " .
-                               "(ll_title = '$title' AND " .
+                               "ll_lang > $prefix OR " .
+                               "(ll_lang = $prefix AND " .
+                               "(ll_title > $title OR " .
+                               "(ll_title = $title AND " .
                                "ll_from >= $from)))"
                        );
                }
index 2d2d9ff..931af08 100644 (file)
@@ -144,7 +144,7 @@ class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
                /* Build our basic query. Namely, something along the lines of:
                 * SELECT * FROM recentchanges WHERE rc_timestamp > $start
                 *              AND rc_timestamp < $end AND rc_namespace = $namespace
-                *              AND rc_deleted = '0'
+                *              AND rc_deleted = 0
                 */
                $this->addTables( 'recentchanges' );
                $index = array( 'recentchanges' => 'rc_timestamp' ); // May change
index 426de6c..44cb46e 100644 (file)
@@ -297,7 +297,7 @@ class ApiQueryRevisions extends ApiQueryBase {
                        $this->addWhereFld( 'rev_id', array_keys( $revs ) );
 
                        if ( !is_null( $params['continue'] ) ) {
-                               $this->addWhere( "rev_id >= '" . intval( $params['continue'] ) . "'" );
+                               $this->addWhere( 'rev_id >= ' . intval( $params['continue'] ) );
                        }
                        $this->addOption( 'ORDER BY', 'rev_id' );
 
@@ -329,9 +329,9 @@ class ApiQueryRevisions extends ApiQueryBase {
                                $pageid = intval( $cont[0] );
                                $revid = intval( $cont[1] );
                                $this->addWhere(
-                                       "rev_page > '$pageid' OR " .
-                                       "(rev_page = '$pageid' AND " .
-                                       "rev_id >= '$revid')"
+                                       "rev_page > $pageid OR " .
+                                       "(rev_page = $pageid AND " .
+                                       "rev_id >= $revid)"
                                );
                        }
                        $this->addOption( 'ORDER BY', array(
index 1654382..097d3e1 100644 (file)
@@ -152,13 +152,14 @@ class ApiQueryContributions extends ApiQueryBase {
                                $this->dieUsage( 'Invalid continue param. You should pass the original ' .
                                        'value returned by the previous query', '_badcontinue' );
                        }
-                       $encUser = $this->getDB()->strencode( $continue[0] );
-                       $encTS = wfTimestamp( TS_MW, $continue[1] );
+                       $db = $this->getDB();
+                       $encUser = $db->addQuotes( $continue[0] );
+                       $encTS = $db->addQuotes( $db->timestamp( $continue[1] ) );
                        $op = ( $this->params['dir'] == 'older' ? '<' : '>' );
                        $this->addWhere(
-                               "rev_user_text $op '$encUser' OR " .
-                               "(rev_user_text = '$encUser' AND " .
-                               "rev_timestamp $op= '$encTS')"
+                               "rev_user_text $op $encUser OR " .
+                               "(rev_user_text = $encUser AND " .
+                               "rev_timestamp $op= $encTS)"
                        );
                }
 
index a07ee7f..83872a5 100644 (file)
@@ -107,7 +107,7 @@ class ApiQueryUsers extends ApiQueryBase {
 
                if ( count( $goodNames ) ) {
                        $this->addTables( 'user' );
-                       $this->addFields( '*' );
+                       $this->addFields( User::selectFields() );
                        $this->addWhereFld( 'user_name', $goodNames );
 
                        if ( isset( $this->prop['groups'] ) || isset( $this->prop['rights'] ) ) {
index ce4ce50..5e96dd5 100644 (file)
@@ -76,12 +76,12 @@ class ApiQueryWatchlistRaw extends ApiQueryGeneratorBase {
                                        "original value returned by the previous query", "_badcontinue" );
                        }
                        $ns = intval( $cont[0] );
-                       $title = $this->getDB()->strencode( $this->titleToKey( $cont[1] ) );
+                       $title = $this->getDB()->addQuotes( $this->titleToKey( $cont[1] ) );
                        $op = $params['dir'] == 'ascending' ? '>' : '<';
                        $this->addWhere(
-                               "wl_namespace $op '$ns' OR " .
-                               "(wl_namespace = '$ns' AND " .
-                               "wl_title $op= '$title')"
+                               "wl_namespace $op $ns OR " .
+                               "(wl_namespace = $ns AND " .
+                               "wl_title $op= $title)"
                        );
                }
 
index 6a9ecd2..2a169bb 100644 (file)
@@ -111,6 +111,29 @@ class GenderCache {
                $this->doQuery( array_keys( $users ), $caller );
        }
 
+       /**
+        * Wrapper for doQuery that processes a title or string array.
+        *
+        * @since 1.20
+        * @param $titles List: array of Title objects or strings
+        * @param $caller String: the calling method
+        */
+       public function doTitlesArray( $titles, $caller = '' ) {
+               $users = array();
+               foreach ( $titles as $title ) {
+                       $titleObj = is_string( $title ) ? Title::newFromText( $title ) : $title;
+                       if ( !$titleObj ) {
+                               continue;
+                       }
+                       if ( !MWNamespace::hasGenderDistinction( $titleObj->getNamespace() ) ) {
+                               continue;
+                       }
+                       $users[] = $titleObj->getText();
+               }
+
+               $this->doQuery( $users, $caller );
+       }
+
        /**
         * Preloads genders for given list of users.
         * @param $users List|String: usernames
index 91de65f..24f32d6 100644 (file)
@@ -132,6 +132,7 @@ class MessageCache {
        function getParserOptions() {
                if ( !$this->mParserOptions ) {
                        $this->mParserOptions = new ParserOptions;
+                       $this->mParserOptions->setEditSection( false );
                }
                return $this->mParserOptions;
        }
diff --git a/includes/db/IORMRow.php b/includes/db/IORMRow.php
new file mode 100644 (file)
index 0000000..a530620
--- /dev/null
@@ -0,0 +1,273 @@
+<?php
+/**
+ * Interface for representing objects that are stored in some DB table.
+ * This is basically an ORM-like wrapper around rows in database tables that
+ * aims to be both simple and very flexible. It is centered around an associative
+ * array of fields and various methods to do common interaction with the database.
+ *
+ * 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
+ *
+ * @since 1.20
+ *
+ * @file
+ * @ingroup ORM
+ *
+ * @licence GNU GPL v2 or later
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+
+interface IORMRow {
+
+
+       /**
+        * Constructor.
+        *
+        * @since 1.20
+        *
+        * @param IORMTable $table
+        * @param array|null $fields
+        * @param boolean $loadDefaults
+        */
+       public function __construct( IORMTable $table, $fields = null, $loadDefaults = false );
+
+       /**
+        * Load the specified fields from the database.
+        *
+        * @since 1.20
+        *
+        * @param array|null $fields
+        * @param boolean $override
+        * @param boolean $skipLoaded
+        *
+        * @return bool Success indicator
+        */
+       public function loadFields( $fields = null, $override = true, $skipLoaded = false );
+
+       /**
+        * Gets the value of a field.
+        *
+        * @since 1.20
+        *
+        * @param string $name
+        * @param mixed $default
+        *
+        * @throws MWException
+        * @return mixed
+        */
+       public function getField( $name, $default = null );
+
+       /**
+        * Gets the value of a field but first loads it if not done so already.
+        *
+        * @since 1.20
+        *
+        * @param string$name
+        *
+        * @return mixed
+        */
+       public function loadAndGetField( $name );
+
+       /**
+        * Remove a field.
+        *
+        * @since 1.20
+        *
+        * @param string $name
+        */
+       public function removeField( $name );
+
+       /**
+        * Returns the objects database id.
+        *
+        * @since 1.20
+        *
+        * @return integer|null
+        */
+       public function getId();
+
+       /**
+        * Sets the objects database id.
+        *
+        * @since 1.20
+        *
+        * @param integer|null $id
+        */
+       public function setId( $id );
+
+       /**
+        * Gets if a certain field is set.
+        *
+        * @since 1.20
+        *
+        * @param string $name
+        *
+        * @return boolean
+        */
+       public function hasField( $name );
+
+       /**
+        * Gets if the id field is set.
+        *
+        * @since 1.20
+        *
+        * @return boolean
+        */
+       public function hasIdField();
+
+       /**
+        * Sets multiple fields.
+        *
+        * @since 1.20
+        *
+        * @param array $fields The fields to set
+        * @param boolean $override Override already set fields with the provided values?
+        */
+       public function setFields( array $fields, $override = true );
+
+       /**
+        * Serializes the object to an associative array which
+        * can then easily be converted into JSON or similar.
+        *
+        * @since 1.20
+        *
+        * @param null|array $fields
+        * @param boolean $incNullId
+        *
+        * @return array
+        */
+       public function toArray( $fields = null, $incNullId = false );
+
+       /**
+        * Load the default values, via getDefaults.
+        *
+        * @since 1.20
+        *
+        * @param boolean $override
+        */
+       public function loadDefaults( $override = true );
+
+       /**
+        * Writes the answer to the database, either updating it
+        * when it already exists, or inserting it when it doesn't.
+        *
+        * @since 1.20
+        *
+        * @param string|null $functionName
+        *
+        * @return boolean Success indicator
+        */
+       public function save( $functionName = null );
+
+       /**
+        * Removes the object from the database.
+        *
+        * @since 1.20
+        *
+        * @return boolean Success indicator
+        */
+       public function remove();
+
+       /**
+        * Return the names and values of the fields.
+        *
+        * @since 1.20
+        *
+        * @return array
+        */
+       public function getFields();
+
+       /**
+        * Return the names of the fields.
+        *
+        * @since 1.20
+        *
+        * @return array
+        */
+       public function getSetFieldNames();
+
+       /**
+        * Sets the value of a field.
+        * Strings can be provided for other types,
+        * so this method can be called from unserialization handlers.
+        *
+        * @since 1.20
+        *
+        * @param string $name
+        * @param mixed $value
+        *
+        * @throws MWException
+        */
+       public function setField( $name, $value );
+
+       /**
+        * Add an amount (can be negative) to the specified field (needs to be numeric).
+        * TODO: most off this stuff makes more sense in the table class
+        *
+        * @since 1.20
+        *
+        * @param string $field
+        * @param integer $amount
+        *
+        * @return boolean Success indicator
+        */
+       public function addToField( $field, $amount );
+
+       /**
+        * Return the names of the fields.
+        *
+        * @since 1.20
+        *
+        * @return array
+        */
+       public function getFieldNames();
+
+       /**
+        * Computes and updates the values of the summary fields.
+        *
+        * @since 1.20
+        *
+        * @param array|string|null $summaryFields
+        */
+       public function loadSummaryFields( $summaryFields = null );
+
+       /**
+        * Sets the value for the @see $updateSummaries field.
+        *
+        * @since 1.20
+        *
+        * @param boolean $update
+        */
+       public function setUpdateSummaries( $update );
+
+       /**
+        * Sets the value for the @see $inSummaryMode field.
+        *
+        * @since 1.20
+        *
+        * @param boolean $summaryMode
+        */
+       public function setSummaryMode( $summaryMode );
+
+       /**
+        * Returns the table this IORMRow is a row in.
+        *
+        * @since 1.20
+        *
+        * @return IORMTable
+        */
+       public function getTable();
+
+}
\ No newline at end of file
diff --git a/includes/db/IORMTable.php b/includes/db/IORMTable.php
new file mode 100644 (file)
index 0000000..853e8cd
--- /dev/null
@@ -0,0 +1,444 @@
+<?php
+/**
+ * Interface for objects representing a single database table.
+ *
+ * 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
+ *
+ * @since 1.20
+ *
+ * @file
+ * @ingroup ORM
+ *
+ * @licence GNU GPL v2 or later
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+
+interface IORMTable {
+
+       /**
+        * Returns the name of the database table objects of this type are stored in.
+        *
+        * @since 1.20
+        *
+        * @return string
+        */
+       public function getName();
+
+       /**
+        * Returns the name of a IORMRow implementing class that
+        * represents single rows in this table.
+        *
+        * @since 1.20
+        *
+        * @return string
+        */
+       public function getRowClass();
+
+       /**
+        * Returns an array with the fields and their types this object contains.
+        * This corresponds directly to the fields in the database, without prefix.
+        *
+        * field name => type
+        *
+        * Allowed types:
+        * * id
+        * * str
+        * * int
+        * * float
+        * * bool
+        * * array
+        * * blob
+        *
+        * @since 1.20
+        *
+        * @return array
+        */
+       public function getFields();
+
+       /**
+        * Returns a list of default field values.
+        * field name => field value
+        *
+        * @since 1.20
+        *
+        * @return array
+        */
+       public function getDefaults();
+
+       /**
+        * Returns a list of the summary fields.
+        * These are fields that cache computed values, such as the amount of linked objects of $type.
+        * This is relevant as one might not want to do actions such as log changes when these get updated.
+        *
+        * @since 1.20
+        *
+        * @return array
+        */
+       public function getSummaryFields();
+
+       /**
+        * Selects the the specified fields of the records matching the provided
+        * conditions and returns them as DBDataObject. Field names get prefixed.
+        *
+        * @since 1.20
+        *
+        * @param array|string|null $fields
+        * @param array $conditions
+        * @param array $options
+        * @param string|null $functionName
+        *
+        * @return ORMResult
+        */
+       public function select( $fields = null, array $conditions = array(),
+                                                       array $options = array(), $functionName  = null );
+
+       /**
+        * Selects the the specified fields of the records matching the provided
+        * conditions and returns them as DBDataObject. Field names get prefixed.
+        *
+        * @since 1.20
+        *
+        * @param array|string|null $fields
+        * @param array $conditions
+        * @param array $options
+        * @param string|null $functionName
+        *
+        * @return array of self
+        */
+       public function selectObjects( $fields = null, array $conditions = array(),
+                                                                  array $options = array(), $functionName  = null );
+
+       /**
+        * Do the actual select.
+        *
+        * @since 1.20
+        *
+        * @param null|string|array $fields
+        * @param array $conditions
+        * @param array $options
+        * @param null|string $functionName
+        *
+        * @return ResultWrapper
+        */
+       public function rawSelect( $fields = null, array $conditions = array(),
+                                                          array $options = array(), $functionName  = null );
+
+       /**
+        * Selects the the specified fields of the records matching the provided
+        * conditions and returns them as associative arrays.
+        * Provided field names get prefixed.
+        * Returned field names will not have a prefix.
+        *
+        * When $collapse is true:
+        * If one field is selected, each item in the result array will be this field.
+        * If two fields are selected, each item in the result array will have as key
+        * the first field and as value the second field.
+        * If more then two fields are selected, each item will be an associative array.
+        *
+        * @since 1.20
+        *
+        * @param array|string|null $fields
+        * @param array $conditions
+        * @param array $options
+        * @param boolean $collapse Set to false to always return each result row as associative array.
+        * @param string|null $functionName
+        *
+        * @return array of array
+        */
+       public function selectFields( $fields = null, array $conditions = array(),
+                                                                 array $options = array(), $collapse = true, $functionName  = null );
+
+       /**
+        * Selects the the specified fields of the first matching record.
+        * Field names get prefixed.
+        *
+        * @since 1.20
+        *
+        * @param array|string|null $fields
+        * @param array $conditions
+        * @param array $options
+        * @param string|null $functionName
+        *
+        * @return IORMRow|bool False on failure
+        */
+       public function selectRow( $fields = null, array $conditions = array(),
+                                                          array $options = array(), $functionName = null );
+
+       /**
+        * Selects the the specified fields of the records matching the provided
+        * conditions. Field names do NOT get prefixed.
+        *
+        * @since 1.20
+        *
+        * @param array $fields
+        * @param array $conditions
+        * @param array $options
+        * @param string|null $functionName
+        *
+        * @return ResultWrapper
+        */
+       public function rawSelectRow( array $fields, array $conditions = array(),
+                                                                 array $options = array(), $functionName = null );
+
+       /**
+        * Selects the the specified fields of the first record matching the provided
+        * conditions and returns it as an associative array, or false when nothing matches.
+        * This method makes use of selectFields and expects the same parameters and
+        * returns the same results (if there are any, if there are none, this method returns false).
+        * @see IORMTable::selectFields
+        *
+        * @since 1.20
+        *
+        * @param array|string|null $fields
+        * @param array $conditions
+        * @param array $options
+        * @param boolean $collapse Set to false to always return each result row as associative array.
+        * @param string|null $functionName
+        *
+        * @return mixed|array|bool False on failure
+        */
+       public function selectFieldsRow( $fields = null, array $conditions = array(),
+                                                                        array $options = array(), $collapse = true, $functionName = null );
+
+       /**
+        * Returns if there is at least one record matching the provided conditions.
+        * Condition field names get prefixed.
+        *
+        * @since 1.20
+        *
+        * @param array $conditions
+        *
+        * @return boolean
+        */
+       public function has( array $conditions = array() );
+
+       /**
+        * Returns the amount of matching records.
+        * Condition field names get prefixed.
+        *
+        * Note that this can be expensive on large tables.
+        * In such cases you might want to use DatabaseBase::estimateRowCount instead.
+        *
+        * @since 1.20
+        *
+        * @param array $conditions
+        * @param array $options
+        *
+        * @return integer
+        */
+       public function count( array $conditions = array(), array $options = array() );
+
+       /**
+        * Removes the object from the database.
+        *
+        * @since 1.20
+        *
+        * @param array $conditions
+        * @param string|null $functionName
+        *
+        * @return boolean Success indicator
+        */
+       public function delete( array $conditions, $functionName = null );
+
+       /**
+        * Get API parameters for the fields supported by this object.
+        *
+        * @since 1.20
+        *
+        * @param boolean $requireParams
+        * @param boolean $setDefaults
+        *
+        * @return array
+        */
+       public function getAPIParams( $requireParams = false, $setDefaults = false );
+
+       /**
+        * Returns an array with the fields and their descriptions.
+        *
+        * field name => field description
+        *
+        * @since 1.20
+        *
+        * @return array
+        */
+       public function getFieldDescriptions();
+
+       /**
+        * Get the database type used for read operations.
+        *
+        * @since 1.20
+        *
+        * @return integer DB_ enum
+        */
+       public function getReadDb();
+
+       /**
+        * Set the database type to use for read operations.
+        *
+        * @param integer $db
+        *
+        * @since 1.20
+        */
+       public function setReadDb( $db );
+
+       /**
+        * Update the records matching the provided conditions by
+        * setting the fields that are keys in the $values param to
+        * their corresponding values.
+        *
+        * @since 1.20
+        *
+        * @param array $values
+        * @param array $conditions
+        *
+        * @return boolean Success indicator
+        */
+       public function update( array $values, array $conditions = array() );
+
+       /**
+        * Computes the values of the summary fields of the objects matching the provided conditions.
+        *
+        * @since 1.20
+        *
+        * @param array|string|null $summaryFields
+        * @param array $conditions
+        */
+       public function updateSummaryFields( $summaryFields = null, array $conditions = array() );
+
+       /**
+        * Takes in an associative array with field names as keys and
+        * their values as value. The field names are prefixed with the
+        * db field prefix.
+        *
+        * @since 1.20
+        *
+        * @param array $values
+        *
+        * @return array
+        */
+       public function getPrefixedValues( array $values );
+
+       /**
+        * Takes in a field or array of fields and returns an
+        * array with their prefixed versions, ready for db usage.
+        *
+        * @since 1.20
+        *
+        * @param array|string $fields
+        *
+        * @return array
+        */
+       public function getPrefixedFields( array $fields );
+
+       /**
+        * Takes in a field and returns an it's prefixed version, ready for db usage.
+        *
+        * @since 1.20
+        *
+        * @param string|array $field
+        *
+        * @return string
+        */
+       public function getPrefixedField( $field );
+
+       /**
+        * Takes an array of field names with prefix and returns the unprefixed equivalent.
+        *
+        * @since 1.20
+        *
+        * @param array $fieldNames
+        *
+        * @return array
+        */
+       public function unprefixFieldNames( array $fieldNames );
+
+       /**
+        * Takes a field name with prefix and returns the unprefixed equivalent.
+        *
+        * @since 1.20
+        *
+        * @param string $fieldName
+        *
+        * @return string
+        */
+       public function unprefixFieldName( $fieldName );
+
+       /**
+        * Get an instance of this class.
+        *
+        * @since 1.20
+        *
+        * @return IORMTable
+        */
+       public static function singleton();
+
+       /**
+        * Get an array with fields from a database result,
+        * that can be fed directly to the constructor or
+        * to setFields.
+        *
+        * @since 1.20
+        *
+        * @param stdClass $result
+        *
+        * @return array
+        */
+       public function getFieldsFromDBResult( stdClass $result );
+
+       /**
+        * Get a new instance of the class from a database result.
+        *
+        * @since 1.20
+        *
+        * @param stdClass $result
+        *
+        * @return IORMRow
+        */
+       public function newFromDBResult( stdClass $result );
+
+       /**
+        * Get a new instance of the class from an array.
+        *
+        * @since 1.20
+        *
+        * @param array $data
+        * @param boolean $loadDefaults
+        *
+        * @return IORMRow
+        */
+       public function newFromArray( array $data, $loadDefaults = false );
+
+       /**
+        * Return the names of the fields.
+        *
+        * @since 1.20
+        *
+        * @return array
+        */
+       public function getFieldNames();
+
+       /**
+        * Gets if the object can take a certain field.
+        *
+        * @since 1.20
+        *
+        * @param string $name
+        *
+        * @return boolean
+        */
+       public function canHaveField( $name );
+
+}
\ No newline at end of file
index 31e0c19..1e6b83d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Result of a ORMTable::select, which returns ORMRow objects.
+ * Result of a ORMTable::select, which returns IORMRow objects.
  *
  * 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
@@ -20,6 +20,7 @@
  * @since 1.20
  *
  * @file ORMResult.php
+ * @ingroup ORM
  *
  * @licence GNU GPL v2 or later
  * @author Jeroen De Dauw < jeroendedauw@gmail.com >
@@ -38,20 +39,20 @@ class ORMResult implements Iterator {
        protected  $key;
 
        /**
-        * @var ORMRow
+        * @var IORMRow
         */
        protected $current;
 
        /**
-        * @var ORMTable
+        * @var IORMTable
         */
        protected $table;
 
        /**
-        * @param ORMTable $table
+        * @param IORMTable $table
         * @param ResultWrapper $res
         */
-       public function __construct( ORMTable $table, ResultWrapper $res ) {
+       public function __construct( IORMTable $table, ResultWrapper $res ) {
                $this->table = $table;
                $this->res = $res;
                $this->key = 0;
@@ -84,7 +85,7 @@ class ORMResult implements Iterator {
        }
 
        /**
-        * @return ORMRow
+        * @return IORMRow
         */
        public function current() {
                return $this->current;
index d3a97db..6f19fe1 100644 (file)
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  * http://www.gnu.org/copyleft/gpl.html
  *
- * These methods are likely candidates for overriding:
- * * getDefaults
- * * remove
- * * insert
- * * saveExisting
- * * loadSummaryFields
- * * getSummaryFields
- *
- * Main instance methods:
- * * getField(s)
- * * setField(s)
- * * save
- * * remove
- *
- * Main static methods:
- * * select
- * * update
- * * delete
- * * count
- * * has
- * * selectRow
- * * selectFields
- * * selectFieldsRow
- *
  * @since 1.20
  *
  * @file ORMRow.php
+ * @ingroup ORM
  *
  * @licence GNU GPL v2 or later
  * @author Jeroen De Dauw < jeroendedauw@gmail.com >
  */
 
-abstract class ORMRow {
+abstract class ORMRow implements IORMRow {
 
        /**
         * The fields of the object.
@@ -95,11 +72,11 @@ abstract class ORMRow {
         *
         * @since 1.20
         *
-        * @param ORMTable $table
+        * @param IORMTable $table
         * @param array|null $fields
         * @param boolean $loadDefaults
         */
-       public function __construct( ORMTable $table, $fields = null, $loadDefaults = false ) {
+       public function __construct( IORMTable $table, $fields = null, $loadDefaults = false ) {
                $this->table = $table;
 
                if ( !is_array( $fields ) ) {
@@ -331,7 +308,7 @@ abstract class ORMRow {
        /**
         * Load the default values, via getDefaults.
         *
-        *  @since 1.20
+        * @since 1.20
         *
         * @param boolean $override
         */
@@ -376,7 +353,8 @@ abstract class ORMRow {
                        is_null( $functionName ) ? __METHOD__ : $functionName
                );
 
-               return $success;
+               // DatabaseBase::update does not always return true for success as documented...
+               return $success !== false;
        }
 
        /**
@@ -404,18 +382,21 @@ abstract class ORMRow {
        protected function insert( $functionName = null, array $options = null ) {
                $dbw = wfGetDB( DB_MASTER );
 
-               $result = $dbw->insert(
+               $success = $dbw->insert(
                        $this->table->getName(),
                        $this->getWriteValues(),
                        is_null( $functionName ) ? __METHOD__ : $functionName,
                        is_null( $options ) ? array( 'IGNORE' ) : $options
                );
 
-               if ( $result ) {
+               // DatabaseBase::insert does not always return true for success as documented...
+               $success = $success !== false;
+
+               if ( $success ) {
                        $this->setField( 'id', $dbw->insertId() );
                }
 
-               return $result;
+               return $success;
        }
 
        /**
@@ -430,6 +411,9 @@ abstract class ORMRow {
 
                $success = $this->table->delete( array( 'id' => $this->getId() ) );
 
+               // DatabaseBase::delete does not always return true for success as documented...
+               $success = $success !== false;
+
                if ( $success ) {
                        $this->onRemoved();
                }
@@ -550,6 +534,7 @@ abstract class ORMRow {
 
        /**
         * Add an amount (can be negative) to the specified field (needs to be numeric).
+        * TODO: most off this stuff makes more sense in the table class
         *
         * @since 1.20
         *
@@ -637,14 +622,14 @@ abstract class ORMRow {
         *
         * @since 1.20
         *
-        * @param ORMRow $object
+        * @param IORMRow $object
         * @param boolean|array $excludeSummaryFields
         *  When set to true, summary field changes are ignored.
         *  Can also be an array of fields to ignore.
         *
         * @return boolean
         */
-       protected function fieldsChanged( ORMRow $object, $excludeSummaryFields = false ) {
+       protected function fieldsChanged( IORMRow $object, $excludeSummaryFields = false ) {
                $exclusionFields = array();
 
                if ( $excludeSummaryFields !== false ) {
@@ -663,11 +648,11 @@ abstract class ORMRow {
        }
 
        /**
-        * Returns the table this ORMRow is a row in.
+        * Returns the table this IORMRow is a row in.
         *
         * @since 1.20
         *
-        * @return ORMTable
+        * @return IORMTable
         */
        public function getTable() {
                return $this->table;
index 2f02c6b..b6e2d52 100644 (file)
  * @since 1.20
  *
  * @file ORMTable.php
+ * @ingroup ORM
  *
  * @licence GNU GPL v2 or later
  * @author Jeroen De Dauw < jeroendedauw@gmail.com >
  */
 
-abstract class ORMTable {
-
-       /**
-        * Returns the name of the database table objects of this type are stored in.
-        *
-        * @since 1.20
-        *
-        * @return string
-        */
-       public abstract function getName();
-
-       /**
-        * Returns the name of a ORMRow deriving class that
-        * represents single rows in this table.
-        *
-        * @since 1.20
-        *
-        * @return string
-        */
-       public abstract function getRowClass();
+abstract class ORMTable implements IORMTable {
 
        /**
         * Gets the db field prefix.
@@ -55,26 +37,6 @@ abstract class ORMTable {
         */
        protected abstract function getFieldPrefix();
 
-       /**
-        * Returns an array with the fields and their types this object contains.
-        * This corresponds directly to the fields in the database, without prefix.
-        *
-        * field name => type
-        *
-        * Allowed types:
-        * * id
-        * * str
-        * * int
-        * * float
-        * * bool
-        * * array
-        *
-        * @since 1.20
-        *
-        * @return array
-        */
-       public abstract function getFields();
-
        /**
         * Cache for instances, used by the singleton method.
         *
@@ -252,7 +214,7 @@ abstract class ORMTable {
         * @param array $options
         * @param string|null $functionName
         *
-        * @return DBObject|bool False on failure
+        * @return IORMRow|bool False on failure
         */
        public function selectRow( $fields = null, array $conditions = array(),
                                                           array $options = array(), $functionName = null ) {
@@ -368,7 +330,7 @@ abstract class ORMTable {
                        $this->getName(),
                        $this->getPrefixedValues( $conditions ),
                        $functionName
-               );
+               ) !== false; // DatabaseBase::delete does not always return true for success as documented...
        }
        
        /**
@@ -475,7 +437,7 @@ abstract class ORMTable {
                        $this->getPrefixedValues( $values ),
                        $this->getPrefixedValues( $conditions ),
                        __METHOD__
-               );
+               ) !== false; // DatabaseBase::update does not always return true for success as documented...
        }
 
        /**
@@ -489,7 +451,7 @@ abstract class ORMTable {
        public function updateSummaryFields( $summaryFields = null, array $conditions = array() ) {
                $this->setReadDb( DB_MASTER );
 
-               foreach ( $this->select( null, $conditions ) as /* ORMRow */ $item ) {
+               foreach ( $this->select( null, $conditions ) as /* IORMRow */ $item ) {
                        $item->loadSummaryFields( $summaryFields );
                        $item->setSummaryMode( true );
                        $item->save();
@@ -503,11 +465,6 @@ abstract class ORMTable {
         * their values as value. The field names are prefixed with the
         * db field prefix.
         *
-        * Field names can also be provided as an array with as first element a table name, such as
-        * $conditions = array(
-        *       array( array( 'tablename', 'fieldname' ), $value ),
-        * );
-        *
         * @since 1.20
         *
         * @param array $values
@@ -599,7 +556,7 @@ abstract class ORMTable {
         *
         * @since 1.20
         *
-        * @return ORMTable
+        * @return IORMTable
         */
        public static function singleton() {
                $class = function_exists( 'get_called_class' ) ? get_called_class() : self::get_called_class();
@@ -667,7 +624,7 @@ abstract class ORMTable {
         *
         * @param stdClass $result
         *
-        * @return ORMRow
+        * @return IORMRow
         */
        public function newFromDBResult( stdClass $result ) {
                return $this->newFromArray( $this->getFieldsFromDBResult( $result ) );
@@ -681,7 +638,7 @@ abstract class ORMTable {
         * @param array $data
         * @param boolean $loadDefaults
         *
-        * @return ORMRow
+        * @return IORMRow
         */
        public function newFromArray( array $data, $loadDefaults = false ) {
                $class = $this->getRowClass();
index 211f74a..0c0052f 100644 (file)
@@ -145,9 +145,10 @@ class MWDebug {
                // Check to see if there was already a deprecation notice, so not to
                // get a duplicate warning
                $logCount = count( self::$log );
+               $caller = wfGetCaller( $callerOffset + 1 );
                if ( $logCount ) {
                        $lastLog = self::$log[ $logCount - 1 ];
-                       if ( $lastLog['type'] == 'deprecated' && $lastLog['caller'] == wfGetCaller( $callerOffset + 1 ) ) {
+                       if ( $lastLog['type'] == 'deprecated' && $lastLog['caller'] == $caller ) {
                                return;
                        }
                }
@@ -155,7 +156,7 @@ class MWDebug {
                self::$log[] = array(
                        'msg' => htmlspecialchars( $msg ),
                        'type' => 'warn',
-                       'caller' => wfGetCaller( $callerOffset ),
+                       'caller' => $caller,
                );
        }
 
index 7435ca9..9c8d85d 100644 (file)
  * @deprecated since 1.19
  */
 class FSRepo extends FileRepo {
+
+       /**
+        * @param $info array
+        * @throws MWException
+        */
        function __construct( array $info ) {
                if ( !isset( $info['backend'] ) ) {
                        // B/C settings...
index d3dded4..d4eef87 100644 (file)
@@ -60,7 +60,11 @@ class FileRepo {
        var $oldFileFactory = false;
        var $fileFactoryKey = false, $oldFileFactoryKey = false;
 
-       function __construct( array $info = null ) {
+       /**
+        * @param $info array|null
+        * @throws MWException
+        */
+       public function __construct( array $info = null ) {
                // Verify required settings presence
                if(
                        $info === null
@@ -114,11 +118,11 @@ class FileRepo {
                        : array();
                // Give defaults for the basic zones...
                foreach ( array( 'public', 'thumb', 'temp', 'deleted' ) as $zone ) {
-                       if ( !isset( $this->zones[$zone] ) ) {
-                               $this->zones[$zone] = array(
-                                       'container' => "{$this->name}-{$zone}",
-                                       'directory' => '' // container root
-                               );
+                       if ( !isset( $this->zones[$zone]['container'] ) ) {
+                               $this->zones[$zone]['container'] = "{$this->name}-{$zone}";
+                       }
+                       if ( !isset( $this->zones[$zone]['directory'] ) ) {
+                               $this->zones[$zone]['directory'] = '';
                        }
                }
        }
@@ -146,6 +150,7 @@ class FileRepo {
         * Check if a single zone or list of zones is defined for usage
         *
         * @param $doZones Array Only do a particular zones
+        * @throws MWException
         * @return Status
         */
        protected function initZones( $doZones = array() ) {
@@ -186,7 +191,7 @@ class FileRepo {
         * The suffix, if supplied, is considered to be unencoded, and will be
         * URL-encoded before being returned.
         *
-        * @param $suffix string
+        * @param $suffix string|bool
         * @return string
         */
        public function getVirtualUrl( $suffix = false ) {
@@ -204,6 +209,11 @@ class FileRepo {
         * @return String or false
         */
        public function getZoneUrl( $zone ) {
+               if ( isset( $this->zones[$zone]['url'] )
+                       && in_array( $zone, array( 'public', 'temp', 'thumb' ) ) )
+               {
+                       return $this->zones[$zone]['url']; // custom URL
+               }
                switch ( $zone ) {
                        case 'public':
                                return $this->url;
@@ -223,6 +233,7 @@ class FileRepo {
         * Use this function wisely.
         *
         * @param $url string
+        * @throws MWException
         * @return string
         */
        public function resolveVirtualUrl( $url ) {
@@ -433,6 +444,7 @@ class FileRepo {
         * SHA-1 content hash.
         *
         * STUB
+        * @param $hash
         * @return array
         */
        public function findBySha1( $hash ) {
@@ -442,10 +454,11 @@ class FileRepo {
        /**
         * Get the public root URL of the repository
         *
+        * @deprecated since 1.20
         * @return string
         */
        public function getRootUrl() {
-               return $this->url;
+               return $this->getZoneUrl( 'public' );
        }
 
        /**
@@ -684,6 +697,7 @@ class FileRepo {
         *     self::OVERWRITE_SAME    Overwrite the file if the destination exists and has the
         *                             same contents as the source
         *     self::SKIP_LOCKING      Skip any file locking when doing the store
+        * @throws MWException
         * @return FileRepoStatus
         */
        public function storeBatch( array $triplets, $flags = 0 ) {
@@ -762,7 +776,7 @@ class FileRepo {
         * Each file can be a (zone, rel) pair, virtual url, storage path.
         * It will try to delete each file, but ignores any errors that may occur.
         *
-        * @param $pairs array List of files to delete
+        * @param $files array List of files to delete
         * @param $flags Integer: bitwise combination of the following flags:
         *     self::SKIP_LOCKING      Skip any file locking when doing the deletions
         * @return FileRepoStatus
@@ -841,7 +855,7 @@ class FileRepo {
         * This function can be used to write to otherwise read-only foreign repos.
         * This is intended for copying generated thumbnails into the repo.
         *
-        * @param $src Array List of tuples (file system path, virtual URL or storage path)
+        * @param $pairs Array List of tuples (file system path, virtual URL or storage path)
         * @return FileRepoStatus
         */
        public function quickImportBatch( array $pairs ) {
@@ -866,7 +880,7 @@ class FileRepo {
         * This function can be used to write to otherwise read-only foreign repos.
         * This does no locking nor journaling and is intended for purging thumbnails.
         *
-        * @param $path Array List of virtual URLs or storage paths
+        * @param $paths Array List of virtual URLs or storage paths
         * @return FileRepoStatus
         */
        public function quickPurgeBatch( array $paths ) {
@@ -1008,6 +1022,7 @@ class FileRepo {
         * @param $triplets Array: (source, dest, archive) triplets as per publish()
         * @param $flags Integer: bitfield, may be FileRepo::DELETE_SOURCE to indicate
         *        that the source files should be deleted if possible
+        * @throws MWException
         * @return FileRepoStatus
         */
        public function publishBatch( array $triplets, $flags = 0 ) {
@@ -1183,6 +1198,7 @@ class FileRepo {
         *        is a two-element array containing the source file path relative to the
         *        public root in the first element, and the archive file path relative
         *        to the deleted zone root in the second element.
+        * @throws MWException
         * @return FileRepoStatus
         */
        public function deleteBatch( array $sourceDestPairs ) {
@@ -1252,6 +1268,7 @@ class FileRepo {
         * Get a relative path for a deletion archive key,
         * e.g. s/z/a/ for sza251lrxrc1jad41h5mgilp8nysje52.jpg
         *
+        * @param $key string
         * @return string
         */
        public function getDeletedHashPath( $key ) {
@@ -1455,6 +1472,7 @@ class FileRepo {
        /**
         * Create a new good result
         *
+        * @param $value null|string
         * @return FileRepoStatus
         */
        public function newGood( $value = null ) {
index 5fab3ab..77b9d04 100644 (file)
@@ -51,6 +51,9 @@ class ForeignAPIRepo extends FileRepo {
        protected $mQueryCache = array();
        protected $mFileExists = array();
 
+       /**
+        * @param $info array|null
+        */
        function __construct( $info ) {
                global $wgLocalFileRepo;
                parent::__construct( $info );
@@ -81,6 +84,8 @@ class ForeignAPIRepo extends FileRepo {
         * Per docs in FileRepo, this needs to return false if we don't support versioned
         * files. Well, we don't.
         *
+        * @param $title Title
+        * @param $time string|bool
         * @return File
         */
        function newFile( $title, $time = false ) {
@@ -90,6 +95,10 @@ class ForeignAPIRepo extends FileRepo {
                return parent::newFile( $title, $time );
        }
 
+       /**
+        * @param $files array
+        * @return array
+        */
        function fileExistsBatch( array $files ) {
                $results = array();
                foreach ( $files as $k => $f ) {
@@ -121,10 +130,18 @@ class ForeignAPIRepo extends FileRepo {
                return $results;
        }
 
+       /**
+        * @param $virtualUrl string
+        * @return bool
+        */
        function getFileProps( $virtualUrl ) {
                return false;
        }
 
+       /**
+        * @param $query array
+        * @return string
+        */
        function fetchImageQuery( $query ) {
                global $wgMemc;
 
@@ -160,6 +177,10 @@ class ForeignAPIRepo extends FileRepo {
                return FormatJson::decode( $this->mQueryCache[$url], true );
        }
 
+       /**
+        * @param $data array
+        * @return bool|array
+        */
        function getImageInfo( $data ) {
                if( $data && isset( $data['query']['pages'] ) ) {
                        foreach( $data['query']['pages'] as $info ) {
@@ -171,6 +192,10 @@ class ForeignAPIRepo extends FileRepo {
                return false;
        }
 
+       /**
+        * @param $hash string
+        * @return array
+        */
        function findBySha1( $hash ) {
                $results = $this->fetchImageQuery( array(
                                                                                'aisha1base36' => $hash,
@@ -189,6 +214,14 @@ class ForeignAPIRepo extends FileRepo {
                return $ret;
        }
 
+       /**
+        * @param $name string
+        * @param $width int
+        * @param $height int
+        * @param $result null
+        * @param $otherParams string
+        * @return bool
+        */
        function getThumbUrl( $name, $width = -1, $height = -1, &$result = null, $otherParams = '' ) {
                $data = $this->fetchImageQuery( array(
                        'titles' => 'File:' . $name,
@@ -217,10 +250,10 @@ class ForeignAPIRepo extends FileRepo {
         * @param $name String is a dbkey form of a title
         * @param $width
         * @param $height
-        * @param String $param Other rendering parameters (page number, etc) from handler's makeParamString.
+        * @param String $params Other rendering parameters (page number, etc) from handler's makeParamString.
         * @return bool|string
         */
-       function getThumbUrlFromCache( $name, $width, $height, $params="" ) {
+       function getThumbUrlFromCache( $name, $width, $height, $params = "" ) {
                global $wgMemc;
                // We can't check the local cache using FileRepo functions because
                // we override fileExistsBatch(). We have to use the FileBackend directly.
@@ -292,7 +325,7 @@ class ForeignAPIRepo extends FileRepo {
                $op = array( 'op' => 'create', 'dst' => $localFilename, 'content' => $thumb );
                if( !$backend->doOperation( $op )->isOK() ) {
                        wfRestoreWarnings();
-                       wfDebug( __METHOD__ . " could not write to thumb path\n" );
+                       wfDebug( __METHOD__ . " could not write to thumb path '$localFilename'\n" );
                        return $foreignUrl;
                }
                $knownThumbUrls[$sizekey] = $localUrl;
@@ -303,6 +336,7 @@ class ForeignAPIRepo extends FileRepo {
 
        /**
         * @see FileRepo::getZoneUrl()
+        * @param $zone String
         * @return String
         */
        function getZoneUrl( $zone ) {
@@ -318,6 +352,7 @@ class ForeignAPIRepo extends FileRepo {
 
        /**
         * Get the local directory corresponding to one of the basic zones
+        * @param $zone string
         * @return bool|null|string
         */
        function getZonePath( $zone ) {
@@ -347,6 +382,9 @@ class ForeignAPIRepo extends FileRepo {
        /**
         * Like a Http:get request, but with custom User-Agent.
         * @see Http:get
+        * @param $url string
+        * @param $timeout string
+        * @param $options array
         * @return bool|String
         */
        public static function httpGet( $url, $timeout = 'default', $options = array() ) {
@@ -371,10 +409,17 @@ class ForeignAPIRepo extends FileRepo {
                }
        }
 
+       /**
+        * @param $callback Array|string
+        * @throws MWException
+        */
        function enumFiles( $callback ) {
                throw new MWException( 'enumFiles is not supported by ' . get_class( $this ) );
        }
 
+       /**
+        * @throws MWException
+        */
        protected function assertWritableRepo() {
                throw new MWException( get_class( $this ) . ': write operations are not supported.' );
        }
index 6a1cfaf..4b206c3 100644 (file)
@@ -36,6 +36,9 @@ class ForeignDBRepo extends LocalRepo {
        var $fileFactory = array( 'ForeignDBFile', 'newFromTitle' );
        var $fileFromRowFactory = array( 'ForeignDBFile', 'newFromRow' );
 
+       /**
+        * @param $info array|null
+        */
        function __construct( $info ) {
                parent::__construct( $info );
                $this->dbType = $info['dbType'];
@@ -48,6 +51,9 @@ class ForeignDBRepo extends LocalRepo {
                $this->hasSharedCache = $info['hasSharedCache'];
        }
 
+       /**
+        * @return DatabaseBase
+        */
        function getMasterDB() {
                if ( !isset( $this->dbConn ) ) {
                        $this->dbConn = DatabaseBase::factory( $this->dbType,
@@ -64,10 +70,16 @@ class ForeignDBRepo extends LocalRepo {
                return $this->dbConn;
        }
 
+       /**
+        * @return DatabaseBase
+        */
        function getSlaveDB() {
                return $this->getMasterDB();
        }
 
+       /**
+        * @return bool
+        */
        function hasSharedCache() {
                return $this->hasSharedCache;
        }
index 2132ba6..bd76fce 100644 (file)
@@ -31,6 +31,9 @@ class ForeignDBViaLBRepo extends LocalRepo {
        var $fileFactory = array( 'ForeignDBFile', 'newFromTitle' );
        var $fileFromRowFactory = array( 'ForeignDBFile', 'newFromRow' );
 
+       /**
+        * @param $info array|null
+        */
        function __construct( $info ) {
                parent::__construct( $info );
                $this->wiki = $info['wiki'];
@@ -38,10 +41,16 @@ class ForeignDBViaLBRepo extends LocalRepo {
                $this->hasSharedCache = $info['hasSharedCache'];
        }
 
+       /**
+        * @return DatabaseBase
+        */
        function getMasterDB() {
                return wfGetDB( DB_MASTER, array(), $this->wiki );
        }
 
+       /**
+        * @return DatabaseBase
+        */
        function getSlaveDB() {
                return wfGetDB( DB_SLAVE, array(), $this->wiki );
        }
index 3f39f60..dda51ce 100644 (file)
  * @ingroup FileRepo
  */
 class NullRepo extends FileRepo {
+
+       /**
+        * @param $info array|null
+        */
        function __construct( $info ) {}
 
        protected function assertWritableRepo() {
index 0def2d8..709655a 100644 (file)
@@ -165,6 +165,10 @@ class RepoGroup {
                return $image;
        }
 
+       /**
+        * @param $inputItems array
+        * @return array
+        */
        function findFiles( $inputItems ) {
                if ( !$this->reposInitialised ) {
                        $this->initialiseRepos();
@@ -196,6 +200,7 @@ class RepoGroup {
 
        /**
         * Interface for FileRepo::checkRedirect()
+        * @param $title Title
         * @return bool
         */
        function checkRedirect( Title $title ) {
@@ -259,6 +264,7 @@ class RepoGroup {
 
        /**
         * Get the repo instance with a given key.
+        * @param $index string|int
         * @return bool|LocalRepo
         */
        function getRepo( $index ) {
@@ -273,8 +279,10 @@ class RepoGroup {
                        return false;
                }
        }
+
        /**
         * Get the repo instance by its name
+        * @param $name string
         * @return bool
         */
        function getRepoByName( $name ) {
@@ -282,8 +290,9 @@ class RepoGroup {
                        $this->initialiseRepos();
                }
                foreach ( $this->foreignRepos as $repo ) {
-                       if ( $repo->name == $name)
+                       if ( $repo->name == $name ) {
                                return $repo;
+                       }
                }
                return false;
        }
@@ -351,6 +360,7 @@ class RepoGroup {
        /**
         * Split a virtual URL into repo, zone and rel parts
         * @param $url string
+        * @throws MWException
         * @return array containing repo, zone and rel
         */
        function splitVirtualUrl( $url ) {
@@ -365,6 +375,10 @@ class RepoGroup {
                return $bits;
        }
 
+       /**
+        * @param $fileName string
+        * @return array
+        */
        function getFileProps( $fileName ) {
                if ( FileRepo::isVirtualUrl( $fileName ) ) {
                        list( $repoName, /* $zone */, /* $rel */ ) = $this->splitVirtualUrl( $fileName );
index ec21c8f..e07c99d 100644 (file)
@@ -32,7 +32,8 @@ class FSFile {
        /**
         * Sets up the file object
         *
-        * @param String $path Path to temporary file on local disk
+        * @param $path string Path to temporary file on local disk
+        * @throws MWException
         */
        public function __construct( $path ) {
                if ( FileBackend::isStoragePath( $path ) ) {
@@ -169,6 +170,7 @@ class FSFile {
        /**
         * Exract image size information
         *
+        * @param $gis array
         * @return Array
         */
        protected function extractImageSizeInfo( array $gis ) {
index e105730..8157916 100644 (file)
@@ -78,6 +78,8 @@ class FSFileBackend extends FileBackendStore {
 
        /**
         * @see FileBackendStore::resolveContainerPath()
+        * @param $container string
+        * @param $relStoragePath string
         * @return null|string
         */
        protected function resolveContainerPath( $container, $relStoragePath ) {
@@ -745,6 +747,9 @@ class FSFileBackend extends FileBackendStore {
                return array_pop( $this->hadWarningErrors ); // pop from stack
        }
 
+       /**
+        * @return bool
+        */
        private function handleWarning() {
                $this->hadWarningErrors[count( $this->hadWarningErrors ) - 1] = true;
                return true; // suppress from PHP handler
@@ -758,6 +763,13 @@ class FSFileOpHandle extends FileBackendStoreOpHandle {
        public $cmd; // string; shell command
        public $chmodPath; // string; file to chmod
 
+       /**
+        * @param $backend
+        * @param $params array
+        * @param $call
+        * @param $cmd
+        * @param $chmodPath null
+        */
        public function __construct( $backend, array $params, $call, $cmd, $chmodPath = null ) {
                $this->backend = $backend;
                $this->params = $params;
@@ -784,6 +796,7 @@ abstract class FSFileBackendList implements Iterator {
 
        /**
         * @param $dir string file system directory
+        * @param $params array
         */
        public function __construct( $dir, array $params ) {
                $dir = realpath( $dir ); // normalize
index 94e509e..42ddcbf 100644 (file)
@@ -88,6 +88,7 @@ abstract class FileBackend {
         *     'concurrency' : How many file operations can be done in parallel.
         *
         * @param $config Array
+        * @throws MWException
         */
        public function __construct( array $config ) {
                $this->name = $config['name'];
@@ -663,6 +664,7 @@ abstract class FileBackend {
         * $params include:
         *     dir : storage directory
         *
+        * @param $params array
         * @return bool|null Returns null on failure
         * @since 1.20
         */
@@ -682,6 +684,7 @@ abstract class FileBackend {
         *     dir     : storage directory
         *     topOnly : only return direct child dirs of the directory
         *
+        * @param $params array
         * @return Traversable|Array|null Returns null on failure
         * @since 1.20
         */
@@ -696,6 +699,7 @@ abstract class FileBackend {
         * $params include:
         *     dir : storage directory
         *
+        * @param $params array
         * @return Traversable|Array|null Returns null on failure
         * @since 1.20
         */
@@ -717,6 +721,7 @@ abstract class FileBackend {
         *     dir     : storage directory
         *     topOnly : only return direct child files of the directory (@since 1.20)
         *
+        * @param $params array
         * @return Traversable|Array|null Returns null on failure
         */
        abstract public function getFileList( array $params );
@@ -730,6 +735,7 @@ abstract class FileBackend {
         * $params include:
         *     dir : storage directory
         *
+        * @param $params array
         * @return Traversable|Array|null Returns null on failure
         * @since 1.20
         */
@@ -788,6 +794,24 @@ abstract class FileBackend {
                return ScopedLock::factory( $this->lockManager, $paths, $type, $status );
        }
 
+       /**
+        * Get an array of scoped locks needed for a batch of file operations.
+        *
+        * Normally, FileBackend::doOperations() handles locking, unless
+        * the 'nonLocking' param is passed in. This function is useful if you
+        * want the files to be locked for a broader scope than just when the
+        * files are changing. For example, if you need to update DB metadata,
+        * you may want to keep the files locked until finished.
+        *
+        * @see FileBackend::doOperations()
+        *
+        * @param $ops Array List of file operations to FileBackend::doOperations()
+        * @param $status Status Status to update on lock/unlock
+        * @return Array List of ScopedFileLocks or null values
+        * @since 1.20
+        */
+       abstract public function getScopedLocksForOps( array $ops, Status $status );
+
        /**
         * Get the root storage path of this backend.
         * All container paths are "subdirectories" of this path.
index 1fa23eb..efc6053 100644 (file)
@@ -260,7 +260,7 @@ class FileBackendMultiWrite extends FileBackend {
        /**
         * Same as substOpBatchPaths() but for a single operation
         *
-        * @param $op File operation array
+        * @param $ops array File operation array
         * @param $backend FileBackendStore
         * @return Array
         */
@@ -331,6 +331,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::doSecure()
+        * @param $params array
         * @return Status
         */
        protected function doSecure( array $params ) {
@@ -344,6 +345,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::doClean()
+        * @param $params array
         * @return Status
         */
        protected function doClean( array $params ) {
@@ -357,6 +359,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::concatenate()
+        * @param $params array
+        * @return Status
         */
        public function concatenate( array $params ) {
                // We are writing to an FS file, so we don't need to do this per-backend
@@ -366,6 +370,7 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::fileExists()
+        * @param $params array
         */
        public function fileExists( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -374,6 +379,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileTimestamp()
+        * @param $params array
+        * @return bool|string
         */
        public function getFileTimestamp( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -382,6 +389,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileSize()
+        * @param $params array
+        * @return bool|int
         */
        public function getFileSize( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -390,6 +399,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileStat()
+        * @param $params array
+        * @return Array|bool|null
         */
        public function getFileStat( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -398,6 +409,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileContents()
+        * @param $params array
+        * @return bool|string
         */
        public function getFileContents( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -406,6 +419,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileSha1Base36()
+        * @param $params array
+        * @return bool|string
         */
        public function getFileSha1Base36( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -414,6 +429,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileProps()
+        * @param $params array
+        * @return Array
         */
        public function getFileProps( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -422,6 +439,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::streamFile()
+        * @param $params array
+        * @return \Status
         */
        public function streamFile( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -430,6 +449,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getLocalReference()
+        * @param $params array
+        * @return FSFile|null
         */
        public function getLocalReference( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -438,6 +459,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getLocalCopy()
+        * @param $params array
+        * @return null|TempFSFile
         */
        public function getLocalCopy( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -446,6 +469,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::directoryExists()
+        * @param $params array
+        * @return bool|null
         */
        public function directoryExists( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -454,6 +479,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getSubdirectoryList()
+        * @param $params array
+        * @return Array|null|Traversable
         */
        public function getDirectoryList( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -462,6 +489,8 @@ class FileBackendMultiWrite extends FileBackend {
 
        /**
         * @see FileBackend::getFileList()
+        * @param $params array
+        * @return Array|null|\Traversable
         */
        public function getFileList( array $params ) {
                $realParams = $this->substOpPaths( $params, $this->backends[$this->masterIndex] );
@@ -477,4 +506,20 @@ class FileBackendMultiWrite extends FileBackend {
                        $backend->clearCache( $realPaths );
                }
        }
+
+       /**
+        * @see FileBackend::getScopedLocksForOps()
+        */
+       public function getScopedLocksForOps( array $ops, Status $status ) {
+               $fileOps = $this->backends[$this->masterIndex]->getOperationsInternal( $ops );
+               // Get the paths to lock from the master backend
+               $paths = $this->backends[$this->masterIndex]->getPathsToLockForOpsInternal( $fileOps );
+               // Get the paths under the proxy backend's name
+               $paths['sh'] = $this->unsubstPaths( $paths['sh'] );
+               $paths['ex'] = $this->unsubstPaths( $paths['ex'] );
+               return array(
+                       $this->getScopedFileLocks( $paths['sh'], LockManager::LOCK_UW, $status ),
+                       $this->getScopedFileLocks( $paths['ex'], LockManager::LOCK_EX, $status )
+               );
+       }
 }
index 7d32bec..f02724f 100644 (file)
@@ -564,6 +564,8 @@ abstract class FileBackendStore extends FileBackend {
                        $this->trimCache(); // limit memory
                        $this->cache[$path]['stat'] = $stat;
                        $this->setFileCache( $path, $stat ); // update persistent cache
+               } else {
+                       wfDebug( __METHOD__ . ": File $path does not exist.\n" );
                }
                wfProfileOut( __METHOD__ . '-' . $this->name );
                wfProfileOut( __METHOD__ );
@@ -892,6 +894,18 @@ abstract class FileBackendStore extends FileBackend {
                return $paths;
        }
 
+       /**
+        * @see FileBackend::getScopedLocksForOps()
+        * @return Array
+        */
+       public function getScopedLocksForOps( array $ops, Status $status ) {
+               $paths = $this->getPathsToLockForOpsInternal( $this->getOperationsInternal( $ops ) );
+               return array(
+                       $this->getScopedFileLocks( $paths['sh'], LockManager::LOCK_UW, $status ),
+                       $this->getScopedFileLocks( $paths['ex'], LockManager::LOCK_EX, $status )
+               );
+       }
+
        /**
         * @see FileBackend::doOperationsInternal()
         * @return Status
@@ -947,6 +961,7 @@ abstract class FileBackendStore extends FileBackend {
                wfProfileIn( __METHOD__ . '-' . $this->name );
                $status = Status::newGood();
 
+               $supportedOps = array( 'create', 'store', 'copy', 'move', 'delete', 'null' );
                $async = ( $this->parallelize === 'implicit' );
                $maxConcurrency = $this->concurrency; // throttle
 
@@ -955,12 +970,12 @@ abstract class FileBackendStore extends FileBackend {
                $curFileOpHandles = array(); // current handle batch
                // Perform the sync-only ops and build up op handles for the async ops...
                foreach ( $ops as $index => $params ) {
-                       $method = $params['op'] . 'Internal'; // e.g. "storeInternal"
-                       if ( !MWInit::methodExists( __CLASS__, $method ) ) {
+                       if ( !in_array( $params['op'], $supportedOps ) ) {
                                wfProfileOut( __METHOD__ . '-' . $this->name );
                                wfProfileOut( __METHOD__ );
                                throw new MWException( "Operation '{$params['op']}' is not supported." );
                        }
+                       $method = $params['op'] . 'Internal'; // e.g. "storeInternal"
                        $subStatus = $this->$method( array( 'async' => $async ) + $params );
                        if ( $subStatus->value instanceof FileBackendStoreOpHandle ) { // async
                                if ( count( $curFileOpHandles ) >= $maxConcurrency ) {
@@ -1027,7 +1042,6 @@ abstract class FileBackendStore extends FileBackend {
        /**
         * @see FileBackendStore::executeOpHandlesInternal()
         * @return Array List of corresponding Status objects
-        * @throws MWException
         */
        protected function doExecuteOpHandlesInternal( array $fileOpHandles ) {
                foreach ( $fileOpHandles as $fileOpHandle ) { // OK if empty
@@ -1203,7 +1217,7 @@ abstract class FileBackendStore extends FileBackend {
         * Any empty suffix means the container is not sharded.
         *
         * @param $container string Container name
-        * @param $relStoragePath string Storage path relative to the container
+        * @param $relPath string Storage path relative to the container
         * @return string|null Returns null if shard could not be determined
         */
        final protected function getContainerShard( $container, $relPath ) {
@@ -1342,7 +1356,6 @@ abstract class FileBackendStore extends FileBackend {
         *
         * @param $container string Resolved container name
         * @param $val mixed Information to cache
-        * @return void
         */
        final protected function setContainerCache( $container, $val ) {
                $this->memCache->set( $this->containerCacheKey( $container ), $val, 14*86400 );
@@ -1351,8 +1364,7 @@ abstract class FileBackendStore extends FileBackend {
        /**
         * Delete the cached info for a container
         *
-        * @param $containers string Resolved container name
-        * @return void
+        * @param $container string Resolved container name
         */
        final protected function deleteContainerCache( $container ) {
                if ( !$this->memCache->delete( $this->containerCacheKey( $container ) ) ) {
@@ -1431,7 +1443,6 @@ abstract class FileBackendStore extends FileBackend {
         *
         * @param $path string Storage path
         * @param $val mixed Information to cache
-        * @return void
         */
        final protected function setFileCache( $path, $val ) {
                $this->memCache->set( $this->fileCacheKey( $path ), $val, 7*86400 );
@@ -1441,7 +1452,6 @@ abstract class FileBackendStore extends FileBackend {
         * Delete the cached stat info for a file path
         *
         * @param $path string Storage path
-        * @return void
         */
        final protected function deleteFileCache( $path ) {
                if ( !$this->memCache->delete( $this->fileCacheKey( $path ) ) ) {
@@ -1683,6 +1693,12 @@ abstract class FileBackendStoreShardListIterator implements Iterator {
  * Iterator for listing directories
  */
 class FileBackendStoreShardDirIterator extends FileBackendStoreShardListIterator {
+       /**
+        * @param string $container
+        * @param string $dir
+        * @param array $params
+        * @return Array|null|Traversable
+        */
        protected function listFromShard( $container, $dir, array $params ) {
                return $this->backend->getDirectoryListInternal( $container, $dir, $params );
        }
@@ -1692,6 +1708,12 @@ class FileBackendStoreShardDirIterator extends FileBackendStoreShardListIterator
  * Iterator for listing regular files
  */
 class FileBackendStoreShardFileIterator extends FileBackendStoreShardListIterator {
+       /**
+        * @param string $container
+        * @param string $dir
+        * @param array $params
+        * @return Array|null|Traversable
+        */
        protected function listFromShard( $container, $dir, array $params ) {
                return $this->backend->getFileListInternal( $container, $dir, $params );
        }
index b2b46ed..d9fbafd 100644 (file)
@@ -438,10 +438,18 @@ abstract class FileOp {
  *     overwriteSame : override any existing file at destination
  */
 class StoreFileOp extends FileOp {
+
+       /**
+        * @return array
+        */
        protected function allowedParams() {
                return array( array( 'src', 'dst' ), array( 'overwrite', 'overwriteSame' ) );
        }
 
+       /**
+        * @param $predicates array
+        * @return Status
+        */
        protected function doPrecheck( array &$predicates ) {
                $status = Status::newGood();
                // Check if the source file exists on the file system
@@ -470,6 +478,9 @@ class StoreFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
+       /**
+        * @return Status
+        */
        protected function doAttempt() {
                // Store the file at the destination
                if ( !$this->destSameAsSource ) {
@@ -478,6 +489,9 @@ class StoreFileOp extends FileOp {
                return Status::newGood();
        }
 
+       /**
+        * @return bool|string
+        */
        protected function getSourceSha1Base36() {
                wfSuppressWarnings();
                $hash = sha1_file( $this->params['src'] );
@@ -530,6 +544,9 @@ class CreateFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
+       /**
+        * @return Status
+        */
        protected function doAttempt() {
                if ( !$this->destSameAsSource ) {
                        // Create the file at the destination
@@ -538,10 +555,16 @@ class CreateFileOp extends FileOp {
                return Status::newGood();
        }
 
+       /**
+        * @return bool|String
+        */
        protected function getSourceSha1Base36() {
                return wfBaseConvert( sha1( $this->params['content'] ), 16, 36, 31 );
        }
 
+       /**
+        * @return array
+        */
        protected function doStoragePathsChanged() {
                return array( $this->params['dst'] );
        }
@@ -556,10 +579,18 @@ class CreateFileOp extends FileOp {
  *     overwriteSame : override any existing file at destination
  */
 class CopyFileOp extends FileOp {
+
+       /**
+        * @return array
+        */
        protected function allowedParams() {
                return array( array( 'src', 'dst' ), array( 'overwrite', 'overwriteSame' ) );
        }
 
+       /**
+        * @param $predicates array
+        * @return Status
+        */
        protected function doPrecheck( array &$predicates ) {
                $status = Status::newGood();
                // Check if the source file exists
@@ -582,6 +613,9 @@ class CopyFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
+       /**
+        * @return Status
+        */
        protected function doAttempt() {
                // Do nothing if the src/dst paths are the same
                if ( $this->params['src'] !== $this->params['dst'] ) {
@@ -593,10 +627,16 @@ class CopyFileOp extends FileOp {
                return Status::newGood();
        }
 
+       /**
+        * @return array
+        */
        protected function doStoragePathsRead() {
                return array( $this->params['src'] );
        }
 
+       /**
+        * @return array
+        */
        protected function doStoragePathsChanged() {
                return array( $this->params['dst'] );
        }
@@ -611,10 +651,17 @@ class CopyFileOp extends FileOp {
  *     overwriteSame : override any existing file at destination
  */
 class MoveFileOp extends FileOp {
+       /**
+        * @return array
+        */
        protected function allowedParams() {
                return array( array( 'src', 'dst' ), array( 'overwrite', 'overwriteSame' ) );
        }
 
+       /**
+        * @param $predicates array
+        * @return Status
+        */
        protected function doPrecheck( array &$predicates ) {
                $status = Status::newGood();
                // Check if the source file exists
@@ -639,6 +686,9 @@ class MoveFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
+       /**
+        * @return Status
+        */
        protected function doAttempt() {
                // Do nothing if the src/dst paths are the same
                if ( $this->params['src'] !== $this->params['dst'] ) {
@@ -654,10 +704,16 @@ class MoveFileOp extends FileOp {
                return Status::newGood();
        }
 
+       /**
+        * @return array
+        */
        protected function doStoragePathsRead() {
                return array( $this->params['src'] );
        }
 
+       /**
+        * @return array
+        */
        protected function doStoragePathsChanged() {
                return array( $this->params['src'], $this->params['dst'] );
        }
@@ -670,12 +726,19 @@ class MoveFileOp extends FileOp {
  *     ignoreMissingSource : don't return an error if the file does not exist
  */
 class DeleteFileOp extends FileOp {
+       /**
+        * @return array
+        */
        protected function allowedParams() {
                return array( array( 'src' ), array( 'ignoreMissingSource' ) );
        }
 
        protected $needsDelete = true;
 
+       /**
+        * @param array $predicates
+        * @return Status
+        */
        protected function doPrecheck( array &$predicates ) {
                $status = Status::newGood();
                // Check if the source file exists
@@ -692,6 +755,9 @@ class DeleteFileOp extends FileOp {
                return $status; // safe to call attempt()
        }
 
+       /**
+        * @return Status
+        */
        protected function doAttempt() {
                if ( $this->needsDelete ) {
                        // Delete the source file
@@ -700,6 +766,9 @@ class DeleteFileOp extends FileOp {
                return Status::newGood();
        }
 
+       /**
+        * @return array
+        */
        protected function doStoragePathsChanged() {
                return array( $this->params['src'] );
        }
index 9ffe0f2..d22a2ec 100644 (file)
@@ -1,5 +1,22 @@
 <?php
 /**
+ * Helper class for representing batch file operations.
+ *
+ * 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 FileBackend
  * @author Aaron Schulz
@@ -169,7 +186,7 @@ class FileOpBatch {
         * within any given sub-batch do not depend on each other.
         * This will abort remaining ops on failure.
         *
-        * @param $performOps Array
+        * @param $pPerformOps Array
         * @param $status Status
         * @return bool Success
         */
@@ -202,7 +219,7 @@ class FileOpBatch {
                        }
                        // Try to do all the operations concurrently...
                        $statuses = $statuses + $backend->executeOpHandlesInternal( $opHandles );
-                       // Marshall and merge all the responses...
+                       // Marshall and merge all the responses (blocking)...
                        foreach ( $performOpsBatch as $i => $fileOp ) {
                                if ( !$fileOp->failed() ) { // failed => already has Status
                                        $subStatus = $statuses[$i];
index 12fc801..36d4334 100644 (file)
@@ -742,6 +742,10 @@ class SwiftFileBackend extends FileBackendStore {
         */
        public function getDirListPageInternal( $fullCont, $dir, &$after, $limit, array $params ) {
                $dirs = array();
+               if ( $after === INF ) {
+                       return $dirs; // nothing more
+               }
+               wfProfileIn( __METHOD__ . '-' . $this->name );
 
                try {
                        $container = $this->getContainer( $fullCont );
@@ -753,7 +757,6 @@ class SwiftFileBackend extends FileBackendStore {
                                        if ( substr( $object, -1 ) === '/' ) {
                                                $dirs[] = $object; // directories end in '/'
                                        }
-                                       $after = $object; // update last item
                                }
                        // Recursive: list all dirs under $dir and its subdirs
                        } else {
@@ -779,15 +782,20 @@ class SwiftFileBackend extends FileBackendStore {
                                                }
                                                $lastDir = $objectDir;
                                        }
-                                       $after = $object; // update last item
                                }
                        }
+                       if ( count( $objects ) < $limit ) {
+                               $after = INF; // avoid a second RTT
+                       } else {
+                               $after = end( $objects ); // update last item
+                       }
                } catch ( NoSuchContainerException $e ) {
                } catch ( CloudFilesException $e ) { // some other exception?
                        $this->handleException( $e, null, __METHOD__,
                                array( 'cont' => $fullCont, 'dir' => $dir ) );
                }
 
+               wfProfileOut( __METHOD__ . '-' . $this->name );
                return $dirs;
        }
 
@@ -807,6 +815,10 @@ class SwiftFileBackend extends FileBackendStore {
         */
        public function getFileListPageInternal( $fullCont, $dir, &$after, $limit, array $params ) {
                $files = array();
+               if ( $after === INF ) {
+                       return $files; // nothing more
+               }
+               wfProfileIn( __METHOD__ . '-' . $this->name );
 
                try {
                        $container = $this->getContainer( $fullCont );
@@ -821,16 +833,21 @@ class SwiftFileBackend extends FileBackendStore {
                                }
                        // Recursive: list all files under $dir and its subdirs
                        } else { // files
-                               $files = $container->list_objects( $limit, $after, $prefix );
+                               $objects = $container->list_objects( $limit, $after, $prefix );
+                               $files = $objects;
+                       }
+                       if ( count( $objects ) < $limit ) {
+                               $after = INF; // avoid a second RTT
+                       } else {
+                               $after = end( $objects ); // update last item
                        }
-                       $after = end( $files ); // update last item
-                       reset( $files ); // reset pointer
                } catch ( NoSuchContainerException $e ) {
                } catch ( CloudFilesException $e ) { // some other exception?
                        $this->handleException( $e, null, __METHOD__,
                                array( 'cont' => $fullCont, 'dir' => $dir ) );
                }
 
+               wfProfileOut( __METHOD__ . '-' . $this->name );
                return $files;
        }
 
index 0be9a74..0a09894 100644 (file)
@@ -33,7 +33,7 @@ class DBFileJournal extends FileJournal {
         * Construct a new instance from configuration.
         * $config includes:
         *     'wiki' : wiki name to use for LoadBalancer
-        *
+        * 
         * @param $config Array
         */
        protected function __construct( array $config ) {
index d34b778..234788b 100644 (file)
@@ -43,7 +43,7 @@ abstract class FileJournal {
         * Construct a new instance from configuration.
         * $config includes:
         *     'ttlDays' : days to keep log entries around (false means "forever")
-        *
+        * 
         * @param $config Array
         */
        protected function __construct( array $config ) {
@@ -55,6 +55,7 @@ abstract class FileJournal {
         *
         * @param $config Array
         * @param $backend string A registered file backend name
+        * @throws MWException
         * @return FileJournal
         */
        final public static function factory( array $config, $backend ) {
@@ -69,7 +70,7 @@ abstract class FileJournal {
 
        /**
         * Get a statistically unique ID string
-        *
+        * 
         * @return string <9 char TS_MW timestamp in base 36><22 random base 36 chars>
         */
        final public function getTimestampedUUID() {
@@ -88,7 +89,7 @@ abstract class FileJournal {
         *     path    : The storage path of the file
         *     newSha1 : The final base 36 SHA-1 of the file
         * Note that 'false' should be used as the SHA-1 for non-existing files.
-        *
+        * 
         * @param $entries Array List of file operations (each an array of parameters)
         * @param $batchId string UUID string that identifies the operation batch
         * @return Status
@@ -102,7 +103,7 @@ abstract class FileJournal {
 
        /**
         * @see FileJournal::logChangeBatch()
-        *
+        * 
         * @param $entries Array List of file operations (each an array of parameters)
         * @param $batchId string UUID string that identifies the operation batch
         * @return Status
@@ -169,6 +170,8 @@ abstract class FileJournal {
 class NullFileJournal extends FileJournal {
        /**
         * @see FileJournal::logChangeBatch()
+        * @param $entries array
+        * @param $batchId string
         * @return Status
         */
        protected function doLogChangeBatch( array $entries, $batchId ) {
index 0a0ba54..c2a5085 100644 (file)
@@ -113,6 +113,8 @@ class DBLockManager extends LockManager {
 
        /**
         * @see LockManager::doLock()
+        * @param $paths array
+        * @param $type int
         * @return Status
         */
        protected function doLock( array $paths, $type ) {
@@ -164,6 +166,8 @@ class DBLockManager extends LockManager {
 
        /**
         * @see LockManager::doUnlock()
+        * @param $paths array
+        * @param $type int
         * @return Status
         */
        protected function doUnlock( array $paths, $type ) {
@@ -438,11 +442,21 @@ class MySqlLockManager extends DBLockManager {
                self::LOCK_EX => self::LOCK_EX
        );
 
+       /**
+        * @param $lockDb string
+        * @param $db DatabaseBase
+        */
        protected function initConnection( $lockDb, DatabaseBase $db ) {
                # Let this transaction see lock rows from other transactions
                $db->query( "SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;" );
        }
 
+       /**
+        * @param $lockDb string
+        * @param $paths array
+        * @param $type int
+        * @return bool
+        */
        protected function doLockingQuery( $lockDb, array $paths, $type ) {
                $db = $this->getConnection( $lockDb );
                if ( !$db ) {
index 21a3a4e..4f3b959 100644 (file)
@@ -62,6 +62,8 @@ class FSLockManager extends LockManager {
 
        /**
         * @see LockManager::doLock()
+        * @param $paths array
+        * @param $type int
         * @return Status
         */
        protected function doLock( array $paths, $type ) {
@@ -84,6 +86,8 @@ class FSLockManager extends LockManager {
 
        /**
         * @see LockManager::doUnlock()
+        * @param $paths array
+        * @param $type int
         * @return Status
         */
        protected function doUnlock( array $paths, $type ) {
@@ -190,6 +194,11 @@ class FSLockManager extends LockManager {
                return $status;
        }
 
+       /**
+        * @param $path string
+        * @param $handlesToClose array
+        * @return Status
+        */
        private function closeLockHandles( $path, array $handlesToClose ) {
                $status = Status::newGood();
                foreach ( $handlesToClose as $handle ) {
@@ -203,6 +212,10 @@ class FSLockManager extends LockManager {
                return $status;
        }
 
+       /**
+        * @param $path string
+        * @return Status
+        */
        private function pruneKeyLockFiles( $path ) {
                $status = Status::newGood();
                if ( !count( $this->locksHeld[$path] ) ) {
index 4f78ede..7910285 100644 (file)
@@ -93,6 +93,8 @@ class LSLockManager extends LockManager {
 
        /**
         * @see LockManager::doLock()
+        * @param $paths array
+        * @param $type int
         * @return Status
         */
        protected function doLock( array $paths, $type ) {
@@ -146,6 +148,8 @@ class LSLockManager extends LockManager {
 
        /**
         * @see LockManager::doUnlock()
+        * @param $paths array
+        * @param $type int
         * @return Status
         */
        protected function doUnlock( array $paths, $type ) {
index 8b3e229..e41c777 100644 (file)
@@ -195,6 +195,8 @@ class ScopedLock {
 class NullLockManager extends LockManager {
        /**
         * @see LockManager::doLock()
+        * @param $paths array
+        * @param $type int
         * @return Status
         */
        protected function doLock( array $paths, $type ) {
@@ -203,6 +205,8 @@ class NullLockManager extends LockManager {
 
        /**
         * @see LockManager::doUnlock()
+        * @param $paths array
+        * @param $type int
         * @return Status
         */
        protected function doUnlock( array $paths, $type ) {
index 7caff62..b830855 100644 (file)
@@ -39,6 +39,7 @@ class LockManagerGroup {
        protected $managers = array();
 
        protected function __construct() {}
+
        /**
         * @return LockManagerGroup
         */
index c9395c6..2d6b218 100644 (file)
@@ -109,6 +109,8 @@ abstract class File {
         */
        protected $url, $extension, $name, $path, $hashPath, $pageCount, $transformScript;
 
+       protected $redirectTitle;
+
        /**
         * @var bool
         */
@@ -143,6 +145,7 @@ abstract class File {
         *
         * @param $title Title|string
         * @param $exception string|bool Use 'exception' to throw an error on bad titles
+        * @throws MWException
         * @return Title|null
         */
        static function normalizeTitle( $title, $exception = false ) {
@@ -1017,7 +1020,7 @@ abstract class File {
         *
         * @return array
         */
-       function getHistory($limit = null, $start = null, $end = null, $inc=true) {
+       function getHistory( $limit = null, $start = null, $end = null, $inc=true ) {
                return array();
        }
 
index ef9c3a5..1fcd35b 100644 (file)
@@ -90,14 +90,26 @@ class ForeignAPIFile extends File {
        }
 
        // Dummy functions...
+
+       /**
+        * @return bool
+        */
        public function exists() {
                return $this->mExists;
        }
 
+       /**
+        * @return bool
+        */
        public function getPath() {
                return false;
        }
 
+       /**
+        * @param Array $params
+        * @param int $flags
+        * @return bool|MediaTransformOutput
+        */
        function transform( $params, $flags = 0 ) {
                if( !$this->canRender() ) {
                        // show icon
@@ -117,6 +129,11 @@ class ForeignAPIFile extends File {
        }
 
        // Info we can get from API...
+
+       /**
+        * @param $page int
+        * @return int|number
+        */
        public function getWidth( $page = 1 ) {
                return isset( $this->mInfo['width'] ) ? intval( $this->mInfo['width'] ) : 0;
        }
@@ -129,6 +146,9 @@ class ForeignAPIFile extends File {
                return isset( $this->mInfo['height'] ) ? intval( $this->mInfo['height'] ) : 0;
        }
 
+       /**
+        * @return bool|null|string
+        */
        public function getMetadata() {
                if ( isset( $this->mInfo['metadata'] ) ) {
                        return serialize( self::parseMetadata( $this->mInfo['metadata'] ) );
@@ -136,6 +156,10 @@ class ForeignAPIFile extends File {
                return null;
        }
 
+       /**
+        * @param $metadata array
+        * @return array
+        */
        public static function parseMetadata( $metadata ) {
                if( !is_array( $metadata ) ) {
                        return $metadata;
@@ -147,28 +171,47 @@ class ForeignAPIFile extends File {
                return $ret;
        }
 
+       /**
+        * @return bool|int|null
+        */
        public function getSize() {
                return isset( $this->mInfo['size'] ) ? intval( $this->mInfo['size'] ) : null;
        }
 
+       /**
+        * @return null|string
+        */
        public function getUrl() {
                return isset( $this->mInfo['url'] ) ? strval( $this->mInfo['url'] ) : null;
        }
 
+       /**
+        * @param string $method
+        * @return int|null|string
+        */
        public function getUser( $method='text' ) {
                return isset( $this->mInfo['user'] ) ? strval( $this->mInfo['user'] ) : null;
        }
 
+       /**
+        * @return null|string
+        */
        public function getDescription() {
                return isset( $this->mInfo['comment'] ) ? strval( $this->mInfo['comment'] ) : null;
        }
 
+       /**
+        * @return null|String
+        */
        function getSha1() {
                return isset( $this->mInfo['sha1'] )
                        ? wfBaseConvert( strval( $this->mInfo['sha1'] ), 16, 36, 31 )
                        : null;
        }
 
+       /**
+        * @return bool|Mixed|string
+        */
        function getTimestamp() {
                return wfTimestamp( TS_MW,
                        isset( $this->mInfo['timestamp'] )
@@ -177,6 +220,9 @@ class ForeignAPIFile extends File {
                );
        }
 
+       /**
+        * @return string
+        */
        function getMimeType() {
                if( !isset( $this->mInfo['mime'] ) ) {
                        $magic = MimeMagic::singleton();
@@ -185,12 +231,18 @@ class ForeignAPIFile extends File {
                return $this->mInfo['mime'];
        }
 
-       /// @todo FIXME: May guess wrong on file types that can be eg audio or video
+       /**
+        * @todo FIXME: May guess wrong on file types that can be eg audio or video
+        * @return int|string
+        */
        function getMediaType() {
                $magic = MimeMagic::singleton();
                return $magic->getMediaType( null, $this->getMimeType() );
        }
 
+       /**
+        * @return bool|string
+        */
        function getDescriptionUrl() {
                return isset( $this->mInfo['descriptionurl'] )
                        ? $this->mInfo['descriptionurl']
@@ -199,6 +251,7 @@ class ForeignAPIFile extends File {
 
        /**
         * Only useful if we're locally caching thumbs anyway...
+        * @param $suffix string
         * @return null|string
         */
        function getThumbPath( $suffix = '' ) {
@@ -213,6 +266,9 @@ class ForeignAPIFile extends File {
                }
        }
 
+       /**
+        * @return array
+        */
        function getThumbnails() {
                $dir = $this->getThumbPath( $this->getName() );
                $iter = $this->repo->getBackend()->getFileList( array( 'dir' => $dir ) );
@@ -242,6 +298,9 @@ class ForeignAPIFile extends File {
                $wgMemc->delete( $key );
        }
 
+       /**
+        * @param $options array
+        */
        function purgeThumbnails( $options = array() ) {
                global $wgMemc;
 
index fa7834a..91f6cb6 100644 (file)
@@ -54,23 +54,52 @@ class ForeignDBFile extends LocalFile {
                return $file;
        }
 
+       /**
+        * @param $srcPath String
+        * @param $flags int
+        * @throws MWException
+        */
        function publish( $srcPath, $flags = 0 ) {
                $this->readOnlyError();
        }
 
+       /**
+        * @param $oldver
+        * @param $desc string
+        * @param $license string
+        * @param $copyStatus string
+        * @param $source string
+        * @param $watch bool
+        * @param $timestamp bool|string
+        * @throws MWException
+        */
        function recordUpload( $oldver, $desc, $license = '', $copyStatus = '', $source = '',
                $watch = false, $timestamp = false ) {
                $this->readOnlyError();
        }
 
+       /**
+        * @param $versions array
+        * @param $unsuppress bool
+        * @throws MWException
+        */
        function restore( $versions = array(), $unsuppress = false ) {
                $this->readOnlyError();
        }
 
+       /**
+        * @param $reason string
+        * @param $suppress bool
+        * @throws MWException
+        */
        function delete( $reason, $suppress = false ) {
                $this->readOnlyError();
        }
 
+       /**
+        * @param $target Title
+        * @throws MWException
+        */
        function move( $target ) {
                $this->readOnlyError();
        }
index 6ac6ae4..cc66649 100644 (file)
@@ -440,6 +440,7 @@ class LocalFile extends File {
 
                $dbw->update( 'image',
                        array(
+                               'img_size'       => $this->size, // sanity
                                'img_width'      => $this->width,
                                'img_height'     => $this->height,
                                'img_bits'       => $this->bits,
@@ -632,6 +633,9 @@ class LocalFile extends File {
 
        /**
         * Fix thumbnail files from 1.4 or before, with extreme prejudice
+        * @TODO: do we still care about this? Perhaps a maintenance script
+        *        can be made instead. Enabling this code results in a serious
+        *        RTT regression for wikis without 404 handling.
         */
        function migrateThumbFile( $thumbName ) {
                $thumbDir = $this->getThumbPath();
@@ -654,10 +658,12 @@ class LocalFile extends File {
                }
                */
 
+               /*
                if ( $this->repo->fileExists( $thumbDir ) ) {
                        // Delete file where directory should be
                        $this->repo->cleanupBatch( array( $thumbDir ) );
                }
+               */
        }
 
        /** getHandler inherited */
@@ -670,8 +676,6 @@ class LocalFile extends File {
         * @return array first element is the base dir, then files in that base dir.
         */
        function getThumbnails( $archiveName = false ) {
-               $this->load();
-
                if ( $archiveName ) {
                        $dir = $this->getArchiveThumbPath( $archiveName );
                } else {
@@ -736,6 +740,8 @@ class LocalFile extends File {
         */
        function purgeOldThumbnails( $archiveName ) {
                global $wgUseSquid;
+               wfProfileIn( __METHOD__ );
+
                // Get a list of old thumbnails and URLs
                $files = $this->getThumbnails( $archiveName );
                $dir = array_shift( $files );
@@ -752,6 +758,8 @@ class LocalFile extends File {
                        }
                        SquidUpdate::purge( $urls );
                }
+
+               wfProfileOut( __METHOD__ );
        }
 
        /**
@@ -759,6 +767,7 @@ class LocalFile extends File {
         */
        function purgeThumbnails( $options = array() ) {
                global $wgUseSquid;
+               wfProfileIn( __METHOD__ );
 
                // Delete thumbnails
                $files = $this->getThumbnails();
@@ -785,6 +794,8 @@ class LocalFile extends File {
                        }
                        SquidUpdate::purge( $urls );
                }
+
+               wfProfileOut( __METHOD__ );
        }
 
        /**
@@ -1019,6 +1030,8 @@ class LocalFile extends File {
        function recordUpload2(
                $oldver, $comment, $pageText, $props = false, $timestamp = false, $user = null
        ) {
+               wfProfileIn( __METHOD__ );
+
                if ( is_null( $user ) ) {
                        global $wgUser;
                        $user = $wgUser;
@@ -1028,7 +1041,9 @@ class LocalFile extends File {
                $dbw->begin( __METHOD__ );
 
                if ( !$props ) {
+                       wfProfileIn( __METHOD__ . '-getProps' );
                        $props = $this->repo->getFileProps( $this->getVirtualUrl() );
+                       wfProfileOut( __METHOD__ . -'getProps' );
                }
 
                if ( $timestamp === false ) {
@@ -1041,15 +1056,10 @@ class LocalFile extends File {
                $props['timestamp'] = wfTimestamp( TS_MW, $timestamp ); // DB -> TS_MW
                $this->setProps( $props );
 
-               # Delete thumbnails
-               $this->purgeThumbnails();
-
-               # The file is already on its final location, remove it from the squid cache
-               SquidUpdate::purge( array( $this->getURL() ) );
-
                # Fail now if the file isn't there
                if ( !$this->fileExists ) {
                        wfDebug( __METHOD__ . ": File " . $this->getRel() . " went missing!\n" );
+                       wfProfileOut( __METHOD__ );
                        return false;
                }
 
@@ -1078,7 +1088,6 @@ class LocalFile extends File {
                        __METHOD__,
                        'IGNORE'
                );
-
                if ( $dbw->affectedRows() == 0 ) {
                        # (bug 34993) Note: $oldver can be empty here, if the previous
                        # version of the file was broken. Allow registration of the new
@@ -1144,6 +1153,7 @@ class LocalFile extends File {
                $action = $reupload ? 'overwrite' : 'upload';
                $log->addEntry( $action, $descTitle, $comment, array(), $user );
 
+               wfProfileIn( __METHOD__ . '-edit' );
                if ( $descTitle->exists() ) {
                        # Create a null revision
                        $latest = $descTitle->getLatestRevID();
@@ -1168,6 +1178,7 @@ class LocalFile extends File {
                        # Squid and file cache for the description page are purged by doEdit.
                        $wikiPage->doEdit( $pageText, $comment, EDIT_NEW | EDIT_SUPPRESS_RC, false, $user );
                }
+               wfProfileOut( __METHOD__ . '-edit' );
 
                # Commit the transaction now, in case something goes wrong later
                # The most important thing is that files don't get lost, especially archives
@@ -1179,8 +1190,20 @@ class LocalFile extends File {
                # which in fact doesn't really exist (bug 24978)
                $this->saveToCache();
 
+               if ( $reupload ) {
+                       # Delete old thumbnails
+                       wfProfileIn( __METHOD__ . '-purge' );
+                       $this->purgeThumbnails();
+                       wfProfileOut( __METHOD__ . '-purge' );
+
+                       # Remove the old file from the squid cache
+                       SquidUpdate::purge( array( $this->getURL() ) );
+               }
+
                # Hooks, hooks, the magic of hooks...
+               wfProfileIn( __METHOD__ . '-hooks' );
                wfRunHooks( 'FileUpload', array( $this, $reupload, $descTitle->exists() ) );
+               wfProfileOut( __METHOD__ . '-hooks' );
 
                # Invalidate cache for all pages using this file
                $update = new HTMLCacheUpdate( $this->getTitle(), 'imagelinks' );
@@ -1194,6 +1217,7 @@ class LocalFile extends File {
                        $update->doUpdate();
                }
 
+               wfProfileOut( __METHOD__ );
                return true;
        }
 
@@ -1782,7 +1806,6 @@ class LocalFileDeleteBatch {
         * @return FileRepoStatus
         */
        function execute() {
-               global $wgUseSquid;
                wfProfileIn( __METHOD__ );
 
                $this->file->lock();
index bd3ff1e..40d7dca 100644 (file)
@@ -32,6 +32,13 @@ class OldLocalFile extends LocalFile {
        const CACHE_VERSION = 1;
        const MAX_CACHE_ROWS = 20;
 
+       /**
+        * @param $title Title
+        * @param $repo FileRepo
+        * @param $time null
+        * @return OldLocalFile
+        * @throws MWException
+        */
        static function newFromTitle( $title, $repo, $time = null ) {
                # The null default value is only here to avoid an E_STRICT
                if ( $time === null ) {
@@ -40,10 +47,21 @@ class OldLocalFile extends LocalFile {
                return new self( $title, $repo, $time, null );
        }
 
+       /**
+        * @param $title Title
+        * @param $repo FileRepo
+        * @param $archiveName
+        * @return OldLocalFile
+        */
        static function newFromArchiveName( $title, $repo, $archiveName ) {
                return new self( $title, $repo, null, $archiveName );
        }
 
+       /**
+        * @param $row
+        * @param $repo FileRepo
+        * @return OldLocalFile
+        */
        static function newFromRow( $row, $repo ) {
                $title = Title::makeTitle( NS_FILE, $row->oi_name );
                $file = new self( $title, $repo, null, $row->oi_archive_name );
@@ -76,7 +94,7 @@ class OldLocalFile extends LocalFile {
                        return false;
                }
        }
-       
+
        /**
         * Fields in the oldimage table
         * @return array
@@ -107,6 +125,7 @@ class OldLocalFile extends LocalFile {
         * @param $repo FileRepo
         * @param $time String: timestamp or null to load by archive name
         * @param $archiveName String: archive name or null to load by timestamp
+        * @throws MWException
         */
        function __construct( $title, $repo, $time, $archiveName ) {
                parent::__construct( $title, $repo );
@@ -117,10 +136,16 @@ class OldLocalFile extends LocalFile {
                }
        }
 
+       /**
+        * @return bool
+        */
        function getCacheKey() {
                return false;
        }
 
+       /**
+        * @return String
+        */
        function getArchiveName() {
                if ( !isset( $this->archive_name ) ) {
                        $this->load();
@@ -128,10 +153,16 @@ class OldLocalFile extends LocalFile {
                return $this->archive_name;
        }
 
+       /**
+        * @return bool
+        */
        function isOld() {
                return true;
        }
 
+       /**
+        * @return bool
+        */
        function isVisible() {
                return $this->exists() && !$this->isDeleted(File::DELETED_FILE);
        }
@@ -156,6 +187,10 @@ class OldLocalFile extends LocalFile {
                wfProfileOut( __METHOD__ );
        }
 
+       /**
+        * @param $prefix string
+        * @return array
+        */
        function getCacheFields( $prefix = 'img_' ) {
                $fields = parent::getCacheFields( $prefix );
                $fields[] = $prefix . 'archive_name';
@@ -163,10 +198,16 @@ class OldLocalFile extends LocalFile {
                return $fields;
        }
 
+       /**
+        * @return string
+        */
        function getRel() {
                return 'archive/' . $this->getHashPath() . $this->getArchiveName();
        }
 
+       /**
+        * @return string
+        */
        function getUrlRel() {
                return 'archive/' . $this->getHashPath() . rawurlencode( $this->getArchiveName() );
        }
@@ -188,14 +229,15 @@ class OldLocalFile extends LocalFile {
                wfDebug(__METHOD__.': upgrading '.$this->archive_name." to the current schema\n");
                $dbw->update( 'oldimage',
                        array(
-                               'oi_width' => $this->width,
-                               'oi_height' => $this->height,
-                               'oi_bits' => $this->bits,
+                               'oi_size'       => $this->size, // sanity
+                               'oi_width'      => $this->width,
+                               'oi_height'     => $this->height,
+                               'oi_bits'       => $this->bits,
                                'oi_media_type' => $this->media_type,
                                'oi_major_mime' => $major,
                                'oi_minor_mime' => $minor,
-                               'oi_metadata' => $this->metadata,
-                               'oi_sha1' => $this->sha1,
+                               'oi_metadata'   => $this->metadata,
+                               'oi_sha1'       => $this->sha1,
                        ), array(
                                'oi_name' => $this->getName(),
                                'oi_archive_name' => $this->archive_name ),
@@ -235,40 +277,45 @@ class OldLocalFile extends LocalFile {
                $this->load();
                return Revision::userCanBitfield( $this->deleted, $field, $user );
        }
-       
+
        /**
         * Upload a file directly into archive. Generally for Special:Import.
-        * 
+        *
         * @param $srcPath string File system path of the source file
-        * @param $archiveName string Full archive name of the file, in the form 
-        *      $timestamp!$filename, where $filename must match $this->getName()
+        * @param $archiveName string Full archive name of the file, in the form
+        *     $timestamp!$filename, where $filename must match $this->getName()
         *
+        * @param $timestamp string
+        * @param $comment string
+        * @param $user
+        * @param $flags int
         * @return FileRepoStatus
         */
        function uploadOld( $srcPath, $archiveName, $timestamp, $comment, $user, $flags = 0 ) {
                $this->lock();
-               
+
                $dstRel = 'archive/' . $this->getHashPath() . $archiveName;
                $status = $this->publishTo( $srcPath, $dstRel,
                        $flags & File::DELETE_SOURCE ? FileRepo::DELETE_SOURCE : 0
                );
-               
+
                if ( $status->isGood() ) {
                        if ( !$this->recordOldUpload( $srcPath, $archiveName, $timestamp, $comment, $user ) ) {
                                $status->fatal( 'filenotfound', $srcPath );
                        }
                }
-               
+
                $this->unlock();
-               
+
                return $status;
        }
-       
+
        /**
         * Record a file upload in the oldimage table, without adding log entries.
-        * 
+        *
         * @param $srcPath string File system path to the source file
         * @param $archiveName string The archive name of the file
+        * @param $timestamp string
         * @param $comment string Upload comment
         * @param $user User User who did this upload
         * @return bool
index b217d60..8d4a3f8 100644 (file)
@@ -34,7 +34,7 @@
  * @ingroup FileAbstraction
  */
 class UnregisteredLocalFile extends File {
-       var $title, $path, $mime, $dims;
+       var $title, $path, $mime, $dims, $metadata;
 
        /**
         * @var MediaHandler
@@ -62,12 +62,12 @@ class UnregisteredLocalFile extends File {
        /**
         * Create an UnregisteredLocalFile based on a path or a (title,repo) pair.
         * A FileRepo object is not required here, unlike most other File classes.
-        * 
+        *
         * @throws MWException
         * @param $title Title|bool
-        * @param $repo FileRepo
-        * @param $path string
-        * @param $mime string
+        * @param $repo FileRepo|bool
+        * @param $path string|bool
+        * @param $mime string|bool
         */
        function __construct( $title = false, $repo = false, $path = false, $mime = false ) {
                if ( !( $title && $repo ) && !$path ) {
@@ -94,6 +94,10 @@ class UnregisteredLocalFile extends File {
                $this->dims = array();
        }
 
+       /**
+        * @param $page int
+        * @return bool
+        */
        private function cachePageDimensions( $page = 1 ) {
                if ( !isset( $this->dims[$page] ) ) {
                        if ( !$this->getHandler() ) {
@@ -104,16 +108,27 @@ class UnregisteredLocalFile extends File {
                return $this->dims[$page];
        }
 
+       /**
+        * @param $page int
+        * @return number
+        */
        function getWidth( $page = 1 ) {
                $dim = $this->cachePageDimensions( $page );
                return $dim['width'];
        }
 
+       /**
+        * @param $page int
+        * @return number
+        */
        function getHeight( $page = 1 ) {
                $dim = $this->cachePageDimensions( $page );
                return $dim['height'];
        }
 
+       /**
+        * @return bool|string
+        */
        function getMimeType() {
                if ( !isset( $this->mime ) ) {
                        $magic = MimeMagic::singleton();
@@ -122,6 +137,10 @@ class UnregisteredLocalFile extends File {
                return $this->mime;
        }
 
+       /**
+        * @param $filename String
+        * @return Array|bool
+        */
        function getImageSize( $filename ) {
                if ( !$this->getHandler() ) {
                        return false;
@@ -129,6 +148,9 @@ class UnregisteredLocalFile extends File {
                return $this->handler->getImageSize( $this, $this->getLocalRefPath() );
        }
 
+       /**
+        * @return bool
+        */
        function getMetadata() {
                if ( !isset( $this->metadata ) ) {
                        if ( !$this->getHandler() ) {
@@ -140,6 +162,9 @@ class UnregisteredLocalFile extends File {
                return $this->metadata;
        }
 
+       /**
+        * @return bool|string
+        */
        function getURL() {
                if ( $this->repo ) {
                        return $this->repo->getZoneUrl( 'public' ) . '/' .
@@ -149,6 +174,9 @@ class UnregisteredLocalFile extends File {
                }
        }
 
+       /**
+        * @return bool|int
+        */
        function getSize() {
                $this->assertRepoDefined();
                $props = $this->repo->getFileProps( $this->path );
index f703c7a..12a84a1 100644 (file)
@@ -1607,6 +1607,8 @@ abstract class Installer {
 
                // Don't access the database
                $GLOBALS['wgUseDatabaseMessages'] = false;
+               // Don't cache langconv tables
+               $GLOBALS['wgLanguageConverterCacheType'] = CACHE_NONE;
                // Debug-friendly
                $GLOBALS['wgShowExceptionDetails'] = true;
                // Don't break forms
index a53905f..7b7ec0c 100644 (file)
  * @defgroup JobQueue JobQueue
  */
 
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( "This file is part of MediaWiki, it is not a valid entry point\n" );
-}
-
 /**
  * Class to both describe a background job and handle jobs.
  *
@@ -117,7 +113,6 @@ abstract class Job {
         * @return Job or false if there's no jobs
         */
        static function pop( $offset = 0 ) {
-               global $wgJobTypesExcludedFromDefaultQueue;
                wfProfileIn( __METHOD__ );
 
                $dbr = wfGetDB( DB_SLAVE );
@@ -128,12 +123,9 @@ abstract class Job {
                        NB: If random fetch previously was used, offset
                                will always be ahead of few entries
                */
-               $conditions = array();
-               if ( count( $wgJobTypesExcludedFromDefaultQueue ) != 0 ) {
-                       foreach ( $wgJobTypesExcludedFromDefaultQueue as $cmdType ) {
-                               $conditions[] = "job_cmd != " . $dbr->addQuotes( $cmdType );
-                       }
-               }
+
+               $conditions = self::defaultQueueConditions();
+
                $offset = intval( $offset );
                $options = array( 'ORDER BY' => 'job_id', 'USE INDEX' => 'PRIMARY' );
 
@@ -203,6 +195,7 @@ abstract class Job {
                $title = Title::makeTitleSafe( $namespace, $dbkey );
 
                if ( is_null( $title ) ) {
+                       wfProfileOut( __METHOD__ );
                        return false;
                }
 
@@ -322,6 +315,27 @@ abstract class Job {
                wfIncrStats( 'job-insert', count( $jobs ) );
        }
 
+
+       /**
+        * SQL conditions to apply on most JobQueue queries
+        *
+        * Whenever we exclude jobs types from the default queue, we want to make
+        * sure that queries to the job queue actually ignore them.
+        *
+        * @return array SQL conditions suitable for Database:: methods
+        */
+       static function defaultQueueConditions( ) {
+               global $wgJobTypesExcludedFromDefaultQueue;
+               $conditions = array();
+               if ( count( $wgJobTypesExcludedFromDefaultQueue ) > 0 ) {
+                       $dbr = wfGetDB( DB_SLAVE );
+                       foreach ( $wgJobTypesExcludedFromDefaultQueue as $cmdType ) {
+                               $conditions[] = "job_cmd != " . $dbr->addQuotes( $cmdType );
+                       }
+               }
+               return $conditions;
+       }
+
        /*-------------------------------------------------------------------------
         * Non-static functions
         *------------------------------------------------------------------------*/
index 4ef59ed..cae3f12 100644 (file)
  * @file
  */
 
-if ( !defined( 'MEDIAWIKI' ) ) {
-       die( 1 );
-}
-
 require_once dirname( __FILE__ ) . '/Services_JSON.php';
 
 /**
index ef63335..f59848d 100644 (file)
@@ -26,6 +26,7 @@
 class LogEventsList {
        const NO_ACTION_LINK = 1;
        const NO_EXTRA_USER_LINKS = 2;
+       const USE_REVDEL_CHECKBOXES = 3;
 
        /**
         * @var Skin
@@ -504,20 +505,32 @@ class LogEventsList {
         */
        private function getShowHideLinks( $row ) {
                global $wgUser;
-               if( ( $this->flags & self::NO_ACTION_LINK ) // we don't want to see the links
+               if( ( $this->flags == self::NO_ACTION_LINK ) // we don't want to see the links
                        || $row->log_type == 'suppress' ) { // no one can hide items from the suppress log
                        return '';
                }
                $del = '';
-               // Don't show useless link to people who cannot hide revisions
+               // Don't show useless checkbox to people who cannot hide revisions
                if( $wgUser->isAllowed( 'deletedhistory' ) ) {
                        if( $row->log_deleted || $wgUser->isAllowed( 'deleterevision' ) ) {
                                $canHide = $wgUser->isAllowed( 'deleterevision' );
-                               // If event was hidden from sysops
-                               if( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) {
-                                       $del = Xml::check( 'deleterevisions', false, array( 'disabled' => 'disabled' ) );
+                               if ( $this->flags & self::USE_REVDEL_CHECKBOXES ) { // Show checkboxes instead of links.
+                                       if ( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) { // If event was hidden from sysops
+                                               $del = Xml::check( 'deleterevisions', false, array( 'disabled' => 'disabled' ) );
+                                       } else {
+                                               $del = Xml::check( 'showhiderevisions', false, array( 'name' => 'ids[' . $row->log_id . ']' ) );
+                                       }
                                } else {
-                                       $del = Xml::check( 'showhiderevisions', false, array( 'name' => 'ids[' . $row->log_id . ']' ) );
+                                       if ( !self::userCan( $row, LogPage::DELETED_RESTRICTED ) ) { // If event was hidden from sysops
+                                               $del = Linker::revDeleteLinkDisabled( $canHide );
+                                       } else {
+                                               $query = array(
+                                                       'target' => SpecialPage::getTitleFor( 'Log', $row->log_type )->getPrefixedDBkey(),
+                                                       'type'   => 'logging',
+                                                       'ids'    => $row->log_id,
+                                               );
+                                               $del = Linker::revDeleteLink( $query, self::isDeleted( $row, LogPage::DELETED_RESTRICTED ), $canHide );
+                                       }
                                }
                        }
                }
diff --git a/includes/mobile/DeviceDetection.php b/includes/mobile/DeviceDetection.php
new file mode 100644 (file)
index 0000000..bca6985
--- /dev/null
@@ -0,0 +1,459 @@
+<?php
+/**
+ * Mobile device detection code
+ *
+ * Copyright © 2011 Patrick Reilly
+ * http://www.mediawiki.org/
+ *
+ * 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
+ */
+
+/**
+ * Base for classes describing devices and their capabilities
+ * @since 1.20
+ */
+interface IDeviceProperties {
+       /**
+        * @return string: 'html' or 'wml'
+        */
+       function format();
+
+       /**
+        * @return bool
+        */
+       function supportsJavaScript();
+
+       /**
+        * @return bool
+        */
+       function supportsJQuery();
+
+       /**
+        * @return bool
+        */
+       function disableZoom();
+}
+
+/**
+ * @since 1.20
+ */
+interface IDeviceDetector {
+       /**
+        * @param $userAgent
+        * @param string $acceptHeader
+        * @return IDeviceProperties
+        */
+       function detectDeviceProperties( $userAgent, $acceptHeader = '' );
+
+       /**
+        * @param $deviceName
+        * @return IDeviceProperties
+        */
+       function getDeviceProperties( $deviceName );
+
+       /**
+        * @param $userAgent string
+        * @param $acceptHeader string
+        * @return string
+        */
+       function detectDeviceName( $userAgent, $acceptHeader = '' );
+}
+
+/**
+ * MediaWiki's default IDeviceProperties implementation
+ */
+final class DeviceProperties implements IDeviceProperties {
+       private $device;
+
+       public function __construct( array $deviceCapabilities ) {
+               $this->device = $deviceCapabilities;
+       }
+
+       /**
+        * @return string
+        */
+       function format() {
+               return $this->device['view_format'];
+       }
+
+       /**
+        * @return bool
+        */
+       function supportsJavaScript() {
+               return $this->device['supports_javascript'];
+       }
+
+       /**
+        * @return bool
+        */
+       function supportsJQuery() {
+               return $this->device['supports_jquery'];
+       }
+
+       /**
+        * @return bool
+        */
+       function disableZoom() {
+               return $this->device['disable_zoom'];
+       }
+}
+
+/**
+ * Provides abstraction for a device.
+ * A device can select which format a request should receive and
+ * may be extended to provide access to particular device functionality.
+ * @since 1.20
+ */
+class DeviceDetection implements IDeviceDetector {
+
+       private static $formats = array (
+                       'html' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'default',
+                               'supports_javascript' => false,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'capable' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'default',
+                               'supports_javascript' => true,
+                               'supports_jquery' => true,
+                               'disable_zoom' => true,
+                       ),
+                       'webkit' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'webkit',
+                               'supports_javascript' => true,
+                               'supports_jquery' => true,
+                               'disable_zoom' => false,
+                       ),
+                       'ie' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'default',
+                               'supports_javascript' => true,
+                               'supports_jquery' => true,
+                               'disable_zoom' => false,
+                       ),
+                       'android' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'android',
+                               'supports_javascript' => true,
+                               'supports_jquery' => true,
+                               'disable_zoom' => false,
+                       ),
+                       'iphone' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'iphone',
+                               'supports_javascript' => true,
+                               'supports_jquery' => true,
+                               'disable_zoom' => false,
+                       ),
+                       'iphone2' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'iphone2',
+                               'supports_javascript' => true,
+                               'supports_jquery' => true,
+                               'disable_zoom' => true,
+                       ),
+                       'native_iphone' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'default',
+                               'supports_javascript' => true,
+                               'supports_jquery' => true,
+                               'disable_zoom' => false,
+                       ),
+                       'palm_pre' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'palm_pre',
+                               'supports_javascript' => true,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'kindle' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'kindle',
+                               'supports_javascript' => false,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'kindle2' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'kindle',
+                               'supports_javascript' => false,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'blackberry' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'blackberry',
+                               'supports_javascript' => true,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'blackberry-lt5' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'blackberry',
+                               'supports_javascript' => false,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'netfront' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'simple',
+                               'supports_javascript' => false,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'wap2' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'simple',
+                               'supports_javascript' => false,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'psp' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'psp',
+                               'supports_javascript' => false,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'ps3' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'simple',
+                               'supports_javascript' => false,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'wii' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'wii',
+                               'supports_javascript' => true,
+                               'supports_jquery' => true,
+                               'disable_zoom' => true,
+                       ),
+                       'operamini' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'operamini',
+                               'supports_javascript' => false,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'operamobile' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'operamobile',
+                               'supports_javascript' => true,
+                               'supports_jquery' => true,
+                               'disable_zoom' => true,
+                       ),
+                       'nokia' => array (
+                               'view_format' => 'html',
+                               'css_file_name' => 'nokia',
+                               'supports_javascript' => true,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+                       'wml' => array (
+                               'view_format' => 'wml',
+                               'css_file_name' => null,
+                               'supports_javascript' => false,
+                               'supports_jquery' => false,
+                               'disable_zoom' => true,
+                       ),
+               );
+
+       /**
+        * Returns an instance of detection class, overridable by extensions
+        * @return IDeviceDetector
+        */
+       public static function factory() {
+               global $wgDeviceDetectionClass;
+
+               static $instance = null;
+               if ( !$instance ) {
+                       $instance = new $wgDeviceDetectionClass();
+               }
+               return $instance;
+       }
+
+       /**
+        * @deprecated: Deprecated, will be removed once detectDeviceProperties() will be deployed everywhere on WMF
+        * @param $userAgent
+        * @param string $acceptHeader
+        * @return array
+        */
+       public function detectDevice( $userAgent, $acceptHeader = '' ) {
+               $formatName = $this->detectFormatName( $userAgent, $acceptHeader );
+               return $this->getDevice( $formatName );
+       }
+
+       /**
+        * @param $userAgent
+        * @param string $acceptHeader
+        * @return IDeviceProperties
+        */
+       public function detectDeviceProperties( $userAgent, $acceptHeader = '' ) {
+               $deviceName = $this->detectDeviceName( $userAgent, $acceptHeader );
+               return $this->getDeviceProperties( $deviceName );
+       }
+
+       /**
+        * @deprecated: Deprecated, will be removed once detectDeviceProperties() will be deployed everywhere on WMF
+        * @param $formatName
+        * @return array
+        */
+       public function getDevice( $formatName ) {
+               return ( isset( self::$formats[$formatName] ) ) ? self::$formats[$formatName] : array();
+       }
+
+       /**
+        * @param $deviceName
+        * @return IDeviceProperties
+        */
+       public function getDeviceProperties( $deviceName ) {
+               if ( isset( self::$formats[$deviceName] ) ) {
+                       return new DeviceProperties( self::$formats[$deviceName] );
+               } else {
+                       return new DeviceProperties( array(
+                               'view_format' => 'html',
+                               'css_file_name' => 'default',
+                               'supports_javascript' => true,
+                               'supports_jquery' => true,
+                               'disable_zoom' => true,
+                       ) );
+               }
+       }
+
+       /**
+        * @deprecated: Renamed to detectDeviceName()
+        * @param $userAgent string
+        * @param $acceptHeader string
+        * @return string
+        */
+       public function detectFormatName( $userAgent, $acceptHeader = '' ) {
+               return $this->detectDeviceName( $userAgent, $acceptHeader );
+       }
+
+       /**
+        * @param $userAgent string
+        * @param $acceptHeader string
+        * @return string
+        */
+       public function detectDeviceName( $userAgent, $acceptHeader = '' ) {
+               wfProfileIn( __METHOD__ );
+
+               $deviceName = '';
+               if ( preg_match( '/Android/', $userAgent ) ) {
+                       $deviceName = 'android';
+                       if ( strpos( $userAgent, 'Opera Mini' ) !== false ) {
+                               $deviceName = 'operamini';
+                       }
+               } else if ( preg_match( '/MSIE 9.0/', $userAgent ) ||
+                               preg_match( '/MSIE 8.0/', $userAgent ) ) {
+                       $deviceName = 'ie';
+               } else if( preg_match( '/MSIE/', $userAgent ) ) {
+                       $deviceName = 'html';
+               } else if ( strpos( $userAgent, 'Opera Mobi' ) !== false ) {
+                       $deviceName = 'operamobile';
+               } elseif ( preg_match( '/iPad.* Safari/', $userAgent ) ) {
+                       $deviceName = 'iphone';
+               } elseif ( preg_match( '/iPhone.* Safari/', $userAgent ) ) {
+                       if ( strpos( $userAgent, 'iPhone OS 2' ) !== false ) {
+                               $deviceName = 'iphone2';
+                       } else {
+                               $deviceName = 'iphone';
+                       }
+               } elseif ( preg_match( '/iPhone/', $userAgent ) ) {
+                       if ( strpos( $userAgent, 'Opera' ) !== false ) {
+                               $deviceName = 'operamini';
+                       } else {
+                               $deviceName = 'native_iphone';
+                       }
+               } elseif ( preg_match( '/WebKit/', $userAgent ) ) {
+                       if ( preg_match( '/Series60/', $userAgent ) ) {
+                               $deviceName = 'nokia';
+                       } elseif ( preg_match( '/webOS/', $userAgent ) ) {
+                               $deviceName = 'palm_pre';
+                       } else {
+                               $deviceName = 'webkit';
+                       }
+               } elseif ( preg_match( '/Opera/', $userAgent ) ) {
+                       if ( strpos( $userAgent, 'Nintendo Wii' ) !== false ) {
+                               $deviceName = 'wii';
+                       } elseif ( strpos( $userAgent, 'Opera Mini' ) !== false ) {
+                               $deviceName = 'operamini';
+                       } elseif ( strpos( $userAgent, 'Opera Mobi' ) !== false ) {
+                               $deviceName = 'iphone';
+                       } else {
+                               $deviceName = 'webkit';
+                       }
+               } elseif ( preg_match( '/Kindle\/1.0/', $userAgent ) ) {
+                       $deviceName = 'kindle';
+               } elseif ( preg_match( '/Kindle\/2.0/', $userAgent ) ) {
+                       $deviceName = 'kindle2';
+               } elseif ( preg_match( '/Firefox/', $userAgent ) ) {
+                       $deviceName = 'capable';
+               } elseif ( preg_match( '/NetFront/', $userAgent ) ) {
+                       $deviceName = 'netfront';
+               } elseif ( preg_match( '/SEMC-Browser/', $userAgent ) ) {
+                       $deviceName = 'wap2';
+               } elseif ( preg_match( '/Series60/', $userAgent ) ) {
+                       $deviceName = 'wap2';
+               } elseif ( preg_match( '/PlayStation Portable/', $userAgent ) ) {
+                       $deviceName = 'psp';
+               } elseif ( preg_match( '/PLAYSTATION 3/', $userAgent ) ) {
+                       $deviceName = 'ps3';
+               } elseif ( preg_match( '/SAMSUNG/', $userAgent ) ) {
+                       $deviceName = 'capable';
+               } elseif ( preg_match( '/BlackBerry/', $userAgent ) ) {
+                       if( preg_match( '/BlackBerry[^\/]*\/[1-4]\./', $userAgent ) ) {
+                               $deviceName = 'blackberry-lt5';
+                       } else {
+                               $deviceName = 'blackberry';
+                       }
+               }
+
+               if ( $deviceName === '' ) {
+                       if ( strpos( $acceptHeader, 'application/vnd.wap.xhtml+xml' ) !== false ) {
+                               // Should be wap2
+                               $deviceName = 'html';
+                       } elseif ( strpos( $acceptHeader, 'vnd.wap.wml' ) !== false ) {
+                               $deviceName = 'wml';
+                       } else {
+                               $deviceName = 'html';
+                       }
+               }
+               wfProfileOut( __METHOD__ );
+               return $deviceName;
+       }
+
+       /**
+        * @return array: List of all device-specific stylesheets
+        */
+       public function getCssFiles() {
+               $files = array();
+
+               foreach ( self::$formats as $dev ) {
+                       if ( isset( $dev['css_file_name'] ) ) {
+                               $files[] = $dev['css_file_name'];
+                       }
+               }
+               return array_unique( $files );
+       }
+}
index 49cad8c..1312866 100644 (file)
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Base class for memcached clients.
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
index c3ba9ea..3c26487 100644 (file)
@@ -1,5 +1,26 @@
 <?php
-
+/**
+ * Object caching using memcached.
+ *
+ * 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 Cache
+ */
 /**
  * A wrapper class for the PECL memcached client
  * 
index 3d2f2f8..19bcbf2 100644 (file)
@@ -78,15 +78,19 @@ interface PPFrame {
 
        const RECOVER_ORIG = 27; // = 1|2|8|16 no constant expression support in PHP yet
 
+       /** This constant exists when $indexOffset is supported in newChild() */
+       const SUPPORTS_INDEX_OFFSET = 1;
+
        /**
         * Create a child frame
         *
         * @param $args array
         * @param $title Title
+        * @param $indexOffset A number subtracted from the index attributes of the arguments
         *
         * @return PPFrame
         */
-       function newChild( $args = false, $title = false );
+       function newChild( $args = false, $title = false, $indexOffset = 0 );
 
        /**
         * Expand a document tree node
index 5bb951b..f991df2 100644 (file)
@@ -926,7 +926,7 @@ class PPFrame_DOM implements PPFrame {
         *
         * @return PPTemplateFrame_DOM
         */
-       function newChild( $args = false, $title = false ) {
+       function newChild( $args = false, $title = false, $indexOffset = 0 ) {
                $namedArgs = array();
                $numberedArgs = array();
                if ( $title === false ) {
@@ -938,6 +938,9 @@ class PPFrame_DOM implements PPFrame {
                                $args = $args->node;
                        }
                        foreach ( $args as $arg ) {
+                               if ( $arg instanceof PPNode ) {
+                                       $arg = $arg->node;
+                               }
                                if ( !$xpath ) {
                                        $xpath = new DOMXPath( $arg->ownerDocument );
                                }
@@ -947,6 +950,7 @@ class PPFrame_DOM implements PPFrame {
                                if ( $nameNodes->item( 0 )->hasAttributes() ) {
                                        // Numbered parameter
                                        $index = $nameNodes->item( 0 )->attributes->getNamedItem( 'index' )->textContent;
+                                       $index = $index - $indexOffset;
                                        $numberedArgs[$index] = $value->item( 0 );
                                        unset( $namedArgs[$index] );
                                } else {
@@ -1549,6 +1553,10 @@ class PPCustomFrame_DOM extends PPFrame_DOM {
                }
                return $this->args[$index];
        }
+
+       function getArguments() {
+               return $this->args;
+       }
 }
 
 /**
index 32ba707..f455a1d 100644 (file)
@@ -888,7 +888,7 @@ class PPFrame_Hash implements PPFrame {
         *
         * @return PPTemplateFrame_Hash
         */
-       function newChild( $args = false, $title = false ) {
+       function newChild( $args = false, $title = false, $indexOffset = 0 ) {
                $namedArgs = array();
                $numberedArgs = array();
                if ( $title === false ) {
@@ -904,8 +904,9 @@ class PPFrame_Hash implements PPFrame {
                                $bits = $arg->splitArg();
                                if ( $bits['index'] !== '' ) {
                                        // Numbered parameter
-                                       $numberedArgs[$bits['index']] = $bits['value'];
-                                       unset( $namedArgs[$bits['index']] );
+                                       $index = $bits['index'] - $indexOffset;
+                                       $numberedArgs[$index] = $bits['value'];
+                                       unset( $namedArgs[$index] );
                                } else {
                                        // Named parameter
                                        $name = trim( $this->expand( $bits['name'], PPFrame::STRIP_COMMENTS ) );
@@ -1496,6 +1497,10 @@ class PPCustomFrame_Hash extends PPFrame_Hash {
                }
                return $this->args[$index];
        }
+
+       function getArguments() {
+               return $this->args;
+       }
 }
 
 /**
index 87a3c2d..0e96c6c 100644 (file)
@@ -161,7 +161,7 @@ class ResourceLoaderContext {
                        $this->direction = $this->request->getVal( 'dir' );
                        if ( !$this->direction ) {
                                # directionality based on user language (see bug 6100)
-                               $this->direction = Language::factory( $this->language )->getDir();
+                               $this->direction = Language::factory( $this->getLanguage() )->getDir();
                        }
                }
                return $this->direction;
index a69676d..f35e774 100644 (file)
@@ -22,8 +22,6 @@
  * @author Roan Kattouw
  */
 
-defined( 'MEDIAWIKI' ) || die( 1 );
-
 /**
  * Abstraction for resource loader modules which pull from wiki pages
  *
index 517270a..c63fcf7 100644 (file)
@@ -260,14 +260,14 @@ class RevDel_RevisionItem extends RevDel_Item {
        }
 
        public function getHTML() {
-               $difflink = $this->getDiffLink();
+               $difflink = wfMessage( 'parentheses' )->rawParams( $this->getDiffLink() );
                $revlink = $this->getRevisionLink();
                $userlink = Linker::revUserLink( $this->revision );
                $comment = Linker::revComment( $this->revision );
                if ( $this->isDeleted() ) {
                        $revlink = "<span class=\"history-deleted\">$revlink</span>";
                }
-               return "<li>($difflink) $revlink $userlink $comment</li>";
+               return "<li>$difflink $revlink $userlink $comment</li>";
        }
 }
 
@@ -885,6 +885,7 @@ class RevDel_LogItem extends RevDel_Item {
                        array(),
                        array( 'page' => $title->getPrefixedText() )
                );
+               $loglink = wfMessage( 'parentheses' )->rawParams( $loglink );
                // User links and action text
                $action = $formatter->getActionText();
                // Comment
@@ -893,6 +894,6 @@ class RevDel_LogItem extends RevDel_Item {
                        $comment = '<span class="history-deleted">' . $comment . '</span>';
                }
 
-               return "<li>($loglink) $date $action $comment</li>";
+               return "<li>$loglink $date $action $comment</li>";
        }
 }
index b7f1e61..3d43831 100644 (file)
@@ -241,8 +241,9 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
                $dbr = wfGetDB( DB_MASTER );
                $res = $dbr->select(
                        'watchlist',
-                       '*',
                        array(
+                               'wl_namespace', 'wl_title'
+                       ), array(
                                'wl_user' => $this->getUser()->getId(),
                        ),
                        __METHOD__
@@ -321,16 +322,20 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
         * Attempts to clean up broken items
         */
        private function cleanupWatchlist() {
+               if( !count( $this->badItems ) ) {
+                       return; //nothing to do
+               }
                $dbw = wfGetDB( DB_MASTER );
+               $user = $this->getUser();
                foreach ( $this->badItems as $row ) {
                        list( $title, $namespace, $dbKey ) = $row;
-                       wfDebug( "User {$this->getUser()} has broken watchlist item ns($namespace):$dbKey, "
+                       wfDebug( "User {$user->getName()} has broken watchlist item ns($namespace):$dbKey, "
                                . ( $title ? 'cleaning up' : 'deleting' ) . ".\n"
                        );
 
                        $dbw->delete( 'watchlist',
                                array(
-                                       'wl_user' => $this->getUser()->getId(),
+                                       'wl_user' => $user->getId(),
                                        'wl_namespace' => $namespace,
                                        'wl_title' => $dbKey,
                                ),
@@ -339,7 +344,7 @@ class SpecialEditWatchlist extends UnlistedSpecialPage {
 
                        // Can't just do an UPDATE instead of DELETE/INSERT due to unique index
                        if ( $title ) {
-                               $this->getUser()->addWatch( $title );
+                               $user->addWatch( $title );
                        }
                }
        }
index 55b500d..2ab02cb 100644 (file)
@@ -254,7 +254,7 @@ class SpecialEmailUser extends UnlistedSpecialPage {
         * or maybe even true on success if anything uses the EmailUser hook.
         */
        public static function submit( array $data, IContextSource $context ) {
-               global $wgUser, $wgUserEmailUseReplyTo;
+               global $wgUserEmailUseReplyTo;
 
                $target = self::getTarget( $data['Target'] );
                if( !$target instanceof User ) {
index 177b34d..7a3f407 100644 (file)
@@ -131,7 +131,7 @@ class SpecialLog extends SpecialPage {
 
        private function show( FormOptions $opts, array $extraConds ) {
                # Create a LogPager item to get the results and a LogEventsList item to format them...
-               $loglist = new LogEventsList( $this->getSkin(), $this->getOutput(), 0 );
+               $loglist = new LogEventsList( $this->getSkin(), $this->getOutput(), LogEventsList::USE_REVDEL_CHECKBOXES );
                $pager = new LogPager( $loglist, $opts->getValue( 'type' ), $opts->getValue( 'user' ),
                        $opts->getValue( 'page' ), $opts->getValue( 'pattern' ), $extraConds, $opts->getValue( 'year' ),
                        $opts->getValue( 'month' ), $opts->getValue( 'tagfilter' ) );
index 0aa8b30..7fbe910 100644 (file)
@@ -285,7 +285,10 @@ class SpecialMergeHistory extends SpecialPage {
                }
                $comment = Linker::revComment( $rev );
 
-               return "<li>$checkBox ($last) $pageLink . . $userLink $stxt $comment</li>";
+               $revisionRow = $this->msg( 'mergehistory-revisionrow' )->rawParams( $checkBox, $last, $pageLink, $userLink, $stxt, $comment)->escaped();
+               $revisionRow .= "<li>" . $line . "</li>";
+
+               return $revisionRow;
        }
 
        function merge() {
index 44097c8..4c32c30 100644 (file)
@@ -294,6 +294,8 @@ class SpecialNewpages extends IncludableSpecialPage {
         * @return String
         */
        public function formatRow( $result ) {
+               $title = Title::newFromRow( $result );
+
                # Revision deletion works on revisions, so we should cast one
                $row = array(
                                          'comment' => $result->rc_comment,
@@ -302,13 +304,13 @@ class SpecialNewpages extends IncludableSpecialPage {
                                          'user' => $result->rc_user,
                                        );
                $rev = new Revision( $row );
+               $rev->setTitle( $title );
 
                $classes = array();
 
                $lang = $this->getLanguage();
                $dm = $lang->getDirMark();
 
-               $title = Title::newFromRow( $result );
                $spanTime = Html::element( 'span', array( 'class' => 'mw-newpages-time' ),
                        $lang->userTimeAndDate( $result->rc_timestamp, $this->getUser() )
                );
index f140546..51520c8 100644 (file)
@@ -154,7 +154,7 @@ class SpecialPasswordReset extends FormSpecialPage {
                        $method = 'email';
                        $res = wfGetDB( DB_SLAVE )->select(
                                'user',
-                               '*',
+                               User::selectFields(),
                                array( 'user_email' => $data['Email'] ),
                                __METHOD__
                        );
index a7a87f0..bb384d4 100644 (file)
@@ -633,14 +633,18 @@ class SpecialRecentChanges extends IncludableSpecialPage {
         */
        function setTopText( FormOptions $opts ) {
                global $wgContLang;
-               $this->getOutput()->addWikiText(
-                       Html::rawElement( 'p',
-                               array( 'lang' => $wgContLang->getCode(), 'dir' => $wgContLang->getDir() ),
-                               "\n" . $this->msg( 'recentchangestext' )->inContentLanguage()->plain() . "\n"
-                       ), 
-                       /* $lineStart */ false,
-                       /* $interface */ false
-               );
+
+               $message = $this->msg( 'recentchangestext' )->inContentLanguage();
+               if ( !$message->isDisabled() ) {
+                       $this->getOutput()->addWikiText(
+                               Html::rawElement( 'p',
+                                       array( 'lang' => $wgContLang->getCode(), 'dir' => $wgContLang->getDir() ),
+                                       "\n" . $message->plain() . "\n"
+                               ),
+                               /* $lineStart */ false,
+                               /* $interface */ false
+                       );
+               }
        }
 
        /**
index 8622b92..ee04574 100644 (file)
@@ -43,7 +43,8 @@ class ShortPagesPage extends QueryPage {
                        'fields' => array ( 'page_namespace AS namespace',
                                        'page_title AS title',
                                        'page_len AS value' ),
-                       'conds' => array ( 'page_namespace' => NS_MAIN,
+                       'conds' => array ( 'page_namespace' =>
+                                       MWNamespace::getContentNamespaces(),
                                        'page_is_redirect' => 0 ),
                        'options' => array ( 'USE INDEX' => 'page_redirect_namespace_len' )
                );
@@ -81,7 +82,11 @@ class ShortPagesPage extends QueryPage {
        function formatResult( $skin, $result ) {
                $dm = $this->getLanguage()->getDirMark();
 
-               $title = Title::makeTitle( $result->namespace, $result->title );
+               $title = Title::makeTitleSafe( $result->namespace, $result->title );
+               if ( !$title ) {
+                       return Html::element( 'span', array( 'class' => 'mw-invalidtitle' ),
+                               Linker::getInvalidTitleDescription( $this->getContext(), $result->namespace, $result->title ) );
+               }
 
                $hlink = Linker::linkKnown(
                        $title,
index 1fc8ea5..df720a1 100644 (file)
@@ -21,9 +21,6 @@
  * @ingroup SpecialPage
  */
 
-if (!defined('MEDIAWIKI'))
-       die;
-
 /**
  * A special page that lists tags for edits
  *
index c4f99f8..4bd0232 100644 (file)
@@ -68,13 +68,15 @@ class UnwatchedpagesPage extends QueryPage {
        function formatResult( $skin, $result ) {
                global $wgContLang;
 
-               $nt = Title::makeTitle( $result->namespace, $result->title );
+               $nt = Title::makeTitleSafe( $result->namespace, $result->title );
+               if ( !$nt ) {
+                       return Html::element( 'span', array( 'class' => 'mw-invalidtitle' ),
+                               Linker::getInvalidTitleDescription( $this->getContext(), $result->namespace, $result->title ) );
+               }
+
                $text = $wgContLang->convert( $nt->getPrefixedText() );
 
-               $plink = Linker::linkKnown(
-                       $nt,
-                       htmlspecialchars( $text )
-               );
+               $plink = Linker::linkKnown( $nt, htmlspecialchars( $text ) );
                $token = WatchAction::getWatchToken( $nt, $this->getUser() );
                $wlink = Linker::linkKnown(
                        $nt,
index eafdde4..a81eb5b 100644 (file)
@@ -91,14 +91,6 @@ class SpecialWatchlist extends SpecialPage {
                        return;
                }
 
-               if( ( $wgEnotifWatchlist || $wgShowUpdatedMarker ) && $request->getVal( 'reset' ) &&
-                       $request->wasPosted() )
-               {
-                       $user->clearAllNotifications();
-                       $output->redirect( $this->getTitle()->getFullUrl() );
-                       return;
-               }
-
                $nitems = $this->countItems();
                if ( $nitems == 0 ) {
                        $output->addWikiMsg( 'nowatchlist' );
@@ -152,16 +144,16 @@ class SpecialWatchlist extends SpecialPage {
                $invert = $request->getBool( 'invert' );
                $associated = $request->getBool( 'associated' );
                if ( !is_null( $nameSpace ) ) {
-                       $eq_op = $invert ? '!=' : '=';\r
+                       $eq_op = $invert ? '!=' : '=';
                        $bool_op = $invert ? 'AND' : 'OR';
                        $nameSpace = intval( $nameSpace ); // paranioa
                        if ( !$associated ) {
                                $nameSpaceClause = "rc_namespace $eq_op $nameSpace";
                        } else {
-                               $associatedNS = MWNamespace::getAssociated( $nameSpace );\r
+                               $associatedNS = MWNamespace::getAssociated( $nameSpace );
                                $nameSpaceClause =
-                                       "rc_namespace $eq_op $nameSpace " .\r
-                                       $bool_op .\r
+                                       "rc_namespace $eq_op $nameSpace " .
+                                       $bool_op .
                                        " rc_namespace $eq_op $associatedNS";
                        }
                } else {
@@ -190,6 +182,14 @@ class SpecialWatchlist extends SpecialPage {
                        wfAppendToArrayIfNotDefault( $name, $values[$name], $defaults, $nondefaults );
                }
 
+               if( ( $wgEnotifWatchlist || $wgShowUpdatedMarker ) && $request->getVal( 'reset' ) &&
+                       $request->wasPosted() )
+               {
+                       $user->clearAllNotifications();
+                       $output->redirect( $this->getTitle()->getFullUrl( $nondefaults ) );
+                       return;
+               }
+
                $dbr = wfGetDB( DB_SLAVE, 'watchlist' );
 
                # Possible where conditions
@@ -263,8 +263,11 @@ class SpecialWatchlist extends SpecialPage {
                                                'id' => 'mw-watchlist-resetbutton' ) ) .
                                        $this->msg( 'wlheader-showupdated' )->parse() . ' ' .
                                        Xml::submitButton( $this->msg( 'enotif_reset' )->text(), array( 'name' => 'dummy' ) ) .
-                                       Html::hidden( 'reset', 'all' ) .
-                                       Xml::closeElement( 'form' );
+                                       Html::hidden( 'reset', 'all' );
+                                       foreach ( $nondefaults as $key => $value ) {
+                                               $form .= Html::hidden( $key, $value );
+                                       }
+                                       $form .= Xml::closeElement( 'form' );
                }
                $form .= '<hr />';
 
index a4de98a..8eb2781 100644 (file)
@@ -1,4 +1,26 @@
 <?php
+/**
+ * Base class for the backend of file upload.
+ *
+ * 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 Upload
+ */
+
 /**
  * @defgroup Upload
  */
index 11780e4..e50c6da 100644 (file)
@@ -1,4 +1,26 @@
 <?php
+/**
+ * Backend for uploading files from chunks.
+ *
+ * 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 Upload
+ */
+
 /**
  * Implements uploading from chunks
  *
index 234fde8..fae9974 100644 (file)
@@ -1,4 +1,26 @@
 <?php
+/**
+ * Backend for regular file upload.
+ *
+ * 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 Upload
+ */
+
 /**
  * Implements regular file uploads
  *
index 317dd55..d5cce14 100644 (file)
@@ -1,4 +1,26 @@
 <?php
+/**
+ * Backend for uploading files from previously stored file.
+ *
+ * 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 Upload
+ */
+
 /**
  * Implements uploading from previously stored file.
  *
index 49bfb91..c7e482e 100644 (file)
@@ -1,4 +1,26 @@
 <?php
+/**
+ * Backend for uploading files from a HTTP resource.
+ *
+ * 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 Upload
+ */
+
 /**
  * Implements uploading from a HTTP resource.
  *
index e347408..12531c2 100644 (file)
@@ -1,4 +1,26 @@
 <?php
+/**
+ * Temporary storage for uploaded files.
+ *
+ * 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 Upload
+ */
+
 /**
  * UploadStash is intended to accomplish a few things:
  *   - enable applications to temporarily stash files without publishing them to the wiki.
index a738b06..2c3dc07 100644 (file)
@@ -1 +1,24 @@
-<?php require './index.php';
+<?php
+/**
+ * Version of index.php to used in web server requiring .php5 extension
+ * to execute scripts with PHP5 egine.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+require './index.php';
index e6feb45..656f5d0 100644 (file)
@@ -245,6 +245,17 @@ class Language {
         * @return bool
         */
        public static function isValidBuiltInCode( $code ) {
+
+               if( !is_string($code) ) {
+                       $type = gettype( $code );
+                       if( $type === 'object' ) {
+                               $addmsg = " of class " . get_class( $code );
+                       } else {
+                               $addmsg = '';
+                       }
+                       throw new MWException( __METHOD__ . " must be passed a string, $type given$addmsg" );
+               }
+
                return preg_match( '/^[a-z0-9-]+$/i', $code );
        }
 
@@ -273,10 +284,6 @@ class Language {
                }
 
                if ( !defined( 'MW_COMPILED' ) ) {
-                       // Preload base classes to work around APC/PHP5 bug
-                       if ( file_exists( "$IP/languages/classes/$class.deps.php" ) ) {
-                               include_once( "$IP/languages/classes/$class.deps.php" );
-                       }
                        if ( file_exists( "$IP/languages/classes/$class.php" ) ) {
                                include_once( "$IP/languages/classes/$class.php" );
                        }
@@ -700,9 +707,9 @@ class Language {
         *              Use null for autonyms (native names)
         * @param $include string:
         *              'all' all available languages
-        *              'mw' only if the language is defined in MediaWiki or wgExtraLanguageNames
+        *              'mw' only if the language is defined in MediaWiki or wgExtraLanguageNames (default)
         *              'mwfile' only if the language is in 'mw' *and* has a message file
-        * @return array|bool: language code => language name, false if $include is wrong
+        * @return array: language code => language name
         * @since 1.20
         */
        public static function fetchLanguageNames( $inLanguage = null, $include = 'mw' ) {
@@ -723,9 +730,8 @@ class Language {
                $mwNames = $wgExtraLanguageNames + $coreLanguageNames;
                foreach ( $mwNames as $mwCode => $mwName ) {
                        # - Prefer own MediaWiki native name when not using the hook
-                       #       TODO: prefer it always to make it consistent, but casing is different in CLDR
                        # - For other names just add if not added through the hook
-                       if ( ( $mwCode === $inLanguage && !$inLanguage ) || !isset( $names[$mwCode] ) ) {
+                       if ( $mwCode === $inLanguage || !isset( $names[$mwCode] ) ) {
                                $names[$mwCode] = $mwName;
                        }
                }
@@ -740,9 +746,7 @@ class Language {
                        $returnMw[$coreCode] = $names[$coreCode];
                }
 
-               if( $include === 'mw' ) {
-                       return $returnMw;
-               } elseif( $include === 'mwfile' ) {
+               if( $include === 'mwfile' ) {
                        $namesMwFile = array();
                        # We do this using a foreach over the codes instead of a directory
                        # loop so that messages files in extensions will work correctly.
@@ -753,7 +757,8 @@ class Language {
                        }
                        return $namesMwFile;
                }
-               return false;
+               # 'mw' option; default if it's not one of the other two options (all/mwfile)
+               return $returnMw;
        }
 
        /**
@@ -2386,8 +2391,12 @@ class Language {
                        return $s;
                }
 
-               $isutf8 = preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
-                               '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
+               if ( function_exists( 'mb_check_encoding' ) ) {
+                       $isutf8 = mb_check_encoding( $s, 'UTF-8' );
+               } else {
+                       $isutf8 = preg_match( '/^(?>[\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
+                                       '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
+               }
                if ( $isutf8 ) {
                        return $s;
                }
@@ -2708,12 +2717,26 @@ class Language {
        }
 
        /**
-        * An arrow, depending on the language direction
+        * An arrow, depending on the language direction.
         *
+        * @param $direction String: the direction of the arrow: forwards (default), backwards, left, right, up, down.
         * @return string
         */
-       function getArrow() {
-               return $this->isRTL() ? '←' : '→';
+       function getArrow( $direction = 'forwards' ) {
+               switch ( $direction ) {
+               case 'forwards':
+                       return $this->isRTL() ? '←' : '→';
+               case 'backwards':
+                       return $this->isRTL() ? '→' : '←';
+               case 'left':
+                       return '←';
+               case 'right':
+                       return '→';
+               case 'up':
+                       return '↑';
+               case 'down':
+                       return '↓';
+               }
        }
 
        /**
index 35629b9..7a37826 100644 (file)
        'aln' => 'Gegë',       # Gheg Albanian
        'als' => 'Alemannisch', # Alemannic -- not a valid code, for compatibility. See gsw.
        'am' => 'አማርኛ', # Amharic
-       'an' => 'Aragonés',    # Aragonese
+       'an' => 'aragonés',    # Aragonese
        'ang' => 'Ænglisc',    # Old English (Bug 23283)
        'anp' => 'अङ्गिका',       # Angika
        'ar' => 'العربية',       # Arabic
        'arc' => 'ܐܪܡܝܐ',  # Aramaic
-       'arn' => 'Mapudungun',  # Mapuche, Mapudungu, Araucanian (Araucano)
+       'arn' => 'mapudungun',  # Mapuche, Mapudungu, Araucanian (Araucano)
        'ary' => 'Maġribi',    # Moroccan Spoken Arabic
        'arz' => 'مصرى',    # Egyptian Spoken Arabic
        'as' => 'অসমীয়া',   # Assamese
-       'ast' => 'Asturianu',   # Asturian
+       'ast' => 'asturianu',   # Asturian
        'av' => 'Авар',     # Avar
        'avk' => 'Kotava', # Kotava
        'ay' => 'Aymar aru',    # Aymara
-       'az' => 'Azərbaycanca',        # Azerbaijani
+       'az' => 'azərbaycanca',        # Azerbaijani
        '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 )
        'bcc' => 'بلوچی مکرانی', # Southern Balochi
        'bcl' => 'Bikol Central', # Bikol: Central Bicolano language
-       'be' => 'Ð\91еларуская', #  Belarusian normative
+       'be' => 'беларуская', #  Belarusian normative
        'be-tarask' => "\xE2\x80\xAAБеларуская (тарашкевіца)\xE2\x80\xAC", # Belarusian in Taraskievica orthography
        'be-x-old' => "\xE2\x80\xAAБеларуская (тарашкевіца)\xE2\x80\xAC",  # Belarusian in Taraskievica orthography; compat link
-       'bg' => 'Ð\91ългарски',   # Bulgarian
+       'bg' => 'български',   # Bulgarian
        'bh' => 'भोजपुरी',        # Bihari macro language. Falls back to Bhojpuri (bho). The name actually says "Bhojpuri".
        'bho' => 'भोजपुरी',       # Bhojpuri
        'bi' => 'Bislama',              # Bislama
        'bjn' => 'Bahasa Banjar',       # Banjarese
-       'bm' => 'Bamanankan',   # Bambara
+       'bm' => 'bamanankan',   # Bambara
        'bn' => 'বাংলা',      # Bengali
        'bo' => 'བོད་ཡིག',        # Tibetan
        'bpy' => 'বিষ্ণুপ্রিয়া মণিপুরী',       # Bishnupriya Manipuri
        'bqi' => 'بختياري',      # Bakthiari
-       'br' => 'Brezhoneg',    # Breton
+       'br' => 'brezhoneg',    # Breton
        'brh' => 'Bráhuí',    # Brahui
-       'bs' => 'Bosanski',             # Bosnian
+       'bs' => 'bosanski',             # Bosnian
        'bug' => 'ᨅᨔ ᨕᨘᨁᨗ', # Buginese
        'bxr' => 'Буряад',        # Buryat (Russia)
-       'ca' => 'Català',      # Catalan
+       'ca' => 'català',      # Catalan
        'cbk-zam' => 'Chavacano de Zamboanga',  # Zamboanga Chavacano
        'cdo' => 'Mìng-dĕ̤ng-ngṳ̄',       # Min Dong
        'ce' => 'Нохчийн',       # Chechen
        'chr' => 'ᏣᎳᎩ', # Cherokee
        'chy' => 'Tsetsêhestâhese',   # Cheyenne
        'ckb' => 'کوردی',  # Sorani. The name actually says "Kurdi" (Kurdish).
-       'co' => 'Corsu',                # Corsican
+       'co' => 'corsu',                # Corsican
        'cps' => 'Capiceño', # Capiznon
        'cr' => 'Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ',                # Cree
        'crh' => 'Qırımtatarca',   # Crimean Tatar (multiple scripts - defaults to Latin)
        'crh-latn' => "\xE2\x80\xAAQırımtatarca (Latin)\xE2\x80\xAC",       # Crimean Tatar (Latin)
        'crh-cyrl' => "\xE2\x80\xAAКъырымтатарджа (Кирилл)\xE2\x80\xAC",       # Crimean Tatar (Cyrillic)
-       'cs' => 'Ä\8cesky',       # Czech
+       'cs' => 'Ä\8desky',       # Czech
        'csb' => 'Kaszëbsczi', # Cassubian
        'cu' => 'Словѣ́ньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ',      # Old Church Slavonic (ancient language)
        'cv' => 'Чӑвашла',       # Chuvash
        'cy' => 'Cymraeg',              # Welsh
-       'da' => 'Dansk',                # Danish
+       'da' => 'dansk',                # Danish
        'de' => 'Deutsch',              # German ("Du")
        'de-at' => 'Österreichisches Deutsch',         # Austrian German
        'de-ch' => 'Schweizer Hochdeutsch',             # Swiss Standard German
        'dtp' => 'Dusun Bundu-liwan', # Central Dusun
        'dv' => 'ދިވެހިބަސް',         # Dhivehi
        'dz' => 'ཇོང་ཁ',              # Dzongkha (Bhutan)
-       'ee' => 'Eʋegbe',      # Éwé
+       'ee' => 'eʋegbe',      # Éwé
        'el' => 'Ελληνικά',     # Greek
-       'eml' => 'Emiliàn e rumagnòl',        # Emiliano-Romagnolo / Sammarinese
+       'eml' => 'emiliàn e rumagnòl',        # Emiliano-Romagnolo / Sammarinese
        'en' => 'English',              # English
        'en-ca' => 'Canadian English',  # Canadian English
        'en-gb' => 'British English',   # British English
        'eo' => 'Esperanto',    # Esperanto
-       'es' => 'Español',     # Spanish
-       'et' => 'Eesti',                # Estonian
-       'eu' => 'Euskara',              # Basque
-       'ext' => 'Estremeñu', # Extremaduran
+       'es' => 'español',     # Spanish
+       'et' => 'eesti',                # Estonian
+       'eu' => 'euskara',              # Basque
+       'ext' => 'estremeñu', # Extremaduran
        'fa' => 'فارسی',   # Persian
        'ff' => 'Fulfulde',             # Fulfulde, Maasina
-       'fi' => 'Suomi',                # Finnish
+       'fi' => 'suomi',                # Finnish
+       'fit' => 'meänkieli', # Tornedalen Finnish
        'fiu-vro' => 'Võro',    # Võro (deprecated code, 'vro' in ISO 639-3 since 2009-01-16)
        'fj' => 'Na Vosa Vakaviti',     # Fijian
-       'fo' => 'Føroyskt',    # Faroese
-       'fr' => 'Français',    # French
-       'frc' => 'Français cadien', # Cajun French
-       'frp' => 'Arpetan',     # Franco-Provençal/Arpitan
+       'fo' => 'føroyskt',    # Faroese
+       'fr' => 'français',    # French
+       'frc' => 'français cadien', # Cajun French
+       'frp' => 'arpetan',     # Franco-Provençal/Arpitan
        'frr' => 'Nordfriisk',  # North Frisian
-       'fur' => 'Furlan',              # Friulian
+       'fur' => 'furlan',              # Friulian
        'fy' => 'Frysk',                # Frisian
        'ga' => 'Gaeilge',              # Irish
        'gag' => 'Gagauz',              # Gagauz
        'gan' => '贛語',              # Gan (multiple scripts - defaults to Traditional)
-       'gan-hans' => "\xE2\x80\xAA赣语(简体)\xE2\x80\xAC", # Gan (Simplified Han)
-       'gan-hant' => "\xE2\x80\xAA贛語(繁體)\xE2\x80\xAC", # Gan (Traditional Han)
+       'gan-hans' => "\xE2\x80\xAA赣语(简体)\xE2\x80\xAC",     # Gan (Simplified Han)
+       'gan-hant' => "\xE2\x80\xAA贛語(繁體)\xE2\x80\xAC",     # Gan (Traditional Han)
        'gd' => 'Gàidhlig',    # Scots Gaelic
-       'gl' => 'Galego',               # Galician
+       'gl' => 'galego',               # Galician
        'glk' => 'گیلکی',  # Gilaki
        'gn' => 'Avañe\'ẽ',  # Guaraní, Paraguayan
        'got' => '𐌲𐌿𐍄𐌹𐍃𐌺',    # Gothic
        'hif-latn' => 'Fiji Hindi',     # Fiji Hindi (latin)
        'hil' => 'Ilonggo',     # Hiligaynon
        'ho' => 'Hiri Motu',    # Hiri Motu
-       'hr' => 'Hrvatski',             # Croatian
+       'hr' => 'hrvatski',             # Croatian
        'hsb' => 'Hornjoserbsce',       # Upper Sorbian
        'ht'  => 'Kreyòl ayisyen',             # Haitian Creole French
-       'hu' => 'Magyar',               # Hungarian
+       'hu' => 'magyar',               # Hungarian
        'hy' => 'Հայերեն',       # Armenian
        'hz' => 'Otsiherero',   # Herero
-       'ia' => 'Interlingua',  # Interlingua (IALA)
+       'ia' => 'interlingua',  # Interlingua (IALA)
        'id' => 'Bahasa Indonesia',     # Indonesian
        'ie' => 'Interlingue',  # Interlingue (Occidental)
        'ig' => 'Igbo',                 # Igbo
        'ii' => 'ꆇꉙ',       # Sichuan Yi
        'ik' => 'Iñupiak',     # Inupiak (Inupiatun, Northwest Alaska / Inupiatun, North Alaskan)
        'ike-cans' => 'ᐃᓄᒃᑎᑐᑦ',     # Inuktitut, Eastern Canadian/Eastern Canadian "Eskimo"/"Eastern Arctic Eskimo"/Inuit (Unified Canadian Aboriginal Syllabics)
-       'ike-latn' => 'Inuktitut',      # Inuktitut, Eastern Canadian (Latin script)
+       'ike-latn' => 'inuktitut',      # Inuktitut, Eastern Canadian (Latin script)
        'ilo' => 'Ilokano',     # Ilokano
        'inh' => 'ГӀалгӀай',    # Ingush
        'io' => 'Ido',                  # Ido
-       'is' => 'Ã\8dslenska',    # Icelandic
-       'it' => 'Italiano',             # Italian
+       'is' => 'íslenska',    # Icelandic
+       'it' => 'italiano',             # Italian
        'iu' => 'ᐃᓄᒃᑎᑐᑦ/inuktitut', # Inuktitut (macro language - do no localise, see ike/ikt - falls back to ike-cans)
        'ja' => '日本語',    # Japanese
        'jam' => 'Patois',      # Jamaican Creole English
        'jbo' => 'Lojban',              # Lojban
-       'jut' => 'Jysk',        # Jutish / Jutlandic
+       'jut' => 'jysk',        # Jutish / Jutlandic
        'jv' => 'Basa Jawa',    # Javanese
        'ka' => 'ქართული',        # Georgian
        'kaa' => 'Qaraqalpaqsha',       # Karakalpak
        'kk-cn' => "\xE2\x80\xABقازاقشا (جۇنگو)\xE2\x80\xAC",       # Kazakh (China)
        'kk-kz' => "\xE2\x80\xAAҚазақша (Қазақстан)\xE2\x80\xAC",       # Kazakh (Kazakhstan)
        'kk-tr' => "\xE2\x80\xAAQazaqşa (Türkïya)\xE2\x80\xAC",      # Kazakh (Turkey)
-       'kl' => 'Kalaallisut',  # Inuktitut, Greenlandic/Greenlandic/Kalaallisut (kal)
+       'kl' => 'kalaallisut',  # Inuktitut, Greenlandic/Greenlandic/Kalaallisut (kal)
        'km' => 'ភាសាខ្មែរ',  # Khmer, Central
        'kn' => 'ಕನ್ನಡ',      # Kannada
        'ko' => '한국어',    # Korean
        'ku-latn' => "\xE2\x80\xAAKurdî (latînî)\xE2\x80\xAC",       # Northern Kurdish (Latin script)
        'ku-arab' => "\xE2\x80\xABكوردي (عەرەبی)\xE2\x80\xAC",       # Northern Kurdish (Arabic script) (falls back to ckb)
        'kv' => 'Коми',     # Komi-Zyrian (Cyrillic is common script but also written in Latin script)
-       'kw' => 'Kernowek',             # Cornish
+       'kw' => 'kernowek',             # Cornish
        'ky' => 'Кыргызча',     # Kirghiz
        'la' => 'Latina',               # Latin
        'lad' => 'Ladino',      # Ladino
        'li' => 'Limburgs',     # Limburgian
        'lij' => 'Ligure',      # Ligurian
        'liv' => 'Līvõ kēļ',        # Livonian
-       'lmo' => 'Lumbaart',    # Lombard
-       'ln' => 'Lingála',             # Lingala
+       'lmo' => 'lumbaart',    # Lombard
+       'ln' => 'lingála',             # Lingala
        'lo' => 'ລາວ',# Laotian
        'loz' => 'Silozi', # Lozi
-       'lt' => 'Lietuvių',    # Lithuanian
-       'ltg' => 'Latgaļu',    # Latgalian
+       'lt' => 'lietuvių',    # Lithuanian
+       'ltg' => 'latgaļu',    # Latgalian
        'lus' => 'Mizo ţawng', # Mizo/Lushai
-       'lv' => 'Latviešu',    # Latvian
+       'lv' => 'latviešu',    # Latvian
        'lzh' => '文言',      # Literary Chinese -- (bug 8217) lzh instead of zh-classical, http://www.sil.org/iso639-3/codes.asp?order=639_3&letter=l
        'lzz' => 'Lazuri',      # Laz
        'mai' => 'मैथिली', # Maithili
        'mhr' => 'Олык Марий', # Eastern Mari
        'mi' => 'Māori',       # Maori
        'min' => 'Baso Minangkabau',    # Minangkabau
-       'mk' => 'Ð\9cакедонски', # Macedonian
+       'mk' => 'македонски', # Macedonian
        'ml' => 'മലയാളം',   # Malayalam
-       'mn' => 'Ð\9cонгол', # Halh Mongolian (Cyrillic) (ISO 639-3: khk)
-       'mo' => 'Ð\9cолдовеняскэ',     # Moldovan, deprecated
+       'mn' => 'монгол', # Halh Mongolian (Cyrillic) (ISO 639-3: khk)
+       'mo' => 'молдовеняскэ',     # Moldovan, deprecated
        'mr' => 'मराठी',      # Marathi
        'mrj' => 'Кырык мары', # Hill Mari
        'ms' => 'Bahasa Melayu',        # Malay
        'nah' => 'Nāhuatl',            # Nahuatl, en:Wikipedia writes Nahuatlahtolli, while another form is Náhuatl
        'nan' => 'Bân-lâm-gú', # Min-nan -- (bug 8217) nan instead of zh-min-nan, http://www.sil.org/iso639-3/codes.asp?order=639_3&letter=n
        'nap' => 'Nnapulitano', # Neapolitan
-       'nb' => "\xE2\x80\xAANorsk (bokmål)\xE2\x80\xAC",              # Norwegian (Bokmal)
+       'nb' => "\xE2\x80\xAAnorsk (bokmål)\xE2\x80\xAC",              # Norwegian (Bokmal)
        'nds' => 'Plattdüütsch',      # Low German ''or'' Low Saxon
        'nds-nl' => 'Nedersaksisch',    # Dutch Low Saxon
        'ne' => 'नेपाली',   # Nepali
        'niu' => 'Niuē',       # Niuean
        'nl' => 'Nederlands',   # Dutch
        'nl-informal' => "\xE2\x80\xAANederlands (informeel)\xE2\x80\xAC",      # Dutch (informal address ("je"))
-       'nn' => "\xE2\x80\xAANorsk (nynorsk)\xE2\x80\xAC",      # Norwegian (Nynorsk)
-       'no' => "\xE2\x80\xAANorsk (bokmål)\xE2\x80\xAC",              # Norwegian (falls back to nb).
+       'nn' => "\xE2\x80\xAAnorsk (nynorsk)\xE2\x80\xAC",      # Norwegian (Nynorsk)
+       'no' => "\xE2\x80\xAAnorsk (bokmål)\xE2\x80\xAC",              # Norwegian (falls back to nb).
        'nov' => 'Novial',              # Novial
        'nrm' => 'Nouormand',   # Norman
        'nso' => 'Sesotho sa Leboa',    # Northern Sotho
        'nv' => 'Diné bizaad', # Navajo
        'ny' => 'Chi-Chewa',    # Chichewa
-       'oc' => 'Occitan',              # Occitan
+       'oc' => 'occitan',              # Occitan
        'om' => 'Oromoo',               # Oromo
        'or' => 'ଓଡ଼ିଆ',         # Oriya
        'os' => 'Ирон', # Ossetic -- fixed per bug 29091
        'pfl' => 'Pälzisch',   # Palatinate German
        'pi' => 'पाळि', # Pali
        'pih' => 'Norfuk / Pitkern', # Norfuk/Pitcairn/Norfolk
-       'pl' => 'Polski',               # Polish
+       'pl' => 'polski',               # Polish
        'pms' => 'Piemontèis', # Piedmontese
        'pnb' => 'پنجابی',        # Western Punjabi
        'pnt' => 'Ποντιακά',    # Pontic/Pontic Greek
        'prg' => 'Prūsiskan',  # Prussian
        'ps' => 'پښتو',     # Pashto, Northern/Paktu/Pakhtu/Pakhtoo/Afghan/Pakhto/Pashtu/Pushto/Yusufzai Pashto
-       'pt' => 'Português',   # Portuguese
-       'pt-br' => 'Português do Brasil',      # Brazilian Portuguese
+       'pt' => 'português',   # Portuguese
+       'pt-br' => 'português do Brasil',      # Brazilian Portuguese
        'qu' => 'Runa Simi',    # Southern Quechua
        'qug' => 'Runa shimi',  # Kichwa/Northern Quechua (one of the codes it covers; temporarily used until Kichwa has its own)
        'rgn' => 'Rumagnôl',   # Romagnol
        'rif' => 'Tarifit',     # Tarifit
-       'rm' => 'Rumantsch',    # Raeto-Romance
+       'rm' => 'rumantsch',    # Raeto-Romance
        'rmy' => 'Romani',      # Vlax Romany
        'rn' => 'Kirundi',              # Rundi/Kirundi/Urundi
-       'ro' => 'Română',     # Romanian
+       'ro' => 'română',     # Romanian
        'roa-rup' => 'Armãneashce', # Aromanian (deprecated code, 'rup' exists in ISO 693-3)
-       'roa-tara' => 'Tarandíne',     # Tarantino
-       'ru' => 'Русский',       # Russian
+       'roa-tara' => 'tarandíne',     # Tarantino
+       'ru' => 'русский',       # Russian
        'rue' => 'Русиньскый',        # Rusyn
        'rup' => 'Armãneashce', # Aromanian
        'ruq' => 'Vlăheşte',  # Megleno-Romanian (multiple scripts - defaults to Latin)
        'ruq-latn' => 'Vlăheşte',     # Megleno-Romanian (Latin script)
        'rw' => 'Kinyarwanda',  # Kinyarwanda, should possibly be Kinyarwandi
        'sa' => 'संस्कृतम्',  # Sanskrit
-       'sah' => 'Саха тыла', # Sakha
+       'sah' => 'саха тыла', # Sakha
        'sat' => 'Santali',     # Santali
-       'sc' => 'Sardu',                # Sardinian
-       'scn' => 'Sicilianu',   # Sicilian
+       'sc' => 'sardu',                # Sardinian
+       'scn' => 'sicilianu',   # Sicilian
        'sco' => 'Scots',       # Scots
        'sd' => 'سنڌي',     # Sindhi
        'sdc' => 'Sassaresu',   # Sassarese
-       'se' => 'Sámegiella',  # Northern Sami
+       'se' => 'sámegiella',  # Northern Sami
        'sei' => 'Cmique Itom', # Seri
        'sg' => 'Sängö',              # Sango/Sangho
        'sgs' => 'Žemaitėška', # Samogitian
-       'sh' => 'Srpskohrvatski / Српскохрватски', # Serbocroatian
+       'sh' => 'srpskohrvatski / српскохрватски', # Serbocroatian
        'shi' => 'Tašlḥiyt/ⵜⴰⵛⵍⵃⵉⵜ',    # Tachelhit (multiple scripts - defaults to Latin)
        'shi-tfng' => 'ⵜⴰⵛⵍⵃⵉⵜ',    # Tachelhit (Tifinagh script)
        'shi-latn' => 'Tašlḥiyt',    # Tachelhit (Latin script)
        'si' => 'සිංහල',      # Sinhalese
        'simple' => 'Simple English',   # Simple English
-       'sk' => 'Slovenčina',  # Slovak
-       'sl' => 'Slovenščina',        # Slovenian
+       'sk' => 'slovenčina',  # Slovak
+       'sl' => 'slovenščina',        # Slovenian
        'sli' => 'Schläsch',   # Lower Selisian
        'sm' => 'Gagana Samoa', # Samoan
        'sma' => 'Åarjelsaemien',      # Southern Sami
        'sn' => 'chiShona',             # Shona
        'so' => 'Soomaaliga',   # Somali
-       'sq' => 'Shqip',                # Albanian
-       'sr' => 'Српски / Srpski',        # Serbian (multiple scripts - defaults to Cyrillic)
-       'sr-ec' => "\xE2\x80\xAAСрпски (ћирилица)\xE2\x80\xAC",   # Serbian Cyrillic ekavian
-       'sr-el' => "\xE2\x80\xAASrpski (latinica)\xE2\x80\xAC", # Serbian Latin ekavian
+       'sq' => 'shqip',                # Albanian
+       'sr' => 'српски / srpski',        # Serbian (multiple scripts - defaults to Cyrillic)
+       'sr-ec' => "\xE2\x80\xAAсрпски (ћирилица)\xE2\x80\xAC",   # Serbian Cyrillic ekavian
+       'sr-el' => "\xE2\x80\xAAsrpski (latinica)\xE2\x80\xAC", # Serbian Latin ekavian
        'srn' => 'Sranantongo',         # Sranan Tongo
        'ss' => 'SiSwati',              # Swati
        'st' => 'Sesotho',              # Southern Sotho
        'stq' => 'Seeltersk',           # Saterland Frisian
        'su' => 'Basa Sunda',   # Sundanese
-       'sv' => 'Svenska',              # Swedish
+       'sv' => 'svenska',              # Swedish
        'sw' => 'Kiswahili',    # Swahili
        'szl' => 'Ślůnski',   # Silesian
        'ta' => 'தமிழ்',      # Tamil
        'tcy' => 'ತುಳು', # Tulu
        'te' => 'తెలుగు',   # Telugu
-       'tet' => 'Tetun',       # Tetun
-       'tg' => 'Тоҷикӣ', # Tajiki (falls back to tg-cyrl)
-       'tg-cyrl' => 'Тоҷикӣ',    # Tajiki (Cyrllic script) (default)
-       'tg-latn' => 'Tojikī', # Tajiki (Latin script)
+       'tet' => 'tetun',       # Tetun
+       'tg' => 'тоҷикӣ', # Tajiki (falls back to tg-cyrl)
+       'tg-cyrl' => 'тоҷикӣ',    # Tajiki (Cyrllic script) (default)
+       'tg-latn' => 'tojikī', # Tajiki (Latin script)
        'th' => 'ไทย',    # Thai
        'ti' => 'ትግርኛ',         # Tigrinya
        'tk' => 'Türkmençe',  # Turkmen
        'tl' => 'Tagalog',              # Tagalog
-       'tly' => 'Толышә зывон',     # Talysh
+       'tly' => 'толышә зывон',     # Talysh
        'tn' => 'Setswana',             # Setswana
        'to' => 'lea faka-Tonga',               # Tonga (Tonga Islands)
        'tokipona' => 'Toki Pona',      # Toki Pona
        'tpi' => 'Tok Pisin',   # Tok Pisin
        'tr' => 'Türkçe',     # Turkish
        'ts' => 'Xitsonga',             # Tsonga
-       'tt' => 'Татарча/Tatarça',      # Tatar (multiple scripts - defaults to Cyrillic)
-       'tt-cyrl' => 'Татарча',  # Tatar (Cyrillic script) (default)
-       'tt-latn' => 'Tatarça',        # Tatar (Latin script)
+       'tt' => 'татарча/tatarça',      # Tatar (multiple scripts - defaults to Cyrillic)
+       'tt-cyrl' => 'татарча',  # Tatar (Cyrillic script) (default)
+       'tt-latn' => 'tatarça',        # Tatar (Latin script)
        'tum' => 'chiTumbuka',  # Tumbuka
        'tw' => 'Twi',                  # Twi, (FIXME!)
        'ty' => 'Reo Mā`ohi',  # Tahitian
        'ug' => 'ئۇيغۇرچە / Uyghurche', # Uyghur (multiple scripts - defaults to Arabic)
        'ug-arab' => 'ئۇيغۇرچە', # Uyghur (Arabic script) (default)
        'ug-latn' => 'Uyghurche', # Uyghur (Latin script)
-       'uk' => 'Українська', # Ukrainian
+       'uk' => 'українська', # Ukrainian
        'ur' => 'اردو',     # Urdu
        'uz' => 'Oʻzbek',      # Uzbek
        've' => 'Tshivenda',            # Venda
-       'vec' => 'Vèneto',     # Venetian
+       'vec' => 'vèneto',     # Venetian
        'vep' => 'Vepsän kel’',      # Veps
        'vi' => 'Tiếng Việt',       # Vietnamese
        'vls' => 'West-Vlams', # West Flemish
        'vo' => 'Volapük',     # Volapük
        'vot' => 'Vaďďa',     # Vod/Votian
        'vro' => 'Võro',    # Võro
-       'wa' => 'Walon',                # Walloon
+       'wa' => 'walon',                # Walloon
        'war' => 'Winaray', # Waray-Waray
        'wo' => 'Wolof',                # Wolof
        'wuu' => '吴语',              # Wu Chinese
        'zea' => 'Zeêuws',     # Zeeuws/Zeaws
        'zh' => '中文',                                               # (Zhōng Wén) - Chinese
        'zh-classical' => '文言',                     # Classical Chinese/Literary Chinese -- (see bug 8217)
-       'zh-cn' => "\xE2\x80\xAA中文(中国大陆)\xE2\x80\xAC",      # Chinese (PRC)
-       'zh-hans' => "\xE2\x80\xAA中文(简体)\xE2\x80\xAC",  # Mandarin Chinese (Simplified Chinese script) (cmn-hans)
-       'zh-hant' => "\xE2\x80\xAA中文(繁體)\xE2\x80\xAC",  # Mandarin Chinese (Traditional Chinese script) (cmn-hant)
-       'zh-hk' => "\xE2\x80\xAA中文(香港)\xE2\x80\xAC",    # Chinese (Hong Kong)
+       'zh-cn' => "\xE2\x80\xAA中文(中国大陆)\xE2\x80\xAC",  # Chinese (PRC)
+       'zh-hans' => "\xE2\x80\xAA中文(简体)\xE2\x80\xAC",      # Mandarin Chinese (Simplified Chinese script) (cmn-hans)
+       'zh-hant' => "\xE2\x80\xAA中文(繁體)\xE2\x80\xAC",      # Mandarin Chinese (Traditional Chinese script) (cmn-hant)
+       'zh-hk' => "\xE2\x80\xAA中文(香港)\xE2\x80\xAC",        # Chinese (Hong Kong)
        'zh-min-nan' => 'Bân-lâm-gú',                                # Min-nan -- (see bug 8217)
-       'zh-mo' => "\xE2\x80\xAA中文(澳門)\xE2\x80\xAC",    # Chinese (Macau)
-       'zh-my' => "\xE2\x80\xAA中文(马来西亚)\xE2\x80\xAC",      # Chinese (Malaysia)
-       'zh-sg' => "\xE2\x80\xAA中文(新加坡)\xE2\x80\xAC", # Chinese (Singapore)
-       'zh-tw' => "\xE2\x80\xAA中文(台灣)\xE2\x80\xAC",    # Chinese (Taiwan)
+       'zh-mo' => "\xE2\x80\xAA中文(澳門)\xE2\x80\xAC",        # Chinese (Macau)
+       'zh-my' => "\xE2\x80\xAA中文(马来西亚)\xE2\x80\xAC",  # Chinese (Malaysia)
+       'zh-sg' => "\xE2\x80\xAA中文(新加坡)\xE2\x80\xAC",     # Chinese (Singapore)
+       'zh-tw' => "\xE2\x80\xAA中文(台灣)\xE2\x80\xAC",        # Chinese (Taiwan)
        'zh-yue' => '粵語',                                   # Cantonese -- (see bug 8217)
        'zu' => 'isiZulu'               # Zulu
 );
diff --git a/languages/classes/LanguageIu.deps.php b/languages/classes/LanguageIu.deps.php
deleted file mode 100644 (file)
index 3b78d87..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageIu.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( dirname(__FILE__).'/../LanguageConverter.php' );
diff --git a/languages/classes/LanguageKk.deps.php b/languages/classes/LanguageKk.deps.php
deleted file mode 100644 (file)
index 0a2a8af..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageKk.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
-require_once( dirname( __FILE__ ) . '/LanguageKk_cyrl.php' );
diff --git a/languages/classes/LanguageKu.deps.php b/languages/classes/LanguageKu.deps.php
deleted file mode 100644 (file)
index a187b77..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageKu.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
-require_once( dirname( __FILE__ ) . '/LanguageKu_ku.php' );
diff --git a/languages/classes/LanguageShi.deps.php b/languages/classes/LanguageShi.deps.php
deleted file mode 100644 (file)
index 3b78d87..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageIu.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
-
-require_once( dirname(__FILE__).'/../LanguageConverter.php' );
diff --git a/languages/classes/LanguageSr.deps.php b/languages/classes/LanguageSr.deps.php
deleted file mode 100644 (file)
index a377037..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageSr.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-require_once( dirname( __FILE__ ) . '/LanguageSr_ec.php' );
-require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
diff --git a/languages/classes/LanguageZh.deps.php b/languages/classes/LanguageZh.deps.php
deleted file mode 100644 (file)
index 41874ff..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// LanguageZh.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-require_once( dirname( __FILE__ ) . '/LanguageZh_hans.php' );
-require_once( dirname( __FILE__ ) . '/../LanguageConverter.php' );
index 06a0800..000c8e7 100644 (file)
@@ -182,10 +182,13 @@ $messages = array(
 'tog-enotifminoredits' => "Peu'ek cit surat-e keu lon bak neuandam bacut",
 'tog-enotifrevealaddr' => 'Peuleumah alamat surat-e lon bak neubrithee surat-e',
 'tog-shownumberswatching' => 'Peuleumah jumeulah ureueng kalon',
-'tog-oldsig' => 'Peuleumah tanda jaroe:',
+'tog-oldsig' => 'Tanda jaroe jinoe:',
 'tog-fancysig' => 'Peujeuet tanda jaroe sibagoe naseukah wiki (hana hubong keudroe)',
-'tog-externaleditor' => 'Nguy alat leumiek keu ngon peugot kata luwa',
-'tog-externaldiff' => 'Nguy alat leumiek luwa keu eu bida neuandam',
+'tog-externaleditor' => 'Nguy editor eksternal nyang ka na (keu nyang utoih khong, peureulee neuato kusuih bak kompute droeneuh.
+
+[//www.mediawiki.org/wiki/Manual:External_editors Haba leubeh leungkap.])',
+'tog-externaldiff' => 'Nguy diff eksternal nyang ka na (keu nyang utoih mantong, peureulee neuato kusuih bak kompute droeneuh
+[//www.mediawiki.org/wiki/Manual:External_editors More information.])',
 'tog-showjumplinks' => 'Peuudep hubong keu ngon bantu "langsong u"',
 'tog-uselivepreview' => 'Nguy peuleumah hase langsong (JavaScript) (baci)',
 'tog-forceeditsummary' => 'Peuingat lon meunyo plok neuringkaih neuandam mantong soh',
@@ -200,6 +203,11 @@ $messages = array(
 'underline-always' => 'Sabe',
 'underline-never' => "H'an tom",
 
+# Font style option in Special:Preferences
+'editfont-monospace' => 'Seunurat Monospace',
+'editfont-sansserif' => 'Seunurat Sans-serif',
+'editfont-serif' => 'Seunurat Serif',
+
 # Dates
 'sunday' => 'Aleuhat',
 'monday' => 'Seulanyan',
@@ -259,9 +267,12 @@ $messages = array(
 'category-media-header' => 'Alat lam kawan "$1"',
 'category-empty' => "''Kawan nyoë jinoë hat hana teunuléh atawa media.''",
 'hidden-categories' => '{{PLURAL:$1|Kawan teusom|Kawan teusom}}',
+'hidden-category-category' => 'Kawan teusom',
 'category-subcat-count' => '{{PLURAL:$2|Kawan nyoë  cit na saboh yupkawan nyoë.|Kawan nyoë na {{PLURAL:$1|yupkawan|$1 yupkawan}} nyoë, dari ban dum $2.}}',
 'category-article-count' => '{{PLURAL:$2|Kawan nyoë cit na saboh ôn nyoë.|Kawan nyoë na  {{PLURAL:$1|ôn|$1 ôn }}, dari ban dum $2.}}',
+'category-file-count' => '{{PLURAL:$2|Kawan nyoe cit na beureukaih nyoe sagay.|{{PLURAL:$1|beureukaih|$1 beureukaih}} nyoe na lam kawan nyoe, nibak ban dum $2.}}',
 'listingcontinuesabbrev' => 'samb.',
+'noindex-category' => 'On nyang hana geuindex',
 
 'about' => 'Bhah',
 'article' => 'Teunuléh',
@@ -291,7 +302,7 @@ $messages = array(
 'vector-action-move' => 'Peupinah',
 'vector-action-protect' => 'Peulindông',
 'vector-action-undelete' => 'Bateuë sampôh',
-'vector-action-unprotect' => 'Bateuë peulindông',
+'vector-action-unprotect' => 'Gantoe neulindông',
 'vector-simplesearch-preference' => 'Peuudep mita saran nyang geupeusamporeuna (keu kulet Vector khong)',
 'vector-view-create' => 'Peugöt',
 'vector-view-edit' => 'Andam',
@@ -325,8 +336,8 @@ $messages = array(
 'protect' => 'Peulindông',
 'protect_change' => 'ubah',
 'protectthispage' => 'Peulindong on nyoe',
-'unprotect' => 'Bek peulindong',
-'unprotectthispage' => 'Peuhah neulindông ôn nyoë',
+'unprotect' => 'Gantoe neulindong',
+'unprotectthispage' => 'Gantoe neulindông ôn nyoë',
 'newpage' => 'Ôn barô',
 'talkpage' => 'Peugah haba bhah ôn nyoë',
 'talkpagelinktext' => 'Peugah haba',
@@ -432,6 +443,7 @@ Nan Droeneuh ka teupeugot. Neuato laju [[Special:Preferences|peue nyang neugalak
 'createaccount' => 'Peudapeuta nan barô',
 'gotaccount' => "Ka lheuëh neudapeuta? '''$1'''.",
 'gotaccountlink' => 'Tamong',
+'userlogin-resetlink' => 'Tuwoe-neuh ngon teuneurang tamong Droeneuh?',
 'loginsuccesstitle' => 'Meuhasé tamong',
 'loginsuccess' => "'''Droëneuh  jinoë ka neutamong di {{SITENAME}} sibagoë \"\$1\".'''",
 'nosuchuser' => 'Hana ureuëng nguy ngön nan "$1".
@@ -502,9 +514,12 @@ Alamat IP Droëneuh nakeuh $3, ngön ID neutheun nakeuh $5. Tulông peuseureuta
 'newarticletext' => "Droëneuh   ka neuseutot u ôn nyang goh na. Keu peugöt ôn nyan, neukeutik asoë ôn di  kutak di yup nyoë (ngiëng [[{{MediaWiki:Helppage}}|ôn bantu]] keu beurita leubèh lanjut). Meunyo Droëneuh  hana neusaja ka trôk keunoë, teugon '''back''' nyang na bak layeuë.",
 'noarticletext' => 'Hana naseukah jinoë lam ôn nyoë.
 Ji Droëneuh jeuët [[Special:Search/{{PAGENAME}}|neumita keu nan ôn nyoë]] bak ôn-ôn la’én, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} log nyang na hubôngan], atawa [{{fullurl:{{FULLPAGENAME}}|action=edit}} neu\'andam ôn nyoë]</span>.',
+'noarticletext-nopermission' => 'Hana asoe bak on nyoe jinoe.
+Droeneuh jeuet [[Special:Search/{{PAGENAME}}|neumita keu nan on nyoe]] bak on la\'en,
+atawa <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} neumita log nyang na hubongan]</span>.',
 'updated' => '(Seubarô)',
 'note' => "'''Ceunatat:'''",
-'previewnote' => "'''Beu neuingat meunyo nyoë goh lom neukeubah!'''",
+'previewnote' => "'''Beu neuingat meunyo ôn nyoë goh lom neukeubah!'''",
 'editing' => 'Andam $1',
 'editingsection' => 'Andam $1 (bideuëng)',
 'copyrightwarning' => "Beu neuingat bahwa ban mandum nyang Droëneuh   tuléh keu {{SITENAME}} geukira geupeuteubiët di yup $2 (ngiëng $1 keu leubèh jeulah). Meunyoë Droëneuh h‘an neutém teunuléh Droëneuh  ji’andam ngön jiba ho ho la’én, bèk neupasoë teunuléh Droëneuh  keunoë.<br />Droëneuh  neumeujanji chit meunyoë teunuléh nyoë nakeuh atra neutuléh keudroë, atawa neucok nibak nè nè atra umôm atawa nè bibeuëh la’én.
@@ -516,11 +531,20 @@ Ji Droëneuh jeuët [[Special:Search/{{PAGENAME}}|neumita keu nan ôn nyoë]] ba
 'hiddencategories' => 'Ôn nyoë nakeuh anggèëta nibak {{PLURAL:$1|1 kawan teusom |$1 kawan teusom}}:',
 'nocreatetext' => '{{SITENAME}} ka jikot bak peugöt ôn barô. Ji Droëneuh   jeuët neuriwang teuma ngön neu’andam ôn nyang ka na, atawa [[Special:UserLogin|neutamong atawa neudapeuta]].',
 'permissionserrorstext-withaction' => 'Droëneuh hana hak tamöng keu $2, muroë {{PLURAL:$1|choë|choë}} nyoë:',
-'recreate-moveddeleted-warn' => "'''Ingat: Droëneuh  teungoh neupeugöt ulang saboh ôn nyang ka tom geusampôh. ''',
+'recreate-moveddeleted-warn' => "'''Ingat: Droëneuh neupeugöt ulang saboh ôn nyang ka tom geusampôh. ''',
 
 Neutimang-timang dilèë peuë ék patôt neupeulanjut atra nyang teungoh neu’andam.
 Nyoë pat nakeuh log seunampôh nibak ôn nyoë:",
-'moveddeleted-notice' => 'Ôn nyoë ka geusampôh. Meunyo peureulèë, nyoë pat nakeuh log seunampôh ôn nyoë.',
+'moveddeleted-notice' => 'Ôn nyoë ka geusampôh.
+Log seunampôh ngon log peuninah ôn nyoë geupeuseudiya di yup nyoe keu keuneubah.',
+
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => "'''Ingat:''' Seunipat seunaleuek nyang neunguy rayek that.
+Ladom seunaleuek hana geupeuroh",
+'post-expand-template-inclusion-category' => 'On ngon seunipat seunaleuek nyang leubeh bataih',
+'post-expand-template-argument-warning' => "'''Ingat:''' On nyoe na paleng h'an saboh alasan seunaleuek nyang na sunipat ekspansi nyang raya that.
+Alasan-alasan nyan hana geupeureumeuen.",
+'post-expand-template-argument-category' => 'On ngon alasan seunaleuek nyang hana geupeureumeuen',
 
 # History pages
 'viewpagelogs' => 'Eu log ôn nyoë',
@@ -537,6 +561,7 @@ Nyoë pat nakeuh log seunampôh nibak ôn nyoë:",
 'page_last' => 'keuneulheuëh',
 'histlegend' => "Piléh duwa teuneugön radiô, lheuëh nyan teugön teuneugön ''peubandéng'' keu peubandéng seunalén. Teugön saboh tanggay keu eu seunalén ôn bak tanggay nyan.<br />(skr) = bida ngön seunalén jinoë, (akhé) = bida ngön seunalén sigohlomjih. '''b''' = andam bacut, '''b''' = andam bot, → = andam bideuëng, ← = reuningkah keudroë",
 'history-fieldset-title' => 'Jeulajah riwayat away',
+'history-show-deleted' => 'Nyang geusampoh mantong',
 'histfirst' => 'Paléng trép',
 'histlast' => 'Paléng barô',
 
@@ -546,6 +571,8 @@ Nyoë pat nakeuh log seunampôh nibak ôn nyoë:",
 # Revision deletion
 'rev-delundel' => 'peuleumah/peusom',
 'revdel-restore' => 'Ubah leumah',
+'revdel-restore-deleted' => 'geunantoe nyang ka geusampoh',
+'revdel-restore-visible' => 'geunantoe nyang leumah',
 
 # Merge log
 'revertmerge' => 'Hana jadèh peugabông',
@@ -555,7 +582,7 @@ Nyoë pat nakeuh log seunampôh nibak ôn nyoë:",
 'lineno' => 'Baréh $1:',
 'compareselectedversions' => 'Peubandéng curak teupiléh',
 'editundo' => 'peubateuë',
-'diff-multi' => '({{PLURAL:$1|Sa|$1}} geunantoë antara hana geupeuleumah.)',
+'diff-multi' => '({{PLURAL:$1|Saboh|$1}} geunantoë antara nyang geupeugot le {{PLURAL:$2|sidroe|$2}} ureueng nguy hana geupeuleumah)',
 
 # Search results
 'searchresults' => 'Hasé mita',
@@ -567,9 +594,25 @@ Nyoë pat nakeuh log seunampôh nibak ôn nyoë:",
 'notextmatches' => 'Hana naseukah ôn nyang pah',
 'prevn' => '{{PLURAL:$1|$1}} sigohlomjih',
 'nextn' => '{{PLURAL:$1|$1}} lheuëh nyan',
+'prevn-title' => '$1 {{PLURAL:$1|hasé|hasé}} sigohlomjih',
+'nextn-title' => '$1 {{PLURAL:$1|hase|hase}} lheueh nyan',
+'shown-title' => 'Peuleumah $1 {{PLURAL:$1|hasé|hasé}} tiëp halaman',
 'viewprevnext' => 'Eu ($1 {{int:pipe-separator}} $2)($3)',
+'searchmenu-exists' => "'''Na on ngon nan \"[[:\$1]]\" bak wiki nyoe.'''",
+'searchmenu-new' => "'''Peugot on \"[[:\$1]]\" bak wiki nyoe!'''",
 'searchhelp-url' => 'Help:Asoë',
+'searchprofile-articles' => 'On asoe',
+'searchprofile-project' => 'On Beunantu ngon Buet',
+'searchprofile-images' => 'Multimedia',
+'searchprofile-everything' => 'Ban dum',
+'searchprofile-advanced' => 'Tingkat lanjut',
+'searchprofile-articles-tooltip' => 'Mita bak $1',
+'searchprofile-project-tooltip' => 'Mita bak $1',
+'searchprofile-images-tooltip' => 'Mita beureukaih',
+'searchprofile-everything-tooltip' => 'Mita ban dum ôn asoë (rôh ôn marit)',
+'searchprofile-advanced-tooltip' => 'Mita bak ruweueng nan meupat-pat',
 'search-result-size' => '$1 ({{PLURAL:$2|1 kata|$2 kata}})',
+'search-result-category-size' => '{{PLURAL:$1|1 anggeeta|$1 anggeeta}} ({{PLURAL:$2|1 aneuk kawan|$2 aneuk kawan}}, {{PLURAL:$3|1 beureukaih|$3 beureukaih}})',
 'search-redirect' => '(peuninah $1)',
 'search-section' => '(bagian $1)',
 'search-suggest' => 'Kadang meukeusud Droëneuh nakeuh: $1',
@@ -578,7 +621,11 @@ Nyoë pat nakeuh log seunampôh nibak ôn nyoë:",
 'search-interwiki-more' => '(lom)',
 'search-mwsuggest-enabled' => 'ngon saran',
 'search-mwsuggest-disabled' => 'hana saran',
+'searchrelated' => 'meusambat',
+'searchall' => 'ban dum',
+'showingresultsheader' => "{{PLURAL:$5|Hase '''$1''' nibak '''$3'''|Hase '''$1 - $2''' nibak '''$3'''}} keu '''$4'''",
 'nonefound' => "'''Ceunatat''': Cit ladôm ruweuëng nyang seucara baku geupeutamöng lam meunita. Ci neupuphôn leunakèë Droëneuh ngön ''all:'' keu mita ban dum asoë (rôh cit ôn peugah haba, tèmplat, ngön nyang la’én (nnl)), atawa neunguy ruweuëng nan nyang neumeuh’eut sibagoë neu’away.",
+'search-nonefound' => 'Hana hase nyang paih lagee atra neulakee',
 'powersearch' => 'Mita lanjut',
 'powersearch-legend' => 'Mita lanjut',
 'powersearch-ns' => 'Mita bak ruweuëng nan:',
@@ -595,6 +642,9 @@ Nyoë pat nakeuh log seunampôh nibak ôn nyoë:",
 'yourrealname' => 'Nan aseuli:',
 'prefs-help-realname' => '* Nan aseuli hana meucéh neupasoë.
 Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë nyang tuléh.',
+'prefs-help-email' => 'Alamat surat-e hana meuceh na, tapi geupeureulee keu peugot ulang lageuem, meunyo droeneuh tuwoe lageuem.',
+'prefs-help-email-others' => "Droeneuh jeuet cit neupileh neupubiyeue ureueng la'en geupeu'et surat keu droeneuh rot surat-e rot seunambat bak on ureueng nguy atawa on marit.
+Surat-e droeneuh h'an geupeugah keu ureueng nyan.",
 
 # Groups
 'group-sysop' => 'Ureuëng urôh',
@@ -612,6 +662,10 @@ Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë
 'recentchanges' => 'Neuubah barô',
 'recentchanges-legend' => 'Peuniléh neuubah paléng barô',
 'recentchanges-feed-description' => 'Peutumèë neu’ubah paléng barô lam wiki bak eumpeuën nyoë.',
+'recentchanges-label-newpage' => 'Neuandam nyoe jipeugot on baro',
+'recentchanges-label-minor' => 'Nyoe neuandam ubeut',
+'recentchanges-label-bot' => 'Neuandam nyoe geupubuet le bot',
+'recentchanges-label-unpatrolled' => 'Neuandam nyoe goh lom geukalon',
 'rcnote' => "Di yup nyoë nakeuh {{PLURAL:$1|nakeuh '''1''' neu’ubah paléng barô |nakeuh '''$1''' neu’ubah paléng barô}} lam {{PLURAL:$2|'''1''' uroë|'''$2''' uroë}} nyoë, trôk ‘an $5, $4.",
 'rcnotefrom' => 'Di yup nyoë nakeuh neu’ubah yôh <strong>$2</strong> (geupeuleumah trôh ‘an <strong>$1</strong> neu’ubah).',
 'rclistfrom' => 'Peuleumah neuubah paléng barô yôh $1 kön',
@@ -647,8 +701,12 @@ Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë
 'upload' => 'Peutamong',
 'uploadbtn' => 'Peutamong beureukah',
 'uploadlogpage' => 'Log peutamöng',
+'filedesc' => 'Ehtisa',
 'uploadedimage' => 'peutamöng "[[$1]]"',
 
+'license' => 'Jeuneh lisensi:',
+'license-header' => 'Jeuneh lisensi',
+
 # Special:ListFiles
 'listfiles' => 'Dapeuta beureukah',
 
@@ -656,6 +714,7 @@ Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë
 'file-anchor-link' => 'Beureukah',
 'filehist' => 'Riwayat beureukah',
 'filehist-help' => 'Teugon bak tanggay/watèë keu eu beureukah nyoë ‘oh watèë nyan.',
+'filehist-revert' => 'peuriwang',
 'filehist-current' => 'jinoë hat',
 'filehist-datetime' => 'Tanggay/Watèë',
 'filehist-thumb' => 'Beuntuk ubeut',
@@ -664,10 +723,12 @@ Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë
 'filehist-dimensions' => 'Dimènsi',
 'filehist-filesize' => 'Rayek beureukah',
 'filehist-comment' => 'Tapeusé',
-'imagelinks' => 'Hubông beureukah',
+'imagelinks' => 'Meuneunguy beureukaih',
 'linkstoimage' => 'Ôn di yup nyoë na {{PLURAL:$1|hubông|$1 hubông}} u beureukah nyoë:',
 'nolinkstoimage' => 'Hana ôn nyang na hubông u beureukah nyoë.',
 'sharedupload' => 'Beureukah nyoë dari $1 ngön kadang geunguy lé buët-buët la’én.',
+'sharedupload-desc-here' => "Beureukaih nyoe nejih nibak $1 ngon kadang geunguy le proyek-proyek la'en.
+Teuneurang bak [$2 on teuneurangjih] geupeuleumah di yup nyoe.",
 'uploadnewversion-linktext' => 'Peulöt seunalén nyang leubèh barô nibak beureukah nyoë.',
 
 # MIME search
@@ -689,6 +750,7 @@ Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë
 'statistics' => 'Keunira',
 
 'disambiguations' => 'Ôn disambiguasi',
+'disambiguationspage' => 'Template:disambig',
 
 'doubleredirects' => 'Peuninah ganda',
 
@@ -723,6 +785,7 @@ Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë
 'deadendpages' => 'Ôn buntu',
 'protectedpages' => 'Ôn nyang geulindông',
 'listusers' => 'Dapeuta ureuëng nguy',
+'usercreated' => '{{GENDER:$3|Geupeugot}} bak $1 poh $2',
 'newpages' => 'Ôn barô',
 'ancientpages' => 'Teunuléh away',
 'move' => 'Peupinah',
@@ -758,6 +821,7 @@ Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë
 # Special:LinkSearch
 'linksearch' => 'Hubông luwa',
 'linksearch-ok' => 'Mita',
+'linksearch-line' => '$1 meusambat nibak $2',
 
 # Special:Log/newusers
 'newuserlogpage' => 'ureuëng nguy barô',
@@ -771,6 +835,7 @@ Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë
 # Watchlist
 'watchlist' => 'Dapeuta keunalön lôn',
 'mywatchlist' => 'Keunalön',
+'watchlistfor2' => 'Keu $1 $2',
 'addedwatchtext' => "Ôn \"[[:\$1]]\" ka geupeutamah u [[Special:Watchlist|dapeuta keunalön]] Droëneuh. Neu’ubah-neu’ubah bak masa u keuë bak ôn nyan ngön bak ôn peugah habajih, euntreuk leumah nyoë pat. Ôn nyan euntreuk geupeuleumah ''teubay'' bak [[Special:RecentChanges|dapeuta neu’ubah paléng barô]] mangat leubèh mudah leumah.",
 'removedwatchtext' => 'Ôn "[[:$1]]" ka geusampôh nibak [[Special:Watchlist|dapeuta keunalön]] Droëneuh.',
 'watch' => 'Kalön',
@@ -789,6 +854,7 @@ Meunyo neupasoë, euntreuk nan Droëneuh nyan geupeuleumah mangat jitupeuë soë
 'historywarning' => 'Ingat: Ôn nyang hawa neusampôh na riwayat:',
 'confirmdeletetext' => 'Droëneuh neuk neusampôh ôn atawa beureukah nyoë keu sabé. Meunan cit ban mandum riwayatjih nibak basis data. Neupeupaseuti meunyo Droëneuh cit keubiët meung neusampôh, neutupeuë ban mandum akébatjih, ngön peuë nyang neupeulaku nyoë nakeuh meunurôt [[{{MediaWiki:Policy-url}}|kebijakan{{SITENAME}}]].',
 'actioncomplete' => 'Seuleusoë',
+'actionfailed' => 'Hana meuhase',
 'deletedtext' => '"$1" ka geusampôh. Eu $2 keu log paléng barô bak ôn nyang ka geusampôh.',
 'dellogpage' => 'Log seunampoh',
 'deletecomment' => 'Choë:',
@@ -826,6 +892,7 @@ Droëneuh jeuët neugantoë tingkat lindông keu ôn nyoë, tapi nyan hana peung
 # Undelete
 'undeletebtn' => 'Peuriwang!',
 'undeletelink' => 'eu/peuriwang',
+'undeleteviewlink' => 'eu',
 'undelete-search-submit' => 'Mita',
 
 # Namespace form on various pages
@@ -845,9 +912,12 @@ Droëneuh jeuët neugantoë tingkat lindông keu ôn nyoë, tapi nyan hana peung
 'sp-contributions-newbies' => 'Keu ureuëng-ureuëng nyang ban nguy mantöng',
 'sp-contributions-newbies-sub' => 'Keu ureuëng nguy barô',
 'sp-contributions-blocklog' => 'Log peutheun',
-'sp-contributions-talk' => 'Peugah haba',
+'sp-contributions-uploads' => 'peunasoe',
+'sp-contributions-logs' => 'log',
+'sp-contributions-talk' => 'marit',
 'sp-contributions-search' => 'Mita soë nyang tuléh',
 'sp-contributions-username' => 'Alamat IP atawa nan ureuëng nguy:',
+'sp-contributions-toponly' => 'Peuleumah geunantoe nyang baro mantong',
 'sp-contributions-submit' => 'Mita',
 
 # What links here
@@ -858,19 +928,20 @@ Droëneuh jeuët neugantoë tingkat lindông keu ôn nyoë, tapi nyan hana peung
 'nolinkshere' => "Hana ôn nyang teuhubông u '''[[:$1]]'''.",
 'isredirect' => 'ôn peupinah',
 'istemplate' => 'deungön seunaleuëk',
-'isimage' => 'hubông beureukah',
+'isimage' => 'hubông beureukaih',
 'whatlinkshere-prev' => '$1 {{PLURAL:$1|sigohlomjih|sigohlomjih}}',
 'whatlinkshere-next' => '$1 {{PLURAL:$1|lheuëh nyan|lheuëh nyan}}',
 'whatlinkshere-links' => '← hubông',
 'whatlinkshere-hideredirs' => '$1 peuninah',
 'whatlinkshere-hidetrans' => '$1 transklusi',
 'whatlinkshere-hidelinks' => '$1 hubông',
+'whatlinkshere-hideimages' => '$1 hubong gamba',
 'whatlinkshere-filters' => 'Saréng',
 
 # Block/unblock
 'blockip' => 'Theun ureuëng nguy',
 'ipboptions' => '2 jeum:2 hours,1 uroë:1 day,3 uroë:3 days,1 minggu:1 week,2 minggu:2 weeks,1 buleuën:1 month,3 buleuën:3 months,6 buleuën:6 months,1 thôn:1 year,sabé:infinite',
-'ipblocklist' => 'Dapeuta neutheun',
+'ipblocklist' => 'Ureuëng nguy teutheun',
 'ipblocklist-submit' => 'Mita',
 'blocklink' => 'theun',
 'unblocklink' => 'peugadöh theun',
@@ -912,6 +983,8 @@ Lam masalah nyoë, meunyo neuhawa, Droëneuh jeuët neupeupinah atawa neupeugab
 
 # Namespace 8 related
 'allmessages' => 'Peusan sistem',
+'allmessagesname' => 'Nan',
+'allmessagesdefault' => 'Naseukah pukok',
 
 # Thumbnails
 'thumbnail-more' => 'Peurayek',
@@ -942,6 +1015,7 @@ Droëneuh cit jeuët neu’eu nèjih.',
 'tooltip-search' => 'Mita lam {{SITENAME}} nyoë',
 'tooltip-search-go' => 'Mita saboh ôn ngon nan nyang peureuséh lagèë nyoë meunyo na',
 'tooltip-search-fulltext' => 'Mita ôn nyang na asoë lagèë nyoë',
+'tooltip-p-logo' => 'Saweuë Ôn Keuë',
 'tooltip-n-mainpage' => 'Jak u Ôn Keuë',
 'tooltip-n-mainpage-description' => 'Saweuë Ôn Keuë',
 'tooltip-n-portal' => 'Bhah buët, peuë nyang jeuët neupeulaku, pat tamita sipeuë hay',
@@ -976,6 +1050,7 @@ Hubông teutap keu revisi ôn nyoë',
 'tooltip-watch' => 'Peutamah ôn nyoë u dapeuta keunalön Droëneuh',
 'tooltip-rollback' => 'Peuriwang neu’andam-neu’andam bak ôn nyoë u nyang tuléh keuneulheuëh lam sigo teugön',
 'tooltip-undo' => 'Peuriwang geunantoë nyoë ngön peuhah plôk neu’andam ngön cara eu dilèë. Choë jeuët geupeutamah bak plôk reuningkah.',
+'tooltip-summary' => 'Pasoe ehtisa paneuk',
 
 # Browsing diffs
 'previousdiff' => '← Bida away',
@@ -1002,7 +1077,8 @@ Hubông-hubông lheuëh nyan bak baréh nyang saban geukira sibagoë keucuali, n
 'metadata-help' => 'Beureukah nyoë na beurita tambahan nyang mungkén geutamah lé kamèra digital atawa peuminday nyang geunguy keu peugöt atawa peudigitalisasi beureukah. Meunyo beureukah nyoë ka geu’ubah, tapeusili nyang na mungkén hana seucara peunoh meurefleksikan beurita nibak gamba nyang ka geu’ubah nyoë.',
 'metadata-expand' => 'Peuleumah tapeusili teunamah',
 'metadata-collapse' => 'Peusom tapeusili teunamah',
-'metadata-fields' => 'Èntri mètadata EXIF nyoë keuneuk geupeuleumah bak ôn beurita gamba meunyo tabel mètadata geupeusom. Èntri la’én seucara baku keuneuk geupeusom.
+'metadata-fields' => "Bideuëng mètadata gamba nyang na lam peusan nyoë keuneuk geupasoë bak tampilan halaman gamba 'oh watèë tabel mètadata geutôp.
+Data nyang la'én eunteuk teupeusom keudroë.
 * make
 * model
 * datetimeoriginal
@@ -1015,7 +1091,7 @@ Hubông-hubông lheuëh nyan bak baréh nyang saban geukira sibagoë keucuali, n
 * imagedescription
 * gpslatitude
 * gpslongitude
-* gpsaltitude',
+* gpsaltitude",
 
 # External editor support
 'edit-externally' => 'Andam beureukah nyoë ngön aplikasi luwa',
@@ -1031,6 +1107,9 @@ Hubông-hubông lheuëh nyan bak baréh nyang saban geukira sibagoë keucuali, n
 'watchlisttools-edit' => 'Peuleumah ngön andam dapeuta kaeunalön',
 'watchlisttools-raw' => 'Andam dapeuta keunalön meuntah',
 
+# Core parser functions
+'duplicate-defaultsort' => '\'\'\'Ingat:\'\'\' Gunci meuurot pukok "$2" jipeuhiro gunci meuurot pukok "$1" sigohlomjih.',
+
 # Special:Version
 'version' => 'Curak',
 
@@ -1040,4 +1119,16 @@ Hubông-hubông lheuëh nyan bak baréh nyang saban geukira sibagoë keucuali, n
 # Special:SpecialPages
 'specialpages' => 'Ôn kusuih',
 
+# External image whitelist
+'external_image_whitelist' => '#Neupubiyeue bareh nyoe lagee na<pre>
+#Neunguy fragmen-fragmen ekspresi regular (bak bagian antara // mantong) di yup nyoe
+#fragmen-fragmen nyoe eunteuk geupeupaih ngon URL nibak gamba-gamba luwa (nyang geupeuhubong lansong)
+#Fragmen nyang paih eunteuk geupeuleumah sibagoe gamba, seuhjih keu link mantong
+#Bareh nyang geupuphon ngon # eunteuk geupeujeuet keu bareh beunalah
+#Nyoe hana geupubida haraih rayek ngon ubeut
+#Neupeuduek ban dum beunagi ekspresi biasa di yup bareh nyoe. Neupubiyeue bareh nyoe lagee na</pre>',
+
+# Special:Tags
+'tag-filter' => 'Filter [[Special:Tags|tag]]:',
+
 );
index 6cb091e..1643661 100644 (file)
@@ -481,7 +481,7 @@ $1',
 'nchanges' => '{{PLURAL:$1|لا تغييرات|تغيير واحد|تغييران|$1 تغييرات|$1 تغييرا|$1 تغيير}}',
 'recentchanges' => 'أحدث التغييرات',
 'recentchanges-legend' => 'خيارات أحدث التغييرات',
-'recentchangestext' => 'تابع أحدث التغييرات للويكي عبر هذه التلقيمة.',
+'recentchanges-summary' => 'تابع أحدث التغييرات للويكي عبر هذه التلقيمة.',
 'recentchanges-feed-description' => 'تابع أحدث التغييرات للويكي عبر هذه التلقيمة.',
 'recentchanges-label-newpage' => 'أنشأ هذا التعديل صفحة جديدة',
 'recentchanges-label-minor' => 'هذا تعديل طفيف',
index d821a3b..a9930d0 100644 (file)
@@ -594,6 +594,8 @@ Probeer asseblief weer oor 'n paar minute.",
 'ns-specialprotected' => 'Spesiale bladsye kan nie geredigeer word nie.',
 'titleprotected' => "Hierdie titel is beskerm teen skepping deur [[User:$1|$1]].
 Die rede gegee is ''$2''.",
+'invalidtitle-knownnamespace' => 'Ongeldige titel met naamruimte "$2" en teks "$3"',
+'invalidtitle-unknownnamespace' => 'Ongeldige titel met onbekende naamruimtenummer $1 en teks "$2"',
 
 # Virus scanner
 'virus-badscanner' => "Slegte konfigurasie: onbekende virusskandeerder: ''$1''",
@@ -682,6 +684,7 @@ Om misbruik te voorkom, word slegs een wagwoordwenk per {{PLURAL:$1|uur|$1 ure}}
 'invalidemailaddress' => "Die e-posadres is nie aanvaar nie, aangesien dit 'n ongeldige formaat blyk te hê.
 Voer asseblief 'n geldige e-posadres in, of laat die veld leeg.",
 'cannotchangeemail' => "Die e-posadres vir 'n gebruiker kan nie op hierdie wiki gewysig word nie.",
+'emaildisabled' => 'Hierdie webwerf kan nie e-poste stuur nie.',
 'accountcreated' => 'Rekening geskep',
 'accountcreatedtext' => 'Die rekening vir gebruiker $1 is geskep.',
 'createaccount-title' => 'Rekeningskepping vir {{SITENAME}}',
@@ -1149,7 +1152,9 @@ Let op dat die gebruik van navigasieskakels hierdie kolom se waardes sal herstel
 'mergelogpagetext' => "Hieronder is 'n lys van die mees onlangse versmeltings van een bladsy se geskiedenis na 'n ander.",
 
 # Diffs
-'history-title' => 'Weergawegeskiedenis van "$1"',
+'history-title' => '$1: weergawegeskiedenis',
+'difference-title' => '$1: verskil tussen weergawes',
+'difference-title-multipage' => '$1 en $2: verskil tussen bladsye',
 'difference-multipage' => '(Verskil tussen bladsye)',
 'lineno' => 'Lyn $1:',
 'compareselectedversions' => 'Vergelyk gekose weergawes',
@@ -1246,6 +1251,7 @@ U kan ook 'n naamruimte as voorvoegsel gebruik.",
 'prefs-beta' => 'Beta-funksies',
 'prefs-datetime' => 'Datum en tyd',
 'prefs-labs' => 'Labs-funksies',
+'prefs-user-pages' => 'Gebruikersbladsye',
 'prefs-personal' => 'Gebruikersdata',
 'prefs-rc' => 'Onlangse wysigings',
 'prefs-watchlist' => 'Dophoulys',
@@ -1509,7 +1515,7 @@ Die inligting is vir ander gebruikers sigbaar.',
 'nchanges' => '$1 {{PLURAL:$1|wysiging|wysigings}}',
 'recentchanges' => 'Onlangse wysigings',
 'recentchanges-legend' => 'Opsies vir onlangse wysigings',
-'recentchangestext' => 'Volg die mees onlangse wysigings aan die wiki op die bladsy.',
+'recentchanges-summary' => 'Volg die mees onlangse wysigings aan die wiki op die bladsy.',
 'recentchanges-feed-description' => 'Spoor die mees onlangse wysigings op die wiki na in die voer.',
 'recentchanges-label-newpage' => "Met die wysiging is 'n nuwe bladsy geskep",
 'recentchanges-label-minor' => "Hierdie is 'n klein wysiging",
@@ -1716,7 +1722,7 @@ As daar steeds probleme is, kontak 'n [[Special:ListUsers/sysop|administrateur]]
 'backend-fail-writetemp' => 'Kon nie na tydelike lêer skryf nie.',
 'backend-fail-closetemp' => 'Kon nie tydelike lêer sluit nie.',
 'backend-fail-read' => 'Kon nie lêer $1 lees nie.',
-'backend-fail-create' => 'Kon nie lêer $1 skep nie.',
+'backend-fail-create' => 'Kon nie lêer $1 uitskryf nie.',
 
 # ZipDirectoryReader
 'zip-file-open-error' => "'n Fout het voorgekom met die opening van die lêer vir ZIP toetsing.",
@@ -2794,7 +2800,7 @@ Die lêer is slegs gedeeltelik opgelaai.',
 
 # JavaScriptTest
 'javascripttest' => 'JavaScript toetsing',
-'javascripttest-disabled' => 'Die funksie is gedeaktiveer.',
+'javascripttest-disabled' => 'Die funksie is nie op hierdie wiki geaktiveer nie.',
 'javascripttest-title' => 'Voer toetse uit vir $1',
 
 # Tooltip help for the actions
@@ -3597,6 +3603,9 @@ Saam met die program moes u \'n [{{SERVER}}{{SCRIPTPATH}}/COPYING kopie van van
 'version-software' => 'Geïnstalleerde sagteware',
 'version-software-product' => 'Produk',
 'version-software-version' => 'Weergawe',
+'version-entrypoints' => "URL's vir ingange",
+'version-entrypoints-header-entrypoint' => 'Ingang',
+'version-entrypoints-header-url' => 'URL',
 
 # Special:FilePath
 'filepath' => 'Lêerpad',
@@ -3780,4 +3789,15 @@ Beelde word in hulle volle resolusie gewys. Ander lêertipes word direk met hull
 'api-error-uploaddisabled' => 'Oplaai is afgeskakel op hierdie wiki.',
 'api-error-verification-error' => 'Hierdie lêer kan beskadig of het die verkeerde uitbreiding.',
 
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|sekonde|sekondes}}',
+'duration-minutes' => '$1 {{PLURAL:$1|minuut|minute}}',
+'duration-hours' => '$1 {{PLURAL:$1|uur|ure}}',
+'duration-days' => '$1 {{PLURAL:$1|dag|dae}}',
+'duration-weeks' => '$1 {{PLURAL:$1|week|weke}}',
+'duration-years' => '$1 {{PLURAL:$1|jaar|jare}}',
+'duration-decades' => '$1 {{PLURAL:$1|dekade|dekades}}',
+'duration-centuries' => '$1 {{PLURAL:$1|eeu|eeue}}',
+'duration-millennia' => '$1 {{PLURAL:$1|millennium|millennia}}',
+
 );
index c46c19f..44d6642 100644 (file)
@@ -1179,7 +1179,7 @@ Mundeni me zgjedhe që të tjerët me ju kontaktue përmjet faqe së diskutimit
 'nchanges' => '$1 {{PLURAL:$1|ndryshim|ndryshime}}',
 'recentchanges' => 'Ndryshimet e fundit',
 'recentchanges-legend' => 'Opcionet e ndryshimeve të reja',
-'recentchangestext' => 'Ndiqni ndryshime së fundmi tek kjo faqe.',
+'recentchanges-summary' => 'Ndiqni ndryshime së fundmi tek kjo faqe.',
 'recentchanges-feed-description' => 'Përcjelli ndryshimet mâ të reja të këtij wiki në këtë feed.',
 'recentchanges-label-newpage' => 'Ky redaktim krijoi një faqe të re',
 'rcnote' => "Mâ poshtë {{PLURAL:$1|âsht '''1''' ndryshim|janë '''$1''' ndryshimet e fundit}} në {{PLURAL:$2|ditën|'''$2''' ditët}} e fundit, prej $5, $4.",
index a66a474..2aa5d28 100644 (file)
@@ -944,7 +944,7 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'nchanges' => '$1 {{PLURAL:$1|ለውጥ|ለውጦች}}',
 'recentchanges' => 'በቅርብ ጊዜ የተለወጡ',
 'recentchanges-legend' => 'የቅርብ ለውጥ አማራጮች፦',
-'recentchangestext' => 'በዚሁ ገጽ ላይ በቅርብ ጊዜ የወጡ አዳዲስ ለውጦች ለመከታተል ይችላሉ።',
+'recentchanges-summary' => 'በዚሁ ገጽ ላይ በቅርብ ጊዜ የወጡ አዳዲስ ለውጦች ለመከታተል ይችላሉ።',
 'recentchanges-feed-description' => 'በዚህ ዊኪ ላይ በቅርብ ግዜ የተለወጠውን በዚሁ feed መከታተል ይችላሉ',
 'rcnote' => "ከ$5 $4 እ.ኤ.አ. {{PLURAL:$2|ባለፈው 1 ቀን|ባለፉት '''$2''' ቀኖች}} {{PLURAL:$1|የተደረገው '''1''' ለውጥ እታች ይገኛል|የተደረጉት '''$1''' መጨረሻ ለውጦች እታች ይገኛሉ}}።",
 'rcnotefrom' => "ከ'''$2''' ጀምሮ የተቀየሩት ገጾች (እስከ '''$1''' ድረስ) ክዚህ በታች ይታያሉ።",
index cc2df0a..0aeeae0 100644 (file)
@@ -1391,7 +1391,7 @@ Habría de tener menos de $1 {{PLURAL:$1|carácter|carácters}}.',
 'nchanges' => '$1 {{PLURAL:$1|cambeo|cambeos}}',
 'recentchanges' => 'Zaguers cambeos',
 'recentchanges-legend' => 'Opcions sobre a pachina de zaguers cambeos',
-'recentchangestext' => "Siga os cambeos más recients d'a wiki en ista pachina.",
+'recentchanges-summary' => "Siga os cambeos más recients d'a wiki en ista pachina.",
 'recentchanges-feed-description' => "Seguir os cambios más recients d'o wiki en ista fuent de noticias.",
 'recentchanges-label-newpage' => 'Ista edición ha creyau una nueva pachina',
 'recentchanges-label-minor' => 'Ista ye una edición menor',
index c957228..1fd86e5 100644 (file)
@@ -848,6 +848,11 @@ $2',
 'ns-specialprotected' => 'الصفحات الخاصة لا يمكن تعديلها.',
 'titleprotected' => "{{GENDER:$1|حمى|حمت}} [[User:$1|$1]] هذا العنوان من الإنشاء.
 السبب المعطى هو ''$2''.",
+'filereadonlyerror' => 'تعذر تعديل الملف "$1" لأن مستودع الملف "$2" في وضع القراءة فقط. 
+
+المدير الذي قام بغلقه قدم التفسير التالي: "$3".',
+'invalidtitle-knownnamespace' => 'عنوان غير صالح في النطاق «$2» مع نص «$3»',
+'invalidtitle-unknownnamespace' => 'عنوان غير صالح ذو نطاق غير معروف رقم $1 ونص «$2»',
 
 # Virus scanner
 'virus-badscanner' => "ضبط سيء: ماسح فيروسات غير معروف: ''$1''",
@@ -897,8 +902,8 @@ $2',
 'nocookieslogin' => 'يستخدم {{SITENAME}} الكوكيز لتسجيل الدخول.
 الكوكيز معطلة لديك.
 من فضلك فعلها ثم حاول مرة أخرى.',
-'nocookiesfornew' => 'لم يتم إنشاء حساب المستخدم ، ونحن لا يستطيع تأكيد مصدره. 
-تأكد من أن ملفات تعريف الارتباط (كوكيز) مفعلة، ثم أعد تحديث الصفحة وحاول مرة أخرى.',
+'nocookiesfornew' => 'لم يتم إنشاء حساب المستخدم، لأننا لم نستطع تأكيد مصدره. 
+تأكد من أن ملفات تعريف الارتباط (الكوكيز) مفعلة عندك، ثم أعد تحميل الصفحة وحاول مرة أخرى.',
 'noname' => 'لم تحدد اسم مستخدم صحيح.',
 'loginsuccesstitle' => 'تم الدخول بشكل صحيح',
 'loginsuccess' => "'''لقد قمت بتسجيل الدخول ل{{SITENAME}} باسم \"\$1\".'''",
@@ -944,6 +949,7 @@ $2',
 'invalidemailaddress' => 'لا يمكن قبول عنوان البريد الإلكتروني حيث تبدو صيغته خاطئة.
 ضع عنوانا مضبوطا أو أفرغ هذا الحقل.',
 'cannotchangeemail' => 'تغيير عنوان البريد الإلكتروني لهذا الحساب غير ممكن على هذا الويكي',
+'emaildisabled' => 'لا يمكن إرسال رسائل البريد الإلكتروني من هذا الموقع.',
 'accountcreated' => 'تم إنشاء الحساب',
 'accountcreatedtext' => 'تم إنشاء الحساب الخاص ب$1.',
 'createaccount-title' => 'إنشاء حساب في {{SITENAME}}',
@@ -1161,7 +1167,7 @@ $2
 هذا يحدث أحيانا عندما تستخدم خدمة بروكسي مجهول معيبة مبنية على الوب.'''",
 'edit_form_incomplete' => "'''بعض أجزاء من نموذج التعديل لم تصل إلى الخادم؛ تأكد من أن تعديلاتك لم تمس وحاول مجددا.'''",
 'editing' => 'تحرير $1',
-'creating' => 'إنشاء $1',
+'creating' => 'إنشاء «$1»',
 'editingsection' => 'تحرير $1 (قسم)',
 'editingcomment' => 'تعديل $1 (قسم جديد)',
 'editconflict' => 'تضارب في التحرير: $1',
@@ -1229,6 +1235,7 @@ $2
 'edit-no-change' => 'تعديلك تم تجاهله، لأنه لم يحدث أي تعديل للنص.',
 'edit-already-exists' => 'لم يمكن إنشاء صفحة جديدة.
 هي موجودة بالفعل.',
+'defaultmessagetext' => 'نص الرسالة الافتراضي',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => "'''تحذير:''' هذه الصفحة تحتوي على استدعاءات دالة محلل كثيرة مكلفة.
@@ -1244,6 +1251,11 @@ $2
 'parser-template-loop-warning' => 'تم كشف حلقة قالب: [[$1]]',
 'parser-template-recursion-depth-warning' => 'تم تجاوز حد عمق فرد القوالب ($1)',
 'language-converter-depth-warning' => 'تم تخطي حد عمق محول اللغة ($1)',
+'node-count-exceeded-category' => 'الصفحات التي حدث فيها تجاوز تعداد العقد',
+'node-count-exceeded-warning' => 'تجاوزت هذه الصفحة تعداد العقد',
+'expansion-depth-exceeded-category' => 'الصفحات التي حدث فيها تجاوز عمق التوسيع',
+'expansion-depth-exceeded-warning' => 'الصفحة تجاوزت عمق التوسيع',
+'parser-unstrip-loop-warning' => 'حلقة معراة تم الكشف عنها',
 
 # "Undo" feature
 'undo-success' => 'يمكن استرجاع التعديل.
@@ -1424,7 +1436,9 @@ $1",
 'mergelogpagetext' => 'بالأسفل قائمة بأحدث عمليات الدمج لتاريخ صفحة ما إلى أخرى.',
 
 # Diffs
-'history-title' => 'تاريخ مراجعة "$1"',
+'history-title' => ' «$1»: تاريخ المراجعة',
+'difference-title' => '«$1»: الفرق بين المراجعتين',
+'difference-title-multipage' => '«$1» و«$2»: الفرق بين الصفحتين',
 'difference-multipage' => '(الفرق بين الصفحتين)',
 'lineno' => 'سطر $1:',
 'compareselectedversions' => 'قارن بين النسختين المختارتين',
@@ -1522,6 +1536,7 @@ $1",
 'prefs-beta' => 'مزايا بيتا',
 'prefs-datetime' => 'وقت وتاريخ',
 'prefs-labs' => 'مزايا مختبرية',
+'prefs-user-pages' => 'صفحات المستخدمين',
 'prefs-personal' => 'ملف المستخدم',
 'prefs-rc' => 'أحدث التغييرات',
 'prefs-watchlist' => 'قائمة المراقبة',
@@ -1784,7 +1799,7 @@ $1",
 'nchanges' => '{{PLURAL:$1|لا تغييرات|تغيير واحد|تغييران|$1 تغييرات|$1 تغييرا|$1 تغيير}}',
 'recentchanges' => 'أحدث التغييرات',
 'recentchanges-legend' => 'خيارات أحدث التغييرات',
-'recentchangestext' => 'تابع آخر التغييرات في الويكي من هذه الصفحة.',
+'recentchanges-summary' => 'تابع آخر التغييرات في الويكي من هذه الصفحة.',
 'recentchanges-feed-description' => 'تابع أحدث التغييرات للويكي عبر هذه التلقيمة.',
 'recentchanges-label-newpage' => 'أنشأ هذا التعديل صفحة جديدة',
 'recentchanges-label-minor' => 'هذا تعديل طفيف',
@@ -1810,6 +1825,7 @@ $1",
 'number_of_watching_users_pageview' => '[{{PLURAL:$1|لا مستخدمون يراقبون|مستخدم واحد يراقب|مستخدمان يراقبان|$1 مستخدمين يراقبون|$1 مستخدما يراقب|$1 مستخدم يراقب}}]',
 'rc_categories' => 'حصر لتصنيفات (مفرقة برمز "|")',
 'rc_categories_any' => 'أي',
+'rc-change-size-new' => '$1 {{PLURAL:$1|بايت|بايت}} بعد التغيير',
 'newsectionsummary' => '/* $1 */ قسم جديد',
 'rc-enhanced-expand' => 'عرض التفاصيل (يتطلب جافاسكريبت)',
 'rc-enhanced-hide' => 'أخفِ التفاصيل',
@@ -1894,14 +1910,14 @@ $1",
 'windows-nonascii-filename' => 'هذا ويكي لا يعتمد أسماء الملفات مع الأحرف الخاصة.',
 'fileexists' => "هناك ملف موجود يحمل نفس هذا الاسم الرجاء التأكد من هذا الملف باتباع الوصلة التالية '''<tt>[[:$1]]</tt>''' قبل القيام بتغييره.
 [[$1|thumb]]",
-'filepageexists' => "أنشئت صفحة وصف هذا الملف في '''<tt>[[:$1]]</tt>'''، لكن لا يوجد ملف بهذا الاسم حاليا.
+'filepageexists' => "أنشئت صفحة وصف هذا الملف في '''<tt>[[:$1]]</tt>'''، لكن لا يوجد ملف بهذا الاسم حالياً.
 لن يظهر الملخص الذي تدخله على صفحة الوصف.
-لجعل ملخصك يظهر هناك، ستحتاج إلى تعديله يدويا.
+لجعل ملخصك يظهر هناك، ستحتاج إلى تعديله يدوياً.
 [[$1|thumb]]",
 'fileexists-extension' => "يوجد ملف باسم مشابه: [[$2|thumb]]
 * اسم الملف المراد رفعه: '''<tt>[[:$1]]</tt>'''
 * اسم الملف الموجود: '''<tt>[[:$2]]</tt>'''
-من فضلك اختر اسما مختلفا.",
+من فضلك اختر اسماً مختلفاً.",
 'fileexists-thumbnail-yes' => "يبدو أن الملف مصغرا لحجم أعلى ''(تصغير)''. [[$1|thumb]]
 من فضلك افحص الملف '''<tt>[[:$1]]</tt>'''.
 إن كان هو نفس الملف بالحجم الأصلي فلا داعي لرفع تصغير إضافي.",
@@ -1909,9 +1925,9 @@ $1",
 يبدو أن الملف مصغرا لحجم أعلى ''(تصغير)''.
 إذا كانت لديك الصورة في درجة دقة كاملة قم برفعها، أو قم بتغيير اسم الملف من فضلك.",
 'fileexists-forbidden' => 'هناك ملف موجود بهذا الاسم بالفعل، ولا يمكن إعادة الكتابة عليه.
-لو أنك مازلت تريد رفع ملفك، من فضلك عد واستخدم اسما جديدا. [[File:$1|thumb|center|$1]]',
+لو أنك مازلت تريد رفع ملفك، من فضلك عد واستخدم اسماً جديداً. [[File:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => 'يوجد ملف بنفس الاسم بالفعل في مستودع الملفات المشترك.
-لو كنت مازلت تريد رفع ملفك، من فضلك ارجع واستخدم اسما جديدا.
+لو كنت مازلت تريد رفع ملفك، من فضلك ارجع واستخدم اسماً جديداً.
 [[File:$1|thumb|center|$1]]',
 'file-exists-duplicate' => 'هذا الملف مكرر  {{PLURAL:$1|للملف|للملفات}} التالية:',
 'file-deleted-duplicate' => 'ملف مطابق لهذه الملف ([[:$1]]) تم حذفه من قبل. ينبغي أن تتحقق من تاريخ الحذف لهذا الملف قبل المتابعة بإعادة رفعه.',
@@ -1939,8 +1955,8 @@ $1",
 'watchthisupload' => 'راقب هذا الملف',
 'filewasdeleted' => 'تم رفع ثم حذف ملف بهذا الاسم من قبل.
 من الأفضل مراجعة $1 قبل رفعه مرة أخرى.',
-'filename-bad-prefix' => "اسÙ\85 Ø§Ù\84Ù\85Ù\84Ù\81 Ø§Ù\84Ø°Ù\8a ØªØ±Ù\81عÙ\87 Ù\8aبدأ Ø¨'''\"\$1\"'''Ø\8c Ù\88Ù\87Ù\88 Ø§Ø³Ù\85 ØºÙ\8aر Ù\88صÙ\81Ù\8a Ø¹Ø§Ø¯Ø© Ù\8aÙ\88ضع ØªÙ\84Ù\82ائÙ\8aا Ù\85Ù\86 Ø§Ù\84Ù\83اÙ\85Ù\8aرات Ø§Ù\84رÙ\82Ù\85Ù\8aØ©.
-من فضلك اختر اسما أكثر وصفا لملفك.",
+'filename-bad-prefix' => "اسÙ\85 Ø§Ù\84Ù\85Ù\84Ù\81 Ø§Ù\84Ø°Ù\8a ØªØ±Ù\81عÙ\87 Ù\8aبدأ Ø¨'''\"\$1\"'''Ø\8c Ù\88Ù\87Ù\88 Ø§Ø³Ù\85 ØºÙ\8aر Ù\88صÙ\81Ù\8a ØºØ§Ù\84باÙ\8b Ù\85ا ØªØ®ØµØµÙ\87 Ø§Ù\84Ù\83اÙ\85Ù\8aرات Ø§Ù\84رÙ\82Ù\85Ù\8aØ© ØªÙ\84Ù\82ائÙ\8aاÙ\8b.
+من فضلك اختر اسماً يصف ملفك بوضوح أكثر.",
 'filename-prefix-blacklist' => ' #<!-- اترك هذا السطر تماما كما هو --> <pre>
 # الصيغة كالتالي:
 #   * كل شيء من علامة "#" إلى آخر السطر هو تعليق
@@ -1965,7 +1981,7 @@ $1',
 'upload-warning-msg' => 'ثمة مشكلة في مرفوعك من [$2]. يمكنك الرجوع إلى [[Special:Upload/stash/$1|نموذج الرفع]] لتصحيح المشكلة.',
 
 'upload-proto-error' => 'بروتوكول غير صحيح',
-'upload-proto-error-text' => 'الرفع عن بعد يتطلب مسارا يبدأ بـ <code>http://</code> أو <code>ftp://</code>.',
+'upload-proto-error-text' => 'الرفع عن بعد يتطلب مساراً يبدأ بـ <code>http://</code> أو <code>ftp://</code>.',
 'upload-file-error' => 'خطأ داخلي',
 'upload-file-error-text' => 'حدث خطأ داخلي عند محاولة إنشاء ملف مؤقت على الخادوم.
 من فضلك اتصل [[Special:ListUsers/sysop|بإداري]].',
@@ -1976,13 +1992,15 @@ $1',
 'upload-too-many-redirects' => 'احتوى المسار تحويلات كثيرة جدا',
 'upload-unknown-size' => 'حجم غير معروف',
 'upload-http-error' => 'صودف خطأ HTTP: $1',
+'upload-copy-upload-invalid-domain' => 'رفع النسخ غير متاح من هذا الموقع',
 
 # File backend
 'backend-fail-stream' => 'لا يمكن عرض الملف $1.',
 'backend-fail-backup' => 'لا يمكن صنع نسخة أحتياطية للملف $1.',
 'backend-fail-notexists' => 'الملف $1 غير موجود.',
+'backend-fail-hashes' => 'لم يمكن الحصول على هاش الملف من أجل المقارنة',
 'backend-fail-notsame' => 'يوجد بالفعل ملف غير متطابق في $1.',
-'backend-fail-invalidpath' => '$1 ليس مسارا صالحا للتخزين.',
+'backend-fail-invalidpath' => '$1 ليس مساراً صالحاً للتخزين.',
 'backend-fail-delete' => 'لم يمكن حذف الملف $1.',
 'backend-fail-alreadyexists' => 'الملف $1 موجود بالفعل.',
 'backend-fail-store' => 'لا يمكن تخزين الملف $1 في $2 .',
@@ -1992,7 +2010,19 @@ $1',
 'backend-fail-writetemp' => 'تعذّرت كتابة ملف مؤقت.',
 'backend-fail-closetemp' => 'تعذّر إغلاق ملف مؤقت.',
 'backend-fail-read' => 'لا يمكن قراءة الملف $1.',
-'backend-fail-create' => 'تعذر إنشاء الملف $1.',
+'backend-fail-create' => 'تعذر كتابة الملف $1.',
+'backend-fail-maxsize' => 'تعذر كتابة الملف $1 لأنه أكبر من  {{PLURAL:$2|بايت واحد|$2 بايت}}.',
+'backend-fail-readonly' => 'خلفية التخزين "$1" في وضعية القراءة فقط حاليا. السبب في ذلك هو: "$2"',
+'backend-fail-synced' => 'الملف "$1" في حالة غير متناسقة ضمن خلفية التخزين الداخلية',
+'backend-fail-connect' => 'تعذر ربط الإتصال بخلفية التخزين "$1".',
+'backend-fail-internal' => 'وقع خطأ غير معروف في خلفية التخزين "$1".',
+'backend-fail-contenttype' => 'تعذر تحديد نوع محتوى الملف الذي تريد تخزينه في "$1".',
+'backend-fail-batchsize' => 'أعطت خلفية التخزين دفعة $1 ملف {{PLURAL:$1|عملية|عمليات}}; الحد الأقصى هو $2 {{PLURAL:$2|عملية|عمليات}}.',
+'backend-fail-usable' => 'تعذر كتابة الملف $1 لنقص في التراخيص أو فقدان الدلائل/الحاويات.',
+
+# File journal errors
+'filejournal-fail-dbconnect' => 'تعذر ربط الإتصال بقاعدة بيانات خلفية التخزين "$1".',
+'filejournal-fail-dbquery' => 'تعذر تحديث قاعدة بيانات خلفية تخزين "$1".',
 
 # Lock manager
 'lockmanager-notlocked' => 'تعذر فتح "$1"، الملف غير مغلق.',
@@ -2026,12 +2056,12 @@ $1',
 # img_auth script messages
 'img-auth-accessdenied' => 'رفض الوصول',
 'img-auth-nopathinfo' => 'PATH_INFO مفقود.
-خادÙ\85Ù\83 Ù\84Ù\8aس Ù\85ضبÙ\88طا  لتمرير هذه المعلومة.
-قد يكون مبنيا على نظام CGI ولا يمكنه دعم img_auth.
+خادÙ\88Ù\85Ù\83 Ù\84Ù\8aس Ù\85ضبÙ\88طاÙ\8b لتمرير هذه المعلومة.
+قد يكون مبنياً على نظام CGI ولا يمكنه دعم img_auth.
 راجع https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'img-auth-notindir' => 'المسار المطلوب غير موجود في مجلد الرفع المضبوط.',
 'img-auth-badtitle' => 'تعذر تشكيل عنوان صالح من "$1".',
-'img-auth-nologinnWL' => 'لست والجا و"$1" ليست في القائمة البيضاء.',
+'img-auth-nologinnWL' => 'لست والجاً و"$1" ليست في القائمة البيضاء.',
 'img-auth-nofile' => 'الملف "$1" غير موجود.',
 'img-auth-isdir' => 'أنت تحاول الوصول إلى الدليل "$1".
 يسمح بوصول الملفات فقط.',
@@ -2158,7 +2188,7 @@ $1',
 
 # MIME search
 'mimesearch' => 'بحث MIME',
-'mimesearch-summary' => 'تمكنك هذه الصفحة من ترشيح الملفات طبقا لنوع MIME الخاص بها.
+'mimesearch-summary' => 'تمكنك هذه الصفحة من ترشيح الملفات وفق نوع MIME الخاص بها.
 المدخل: نوع المحتوى/النوع الفرعي، كمثال <tt>image/jpeg</tt>.',
 'mimetype' => 'نوع الملف:',
 'download' => 'تنزيل',
@@ -2312,7 +2342,7 @@ $1',
 'log' => 'سجلات',
 'all-logs-page' => 'كل السجلات العامة',
 'alllogstext' => 'عرض شامل لكل السجلات المتوفرة في {{SITENAME}}.
-باستطاعتك جعل القائمة أكثر تحديدا وذلك باختيار نوع السجل، اسم المستخدم (حساس لحالة الحروف)، أو الصفحة المتأثرة (أيضا حساس لحالة الحروف).',
+باستطاعتك جعل القائمة أكثر تحديداً، وذلك باختيار نوع السجل واسم المستخدم (حساس لحالة الحروف)، أو الصفحة المتأثرة (أيضاً حساس لحالة الحروف).',
 'logempty' => 'لا توجد مدخلات مطابقة في السجل.',
 'log-title-wildcard' => 'ابحث عن عناوين تبدأ بهذا النص',
 
@@ -2321,7 +2351,7 @@ $1',
 'alphaindexline' => '$1 إلى $2',
 'nextpage' => 'الصفحة التالية ($1)',
 'prevpage' => 'الصفحة السابقة ($1)',
-'allpagesfrom' => 'اعرض الصفحات بدءا من:',
+'allpagesfrom' => 'اعرض الصفحات بدءاً من:',
 'allpagesto' => 'اعرض الصفحات المنتهية عند:',
 'allarticles' => 'كل الصفحات',
 'allinnamespace' => 'كل الصفحات (في نطاق $1)',
@@ -2331,18 +2361,23 @@ $1',
 'allpagessubmit' => 'اذهب',
 'allpagesprefix' => 'عرض الصفحات التي تبدأ بـ:',
 'allpagesbadtitle' => 'العنوان المقترح للصفحة غير مقبول أو يضم لغات أخرى أو سابقة إنترويكي.
-يمكن أن يتضمن حروفا لا يمكن استعمالها للعناوين.',
+أو ربما فيه أحرف لا يمكن استعمالها في العناوين.',
 'allpages-bad-ns' => '{{SITENAME}} لا يوجد بها نطاق "$1".',
 'allpages-hide-redirects' => 'أخفِ التحويلات',
 
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'أنت تستعرض نسخة مخبأة من هذه الصفحة، وقدمها قد يصل إلى $1.',
+'cachedspecial-viewing-cached-ts' => 'أنت تستعرض نسخة مخبأة من هذه الصفحة، وقد لا تكون مطابقة للنسخة الحالية.',
+'cachedspecial-refresh-now' => 'استعرض آخر نسخة',
+
 # Special:Categories
 'categories' => 'تصنيفات',
 'categoriespagetext' => '{{PLURAL:$1|التصنيف التالي يحتوي|التصنيفات التالية تحتوي}} على صفحات أو وسائط.
 [[Special:UnusedCategories|التصنيفات غير المستخدمة]] غير معروضة هنا.
£Ù\8aضا Ø§Ù\86ظر [[Special:WantedCategories|التصنيفات المطلوبة]].',
-'categoriesfrom' => 'أظهر التصنيفات بدءا من:',
§Ù\86ظر Ø£Ù\8aضاÙ\8b [[Special:WantedCategories|التصنيفات المطلوبة]].',
+'categoriesfrom' => 'أظهر التصنيفات بدءاً من:',
 'special-categories-sort-count' => 'رتب بالعدد',
-'special-categories-sort-abc' => 'رتب هجائيا',
+'special-categories-sort-abc' => 'رتب هجائياً',
 
 # Special:DeletedContributions
 'deletedcontributions' => 'مساهمات المستخدم المحذوفة',
@@ -2361,19 +2396,19 @@ $1',
 'linksearch-error' => 'الكروت الخاصة يمكن أن تظهر فقط في بداية اسم المضيف.',
 
 # Special:ListUsers
-'listusersfrom' => 'اعرض المستخدمين بدءا من:',
+'listusersfrom' => 'اعرض المستخدمين بدءاً من:',
 'listusers-submit' => 'اعرض',
 'listusers-noresult' => 'لم يتم إيجاد مستخدم.',
 'listusers-blocked' => '(ممنوع)',
 
 # Special:ActiveUsers
 'activeusers' => 'قائمة المستخدمين النشطين',
-'activeusers-intro' => 'هذه قائمة بالمستخدمين الذين مارسوا نوعا من النشاط خلال {{PLURAL:$1||اليوم الماضي|اليومين الماضيين|ال$1 أيام الماضية|ال$1 يوما ماضيا|ال$1 يوم ماضي}}.',
-'activeusers-count' => '{{PLURAL:$1|لا تعديلات حديثة|تعديل حديث واحد|تعديلان حديثان|$1 تعديلات حديثة|$1 تعديلا حديثا|$1 تعديل حديث}} في {{PLURAL:$3||اليوم الماضي|اليومين الماضيين|$3 أيام ماضية|$3 يوما ماضية|ال$1 يوم ماضي}}',
-'activeusers-from' => 'اعرض المستخدمين بدءا من:',
+'activeusers-intro' => 'هذه قائمة بالمستخدمين الذين مارسوا نوعاً من النشاط خلال {{PLURAL:$1||اليوم الماضي|اليومين الماضيين|ال$1 أيام الماضية|ال$1 يوماً ماضياً|ال$1 يوم ماضي}}.',
+'activeusers-count' => '{{PLURAL:$1|لا تعديلات حديثة|تعديل حديث واحد|تعديلان حديثان|$1 تعديلات حديثة|$1 تعديلاً حديثاً|$1 تعديل حديث}} خلال {{PLURAL:$3||اليوم الماضي|اليومين الماضيين|$3 أيام ماضية|$3 يوماً ماضية|ال$1 يوم ماضي}}',
+'activeusers-from' => 'اعرض المستخدمين بدءاً من:',
 'activeusers-hidebots' => 'أخف البوتات',
 'activeusers-hidesysops' => 'أخف الإداريين',
-'activeusers-noresult' => 'لا مستخدمون تم إيجادهم.',
+'activeusers-noresult' => 'لم يعثر على أي مستخدمين',
 
 # Special:Log/newusers
 'newuserlogpage' => 'سجل إنشاء المستخدمين',
@@ -2404,7 +2439,7 @@ $1',
 'emailuser' => 'إرسال رسالة لهذا المستخدم',
 'emailpage' => 'إرسال رسالة للمستخدم',
 'emailpagetext' => 'يمكنك استخدام الاستمارة بالأسفل لإرسال رسالة بريد إلكتروني إلى هذا المستخدم.
¹Ù\86Ù\88اÙ\86 Ø§Ù\84برÙ\8aد Ø§Ù\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8a Ø§Ù\84Ø°Ù\8a Ù\82Ù\85ت Ø£Ù\86ت Ø¨Ø¥Ø¯Ø®Ø§Ù\84Ù\87 Ù\81Ù\8a [[Special:Preferences|تÙ\81ضÙ\8aÙ\84اتÙ\83]]Ø\8c Ø³Ù\8aظÙ\87ر Ù\83عÙ\86Ù\88اÙ\86 Ø§Ù\84Ù\85رسÙ\84 Ù\81Ù\8a Ø§Ù\84برÙ\8aد Ø§Ù\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8aØ\8c Ø­ØªÙ\89 Ù\8aصبح Ø§Ù\84Ù\85تÙ\84Ù\82Ù\8a Ù\82ادرا Ø¹Ù\84Ù\89 الرد عليك مباشرة.',
³Ù\8aظÙ\87ر Ø¹Ù\86Ù\88اÙ\86 Ø§Ù\84برÙ\8aد Ø§Ù\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8a Ø§Ù\84Ø°Ù\8a Ø£Ø¯Ø®Ù\84تÙ\87 Ù\81Ù\8a [[Special:Preferences|تÙ\81ضÙ\8aÙ\84اتÙ\83]] Ù\83عÙ\86Ù\88اÙ\86 Ø§Ù\84Ù\85رسÙ\84 Ù\81Ù\8a Ø§Ù\84برÙ\8aد Ø§Ù\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8aØ\8c Ù\83Ù\8a Ù\8aستطÙ\8aع Ø§Ù\84Ù\85تÙ\84Ù\82Ù\8a الرد عليك مباشرة.',
 'usermailererror' => 'جسم البريد أرجع خطأ:',
 'defemailsubject' => 'رسالة {{SITENAME}} من المستخدم "$1"',
 'usermaildisabled' => 'بريد المستخدم الإلكتروني معطل',
@@ -2440,7 +2475,7 @@ $1',
 'nowatchlist' => 'لا توجد مدخلات في قائمة مراقبتك.',
 'watchlistanontext' => 'الرجاء $1 لعرض أو تعديل الصفحات في قائمة مراقبتك.',
 'watchnologin' => 'غير مسجل',
-'watchnologintext' => 'يجب أن تكون [[Special:UserLogin|مسجلا الدخول]] لتعدل قائمة مراقبتك.',
+'watchnologintext' => 'يجب أن تكون [[Special:UserLogin|مسجل الدخول]] لتعدل قائمة مراقبتك.',
 'addwatch' => 'إضافة إلى قائمة المراقبة',
 'addedwatchtext' => "أضيفت الصفحة  \"[[:\$1]]\" إلى [[Special:Watchlist|قائمة مراقبتك]].
 التغييرات القادمة على هذه الصفحة وصفحة نقاشها سيتم وضعها هناك، وسيتم إظهار اسم الصفحة بخط '''غليظ''' في صفحة [[Special:RecentChanges|أحدث التغييرات]] لتسهيل تحديدها واكتشافها.",
@@ -2460,7 +2495,7 @@ $1',
 'watchmethod-list' => 'فحص الصفحات المراقبة للتعديلات الحديثة',
 'watchlistcontains' => 'تحتوي قائمة مراقبتك على {{PLURAL:$1|لا صفحات|صفحة واحدة|صفحتان|$1 صفحات|$1 صفحة}}.',
 'iteminvalidname' => "مشكلة في المدخل '$1'، اسم غير صحيح...",
-'wlnote' => "بالأسفل {{PLURAL:$1|لا توجد تغييرات|التغيير الأخير|آخر تغييرين|آخر '''$1''' تغييرات|آخر '''$1''' تغييرا|آخر '''$1''' تغيير}} في {{PLURAL:$2||'''الساعة''' الماضية|'''الساعتين''' الماضيتين|ال'''$2''' ساعات الماضية|ال'''$2''' ساعة الماضية}} وفقا ل$3، $4.",
+'wlnote' => "بالأسفل {{PLURAL:$1|لا توجد تغييرات|التغيير الأخير|آخر تغييرين|آخر '''$1''' تغييرات|آخر '''$1''' تغييرا|آخر '''$1''' تغيير}} في {{PLURAL:$2||'''الساعة''' الماضية|'''الساعتين''' الماضيتين|ال'''$2''' ساعات الماضية|ال'''$2''' ساعة الماضية}} وفقاً ل$3، $4.",
 'wlshowlast' => 'عرض آخر $1 ساعات $2 أيام $3',
 'watchlist-options' => 'خيارات قائمة المراقبة',
 
@@ -2489,18 +2524,18 @@ $1',
 ويكي: $PAGEEDITOR_WIKI
 
 لن يكون هناك إخطارات أخرى في حالة حدوث مزيد من التغييرات إلا إذا قمت بزيارة تلك الصفحة.
-يمكن أيضا تعيين إشارات الإعلام لجميع صفحات شاهد على هيئة الرصد الخاصة بك.
+يمكنك أيضاً إزالة العلامات عن جميع الصفحات في قائمة مراقبتك.
 
-                        {{SITENAME}} إعلام البريد الإلكتروني لموقع
+                       نظام {{SITENAME}} للإعلام بالبريد الإلكتروني
 
 --
\84تغÙ\8aÙ\8aر Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø¥Ø¹Ù\84اÙ\85 البريد الإلكتروني الخاص بك، قم بزيارة
\84تغÙ\8aÙ\8aر Ø¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§Ù\84إعÙ\84اÙ\85 Ø¨البريد الإلكتروني الخاص بك، قم بزيارة
 {{canonicalurl:{{#special:Preferences}}}}
 
-لتغيير إعدادات المراقبة الخاصة بك، قم بزيارة
+لتغيير إعدادات قائمة مراقبتك، قم بزيارة
 {{canonicalurl:{{#special:EditWatchlist}}}}
 
-لحذف الصفحة من قائمة المراقبة الخاصة بك، قم بزيارة
+لحذف الصفحة من قائمة مراقبتك، قم بزيارة
 $UNWATCHURL
 
 التغذية المرتدة، والحصول على مساعدة إضافية:
@@ -2515,7 +2550,7 @@ $UNWATCHURL
 'exblank' => 'الصفحة كانت فارغة',
 'delete-confirm' => 'حذف "$1"',
 'delete-legend' => 'حذف',
-'historywarning' => "'''تحذير:''' للصفحة التي توشك على حذفها تاريخ فيه تقريبا {{PLURAL:$1||مراجعة واحدة|مراجعتين|$1 مراجعات|$1 مراجعة}}:",
+'historywarning' => "'''تحذير:''' الصفحة التي توشك على حذفها لها تاريخ فيه {{PLURAL:$1||مراجعة واحدة|مراجعتان|$1 مراجعات|$1 مراجعة}} تقريباً:",
 'confirmdeletetext' => 'أنت على وشك أن تقوم بحذف صفحة بالإضافة إلى كل تاريخها.
 من فضلك التأكد من عزمك على الحذف، وبأنك مدرك للعواقب، وبأنك تقوم بهذا بالتوافق مع [[{{MediaWiki:Policy-url}}|السياسة]].',
 'actioncomplete' => 'انتهاء العملية',
@@ -2673,7 +2708,7 @@ $UNWATCHURL
 'undelete-search-submit' => 'ابحث',
 'undelete-no-results' => 'لم يتم العثور على صفحات مطابقة في أرشيف المحذوفات.',
 'undelete-filename-mismatch' => 'لم يمكن استرجاع مراجعة الملف بتاريخ $1: اسم الملف لا يطابق',
-'undelete-bad-store-key' => 'لم يمكن استرجاع مراجعة الملف بتاريخ $1: الملف كان مفقودا قبل الحذف',
+'undelete-bad-store-key' => 'لم يمكن استرجاع مراجعة الملف بتاريخ $1: الملف كان مفقوداً قبل الحذف',
 'undelete-cleanup-error' => 'خطأ حذف ملف أرشيف غير مستخدم "$1".',
 'undelete-missing-filearchive' => 'غير قادر على استرجاع ملف الأرشيف رقم $1 لأنه ليس في قاعدة البيانات.
 ربما يكون قد تم استرجاعه.',
@@ -2771,7 +2806,7 @@ $1',
 'ipbotherreason' => 'سبب إضافي/آخر:',
 'ipbhidename' => 'أخف اسم المستخدم من التعديلات والقوائم',
 'ipbwatchuser' => 'راقب صفحتي المستخدم والنقاش لهذا المستخدم',
-'ipb-disableusertalk' => 'امنع هذا المستخدم من تعديل صفحة نقاشه ما دام ممنوعا',
+'ipb-disableusertalk' => 'امنع هذا المستخدم من تعديل صفحة نقاشه ما دام ممنوعاً',
 'ipb-change-block' => 'أعد منع المستخدم بهذه الإعدادات',
 'ipb-confirm' => 'أكّد المنع',
 'badipaddress' => 'عنوان أيبي غير صحيح',
@@ -2821,7 +2856,7 @@ $1',
 'change-blocklink' => 'تغيير المنع',
 'contribslink' => 'مساهمات',
 'emaillink' => 'أرسل بريدًا إلكترونيًا',
-'autoblocker' => 'تم منعك تلقائيا لأن الأيبي الخاص بك تم استخدامه مؤخرا بواسطة "[[User:$1|$1]]".
+'autoblocker' => 'تم منعك تلقائيا لأن الأيبي الخاص بك تم استخدامه مؤخراً بواسطة "[[User:$1|$1]]".
 السبب المعطى لمنع $1 هو: "$2"',
 'blocklogpage' => 'سجل المنع',
 'blocklog-showlog' => 'سبق منع هذا المستخدم.
@@ -2845,14 +2880,14 @@ $1',
 'ipb_expiry_invalid' => 'تاريخ الانتهاء غير صحيح.',
 'ipb_expiry_temp' => 'عمليات منع أسماء المستخدمين المخفية يجب أن تكون دائمة.',
 'ipb_hide_invalid' => 'غير قادر على إخفاء هذا الحساب؛ ربما يكون قد قام بالكثير من التعديلات.',
-'ipb_already_blocked' => '"$1" Ù\85Ù\85Ù\86Ù\88ع Ø¨Ø§Ù\84Ù\81عÙ\84',
-'ipb-needreblock' => '$1 Ù\85Ù\85Ù\86Ù\88ع Ø¨Ø§Ù\84Ù\81عÙ\84. هل تريد تغيير الإعدادات؟',
+'ipb_already_blocked' => '"$1" Ù\85Ù\85Ù\86Ù\88ع Ø­Ø§Ù\84Ù\8aاÙ\8b',
+'ipb-needreblock' => '$1 Ù\85Ù\85Ù\86Ù\88ع Ø­Ø§Ù\84Ù\8aاÙ\8b. هل تريد تغيير الإعدادات؟',
 'ipb-otherblocks-header' => '{{PLURAL:$1||المنع الآخر|المنعان الآخران|المنوعات الأخرى}}',
 'unblock-hideuser' => 'لا يمكنك إلغاء منع هذا المستخدم لأن اسم مستخدمه أُخفي.',
 'ipb_cant_unblock' => 'خطأ: لم يتم إيجاد الممنوع $1.
 ربما تم رفع منعه بالفعل.',
-'ipb_blocked_as_range' => 'خطأ: الأيبي $1 ليس ممنوعا مباشرة ولا يمكن رفع المنع عنه.
-لكنه، على أية حال، ممنوع كجزء من النطاق $2، والذي يمكن رفع المنع عنه.',
+'ipb_blocked_as_range' => 'خطأ: الأيبي $1 ليس ممنوعاً مباشرة ولا يمكن رفع المنع عنه.
+لكنه ممنوع كجزء من النطاق $2، والذي يمكن رفع المنع عنه.',
 'ip_range_invalid' => 'نطاق عناوين الأيبي المدخل غير صحيح.',
 'ip_range_toolarge' => 'لا يسمح بنطاقات المنع الأكبر من /$1',
 'blockme' => 'منعي',
@@ -2866,19 +2901,19 @@ $1',
 'sorbs_create_account_reason' => 'عنوان الأيبي الخاص بك موجود كبروكسي مفتوح في DNSBL المستخدم بواسطة {{SITENAME}}.
 لا يمكنك إنشاء حساب.',
 'cant-block-while-blocked' => 'أنت لا يمكنك منع المستخدمين الآخرين بينما أنت ممنوع.',
-'cant-see-hidden-user' => 'المستخدم الذي تحاول منعه تم منعه مسبقا وإخفائه. بما أنك لا تمتلك صلاحية إخفاء المستخدم ، لا يمكنك مشاهدة المنع أو تعديله.',
+'cant-see-hidden-user' => 'المستخدم الذي تحاول منعه تم منعه سابقاً وإخفاؤه. بما أنك لا تمتلك صلاحية إخفاء المستخدم، لا يمكنك مشاهدة المنع أو تعديله.',
 'ipbblocked' => 'لا يمكنك منع أو رفع منع مستخدمين آخرين لأنك ممنوع',
 'ipbnounblockself' => 'لا يسمح لك برفع المنع عن نفسك',
 
 # Developer tools
 'lockdb' => 'قفل قاعدة البيانات',
 'unlockdb' => 'فتح قاعدة البيانات',
-'lockdbtext' => 'إغلاق قاعدة البيانات سوف يمنع جميع المستخدمين من تحرير الصفحات وتغيير التفضيلات الخاصة بهم وتعديل قائمة المراقبة وغير ذلك من الأمور المتطلبة التعديل على قاعدة البيانات.
-من فضلك تأكد من أن هذا حقا ما ترغب القيام به، ومن أنك سوف تقوم بإزالة الغلق بعد الانتهاء من الصيانة.',
+'lockdbtext' => 'إغلاق قاعدة البيانات سوف يمنع جميع المستخدمين من تحرير الصفحات وتغيير التفضيلات الخاصة بهم وتعديل قائمة المراقبة وغير ذلك من الأمور التي تتطلب تعديل قاعدة البيانات.
+من فضلك تأكد من أن هذا حقاً ما ترغب القيام به، ومن أنك سوف تقوم بإزالة الغلق بعد الانتهاء من الصيانة.',
 'unlockdbtext' => 'فتح قاعدة البيانات سيسترجع قدرة كل المستخدمين على تحرير الصفحات، تغيير تفضيلاتهم، تعديل قوائم المراقبة الخاصة بهم، وأشياء أخرى تحتاج التغيير في قاعدة البيانات.
 من فضلك أكد أن هذا هو ما تريده.',
-'lockconfirm' => 'Ù\86عÙ\85Ø\8c Ø£Ø±Ù\8aد Ù\81عÙ\84ا Ù\82Ù\81Ù\84 Ù\82اعدة Ø§Ù\84بÙ\8aاÙ\86ات.',
-'unlockconfirm' => 'Ù\86عÙ\85Ø\8c Ø£Ø±Ù\8aد Ù\81عÙ\84ا Ù\81تح Ù\82اعدة Ø§Ù\84بÙ\8aاÙ\86ات.',
+'lockconfirm' => 'Ù\86عÙ\85Ø\8c Ø£Ø±Ù\8aد Ù\82Ù\81Ù\84 Ù\82اعدة Ø§Ù\84بÙ\8aاÙ\86ات Ù\81عÙ\84اÙ\8b.',
+'unlockconfirm' => 'Ù\86عÙ\85Ø\8c Ø£Ø±Ù\8aد Ù\81تح Ù\82اعدة Ø§Ù\84بÙ\8aاÙ\86ات Ù\81عÙ\84اÙ\8b.',
 'lockbtn' => 'قفل قاعدة البيانات',
 'unlockbtn' => 'رفع غلق قاعدة البيانات',
 'locknoconfirm' => 'لم تقم بتعليم صندوق التأكيد.',
@@ -2888,37 +2923,37 @@ $1',
 تذكر أن [[Special:UnlockDB|تزيل الغلق]] بعد اكتمال أعمال الصيانة.',
 'unlockdbsuccesstext' => 'تم إعادة فتح قاعدة البيانات',
 'lockfilenotwritable' => 'ملف غلق قاعدة البيانات لا يمكن الكتابة عليه.
-لغلق قاعدة البيانات أو إزالة الغلق يجب أن يكون هذا الملف قابلا للكتابة من قبل خادوم الوب.',
+لغلق قاعدة البيانات أو إزالة الغلق يجب أن يكون هذا الملف قابلاً للكتابة من قبل خادوم الويب.',
 'databasenotlocked' => 'قاعدة البيانات ليست مغلقة.',
 'lockedbyandtime' => '(من $1 على $2 في $3 )',
 
 # Move page
 'move-page' => 'نقل $1',
 'move-page-legend' => 'نقل صفحة',
-'movepagetext' => "باستخدام  الاستمارة بالأسفل بإمكانك أن تغير اسم الصفحة، وأن تنقل تاريخها للاسم الجديد.
+'movepagetext' => "باستخدام  الاستمارة بالأسفل بإمكانك أن تغير اسم الصفحة، وأن تنقل تاريخها إلى لاسم الجديد.
 العنوان القديم سيصبح تحويلة للعنوان الجديد.
\8aÙ\85Ù\83Ù\86Ù\83 ØªØ­Ø¯Ù\8aØ« Ø§Ù\84تحÙ\88Ù\8aÙ\84ات Ø§Ù\84تÙ\8a ØªØ´Ù\8aر Ø¥Ù\84Ù\89 Ø§Ù\84عÙ\86Ù\88اÙ\86 Ø§Ù\84أصÙ\84Ù\8a ØªÙ\84Ù\82ائÙ\8aا.
-لو اخترت ألا تفعل، تأكد من عدم وجود تحويلات [[Special:DoubleRedirects|مزدوجة]] أو [[Special:BrokenRedirects|مكسورة]].
-أنت مسؤول عن التأكد من أن الوصلات تتصل مع بعضها بشكل مناسب.
\8aÙ\85Ù\83Ù\86Ù\83 Ø£Ù\86 ØªØªØ±Ù\83 Ø§Ù\84تحÙ\88Ù\8aÙ\84ات Ø§Ù\84تÙ\8a ØªØ´Ù\8aر Ø¥Ù\84Ù\89 Ø§Ù\84عÙ\86Ù\88اÙ\86 Ø§Ù\84أصÙ\84Ù\8a Ù\83Ù\85ا Ù\87Ù\8a Ù\84تÙ\82Ù\88Ù\85 Ø§Ù\84بÙ\88تات Ø¨ØªØ­Ø¯Ù\8aØ«Ù\87ا ØªÙ\84Ù\82ائÙ\8aاÙ\8b.
+إذا اخترت أن تقوم بالتحديث يدوياً، فتأكد من عدم وجود تحويلات [[Special:DoubleRedirects|مزدوجة]] أو [[Special:BrokenRedirects|مكسورة]] وقم بتصحيحها.
+أنت المسؤول عن التأكد من أن الوصلات تصل إلى الصفحات التي يفترض أن تصل إليها.
 
-لاحظ أنه '''لن يتم''' نقل الصفحة إذا وجدت صفحة بالعنوان الجديد، إلا إذا كانت فارغة، أو تحويلة ولا تاريخ لها.
-هذا يعني أنك يمكنك استرجاع الصفحة لمكانها لو قمت بخطأ، وأنك لا يمكنك الكتابة على صفحة موجودة.
+لاحظ أنه '''لن يتم''' نقل الصفحة إذا وجدت صفحة في العنوان الجديد، إلا إذا كانت فارغة أو صفحة تحويل، ولا تاريخ لها.
+هذا يعني أنك تستطيع استرجاع الصفحة إلى مكانها لو قمت بخطأ، وأنك لا يمكنك نسخ هذه الصفحة فوق صفحة موجودة.
 
 '''تحذير!'''
-هذا قد يكون تغييرا كارثيا وغير متوقع لصفحة مشهورة؛
-من فضلك تأكد من فهم عواقب هذا قبل المتابعة.",
-'movepagetext-noredirectfixer' => "باستخدام  الاستمارة بالأسفل بإمكانك أن تغير اسم الصفحة، وأن تنقل تاريخها للاسم الجديد.
+هذا قد يكون تغييراً كارثياً وغير متوقع لصفحة مشهورة؛
+من فضلك تأكد أنك تفهم عواقب هذا الفعل قبل أن تستمر.",
+'movepagetext-noredirectfixer' => "باستخدام  الاستمارة بالأسفل بإمكانك أن تغير اسم الصفحة، وأن تنقل تاريخها إلى الاسم الجديد.
 العنوان القديم سيصبح تحويلة للعنوان الجديد.
-يمكنك تحديث التحويلات التي تشير إلى العنوان الأصلي تلقائيا.
+يمكنك تحديث التحويلات التي تشير إلى العنوان الأصلي تلقائياً.
 لو اخترت ألا تفعل، تأكد من عدم وجود تحويلات [[Special:DoubleRedirects|مزدوجة]] أو [[Special:BrokenRedirects|مكسورة]].
-أنت مسؤول عن التأكد من أن الوصلات تتصل مع بعضها بشكل مناسب.
+أنت المسؤول عن التأكد من أن الوصلات تصل إلى الصفحات التي يفترض أن تصل إليها.
 
\84احظ Ø£Ù\86Ù\87 '''Ù\84Ù\86 Ù\8aتÙ\85''' Ù\86Ù\82Ù\84 Ø§Ù\84صÙ\81حة Ø¥Ø°Ø§ Ù\83اÙ\86 Ù\87Ù\86اÙ\83 ØµÙ\81حة Ø¨Ù\86Ù\81س Ø§Ù\84عÙ\86Ù\88اÙ\86 Ø§Ù\84جدÙ\8aدØ\8c Ø¥Ù\84ا Ø¥Ø°Ø§ Ù\83اÙ\86ت Ù\81ارغةØ\8c Ø£Ù\88 ØªØ­Ù\88Ù\8aÙ\84Ø© Ù\88Ù\84ا ØªØ§Ø±Ù\8aØ® Ù\84Ù\87ا.
-هذا يعني أنك يمكنك استرجاع الصفحة لمكانها لو قمت بخطأ، وأنك لا يمكنك الكتابة على صفحة موجودة.
+لاحظ أنه '''لن يتم''' نقل الصفحة إذا كان هناك صفحة بنفس العنوان الجديد، إلا إذا كانت فارغة، أو تحويلة لا تاريخ لها.
+هذا يعني أنك تستطيع استرجاع الصفحة إلى مكانها لو قمت بخطأ، وأنك لا يمكنك الكتابة على صفحة موجودة.
 
 '''تحذير!'''
-هذا قد يكون تغييرا كارثيا وغير متوقع لصفحة مشهورة؛
-من فضلك تأكد من فهم عواقب هذا قبل المتابعة",
+هذا قد يكون تغييراً كارثياً وغير متوقع لصفحة مشهورة؛
+من فضلك تأكد أنك تفهم عواقب هذا الفعل قبل أن تستمر.",
 'movepagetalktext' => "صفحة النقاش المرفقة سيتم نقلها كذلك، '''إلا في حالة''':
 * توجد صفحة نقاش غير فارغة تحت العنوان الجديد، أو
 * قمت بإزالة اختيار الصندوق بالأسفل.
@@ -2927,7 +2962,7 @@ $1',
 'movearticle' => 'انقل الصفحة:',
 'moveuserpage-warning' => "'''تحذير: أنت على وشك نقل صفحة مستخدم. من فضلك لاحظ أن الصفحة وحدها سوف تنقل وأن المستخدم لن يعاد تسميته.'''",
 'movenologin' => 'غير مسجل',
-'movenologintext' => 'يجب أن تكون مستخدما مسجلا وأن تقوم [[Special:UserLogin|بالدخول]] لكي تنقل صفحة.',
+'movenologintext' => 'يجب أن تكون مستخدماً مسجلاً وأن  [[Special:UserLogin|تسجل دخولك]] لكي تنقل صفحة.',
 'movenotallowed' => 'أنت لا تمتلك الصلاحية لنقل الصفحات.',
 'movenotallowedfile' => 'أنت لا تمتلك الصلاحية لنقل الملفات.',
 'cant-move-user-page' => 'أنت لا تمتلك الصلاحية لنقل صفحات المستخدم الرئيسية.',
@@ -2942,16 +2977,16 @@ $1',
 'articleexists' => 'توجد صفحة بهذا الاسم، أو أن الاسم الذي تم اختياره غير صالح.
 من فضلك اختر اسم آخر.',
 'cantmove-titleprotected' => 'لا يمكنك نقل صفحة إلى هذا الموقع، لأن العنوان الجديد تمت حمايته ضد الإنشاء',
-'talkexists' => "'''الصفحة نفسها تم نقلها بنجاح، ولكن صفحة النقاش لم يمكن نقلها لوجود صفحة مسبقا تحت العنوان الجديد.
-من فضلك ادمجهما يدويا.'''",
+'talkexists' => "'''الصفحة نفسها تم نقلها بنجاح، ولكن صفحة النقاش لم يمكن نقلها لوجود صفحة مسبقاً تحت العنوان الجديد.
+من فضلك ادمجهما يدوياً.'''",
 'movedto' => 'نُقِلت إلى',
 'movetalk' => 'انقل صفحة النقاش المرفقة',
 'move-subpages' => 'انقل الصفحات الفرعية (حتى $1)',
 'move-talk-subpages' => 'انقل الصفحات الفرعية لصفحة النقاش (حتى $1)',
-'movepage-page-exists' => 'الصفحة $1 موجودة بالفعل ولا يمكن الكتابة عليها تلقائيا.',
+'movepage-page-exists' => 'الصفحة $1 موجودة بالفعل ولا يمكن الكتابة عليها تلقائياً.',
 'movepage-page-moved' => 'نُقِلت صفحة $1 إلى $2.',
 'movepage-page-unmoved' => 'لم يمكن نقل صفحة $1 إلى $2.',
-'movepage-max-pages' => 'تم نقل الحد الأقصى وهو {{PLURAL:$1||صفحة واحدة|صفحتان|$1 صفحات|$1 صفحة}} ولن يتم نقل المزيد تلقائيا.',
+'movepage-max-pages' => 'تم نقل الحد الأقصى وهو {{PLURAL:$1||صفحة واحدة|صفحتان|$1 صفحات|$1 صفحة}} ولن يتم نقل المزيد تلقائياً.',
 'movelogpage' => 'سجل النقل',
 'movelogpagetext' => 'بالأسفل قائمة بالصفحات التي تم نقلها.',
 'movesubpage' => '{{PLURAL:$1||الصفحة الفرعية|الصفحتان الفرعيتان|الصفحات الفرعية}}',
@@ -2969,7 +3004,7 @@ $1',
 لا يمكن نقل الصفحة على نفسها.',
 'immobile-source-namespace' => 'غير قادر على نقل الصفحات في النطاق "$1"',
 'immobile-target-namespace' => 'غير قادر على نقل الصفحات إلى النطاق "$1"',
-'immobile-target-namespace-iw' => 'وصلة الإنترويكي ليست هدفا صحيحا لنقل صفحة.',
+'immobile-target-namespace-iw' => 'وصلة الإنترويكي ليست هدفاً صالحاً لنقل صفحة.',
 'immobile-source-page' => 'هذه الصفحة غير قابلة للنقل.',
 'immobile-target-page' => 'غير قادر على النقل إلى العنوان الوجهة هذا.',
 'imagenocrossnamespace' => 'لا يمكن نقل الملف إلى نطاق غير نطاق الملفات',
@@ -2985,15 +3020,16 @@ $1',
 'move-over-sharedrepo' => '== الملف موجود ==
 [[:$1]] موجود في مستودع مشترك. نقل الملف إلى هذا العنوان سوف يلغي الملف المشترك.',
 'file-exists-sharedrepo' => 'اسم الملف الذي اخترته مستخدم من قبل في مستودع مشترك.
-من فضلك اختر اسما آخرا.',
+من فضلك اختر اسماً آخر.',
 
 # Export
 'export' => 'تصدير صفحات',
-'exporttext' => 'يمكنك تصدير النص وتاريخ تعديلات صفحة أو مجموعة صفحات في صيغة XML. هذا يمكن استيراده في ويكي آخر يستعمل ميدياويكي بواسطة الصفحة [[Special:Import|صفحة الاستيراد]].
+'exporttext' => 'يمكنك تصدير النص وتاريخ تعديلات صفحة أو مجموعة صفحات في صيغة XML.
+هذا يمكن استيراده إلى ويكي آخر يستعمل ميدياويكي بواسطة [[Special:Import|صفحة الاستيراد]].
 
\84تصدÙ\8aر ØµÙ\81حاتØ\8c Ø£Ø¯Ø®Ù\84 Ø§Ù\84عÙ\86اÙ\88Ù\8aÙ\86 Ù\81Ù\8a Ø§Ù\84صÙ\86دÙ\88Ù\82 Ø£Ø³Ù\81Ù\84Ù\87Ø\8c Ø¹Ù\86Ù\88اÙ\86 Ù\88احد Ù\81Ù\8a Ù\83Ù\84 Ø³Ø·Ø±Ø\8c Ù\85ع Ø§Ø®ØªÙ\8aار Ù\85ا Ø¥Ø°Ø§ Ù\83Ù\86ت ØªØ±ØºØ¨ Ù\81Ù\8a Ø§Ù\84Ù\86سخة Ø§Ù\84حاÙ\84Ù\8aØ© Ø¨Ø§Ù\84إضاÙ\81Ø© Ø¥Ù\84Ù\89 Ø§Ù\84Ù\86سخ Ø§Ù\84Ù\82دÙ\8aÙ\85Ø© Ù\83اÙ\85Ù\84Ø©Ø\8c Ø£Ù\88 Ù\85ع Ù\85عÙ\84Ù\88Ù\85ات ØªØ§Ø±Ù\8aØ® Ø§Ù\84صÙ\81حة Ø¹Ù\86Ù\87ا، أو فقط النسخة الحالية مع معلومات عن التعديل الأخير.
\84تصدÙ\8aر Ø§Ù\84صÙ\81حاتØ\8c Ø£Ø¯Ø®Ù\84 Ø¹Ù\86اÙ\88Ù\8aÙ\86Ù\87ا Ù\81Ù\8a Ø§Ù\84صÙ\86دÙ\88Ù\82 Ø£Ø³Ù\81Ù\84Ù\87Ø\8c Ø¹Ù\86Ù\88اÙ\86اÙ\8b Ù\88احداÙ\8b Ù\81Ù\8a Ù\83Ù\84 Ø³Ø·Ø±Ø\8c Ù\85ع Ø§Ø®ØªÙ\8aار Ù\85ا Ø¥Ø°Ø§ Ù\83Ù\86ت ØªØ±ØºØ¨ Ø¨ØªØµØ¯Ù\8aر Ø§Ù\84Ù\86سخة Ø§Ù\84حاÙ\84Ù\8aØ© Ù\85ع Ø¬Ù\85Ù\8aع Ø§Ù\84Ù\86سخ Ø§Ù\84Ù\82دÙ\8aÙ\85Ø©Ø\8c Ø£Ù\8a Ù\85ع Ù\83اÙ\85Ù\84 Ù\85عÙ\84Ù\88Ù\85ات ØªØ§Ø±Ù\8aØ® Ø§Ù\84صÙ\81حة، أو فقط النسخة الحالية مع معلومات عن التعديل الأخير.
 
-في الحالة الأخيرة يمكنك أيضا استخدام وصلة، على سبيل المثال [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] للصفحة "[[{{MediaWiki:Mainpage}}]]".',
+في الحالة الأخيرة يمكنك أيضاً استخدام وصلة، على سبيل المثال [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] للصفحة «[[{{MediaWiki:Mainpage}}]]».',
 'exportall' => 'صدّر كل الصفحات',
 'exportcuronly' => 'ضمن المراجعة الحالية فقط، وليس التاريخ الكامل',
 'exportnohistory' => "----
@@ -3069,7 +3105,7 @@ $1',
 'importnofile' => 'لم يتم رفع ملف استيراد.',
 'importuploaderrorsize' => 'رفع ملف الاستيراد فشل.
 الملف أكبر من حجم الرفع المسموح.',
-'importuploaderrorpartial' => 'رفع ملف الاستيراد فشل. الملف تم رفعه جزئيا.',
+'importuploaderrorpartial' => 'فشل رفع ملف الاستيراد. لم يتم رفع الملف إلا جزئياً.',
 'importuploaderrortemp' => 'رفع ملف الاستيراد فشل.
 هناك مجلد مؤقت مفقود.',
 'import-parse-failure' => 'فشل تحليل استيراد XML',
@@ -3081,6 +3117,9 @@ $1',
 'import-invalid-interwiki' => 'لم يمكن الاستيراد من الويكي المحدد.',
 'import-error-edit' => 'الصفحة "$1" لم يتم استيرادها لأنه لا يمكن لك تحريرها.',
 'import-error-create' => 'الصفحة "$1" لم يتم استيرادها لأنه لا يمكن لك استحداثها أصلا.',
+'import-error-interwiki' => 'تعذر أستيراد الصفحة "$1" بسبب أن إسمها محجوز للربط الخارجي (interwiki).',
+'import-error-special' => 'تعذر أستيراد الصفحة "$1" لأنها تنتمي إلى مساحة إسم خاصة تمنع الصفحات.',
+'import-error-invalid' => 'تعذر أستيراد الصفحة "$1" بسبب أن إسمها غير صحيح.',
 
 # Import log
 'importlogpage' => 'سجل الاستيراد',
@@ -3093,6 +3132,13 @@ $1',
 # JavaScriptTest
 'javascripttest' => 'اختبار جافاسكربت',
 'javascripttest-disabled' => 'هذه الخاصية معطلة.',
+'javascripttest-title' => 'تشغيل أختبارات $1',
+'javascripttest-pagetext-noframework' => 'هذه الصفحة محجوزة لإجراء أختبارات الجافا سكريبت.',
+'javascripttest-pagetext-unknownframework' => 'إطار اختبار غير معروف "$1".',
+'javascripttest-pagetext-frameworks' => 'الرجاء اختيار أحد أطر الاختبارات التالية: $1',
+'javascripttest-pagetext-skins' => 'قم باختيار الواجهة لإجراء الإحتبارات بها:',
+'javascripttest-qunit-intro' => 'راجع [$1 وثيقة الإختبار] على mediawiki.org.',
+'javascripttest-qunit-heading' => 'جناح أختبار MediaWiki JavaScript QUnit',
 
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'صفحة المستخدم الخاصة بك',
@@ -3335,8 +3381,8 @@ $1',
 إذا كان الملف قد عدل عن حالته الأصلية، فبعض التفاصيل قد لا تعبر عن الملف المعدل.',
 'metadata-expand' => 'أظهر التفاصيل الممتدة',
 'metadata-collapse' => 'أخفِ التفاصيل الممتدة',
-'metadata-fields' => 'Ø­Ù\82Ù\88Ù\84 Ù\85عطÙ\8aات Ø§Ù\84Ù\85Ù\8aتا Ø§Ù\84Ù\85Ù\88جÙ\88دة Ù\81Ù\8a Ù\87Ø°Ù\87 Ø§Ù\84رساÙ\84Ø© Ø³Ù\88Ù\81 ØªØ¹Ø±Ø¶ Ù\81Ù\8a ØµÙ\81حة Ø§Ù\84صÙ\88رة Ø¹Ù\86دÙ\85ا Ù\8aÙ\83Ù\88Ù\86 Ø¬Ø¯Ù\88Ù\84 Ù\85عطÙ\8aات Ø§Ù\84Ù\85Ù\8aتا Ù\85ضغÙ\88طا.
-الحقول الأخرى ستكون مخفية افتراضيا.
+'metadata-fields' => 'ستعرض Ø­Ù\82Ù\88Ù\84 Ù\85عطÙ\8aات Ø§Ù\84Ù\85Ù\8aتا Ø§Ù\84Ù\85Ù\88جÙ\88دة Ù\81Ù\8a Ù\87Ø°Ù\87 Ø§Ù\84رساÙ\84Ø© Ù\81Ù\8a ØµÙ\81حة Ø§Ù\84صÙ\88رة Ø¹Ù\86دÙ\85ا Ù\8aÙ\83Ù\88Ù\86 Ø¬Ø¯Ù\88Ù\84 Ù\85عطÙ\8aات Ø§Ù\84Ù\85Ù\8aتا Ù\85Ø·Ù\88Ù\8aاÙ\8b.
+الحقول الأخرى ستكون مخفية افتراضياً.
 * make
 * model
 * datetimeoriginal
@@ -3354,7 +3400,7 @@ $1',
 # EXIF tags
 'exif-imagewidth' => 'العرض',
 'exif-imagelength' => 'الارتفاع',
-'exif-bitspersample' => 'بت لكل مكون',
+'exif-bitspersample' => 'بت لكل مكونة',
 'exif-compression' => 'نظام الضغط',
 'exif-photometricinterpretation' => 'تركيب البكسل',
 'exif-orientation' => 'التوجيه',
@@ -3371,19 +3417,19 @@ $1',
 'exif-jpeginterchangeformatlength' => 'بايت من بيانات JPEG',
 'exif-whitepoint' => 'ألوان النقطة البيضاء',
 'exif-primarychromaticities' => 'ألوان الأساسيات',
-'exif-ycbcrcoefficients' => 'Ù\85عاÙ\85Ù\84ات Ù\85صÙ\81Ù\88Ù\81Ø© ØªØ­Ù\88Ù\8aÙ\84 Ù\81راغ اللون',
+'exif-ycbcrcoefficients' => 'Ù\85عاÙ\85Ù\84ات Ù\85صÙ\81Ù\88Ù\81Ø© ØªØ­Ù\88Ù\8aÙ\84 Ù\81ضاء اللون',
 'exif-referenceblackwhite' => 'زوج من قيم المرجع السوداء والبيضاء',
 'exif-datetime' => 'تاريخ ووقت تغيير الملف',
 'exif-imagedescription' => 'عنوان الصورة',
 'exif-make' => 'مصنع آلة التصوير',
-'exif-model' => 'نوع آلة التصوير',
+'exif-model' => 'طراز الكاميرا',
 'exif-software' => 'البرمجيات المستخدمة',
 'exif-artist' => 'المؤلف',
 'exif-copyright' => 'مالك الحقوق',
 'exif-exifversion' => 'نسخة Exif',
 'exif-flashpixversion' => 'نسخة فلاش بكس المدعومة',
-'exif-colorspace' => 'Ù\81رÙ\82 Ø§Ù\84Ù\84Ù\88ن',
-'exif-componentsconfiguration' => 'معنى كل مكون',
+'exif-colorspace' => 'Ù\81ضاء Ø§Ù\84Ø£Ù\84Ù\88ان',
+'exif-componentsconfiguration' => 'معنى كل مكونة',
 'exif-compressedbitsperpixel' => 'طور ضغط الصورة',
 'exif-pixelydimension' => 'عرض الصورة',
 'exif-pixelxdimension' => 'ارتفاع الصورة',
@@ -3486,7 +3532,7 @@ $1',
 'exif-credit' => 'الرصيد/المزود',
 'exif-source' => 'المصدر',
 'exif-editstatus' => 'الحالة التحريرية للصورة',
-'exif-urgency' => 'Ø¥Ù\84حاح',
+'exif-urgency' => 'عاجÙ\84',
 'exif-fixtureidentifier' => 'اسم العنصر',
 'exif-locationdest' => 'اسم الموقع مصورا',
 'exif-locationdestcode' => 'رمز الموقع مصورا',
@@ -3525,9 +3571,9 @@ $1',
 'exif-intellectualgenre' => 'نوع العنصر',
 'exif-subjectnewscode' => 'رمز الموضوع',
 'exif-scenecode' => 'رمز مشهد IPTC',
-'exif-event' => 'اسم الحدث مصورا',
-'exif-organisationinimage' => 'اÙ\84Ù\85Ù\86ظÙ\85Ø© Ù\85صورة',
-'exif-personinimage' => 'اÙ\84شخص Ù\85صÙ\88را',
+'exif-event' => 'الحدث في الصورة',
+'exif-organisationinimage' => 'اÙ\84Ù\85Ù\86ظÙ\85Ø© Ù\81Ù\8a Ø§Ù\84صورة',
+'exif-personinimage' => 'اÙ\84شخص Ù\81Ù\8a Ø§Ù\84صÙ\88رة',
 'exif-originalimageheight' => 'ارتفاع الصورة قبل أن تقتطع',
 'exif-originalimagewidth' => 'عرض الصورة قبل أن تقتطع',
 
@@ -3555,15 +3601,15 @@ $1',
 'exif-unknowndate' => 'تاريخ غير معروف',
 
 'exif-orientation-1' => 'عادي',
-'exif-orientation-2' => 'دار عرضيا',
-'exif-orientation-3' => 'دار 180°',
-'exif-orientation-4' => 'دار أفقيا',
-'exif-orientation-5' => 'دار 90° CCW و انزلق رأسيا',
+'exif-orientation-2' => 'مقلوبة أفقياً',
+'exif-orientation-3' => 'مدورة 180°',
+'exif-orientation-4' => 'مقلوبة رأسياً',
+'exif-orientation-5' => 'مدورة 90° عكس عقارب الساعة ومقلوبة رأسياً',
 'exif-orientation-6' => 'مدورة 90° عكس عقارب الساعة',
-'exif-orientation-7' => 'دار 90° CW و انزلق رأسيا',
+'exif-orientation-7' => 'مدورة 90° في اتجاه عقارب الساعة ومقلوبة رأسياً',
 'exif-orientation-8' => 'مدورة 90° في اتجاه عقارب الساعة',
 
-'exif-planarconfiguration-1' => 'صيغة تشنكي',
+'exif-planarconfiguration-1' => 'صيغة مكتنزة',
 'exif-planarconfiguration-2' => 'صيغة مستوية',
 
 'exif-xyresolution-i' => '$1 نقطة لكل بوصة',
@@ -3583,12 +3629,12 @@ $1',
 'exif-exposureprogram-0' => 'غير معرف',
 'exif-exposureprogram-1' => 'يدوي',
 'exif-exposureprogram-2' => 'برنامج عادي',
-'exif-exposureprogram-3' => 'أولوية الغالق',
-'exif-exposureprogram-4' => 'أولوية الإغلاق',
-'exif-exposureprogram-5' => 'برÙ\86اÙ\85ج Ø§Ù\84صÙ\86ع (Ù\8aÙ\85Ù\8aÙ\84 ØªØ¬Ø§Ù\87 عمق الحقل)',
-'exif-exposureprogram-6' => 'برنامج الفعل (يميل تجاه سرعة الغلق)',
-'exif-exposureprogram-7' => 'Ø·Ù\88ر Ø§Ù\84بÙ\88رترÙ\8aÙ\87 (Ù\84صÙ\88ر Ø§Ù\84إغÙ\84اÙ\82 Ù\85ع Ø§Ù\84Ø®Ù\84Ù\81Ù\8aØ© Ø¨Ø¹Ù\8aدا Ø¹Ù\86 Ø§Ù\84بؤرة)',
-'exif-exposureprogram-8' => 'Ø·Ù\88ر Ø§Ù\84أرضÙ\8aØ© (Ù\84صÙ\88ر Ø§Ù\84أرضية مع الخلفية في البؤرة)',
+'exif-exposureprogram-3' => 'أولوية الفتحة',
+'exif-exposureprogram-4' => 'أولوية المغلاق',
+'exif-exposureprogram-5' => 'برÙ\86اÙ\85ج Ø®Ù\84اÙ\82 (تحÙ\8aز Ù\84صاÙ\84Ø­ عمق الحقل)',
+'exif-exposureprogram-6' => 'برنامج الفعل (تحيز لصالح سرعة المغلاق)',
+'exif-exposureprogram-7' => 'أسÙ\84Ù\88ب Ø§Ù\84بÙ\88رترÙ\8aÙ\87 (تصÙ\88Ù\8aر Ù\85Ù\86 Ù\82رÙ\8aب Ù\85ع ØªØºÙ\8aÙ\8aÙ\85 Ø§Ù\84Ø®Ù\84Ù\81Ù\8aة)',
+'exif-exposureprogram-8' => 'أسÙ\84Ù\88ب Ø§Ù\84Ù\85Ù\86ظر Ø§Ù\84طبÙ\8aعÙ\8a (Ù\84صÙ\88ر Ø§Ù\84Ù\85Ù\86اظر Ø§Ù\84طبÙ\8aعية مع الخلفية في البؤرة)',
 
 'exif-subjectdistance-value' => '$1 متر',
 
@@ -3596,7 +3642,7 @@ $1',
 'exif-meteringmode-1' => 'متوسط',
 'exif-meteringmode-2' => 'متوسط موزون بالمركز',
 'exif-meteringmode-3' => 'بقعة',
-'exif-meteringmode-4' => 'Ù\85اÙ\84تÙ\8a Ø³Ø¨Ù\88ت',
+'exif-meteringmode-4' => 'Ù\85تعدد Ø§Ù\84بÙ\82ع',
 'exif-meteringmode-5' => 'نمط',
 'exif-meteringmode-6' => 'جزئي',
 'exif-meteringmode-255' => 'غير ذلك',
@@ -3645,7 +3691,7 @@ $1',
 'exif-sensingmethod-7' => 'مستشعر خطي ثلاثي',
 'exif-sensingmethod-8' => 'مستشعر لون خطي متتابع',
 
-'exif-filesource-3' => 'كاميرا رقمية واقفة',
+'exif-filesource-3' => 'كاميرا رقمية',
 
 'exif-scenetype-1' => 'صورة ملتقطة بشكل مباشر',
 
@@ -3654,14 +3700,14 @@ $1',
 
 'exif-exposuremode-0' => 'تعرض تلقائي',
 'exif-exposuremode-1' => 'تعرض يدوي',
-'exif-exposuremode-2' => 'Ø£Ù\82Ù\88اس تلقائية',
+'exif-exposuremode-2' => 'سÙ\84سÙ\84Ø© تلقائية',
 
 'exif-whitebalance-0' => 'توازن الأبيض تلقائي',
 'exif-whitebalance-1' => 'توازن الأبيض يدوي',
 
 'exif-scenecapturetype-0' => 'قياسي',
-'exif-scenecapturetype-1' => 'Ø£رضية',
-'exif-scenecapturetype-2' => 'بÙ\88رترÙ\8aÙ\87',
+'exif-scenecapturetype-1' => 'عرضية',
+'exif-scenecapturetype-2' => 'Ø·Ù\88Ù\84Ù\8aØ©',
 'exif-scenecapturetype-3' => 'مشهد ليلي',
 
 'exif-gaincontrol-0' => 'لا شيء',
@@ -3675,8 +3721,8 @@ $1',
 'exif-contrast-2' => 'قاسي',
 
 'exif-saturation-0' => 'عادي',
-'exif-saturation-1' => 'تشبع Ù\82Ù\84Ù\8aÙ\84',
-'exif-saturation-2' => 'تشبع Ø¹Ø§Ù\84Ù\8a',
+'exif-saturation-1' => 'إشباع Ù\85Ù\86Ø®Ù\81ض',
+'exif-saturation-2' => 'إشباع Ù\85رتÙ\81ع',
 
 'exif-sharpness-0' => 'عادي',
 'exif-sharpness-1' => 'ناعم',
@@ -3684,8 +3730,8 @@ $1',
 
 'exif-subjectdistancerange-0' => 'غير معروف',
 'exif-subjectdistancerange-1' => 'ماكرو',
-'exif-subjectdistancerange-2' => 'رؤÙ\8aØ© Ù\82رÙ\8aبة',
-'exif-subjectdistancerange-3' => 'رؤÙ\8aØ© Ø¨Ø¹Ù\8aدة',
+'exif-subjectdistancerange-2' => 'صÙ\88رة Ù\85Ù\86 Ù\82رÙ\8aب',
+'exif-subjectdistancerange-3' => 'صÙ\88رة Ù\85Ù\86 Ø¨Ø¹Ù\8aد',
 
 # Pseudotags used for GPSLatitudeRef and GPSDestLatitudeRef
 'exif-gpslatitude-n' => 'دائرة العرض الشمالية',
@@ -3766,7 +3812,7 @@ $1',
 'exif-urgency-normal' => 'عادي ($1)',
 'exif-urgency-low' => 'منخفض ( $1 )',
 'exif-urgency-high' => 'عالي ( $1 )',
-'exif-urgency-other' => 'الأولوية المعرفة من قبل المستخدم ($1)',
+'exif-urgency-other' => 'الأولوية محددة من قبل المستخدم ($1)',
 
 # External editor support
 'edit-externally' => 'عدل هذا الملف باستخدام تطبيق خارجي',
@@ -3781,18 +3827,18 @@ $1',
 # E-mail address confirmation
 'confirmemail' => 'تأكيد عنوان البريد الإلكتروني',
 'confirmemail_noemail' => 'ليس لديك عنوان بريد إلكتروني صحيح مسجل في [[Special:Preferences|تفضيلاتك]].',
-'confirmemail_text' => '{{SITENAME}} Ù\8aتطÙ\84ب تأكيد عنوانك الإلكتروني قبل استخدام خصائص البريد الإلكتروني.
-اضغط على زر التفعيل بالأسفل ليتم إرسال رسالة تأكيد لعنوانك.
+'confirmemail_text' => '{{SITENAME}} Ù\8aجب تأكيد عنوانك الإلكتروني قبل استخدام خصائص البريد الإلكتروني.
+اضغط على زر التفعيل بالأسفل ليتم إرسال رسالة تأكيد إلى عنوانك.
 ستتضمن الرسالة رمز تفعيل؛
 اضغط على الوصلة التي تحتوي الرمز لتأكيد أن عنوانك الإلكتروني صحيح.',
-'confirmemail_pending' => 'تÙ\85 Ø¥Ø±Ø³Ø§Ù\84 Ù\83Ù\88د Ø§Ù\84تأÙ\83Ù\8aد Ø¨Ø§Ù\84Ù\81عÙ\84 Ù\85Ù\86 Ù\82بÙ\84 Ø¥Ù\84Ù\89 Ø¨Ø±Ù\8aدÙ\83 Ø§Ù\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8a؛
-إذا كان حسابك قد تم عمله حالا، ربما يجب أن تنتظر بضع دقائق قبل طلبك لكود آخر.',
+'confirmemail_pending' => 'تÙ\85 Ø¥Ø±Ø³Ø§Ù\84 Ù\83Ù\88د Ø§Ù\84تأÙ\83Ù\8aد Ø¥Ù\84Ù\89 Ø¨Ø±Ù\8aدÙ\83 Ø§Ù\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8a Ù\85ؤخراÙ\8b؛
+إذا كنت قد أنشأت حسابك للتو، من الأفضل أن تنتظر بضع دقائق قبل أن تطلب كوداً آخر.',
 'confirmemail_send' => 'أرسل كود تأكيد',
 'confirmemail_sent' => 'تم إرسال رسالة التأكيد، شكرا لك.',
-'confirmemail_oncreate' => 'تم إرسال كود تأكيد لعنوان بريدك الإلكتروني.
-لا يشترط أن تستخدم الكود للدخول للموسوعة باسمك، ولكن يجب أن تقوم بإدخاله قبل استخدامك أيا من خواص البريد الإلكتروني المستخدمة هنا في الويكي.',
+'confirmemail_oncreate' => 'تم إرسال كود تأكيد إلى عنوان بريدك الإلكتروني.
+الكود غير مطلوب للدخول إلى الموسوعة باسمك، ولكن يجب إدخاله قبل استخدامك أياً من خواص البريد الإلكتروني المستخدمة هنا في الويكي.',
 'confirmemail_sendfailed' => 'لم يتمكن {{SITENAME}} من إرسال رسالة التأكيد إليك.
\85Ù\86 Ù\81ضÙ\84Ù\83 Ø§Ù\84تÙ\85س Ø¹Ù\86Ù\88اÙ\86 Ø¨Ø±Ù\8aدÙ\83 Ø§Ù\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8a Ø¨Ø§Ø­Ø«Ø§ عن حروف غير صحيحة.
\85Ù\86 Ù\81ضÙ\84Ù\83 ØªØ£Ù\83د Ù\85Ù\86 Ø¹Ù\86Ù\88اÙ\86 Ø¨Ø±Ù\8aدÙ\83 Ø§Ù\84Ø¥Ù\84Ù\83ترÙ\88Ù\86Ù\8a Ø¨Ø­Ø«Ø§Ù\8b عن حروف غير صحيحة.
 
 أرجع خادم البريد: $1',
 'confirmemail_invalid' => 'كود تأكيد غير صحيح.
@@ -4042,6 +4088,8 @@ $5
 'version-software' => 'البرنامج المثبت',
 'version-software-product' => 'المنتج',
 'version-software-version' => 'النسخة',
+'version-entrypoints' => 'نقطة دخول روابط المواقع',
+'version-entrypoints-header-entrypoint' => 'تقطة دخول',
 'version-entrypoints-header-url' => 'المسار',
 
 # Special:FilePath
@@ -4169,6 +4217,8 @@ $5
 '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',
@@ -4176,6 +4226,8 @@ $5
 'newuserlog-byemail' => 'كلمة السر تم إرسالها بواسطة البريد الإلكتروني',
 
 # Feedback
+'feedback-bugornote' => 'إن كنت مستعدا لشرح  مشكلة تقنية بالتفصيل، رجاءا [$1 قدم تقريرا بالخلل].
+بخلاف ذلك، يمكنك أستخدام الطريقة الأسهل أسفله، سيتم إضافة تعليقك للصفحة "[$3 $2]"، بالإضافة إلى اسم المستخدم و نوع المتصفح الذي تستخدمه حاليا.',
 'feedback-subject' => 'الموضوع:',
 'feedback-message' => 'الرسالة:',
 'feedback-cancel' => 'ألغِ',
index 9cc3f86..90ae5ec 100644 (file)
@@ -51,11 +51,16 @@ $specialPageAliases = array(
        'CreateAccount'             => array( 'ܒܪܝ_ܚܘܫܒܢܐ' ),
        'DeletedContributions'      => array( 'ܫܘܬܦܘܝܬ̈ܐ_ܫܝܦܬ̈ܐ' ),
        'Filepath'                  => array( 'ܫܒܝܠܐ_ܕܦܐܬܐ' ),
-       'Log'                       => array( 'ܣܓܠ̈ܐ' ),
+       'Log'                       => array( 'ܣܓܠܐ', 'ܣܓܠ̈ܐ' ),
+       'Lonelypages'               => array( 'ܦܐܬܬ̈ܐ_ܝܬܡܬ̈ܐ' ),
        'Longpages'                 => array( 'ܦܐܬܬ̈ܐ_ܐܪ̈ܝܟܬܐ' ),
        'Movepage'                  => array( 'ܫܢܝ_ܦܐܬܐ' ),
        'Mycontributions'           => array( 'ܫܘܬܦܘܝܬ̈ܝ' ),
+       'Mypage'                    => array( 'ܦܐܬܐ_ܕܝܠܝ' ),
+       'Mytalk'                    => array( 'ܡܡܠܠܐ_ܕܝܠܝ' ),
+       'Newimages'                 => array( 'ܠܦܦ̈ܐ_ܚܕ̈ܬܐ', 'ܨܘܪ̈ܬܐ_ܚܕ̈ܬܬܐ' ),
        'Newpages'                  => array( 'ܦܐܬܬ̈ܐ_ܚܕ̈ܬܬܐ' ),
+       'PermanentLink'             => array( 'ܐܣܘܪܐ_ܦܝܘܫܐ' ),
        'Preferences'               => array( 'ܓܒܝܬ̈ܐ' ),
        'Protectedpages'            => array( 'ܦܐܬܬ̈ܐ_ܢܛܝܪ̈ܬܐ' ),
        'Protectedtitles'           => array( 'ܟܘܢܝ̈ܐ_ܢܛܝܪ̈ܐ' ),
@@ -275,9 +280,9 @@ $messages = array(
 'jumpto' => 'ܫܘܪ ܠ:',
 'jumptonavigation' => 'ܐܠܦܪܘܬܐ',
 'jumptosearch' => 'ܒܨܝܐ',
-'view-pool-error' => 'ܬÜ\98Ü\9dÜ\9aÜ\90Ø\8c Ü\9aÜ\95Ü¡Ì\88Ü\90 Ü\97Ü\98Ü\90 Ü\93Ü\97̈ܝܐ ܗܫܐܝܬ
-Ü£Ü\93Ü\9d Ü¡Ü¦Ü Ü\9aÜ¢Ì\88Ü\90 Ü©Ü«Ü\95Ü\98ܪÜ\90 Ü Ü¡Ü\9bÜ\90 Ü Ü\97Ü¢Ü\90 Ü¦Ü\90ܬܐ
-ܦÜ\9dÜ£Ü\90 Ü¡Ü¢Ü\9f Ü£Ü\9fÜ\9d Ü©Ü Ü\9dÜ  Ü¡Ü¢ Ü©Ü\95Ü¡ Ü\95Ü\93ܪÜ\92ܬ Ü Ü¡Ü\9bÜ\9dÜ\90 Ü Ü\90Ü\97Ü\90 Ü¦Ü\90ܬÜ\90 Ü¬Ü¢Ü\9dÜ¢Ü\98ܬ.
+'view-pool-error' => 'ܬÜ\98Ü\9dÜ\9aÜ\90Ø\8c Ü¬Ü«Ü¡Ü«Ü¬Ì\88Ü\90 Ü\90Ü¢Ü\98Ü¢ Ü Ü\90̈ܝܐ ܗܫܐܝܬ
+Ü£Ü\93Ü\9d Ü¡Ü¦Ü Ü\9aÜ¢Ì\88Ü\90 Ü¢Ü£Ü\9dÜ¢ Ü Ü\9aÜ\99Ü\9dÜ\90 Ü\95Ü\97Ü¢Ü\90 Ü\95ܦܐ
+ܦÜ\9dÜ£Ü\90 Ü¡Ü¢Ü\9f Ü£Ü\9fÜ\9d Ü©Ü Ü\9dÜ  Ü¡Ü¢ Ü©Ü\95Ü¡ Ü\95ܬܢܣÜ\90 Ü Ü¡Ü\9bÜ\9dÜ\90 Ü Ü\97Ü¢Ü\90 Ü\95ܦÜ\90 Ü\99Ü\92ܢܬÜ\90 Ü\90Ü\9aܪܬÜ\90.
 
 $1',
 'pool-timeout' => 'ܫܠܡ ܥܕܢܐ ܣܒܪܬܐ ܠܚܠܩܐ',
@@ -358,9 +363,9 @@ $1',
 'actionthrottled' => 'ܠܐ ܡܬܡܨܝܢܬܐ ܐܝܬܝܗܝ ܠܡܥܒܕ ܝܬܝܪ ܡܢ ܗܢܐ ܥܒܕܐ',
 'viewsourcetext' => 'ܡܨܐ ܐܢܬ ܕܢܚܙܐ ܘܢܣܚܐ ܠܡܒܘ̈ܥܐ ܕܗܕܐ ܦܐܬܐ:',
 'protectedinterface' => 'ܗܕܐ ܦܐܬܐ ܡܘܬܪܐ ܟܬܝܒܬܐ ܕܦܐܬܐ ܠܚܘܪܙܐ, ܘܐܝܬܝܗܝ ܢܛܪܬܐ ܠܡܘܢܥ ܚܘܒܠܐ.',
-'editinginterface' => "''ܙܘܗܪܐ:''' ܐܢܬ ܥܒܕܬ ܫܚܠܦܬܐ ܒܦܐܬܐ ܡܬܦܠܚܬ ܠܡܘܬܘܪ̈ܐ ܦܐܬܘܬ̈ܐ ܟܬܝܒ̈ܐ ܠܚܘܪܙܐ.
\9fÜ  Ü«Ü\98Ü\9aܠܦÜ\90 Ü\92Ü\90Ü\97Ü\90 Ü¦Ü\90ܬÜ\90 Ü\92Ü\95 Ü¥Ü\92Ü\95 Ü\9fܪ Ü¥Ü  Ü¡Ü\9aÜ\99Ü\9dܬÜ\90 Ü¦Ü\90ܬÜ\90 Ü\95ܡܦܠÜ\9aÜ¢Ü\90 Ü Ü¡Ü¦Ü Ü\9aÜ¢Ì\88Ü\90 Ü\90Ü\9aܪÌ\88Ü\9dܢܐ.
-ܠܬÜ\98ܪÌ\88Ü\93Ü¡Ü\90Ø\8c Ü¡Ü¦Ü Ü\9a Ü¬ÜªÜ¡Ü\9dܬÜ\90 ܬܘܪܓܡܐ ܕܡܝܕܝܐܘܝܩܝ [//translatewiki.net/wiki/Main_Page?setlang=ar translatewiki.net].",
+'editinginterface' => "'''ܙܘܗܪܐ:''' ܐܢܬ ܫܚܠܦܬ ܕܦܐ ܕܡܬܦܠܚ ܒܚܙܝܐ ܟܬܝܒܝܐ ܕܚܘܪܙܐ.
\9fÜ  Ü«Ü\98Ü\9aܠܦÜ\90 Ü\92Ü\97Ü¢Ü\90 Ü\95ܦÜ\90 Ü¢Ü\97Ü\98Ü\90 Ü Ü\97 Ü¡Ü¥Ü\92Ü\95Ü¢Ü\98ܬÜ\90 Ü¥Ü  Ü\90Ü£Ü\9fÜ¡Ü\90 Ü\95Ü\95ܦÜ\90 Ü\95ܡܦܠÜ\9aÜ¢Ü\90 Ü\95ܡܦܠÜ\9aÜ¢Ì\88Ü\90 Ü\90Ü\9aܪÌ\88ܢܐ.
+ܠܬÜ\98ܪÌ\88Ü\93Ü¡Ü\90Ø\8c Ü\90ܦܠÜ\9a Ü¬ÜªÜ¡Ü\9dܬÜ\90 Ü\95ܬܘܪܓܡܐ ܕܡܝܕܝܐܘܝܩܝ [//translatewiki.net/wiki/Main_Page?setlang=ar translatewiki.net].",
 'sqlhidden' => '(ܒܘܬܬܐ SQL ܛܫܝܐ)',
 'namespaceprotected' => "ܠܝܬ ܠܟ ܦܣܣܐ ܠܫܚܠܦܬܐ ܕܦܐܬܬ̈ܐ ܒܚܩܠܐ ܕ'''$1'''.",
 
@@ -369,7 +374,7 @@ $1',
 
 ܡܨܐ ܐܢܬ ܕܐܬܚܫܚ {{SITENAME}} ܐܝܟ ܡܦܠܚܢܐ ܠܐ ܝܕܝܥܐ ܐܘ ܡܨܐ ܐܢܬ ܕ[[Special:UserLogin|ܬܥܘܠ]] ܒܚܘܫܒܢܐ ܥܝܢܗ ܐܘ ܐܝܟ ܡܦܠܚܢܐ ܐܚܪܢܐ.
 
\9aÜ\95 Ü\9fÜ¡Ü\90 Ü¡Ü¢ Ü¦Ü\90ܬܬÌ\88Ü\90 Ü¡Ü¬Ü\9aÜ\99Ü\9dÜ¢ Ü\90Ü\9dÜ\9f Ü\95Ü\97Ü\98 Ü\90ܢܬ Ü¥Ü Ü\9dÜ Ü\90 Ü¥Ü\95Ü¡Ü\90 Ü\95Ü\90ܣܦܩܬ Ü Ü¦Ü\90ܬܬÌ\88ܐ ܠܒܝܟ̈ܐ ܕܡܦܐܬܢܐ ܕܝܠܟ",
\9aÜ\95 Ü\9fÜ¡Ü\90 Ü¡Ü¢ Ü\95Ì\88ܦÜ\90 Ü¡Ü¬Ü\9aÜ\99Ü\9dÜ¢ Ü\90Ü\9dÜ\9f Ü\95Ü\97Ü\98 Ü\90ܢܬ Ü¥Ü Ü\9dÜ Ü\90 Ü¥Ü\95Ü¡Ü\90 Ü\95Ü\90ܣܦܩܬ Ü Ü\95Ì\88ܦܐ ܠܒܝܟ̈ܐ ܕܡܦܐܬܢܐ ܕܝܠܟ",
 'welcomecreation' => '== ܒܫܝܢܐ, $1! ==
 ܐܬܒܪܝ ܚܘܫܒܢܟ.
 ܠܐ ܢܫܐ ܐܢܬ ܠܫܚܠܦܬܐ ܕ[[Special:Preferences|ܓܒܝܬ̈ܐ ܒ {{SITENAME}}]].',
@@ -466,11 +471,13 @@ $1',
 'note' => "'''ܡܥܝܪܢܘܬܐ:'''",
 'previewnote' => "'''ܕܟܪ ܕܗܢܘ ܚܝܪܐ ܩܕܡܝܐ ܒܠܚܘܕ'''.
 ܫܘܚܠܦ̈ܐ ܕܝܠܟ ܠܐ ܐܬܠܒܟܘ ܥܕܡܐ ܠܗܫܐ!",
+'continue-editing' => 'ܐܓܡܪ ܠܫܘܚܠܦܐ',
 'editing' => 'ܫܚܠܦܬܐ ܕ $1',
 'creating' => 'ܣܘܝܡܐ ܕ $1',
 'editingsection' => 'ܫܚܠܦܬܐ ܕ $1 (ܡܢܬܐ)',
 'editingcomment' => 'ܫܚܠܦܬܐ ܕ $1 (ܡܢܬܐ ܚܕܬܐ)',
 'yourtext' => 'ܟܬܒܬܐ ܕܝܠܟ',
+'storedversion' => 'ܬܢܝܬ̈ܐ ܐܣܝܢ̈ܐ',
 'editingold' => "'''ܙܘܗܪܐ: ܫܚܠܦ ܐܢܬ ܬܢܝܬܐ ܥܬܝܩܬܐ ܕܕܦܐ ܗܢܐ.'''
 ܐܢ ܠܒܟ ܐܢܬ ܕܦܐ ܗܢܐ, ܟܠ ܫܘ̈ܚܠܦܐ ܕܐܬܥܒܕܘ ܒܬܪ ܗܕܐ ܬܢܝܬܐ ܢܬܛܠܩܘܢ.",
 'yourdiff' => 'ܦܪ̈ܝܫܘܝܬܐ',
@@ -559,7 +566,7 @@ $1',
 'revertmerge' => 'ܒܛܘܠ ܚܒܛܐ',
 
 # Diffs
-'history-title' => 'ܬܫܥܝܬܐ ܕܬܢܝܬܐ ܕ "$1"',
+'history-title' => '"$1": ܬܫܥܝܬܐ ܕܬܢܝܬܐ',
 'lineno' => 'ܣܪܛܐ $1:',
 'compareselectedversions' => 'ܦܚܘܡ ܒܝܬ ܬܪܝܢ ܬܢܝܬ̈ܐ ܓܒܝܬ̈ܐ',
 'showhideselectedversions' => 'ܚܘܝ/ܛܫܝ ܬܢܝܬ̈ܐ ܓܒܝܬ̈ܐ',
@@ -778,7 +785,7 @@ $1',
 'nchanges' => '$1 {{PLURAL:$1|ܫܘܚܠܦܐ|ܫܘܚܠܦ̈ܐ}}',
 'recentchanges' => 'ܫܘܚܠܦ̈ܐ ܚܕ̈ܬܐ',
 'recentchanges-legend' => 'ܓܒܝܬ̈ܐ ܕܫܘܚܠܦ̈ܐ ܚܕ̈ܬܐ',
-'recentchangestext' => 'ܥܩܒ ܫܘܚܠܦ̈ܐ ܚܕܬ ܡܢ ܟܠ ܕܘܝܩܝ ܒܦܐܬܐ ܗܕܐ.',
+'recentchanges-summary' => 'ܥܩܒ ܫܘܚܠܦ̈ܐ ܚܕܬ ܡܢ ܟܠ ܕܘܝܩܝ ܒܦܐܬܐ ܗܕܐ.',
 'recentchanges-label-newpage' => 'ܫܘܚܠܦܐ ܗܢܐ ܐܬܬܣܝܡ ܕܦܐ ܚܕܬܐ',
 'recentchanges-label-minor' => 'ܗܢܘ ܫܘܚܠܦܐ ܙܥܘܪܐ',
 'recentchanges-label-bot' => 'ܒܘܬ (bot) ܥܒܕ ܗܢܐ ܫܘܚܠܦܐ',
index 1c2fda3..8e90cd9 100644 (file)
@@ -477,7 +477,7 @@ Rulpakünuy feychi kangelkülelu dungu.",
 'nchanges' => '{{PLURAL:$1|kalekünuy|kalekünuy}} $1',
 'recentchanges' => 'Weke kalekünun',
 'recentchanges-legend' => 'Weke kalekünun ñi dullin',
-'recentchangestext' => 'Inayafin doy weke kalekünun tüfa mew.',
+'recentchanges-summary' => 'Inayafin doy weke kalekünun tüfa mew.',
 'recentchanges-feed-description' => 'Inayafin doy weke kalekünun wiki ñi amuldungu mew',
 'recentchanges-label-newpage' => 'Tüfachi wirin dewmakey kiñe we wülngiñ.',
 'recentchanges-label-minor' => 'Tüfachi ta kiñe pichi wirin',
index 4327dc6..730ae0d 100644 (file)
@@ -1239,7 +1239,7 @@ Laḫed ana imken ikono l-indexaṫ dial {{SITENAME}} qdam o ma bqaoċ ṣalḫi
 'nchanges' => '{{PLURAL:$1|ṫeġyira weḫda|$1 dyal ṫ-ṫeġyiraṫ}}',
 'recentchanges' => 'Ṫ-Ṫeĝdilaṫ l-leĥĥra',
 'recentchanges-legend' => 'Opsyon dyal ṫ-ṫeġyiraṫ l-leĥĥra',
-'recentchangestext' => 'Ṫebbeĝ ṫ-ṫeĝdilaṫ l-leĥĥrin dyal had l-wiki fe waḫed l-flu.',
+'recentchanges-summary' => 'Ṫebbeĝ ṫ-ṫeĝdilaṫ l-leĥĥrin dyal had l-wiki fe waḫed l-flu.',
 'recentchanges-feed-description' => 'Ṫebbeĝ ṫ-ṫeĝdilaṫ l-leĥĥrin dyal had l-wiki fe waḫed l-flu.',
 'recentchanges-label-newpage' => "anch' had tadil sfha jdida",
 'recentchanges-label-minor' => 'Hada ṫeĝdil sġir',
index b145a56..4c9e237 100644 (file)
@@ -191,7 +191,7 @@ $magicWords = array(
        'padleft'                 => array( '0', 'باد_يسار', 'PADLEFT' ),
        'padright'                => array( '0', 'باد_يمين', 'PADRIGHT' ),
        'special'                 => array( '0', 'خاص', 'special' ),
-       'defaultsort'             => array( '1', 'ترتيب_قياسى:', 'ترتيب_افتراضى:', 'مفتاح_ترتيب_قياسى:', 'مفتاح_ترتيب_افتراضى:', 'ترتيب_تصنيف_قياسى:', 'ترتيب_تصنيف_افتراضى:', 'ترتيب_قياسي:', 'ترتيب_افتراضي:', 'مفتاح_ترتيب_قياسي:', 'مفتاح_ترتيب_افتراضي:', 'ترتيب_تصنيف_قياسي:', 'ترتيب_تصنيف_افتراضي:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ),
+       'defaultsort'             => array( '1', 'ترتيب_قياسى:', 'ترتيب_افتراضى:', 'مفتاح_ترتيب_قياسى:', 'مفتاح_ترتيب_افتراضى:', 'ترتيب_تصنيف_قياسى:', 'ترتيب_تصنيف_افتراضى:', 'ترتيب_قياسي:', 'ترتيب_افتراضي:', 'مفتاح_ترتيب_قياسي:', 'مفتاح_ترتيب_افتراضي:', 'ترتيب_تصنيف_قياسي:', 'ترتيب_تصنيف_افتراضي:', 'ترتيب_غيابي:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ),
        'filepath'                => array( '0', 'مسار_الملف:', 'FILEPATH:' ),
        'tag'                     => array( '0', 'وسم', 'tag' ),
        'hiddencat'               => array( '1', '__تصنيف_مخفي__', '__HIDDENCAT__' ),
@@ -1515,7 +1515,7 @@ $1",
 'nchanges' => '{{PLURAL:$1|تعديل|تعديلين|$1 تعديلات|$1 تعديل|$1 تعديل}}',
 'recentchanges' => 'اخر التعديلات',
 'recentchanges-legend' => 'اختيارات اخر التعديلات',
-'recentchangestext' => 'تابع آخر التغييرات فى الويكى على الصفحة دى.',
+'recentchanges-summary' => 'تابع آخر التغييرات فى الويكى على الصفحة دى.',
 'recentchanges-feed-description' => 'تابع اخر التعديلات للويكى ده عن طريق الفييد ده .',
 'recentchanges-label-newpage' => 'التعديل ده عمل صفحه جديده',
 'recentchanges-label-minor' => 'ده تعديل صغير',
index 82856b7..40a1649 100644 (file)
@@ -394,9 +394,9 @@ $1',
 'feed-invalid' => 'অবৈধ গ্ৰাহক ফিড প্ৰকাৰ',
 'feed-unavailable' => 'চিণ্ডিকেশ্যন ফিড মজুত নাই',
 'site-rss-feed' => '$1 আৰ-এচ-এচ ফীড',
-'site-atom-feed' => '$1 à¦\8fà¦\9fম à¦«à¦¿ড',
+'site-atom-feed' => '$1 à¦\8fà¦\9fম à¦«à§\80ড',
 'page-rss-feed' => '"$1" আৰ-এচ-এচ ফীড',
-'page-atom-feed' => '"$1" à¦\8fà¦\9fম à¦«à¦¿ড',
+'page-atom-feed' => '"$1" à¦\8fà¦\9fম à¦«à§\80ড',
 'red-link-title' => '$1 (পৃষ্ঠাটো নাই)',
 'sort-descending' => 'ক্ৰমহ্ৰস্বমান ভাৱে ক্ৰমবদ্ধ কৰক',
 'sort-ascending' => 'ক্ৰমবৰ্দ্ধমান ভাৱে ক্ৰমবদ্ধ কৰক',
@@ -519,7 +519,7 @@ $2',
 'externaldberror' => 'কোনো প্ৰামাণ্যকৰণ তথ্যকোষৰ ত্ৰুটি ঘটিছে নতুবা আপোনাৰ বৰ্হি-একাউণ্ট নৱীকৰণ কৰাৰ অনুমতি নাই ।',
 'login' => 'প্ৰৱেশ',
 'nav-login-createaccount' => 'প্ৰৱেশ/সদস্যভুক্তি',
-'loginprompt' => '{{SITENAME}}ত à¦ªà§\8dৰৱà§\87শ à¦\95ৰিবলà§\88 à¦\86পà§\81নি à¦\95à§\81à¦\95à§\80 à¦¸à¦\95à§\8dৰà§\80য় à¦\95ৰিব à¦²à¦¾à¦\97িব',
+'loginprompt' => '{{SITENAME}}ত à¦ªà§\8dৰৱà§\87শ à¦\95ৰিবলà§\88 à¦\86পà§\81নি à¦\95à§\81à¦\95িà¦\9cà§\8d à¦¸à¦\95à§\8dৰিয় à¦¥à¦¾à¦\95িব à¦²à¦¾à¦\97িব।',
 'userlogin' => 'প্ৰৱেশ/সদস্যভুক্তি',
 'userloginnocreate' => 'প্ৰৱেশ',
 'logout' => 'প্ৰস্থান',
@@ -611,7 +611,7 @@ $2',
 # Change password dialog
 'resetpass' => 'গুপ্তশব্দ সলনি কৰক',
 'resetpass_announce' => 'আপুনি ই-মেইলত পোৱা অস্থায়ী গুপ্তশব্দৰে প্ৰৱেশ কৰিছে।
-পà§\8dৰৱà§\87শ à¦¸à¦®à§\8dপà§\81ৰ্ণ কৰিবলৈ, আপুনি এটা নতুন গুপ্তশব্দ দিব লাগিব:',
+পà§\8dৰৱà§\87শ à¦¸à¦®à§\8dপà§\82ৰ্ণ কৰিবলৈ, আপুনি এটা নতুন গুপ্তশব্দ দিব লাগিব:',
 'resetpass_header' => 'গুপ্তশব্দ সলনি কৰক',
 'oldpassword' => 'পুৰণি গুপ্তশব্দ:',
 'newpassword' => 'নতুন গুপ্তশব্দ:',
@@ -1067,7 +1067,7 @@ $1",
 'mergelogpagetext' => 'এখন পৃষ্ঠাৰ ইতিহাস আন এখনৰ লগত কৰা একত্ৰীকৰণৰ সকলোতকৈ শেহতীয়া তালিকা তলত দিয়া হ’ল ।',
 
 # Diffs
-'history-title' => '"$1" à§° à¦¸à¦¾à¦²-সলনিৰ ইতিহাস',
+'history-title' => '"$1" à§° à¦¸à¦\82শà§\8bধনৰ ইতিহাস',
 'difference-multipage' => '(পৃষ্ঠাসমূহৰ মাজত তফাৎ)',
 'lineno' => '$1 নং শাৰীঃ',
 'compareselectedversions' => 'নিৰ্বাচিত কৰা সংকলন সমূহৰ মাজত পাৰ্থক্য চাওক',
@@ -1427,7 +1427,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|সাল-সলনি|সাল-সলনি}}',
 'recentchanges' => 'শেহতীয়া সাল-সলনি',
 'recentchanges-legend' => 'সাম্প্ৰতিক সালসলনিৰ পছন্দসমূহ',
-'recentchangestext' => 'ৱিকিত হোৱা শেহতীয়া সাল-সলনি এই পৃষ্ঠাত অনুসৰণ কৰক।',
+'recentchanges-summary' => 'ৱিকিত হোৱা শেহতীয়া সাল-সলনি এই পৃষ্ঠাত অনুসৰণ কৰক।',
 'recentchanges-feed-description' => 'ৱিকিত হোৱা শেহতীয়া সাল-সলনি এই ফীডত অনুসৰণ কৰক।',
 'recentchanges-label-newpage' => 'এই সম্পাদনাই এখন নতুন পৃষ্ঠা তৈয়াৰ কৰিছে',
 'recentchanges-label-minor' => 'এইটো অগুৰুত্বপূৰ্ণ সম্পাদনা',
@@ -1630,7 +1630,7 @@ URL টোৰ বৈধতা বিচাৰ কৰি পুনৰ চেষ
 'backend-fail-writetemp' => "অস্থায়ী ফাইলত লিখিব পৰা নগ'ল।",
 'backend-fail-closetemp' => "অস্থায়ী ফাইল বন্ধ কৰিব পৰা নগ'ল।",
 'backend-fail-read' => "$1 ফাইলটো পঢ়িব পৰা নগ'ল",
-'backend-fail-create' => "$1 ফাইলটো সৃষ্টি কৰিব পৰা নগ'ল",
+'backend-fail-create' => "$1 ফাইলটো সৃষ্টি কৰিব পৰা নগ'ল",
 'backend-fail-maxsize' => "$1 ফাইলটো সৃষ্টি কৰিব পৰা নগ'ল কিয়নো ইয়াৰ আকাৰ {{PLURAL:$2|$2 বাইটতকৈ|$2 বাইটতকৈ}} বেছি।",
 'backend-fail-readonly' => 'ষ্ট\'ৰেজ বেক্‌এণ্ড "$1"ক কেৱল পঢ়িব পৰা যায়। ইয়াৰ কাৰণ হ\'ল: "$2"',
 'backend-fail-synced' => '"$1" ফাইলটো আভ্যন্তৰীণ ষ্ট\'ৰেজ বেক্‌এণ্ডৰ লগত অসঙ্গত অৱস্থাত আছে',
index 998632a..c8940ce 100644 (file)
@@ -1044,9 +1044,9 @@ Asegúrate de qu'esti cambéu caltenga la continuidá del históricu de la páxi
 'mergelogpagetext' => "Abaxo amuésase una llista de les fusiones más recientes d'un historial de páxina con otru.",
 
 # Diffs
-'history-title' => 'Historial de revisiones de "$1"',
-'difference-title' => 'Diferencia ente revisiones de «$1»',
-'difference-title-multipage' => 'Diferencia ente les páxines «$1» y «$2»',
+'history-title' => 'Historial de revisiones de «$1»',
+'difference-title' => 'Diferencies ente revisiones de «$1»',
+'difference-title-multipage' => 'Diferencies ente les páxines «$1» y «$2»',
 'difference-multipage' => '(Diferencia ente páxines)',
 'lineno' => 'Llinia $1:',
 'compareselectedversions' => 'Comparar les revisiones seleicionaes',
@@ -1141,6 +1141,7 @@ Asegúrate de qu'esti cambéu caltenga la continuidá del históricu de la páxi
 'prefs-beta' => 'Carauterístiques beta',
 'prefs-datetime' => 'Fecha y hora',
 'prefs-labs' => 'Carauterístiques esperimentales',
+'prefs-user-pages' => "Páxines d'usuariu",
 'prefs-personal' => 'Perfil del usuariu',
 'prefs-rc' => 'Cambios recientes',
 'prefs-watchlist' => 'Llista de vixilancia',
@@ -1403,7 +1404,7 @@ Esta información sedrá pública.",
 'nchanges' => '{{PLURAL:$1|un cambiu|$1 cambios}}',
 'recentchanges' => 'Cambios recientes',
 'recentchanges-legend' => 'Opciones de cambios recientes',
-'recentchangestext' => 'Sigui los últimos cambios de la wiki nesta páxina.',
+'recentchanges-summary' => 'Sigui los cambios más recientes na wiki nesta páxina.',
 'recentchanges-feed-description' => 'Sigui nesta canal los últimos cambios de la wiki.',
 'recentchanges-label-newpage' => 'Esta edición creó una páxina nueva',
 'recentchanges-label-minor' => 'Esta ye una edición menor',
@@ -1618,14 +1619,15 @@ Si'l problema persiste, contauta con un [[Special:ListUsers/sysop|alministrador]
 'backend-fail-writetemp' => 'Nun se pudo escribir nel ficheru temporal.',
 'backend-fail-closetemp' => 'Nun se pudo zarrar el ficheru temporal.',
 'backend-fail-read' => 'Nun se pudo lleer el ficheru $1.',
-'backend-fail-create' => 'Nun se pudo crear el ficheru $1.',
-'backend-fail-maxsize' => 'Nun se pudo crear el ficheru  $1  porque ye mayor de {{PLURAL:$2|$2 byte|$2 bytes}}.',
+'backend-fail-create' => 'Nun se pudo escribir el ficheru $1.',
+'backend-fail-maxsize' => 'Nun se pudo escribir el ficheru  $1  porque ye mayor de {{PLURAL:$2|un byte|$2 bytes}}.',
 'backend-fail-readonly' => 'Nesti momentu el motor d\'almacenamientu "$1" ta en mou de sólo llectura. El motivu dau foi: "$2"',
 'backend-fail-synced' => 'El ficheru "$1" ta nún estáu inconsistente colos motores d\'almacenamientu internos',
 'backend-fail-connect' => 'Nun se pudo coneutar col motor d\'almacenamientu "$1".',
 'backend-fail-internal' => 'Hebo un fallu desconocíu nel motor d\'almacenamientu "$1".',
 'backend-fail-contenttype' => 'Non se pudo determinar la triba de conteníu de ficheru a guardar en "$1".',
 'backend-fail-batchsize' => "El motor d'almacenamientu dio un llote de $1 {{PLURAL:$1|operación|operaciones}} en ficheros; el llímite ye de $2 {{PLURAL:$2|operación|operaciones}}.",
+'backend-fail-usable' => 'Nun se pudo escribir el ficheru $1 porque nun hai permisos bastantes o falten los direutorios/contenedores.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Nun se pudo coneutar cola base de datos del diariu pal sofitu d\'almacenamientu "$1".',
@@ -1688,7 +1690,6 @@ Pa una meyor seguridá, img_auth.php ta desactiváu.",
 'http-curl-error' => 'Error al baxar la URL: $1',
 'http-host-unreachable' => 'Nun se pudo acceder a la URL.',
 'http-bad-status' => 'Hebo un problema demientres la llamada HTTP: $1 $2',
-'http-truncated-body' => 'El cuerpu solicitáu recibióse namái parcialmente.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Nun se pudo acceder a la URL',
index 6086ae9..0cc9e11 100644 (file)
@@ -1066,7 +1066,7 @@ Rinafe e-mail mane me zo razdar viele ar webesik uzerar.',
 'nchanges' => '$1 {{PLURAL:$1|betaks|betaks}}',
 'recentchanges' => 'Noeltaf betakseem',
 'recentchanges-legend' => 'Ikatcuks ke noeltaf betaks',
-'recentchangestext' => 'Moo batu bu va ironokaf betakseem ke {{SITENAME}} suzdal.',
+'recentchanges-summary' => 'Moo batu bu va ironokaf betakseem ke {{SITENAME}} suzdal.',
 'recentchanges-feed-description' => 'Sledara va tel lonoeltaf betakseem va wiki koo bat rust.',
 'recentchanges-label-newpage' => 'Bata betara va warzafu bu reduyur',
 'recentchanges-label-minor' => 'Betamaks',
index f80fd55..18c6564 100644 (file)
@@ -1211,7 +1211,7 @@ Həmçinin kimliyinizi gostərmədən belə, başqalarının sizinlə istifadə
 'nchanges' => '$1 {{PLURAL:$1|dəyişiklik|dəyişiklik}}',
 'recentchanges' => 'Son dəyişikliklər',
 'recentchanges-legend' => 'Son dəyişiklik seçimləri',
-'recentchangestext' => "'''Ən son dəyişiklikləri bu səhifədən izləyin:'''",
+'recentchanges-summary' => "'''Ən son dəyişiklikləri bu səhifədən izləyin:'''",
 'recentchanges-feed-description' => 'Vikidəki ən son dəyişiklikləri bu yayım kanalından izləyin.',
 'recentchanges-label-newpage' => 'Bu dəyişiklik yeni səhifə yaratdı',
 'recentchanges-label-minor' => 'Bu kiçik redaktədir',
index 33fb6c7..0e235c3 100644 (file)
@@ -17,6 +17,7 @@
  * @author Timming
  * @author Рустам Нурыев
  * @author ҒатаУлла
+ * @author Ҡамыр Батыр
  */
 
 $fallback = 'ru';
@@ -24,20 +25,36 @@ $fallback = 'ru';
 $namespaceNames = array(
        NS_MEDIA            => 'Медиа',
        NS_SPECIAL          => 'Ярҙамсы',
-       NS_TALK             => 'Фекер_алышыу',
+       NS_TALK             => 'Фекерләшеү',
        NS_USER             => 'Ҡатнашыусы',
-       NS_USER_TALK        => 'Ҡатнашыусы_м-н_фекер_алышыу',
-       NS_PROJECT_TALK     => '$1_б-са_фекер_алышыу',
+       NS_USER_TALK        => 'Ҡатнашыусы_менән_һөйләшеү',
+       NS_PROJECT_TALK     => '$1_буйынса_фекерләшеү',
        NS_FILE             => 'Рәсем',
-       NS_FILE_TALK        => 'Рәсем_б-са_фекер_алышыу',
+       NS_FILE_TALK        => 'Рәсем_буйынса_фекерләшеү',
        NS_MEDIAWIKI        => 'MediaWiki',
-       NS_MEDIAWIKI_TALK   => 'MediaWiki_б-са_фекер_алышыу',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_буйынса_фекерләшеү',
        NS_TEMPLATE         => 'Ҡалып',
-       NS_TEMPLATE_TALK    => 'Ҡалып_б-са_фекер_алышыу',
+       NS_TEMPLATE_TALK    => 'Ҡалып_буйынса_фекерләшеү',
        NS_HELP             => 'Белешмә',
-       NS_HELP_TALK        => 'Белешмә_б-са_фекер_алышыу',
-       NS_CATEGORY         => 'Категория',
-       NS_CATEGORY_TALK    => 'Категория_б-са_фекер_алышыу',
+       NS_HELP_TALK        => 'Белешмә_буйынса_фекерләшеү',
+       NS_CATEGORY         => 'Төркөм',
+       NS_CATEGORY_TALK    => 'Төркөм_буйынса_фекерләшеү',
+);
+
+$namespaceAliases = array(
+       'Фекер_алышыу' => NS_TALK,
+       'Ҡатнашыусы_м-н_фекер_алышыу' => NS_USER_TALK,
+       '$1_б-са_фекер_алышыу' => NS_PROJECT_TALK,
+       'Рәсем_б-са_фекер_алышыу' => NS_FILE_TALK,
+       'MediaWiki_б-са_фекер_алышыу' => NS_MEDIAWIKI_TALK,
+       'Ҡалып_б-са_фекер_алышыу' => NS_TEMPLATE_TALK,
+       'Белешмә_б-са_фекер_алышыу' => NS_HELP_TALK,
+       'Категория' => NS_CATEGORY,
+       'Категория_б-са_фекер_алышыу' => NS_CATEGORY_TALK,
+);
+
+$specialPageAliases = array(
+       'Activeusers'               => array( 'ӘүҙемҠатнашыусылар', 'АктивҠатнашыусылар' ),
 );
 
 // Remove Russian aliases
@@ -1344,7 +1361,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|үҙгәртеү|үҙгәртеү}}',
 'recentchanges' => 'Һуңғы үҙгәртеүҙәр',
 'recentchanges-legend' => 'Һуңғы үҙгәртеүҙәр көйләүҙәре',
-'recentchangestext' => '{{grammar:genitive|{{SITENAME}}}}. биттәрендә индерелгән һуңғы үҙгәртеүҙәр исемлеге',
+'recentchanges-summary' => '{{grammar:genitive|{{SITENAME}}}}. биттәрендә индерелгән һуңғы үҙгәртеүҙәр исемлеге',
 'recentchanges-feed-description' => 'Был таҫмалағы һуңғы үҙгәртеүҙәрҙе күҙәтеп барырға',
 'recentchanges-label-newpage' => 'Был үҙгәртеү яңы бит яһаны',
 'recentchanges-label-minor' => 'Был әҙ үҙгәреш',
@@ -1541,7 +1558,7 @@ $1',
 'backend-fail-writetemp' => 'Ваҡытлы файлға яҙып булмай.',
 'backend-fail-closetemp' => 'Ваҡытлы файлды ябып булмай.',
 'backend-fail-read' => '«$1» файлын уҡып булмай.',
-'backend-fail-create' => '«$1» Ñ\84айлÑ\8bн Ñ\8fһап булмай.',
+'backend-fail-create' => '«$1» Ñ\84айлÑ\8bн Ñ\8fÒ\99Ñ\8bп булмай.',
 'backend-fail-readonly' => '$1 һаҡлағысы әлегә уҡыу өсөн генә асыҡ. Сәбәбе: $2',
 'backend-fail-synced' => '$1 файлы эске һаҡлағыста ярашһыҙ хәлдә тора.',
 'backend-fail-connect' => '"$1" һаҡлағысы менән бәйләнеш яһап булманы.',
index 686251c..16c81f5 100644 (file)
@@ -771,7 +771,7 @@ Details stehen im [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}}
 'nchanges' => '$1 {{PLURAL:$1|Änderrung|Änderrungen}}',
 'recentchanges' => 'Létzde Änderrungen',
 'recentchanges-legend' => 'Åzoagopziónen',
-'recentchangestext' => "Auf derer Seiten kåst d' létzden Änderrungen auf '''{{SITENAME}}''' nochévavóing.",
+'recentchanges-summary' => "Auf derer Seiten kåst d' létzden Änderrungen auf '''{{SITENAME}}''' nochévavóing.",
 'recentchanges-feed-description' => 'Vafóig mid dém Feed dé létzden Änderrungen in {{SITENAME}}.',
 'recentchanges-label-newpage' => 'Neiche Seiten',
 'recentchanges-label-minor' => 'Kloane Änderrungen',
index bbf9b2b..a2cac90 100644 (file)
@@ -1263,7 +1263,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|تغییر|تغییرات}}',
 'recentchanges' => 'نوکین تغییرات',
 'recentchanges-legend' => 'گزینه ی نوکین تغییرات',
-'recentchangestext' => 'رندگر نوکترین تغییرات ته ویکی تی ای صفحه.',
+'recentchanges-summary' => 'رندگر نوکترین تغییرات ته ویکی تی ای صفحه.',
 'recentchanges-feed-description' => 'آهرین تغییرات ته وی کی چه ای فید رند گر',
 'rcnote' => "جهلء{{PLURAL:$1|هست '''1''' تغییری|هستن آهری '''$1''' تغییرات}} ته آهرین {{PLURAL:$2|روچ|'''$2''' روچان}}, چه$5, $4.",
 'rcnotefrom' => "جهلا تغییرات چه '''$2''' (تا  '''$1''' پیش دارگنت). هست",
index 3d39e98..e2b8e2c 100644 (file)
@@ -873,7 +873,7 @@ An ibang mga administrador sa ining wiki pwede pang maghiling kan mga nakatagong
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|pagbabâgo|mga pagbabâgo}}',
 'recentchanges' => 'Mga nakakaági pa sanáng pagbabàgo',
-'recentchangestext' => 'Hanápon an mga pinahúring pagbabàgo sa wiki digdí sa pahinang iní.',
+'recentchanges-summary' => 'Hanapon an mga pinahuring pagbabâgo sa wiki digdi sa páhinang ini.',
 'recentchanges-feed-description' => 'Hanápon an mga pinakahuring pagbabàgo sa wiki sa hungit na ini.',
 'rcnote' => "Mahihiling sa babâ an {{PLURAL:$1| '''1''' pagbabàgo|'''$1''' pagbabàgo}} sa huring {{PLURAL:$2|na aldaw|'''$2''' na aldaw}}, sa $3.",
 'rcnotefrom' => "Mahihiling sa babâ an mga pagbabàgo poon kan '''$2''' (hasta '''$1''' ipinapahiling).",
index ecfff6f..bf0d2ec 100644 (file)
@@ -49,7 +49,7 @@ $namespaceNames = array(
        NS_TALK             => 'Размовы',
        NS_USER             => 'Удзельнік',
        NS_USER_TALK        => 'Размовы_з_удзельнікам',
-       NS_PROJECT_TALK     => '$1_размовы',
+       NS_PROJECT_TALK     => 'Размовы_пра_{{GRAMMAR:вінавальны|$1}}',
        NS_FILE             => 'Выява',
        NS_FILE_TALK        => 'Размовы_пра_выяву',
        NS_MEDIAWIKI        => 'MediaWiki',
@@ -62,6 +62,10 @@ $namespaceNames = array(
        NS_CATEGORY_TALK    => 'Размовы_пра_катэгорыю',
 );
 
+$namespaceAliases = array(
+       '$1_размовы' => NS_PROJECT_TALK,
+);
+
 $magicWords = array(
        'img_thumbnail'           => array( '1', 'міні', 'мініяцюра', 'thumbnail', 'thumb' ),
        'img_manualthumb'         => array( '1', 'міні=$1', 'мініяцюра=$1', 'thumbnail=$1', 'thumb=$1' ),
@@ -1353,7 +1357,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|мена|менаў}}',
 'recentchanges' => 'Нядаўнія змяненні',
 'recentchanges-legend' => 'Магчымасці паказу',
-'recentchangestext' => 'Гэта апошнія мены на пляцоўцы {{SITENAME}}.',
+'recentchanges-summary' => 'Гэта апошнія мены на пляцоўцы {{SITENAME}}.',
 'recentchanges-feed-description' => 'Сачыць за найбольш актуальнымі змяненнямі ў віксе праз гэты струмень навін.',
 'recentchanges-label-newpage' => 'Гэтай праўкай была створана новая старонка',
 'recentchanges-label-minor' => 'Гэта дробная па значэнні праўка',
index 7b4661d..149aec0 100644 (file)
@@ -162,7 +162,7 @@ $namespaceNames = array(
        NS_TALK             => 'Абмеркаваньне',
        NS_USER             => 'Удзельнік',
        NS_USER_TALK        => 'Гутаркі_ўдзельніка',
-       NS_PROJECT_TALK     => 'Абмеркаваньне_$1',
+       NS_PROJECT_TALK     => 'Абмеркаваньне_{{GRAMMAR:родны|$1}}',
        NS_FILE             => 'Файл',
        NS_FILE_TALK        => 'Абмеркаваньне_файла',
        NS_MEDIAWIKI        => 'MediaWiki',
@@ -178,6 +178,7 @@ $namespaceNames = array(
 $namespaceAliases = array(
        'Удзельніца' => NS_USER,
        'Гутаркі ўдзельніцы' => NS_USER_TALK,
+       'Абмеркаваньне_$1' => NS_PROJECT_TALK,
        'Выява' => NS_FILE,
        'Абмеркаваньне выявы' => NS_FILE_TALK,
 );
@@ -1205,9 +1206,9 @@ $1",
 'mergelogpagetext' => "Ніжэй знаходзіцца сьпіс апошніх аб'яднаньняў гісторыяў старонак.",
 
 # Diffs
-'history-title' => 'Гісторыя зьменаў старонкі «$1»',
-'difference-title' => 'Розьніца паміж вэрсіямі «$1»',
-'difference-title-multipage' => 'Розьніца паміж старонкамі «$1» і «$2»',
+'history-title' => '$1 — гісторыя зьменаў',
+'difference-title' => '$1: розьніца паміж вэрсіямі',
+'difference-title-multipage' => '«$1» і «$2» — розьніца паміж старонкамі',
 'difference-multipage' => '(Розьніца паміж старонкамі)',
 'lineno' => 'Радок $1:',
 'compareselectedversions' => 'Параўнаць выбраныя вэрсіі',
@@ -1303,6 +1304,7 @@ $1",
 'prefs-beta' => 'Тэставыя магчымасьці',
 'prefs-datetime' => 'Дата і час',
 'prefs-labs' => 'Экспэрымэнтальныя магчымасьці',
+'prefs-user-pages' => 'Старонкі ўдзельніка',
 'prefs-personal' => 'Асабістыя зьвесткі',
 'prefs-rc' => 'Апошнія зьмены',
 'prefs-watchlist' => 'Сьпіс назіраньня',
@@ -1565,7 +1567,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|зьмена|зьмены|зьменаў}}',
 'recentchanges' => 'Апошнія зьмены',
 'recentchanges-legend' => 'Налады апошніх зьменаў',
-'recentchangestext' => 'Сачыце за апошнімі зьменамі ў {{GRAMMAR:месны|{{SITENAME}}}} на гэтай старонцы.',
+'recentchanges-summary' => 'Сачыце за апошнімі зьменамі ў {{GRAMMAR:месны|{{SITENAME}}}} на гэтай старонцы.',
 'recentchanges-feed-description' => 'Сачыце за апошнімі зьменамі ў {{GRAMMAR:месны|{{SITENAME}}}} праз гэтую стужку.',
 'recentchanges-label-newpage' => 'Гэтым рэдагаваньнем была створаная новая старонка',
 'recentchanges-label-minor' => 'Гэтае рэдагаваньне — дробнае',
@@ -1759,14 +1761,15 @@ $1',
 'backend-fail-writetemp' => 'Немагчыма запісаць часовы файл.',
 'backend-fail-closetemp' => 'Немагчыма закрыць часовы файл.',
 'backend-fail-read' => 'Немагчыма прачытаць файл $1.',
-'backend-fail-create' => 'Немагчыма стварыць файл $1.',
-'backend-fail-maxsize' => 'Не атрымалася стварыць файл $1, бо яго памер перавышае {{PLURAL:$2|$2 байт|$2 байта|$2 байтаў}}',
+'backend-fail-create' => 'Немагчыма запісаць файл $1.',
+'backend-fail-maxsize' => 'Не атрымалася запісаць файл $1, бо яго памер перавышае {{PLURAL:$2|$2 байт|$2 байта|$2 байтаў}}.',
 'backend-fail-readonly' => 'Сэрвэр сховішча «$1» у рэжыме толькі чытаньня. Прычына: «$2»',
 'backend-fail-synced' => 'Стан файла «$1» адрозьніваецца ад стану на ўнутраным сэрвэры сховішча',
 'backend-fail-connect' => 'Немагчыма далучыцца да сэрвэра сховішча «$1».',
 'backend-fail-internal' => 'Узьнікла невядомая памылка на сэрвэры сховішча «$1».',
 'backend-fail-contenttype' => 'Немагчыма вызначыць тып зьместу файла, які мусіць быць захаваны ў «$1».',
 'backend-fail-batchsize' => 'Cховішча атрымала блёк з $1 {{PLURAL:$1|файлавай апэрацыі|файлавых апэрацыяў|файлавых апэрацыяў}}; абмежаваньне складае $2 {{PLURAL:$2|апэрацыю|апэрацыі|апэрацыяў}}.',
+'backend-fail-usable' => 'Не атрымалася запісаць файл $1 з-за недастачы правоў ці адсутнасьці дырэкторыяў або кантэйнэраў.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Не атрымалася злучыцца з базай зьвестак журнала для сховішча «$1».',
@@ -1829,7 +1832,6 @@ $1',
 'http-curl-error' => 'Памылка выбаркі URL-адрасу: $1',
 'http-host-unreachable' => 'Немагчыма дасягнуць URL-адрас',
 'http-bad-status' => 'Адбылася памылка пад час выкананьня HTTP-запыту: $1 $2',
-'http-truncated-body' => 'Цела запыту было атрымана часткова.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Немагчыма дасягнуць URL-адрас',
index 0e45667..2737319 100644 (file)
@@ -1175,6 +1175,7 @@ $1",
 
 # Diffs
 'history-title' => 'Преглед на историята на „$1“',
+'difference-title' => 'Разлика между версии на „$1“',
 'difference-multipage' => '(Разлики между страниците)',
 'lineno' => 'Ред $1:',
 'compareselectedversions' => 'Сравнение на избраните версии',
@@ -1529,7 +1530,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|промяна|промени}}',
 'recentchanges' => 'Последни промени',
 'recentchanges-legend' => 'Опции на списъка с последни промени',
-'recentchangestext' => "Проследяване на последните промени в {{SITENAME}}.
+'recentchanges-summary' => "Проследяване на последните промени в {{SITENAME}}.
 
 Легенда: '''тек''' = разлика на текущата версия,
 '''ист''' = история на версиите",
index 703078b..27e6ddf 100644 (file)
@@ -11,6 +11,7 @@
  * @author Ezagren
  * @author J Subhi
  * @author Kaganer
+ * @author Riemogerz
  */
 
 $fallback = 'id';
@@ -52,6 +53,50 @@ $namespaceAliases = array(
        'Pembicaraan_Kategori'  => NS_CATEGORY_TALK,
 );
 
+$specialPageAliases = array(
+       'Activeusers'               => array( 'Pamakai_aktip' ),
+       'Allmessages'               => array( 'Pasan_sistim' ),
+       'Allpages'                  => array( 'Daptar_tungkaran' ),
+       'Ancientpages'              => array( 'Tungkaran_lawas' ),
+       'Badtitle'                  => array( 'Judul_nang_buruk' ),
+       'Blankpage'                 => array( 'Tungkaran_kusung' ),
+       'Booksources'               => array( 'Sumbar_buku' ),
+       'Categories'                => array( 'Daptar_tumbung' ),
+       'ChangeEmail'               => array( 'Ganti_suril' ),
+       'ComparePages'              => array( 'Bandingakan_tungkaran' ),
+       'Confirmemail'              => array( 'Kunpirmasi_suril' ),
+       'Contributions'             => array( 'Kuntribusi_pamakai' ),
+       'CreateAccount'             => array( 'Ulah_akun' ),
+       'Deadendpages'              => array( 'Tungkaran_buntu' ),
+       'DeletedContributions'      => array( 'Kuntribusi_nang_dihapus' ),
+       'EditWatchlist'             => array( 'Babak_daptan_pantauan' ),
+       'Fewestrevisions'           => array( 'Parubahan_tasadikit' ),
+       'Filepath'                  => array( 'Lukasi_barakas' ),
+       'Listadmins'                => array( 'Daptar_pambakal' ),
+       'Listbots'                  => array( 'Daptar_bot' ),
+       'Listfiles'                 => array( 'Daptar_barakas' ),
+       'Listgrouprights'           => array( 'Daptar_hak_kalumpuk' ),
+       'Listredirects'             => array( 'Daptar_paalihan' ),
+       'Listusers'                 => array( 'Daptar_pamakai' ),
+       'Log'                       => array( 'Catatan' ),
+       'Longpages'                 => array( 'Tungkaran_panjang' ),
+       'Mostcategories'            => array( 'Tumbung_tabanyak' ),
+       'Mostlinked'                => array( 'Tungkaran_paling_dipakai' ),
+       'Mostlinkedcategories'      => array( 'Tumbung_paling_dipakai' ),
+       'Mostlinkedtemplates'       => array( 'Citakan_paling_dipakai' ),
+       'Mostrevisions'             => array( 'Paubahan_tabanyak' ),
+       'Movepage'                  => array( 'Pindahakan_tungkaran' ),
+       'Mycontributions'           => array( 'Kuntribusi_ulun' ),
+       'Mypage'                    => array( 'Tungkaran_ulun' ),
+       'Mytalk'                    => array( 'Pamandiran_ulun' ),
+       'Newimages'                 => array( 'Barakas_hanyar' ),
+       'Newpages'                  => array( 'Tungkaran_hanyar' ),
+       'Protectedpages'            => array( 'Tungkaran_nang_dilindungi' ),
+       'Protectedtitles'           => array( 'Judul_nang_dilindungi' ),
+       'Randompage'                => array( 'Tungkaran_babarang' ),
+       'Recentchanges'             => array( 'Paubahan_tahanyar' ),
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Garisi di bawah tautan',
@@ -99,7 +144,7 @@ $messages = array(
 'tog-showhiddencats' => 'Tampaiakan tutumbung tasungkup',
 'tog-norollbackdiff' => 'Kada usah manampaiakan lainan imbah mambulikakan',
 
-'underline-always' => 'Salalu',
+'underline-always' => 'Tarus',
 'underline-never' => 'Kada suah',
 'underline-default' => 'Default Panjalajahan web',
 
@@ -111,18 +156,18 @@ $messages = array(
 'editfont-serif' => 'Tulisan Serif',
 
 # Dates
-'sunday' => 'Ahat',
+'sunday' => 'Ahad',
 'monday' => 'Sanayan',
 'tuesday' => 'Salasa',
 'wednesday' => 'Arba',
-'thursday' => 'Kemés',
+'thursday' => 'Kamis',
 'friday' => 'Jumahat',
 'saturday' => 'Saptu',
 'sun' => 'Aha',
 'mon' => 'San',
 'tue' => 'Sal',
 'wed' => 'Arb',
-'thu' => 'Kem',
+'thu' => 'Kam',
 'fri' => 'Jum',
 'sat' => 'Sap',
 'january' => 'Januari',
@@ -139,7 +184,7 @@ $messages = array(
 'december' => 'Disimbir',
 'january-gen' => 'Januari',
 'february-gen' => 'Pibuari',
-'march-gen' => 'Marat',
+'march-gen' => 'Marit',
 'april-gen' => 'April',
 'may-gen' => 'Mai',
 'june-gen' => 'Juni',
@@ -147,7 +192,7 @@ $messages = array(
 'august-gen' => 'Agustus',
 'september-gen' => 'Siptimbir',
 'october-gen' => 'Uktubir',
-'november-gen' => 'Nopember',
+'november-gen' => 'Nupimbir',
 'december-gen' => 'Disimbir',
 'jan' => 'Jan',
 'feb' => 'Pib',
@@ -437,6 +482,9 @@ Gasan tarjamahan, muhun puruk [//translatewiki.net/wiki/Main_Page?setlang=bjn tr
 'ns-specialprotected' => 'Tungkaran istimiwa kada kawa dibabak.',
 'titleprotected' => "Judul ngini dilindungi matan paulahan ulih [[User:$1|$1]].
 Alasan nang dibariakan adalah ''$2''.",
+'filereadonlyerror' => 'Kada kawa mamudipikasi data "$1" marga repositori data "$2" ada di modus read-only.
+
+Administrator nang takunci nintu manawarakan panjalasan: "$3".',
 
 # Virus scanner
 'virus-badscanner' => "Konpigurasi buruk: pamindai virus kada dipinandui: ''$1''",
@@ -528,6 +576,7 @@ Kadada suril nang akan dikirim maumpati pitur.',
 'invalidemailaddress' => 'Alamat suril ini kada kawa ditarima karana pormat kada sah.
 Muhun buati sabuting alamat suril nang bujur pormatnya atawa puangkan haja isian itu.',
 'cannotchangeemail' => 'Akun alamat suril kada kawa diganti pada wiki ngini.',
+'emaildisabled' => 'Situs naya kada kawa mangirim suril.',
 'accountcreated' => 'Akun diulah',
 'accountcreatedtext' => 'Akun pamakai gasan $1 sudah diulah.',
 'createaccount-title' => 'Paulahan akun gasan {{SITENAME}}',
@@ -724,6 +773,7 @@ Inatakan bahwasa saragam  tungkaran-tungkaran .css wan .js mamuruk aksara halus,
 'updated' => '(Dihanyarakan)',
 'note' => "'''Catatan:'''",
 'previewnote' => "'''Ingatakanlah bahwasa ngini titilikan haja''' Parubahan Pian nang baluman disimpan!",
+'continue-editing' => 'Lanjutakan mambabak',
 'previewconflict' => 'Titilikan ini mancarminakan naskah dalam naskah wilayah atas babakan sawagai mana ini akan mancungul amun disimpan.',
 'session_fail_preview' => "'''Ampun! Kami kada kawa manarusakan babakan Pian karana kahilangan sési data.'''
 Cubai pang sa'asa pulang.
@@ -820,6 +870,11 @@ Babarapa citakan akan kada taumpatakan.",
 'parser-template-loop-warning' => 'Citakan baulang takantup: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Citakan batas kadalaman recursi limpuar ($1)',
 'language-converter-depth-warning' => 'Batas kadalaman pakonversi bahasa limpuar ($1)',
+'node-count-exceeded-category' => 'Tungkaran di mana node-count tarlalui',
+'node-count-exceeded-warning' => 'Tungkaran malabihi node-count',
+'expansion-depth-exceeded-category' => 'Tungkaran dimana kadalaman ikspansi talalui',
+'expansion-depth-exceeded-warning' => 'Tungkaran malabihi kadalaman ikspansi',
+'parser-unstrip-loop-warning' => 'Lingkaran unstrip taditiksi',
 
 # "Undo" feature
 'undo-success' => 'Babakan kawa diwalangi.
@@ -1354,24 +1409,24 @@ Amun Pian mamilih manyadiakan ini, ini akan dipuruk gasan paminanduan kulihan ga
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|parubahan|parubahan}}',
-'recentchanges' => 'Parubahan tahanyar',
-'recentchanges-legend' => 'Pilihan parubahan tahanyar',
-'recentchangestext' => 'Jajak parubahan wiki pahanyarnya pada tungkaran ngini',
+'recentchanges' => 'Paubahan pahanyarnya',
+'recentchanges-legend' => 'Pilihan paubahan pahanyarnya',
+'recentchanges-summary' => 'Jajak parubahan wiki pahanyarnya pada tungkaran ngini',
 'recentchanges-feed-description' => 'Susuri parubahan pahanyarnya dalam wiki di kitihan ini',
 'recentchanges-label-newpage' => 'Babakan ngini maulah sabuah tungkaran hanyar',
 'recentchanges-label-minor' => 'Ngini adalah sabuah babakan sapalih',
 'recentchanges-label-bot' => 'Babakan ngini digawi ulih saikung bot',
 'recentchanges-label-unpatrolled' => "Babakan ngini baluman ta'awasi",
-'rcnote' => "Di bawah ni {{PLURAL:$1|'''1'''|'''$1'''}} parubahan tahanyar dalam {{PLURAL:$2|'''1''' hari|'''$2''' hari}} tauncit, sampai $4 pukul $5.",
+'rcnote' => "Di bawah ni {{PLURAL:$1|'''1'''|'''$1'''}} paubahan pahanyarnya dalam {{PLURAL:$2|'''1''' hari|'''$2''' hari}} tauncit, sampai $4 pukul $5.",
 'rcnotefrom' => "Di bawah ngini parubahan tumatan '''$2''' (ditampaiakan sampai '''$1''' parubahan)",
-'rclistfrom' => 'Tampaiakan parubahan tahanyar matan $1',
+'rclistfrom' => 'Tampaiakan paubahan pahanyarnya matan $1',
 'rcshowhideminor' => '$1 pambabakan sapalih',
 'rcshowhidebots' => '$1 bot',
 'rcshowhideliu' => '$1 pamakai nang babuat di log',
 'rcshowhideanons' => '$1 pamakai kada bangaran',
 'rcshowhidepatr' => "$1 babakan ta'awasi",
 'rcshowhidemine' => '$1 babakan ulun',
-'rclinks' => 'Tampaiakan $1 parubahan tahanyar dalam $2 hari tauncit<br />$3',
+'rclinks' => 'Tampaiakan $1 paubahan pahanyarnya dalam $2 hari tauncit<br />$3',
 'diff' => 'bida',
 'hist' => 'halam',
 'hide' => 'Sungkupakan',
@@ -1814,6 +1869,8 @@ Ngini wayah ini sudah diugahakan ka [[$2]].',
 'wantedpages' => 'Tutungkaran nang dihandaki',
 'wantedpages-badtitle' => 'Judul kada sah dalam setelan kulihan: $1',
 'wantedfiles' => 'Barakas nang dihandaki',
+'wantedfiletext-nocat' => 'Data-data naya dipakai tagal kada ada. Data matan ripusituri asing kawa tadaptar biar haja ada. Satiap 
+File-file berikut digunakan tapi tidak ada. File dari repositori asing dapat terdaftar meskipun ada. Any such false positives will be <del>manyarang</del>.',
 'wantedtemplates' => 'Citakan nang dihandaki',
 'mostlinked' => 'Tutungkaran tatuju tautan pambanyaknya',
 'mostlinkedcategories' => 'Tutumbung tatuju tautan pambanyaknya',
@@ -1891,6 +1948,10 @@ Pian kada mawatasi tiringan lawan mamilih sabuah macam log, ngaran-pamuruk (sans
 'allpagesbadtitle' => 'Judul tungkaran nang dibari kada sah atawa baisi sabuah awalan antar-bahasa atawa antar-wiki.
 Nangini bisa baisi satu atawa labih karaktir nang saharusnya kadada di judul.',
 'allpages-bad-ns' => '{{SITENAME}} kada baisi ngaran-kamar "$1".',
+'allpages-hide-redirects' => 'Sambunyiakan paalihan',
+
+# SpecialCachedPage
+'cachedspecial-refresh-now' => 'Itihi tahanyar.',
 
 # Special:Categories
 'categories' => 'Tutumbung',
@@ -2639,6 +2700,10 @@ Muhun cubai pulang.',
 'import-logentry-interwiki' => 'ditranswiki $1',
 'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|ralatan|raralatan}} matan $2',
 
+# JavaScriptTest
+'javascripttest' => 'Mantis JavaScript',
+'javascripttest-pagetext-skins' => 'Pilih kulit nang cagar Pian cubai:',
+
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Tungkaran pamakai Pian',
 'tooltip-pt-anonuserpage' => 'Tungkaran pamuruk matan alamat IP Pian mambabak sawagai',
@@ -2670,11 +2735,11 @@ Muhun cubai pulang.',
 'tooltip-n-mainpage-description' => 'Ilangi Tungkaran Tatambaian',
 'tooltip-n-portal' => 'Pasal rangka-gawian, apa nang kawa pian gawi, di mana maugai sasuatu',
 'tooltip-n-currentevents' => 'Gagai panjalasan prihal paristiwa damini',
-'tooltip-n-recentchanges' => 'Daptar parubahan tahanyar dalam wiki',
+'tooltip-n-recentchanges' => 'Daptar paubahan pahanyarnya dalam wiki',
 'tooltip-n-randompage' => 'Tampaiakan sabuah babarang tungkaran',
 'tooltip-n-help' => 'Wadah maugai patulung',
 'tooltip-t-whatlinkshere' => 'Daptar samunyaan tungkaran wiki nang ada tautan ka sia',
-'tooltip-t-recentchangeslinked' => 'Parubahan tahanyar dalam tutungkaran tataut matan tungkaran ngini',
+'tooltip-t-recentchangeslinked' => 'Paubahan pahanyarnya dalam tutungkaran tataut matan tungkaran ngini',
 'tooltip-feed-rss' => 'Kitihan RSS gasan tungkaran ini',
 'tooltip-feed-atom' => 'Kitihan Atum gasan tungkaran ngini',
 'tooltip-t-contributions' => 'Sabuah daptar sumbangan pamakai ngini',
@@ -3584,4 +3649,22 @@ Salain ngitu, Pian kawa mamuruk prmulir nyaman di bawah ngini. Kumintar Pian aka
 'feedback-bugcheck' => 'Harat! hanyar dipariksa bahwasa ngini lainan salah asa [$1 bug nang dipinandui].',
 'feedback-bugnew' => 'Ulun mamariksa. Malapurakan sabuah bug hanyar',
 
+# API errors
+'api-error-missingresult' => 'Kasalahan intarnal: kada kawa manantuakan napakah panyalinan tuntung.',
+'api-error-mustbeloggedin' => 'Pian harus babuat ka log gasan maunggah barakas.',
+'api-error-mustbeposted' => 'Ada bug di parangkat lamah naya; kada mamakai mituda HTTP nang bujur.',
+'api-error-noimageinfo' => 'Paunggahan tuntung, tagal paladen kada mambarii inpurmasi napa haja masalah barakas.',
+'api-error-nomodule' => 'Kasalahan intarnal: kada ada modul unggahan nang ditatapakan.',
+'api-error-ok-but-empty' => 'Kasalahan intarnal: kada ada tanggapan matan paladen.',
+'api-error-overwrite' => 'Kada dibariakan manindihi barakas nang sudah ada.',
+'api-error-stashfailed' => 'Kasalahan intarnal: server gagal manyimban barakas samantara.',
+'api-error-timeout' => 'Peladen kada marispun di waktu nang diharapakan',
+'api-error-unclassified' => 'Tajadi kasalahan nang kada dikatahui.',
+'api-error-unknown-code' => 'Kasalahan kada dipinandui: "$1".',
+'api-error-unknown-error' => 'Kasalahan intarnal: tajadi kasalahan pas mancuba maunggah barakas Pian.',
+'api-error-unknown-warning' => 'Paringatan kada dipinandui: "$1".',
+'api-error-unknownerror' => 'Kasalahan kada dipinandui: "$1".',
+'api-error-uploaddisabled' => 'Paunggahan dinunaktipakan di wiki naya.',
+'api-error-verification-error' => 'Barakas naya kira-kira rusak atawa baisi ikstinsi nang salah.',
+
 );
index bdf5dc9..e3aa6f0 100644 (file)
@@ -454,6 +454,8 @@ $2',
 'filereadonlyerror' => '"$1" ফাইলটিকে পরিবর্তন করা সম্ভব হচ্ছে না কারন "$2" ফাইল রিপোসিটোরি রিড-অনলি-মোডে আছে।
 
 একজন প্রশাসক যিনি এটাকে লকড করেছেন তার যৌক্তিকতা দেওয়া হল: "$3"',
+'invalidtitle-knownnamespace' => 'অবৈধ শিরনাম, যেখানে নামস্থান "$2" এবং লেখা হয়েছে "$3"',
+'invalidtitle-unknownnamespace' => 'অবৈধ শিরনাম, যেখানে ব্যবহৃত হয়েছে অপরিচিত নামস্থান সংখ্যা $1 এবং লেখা হয়েছে "$2"',
 
 # Virus scanner
 'virus-badscanner' => "ভুল কনফিগারেশন: অজ্ঞাত ভাইরাস স্কেনার: ''$1''",
@@ -767,7 +769,8 @@ $1 নিষেধাজ্ঞা আরোপ করেছেন। নিষ
 আপনি আরো প্রতিজ্ঞা করছেন যে, এই লেখাগুলো আপনি নিজে লিখেছেন, বা সাধারণের ব্যবহারের জন্য উন্মুক্ত কোন উৎস থেকে সংগ্রহ করেছেন।
 '''স্বত্ব সংরক্ষিত কোন লেখা স্বত্বাধিকারীর অনুমতি ছাড়া এখানে জমা দেবেন না!'''",
 'copyrightwarning2' => "অনুগ্রহ করে লক্ষ করুন: {{SITENAME}}-এর এই ভুক্তিতে আপনার লেখা বা অবদান অন্যান্য ব্যবহারকারীরা পরিবর্তন বা পরিবর্ধন করতে, এমনকি মুছে ফেলতে পারবেন। {{SITENAME}} এ আপনার সকল লেখালেখি/অবদান গনু ফ্রি ডকুমেন্টেশনের ($1) আওতায় বিনামূল্যে প্রাপ্য ও হস্তান্তরযোগ্য। আপনার জমা দেয়া লেখা যে কেউ হৃদয়হীনভাবে সম্পাদনা করতে এবং যথেচ্ছভাবে ব্যবহার করতে পারেন। আপনি যদি এ ব্যাপারে একমত না হন, তাহলে এখানে আপনার লেখা জমা দেবেন না। আপনি আরো প্রতিজ্ঞা করছেন যে, এই লেখাগুলো আপনি নিজে লিখেছেন (তবে কোন মৌলিক গবেষণা নয়) বা সাধারণের ব্যবহারের জন্য উন্মুক্ত কোন উৎস থেকে সংগ্রহ করেছেন। '''স্বত্ব সংরক্ষিত কোন লেখা স্বত্বাধিকারীর অনুমতি ছাড়া এখানে জমা দেবেন না।'''",
-'longpageerror' => " '''ত্রুটি:  আপনার জমা দেয়া টেক্সটের পরিমাণ $1 কিলোবাইট, যা সর্বোচ্চ সীমা $2 কিলোবাইটের চেয়ে বেশি। এটি সংরক্ষণ করা সম্ভব নয়।'''",
+'longpageerror' => "'''ত্রুটি:  আপনার জমা দেয়া টেক্সটের পরিমাণ {{PLURAL:$1|এক কিলোবাইট|$1 কিলোবাইট}}, যা সর্বোচ্চ সীমা {{PLURAL:$2|এক কিলোবাইটের|$2 কিলোবাইটের}} চেয়ে বেশি।'''
+এটি সংরক্ষণ করা সম্ভব নয়।",
 'readonlywarning' => "'''সতর্কীকরণ: রক্ষণাবেক্ষণের জন্য ডাটাবেজ অবরুদ্ধ রাখা হয়েছে, তাই এই মুহূর্তে আপনার সম্পাদনা সংরক্ষণ করতে পারবেন না।
 আপনি চাইলে লেখাটি কাট এবং পেষ্ট করে ভবিষ্যতের জন্য কোন টেক্সট ফাইলে সংরক্ষণ করতে পারেন।'''
 
@@ -880,17 +883,33 @@ $3-এর দেয়া কারণ হল ''$2''",
 'rev-deleted-text-unhide' => "পাতার এই সংস্করণটি '''অপসারিত''' হয়েছে।
 বিস্তারিত কারণ এর [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] পাওয়া যেতে পারে।
 আপনি ইচ্ছা পোষণ করলে [$1 এই সংস্করণটি দেখতে পারেন]।",
+'rev-suppressed-text-unhide' => "পাতার এই সংস্করণটি '''অপসারিত''' হয়েছে।
+বিস্তারিত কারণ এর [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] পাওয়া যেতে পারে।
+আপনি ইচ্ছা পোষণ করলে [$1 এই সংস্করণটি দেখতে পারেন]।",
 'rev-deleted-text-view' => 'পাতার এই সংশোধনটি অপসারণ করা হয়েছে।
 আপনি এটি দেখতে পারেন; এ সংক্রাস্ত বিস্তারিত বিবরণ [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} অবলুপ্তি লগে] থাকতে পারে।',
+'rev-suppressed-text-view' => 'পাতার এই সংশোধনটি অপসারণ করা হয়েছে।
+আপনি এটি দেখতে পারেন; এ সংক্রাস্ত বিস্তারিত বিবরণ [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} অবলুপ্তি লগে] থাকতে পারে।',
 'rev-deleted-no-diff' => "আপনি পাতার এই পার্থক্যটি দেখতে পারবেন না কারণ একটি সংস্করণ '''অপসারিত''' হয়েছে।
 বিস্তারিত কারণ এর [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] পাওয়া যেতে পারে।",
 'rev-suppressed-no-diff' => "আপনি এই পার্থক্যটি দেখতে পারবেন না কারণ একটি সংস্করণ '''অপসারণ''' করা হয়েছে।",
+'rev-deleted-unhide-diff' => "পার্থক্য তুলনা করা হয়েছে এমন সংস্করণগুলোর কোনো একটি '''অপসারিত''' হয়েছে।
+বিস্তারিত কারণ এর [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] পাওয়া যেতে পারে।
+আপনি ইচ্ছা পোষণ করলে [$1 এই সংস্করণটি দেখতে পারেন]।",
+'rev-suppressed-unhide-diff' => "তুলনা করা হয়েছে এমন সংস্করণগুলোর কোনো একটি '''অপসারিত''' হয়েছে।
+বিস্তারিত কারণ এর [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] পাওয়া যেতে পারে।
+আপনি ইচ্ছা পোষণ করলে [$1 এই সংস্করণটি দেখতে পারেন]।",
+'rev-deleted-diff-view' => "তুলনা করা হয়েছে এমন সংস্করণগুলোর কোনো একটি '''অপসারণ''' করা হয়েছে।
+আপনি এটি দেখতে পারেন; এ সংক্রাস্ত বিস্তারিত বিবরণ [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} অবলুপ্তি লগে] থাকতে পারে।",
+'rev-suppressed-diff-view' => "তুলনা করা হয়েছে এমন সংস্করণগুলোর কোনো একটি '''অপসারণ''' করা হয়েছে।
+আপনি এটি দেখতে পারেন; এ সংক্রাস্ত বিস্তারিত বিবরণ [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} অবলুপ্তি লগে] থাকতে পারে।",
 'rev-delundel' => 'দেখাও/আড়াল করো',
 'rev-showdeleted' => 'দেখাও',
 'revisiondelete' => 'অবলুপ্ত/পুনঃস্থাপন সংশোধনসমূহ',
 'revdelete-nooldid-title' => 'বেঠিক লক্ষ্য সংশোধন',
 'revdelete-nooldid-text' => 'এই কাজটি সম্পন্ন করার জন্য আপনি কোন লক্ষ্য সংশোধন নির্বাচন করেননি, নির্বাচিত সংশোধন নেই, অথবা আপনি বর্তমান সংশোধন লুকাতে চাইছেন।',
 'revdelete-nologtype-title' => 'কোনো লগ টাইপ দেওয়া হয়নি।',
+'revdelete-nologtype-text' => 'আপনি হয়তো এই কাজটি করার জন্য কোনো লগ নির্ধারণ করেননি।',
 'revdelete-nologid-title' => 'ভুল লগ ভুক্তি',
 'revdelete-no-file' => 'নির্ধারিত ফাইলটি নেই।',
 'revdelete-show-file-submit' => 'হ্যাঁ',
@@ -1057,6 +1076,7 @@ $1",
 'prefs-beta' => 'বেটা বৈশিষ্টসমূহ',
 'prefs-datetime' => 'তারিখ ও সময়',
 'prefs-labs' => 'পরীক্ষাগার বৈশিষ্টসমূহ',
+'prefs-user-pages' => 'ব্যবহারকারীর পাতা',
 'prefs-personal' => 'ব্যবহারকারীর বৃত্তান্ত',
 'prefs-rc' => 'সাম্প্রতিক পরিবর্তনসমূহ',
 'prefs-watchlist' => 'নজরতালিকা',
@@ -1295,7 +1315,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|পরিবর্তন|পরিবর্তনসমূহ}}',
 'recentchanges' => 'সাম্প্রতিক পরিবর্তনসমূহ',
 'recentchanges-legend' => 'সাম্প্রতিক পরিবর্তনের পছন্দসমূহ',
-'recentchangestext' => 'এই পাতায় উইকিটির সবচেয়ে সাম্প্রতিক পরিবর্তনগুলি অনুসরণ করুন।',
+'recentchanges-summary' => 'এই পাতায় উইকিটির সবচেয়ে সাম্প্রতিক পরিবর্তনগুলি অনুসরণ করুন।',
 'recentchanges-feed-description' => 'এই ফিডে উইকিটির সবচেয়ে সাম্প্রতিক পরিবর্তনগুলি অনুসরণ করুন।',
 'recentchanges-label-newpage' => 'এই সম্পাদনায় একটি নতুন পাতা তৈরি হয়েছে',
 'recentchanges-label-minor' => 'এটি একটি অনুল্লেখিত সম্পাদনা',
@@ -1453,6 +1473,8 @@ $1",
 
 # File backend
 'backend-fail-delete' => '$1 ফাইলটি অপসারণ সম্ভব নয়।',
+'backend-fail-read' => '$1 ফাইলটি ওপেন করা যাচ্ছে না।',
+'backend-fail-create' => '$1 ফাইলটি তৈরী করা যাচ্ছে না।',
 
 # ZipDirectoryReader
 'zip-file-open-error' => 'ফাইলটির জিপ পরীক্ষা করার সময় একটি ত্রুটি দেখা দিয়েছে।',
@@ -1528,6 +1550,7 @@ $1",
 'linkstoimage' => 'নিচের {{PLURAL:$1|টি পাতা|$1টি পাতা}} থেকে এই ফাইলে সংযোগ আছে:',
 'nolinkstoimage' => 'এই ফাইলে সংযোগ করে এমন কোন পাতা নেই।',
 'morelinkstoimage' => 'এই ফাইলের [[Special:WhatLinksHere/$1|আরও লিঙ্ক]] দেখাও।',
+'linkstoimage-redirect' => '$1 (ফাইল পুনঃর্নিদেশ) $2',
 'sharedupload' => 'এই ফাইলটি $1 থেকে নেওয়া হয়েছে এবং এবং অন্যান্য প্রকল্পেও ব্যবহৃত হতে পারে।',
 'sharedupload-desc-here' => 'এই ফাইলটি $1 থেকে এবং অন্যান্য প্রকল্পে ব্যবহৃত হতে পারে।
 এর [$2 ফাইল বিবরণ পৃষ্ঠা] উপর বর্ণনা নিম্নে দেখানো হলো।',
index 5112c58..aeccfb7 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Bishnupria Manipuri (à¦\87মার à¦ à¦¾à¦°/বিষà§\8dণà§\81পà§\8dরিয়া à¦®à¦£à¦¿à¦ªà§\81রà§\80)
+/** Bishnupria Manipuri (বিষ্ণুপ্রিয়া মণিপুরী)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
index 0804aed..c9d0efc 100644 (file)
@@ -564,6 +564,8 @@ Setu amañ perak ''$2''.",
 'filereadonlyerror' => 'Dibosupl kemmañ ar restr "$1" abalamour m\'emañ ar c\'havlec\'h restroù "$2" e mod lenn nemetken.
 
 "\'\'$3\'\'" eo an abeg roet gant ar merour en deus prennet anezhi.',
+'invalidtitle-knownnamespace' => 'Titl direizh gant an esaouenn anv "$2" hag an destenn "$3"',
+'invalidtitle-unknownnamespace' => 'Titl direizh gant an niverenn esaouenn anv $1 hag an destenn "$2" dianav',
 
 # Virus scanner
 'virus-badscanner' => "Kefluniadur fall : skanner viruzoù dianav : ''$1''",
@@ -944,6 +946,8 @@ A-gostez eo bet lezet an arventenn-se.',
 'node-count-exceeded-warning' => "Pajenn a ya en tu all d'an niver a skoulmoù",
 'expansion-depth-exceeded-category' => "Pajennoù m'eur aet dreist d'an donder astenn",
 'expansion-depth-exceeded-warning' => "Pajenn a ya dreist d'an donder astenn",
+'parser-unstrip-loop-warning' => "Detektet ez eus bet ul lagadenn n'haller ket divontañ",
+'parser-unstrip-recursion-limit' => "Aet dreist d'ar vevenn rekurziñ n'haller ket divontañ : $1",
 
 # "Undo" feature
 'undo-success' => "Gallout a reer disteurel ar c'hemmoù-mañ. Gwiriit, mar plij, gant ar geñveriadenn a-is evit bezañ sur eo an dra-se a fell deoc'h ober; goude-se enrollit ar c'hemmoù a-is a-benn echuiñ disteurel ar c'hemmoù.",
@@ -1119,6 +1123,8 @@ Gwiriit ne vo ket torret red istor ar bajenn gant ar c'hemm-mañ.",
 
 # Diffs
 'history-title' => 'Istor stummoù disheñvel "$1"',
+'difference-title' => 'Diforc\'hioù etre adstummoù "$1"',
+'difference-title-multipage' => 'Diforc\'hioù etre ar pajennoù "$1" ha "$2"',
 'difference-multipage' => "(diforc'h etre ar pajennoù)",
 'lineno' => 'Linenn $1:',
 'compareselectedversions' => 'Keñveriañ ar stummoù diuzet',
@@ -1213,6 +1219,7 @@ Gwiriit ne vo ket torret red istor ar bajenn gant ar c'hemm-mañ.",
 'prefs-beta' => 'Perzhioù beta',
 'prefs-datetime' => 'Deiziad hag eur',
 'prefs-labs' => 'Perzhioù "labs"',
+'prefs-user-pages' => 'Pajennoù implijer',
 'prefs-personal' => 'Titouroù personel',
 'prefs-rc' => 'Kemmoù diwezhañ',
 'prefs-watchlist' => 'Roll evezhiañ',
@@ -1475,7 +1482,7 @@ Ma skrivit anezhañ e vo implijet evit lakaat war wel ar pezh a vo bet degaset g
 'nchanges' => '$1 {{PLURAL:$1|kemm|kemm}}',
 'recentchanges' => 'Kemmoù diwezhañ',
 'recentchanges-legend' => "Dibarzhioù ar c'hemmoù diwezhañ",
-'recentchangestext' => "Dre ar bajenn-mañ e c'hallit heuliañ ar c'hemmoù diwezhañ bet degaset d'ar wiki.",
+'recentchanges-summary' => "Dre ar bajenn-mañ e c'hallit heuliañ ar c'hemmoù diwezhañ bet degaset d'ar wiki.",
 'recentchanges-feed-description' => "Heuilhit ar c'hemmoù diwezhañ er wiki el lusk-mañ.",
 'recentchanges-label-newpage' => "Gant ar c'hemm-mañ e vo krouet ur bajenn nevez.",
 'recentchanges-label-minor' => "Ur c'hemm dister eo hemañ",
@@ -1665,13 +1672,13 @@ Ma talc'h ar gudenn, kit e darempred gant [[Special:ListUsers/sysop|merourien ar
 'upload-copy-upload-invalid-domain' => "N'haller ket seveniñ enporzhiadennoù a-bell adalek an domani-mañ.",
 
 # File backend
-'backend-fail-stream' => 'Dibosupl lenn ar restr $1.',
+'backend-fail-stream' => 'Dibosupl eo lenn ar restr $1.',
 'backend-fail-backup' => 'Dibosupl enrollañ ar restr $1.',
 'backend-fail-notexists' => "N'eus ket eus ar restr $1.",
 'backend-fail-hashes' => 'Dibosupl eo bet tapout hacherezh ar restr evit keñveriañ.',
 'backend-fail-notsame' => "Ur restr disheñvel zo e $1 c'hoazh.",
 'backend-fail-invalidpath' => "$1 n'eo ket un hent stokañ reizh.",
-'backend-fail-delete' => 'Dibosupl eo diverkañ a restr $1.',
+'backend-fail-delete' => 'Dibosupl eo diverkañ ar restr $1.',
 'backend-fail-alreadyexists' => 'Ar restr "$1" zo anezhi c\'hoazh.',
 'backend-fail-store' => 'Dibosupl stokañ ar restr $1 e $2.',
 'backend-fail-copy' => 'Dibosupl eilañ ar restr "$1" war-du "$2".',
@@ -1680,14 +1687,15 @@ Ma talc'h ar gudenn, kit e darempred gant [[Special:ListUsers/sysop|merourien ar
 'backend-fail-writetemp' => 'Dibosupl skrivañ er restr padennek.',
 'backend-fail-closetemp' => 'Dibosupl eo serriñ ar restr padennek.',
 'backend-fail-read' => 'Dibosupl lenn ar restr $1.',
-'backend-fail-create' => 'Dibosupl krouiñ ar restr $1.',
-'backend-fail-maxsize' => "Dibosupl krouiñ ar restr $1 peogwir eo brasoc'h eget {{PLURAL:$2|un okted|$2 okted}}.",
+'backend-fail-create' => 'Dibosupl eo krouiñ ar restr $1.',
+'backend-fail-maxsize' => "Dibosupl skrivañ er restr $1 peogwir eo brasoc'h eget {{PLURAL:$2|un okted|$2 okted}}.",
 'backend-fail-readonly' => 'Emañ an dermenell stokañ "$1" e mod lenn hepken. Setu aze an abeg a oa bet roet : "$2".',
 'backend-fail-synced' => 'Emañ ar restr "$1" en ur stad direizhet en termenelloù stokañ diabarzh',
 'backend-fail-connect' => 'Dibosupl kevreañ ouzh termenell stokañ ar restr "$1".',
 'backend-fail-internal' => 'C\'hoarvezet ez eus ur fazi dianav e termenell stokañ ar restr "$1".',
 'backend-fail-contenttype' => 'Dibosupl termeniñ ar seurt danvez da enrollañ e "$1".',
 'backend-fail-batchsize' => 'Pourvezet he deus an dermenell stokañ ur pakad a $1 {{PLURAL:$1|oberiadenn|oberiadenn}}; sevel a ra ar vevenn da $2 {{PLURAL:$2|oberiadenn|oberiadenn}}.',
+'backend-fail-usable' => "Dibosupl skrivañ ar restr $1 rak re skort eo an aotreoù pe mankout a ra kavlec'hioù/endalc'herioù.",
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'N\'eus ket bet gallet kevreañ ouzh diaz roadennoù ar marilh evit an dermenell stokañ "$1".',
@@ -2348,7 +2356,7 @@ Ma'z eus bet krouet ur bajenn nevez dezhi an hevelep anv abaoe an diverkadenn, e
 'undelete-revision' => 'Stumm diverket eus $1, (gwiriadenn eus $4 da $5) gant $3 :',
 'undeleterevision-missing' => "Stumm fall pe diank. Pe hoc'h eus heuliet ul liamm fall, pe eo bet diziverket ar stumm pe c'hoazh eo bet lamet diouzh an dielloù.",
 'undelete-nodiff' => "N'eus bet kavet stumm kent ebet.",
-'undeletebtn' => 'Diziverkañ!',
+'undeletebtn' => 'Assevel',
 'undeletelink' => 'gwelet/assevel',
 'undeleteviewlink' => 'gwelet',
 'undeletereset' => 'Adderaouekaat',
index 5183c67..88fa547 100644 (file)
@@ -638,8 +638,8 @@ Moguće je da ju je neko drugi već obrisao.',
 'cannotdelete-title' => 'Ne mogu izbrisati stranicu "$1"',
 'badtitle' => 'Loš naslov',
 'badtitletext' => 'Zahtjevani naslov stranice je bio neispravan, prazan ili neispravno povezan međujezički ili interviki naslov.',
-'perfcached' => 'Slijedeći podaci su keširani i možda neće biti u potpunosti ažurirani. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => 'Slijedeći podaci se nalaze u memoriji i zadnji put su ažurirani $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => 'Slijedeći podaci su keširani i možda neće biti u potpunosti ažurirani. Keš sadrži najviše {{PLURAL:$1|jedan rezultat|$1 rezultata}}.',
+'perfcachedts' => 'Slijedeći podaci se nalaze u memoriji i zadnji put su ažurirani $1. Keš sadrži najviše {{PLURAL:$4|jedan rezultat|$4 rezultata}}.',
 'querypage-no-updates' => 'Ažuriranje ove stranice je isključeno.
 Podaci koji se ovdje nalaze ne moraju biti aktuelni.',
 'wrong_wfQuery_params' => 'Netačni parametri za wfQuery()<br />
@@ -963,6 +963,7 @@ Ne zaboravite da imena stranica s .css i .js kodom počinju malim slovom, npr. {
 'note' => "'''Pažnja:'''",
 'previewnote' => "'''Ne zaboravite da je ovo samo pregled'''
 Izmjene stranice nisu još sačuvane!",
+'continue-editing' => 'Nastavi uređivati',
 'previewconflict' => 'Ovaj pregled reflektuje tekst u gornjem polju
 kako će izgledati ako pritisnete "Sačuvaj članak".',
 'session_fail_preview' => "'''Izvinjavamo se! Nismo mogli obraditi vašu izmjenu zbog gubitka podataka o prijavi. Molimo pokušajte ponovno. Ako i dalje ne bude radilo, pokušajte se [[Special:UserLogout|odjaviti]] i ponovno prijaviti.'''",
@@ -1594,7 +1595,7 @@ Ako izaberete da date ime, biće korišteno za pripisivanje za vaš rad.',
 'nchanges' => '$1 {{PLURAL:$1|promjena|promjene|promjena}}',
 'recentchanges' => 'Nedavne izmjene',
 'recentchanges-legend' => 'Postavke nedavnih izmjena',
-'recentchangestext' => 'Na ovoj stranici možete pratiti nedavne izmjene.',
+'recentchanges-summary' => 'Na ovoj stranici možete pratiti nedavne izmjene.',
 'recentchanges-feed-description' => 'Na ovoj stranici možete pratiti nedavne izmjene.',
 'recentchanges-label-newpage' => 'Ovom izmjenom se pravi nova stranica',
 'recentchanges-label-minor' => 'Ovo je mala izmjena',
@@ -2112,6 +2113,7 @@ Možete specificirati prikaz izabiranjem specifičnog spiska, korisničkog imena
 'allpagesbadtitle' => 'Dati naziv stranice je nepravilan ili ima međujezički ili interwiki prefiks.
 Možda sadrži jedan ili više znakova koji se ne mogu koristiti u naslovima.',
 'allpages-bad-ns' => '{{SITENAME}} nema imenski prostor "$1".',
+'allpages-hide-redirects' => 'Sakrij preusmjerenja',
 
 # Special:Categories
 'categories' => 'Kategorije',
index ede25f7..642f0e6 100644 (file)
@@ -99,88 +99,94 @@ $magicWords = array(
 );
 
 $specialPageAliases = array(
+       'Activeusers'               => array( 'Usuaris_actius' ),
        'Allmessages'               => array( 'Missatges', 'MediaWiki' ),
-       'Allpages'                  => array( 'Llista de pàgines' ),
-       'Ancientpages'              => array( 'Pàgines velles' ),
-       'Blankpage'                 => array( 'Pàgina en blanc', 'Blanc' ),
+       'Allpages'                  => array( 'Llista_de_pàgines' ),
+       'Ancientpages'              => array( 'Pàgines_velles' ),
+       'Badtitle'                  => array( 'Títol_incorrecte' ),
+       'Blankpage'                 => array( 'Pàgina_en_blanc', 'Blanc' ),
        'Block'                     => array( 'Bloca' ),
        'Blockme'                   => array( 'Bloca\'m' ),
-       'Booksources'               => array( 'Fonts bibliogràfiques' ),
-       'BrokenRedirects'           => array( 'Redireccions rompudes' ),
-       'ChangePassword'            => array( 'Reinicia contrasenya' ),
-       'Confirmemail'              => array( 'Confirma adreça' ),
+       'Booksources'               => array( 'Fonts_bibliogràfiques' ),
+       'BrokenRedirects'           => array( 'Redireccions_rompudes' ),
+       'ChangeEmail'               => array( 'Canvia_adreça_electrònica' ),
+       'ChangePassword'            => array( 'Reinicia_contrasenya' ),
+       'Confirmemail'              => array( 'Confirma_adreça' ),
        'Contributions'             => array( 'Contribucions' ),
-       'CreateAccount'             => array( 'Crea compte' ),
+       'CreateAccount'             => array( 'Crea_compte' ),
        'Deadendpages'              => array( 'Atzucacs' ),
-       'DeletedContributions'      => array( 'Contribucions esborrades' ),
+       'DeletedContributions'      => array( 'Contribucions_esborrades' ),
        'Disambiguations'           => array( 'Desambiguacions' ),
-       'DoubleRedirects'           => array( 'Redireccions dobles' ),
-       'Emailuser'                 => array( 'Envia missatge' ),
+       'DoubleRedirects'           => array( 'Redireccions_dobles' ),
+       'Emailuser'                 => array( 'Envia_missatge' ),
        'Export'                    => array( 'Exporta' ),
-       'Fewestrevisions'           => array( 'Pàgines menys editades' ),
-       'FileDuplicateSearch'       => array( 'Cerca fitxers duplicats' ),
+       'Fewestrevisions'           => array( 'Pàgines_menys_editades' ),
+       'FileDuplicateSearch'       => array( 'Cerca_fitxers_duplicats' ),
        'Import'                    => array( 'Importa' ),
-       'BlockList'                 => array( 'Usuaris blocats' ),
-       'LinkSearch'                => array( 'Enllaços web', 'Busca enllaços', 'Recerca d\'enllaços web' ),
+       'BlockList'                 => array( 'Usuaris_blocats' ),
+       'LinkSearch'                => array( 'Enllaços_web', 'Busca_enllaços', 'Recerca_d\'enllaços_web' ),
        'Listadmins'                => array( 'Administradors' ),
        'Listbots'                  => array( 'Bots' ),
        'Listfiles'                 => array( 'Imatges' ),
-       'Listgrouprights'           => array( 'Drets dels grups d\'usuaris' ),
+       'Listgrouprights'           => array( 'Drets_dels_grups_d\'usuaris' ),
        'Listredirects'             => array( 'Redireccions' ),
        'Listusers'                 => array( 'Usuaris' ),
-       'Lockdb'                    => array( 'Bloca bd' ),
+       'Lockdb'                    => array( 'Bloca_bd' ),
        'Log'                       => array( 'Registre' ),
-       'Lonelypages'               => array( 'Pàgines òrfenes' ),
-       'Longpages'                 => array( 'Pàgines llargues' ),
-       'MergeHistory'              => array( 'Fusiona historial' ),
-       'MIMEsearch'                => array( 'Cerca MIME' ),
-       'Mostcategories'            => array( 'Pàgines amb més categories' ),
-       'Mostimages'                => array( 'Imatges més útils' ),
-       'Mostlinked'                => array( 'Pàgines més enllaçades' ),
-       'Mostlinkedcategories'      => array( 'Categories més útils' ),
-       'Mostlinkedtemplates'       => array( 'Plantilles més útils' ),
-       'Mostrevisions'             => array( 'Pàgines més editades' ),
+       'Lonelypages'               => array( 'Pàgines_òrfenes' ),
+       'Longpages'                 => array( 'Pàgines_llargues' ),
+       'MergeHistory'              => array( 'Fusiona_historial' ),
+       'MIMEsearch'                => array( 'Cerca_MIME' ),
+       'Mostcategories'            => array( 'Pàgines_amb_més_categories' ),
+       'Mostimages'                => array( 'Imatges_més_útils' ),
+       'Mostlinked'                => array( 'Pàgines_més_enllaçades' ),
+       'Mostlinkedcategories'      => array( 'Categories_més_útils' ),
+       'Mostlinkedtemplates'       => array( 'Plantilles_més_útils' ),
+       'Mostrevisions'             => array( 'Pàgines_més_editades' ),
        'Movepage'                  => array( 'Reanomena' ),
-       'Mycontributions'           => array( 'Contribucions pròpies' ),
-       'Mypage'                    => array( 'Pàgina personal' ),
-       'Mytalk'                    => array( 'Discussió personal' ),
-       'Newimages'                 => array( 'Imatges noves' ),
-       'Newpages'                  => array( 'Pàgines noves' ),
-       'Popularpages'              => array( 'Pàgines populars' ),
+       'Mycontributions'           => array( 'Contribucions_pròpies' ),
+       'Mypage'                    => array( 'Pàgina_personal' ),
+       'Mytalk'                    => array( 'Discussió_personal' ),
+       'Newimages'                 => array( 'Imatges_noves' ),
+       'Newpages'                  => array( 'Pàgines_noves' ),
+       'Popularpages'              => array( 'Pàgines_populars' ),
        'Preferences'               => array( 'Preferències' ),
-       'Prefixindex'               => array( 'Cerca per prefix' ),
-       'Protectedpages'            => array( 'Pàgines protegides' ),
-       'Protectedtitles'           => array( 'Títols protegits' ),
-       'Randompage'                => array( 'Article aleatori', 'Atzar', 'Aleatori' ),
-       'Randomredirect'            => array( 'Redirecció aleatòria' ),
-       'Recentchanges'             => array( 'Canvis recents' ),
+       'Prefixindex'               => array( 'Cerca_per_prefix' ),
+       'Protectedpages'            => array( 'Pàgines_protegides' ),
+       'Protectedtitles'           => array( 'Títols_protegits' ),
+       'Randompage'                => array( 'Article_aleatori', 'Atzar', 'Aleatori' ),
+       'Randomredirect'            => array( 'Redirecció_aleatòria' ),
+       'Recentchanges'             => array( 'Canvis_recents' ),
        'Recentchangeslinked'       => array( 'Seguiment' ),
-       'Revisiondelete'            => array( 'Esborra versió' ),
+       'Revisiondelete'            => array( 'Esborra_versió' ),
+       'RevisionMove'              => array( 'Mou_versió' ),
        'Search'                    => array( 'Cerca' ),
-       'Shortpages'                => array( 'Pàgines curtes' ),
-       'Specialpages'              => array( 'Pàgines especials' ),
+       'Shortpages'                => array( 'Pàgines_curtes' ),
+       'Specialpages'              => array( 'Pàgines_especials' ),
        'Statistics'                => array( 'Estadístiques' ),
-       'Uncategorizedcategories'   => array( 'Categories sense categoria' ),
-       'Uncategorizedimages'       => array( 'Imatges sense categoria' ),
-       'Uncategorizedpages'        => array( 'Pàgines sense categoria' ),
-       'Uncategorizedtemplates'    => array( 'Plantilles sense categoria' ),
+       'Unblock'                   => array( 'Desbloca', 'Desbloqueja' ),
+       'Uncategorizedcategories'   => array( 'Categories_sense_categoria' ),
+       'Uncategorizedimages'       => array( 'Imatges_sense_categoria' ),
+       'Uncategorizedpages'        => array( 'Pàgines_sense_categoria' ),
+       'Uncategorizedtemplates'    => array( 'Plantilles_sense_categoria' ),
        'Undelete'                  => array( 'Restaura' ),
-       'Unlockdb'                  => array( 'Desbloca bd' ),
-       'Unusedcategories'          => array( 'Categories no usades' ),
-       'Unusedimages'              => array( 'Imatges no usades' ),
-       'Unusedtemplates'           => array( 'Plantilles no usades' ),
-       'Unwatchedpages'            => array( 'Pàgines desateses' ),
+       'Unlockdb'                  => array( 'Desbloca_bd' ),
+       'Unusedcategories'          => array( 'Categories_no_usades' ),
+       'Unusedimages'              => array( 'Imatges_no_usades' ),
+       'Unusedtemplates'           => array( 'Plantilles_no_usades' ),
+       'Unwatchedpages'            => array( 'Pàgines_desateses' ),
        'Upload'                    => array( 'Carrega' ),
-       'Userlogin'                 => array( 'Registre i entrada' ),
-       'Userlogout'                => array( 'Finalitza sessió' ),
+       'Userlogin'                 => array( 'Registre_i_entrada' ),
+       'Userlogout'                => array( 'Finalitza_sessió' ),
        'Userrights'                => array( 'Drets' ),
        'Version'                   => array( 'Versió' ),
-       'Wantedcategories'          => array( 'Categories demanades' ),
-       'Wantedfiles'               => array( 'Arxius demanats' ),
-       'Wantedpages'               => array( 'Pàgines demanades' ),
-       'Watchlist'                 => array( 'Llista de seguiment' ),
+       'Wantedcategories'          => array( 'Categories_demanades' ),
+       'Wantedfiles'               => array( 'Arxius_demanats' ),
+       'Wantedpages'               => array( 'Pàgines_demanades' ),
+       'Wantedtemplates'           => array( 'Plantilles_demanades' ),
+       'Watchlist'                 => array( 'Llista_de_seguiment' ),
        'Whatlinkshere'             => array( 'Enllaços' ),
-       'Withoutinterwiki'          => array( 'Sense interwiki' ),
+       'Withoutinterwiki'          => array( 'Sense_interwiki' ),
 );
 
 $linkTrail = "/^((?:[a-zàèéíòóúç·ïü]|'(?!'))+)(.*)$/sDu";
@@ -573,7 +579,7 @@ Els seus motius han estat: «''$2''».",
 'filereadonlyerror' => 'No s\'ha pogut modificar el fitxer «$1» perquè el repositori de fitxers "$2" està en mode només de lectura.
 L\'administrador que l\'ha bloquejat ha donat aquesta explicació: "$3".',
 'invalidtitle-knownnamespace' => "El títol amb l'espai de noms «$2» i text «$3» no és vàlid",
-'invalidtitle-unknownnamespace' => "El títol amb l'espai de noms desconegut de número «$1» i text «$3» no és vàlid",
+'invalidtitle-unknownnamespace' => 'Títol no vàlid amb espai de noms desconegut de número «$1» i text «$2»',
 
 # Virus scanner
 'virus-badscanner' => "Mala configuració: antivirus desconegut: ''$1''",
@@ -948,6 +954,12 @@ Se n'han omès els arguments.",
 'parser-template-loop-warning' => "S'ha detectat un bucle de plantilla: [[$1]]",
 'parser-template-recursion-depth-warning' => "S'ha excedit el límit de recursivitat de plantilles ($1)",
 'language-converter-depth-warning' => "El límit de la profunditat del conversor d'idiomes ha excedit ($1)",
+'node-count-exceeded-category' => "Pàgines on s'ha excedit el recompte de nodes",
+'node-count-exceeded-warning' => 'La pàgina ha excedit el recompte de nodes',
+'expansion-depth-exceeded-category' => "Pàgines on s'ha excedit la profunditat d'expansió",
+'expansion-depth-exceeded-warning' => "La pàgina ha excedit la profunditat d'expansió",
+'parser-unstrip-loop-warning' => "S'ha detectat un bucle no desmuntable",
+'parser-unstrip-recursion-limit' => "S'ha excedit el límit ($1) de recursivitat no desmuntable",
 
 # "Undo" feature
 'undo-success' => "Pot desfer-se la modificació. Si us plau, reviseu la comparació de sota per a assegurar-vos que és el que voleu fer; llavors deseu els canvis per a finalitzar la desfeta de l'edició.",
@@ -1124,9 +1136,9 @@ Assegureu-vos que aquest canvi mantindrà la continuïtat històrica de la pàgi
 'mergelogpagetext' => "A sota hi ha una llista de les fusions més recents d'una pàgina d'historial en una altra.",
 
 # Diffs
-'history-title' => 'Historial de versions de «$1»',
-'difference-title' => 'Diferència entre les revisions de «$1»',
-'difference-title-multipage' => 'Diferència entre les pàgines «$1» i «$2»',
+'history-title' => '$1: Historial de revisions',
+'difference-title' => '$1: Diferència entre les revisions',
+'difference-title-multipage' => '$1 i $2: Diferència entre les pàgines',
 'difference-multipage' => '(Diferència entre pàgines)',
 'lineno' => 'Línia $1:',
 'compareselectedversions' => 'Compara les versions seleccionades',
@@ -1221,6 +1233,7 @@ Assegureu-vos que aquest canvi mantindrà la continuïtat històrica de la pàgi
 'prefs-beta' => 'Característiques beta',
 'prefs-datetime' => 'Data i hora',
 'prefs-labs' => 'Característiques de laboratori',
+'prefs-user-pages' => "Pàgines d'usuari",
 'prefs-personal' => "Perfil d'usuari",
 'prefs-rc' => 'Canvis recents',
 'prefs-watchlist' => 'Llista de seguiment',
@@ -1482,7 +1495,7 @@ Ha de tenir com a molt {{PLURAL:$1|un caràcter|$1 caràcters}}.',
 'nchanges' => '$1 {{PLURAL:$1|canvi|canvis}}',
 'recentchanges' => 'Canvis recents',
 'recentchanges-legend' => 'Opcions de canvis recents',
-'recentchangestext' => 'Seguiu els canvis recents del projecte {{SITENAME}} en aquesta pàgina.',
+'recentchanges-summary' => 'Seguiu els canvis recents del projecte {{SITENAME}} en aquesta pàgina.',
 'recentchanges-feed-description' => 'Segueix en aquest canal els canvis més recents del wiki.',
 'recentchanges-label-newpage' => 'Aquesta modificació inicià una pàgina',
 'recentchanges-label-minor' => 'Aquesta és una modificació menor',
@@ -1669,13 +1682,14 @@ $1',
 'backend-fail-closetemp' => "No s'ha pogut tancar el fitxer temporal.",
 'backend-fail-read' => "No s'ha pogut llegir el fitxer $1.",
 'backend-fail-create' => "No s'ha pogut crear el fitxer $1.",
-'backend-fail-maxsize' => "No s'ha pogut crear el fitxer $1 perquè és més gran que {{PLURAL:$2|un byte|$2 bytes}}.",
+'backend-fail-maxsize' => "No s'ha pogut escriure el fitxer $1 perquè és més gran que {{PLURAL:$2|un byte|$2 bytes}}.",
 'backend-fail-readonly' => "El rerefons d'emmagatzemament «$1» actualment només és de lectura. Es va donar el motiu: «$2»",
 'backend-fail-synced' => "El fitxer «$1» es troba en un estat inconsistent amb els rerefons d'emmagatzemament interns.",
 'backend-fail-connect' => "No s'ha pogut connectar al fitxer de rerefons d'emmagatzemament «$1».",
 'backend-fail-internal' => "S'ha produït un error desconegut en el fitxer de rerefons d'emmagatzemament «$1».",
 'backend-fail-contenttype' => 'No es pot determinar el tipus de contingut del fitxer per emmagatzemar a «$1».',
 'backend-fail-batchsize' => "El rerefons d'emmagatzemament ha rebut un lot {{PLURAL:$1|d'$1 operació|de $1 operacions}} de fitxer; el límit és $2 {{PLURAL:$2|operació|operacions}}.",
+'backend-fail-usable' => "No s'ha pogut escriure el fitxer $1 a causa de permisos insuficients o perquè hi manquen directoris/contenidors.",
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'No es pot connectar amb la base de dades per emmagatzemar el backend "$1".',
@@ -1737,7 +1751,6 @@ Per seguretat, img_auth.php està desactivat.",
 'http-curl-error' => "Error en recuperar l'URL: $1",
 'http-host-unreachable' => "No s'ha pogut accedir a l'URL.",
 'http-bad-status' => 'Hi ha hagut un problema durant la petició HTTP: $1 $2',
-'http-truncated-body' => "El cos de la sol·licitud només s'ha rebut parcialment.",
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => "No s'ha pogut accedir a l'URL",
index 8ebb18e..2988190 100644 (file)
@@ -413,7 +413,7 @@ Siók-mìng: (dāng) = gâe̤ng dék sĭng bēng-buōng bī-piâng, (sèng) = g
 
 # Recent changes
 'recentchanges' => 'Cī-bŏng gì gāi-biéng',
-'recentchangestext' => 'Găk cī hiĕk dŭi-sùi wiki cī-bŏng dék sĭng gì gāi-biéng.',
+'recentchanges-summary' => 'Găk cī hiĕk dŭi-sùi wiki cī-bŏng dék sĭng gì gāi-biéng.',
 'rcnote' => 'Â-dā̤ sê <strong>{{PLURAL:$1|ék|$2}}</strong> gĕ̤ng ī-nô̤i (hiêng-câi sê $3) dék sĭng gì <strong>{{PLURAL:$1|1|$1}}</strong> hâung gāi-biéng.',
 'rclistfrom' => 'Hiēng-sê iù $1 kăi-sṳ̄ gì sĭng gāi-biéng',
 'rcshowhideminor' => '$1 guó-éu siŭ-gāi',
index a816257..a2d2d76 100644 (file)
@@ -814,6 +814,7 @@ $2
 دەستکاریەکەت بۆ بەرگری لە تێکەڵ‌بوونی دەقی لاپەڕەکە وەر نەگیرا.<br />
 ئەمە بڕێ‌جار کاتێ ڕوو ئەدات کە لە خزمەتی پرۆکسی سەر وێب کەڵک وەر بگریت.",
 'editing' => 'دەستکاریکردنی $1',
+'creating' => 'دروستکردنی $1',
 'editingsection' => 'دەستکاریکردنی: $1 (بەش)',
 'editingcomment' => 'دەستکاریکردنی $1 (بەشی  نوێ)',
 'editconflict' => 'دەستکاری کێشە : $1',
@@ -1063,6 +1064,8 @@ $1",
 
 # Diffs
 'history-title' => 'مێژووی پیاچوونەوەکانی «$1»',
+'difference-title' => 'جیاوازی نێوان پیاچوونەوەکانی «$1»',
+'difference-title-multipage' => 'جیاوازیی نێوان پەڕەی «$1» و «$2»',
 'difference-multipage' => '(جیاوازی نێوان پەڕەکان)',
 'lineno' => 'ھێڵی  $1:',
 'compareselectedversions' => 'پیاچوونەوە ھەڵبژێردراوەکان ھەڵسەنگێنە',
@@ -1158,6 +1161,7 @@ $1",
 'prefs-beta' => 'کەرەسەکانی بیتا',
 'prefs-datetime' => 'کات و ڕێکەوت',
 'prefs-labs' => 'کەرەسەکانی تاقیگەکان',
+'prefs-user-pages' => 'پەڕە بەکارھێنەرییەکان',
 'prefs-personal' => 'پرۆفایلی بەکارھێنەر',
 'prefs-rc' => 'دوایین گۆڕانکارییەکان',
 'prefs-watchlist' => 'لیستی چاودێری',
@@ -1410,7 +1414,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|گۆڕانکاری|گۆڕانکاری}}',
 'recentchanges' => 'دوایین گۆڕانکارییەکان',
 'recentchanges-legend' => 'ھەڵبژاردەکانی دوایین گۆڕانکارییەکان',
-'recentchangestext' => 'دÙ\88اÛ\8c Ø¯Ù\88اÛ\8cÛ\8cÙ\86 Ú¯Û\86Ú\95اÙ\86کارÛ\8cÛ\8cÛ\95کاÙ\86Û\8c Ø¦Û\95Ù\85 Ù\88Û\8cÚ©Û\8cÛ\95 Ø¨Ú©Û\95Ù\88Û\95 Ù\84Û\95Ù\85 Ø¦Û\95Ù\85 Ù¾Û\95Ú\95Ù\88Û\95.',
+'recentchanges-summary' => 'Ù\84Û\95Ù\85 Ù¾Û\95Ú\95Û\95دا Ø¨Û\95 Ø¯Ù\88اÛ\8c Ø¯Ù\88اÛ\8cÛ\8cÙ\86 Ú¯Û\86Ú\95اÙ\86کارÛ\8cÛ\8cÛ\95کاÙ\86 Ù\84Û\95Ù\85 Ù\88Û\8cÚ©Û\8cÛ\95دا Ø¨Ú©Û\95Ù\88Û\95.',
 'recentchanges-feed-description' => 'دوای دوایین گۆڕانکارییەکانی ئەم ویکیە بکەوە لەم «فید»ەوە.',
 'recentchanges-label-newpage' => 'ئەم دەستکاریە لاپەڕەیەکی نوێی درووست‌کرد',
 'recentchanges-label-minor' => 'ئەمە دەستکاریەکی بچووکە',
index 88dfc5d..c3abfdc 100644 (file)
@@ -1041,7 +1041,7 @@ $3 мына бу себепни бильдирди: ''$2''",
 'nchanges' => '$1 {{PLURAL:$1|денъишме|денъишме}}',
 'recentchanges' => 'Сонъки денъишмелер',
 'recentchanges-legend' => 'Сонъки денъишмелер сазламалары',
-'recentchangestext' => 'Япылгъан энъ сонъки денъишмелерни бу саифеде корип оласынъыз.',
+'recentchanges-summary' => 'Япылгъан энъ сонъки денъишикликлерни бу саифеде корип оласынъыз.',
 'recentchanges-feed-description' => 'Бу лента вастасынен викиде сонъки денъишмелерни козет.',
 'recentchanges-label-newpage' => 'Бу денъишме янъы бир саифе яратты',
 'recentchanges-label-minor' => 'Бу, кичик бир денъишме',
index b1154ee..84a2ee2 100644 (file)
@@ -1038,7 +1038,7 @@ Eger bildirseñiz, saifelerdeki deñişmelerni kimniñ yapqanını köstermek i
 'nchanges' => '$1 {{PLURAL:$1|deñişme|deñişme}}',
 'recentchanges' => 'Soñki deñişmeler',
 'recentchanges-legend' => 'Soñki deñişmeler sazlamaları',
-'recentchangestext' => 'Yapılğan eñ soñki deñişmelerni bu saifede körip olasıñız.',
+'recentchanges-summary' => 'Yapılğan eñ soñki deñişikliklerni bu saifede körip olasıñız.',
 'recentchanges-feed-description' => 'Bu lenta vastasınen vikide soñki deñişmelerni közet.',
 'recentchanges-label-newpage' => 'Bu deñişme yañı bir saife yarattı',
 'recentchanges-label-minor' => 'Bu, kiçik bir deñişme',
index ca09612..2eb3325 100644 (file)
@@ -1299,9 +1299,9 @@ Ujistěte se, že tato změna udrží souvislost a posloupnost verzí v historii
 'mergelogpagetext' => 'Níže je seznam nejnovějších sloučení historie jedné stránky s jinou.',
 
 # Diffs
-'history-title' => 'Historie verzí stránky „$1“',
-'difference-title' => 'Porovnání verzí stránky „$1“',
-'difference-title-multipage' => 'Porovnání stránek „$1“ a „$2“',
+'history-title' => '$1: Historie verzí',
+'difference-title' => '$1: Porovnání verzí',
+'difference-title-multipage' => '$1 a $2: Porovnání stránek',
 'difference-multipage' => '(Rozdíly mezi stránkami)',
 'lineno' => 'Řádka $1:',
 'compareselectedversions' => 'Porovnat vybrané verze',
@@ -1397,6 +1397,7 @@ Pokud na začátek dotazu přidáte ''all:'', bude se hledat všude (včetně di
 'prefs-beta' => 'Funkce z betaverze',
 'prefs-datetime' => 'Datum a čas',
 'prefs-labs' => 'Funkce z Labs',
+'prefs-user-pages' => 'Uživatelské stránky',
 'prefs-personal' => 'Údaje o uživateli',
 'prefs-rc' => 'Poslední změny',
 'prefs-watchlist' => 'Sledované stránky',
@@ -1657,7 +1658,7 @@ Tuto operaci nelze vrátit zpět.',
 'nchanges' => '$1 {{PLURAL:$1|změna|změny|změn}}',
 'recentchanges' => 'Poslední změny',
 'recentchanges-legend' => 'Možnosti posledních změn',
-'recentchangestext' => 'Sledujte poslední změny na {{grammar:6sg|{{SITENAME}}}} na této stránce.',
+'recentchanges-summary' => 'Sledujte poslední změny na {{grammar:6sg|{{SITENAME}}}} na této stránce.',
 'recentchanges-feed-description' => 'Na tomto kanále sledujte poslední změny na {{grammar:6sg|{{SITENAME}}}}.',
 'recentchanges-label-newpage' => 'Touto editací byla založena nová stránka',
 'recentchanges-label-minor' => 'Toto je malá editace',
@@ -1856,14 +1857,15 @@ Kontaktuje prosím [[Special:ListUsers/sysop|správce]].',
 'backend-fail-writetemp' => 'Do dočasného souboru nelze zapisovat.',
 'backend-fail-closetemp' => 'Dočasný soubor nelze zavřít.',
 'backend-fail-read' => 'Soubor $1 nelze číst.',
-'backend-fail-create' => 'Soubor $1 nelze vytvořit.',
-'backend-fail-maxsize' => 'Nelze vytvořit soubor $1, protože je větší než {{PLURAL:$2|$2 bajt|$2 bajty|$2 bajtů}}.',
+'backend-fail-create' => 'Nepodařilo se zapsat do souboru $1.',
+'backend-fail-maxsize' => 'Nepodařilo se zapsat do souboru $1, protože je větší než {{PLURAL:$2|$2 bajt|$2 bajty|$2 bajtů}}.',
 'backend-fail-readonly' => 'Koncový úložný systém „$1“ je momentálně pouze pro čtení. Udaným důvodem je: „$2“',
 'backend-fail-synced' => 'Soubor „$1“ je v interních koncových úložných systémech v nekonzistentním stavu',
 'backend-fail-connect' => 'Nepodařilo se připojit ke koncovému úložnému systému „$1“.',
 'backend-fail-internal' => 'V koncovém úložném systému „$1“ došlo k neznámé chybě.',
 'backend-fail-contenttype' => 'Nelze určit typ obsahu souboru k uložení do „$1“.',
 'backend-fail-batchsize' => 'Koncový úložný systém přijal dávku s $1 {{PLURAL:souborovou operací|souborovými operacemi}}; maximum je {{PLURAL:$2|$2}}.',
+'backend-fail-usable' => 'Nepodařilo se zapsat do souboru $1 kvůli nedostatečným oprávněním nebo chybějícím adresářům/kontejnerům.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Nelze se připojit k žurnálové databázi pro koncový úložný systém „$1“.',
@@ -1926,7 +1928,6 @@ Z bezpečnostních důvodů je img_auth.php vypnuto.',
 'http-curl-error' => 'Chyba při čtení z URL: $1',
 'http-host-unreachable' => 'Nepodařilo se kontaktovat URL',
 'http-bad-status' => 'Při provádění HTTP požadavku nastal problém: $1 $2',
-'http-truncated-body' => 'Přijaté tělo požadavku bylo neúplné.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Z URL nelze číst',
index bdc4214..eeef532 100644 (file)
@@ -727,7 +727,7 @@ Mòżesz zezwòlëc jinszim brëkòwniką na łączbã z Tobą przez Twòją sta
 'nchanges' => '{{PLURAL:$1|zjinaka|zjinaczi|zjinaków}}',
 'recentchanges' => 'Slédné edicëje',
 'recentchanges-legend' => 'Òptacëje slédnych zjinaków',
-'recentchangestext' => 'Na starna prezentérëje historëjã slédnëch edicëjów w {{SITENAME}}.',
+'recentchanges-summary' => 'Na starna prezentérëje historëjã slédnëch edicëjów w {{SITENAME}}.',
 'recentchanges-feed-description' => 'Pòdstrzegô slédny zmianë w tim pòwrózkù.',
 'recentchanges-label-minor' => 'To je drobnô edicëjô',
 'rcnote' => "Niżi {{PLURAL:$1|nachôdô sã '''1''' slédnô zjinaka zrobionô|nachôdają sã '''$1''' slédné zjinaczi zrobioné|nachôdô sã '''$1''' slédnych zjinaków zrobionëch}} w {{PLURAL:$2|slédnégò dnia|slédnych '''$2''' dniach}}, rëchùjąc òd $5 dnia $4.",
index ab49bf6..73eed18 100644 (file)
@@ -201,7 +201,7 @@ $messages = array(
 'protect' => 'ꙁабранѥниѥ',
 'protect_change' => 'иꙁмѣнѥниѥ',
 'protectthispage' => 'си страницѧ ꙁабранєниѥ',
-'unprotect' => 'поущєниѥ',
+'unprotect' => 'ꙁабранѥниꙗ обраꙁа иꙁмѣнѥниѥ',
 'newpage' => 'нова страница',
 'talkpage' => 'си страницѧ бєсѣда',
 'talkpagelinktext' => 'бєсѣда',
@@ -455,7 +455,7 @@ $messages = array(
 'nchanges' => '$1 {{PLURAL:$1|мѣна|мѣнꙑ|мѣнъ}}',
 'recentchanges' => 'послѣдьнѩ мѣнꙑ',
 'recentchanges-legend' => 'послѣдьн҄ь мѣнъ строи',
-'recentchangestext' => 'с҄ьдє послѣдьнѩ мѣнꙑ сѥѩ викиопꙑтьствованиꙗ видѣти можєши',
+'recentchanges-summary' => 'с҄ьдє послѣдьнѩ мѣнꙑ сѥѩ викиопꙑтьствованиꙗ видѣти можєши',
 'recentchanges-label-newpage' => 'по сѥи мѣнꙑ нова страница сътворѥна ѥстъ',
 'recentchanges-label-minor' => 'малаꙗ мѣна',
 'recentchanges-label-bot' => 'сѭ мѣноу аѵтоматъ сътворихъ',
index 8c88f59..63baaa3 100644 (file)
@@ -503,6 +503,8 @@ Rhoddwyd y rheswm hwn - ''$2''.",
 'filereadonlyerror' => 'Nid oes modd newid y ffeil "$1" oherwydd nad oes modd gwneud dim heblaw darllen storfa\'r ffeil yn "$2" yn unig.
 
 Y rheswm a roddwyd gan y gweinyddwr a roddodd y ffeil dan glo yw "\'\'$3\'\'".',
+'invalidtitle-knownnamespace' => 'Teitl annilys o\'r enw "$3" yn y parth "$2"',
+'invalidtitle-unknownnamespace' => 'Teitl annilys ag iddi\'r rhif parth anhysbys $1 a\'r enw "$2"',
 
 # Virus scanner
 'virus-badscanner' => "Cyfluniad gwael: sganiwr firysau anhysbys: ''$1''",
@@ -924,7 +926,7 @@ Gallwch [[Special:Search|chwilio'r]] wici am dudalennau eraill perthnasol.",
 'rev-deleted-comment' => '(dilëwyd crynodeb y golygiad)',
 'rev-deleted-user' => '(enw defnyddiwr wedi ei ddiddymu)',
 'rev-deleted-event' => '(tynnwyd gweithred y lòg)',
-'rev-deleted-user-contribs' => '[tynnwyd enw defnyddiwr neu gyfeiriad IP i ffwrdd - ni ddangosir y golygiad ar y rhestr cyfraniadau]',
+'rev-deleted-user-contribs' => '[tynnwyd enw defnyddiwr neu gyfeiriad IP i ffwrdd - ni ddangosir y golygiad ar y rhestr gyfraniadau]',
 'rev-deleted-text-permission' => "'''Dilëwyd''' y diwygiad hwn o'r dudalen.
 Mae manylion ar gael yn y [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} lòg dileuon].",
 'rev-deleted-text-unhide' => "Cafodd y diwygiad hwn o'r dudalen ei '''ddileu'''.
@@ -1049,7 +1051,9 @@ Pan yn gwneud hyn dylid sicrhau nad yw dilyniant hanes tudalennau yn cael ei ddi
 'mergelogpagetext' => "Fe ddilyn rhestr o'r achosion diweddaraf o hanes tudalen yn cael ei gyfuno a hanes tudalen arall.",
 
 # Diffs
-'history-title' => "Hanes golygu '$1'",
+'history-title' => '$1: hanes golygu',
+'difference-title' => 'Y gwahaniaeth rhwng diwygiadau o "$1"',
+'difference-title-multipage' => 'Y gwahaniaeth rhwng y tudalennau "$1" a "$2"',
 'difference-multipage' => '(Y gwahaniaeth rhwng y tudalennau)',
 'lineno' => 'Llinell $1:',
 'compareselectedversions' => 'Cymharer y fersiynau dewisedig',
@@ -1146,6 +1150,7 @@ Cofiwch y gall mynegeion Google o gynnwys {{SITENAME}} fod ar ei hôl hi.",
 'prefs-beta' => 'Nodweddion Beta',
 'prefs-datetime' => 'Dyddiad ac amser',
 'prefs-labs' => 'Nodweddion Labs',
+'prefs-user-pages' => 'Tudalennau defnyddwyr',
 'prefs-personal' => 'Data defnyddiwr',
 'prefs-rc' => 'Newidiadau diweddar',
 'prefs-watchlist' => 'Rhestr wylio',
@@ -1408,7 +1413,7 @@ Mae'r wybodaeth hon ar gael i'r cyhoedd.",
 'nchanges' => '$1 {{PLURAL:$1|newid|newid|newid|newid|newid|o newidiadau}}',
 'recentchanges' => 'Newidiadau diweddar',
 'recentchanges-legend' => "Dewisiadau'r newidiadau diweddar",
-'recentchangestext' => "Dilynwch y newidiadau diweddaraf i'r wici ar y dudalen hon.",
+'recentchanges-summary' => "Dilynwch y newidiadau diweddaraf i'r wici ar y dudalen hon.",
 'recentchanges-feed-description' => "Dilynwch y newidiadau diweddaraf i'r wici gyda'r porthiant hwn.",
 'recentchanges-label-newpage' => 'Dechreuwyd tudalen newydd wrth olygu',
 'recentchanges-label-minor' => 'Mân olygiad',
@@ -1601,14 +1606,15 @@ Os yw'r broblem yn parhau, cysylltwch â [[Special:ListUsers/sysop|gweinyddwr]].
 'backend-fail-writetemp' => "Wedi methu ysgrifennu i'r ffeil dros dro.",
 'backend-fail-closetemp' => "Wedi methu cau'r ffeil dros dro.",
 'backend-fail-read' => 'Wedi methu darllen y ffeil $1.',
-'backend-fail-create' => "Wedi methu creu'r ffeil $1.",
-'backend-fail-maxsize' => "Ni ellid cynhyrchu'r ffeil $1 oherwydd ei bod yn fwy na{{PLURAL:$2||g un beit| $2 feit| $2 beit| $2 beit| $2 beit}}.",
+'backend-fail-create' => "Wedi methu ysgrifennu'r ffeil $1.",
+'backend-fail-maxsize' => "Ni ellid ysgrifennu'r ffeil $1 oherwydd ei bod yn fwy na{{PLURAL:$2||g un beit| $2 feit| $2 beit| $2 beit| $2 beit}} o faint.",
 'backend-fail-readonly' => 'Ar hyn o bryd gellir darllen y storfa "$1" yn unig. Y rheswm dros hyn yw: "\'\'$2\'\'"',
 'backend-fail-synced' => 'Mae\'r ffeil "$1" mewn cyflwr anghyson oddi mewn i\'r storfeydd tu ôl i\'r llenni.',
 'backend-fail-connect' => 'Ni ellid cysylltu â\'r storfa tu ôl i\'r llenni yn "$1".',
 'backend-fail-internal' => 'Cafwyd gwall anhysbys yn y storfa tu ôl i\'r llenni yn "$1".',
 'backend-fail-contenttype' => 'Methwyd a dirnad pa fath o gynnwys sydd yn y ffeil y ceisir ei storio yn "$1".',
 'backend-fail-batchsize' => "Rhoddwyd llwyth o {{PLURAL:$1|$1 o weithrediadau}} ffeil i'w gwneud i'r storfa; ni all nifer y {{PLURAL:$2|gweithrediadau}} fod yn fwy na $2.",
+'backend-fail-usable' => "Ni ellid ysgrifennu'r ffeil $1 oherwydd nad oedd caniatad digonol ynteu bod cyfeiriaduron neu flychau yn eisiau.",
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Methwyd cysylltu â lòg y gweithrediadau ar y storfa "$1".',
@@ -1721,8 +1727,8 @@ Pan hidlir y rhestr yn ôl defnyddiwr, yr unig rhai a ddangosir o blith y ffeili
 'filehist-missing' => 'Y ffeil yn eisiau',
 'imagelinks' => 'Defnydd y ffeil',
 'linkstoimage' => "Mae'r {{PLURAL:$1|tudalen|dudalen|tudalennau|tudalennau|tudalennau|tudalennau}} isod yn cysylltu i'r ddelwedd hon:",
-'linkstoimage-more' => "Mae rhagor na $1 {{PLURAL:$1|tudalen yn|dudalen yn|dudalen yn|o dudalennau'n|o dudalennau'n|o dudalennau'n}} cysylltu at y ffeil hon.
-Mae'r rhestr canlynol yn dangos y {{PLURAL:$1|$1 cysylltiad cyntaf}} at y ffeil hon yn unig. Mae [[Special:WhatLinksHere/$2|rhestr lawn]] ar gael.",
+'linkstoimage-more' => "Mae mwy na $1 {{PLURAL:$1|tudalen yn|dudalen yn|dudalen yn|o dudalennau'n|o dudalennau'n|o dudalennau'n}} cysylltu at y ffeil hon.
+Mae'r rhestr ganlynol yn dangos y {{PLURAL:$1|$1 cysylltiad cyntaf}} at y ffeil hon yn unig. Mae [[Special:WhatLinksHere/$2|rhestr lawn]] ar gael.",
 'nolinkstoimage' => 'Nid oes cyswllt ar unrhyw dudalen yn arwain at y ffeil hon.',
 'morelinkstoimage' => 'Gweld [[Special:WhatLinksHere/$1|rhagor o gysylltiadau]] at y ffeil hon.',
 'linkstoimage-redirect' => "$1 (tudalen ffeil sy'n ailgyfeirio) $2",
@@ -2804,7 +2810,7 @@ Gellir ychwanegu rheswm dros y dadwneud yn y crynodeb.',
 # Spam protection
 'spamprotectiontitle' => 'Hidlydd amddiffyn rhag sbam',
 'spamprotectiontext' => 'Ataliwyd y dudalen rhag ei rhoi ar gadw gan yr hidlydd sbam.
-Achos hyn yn fwy na thebyg yw presenoldeb cysylltiad i wefan ar y rhestr gwaharddedig.',
+Achos hyn yn fwy na thebyg yw presenoldeb cysylltiad i wefan ar y rhestr waharddedig.',
 'spamprotectionmatch' => "Dyma'r testun gyneuodd ein hidlydd amddiffyn rhag sbam: $1",
 'spambot_username' => 'Teclyn clirio sbam MediaWiki',
 'spam_reverting' => "Yn troi nôl i'r diwygiad diweddaraf sydd ddim yn cynnwys cysylltiadau i $1",
@@ -2882,7 +2888,7 @@ Mae'n bosib y bydd eich cyfrifiadur yn cael ei danseilio wrth ddefnyddio'r ffeil
 
 # Special:NewFiles
 'newimages' => 'Oriel y ffeiliau newydd',
-'imagelisttext' => "Isod mae rhestr {{PLURAL:$1|gwag o ffeiliau|o '''$1''' ffeil|o '''$1''' ffeil wedi'u trefnu $2|o '''$1''' ffeil wedi'u trefnu $2|o '''$1''' o ffeiliau wedi'u trefnu $2|o '''$1''' o ffeiliau wedi'u trefnu $2|}}.",
+'imagelisttext' => "Isod mae rhestr {{PLURAL:$1|wag o ffeiliau|o '''$1''' ffeil|o '''$1''' ffeil wedi'u trefnu $2|o '''$1''' ffeil wedi'u trefnu $2|o '''$1''' o ffeiliau wedi'u trefnu $2|o '''$1''' o ffeiliau wedi'u trefnu $2|}}.",
 'newimages-summary' => "Mae'r dudalen arbennig hon yn dangos y ffeiliau a uwchlwythwyd yn ddiweddar.",
 'newimages-legend' => 'Hidlo',
 'newimages-label' => "Enw'r ffeil (neu ran ohono):",
index 8676e06..aaffafc 100644 (file)
@@ -1125,7 +1125,9 @@ Vær opmæksom på at bevare kontinuiteten i sidehistorikken.
 'mergelogpagetext' => 'Nedenfor vises en liste med de nyeste sammenfletninger af en sides historik i en anden.',
 
 # Diffs
-'history-title' => 'Versionshistorik for "$1"',
+'history-title' => '$1: Versionshistorik',
+'difference-title' => 'Forskel mellem versioner af "$1"',
+'difference-title-multipage' => 'Forskel mellem siderne "$1" og "$2"',
 'difference-multipage' => '(Forskel mellem sider)',
 'lineno' => 'Linje $1:',
 'compareselectedversions' => 'Sammenlign valgte versioner',
@@ -1221,6 +1223,7 @@ Du kan prøve at bruge \"all:\" som præfiks for at søge i alt indhold (inkl. d
 'prefs-beta' => 'Betafunktioner',
 'prefs-datetime' => 'Dato og klokkeslæt',
 'prefs-labs' => 'Testfunktioner',
+'prefs-user-pages' => 'Brugerside',
 'prefs-personal' => 'Brugerdata',
 'prefs-rc' => 'Seneste ændringer',
 'prefs-watchlist' => 'Overvågningsliste',
@@ -1482,7 +1485,7 @@ Hvis du vælger at oplyse dit navn, vil det blive brugt til at tilskrive dig dit
 'nchanges' => '$1 {{PLURAL:$1|ændring|ændringer}}',
 'recentchanges' => 'Seneste ændringer',
 'recentchanges-legend' => 'Indstillinger for seneste ændringer',
-'recentchangestext' => "På denne side kan du følge de seneste ændringer på '''{{SITENAME}}'''.",
+'recentchanges-summary' => "På denne side kan du følge de seneste ændringer på '''{{SITENAME}}'''.",
 'recentchanges-feed-description' => 'Med dette feed kan du følge de seneste ændringer på {{SITENAME}}.',
 'recentchanges-label-newpage' => 'Denne redigering oprettede en ny side',
 'recentchanges-label-minor' => 'Dette er en mindre ændring',
@@ -1670,8 +1673,8 @@ Informer venligst en [[Special:ListUsers/sysop|systemadministrator]].',
 'backend-fail-writetemp' => 'Kunne ikke skrive til midlertidig fil.',
 'backend-fail-closetemp' => 'Kunne ikke lukke midlertidig fil.',
 'backend-fail-read' => 'Kunne ikke læse filen $1.',
-'backend-fail-create' => 'Kunne ikke oprette filen $1.',
-'backend-fail-maxsize' => 'Kunne ikke oprette filen $1, da den er større end {{PLURAL:$2|$2 byte|$2 bytes}}.',
+'backend-fail-create' => 'Kunne ikke gemme filen $1.',
+'backend-fail-maxsize' => 'Kunne ikke gemme filen $1, da den er større end {{PLURAL:$2|en byte|$2 bytes}}.',
 'backend-fail-readonly' => 'Lagrings-backend "$1" er i øjeblikket skrivebeskyttet. Den angivne begrundelse var: " $2 "',
 'backend-fail-synced' => 'Filen "$1" er i en inkonsistent tilstand inden for de interne lagringsbackends',
 'backend-fail-connect' => 'Kunne ikke forbinde til lagringsbackend "$1".',
index 4390984..9ddc4d5 100644 (file)
@@ -120,12 +120,12 @@ $specialPageAliases = array(
        'Block'                     => array( 'Sperren' ),
        'Blockme'                   => array( 'Proxy-Sperre' ),
        'Booksources'               => array( 'ISBN-Suche' ),
-       'BrokenRedirects'           => array( 'Kaputte_Weiterleitungen' ),
+       'BrokenRedirects'           => array( 'Defekte_Weiterleitungen', 'Kaputte_Weiterleitungen' ),
        'Categories'                => array( 'Kategorien' ),
        'ChangeEmail'               => array( 'E-Mail-Adresse_ändern' ),
        'ChangePassword'            => array( 'Passwort_ändern', 'Passwort_zurücksetzen' ),
        'ComparePages'              => array( 'Seiten_vergleichen' ),
-       'Confirmemail'              => array( 'E-Mail_bestaetigen', 'E-Mail_bestätigen' ),
+       'Confirmemail'              => array( 'E-Mail_bestätigen', 'E-Mail_bestaetigen' ),
        'Contributions'             => array( 'Beiträge' ),
        'CreateAccount'             => array( 'Benutzerkonto_anlegen' ),
        'Deadendpages'              => array( 'Sackgassenseiten' ),
@@ -133,14 +133,15 @@ $specialPageAliases = array(
        'Disambiguations'           => array( 'Begriffsklärungsverweise' ),
        'DoubleRedirects'           => array( 'Doppelte_Weiterleitungen' ),
        'EditWatchlist'             => array( 'Beobachtungsliste_bearbeiten' ),
-       'Emailuser'                 => array( 'E-Mail' ),
+       'Emailuser'                 => array( 'E-Mail_senden', 'Mailen', 'E-Mail' ),
        'Export'                    => array( 'Exportieren' ),
        'Fewestrevisions'           => array( 'Wenigstbearbeitete_Seiten' ),
        'FileDuplicateSearch'       => array( 'Dateiduplikatsuche', 'Datei-Duplikat-Suche' ),
        'Filepath'                  => array( 'Dateipfad' ),
        'Import'                    => array( 'Importieren' ),
-       'Invalidateemail'           => array( 'E-Mail_nicht_bestaetigen', 'E-Mail_nicht_bestätigen' ),
-       'BlockList'                 => array( 'Liste_der_Sperren', 'Gesperrte_IP-Adressen', 'Gesperrte_IPs' ),
+       'Invalidateemail'           => array( 'E-Mail_nicht_bestätigen', 'E-Mail_nicht_bestaetigen' ),
+       'JavaScriptTest'            => array( 'JavaScript-Test' ),
+       'BlockList'                 => array( 'Liste_der_Sperren', 'Gesperrte_IP-Adressen', 'Gesperrte_IPs', 'Sperrliste' ),
        'LinkSearch'                => array( 'Weblinksuche', 'Weblink-Suche' ),
        'Listadmins'                => array( 'Administratoren' ),
        'Listbots'                  => array( 'Bots' ),
@@ -202,9 +203,9 @@ $specialPageAliases = array(
        'Userlogout'                => array( 'Abmelden' ),
        'Userrights'                => array( 'Benutzerrechte' ),
        'Wantedcategories'          => array( 'Gewünschte_Kategorien' ),
-       'Wantedfiles'               => array( 'Fehlende_Dateien' ),
+       'Wantedfiles'               => array( 'Gewünschte_Dateien', 'Fehlende_Dateien' ),
        'Wantedpages'               => array( 'Gewünschte_Seiten' ),
-       'Wantedtemplates'           => array( 'Fehlende_Vorlagen' ),
+       'Wantedtemplates'           => array( 'Gewünschte_Vorlagen', 'Fehlende_Vorlagen' ),
        'Watchlist'                 => array( 'Beobachtungsliste' ),
        'Whatlinkshere'             => array( 'Linkliste', 'Verweisliste' ),
        'Withoutinterwiki'          => array( 'Fehlende_Interwikis' ),
@@ -245,12 +246,12 @@ $dateFormats = array(
 
 $magicWords = array(
        'redirect'                => array( '0', '#WEITERLEITUNG', '#REDIRECT' ),
-       'notoc'                   => array( '0', '__KEIN_INHALTSVERZEICHNIS__', '__NOTOC__' ),
-       'nogallery'               => array( '0', '__KEINE_GALERIE__', '__NOGALLERY__' ),
+       'notoc'                   => array( '0', '__KEIN_INHALTSVERZEICHNIS__', '__KEININHALTSVERZEICHNIS__', '__NOTOC__' ),
+       'nogallery'               => array( '0', '__KEINE_GALERIE__', '__KEINEGALERIE__', '__NOGALLERY__' ),
        'forcetoc'                => array( '0', '__INHALTSVERZEICHNIS_ERZWINGEN__', '__FORCETOC__' ),
        'toc'                     => array( '0', '__INHALTSVERZEICHNIS__', '__TOC__' ),
        'noeditsection'           => array( '0', '__ABSCHNITTE_NICHT_BEARBEITEN__', '__NOEDITSECTION__' ),
-       'noheader'                => array( '0', '__KEINKOPF__', '__NOHEADER__' ),
+       'noheader'                => array( '0', '__KEINKOPF__', '__KEIN_HEADER__', '__KEIN_KOPF__', '__KEINHEADER__', '__NOHEADER__' ),
        'currentmonth'            => array( '1', 'JETZIGER_MONAT', 'JETZIGER_MONAT_2', 'CURRENTMONTH', 'CURRENTMONTH2' ),
        'currentmonth1'           => array( '1', 'JETZIGER_MONAT_1', 'CURRENTMONTH1' ),
        'currentmonthname'        => array( '1', 'JETZIGER_MONATSNAME', 'CURRENTMONTHNAME' ),
@@ -299,19 +300,26 @@ $magicWords = array(
        'subjectpagename'         => array( '1', 'HAUPTSEITE', 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
        'subjectpagenamee'        => array( '1', 'HAUPTSEITE_URL', 'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ),
        'subst'                   => array( '0', 'ERS:', 'SUBST:' ),
-       'img_thumbnail'           => array( '1', 'miniatur', 'thumbnail', 'thumb' ),
-       'img_manualthumb'         => array( '1', 'miniatur=$1', 'thumbnail=$1', 'thumb=$1' ),
+       'safesubst'               => array( '0', 'SICHER_ERS:', 'SICHERERS:', 'SAFESUBST:' ),
+       'img_thumbnail'           => array( '1', 'miniatur', 'mini', 'thumbnail', 'thumb' ),
+       'img_manualthumb'         => array( '1', 'miniatur=$1', 'mini=$1', 'thumbnail=$1', 'thumb=$1' ),
        'img_right'               => array( '1', 'rechts', 'right' ),
        'img_left'                => array( '1', 'links', 'left' ),
        'img_none'                => array( '1', 'ohne', 'none' ),
        'img_center'              => array( '1', 'zentriert', 'center', 'centre' ),
        'img_framed'              => array( '1', 'gerahmt', 'framed', 'enframed', 'frame' ),
        'img_frameless'           => array( '1', 'rahmenlos', 'frameless' ),
-       'img_page'                => array( '1', 'seite=$1', 'seite $1', 'page=$1', 'page $1' ),
+       'img_page'                => array( '1', 'seite=$1', 'seite_$1', 'page=$1', 'page $1' ),
        'img_upright'             => array( '1', 'hochkant', 'hochkant=$1', 'hochkant $1', 'upright', 'upright=$1', 'upright $1' ),
        'img_border'              => array( '1', 'rand', 'border' ),
-       'img_sub'                 => array( '1', 'tiefgestellt', 'sub' ),
-       'img_super'               => array( '1', 'hochgestellt', 'super', 'sup' ),
+       'img_baseline'            => array( '1', 'grundlinie', 'baseline' ),
+       'img_sub'                 => array( '1', 'tiefgestellt', 'tief', 'sub' ),
+       'img_super'               => array( '1', 'hochgestellt', 'hoch', 'super', 'sup' ),
+       'img_top'                 => array( '1', 'oben', 'top' ),
+       'img_text_top'            => array( '1', 'text-oben', 'text-top' ),
+       'img_middle'              => array( '1', 'mitte', 'middle' ),
+       'img_bottom'              => array( '1', 'unten', 'bottom' ),
+       'img_text_bottom'         => array( '1', 'text-unten', 'text-bottom' ),
        'img_link'                => array( '1', 'verweis=$1', 'link=$1' ),
        'img_alt'                 => array( '1', 'alternativtext=$1', 'alt=$1' ),
        'int'                     => array( '0', 'NACHRICHT:', 'INT:' ),
@@ -319,12 +327,14 @@ $magicWords = array(
        'ns'                      => array( '0', 'NR:', 'NS:' ),
        'nse'                     => array( '0', 'NR_URL:', 'NSE:' ),
        'localurl'                => array( '0', 'LOKALE_URL:', 'LOCALURL:' ),
+       'localurle'               => array( '0', 'LOKALE_URL_C:', 'LOCALURLE:' ),
        'articlepath'             => array( '0', 'ARTIKELPFAD', 'ARTICLEPATH' ),
-       'pageid'                  => array( '0', 'SEITENID', 'PAGEID' ),
        'scriptpath'              => array( '0', 'SKRIPTPFAD', 'SCRIPTPATH' ),
-       'stylepath'               => array( '0', 'STYLEPFAD', 'STYLEPATH' ),
+       'stylepath'               => array( '0', 'STILPFAD', 'STYLEPFAD', 'STYLEPATH' ),
        'grammar'                 => array( '0', 'GRAMMATIK:', 'GRAMMAR:' ),
        'gender'                  => array( '0', 'GESCHLECHT:', 'GENDER:' ),
+       'notitleconvert'          => array( '0', '__KEINE_TITELKONVERTIERUNG__', '__NOTITLECONVERT__', '__NOTC__' ),
+       'nocontentconvert'        => array( '0', '__KEINE_INHALTSKONVERTIERUNG__', '__NOCONTENTCONVERT__', '__NOCC__' ),
        'currentweek'             => array( '1', 'JETZIGE_KALENDERWOCHE', 'CURRENTWEEK' ),
        'currentdow'              => array( '1', 'JETZIGER_WOCHENTAG_ZAHL', 'CURRENTDOW' ),
        'localweek'               => array( '1', 'LOKALE_KALENDERWOCHE', 'LOCALWEEK' ),
@@ -338,7 +348,9 @@ $magicWords = array(
        'revisiontimestamp'       => array( '1', 'REVISIONSZEITSTEMPEL', 'REVISIONTIMESTAMP' ),
        'revisionuser'            => array( '1', 'REVISIONSBENUTZER', 'REVISIONUSER' ),
        'fullurl'                 => array( '0', 'VOLLSTÄNDIGE_URL:', 'FULLURL:' ),
+       'fullurle'                => array( '0', 'VOLLSTÄNDIGE_URL_C:', 'FULLURLE:' ),
        'canonicalurl'            => array( '0', 'KANONISCHE_URL:', 'CANONICALURL:' ),
+       'canonicalurle'           => array( '0', 'KANONISCHE_URL_C:', 'CANONICALURLE:' ),
        'lcfirst'                 => array( '0', 'INITIAL_KLEIN:', 'LCFIRST:' ),
        'ucfirst'                 => array( '0', 'INITIAL_GROSS:', 'UCFIRST:' ),
        'lc'                      => array( '0', 'KLEIN:', 'LC:' ),
@@ -349,13 +361,13 @@ $magicWords = array(
        'nonewsectionlink'        => array( '1', '__KEIN_NEUER_ABSCHNITTSLINK__', '__KEIN_PLUS_LINK__', '__NONEWSECTIONLINK__' ),
        'currentversion'          => array( '1', 'JETZIGE_VERSION', 'CURRENTVERSION' ),
        'urlencode'               => array( '0', 'URLENKODIERT:', 'URLENCODE:' ),
-       'anchorencode'            => array( '0', 'SPRUNGMARKEENKODIERT:', 'ANCHORENCODE' ),
+       'anchorencode'            => array( '0', 'ANKERENKODIERT:', 'SPRUNGMARKEENKODIERT:', 'ANCHORENCODE' ),
        'currenttimestamp'        => array( '1', 'JETZIGER_ZEITSTEMPEL', 'CURRENTTIMESTAMP' ),
        'localtimestamp'          => array( '1', 'LOKALER_ZEITSTEMPEL', 'LOCALTIMESTAMP' ),
        'directionmark'           => array( '1', 'TEXTAUSRICHTUNG', 'DIRECTIONMARK', 'DIRMARK' ),
        'language'                => array( '0', '#SPRACHE:', '#LANGUAGE:' ),
        'contentlanguage'         => array( '1', 'INHALTSSPRACHE', 'CONTENTLANGUAGE', 'CONTENTLANG' ),
-       'pagesinnamespace'        => array( '1', 'SEITEN_IM_NAMENSRAUM:', 'SEITEN_NR:', 'PAGESINNAMESPACE:', 'PAGESINNS:' ),
+       'pagesinnamespace'        => array( '1', 'SEITEN_IM_NAMENSRAUM:', 'SEITEN_IN_NR:', 'SEITEN_NR:', 'PAGESINNAMESPACE:', 'PAGESINNS:' ),
        'numberofadmins'          => array( '1', 'ADMINANZAHL', 'NUMBEROFADMINS' ),
        'formatnum'               => array( '0', 'ZAHLENFORMAT', 'FORMATNUM' ),
        'padleft'                 => array( '0', 'FÜLLENLINKS', 'PADLEFT' ),
@@ -363,6 +375,7 @@ $magicWords = array(
        'special'                 => array( '0', 'spezial', 'special' ),
        'defaultsort'             => array( '1', 'SORTIERUNG:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ),
        'filepath'                => array( '0', 'DATEIPFAD:', 'FILEPATH:' ),
+       'tag'                     => array( '0', 'markierung', 'tag' ),
        'hiddencat'               => array( '1', '__VERSTECKTE_KATEGORIE__', '__WARTUNGSKATEGORIE__', '__HIDDENCAT__' ),
        'pagesincategory'         => array( '1', 'SEITEN_IN_KATEGORIE', 'SEITEN_KAT', 'PAGESINCATEGORY', 'PAGESINCAT' ),
        'pagesize'                => array( '1', 'SEITENGRÖSSE', 'PAGESIZE' ),
@@ -372,6 +385,10 @@ $magicWords = array(
        'staticredirect'          => array( '1', '__PERMANENTE_WEITERLEITUNG__', '__STATICREDIRECT__' ),
        'protectionlevel'         => array( '1', 'SCHUTZSTATUS', 'PROTECTIONLEVEL' ),
        'formatdate'              => array( '0', 'DATUMSFORMAT', 'formatdate', 'dateformat' ),
+       'url_path'                => array( '0', 'PFAD', 'PATH' ),
+       'url_query'               => array( '0', 'ABFRAGE', 'QUERY' ),
+       'defaultsort_noerror'     => array( '0', 'keinfehler', 'noerror' ),
+       'defaultsort_noreplace'   => array( '0', 'keineersetzung', 'noreplace' ),
 );
 
 $imageFiles = array(
@@ -740,8 +757,9 @@ Möglicherweise wurde sie bereits von jemand anderem gelöscht.',
 'badtitle' => 'Ungültiger Titel',
 'badtitletext' => 'Der Titel der angeforderten Seite ist ungültig, leer oder ein ungültiger Sprachlink von einem anderen Wiki.',
 'perfcached' => 'Die folgenden Daten stammen aus dem Cache und sind möglicherweise nicht aktuell. Maximal {{PLURAL:$1|ein Ergebnis ist|$1 Ergebnisse sind}} im Cache verfügbar.',
-'perfcachedts' => 'Diese Daten stammen aus dem Cache. Der Zeitpunkt der letzten Aktualisierung: $1. Maximal {{PLURAL:$4|ein Ergebnis ist|$4 Ergebnisse sind}} im Cache verfügbar.',
-'querypage-no-updates' => "'''Die Aktualisierungsfunktion dieser Seite ist zurzeit deaktiviert. Die Daten werden bis auf Weiteres nicht erneuert.'''",
+'perfcachedts' => 'Diese Daten stammen aus dem Cache. Der Zeitpunkt der letzten Aktualisierung: $2, $3 Uhr. Maximal {{PLURAL:$4|ein Ergebnis ist|$4 Ergebnisse sind}} im Cache verfügbar.',
+'querypage-no-updates' => 'Die Aktualisierungsfunktion dieser Seite ist zurzeit deaktiviert.
+Die Daten werden bis auf Weiteres nicht erneuert.',
 'wrong_wfQuery_params' => 'Falsche Parameter für wfQuery()<br />
 Funktion: $1<br />
 Abfrage: $2',
@@ -825,7 +843,7 @@ Es muss sichergestellt sein, dass Cookies aktiviert sind. Danach diese Seite ern
 Überprüfe die Schreibweise (Groß-/Kleinschreibung beachten) oder [[Special:UserLogin/signup|melde dich als neuer Benutzer an]].',
 'nosuchusershort' => 'Der Benutzername „$1“ ist nicht vorhanden. Bitte überprüfe die Schreibweise.',
 'nouserspecified' => 'Bitte gib einen Benutzernamen an.',
-'login-userblocked' => '{{GENDER:$1|Dieser Benutzer|Dieser Benutzerin|Dieser Benutzer}} ist gesperrt. Anmeldung nicht erlaubt.',
+'login-userblocked' => '{{GENDER:$1|Dieser Benutzer|Diese Benutzerin|Dieser Benutzer}} ist gesperrt. Die Anmeldung ist nicht erlaubt.',
 'wrongpassword' => 'Das Passwort ist falsch. Bitte versuche es erneut.',
 'wrongpasswordempty' => 'Es wurde kein Passwort eingegeben. Bitte versuche es erneut.',
 'passwordtooshort' => 'Passwörter müssen mindestens {{PLURAL:$1|1 Zeichen|$1 Zeichen}} lang sein.',
@@ -1324,9 +1342,9 @@ Stelle sicher, dass die Versionsgeschichte einer Seite historisch korrekt ist.',
 'mergelogpagetext' => 'Dies ist das Logbuch der vereinigten Versionsgeschichten.',
 
 # Diffs
-'history-title' => 'Versionsgeschichte von „$1“',
-'difference-title' => 'Unterschied zwischen den Versionen von „$1“',
-'difference-title-multipage' => 'Unterschied zwischen den Seiten „$1“ und „$2“',
+'history-title' => '$1: Versionsgeschichte',
+'difference-title' => '$1: Unterschied zwischen den Versionen',
+'difference-title-multipage' => '$1 und $2: Unterschied zwischen den Seiten',
 'difference-multipage' => '(Unterschied zwischen Seiten)',
 'lineno' => 'Zeile $1:',
 'compareselectedversions' => 'Gewählte Versionen vergleichen',
@@ -1421,13 +1439,14 @@ Stelle sicher, dass die Versionsgeschichte einer Seite historisch korrekt ist.',
 'prefs-beta' => 'Beta-Funktionen',
 'prefs-datetime' => 'Datum und Zeit',
 'prefs-labs' => 'Alpha-Funktionen',
+'prefs-user-pages' => 'Benutzerseiten',
 'prefs-personal' => 'Benutzerdaten',
 'prefs-rc' => 'Letzte Änderungen',
 'prefs-watchlist' => 'Beobachtungsliste',
-'prefs-watchlist-days' => 'Anzahl der Tage, die die Beobachtungsliste standardmäßig umfassen soll:',
+'prefs-watchlist-days' => 'Maximale Anzahl der einbezogenen Tage:',
 'prefs-watchlist-days-max' => 'Maximal {{PLURAL:$1|ein Tag|$1 Tage}}',
-'prefs-watchlist-edits' => 'Maximale Zahl der Einträge:',
-'prefs-watchlist-edits-max' => 'Maximale Anzahl: 1000',
+'prefs-watchlist-edits' => 'Maximale Anzahl der einbezogenen Einträge:',
+'prefs-watchlist-edits-max' => 'Maximal 1.000 Einträge',
 'prefs-watchlist-token' => 'Beobachtungslisten-Token:',
 'prefs-misc' => 'Verschiedenes',
 'prefs-resetpass' => 'Passwort ändern',
@@ -1683,7 +1702,7 @@ Dies kann nicht mehr rückgängig gemacht werden.',
 'nchanges' => '$1 {{PLURAL:$1|Änderung|Änderungen}}',
 'recentchanges' => 'Letzte Änderungen',
 'recentchanges-legend' => 'Anzeigeoptionen',
-'recentchangestext' => "Auf dieser Seite kannst du die letzten Änderungen auf '''{{SITENAME}}''' nachverfolgen.",
+'recentchanges-summary' => 'Auf dieser Seite kannst du die letzten Änderungen in diesem Wiki nachverfolgen.',
 'recentchanges-feed-description' => 'Verfolge mit diesem Feed die letzten Änderungen in {{SITENAME}}.',
 'recentchanges-label-newpage' => 'Neue Seite',
 'recentchanges-label-minor' => 'Kleine Änderung',
@@ -1789,8 +1808,7 @@ Um ein '''Bild''' in einer Seite zu verwenden, nutze einen Link in der folgenden
 'largefileserver' => 'Die Datei ist größer als die vom Server eingestellte Maximalgröße.',
 'emptyfile' => 'Die hochgeladene Datei ist leer. Der Grund kann ein Tippfehler im Dateinamen sein. Bitte kontrolliere, ob du die Datei wirklich hochladen willst.',
 'windows-nonascii-filename' => 'Dieses Wiki unterstützt keine Dateinamen die Sonderzeichen enthalten.',
-'fileexists' => "Eine Datei mit diesem Namen existiert bereits.
-Bitte prüfe '''<tt>[[:$1]]</tt>''', wenn du dir nicht sicher bist, ob du sie ändern willst.
+'fileexists' => "Eine Datei dieses Namens ist bereits vorhanden. Bitte prüfe '''<tt>[[:$1]]</tt>''', sofern du dir nicht sicher bist, ob du sie ändern möchtest.
 [[$1|thumb]]",
 'filepageexists' => "Eine Beschreibungsseite wurde bereits als '''<tt>[[:$1]]</tt>''' erstellt, es ist aber keine Datei mit diesem Namen vorhanden.
 Die eingegebene Beschreibung wird nicht auf die Beschreibungsseite übernommen.
@@ -1832,7 +1850,7 @@ Das Hochladen von Java-Dateien ist nicht gestattet, da sie die Umgehung von Sich
 'destfilename' => 'Zielname:',
 'upload-maxfilesize' => 'Maximale Dateigröße: $1',
 'upload-description' => 'Dateibeschreibung',
-'upload-options' => 'Hochlade-Optionen',
+'upload-options' => 'Hochladeoptionen',
 'watchthisupload' => 'Diese Datei beobachten',
 'filewasdeleted' => 'Eine Datei mit diesem Namen wurde schon einmal hochgeladen und zwischenzeitlich wieder gelöscht. Bitte prüfe zuerst den Eintrag im $1, bevor du die Datei wirklich speicherst.',
 'filename-bad-prefix' => "Der Dateiname beginnt mit '''„$1“'''. Dies ist im allgemeinen der von einer Digitalkamera vorgegebene Dateiname und daher nicht sehr aussagekräftig.
@@ -1890,14 +1908,15 @@ Wenn das Problem weiter besteht, informiere einen [[Special:ListUsers/sysop|Syst
 'backend-fail-writetemp' => 'Die temporäre Datei konnte nicht geschrieben werden.',
 'backend-fail-closetemp' => 'Die temporäre Datei konnte nicht geschlossen werden.',
 'backend-fail-read' => 'Die Datei $1 konnte nicht gelesen werden.',
-'backend-fail-create' => 'Die Datei $1 konnte nicht erstellt werden.',
-'backend-fail-maxsize' => 'Die Datei $1 konnte nicht erstellt werden, da sie größer als {{PLURAL:$2|ein Byte|$2 Byte}} ist.',
+'backend-fail-create' => 'Die Datei $1 konnte nicht gespeichert werden.',
+'backend-fail-maxsize' => 'Die Datei $1 konnte nicht gespeichert werden, da sie größer als {{PLURAL:$2|ein Byte|$2 Byte}} ist.',
 'backend-fail-readonly' => 'Das Speicher-Backend „$1“ befindet sich derzeit im Lesemodus. Der angegebene Grund lautet: „$2“',
 'backend-fail-synced' => 'Die Datei „$1“ befindet sich, innerhalb des internen Speicher-Backends, in einem inkonsistenten Zustand.',
 'backend-fail-connect' => 'Es konnte keine Verbindung zum Speicher-Backend „$1“ hergestellt werden.',
 'backend-fail-internal' => 'Im Speicher-Backend „$1“ ist ein unbekannter Fehler aufgetreten.',
 'backend-fail-contenttype' => 'Der Inhaltstyp, der im Pfad „$1“ zu speichernden Datei, konnte nicht bestimmt werden.',
 'backend-fail-batchsize' => 'Eine Stapelverarbeitungsdatei, die {{PLURAL:$1|eine Operation|$1 Operationen}} enthält, wurde an das Speicher-Backend gesandt. Die Begrenzung liegt allerdings bei {{PLURAL:$2|einer Operation|$2 Operationen}}.',
+'backend-fail-usable' => 'Die Datei $1 konnte, entweder aufgrund eines nicht vorhandenen Verzeichnisses oder aufgrund unzureichender Berechtigungen, nicht gespeichert werden.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Es konnte keine Verbindung zur Journaldatenbank des Speicher-Backends „$1“ hergestellt werden.',
@@ -1960,7 +1979,6 @@ Aus Sicherheitsgründen ist img_auth.php deaktiviert.',
 'http-curl-error' => 'Fehler beim Abruf der URL: $1',
 'http-host-unreachable' => 'URL konnte nicht erreicht werden.',
 'http-bad-status' => 'Während der HTTP-Anfrage ist ein Fehler aufgetreten: $1 $2',
-'http-truncated-body' => 'Der Inhalt der Anforderung wurde nicht vollständig empfangen.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'URL ist nicht erreichbar',
@@ -2072,7 +2090,7 @@ Vielleicht möchtest du die Beschreibung auf der dortigen [$2 Dateibeschreibungs
 'listredirects' => 'Weiterleitungen',
 
 # Unused templates
-'unusedtemplates' => 'Unbenutzte Vorlagen',
+'unusedtemplates' => 'Verwaiste Vorlagen',
 'unusedtemplatestext' => 'Diese Seite listet alle Seiten im {{ns:template}}-Namensraum auf, die nicht in anderen Seiten eingebunden sind.
 Überprüfe andere Links zu den Vorlagen, bevor du diese löscht.',
 'unusedtemplateswlh' => 'Andere Links',
@@ -2149,8 +2167,8 @@ Jede Zeile enthält Links zur ersten und zweiten Weiterleitung sowie dem Ziel de
 'uncategorizedcategories' => 'Nicht kategorisierte Kategorien',
 'uncategorizedimages' => 'Nicht kategorisierte Dateien',
 'uncategorizedtemplates' => 'Nicht kategorisierte Vorlagen',
-'unusedcategories' => 'Unbenutzte Kategorien',
-'unusedimages' => 'Unbenutzte Dateien',
+'unusedcategories' => 'Verwaiste Kategorien',
+'unusedimages' => 'Verwaiste Dateien',
 'popularpages' => 'Beliebteste Seiten',
 'wantedcategories' => 'Gewünschte Kategorien',
 'wantedpages' => 'Gewünschte Seiten',
@@ -2244,7 +2262,7 @@ Die Ausgabe kann durch die Auswahl des Logbuchtyps, des Benutzers oder des Seite
 # Special:Categories
 'categories' => 'Kategorien',
 'categoriespagetext' => 'Folgende {{PLURAL:$1|Kategorie enthält|Kategorien enthalten}} Seiten oder Dateien.
-[[Special:UnusedCategories|Unbenutzte Kategorien]] werden hier nicht aufgeführt.
+[[Special:UnusedCategories|Verwaiste Kategorien]] werden hier nicht aufgeführt.
 Siehe auch die Liste der [[Special:WantedCategories|gewünschten Kategorien]].',
 'categoriesfrom' => 'Zeige Kategorien ab:',
 'special-categories-sort-count' => 'Sortierung nach Anzahl',
@@ -2499,9 +2517,10 @@ Siehe die [[Special:ProtectedPages|Liste der geschützten Seiten]] für alle akt
 'protect-existing-expiry' => 'Aktuelles Seitenschutzende: $2, $3 Uhr',
 'protect-otherreason' => 'Anderer/ergänzender Grund:',
 'protect-otherreason-op' => 'Anderer Grund',
-'protect-dropdown' => '*Allgemeine Schutzgründe
-** Weblink-Spam
-** Editwar
+'protect-dropdown' => '* Allgemeine Schutzgründe
+** Edit-War
+** Wiederkehrender Vandalismus
+** Wiederholtes Einstellen von Werbung
 ** Häufig eingebundene Vorlage
 ** Seite mit hoher Besucherzahl',
 'protect-edit-reasonlist' => 'Schutzgründe bearbeiten',
@@ -2976,7 +2995,7 @@ Diese auf dem lokalen Rechner speichern und danach hier hochladen.',
 'javascripttest-title' => '$1-Tests werden durchgeführt',
 'javascripttest-pagetext-noframework' => 'Diese Seite ist JavaSkript-Tests vorbehalten.',
 'javascripttest-pagetext-unknownframework' => 'Unbekanntes Framework „$1“.',
-'javascripttest-pagetext-frameworks' => 'Bitte eines der folgenden Frameworks auswählen: $1',
+'javascripttest-pagetext-frameworks' => 'Bitte wähle eine der folgenden Prüfumgebungen aus: $1',
 'javascripttest-pagetext-skins' => 'Wähle eine Benutzeroberfläche zur Durchführung der Tests aus:',
 'javascripttest-qunit-intro' => 'Siehe die [$1 Dokumentation zu Tests] auf mediawiki.org',
 'javascripttest-qunit-heading' => 'MediaWiki-JavaSkript-QUnit-Tester',
@@ -3200,7 +3219,7 @@ Durch das Herunterladen und Öffnen der Datei kann dein Computer beschädigt wer
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
 'seconds' => '{{PLURAL:$1|$1 Sekunde|$1 Sekunden}}',
 'minutes' => '{{PLURAL:$1|$1 Minute|$1 Minuten}}',
-'hours' => '{{PLURAL:$1|$1 Stunde|$1 Stunden}}',
+'hours' => '{{PLURAL:$1|einer Stunde|$1 Stunden}}',
 'days' => '{{PLURAL:$1|$1 Tag|$1 Tage}}',
 'ago' => 'vor $1',
 
@@ -3755,7 +3774,7 @@ Bitte bestätige, dass du diese Seite wirklich neu erstellen möchten.",
 'size-gigabytes' => '$1 GB',
 
 # Live preview
-'livepreview-loading' => 'Am Laden …',
+'livepreview-loading' => 'Lade …',
 'livepreview-ready' => 'Laden … Fertig!',
 'livepreview-failed' => 'Die sofortige Vorschau ist nicht möglich!
 Bitte die normale Vorschau nutzen.',
index 13d5169..6e0e6c5 100644 (file)
  * @author Xoser
  */
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Medya',
+       NS_SPECIAL          => 'Xısusi',
+       NS_TALK             => 'Werênayış',
+       NS_USER             => 'Karber',
+       NS_USER_TALK        => 'Karber_mesac',
+       NS_PROJECT_TALK     => '$1_werênayış',
+       NS_FILE             => 'Dosya',
+       NS_FILE_TALK        => 'Dosya_werênayış',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_werênayış',
+       NS_TEMPLATE         => 'Şablon',
+       NS_TEMPLATE_TALK    => 'Şablon_werênayış',
+       NS_HELP             => 'Desteg',
+       NS_HELP_TALK        => 'Desteg_werênayış',
+       NS_CATEGORY         => 'Kategori',
+       NS_CATEGORY_TALK    => 'Kategori_werênayış',
+);
+
+$specialPageAliases = array(
+       'Activeusers'               => array( 'Karbereaktiv' ),
+       'Allmessages'               => array( 'MesaciPero' ),
+       'Categories'                => array( 'Kategoriy' ),
+       'Longpages'                 => array( 'PeleDergi' ),
+       'Mycontributions'           => array( 'İştırakeMe' ),
+       'Recentchanges'             => array( 'VurnayışePeyeni' ),
+       'Specialpages'              => array( 'PeleyXısusi' ),
+       'Statistics'                => array( 'İstatistiki' ),
+       'Tags'                      => array( 'Etiketi' ),
+       'Upload'                    => array( 'Barke' ),
+       'Version'                   => array( 'Versiyon' ),
+       'Watchlist'                 => array( 'Listeyseyri' ),
+);
+
+$magicWords = array(
+       'redirect'                => array( '0', '#HETENAYIŞ', '#REDIRECT' ),
+       'nogallery'               => array( '0', '#GALERİÇINO', '__NOGALLERY__' ),
+       'msg'                     => array( '0', 'MSC', 'MSG:' ),
+       'language'                => array( '0', '#ZIWAN', '#LANGUAGE:' ),
+       'special'                 => array( '0', 'xısusi', 'special' ),
+       'speciale'                => array( '0', 'xısusiye', 'speciale' ),
+       'tag'                     => array( '0', 'etiket', 'tag' ),
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Bınê gırey de xete bance:',
@@ -155,7 +199,7 @@ $messages = array(
 'cancel' => 'Texelnayış',
 'moredotdotdot' => 'Vêşêri...',
 'mypage' => 'Pela mı',
-'mytalk' => 'Werênayışê mı',
+'mytalk' => 'Persiyê mı',
 'anontalk' => 'Pela werênayışê nê IPy',
 'navigation' => 'Pusula',
 'and' => '&#32;u',
@@ -173,8 +217,8 @@ $messages = array(
 
 # Vector skin
 'vector-action-addsection' => 'Qal berze cı',
-'vector-action-delete' => 'Bestere',
-'vector-action-move' => 'Bere',
+'vector-action-delete' => 'Besterne',
+'vector-action-move' => 'Ahûln',
 'vector-action-protect' => 'Bıpawe',
 'vector-action-undelete' => 'Esterıtışi peyser bıgê',
 'vector-action-unprotect' => 'Starkerdışi bıvurne',
@@ -207,7 +251,7 @@ $messages = array(
 'create' => 'Vırazê',
 'editthispage' => 'Ena pele bıvurne',
 'create-this-page' => 'Na pele bınuse',
-'delete' => 'Bestere',
+'delete' => 'Besterne',
 'deletethispage' => 'Ena pele bestere',
 'undelete_short' => '{{PLURAL:$1|Yew vurnayışi|$1 Vurnayışan}} mestere',
 'viewdeleted_short' => '{{PLURAL:$1|Yew vurnayışo esterıte|$1 Vurnayışanê esterıtan}} bımocne',
@@ -218,14 +262,14 @@ $messages = array(
 'unprotectthispage' => 'Starkerdışe ena peler bıvurne',
 'newpage' => 'Pela newiye',
 'talkpage' => 'Ena pele sero werêne',
-'talkpagelinktext' => 'Werênayış',
+'talkpagelinktext' => 'Mesac',
 'specialpage' => 'Pela xısusi',
 'personaltools' => 'Hacetê şexsi',
 'postcomment' => 'Qısımo newe',
 'articlepage' => 'Pela zerreki bıvêne',
-'talk' => 'Werênayış',
+'talk' => 'Persiyey',
 'views' => 'Asayışi',
-'toolbox' => 'Qutiya hacetan',
+'toolbox' => 'Haceti',
 'userpage' => 'Pela karberi bıvêne',
 'projectpage' => 'Pela procey bıvêne',
 'imagepage' => 'Pela dosya bımocne',
@@ -287,7 +331,7 @@ $1',
 'youhavenewmessages' => 'To rê estê $1 ($2).',
 'newmessageslink' => 'mesacê newey',
 'newmessagesdifflink' => 'vurnayışo peyên',
-'youhavenewmessagesmulti' => 'To rê $1 de mesacê newey estê',
+'youhavenewmessagesmulti' => '$1 mesaco newe esto',
 'editsection' => 'bıvurne',
 'editsection-brackets' => '[$1]',
 'editold' => 'bıvurne',
@@ -335,7 +379,7 @@ Keyepelê {{SITENAME}} eşkeno xeta eşkera bıkero.',
 'nosuchspecialpage' => 'Pela xasa wınasiye çıniya',
 'nospecialpagetext' => '<strong>To yew pela xasa nêvêrdiye waşte.</strong>
 
-Seba lista pelanê xasanê vêrdeyan kerem ke: [[Special:SpecialPages|{{int:specialpages}}]].',
+Seba lista pelanê xasanê vêrdeyan reca kena: [[Special:SpecialPages|{{int:specialpages}}]].',
 
 # General errors
 'error' => 'Xırab',
@@ -456,8 +500,8 @@ Ravêri inan akerê, dıma be name u parola şımawa newiye cı kewê.',
 Şıma çerezi qapan kerdi.
 Ravêri inan akerê u reyna bıcerrebnê.',
 'noname' => 'Yew nameyo maqbul bınuse.',
-'loginsuccesstitle' => 'Hesab bıyo a.',
-'loginsuccess' => '{{SITENAME}} Na keyepel de pê no "$1" name şıma hesab kerdo a.',
+'loginsuccesstitle' => 'Hesab abıya',
+'loginsuccess' => "'''{{SITENAME}} dı name dê \"\$1\" şıma hesab akerdo.'''",
 'nosuchuser' => 'Ebe namey "$1"i yew karber çıniyo.
 Nuştışê namanê karberan de herfa pil u qıce rê diqet kerên.
 Nuştışê xo qonrol kerên, ya zi [[Special:UserLogin/signup|yew hesabo newe akerên]].',
@@ -484,7 +528,7 @@ Parola her {{PLURAL:$1|yew seete|$1 seete}} de yew rey erşawiyena.',
 'mailerror' => 'Erşawıtışe xetayê e-posta: $1',
 'acct_creation_throttle_hit' => 'Yew ten IP adresê şıma xebıtnayo u kewto no wiki, roco peyin de {{PLURAL:$1|1 hesab|$1 hesab}} vıraşto.
 xulasa ney kesê ke IP adresê şıma xebıtneni hini nêeşkeni ney ra zêdêr hesab akeri.',
-'emailauthenticated' => 'E-posta şıma ney tarixi de $2 $3 tarihinde tesdiq biyo.',
+'emailauthenticated' => "Adresê E-posta da şıma '''$2''' seate $3 dı kerdo araşt.",
 'emailnotauthenticated' => 'No format de nuştışê e-postayi qebul nêbeno.
 Yew formato meqbul de adresê e-posta bınuse ya zi veng bıverde.',
 'noemailprefs' => 'Hesab biyo a.',
@@ -657,7 +701,7 @@ Cıkewtışo tewr peyêno ke bloke biyo, cêr seba referansi belikerdeyo:',
 'userjspreview' => "'''şıma tena test keni ya ziverqayn seyr keni - karberê JavaScript'i hema qayd nebiyo.'''",
 'userinvalidcssjstitle' => "'''Teme:''' Mewzuyê \"\$1\" çıniyo.
 Dosyanê be namey .css u .js'i de herfa werdiye bıgurêne, mesela herında {{ns:user}}:Foo/Vector.css'i de {{ns:user}}:Foo/vector.css bınuse.",
-'updated' => '(Biyo rocane)',
+'updated' => '(Newenyaya)',
 'note' => "'''Not:'''",
 'previewnote' => "Teme! ena teyna verqeyda.'''
 Vurnayışê tu hama qeyd nıbiyo!",
@@ -702,7 +746,7 @@ Wexta ke şıma no pel vurneni diqet bıkeri, log bivini:",
 'cascadeprotectedwarning' => "'''Diqet:''' Na pele kılit biya, tenya karberê idarekeri şenê ke naye bıvurnê, çıke na zerrey {{PLURAL:$1|na pela şipa-kılitkerdiye|nê pelanê şipanê-kılitkerdiyan}} dera:",
 'titleprotectedwarning' => "'''Diqet: Na pele kılit biya, [[Special:ListGroupRights|heqê xususiy]] lazımê ke naye vırazê.'''
 Loge peniye cor de este:",
-'templatesused' => '{{PLURAL:$1|Template|Templateyan}} ke ena pele dı ca genê:',
+'templatesused' => '{{PLURAL:$1|Şablon|Şabloni}} ke na pela de xebtênê:',
 'templatesusedpreview' => '{{PLURAL:$1|Sablon|Sabloni}}  ke na verqayt de xebetnayê:',
 'templatesusedsection' => '{{PLURAL:$1|Template|Templateyan}}  ke na qısım de xebetniyenê:',
 'template-protected' => '(kılit biyo)',
@@ -765,7 +809,7 @@ Sebebo ke terefê $3 ra diyao ''$2''",
 'currentrev' => 'Halo nıkayên',
 'currentrev-asof' => 'Revizyonanê peniyan, tarixê $1',
 'revisionasof' => 'Verziyonê roca $1ine',
-'revision-info' => 'Teshihkerdışê roca $1ine be terefê $2',
+'revision-info' => 'Tehsis kerdışê roca $1ine be terefê $2',
 'previousrevision' => '← Çımraviyarnayışo kıhanêr',
 'nextrevision' => 'Tekrar-diyayışo newêr →',
 'currentrevisionlink' => 'Revizyono veror',
@@ -774,9 +818,9 @@ Sebebo ke terefê $3 ra diyao ''$2''",
 'last' => 'pey',
 'page_first' => 'verên',
 'page_last' => 'peyên',
-'histlegend' => "Ferqê weçinıtış: Qutiya versiyonan isaret bık u dest bı ''enter''i ya zi gozaga cêrêne klik bık.<br />
-Cetwel: (pey) = ferqê versiyonê peni,
-(ver) = ferqê versiyonê verni, Q = vurnayışo qıçkek.",
+'histlegend' => "'''Ferqê weçinayışi:''' Qutiya versiyonan mor ke u  ''enter''i pıploxne ya zi makera cêrêner pılpxne.<br /> 
+Lecant: '''({{int:cur}})''' = ferqê versiyonê peni,
+'''({{int:last}})''' = ferqê versiyonê verni, '''{{int:minoreditletter}}''' = vurnayışo werdı.",
 'history-fieldset-title' => 'Tarixê browsey',
 'history-show-deleted' => 'Tenya esterıt',
 'histfirst' => 'Verênêr',
@@ -888,8 +932,8 @@ rocaneyan kontrol bıkere.',
 
 # Suppression log
 'suppressionlog' => 'qeydê pinani kerdışi',
-'suppressionlogtext' => "Cêrdı, kahyayan ra zerreko nımıte u  merdumê bloke kerdışi tede estê
-listey xelati u bloki re  [[Special:BlockList|IP'yê ke bloke biyê]] bivinê.",
+'suppressionlogtext' => "Cêr de, kahyayan ra zerreko nımıte esto,eno listey besterneya u merdumê bloke kerdışiyo
+Listey xırabi u bloki re pelay [[Special:BlockList|IP'yê ke bloke biyê]] bivinê.",
 
 # History merging
 'mergehistory' => 'vere cûye pelan bıhewelın',
@@ -921,7 +965,7 @@ no vurnayişo ke şıma keni kontrol bıkere yew pelo kehen nêbo.',
 'mergelogpagetext' => 'Cêr de jû liste esta ke mocnena ra, raya tewr peyêne kamci pela tarixi be a bine ra şanawa pê.',
 
 # Diffs
-'history-title' => 'Tarixê revizyoniyê "$1"',
+'history-title' => 'Rewizyonê $1:',
 'difference-multipage' => '(Ferqê pelan)',
 'lineno' => 'Rêza $1i:',
 'compareselectedversions' => 'Verziyonan kontrol bıke',
@@ -949,7 +993,7 @@ no vurnayişo ke şıma keni kontrol bıkere yew pelo kehen nêbo.',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3) bıvênên',
 'searchmenu-legend' => 'bıgeyre tercihan (sae bıke)',
 'searchmenu-exists' => "''Ena 'Wikipediya de ser \"[[:\$1]]\" yew pel esto'''",
-'searchmenu-new' => "''Na Wikipediya de pela \"[[:\$1]]\" vıraze!'''",
+'searchmenu-new' => "''Na Wiki de pelay \"[[:\$1]]\" vıraze!'''",
 'searchhelp-url' => 'Help:Tedeestey',
 'searchmenu-prefix' => '[[Special:PrefixIndex/$1|pê eno prefix ser pelan de bigêre]]',
 'searchprofile-articles' => 'Pelê tedeestey',
@@ -962,7 +1006,7 @@ no vurnayişo ke şıma keni kontrol bıkere yew pelo kehen nêbo.',
 'searchprofile-images-tooltip' => 'Qe doyayî bigêre',
 'searchprofile-everything-tooltip' => 'Tedeestey hemine cı geyre (pelanê mınaqeşey zi tey)',
 'searchprofile-advanced-tooltip' => 'qe cayê nimeyî bigêre',
-'search-result-size' => '$1 ({{PLURAL:$2|1 çekuye|$2 çekuy}})',
+'search-result-size' => '$1 ({{PLURAL:$2|1 kelime|$2 kelimey}})',
 'search-result-category-size' => '{{PLURAL:$1|1 eza|$1 ezayan}} ({{PLURAL:$2|1 ketegoriyê bini|$2 kategiryanê binan}}, {{PLURAL:$3|1 dosya|$3 dosyayan}})',
 'search-result-score' => 'Eleqa: $1%',
 'search-redirect' => '(ber $1)',
@@ -1002,10 +1046,11 @@ Pe verbendi ''all:'', vaceyê xo bıvurni ki contenti hemi cıgeyro (pelanê mı
 'qbsettings-fixedright' => 'Rêcaene raşt',
 'qbsettings-floatingleft' => 'rêcaene çhep',
 'qbsettings-floatingright' => 'rêcaene raşt',
+'qbsettings-directionality' => 'Sabito, hereket de dosya da zıwan de şımaya gıredayeyo',
 
 # Preferences page
 'preferences' => 'Tercihi',
-'mypreferences' => 'Tercihê mı',
+'mypreferences' => 'Tercihi',
 'prefs-edits' => 'Amarê vurnayışan:',
 'prefsnologin' => 'Şıma cıkewtış nêvıraşto',
 'prefsnologintext' => 'Şıma gani be <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} cikewte]</span> ke tercihanê karberi xo eyar bıkerê.',
@@ -1030,9 +1075,9 @@ Pe verbendi ''all:'', vaceyê xo bıvurni ki contenti hemi cıgeyro (pelanê mı
 'prefs-setemail' => 'E-posta adresiyê xo saz kerê',
 'prefs-email' => 'Tercihê e-maili',
 'prefs-rendering' => 'Asayış',
-'saveprefs' => 'Qeyd ke',
+'saveprefs' => 'Star ke',
 'resetprefs' => 'Vurnayışê ke qeyd nêbiy, pak ke',
-'restoreprefs' => 'Eyaranê standardan pêroine peyser bia',
+'restoreprefs' => 'Sazanê standardan pêron newe dere barke',
 'prefs-editing' => 'Cay pela nustısi',
 'prefs-edit-boxsize' => 'Ebatê pencereyê vurnayîşî.',
 'rows' => 'Xeti:',
@@ -1077,14 +1122,14 @@ Etıya şıma rê yew kılito raştameo ke şıma şenê bıgurenê/bıxebetnê:
 'prefs-common-css-js' => 'CSS/JavaScript pê şablonanê peran de pay biya:',
 'prefs-reset-intro' => 'ena pele de şıma tercihanê xo şenê bıçarnê be tercihanê keyepelê ke verê coy eyar biy.
 Na game tepeya nêerziyena.',
-'prefs-emailconfirm-label' => 'Konfirmasyonê e-maili',
+'prefs-emailconfirm-label' => 'Tesdiqiya E-posta:',
 'prefs-textboxsize' => 'Ebatê pencerey vurnayışi',
 'youremail' => 'E-Mail (mecbur niyo) *:',
 'username' => 'Namey karberi:',
 'uid' => 'Namey karberi:',
-'prefs-memberingroups' => 'Ezayê {{PLURAL:$1|grup|grupan}}:',
+'prefs-memberingroups' => 'Ezayê {{PLURAL:$1|grub|grubi}}:',
 'prefs-registration' => 'Wextê qeydbiyayışi',
-'yourrealname' => 'Nameyo raştıkên:',
+'yourrealname' => 'Nameyo raştay',
 'yourlanguage' => 'Zıwan:',
 'yourvariant' => 'Varyante miyandê zuwani:',
 'yournick' => 'imza:',
@@ -1093,19 +1138,19 @@ Na game tepeya nêerziyena.',
 Etiketê HTMLî kontrol bike.',
 'badsiglength' => 'İmzayê şıma zaf dergo.
 $1 gani bınê no {{PLURAL:$1|karakter|karakter}}de bıbo.',
-'yourgender' => 'Cınsiyetê to:',
+'yourgender' => 'Neri makey:',
 'gender-unknown' => 'Cınsiyet nêvato',
 'gender-male' => 'cıwamêrd',
 'gender-female' => 'Cenıke',
 'prefs-help-gender' => 'keyfiyo: sofware qey adersê cinsiyet şuxulneno, no malumat umumiyo.',
-'email' => 'E-mail',
+'email' => 'E-posta',
 'prefs-help-realname' => 'Nameyo raşt waştena şıma rê mendo.
 Eka tu wazene ke nameyo raşt xo bide, ma nameyo raşt ti iştirakanê ti de mocnenê.',
 'prefs-help-email' => 'Dayışê adresa e-postey keyfiyo, labelê seba eyarê parola lazıma, wexto ke şıma naye xo vira kerê.',
 'prefs-help-email-others' => 'Şıma şenê weçinê ke ê bini be yew gırey pela şımaya karberi ya zi pela werênayışi sera şıma de ebe e-poste irtıbat kewê.
 Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena.',
 'prefs-help-email-required' => 'E-mail adrese mecburiya.',
-'prefs-info' => 'Enformasyonê temelî',
+'prefs-info' => 'Seron zanayış',
 'prefs-i18n' => 'Şaryayış kerdış',
 'prefs-signature' => 'İmza',
 'prefs-dateformat' => 'Formatê tarixi',
@@ -1273,30 +1318,30 @@ Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena
 'action-sendemail' => 'e-posta bırşe',
 
 # Recent changes
-'nchanges' => '$1 {{PLURAL:$1|vurnayış|vurnayışan}}',
+'nchanges' => '$1 {{PLURAL:$1|fın vurna|fıni vurna}}',
 'recentchanges' => 'Vurnayışê peyêni',
 'recentchanges-legend' => 'Tercihê vurnayışanê peniyan',
-'recentchangestext' => 'eno pele de ser wîkî de vurnayîşî penîyî teqib bike',
+'recentchanges-summary' => 'Ena pele de wiki sero vurnayışê peyêni teqib ke',
 'recentchanges-feed-description' => 'Ena feed dı vurnayişanê tewr peniyan teqip bık.',
-'recentchanges-label-newpage' => 'Ena edît yew pela newî viraşt',
+'recentchanges-label-newpage' => 'Enê vurnayışi pelaya newi vıraşt',
 'recentchanges-label-minor' => 'Eno yew edîto qickek o',
 'recentchanges-label-bot' => 'Eno vurnayış terefê yew boti ra vıraziyo',
 'recentchanges-label-unpatrolled' => 'Eno edît patrol nibiyo',
 'rcnote' => "Bıni dı {{PLURAL:$1|is '''1''' vurnayış|peni '''$1''' vurnayışan estê}} {{PLURAL:$2|roc|'''$2''' roci}}, hetani $5, $4.",
 'rcnotefrom' => "Cêr de vurnayîşê esto ke '''$2''' ra raver  (heta '''$1''' mucnayiyo).",
 'rclistfrom' => '$1 ra vurnayışanê neweyan bımoc',
-'rcshowhideminor' => '$1 vurnayışê qıçan',
-'rcshowhidebots' => '$1 botan',
-'rcshowhideliu' => '$1 karberanê kewti',
-'rcshowhideanons' => '$1 karberano anonomiyan',
+'rcshowhideminor' => 'Vurnayışanê werdiya $1',
+'rcshowhidebots' => 'bota $1',
+'rcshowhideliu' => 'karberanê qeydına $1',
+'rcshowhideanons' => 'karberanê anoniman $1',
 'rcshowhidepatr' => '$1 vurnayışê ke dewriya geyrayê',
-'rcshowhidemine' => '$1 nuştışanê mı',
-'rclinks' => 'bımoc $1 vurnayışi $2 roci dı<br />$3',
+'rcshowhidemine' => 'nuştışanê mı $1',
+'rclinks' => 'Peyni rocan de vurnayışa $1  $2 roci dı<br />$3',
 'diff' => 'ferq',
-'hist' => 'ver',
+'hist' => 'verên',
 'hide' => 'Bınımne',
 'show' => 'Bımocne',
-'minoreditletter' => 'q',
+'minoreditletter' => 'werdı',
 'newpageletter' => 'N',
 'boteditletter' => 'b',
 'number_of_watching_users_pageview' => '[$1 ho seyr keno {{PLURAL:$1|karber|karberî}}]',
@@ -1413,7 +1458,7 @@ Semedê ancia barkerdışi dewamkerdış ra ver tarixê esterışê dosya gani q
 'uploadvirus' => 'Ena dosya de yew virus estê: Qe detayan: $1',
 'upload-source' => 'Dosyayê henî',
 'sourcefilename' => 'Nameyê dosyaye çimeyî',
-'sourceurl' => 'URLê henî',
+'sourceurl' => "URL'yê Çımi",
 'destfilename' => 'Destînasyonê nameyêdosya',
 'upload-maxfilesize' => 'Ebatêî dosya tewr girdî: $1',
 'upload-description' => 'Deskripsiyonê dosyayî',
@@ -1446,12 +1491,13 @@ Eke problem dewam kerd [[Special:ListUsers/sysop|serkari]] de irtibat kewe.',
 'backend-fail-backup' => '$1 nê wendeyê',
 'backend-fail-notexists' => '$1 name dı dosya çına.',
 'backend-fail-delete' => '$1 nê besterneyê',
+'backend-fail-alreadyexists' => "Dosyay $1'ya nêwanêna",
 'backend-fail-store' => '$1 ra $2 berdışo nê wanêno',
 'backend-fail-copy' => '$1 ra $2 kopya kerdışena dosyayo nêbeno',
 'backend-fail-move' => '$1 ra $2 berdışo nê wanêno',
 'backend-fail-opentemp' => 'Teferruatê dosyayo nêwanêno',
 'backend-fail-read' => 'Na "$1" dosya nê wanêna',
-'backend-fail-create' => '$1 nê vırazêna',
+'backend-fail-create' => 'Dosyay $1 nê vırazıyê',
 
 # Special:UploadStash
 'uploadstash' => 'Nımıtışê barkerdışi',
@@ -1506,10 +1552,10 @@ keyepel nıka zaf meşğulo yew dema herayi de newe ra tesel bıkerê.',
 'imgfile' => 'dosya',
 'listfiles' => 'Lista Dosya',
 'listfiles_thumb' => 'Resmo qıckek',
-'listfiles_date' => 'Tarix',
+'listfiles_date' => 'Deme',
 'listfiles_name' => 'Name',
 'listfiles_user' => 'Karber',
-'listfiles_size' => 'Ebat',
+'listfiles_size' => 'Gırdiye',
 'listfiles_description' => 'Vatiş/deskripsiyon',
 'listfiles_count' => 'Versiyoni',
 
@@ -1576,6 +1622,7 @@ listeya ke ha ver a têna na {{PLURAL:$1|dosyaya ewwili|dosyaya $1 ewwili}} mocn
 ** Çift/dosyaya kopyayın',
 'filedelete-edit-reasonlist' => 'Sebebê esterayîşî bivurne',
 'filedelete-maintenance' => 'Esterayîş u resterasyonê dosyayî wextê texmirî de nibenê.',
+'filedelete-maintenance-title' => 'Dosyaya nêbesterneyêna',
 
 # MIME search
 'mimesearch' => 'MIME bigêre',
@@ -1590,7 +1637,7 @@ listeya ke ha ver a têna na {{PLURAL:$1|dosyaya ewwili|dosyaya $1 ewwili}} mocn
 'listredirects' => 'Listeyê redireksiyonî',
 
 # Unused templates
-'unusedtemplates' => 'Templateyanê nihebitiyeno',
+'unusedtemplates' => 'Şablonê ke nê xebtênê',
 'unusedtemplatestext' => 'no pel, {{ns:template}} pelê ke pelê binan de nêaseni, ninan keno.',
 'unusedtemplateswlh' => 'linkanê binî',
 
@@ -1605,7 +1652,7 @@ listeya ke ha ver a têna na {{PLURAL:$1|dosyaya ewwili|dosyaya $1 ewwili}} mocn
 # Statistics
 'statistics' => 'İstatistiki',
 'statistics-header-pages' => 'İstatistikê pele',
-'statistics-header-edits' => 'Îstatistiksê vurnayîşî',
+'statistics-header-edits' => 'Îstatistikê vurnayîşî',
 'statistics-header-views' => 'Îstatistiksê vînayîşî',
 'statistics-header-users' => 'Îstatistiksê karberî',
 'statistics-header-hooks' => 'Îstatistiksê binî',
@@ -1622,11 +1669,11 @@ listeya ke ha ver a têna na {{PLURAL:$1|dosyaya ewwili|dosyaya $1 ewwili}} mocn
 'statistics-users-active-desc' => '{{PLURAL:$1|roco peyin de|$1 roco peyin de}} karber ê ke kar kerdê.',
 'statistics-mostpopular' => 'Pelayanê ke tewr zafî vînî biye',
 
-'disambiguations' => 'Pelayê ke maneyo bini rê grê danê',
+'disambiguations' => 'Pelayê ke maneyo bini rê gırey cı esto',
 'disambiguationspage' => 'Template:disambig',
 'disambiguations-text' => 'satıro ewwil de ke peli ca genî; gıreyê pelê ciya-manayi mocneni. İkinci sırada <br />tiya de [[MediaWiki:Disambiguationspage]] gani heme gıreyê şablonê ciya-manayan  re gıre bıdiyo',
 
-'doubleredirects' => 'redireksiyonê herdi',
+'doubleredirects' => 'Hetenayışê dıletıni',
 'doubleredirectstext' => 'no pel pelê ray motışani liste keno.
 gıreyê her satıri de gıreyi; raş motışê yewın u dıyıni esto.
 <del>serê ey nuşteyi</del> safi biye.',
@@ -1634,17 +1681,17 @@ gıreyê her satıri de gıreyi; raş motışê yewın u dıyıni esto.
 'double-redirect-fixed-maintenance' => 'raçarnayışo dıletê [[$1]] ra  pela da [[$2]] timarêno',
 'double-redirect-fixer' => 'Fixerî redirek bike',
 
-'brokenredirects' => 'Redireksiyonî ke hin nixebitiyeno',
+'brokenredirects' => 'Hetenayışê vengi',
 'brokenredirectstext' => 'Redireksiyonê ey ki pelanê hama çiniyeno ra link dano:',
 'brokenredirects-edit' => 'bıvurne',
 'brokenredirects-delete' => 'bıestere',
 
-'withoutinterwiki' => 'Pelî ke bê linkanê ziwanî',
+'withoutinterwiki' => 'Peleyê ke zıwanan de bina re gırey cı çınyo',
 'withoutinterwiki-summary' => 'Enê pelî ke versiyonê ziwanî binî ra link nidano.',
-'withoutinterwiki-legend' => 'Prefiks',
+'withoutinterwiki-legend' => 'Verole',
 'withoutinterwiki-submit' => 'Bımocne',
 
-'fewestrevisions' => 'Pelî de ke revizyonê tayî estê',
+'fewestrevisions' => 'Peleyê ke cı sero tewr tayn timaryayış vıraziyayo',
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|bayt|bayti}}',
@@ -1656,37 +1703,37 @@ gıreyê her satıri de gıreyi; raş motışê yewın u dıyıni esto.
 'nimagelinks' => '$1 {{PLURAL:$1|pelayan de|pelayan de}} gurweyêno',
 'ntransclusions' => '$1 {{PLURAL:$1|pelayan de|pelayan de}} gurweyêno',
 'specialpage-empty' => 'Ser ena report netice çini yo.',
-'lonelypages' => 'Pelî ke yetim mend',
+'lonelypages' => 'Peleyê ke cı rê gıre nêdeyayo',
 'lonelypagestext' => 'Ena pelî link nibiyê ya zi pelanê binî {{SITENAME}} de transclude biy.',
 'uncategorizedpages' => 'Pelayanê ke kategorî nibiye',
-'uncategorizedcategories' => 'Kategoriyanê ke kategorî nibiye',
-'uncategorizedimages' => 'Dosyayê ke kategorî nibiye',
-'uncategorizedtemplates' => 'Templateyê ke kategorî nibiye',
-'unusedcategories' => 'Kategoriyanê ke nihebitiyeno',
-'unusedimages' => 'Dosyayê ke nihebitiyeno',
+'uncategorizedcategories' => 'Kategoriyê ke bê kategorîyê',
+'uncategorizedimages' => 'Dosyayê ke bê kategorîyê',
+'uncategorizedtemplates' => 'Şablonê ke bê kategoriyê',
+'unusedcategories' => 'Kategoriyê ke nê xebtênê',
+'unusedimages' => 'Dosyeyê ke nê xebtênê',
 'popularpages' => 'Pelî ke populer o.',
-'wantedcategories' => 'Kategoriyî ke ganî estî bî.',
-'wantedpages' => 'Pelî ke ganî estî bî.',
+'wantedcategories' => 'Kategoriye ke waştênê',
+'wantedpages' => 'Peleye ke waştênê',
 'wantedpages-badtitle' => 'sernuşte meqbul niyo: $1',
-'wantedfiles' => 'Dosyayî ke ganî estî bî.',
-'wantedtemplates' => 'Templateyî ke ganî estî bî.',
+'wantedfiles' => 'Dosyeye ke waştênê',
+'wantedtemplates' => 'Şablonê ke waştênê',
 'mostlinked' => 'Pelî ke tewr zafî lînk bîy.',
 'mostlinkedcategories' => 'Kategorî ke tewr zafî lînk bîy.',
 'mostlinkedtemplates' => 'Şablonê ke tewr zafî pela re gıre bîye.',
 'mostcategories' => 'Pelan ke tewr zaf kategorî estê.',
 'mostimages' => 'Dosyayan ke tewr zaf link estê.',
 'mostrevisions' => 'Pelan ke tewr zaf revizyonî biyê.',
-'prefixindex' => 'Pelayanê hemi pe verbend',
-'shortpages' => 'Pelê kılmi',
-'longpages' => 'Pelê dergi',
+'prefixindex' => 'Veroleya peley pêro',
+'shortpages' => 'Peleyê kılmeki',
+'longpages' => 'Peleyê dergeki',
 'deadendpages' => 'pelê ke pelê binan re gırey nêeşto',
 'deadendpagestext' => 'Ena pelan ke {{SITENAME}} de zerrî ey de link çini yo.',
-'protectedpages' => 'Pelan ke kilit biya.',
+'protectedpages' => 'Pelayê ke biyê star',
 'protectedpages-indef' => 'têna pawıteyê bêmuddeti',
 'protectedpages-cascade' => 'Kilit biyaye ke teyna cascadiye',
 'protectedpagestext' => 'pelê cêrınî pawiyenê',
 'protectedpagesempty' => 'pê ney parametreyan pelê pawiteyi çinî',
-'protectedtitles' => 'sernuşteyê pawıteyi',
+'protectedtitles' => 'Sernameyê ke starênê',
 'protectedtitlestext' => 'sernameyê cêrıni pawıte yî',
 'protectedtitlesempty' => 'pê ney parametreyan sernuşteyê pawite çinê',
 'listusers' => 'Lista karberan',
@@ -1696,7 +1743,7 @@ gıreyê her satıri de gıreyi; raş motışê yewın u dıyıni esto.
 'usercreated' => '$2 de $1 {{GENDER:$3|viraziya}}',
 'newpages' => 'Pelê newey',
 'newpages-username' => 'Namey Karberi:',
-'ancientpages' => 'Pelê kıhanêri',
+'ancientpages' => 'Wesiqeyê ke vurnayışê ciyê peyeni tewr kehani',
 'move' => 'bere',
 'movethispage' => 'Ena pele bere',
 'unusedimagestext' => 'Enê dosyey estê, feqet zerrey yew pele de wedardey niyê.
@@ -1720,7 +1767,7 @@ Xo vira mekerê ke, sıteyê webiê bini şenê direkt ebe URLi yew dosya ra gı
 # Special:Log
 'specialloguserlabel' => 'Weskedar:',
 'speciallogtitlelabel' => 'Menzil (sernuşte yana karber):',
-'log' => 'Logan',
+'log' => 'Qeydi',
 'all-logs-page' => 'Loganê umum yê hemî',
 'alllogstext' => 'qey {{SITENAME}}i mocnayişê heme rocaneyani.
 tipa rocaneyi, nameyê karberi (herfa pil u qıci re hessas a), ya zi peli (reyna hessasiyê herfa pil u qıciyi) bıweçine u esayiş qıc kerê.',
@@ -1728,16 +1775,16 @@ tipa rocaneyi, nameyê karberi (herfa pil u qıci re hessas a), ya zi peli (reyn
 'log-title-wildcard' => 'sername yê ke pê ney nuşteyi destkenêpê bıgêr.',
 
 # Special:AllPages
-'allpages' => 'Pelan hemi',
+'allpages' => 'Peli pêro',
 'alphaindexline' => '$1 ra $2ine',
 'nextpage' => 'Pela badê cû ($1)',
 'prevpage' => 'Pela verêne ($1)',
 'allpagesfrom' => 'Pelanê ke be ena herfe dest pêkenê bımocne',
 'allpagesto' => 'Pelanê ke be ena herfe qediyenê bımocne:',
 'allarticles' => 'Peli pêro',
-'allinnamespace' => 'Pelanê hemî ($1 cayênameyî)',
+'allinnamespace' => 'Peli pênro ( $1 cayênameyî)',
 'allnotinnamespace' => 'Pelanê hemî ($1 cayênameyî de niyo)',
-'allpagesprev' => 'Eveli',
+'allpagesprev' => 'Verêni',
 'allpagesnext' => 'ver şo',
 'allpagessubmit' => 'Şo',
 'allpagesprefix' => 'herfê ke şıma tiya de nuşti, pê ney herfan pelê ke destpêkenê liste ker:',
@@ -1748,7 +1795,7 @@ tipa rocaneyi, nameyê karberi (herfa pil u qıci re hessas a), ya zi peli (reyn
 # Special:Categories
 'categories' => 'Kategoriy',
 'categoriespagetext' => '{{PLURAL:$1|kategoriyê|kategoriyê}} cêrıni de pel u media esto.
-[[Special:UnusedCategories|kategori yê ke nêşuxulyeni]] tiya de nêmociyeni.
+[[Special:UnusedCategories|kategoriyê ke nê xebtênê]] tiya de nêmociyeni.
 hem zi bıewnê [[Special:WantedCategories|kategori yê ke waziyeni]].',
 'categoriesfrom' => 'kategori yê ke pê ninan destpêkeno ramocın:',
 'special-categories-sort-count' => 'goreyê çendi rêz ker.',
@@ -1826,8 +1873,8 @@ qey heqê şexsi de [[{{MediaWiki:Listgrouprights-helppage}}|hema malumato ziyed
 'emailusername' => 'Nameyê karberi:',
 'emailusernamesubmit' => 'Stare dı',
 'email-legend' => 'karberê {{SITENAME}} binan re e-posta bıerşaw',
-'emailfrom' => 'Kam ra',
-'emailto' => 'Kam rê',
+'emailfrom' => 'Rışten:',
+'emailto' => 'Geren:',
 'emailsubject' => 'behs/mesela:',
 'emailmessage' => 'Mesaj',
 'emailsend' => 'bıerşawê/bıruşnê',
@@ -1843,13 +1890,13 @@ qey heqê şexsi de [[{{MediaWiki:Listgrouprights-helppage}}|hema malumato ziyed
 
 # Watchlist
 'watchlist' => 'lista mına seyr-kerdışi',
-'mywatchlist' => 'Lista mına seyrkerdışi',
-'watchlistfor2' => 'Semedê $1 ($2)',
+'mywatchlist' => 'Listey seyri',
+'watchlistfor2' => 'Qandê $1 ($2)',
 'nowatchlist' => 'listeya temaşa kerdıişê şıma de yew madde zi çina.',
 'watchlistanontext' => 'qey vurnayişê maddeya listeya temaşakerdişi $1.',
 'watchnologin' => 'hesab akerde niyo',
 'watchnologintext' => 'qey vurnayişê listeya temaşakerdışi [[Special:UserLogin|gani şıma hesab akeri]].',
-'addwatch' => 'Listeyê seyr kerdişî xo mıyan ke',
+'addwatch' => 'Listeyê seyri deke',
 'addedwatchtext' => 'Ma pele "[[:$1]]" zerri [[Special:Watchlist|watchlist]]ê tı kerd de.
 Ena deme ra, ma qe vurnayışan ser ena pele tı haberdar keni. Hem zi çı dem ma tu ri heber dun, zerri [[Special:RecentChanges|list of recent changes]] name pele beno qalın. Tı ri beno qolay çıta vurnaye biyo.',
 'removewatch' => 'Listedê mınê seyr kerdışi ra hewad',
@@ -1869,15 +1916,15 @@ Ena deme ra, ma qe vurnayışan ser ena pele tı haberdar keni. Hem zi çı dem
 'watchlistcontains' => 'listeya seyrkerdışê şıma de $1 tene {{PLURAL:$1|peli|peli}} estî.',
 'iteminvalidname' => "pê no '$1' unsuri problem bı, nameyo nemeqbul...",
 'wlnote' => "$3 seate u bahde $4 deqa dıma {{PLURAL:$2|ju seate dı|'''$2''' ju seate dı}} {{PLURAL:$1|vurnayışe peyeni|vurnayışe '''$1''' peyeni}} cêrdeyê",
-'wlshowlast' => 'bımoc $1 seat $2 rocan $3',
-'watchlist-options' => 'Tercihanê listey seyrkerdışi',
+'wlshowlast' => 'Peyni de vurnayışan ra  $1 seata u $2 roca $3 bımocnê',
+'watchlist-options' => 'Tercihê liste da seyri',
 
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'Seyr ke...',
 'unwatching' => 'Seyr meke...',
 
 'enotif_mailer' => 'postaya xeberdayişi {{SITENAME}}',
-'enotif_reset' => 'heme pelan ziyaret kerde nişane bıker',
+'enotif_reset' => 'Pela pêro ziyaret kerde deye mor ke',
 'enotif_newpagetext' => 'Ena yew pela newî ya.',
 'enotif_impersonal_salutation' => '{{SITENAME}} karber',
 'changed' => 'vurniya',
@@ -1928,7 +1975,7 @@ Tı ra rica keno, tı zani tı ho sekeno, tı zani neticeyanê eno wedarnayışi
 'actionfailed' => 'kar nêbı',
 'deletedtext' => '"$1" biya wedariya.
 Qe qeydê wedarnayışi, $2 bevinin.',
-'dellogpage' => 'Logê bıesterışi',
+'dellogpage' => 'Qeydê besternayışi',
 'dellogpagetext' => 'listeya cêrıni heme qaydê hewn a kerdeyan o.',
 'deletionlog' => 'qaydê hewnakerdışani',
 'reverted' => 'revizyono verin tepiya anciyayo',
@@ -2023,9 +2070,9 @@ Tı eşkeno seviyeye kılit kerdışi bıvurno, feqat tı nıeşken "cascading p
 
 # Restrictions (nouns)
 'restriction-edit' => 'Bıvurne',
-'restriction-move' => 'Bere',
+'restriction-move' => 'Ahûln',
 'restriction-create' => 'Viraze',
-'restriction-upload' => 'Bar bike',
+'restriction-upload' => 'Barke',
 
 # Restriction levels
 'restriction-level-sysop' => 'pawıtışê tamamîye',
@@ -2067,7 +2114,7 @@ qey karê tepiya ardışi u qey karê hewn a kerdışê verıni bıewnê [[Speci
 'undelete-search-title' => 'Bıgeyre pelanê eserıtiyan',
 'undelete-search-box' => 'bıgêr pelê hewn a biyayeyani',
 'undelete-search-prefix' => 'pel ê ke pê ney destpêkenî, ramocın',
-'undelete-search-submit' => 'bigêre',
+'undelete-search-submit' => 'Cı geyre',
 'undelete-no-results' => 'Zerre arşîvê esterayîşî de peleyan match nibiyê.',
 'undelete-filename-mismatch' => 'Vurnayîşê ke pê wextê puli ye $1î nieşkenî biyare: nameyê dosyayî match nibeno',
 'undelete-bad-store-key' => 'Vurnayîşê ke pê wextê puli ye $1î nieşkenî biyare: verniyê esterayîşî de dosyayî vînî biya.',
@@ -2079,18 +2126,19 @@ belka cıwa ver hewn a biyo..',
 
 $1',
 'undelete-show-file-confirm' => '"<nowiki>$1</nowiki>" şıma emin î dosyaya revizyonê no $2 $3 tarixi bıvini?',
-'undelete-show-file-submit' => 'Ya',
+'undelete-show-file-submit' => 'E',
 
 # Namespace form on various pages
 'namespace' => 'Cayê namey:',
-'invert' => 'seleksiyon peyser biya',
+'invert' => 'Bê weçineni ê bina peyser biya',
+'namespace_association' => 'Pineyê cadê naman',
 'blanknamespace' => '(Ser)',
 
 # Contributions
 'contributions' => 'İştirakê karberi',
 'contributions-title' => '$1 de iştırakê karberi',
-'mycontris' => 'İştırakê mı',
-'contribsub2' => 'Semedê $1 ($2)',
+'mycontris' => 'İştıraxê mı',
+'contribsub2' => 'Qandê $1 ($2)',
 'nocontribs' => 'Ena kriteriya de vurnayîş çini yo.',
 'uctop' => '(ser)',
 'month' => 'Aşm ra (u verniyer):',
@@ -2099,11 +2147,11 @@ $1',
 'sp-contributions-newbies' => 'Tenya iştıraqanê karberanê neweyan bımocne',
 'sp-contributions-newbies-sub' => 'Qe hesebê newe',
 'sp-contributions-newbies-title' => 'Îştîrakê karberî ser hesabê neweyî',
-'sp-contributions-blocklog' => 'Cıkewtışê kılit-kerdışi',
+'sp-contributions-blocklog' => 'Qeydê kılit-kerdışi',
 'sp-contributions-deleted' => 'vurnayîşê karberî wedariyayê',
 'sp-contributions-uploads' => 'barkerdey',
-'sp-contributions-logs' => 'logî',
-'sp-contributions-talk' => 'werênayış',
+'sp-contributions-logs' => 'qeydi',
+'sp-contributions-talk' => 'mesac',
 'sp-contributions-userrights' => 'Îdarayê heqqanê karberan',
 'sp-contributions-blocked-notice' => 'verniyê no/na karber/e geriyayo/a
 qê referansi qeydê vernigrewtışi cêr de eşkera biyo:',
@@ -2167,8 +2215,8 @@ Cıkewtışo tewr peyêno ke bloke biyo, cêr seba referansi belikerdeyo:',
 'ipb-confirm' => 'Bloke kerdışi tesdik ke',
 'badipaddress' => 'Adresê IPî raşt niyo',
 'blockipsuccesssub' => 'Blok biyo',
-'blockipsuccesstext' => 'verniyê [[Special:Contributions/$1|$1]] geriya.
-<br />qey çım ra viyarnayişê verni-grewtışi bıewnê[[Special:BlockList|Ê yê ke verniyê IPadresê inan geriyayê]].',
+'blockipsuccesstext' => 'Verniya [[Special:Contributions/$1|$1]] gêriyaya.
+<br />Qey çım ra viyarnayişê verni-grewtışi bewni [[Special:BlockList|Ê yê ke verniyê IP adresê cı gêriyaya]].',
 'ipb-edit-dropdown' => 'Sebebê blokî bivurne',
 'ipb-unblock-addr' => '$1 a bik',
 'ipb-unblock' => 'Yew adresê IPî ya zi nameyê karberî blok bike',
@@ -2178,16 +2226,20 @@ Cıkewtışo tewr peyêno ke bloke biyo, cêr seba referansi belikerdeyo:',
 'unblockiptext' => 'eke şıma qayili ê yê ke verniyê IPadesê inan geriyayê akeri formê cêrıni dekerê.',
 'ipusubmit' => 'Ena blok wedarne',
 'unblocked' => '[[User:$1|$1]] blok biyo',
+'unblocked-range' => "Blokey $1'i wederya",
 'unblocked-id' => 'Blokê $1î wedariyayo',
 'blocklist' => 'Karberê kılitbiyaey',
 'ipblocklist' => 'Karberê kılitbiyaey',
 'ipblocklist-legend' => 'Yew karberê blok biyaye bivîne',
+'blocklist-userblocks' => 'Wederneyanê hesaba bınımne',
+'blocklist-tempblocks' => 'Wederneyanê idaretan bınımne',
 'blocklist-addressblocks' => 'Nêverdışanê IP bınımne',
 'blocklist-rangeblocks' => 'Nêverdışanê gırda bınımne',
 'blocklist-timestamp' => 'İmzay demi',
 'blocklist-target' => 'Menzil',
 'blocklist-expiry' => 'Wahdey qedyayışi',
 'blocklist-by' => 'hizmetdarê blokê',
+'blocklist-params' => 'Parametreyê wedernayışi',
 'blocklist-reason' => 'Sebeb:',
 'ipblocklist-submit' => 'Cı geyre',
 'ipblocklist-localblock' => 'blokê mehelli',
@@ -2213,9 +2265,9 @@ Sebebê kılit-biyayışê $1\'i: "$2"o',
 'blocklog-showsuppresslog' => 'verniyê no/na karberi cıwa ver geriyayo/ya.',
 'blocklogentry' => '[[$1]] block kerd, hetani $2 $3',
 'reblock-logentry' => 'qey [[$1]]i tarixê qediyayişi $2 $3 pa ninan a eyarê ver-grewtışan vurna.',
-'blocklogtext' => 'No kuliyatê kılitkerdış u rakerdışê fealiyetê karberano.
-Adresê IPyê ke otomatikmen kılit biyê lista de çıniyê.
-Seba lista karberanê ke heta nıka kılit biyê [[Special:BlockList|lista kılitkerdışê IPy]] bıvênên.',
+'blocklogtext' => "No kuliyatê kılitkerdış u rakerdışê fealiyetê karberano.
+Adresê IP'ya ke otomatikmen kılit biyê lista de çıniya.
+Seba lista karberanê ke heta nıka kılit biyê [[Special:BlockList|lista kılitkerdışê IPy]] bıvinê.",
 'unblocklogentry' => '$1 ake',
 'block-log-flags-anononly' => 'teyna karberê anonîmî',
 'block-log-flags-nocreate' => 'akerdışê hesabi qapan bi',
@@ -2374,7 +2426,7 @@ ma vaci: qey pelê "[[{{MediaWiki:Mainpage}}]]i " [[{{#Special:Export}}/{{MediaW
 'exportcuronly' => 'têna revizyonê peyin bıger',
 'exportnohistory' => "----
 '''Not:''' pê no form teberdayişê verê (tarix) pelan battal biyo",
-'export-submit' => 'bıkırış',
+'export-submit' => 'Teber de',
 'export-addcattext' => 'kategoriya cerıni ra maddeyan têare ker',
 'export-addcat' => 'têare ker',
 'export-addnstext' => 'pelan cayê nameyan ra têare ker',
@@ -2387,7 +2439,7 @@ ma vaci: qey pelê "[[{{MediaWiki:Mainpage}}]]i " [[{{#Special:Export}}/{{MediaW
 'allmessages' => 'Mesacê sistemi',
 'allmessagesname' => 'Name',
 'allmessagesdefault' => 'nuşteyo orjinal',
-'allmessagescurrent' => 'nuşte yo ke şuxuliyeno',
+'allmessagescurrent' => 'nuşte yo ke Karyayo',
 'allmessagestext' => 'na liste, listeya mesajê cayê nameyê wikimedya yo.
 eke şıma qayili paşt bıdi mahalli kerdışê wikimedyayi, kerem kerê pelê [//www.mediawiki.org/wiki/Localisation mahalli kerdışê wikimedyayi] u [//translatewiki.net translatewiki.net] ziyaret bıkerê.',
 'allmessagesnotsupportedDB' => "'''\$wgUseDatabaseMessages''' qefelnaye yo u ey ra '''{{ns:special}}:Allmessages''' karkerdışi re akerde niyo.",
@@ -2465,7 +2517,7 @@ dosyaya emaneti vindbiyo',
 'javascripttest' => 'Cerbnayışê JavaScripti',
 
 # Tooltip help for the actions
-'tooltip-pt-userpage' => 'Pela ya Qarberi',
+'tooltip-pt-userpage' => 'Pelaya karberi',
 'tooltip-pt-anonuserpage' => 'pelê karberê IPyi',
 'tooltip-pt-mytalk' => 'Pela ya Qıse vatışi',
 'tooltip-pt-anontalk' => 'vurnayiş ê ke no Ipadresi ra biyo muneqeşa bıker',
@@ -2493,9 +2545,9 @@ Kerem ke, qeydkerdış ra ver gocega verqayti bıxebetne.',
 'tooltip-search' => 'Zerreyê {{SITENAME}} de cı geyre',
 'tooltip-search-go' => 'Ebe nê namey tami şo yew pela ke esta',
 'tooltip-search-fulltext' => 'Seba nê meqaley pelan seha ke',
-'tooltip-p-logo' => 'Pelaseri',
-'tooltip-n-mainpage' => 'Pela Seri bıvêne',
-'tooltip-n-mainpage-description' => 'Pela seri bıvêne',
+'tooltip-p-logo' => 'Pela seri',
+'tooltip-n-mainpage' => 'Şo pela seri',
+'tooltip-n-mainpage-description' => 'Şo pela seri',
 'tooltip-n-portal' => 'Heqa projey de, çı şenay bıkerê, çı koti vêniyeno',
 'tooltip-n-currentevents' => 'Vurnayışanê peyênan de melumatê pey bıvêne',
 'tooltip-n-recentchanges' => 'Wiki de lista vurnayışanê peyênan',
@@ -2528,7 +2580,7 @@ Kerem ke, qeydkerdış ra ver gocega verqayti bıxebetne.',
 'tooltip-compareselectedversions' => 'Ferqê versiyonan bevinin',
 'tooltip-watch' => 'Eno pele listey tıyo seyir-kerdişi ri dek',
 'tooltip-watchlistedit-normal-submit' => 'Sernuşteya hewad',
-'tooltip-watchlistedit-raw-submit' => 'Listeyê seyr kerdişî newen ke',
+'tooltip-watchlistedit-raw-submit' => 'Listeyê seyri newen ke',
 'tooltip-recreate' => 'pel hewn a bışiyo zi tepiya biya',
 'tooltip-upload' => 'Bar bike',
 'tooltip-rollback' => '"Peyser biya" be yew tik pela îştirak(an)ê peyên|i(an) peyser ano.',
@@ -2631,7 +2683,7 @@ Gurênayışê nae de, beno ke sistemê şıma zerar bıvêno.",
 'newimages-summary' => 'Ena pela xasi dosyayi ke peni de bar biyayeyi mocnane.',
 'newimages-legend' => 'Filtre',
 'newimages-label' => 'Nameyê dosya ( ya zi parçe ey)',
-'showhidebots' => '($1 botan)',
+'showhidebots' => '(bota $1)',
 'noimages' => 'Çik çini yo.',
 'ilsubmit' => 'Cıgeyre',
 'bydate' => 'goreyê zemani',
@@ -2801,6 +2853,8 @@ Eg ena dosya, kondisyonê orcinali ra bıvuriya, belki detayanê hemi nıeseno.'
 'exif-source' => 'Çıme',
 'exif-urgency' => 'Aciliyet',
 'exif-fixtureidentifier' => 'Namey fiksturi',
+'exif-locationdest' => 'Tarifê cay',
+'exif-contact' => 'Zanışiya irtibati',
 'exif-writer' => 'Nuştekar',
 'exif-languagecode' => 'Zıwan',
 'exif-iimversion' => 'Verqaydê IIM',
@@ -2822,6 +2876,7 @@ Eg ena dosya, kondisyonê orcinali ra bıvuriya, belki detayanê hemi nıeseno.'
 'exif-giffilecomment' => "vatena dosya da GIF'i",
 'exif-intellectualgenre' => 'Babeta çêki',
 'exif-subjectnewscode' => 'Kodê muhtewa',
+'exif-scenecode' => 'IPTC kodê sahni',
 'exif-event' => 'Weqaya ke nameycıyo ravreno',
 'exif-organisationinimage' => 'Organizasyono ke ravêreno',
 'exif-personinimage' => 'Merdumo ke nameycıyo ravêreno',
@@ -3153,7 +3208,7 @@ Ma rica keno tesdiq bike ke ti raştî wazeno eno pel bivirazo.",
 'autosumm-blank' => 'Pele de her çi wederna',
 'autosumm-replace' => "Maqale pê '$1' vuriya",
 'autoredircomment' => 'Pele [[$1]] rê redirek biyo',
-'autosumm-new' => "Pê '$1' pele viraziyo.",
+'autosumm-new' => "Pela vıraziyê, '$1' bıvinê",
 
 # Live preview
 'livepreview-loading' => 'Ho bar keni...',
@@ -3182,7 +3237,7 @@ Ti hem zi eşkeno [[Special:EditWatchlist/raw|edit the raw list]].',
 Eka vurnayîşê ti qediyo, Listeyê Seyr Kerdişî Rocaniye Bike "{{int:Watchlistedit-raw-submit}}" klik bike.
 Ti hem zi eşkeno [[Special:EditWatchlist|use the standard editor]].',
 'watchlistedit-raw-titles' => 'Seroğî:',
-'watchlistedit-raw-submit' => 'Listeyê seyr kerdişî xo update bike',
+'watchlistedit-raw-submit' => 'Listeyê seyri newen ke',
 'watchlistedit-raw-done' => 'Listeyê tuyê seyrkerdişi rocaniye biyo',
 'watchlistedit-raw-added' => '{{PLURAL:$1|1 seroğ|$1 seroğî}} de kerd:',
 'watchlistedit-raw-removed' => '{{PLURAL:$1|1 seroğ|$1 seroğî}} de wedarno:',
@@ -3227,9 +3282,12 @@ enê programiya piya [{{SERVER}}{{SCRIPTPATH}}/COPYING jew kopyay lisans dê GNU
 'version-software' => 'Softwareyê ronayi',
 'version-software-product' => 'Mal',
 'version-software-version' => 'Versiyon',
+'version-entrypoints' => "heruna dekewtış de GRE'i",
+'version-entrypoints-header-entrypoint' => 'Heruna dekewtışi',
+'version-entrypoints-header-url' => 'GRE',
 
 # Special:FilePath
-'filepath' => 'Raherê dosyayi',
+'filepath' => 'Heruna dosyayer',
 'filepath-page' => 'Dosya:',
 'filepath-submit' => 'Şo',
 'filepath-summary' => 'Na pela xısusiye raya temame jû dosya rê ana.
@@ -3240,7 +3298,7 @@ Resımi be tam asayış mocniyayê, tipê dosyaê bini be programê cıyo elaqed
 'fileduplicatesearch-summary' => 'Dosyanê çıftan bınê têmiyankewteyan de bıgeyre.',
 'fileduplicatesearch-legend' => 'kopyayê ena dosya bigêre',
 'fileduplicatesearch-filename' => 'Nameyê dosyayi',
-'fileduplicatesearch-submit' => 'bigêre',
+'fileduplicatesearch-submit' => 'Cı geyre',
 'fileduplicatesearch-info' => '$1 × $2 piksel<br />Ebatê dosyayî: $3<br />Tipê MIMEî: $4',
 'fileduplicatesearch-result-1' => "Dosyayê ''$1î'' de hem-kopya çini yo.",
 'fileduplicatesearch-result-n' => "Dosyayê ''$1î'' de {{PLURAL:$2|1 hem-kopya|$2 hem-kopyayî'}} esto.",
@@ -3303,11 +3361,12 @@ satır ê ke pê ney # # destpêkenê zey mışore/mıjore muamele vineno.
 
 # Database error messages
 'dberr-header' => 'Ena Wiki de yew ğelet esta',
-'dberr-problems' => 'Qusir ma mevin! Site ma de nika ğeletê teknikî  esto.',
+'dberr-problems' => 'Mayê muxulêm!
+Ena sita dı newke xırabiya teknik esta.',
 'dberr-again' => 'Yew di dekika vinder u hin bar bike.',
-'dberr-info' => '(Nieşkenî serverê databaseyî bireso: $1)',
+'dberr-info' => '(Erzmelumati ra xızmetkari nêreseno: $1)',
 'dberr-usegoogle' => 'Ti eşkeno hem zi ser Google de bigêre.',
-'dberr-outofdate' => 'Note bike ke belki îdeksê tedesteyî rocaniye niyo.',
+'dberr-outofdate' => 'Ekê raten da ma deyê belki zi newen niyo qandê coy diqet kerê.',
 'dberr-cachederror' => 'Pel ke ti wazeno yew kopyayê cacheyî ay esto, ay belki rocaniyeyo.',
 
 # HTML forms
@@ -3339,6 +3398,7 @@ satır ê ke pê ney # # destpêkenê zey mışore/mıjore muamele vineno.
 'logentry-newusers-newusers' => '$1 deye namey karberi vıraziya',
 'logentry-newusers-create' => '$1 deye namey karberi vıraziya',
 'logentry-newusers-create2' => "$1'i $3 rê hesab vıraşt",
+'logentry-newusers-autocreate' => 'Hesabê $1 Otomatikmen vıraziya',
 'newuserlog-byemail' => 'pê e-mail ra paralo şiravt',
 
 # Feedback
@@ -3358,6 +3418,8 @@ satır ê ke pê ney # # destpêkenê zey mışore/mıjore muamele vineno.
 'api-error-duplicate-archive' => 'Ena {{PLURAL:$1|vurneyaya [$2 zey na dosya]| [zerrey cı zey $2 dosya]}} aseno,feqet {{PLURAL:$1|ena dosya|tewr veri}} besterneyaya.',
 'api-error-duplicate-archive-popup-title' => 'Ena {{PLURAL:$1|Dosya besterneyaya|dosya}} xora  besterneyaya.',
 'api-error-duplicate-popup-title' => '{{PLURAL:$1|dosyaya|dosyaya}} dılet',
+'api-error-filetype-banned' => 'Tipê ena dosya qedexe biya.',
+'api-error-illegal-filename' => 'Ena nameyê dosyayi kebul nibena.',
 'api-error-unknown-code' => "$1'dı jew xeta vıciye",
 'api-error-unknown-warning' => "$1'dı ikazo xırab:",
 'api-error-unknownerror' => "$1'dı jew xeta vıciye",
@@ -3369,6 +3431,7 @@ satır ê ke pê ney # # destpêkenê zey mışore/mıjore muamele vineno.
 'duration-days' => '($1 {{PLURAL:$1|roce|roci}})',
 'duration-weeks' => '$1 {{PLURAL: $1|hefte|heftey}}',
 'duration-years' => '$1 {{PLURAL:$1|serre|serri}}',
+'duration-decades' => '$1 {{PLURAL:$1|dades|dadesi}}',
 'duration-centuries' => '$1 {{PLURAL:$1|seserre|seserri}}',
 'duration-millennia' => '$1 {{PLURAL:$1|milenyum|milenyumi}}',
 
index 789e13e..d0dc072 100644 (file)
@@ -1079,9 +1079,9 @@ Zaruc, až historija wersijow nastawka jo njepśetergnjona.',
 'mergelogpagetext' => 'Dołojce jo lisćina nejnowejšych zjadnośenjow historije boka z drugej.',
 
 # Diffs
-'history-title' => 'Stawizny wersijow boka „$1“',
-'difference-title' => 'Rozdźěl mjazy wersijami "$1"',
-'difference-title-multipage' => 'Rozdźěl mjazy bokami "$1" a "$2"',
+'history-title' => '$1: Wersijowe stawizny',
+'difference-title' => '$1: Rozdźěl mjazy wersijami',
+'difference-title-multipage' => '$1 a $2: Rozdźěl mjazy bokami',
 'difference-multipage' => '(Rozdźěl mjazy bokami)',
 'lineno' => 'Rědka $1:',
 'compareselectedversions' => 'Wuzwólonej wersiji pśirownaś',
@@ -1176,6 +1176,7 @@ Zaruc, až historija wersijow nastawka jo njepśetergnjona.',
 'prefs-beta' => 'Preizkusne funkcije',
 'prefs-datetime' => 'Datum a cas',
 'prefs-labs' => 'Laborowe funkcije',
+'prefs-user-pages' => 'Wužywarske boki',
 'prefs-personal' => 'Wužywarski profil',
 'prefs-rc' => 'Aktualne změny',
 'prefs-watchlist' => 'Wobglědowańka',
@@ -1436,7 +1437,7 @@ Móžoš toś ten bok wužywaś, aby slědk stajił swóje nastajenja na standar
 'nchanges' => '$1 {{PLURAL:$1|změna|změnje|změny}}',
 'recentchanges' => 'Aktualne změny',
 'recentchanges-legend' => 'Opcije aktualnych změnow',
-'recentchangestext' => "How móžoš slědne změny we '''{{GRAMMAR:lokatiw|{{SITENAME}}}}''' slědowaś.",
+'recentchanges-summary' => "How móžoš slědne změny we '''{{GRAMMAR:lokatiw|{{SITENAME}}}}''' slědowaś.",
 'recentchanges-feed-description' => 'Slěduj z toś tym zapódaśim nejaktualnjejše změny we {{GRAMMAR:lokatiw|{{SITENAME}}}}.',
 'recentchanges-label-newpage' => 'Toś ta změna jo nowy bok napórała.',
 'recentchanges-label-minor' => 'To jo snadna změna',
@@ -1637,14 +1638,15 @@ $1',
 'backend-fail-writetemp' => 'Temporerna dataja njedajo se pisaś.',
 'backend-fail-closetemp' => 'Temporerna dataja njedajo se zacyniś.',
 'backend-fail-read' => 'Dataja $1 njedajo se cytaś.',
-'backend-fail-create' => 'Dataja $1 njedajo se napóraś.',
-'backend-fail-maxsize' => 'Dataja $1 njedajo se napóraś, dokulaž jo wětša ako {{PLURAL:$2|$2 bajt|$2 bajta|$2 bajty|$2 bajtow}}.',
+'backend-fail-create' => 'Dataja $1 njedajo se pisaś.',
+'backend-fail-maxsize' => 'Dataja $1 njedajo se pisaś, dokulaž jo wětša ako {{PLURAL:$2|jaden bajt|$2 bajta|$2 bajty|$2 bajtow}}.',
 'backend-fail-readonly' => 'Składowański backend "$1" dajo se tuchylu jano cytaś. Pśicyna jo była: "$2"',
 'backend-fail-synced' => 'Dataja "$1" jo  w internem składowańskem backenźe w inkonsistentnem stawje',
 'backend-fail-connect' => 'Zwisk z datajowym składowańskem backendom "$1" njejo móžno.',
 'backend-fail-internal' => 'W składowańskem backenźe "$1" jo njeznata zmólka nastała.',
 'backend-fail-contenttype' => 'Wopśimjeśowy typ dataje, kótaraž ma se na "$1" składowaś, njedajo se zwěsćiś.',
 'backend-fail-batchsize' => 'Štapjelowa dataja, kótaraž wopśimujo {{PLURAL:$1|jadnu operaciju|$1 operaciji|$1 operacije|$1 operacijow}},  jo se  na składowański backend pósłała; limit jo $2 {{PLURAL:$1|operaciju|operaciji|operacije|operacijow}}.',
+'backend-fail-usable' => 'Dataja $1 njedajo se dla njedosegajucych  abo felujucych zapisow pisaś.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Njejo žeden zwisk ze žurnaloweju datoweju banku za składowański backend "$1" móžno.',
@@ -1707,7 +1709,6 @@ Za optimalnu wěstotu img_auth.php jo znjemóžnjony.',
 'http-curl-error' => 'Zmólka pśi wótwółowanju URL: $1',
 'http-host-unreachable' => 'URL njejo był pśistupny.',
 'http-bad-status' => 'Wob cas HTTP-napšašowanje jo problem był: $1 $2',
-'http-truncated-body' => 'Wopśimjeśe napšašowanja jo se jano pó źělach pśiwzeło.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'URL njejo pśistupna.',
index 1a4e5db..f609f4c 100644 (file)
@@ -1373,6 +1373,7 @@ $1",
 'prefs-beta' => 'Λειτουργίες της Beta',
 'prefs-datetime' => 'Ημερομηνία και ώρα',
 'prefs-labs' => 'Λειτουργίες των Labs',
+'prefs-user-pages' => 'Σελίδες του χρήστη',
 'prefs-personal' => 'Στοιχεία χρήστη',
 'prefs-rc' => 'Πρόσφατες αλλαγές και εμφάνιση πολύ σύντομων άρθρων',
 'prefs-watchlist' => 'Λίστα παρακολούθησης',
@@ -1633,7 +1634,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|αλλαγή|αλλαγές}}',
 'recentchanges' => 'Πρόσφατες αλλαγές',
 'recentchanges-legend' => 'Επιλογές των πρόσφατων αλλαγών',
-'recentchangestext' => 'Παρακολουθήστε σε αυτή τη σελίδα τις πιο πρόσφατες αλλαγές στο Wiki.',
+'recentchanges-summary' => 'Παρακολουθήστε σε αυτή τη σελίδα τις πιο πρόσφατες αλλαγές στο Wiki.',
 'recentchanges-feed-description' => 'Παρακολουθήστε τις πιο πρόσφατες αλλαγές στο wiki σε αυτή τη ροή δεδομένων.',
 'recentchanges-label-newpage' => 'Αυτή η επεξεργασία δημιούργησε μια νέα σελίδα',
 'recentchanges-label-minor' => 'Αυτή είναι μια αλλαγή μικρής κλίμακας',
@@ -3839,6 +3840,7 @@ $5
 'logentry-delete-delete' => 'Ο/η $1 διέγραψε τη σελίδα $3',
 'logentry-delete-restore' => 'Ο/η $1 αποκατέστησε τη σελίδα $3',
 'logentry-delete-event' => '$1 άλλαξε την ορατότητα σε  {{PLURAL:$5|ένα γεγονός καταγραφής|$5 log events}} στο  $3: $4',
+'logentry-suppress-delete' => 'Ο $1 διέγραψε τη σελίδα $3',
 'revdelete-content-hid' => 'το περιεχόμενο αποκρύφθηκε',
 'revdelete-summary-hid' => 'Η σύνοψη επεξεργασίας αποκρύφθηκε',
 'revdelete-uname-hid' => 'Το όνομα χρήστη αποκρύφθηκε',
index e3a1dee..a42be02 100644 (file)
@@ -758,6 +758,7 @@ XHTML id names.
 'index-category'                 => 'Indexed pages',
 'noindex-category'               => 'Noindexed pages',
 'broken-file-category'           => 'Pages with broken file links',
+'categoryviewer-pagedlinks'      => '($1) ($2)',
 
 'linkprefix' => '/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD', # only translate this message to other languages if you have to change it
 
@@ -1661,6 +1662,7 @@ Note that using the navigation links will reset this column.',
 'mergehistory-comment'             => 'Merged [[:$1]] into [[:$2]]: $3',
 'mergehistory-same-destination'    => 'Source and destination pages cannot be the same',
 'mergehistory-reason'              => 'Reason:',
+'mergehistory-revisionrow'         => '$1 ($2) $3 . . $4 $5 $6',
 
 # Merge log
 'mergelog'           => 'Merge log',
@@ -1791,6 +1793,7 @@ Note that their indexes of {{SITENAME}} content may be out of date.',
 'prefs-beta'                    => 'Beta features',
 'prefs-datetime'                => 'Date and time',
 'prefs-labs'                    => 'Labs features',
+'prefs-user-pages'              => 'User pages',
 'prefs-personal'                => 'User profile',
 'prefs-rc'                      => 'Recent changes',
 'prefs-watchlist'               => 'Watchlist',
@@ -2061,7 +2064,8 @@ Your e-mail address is not revealed when other users contact you.',
 'recentchanges'                     => 'Recent changes',
 'recentchanges-url'                 => 'Special:RecentChanges', # do not translate or duplicate this message to other languages
 'recentchanges-legend'              => 'Recent changes options',
-'recentchangestext'                 => 'Track the most recent changes to the wiki on this page.',
+'recentchanges-summary'             => 'Track the most recent changes to the wiki on this page.',
+'recentchangestext'                 => '-', # do not translate or duplicate this message to other languages
 'recentchanges-feed-description'    => 'Track the most recent changes to the wiki in this feed.',
 'recentchanges-label-newpage'       => 'This edit created a new page',
 'recentchanges-label-minor'         => 'This is a minor edit',
@@ -2353,7 +2357,6 @@ For optimal security, img_auth.php is disabled.',
 'http-curl-error'       => 'Error fetching URL: $1',
 'http-host-unreachable' => 'Could not reach URL.',
 'http-bad-status'       => 'There was a problem during the HTTP request: $1 $2',
-'http-truncated-body'   => 'The request body was only partially received.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6'       => 'Could not reach URL',
@@ -4425,6 +4428,7 @@ Please confirm that you really want to recreate this page.",
 'ellipsis'            => '...', # only translate this message to other languages if you have to change it
 'percent'             => '$1%', # only translate this message to other languages if you have to change it
 'parentheses'         => '($1)', # only translate this message to other languages if you have to change it
+'brackets'            => '[$1]', # only translate this message to other languages if you have to change it
 
 # Multipage image navigation
 'imgmultipageprev' => '← previous page',
index 2b89fd7..0faa840 100644 (file)
@@ -700,6 +700,8 @@ $2',
 'ns-specialprotected' => 'Paĝoj en la {{ns:special}} nomspaco ne povas esti redaktataj.',
 'titleprotected' => "Ĉi titolo estas protektita de kreado de [[User:$1|$1]].
 La kialo donata estis ''$2''.",
+'invalidtitle-knownnamespace' => 'Nevalida titolo kun nomspaco "$2" kaj teksto "$3"',
+'invalidtitle-unknownnamespace' => 'Nevalida titolo kun nekonata nomspaca numero $1 kaj teksto "$2"',
 
 # Virus scanner
 'virus-badscanner' => "Malbona konfiguro: nekonata virusa skanilo: ''$1''",
@@ -789,6 +791,7 @@ Neniu retpoŝto estos sendita pro iuj jenaj kialoj.',
 'invalidemailaddress' => 'La retadreso ne povas esti akceptita, ĉar ĝi verŝajne havas malvalidan formaton.
 Enigi bone formatita adreso aŭ malplenigi tiun kampon.',
 'cannotchangeemail' => 'Kontaj retpoŝtadresoj ne povas esti ŝanĝita en ĉi tiu vikio.',
+'emaildisabled' => 'Ĉi tiu paĝaro ne povas sendi retpoŝtojn.',
 'accountcreated' => 'Konto kreita',
 'accountcreatedtext' => 'La uzanto-konto por $1 estas kreita.',
 'createaccount-title' => 'Konto-kreado por {{SITENAME}}',
@@ -1234,8 +1237,8 @@ Bonvolu kontroli la protokolojn.',
 
 # Suppression log
 'suppressionlog' => 'Protokolo pri subigado',
-'suppressionlogtext' => 'Jen listo de forigoj kaj forbaroj pri enhavo kaŝita per administrantoj.
-Rigardu la [[Special:BlockList|IP-forbarliston]] por la listo de nune operaciaj forbaroj kaj forigoj.',
+'suppressionlogtext' => 'Malsupre estas listo de forigoj kaj forbaroj pri enhavo kaŝita de administrantoj.
+Rigardu la [[Special:BlockList|forbarliston]] por la listo de nune operaciaj forbaroj kaj forigoj.',
 
 # History merging
 'mergehistory' => 'Kunfandigi historiojn de paĝoj',
@@ -1267,7 +1270,9 @@ Certigu ke ĉi tiu ŝanĝo tenos kontinuecon de la historia paĝo.',
 'mergelogpagetext' => 'Jen listo de la plej lastatempaj kunigoj de unu paĝhistorio en alian.',
 
 # Diffs
-'history-title' => 'Redakto-historio de "$1"',
+'history-title' => 'Revizio-historio de "$1"',
+'difference-title' => '$1: Malsamoj inter versioj',
+'difference-title-multipage' => 'Malsamoj inter la paĝoj $1 kaj $2',
 'difference-multipage' => '(Diferenco inter paĝoj)',
 'lineno' => 'Linio $1:',
 'compareselectedversions' => 'Kompari la elektitajn versiojn',
@@ -1625,7 +1630,7 @@ Jen hazarde generita valoro por via uzo: $1',
 'nchanges' => '$1 {{PLURAL:$1|ŝanĝo|ŝanĝoj}}',
 'recentchanges' => 'Lastaj ŝanĝoj',
 'recentchanges-legend' => 'Opcioj pri lastaj ŝanĝoj',
-'recentchangestext' => 'Per ĉi tiu paĝo vi povas sekvi la plej lastajn ŝanĝojn en la {{SITENAME}}.',
+'recentchanges-summary' => 'Per ĉi tiu paĝo vi povas sekvi la plej lastajn ŝanĝojn en la {{SITENAME}}.',
 'recentchanges-feed-description' => 'Sekvi la plej lastatempajn ŝanĝojn al la vikio en ĉi tiu fonto.',
 'recentchanges-label-newpage' => 'Ĉi tiu redakto kreis novan paĝon',
 'recentchanges-label-minor' => 'Ĉi tiu estas eta redakto',
@@ -1816,7 +1821,7 @@ Se la problemo kontinuas, kontaku [[Special:ListUsers/sysop|sisteman administran
 'backend-fail-writetemp' => 'Ne povis skribi intertempan dosieron.',
 'backend-fail-closetemp' => 'Ne povis fermi provizoran dosieron.',
 'backend-fail-read' => 'Ne povas legi dosieron "$1".',
-'backend-fail-create' => 'Ne povas krei dosieron $1.',
+'backend-fail-create' => 'Ne povas skribi dosieron $1.',
 
 # Lock manager
 'lockmanager-notlocked' => 'Ne povis malŝlosi "$1"; ĝi ne estas ŝlosita.',
@@ -2280,7 +2285,7 @@ La retadreso kiun vi enigis en [[Special:Preferences|viaj preferoj]] aperos kiel
 'watcherrortext' => 'Eraro okazis ŝanĝinte vian agordojn de atentaro por "$1".',
 
 'enotif_mailer' => 'Averta retmesaĝo de {{SITENAME}}',
-'enotif_reset' => 'Marki ĉiujn vizititajn paĝojn',
+'enotif_reset' => 'Marki ĉiujn paĝojn vizititaj',
 'enotif_newpagetext' => 'Tiu ĉi estas nova paĝo',
 'enotif_impersonal_salutation' => 'Uzanto de {{SITENAME}}',
 'changed' => 'ŝanĝita',
@@ -2577,7 +2582,7 @@ Jen la lasta ero de la forbara protokolo:',
 'badipaddress' => 'Neniu uzanto, aŭ la IP-adreso estas misformita.',
 'blockipsuccesssub' => 'Oni sukcese forbaris la adreson/nomon.',
 'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] estas forbarita. <br />
-Vidu la [[Special:BlockList|liston de IP-forbaroj]] por kontroli.',
+Vidu la [[Special:BlockList|liston de forbaroj]] por kontroli.',
 'ipb-blockingself' => 'Vi preskaŭ forbaros vin mem! Ĉu vi certas ke vi volas fari ĉi tiel?',
 'ipb-confirmhideuser' => 'Vi preskaŭ forbaras uzanto kun "kaŝi uzanton" ŝalta. Ĉi tiu kaŝi la nomon de uzanto en ĉiuj listoj ka protokoloj. Ĉu vi certas ke vi volas fari ĉi tiel?',
 'ipb-edit-dropdown' => 'Redakti kialojn por forbaro.',
@@ -2629,7 +2634,7 @@ La kialo donita por la forbaro de $1 estis: "$2"',
 'blocklog-showsuppresslog' => 'Ĉi tiu uzanto estis forbarita kaj kaŝita antaŭe. Jen la protokolo pri subpremado por via informo:',
 'blocklogentry' => 'forbaris [[$1]] por daŭro de $2 $3',
 'reblock-logentry' => 'ŝanĝis forbarajn opciojn [[$1]] kun findato de $2 $3',
-'blocklogtext' => 'Ĉi tio estas protokolo pri forbaraj kaj malforbaraj agoj. Aŭtomate forbaritaj IP adresoj ne estas listigitaj. Vidu la [[Special:BlockList|IP forbarliston]] por ĉi-momente fobaritaj uzantoj kaj IP-adresoj.',
+'blocklogtext' => 'Ĉi tio estas protokolo pri forbaraj kaj malforbaraj agoj. Aŭtomate forbaritaj IP-adresoj ne estas listigitaj. Vidu la [[Special:BlockList|forbarliston]] por ĉi-momente forbaritaj uzantoj kaj IP-adresoj.',
 'unblocklogentry' => '$1 estis restarigita',
 'block-log-flags-anononly' => 'nur anonimaj uzantoj',
 'block-log-flags-nocreate' => 'kreado de kontoj malebligita',
index 6eb3119..aa8ab47 100644 (file)
@@ -24,6 +24,7 @@
  * @author Candalua
  * @author Capmo
  * @author Cerealito
+ * @author Ciencia Al Poder
  * @author Clerc
  * @author Crazymadlover
  * @author Cvmontuy
@@ -220,25 +221,25 @@ $magicWords = array(
        'currentmonth'            => array( '1', 'MESACTUAL', 'MESACTUAL2', 'CURRENTMONTH', 'CURRENTMONTH2' ),
        'currentmonth1'           => array( '1', 'MESACTUAL1', 'CURRENTMONTH1' ),
        'currentmonthname'        => array( '1', 'MESACTUALCOMPLETO', 'NOMBREMESACTUAL', 'CURRENTMONTHNAME' ),
-       'currentmonthnamegen'     => array( '1', 'MESACTUALGENITIVO', 'CURRENTMONTHNAMEGEN', 'GENERADORNOMBREMESACTUAL' ),
-       'currentmonthabbrev'      => array( '1', 'MESACTUALABREVIADO', 'CURRENTMONTHABBREV', 'ABREVIACIONNOMBREMESACTUAL' ),
+       'currentmonthnamegen'     => array( '1', 'MESACTUALGENITIVO', 'CURRENTMONTHNAMEGEN' ),
+       'currentmonthabbrev'      => array( '1', 'MESACTUALABREVIADO', 'CURRENTMONTHABBREV' ),
        'currentday'              => array( '1', 'DÍAACTUAL', 'DIAACTUAL', 'DÍA_ACTUAL', 'DIA_ACTUAL', 'CURRENTDAY' ),
        'currentday2'             => array( '1', 'DÍAACTUAL2', 'DIAACTUAL2', 'DÍA_ACTUAL2', 'DIA_ACTUAL2', 'CURRENTDAY2' ),
        'currentdayname'          => array( '1', 'NOMBREDÍAACTUAL', 'NOMBREDIAACTUAL', 'CURRENTDAYNAME' ),
        'currentyear'             => array( '1', 'AÑOACTUAL', 'AÑO_ACTUAL', 'CURRENTYEAR' ),
        'currenttime'             => array( '1', 'HORA_MINUTOS_ACTUAL', 'HORAMINUTOSACTUAL', 'TIEMPOACTUAL', 'CURRENTTIME' ),
-       'currenthour'             => array( '1', 'HORAACTUAL', 'HORA_ACTUAL', 'CURRENTHOUR', 'HORA_MINUTOS_ACTUAL' ),
+       'currenthour'             => array( '1', 'HORAACTUAL', 'HORA_ACTUAL', 'CURRENTHOUR' ),
        'localmonth'              => array( '1', 'MESLOCAL', 'MESLOCAL2', 'LOCALMONTH', 'LOCALMONTH2' ),
        'localmonth1'             => array( '1', 'MESLOCAL1', 'LOCALMONTH1' ),
        'localmonthname'          => array( '1', 'MESLOCALCOMPLETO', 'NOMBREMESLOCAL', 'LOCALMONTHNAME' ),
-       'localmonthnamegen'       => array( '1', 'MESLOCALGENITIVO', 'LOCALMONTHNAMEGEN', 'GENERADORNOMBREMESLOCAL' ),
-       'localmonthabbrev'        => array( '1', 'MESLOCALABREVIADO', 'LOCALMONTHABBREV', 'ABREVIACIONMESLOCAL' ),
+       'localmonthnamegen'       => array( '1', 'MESLOCALGENITIVO', 'LOCALMONTHNAMEGEN' ),
+       'localmonthabbrev'        => array( '1', 'MESLOCALABREVIADO', 'LOCALMONTHABBREV' ),
        'localday'                => array( '1', 'DÍALOCAL', 'DIALOCAL', 'LOCALDAY' ),
        'localday2'               => array( '1', 'DIALOCAL2', 'DÍALOCAL2', 'LOCALDAY2' ),
        'localdayname'            => array( '1', 'NOMBREDIALOCAL', 'NOMBREDÍALOCAL', 'LOCALDAYNAME' ),
        'localyear'               => array( '1', 'AÑOLOCAL', 'LOCALYEAR' ),
-       'localtime'               => array( '1', 'HORAMINUTOSLOCAL', 'TIEMPOLOCAL', 'LOCALTIME', 'HORALOCAL' ),
-       'localhour'               => array( '1', 'HORALOCAL', 'LOCALHOUR', 'HORAMINUTOSLOCAL' ),
+       'localtime'               => array( '1', 'HORAMINUTOSLOCAL', 'TIEMPOLOCAL', 'LOCALTIME' ),
+       'localhour'               => array( '1', 'HORALOCAL', 'LOCALHOUR' ),
        'numberofpages'           => array( '1', 'NÚMERODEPÁGINAS', 'NUMERODEPAGINAS', 'NUMBEROFPAGES' ),
        'numberofarticles'        => array( '1', 'NÚMERODEARTÍCULOS', 'NUMERODEARTICULOS', 'NUMBEROFARTICLES' ),
        'numberoffiles'           => array( '1', 'NÚMERODEARCHIVOS', 'NUMERODEARCHIVOS', 'NUMBEROFFILES' ),
@@ -273,10 +274,10 @@ $magicWords = array(
        'img_center'              => array( '1', 'centro', 'centrado', 'centrada', 'centrar', 'center', 'centre' ),
        'img_framed'              => array( '1', 'marco', 'enmarcado', 'enmarcada', 'framed', 'enframed', 'frame' ),
        'img_frameless'           => array( '1', 'sinmarco', 'sin_enmarcar', 'sinenmarcar', 'frameless' ),
-       'img_page'                => array( '1', 'pagina=$1', 'página=$1', 'pagina_$1', 'página $1', 'page=$1', 'page $1' ),
+       'img_page'                => array( '1', 'pagina=$1', 'página=$1', 'pagina_$1', 'página_$1', 'page=$1', 'page $1' ),
        'img_border'              => array( '1', 'borde', 'border' ),
        'img_link'                => array( '1', 'vínculo=$1', 'vinculo=$1', 'enlace=$1', 'link=$1' ),
-       'sitename'                => array( '1', 'NOMBREDELSITIO', 'SITENAME', 'NOMBREDESITIO' ),
+       'sitename'                => array( '1', 'NOMBREDELSITIO', 'SITENAME' ),
        'ns'                      => array( '0', 'EN:', 'NS:' ),
        'localurl'                => array( '0', 'URLLOCAL', 'LOCALURL:' ),
        'localurle'               => array( '0', 'URLLOCALC:', 'LOCALURLE:' ),
@@ -1406,6 +1407,7 @@ Mientras tanto puedes buscar mediante Google, pero ten en cuenta que sus índice
 'prefs-beta' => 'Características de prueba',
 'prefs-datetime' => 'Fecha y hora',
 'prefs-labs' => 'Características de los laboratorios',
+'prefs-user-pages' => 'Páginas de usuario',
 'prefs-personal' => 'Perfil de usuario',
 'prefs-rc' => 'Cambios recientes',
 'prefs-watchlist' => 'Seguimiento',
@@ -1666,7 +1668,7 @@ Tu dirección de correo no se revela cuando otros usuarios te contactan.',
 'nchanges' => '$1 {{PLURAL:$1|cambio|cambios}}',
 'recentchanges' => 'Cambios recientes',
 'recentchanges-legend' => 'Opciones sobre cambios recientes',
-'recentchangestext' => 'Realiza un seguimiento de los cambios más recientes en el wiki en esta página.',
+'recentchanges-summary' => 'Sigue los cambios más recientes de la wiki en esta página.',
 'recentchanges-feed-description' => 'Realiza un seguimiento de los cambios más recientes en el wiki en este canal.',
 'recentchanges-label-newpage' => 'Esta edición creó una nueva página',
 'recentchanges-label-minor' => 'Esta es una edición menor',
@@ -1709,7 +1711,7 @@ Tu dirección de correo no se revela cuando otros usuarios te contactan.',
 'recentchangeslinked-to' => 'Muestra los cambios recientes en lugar de la página indicada',
 
 # Upload
-'upload' => 'Subir archivo',
+'upload' => 'Subir un archivo',
 'uploadbtn' => 'Subir un archivo',
 'reuploaddesc' => 'Regresar al formulario para subir.',
 'upload-tryagain' => 'Envíe la descripción del archivo modificado',
@@ -1819,6 +1821,20 @@ No se permite subir archivos Java, porque pueden causar que se puedan saltar res
 'filename-bad-prefix' => "El nombre del archivo que estás subiendo comienza por '''«$1»''', un nombre nada descriptivo de su contenido. Es un típico nombre de los que asignan automáticamente las cámaras digitales.
 
 Por favor, elige un nombre más descriptivo.",
+'filename-prefix-blacklist' => ' #<!-- deja esta línea exactamente como está --> <pre>
+# La sintaxis de esta página es la siguiente:
+#   * Todo texto que se encuentre después del carácter "#" hasta el final de la línea se tratará como un comentario y será ignorado
+#   * Cualquier línea que no esté en blanco será interpretada como un prefijo típico en nombres de archivo que suelen asignar automáticamente las cámaras digitales
+CIMG # Casio
+DSC_ # Nikon
+DSCF # Fuji
+DSCN # Nikon
+DUW # algunos teléfonos móviles / celulares
+IMG # genérico
+JD # Jenoptik
+MGP # Pentax
+PICT # misc.
+ #</pre> <!-- deja esta línea exactamente como está -->',
 'upload-success-subj' => 'Subida con éxito',
 'upload-success-msg' => 'Tu carga de [$2] fue exitosa. Está disponible aquí: [[:{{ns:file}}:$1]]',
 'upload-failure-subj' => 'Problema en la carga',
@@ -1855,14 +1871,15 @@ $1',
 'backend-fail-writetemp' => 'No se pudo escribir en el archivo temporal.',
 'backend-fail-closetemp' => 'No se pudo cerrar el archivo temporal.',
 'backend-fail-read' => 'No se pudo leer el archivo «$1».',
-'backend-fail-create' => 'No se pudo crear el archivo «$1».',
-'backend-fail-maxsize' => 'No se pudo crear el archivo  $1  porque es mayor de {{PLURAL:$2|$2 bytes|$2 bytes}}.',
+'backend-fail-create' => 'No se pudo escribir el archivo $1.',
+'backend-fail-maxsize' => 'No se pudo escribir el archivo $1 porque es mayor de {{PLURAL:$2|un byte|$2 bytes}}.',
 'backend-fail-readonly' => 'El servidor (back-end) de almacenamiento "$1" está actualmente en estado de sólo lectura. La razón aducida fue: "$2"',
 'backend-fail-synced' => 'El archivo "$1" se encuentra en un estado incoherente dentro de los servidores (backends) de almacenamiento interno',
 'backend-fail-connect' => 'No se pudo conectar al servidor (backend) de almacenamiento "$1".',
 'backend-fail-internal' => 'Se ha producido un error desconocido en el servidor (backend) de almacenamiento "$1".',
 'backend-fail-contenttype' => 'No se pudo determinar el tipo de contenido del archivo a guardar en " $1 ".',
 'backend-fail-batchsize' => 'El servidor (back-end) de almacenamiento ha suministrado un lote de $1 {{PLURAL:$1|operación|operaciones}} de archivo; el límite es de $2 {{PLURAL:$2|operación|operaciones}}.',
+'backend-fail-usable' => 'No se pudo escribir el archivo $1 debido a permisos insuficientes o directorios/contenedores desaparecidos.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'No se pudo conectar a la base de datos del registro del sistema de almacenamiento "$1".',
@@ -1925,7 +1942,6 @@ Para óptima seguridad, img_auth.php está desactivado.',
 'http-curl-error' => 'Error al recuperar el URL: $1',
 'http-host-unreachable' => 'No fue posible acceder a la URL.',
 'http-bad-status' => 'Ha habido un problema durante la solicitud HTTP: $1 $2',
-'http-truncated-body' => 'El cuerpo solicitado sólo fue recibido parcialmente.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'No se pudo alcanzar la URL',
@@ -1996,6 +2012,7 @@ Tal vez desee editar la descripción de su [$2 página de descripción del archi
 'uploadnewversion-linktext' => 'Subir una nueva versión de este archivo',
 'shared-repo-from' => 'de $1',
 'shared-repo' => 'un repositorio compartido',
+'filepage.css' => '/* Los estilos CSS colocados aquí se incluirán en las páginas de descripción de archivos, incluso en los wikis externos que incluyan estas páginas */',
 
 # File reversion
 'filerevert' => 'Revertir $1',
@@ -2342,7 +2359,7 @@ La dirección electrónica que indicaste en [[Special:Preferences|tus preferenci
 'watcherrortext' => 'Ocurrió un error al cambiar la configuración de tu lista de seguimiento para «$1».',
 
 'enotif_mailer' => 'Notificación por correo de {{SITENAME}}',
-'enotif_reset' => 'Marcar todas las páginas visitadas',
+'enotif_reset' => 'Marcar todas las páginas como visitadas',
 'enotif_newpagetext' => 'Se trata de una nueva página.',
 'enotif_impersonal_salutation' => 'usuario de {{SITENAME}}',
 'changed' => 'modificada',
@@ -3042,6 +3059,11 @@ Permite añadir una razón al resumen de edición.',
 'vector.css' => '/* Los estilos CSS colocados aquí se aplicarán para todos 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 */',
+'group-sysop.css' => '/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios del grupo Administradores */',
+'group-bureaucrat.css' => '/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios del grupo Burócratas */',
 
 # Scripts
 'common.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */',
@@ -3054,6 +3076,10 @@ Permite añadir una razón al resumen de edición.',
 'simple.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Simple */',
 'modern.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Moderna */',
 'vector.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Vector */',
+'group-autoconfirmed.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios del grupo Usuarios autoconfirmados */',
+'group-bot.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios del grupo Bots */',
+'group-sysop.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios del grupo Administradores */',
+'group-bureaucrat.js' => '/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios del grupo Burócratas */',
 
 # Metadata
 'notacceptable' => 'El servidor wiki no puede proveer los datos en un formato que su cliente (navegador) pueda entender.',
@@ -3139,6 +3165,7 @@ $1',
 Ejecutarlo podría comprometer la seguridad de su equipo.",
 'imagemaxsize' => "Límite de tamaño de imagen:<br />''(para páginas de descripción de archivo)''",
 'thumbsize' => 'Tamaño de las vistas en miniatura:',
+'widthheight' => '$1 × $2',
 'widthheightpage' => '$1 × $2, $3 {{PLURAL:|página|páginas}}',
 'file-info' => 'tamaño de archivo: $1; tipo MIME: $2',
 'file-info-size' => '$1 × $2 píxeles; tamaño de archivo: $3; tipo MIME: $4',
@@ -3168,8 +3195,10 @@ Ejecutarlo podría comprometer la seguridad de su equipo.",
 'sp-newimages-showfrom' => 'Mostrar nuevas imágenes empezando por $2, $1',
 
 # Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'seconds-abbrev' => '$1s',
 'minutes-abbrev' => '$1m',
 'hours-abbrev' => '$1h',
+'days-abbrev' => '$1d',
 'seconds' => '{{PLURAL:$1|un segundo|$1 segundos}}',
 'minutes' => '{{PLURAL:$1|un minuto|$1 minutos}}',
 'hours' => '{{PLURAL:$1|una hora|$1 horas}}',
index 1085a2e..60e7fc4 100644 (file)
@@ -68,6 +68,7 @@ $specialPageAliases = array(
        'DeletedContributions'      => array( 'Kustutatud_kaastöö' ),
        'Disambiguations'           => array( 'Täpsustusleheküljed' ),
        'DoubleRedirects'           => array( 'Kahekordsed_ümbersuunamised' ),
+       'EditWatchlist'             => array( 'Jälgimisloendi_redigeerimine' ),
        'Emailuser'                 => array( 'E-kirja_saatmine' ),
        'Export'                    => array( 'Lehekülgede_eksport' ),
        'Fewestrevisions'           => array( 'Vähim_muudatusi' ),
@@ -75,6 +76,7 @@ $specialPageAliases = array(
        'Filepath'                  => array( 'Failitee' ),
        'Import'                    => array( 'Lehekülgede_import' ),
        'Invalidateemail'           => array( 'E-posti_kinnituse_tühistamine', 'Tühista_e-posti_kinnitus' ),
+       'JavaScriptTest'            => array( 'JavaScripti_katsetamine' ),
        'BlockList'                 => array( 'Blokeerimisloend' ),
        'LinkSearch'                => array( 'Välislinkide_otsimine', 'Otsi_välislinke' ),
        'Listadmins'                => array( 'Ülemaloend' ),
@@ -99,6 +101,7 @@ $specialPageAliases = array(
        'Mycontributions'           => array( 'Minu_kaastöö' ),
        'Mypage'                    => array( 'Minu_lehekülg' ),
        'Mytalk'                    => array( 'Minu_aruteluleht' ),
+       'Myuploads'                 => array( 'Minu_üleslaaditu' ),
        'Newimages'                 => array( 'Uued_failid' ),
        'Newpages'                  => array( 'Uued_leheküljed' ),
        'PasswordReset'             => array( 'Parooli_lähtestamine' ),
@@ -117,6 +120,7 @@ $specialPageAliases = array(
        'Specialpages'              => array( 'Erileheküljed' ),
        'Statistics'                => array( 'Arvandmestik' ),
        'Tags'                      => array( 'Märgised' ),
+       'Unblock'                   => array( 'Blokeerimise_eemaldamine' ),
        'Uncategorizedcategories'   => array( 'Kategoriseerimata_kategooriad' ),
        'Uncategorizedimages'       => array( 'Kategoriseerimata_failid' ),
        'Uncategorizedpages'        => array( 'Kategoriseerimata_leheküljed' ),
@@ -128,6 +132,7 @@ $specialPageAliases = array(
        'Unusedtemplates'           => array( 'Kasutamata_mallid' ),
        'Unwatchedpages'            => array( 'Jälgimata_leheküljed' ),
        'Upload'                    => array( 'Faili_üleslaadimine' ),
+       'UploadStash'               => array( 'Üleslaaditu_alghoidla' ),
        'Userlogin'                 => array( 'Sisselogimine' ),
        'Userlogout'                => array( 'Väljalogimine' ),
        'Userrights'                => array( 'Kasutaja_õigused' ),
@@ -670,6 +675,8 @@ $2',
 'filereadonlyerror' => 'Faili "$1" ei saa muuta, sest hoidla "$2" on kirjutuskaitstud.
 
 Administraator lukustas selle järgmisel põhjusel: "$3".',
+'invalidtitle-knownnamespace' => 'Vigane pealkiri nimeruumis "$2" tekstiga "$3"',
+'invalidtitle-unknownnamespace' => 'Vigane pealkiri nimeruuminumbriga $1 ja tekstiga "$2"',
 
 # Virus scanner
 'virus-badscanner' => "Viga konfiguratsioonis: tundmatu viirusetõrje: ''$1''",
@@ -1223,6 +1230,8 @@ Navigeerimislinkide kasutamine tühistab redaktsioonide valiku.',
 
 # Diffs
 'history-title' => 'Lehekülje "$1" muudatuste ajalugu',
+'difference-title' => 'Erinevus lehekülje "$1" redaktsioonide vahel',
+'difference-title-multipage' => 'Erinevus lehekülgede "$1" ja "$2" vahel',
 'difference-multipage' => '(Lehekülgede erinevus)',
 'lineno' => 'Rida $1:',
 'compareselectedversions' => 'Võrdle valitud redaktsioone',
@@ -1321,6 +1330,7 @@ Pane tähele, et Google'is talletatud {{GRAMMAR:genitive|{{SITENAME}}}} sisu võ
 'prefs-beta' => 'Beetafunktsioonid',
 'prefs-datetime' => 'Kuupäev ja kellaaeg',
 'prefs-labs' => 'Katsefunktsioonid',
+'prefs-user-pages' => 'Kasutajaleheküljed',
 'prefs-personal' => 'Kasutaja andmed',
 'prefs-rc' => 'Viimased muudatused',
 'prefs-watchlist' => 'Jälgimisloend',
@@ -1583,7 +1593,7 @@ See ei tohi olla pikem kui $1 {{PLURAL:$1|sümbol|sümbolit}}.',
 'nchanges' => '$1 {{PLURAL:$1|muudatus|muudatust}}',
 'recentchanges' => 'Viimased muudatused',
 'recentchanges-legend' => 'Viimaste muudatuste seaded',
-'recentchangestext' => 'Jälgi sellel leheküljel viimaseid muudatusi.',
+'recentchanges-summary' => 'Jälgi sellel leheküljel viimaseid muudatusi.',
 'recentchanges-feed-description' => 'Jälgi vikisse tehtud viimaseid muudatusi.',
 'recentchanges-label-newpage' => 'See muudatus lõi uue lehekülje',
 'recentchanges-label-minor' => 'See on pisiparandus',
@@ -1779,9 +1789,10 @@ Kui probleem ei kao, võta ühendust [[Special:ListUsers/sysop|administraatoriga
 'backend-fail-writetemp' => 'Ajutist faili ei saa kirjutada.',
 'backend-fail-closetemp' => 'Ajutist faili ei saa sulgeda.',
 'backend-fail-read' => 'Faili $1 ei saa lugeda.',
-'backend-fail-create' => 'Faili $1 ei saa luua.',
-'backend-fail-maxsize' => 'Faili $1 ei saa luua, sest see on {{PLURAL:$2|ühest baidist|$2 baidist}} suurem.',
+'backend-fail-create' => 'Faili $1 ei saa kirjutada.',
+'backend-fail-maxsize' => 'Faili $1 ei saa kirjutada, sest see on {{PLURAL:$2|ühest baidist|$2 baidist}} suurem.',
 'backend-fail-contenttype' => 'Faili, mida soovitakse talletada asukohas "$1", sisutüüpi saanud kindlaks teha.',
+'backend-fail-usable' => 'Faili $1 ei saa ebapiisavate õiguste või puuduvate kataloogide/konteinerite tõttu kirjutada.',
 
 # Lock manager
 'lockmanager-notlocked' => 'Rada "$1" ei saa lukust lahti teha, sest see pole lukus.',
@@ -1928,7 +1939,7 @@ Võib-olla tahad redigeerida selle faili [$2 sealset kirjelduslehekülge].',
 'filedelete-otherreason' => 'Muu või täiendav põhjus:',
 'filedelete-reason-otherlist' => 'Muu põhjus',
 'filedelete-reason-dropdown' => '*Harilikud kustutamise põhjused
-** Autoriõiguste rikkumine
+** Autoriõiguse rikkumine
 ** Duplikaat',
 'filedelete-edit-reasonlist' => 'Redigeeri kustutamise põhjuseid',
 'filedelete-maintenance' => 'Failide kustutamine ja taastamine on hoolduse ajaks keelatud.',
@@ -3272,7 +3283,7 @@ Kui faili on rakendustarkvaraga töödeldud, võib osa andmeid olla muudetud võ
 # EXIF attributes
 'exif-compression-1' => 'Pakkimata',
 
-'exif-copyrighted-true' => 'Autoriõigustega kaitstud',
+'exif-copyrighted-true' => 'Kaitstud',
 'exif-copyrighted-false' => 'Avalikus omandis',
 
 'exif-unknowndate' => 'Kuupäev teadmata',
index 801b18a..30179c1 100644 (file)
@@ -1359,7 +1359,7 @@ $1 {{PLURAL:$1|karakteretik|karakteretik}} behera izan behar ditu.',
 'nchanges' => '{{PLURAL:$1|aldaketa 1|$1 aldaketa}}',
 'recentchanges' => 'Aldaketa berriak',
 'recentchanges-legend' => 'Azken aldaketen aukerak',
-'recentchangestext' => 'Orrialde honetan wiki honetan egindako azken aldaketak erakusten dira.',
+'recentchanges-summary' => 'Orrialde honetan wiki honetan egindako azken aldaketak erakusten dira.',
 'recentchanges-feed-description' => 'Sindikazio honetan wikian eginiko azkeneko aldaketak jarrai daitezke.',
 'recentchanges-label-newpage' => 'Aldaketa honek orrialde berri bat sortu du',
 'recentchanges-label-minor' => 'Hau aldaketa txikia da',
index 7970945..1a18c19 100644 (file)
@@ -984,7 +984,7 @@ Amás premiti qu'otrus ussuárius contatin contigu pol mé la tu página d'ussu
 'nchanges' => '$1 {{PLURAL:$1|chambu|chambus}}',
 'recentchanges' => 'Úrtimus chambus',
 'recentchanges-legend' => 'Ocionis enos úrtimus chambus',
-'recentchangestext' => 'Sigui los úrtimus chambus d´esti güiqui nesta páhina.',
+'recentchanges-summary' => 'Sigui los úrtimus chambus d´esti güiqui nesta páhina.',
 'recentchanges-feed-description' => 'Sigui los úrtimus chambus nel güiqui nesti feed.',
 'rcnote' => "Embahu se {{PLURAL:$1|muestra '''1''' chambu|muestran los úrtimus '''$1''' chambus}} {{PLURAL:$2|dendi ayel|enus úrtimus '''$2''' dias}}, de $4 a las $5.",
 'rcnotefrom' => "Embahu se muestran los chambus hechus dendi el '''$2''' (hata el '''$1''').",
index 6c609da..ad92e7f 100644 (file)
@@ -78,10 +78,10 @@ $specialPageAliases = array(
        'Booksources'               => array( 'منابع_کتاب' ),
        'BrokenRedirects'           => array( 'تغییرمسیرهای_خراب' ),
        'Categories'                => array( 'رده‌ها' ),
-       'ChangeEmail'               => array( 'تغییر_پست_الکترونیکی' ),
+       'ChangeEmail'               => array( 'تغییر_رایانامه', 'تغییر_پست_الکترونیکی' ),
        'ChangePassword'            => array( 'از_نو_کردن_گذرواژه' ),
        'ComparePages'              => array( 'مقایسه_صفحات' ),
-       'Confirmemail'              => array( 'تایید_پست_الکترونیکی' ),
+       'Confirmemail'              => array( 'تایید_رایانامه', 'تایید_پست_الکترونیکی' ),
        'Contributions'             => array( 'مشارکت‌ها' ),
        'CreateAccount'             => array( 'ایجاد_حساب_کاربری' ),
        'Deadendpages'              => array( 'صفحه‌های_بن‌بست' ),
@@ -95,7 +95,7 @@ $specialPageAliases = array(
        'FileDuplicateSearch'       => array( 'جستجوی_پرونده_تکراری' ),
        'Filepath'                  => array( 'مسیر_پرونده' ),
        'Import'                    => array( 'درون_ریزی_صفحه' ),
-       'Invalidateemail'           => array( 'باطل_کردن_پست_الکترونیکی' ),
+       'Invalidateemail'           => array( 'باطل_کردن_رایانامه', 'باطل_کردن_پست_الکترونیکی' ),
        'BlockList'                 => array( 'فهرست_بستن_نشانی_آی‌پی' ),
        'LinkSearch'                => array( 'جستجوی_پیوند' ),
        'Listadmins'                => array( 'فهرست_مدیران' ),
@@ -265,7 +265,7 @@ $dateFormats = array(
 );
 
 $magicWords = array(
-       'redirect'                => array( '0', '#تغییرمسیر', '#REDIRECT' ),
+       'redirect'                => array( '0', '#تغییر_مسیر', '#تغییرمسیر', '#تغییرمسیر', '#REDIRECT' ),
        'notoc'                   => array( '0', '__بی‌فهرست__', '__NOTOC__' ),
        'nogallery'               => array( '0', '__بی‌نگارخانه__', '__NOGALLERY__' ),
        'forcetoc'                => array( '0', '__بافهرست__', '__FORCETOC__' ),
@@ -305,6 +305,7 @@ $magicWords = array(
        'pagenamee'               => array( '1', 'نام‌صفحه‌کد', 'نام_صفحه_کد', 'PAGENAMEE' ),
        'namespace'               => array( '1', 'فضای‌نام', 'فضای_نام', 'NAMESPACE' ),
        'namespacee'              => array( '1', 'فضای‌نام‌کد', 'فضای_نام_کد', 'NAMESPACEE' ),
+       'namespacenumber'         => array( '1', 'شماره_فضای_نام', 'شماره‌فضای‌نام', 'NAMESPACENUMBER' ),
        'talkspace'               => array( '1', 'فضای‌بحث', 'فضای_بحث', 'TALKSPACE' ),
        'talkspacee'              => array( '1', 'فضای‌بحث‌کد', 'فضای_بحث_کد', 'TALKSPACEE' ),
        'subjectspace'            => array( '1', 'فضای‌موضوع', 'فضای‌مقاله', 'فضای_موضوع', 'فضای_مقاله', 'SUBJECTSPACE', 'ARTICLESPACE' ),
@@ -375,6 +376,7 @@ $magicWords = array(
        'plural'                  => array( '0', 'جمع:', 'PLURAL:' ),
        'fullurl'                 => array( '0', 'نشانی‌کامل:', 'نشانی_کامل:', 'FULLURL:' ),
        'fullurle'                => array( '0', 'نشانی‌کامل‌کد:', 'نشانی_کامل_کد:', 'FULLURLE:' ),
+       'canonicalurl'            => array( '0', 'نشانی_استاندارد:', 'نشانی‌استاندارد:', 'CANONICALURL:' ),
        'lcfirst'                 => array( '0', 'ابتداکوچک:', 'ابتدا_کوچک:', 'LCFIRST:' ),
        'ucfirst'                 => array( '0', 'ابتدابزرگ:', 'ابتدا_بزرگ:', 'UCFIRST:' ),
        'lc'                      => array( '0', 'ک:', 'LC:' ),
@@ -413,8 +415,8 @@ $magicWords = array(
        'url_path'                => array( '0', 'مسیر', 'PATH' ),
        'url_wiki'                => array( '0', 'ویکی', 'WIKI' ),
        'url_query'               => array( '0', 'دستور', 'QUERY' ),
-       'defaultsort_noerror'     => array( '0', 'بدون‌خطا', 'noerror' ),
-       'defaultsort_noreplace'   => array( '0', 'جایگزین‌نکن', 'noreplace' ),
+       'defaultsort_noerror'     => array( '0', 'بدون‌خطا', 'بدون_خطا', 'noerror' ),
+       'defaultsort_noreplace'   => array( '0', 'جایگزین‌نکن', 'جایگزین_نکن', 'noreplace' ),
 );
 
 # Harakat are intentionally not included in the linkTrail. Their addition should
@@ -828,6 +830,8 @@ $2',
 'filereadonlyerror' => "تغییر پرونده «$1» ممکن نیست چون مخزن پرونده «$2» در حالت فقط خواندنی قرار دارد.
 
 مدیری که آن را قفل کرده چنین توضیحی را ذکر کرده:  ''$3''.",
+'invalidtitle-knownnamespace' => 'عنوان نامعتبر با فضای نام «$2» و متن «$3»',
+'invalidtitle-unknownnamespace' => 'عنوان نامعتبر با فضای نام ناشناختهٔ شمارهٔ $1 و متن «$2»',
 
 # Virus scanner
 'virus-badscanner' => "پیکربندی بد: پویشگر ویروس ناشناخته: ''$1''",
@@ -1180,8 +1184,8 @@ $2
 'semiprotectedpagewarning' => "'''توجه:''' این صفحه قفل شده‌است تا تنها کاربران ثبت‌نام‌کرده قادر به ویرایش آن‌ باشند.
 آخرین موارد سیاهه در زیر آمده‌است:",
 'cascadeprotectedwarning' => "'''هشدار:''' این صفحه به علت قرارگرفتن در {{PLURAL:$1|صفحهٔ|صفحه‌های}} آبشاری-محافظت‌شدهٔ زیر قفل شده‌است تا فقط مدیران بتوانند ویرایشش کنند.",
-'titleprotectedwarning' => "'''هشدار: این صفحه قفل شده‌است به شکلی که برای ایجاد آن [[Special:ListGroupRights|اختیارات خاصی]] لازم است.'''
-ٱحرین موارد سیاهه در زیر آمده است:",
+'titleprotectedwarning' => "'''هشدار: این صفحه به شکلی قفل شده‌است که برای ایجاد آن [[Special:ListGroupRights|اختیارات خاصی]] لازم است.'''
+آخرین موارد سیاهه در زیر آمده است:",
 'templatesused' => '{{PLURAL:$1|الگوی|الگوهای}} به‌کاررفته در این صفحه:',
 'templatesusedpreview' => '{{PLURAL:$1|الگوی|الگوهای}} استفاده شده در این پیش‌نمایش:',
 'templatesusedsection' => '{{PLURAL:$1|الگوی|الگوهای}} استفاده شده در این بخش:',
@@ -1405,7 +1409,9 @@ $1",
 'mergelogpagetext' => 'در زیر سیاهه آخرین موارد ادغام تاریخچه یک صفحه در صفحه‌ای دیگر را می‌بینید.',
 
 # Diffs
-'history-title' => 'تاریخچهٔ ویرایش‌های «$1»',
+'history-title' => '$1: تاریخچهٔ ویرایش‌ها',
+'difference-title' => '$1: تفاوت بین نسخه‌ها',
+'difference-title-multipage' => '$1 و $2: تفاوت بین صفحه‌ها',
 'difference-multipage' => '(تفاوت بین صفحه‌ها)',
 'lineno' => 'سطر $1:',
 'compareselectedversions' => 'مقایسهٔ نسخه‌های انتخاب‌شده',
@@ -1503,6 +1509,7 @@ $1",
 'prefs-beta' => 'ابزارهای کارآمد',
 'prefs-datetime' => 'تاریخ و زمان',
 'prefs-labs' => 'قسمت‌های آزمایشی',
+'prefs-user-pages' => 'صفحه‌های کاربری',
 'prefs-personal' => 'داده‌های کاربر',
 'prefs-rc' => 'تغییرات اخیر',
 'prefs-watchlist' => 'فهرست پی‌گیری‌ها',
@@ -1768,7 +1775,7 @@ $1",
 'nchanges' => '$1 تغییر',
 'recentchanges' => 'تغییرات اخیر',
 'recentchanges-legend' => 'گزینه‌های تغییرات اخیر',
-'recentchangestext' => 'آخرین تغییرات ویکی را در این صفحه پی‌گیری کنید.',
+'recentchanges-summary' => 'آخرین تغییرات ویکی را در این صفحه پی‌گیری کنید.',
 'recentchanges-feed-description' => 'آخرین تغییرات ویکی را در این خوراک پی‌گیری کنید.',
 'recentchanges-label-newpage' => 'این ویرایش صفحه‌ای جدید ایجاد کرد',
 'recentchanges-label-minor' => 'این ویرایش جزئی‌است',
@@ -1971,14 +1978,19 @@ $1',
 'backend-fail-writetemp' => 'امکان نوشتن بر روی پروندهٔ موقتی وجود ندارد.',
 'backend-fail-closetemp' => 'نمی‌توان پروندهٔ موقتی را بست.',
 'backend-fail-read' => 'نمی‌توان پروندهٔ $1 را خواند.',
-'backend-fail-create' => 'نمی‌توان پروندهٔ $1 را ایجاد کرد.',
-'backend-fail-maxsize' => 'نمی‌توان پروندهٔ $1 را ایجاد کرد چون بزرگتر از {{PLURAL:$2|یک بایت|$2 بایت}} است.',
+'backend-fail-create' => 'نمی‌توان بر روی پروندهٔ $1 اطلاعات نوشت.',
+'backend-fail-maxsize' => 'نمی‌توان بر روی پروندهٔ $1 اطلاعات نوشت چون بزرگتر از {{PLURAL:$2|یک بایت|$2 بایت}} است.',
 'backend-fail-readonly' => 'پشتیبان «$1» درحال حاضر در وضیت فقط خواندنی است. دلیل ارائه شده چنین است: «$2»',
 'backend-fail-synced' => 'پرونده «$1» در پشتیبان‌های ذخیره داخلی در وضعیتی ناپایدار قرار دارد',
 'backend-fail-connect' => 'ارتباط با پشیبان ذخیره «$1» برقرار نشد.',
 'backend-fail-internal' => 'خطایی نامعلوم در پشتیبان ذخیره «$1» رخ داد.',
 'backend-fail-contenttype' => 'تعیین نوع محتوای پرونده برای ذخیره در «$1» ناموفق بود.',
 'backend-fail-batchsize' => 'دسته‌ای مشتمل بر $1 {{PLURAL:$1|عملکرد|عملکرد}} پرونده به پشتیبان ذخیره داده شد؛ حداکثر مجاز $2 {{PLURAL:$2|عملکرد|عملکرد}} است.',
+'backend-fail-usable' => 'امکان نوشتن در پروندهٔ $1 وجود نداشت چرا که سطح دسترسی کافی نیست یا شاخه مورد نظر وجود ندارد.',
+
+# File journal errors
+'filejournal-fail-dbconnect' => 'امکان وصل شدن به پایگاه داده دفترخانه برای پشتیبان ذخیره‌سازی «$1» وجود نداشت.',
+'filejournal-fail-dbquery' => 'امکان به روز کردن پایگاه داده دفترخانه برای پشتیبان ذخیره‌سازی «$1» وجود نداشت.',
 
 # Lock manager
 'lockmanager-notlocked' => 'نمی‌توان قفل «$1» را گشود؛ چون قفل نشده‌است.',
@@ -2099,6 +2111,10 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization را ببینید.',
 برای اطلاعات بیشتر لطفاً [$2 صفحهٔ توضیحات پرونده] را ببینید.',
 'sharedupload-desc-here' => 'این پرونده در $1 قرار دارد و ممکن است در پروژه‌های دیگر هم استفاده شود.
 توضیحات موجود در [$2 صفحهٔ توضیحات پرونده در آنجا]، در زیر نشان داده شده‌است.',
+'sharedupload-desc-edit' => 'این پرونده از $1 است و می‌تواند توسط پروژه‌های دیگر هم استفاده شود.
+اگر خواستید می‌توانید توضیحات پرونده را از [$2 صفحهٔ توضیحاتش] در آنجا ویرایش کنید.',
+'sharedupload-desc-create' => 'این پرونده از $1 است و می‌تواند توسط پروژه‌های دیگر هم استفاده شود.
+اگر خواستید می‌توانید توضیحات پرونده را از [$2 صفحهٔ توضیحاتش] در آنجا ویرایش کنید.',
 'filepage-nofile' => 'پرونده‌ای با این نام وجود ندارد.',
 'filepage-nofile-link' => 'پرونده‌ای با این نام وجود ندارد، اما شما می‌توانید آن را [$1 بارگذاری کنید].',
 'uploadnewversion-linktext' => 'بارگذاری نسخهٔ جدیدی از پرونده',
@@ -2315,6 +2331,8 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization را ببینید.',
 'allpages-hide-redirects' => 'پنهان‌کردن تغییرمسیرها',
 
 # SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'شما در حال مشاهدهٔ نسخه‌ای از این صفحه که در میانگیر قرار دارد هستید که ممکن است برای $1 قبل باشد.',
+'cachedspecial-viewing-cached-ts' => 'شما در حال مشاهدهٔ نسخه‌ای از این صفحه که در میانگیر قرار دارد هستید، و این نسخه ممکن است کاملاً واقعی نباشد.',
 'cachedspecial-refresh-now' => 'مشاهده آخرین.',
 
 # Special:Categories
index 451d867..f4a500c 100644 (file)
@@ -17,6 +17,7 @@
  * @author Jafeluv
  * @author Kaganer
  * @author Kulmalukko
+ * @author Linnea
  * @author Mobe
  * @author Nedergard
  * @author Nike
@@ -692,6 +693,8 @@ $2',
 'filereadonlyerror' => 'Tiedostoa "$1" ei voi muuttaa, koska jaettu mediavarasto "$2" on "vain luku" -tilassa.
 
 Lukituksen asettanut ylläpitäjä on antanut seuraavan syyn toimenpiteelle: "$3".',
+'invalidtitle-knownnamespace' => 'Virheellinen nimike nimitilaan "$2" ja teksti "$3"',
+'invalidtitle-unknownnamespace' => 'Virheellinen nimi tuntemattomassa nimitilassa $1 ja tekstissä $2',
 
 # Virus scanner
 'virus-badscanner' => "Virheellinen asetus: Tuntematon virustutka: ''$1''",
@@ -1047,6 +1050,10 @@ Nämä muuttujat on jätetty käsittelemättä.",
 'parser-template-loop-warning' => 'Mallinesilmukka havaittu: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Mallineen rekursioraja ylittyi ($1)',
 'language-converter-depth-warning' => 'Kielimuuntimen syvyysraja ylittyi ($1)',
+'node-count-exceeded-category' => 'Sivut, joissa solmumäärä on ylitetty',
+'node-count-exceeded-warning' => 'Sivu ylitti solmumäärän',
+'expansion-depth-exceeded-category' => 'Sivut, joissa laajentamissyvyys on ylitetty',
+'expansion-depth-exceeded-warning' => 'Sivu ylitti laajentamissyvyyden.',
 
 # "Undo" feature
 'undo-success' => 'Kumoaminen onnistui. Valitse <em>tallenna</em> toteuttaaksesi muutokset.',
@@ -1135,8 +1142,8 @@ Voit silti nähdä tämän muutoksen. Lisätietoja löytyy [{{fullurl:{{#Special
 'revdelete-show-file-submit' => 'Kyllä',
 'revdelete-selected' => "'''{{PLURAL:$2|Valittu versio|Valitut versiot}} sivusta '''$1:''''''",
 'logdelete-selected' => "'''{{PLURAL:$1|Valittu lokimerkintä|Valitut lokimerkinnät}}:'''",
-'revdelete-text' => "'''Poistetut versiot näkyvät sivun historiassa, mutta niiden sisältö ei ole julkisesti saatavilla.'''
-Muut ylläpitäjät {{GRAMMAR:inessive|{{SITENAME}}}} voivat silti lukea piilotetun sisällön ja he voivat palauttaa sen tämän käyttöliittymän kautta, ellei sitä ole rajoitettu.",
+'revdelete-text' => "'''Poistetut versiot ja lokitapahtumat näkyvät edelleen sivun historiassa ja lokeissa, mutta osa niiden sisällöstä ei ole julkisesti saatavilla.'''
+Muut ylläpitäjät {{GRAMMAR:inessive|{{SITENAME}}}} voivat silti tarkastella piilotettua sisältöä, ja he voivat palauttaa sen näkyviin tämän käyttöliittymän kautta, ellei tätä ole erikseen rajoitettu.",
 'revdelete-confirm' => 'Varmista, että haluat tehdä tämän – ymmärrät seuraukset ja teet tämän [[{{MediaWiki:Policy-url}}|käytäntöjen]] mukaisesti.',
 'revdelete-suppress-text' => "Häivytystä pitäisi käyttää '''vain''' seuraavissa tapauksissa:
 * Sopimattomat henkilötiedot
@@ -1217,7 +1224,9 @@ Uuden ja vanhan sivun muutoksien pitää muodostaa jatkumo – ne eivät saa men
 'mergelogpagetext' => 'Alla on loki viimeisimmistä muutoshistorioiden yhdistämisistä.',
 
 # Diffs
-'history-title' => 'Sivun $1 muutoshistoria',
+'history-title' => 'Sivun "$1" muutoshistoria',
+'difference-title' => 'Ero sivun "$1" versioiden välillä',
+'difference-title-multipage' => 'Erot sivujen "$1" ja "$2" välillä',
 'difference-multipage' => '(Sivujen välinen eroavaisuus)',
 'lineno' => 'Rivi $1:',
 'compareselectedversions' => 'Vertaile valittuja versioita',
@@ -1315,6 +1324,7 @@ Kokeile lisätä haun alkuun ''all:'', niin haku kohdistuu kaikkeen sisältöön
 'prefs-beta' => 'Beta-ominaisuudet',
 'prefs-datetime' => 'Aika ja päiväys',
 'prefs-labs' => 'Kokeelliset ominaisuudet',
+'prefs-user-pages' => 'Käyttäjäsivut',
 'prefs-personal' => 'Käyttäjätiedot',
 'prefs-rc' => 'Tuoreet muutokset',
 'prefs-watchlist' => 'Tarkkailulista',
@@ -1574,7 +1584,7 @@ Tässä satunnaisesti tuotettu arvo, jota voit käyttää: $1',
 'nchanges' => '$1 {{PLURAL:$1|muutos|muutosta}}',
 'recentchanges' => 'Tuoreet muutokset',
 'recentchanges-legend' => 'Tuoreiden muutosten asetukset',
-'recentchangestext' => 'Tällä sivulla voi seurata tuoreita {{GRAMMAR:illative|{{SITENAME}}}} tehtyjä muutoksia.',
+'recentchanges-summary' => 'Tällä sivulla voi seurata tuoreita {{GRAMMAR:illative|{{SITENAME}}}} tehtyjä muutoksia.',
 'recentchanges-feed-description' => 'Tällä sivulla voi seurata tuoreita {{GRAMMAR:illative|{{SITENAME}}}} tehtyjä muutoksia.',
 'recentchanges-label-newpage' => 'Tämä muutos loi uuden sivun',
 'recentchanges-label-minor' => 'Tämä on pieni muutos',
@@ -1751,6 +1761,7 @@ $1',
 'upload-too-many-redirects' => 'URL sisälsi liian monta ohjausta',
 'upload-unknown-size' => 'Tuntematon koko',
 'upload-http-error' => 'HTTP-virhe: $1',
+'upload-copy-upload-invalid-domain' => 'Tiedostojen tallentamista tästä verkko-osoitteesta ei ole sallittu.',
 
 # File backend
 'backend-fail-stream' => 'Tiedoston $1 virtauttaminen epäonnistui.',
@@ -1769,7 +1780,10 @@ $1',
 'backend-fail-closetemp' => 'Väliaikaista tiedostoa ei voitu sulkea.',
 'backend-fail-read' => 'Tiedostoa $1 ei voitu lukea.',
 'backend-fail-create' => 'Tiedostoa $1 ei voitu luoda.',
+'backend-fail-maxsize' => 'Tiedostoa $1 ei voitu luoda, koska se on suurempi kuin {{PLURAL:$2|yksi tavu|$2 tavua}}.',
 'backend-fail-connect' => 'Varastojärjestelmään "$1" ei saada yhteyttä.',
+'backend-fail-contenttype' => 'Tiedostoa ei voitu tallentaa kohteeseen $1, koska tiedostomuotoa ei voitu määrittää.',
+'backend-fail-usable' => 'Ei voitu luoda tiedostoa $1, koska käyttöoikeudet eivät riittäneet tai hakemisto puuttuu.',
 
 # Lock manager
 'lockmanager-notlocked' => 'Kohteen $1 lukitusta ei voitu poistaa, koska se ei ole lukittu.',
@@ -2039,7 +2053,7 @@ Jokaisella rivillä on linkit ensimmäiseen ja toiseen ohjaukseen sekä toisen o
 'protectedpages-indef' => 'Vain ikuisesti suojatut',
 'protectedpages-cascade' => 'Vain laajennetusti suojatut',
 'protectedpagestext' => 'Seuraavat sivut ovat suojattuja siirtämiseltä tai muutoksilta',
-'protectedpagesempty' => 'Ei suojattu sivuja.',
+'protectedpagesempty' => 'Mitään sivuja ei ole tällä hetkellä suojattu näillä asetuksilla.',
 'protectedtitles' => 'Suojatut sivunimet',
 'protectedtitlestext' => 'Seuraavien sivujen luonti on estetty.',
 'protectedtitlesempty' => 'Ei suojattuja sivunimiä näillä hakuehdoilla.',
@@ -2806,6 +2820,9 @@ Tallenna tiedot koneellesi ja tuo ne tällä sivulla.',
 'import-invalid-interwiki' => 'Määritellystä wikistä ei voi tuoda.',
 'import-error-edit' => 'Sivua $1 ei tuotu, koska sinulla ei ole oikeutta muokata sitä.',
 'import-error-create' => 'Sivua $1 ei tuotu, koska sinulla ei ole oikeutta luoda sitä.',
+'import-error-interwiki' => 'Sivua $1 ei voitu tuoda, koska sen nimi on varattu ulkoisen linkittämisen (interwiki).',
+'import-error-special' => 'Sivua $1 ei tuoda, koska se kuuluu nimitilaan, joka ei salli sivuja.',
+'import-error-invalid' => 'Sivua $1 ei tuoda, koska sen nimi ei kelpaa.',
 
 # Import log
 'importlogpage' => 'Tuontiloki',
diff --git a/languages/messages/MessagesFit.php b/languages/messages/MessagesFit.php
new file mode 100644 (file)
index 0000000..567e114
--- /dev/null
@@ -0,0 +1,714 @@
+<?php
+/** Meänkieli (Meänkieli)
+ *
+ * See MessagesQqq.php for message documentation incl. usage of parameters
+ * To improve a translation please visit http://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ * @author Kaganer
+ * @author Mestos
+ */
+
+$fallback = 'fi';
+
+$messages = array(
+# User preference toggles
+'tog-underline' => 'Linkitten alleviivaus',
+'tog-justify' => 'Tassaa kappalheet',
+'tog-hideminor' => 'Piilota pienet muutokset vereksen muutoksitten listasta',
+'tog-hidepatrolled' => 'Piilota tarkastetut muutokset vereksen muutoksitten listasta',
+'tog-newpageshidepatrolled' => 'Piilota tarkastetut sivut uusitten sivuitten listalta',
+'tog-extendwatchlist' => 'Laajena valvontalistaa näyttämhään kaikki tehtyt muutokset eikä vain viimisimät.',
+'tog-usenewrc' => 'Käytä avanseerattu verekset muutokset (vaatii JavaScript)',
+'tog-numberheadings' => 'Nymreeraa rypriikit',
+'tog-showtoolbar' => 'Näytä työneuvopalkki (JavaScript)',
+'tog-editondblclick' => 'Mookkaa sivuja kaksoisknapituksella (JavaScript)',
+'tog-editsection' => 'Aktiveeraa seksuuni mookkaus [mookkaus]-linkilä',
+'tog-editsectiononrightclick' => 'Aktiveeraa seksuuni mookkaus oikeapuolen klikkauksella seksuuni tittelhiin (JavaScript)',
+'tog-showtoc' => 'Näytä sisältölista (sivuile, joila on yli 3 rypriikkiä)',
+'tog-rememberpassword' => 'Muista minun lokkauksen tässä weppilukijassa (eninthään $1 {{PLURAL:$1|päivä|päivää}})',
+'tog-watchcreations' => 'Lissää sivut mitä luon valvontasivule',
+'tog-watchdefault' => 'Lissää sivut mitä mie mookkaan valvontasivule',
+'tog-watchmoves' => 'Lissää sivut mitä mie siirän minun valvontasivule',
+'tog-watchdeletion' => 'Lissää sivut mitä otan poies valvontasivule',
+'tog-minordefault' => 'Markeeraa auttomaattisesti kaikki muutokset pieneks',
+'tog-previewontop' => 'Näytä esitarkastelu mookkauspaikan yläpuolela',
+'tog-previewonfirst' => 'Näytä esitarkastelu kun mookkaus alethaan',
+'tog-nocache' => 'Älä säästä sivuja weppilukijan välimuisthiin',
+'tog-enotifwatchlistpages' => 'Lähätä e-postipreivi mulle kun sivu minun valvontalistala on muutettu',
+'tog-enotifusertalkpages' => 'Lähätä sähköposti, kun käyttäjäsivun keskustelusivu muuttuu',
+'tog-enotifminoredits' => 'Lähätä epostieto pienistäki muutoksista',
+'tog-enotifrevealaddr' => 'Näytä minun eposti atressin muile lähetetyissä ilmoituksissa',
+'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. (<span class="plainlinks">[[//www.mediawiki.org/wiki/Manual:External_editors Ohje]</span>)',
+
+# Dates
+'sunday' => 'pyhä',
+'monday' => 'maanantai',
+'tuesday' => 'tiistai',
+'wednesday' => 'keskiviikko',
+'thursday' => 'tuorestai',
+'friday' => 'perjantai',
+'saturday' => 'lauantai',
+'sun' => 'py',
+'mon' => 'ma',
+'tue' => 'ti',
+'wed' => 'ke',
+'thu' => 'tuo',
+'fri' => 'pe',
+'sat' => 'la',
+'january' => 'tammikuu',
+'february' => 'helmikuu',
+'march' => 'maaliskuu',
+'april' => 'huhtikuu',
+'may_long' => 'toukokuu',
+'june' => 'kesäkuu',
+'july' => 'heinäkuu',
+'august' => 'elokuu',
+'september' => 'syyskuu',
+'october' => 'lokakuu',
+'november' => 'marraskuu',
+'december' => 'joulukuu',
+'january-gen' => 'tammikuun',
+'february-gen' => 'helmikuun',
+'march-gen' => 'maaliskuun',
+'april-gen' => 'huhtikuun',
+'may-gen' => 'toukokuun',
+'june-gen' => 'kesäkuun',
+'july-gen' => 'heinäkuun',
+'august-gen' => 'elokuun',
+'september-gen' => 'syyskuun',
+'october-gen' => 'lokakuun',
+'november-gen' => 'marraskuun',
+'december-gen' => 'joulukuun',
+'jan' => 'tammikuu',
+'feb' => 'helmikuu',
+'mar' => 'maaliskuu',
+'apr' => 'huhtikuu',
+'may' => 'toukokuu',
+'jun' => 'kesäkuu',
+'jul' => 'heinäkuu',
+'aug' => 'elokuu',
+'sep' => 'syyskuu',
+'oct' => 'lokakuu',
+'nov' => 'marraskuu',
+'dec' => 'joulukuu',
+
+# Categories related messages
+'pagecategories' => '{{PLURAL:$1|Katekuurit|Katekuurit}}',
+'category_header' => 'Sivut, jokka on katekuurissa "$1"',
+'subcategories' => 'Alakatekuurit',
+'category-media-header' => 'Katekuurin ”$1” sisältämät fiilit',
+'category-empty' => "''Tässä katekuuriassa ei ole sivuja eikä fiiliä.''",
+'hidden-categories' => '{{PLURAL:$1|Piilotettu katekuuri|Piilotetut katekuurit}}',
+'category-subcat-count' => '{{PLURAL:$2|Tässä katekuurissa on vain seuraava alakatekuuri.|{{PLURAL:$1|Seuraava alakatekuuri kuuluu|Seuraavat $1 alakatekuuria kuuluvat}} tähhään katekuurihaan. Alakatekuuritten kokonaismäärä katekuurissa on $2.}}',
+'category-article-count' => '{{PLURAL:$2|Tässä katekuurissa on vain seuraava sivu.|Seuraava {{PLURAL:$1|sivu on|$1 sivut on}} tässä katekuurissa, kahen joukosta $2 }}',
+'category-file-count' => '{{PLURAL:$2|Tässä katekuurissa on vain seuraava sivu.|Seuraava {{PLURAL:$1|fiili|$1 fiilit}} (kaikkians $2) on tässä katekuurissa.}}',
+'listingcontinuesabbrev' => 'jatkuu',
+'noindex-category' => 'Ei-indekseerattuja sivuja',
+
+'about' => 'Tietoja',
+'newwindow' => '(aukasee uuessa klasissa)',
+'cancel' => 'Lopeta',
+'mytalk' => 'Minun keskustelu',
+'navigation' => 'Navikeerinki',
+
+# Cologne Blue skin
+'qbedit' => 'Mookkaa',
+'qbpageoptions' => 'Tämä sivu',
+'qbpageinfo' => 'Sisältö',
+'qbmyoptions' => 'Minun inställninkit',
+'qbspecialpages' => 'Spesiaali sivut',
+'faq' => 'Useasti kysytyt kysymykset',
+'faqpage' => 'Project:Useasti kysytyt kysymykset',
+
+# Vector skin
+'vector-action-addsection' => 'Lissää aine',
+'vector-action-delete' => 'Ota poies',
+'vector-action-move' => 'Siirä',
+'vector-action-protect' => 'Suojaa',
+'vector-action-undelete' => 'Pane takashiin',
+'vector-action-unprotect' => 'Muuta suojaa',
+'vector-simplesearch-preference' => 'Ota käythöön paranetut hakuehotukset (vain Vector-ulkoasu)',
+'vector-view-create' => 'Luo',
+'vector-view-edit' => 'Mookkaa',
+'vector-view-history' => 'Näytä histuuria',
+'vector-view-view' => 'Lue',
+'vector-view-viewsource' => 'Näytä lähekooti',
+'actions' => 'Toiminat',
+'namespaces' => 'Nimityhjyyet',
+'variants' => 'Varianttia',
+
+'errorpagetitle' => 'Virhe',
+'returnto' => 'Takashiin sivule $1.',
+'tagline' => 'Asiasta {{SITENAME}}',
+'help' => 'Apua',
+'search' => 'Haku',
+'searchbutton' => 'Hae',
+'searcharticle' => 'Mene',
+'history' => 'Sivun histuuria',
+'history_short' => 'Histuuria',
+'printableversion' => 'Printtausmaholinen versuuni',
+'permalink' => 'Ikunen linkki',
+'edit' => 'Mookkaa',
+'create' => 'Luo sivu',
+'delete' => 'Ota poies',
+'protect' => 'Suojaa',
+'protect_change' => 'muuta',
+'newpage' => 'Uusi sivu',
+'talkpagelinktext' => 'Keskustelu',
+'personaltools' => 'Henkilökohtaiset työneuvot',
+'talk' => 'Keskustelu',
+'views' => 'Näyttöjä',
+'toolbox' => 'Työneuvot',
+'otherlanguages' => 'Muila kielilä',
+'redirectedfrom' => '(Ohjattu sivulta $1)',
+'lastmodifiedat' => 'Sivua on viimeksi muutettu $1 kello $2.',
+'jumpto' => 'Hyppää:',
+'jumptonavigation' => 'Navikeerinki',
+'jumptosearch' => 'Hae',
+
+# 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' => 'Asiasta {{GRAMMAR:elative|{{SITENAME}}}}',
+'aboutpage' => 'Project: Tioista',
+'copyrightpage' => '{{ns:project}}:Tekijänoikeuet',
+'currentevents' => 'Vereksiä tapahtumia',
+'currentevents-url' => 'Project: Vereksiä tapahtumia',
+'disclaimers' => 'Vastuuvaphaus',
+'disclaimerpage' => 'Project: Ylheinen varoitus',
+'edithelp' => 'Mookkausapua',
+'edithelppage' => 'Help: Kuinka sivuja mookathaan',
+'helppage' => 'Help: Sisältö',
+'mainpage' => 'Alkusivu',
+'mainpage-description' => 'Alkusivu',
+'portal' => 'Kaikitten purthaali',
+'portal-url' => 'Project: Kaikitten purthaali',
+'privacy' => 'Tietosuojakäytäntö',
+'privacypage' => 'Project: Intekriteettisääntö',
+
+'retrievedfrom' => 'Nouettu osoitheesta $1',
+'youhavenewmessages' => 'Sulla on $1 ($2).',
+'newmessageslink' => 'uusia meiliä',
+'newmessagesdifflink' => 'viiminen muutos',
+'editsection' => 'mookkaa',
+'editold' => 'mookkaa',
+'viewsourceold' => 'näytä lähekooti',
+'editlink' => 'mookkaa',
+'viewsourcelink' => 'näytä lähekooti',
+'editsectionhint' => 'Mookkaa seksuunia $1',
+'toc' => 'Sisältö',
+'site-atom-feed' => '$1-Atom-syöttö',
+'page-atom-feed' => '$1 (Atom-syöttö)',
+'red-link-title' => '$1 (sivua ei ole)',
+
+# Short words for each namespace, by default used in the namespace tab in monobook
+'nstab-main' => 'Sivu',
+'nstab-user' => 'Käyttäjäsivu',
+'nstab-special' => 'Spesiaali sivut',
+'nstab-project' => 'Prujektisivu',
+'nstab-image' => 'Fiili',
+'nstab-template' => 'Malli',
+'nstab-category' => 'Katekuuri',
+
+# General errors
+'missing-article' => 'Sivun sisältöä ei löytyny taattapaasista: $1 $2.
+
+Useimiten tämä johtuu vanhentuneesta vertailu- tai histuuriasivulinkistä poistethuun sivhuun.
+
+Jos kysheessä ei ole poistettu sivu, olet piian löytäny virheen ohjelmassa.
+Ilmota tämän sivun atressi wikin [[Special:ListUsers/sysop|atministratöörile]].',
+'missingarticle-rev' => '(versuuni: $1)',
+'badtitle' => 'Virheelinen titteli',
+'badtitletext' => 'Pyytämästi sivurypriikki oli virheelinen, tyhjä eli titteli on väärin linkitetty muusta wikistä. Se saattaa sisältää yhen eli monta sympoolia, joita ei saa käyttää sivutittelissä.',
+'viewsource' => 'Näytä lähekooti',
+
+# Login and logout pages
+'yourname' => 'Käyttäjänimi',
+'yourpassword' => 'Salasana',
+'yourpasswordagain' => 'Salasana uuesti',
+'remembermypassword' => 'Muista minun lokkauksen tässä taattorissa (korkeinthaans $1 {{PLURAL:$1|päivä|päivää}})',
+'login' => 'Lokkaa sisäle',
+'nav-login-createaccount' => 'Lokkaa sisäle / luo konttu',
+'loginprompt' => 'Lokkauksheen tähhään {{SITENAME}} tarvithaan ette olet aktiveeranu kuukit .',
+'userlogin' => 'Lokkaa sisäle/ luo konttu',
+'userlogout' => 'Lokkaa ulos',
+'nologin' => "Eikos sulla ole käyttäjäkonttua, '''$1'''.",
+'nologinlink' => 'Luo käyttäjäkonttu',
+'createaccount' => 'Luo käyttäjäkonttu',
+'gotaccount' => "Jos sulla on käyttäjäkonttu,  voit '''$1'''.",
+'gotaccountlink' => 'Lokkaa sisäle',
+'userlogin-resetlink' => 'Unhoutitko sinun salasanan?',
+'mailmypassword' => 'Lähätä e-postissa uusi salasana',
+'loginlanguagelabel' => 'Kieli: $1',
+
+# Edit page toolbar
+'bold_sample' => 'Lihava teksti',
+'bold_tip' => 'Lihava teksti',
+'italic_sample' => 'Kyrsiveerattu teksti',
+'italic_tip' => 'Kyrsiveerattu',
+'link_sample' => 'linkin nimi',
+'link_tip' => 'Sisäinen linkki',
+'extlink_sample' => 'http://www.example.com linkin rypriikki',
+'extlink_tip' => 'Eksterni linkki (muista http:// eessä)',
+'headline_sample' => 'Rypriikkiteksti',
+'headline_tip' => 'Aste 2 rypriikki',
+'nowiki_sample' => 'Lissää muotoilematon teksti tähhään',
+'nowiki_tip' => 'Iknureeraa wiki formateerinkin',
+'image_tip' => 'Piilotettu fiili',
+'media_tip' => 'Linkki fiilhiin',
+'sig_tip' => 'Allekirjotus aikaleimala',
+'hr_tip' => 'Horisontaali linja (käytethään säästävästi)',
+
+# Edit pages
+'summary' => 'Yhteenveto',
+'minoredit' => 'Tämä on pieni muutos',
+'watchthis' => 'Valvo tätä sivua',
+'savearticle' => 'Säästä sivu',
+'preview' => 'Etukätheen katto',
+'showpreview' => 'Näytä esikuvvaus',
+'showdiff' => 'Näytä muutokset',
+'anoneditwarning' => "'''Varotus:''' Et ole lokanu sisäle.
+IP-atressi säästethään tämän sivun muutoshistuuriassa.",
+'newarticle' => '(Uusi)',
+'newarticletext' => 'Linkki vei sinun sivule, joka ei vielä ole.
+Saatat luoa sivun kirjottamalla alla olehvaan kenthään (katto [[{{MediaWiki:Helppage}}|apusivu]] lisää tietoja).
+Jos et halua luoa sivua, käytä browserin "takashiin" knappia.',
+'noarticletext' => 'Tällä hetkellä tällä sivulla ei ole tekstiä.
+Tällä hetkelä tällä sivula ei ole tekstiä.
+Saatat [[Special:Search/{{PAGENAME}}|hakea sivun nimelä]] muilta sivuilta,
+<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} hakea aiheesheen liittyviä lokkia]
+eli [{{fullurl:{{FULLPAGENAME}}|action=edit}} mookata tätä sivua]</span>.',
+'noarticletext-nopermission' => 'Tällä hetkelä tällä sivula ei ole tekstiä.
+Saatat [[Special:Search/{{PAGENAME}}|hakea sivun nimelä]] muilta sivuilta,
+eli <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} hakea relevantista lokista]
+eli [{{fullurl:{{FULLPAGENAME}}|action=edit}} mookata tätä sivua]</span>.',
+'previewnote' => "'''Tämä on vasta sivun etukattelu. Sivua ei ole vielä säästetty!'''",
+'editing' => 'Mookathaan sivua $1',
+'editingsection' => 'Mookathaan $1 (seksuuni)',
+'templatesused' => 'Tällä sivula {{PLURAL:$1|käytetty malli|käytetyt mallit}}:',
+'template-protected' => '(suojattu)',
+'template-semiprotected' => '(osittain suojattu)',
+'hiddencategories' => 'Tämä sivu kuuluu {{PLURAL:$1|seuraavhaan piilotethuun katekuurihaan|seuraavhiin piilotethuin katekuurhiin}}:',
+'permissionserrorstext-withaction' => 'Sulla ei ole luppaa {{lcfirst:$2}} {{PLURAL:$1|seuraavasta syystä|seuraavista syistä}} johtuen:',
+'recreate-moveddeleted-warn' => "''Varotus: Olet luomassa sivua, joka on vasta otettu poies.'''",
+'moveddeleted-notice' => 'Tämä sivu on otettu poies. Alla on tämän sivun poistotieto ja lokkaushistuuria referensinä',
+
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => 'Varotus: Tämä sivu sisältää liian suurta mallikootia.
+Joitakin mallia ei tulta säästämhään.',
+'post-expand-template-inclusion-category' => 'Sivut missä mallikootin sisältö on liian suuri',
+'post-expand-template-argument-warning' => 'Varotus: Tällä sivula on ainaki yks malliparameetteri, jonka koko on liian suuri ekspansuunissa.
+Nämät parameetterit on poistettu.',
+'post-expand-template-argument-category' => 'Sivut missä on poistettuja malliparameetteria',
+
+# History pages
+'viewpagelogs' => 'Näytä tämän sivun lokit',
+'currentrev-asof' => 'Nykynen versuuni $1',
+'revisionasof' => 'Versuuni $1',
+'revision-info' => 'Versuuni hetkelä $1 – tehny $2',
+'previousrevision' => 'Vanheempi versuuni',
+'nextrevision' => 'Uuempi versuuni',
+'currentrevisionlink' => 'Nykynen versuuni',
+'cur' => 'nyk.',
+'last' => 'eel.',
+'histlegend' => 'Eron valinta: markkeeraa klikkiruuissa ette pääset vertaamhaan versuunia, ja paina enter eli knaphiin kaikhiin alla. 
+Merkinät: (nyk.) = eroavaisuuet nykyisheen versuunhiin, (eel.) = eroavaisuuet eelisheen versuunhiin, <span class="minor">p</span> = pieni muutos',
+'history-fieldset-title' => 'Plaavaa muutoshistuuriaa',
+'history-show-deleted' => 'Vain poistetut',
+'histfirst' => 'Ensimäiset',
+'histlast' => 'Viimisimät',
+
+# Revision feed
+'history-feed-item-nocomment' => '$1 ($2)',
+
+# Revision deletion
+'rev-delundel' => 'näytä/piilota',
+'revdel-restore' => 'muuta näkyvyyttä',
+'revdel-restore-deleted' => 'poistetut muutokset',
+'revdel-restore-visible' => 'Näkyvät muutokset',
+
+# Merge log
+'revertmerge' => 'Pane takashiin yhistäminen',
+
+# Diffs
+'history-title' => 'Sivun $1 muutoshistuuria',
+'lineno' => 'Rivi $1:',
+'compareselectedversions' => 'Vertaile valittuja sivu versuunia',
+'editundo' => 'kumota',
+'diff-multi' => '(Näytetyitten versuunitten välissä on {{PLURAL:$1|yks mookkaus|$1 versuunit, jokka on {{PLURAL:$2|yhen käyttäjän tekemiä|$2 eri käyttäjän tekemiä}}}}.)',
+
+# Search results
+'searchresults' => 'Hakutulokset',
+'searchresults-title' => 'Hakutulokset hakusanale ”$1”',
+'prevn' => 'eelinen {{PLURAL:$1|$1}}',
+'nextn' => '{{PLURAL:$1|seuraava|$1 seuraavaa}} →',
+'prevn-title' => 'eelinen$1 {{PLURAL:$1|resyltaatit|resyltaatit}}',
+'nextn-title' => 'eelinen$1 {{PLURAL:$1|resyltaatit|resyltaatit}}',
+'shown-title' => 'Näytä $1 {{PLURAL:$1|resyltaatti|resyltaatti}} sivu sivulta',
+'viewprevnext' => 'Näytä ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => "'''Sivu [[:$1]] löytyy tästä wikistä.'''",
+'searchmenu-new' => "'''Luo sivu ''[[:$1]]'' tähhaän wikhiin.'''",
+'searchprofile-articles' => 'Sisältösivut',
+'searchprofile-project' => 'Apu ja prujektisivut',
+'searchprofile-images' => 'Mylttimeetia',
+'searchprofile-everything' => 'Kaikki',
+'searchprofile-advanced' => 'Avanseerattu',
+'searchprofile-articles-tooltip' => 'Hae nimityhjyyestä $1',
+'searchprofile-project-tooltip' => 'Hae nimityhjyyestä $1',
+'searchprofile-images-tooltip' => 'Hae fiiliä',
+'searchprofile-everything-tooltip' => 'Hae kaikesta (keskustelusivut kans)',
+'searchprofile-advanced-tooltip' => 'Hae tietyissä nimityhjyissä',
+'search-result-size' => '$1 ({{PLURAL:$2|1 sana|$2 sannaa}})',
+'search-result-category-size' => '{{PLURAL:$1|1 jäsen|$1 jäsentä}} ({{PLURAL:$2|1 alakatekuuria|$2 alakatekuuriaa}}, {{PLURAL:$3|1 fiili|$3 fiiliä}})',
+'search-redirect' => '(ohjaus $1)',
+'search-section' => '(seksuuni $1)',
+'search-suggest' => 'Tarkoititko: $1',
+'searchrelated' => 'relateerattu',
+'searchall' => 'kaikki',
+'showingresultsheader' => "{{PLURAL:$5|Resyltaatit'''$1'''–'''$3'''|Resyltaatit'''$1'''–'''$2''' kaiken joukosta '''$3''' }} haule '''$4'''",
+'search-nonefound' => 'Ei yhtään resyltaattia sinun kysymyksheen',
+
+# Preferences page
+'mypreferences' => 'Omat inställninkit',
+'youremail' => 'E-posti:',
+'yourrealname' => 'Oikea nimi',
+'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ä.',
+
+# Associated actions - in the sentence "You do not have permission to X"
+'action-edit' => 'mookkaa tätä sivua',
+
+# Recent changes
+'nchanges' => '$1 {{PLURAL:$1|muutos|muutosta}}',
+'recentchanges' => 'Verekset muutokset',
+'recentchanges-legend' => 'Vereksitten muutoksitten inställninkit',
+'recentchanges-summary' => 'Seuraa viimiset muutokset wikin tällä sivula',
+'recentchanges-feed-description' => 'Tällä sivula saatat seurata wikin vereksiä muutoksia',
+'recentchanges-label-newpage' => 'Tämä mookkaus loi uuen sivun',
+'recentchanges-label-minor' => 'Tämä on pieni muutos',
+'recentchanges-label-bot' => 'Tämän muutoksen teki botti',
+'recentchanges-label-unpatrolled' => 'Tätä muutosta ei ole vielä tarkistettu',
+'rcnote' => 'Alla on {{PLURAL:$1|yks muutos|$1 vereksimät muutokset}} {{PLURAL:$2|yhen päivän|$2 viimi päivän}} ajalta $4 kello $5 asti.',
+'rcnotefrom' => "Alla on muutokset '''$2'''lähtien. (korkeinthaans '''$1''' näytethään).",
+'rclistfrom' => 'Näytä uuet muutokset jälkhiin $1',
+'rcshowhideminor' => '$1 pienet muutokset',
+'rcshowhidebots' => '$1 ropootit',
+'rcshowhideliu' => '
+$1 sisäle lokaattuja käyttäjiä',
+'rcshowhideanons' => '$1 anonyymit käyttäjät',
+'rcshowhidepatr' => '$1 tarkistetut muutokset',
+'rcshowhidemine' => '$1 omat muutokset',
+'rclinks' => 'Näytä $1 verestä muutosta viimisitten $2 päivitten aikana.<br />$3',
+'diff' => 'ero',
+'hist' => 'histuuria',
+'hide' => 'Piilota',
+'show' => 'Näytä',
+'minoreditletter' => 'p',
+'newpageletter' => 'U',
+'boteditletter' => 'b',
+'rc-enhanced-expand' => 'Näytä detaljit (JavaScript)',
+'rc-enhanced-hide' => 'Piilota detaljit',
+
+# Recent changes linked
+'recentchangeslinked' => 'Relateerattuja muutoksia',
+'recentchangeslinked-toolbox' => 'Relateerattuja muutoksia',
+'recentchangeslinked-title' => 'Muutokset relatterattuja "$1"',
+'recentchangeslinked-noresult' => 'Ei muutoksia linkathuin sivhuin annetulla aikakauela',
+'recentchangeslinked-summary' => 'Tämä on lista vereksistä muutoksista sivhuin, joihin on linkattu erikoiselta sivulta. Sivut sinun  [[Special:Watchlist|valvontalistala]] on markeerattu lihavala tyylilä',
+'recentchangeslinked-page' => 'Sivun nimi',
+'recentchangeslinked-to' => 'Näytä muutokset sivhuin, jolla sen eestä on linkki annethuun sivhuun',
+
+# Upload
+'upload' => 'Lattaa ylös fiili',
+'uploadlogpage' => 'Ylöslattauksen loki',
+'filedesc' => 'Yhteenveto',
+'uploadedimage' => 'lattasi ylös [[$1]]',
+
+'license' => 'Lisensi',
+'license-header' => 'Lisensi',
+
+# File description page
+'file-anchor-link' => 'Fiili',
+'filehist' => 'Fiilin histuuria',
+'filehist-help' => 'Klikkaa taattymia/aikaa niin näet fiilin kuinka se oli siihen aikhaan',
+'filehist-revert' => 'pane takashiin',
+'filehist-current' => 'nykynen',
+'filehist-datetime' => 'Päivä/Aika',
+'filehist-thumb' => 'Peukalokuva',
+'filehist-thumbtext' => 'Peukalokuva säästetystä versuunista  $1',
+'filehist-user' => 'Käyttäjä',
+'filehist-dimensions' => 'Timensuunit',
+'filehist-comment' => 'Komentti',
+'imagelinks' => 'Fiilin käyttö',
+'linkstoimage' => 'Seuraava {{PLURAL:$1|sivu |$1 sivut }} länkkaavat tähhään fiilhiin:',
+'nolinkstoimage' => 'Ei ole yhtään sivua joka linkkaa tähhään fiilhiin.',
+'sharedupload-desc-here' => 'Tämä fiili on jaettu kohtheesta $1 ja muut prujektit saattavat käyttää sitä.
+Tiot [$2 fiilin kuvvaussivulta] näkyvät tässä alla.',
+
+# Random page
+'randompage' => 'Satunhainen sivu',
+
+# Statistics
+'statistics' => 'Statistiikkaa',
+
+'disambiguationspage' => 'Template:Haarainsivu',
+
+# Miscellaneous special pages
+'nbytes' => '$1 {{PLURAL:$1|tavu|tavua}}',
+'nmembers' => '$1 {{PLURAL:$1|jäsen|jäsentä}}',
+'prefixindex' => 'Kaikki sivut prefiksilä',
+'usercreated' => 'Luottu $1 $2',
+'newpages' => 'Uuet sivut',
+'move' => 'Siirä',
+'pager-newer-n' => '← {{PLURAL:$1|1 uuempi|$1 uuempaa}}',
+'pager-older-n' => '{{PLURAL:$1|1 vanheempi|$1 vanheempaa}} →',
+
+# Book sources
+'booksources' => 'Kirjalähteet',
+'booksources-search-legend' => 'Hae kirjalähtheitä',
+'booksources-go' => 'Mene',
+
+# Special:Log
+'log' => 'Lokit',
+
+# Special:AllPages
+'allpages' => 'Kaikki sivut',
+'alphaindexline' => '$1…$2',
+'allarticles' => 'Kaikki sivut',
+'allpagessubmit' => 'Mene',
+
+# Special:Categories
+'categories' => 'Katekuurit',
+
+# 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
+'emailuser' => 'Lähätä e-posti tälle käyttäjälle',
+
+# Watchlist
+'watchlist' => 'Valvontalista',
+'mywatchlist' => 'Minun valvontasivu',
+'watchlistfor2' => 'Käyttäjälle $1 $2',
+'watch' => 'Valvo',
+'unwatch' => 'Lopeta valvonta',
+'watchlist-details' => 'Valvontalistala on {{PLURAL:$1|$1 sivu|$1 sivua}} (keskustelusivuja mukhaan laskematta)',
+'wlshowlast' => 'Näytä viimiset $1 tiimat eli $2 päivät$3',
+'watchlist-options' => 'Valvontalistan altternatiivit',
+
+# Delete
+'actioncomplete' => 'Tehty',
+'actionfailed' => 'Tehty epäonnistui',
+'dellogpage' => 'Poistoloki',
+
+# Rollback
+'rollbacklink' => 'rullaa takashiin',
+
+# Protect
+'protectlogpage' => 'Suojausloki',
+'protectedarticle' => 'suojasi sivun [[$1]]',
+
+# Undelete
+'undeletelink' => 'näytä/ota takashiin',
+'undeleteviewlink' => 'näytä',
+
+# Namespace form on various pages
+'namespace' => 'Nimityhjyys:',
+'invert' => 'Jätä pois valinta',
+'blanknamespace' => '(Päätyhjyys)',
+
+# Contributions
+'contributions' => 'Omat mookkaukset',
+'contributions-title' => 'Käyttäjän $1 mookkaukset',
+'mycontris' => 'Omat mookkaukset',
+'contribsub2' => 'Käyttäjän $1 ($2) mookkaukset',
+'uctop' => '(viiminen)',
+'month' => 'Kuukauesta (ja aiemin)',
+'year' => 'Vuoesta (ja aiemin)',
+
+'sp-contributions-newbies' => 'Näytä uusitten tulokhaitten muutokset',
+'sp-contributions-blocklog' => 'blokeerinkiloki',
+'sp-contributions-uploads' => 'Ylöslattauksia',
+'sp-contributions-logs' => 'lokit',
+'sp-contributions-talk' => 'keskustelu',
+'sp-contributions-search' => 'Hae käyttäjitten bitraakia',
+'sp-contributions-username' => 'IP-atressi eli käyttäjänimi',
+'sp-contributions-toponly' => 'Näytä vain mookkaukset, jokka on vasta tehtyjä versuunia',
+'sp-contributions-submit' => 'Hae',
+
+# What links here
+'whatlinkshere' => 'Mitä linkkaa tänne',
+'whatlinkshere-title' => 'Sivut jokka länkathaan "$1"',
+'whatlinkshere-page' => 'Sivu',
+'linkshere' => 'Seuraavila sivuila on linkki sivule <strong>[[:$1]]</strong>:',
+'nolinkshere' => "Sivule \"'[[:\$1]]''' ei ole linkkiä.",
+'isredirect' => 'ohjaussivu',
+'istemplate' => 'sisäletty mallina',
+'isimage' => 'linkki fiilhiin',
+'whatlinkshere-prev' => '← {{PLURAL:$1|eelinen sivu|$1 eelistä sivua}}',
+'whatlinkshere-next' => '{{PLURAL:$1|seuraava sivu|$1 seuraava sivu}} →',
+'whatlinkshere-links' => 'linkit',
+'whatlinkshere-hideredirs' => '$1 ohjaukset',
+'whatlinkshere-hidetrans' => '$1 mallin inklyteerinkiä',
+'whatlinkshere-hidelinks' => '$1 linkit',
+'whatlinkshere-hideimages' => '$1 fiililinkit',
+'whatlinkshere-filters' => 'Filtterit',
+
+# Block/unblock
+'ipboptions' => '2 tiimaa:2 hours,1 päivä:1 day,3 päivää:3 days,1 viikko:1 week,2 viikkoa:2 weeks,1 kuukausi:1 month,3 kuukautta:3 months,6 kuukautta:6 months,1 vuosi:1 year,ikunen:infinite',
+'ipblocklist' => 'Plokeeratut käyttäjät',
+'blocklink' => 'blokeeraa',
+'unblocklink' => 'ota poies blokeerinki',
+'change-blocklink' => 'muuta blokeerinki',
+'contribslink' => 'mookkaukset',
+'blocklogpage' => 'Blokeerinki lokkaus',
+'blocklogentry' => 'blokeerattu [[$1]] blokeerausaika $2 $3',
+'block-log-flags-nocreate' => 'toppaa kontturejistreerinkiä',
+
+# Move page
+'movelogpage' => 'Siirtoloki',
+'revertmove' => 'siirä takashiin',
+
+# Export
+'export' => 'Eksporteeraa sivuja',
+
+# Namespace 8 related
+'allmessagesname' => 'Nimi',
+'allmessagesdefault' => 'Stantartiteksti',
+
+# Thumbnails
+'thumbnail-more' => 'Isona',
+'thumbnail_error' => 'Pienoiskuvan luominen epäonnistui: $1',
+
+# Tooltip help for the actions
+'tooltip-pt-userpage' => 'Oma käyttäjäsivu',
+'tooltip-pt-mytalk' => 'Oma keskustelusivu',
+'tooltip-pt-preferences' => 'Omat inställninkit',
+'tooltip-pt-watchlist' => 'Lista sivuista, joitten mookkauksia valvot',
+'tooltip-pt-mycontris' => 'Lista omista mookkauksista',
+'tooltip-pt-login' => 'Lokkaa mielelhään sisäle, mutta ei ole pakko',
+'tooltip-pt-logout' => 'Lokkaa ulos',
+'tooltip-ca-talk' => 'Keskustelu sisälöstä',
+'tooltip-ca-edit' => 'Voit mookata tätä sivua, mutta käytä esitarkastusknappia ennen kun säästät',
+'tooltip-ca-addsection' => 'Alota keskustelu uuesta asiasta',
+'tooltip-ca-viewsource' => 'Tämä sivu on suojattu. Saatat nähhä lähekootin',
+'tooltip-ca-history' => 'Sivun aiemat versuunit',
+'tooltip-ca-protect' => 'Suojaa tämä sivu',
+'tooltip-ca-delete' => 'Ota poies tämä sivu',
+'tooltip-ca-move' => 'Siirä tämä sivu',
+'tooltip-ca-watch' => 'Lissää tämä sivu sinun valvontalistale',
+'tooltip-ca-unwatch' => 'Ota poies tämä sivu sinun valvontalistasta',
+'tooltip-search' => 'Hae {{GRAMMAR:elative|{{SITENAME}}}}',
+'tooltip-search-go' => 'Siiry sivule joka on justhiins tällä nimelä',
+'tooltip-search-fulltext' => 'Hae sivuja tälle tekstile',
+'tooltip-p-logo' => 'Alkusivu',
+'tooltip-n-mainpage' => 'Mene alkusivule',
+'tooltip-n-mainpage-description' => 'Mene alkusivule',
+'tooltip-n-portal' => 'Keskustelua projektista',
+'tooltip-n-currentevents' => 'Löyä taustatietoja vereksistä tapahtumisista',
+'tooltip-n-recentchanges' => 'Lista vereksistä muutoksista',
+'tooltip-n-randompage' => 'Aukase satunhaisen sivun',
+'tooltip-n-help' => 'Apua ja informasuunia',
+'tooltip-t-whatlinkshere' => 'Lista wikisivuista jokka on länkattu tänne',
+'tooltip-t-recentchangeslinked' => 'Verekset mookkaukset sivuissa, jokka on länkattu tästä sivusta',
+'tooltip-feed-atom' => 'Atom-syöte tälle sivule',
+'tooltip-t-contributions' => 'Näytä lista tämän käyttäjän mookkauksista',
+'tooltip-t-emailuser' => 'Lähätä sähköposti tälle käyttäjälle',
+'tooltip-t-upload' => 'Lattaa ylös fiiliä',
+'tooltip-t-specialpages' => 'Lista kaikista spesiaalisivuista',
+'tooltip-t-print' => 'Printtausmaholinen versuuni',
+'tooltip-t-permalink' => 'Ikunen linkki tämän sivun  versuunhiin',
+'tooltip-ca-nstab-main' => 'Näytä sisältösivu',
+'tooltip-ca-nstab-user' => 'Näytä käyttäjäsivu',
+'tooltip-ca-nstab-special' => 'Tämä on spesiaalisivu; sie et saata mookata itteä sivua',
+'tooltip-ca-nstab-project' => 'Näytä prujektisivu',
+'tooltip-ca-nstab-image' => 'Näytä fiilisivu',
+'tooltip-ca-nstab-template' => 'Näytä mallia',
+'tooltip-ca-nstab-category' => 'Näytä katekuurisivu',
+'tooltip-minoredit' => 'Merkitte tämä pieneksi muutokseksi',
+'tooltip-save' => 'Säästä mookkaukset',
+'tooltip-preview' => 'Esikuvvaa sinun muutokset, käytä tätä ennen kun säästät',
+'tooltip-diff' => 'Näytä sinun muutokset tekstistä',
+'tooltip-compareselectedversions' => 'Vertaile valitut sivuversuunit',
+'tooltip-watch' => 'Lissää tämä sivu sinun valvontalistale',
+'tooltip-rollback' => '"Rullaa takashiin" kaataa yhelä klikilä viimisen mookkaajan muutokset',
+'tooltip-undo' => '"Kumota" palauttaa tämän muutoksen ja aukasee artikkelin mookkausruutun esitarkastuksen kansa. Antaa maholisuuen kirjottaa mutiveerinkin mookkaajan yhteenvethoon',
+'tooltip-summary' => 'Kirjota lyhy yhteenveto',
+
+# Browsing diffs
+'previousdiff' => 'Vanheempi muutos',
+'nextdiff' => 'Uuempi muutos',
+
+# Media information
+'file-info-size' => '$1 × $2 pikseliä, fiilin koko: $3, MIME-tyyppi: $4',
+'file-nohires' => 'Tarkempaa kuvvaa ei ole saatavissa.',
+'svg-long-desc' => 'SVG-fiili; peruskoko $1 × $2 pikseliä, fiilikoko: $3',
+'show-big-image' => 'Korkearesulusuuni versuuni',
+
+# Bad image list
+'bad_image_list' => 'Listan muoto on seuraava:
+
+Vain *-merkilä alkavat rivit otethaan huomihoon.
+Rivin ensimäinen linkki häätyy mennä kehnoon fiilhiin.
+Kaikki muut linkit samala rivilä.käsitelthään poikkeuksena, eli toisin sanoen sivuja missä fiilin saapi käyttää.',
+
+# Metadata
+'metadata' => 'Meettataatta',
+'metadata-help' => 'Tämä fiili sisältää lisätietoja esimerkiks kuvanlukijan, eli kuvakäsittelyprukrammin lisätietoja. Kaikki tiot ei en´nää välttämättä vastaa toelisuutheen, jos kuvvaa on mookattu sen alkuperäisen luomisen jälkhiin.',
+'metadata-fields' => 'Seuraavaa meettataatta kentät listattu tässä informasuunissa, sisälethään näkyvänä kuvasivussa, kun meettataatta taulukko kolapsaa. Muut piilotethaan stantartina.
+* make
+* model
+* datetimeoriginal
+* exposuretime
+* fnumber
+* isospeedratings
+* focallength
+* artist
+* copyright
+* imagedescription
+* gpslatitude
+* gpslongitude
+* gpsaltitude',
+
+# External editor support
+'edit-externally' => 'Mookkaa tätä fiiliä käyttämällä eksterniä aplikasuunia',
+'edit-externally-help' => '(Katto [//www.mediawiki.org/wiki/Manual:External_editors ohjeet], jos haluat lissää tietoja.)',
+
+# 'all' in various places, this might be different for inflected languages
+'watchlistall2' => 'kaikki',
+'namespacesall' => 'kaikki',
+'monthsall' => 'kaikki',
+
+# Watchlist editing tools
+'watchlisttools-view' => 'Näytä muutokset',
+'watchlisttools-edit' => 'Näytä ja mookkaa valvontalistaa',
+'watchlisttools-raw' => 'Mookkaa valvontalistaa raakamuoossa',
+
+# Core parser functions
+'duplicate-defaultsort' => 'Varotus: Stantartisortteerausavvain ”$2” korvaa aieman stantartisortteerausavvaimen”$1”.',
+
+# Special:SpecialPages
+'specialpages' => 'Spesiaali sivut',
+
+# External image whitelist
+'external_image_whitelist' => '#Älä muuta tätä riviä ollenkhaan.<pre>
+#Kirjota rekyljääri frakmentitten meininkit (vain osa, joka mennee //-merkkitten välhiin) tähhään alle
+#Niitä verrathaan ulkoisitten (suoralinkitetyitten) kuvitten URLhin
+#Net jokka sopivat, näytethään kuvina, muuten kuvhiin näytethään vain linkit
+#Rivit, jokka alkavat #-merkilä on komentaaria
+#Tämä on riippumaton puukstavitten kokosta',
+
+# Special:Tags
+'tag-filter' => '[[Special:Tags|Merkki]] filtteri:',
+
+);
index abaed26..394f985 100644 (file)
@@ -1247,7 +1247,7 @@ Tín t-post adressa verður ikki avdúkað, tá aðrir brúkarir seta seg í sam
 'nchanges' => '$1 {{PLURAL:$1|broyting|broytingar}}',
 'recentchanges' => 'Seinastu broytingar',
 'recentchanges-legend' => 'Nýligar broytingar møguleikar',
-'recentchangestext' => 'Á hesi síðu kanst tú fylgja teimum nýggjastu broytingunum á hesi wiki.',
+'recentchanges-summary' => 'Á hesi síðu kanst tú fylgja teimum nýggjastu broytingunum á hesi wiki.',
 'recentchanges-feed-description' => "Við hesum feed'inum kanst tú fylgja teimum seinastu broytingunum á hesi wiki'ini.",
 'recentchanges-label-newpage' => 'Henda rætting upprættaði eina nýggja síðu',
 'recentchanges-label-minor' => 'Hetta er ein lítil rætting',
index e4ea8d9..3bd15c4 100644 (file)
@@ -66,6 +66,7 @@
  * @author Tpt
  * @author Urhixidur
  * @author Verdy p
+ * @author WikiEoFrEn
  * @author Wyz
  * @author Yumeki
  * @author Zebulon84
@@ -264,6 +265,7 @@ $magicWords = array(
        'staticredirect'          => array( '1', '__REDIRECTIONSTATIQUE__', '__STATICREDIRECT__' ),
        'protectionlevel'         => array( '1', 'NIVEAUDEPROTECTION', 'PROTECTIONLEVEL' ),
        'url_path'                => array( '0', 'CHEMIN', 'PATH' ),
+       'url_query'               => array( '0', 'QUESTION', 'QUERY' ),
 );
 
 $specialPageAliases = array(
@@ -365,16 +367,16 @@ $messages = array(
 # User preference toggles
 'tog-underline' => 'Souligner les liens :',
 'tog-justify' => 'Justifier les paragraphes',
-'tog-hideminor' => 'Masquer les modifications mineures parmi les modifications récentes',
-'tog-hidepatrolled' => 'Masquer les modifications surveillées parmi les modifications récentes',
+'tog-hideminor' => 'Masquer les modifications mineures dans les modifications récentes',
+'tog-hidepatrolled' => 'Masquer les modifications surveillées dans les modifications récentes',
 'tog-newpageshidepatrolled' => 'Masquer les pages surveillées parmi les nouvelles pages',
 'tog-extendwatchlist' => 'Étendre la liste de suivi pour afficher toutes les modifications et non seulement les plus récentes',
 'tog-usenewrc' => 'Utiliser les modifications récentes améliorées (nécessite JavaScript)',
 'tog-numberheadings' => 'Numéroter automatiquement les titres de section',
-'tog-showtoolbar' => 'Montrer la barre de menu de modification (nécessite JavaScript)',
-'tog-editondblclick' => 'Double-cliquer permet de modifier une page (nécessite JavaScript)',
+'tog-showtoolbar' => "Montrer la barre d'outils de modification (nécessite JavaScript)",
+'tog-editondblclick' => 'Modifier des pages sur double-clic (nécessite JavaScript)',
 'tog-editsection' => 'Activer les modifications de sections grâce aux liens « [modifier] »',
-'tog-editsectiononrightclick' => 'Un clic droit sur un titre de section permet de modifier celle-ci (nécessite JavaScript)',
+'tog-editsectiononrightclick' => 'Activer la modification de sections par clic droit sur leurs titres (nécessite JavaScript)',
 'tog-showtoc' => 'Afficher la table des matières (pour les pages ayant plus de 3 sections)',
 'tog-rememberpassword' => 'Se souvenir de mon identification avec ce navigateur (au maximum $1 {{PLURAL:$1|jour|jours}})',
 'tog-watchcreations' => 'Ajouter les pages que je crée à ma liste de suivi',
@@ -461,7 +463,7 @@ $messages = array(
 'november-gen' => 'novembre',
 'december-gen' => 'décembre',
 'jan' => 'janv',
-'feb' => 'févr',
+'feb' => 'fév',
 'mar' => 'mars',
 'apr' => 'avr',
 'may' => 'mai',
@@ -498,7 +500,7 @@ $messages = array(
 'cancel' => 'Annuler',
 'moredotdotdot' => 'Plus...',
 'mypage' => 'Ma page',
-'mytalk' => 'Page de discussion',
+'mytalk' => 'Ma page de discussion',
 'anontalk' => 'Discussion avec cette adresse IP',
 'navigation' => 'Navigation',
 'and' => '&#32;et',
@@ -533,7 +535,7 @@ $messages = array(
 
 'errorpagetitle' => 'Erreur',
 'returnto' => 'Revenir à la page $1.',
-'tagline' => 'De {{SITENAME}}.',
+'tagline' => 'De {{SITENAME}}',
 'help' => 'Aide',
 'search' => 'Rechercher',
 'searchbutton' => 'Rechercher',
@@ -642,7 +644,7 @@ $1',
 'thisisdeleted' => 'Désirez-vous afficher ou restaurer $1 ?',
 'viewdeleted' => 'Voir $1 ?',
 'restorelink' => '{{PLURAL:$1|la modification effacée|les $1 modifications effacées}}',
-'feedlinks' => 'Flux',
+'feedlinks' => 'Flux :',
 'feed-invalid' => 'Type de flux invalide.',
 'feed-unavailable' => 'Les flux de syndication ne sont pas disponibles',
 'site-rss-feed' => 'Flux RSS de $1',
@@ -713,9 +715,9 @@ Veuillez le signaler à un [[Special:ListUsers/sysop|administrateur]] sans oubli
 'filedeleteerror' => 'Impossible de supprimer le fichier « $1 ».',
 'directorycreateerror' => 'Impossible de créer le dossier « $1 ».',
 'filenotfound' => 'Impossible de trouver le fichier « $1 ».',
-'fileexistserror' => 'Impossible d’écrire dans le dossier « $1 » : le fichier existe',
+'fileexistserror' => 'Impossible d’écrire le fichier « $1 » : le fichier existe.',
 'unexpected' => 'Valeur inattendue : « $1 » = « $2 ».',
-'formerror' => 'Erreur : Impossible de soumettre le formulaire',
+'formerror' => 'Erreur : Impossible de soumettre le formulaire.',
 'badarticleerror' => 'Cette action ne peut pas être effectuée sur cette page.',
 'cannotdelete' => 'Impossible de supprimer la page ou le fichier « $1 ».
 La suppression a peut-être déjà été effectuée par quelqu’un d’autre.',
@@ -772,7 +774,7 @@ N’oubliez pas de personnaliser vos [[Special:Preferences|préférences sur {{S
 'yourpasswordagain' => 'Confirmez le mot de passe :',
 'remembermypassword' => 'Me reconnecter automatiquement aux prochaines visites avec ce navigateur (au maximum $1 {{PLURAL:$1|jour|jours}})',
 'securelogin-stick-https' => 'Rester connecté en HTTPS après la connexion',
-'yourdomainname' => 'Votre domaine',
+'yourdomainname' => 'Votre domaine :',
 'externaldberror' => 'Une erreur s’est produite avec la base de données d’authentification externe, ou bien vous n’êtes pas autorisé{{GENDER:||e|(e)}} à mettre à jour votre compte externe.',
 'login' => 'Connexion',
 'nav-login-createaccount' => 'Créer un compte ou se connecter',
@@ -1305,9 +1307,9 @@ Assurez-vous que cette opération conservera la continuité de l’historique de
 'mergelogpagetext' => 'Voici la liste des fusions de l’historique d’une page dans celui d’une autre les plus récentes.',
 
 # Diffs
-'history-title' => 'Historique des versions de «&nbsp;$1&nbsp;»',
-'difference-title' => 'Différence entre des versions de « $1 »',
-'difference-title-multipage' => 'Différence entre les pages « $1 » et « $2 »',
+'history-title' => '$1 : Historique des versions',
+'difference-title' => '$1 : Différence entre versions',
+'difference-title-multipage' => 'Différences entre les pages « $1 » et « $2 »',
 'difference-multipage' => '(Différence entre les pages)',
 'lineno' => 'Ligne $1 :',
 'compareselectedversions' => 'Comparer les versions sélectionnées',
@@ -1403,6 +1405,7 @@ Essayez en utilisant le préfixe ''all:'' pour rechercher dans tout le contenu (
 'prefs-beta' => 'Fonctionnalités bêta',
 'prefs-datetime' => 'Date et heure',
 'prefs-labs' => 'Fonctionnalités « labs »',
+'prefs-user-pages' => 'Pages utilisateur',
 'prefs-personal' => 'Informations personnelles',
 'prefs-rc' => 'Modifications récentes',
 'prefs-watchlist' => 'Liste de suivi',
@@ -1664,7 +1667,7 @@ Elle ne doit pas dépasser $1 caractère{{PLURAL:$1||s}}.',
 'nchanges' => '$1 modification{{PLURAL:$1||s}}',
 'recentchanges' => 'Modifications récentes',
 'recentchanges-legend' => 'Options des modifications récentes',
-'recentchangestext' => 'Piste les changements les plus récents du wiki sur cette page.',
+'recentchanges-summary' => 'Piste les changements les plus récents du wiki sur cette page.',
 'recentchanges-feed-description' => 'Suivre les dernières modifications de ce wiki dans un flux.',
 'recentchanges-label-newpage' => 'Cette modification a créé une nouvelle page',
 'recentchanges-label-minor' => 'Cette modification est mineure',
@@ -1871,14 +1874,15 @@ Si le problème persiste, contactez un [[Special:ListUsers/sysop|administrateur]
 'backend-fail-writetemp' => "Impossible d'écrire dans le fichier temporaire.",
 'backend-fail-closetemp' => 'Impossible de fermer le fichier temporaire.',
 'backend-fail-read' => 'Impossible de lire le fichier $1.',
-'backend-fail-create' => 'Impossible de créer le fichier $1.',
-'backend-fail-maxsize' => "Impossible de créer le fichier $1 parce qu'il est plus grand que  {{PLURAL:$2|$2 octet| $2 octets}}.",
+'backend-fail-create' => 'Impossible d’écrire le fichier $1.',
+'backend-fail-maxsize' => "Impossible d’écrire le fichier $1 parce qu'il est plus grand {{PLURAL:$2|qu'un octet|que $2 octets}}.",
 'backend-fail-readonly' => 'Le support de stockage "$1" est actuellement en lecture seule. La raison indiquée est: "$2"',
 'backend-fail-synced' => 'Le fichier "$1" est dans un état incohérent dans les supports de stockage internes',
 'backend-fail-connect' => 'Impossible de se connecter au support de stockage "$1".',
 'backend-fail-internal' => 'Une erreur inconnue s\'est produite dans le support de stockage "$1".',
 'backend-fail-contenttype' => 'Impossible de déterminer le type de contenu du fichier à stocker en "$1".',
 'backend-fail-batchsize' => 'Le support de stockage a fourni un lot de $1 {{PLURAL:$1|opération|opérations}} de fichier; la limite est $2 {{PLURAL:$2|opération|opérations}}.',
+'backend-fail-usable' => 'Impossible d’écrire le fichier $1 en raison de droits insuffisants ou répertoires/conteneurs manquants.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Impossible de se connecter à la base de données du journal pour le terminal de stockage "$1".',
@@ -1941,7 +1945,6 @@ Pour une sécurité optimale, img_auth.php est désactivé.',
 'http-curl-error' => 'Erreur lors de la récupération de l’URL : $1',
 'http-host-unreachable' => 'Impossible d’atteindre l’URL.',
 'http-bad-status' => 'Il y a eu un problème lors de la requête HTTP : $1 $2',
-'http-truncated-body' => 'Le corps de la requête n’a été reçu que partiellement.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'URL injoignable',
index b9c8ad2..0dd57ec 100644 (file)
@@ -26,8 +26,8 @@ $namespaceNames = array(
        NS_MEDIA            => 'Mèdia',
        NS_SPECIAL          => 'Spèciâl',
        NS_TALK             => 'Discussion',
-       NS_USER             => 'Usanciér',
-       NS_USER_TALK        => 'Discussion_usanciér',
+       NS_USER             => 'Utilisator',
+       NS_USER_TALK        => 'Discussion_utilisator',
        NS_PROJECT_TALK     => 'Discussion_$1',
        NS_FILE             => 'Fichiér',
        NS_FILE_TALK        => 'Discussion_fichiér',
@@ -43,8 +43,8 @@ $namespaceNames = array(
 
 $namespaceAliases = array(
        'Discutar'              => NS_TALK,
-       'Utilisator'            => NS_USER,
-       'Discussion_Utilisator' => NS_USER_TALK,
+       'Usanciér'              => NS_USER,
+       'Discussion_usanciér'   => NS_USER_TALK,
        'Émâge'                 => NS_FILE,
        'Discussion_Émâge'      => NS_FILE_TALK,
        'Discussion_Modèlo'     => NS_TEMPLATE_TALK,
@@ -1647,7 +1647,7 @@ Ceta enformacion serat publica.',
 'nchanges' => '$1 changement{{PLURAL:$1||s}}',
 'recentchanges' => 'Dèrriérs changements',
 'recentchanges-legend' => 'Chouèx des dèrriérs changements',
-'recentchangestext' => 'Siude los dèrriérs changements du vouiqui sur ceta pâge.',
+'recentchanges-summary' => 'Siude los dèrriérs changements du vouiqui sur ceta pâge.',
 'recentchanges-feed-description' => 'Siude los dèrriérs changements du vouiqui dens ceti flux.',
 'recentchanges-label-newpage' => 'Ceti changement at fêt una pâge novèla.',
 'recentchanges-label-minor' => 'Ceti changement est petiôt.',
index 591ee40..f49df7d 100644 (file)
@@ -262,7 +262,7 @@ $1',
 'edithelp' => 'Beårbingsheelp',
 'edithelppage' => 'Help:Beårbe',
 'helppage' => 'Help:Inhåltsfertiiknis',
-'mainpage' => 'Hoodsid',
+'mainpage' => 'Wikipedia:Hoodsid',
 'mainpage-description' => 'Hoodsid',
 'policy-url' => 'Project:Ruchtliinje',
 'portal' => 'Gemiinschaps-portåål',
@@ -281,6 +281,7 @@ Sii jü [[Special:Version|Färsjoonssid]]',
 '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',
@@ -394,9 +395,8 @@ Ouffrååch: $2',
 'viewsourcetext' => 'Dü koost jü kwäle foon jüdeer sid bekiike än kopiire.',
 'viewyourtext' => "Dü könst di code faan '''din feranerang''' faan detheer sidj uunluke an kopiare:",
 'protectedinterface' => 'Jüdeer sid önjthålt takst for ju brükerouerfläche foon e software än as späred, am masbrük tu ferhanern.',
-'editinginterface' => "'''Woorschauing:''' Jüdeer sid önjthålt foon jü MesiaWiki-software bënjüteden takst.
-Änringe wirke jam aw jü brükerouerfläche üt.
-For ouerseetinge tånk deeram, jü önj di  [//translatewiki.net/wiki/Main_Page?setlang=frr Translatewiki], dåt MediaWiki lokalisiiringsprojekt, döörtufäären.",
+'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/wiki/Main_Page?setlang=frr Translatewiki], 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}}:
@@ -501,6 +501,7 @@ Besäkere, da iüheer IP-adräse brüke, koone tu jü tutids niinj benutserkonte
 'invalidemailaddress' => 'Jü E-mail adräs wörd ai aksäptiird, ouerdåt jü en üngülti formoot (ewentuäl üngültie tiikne) tu heewen scheent.
 Wees sü gödj än jeef en koräkt adräs önj unti mäág dåt fäalj lääsi.',
 'cannotchangeemail' => 'E-mail-adresen kön uun detheer wiki ei feranert wurd.',
+'emaildisabled' => 'Fann detdiar sidj kön nian E-Mails fersjüürd wurd',
 'accountcreated' => 'Benjüterkonto mååged',
 'accountcreatedtext' => 'Dåt benjüteraccount for $1 as mååged wörden.',
 'createaccount-title' => 'Måågen foon en benjüterkonto for {{SITENAME}}',
@@ -696,6 +697,7 @@ For informasjoon füliet di leeste üttooch üt dåt benjüterspär-logbök:',
 'note' => "'''Påås aw:'''",
 'previewnote' => "'''Heer könst dü sä, hü det sidj wurd skal.'''
 Det sidj as oober noch ei seekert!",
+'continue-editing' => 'Widjer bewerke',
 'previewconflict' => 'Dideer forbekiik jeeft di inhålt foon dåt boowerst takstfälj wider. Sü wårt jü sid ütsiinj, wan dü nü spiikerst.',
 'session_fail_preview' => "'''Din werk küd ei ufseekert wurd, diar as wat skiaf gingen.'''
 Fersjük det man noch ans an trak do üüb ''Sid spiikre''.
@@ -712,6 +714,7 @@ 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',
+'creating' => 'Maage $1',
 'editingsection' => 'Beårben foon $1 (oufsnaas)',
 'editingcomment' => 'Beårben foon $1 (naien oufsnaas)',
 'editconflict' => 'Beårbingskonflikt: $1',
@@ -772,6 +775,7 @@ Jü wörd önjscheened sleeked.',
 'edit-no-change' => 'Din beårbing wörd ignoriird, deer niinj änring an e täkst fornümen wörd.',
 'edit-already-exists' => 'Köö niinj nai sid mååge.
 Dåt bestöö ål.',
+'defaultmessagetext' => 'Standard tekst',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => 'Woorschauing: Jüdeer sid önjthålt tu fool apteele foon widluftie parserfunksjoone.
@@ -785,6 +789,8 @@ Deer {{PLURAL:$2|mötj ai mör ås 1 apteel|mönje ai mör ås $1 apteele}} wees
 '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)',
+'parser-unstrip-loop-warning' => 'Diar as en jinsidjag ferwisang',
+'parser-unstrip-recursion-limit' => 'Tuföl jinsidjag ferwisangen bi $1',
 
 # "Undo" feature
 'undo-success' => 'Detheer feranerang koon turag nimen wurd. 
@@ -960,7 +966,9 @@ A nawigatsjuun links saat ales weder turag üüb di ual stant.',
 'mergelogpagetext' => 'Dåtheer as dåt logbök foon da feriinde färsjoonshistoorie.',
 
 # Diffs
-'history-title' => 'Färsjoonshistoori foon "$1"',
+'history-title' => '$1: Ferluup faan a wersjuunen',
+'difference-title' => 'Ferskeel tesken a wersjuunen faan "$1"',
+'difference-title-multipage' => 'Ferskeel tesken a sidjen "$1" an "$2"',
 'difference-multipage' => '(Ferschääl twasche side)',
 'lineno' => 'Ra $1:',
 'compareselectedversions' => 'Wäälde färsjoone ferglike',
@@ -1034,23 +1042,66 @@ A nawigatsjuun links saat ales weder turag üüb di ual stant.',
 '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.',
 
 # Quickbar
+'qbsettings' => 'Sidjenliist',
 'qbsettings-none' => 'Niinj',
+'qbsettings-fixedleft' => 'Lachts, fääst',
+'qbsettings-fixedright' => 'Rochts, fääst',
+'qbsettings-floatingleft' => 'Lachts, auergung',
+'qbsettings-floatingright' => 'Rochts, auergung',
+'qbsettings-directionality' => 'Fääst, hinget faan di skriiwwai faan det spriak uf',
 
 # Preferences page
 'preferences' => 'Önjstalinge',
 'mypreferences' => 'Önjstalinge',
+'prefs-edits' => 'Taal faan feranerangen:',
 'prefsnologin' => 'Ai önjmälded',
+'prefsnologintext' => 'Dü skel <span class="plainlinks">[{{fullurl:{{#special:UserLogin}}|returnto=$1}} uunmeldet]</span> wees, am din iinstelangen tu feranerin.',
 'changepassword' => 'Pååsuurd änre',
+'prefs-skin' => 'Skak',
 'skin-preview' => 'Forlök',
 'datedefault' => 'Foor-önjstaling',
+'prefs-beta' => 'Beta mögelkhaiden',
+'prefs-datetime' => 'Dai an klooktidj',
+'prefs-labs' => 'Alpha mögelkhaiden',
+'prefs-user-pages' => 'Brükersidjen',
 'prefs-personal' => 'Brüker dooten',
 'prefs-rc' => 'Leeste änringe',
+'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}}',
+'prefs-watchlist-edits' => 'Ei muar feranerangen üs:',
 'prefs-watchlist-edits-max' => 'Ai mör as 1000',
+'prefs-watchlist-token' => "Token för uun't uug behualen:",
 'prefs-misc' => 'Dit än dat',
 'prefs-resetpass' => 'Pååsuurd änre',
+'prefs-changeemail' => 'Feranere det E-Mail-adres',
+'prefs-setemail' => 'E-Mail-adres fäästlei:',
+'prefs-email' => 'E-Mail iinstelangen',
+'prefs-rendering' => 'Skak',
 'saveprefs' => 'Önjstalinge sääkere',
+'resetprefs' => 'Wech diarmä',
+'restoreprefs' => 'Normool iinstelangen weder haale',
+'prefs-editing' => 'Bewerke',
+'prefs-edit-boxsize' => "Grate faan't wönang tu't bewerkin:",
+'rows' => 'Räen:',
+'columns' => 'Spleder:',
+'searchresultshead' => 'Sjü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 feranerangen“ uunwise:',
+'recentchangesdays-max' => 'Ei muar üs {{PLURAL:$1|ään dai|$1 daar}}',
+'recentchangescount' => 'Soföl feranerangen skel uunwiset wurd:',
+'prefs-help-recentchangescount' => 'Det san a leetst feranerangen, wersjuunen 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' => 'Di iinstelangen san seekerd wurden.',
+'timezonelegend' => 'Tidjsoon:',
 'localtime' => 'lokaal tid',
+'timezoneuseserverdefault' => 'Wiki standard tidj brük ($1)',
+'timezoneuseoffset' => 'Öödern (ferskeel uundu)',
+'timezoneoffset' => 'Ferskeel¹:',
+'servertime' => 'Server klooktidj:',
+'guesstimezone' => 'Faan a browser auernem',
 'timezoneregion-africa' => 'Afrikaa',
 'timezoneregion-america' => 'Ameerikaa',
 'timezoneregion-antarctica' => 'Antarktikaa',
@@ -1067,32 +1118,86 @@ A nawigatsjuun links saat ales weder turag üüb di ual stant.',
 'defaultns' => 'Ouers säk önj jüheer noomerüme:',
 'default' => 'Forinstaling',
 'prefs-files' => 'Dååtäie',
+'prefs-custom-css' => 'Salew maaget CSS',
+'prefs-custom-js' => 'Salew maaget JavaScript',
+'prefs-common-css-js' => 'CSS / JavaScript för arke skak:',
+'prefs-reset-intro' => 'Üüb detdiar sidj könst dü weder a normool iinstelangen iinracht.
+Do san jo ual iinstelangen wech.',
+'prefs-emailconfirm-label' => 'E-Mail gudkäänd:',
+'prefs-textboxsize' => "Grate faan't wönang tu bewerkin",
 'youremail' => 'E-mail:',
 'username' => 'Brükernoome:',
+'uid' => 'Brüker ID:',
+'prefs-memberingroups' => 'Lasmoot faan {{PLURAL:$1|brükerskööl|brükersköölen}}:',
+'prefs-registration' => 'Uunmeldetidj',
 'yourrealname' => 'Rocht nööm:',
 'yourlanguage' => 'Spräke:',
+'yourvariant' => 'Spriak:',
+'prefs-help-variant' => 'Uun hün skriiwwiis skel a sidjen uunwiset wurd:',
 'yournick' => 'Nai signatuur:',
+'prefs-help-signature' => 'Wees so gud an onerskriiw üüb diskusjuunssidjen mä „<nowiki>~~~~</nowiki>“. Diar komt do dan brükernööm an det klooktidj bi ütj.',
+'badsig' => "Diar stemet wat ei mä't signatuur. Preewe at HTML.",
+'badsiglength' => 'Din signatuur mut ei muar üs $1 {{PLURAL:$1|tiaken|tiakens}} haa.',
+'yourgender' => 'Slach:',
+'gender-unknown' => 'Ei bekäänd',
+'gender-male' => 'Maan',
+'gender-female' => 'Wüf',
+'prefs-help-gender' => "Stäänt tu wool: Det woort brükt för't paasin uunspreegen faan maaner an wüfen. Arken koon det lees.",
 'email' => 'E-mail',
+'prefs-help-realname' => 'Stäänt tu wool. Wan dü dan rochten nööm uundääst, koon hi mä din bewerkangen ferbünjen wurd.',
 'prefs-help-email' => 'Dü säärst din e-mail-adres ei uundu, oober do könst dü uk nian mädialangen fu, wan dü ans din paaswurd ferjiden heest.',
 'prefs-help-email-others' => 'Mä ööder brükern könst dü uk auer hör an din brükersidj kontakt apnem. Diarför woort din e-mail-adres ei brükt.',
+'prefs-help-email-required' => 'Du en rocht E-Mail-adres uun.',
+'prefs-info' => 'Baasisdooten',
 'prefs-i18n' => 'Spriak',
 '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-displayrc' => "Mögelkhaiden för't uunwisen",
+'prefs-displaysearchoptions' => "Mögelkhaiden för't uunwisen",
+'prefs-displaywatchlist' => "Mögelkhaiden för't uunwisen",
+'prefs-diffs' => 'Ferskeel',
+
+# User preference: e-mail validation using jQuery
+'email-address-validity-valid' => 'Detdiar E-Mail-adres schocht gud ütj.',
+'email-address-validity-invalid' => 'Du en echt E-Mail-adres uun.',
 
 # User rights
+'userrights' => 'Brükerrochten bewerke',
+'userrights-lookup-user' => 'Brükersköölen bewerke',
 'userrights-user-editname' => 'Brükernoome:',
+'editusergroup' => 'Brükersköölen bewerke',
+'editinguser' => "Brükerrochten faan '''[[User:$1|$1]]''' $2 feranere",
+'userrights-editusergroup' => 'Lasmootskap tu brükersköölen bewerke',
+'saveusergroups' => 'Brükersköölen seekre',
+'userrights-groupsmember' => 'Lasmoot faan:',
+'userrights-groupsmember-auto' => 'Faan salew lasmoot faan:',
+'userrights-groups-help' => 'Dü könst feranere, tu hün brükerskööl di brüker hiirt:
+* En uunkrüsagt kasche ment, di brüker hiirt diartu.
+* En ei uunkrüsagt kasche ment, di brüker hiart ei diartu.
+* En * ment, dat dü det brükerrocht ei weder wechnem könst (of amkiard).',
+'userrights-reason' => 'Grünj:',
+'userrights-no-interwiki' => 'Dü heest ei det rocht, am brükerrochten uun ööder wikis tu feranerin.',
+'userrights-nodatabase' => 'Det dootenbeenk $1 jaft at ei, tumanst ei lokaal.',
+'userrights-nologin' => 'Dü mutst di mä en administraator-brükerkonto [[Special:UserLogin|uunmelde]], wan dü brükerrochten feranere wel.',
+'userrights-notallowed' => 'Dü heest ei det rocht, am brükerrochten tu feranerin.',
+'userrights-changeable-col' => 'Lasmootskapen, diar dü feranere könst',
+'userrights-unchangeable-col' => 'Lasmootskapen, diar dü ei feranere könst',
 
 # Groups
+'group' => 'Skööl:',
 'group-user' => 'Brükere',
 'group-autoconfirmed' => 'Registriirde brükere',
 'group-bot' => 'Bots',
 'group-sysop' => 'Administratoore',
 'group-bureaucrat' => 'Bürokraate',
 'group-suppress' => 'Oversighter',
+'group-all' => '(aaltumaal)',
 
 'group-user-member' => '{{GENDER:$1|brüker}}',
 'group-autoconfirmed-member' => '{{GENDER:$1|gudkäänd brüker}}',
@@ -1128,7 +1233,7 @@ A nawigatsjuun links saat ales weder turag üüb di ual stant.',
 'nchanges' => '$1 {{PLURAL:$1|änring|änringe}}',
 'recentchanges' => 'Leeste änringe',
 'recentchanges-legend' => 'Wis-opsjoone',
-'recentchangestext' => "Üüb detheer sidj könst dü a leetst feranerangen faan '''{{SITENAME}}''' ferfulge.",
+'recentchanges-summary' => "Üüb detheer sidj könst dü a leetst feranerangen faan '''{{SITENAME}}''' ferfulge.",
 'recentchanges-feed-description' => 'Ferfülie ma dåtheer feed da leeste änringe önj {{SITENAME}}.',
 'recentchanges-label-newpage' => 'Nei sidj uunlaanj',
 'recentchanges-label-minor' => 'Letj feranerang',
@@ -1287,15 +1392,28 @@ Wan dü jü sid wider foon din eefterkiikliste wächhååle mååst, klik aw jü
 
 # Delete
 'deletepage' => 'Sid tunintemååge',
+'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.',
 '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.',
 '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',
 'deletecomment' => 'Grün:',
 'deleteotherreason' => 'Ouderen/tubaikaamenden grün:',
 'deletereasonotherlist' => 'Ouderen grün',
+'deletereason-dropdown' => "*Algemian grünjer för't striken
+** Di skriiwer wul det so
+** 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.",
 
 # Rollback
 'rollbacklink' => 'tubäägseete',
@@ -1304,6 +1422,7 @@ Wan dü jü sid wider foon din eefterkiikliste wächhååle mååst, klik aw jü
 'protectlogpage' => 'Sideschütse-logbök',
 'protectedarticle' => 'schütsed „[[$1]]“',
 'modifiedarticleprotection' => 'änred e schüts for "[[$1]]"',
+'prot_1movedto2' => 'hää „[[$1]]“ efter „[[$2]]“ fersköwen',
 'protectcomment' => 'Grün:',
 'protectexpiry' => 'Spärduur:',
 'protect_expiry_invalid' => 'Jü önjjääwen duur as üngülti.',
@@ -1321,10 +1440,68 @@ Wan dü jü sid wider foon din eefterkiikliste wächhååle mååst, klik aw jü
 '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.',
 'restriction-type' => 'Schütsstatus',
 'restriction-level' => 'Schütshöögde',
+'minimum-size' => 'Minimaal grate:',
+'maximum-size' => 'Maksimaal grate:',
+'pagesize' => '(bytes)',
+
+# Restrictions (nouns)
+'restriction-edit' => 'Bewerke',
+'restriction-move' => 'Fersküüw',
+'restriction-create' => 'Maage',
+'restriction-upload' => 'Huuchsjüür',
+
+# Restriction levels
+'restriction-level-sysop' => 'seekerd (bluas för administratooren)',
+'restriction-level-autoconfirmed' => 'hualew seekerd (bluas för gudkäänd brükern)',
+'restriction-level-all' => 'aaltumaal',
 
 # Undelete
+'undelete' => 'Stregen sidjen uunwise',
+'undeletepage' => 'Stregen sidjen uunwise an weder iinstel',
+'undeletepagetitle' => "'''Detdiar wiset a stregen wersjuunen 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.',
+'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.',
+'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',
+'undeletedfiles' => '{{PLURAL:$1|1 datei|$1 datein }} weder iinsteld',
+'cannotundelete' => 'Weder iinstelen hää ei loket; ferlicht hää hoker ööders det al weder iinsteld.',
+'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-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-bad-store-key' => "Det dateiwersjuun faan $1 koon ei weder iinsteld wurd. Det datei wiar al föör't striken ei muar diar.",
+'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-submit' => 'Ja',
 
 # Namespace form on various pages
 'namespace' => 'Noomerüm:',
@@ -1371,6 +1548,7 @@ Wan dü jü sid wider foon din eefterkiikliste wächhååle mååst, klik aw jü
 # Block/unblock
 'blockip' => 'IP-adräs/brüker späre',
 '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',
+'unblocked-id' => 'Sperang $1 as apheewen',
 'blocklist' => 'Spärd brükere',
 'ipblocklist' => 'Spärd brükere',
 'ipblocklist-legend' => 'Spärd brükere fine',
@@ -1384,9 +1562,9 @@ Wan dü jü sid wider foon din eefterkiikliste wächhååle mååst, klik aw jü
 'blocklogpage' => 'Brükerspär-logbök',
 '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' => 'Dåtdeer as dåt logbök ouer späringe än önjtspäringe foon brükere än IP-adräse.
-Automatisch spärd IP-adräse wårde ai footed.
-Sii jü [[Special:BlockList|list foon da spärd IP-adräse än brükernoome]] for ål da aktive späre.',
+'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',
 'block-log-flags-anononly' => 'bloot anonyme',
 'block-log-flags-nocreate' => 'Måågen foon brükerkonte spärd',
@@ -1434,6 +1612,9 @@ Hål di '''naie''' tiitel uner '''muul''' önjdreege, deeruner jü ambenååming
 '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',
+'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',
 'movereason' => 'Begrüning:',
 'revertmove' => 'tubääg ferschüwe',
@@ -1602,5 +1783,9 @@ Deeraw föliende sidelinke önj dåtseelwi ra definiire ütnååme, önj di kont
 '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',
+'logentry-move-move' => '$1 hää det sidj $3 efter $4 fersköwen.',
+'logentry-move-move-noredirect' => '$1 hää det sidj $3 efter $4 saner widjerfeerang fersköwen.',
+'logentry-move-move_redir' => '$1 hää det sidj $3 efter $4 fersköwen an diarbi en widjerfeerang auerskrewen.',
+'logentry-move-move_redir-noredirect' => '$1 hää det sidj $3 efter $4 fersköwen an diarbi en widjerfeerang auerskrewen saner salew en widjerfeerang uuntuleien.',
 
 );
index cd4a7f6..e4f32ab 100644 (file)
@@ -831,7 +831,7 @@ La tô direzion di pueste no ven mostrade cuant che i utents ti contatin.',
 'nchanges' => '$1 {{PLURAL:$1|cambiament|cambiaments}}',
 'recentchanges' => 'Ultins cambiaments',
 'recentchanges-legend' => 'Opzions dai ultins cambiaments',
-'recentchangestext' => 'Cheste pagjine e mostre i plui recents cambiaments inte {{SITENAME}}.',
+'recentchanges-summary' => 'Cheste pagjine e mostre i plui recents cambiaments inte {{SITENAME}}.',
 'recentchanges-feed-description' => 'Chest canâl al ripuarte i cambiaments plui recents ai contignûts di cheste wiki.',
 'recentchanges-label-newpage' => 'Chest cambiament al à creât une gnove pagjine',
 'recentchanges-label-minor' => 'Chest al è un piçul cambiament',
index c09e27e..8e3c271 100644 (file)
@@ -1206,7 +1206,7 @@ Jo kinne ek oaren de mûglikheid jaan kontakt mei jo op te nimmen troch in ferwi
 'nchanges' => '$1 {{PLURAL:$1|bewurking|bewurkings}}',
 'recentchanges' => 'Koartlyn feroare',
 'recentchanges-legend' => 'Opsjes foar resinte feroarings',
-'recentchangestext' => 'De lêste feroarings fan de {{SITENAME}}.',
+'recentchanges-summary' => 'De lêste feroarings fan de {{SITENAME}}.',
 'recentchanges-feed-description' => 'Mei dizze feed kinne jo de nijste feroarings yn dizze wiki besjen.',
 'recentchanges-label-newpage' => 'Mei dizze wiziging is in nije side makke',
 'recentchanges-label-minor' => 'Dit is in tekstwiziging',
index 130d0a0..3e333dc 100644 (file)
@@ -955,7 +955,7 @@ do chuid dreachtaí a chur i leith tusa.',
 'nchanges' => '{{PLURAL:$1|Athrú amháin|$1 athruithe}}',
 'recentchanges' => 'Athruithe is déanaí',
 'recentchanges-legend' => 'Roghanna do na hathruithe is déanaí',
-'recentchangestext' => 'Déan faire ar na hathruithe is déanaí sa vicí ar an leathanach seo.',
+'recentchanges-summary' => 'Déan faire ar na hathruithe is déanaí sa vicí ar an leathanach seo.',
 'recentchanges-feed-description' => 'Rianaigh na n-athruite vicí is déanaí sa fotha seo.',
 'recentchanges-label-bot' => 'Chomhlíon róbó an t-athrú seo',
 'rcnote' => "Is {{PLURAL:$1|é seo a leanas <strong>an t-athrú amháin</strong>|iad seo a leanas na <strong>$1</strong> athruithe is déanaí}} {{PLURAL:$2|ar feadh an lae dheireanaigh|ar feadh na '''$2''' lá deireanacha}}, as $5, $4.",
index f497826..077055e 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Simplified Gan script (‪赣语(简体)‬)
+/** Simplified Gan script (‪赣语(简体)‬)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -887,7 +887,7 @@ $2',
 'nchanges' => '$1道改动',
 'recentchanges' => '最晏𠮶改动',
 'recentchanges-legend' => '个朝子𠮶更改选项',
-'recentchangestext' => '跟到个只wiki上𠮶最新改动。',
+'recentchanges-summary' => '跟到个只wiki上𠮶最新改动。',
 'recentchanges-feed-description' => '跟到个只 wiki 上集合𠮶最后改动。',
 'recentchanges-label-newpage' => '个只编辑会建立只新页',
 'recentchanges-label-minor' => '个系只细修改',
index dbceb31..c50da29 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Traditional Gan script (‪贛語(繁體)‬)
+/** Traditional Gan script (‪贛語(繁體)‬)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -910,7 +910,7 @@ $2',
 'nchanges' => '$1道改動',
 'recentchanges' => '最晏嗰改動',
 'recentchanges-legend' => '箇晝子嗰更改選項',
-'recentchangestext' => '跟到箇隻wiki上嗰最新改動。',
+'recentchanges-summary' => '跟到箇隻wiki上嗰最新改動。',
 'recentchanges-feed-description' => '跟到箇隻 wiki 上集合嗰最後改動。',
 'recentchanges-label-newpage' => '箇隻編輯會建立隻新頁',
 'recentchanges-label-minor' => '箇係隻細修改',
index c21e829..8d25e60 100644 (file)
  * @author לערי ריינהארט
  */
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Meadhan',
+       NS_SPECIAL          => 'Sònraichte',
+       NS_TALK             => 'Deasbaireachd',
+       NS_USER             => 'Cleachdaiche',
+       NS_USER_TALK        => 'Deasbaireachd_a\'_chleachdaiche',
+       NS_PROJECT_TALK     => 'An_deasbaireachd_aig_$1',
+       NS_FILE             => 'Faidhle',
+       NS_FILE_TALK        => 'Deasbaireachd_an_fhaidhle',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'Deasbaireachd_MediaWiki',
+       NS_TEMPLATE         => 'Teamplaid',
+       NS_TEMPLATE_TALK    => 'Deasbaireachd_na_teamplaid',
+       NS_HELP             => 'Cobhair',
+       NS_HELP_TALK        => 'Deasbaireachd_na_cobharach',
+       NS_CATEGORY         => 'Roinn-seòrsa',
+       NS_CATEGORY_TALK    => 'Deasbaireachd_na_roinn-seòrsa',
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Fo-loidhneadh nan ceanglaichean:',
@@ -677,7 +696,7 @@ Mìneachadh: '''({{int:cur}})''' = an diofar eadar e 's am mùthadh as ùire, ''
 'revertmerge' => 'Dì-aontaich',
 
 # Diffs
-'history-title' => 'Eachdraidh nam mùthaidhean de "$1"',
+'history-title' => 'Eachdraidh nam mùthaidhean aig "$1"',
 'lineno' => 'Loidhne $1:',
 'compareselectedversions' => 'Dèan coimeas eadar na mùthaidhean a thagh thu',
 'editundo' => 'neo-dhèan',
@@ -777,7 +796,7 @@ Chan fhaicear an seòladh fhèin nuair a chuireas cuideigin post-dealain thugad.
 'nchanges' => '{{PLURAL:$1|mhùthadh|mhùthadh|mhùthadh|mhùthadh|mùthaidhean|mùthadh}}',
 'recentchanges' => 'Mùthaidhean ùra',
 'recentchanges-legend' => 'Roghainnean nam mùthaidhean ùra',
-'recentchangestext' => 'Cum sùil air na mùthaidhean as ùire a nithear air an uici air an duilleag seo.',
+'recentchanges-summary' => 'Cum sùil air na mùthaidhean as ùire a nithear air an uici air an duilleag seo.',
 'recentchanges-feed-description' => 'Cum sùil air na mùthaidhean as ùire a nithear air an uici seo san inbhir seo.',
 'recentchanges-label-newpage' => 'Chruthaich thu duilleag ùr leis a sin',
 'recentchanges-label-minor' => 'Seo mùthadh beag',
index c93ad92..9e0394e 100644 (file)
@@ -167,8 +167,8 @@ $magicWords = array(
        'notoc'                   => array( '0', '__SENÍNDICE__', '__SEMTDC__', '__SEMSUMÁRIO__', '__NOTOC__' ),
        'nogallery'               => array( '0', '__SENGALERÍA__', '__SEMGALERIA__', '__NOGALLERY__' ),
        'forcetoc'                => array( '0', '__FORZAROÍNDICE__', '__FORCARTDC__', '__FORCARSUMARIO__', '__FORÇARTDC__', '__FORÇARSUMÁRIO__', '__FORCETOC__' ),
-       'toc'                     => array( '0', '__ÍNDICE__', '__TDC__', '__SUMÁRIO__', '__TOC__' ),
-       'noeditsection'           => array( '0', '__SECCIÓNSNONEDITABLES__', '__NÃOEDITARSEÇÃO__', '__SEMEDITARSEÇÃO__', '__NOEDITSECTION__' ),
+       'toc'                     => array( '0', '__ÍNDICE__', '__TDC__', '__SUMÁRIO__', '__SUMARIO__', '__TOC__' ),
+       'noeditsection'           => array( '0', '__SECCIÓNSNONEDITABLES__', '__NÃOEDITARSEÇÃO__', '__SEMEDITARSEÇÃO__', '__NAOEDITARSECAO__', '__SEMEDITARSECAO__', '__NOEDITSECTION__' ),
        'noheader'                => array( '0', '___SENCABECEIRA__', '__SEMCABECALHO__', '__SEMCABEÇALHO__', '__SEMTITULO__', '__SEMTÍTULO__', '__NOHEADER__' ),
        'currentmonth'            => array( '1', 'MESACTUAL', 'MESATUAL', 'MESATUAL2', 'CURRENTMONTH', 'CURRENTMONTH2' ),
        'currentmonth1'           => array( '1', 'MESACTUAL1', 'MESATUAL1', 'CURRENTMONTH1' ),
@@ -212,6 +212,7 @@ $magicWords = array(
        'language'                => array( '0', '#LINGUA:', '#IDIOMA:', '#LANGUAGE:' ),
        'numberofadmins'          => array( '1', 'NÚMERODEADMINISTRADORES', 'NUMERODEADMINISTRADORES', 'NUMBEROFADMINS' ),
        'special'                 => array( '0', 'especial', 'special' ),
+       'defaultsort'             => array( '1', 'ORDENAR:', 'ORDENACAOPADRAO', 'ORDENAÇÃOPADRÃO', 'ORDEMPADRAO', 'ORDEMPADRÃO', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ),
        'tag'                     => array( '0', 'etiqueta', 'tag' ),
        'hiddencat'               => array( '1', '__CATEGORÍAOCULTA__', '__CATEGORIAOCULTA__', '__CATOCULTA__', '__HIDDENCAT__' ),
        'pagesincategory'         => array( '1', 'PÁXINASNACATEGORÍA', 'PAGINASNACATEGORIA', 'PÁGINASNACATEGORIA', 'PAGINASNACAT', 'PÁGINASNACAT', 'PAGESINCATEGORY', 'PAGESINCAT' ),
@@ -1221,8 +1222,8 @@ Asegúrese de que esta modificación da páxina mantén a continuidade históric
 'notextmatches' => 'Non se atopou o texto en ningunha páxina',
 'prevn' => '{{PLURAL:$1|$1}} previas',
 'nextn' => '{{PLURAL:$1|$1}} seguintes',
-'prevn-title' => '$1 {{PLURAL:$1|resultado previo|resultados previos}}',
-'nextn-title' => '$1 {{PLURAL:$1|resultado seguinte|resultados seguintes}}',
+'prevn-title' => '{{PLURAL:$1|O resultado anterior|Os anteriores $1 resultados}}',
+'nextn-title' => '{{PLURAL:$1|O seguinte resultado|Os seguintes $1 resultados}}',
 'shown-title' => 'Mostrar $1 {{PLURAL:$1|resultado|resultados}} por páxina',
 'viewprevnext' => 'Ver as ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-legend' => 'Opcións de busca',
@@ -1297,6 +1298,7 @@ Note que os seus índices do contido de {{SITENAME}} poden estar desactualizados
 'prefs-beta' => 'Características en probas',
 'prefs-datetime' => 'Data e hora',
 'prefs-labs' => 'Características experimentais',
+'prefs-user-pages' => 'Páxinas de usuario',
 'prefs-personal' => 'Información do usuario',
 'prefs-rc' => 'Cambios recentes',
 'prefs-watchlist' => 'Lista de vixilancia',
@@ -1558,8 +1560,8 @@ Ha de ter menos {{PLURAL:$1|dun carácter|de $1 caracteres}}.',
 'nchanges' => '$1 {{PLURAL:$1|cambio|cambios}}',
 'recentchanges' => 'Cambios recentes',
 'recentchanges-legend' => 'Opcións dos cambios',
-'recentchangestext' => 'Nesta páxina pode seguir os cambios máis recentes no wiki.',
-'recentchanges-feed-description' => 'Nesta fonte de novas pode seguir os cambios máis recentes no wiki.',
+'recentchanges-summary' => 'Nesta páxina pode seguir as modificacións máis recentes feitas no wiki.',
+'recentchanges-feed-description' => 'Nesta fonte de novas pode seguir as modificacións máis recentes feitas no wiki.',
 'recentchanges-label-newpage' => 'Esta edición creou unha nova páxina',
 'recentchanges-label-minor' => 'Esta é unha edición pequena',
 'recentchanges-label-bot' => 'Esta edición foi realizada por un bot',
@@ -1770,14 +1772,15 @@ Se o problema persiste, póñase en contacto cun [[Special:ListUsers/sysop|admin
 'backend-fail-writetemp' => 'Non se puido escribir no ficheiro temporal.',
 'backend-fail-closetemp' => 'Non se puido pechar o ficheiro temporal.',
 'backend-fail-read' => 'Non se puido ler o ficheiro "$1".',
-'backend-fail-create' => 'Non se puido crear o ficheiro "$1".',
-'backend-fail-maxsize' => 'Non se puido crear o ficheiro "$1" porque {{PLURAL:$2|é de máis de $2 byte|supera os $2 bytes}}.',
+'backend-fail-create' => 'Non se puido escribir o ficheiro "$1".',
+'backend-fail-maxsize' => 'Non se puido escribir o ficheiro "$1" porque {{PLURAL:$2|é de máis de $2 byte|supera os $2 bytes}}.',
 'backend-fail-readonly' => 'Nestes intres, o sistema de almacenamento "$1" está en modo de só lectura. A razón dada é: "$2"',
 'backend-fail-synced' => 'O ficheiro "$1" está nun estado inconsistente dentro do sistema de almacenamento interno',
 'backend-fail-connect' => 'Non se puido conectar co sistema de almacenamento "$1".',
 'backend-fail-internal' => 'Houbo un erro descoñecido no sistema de almacenamento "$1".',
 'backend-fail-contenttype' => 'Non se puido determinar o tipo de contido do ficheiro a almacenar en "$1".',
 'backend-fail-batchsize' => 'O sistema de almacenamento recibiu un feixe de $1 {{PLURAL:$1|operación|operacións}} de ficheiro; o límite está en $2 {{PLURAL:$2|operación|operacións}}.',
+'backend-fail-usable' => 'Non se puido escribir o ficheiro "$1" debido a que os permisos son insuficientes ou faltan os directorios/contenedores.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Non se pode conectar coa base de datos do rexistro do sistema de almacenamento "$1".',
@@ -1840,7 +1843,6 @@ Para unha seguridade óptima, img_auth.php está desactivado.',
 'http-curl-error' => 'Ocorreu un erro ao acceder ao URL: $1',
 'http-host-unreachable' => 'Non se puido acceder ao URL.',
 'http-bad-status' => 'Houbo un problema durante a solicitude HTTP: $1 $2',
-'http-truncated-body' => 'O corpo de solicitude recibiuse parcialmente.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Non se logrou acceder a ese URL',
@@ -3734,8 +3736,8 @@ Debería recibir [{{SERVER}}{{SCRIPTPATH}}/COPYING unha copia da licenza públic
 'version-entrypoints' => 'Enderezos URL de punto de entrada',
 'version-entrypoints-header-entrypoint' => 'Punto de entrada',
 'version-entrypoints-header-url' => 'URL',
-'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Ruta do artigo]',
-'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Ruta da escritura]',
+'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Ruta dos artigos]',
+'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Ruta das escrituras]',
 
 # Special:FilePath
 'filepath' => 'Ruta do ficheiro',
index f0467fc..8abcd89 100644 (file)
@@ -1097,7 +1097,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|μεταβολή|μεταβολαί}}',
 'recentchanges' => 'Αἱ νέαι μεταβολαί',
 'recentchanges-legend' => 'Ἐπιλογαὶ προσφάτων μεταβολῶν',
-'recentchangestext' => 'Ἀνιχνεύσειν τὰς πλείω πρόσφατους ἀλλαγὰς οῦ βίκι ἐν τῇδε τῇ δέλτῳ.',
+'recentchanges-summary' => 'Ἀνιχνεύσειν τὰς πλείω πρόσφατους ἀλλαγὰς οῦ βίκι ἐν τῇδε τῇ δέλτῳ.',
 'recentchanges-feed-description' => 'Παρακολουθεῖν τὰς πλείω προσφάτους ἀλλαγὰς τοῦ βίκι ἐν ταύτῃ περιλήψει.',
 'recentchanges-label-newpage' => 'Ἥδε ἡ μεταγραφὴ ἐποίησεν νέαν δέλτον τινά',
 'recentchanges-label-minor' => 'Ἥδε μικρὰ μεταγραφή ἐστιν',
index 557e56a..254869b 100644 (file)
 $fallback = 'de';
 
 $specialPageAliases = array(
-       'Allmessages'               => array( 'Alli Nochrichte' ),
-       'Allpages'                  => array( 'Alli Syte' ),
-       'Ancientpages'              => array( 'Veralteti Syte' ),
+       'Allmessages'               => array( 'Alli_Nochrichte' ),
+       'Allpages'                  => array( 'Alli_Syte' ),
+       'Ancientpages'              => array( 'Veralteti_Syte' ),
+       'Badtitle'                  => array( 'Nit-gültige_Sytename' ),
        'Blankpage'                 => array( 'Läärsyte' ),
        'Block'                     => array( 'Sperre' ),
        'Blockme'                   => array( 'Proxy-Sperre' ),
        'Booksources'               => array( 'ISBN-Suech' ),
-       'BrokenRedirects'           => array( 'Kaputti Wyterlaitige' ),
+       'BrokenRedirects'           => array( 'Kaputti_Wyterlaitige' ),
        'Categories'                => array( 'Kategorie' ),
-       'ChangePassword'            => array( 'Passwort ändre' ),
-       'Confirmemail'              => array( 'E-Mail bstetige' ),
+       'ChangeEmail'               => array( 'E-Mai-Adräss_ändere' ),
+       'ChangePassword'            => array( 'Passwort_ändre' ),
+       'ComparePages'              => array( 'Syte_verglyyche' ),
+       'Confirmemail'              => array( 'E-Mail_bstetige' ),
        'Contributions'             => array( 'Byytreeg' ),
-       'CreateAccount'             => array( 'Benutzerchonto aaleege' ),
+       'CreateAccount'             => array( 'Benutzerchonto_aaleege' ),
        'Deadendpages'              => array( 'Sackgassesyte' ),
-       'DeletedContributions'      => array( 'Gleschti Byytreeg' ),
+       'DeletedContributions'      => array( 'Gleschti_Byytreeg' ),
        'Disambiguations'           => array( 'Begriffschlärigsverwyys' ),
-       'DoubleRedirects'           => array( 'Doppleti Wyterlaitige' ),
+       'DoubleRedirects'           => array( 'Doppleti_Wyterlaitige' ),
+       'EditWatchlist'             => array( 'Bearbeitigslischt_bearbeite' ),
        'Emailuser'                 => array( 'E-Mail' ),
        'Export'                    => array( 'Exportiere' ),
-       'Fewestrevisions'           => array( 'Syte wo am wenigschte bearbeitet sin' ),
+       'Fewestrevisions'           => array( 'Syte_wo_am_wenigschte_bearbeitet_sin' ),
        'FileDuplicateSearch'       => array( 'Datei-Duplikat-Suech' ),
        'Filepath'                  => array( 'Dateipfad' ),
        'Import'                    => array( 'Importiere' ),
-       'Invalidateemail'           => array( 'E-Mail nit bstetige' ),
-       'BlockList'                 => array( 'Gsperrti IP' ),
-       'LinkSearch'                => array( 'Suech no Gleicher' ),
+       'Invalidateemail'           => array( 'E-Mail_nit_bstetige' ),
+       'BlockList'                 => array( 'Gsperrti_IP' ),
+       'LinkSearch'                => array( 'Suech_no_Links' ),
        'Listadmins'                => array( 'Ammanne' ),
        'Listbots'                  => array( 'Bötli' ),
        'Listfiles'                 => array( 'Dateie' ),
        'Listgrouprights'           => array( 'Grupperächt' ),
        'Listredirects'             => array( 'Wyterleitige' ),
        'Listusers'                 => array( 'Benutzerlischte' ),
-       'Lockdb'                    => array( 'Datebank sperre' ),
+       'Lockdb'                    => array( 'Datebank_sperre' ),
        'Log'                       => array( 'Logbuech' ),
-       'Lonelypages'               => array( 'Verwaisti Syte' ),
-       'Longpages'                 => array( 'Langi Syte' ),
-       'MergeHistory'              => array( 'Versionsgschichte zämefiere' ),
+       'Lonelypages'               => array( 'Verwaisti_Syte' ),
+       'Longpages'                 => array( 'Langi_Syte' ),
+       'MergeHistory'              => array( 'Versionsgschichte_zämefiere' ),
        'MIMEsearch'                => array( 'MIME-Suech' ),
-       'Mostcategories'            => array( 'Syte wo am meischte kategorisiert sin' ),
-       'Mostimages'                => array( 'Dateie wo am meischte brucht wäre' ),
-       'Mostlinked'                => array( 'Syte wo am meischte vergleicht sin' ),
-       'Mostlinkedcategories'      => array( 'Kategorie wo am meischte brucht wäre' ),
-       'Mostlinkedtemplates'       => array( 'Vorlage wo am meischte brucht wäre' ),
-       'Mostrevisions'             => array( 'Syte wo am meischte bearbeitet sin' ),
+       'Mostcategories'            => array( 'Syte_wo_am_meischte_kategorisiert_sin' ),
+       'Mostimages'                => array( 'Dateie_wo_am_meischte_brucht_wäre' ),
+       'Mostlinked'                => array( 'Syte_wo_am_meischte_druff_verlinkt_isch' ),
+       'Mostlinkedcategories'      => array( 'Kategorie_wo_am_meischte_brucht_wäre' ),
+       'Mostlinkedtemplates'       => array( 'Vorlage_wo_am_meischte_brucht_wäre' ),
+       'Mostrevisions'             => array( 'Syte_wo_am_meischte_bearbeitet_sin' ),
        'Movepage'                  => array( 'Verschiebe' ),
-       'Mycontributions'           => array( 'Myyni Byytreeg' ),
-       'Mypage'                    => array( 'Myyni Benutzersyte' ),
-       'Mytalk'                    => array( 'Myyni Diskussionssyte' ),
-       'Newimages'                 => array( 'Neji Dateie' ),
-       'Newpages'                  => array( 'Neji Syte' ),
-       'Popularpages'              => array( 'Beliebteschti Syte' ),
+       'Mycontributions'           => array( 'Myyni_Byytreeg' ),
+       'Mypage'                    => array( 'Myyni_Benutzersyte' ),
+       'Mytalk'                    => array( 'Myyni_Diskussionssyte' ),
+       'Myuploads'                 => array( 'Dateie_wonni_uffeglade_han' ),
+       'Newimages'                 => array( 'Neji_Dateie' ),
+       'Newpages'                  => array( 'Neji_Syte' ),
+       'PasswordReset'             => array( 'Passwort_zruggsetze' ),
+       'PermanentLink'             => array( 'Permalink' ),
+       'Popularpages'              => array( 'Beliebteschti_Syte' ),
        'Preferences'               => array( 'Ystellige' ),
        'Prefixindex'               => array( 'Vorsilbeverzeichnis' ),
-       'Protectedpages'            => array( 'Gschitzti Syte' ),
-       'Protectedtitles'           => array( 'Gsperrti Titel' ),
-       'Randompage'                => array( 'Zuefelligi Syte' ),
-       'Randomredirect'            => array( 'Zuefelligi Wyterleitig' ),
-       'Recentchanges'             => array( 'Letschti Änderige' ),
-       'Recentchangeslinked'       => array( 'Änderige an vergleichte Syte' ),
+       'Protectedpages'            => array( 'Gschitzti_Syte' ),
+       'Protectedtitles'           => array( 'Gsperrti_Titel' ),
+       'Randompage'                => array( 'Zuefelligi_Syte' ),
+       'Randomredirect'            => array( 'Zuefelligi_Wyterleitig' ),
+       'Recentchanges'             => array( 'Letschti_Änderige' ),
+       'Recentchangeslinked'       => array( 'Änderige_an_verlinkte_Syte' ),
        'Revisiondelete'            => array( 'Versionsleschig' ),
+       'RevisionMove'              => array( 'Version_verschiebe' ),
        'Search'                    => array( 'Suech' ),
-       'Shortpages'                => array( 'Churzi Syte' ),
+       'Shortpages'                => array( 'Churzi_Syte' ),
        'Specialpages'              => array( 'Spezialsyte' ),
        'Statistics'                => array( 'Statischtik' ),
-       'Uncategorizedcategories'   => array( 'Kategorie wo nit kategorisiert sin' ),
-       'Uncategorizedimages'       => array( 'Dateie wo nit kategorisiert sin' ),
-       'Uncategorizedpages'        => array( 'Syte wo nit kategorisiert sin' ),
-       'Uncategorizedtemplates'    => array( 'Vorlage wo nit kategorisiert sin' ),
+       'Tags'                      => array( 'Markierige' ),
+       'Unblock'                   => array( 'Freigee' ),
+       'Uncategorizedcategories'   => array( 'Kategorie_wo_nit_kategorisiert_sin' ),
+       'Uncategorizedimages'       => array( 'Dateie_wo_nit_kategorisiert_sin' ),
+       'Uncategorizedpages'        => array( 'Syte_wo_nit_kategorisiert_sin' ),
+       'Uncategorizedtemplates'    => array( 'Vorlage_wo_nit_kategorisiert_sin' ),
        'Undelete'                  => array( 'Widerhärstelle' ),
-       'Unlockdb'                  => array( 'Sperrig vu dr Datebank ufhebe' ),
-       'Unusedcategories'          => array( 'Kategorie wo nit brucht wäre' ),
-       'Unusedimages'              => array( 'Dateie wo nit brucht wäre' ),
-       'Unusedtemplates'           => array( 'Vorlage wo nit brucht wäre' ),
-       'Unwatchedpages'            => array( 'Syte wu nit beobachtet wäre' ),
+       'Unlockdb'                  => array( 'Sperrig_vu_dr_Datebank_ufhebe' ),
+       'Unusedcategories'          => array( 'Kategorie_wo_nit_brucht_wäre' ),
+       'Unusedimages'              => array( 'Dateie_wo_nit_brucht_wäre' ),
+       'Unusedtemplates'           => array( 'Vorlage_wo_nit_brucht_wäre' ),
+       'Unwatchedpages'            => array( 'Syte_wu_nit_beobachtet_wäre' ),
        'Upload'                    => array( 'Uffelade' ),
        'Userlogin'                 => array( 'Amälde' ),
        'Userlogout'                => array( 'Abmälde' ),
        'Userrights'                => array( 'Benutzerrächt' ),
-       'Wantedcategories'          => array( 'Kategorie wo gwinscht sin' ),
-       'Wantedfiles'               => array( 'Dateie wo fähle' ),
-       'Wantedpages'               => array( 'Syte wo gwinscht sin' ),
-       'Wantedtemplates'           => array( 'Vorlage wo fähle' ),
+       'Wantedcategories'          => array( 'Kategorie_wo_gwinscht_sin' ),
+       'Wantedfiles'               => array( 'Dateie_wo_fähle' ),
+       'Wantedpages'               => array( 'Syte_wo_gwinscht_sin' ),
+       'Wantedtemplates'           => array( 'Vorlage_wo_fähle' ),
        'Watchlist'                 => array( 'Beobachtigslischte' ),
-       'Whatlinkshere'             => array( 'Was gleicht do ane?' ),
-       'Withoutinterwiki'          => array( 'Ohni Interwiki' ),
+       'Whatlinkshere'             => array( 'Was_verwyyst_do_druff?' ),
+       'Withoutinterwiki'          => array( 'Ohni_Interwiki' ),
 );
 
 $magicWords = array(
@@ -1412,7 +1422,7 @@ Des cha nimmi ruckgängig gmacht wäre.',
 'nchanges' => '$1 {{PLURAL:$1|Änderig|Änderige}}',
 'recentchanges' => 'Letschti Änderige',
 'recentchanges-legend' => 'Optione vu dr Aazeig',
-'recentchangestext' => 'Uff däre Syte chönne Si die letschte Änderige in däm Wiki aaluege.',
+'recentchanges-summary' => 'Uff däre Syte chönne Si die letschte Änderige in däm Wiki aaluege.',
 'recentchanges-feed-description' => 'Di letschten Änderige vo {{SITENAME}} i däm Feed abonniere.',
 'recentchanges-label-newpage' => 'Die Bearbeitig het e neji Syte aagleit',
 'recentchanges-label-minor' => 'Des isch e chleini Änderig',
index 4f74012..f89ccfa 100644 (file)
@@ -350,7 +350,7 @@ $messages = array(
 'newpage' => 'નવું પાનું',
 'talkpage' => 'આ પાના વિષે ચર્ચા કરો',
 'talkpagelinktext' => 'ચર્ચા',
-'specialpage' => 'ખાસ પાનુ',
+'specialpage' => 'ખાસ પાનુ',
 'personaltools' => 'વ્યક્તિગત સાધનો',
 'postcomment' => 'નવો વિભાગ',
 'articlepage' => 'લેખનું પાનું જુઓ',
@@ -902,7 +902,7 @@ $2
 'nocreatetitle' => 'પાનું બનાવવૌં મર્યાદિત છે',
 'nocreatetext' => '{{SITENAME}}માં નવું પાનુ બનાવવા ઉપર નિયંત્રણ આવી ગયું છે.
 <br />આપ પાછા જઇને હયાત પાનામાં ફેરફાર કરી શકો છો, નહિતર [[Special:UserLogin|પ્રવેશ કરો કે નવું ખાતું ખોલો]].',
-'nocreate-loggedin' => 'તમને નવા પાના રચવાની પરવાનગી નથી.',
+'nocreate-loggedin' => 'તમને નવાં પાનાં બનાવવાની પરવાનગી નથી.',
 'sectioneditnotsupported-title' => 'ખંડીય સંપાદન શક્ય નથી',
 'sectioneditnotsupported-text' => 'આ પાના પર ખંડીય સંપાદન શક્ય નથી',
 'permissionserrors' => 'પરવાનગીની ખામી',
@@ -1480,7 +1480,7 @@ HTML નાકું ચકાસો',
 'nchanges' => '$1 {{PLURAL:$1|ફેરફાર|ફેરફારો}}',
 'recentchanges' => 'તાજા ફેરફારો',
 'recentchanges-legend' => 'હાલમાં થયેલા ફેરફારોના વિકલ્પ',
-'recentchangestext' => 'આ પાના દ્વારા વિકિમાં થયેલા તાજા ફેરફારો પર ધ્યાન રાખો.',
+'recentchanges-summary' => 'વિકિમાં તાજેતરમાં થયેલા ફેરફારો પર અહિંથી નજર રાખો.',
 'recentchanges-feed-description' => 'આ ફીડ દ્વારા વિકિમાં થયેલા તાજા ફેરફારો પર ધ્યાન રાખો.',
 'recentchanges-label-newpage' => 'આ ફેરફાર દ્વારા નવું પાનું નિર્મિત થયું',
 'recentchanges-label-minor' => 'આ એક નાનો સુધારો છે.',
@@ -1968,9 +1968,9 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization. જુઓ',
 'listusers-creationsort' => 'તારીખ અનુસાર ગોઠવો',
 'usereditcount' => '$1 {{PLURAL:$1|ફેરફાર|ફેરફારો}}',
 'usercreated' => '$1 તારીખે $2 વાગ્યે {{GENDER:$3|બનાવ્યું}}',
-'newpages' => 'નવા પાના',
+'newpages' => 'નવાં પાનાં',
 'newpages-username' => 'સભ્ય નામ:',
-'ancientpages' => 'સૌથી જૂનાં પાના',
+'ancientpages' => 'સૌથી જૂનાં પાના',
 'move' => 'નામ બદલો',
 'movethispage' => 'આ પાનું ખસેડો',
 'unusedimagestext' => 'નીચેની ફાઇલો અસ્તિત્વમાં તો છે પણ કોઇ પાના પર તેનો ઉપયોગ થયેલ નથી.
@@ -2016,7 +2016,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization. જુઓ',
 'allpagesprev' => 'પહેલાનું',
 'allpagesnext' => 'પછીનું',
 'allpagessubmit' => 'જાઓ',
-'allpagesprefix' => 'પà«\82રà«\8dવરà«\8dàª\97 àª§àª°àª¾àªµàª¤àª¾ àªªàª¾àª¨àª¾ શોધો',
+'allpagesprefix' => 'àª\89પસરà«\8dàª\97 àª§àª°àª¾àªµàª¤àª¾ àªªàª¾àª¨àª¾àª\82 શોધો',
 'allpagesbadtitle' => 'આપનું ઈચ્છિત શીર્ષક અમાન્ય છે, ખાલી છે, અથવાતો અયોગ્ય રીતે આંતર-ભાષિય કે આંતર-વિકિ સાથે જોડાયેલું શીર્ષક છે.
 શક્ય છે કે તેમાં એક કે વધુ એવા અક્ષર કે ચિહ્નો છે કે જે પાનાનાં શીર્ષક માટે અવૈધ છે.',
 'allpages-bad-ns' => '{{SITENAME}} ને નામસ્થળ  "$1" નથી.',
@@ -2132,7 +2132,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization. જુઓ',
 ભવિષ્યમાં આ પાના અને તેનાં સંલગ્ન ચર્ચાનાં પાનામાં થનારા ફેરફારોની યાદી ત્યાં આપવામાં આવશે અને આ પાનું [[Special:RecentChanges|તાજેતરમાં થયેલા ફેરફારોની યાદી]]માં ઘાટા અક્ષરે જોવા મળશે, જેથી આપ સહેલાઇથી તેને અલગ તારવી શકો.',
 'removewatch' => 'ધ્યાનસૂચિમાંથી કાઢી નાખો',
 'removedwatchtext' => '"[[:$1]]" શીર્ષક હેઠળનું પાનું [[Special:Watchlist|તમારી ધ્યાનસૂચિમાંથી]] કાઢી નાંખવામાં આવ્યું છે.',
-'watch' => 'ધ્યાન માં રાખો',
+'watch' => 'ધ્યાનમાં રાખો',
 'watchthispage' => 'આ પાનું ધ્યાનમાં રાખો',
 'unwatch' => 'ધ્યાનસૂચિમાંથી હટાવો',
 'unwatchthispage' => 'નીરીક્ષણ બંધ કરો',
@@ -2208,7 +2208,7 @@ $UNWATCHURL
 'historywarning' => "'''ચેતવણી:''' જે પાનું તમે હટાવવા જઇ રહ્યાં છો તેને આશરે $1 {{PLURAL:$1|પુનરાવર્તન|પુનરાવર્તનો}}નો ઇતિહાસ છે:",
 'confirmdeletetext' => 'આપ આ પાનું તેના ઇતિહાસ (બધાજ પૂર્વ  ફેરફારો) સાથે હટાવી રહ્યાં છો.
 કૃપા કરી મંજૂરી આપો કે, આપ આમ કરવા ચાહો છો, આપ આના સરા-નરસા પરિણામોથી વાકેફ છો, અને આપ આ કૃત્ય [[{{MediaWiki:Policy-url}}|નીતિ]]ને અનુરૂપ જ કરી રહ્યાં છો.',
-'actioncomplete' => 'àª\95ામ àªªà«\82રà«\81àª\82 àª¥àª\88 àª\97યà«\81àª\82',
+'actioncomplete' => 'àª\95ામ àªªà«\82રà«\8dણ',
 'actionfailed' => 'કાર્ય અસફળ',
 'deletedtext' => '"$1" દૂર કરવામાં આવ્યું છે.
 તાજેતરમાં દૂર કરેલા લેખોની વિગત માટે $2 જુઓ.',
@@ -2414,7 +2414,7 @@ To perform a selective restoration, check the boxes corresponding to the revisio
 'sp-contributions-submit' => 'શોધો',
 
 # What links here
-'whatlinkshere' => 'àª\85હિયાàª\82 àª¶à«\81àª\82 àª\9cà«\8bડાય àª\9bà«\87',
+'whatlinkshere' => 'અહિં શું જોડાય છે',
 'whatlinkshere-title' => '"$1" સાથે જોડાયેલાં પાનાં',
 'whatlinkshere-page' => 'પાનું:',
 'linkshere' => "નીચેના પાનાઓ '''[[:$1]]''' સાથે જોડાય છે:",
@@ -2623,7 +2623,7 @@ To perform a selective restoration, check the boxes corresponding to the revisio
 'moveuserpage-warning' => "'''ચેતવણી :''' તમે સભ્યનું પાનું હટાવી રહ્યાં છો.  કૃપયા યાદરાખશો કે માત્ર પાનું જ હટાવીશકાશે અને સભ્ય્ને નૂતન નામ નહીં અપાય.",
 'movenologin' => 'પ્રવેશ કરેલ નથી',
 'movenologintext' => 'કોઇ પાનું હટાવવા માટે તેમે નોંધણી કૃત સભ્ય અને [[Special:UserLogin|logged in]]  હોવા જોઇએ',
-'movenotallowed' => 'તમનà«\87 àª¨àªµàª¾ àªªàª¾àª¨àª¾ ખસેડવાની પરવાનગી નથી.',
+'movenotallowed' => 'તમનà«\87 àªªàª¾àª¨àª¾àª\82 ખસેડવાની પરવાનગી નથી.',
 'movenotallowedfile' => 'તમને ફાઈલ ખસેડવાની પરવાનગી નથી.',
 'cant-move-user-page' => 'તમને સભ્ય પાના હટાવવાની પરવાનગી નથી (ઉપપાના સિવાય).',
 'cant-move-to-user-page' => 'તમને   કોઇ પાનાને સભ્ય પાનામાં ખસેડવાની પ્રવાનગી નથી (સિવાય કે સભ્ય ઉપપાના)',
@@ -2717,7 +2717,7 @@ To perform a selective restoration, check the boxes corresponding to the revisio
 'allmessages-filter-unmodified' => 'અસંપાદિત',
 'allmessages-filter-all' => 'બધા',
 'allmessages-filter-modified' => 'સુધારીત',
-'allmessages-prefix' => 'પà«\82રà«\8dવરà«\8dàª\97 àª¦à«\8dવારા àª\9aાળો',
+'allmessages-prefix' => 'àª\89પસરà«\8dàª\97 àª¦à«\8dવારા àª\85લàª\97 àª¤àª¾àª°àªµો',
 'allmessages-language' => 'ભાષા:',
 'allmessages-filter-submit' => 'કરો',
 
@@ -3504,7 +3504,7 @@ $5
 'table_pager_next' => 'આગળનું પાનું',
 'table_pager_prev' => 'પાછળનું પાનું',
 'table_pager_first' => 'પહેલું પાનું',
-'table_pager_last' => 'àª\9bà«\87લà«\8dલà«\82ં પાનું',
+'table_pager_last' => 'àª\9bà«\87લà«\8dલà«\81ં પાનું',
 'table_pager_limit' => 'પ્રતિ પાને $1 વસ્તુ બતાવો',
 'table_pager_limit_label' => 'વસ્તિઓ પ્રતિ પાને',
 'table_pager_limit_submit' => 'જાઓ',
@@ -3749,7 +3749,7 @@ $5
 'api-error-duplicate-archive-popup-title' => 'ડ્યુપ્લીકેટ {{PLURAL:$1|ફાઈલ|ફાઈલો}} પહેલેથી મોજુદ છે.',
 'api-error-duplicate-popup-title' => 'આબેહુબ અન્ય {{PLURAL:$1|ફાઈલ|ફાઈલો}}.',
 'api-error-empty-file' => 'તમે ચડાવેલ ફાઈલ ખાલી છે',
-'api-error-emptypage' => 'નવા ખાલી પાના રચવાની અપ્રવાનગી નથી',
+'api-error-emptypage' => 'નવા ખાલી પાનાં બનાવવાની પરવાનગી નથી.',
 'api-error-fetchfileerror' => 'આંતરીક ત્રુટી: ફાઈલ લાવતી વખતે અમુક ગડબડ થઈ',
 'api-error-file-too-large' => 'તમે ચડાવેલી ફાઈલ ખૂબ મોટી છે',
 'api-error-filename-tooshort' => 'ફાઇલ નામ ખૂબ ટૂંકું છે',
index 1f8c61a..c7fbd44 100644 (file)
@@ -738,7 +738,7 @@ My bailliu eh y chiarail, bee eh ymmydit son cur gys lieh y chur dhyt er son yn
 'nchanges' => '$1 {{PLURAL:$1|caghlaa|chaghlaa|chaghlaa|caghlaaghyn}}',
 'recentchanges' => "Caghlaaghyn s'noa",
 'recentchanges-legend' => "Reihyssyn da ny caghlaaghyn s'noa",
-'recentchangestext' => "Shirr ny caghlaaghyn s'noa da'n wiki er y duillag shoh.",
+'recentchanges-summary' => "Shirrey ny caghlaaghyn s'noa da'n wiki er y duillag shoh.",
 'recentchanges-feed-description' => "Shirr ny caghlaaghyn jeianagh er y wiki 'sy scoltey shoh.",
 'recentchanges-label-newpage' => 'Ren y reaghey shoh croo duillag noa',
 'recentchanges-label-minor' => "She myn-arraghey t'ayn",
index 7e8a16a..a48bd4f 100644 (file)
@@ -734,7 +734,7 @@ Tshòng-tón pit-sî chhai $1-ke sṳ-ngièn yî-ha.',
 'nchanges' => '$1-chhṳ kiên-kói',
 'recentchanges' => 'Chui-khiûn ke kiên-kói',
 'recentchanges-legend' => 'Chui-khiun kiên-kói sién-chet',
-'recentchangestext' => 'Kiên-chiûng liá-ke wiki song ke chui-sîn kiên-kói.',
+'recentchanges-summary' => 'Kiên-chiûng liá-ke wiki song ke chui-sîn kiên-kói.',
 'recentchanges-feed-description' => 'Kiên-chiûng chhṳ-thin chhai wiki song chui-khiûn ke kiên-kói.',
 'rcnote' => "Yî-ha he chhai $3, chui-khiûn '''$2''' thiên-nui ke '''$1'''-chhṳ chui-khiûn ke kiên-kói ki-liu̍k:",
 'rcnotefrom' => "Ha-mien he chhṳ '''$2''' (Chui-tô hién-sṳ '''$1'''):",
index 9d0b04e..b037778 100644 (file)
@@ -154,7 +154,6 @@ $magicWords = array(
        'localurl'                => array( '0', 'כתובת יחסית:', 'LOCALURL:' ),
        'localurle'               => array( '0', 'כתובת יחסית מקודד:', 'LOCALURLE:' ),
        'articlepath'             => array( '0', 'נתיב הדפים', 'ARTICLEPATH' ),
-       'pageid'                  => array( '0', 'מזהה הדף', 'PAGEID' ),
        'server'                  => array( '0', 'כתובת השרת', 'שרת', 'SERVER' ),
        'servername'              => array( '0', 'שם השרת', 'SERVERNAME' ),
        'scriptpath'              => array( '0', 'נתיב הקבצים', 'SCRIPTPATH' ),
@@ -235,7 +234,7 @@ $specialPageAliases = array(
        'BrokenRedirects'           => array( 'הפניות_לא_תקינות', 'הפניות_שבורות' ),
        'Categories'                => array( 'קטגוריות', 'רשימת_קטגוריות' ),
        'ChangeEmail'               => array( 'שינוי_דואר_אלקטרוני', 'שינוי_דואל' ),
-       'ChangePassword'            => array( 'שינוי_סיסמה' ),
+       'ChangePassword'            => array( 'שינוי_סיסמה', 'איפוס_סיסמה' ),
        'ComparePages'              => array( 'השוואת_דפים' ),
        'Confirmemail'              => array( 'אימות_כתובת_דואר' ),
        'Contributions'             => array( 'תרומות', 'תרומות_המשתמש' ),
@@ -420,13 +419,13 @@ $messages = array(
 'thursday' => 'חמישי',
 'friday' => 'שישי',
 'saturday' => 'שבת',
-'sun' => "ר×\90ש'",
-'mon' => 'שני',
-'tue' => "ש×\9c×\99'",
-'wed' => "ר×\91×\99'",
-'thu' => "×\97×\9e×\99'",
-'fri' => "ש×\99ש'",
-'sat' => 'שבת',
+'sun' => "×\90'",
+'mon' => "ב'",
+'tue' => "×\92'",
+'wed' => "×\93'",
+'thu' => "×\94'",
+'fri' => "×\95'",
+'sat' => "ש'",
 'january' => 'ינואר',
 'february' => 'פברואר',
 'march' => 'מרץ',
@@ -1319,9 +1318,9 @@ $1",
 'mergelogpagetext' => 'זוהי רשימה של המיזוגים האחרונים של גרסאות מדף אחד לתוך דף שני.',
 
 # Diffs
-'history-title' => 'היסטוריית הגרסאות של $1',
-'difference-title' => 'הבדלים בין גרסאות של "$1"',
-'difference-title-multipage' => 'הבדלים בין הדפים $1 ו{{GRAMMAR:תחילית|$2}}',
+'history-title' => '$1: היסטוריית גרסאות',
+'difference-title' => '$1: הבדלים בין גרסאות',
+'difference-title-multipage' => '$1 ו{{GRAMMAR:תחילית|$2}}: הבדלים בין דפים',
 'difference-multipage' => '(הבדלים בין דפים)',
 'lineno' => 'שורה $1:',
 'compareselectedversions' => 'השוואת הגרסאות שנבחרו',
@@ -1418,6 +1417,7 @@ $1",
 'prefs-beta' => 'אפשרויות בטא',
 'prefs-datetime' => 'תאריך ושעה',
 'prefs-labs' => 'אפשרויות מעבדה',
+'prefs-user-pages' => 'דפי משתמש',
 'prefs-personal' => 'פרטי המשתמש',
 'prefs-rc' => 'שינויים אחרונים',
 'prefs-watchlist' => 'רשימת המעקב',
@@ -1682,7 +1682,7 @@ $1",
 'nchanges' => '{{PLURAL:$1|שינוי אחד|$1 שינויים}}',
 'recentchanges' => 'שינויים אחרונים',
 'recentchanges-legend' => 'אפשרויות בשינויים האחרונים',
-'recentchangestext' => 'ניתן לעקוב אחרי השינויים האחרונים באתר בדף זה.',
+'recentchanges-summary' => 'ניתן לעקוב אחרי השינויים האחרונים באתר בדף זה.',
 'recentchanges-feed-description' => 'ניתן לעקוב אחרי השינויים האחרונים באתר בדף זה.',
 'recentchanges-label-newpage' => 'בעריכה זו נוצר דף חדש',
 'recentchanges-label-minor' => 'זוהי עריכה משנית',
@@ -1891,14 +1891,15 @@ $1',
 'backend-fail-writetemp' => 'לא הייתה אפשרות לכתוב אל הקובץ הזמני.',
 'backend-fail-closetemp' => 'לא הייתה אפשרות לסגור את הקובץ הזמני.',
 'backend-fail-read' => 'קריאת הקובץ $1 לא הצליחה',
-'backend-fail-create' => '×\99צ×\99רת הקובץ $1 לא הצליחה',
-'backend-fail-maxsize' => '×\99צ×\99רת הקובץ $1 לא הצליחה כיוון שהוא גדול יותר {{PLURAL:$2|מבית אחד|מ־$2 בתים}}.',
+'backend-fail-create' => '×\9bת×\99×\91ת הקובץ $1 לא הצליחה',
+'backend-fail-maxsize' => '×\9bת×\99×\91ת הקובץ $1 לא הצליחה כיוון שהוא גדול יותר {{PLURAL:$2|מבית אחד|מ־$2 בתים}}.',
 'backend-fail-readonly' => 'מאגר האחסון לקבצים "$1" הוא כרגע במצב קריאה בלבד. הסיבה שניתנה לכך היא: "\'\'\'$2\'\'\'"',
 'backend-fail-synced' => 'הקובץ "$1" נמצא במצב לא עקבי בתוך מאגרי אחסון הקבצים הפנימיים',
 'backend-fail-connect' => 'לא ניתן היה להתחבר למאגר אחסון הקבצים הפנימי "$1".',
 'backend-fail-internal' => 'אירעה שגיאה בלתי־ידועה במאגר אחסון הקבצים הפנימי "$1".',
 'backend-fail-contenttype' => 'לא ניתן היה לקבוע את סוג התוכן של הקובץ לאחסון ב־"$1".',
 'backend-fail-batchsize' => 'למאגר אחסון הקבצים הפנימי הועבר אוסף של {{PLURAL:$1|פעולת קובץ אחת|$1 פעולות קובץ}}; המגבלה היא {{PLURAL:$2|פעולה אחת|$2 פעולות}}.',
+'backend-fail-usable' => 'כתיבת הקובץ $1 לא הצליחה כיוון שההרשאות אינן מספיקות או כיוון שהספריות/המכלים חסרים.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'לא ניתן היה להתחבר לבסיס הנתונים של היומן עבור מאגר אחסון הקבצים הפנימי "$1".',
@@ -1961,7 +1962,6 @@ $1',
 'http-curl-error' => 'שגיאה בקבלת כתובת ה־URL‏: $1',
 'http-host-unreachable' => 'לא ניתן להגיע לכתובת ה־URL.',
 'http-bad-status' => 'הייתה בעיה בשליחת בקשת ה־HTTP‏: $1 $2',
-'http-truncated-body' => 'גוף הבקשה התקבל רק באופן חלקי.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'לא ניתן להגיע ל־URL',
@@ -2382,7 +2382,7 @@ $1',
 'watcherrortext' => 'אירעה שגיאה בעת שינוי הגדרות רשימת המעקב של "$1".',
 
 'enotif_mailer' => 'הודעות {{SITENAME}}',
-'enotif_reset' => '×\9cס×\9e×\9f ×\90ת כל הדפים כאילו נצפו',
+'enotif_reset' => 'ס×\99×\9e×\95×\9f כל הדפים כאילו נצפו',
 'enotif_newpagetext' => 'זהו דף חדש.',
 'enotif_impersonal_salutation' => 'משתמש של {{SITENAME}}',
 'changed' => 'שונה',
@@ -3229,7 +3229,8 @@ $1',
 # Bad image list
 'bad_image_list' => 'דרך הכתיבה בהודעה היא כמתואר להלן:
 
-רק פריטי רשימה (שורות המתחילות עם *) נחשבים. הקישור הראשון בשורה חייב להיות קישור לקובץ שאין להציג.
+רק פריטי רשימה (שורות המתחילות עם *) נחשבים.
+הקישור הראשון בשורה חייב להיות קישור לקובץ בעייתי.
 כל הקישורים הבאים באותה השורה נחשבים לחריגים, כלומר לדפים שבהם ניתן להציג את הקובץ.',
 
 # Metadata
@@ -3896,9 +3897,9 @@ $5
 'version-poweredby-others' => 'אחרים',
 'version-license-info' => "מדיה־ויקי היא תוכנה חופשית; באפשרותכם להפיץ אותה מחדש ו/או לשנות אותה לפי תנאי הרישיון הציבורי הכללי של גנו המפורסם על ידי המוסד לתוכנה חופשית: גרסה 2 של רישיון זה, או (לפי בחירתכם) כל גרסה מאוחרת יותר.
 
\9e×\93×\99×\94Ö¾×\95×\99ק×\99 ×\9e×\95פצת ×\91תק×\95×\95×\94 ×©×\94×\99×\90 ×ª×\94×\99×\94 ×©×\99×\9e×\95ש×\99ת, ×\90×\9a '''×\9c×\9c×\90 ×\9b×\9c ×\94×\91×\98×\97×\94 ×\9c×\90×\97ר×\99×\95ת'''; ×\90פ×\99×\9c×\95 ×\9c×\90 ×\90×\97ר×\99×\95ת ×\9eשת×\9eעת ×©×\9c '''×\99×\9b×\95×\9cת ×\9c×\94×\99ס×\97ר''' ×\90×\95 '''×\94ת×\90×\9e×\94 ×\9cר×\99ש×\99×\95×\9f ×\9eס×\95×\99×\9d'''. ראו את הרישיון הציבורי הכללי של גנו לפרטים נוספים.
\9e×\93×\99×\94Ö¾×\95×\99ק×\99 ×\9e×\95פצת ×\91תק×\95×\95×\94 ×©×\94×\99×\90 ×ª×\94×\99×\94 ×©×\99×\9e×\95ש×\99ת, ×\90×\9a '''×\9c×\9c×\90 ×\9b×\9c ×\94×\91×\98×\97×\94 ×\9c×\90×\97ר×\99×\95ת'''; ×\90פ×\99×\9c×\95 ×\9c×\90 ×\90×\97ר×\99×\95ת ×\9eשת×\9eעת ×©×\9c '''×\99×\9b×\95×\9cת ×\9c×\94×\99ס×\97ר''' ×\90×\95 '''×\94ת×\90×\9e×\94 ×\9c×\9e×\98ר×\94 ×\9eס×\95×\99×\9eת'''. ראו את הרישיון הציבורי הכללי של גנו לפרטים נוספים.
 
\94×\99×\99ת×\9d ×¦×¨×\99×\9b×\99×\9d ×\9cק×\91×\9c [{{SERVER}}{{SCRIPTPATH}}/COPYING ×\94עתק ×©×\9c ×\94ר×\99ש×\99×\95×\9f ×\94צ×\99×\91×\95ר×\99 ×\94×\9b×\9c×\9c×\99 ×©×\9c ×\92× ×\95] ×\99×\97×\93 ×¢×\9d ×ª×\95×\9b× ×\94 ×\96×\95; ×\90×\9d ×\9c×\90, ×\9bת×\91×\95 ×\9c×\9e×\95ס×\93 ×\9cת×\95×\9b× ×\94 ×\97×\95פש×\99ת: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA ×\90×\95 [//www.gnu.org/licenses/old-licenses/gpl-2.0.html ×§ראו אותו ברשת].",
\94×\99×\99ת×\9d ×\90×\9e×\95ר×\99×\9d ×\9cק×\91×\9c [{{SERVER}}{{SCRIPTPATH}}/COPYING ×\94עתק ×©×\9c ×\94ר×\99ש×\99×\95×\9f ×\94צ×\99×\91×\95ר×\99 ×\94×\9b×\9c×\9c×\99 ×©×\9c ×\92× ×\95] ×\99×\97×\93 ×¢×\9d ×ª×\95×\9b× ×\94 ×\96×\95; ×\90×\9d ×\9c×\90, ×\9bִת×\91×\95 ×\9c×\9e×\95ס×\93 ×\9cת×\95×\9b× ×\94 ×\97×\95פש×\99ת: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA ×\90×\95 [//www.gnu.org/licenses/old-licenses/gpl-2.0.html ×§Ö´ראו אותו ברשת].",
 'version-software' => 'תוכנות מותקנות',
 'version-software-product' => 'תוכנה',
 'version-software-version' => 'גרסה',
index 386f9c0..e9ce52d 100644 (file)
@@ -70,6 +70,97 @@ $namespaceNames = array(
        NS_CATEGORY_TALK    => 'श्रेणी_वार्ता',
 );
 
+$specialPageAliases = array(
+       'Activeusers'               => array( 'सक्रिय_सदस्य' ),
+       'Allmessages'               => array( 'सभी_सन्देश', 'सभी_संदेश' ),
+       'Allpages'                  => array( 'सभी_पृष्ठ', 'सभी_पन्ने' ),
+       'Ancientpages'              => array( 'पुराने_पृष्ठ', 'पुराने_पन्ने' ),
+       'Badtitle'                  => array( 'खराब_शीर्षक' ),
+       'Blankpage'                 => array( 'रिक्त_पृष्ठ', 'खाली_पृष्ठ' ),
+       'Block'                     => array( 'अवरोधन', 'आइ_पी_अवरोधन', 'सदस्य_अवरोधन' ),
+       'Blockme'                   => array( 'स्वावरोधन', 'स्व_अवरोधन', 'मुझे_रोकिये' ),
+       'Booksources'               => array( 'पुस्तक_स्रोत', 'किताब_स्रोत' ),
+       'BrokenRedirects'           => array( 'टूटे_पुनर्निर्देश', 'टूटे_अनुप्रेष' ),
+       'Categories'                => array( 'श्रेणियाँ' ),
+       'ChangeEmail'               => array( 'ईमेल_बदलें' ),
+       'ChangePassword'            => array( 'कूटशब्द_बदलें' ),
+       'ComparePages'              => array( 'पृष्ठ_तुलना' ),
+       'Confirmemail'              => array( 'ईमेल_पुष्टि', 'ईमेल_पुष्टि_करें' ),
+       'Contributions'             => array( 'योगदान' ),
+       'CreateAccount'             => array( 'खाता_बनाएँ', 'खाता_बनायें', 'खाता_खोलें' ),
+       'Deadendpages'              => array( 'बन्द_पृष्ठ', 'बन्द_पन्ने' ),
+       'DeletedContributions'      => array( 'हटाए_गए_योगदान', 'हटाये_गये_योगदान' ),
+       'Disambiguations'           => array( 'बहुविकल्पी_कड़ियाँ', 'बहुविकल्पित' ),
+       'DoubleRedirects'           => array( 'दुगुने_पुनर्निर्देश', 'दुगुने_अनुप्रेष' ),
+       'EditWatchlist'             => array( 'ध्यानसूची_सम्पादन', 'ध्यानसूची_संपादन', 'ध्यानसूची_सम्पादन_करें' ),
+       'Emailuser'                 => array( 'ईमेल_करें', 'सदस्य_को_ईमेल_करें' ),
+       'Export'                    => array( 'निर्यात' ),
+       'Fewestrevisions'           => array( 'न्यूनतम_अवतरण', 'कम_सम्पादित_पृष्ठ' ),
+       'FileDuplicateSearch'       => array( 'फ़ाइल_प्रति_खोज', 'फाइल_प्रति_खोज', 'संचिका_प्रति_खोज' ),
+       'Filepath'                  => array( 'फ़ाइल_पथ', 'फाइल_पथ', 'संचिका_पथ' ),
+       'Import'                    => array( 'आयात' ),
+       'Invalidateemail'           => array( 'अप्रमाणित_ईमेल', 'अमान्य_ईमेल', 'ईमेल_अमान्य_करें' ),
+       'BlockList'                 => array( 'अवरोध_सूची', 'अवरोधित_सदस्य_सूची', 'अवरोधित_आइ_पी_सूची' ),
+       'LinkSearch'                => array( 'बाहरी_कड़ी_खोज' ),
+       'Listadmins'                => array( 'प्रबन्धक_सूची', 'प्रबंधक_सूची' ),
+       'Listbots'                  => array( 'बॉट_सूची', 'बौट_सूची' ),
+       'Listfiles'                 => array( 'फ़ाइल_सूची', 'फाइल_सूची' ),
+       'Listgrouprights'           => array( 'सदस्य_समूह_अधिकार', 'अधिकार_सूची' ),
+       'Listredirects'             => array( 'पुनर्निर्देश_सूची', 'अनुप्रेष_सूची' ),
+       'Listusers'                 => array( 'सदस्य_सूची' ),
+       'Lockdb'                    => array( 'डाटाबेस_पर_ताला_लगाएँ' ),
+       'Log'                       => array( 'लॉग', 'लौग' ),
+       'Lonelypages'               => array( 'एकाकी_पृष्ठ', 'अकेले_पृष्ठ' ),
+       'Longpages'                 => array( 'लम्बे_पृष्ठ', 'लंबे_पृष्ठ' ),
+       'MergeHistory'              => array( 'इतिहास_विलय' ),
+       'MIMEsearch'                => array( 'माइम_खोज' ),
+       'Mostcategories'            => array( 'सर्वाधिक_श्रेणीकृत', 'सर्वाधिक_श्रेणियाँ' ),
+       'Mostimages'                => array( 'सर्वाधिक_प्रयुक्त_फ़ाइलें', 'सर्वाधिक_प्रयुक्त_फाइलें' ),
+       'Mostlinked'                => array( 'सर्वाधिक_जुड़े_पृष्ठ' ),
+       'Mostlinkedcategories'      => array( 'सर्वाधिक_प्रयुक्त_श्रेणियाँ' ),
+       'Mostlinkedtemplates'       => array( 'सर्वाधिक_प्रयुक्त_साँचे' ),
+       'Mostrevisions'             => array( 'सर्वाधिक_अवतरण', 'अधिकतम_सम्पादित_पृष्ठ', 'अधिकतम_संपादित_पृष्ठ' ),
+       'Movepage'                  => array( 'स्थानान्तरण', 'स्थानांतरण', 'नाम_बदलें' ),
+       'Mycontributions'           => array( 'मेरे_योगदान', 'मेरा_योगदान' ),
+       'Mypage'                    => array( 'मेरा_पृष्ठ', 'मेरा_सदस्य_पृष्ठ' ),
+       'Mytalk'                    => array( 'मेरी_वार्ता', 'मेरी_सदस्य_वार्ता' ),
+       'Myuploads'                 => array( 'मेरे_अपलोड' ),
+       'Newimages'                 => array( 'नई_फ़ाइलें', 'नई_फाइलें', 'नये_चित्र' ),
+       'Newpages'                  => array( 'नए_पृष्ठ', 'नए_पन्ने', 'नये_पृष्ठ' ),
+       'PasswordReset'             => array( 'कूटशब्द_पुनर्स्थापन' ),
+       'PermanentLink'             => array( 'स्थाई_कड़ी', 'स्थायी_कड़ी' ),
+       'Preferences'               => array( 'वरीयताएँ' ),
+       'Prefixindex'               => array( 'उपसर्ग_अनुसार_पृष्ठ', 'उपसर्ग_खोज', 'उपसर्ग_सूचकांक' ),
+       'Protectedpages'            => array( 'सुरक्षित_पृष्ठ' ),
+       'Protectedtitles'           => array( 'सुरक्षित_शीर्षक' ),
+       'Search'                    => array( 'खोज', 'खोजें' ),
+       'Shortpages'                => array( 'छोटे_पृष्ठ', 'छोटे_पन्ने' ),
+       'Specialpages'              => array( 'विशेष_पृष्ठ', 'विशेष_पन्ने' ),
+       'Tags'                      => array( 'टैग', 'चिप्पियाँ' ),
+       'Unblock'                   => array( 'अवरोध_हटाएँ', 'अवरोध_हटायें' ),
+       'Uncategorizedcategories'   => array( 'श्रेणीहीन_श्रेणियाँ' ),
+       'Uncategorizedimages'       => array( 'श्रेणीहीन_फ़ाइलें', 'श्रेणीहीन_फाइलें' ),
+       'Uncategorizedpages'        => array( 'श्रेणीहीन_पृष्ठ', 'श्रेणीहीन_पन्ने' ),
+       'Uncategorizedtemplates'    => array( 'श्रेणीहीन_साँचे' ),
+       'Undelete'                  => array( 'पुनर्स्थापन' ),
+       'Unlockdb'                  => array( 'डाटाबेस_से_ताला_हटाएँ' ),
+       'Unusedcategories'          => array( 'अप्रयुक्त_श्रेणियाँ' ),
+       'Unusedimages'              => array( 'अप्रयुक्त_फ़ाइलें', 'अप्रयुक्त_फाइलें' ),
+       'Unusedtemplates'           => array( 'अप्रयुक्त_साँचे' ),
+       'Upload'                    => array( 'अपलोड' ),
+       'Userlogin'                 => array( 'लॉगिन', 'लौगिन', 'सत्रारम्भ', 'सत्रारंभ' ),
+       'Userlogout'                => array( 'सत्रांत', 'लॉग_आउट', 'लौग_आउट' ),
+       'Userrights'                => array( 'सदस्य_अधिकार' ),
+       'Version'                   => array( 'संस्करण', 'वर्ज़न', 'वर्जन' ),
+       'Wantedcategories'          => array( 'वांछित_श्रेणियाँ' ),
+       'Wantedfiles'               => array( 'वांछित_फ़ाइलें', 'वांछित_फाइलें' ),
+       'Wantedpages'               => array( 'वांछित_पृष्ठ', 'वांछित_पन्ने' ),
+       'Wantedtemplates'           => array( 'वांछित_साँचे' ),
+       'Watchlist'                 => array( 'ध्यानसूची' ),
+       'Whatlinkshere'             => array( 'कड़ियाँ', 'यहाँ_की_कड़ियाँ', 'यहाँ_क्या_जुड़ता_है' ),
+       'Withoutinterwiki'          => array( 'अन्तरविकि_रहित', 'अंतरविकि_रहित' ),
+);
+
 $digitTransformTable = array(
        '0' => '०', # &#x0966;
        '1' => '१', # &#x0967;
@@ -475,6 +566,8 @@ $2',
 'ns-specialprotected' => 'विशेष पृष्ठ सम्पादित नहीं किये जा सकते।',
 'titleprotected' => 'सदस्य [[User:$1|$1]] ने इस शीर्षक का पृष्ठ बनाने से सुरक्षित किया हुआ है।
 इसके लिये निम्न कारण दिया गया है: "\'\'$2\'\'"',
+'invalidtitle-knownnamespace' => '"$2" नामस्थान और "$3" नाम वाला गलत शीर्षक',
+'invalidtitle-unknownnamespace' => 'अज्ञात नामस्थान संख्या $1 और नाम "$2" वाला गलत शीर्षक',
 
 # Virus scanner
 'virus-badscanner' => "गलत जमाव: अज्ञात वायरस जाँचक: ''$1''",
@@ -567,6 +660,7 @@ $2',
 'invalidemailaddress' => 'ई-मेल पता नहीं माना जा सकता क्योंकि ये किसी अवैध स्वरूप में है।
 कृपया एक सही तरीके से स्वरूपित ई-मेल पता दें अथवा उस कोष्ठक को रिक्त ही रहने दें।',
 'cannotchangeemail' => 'इस विकी पर सदस्य खाते का ई-मेल पता नहीं बदला जा सकता।',
+'emaildisabled' => 'यह साइट ई-मेल नहीं भेज सकती।',
 'accountcreated' => 'खाता निर्मित',
 'accountcreatedtext' => '$1 के लिये खाता निर्मित कर दिया गया है।',
 'createaccount-title' => '{{SITENAME}} के लिये खाता बनाएँ',
@@ -768,6 +862,7 @@ $2
 'note' => "'''सूचना:'''",
 'previewnote' => "'''याद रखें, यह केवल एक झलक है।'''
 आपके बदलाव अभी तक संजोये नहीं गए हैं!",
+'continue-editing' => 'संपादन जारी रखें',
 'previewconflict' => 'यह झलक ऊपरी पाठ सम्पादन क्षेत्र में हुए बदलाव दिखाती है, और यदि आप अभी संजोते हैं तो यही पाठ संजोया जाएगा।',
 'session_fail_preview' => "'''क्षमा करें! सेशन डाटा के नष्ट होने के कारण आपके बदलाव संजोये नहीं जा सके।'''
 कृपया पुन: यत्न करें।
@@ -851,11 +946,12 @@ $2
 'edit-no-change' => 'आपने कोई बदलाव ही नहीं किए, अतः आपके इस संपादन को नज़रंदाज़ कर दिया गया है।',
 'edit-already-exists' => 'नया पृष्ठ बनाया नहीं जा सका।
 यह पहले से मौजूद है।',
+'defaultmessagetext' => 'संदेश का डिफ़ॉल्ट पाठ',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => "'''चेतावनी:''' इस पृष्ठ पर बहुत अधिक संख्या में कीमती पार्सर फ़ंक्शनों का प्रयोग किया गया है।
 
-इनका प्रयोग $2 से कम बार होना चाहिये, इस समय प्रयोग $1 बार {{PLURAL:$2|है|हैं}}।",
+इनका प्रयोग $2 से कम बार होना चाहिये, इस समय प्रयोग $1 बार {{PLURAL:$1|है|हैं}}।",
 'expensive-parserfunction-category' => 'कीमती पार्सर फ़ंक्शनों का अत्यधिक प्रयोग कर रहे पृष्ठ',
 'post-expand-template-inclusion-warning' => "'''चेतावनी:''' साँचे जुड़ने की सीमा पार हो चुकी है।
 कुछ साँचे नहीं जुड़ेंगे।",
@@ -1046,6 +1142,7 @@ $1",
 
 # Diffs
 'history-title' => '"$1" का अवतरण इतिहास',
+'difference-title' => '"$1" के अवतरणों में अंतर',
 'difference-multipage' => '(पृष्ठों के बीच अन्तर)',
 'lineno' => 'पंक्ति $1:',
 'compareselectedversions' => 'चुने हुए अवतरणों की तुलना करें',
@@ -1142,6 +1239,7 @@ $1",
 'prefs-beta' => 'बीटा विशेषताएँ',
 'prefs-datetime' => 'दिनांक तथा समय',
 'prefs-labs' => 'लैब विशेषताएँ',
+'prefs-user-pages' => 'सदस्य पृष्ठ',
 'prefs-personal' => 'सदस्य व्यक्तिरेखा',
 'prefs-rc' => 'हाल में हुए बदलाव',
 'prefs-watchlist' => 'ध्यानसूची',
@@ -1406,7 +1504,7 @@ HTML टैग की जाँच करें।',
 'nchanges' => '$1 {{PLURAL:$1|बदलाव}}',
 'recentchanges' => 'हाल में हुए बदलाव',
 'recentchanges-legend' => 'हाल के परिवर्तन संबंधी विकल्प',
-'recentchangestext' => 'इस विकि पर हाल में हुए बदलाव इस पृष्ठ पर देखे जा सकते हैं।',
+'recentchanges-summary' => 'इस विकिपर हाल में हुए बदलाव इस पन्ने पर देखें जा सकतें हैं।',
 'recentchanges-feed-description' => 'इस विकि पर हाल में हुए बदलाव इस फ़ीड में देखे जा सकते हैं।',
 'recentchanges-label-newpage' => 'इस संपादन से नया पृष्ठ बना',
 'recentchanges-label-minor' => 'यह एक छोटा सम्पादन है',
@@ -1436,6 +1534,7 @@ HTML टैग की जाँच करें।',
 'newsectionsummary' => '/* $1 */ नया अनुभाग',
 'rc-enhanced-expand' => 'विस्तृत जानकारी दिखाएँ (इसके लिए जावास्क्रिप्ट चाहिए)',
 'rc-enhanced-hide' => 'विस्तृत जानकारी छिपाएँ',
+'rc-old-title' => 'मूल रूप से "$1" नाम से बनाया गया था',
 
 # Recent changes linked
 'recentchangeslinked' => 'पृष्ठ से जुड़े बदलाव',
@@ -1964,6 +2063,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization देखें।',
 'allpagesbadtitle' => 'दिया गया शीर्षक अमान्य था या उसमें अंतरभाषीय अथवा अंतरविकी उपसर्ग था।
 इसमें संभवतः एक या एक से अधिक ऐसे कैरैक्टर हैं जो शीर्षकों में प्रयुक्त नहीं हो सकते हैं।',
 'allpages-bad-ns' => '{{SITENAME}} में "$1" नामस्थान नहीं है।',
+'allpages-hide-redirects' => 'पुनर्निर्देश छुपाएँ',
 
 # Special:Categories
 'categories' => 'श्रेणियाँ',
@@ -2369,10 +2469,10 @@ $1',
 'whatlinkshere-prev' => '{{PLURAL:$1|पिछला|पिछले $1}}',
 'whatlinkshere-next' => '{{PLURAL:$1|अगला|अगले $1}}',
 'whatlinkshere-links' => '← कड़ियाँ',
-'whatlinkshere-hideredirs' => '$1 à¤\85नà¥\81पà¥\8dरà¥\87षितà¥\87à¤\82',
+'whatlinkshere-hideredirs' => '$1 à¤ªà¥\81नरà¥\8dनिरà¥\8dदà¥\87श',
 'whatlinkshere-hidetrans' => '$1 ट्रान्स्क्ल्युजन्स',
-'whatlinkshere-hidelinks' => '$1 à¤\95ड़ियाà¤\82',
-'whatlinkshere-hideimages' => '$1 à¤\9aितà¥\8dर à¤\95ड़ियाà¤\82',
+'whatlinkshere-hidelinks' => '$1 à¤\95ड़ियाà¤\81',
+'whatlinkshere-hideimages' => '$1 à¤\9aितà¥\8dर à¤\95ड़ियाà¤\81',
 'whatlinkshere-filters' => 'छन्ने',
 
 # Block/unblock
@@ -2591,17 +2691,17 @@ $1 को बाध्य करने का कारण है: "$2"',
 'move-subpages' => 'उप पृष्ठ भी ले जाएँ ($1 तक)',
 'move-talk-subpages' => 'वार्ता पृष्ठ के उप पृष्ठ भी ले जाएँ ($1 तक)',
 'movepage-page-exists' => '$1 पृष्ठ पहले से अस्तित्वमें हैं और उसपर अपनेआप पुनर्लेखन नहीं कर सकतें।',
-'movepage-page-moved' => '$1 à¤¯à¤¹ à¤ªà¥\83षà¥\8dठ $2 à¤\87स à¤¨à¤¾à¤®à¤ªà¤° à¤¸à¥\8dथानाà¤\82तरित à¤\95र à¤¦à¤¿à¤¯à¤¾ à¤\97या।',
-'movepage-page-unmoved' => '$1 à¤¯à¤¹ à¤ªà¥\83षà¥\8dठ $2 à¤\87स à¤¨à¤¾à¤®à¤ªà¤° à¤¸à¥\8dथानाà¤\82तरित à¤¨à¤¹à¥\80à¤\82 à¤\95र à¤ªà¤¾à¤¯à¥\87à¤\82।',
-'movepage-max-pages' => 'ज्यादासे ज्यादा $1 पृष्ठ स्थानांतरित कर {{PLURAL:$1|दिया गया है|दिये गये हैं}}, अब और पृष्ठ अपनेआप स्थानांतरित नहीं होंगे।',
-'movelogpage' => 'सà¥\8dथानानà¥\8dतरण à¤¸à¥\82à¤\9aà¥\80',
-'movelogpagetext' => 'नाम à¤¬à¤¦à¤²à¥\87 à¤\97यà¥\87 à¤²à¥\87à¤\96à¥\8bà¤\82à¤\95à¥\80 à¤¸à¥\82à¤\9aà¥\80 à¤¨à¥\80à¤\9aà¥\87 à¤¦à¥\80 à¤\97à¤\88 à¤¹à¥\88à¤\82।',
+'movepage-page-moved' => '$1 à¤ªà¥\83षà¥\8dठ $2 à¤¨à¤¾à¤® à¤ªà¤° à¤¸à¥\8dथानाà¤\82तरित à¤\95र à¤¦à¤¿à¤¯à¤¾ à¤\97या à¤¹à¥\88।',
+'movepage-page-unmoved' => '$1 à¤ªà¥\83षà¥\8dठ $2 à¤¨à¤¾à¤® à¤ªà¤° à¤¸à¥\8dथानाà¤\82तरित à¤¨à¤¹à¥\80à¤\82 à¤\95िया à¤\9cा à¤¸à¤\95ा।',
+'movepage-max-pages' => '$1 की अधिकतम सीमा तक पृष्ठ स्थानांतरित कर {{PLURAL:$1|दिया गया है|दिये गये हैं}}, अब और पृष्ठ अपने-आप स्थानांतरित नहीं होंगे।',
+'movelogpage' => 'सà¥\8dथानानà¥\8dतरण à¤²à¥\89à¤\97',
+'movelogpagetext' => 'नà¥\80à¤\9aà¥\87 à¤¸à¤­à¥\80 à¤¸à¥\8dथानानà¥\8dतरणà¥\8bà¤\82 à¤\95à¥\80 à¤¸à¥\82à¤\9aà¥\80 à¤¦à¥\80 à¤\97à¤\88 à¤¹à¥\88।',
 'movesubpage' => '{{PLURAL:$1|उप पृष्ठ|उप पृष्ठ}}',
 'movesubpagetext' => 'नीचे $1 {{PLURAL:$1|पृष्ठ दिखाया गया है, जो इस पृष्ठ का उप पृष्ठ है|पृष्ठ दिखाया गया है, जो इस पृष्ठ के उप पृष्ठ हैं}}।',
 'movenosubpage' => 'इस पृष्ठ के कोई उपपृष्ठ नहीं हैं।',
 'movereason' => 'कारण:',
 'revertmove' => 'पुराने अवतरण पर ले जाएं',
-'delete_and_move' => 'हà¤\9fाया à¤\94र à¤¨à¤¾à¤® à¤¬à¤¦à¤²à¤¾',
+'delete_and_move' => 'हà¤\9fाà¤\8fà¤\81 à¤\94र à¤¨à¤¾à¤® à¤¬à¤¦à¤²à¥\87à¤\82',
 'delete_and_move_text' => '==हटाने की जरूरत==
 लक्ष्य पृष्ठ "[[:$1]]" पहले से अस्तित्वमें हैं।
 नाम बदलने के लिये क्या आप इसे हटाना चाहतें हैं?',
index e349a77..80c55df 100644 (file)
@@ -1328,7 +1328,7 @@ Iske $1 {{PLURAL:$1|character|characters}} se kamti rahe ke chaahi.',
 'nchanges' => '$1 {{PLURAL:$1|badlao|badlao}}',
 'recentchanges' => 'Nawaa badlao',
 'recentchanges-legend' => 'Nawaa badlao options',
-'recentchangestext' => 'Wiki me ii panna ke nawaa badlao pe dhyan rakho.',
+'recentchanges-summary' => 'Wiki me ii panna ke nawaa badlao pe dhyan rakho.',
 'recentchanges-feed-description' => 'Abhi haali me bhae ii wiki ke feed me ke track karo.',
 'recentchanges-label-newpage' => 'Ii badlao ek nawaa panna banais hae',
 'recentchanges-label-minor' => 'Ii ek chhota badlao hae',
index a056e70..70c06b3 100644 (file)
@@ -1243,6 +1243,7 @@ Primijetite da uporaba navigacijskih poveznica resetira Vaše izbore u stupcu.',
 
 # Diffs
 'history-title' => 'Povijest izmjena stranice "$1"',
+'difference-title' => '$1: Razlika između inačica',
 'difference-multipage' => '(Razlika između stranica)',
 'lineno' => 'Redak $1:',
 'compareselectedversions' => 'Usporedi odabrane inačice',
@@ -1595,7 +1596,7 @@ Ne smije biti duži od $1 {{PLURAL:$1|znaka|znaka|znakova}}.',
 'nchanges' => '{{PLURAL:$1|$1 promjena|$1 promjene|$1 promjena}}',
 'recentchanges' => 'Nedavne promjene',
 'recentchanges-legend' => 'Izbornik nedavnih promjena',
-'recentchangestext' => 'Na ovoj stranici možete pratiti nedavne promjene u wikiju.',
+'recentchanges-summary' => 'Na ovoj stranici možete pratiti nedavne promjene u wikiju.',
 'recentchanges-feed-description' => 'Na ovoj stranici možete pratiti nedavne promjene u wikiju.',
 'recentchanges-label-newpage' => 'Ova izmjena stvorila je novu stranicu',
 'recentchanges-label-minor' => 'Ovo je manja izmjena',
index 25a3700..44def86 100644 (file)
@@ -1077,9 +1077,9 @@ Zawěsć, zo tuta změna stawiznisku kontinuitu strony wobchowuje.',
 'mergelogpagetext' => 'Deleka je lisćina najaktualnišich zjednoćenjow stawiznow dweju stronow.',
 
 # Diffs
-'history-title' => 'Stawizny wersijow strony „$1“',
-'difference-title' => 'Rozdźěl mjez wersijemi "$1"',
-'difference-title-multipage' => 'Rozdźěl mjez stronami "$1" a "$2"',
+'history-title' => '$1: Wersijowe stawizny',
+'difference-title' => '$1: Rozdźěl mjez wersijemi',
+'difference-title-multipage' => '$1 a $2: Rozdźěl mjez stronami',
 'difference-multipage' => '(Rozdźěl mjez stronami)',
 'lineno' => 'Rjadka $1:',
 'compareselectedversions' => 'Wubranej wersiji přirunać',
@@ -1175,6 +1175,7 @@ Spytaj swoje naprašowanje z prefiksom ''all:'' wužiwać, zo by wšón wobsah (
 'prefs-beta' => 'Betafunkcije',
 'prefs-datetime' => 'Datum a čas',
 'prefs-labs' => 'Laborowe funkcije',
+'prefs-user-pages' => 'Wužiwarske strony',
 'prefs-personal' => 'Wužiwarski profil',
 'prefs-rc' => 'Aktualne změny',
 'prefs-watchlist' => 'Wobkedźbowanki',
@@ -1436,7 +1437,7 @@ Smě mjenje hač $1 {{PLURAL:$1|znamješko|znamješce|znamješka|znamješkow}} d
 'nchanges' => '$1 {{PLURAL:$1|změna|změnje|změny|změnow}}',
 'recentchanges' => 'Aktualne změny',
 'recentchanges-legend' => 'Opcije aktualnych změnow',
-'recentchangestext' => 'Na tutej stronje móžeš najaktualniše změny w {{GRAMMAR:lokatiw|{{SITENAME}}}} wobkedźbować.',
+'recentchanges-summary' => 'Na tutej stronje móžeš najaktualniše změny w {{GRAMMAR:lokatiw|{{SITENAME}}}} wobkedźbować.',
 'recentchanges-feed-description' => 'Slěduj najaktualniše změny {{GRAMMAR:genitiw|{{SITENAME}}}} w tutym kanalu.',
 'recentchanges-label-newpage' => 'Tuta změna je nowu stronu wutworiła',
 'recentchanges-label-minor' => 'To je snadna změna',
@@ -1640,14 +1641,15 @@ $1',
 'backend-fail-writetemp' => 'Njeda so do temporerneje dataje pisać.',
 'backend-fail-closetemp' => 'Temporerna dataja njeda so začinić.',
 'backend-fail-read' => 'Dataja $1 njeda so čitać',
-'backend-fail-create' => 'Dataja $1 njeda so wutworić',
-'backend-fail-maxsize' => 'Dataja $1 njeda so wutworić, dokelž je wjetša hač {{PLURAL:$2|$2 bajt|$2 bajtaj|$2 bajty|$2 bajtow}}.',
+'backend-fail-create' => 'Dataja $1 njeda so pisać.',
+'backend-fail-maxsize' => 'Dataja $1 njeda so pisać, dokelž je wjetša hač {{PLURAL:$2|jedyn bajt|$2 bajtaj|$2 bajty|$2 bajtow}}.',
 'backend-fail-readonly' => 'Składowanski backend "$1" da so tuchwilu jenož čitać. Přičina je była: "$2"',
 'backend-fail-synced' => 'Dataja "$1" je znutřka interneho składowanskeho backenda w inkonsistentnym stawje',
 'backend-fail-connect' => 'Zwisk z datajowym składowanskim backendom "$1" móžno njeje.',
 'backend-fail-internal' => 'W składowanskim backendźe "$1" je njeznaty zmylk wustupił.',
 'backend-fail-contenttype' => 'Wobsahowy typ dataje, kotraž ma so na "$1" składować, njeda so zwěsćić.',
 'backend-fail-batchsize' => 'Staplowa dataja, kotraž {{PLURAL:$1|jednu operaciju|$1 operaciji|$1 operacije|$1 operacijow}} wobsahuje,  je so  na składowanski backend pósłała; limit je $2 {{PLURAL:$2|operaciju|operaciji|operacije|operacijow}} .',
+'backend-fail-usable' => 'Dataja $1 njeda so njedosahacych prawow  dla abo falowacych zapisow dla pisać.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Njeje žadyn zwisk ze žurnalowej datowej banku za składowanski backend "$1" móžno.',
@@ -1710,7 +1712,6 @@ Za optimalnu wěstotu je img_auth.php znjemóžnjeny.',
 'http-curl-error' => 'Zmylk při wołanju URL: $1',
 'http-host-unreachable' => 'URL njeda so docpěć.',
 'http-bad-status' => 'Problem je za HTTP-naprašowanje wustupił: $1 $2',
-'http-truncated-body' => 'Wobsah naprašowanja je so jenož zdźěla přijał.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'URL docpějomny njeje.',
index 8921df8..db53e4d 100644 (file)
@@ -784,6 +784,7 @@ A visszaélések elkerülése végett {{PLURAL:$1|egy|$1}} óránként csak egy
 'emailconfirmlink' => 'E-mail cím megerősítése',
 'invalidemailaddress' => 'A megadott e-mail cím érvénytelen formátumú. Kérlek, adj meg egy érvényes e-mail címet vagy hagyd üresen azt a mezőt.',
 'cannotchangeemail' => 'Ezen a wikin nem módosítható a fiókhoz tartozó e-mail cím.',
+'emaildisabled' => 'Ezen az oldalon nem lehet küldeni e-mailek.',
 'accountcreated' => 'Felhasználói fiók létrehozva',
 'accountcreatedtext' => '$1 felhasználói fiókja sikeresen létrejött.',
 'createaccount-title' => 'Új {{SITENAME}}-azonosító létrehozása',
@@ -1056,6 +1057,7 @@ Nem lett magyarázat csatolva.',
 'edit-no-change' => 'A szerkesztésed figyelmen kívül lett hagyva, mivel nem változtattál a lap szövegén.',
 'edit-already-exists' => 'Az új lap nem készíthető el.
 Már létezik.',
+'defaultmessagetext' => 'Alapértelmezett szöveg',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => 'Figyelem: ezen a lapon túl sok erőforrásigényes elemzőfüggvény-hívás található.
@@ -1210,7 +1212,7 @@ Ellenőrizd a naplókat.',
 
 # Suppression log
 'suppressionlog' => 'Adatvédelmibiztos-napló',
-'suppressionlogtext' => 'Lenn látható az adminisztrátorok elől legutóbb elrejtett törlések és blokkok listája. Lásd a [[Special:BlockList|blokkolt IP-címek listája]] lapot a jelenleg érvényben lévő kitiltásokhoz és blokkokhoz.',
+'suppressionlogtext' => 'Lenn látható az adminisztrátorok elől legutóbb elrejtett törlések és blokkok listája. Lásd a [[Special:BlockList|blokkok listája]] lapot a jelenleg érvényben lévő kitiltásokhoz és blokkokhoz.',
 
 # History merging
 'mergehistory' => 'Laptörténetek egyesítése',
@@ -1243,6 +1245,8 @@ Győződj meg róla, hogy a laptörténet folytonossága megmarad.',
 
 # Diffs
 'history-title' => 'A(z) „$1” laptörténete',
+'difference-title' => '„$1” változatai közötti eltérés',
+'difference-title-multipage' => 'Oldalak közötti különbség " $1 "és" $2 "',
 'difference-multipage' => '(Lapok közti eltérés)',
 'lineno' => '$1. sor:',
 'compareselectedversions' => 'Kiválasztott változatok összehasonlítása',
@@ -1337,6 +1341,7 @@ Győződj meg róla, hogy a laptörténet folytonossága megmarad.',
 'prefs-beta' => 'Béta funkciók',
 'prefs-datetime' => 'Dátum és idő',
 'prefs-labs' => 'Kísérleti funkciók',
+'prefs-user-pages' => 'Felhasználói lapok',
 'prefs-personal' => 'Felhasználói adatok',
 'prefs-rc' => 'Friss változtatások',
 'prefs-watchlist' => 'Figyelőlista',
@@ -1597,7 +1602,7 @@ A műveletet nem lehet visszavonni.',
 'nchanges' => '{{PLURAL:$1|egy|$1}} változtatás',
 'recentchanges' => 'Friss változtatások',
 'recentchanges-legend' => 'A friss változások beállításai',
-'recentchangestext' => 'Ezen a lapon a wikiben történt legutóbbi változásokat lehet nyomonkövetni.',
+'recentchanges-summary' => 'Ezen a lapon a wikiben történt legutóbbi fejleményeket lehet nyomon követni.',
 'recentchanges-feed-description' => 'Kövesd a wiki friss változtatásait ezzel a hírcsatornával.',
 'recentchanges-label-newpage' => 'Ezzel a szerkesztéssel egy új lap jött létre',
 'recentchanges-label-minor' => 'Ez egy apró szerkesztés',
@@ -1800,7 +1805,8 @@ Kérjük, hogy lépj kapcsolatba egy  [[Special:ListUsers/sysop|adminisztrátorr
 'backend-fail-writetemp' => 'Nem lehet írni az ideiglenes fájlba.',
 'backend-fail-closetemp' => 'Nem lehet lezárni az ideiglenes fájlt.',
 'backend-fail-read' => 'Nem sikerült olvasni ebből a fájlból: $1.',
-'backend-fail-create' => 'Nem sikerült létrehozni ezt a fájlt: $1.',
+'backend-fail-create' => 'Nem sikerült írni ebbe a fájlba: $1.',
+'backend-fail-maxsize' => 'Nem lehet írni ezt a fájlt: $1, mert a mérete nagyobb, mint $2 bájt.',
 'backend-fail-readonly' => 'A(z) „$1” tárolórendszer jelenleg csak olvasható. Ennek oka a következő: „$2”',
 'backend-fail-synced' => 'A(z) „$1” fájl inkonzisztens állapotban van a tárolórendszerek között',
 'backend-fail-connect' => 'Nem sikerült csatlakozni a(z) „$1” tárolórendszerhez.',
@@ -2137,6 +2143,11 @@ A napló típusának, a szerkesztő nevének (kis- és nagybetűérzékeny), vag
 'allpages-bad-ns' => 'A(z) {{SITENAME}} webhelyen nincs "$1" névtér.',
 'allpages-hide-redirects' => 'Átirányítások elrejtése',
 
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'A lap tárolt változatát látod, aminek utolsó frissítése ennyi ideje volt:  $1',
+'cachedspecial-viewing-cached-ts' => 'Az oldal tárolt változatát látod, ami eltérhet az aktuálistól.',
+'cachedspecial-refresh-now' => 'A legfrissebb változat megjelenítése.',
+
 # Special:Categories
 'categories' => 'Kategóriák',
 'categoriespagetext' => 'A következő {{PLURAL:$1|kategória tartalmaz|kategóriák tartalmaznak}} lapokat vagy fájlokat.
@@ -2627,7 +2638,7 @@ Add meg a blokkolás okát is (például idézd a blokkolandó személy által v
 'blocklog-showsuppresslog' => 'Ez a felhasználó korábban blokkot kapott, és a naplóbejegyzés el lett rejtve. Az elrejtési napló alább látható tájékoztatásként:',
 'blocklogentry' => '„[[$1]]” blokkolva $2 $3 időtartamra',
 'reblock-logentry' => 'megváltoztatta [[$1]] blokkjának beállításait, a blokk lejárta: $2 $3',
-'blocklogtext' => 'Ez a felhasználókra helyezett blokkoknak és azok feloldásának listája. Az IP-autoblokkok nem szerepelnek a listában. Lásd még [[Special:BlockList|a jelenleg életben lévő blokkok listáját]].',
+'blocklogtext' => 'Ez a felhasználókra helyezett blokkoknak és azok feloldásának listája. Az automatikus blokkolt IP címek nem szerepelnek a listában. Lásd még [[Special:BlockList|a jelenleg életben lévő blokkok listáját]].',
 'unblocklogentry' => '„$1” blokkolása feloldva',
 'block-log-flags-anononly' => 'csak anonok',
 'block-log-flags-nocreate' => 'nem hozhat létre új fiókot',
@@ -3191,15 +3202,15 @@ míg a többi elem a táblázat összecsukása után alapértelmezett esetben re
 'exif-subsectimedigitized' => 'DateTimeDigitized almásodpercek',
 'exif-exposuretime' => 'Expozíciós idő',
 'exif-exposuretime-format' => '$1 mp. ($2)',
-'exif-fnumber' => 'F szám',
+'exif-fnumber' => 'Rekesznyílás',
 'exif-exposureprogram' => 'Expozíciós program',
 'exif-spectralsensitivity' => 'Színkép érzékenysége',
-'exif-isospeedratings' => 'ISO érzékenység minősítése',
+'exif-isospeedratings' => 'ISO érzékenység értéke',
 'exif-shutterspeedvalue' => 'APEX zársebesség',
 'exif-aperturevalue' => 'APEX lencsenyílás',
 'exif-brightnessvalue' => 'APEX fényerő',
-'exif-exposurebiasvalue' => 'Expozíciós dőltség',
-'exif-maxaperturevalue' => 'Legnagyobb földi lencsenyílás',
+'exif-exposurebiasvalue' => 'Expozíciós eltolás',
+'exif-maxaperturevalue' => 'Legnagyobb rekesznyílás',
 'exif-subjectdistance' => 'Tárgy távolsága',
 'exif-meteringmode' => 'Fénymérési mód',
 'exif-lightsource' => 'Fényforrás',
@@ -3397,7 +3408,7 @@ míg a többi elem a táblázat összecsukása után alapértelmezett esetben re
 'exif-flash-return-2' => 'strobe return light nincs érzékelve',
 'exif-flash-return-3' => 'strobe return light érzékelve',
 'exif-flash-mode-1' => 'Kötelező vaku',
-'exif-flash-mode-2' => 'Kötelező vakuelnyomás',
+'exif-flash-mode-2' => 'Kötelező vakukikapcsolás',
 'exif-flash-mode-3' => 'automatikus mód',
 'exif-flash-function-1' => 'Nincs vakufunkció',
 'exif-flash-redeye-1' => 'Vörös szem eltávolító mód',
@@ -3732,6 +3743,9 @@ A MediaWikit abban a reményben terjesztjük, hogy hasznos lesz, de GARANCIA NÉ
 'version-software' => 'Telepített szoftverek',
 'version-software-product' => 'Termék',
 'version-software-version' => 'Verzió',
+'version-entrypoints' => 'Belépési pont URL-címek',
+'version-entrypoints-header-entrypoint' => 'Belépési pont',
+'version-entrypoints-header-url' => 'URL',
 
 # Special:FilePath
 'filepath' => 'Fájlelérés',
@@ -3918,4 +3932,15 @@ A képek teljes méretben jelennek meg, más fájltípusok közvetlenül a hozz
 'api-error-uploaddisabled' => 'A feltöltés le van tiltva ezen a wikin.',
 'api-error-verification-error' => 'A fájl feltehetőleg sérült, vagy hibás a kiterjesztése.',
 
+# Durations
+'duration-seconds' => '{{PLURAL: $1|másodperc|másodperc}}',
+'duration-minutes' => '$1 {{PLURAL: $1|perc|perc}}',
+'duration-hours' => '{{PLURAL:$1|egy|$1}} óra',
+'duration-days' => '{{PLURAL:$1|egy|$1}} nap',
+'duration-weeks' => '$1 {{PLURAL:$1|hét|hét}}',
+'duration-years' => '{{PLURAL: $1|Egy év|$1 év}}',
+'duration-decades' => '{{PLURAL:$1|egy|$1}} évtized',
+'duration-centuries' => '{{PLURAL:$1|egy|$1}} évszázad',
+'duration-millennia' => '{{PLURAL:$1|egy|$1}} évezred',
+
 );
index 0996c38..ce350d1 100644 (file)
@@ -1027,6 +1027,8 @@ $3 մասնակիցը տվել է հետևյալ պատճառը. ''$2''",
 'revdelete-success' => "'''Տարբերակի տեսանելիությունը բարեհաջող թարմացված է։'''",
 'logdelete-success' => "'''Իրադարձության տեսանելիությունը փոփոխված է։'''",
 'revdel-restore' => 'Փոխել տեսանելիությունը',
+'revdel-restore-deleted' => 'ջնջված խմբագրումներ',
+'revdel-restore-visible' => 'տեսանելի խմբագրումներ',
 'pagehist' => 'Էջի պատմություն',
 'deletedhist' => 'Ջնջումների պատմություն',
 'revdelete-otherreason' => 'Ուրիշ/հավելյալ պատճառ՝',
@@ -1034,11 +1036,17 @@ $3 մասնակիցը տվել է հետևյալ պատճառը. ''$2''",
 'revdelete-edit-reasonlist' => 'Խմբագրել ջնջման պատճառների ցանկը',
 'revdelete-offender' => 'Էջի տարբերակի հեղինակ՝',
 
+# History merging
+'mergehistory-reason' => 'Պատճառ.',
+
 # Merge log
 'revertmerge' => 'Անջատել',
 
 # Diffs
 'history-title' => '«$1» էջի փոփոխումների պատմություն',
+'difference-title' => '$1: Խմագրումների տարբերություն',
+'difference-title-multipage' => '$1 և $2: Խմբագրումների տարբերություն',
+'difference-multipage' => '(Էջերի տարերություն)',
 'lineno' => 'Տող  $1.',
 'compareselectedversions' => 'Համեմատել ընտրած տարբերակները',
 'showhideselectedversions' => 'Ցուցադրել/թաքցնել ընտրված խմբագրումները',
@@ -1278,6 +1286,8 @@ $3 մասնակիցը տվել է հետևյալ պատճառը. ''$2''",
 
 # Associated actions - in the sentence "You do not have permission to X"
 'action-edit' => 'խմբագրել այս էջը',
+'action-upload' => 'Բեռնել այս ֆայլը',
+'action-upload_by_url' => 'Բեռնել այս ֆայլը URL-ից',
 'action-delete' => 'Ջնջել այս էջը',
 'action-deleterevision' => 'Ջնջել այս փոփոխությունը',
 'action-deletedhistory' => 'Դիտել այս էջի ջնջված պատմությունը',
@@ -1286,7 +1296,7 @@ $3 մասնակիցը տվել է հետևյալ պատճառը. ''$2''",
 'nchanges' => '$1 {{PLURAL:$1|փոփոխություն|փոփոխություն}}',
 'recentchanges' => 'Վերջին փոփոխություններ',
 'recentchanges-legend' => 'Վերջին փոփոխությունների նախընտրություններ',
-'recentchangestext' => 'Հետևեք վիքիում կատարված վերջին փոփոխություններին այս էջում։',
+'recentchanges-summary' => 'Հետևեք վիքիում կատարված վերջին փոփոխություններին այս էջում։',
 'recentchanges-feed-description' => 'Հետևեք վիքիում կատարված վերջին փոփոխություններին այս սնուցման մեջ։',
 'recentchanges-label-newpage' => 'Այս խմբագրմամբ ստեղծվել է նոր էջ',
 'recentchanges-label-minor' => 'Սա չնչին խմբագրում է',
index 79c8f43..60f8376 100644 (file)
@@ -1131,9 +1131,9 @@ Nota que le uso del ligamines de navigation causara le perdita de tote cambios i
 'mergelogpagetext' => 'Infra es un lista del fusiones le plus recente de un historia de pagina in un altere.',
 
 # Diffs
-'history-title' => 'Historia de versiones de "$1"',
-'difference-title' => 'Differentia inter versiones de "$1"',
-'difference-title-multipage' => 'Differentia inter paginas "$1" e "$2"',
+'history-title' => '$1: Historia de versiones',
+'difference-title' => '$1: Differentia inter versiones',
+'difference-title-multipage' => '$1 e $2: Differentia inter paginas',
 'difference-multipage' => '(Differentia inter paginas)',
 'lineno' => 'Linea $1:',
 'compareselectedversions' => 'Comparar versiones seligite',
@@ -1223,7 +1223,7 @@ Nota que lor indices del contento de {{SITENAME}} pote esser obsolete.',
 'mypreferences' => 'Mi preferentias',
 'prefs-edits' => 'Numero de modificationes:',
 'prefsnologin' => 'Tu non ha aperite un session',
-'prefsnologintext' => 'Tu debe <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} aperir un session]</span> pro poter configurar tu preferentias.',
+'prefsnologintext' => 'Tu debe <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} aperir session]</span> pro configurar preferentias de usator.',
 'changepassword' => 'Cambiar contrasigno',
 'prefs-skin' => 'Apparentia',
 'skin-preview' => 'Previsualisation',
@@ -1231,6 +1231,7 @@ Nota que lor indices del contento de {{SITENAME}} pote esser obsolete.',
 'prefs-beta' => 'Functiones beta',
 'prefs-datetime' => 'Data e hora',
 'prefs-labs' => 'Functiones experimental',
+'prefs-user-pages' => 'Paginas de usator',
 'prefs-personal' => 'Profilo del usator',
 'prefs-rc' => 'Modificationes recente',
 'prefs-watchlist' => 'Observatorio',
@@ -1493,7 +1494,7 @@ Si tu opta pro dar lo, isto essera usate pro dar te attribution pro tu contribut
 'nchanges' => '$1 {{PLURAL:$1|modification|modificationes}}',
 'recentchanges' => 'Modificationes recente',
 'recentchanges-legend' => 'Optiones del modificationes recente',
-'recentchangestext' => 'Seque le plus recente modificationes a {{SITENAME}} in iste pagina.',
+'recentchanges-summary' => 'Seque le plus recente modificationes a {{SITENAME}} in iste pagina.',
 'recentchanges-feed-description' => 'Seque le modificationes le plus recente al wiki in iste syndication.',
 'recentchanges-label-newpage' => 'Iste modification creava un nove pagina',
 'recentchanges-label-minor' => 'Isto es un modification minor',
@@ -1705,14 +1706,15 @@ Si le problema persiste, contacta un [[Special:ListUsers/sysop|administrator]].'
 'backend-fail-writetemp' => 'Non poteva scriber in file temporari.',
 'backend-fail-closetemp' => 'Non poteva clauder file temporari.',
 'backend-fail-read' => 'Non poteva leger le file $1',
-'backend-fail-create' => 'Non poteva crear le file $1',
-'backend-fail-maxsize' => 'Impossibile crear le file $1 perque illo es plus grande que {{PLURAL:$2|$2 byte|$2 bytes}}.',
+'backend-fail-create' => 'Non poteva crear le file $1.',
+'backend-fail-maxsize' => 'Impossibile scriber le file $1 perque illo es plus grande que {{PLURAL:$2|un byte|$2 bytes}}.',
 'backend-fail-readonly' => 'Le systema de immagazinage "$1" es actualmente in lectura sol. Le sequente motivo esseva specificate: "$2"',
 'backend-fail-synced' => 'Le file "$1" es in un stato inconsistente inter le systemas interne de immagazinage',
 'backend-fail-connect' => 'Impossibile connecter al systema de immagazinage "$1".',
 'backend-fail-internal' => 'Un error incognite occurreva in le systema de immagazinage "$1".',
 'backend-fail-contenttype' => 'Non poteva determinar le typo de contento del file a immagazinar in "$1".',
 'backend-fail-batchsize' => 'Le systema de immagazinage ha recipite un lot de $1 {{PLURAL:$1|operation|operationes}} de file; le limite es $2 {{PLURAL:$2|operation|operationes}}.',
+'backend-fail-usable' => 'Non poteva scriber le file $1 a causa de permissiones insufficiente o directorios/contentores mancante.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Non poteva connecter al base de datos de jornal pro le systema de immagazinage "$1".',
@@ -1775,7 +1777,6 @@ Pro securitate optimal, img_auth.php es disactivate.',
 'http-curl-error' => 'Error al obtener datos del URL: $1',
 'http-host-unreachable' => 'Non poteva acceder al URL',
 'http-bad-status' => 'Un problema occurreva durante le requesta HTTP: $1 $2',
-'http-truncated-body' => 'Le corpore del requesta ha essite solo partialmente recipite.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Non poteva acceder al URL',
index b6c9fde..2ae5fe0 100644 (file)
@@ -693,8 +693,8 @@ Mungkin telah dihapus oleh orang lain.',
 'cannotdelete-title' => 'Tidak dapat menghapus halaman "$1"',
 'badtitle' => 'Judul tidak sah',
 'badtitletext' => 'Judul halaman yang diminta tidak sah, kosong, atau judul antarbahasa atau antarwiki yang salah sambung.',
-'perfcached' => 'Data berikut ini diambil dari singgahan dan mungkin bukan data mutakhir: A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => 'Data berikut ini diambil dari singgahan dan terakhir diperbarui pada $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => 'Data berikut ini diambil dari singgahan dan mungkin bukan data mutakhir. {{PLURAL:$1||}}$1 hasil maksimal tersedia di tembolok.',
+'perfcachedts' => 'Data berikut ini diambil dari singgahan dan terakhir diperbarui pada $1. {{PLURAL:$1||}}$1 hasil maksimal tersedia di tembolok.',
 'querypage-no-updates' => 'Pemutakhiran dari halaman ini sedang dimatikan. Data yang ada di sini saat ini tidak akan dimuat ulang.',
 'wrong_wfQuery_params' => 'Parameter salah ke wfQuery()<br />Fungsi: $1<br />Permintaan: $2',
 'viewsource' => 'Lihat sumber',
@@ -716,6 +716,11 @@ $2',
 'ns-specialprotected' => 'Halaman pada ruang nama {{ns:special}} tidak dapat disunting.',
 'titleprotected' => "Judul ini dilindungi dari pembuatan oleh [[User:$1|$1]].
 Alasan yang diberikan adalah ''$2''.",
+'filereadonlyerror' => 'Tidak dapat memodifikasi file " $1 " karena file repositori " $2 " adalah pada mode baca-saja.
+
+Administrator yang terkunci menawarkan penjelasan ini: " $3 ".',
+'invalidtitle-knownnamespace' => 'Judul yang tidak sah dengan ruangnama "$2" dan teks "$3"',
+'invalidtitle-unknownnamespace' => 'Judul yang tidak sah dengan nomor ruang nama tidak diketahui $1 dan teks "$2"',
 
 # Virus scanner
 'virus-badscanner' => "Kesalahan konfigurasi: pemindai virus tidak dikenal: ''$1''",
@@ -1078,6 +1083,7 @@ Halaman kemungkinan telah dihapus.',
 'edit-no-change' => 'Suntingan diabaikan, karena Anda tidak melakukan perubahan atas teks.',
 'edit-already-exists' => 'Tidak dapat membuat halaman baru
 karena telah ada.',
+'defaultmessagetext' => 'Teks baku',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => 'Peringatan: Halaman ini mengandung terlalu banyak panggilan fungsi parser.
@@ -1092,6 +1098,12 @@ Beberapa templat akan diabaikan.',
 'parser-template-loop-warning' => 'Hubungan berulang templat terdeteksi: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Limit kedalaman hubungan berulang templat terlampaui ($1)',
 'language-converter-depth-warning' => 'Batas kedalaman pengonversi bahasa terlampaui ($1)',
+'node-count-exceeded-category' => 'Pages where node-count is exceeded',
+'node-count-exceeded-warning' => 'Page exceeded the node-count',
+'expansion-depth-exceeded-category' => 'Pages where expansion depth is exceeded',
+'expansion-depth-exceeded-warning' => 'Page exceeded the expansion depth',
+'parser-unstrip-loop-warning' => 'Unstrip loop detected',
+'parser-unstrip-recursion-limit' => 'Unstrip recursion limit exceeded ($1)',
 
 # "Undo" feature
 'undo-success' => 'Suntingan ini dapat dibatalkan. Tolong cek perbandingan di bawah untuk meyakinkan bahwa benar itu yang Anda ingin lakukan, lalu simpan perubahan tersebut untuk menyelesaikan pembatalan suntingan.',
@@ -1233,8 +1245,8 @@ Silakan periksa catatan log.',
 
 # Suppression log
 'suppressionlog' => 'Log penyembunyian',
-'suppressionlogtext' => 'Berikut adalah daftar penghapusan dan pemblokiran, termasuk konten yang disembunyikan dari para opsis.
-Lihat [[Special:BlockList|IP block list]] untuk daftar terkininya.',
+'suppressionlogtext' => 'Berikut adalah daftar penghapusan dan pemblokiran, termasuk konten yang disembunyikan dari para pengurus.
+Lihat [[Special:BlockList|daftar pemblokiran]] untuk daftar terkininya.',
 
 # History merging
 'mergehistory' => 'Gabung sejarah halaman',
@@ -1267,6 +1279,8 @@ Pastikan bahwa perubahan ini tetap mempertahankan kontinuitas versi terdahulu ha
 
 # Diffs
 'history-title' => 'Riwayat revisi dari "$1"',
+'difference-title' => '$1: Perbedaan revisi',
+'difference-title-multipage' => 'Perbedaan antara halaman "$1" dan "$2"',
 'difference-multipage' => '(Perbedaan antarhalaman)',
 'lineno' => 'Baris $1:',
 'compareselectedversions' => 'Bandingkan versi terpilih',
@@ -1363,6 +1377,7 @@ Perlu diingat bahwa indeks Google untuk konten {{SITENAME}} mungkin belum mencak
 'prefs-beta' => 'Fitur Beta',
 'prefs-datetime' => 'Tanggal dan waktu',
 'prefs-labs' => 'Fitur Labs',
+'prefs-user-pages' => 'Halaman pengguna',
 'prefs-personal' => 'Profil',
 'prefs-rc' => 'Perubahan terbaru',
 'prefs-watchlist' => 'Pemantauan',
@@ -1624,7 +1639,7 @@ Jika Anda memberikannya, nama asli Anda akan digunakan untuk memberi pengenalan
 'nchanges' => '$1 {{PLURAL:$1|perubahan|perubahan}}',
 'recentchanges' => 'Perubahan terbaru',
 'recentchanges-legend' => 'Opsi perubahan terbaru',
-'recentchangestext' => "Temukan perubahan terbaru dalam wiki di halaman ini. Keterangan: (beda) = perubahan, (versi) = sejarah revisi, '''B''' = halaman baru, '''k''' = suntingan kecil, '''b''' = suntingan bot, (± ''bita'') = jumlah penambahan/pengurangan isi, → = suntingan bagian, ← = ringkasan otomatis.
+'recentchanges-summary' => "Temukan perubahan terbaru dalam wiki di halaman ini. Keterangan: (beda) = perubahan, (versi) = sejarah revisi, '''B''' = halaman baru, '''k''' = suntingan kecil, '''b''' = suntingan bot, (± ''bita'') = jumlah penambahan/pengurangan isi, → = suntingan bagian, ← = ringkasan otomatis.
 ----",
 'recentchanges-feed-description' => 'Temukan perubahan terbaru dalam wiki di umpan ini.',
 'recentchanges-label-newpage' => 'Suntingan ini membuat halaman baru',
@@ -1812,13 +1827,27 @@ Silakan hubungi salah seorang [[Special:ListUsers/sysop|pengurus]].',
 'backend-fail-closetemp' => 'Tidak dapat menutup berkas sementara.',
 'backend-fail-read' => 'Tidak dapat membaca berkas $1.',
 'backend-fail-create' => 'Tidak dapat membuat berkas $1.',
-'backend-fail-maxsize' => 'Tidak dapat membuat berkas $1 karena ukurannya lebih besar dari {{PLURAL:$2|$2 bita|$2 bita}}.',
+'backend-fail-maxsize' => 'Tidak dapat membuat berkas $1 karena ukurannya lebih besar dari {{PLURAL:$2||}}$2 bita.',
+'backend-fail-readonly' => 'Backend penyimpanan "$1" ini saat ini hanya bisa dibaca. Alasan yang diberikan adalah: "\'\'$2\'\'"',
+'backend-fail-synced' => 'Berkas "$1" dalam keadaan yang tidak konsisten dalam backends penyimpanan internal',
+'backend-fail-connect' => 'Tidak dapat menyambung ke penyimpanan backend "$1".',
+'backend-fail-internal' => 'Kesalahan yang tidak dikenal terjadi di backend penyimpanan "$1".',
+'backend-fail-contenttype' => 'Tidak dapat menentukan tipe konten dari berkas yang disimpan di "$1".',
+'backend-fail-batchsize' => 'Penyimpanan backend diberikan batch $1 berkas {{PLURAL:$1||}}operasi; batasnya adalah $2 {{PLURAL:$2||}}operasi.',
+'backend-fail-usable' => 'Tidak dapat membuat berkas $1 karena izin tidak memadai atau direktori/kontainer yang hilang.',
+
+# File journal errors
+'filejournal-fail-dbconnect' => 'Tidak dapat menyambung ke database jurnal untuk penyimpanan backend "$1".',
+'filejournal-fail-dbquery' => 'Tidak bisa update database jurnal untuk penyimpanan backend "$1".',
 
 # Lock manager
+'lockmanager-notlocked' => 'Tidak bisa membuka kunci "$1" karena "$1" tidak terkunci.',
 'lockmanager-fail-closelock' => 'Tidak dapat menutup penguncian berkas untuk "$1".',
 'lockmanager-fail-deletelock' => 'Tidak dapat menghapus penguncian berkas untuk "$1".',
 'lockmanager-fail-acquirelock' => 'Tidak dapat mendapatkan penguncian untuk "$1"',
 'lockmanager-fail-openlock' => 'Tidak dapat membuka penguncian berkas untuk "$1".',
+'lockmanager-fail-releaselock' => 'Tidak dapat melepaskan penguncian untuk "$1"',
+'lockmanager-fail-db-bucket' => 'Tidak bisa menghubungi database kunci yang mencukupi dalam ember $1.',
 'lockmanager-fail-db-release' => 'Tidak dapat melepaskan penguncian pada basis data $1.',
 'lockmanager-fail-svr-release' => 'Tidak dapat melepaskan penguncian pada server $1.',
 
@@ -1927,6 +1956,10 @@ Juga tersedia [[Special:WhatLinksHere/$2|daftar selengkapnya]].',
 Silakan lihat [$2 halaman deskripsi berkas] untuk informasi lebih lanjut.',
 'sharedupload-desc-here' => 'Berkas ini berasal dari $1 dan mungkin digunakan oleh proyek-proyek lain.
 Deskripsi dari [$2 halaman deskripsinya] ditunjukkan di bawah ini.',
+'sharedupload-desc-edit' => 'Berkas ini berasal dari $1 dan mungkin digunakan oleh proyek lain.
+Mungkin Anda ingin menyunting keterangan pada [$2 halaman deskripsi berkas] di sana.',
+'sharedupload-desc-create' => 'Berkas ini berasal dari $1 dan mungkin digunakan oleh proyek lain.
+Mungkin Anda ingin menyunting keterangan pada [$2 halaman deskripsi berkas] di sana.',
 'filepage-nofile' => 'Tidak ada berkas dengan nama ini.',
 'filepage-nofile-link' => 'Tidak ada berkas dengan nama ini, tetapi Anda dapat [$1 mengunggahnya].',
 'uploadnewversion-linktext' => 'Muatkan versi yang lebih baru dari berkas ini',
@@ -2060,6 +2093,8 @@ Nama yang telah <del>dicoret</del> berarti telah dibetulkan.',
 'wantedpages' => 'Halaman yang diinginkan',
 'wantedpages-badtitle' => 'Judul tak valid dalam himpunan hasil: $1',
 'wantedfiles' => 'Berkas yang diinginkan',
+'wantedfiletext-cat' => 'Berkas-berkas berikut digunakan tetapi tidak ada. Berkas dari repositori asing mungkin tercantum meskipun ada. Setiap "false positive" akan <del>dicoret</del>. Selain itu, halaman yang menggunakan berkas yang tidak ada eksis akan dicantumkan dalam [[:$1]].',
+'wantedfiletext-nocat' => 'Berkas-berkas berikut digunakan tetapi tidak ada. Berkas dari repositori asing mungkin tercantum meskipun ada. Setiap "false positive" akan <del>dicoret</del>.',
 'wantedtemplates' => 'Templat yang diinginkan',
 'mostlinked' => 'Halaman yang tersering dituju',
 'mostlinkedcategories' => 'Kategori yang tersering digunakan',
@@ -2136,6 +2171,12 @@ Anda dapat melakukan pembatasan tampilan dengan memilih jenis log, nama pengguna
 'allpagesprefix' => 'Tampilkan halaman dengan awalan:',
 'allpagesbadtitle' => 'Judul halaman yang diberikan tidak sah atau memiliki awalan antar-bahasa atau antar-wiki. Judul tersebut mungkin juga mengandung satu atau lebih aksara yang tidak dapat digunakan dalam judul.',
 'allpages-bad-ns' => '{{SITENAME}} tidak memiliki ruang nama "$1".',
+'allpages-hide-redirects' => 'Sembunyikan pengalihan',
+
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'Anda melihat versi tembolok halaman ini, yang mungkin sudah berumur $1.',
+'cachedspecial-viewing-cached-ts' => 'Anda melihat versi tembolok halaman ini, yang mungkin tidak akan benar-benar aktual.',
+'cachedspecial-refresh-now' => 'Lihat versi terbaru.',
 
 # Special:Categories
 'categories' => 'Kategori',
@@ -2373,6 +2414,8 @@ Lihat [[Special:ProtectedPages|daftar halaman terlindungi]] untuk daftar perlind
 'protect-title' => 'Melindungi "$1"',
 'protect-title-notallowed' => 'Lihat tingkat perlindungan dari "$1"',
 'prot_1movedto2' => '[[$1]] dipindahkan ke [[$2]]',
+'protect-badnamespace-title' => 'Ruang nama yang tidak dapat dilindungi',
+'protect-badnamespace-text' => 'Halaman dalam ruang nama ini tidak dapat dilindungi.',
 'protect-legend' => 'Konfirmasi pelindungan',
 'protectcomment' => 'Alasan:',
 'protectexpiry' => 'Kedaluwarsa:',
@@ -2566,7 +2609,7 @@ Masukkan alasan Anda di bawah (contoh, menuliskan nama halaman yang telah divand
 'badipaddress' => 'Format alamat IP atau nama pengguna salah.',
 'blockipsuccesssub' => 'Pemblokiran sukses',
 'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] telah diblokir.<br />
-Lihat [[Special:BlockList|Daftar IP]] untuk meninjau kembali pemblokiran.',
+Lihat [[Special:BlockList|daftar pemblokiran]] untuk meninjau kembali pemblokiran.',
 'ipb-blockingself' => 'Anda akan memblokir diri sendiri! Apakah Anda yakin akan melakukannya?',
 'ipb-confirmhideuser' => 'Anda akan memblokir pengguna dengan mengaktifkan "sembunyikan pengguna" diaktifkan. Ini akan menyembunyikan nama pengguna pada semua daftar dan entri log. Apakah Anda yakin ingin melakukannya?',
 'ipb-edit-dropdown' => 'Sunting alasan pemblokiran',
@@ -2586,6 +2629,7 @@ Lihat [[Special:BlockList|Daftar IP]] untuk meninjau kembali pemblokiran.',
 'blocklist-userblocks' => 'Sembunyikan pemblokiran akun',
 'blocklist-tempblocks' => 'Sembunyikan pemblokiran sementara',
 'blocklist-addressblocks' => 'Sembunyikan pemblokiran IP tunggal',
+'blocklist-rangeblocks' => 'Menyembunyikan jangkauan blokir (http://www.mediawiki.org/wiki/Help:Range_blocks)',
 'blocklist-timestamp' => 'Stempel waktu',
 'blocklist-target' => 'Target',
 'blocklist-expiry' => 'Kedaluwarsa',
@@ -2618,7 +2662,7 @@ Alasan yang diberikan untuk pemblokiran $1 adalah: "$2"',
 'reblock-logentry' => 'mengubah pemblokiran [[$1]] dengan waktu kedaluwarsa $2 $3',
 'blocklogtext' => 'Di bawah ini adalah log pemblokiran dan pembukaan blokir terhadap pengguna.
 Alamat IP yang diblokir secara otomatis tidak terdapat di dalam daftar ini.
-Lihat [[Special:BlockList|daftar alamat IP yang diblokir]] untuk daftar pemblokiran terkini.',
+Lihat [[Special:BlockList|daftar pemblokiran]] untuk semua pengguna yang saat ini diblokir.',
 'unblocklogentry' => 'menghilangkan blokir "$1"',
 'block-log-flags-anononly' => 'hanya pengguna anonim',
 'block-log-flags-nocreate' => 'pembuatan akun dimatikan',
@@ -2767,6 +2811,7 @@ Jika Anda hanya ingin mengimpor versi terbaru, Anda melakukannya lebih cepat den
 'exportcuronly' => 'Hanya ekspor revisi sekarang, bukan seluruh versi terdahulu',
 'exportnohistory' => "----
 '''Catatan:''' Mengekspor keseluruhan riwayat suntingan halaman melalui isian ini telah dinon-aktifkan karena alasan kinerja.",
+'exportlistauthors' => 'Termasuk daftar lengkap kontributor untuk setiap halaman',
 'export-submit' => 'Ekspor',
 'export-addcattext' => 'Tambahkan halaman dari kategori:',
 'export-addcat' => 'Tambahkan',
@@ -2799,6 +2844,8 @@ Silakan kunjungi [//www.mediawiki.org/wiki/Localisation Pelokalan MediaWiki] dan
 'thumbnail_error' => 'Gagal membuat miniatur: $1',
 'djvu_page_error' => 'Halaman DjVu di luar rentang',
 'djvu_no_xml' => 'XML untuk berkas DjVu tak dapat diperoleh',
+'thumbnail-temp-create' => 'Tidak dapat membuat berkas kecil temporer',
+'thumbnail-dest-create' => 'Tidak dapat menyimpan berkas kecil ke tujuan',
 'thumbnail_invalid_params' => 'Kesalahan parameter miniatur',
 'thumbnail_dest_directory' => 'Direktori tujuan tak dapat dibuat',
 'thumbnail_image-type' => 'Tipe gambar tidak didukung',
@@ -2845,6 +2892,8 @@ Simpan ke komputer Anda dan unggah ke sini.',
 'import-invalid-interwiki' => 'Tidak dapat mengimpor dari wiki tersebut.',
 'import-error-edit' => 'Halaman "$1" tidak diimpor karena Anda tidak diizinkan untuk menyuntingnya.',
 'import-error-create' => 'Halaman "$1" tidak diimpor karena Anda tidak diizinkan untuk membuatnya.',
+'import-error-interwiki' => 'Halaman " $1 " tidak diimpor karena namanya dicadangkan untuk pranala eksternal (interwiki).',
+'import-error-special' => 'Halaman " $1 " tidak diimpor karena milik ruang nama khusus yang tidak mengizinkan adanya halaman.',
 'import-error-invalid' => 'Halaman "$1" tidak diimpor karena namanya tidak valid.',
 
 # Import log
@@ -2864,6 +2913,7 @@ Simpan ke komputer Anda dan unggah ke sini.',
 'javascripttest-pagetext-frameworks' => 'Silakan pilih satu di antara kerangka kerja pengujian berikut: $1',
 'javascripttest-pagetext-skins' => 'Pilih kulit yang ingin Anda uji:',
 'javascripttest-qunit-intro' => 'Lihat [$1 dokumentasi pengujian] di mediawiki.org.',
+'javascripttest-qunit-heading' => 'MediaWiki JavaScript QUnit test suite',
 
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Halaman pengguna Anda',
@@ -3728,6 +3778,9 @@ Anda seharusnya telah menerima [{{SERVER}}{{SCRIPTPATH}}/COPYING salinan Lisensi
 'version-software' => 'Perangkat lunak terinstal',
 'version-software-product' => 'Produk',
 'version-software-version' => 'Versi',
+'version-entrypoints' => 'URL titik entri',
+'version-entrypoints-header-entrypoint' => 'Titik entri',
+'version-entrypoints-header-url' => 'URL',
 
 # Special:FilePath
 'filepath' => 'Lokasi berkas',
@@ -3832,6 +3885,15 @@ Gambar ditampilkan dalam resolusi penuh dan tipe lain berkas akan dibuka langsun
 # New logging system
 'logentry-delete-delete' => '$1 menghapus halaman $3',
 'logentry-delete-restore' => '$1 mengembalikan halaman $3',
+'logentry-delete-event' => '$1 mengubah ketertampilan {{PLURAL:$5||}} $5  log peristiwa di $3: $4',
+'logentry-delete-revision' => '$1 mengubah ketertampilan {{PLURAL:$5||}} $5  revisi di halaman $3: $4',
+'logentry-delete-event-legacy' => '$1 mengubah ketertampilan log peristiwa pada $3',
+'logentry-delete-revision-legacy' => '$1 mengubah ketertampilan revisi pada halaman $3',
+'logentry-suppress-delete' => '$1 mensupresi halaman $3',
+'logentry-suppress-event' => '$1 secara diam-diam mengubah ketertampilan  {{PLURAL:$5||}} $5  log peristiwa di $3: $4',
+'logentry-suppress-revision' => '$1 diam-diam mengubah ketertampilan {{PLURAL:$5||}} $5 revisi di halaman $3: $4',
+'logentry-suppress-event-legacy' => '$1 diam-diam mengubah ketertampilan log peristiwa pada $3',
+'logentry-suppress-revision-legacy' => '$1 diam-diam mengubah ketertampilan revisi pada halaman $3',
 'revdelete-content-hid' => 'konten disembunyikan',
 'revdelete-summary-hid' => 'ringkasan suntingan disembunyikan',
 'revdelete-uname-hid' => 'nama pengguna disembunyikan',
@@ -3853,6 +3915,8 @@ Gambar ditampilkan dalam resolusi penuh dan tipe lain berkas akan dibuka langsun
 'newuserlog-byemail' => 'kata sandi dikirim melalui surel',
 
 # Feedback
+'feedback-bugornote' => 'Jika Anda sudah siap untuk mendeskripsikan masalah teknis secara rinci silakan [$1 melaporkan bug].
+Jika tidak, Anda dapat menggunakan formulir mudah di bawah ini. Komentar Anda akan ditambahkan ke halaman "[$3 $2]", bersama dengan nama pengguna Anda dan apa browser yang Anda gunakan.',
 'feedback-subject' => 'Perihal:',
 'feedback-message' => 'Pesan:',
 'feedback-cancel' => 'Batal',
@@ -3861,6 +3925,7 @@ Gambar ditampilkan dalam resolusi penuh dan tipe lain berkas akan dibuka langsun
 'feedback-error1' => 'Galat: Hasil tidak dikenal dari API',
 'feedback-error2' => 'Galat: Penyuntingan gagal',
 'feedback-error3' => 'Error: API tidak merespons',
+'feedback-thanks' => 'Terima kasih! Umpan balik Anda telah diposting ke halaman "[$2 $1]".',
 'feedback-close' => 'Selesai',
 'feedback-bugcheck' => 'Hebat! Hanya periksa bahwa itu bukan satu di antara [$1 bug yang telah dikenal].',
 'feedback-bugnew' => 'Saya telah memeriksa. Laporkan bug baru',
@@ -3903,4 +3968,15 @@ Gambar ditampilkan dalam resolusi penuh dan tipe lain berkas akan dibuka langsun
 'api-error-uploaddisabled' => 'Pengunggahan dinonaktifkan di wiki ini.',
 'api-error-verification-error' => 'Berkas ini mungkin rusak atau memiliki ekstensi yang salah.',
 
+# Durations
+'duration-seconds' => '{{PLURAL:$1||}}$1 detik',
+'duration-minutes' => '{{PLURAL:$1||}}$1 menit',
+'duration-hours' => '{{PLURAL:$1||}}$1 jam',
+'duration-days' => '{{PLURAL:$1||}}$1 hari',
+'duration-weeks' => '{{PLURAL: $1||}}$1 minggu',
+'duration-years' => '{{PLURAL: $1||}}$1 tahun',
+'duration-decades' => '{{PLURAL:$1||}}$1 dekade',
+'duration-centuries' => '{{PLURAL:$1||}}$1 abad',
+'duration-millennia' => '{{PLURAL:$1||}}$1 milenium',
+
 );
index 1a9bfc9..00322f5 100644 (file)
@@ -732,7 +732,7 @@ Tui adresse de e-mail ne es revelat quande altri usatores contacter vu.',
 'nchanges' => '$1 {{PLURAL:$1|change|changes}}',
 'recentchanges' => 'Nov changes',
 'recentchanges-legend' => 'Optiones de nov changes',
-'recentchangestext' => 'Seque sur ti-ci págine li ultim modificationes al wiki.',
+'recentchanges-summary' => 'Seque sur ti-ci págine li ultim modificationes al wiki.',
 'recentchanges-feed-description' => 'Monstra li max nov changes to li wiki in ti feed.',
 'recentchanges-label-newpage' => 'Ti redaction creat un nov págine',
 'recentchanges-label-minor' => 'Ti es un redaction minori',
index 4c6f239..282d871 100644 (file)
@@ -965,7 +965,7 @@ Ihü nọr na [[Special:Watchlist|ndétu ihe Í ne lé]] di na mkpụrụ edemed
 'filehist-filesize' => 'Ívù usòrò',
 'filehist-comment' => 'Okwu-nokwu',
 'filehist-missing' => 'Usòrò è fwuólé',
-'imagelinks' => 'Jikodo usòrò',
+'imagelinks' => 'Mgbanwe usòrò',
 'linkstoimage' => '{{PLURAL:$1|Ihü nká|Ihü nke $1}} na jikodo gá usòrò nká:',
 'nolinkstoimage' => 'Àdíghị ihü na jikodo usòrò nke.',
 'sharedupload' => 'Ákwúkwó runotu nke shì $1 na ó nwèríkí di na orürü nke ndi ozor.',
@@ -1487,7 +1487,7 @@ Jikodo nke gị byá àzú na áhìrì nke òfu á bu nke nwéríkí gáfè, dí
 Ȯ bụ nà usòrò à gabnwere shí òtù ȯ di nà mgbe mbu, ótù ụmà àgághị è zí ya.',
 'metadata-expand' => 'Zi nkówá di ógólógó',
 'metadata-collapse' => 'Zonari nkówá di ógólógó',
-'metadata-fields' => 'Ómárí nso nke nkeji nke EXIF détùrù na ozi nká gí banyé na nlé ihü nhuunuche mgbè ómárí nso mgbe àgàdà gi dátù.
+'metadata-fields' => 'Ómárí nso nke nkeji nke nhuunuche détùrù na ozi nká gí banyé na nlé ihü nhuunuche mgbè ómárí nso mgbe àgàdà gi dátù.
 Nke ozor gí zonari na áká onwe ha.
 * make
 * model
index 043dfb7..288eac9 100644 (file)
  * @author לערי ריינהארט
  */
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Midia',
+       NS_SPECIAL          => 'Espesial',
+       NS_TALK             => 'Tungtungan',
+       NS_USER             => 'Agar-aramat',
+       NS_USER_TALK        => 'Agar-aramat_tungtungan',
+       NS_PROJECT_TALK     => '$1_tungtungan',
+       NS_FILE             => 'Papeles',
+       NS_FILE_TALK        => 'Papeles_tungtungan',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_tungtungan',
+       NS_TEMPLATE         => 'Plantilia',
+       NS_TEMPLATE_TALK    => 'Plantilia_tungtungan',
+       NS_HELP             => 'Tulong',
+       NS_HELP_TALK        => 'Tulong_tungtungan',
+       NS_CATEGORY         => 'Kategoria',
+       NS_CATEGORY_TALK    => 'Kategoria_tungtungan',
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Pinag-ugisan ti silpo:',
@@ -1353,7 +1372,7 @@ Ti e-surat a pagtaengam ket saan nga maipakita kadagiti agar-aramat nga agkontak
 'nchanges' => '$1 {{PLURAL:$1|sinukatan|dagiti sinukatan}}',
 'recentchanges' => 'Kaudian a balbaliw',
 'recentchanges-legend' => 'Pagpilian kadagiti kaudian a balbaliw',
-'recentchangestext' => 'Bantayan daytoy a panid dagiti kaudian a panakabalbaliw ti wiki.',
+'recentchanges-summary' => 'Bantayan iti daytoy a panid dagiti kauudian a panakabalbaliw ti wiki.',
 'recentchanges-feed-description' => 'Siputen dagiti kakaudian a panamalbaliw iti wiki iti daytoy a pakan.',
 'recentchanges-label-newpage' => 'Daytoy nga inurnos ket nakaaramid ti baro a panid',
 'recentchanges-label-minor' => 'Bassit a panag-urnos laeng daytoy',
index 18133a4..9720672 100644 (file)
@@ -626,7 +626,7 @@ $messages = array(
 'nchanges' => '$1 {{PLURAL:$1|хувцам|хувцамаш}}',
 'recentchanges' => 'Керда хувцамаш',
 'recentchanges-legend' => 'Керда хувцамий оттамаш',
-'recentchangestext' => 'КIалхагIа лоарамий доаламе тIехьара оагIувний хувцамаш дIаязадаь да{{grammar:genitive|{{SITENAME}}}}.',
+'recentchanges-summary' => 'КIалхагIа лоарамий доаламе тIехьара оагIувний хувцамаш дIаязадаь да{{grammar:genitive|{{SITENAME}}}}.',
 'recentchanges-feed-description' => 'Укх ларамца тIехьара викихувцамашт теркам бе.',
 'recentchanges-label-newpage' => 'Укх хувцамаца керда оагIув даь хиннад',
 'recentchanges-label-minor' => 'ЗIамига хувцам я',
index 43c2f50..89752bb 100644 (file)
@@ -811,7 +811,7 @@ Ol mustas ne havar plu kam $1 {{PLURAL:$1|litero|literi}}.',
 'nchanges' => '$1 {{PLURAL:$1|chanjo|chanji}}',
 'recentchanges' => 'Recenta chanji',
 'recentchanges-legend' => 'Recenta chanji preferaji',
-'recentchangestext' => 'Regardez la maxim recenta chanji en Wiki per ica pagino.',
+'recentchanges-summary' => 'Regardez la maxim recenta chanji en Wiki per ica pagino.',
 'recentchanges-label-newpage' => 'Ca redaktajo kreis nova pagino',
 'recentchanges-label-minor' => 'Ica es mikra redaktajo',
 'recentchanges-label-bot' => 'Ta chanjo facita da bot',
index 092ae11..5add4fb 100644 (file)
@@ -616,7 +616,7 @@ $2',
 Ástæðan sem gefin var ''$2''.",
 'filereadonlyerror' => 'Ekki var hægt að breyta skránni "$1" því skráin í skráarsafninu "$2" er engöngu hægt að lesa.
 
-Ástæðan fyrir þessu er "\'\'$3\'\'".',
+Möppudýrið sem læsti skránni gaf þessa ástæðu: "\'\'$3\'\'".',
 
 # Virus scanner
 'virus-badscanner' => "Slæm stilling: óþekktur veiruskannari: ''$1''",
@@ -1083,6 +1083,13 @@ Frekari upplýsingar eru í [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGE
 'revdelete-show-file-submit' => 'Já',
 'revdelete-selected' => "'''{{PLURAL:$2|Valin breyting|Valdar breytingar}} fyrir [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Valin aðgerð|Valdar aðgerðir}}:'''",
+'revdelete-text' => "'''Eyddar útgáfur og breytingar munu birtast áfram í breytingarskrá síðunnar og í aðgerðarskrám, en hluti upplýsingana verða falin almenningi.'''
+Önnur möppudýr á {{SITENAME}} hafa aðgang að földu upplýsingunum og geta endurvakið upplýsingarnar í gegnum sama viðmót, nema sérstakar takmarkanir séu virkar.",
+'revdelete-confirm' => 'Vinsamlegast staðfestu að þú viljir gera þetta, að þú skiljir afleiðingarnar og að þú sért að gera þetta í samræmi við  [[{{MediaWiki:Policy-url}}]].',
+'revdelete-suppress-text' => "Bælingu á '''eingöngu''' að nota í eftirfarandi tilfellum:
+* Mögulegar ærumleiðandi upplýsingar
+* Óviðeigandi persónulegar upplýsingar
+*: ''heimilisfang, símanúmer, kennitala, osfrv.''",
 'revdelete-legend' => 'Setja sjáanlegar hamlanir',
 'revdelete-hide-text' => 'Fela breytingatexta',
 'revdelete-hide-image' => 'Fela efni skráar',
@@ -1094,6 +1101,7 @@ Frekari upplýsingar eru í [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGE
 'revdelete-radio-set' => 'Já',
 'revdelete-radio-unset' => 'Nei',
 'revdelete-suppress' => 'Dylja gögn frá stjórnendum og öðrum',
+'revdelete-unsuppress' => 'Fjarlægja takmarkanir á endurvöktum breytingum',
 'revdelete-log' => 'Ástæða:',
 'revdelete-submit' => 'Setja á {{PLURAL:$1|valda breytingu|valdar breytingar}}',
 'revdel-restore' => 'Breyta sýn',
@@ -1101,8 +1109,23 @@ Frekari upplýsingar eru í [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGE
 'revdel-restore-visible' => 'sýnilegar breytingar',
 'pagehist' => 'Breytingaskrá',
 'deletedhist' => 'Eyðingaskrá',
+'revdelete-hide-current' => 'Mistókst að fela breytingu frá $1 $2: Þetta er núverandi útgáfa síðunnar.
+Ekki er hægt að fela hana.',
+'revdelete-show-no-access' => 'Mistókst að sýna breytingu frá $1 $2: Þessi breyting hefur verið merkt sem "takmörkuð".
+Þú hefur ekki aðgang að henni.',
+'revdelete-no-change' => "'''Viðvörun:''' Breytingin frá $1 $2 hefur þegar umbeðnar sýnileika stillingar.",
+'revdelete-only-restricted' => 'Mistókst að fela breytingu frá $1 $2: Þú getur ekki falið breytingu fyrir möppudýrum án þess að velja eina af hinum sýnileika stillingunum.',
+'revdelete-reason-dropdown' => '*Algengar eyðingarástæður
+** Höfundarréttarbrot
+** Óviðeigandi persónuuplýsingar
+** Mögulega ærumleiðandi upplýsingar',
+'revdelete-otherreason' => 'Aðrar/fleiri ástæður:',
+'revdelete-reasonotherlist' => 'Önnur ástæða',
 'revdelete-edit-reasonlist' => 'Eyðingarástæður',
 
+# Suppression log
+'suppressionlog' => 'Bælingarskrá',
+
 # History merging
 'mergehistory' => 'Sameina breytingaskrár',
 'mergehistory-header' => 'Þessi síða gerir þér kleift að sameina breytingarskrá tveggja síðna.
@@ -1120,7 +1143,9 @@ Sjáðu til þess að þessi breyting sameini breytingarskrárnar samfellt.',
 'mergelogpagetext' => 'Þetta er skrá yfir síðustu sameiningar einnar síðu við aðra.',
 
 # Diffs
-'history-title' => 'Breytingaskrá fyrir "$1"',
+'history-title' => '$1: Breytingaskrá',
+'difference-title' => '$1: Munur á milli útgáfa',
+'difference-title-multipage' => '$1 og $2: Munur á milli síðna',
 'difference-multipage' => '(Munur á milli síðna)',
 'lineno' => 'Lína $1:',
 'compareselectedversions' => 'Bera saman valdar útgáfur',
@@ -1479,7 +1504,7 @@ Tölvupóstfang þitt er ekki gefið upp þegar aðrir notendur hafa samband vi
 'nchanges' => '$1 {{PLURAL:$1|breyting|breytingar}}',
 'recentchanges' => 'Nýlegar breytingar',
 'recentchanges-legend' => 'Stillingar nýlegra breytinga',
-'recentchangestext' => 'Hér geturðu fylgst með nýjustu breytingunum.',
+'recentchanges-summary' => 'Hér geturðu fylgst með nýjustu breytingunum.',
 'recentchanges-feed-description' => 'Hér er hægt að fylgjast með nýlegum breytingum á {{SITENAME}}.',
 'recentchanges-label-newpage' => 'Þessi breyting skapaði nýja síðu',
 'recentchanges-label-minor' => 'Þetta er minniháttar breyting',
@@ -3650,4 +3675,14 @@ Ef ekki, þá getur þú notað einfalt eyðublað hér fyrir neðan. Athugasemd
 'api-error-uploaddisabled' => 'Ekki er leyft að hlaða inn á þessum wiki.',
 'api-error-verification-error' => 'Þessi skrá gæti verið skemmd, eða með vitlausa skráarendingu.',
 
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|sekúnda|sekúndur}}',
+'duration-minutes' => '$1 {{PLURAL:$1|mínúta|mínútur}}',
+'duration-hours' => '$1 {{PLURAL:$1|klukkustund|klukkustundir}}',
+'duration-days' => '$1 {{PLURAL:$1|dagur|dagar}}',
+'duration-weeks' => '$1 {{PLURAL:$1|vika|vikur}}',
+'duration-years' => '$1 {{PLURAL:$1|ár|ár}}',
+'duration-decades' => '$1 {{PLURAL:$1|áratugur|áratugir}}',
+'duration-centuries' => '$1 {{PLURAL:$1|öld|aldir}}',
+
 );
index f111eb1..900b666 100644 (file)
@@ -116,14 +116,15 @@ $specialPageAliases = array(
        'Booksources'               => array( 'RicercaISBN' ),
        'BrokenRedirects'           => array( 'RedirectErrati' ),
        'Categories'                => array( 'Categorie' ),
+       'ChangeEmail'               => array( 'CambiaEmail' ),
        'ChangePassword'            => array( 'CambiaPassword' ),
        'ComparePages'              => array( 'ComparaPagine' ),
        'Confirmemail'              => array( 'ConfermaEMail' ),
-       'Contributions'             => array( 'Contributi', 'ContributiUtente' ),
+       'Contributions'             => array( 'Contributi', 'ContributiUtente', 'Edit' ),
        'CreateAccount'             => array( 'CreaAccount' ),
        'Deadendpages'              => array( 'PagineSenzaUscita' ),
        'DeletedContributions'      => array( 'ContributiCancellati' ),
-       'Disambiguations'           => array( 'Disambigua', 'Disambigue' ),
+       'Disambiguations'           => array( 'Disambigua' ),
        'DoubleRedirects'           => array( 'RedirectDoppi' ),
        'EditWatchlist'             => array( 'ModifcaListaSeguiti' ),
        'Emailuser'                 => array( 'InviaEMail' ),
@@ -134,11 +135,11 @@ $specialPageAliases = array(
        'Import'                    => array( 'Importa' ),
        'Invalidateemail'           => array( 'InvalidaEMail' ),
        'BlockList'                 => array( 'IPBloccati', 'ElencoBlocchi', 'Blocchi' ),
-       'LinkSearch'                => array( 'CercaCollegamenti' ),
-       'Listadmins'                => array( 'Amministratori', 'ElencoAmministratori', 'Admin' ),
+       'LinkSearch'                => array( 'CercaCollegamenti', 'CercaLink' ),
+       'Listadmins'                => array( 'Amministratori', 'ElencoAmministratori', 'Admin', 'Sysop', 'Cricca' ),
        'Listbots'                  => array( 'Bot', 'ElencoBot' ),
        'Listfiles'                 => array( 'File', 'Immagini' ),
-       'Listgrouprights'           => array( 'ElencoPermessiGruppi' ),
+       'Listgrouprights'           => array( 'ElencoPermessiGruppi', 'Privilegi' ),
        'Listredirects'             => array( 'Redirect', 'ElencoRedirect' ),
        'Listusers'                 => array( 'Utenti', 'ElencoUtenti' ),
        'Lockdb'                    => array( 'BloccaDB' ),
@@ -157,10 +158,11 @@ $specialPageAliases = array(
        'Mycontributions'           => array( 'MieiContributi' ),
        'Mypage'                    => array( 'MiaPaginaUtente', 'MiaPagina' ),
        'Mytalk'                    => array( 'MieDiscussioni' ),
-       'Myuploads'                 => array( 'MieiUpload' ),
+       'Myuploads'                 => array( 'MieiUpload', 'MieiEdit' ),
        'Newimages'                 => array( 'ImmaginiRecenti' ),
        'Newpages'                  => array( 'PaginePiùRecenti' ),
        'PasswordReset'             => array( 'ReimpostaPassword' ),
+       'PermanentLink'             => array( 'LinkPermanente' ),
        'Popularpages'              => array( 'PaginePiùVisitate' ),
        'Preferences'               => array( 'Preferenze' ),
        'Prefixindex'               => array( 'Prefissi' ),
@@ -171,11 +173,11 @@ $specialPageAliases = array(
        'Recentchanges'             => array( 'UltimeModifiche' ),
        'Recentchangeslinked'       => array( 'ModificheCorrelate' ),
        'Revisiondelete'            => array( 'CancellaRevisione' ),
-       'Search'                    => array( 'Ricerca', 'Cerca' ),
+       'Search'                    => array( 'Ricerca', 'Cerca', 'Trova' ),
        'Shortpages'                => array( 'PaginePiùCorte' ),
        'Specialpages'              => array( 'PagineSpeciali' ),
        'Statistics'                => array( 'Statistiche' ),
-       'Tags'                      => array( 'Etichette' ),
+       'Tags'                      => array( 'Etichette', 'Tag' ),
        'Unblock'                   => array( 'ElencoSblocchi', 'Sblocchi' ),
        'Uncategorizedcategories'   => array( 'CategorieSenzaCategorie' ),
        'Uncategorizedimages'       => array( 'ImmaginiSenzaCategorie' ),
@@ -293,7 +295,7 @@ $messages = array(
 'tog-externaleditor' => "Usa per default un editor di testi esterno (solo per utenti esperti, richiede l'uso di impostazioni particolari sul proprio computer. [//www.mediawiki.org/wiki/Manual:External_editors Ulteriori informazioni.])",
 'tog-externaldiff' => "Usa per default un programma di diff esterno (solo per utenti esperti, richiede l'uso di impostazioni particolari sul proprio computer. [//www.mediawiki.org/wiki/Manual:External_editors Ulteriori informazioni.])",
 'tog-showjumplinks' => 'Attiva i collegamenti accessibili "vai a"',
-'tog-uselivepreview' => "Attiva la funzione ''Live preview'' (anteprima in diretta - richiede JavaScript; sperimentale)",
+'tog-uselivepreview' => "Abilita la funzione ''Live preview'' (anteprima in diretta - richiede JavaScript; sperimentale)",
 'tog-forceeditsummary' => 'Chiedi conferma se il campo oggetto è vuoto',
 'tog-watchlisthideown' => 'Nascondi le mie modifiche negli osservati speciali',
 'tog-watchlisthidebots' => 'Nascondi le modifiche dei bot negli osservati speciali',
@@ -478,7 +480,7 @@ $messages = array(
 'otherlanguages' => 'Altre lingue',
 'redirectedfrom' => '(Reindirizzamento da <b>$1</b>)',
 'redirectpagesub' => 'Pagina di reindirizzamento',
-'lastmodifiedat' => 'Ultima modifica per la pagina: $2, $1.',
+'lastmodifiedat' => "Questa pagina è stata modificata per l'ultima volta il $1 alle $2.",
 'viewcount' => 'Questa pagina è stata letta {{PLURAL:$1|una volta|$1 volte}}.',
 'protectedpage' => 'Pagina bloccata',
 'jumpto' => 'Vai a:',
@@ -927,7 +929,7 @@ Le tue modifiche NON sono ancora state salvate!",
 'previewconflict' => 'L\'anteprima corrisponde al testo presente nella casella di modifica superiore e rappresenta la pagina come apparirà se si sceglie di premere "Salva la pagina" in questo momento.',
 'session_fail_preview' => "'''Non è stato possibile elaborare la modifica perché sono andati persi i dati relativi alla sessione.
 Riprovare.
-Se il problema persiste, si può provare a [[Special:UserLogout|scollegarsi]] ed effettuare un nuovo accesso.'''",
+Se il problema persiste, si può tentare di [[Special:UserLogout|scollegarsi]] ed effettuare un nuovo accesso.'''",
 'session_fail_preview_html' => "'''Non è stato possibile elaborare la modifica perché sono andati persi i dati relativi alla sessione.'''
 
 ''Poiché in {{SITENAME}} è abilitato l'uso di HTML senza limitazioni, l'anteprima non viene visualizzata; si tratta di una misura di sicurezza contro gli attacchi JavaScript.''
@@ -1190,9 +1192,9 @@ Vedi l'[[Special:BlockList|elenco dei blocchi]] per l'elenco dei bandi e dei blo
 'mergelogpagetext' => 'Di seguito sono elencate le ultime operazioni di unione della cronologia di due pagine.',
 
 # Diffs
-'history-title' => 'Cronologia delle modifiche di "$1"',
-'difference-title' => 'Differenza tra le versioni di "$1"',
-'difference-title-multipage' => 'Differenza tra le pagine "$1" e "$2"',
+'history-title' => '$1: cronologia delle modifiche',
+'difference-title' => '$1: differenze tra le versioni',
+'difference-title-multipage' => '$1 e $2: differenze tra le pagine',
 'difference-multipage' => '(Differenze fra le pagine)',
 'lineno' => 'Riga $1:',
 'compareselectedversions' => 'Confronta le versioni selezionate',
@@ -1287,6 +1289,7 @@ Vedi l'[[Special:BlockList|elenco dei blocchi]] per l'elenco dei bandi e dei blo
 'prefs-beta' => 'Funzionalità beta',
 'prefs-datetime' => 'Data e ora',
 'prefs-labs' => 'Funzionalità dei laboratori',
+'prefs-user-pages' => 'Pagine utente',
 'prefs-personal' => 'Profilo utente',
 'prefs-rc' => 'Ultime modifiche',
 'prefs-watchlist' => 'Osservati speciali',
@@ -1366,7 +1369,7 @@ L'operazione non può essere annullata.",
 'gender-male' => 'Maschile',
 'gender-female' => 'Femminile',
 'prefs-help-gender' => "Opzionale: consente di adattare i messaggi del software in funzione del genere dell'utente. Questa informazione sarà pubblica.",
-'email' => 'Indirizzo e-mail',
+'email' => 'Indirizzo email',
 'prefs-help-realname' => "L'indicazione del proprio nome vero è opzionale; se si sceglie di inserirlo, verrà utilizzato per attribuire la paternità dei contenuti inviati.",
 'prefs-help-email' => "L'inserimento del proprio indirizzo e-mail è facoltativo, ma permette di ricevere la propria password qualora venisse dimenticata.",
 'prefs-help-email-others' => 'Puoi anche scegliere di lasciare che gli altri ti contattino via posta elettronica con un collegamento dalla tua pagina utente o di discussione.
@@ -1481,7 +1484,7 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'right-editusercssjs' => 'Modifica i file CSS e JS di altri utenti',
 'right-editusercss' => 'Modifica i file CSS di altri utenti',
 'right-edituserjs' => 'Modifica i file JS di altri utenti',
-'right-rollback' => "Annullamento rapido delle modifiche dell'ultimo utente che ha modificato una particolare pagina",
+'right-rollback' => "Annulla rapidamente le modifiche dell'ultimo utente che ha modificato una particolare pagina",
 'right-markbotedits' => 'Segna le modifiche soggette a rollback come effettuate da bot',
 'right-noratelimit' => 'Non soggetto al limite di azioni',
 'right-import' => 'Importa pagine da altri wiki',
@@ -1530,7 +1533,7 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'action-suppressionlog' => 'visionare questo log privato',
 'action-block' => 'bloccare questo utente in scrittura',
 'action-protect' => 'modificare i livelli di protezione per questa pagina',
-'action-rollback' => "Annullamento rapido delle modifiche dell'ultimo utente che ha modificato una determinata pagina",
+'action-rollback' => "annullare rapidamente le modifiche dell'ultimo utente che ha modificato una determinata pagina",
 'action-import' => "importare questa pagina da un'altra wiki",
 'action-importupload' => 'importare questa pagina tramite upload da file',
 'action-patrol' => 'segnare le modifiche degli altri utenti come verificate',
@@ -1546,7 +1549,7 @@ Il tuo indirizzo non viene rivelato quando gli altri utenti ti contattano.',
 'nchanges' => '$1 {{PLURAL:$1|modifica|modifiche}}',
 'recentchanges' => 'Ultime modifiche',
 'recentchanges-legend' => 'Opzioni ultime modifiche',
-'recentchangestext' => 'Questa pagina presenta le modifiche più recenti ai contenuti del sito.',
+'recentchanges-summary' => 'Questa pagina presenta le modifiche più recenti ai contenuti del sito.',
 'recentchanges-feed-description' => 'Questo feed riporta le modifiche più recenti ai contenuti del sito.',
 'recentchanges-label-newpage' => 'Questa modifica ha creato una nuova pagina',
 'recentchanges-label-minor' => 'Questa è una modifica minore',
@@ -1731,7 +1734,7 @@ $1',
 'backend-fail-hashes' => 'Impossibile ottenere hash dei file per confronto.',
 'backend-fail-notsame' => 'Esiste già un file non identico a  $1 .',
 'backend-fail-invalidpath' => '$1 non è un percorso di archiviazione valido.',
-'backend-fail-delete' => 'Impossibile eliminare il file  $1 .',
+'backend-fail-delete' => 'Impossibile cancellare il file $1.',
 'backend-fail-alreadyexists' => 'Il file $1 esiste già.',
 'backend-fail-store' => 'Impossibilie memorizzare file  $1  in  $2 .',
 'backend-fail-copy' => 'Impossibile copiare il file  $1  in  $2 .',
@@ -1740,7 +1743,7 @@ $1',
 'backend-fail-writetemp' => 'Impossibile creare il file temporaneo.',
 'backend-fail-closetemp' => 'Impossibile chiudere il file temporaneo.',
 'backend-fail-read' => 'Impossibile leggere il file  $1 .',
-'backend-fail-create' => 'Impossibile creare il file  $1 .',
+'backend-fail-create' => 'Impossibile creare il file $1.',
 'backend-fail-maxsize' => 'Impossibile creare il file $1 perché è più grande di {{PLURAL:$2|un|$2}} byte.',
 'backend-fail-readonly' => 'Il backend "$1" è attualmente di sola lettura. La ragione indicata è: "$2"',
 'backend-fail-synced' => 'Il file "$1" è in uno stato non coerente nei backend di memoria interna.',
@@ -1748,6 +1751,7 @@ $1',
 'backend-fail-internal' => 'Si è verificato un errore sconosciuto nel backend di memoria "$1".',
 'backend-fail-contenttype' => 'Impossibile determinare la tipologia del file da archiviare in "$1".',
 'backend-fail-batchsize' => 'Il backend di memoria ha programmato una serie di $1 {{PLURAL:$1|operazione|operazioni}} su file; il limite è di $2 {{PLURAL:$2|operazione|operazioni}}.',
+'backend-fail-usable' => 'Impossibile scrivere il file $1 a causa di autorizzazione insufficienti o directory/recipienti mancanti.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Impossibile connettersi al database journal per l\'archiviazione back-end "$1".',
@@ -1810,7 +1814,6 @@ Per una sicurezza ottimale, img_auth.php è disattivato.',
 'http-curl-error' => "Errore durante il recupero dell'URL: $1",
 'http-host-unreachable' => 'URL non raggiungibile.',
 'http-bad-status' => "C'è stato un problema durante la richiesta HTTP: $1 $2",
-'http-truncated-body' => 'Il corpo della richiesta è stato ricevuto solo parzialmente.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'URL non raggiungibile',
@@ -2563,7 +2566,7 @@ Sei sicuro di voler continuare?',
 'unblocklink' => 'sblocca',
 'change-blocklink' => 'cambia blocco',
 'contribslink' => 'contributi',
-'emaillink' => 'invia e-mail',
+'emaillink' => 'invia email',
 'autoblocker' => 'Bloccato automaticamente perché l\'indirizzo IP è condiviso con l\'utente "[[User:$1|$1]]".
 Il blocco dell\'utente $1 è stato imposto per il seguente motivo: "$2".',
 'blocklogpage' => 'Blocchi',
@@ -2932,7 +2935,7 @@ Tutte le operazioni di importazione trans-wiki sono registrate nel [[Special:Log
 'anonymous' => '{{PLURAL:$1|Utente anonimo|Utenti anonimi}} di {{SITENAME}}',
 'siteuser' => '$1, utente di {{SITENAME}}',
 'anonuser' => '$1, utente anonimo di {{SITENAME}}',
-'lastmodifiedatby' => "Questa pagina è stata modificata per l'ultima volta il $2, $1 da $3.",
+'lastmodifiedatby' => "Questa pagina è stata modificata per l'ultima volta il $1 alle $2 da $3.",
 'othercontribs' => 'Il testo attuale è basato su contributi di $1.',
 'others' => 'altri',
 'siteusers' => '$1, {{PLURAL:$2|utente|utenti}} di {{SITENAME}}',
index f56253c..6b02458 100644 (file)
@@ -167,7 +167,7 @@ $specialPageAliases = array(
        'Newimages'                 => array( '新着ファイル', '新しいファイルの一覧', '新着画像展示室' ),
        'Newpages'                  => array( '新しいページ', '新規項目' ),
        'PasswordReset'             => array( 'パスワード再設定', 'パスワードの再設定', 'パスワードのリセット', 'パスワードリセット' ),
-       'PermanentLink'             => array( '固定リンク' ),
+       'PermanentLink'             => array( '固定リンク', 'パーマリンク' ),
        'Popularpages'              => array( '人気ページ' ),
        'Preferences'               => array( '個人設定', 'オプション' ),
        'Prefixindex'               => array( '前方一致ページ一覧', '始点指定ページ一覧' ),
@@ -189,7 +189,7 @@ $specialPageAliases = array(
        'Uncategorizedimages'       => array( 'カテゴリ未導入のファイル' ),
        'Uncategorizedpages'        => array( 'カテゴリ未導入のページ' ),
        'Uncategorizedtemplates'    => array( 'カテゴリ未導入のテンプレート' ),
-       'Undelete'                  => array( '復帰' ),
+       'Undelete'                  => array( '復å\85\83', '復帰' ),
        'Unlockdb'                  => array( 'データベースロック解除', 'データベース解除' ),
        'Unusedcategories'          => array( '使われていないカテゴリ', '未使用カテゴリ' ),
        'Unusedimages'              => array( '使われていないファイル', '未使用ファイル', '未使用画像' ),
@@ -571,7 +571,7 @@ $messages = array(
 'toolbox' => 'ツールボックス',
 'userpage' => '利用者ページを表示',
 'projectpage' => 'プロジェクトのページを表示',
-'imagepage' => 'ファイルページを表示',
+'imagepage' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\81®ã\83\9aã\83¼ã\82¸ã\82\92表示',
 'mediawikipage' => 'メッセージのページを表示',
 'templatepage' => 'テンプレートのページを表示',
 'viewhelppage' => 'ヘルプのページを表示',
@@ -580,7 +580,7 @@ $messages = array(
 'otherlanguages' => '他の言語',
 'redirectedfrom' => '($1から転送)',
 'redirectpagesub' => 'リダイレクトページ',
-'lastmodifiedat' => 'ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81®æ\9c\80çµ\82æ\9b´æ\96°ã\81¯ $1 $2 ã\81«è¡\8cã\82\8fã\82\8cã\81¾ã\81\97ã\81\9f。',
+'lastmodifiedat' => 'ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81\8cæ\9c\80å¾\8cã\81«æ\9b´æ\96°ã\81\95ã\82\8cã\81\9fã\81®ã\81¯ $1 $2 ã\81§ã\81\99。',
 'viewcount' => 'このページは {{PLURAL:$1|$1 回}}アクセスされました。',
 'protectedpage' => '保護されたページ',
 'jumpto' => '移動:',
@@ -625,7 +625,7 @@ $1',
 
 'ok' => 'OK',
 'retrievedfrom' => '「$1」から取得',
-'youhavenewmessages' => '$1が届いています($2)。',
+'youhavenewmessages' => '$1が届いています($2)。',
 'newmessageslink' => '新しいメッセージ',
 'newmessagesdifflink' => '最終更新の差分',
 'youhavenewmessagesmulti' => '$1に新着メッセージがあります',
@@ -696,9 +696,9 @@ URL を間違って入力したか、正しくないリンクをたどった可
 'readonlytext' => 'データベースは現在、新しいページの追加や編集を受け付けない「ロック状態」になっています。これはおそらくデータベースの定期メンテナンスのためで、メンテナンス終了後は正常な状態に復帰します。
 
 データベースをロックした管理者による説明は以下の通りです:$1',
-'missing-article' => 'ページ「$1」$2の本文がデータベース内で見つかりませんでした。
+'missing-article' => '求められたページ「$1」$2 の本文がデータベース内で見つかりませんでした。
 
-ページの削除された版への古い差分表示や固定リンクをたどった時にこのようなことになります。
+通常、削除されたページの版への古い差分表示や固定リンクをたどった時に、このようなことが起こります。
 
 それ以外の操作でこのメッセージが表示された場合、ソフトウェアのバグである可能性があります。
 [[Special:ListUsers/sysop|管理者]]までそのURLを添えてお知らせください。',
@@ -951,7 +951,7 @@ $2
 'link_sample' => 'リンクの名前',
 'link_tip' => '内部リンク',
 'extlink_sample' => 'http://www.example.com リンクの名前',
-'extlink_tip' => '外部リンク (http:// を忘れずにつけてください)',
+'extlink_tip' => '外部リンク(http:// を忘れずに付けてください)',
 'headline_sample' => '見出し文',
 'headline_tip' => '2段目の見出し',
 'nowiki_sample' => 'ここにマークアップを無効にするテキストを入力します',
@@ -1124,7 +1124,7 @@ IP アドレスは複数の利用者で共有されている場合がありま
 'templatesusedsection' => 'この節で使用されている{{PLURAL:$1|テンプレート}}:',
 'template-protected' => '(保護)',
 'template-semiprotected' => '(半保護)',
-'hiddencategories' => 'このページは$1隠しカテゴリに属しています:',
+'hiddencategories' => 'このページは$1個の隠しカテゴリに属しています:',
 'edittools' => '<!-- ここに書いたテキストは編集及びアップロードのフォームの下に表示されます。 -->',
 'nocreatetitle' => 'ページの作成が制限されています',
 'nocreatetext' => '{{SITENAME}}ではページの新規作成を制限しています。
@@ -1160,8 +1160,8 @@ IP アドレスは複数の利用者で共有されている場合がありま
 'post-expand-template-inclusion-warning' => "'''警告:'''テンプレートの読み込みサイズが大き過ぎます。
 いくつかのテンプレートは読み込まれません。",
 'post-expand-template-inclusion-category' => 'テンプレート読み込みサイズが制限値を越えているページ',
-'post-expand-template-argument-warning' => "'''è­¦å\91\8aï¼\9a'''ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81«ã\81¯ã\80\81å±\95é\96\8bå¾\8cã\81®ã\82µã\82¤ã\82ºã\81\8c大ã\81\8dã\81\99ã\81\8eã\82\8bå\80¤を渡したテンプレートが1つ以上含まれています。
\81\93ã\82\8cã\82\89ã\81®å\80¤は省略されました。",
+'post-expand-template-argument-warning' => "'''è­¦å\91\8aï¼\9a'''ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81«ã\81¯ã\80\81å±\95é\96\8bå¾\8cã\81®ã\82µã\82¤ã\82ºã\81\8c大ã\81\8dã\81\99ã\81\8eã\82\8bå¼\95æ\95°を渡したテンプレートが1つ以上含まれています。
\81\93ã\82\8cã\82\89ã\81®å¼\95æ\95°は省略されました。",
 'post-expand-template-argument-category' => '省略されたテンプレート引数を含むページ',
 'parser-template-loop-warning' => 'テンプレートのループが検出されました:[[$1]]',
 'parser-template-recursion-depth-warning' => 'テンプレートの再帰の深さ($1)が上限を超えました',
@@ -1170,6 +1170,8 @@ IP アドレスは複数の利用者で共有されている場合がありま
 'node-count-exceeded-warning' => 'ページがノード数の制限を超えました',
 'expansion-depth-exceeded-category' => '展開の深さ制限を超えたページ',
 'expansion-depth-exceeded-warning' => 'ページが展開の深さ制限を超えました',
+'parser-unstrip-loop-warning' => 'Unstrip のループが検出されました',
+'parser-unstrip-recursion-limit' => 'Unstrip の再帰($1)が上限を超えました',
 
 # "Undo" feature
 'undo-success' => 'この編集を取り消せます。
@@ -1349,6 +1351,8 @@ $1",
 
 # Diffs
 'history-title' => '「$1」の変更履歴',
+'difference-title' => '$1:版間の差分',
+'difference-title-multipage' => '$1 と $2:ページ間の差分',
 'difference-multipage' => '(ページ間の差分)',
 'lineno' => '$1行:',
 'compareselectedversions' => '選択した版同士を比較',
@@ -1446,6 +1450,7 @@ $1",
 'prefs-beta' => 'ベータ版機能',
 'prefs-datetime' => '日付と時刻',
 'prefs-labs' => 'ラボの機能',
+'prefs-user-pages' => '利用者ページ',
 'prefs-personal' => '利用者情報',
 'prefs-rc' => '最近の更新',
 'prefs-watchlist' => 'ウォッチリスト',
@@ -1533,8 +1538,8 @@ HTMLタグを見直してください。',
 'prefs-help-realname' => '本名は省略できます。
 入力すると、あなたの著作物の帰属表記に本名を使用します。',
 'prefs-help-email' => 'メールアドレスは省略できますが、パスワードを忘れた際にパスワードをリセットするのに必要です。',
-'prefs-help-email-others' => '利用者ページやトークページ上のリンクを通じて、他の利用者があなたにメールで連絡をれるようにすることもできます。
-他の利用者が連絡をとろうとするとき、あなたのメールアドレスは開示されません。',
+'prefs-help-email-others' => '利用者ページやトークページ上のリンクを通じて、他の利用者があなたにメールで連絡をれるようにすることもできます。
+他の利用者が連絡を取る際にあなたのメールアドレスが開示されることはありません。',
 'prefs-help-email-required' => 'メールアドレスが必要です。',
 'prefs-info' => '基本情報',
 'prefs-i18n' => '国際化',
@@ -1710,7 +1715,7 @@ HTMLタグを見直してください。',
 'nchanges' => '$1回の変更',
 'recentchanges' => '最近の更新',
 'recentchanges-legend' => '最近の更新のオプション',
-'recentchangestext' => 'このウィキにおける最近の更新はこのページから確認できます。',
+'recentchanges-summary' => 'このページで最近の更新を確認できます。',
 'recentchanges-feed-description' => 'このフィードでそのウィキへの最近の更新を追跡。',
 'recentchanges-label-newpage' => 'この編集で新しいページが作成されました',
 'recentchanges-label-minor' => 'これは細部の編集です',
@@ -1725,7 +1730,7 @@ HTMLタグを見直してください。',
 'rcshowhideanons' => '匿名利用者を$1',
 'rcshowhidepatr' => '巡回された編集を$1',
 'rcshowhidemine' => '自分の編集を$1',
-'rclinks' => '最近$2日間の$1件分を表示<br />$3',
+'rclinks' => '最近$2日間の更新$1件以内を表示<br />$3',
 'diff' => '差分',
 'hist' => '履歴',
 'hide' => '非表示',
@@ -1928,8 +1933,8 @@ $1',
 'backend-fail-writetemp' => '一時ファイルに書き込めませんでした。',
 'backend-fail-closetemp' => '一時ファイルを閉じることができませんでした。',
 'backend-fail-read' => 'ファイル $1 を読み込めませんでした。',
-'backend-fail-create' => 'ã\83\95ã\82¡ã\82¤ã\83« $1 ã\82\92ä½\9cæ\88\90ã\81§ã\81\8dませんでした。',
-'backend-fail-maxsize' => '{{PLURAL:$2|$2 ã\83\90ã\82¤ã\83\88}}ã\82\88ã\82\8aã\82\82大ã\81\8dã\81\84ã\81\9fã\82\81ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\80\8c$1ã\80\8dã\82\92ä½\9cæ\88\90ã\81§ã\81\8dませんでした。',
+'backend-fail-create' => 'ã\83\95ã\82¡ã\82¤ã\83« $1 ã\81«æ\9b¸ã\81\8dè¾¼ã\82\81ませんでした。',
+'backend-fail-maxsize' => '{{PLURAL:$2|$2 ã\83\90ã\82¤ã\83\88}}ã\82\88ã\82\8aã\82\82大ã\81\8dã\81\84ã\81\9fã\82\81ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\80\8c$1ã\80\8dã\81«æ\9b¸ã\81\8dè¾¼ã\82\81ませんでした。',
 'backend-fail-readonly' => 'ストレージバックエンド「$1」は現在読み取り専用です。理由:「$2」',
 'backend-fail-synced' => 'ファイル「$1」は、ストレージバックエンド内部において不一致の状態にあります。',
 'backend-fail-connect' => 'ストレージバックエンドに接続できませんでした。「$1」',
@@ -2509,7 +2514,7 @@ $UNWATCHURL
 'revertpage' => '[[Special:Contributions/$2|$2]]([[User talk:$2|トーク]])による編集を[[User:$1|$1]]による直前の版へ差し戻しました',
 'revertpage-nouser' => '(利用者名削除)による編集を[[User:$1|$1]]による最新版へ差し戻しました',
 'rollback-success' => '$1による編集を差し戻しました。
-$2による最後の版へ変更されました。',
+$2による直前の版へ変更されました。',
 
 # Edit tokens
 'sessionfailure-title' => 'セッションの失敗',
@@ -2748,7 +2753,7 @@ $1',
 'unblocked-range' => '$1のブロックは解除されています',
 'unblocked-id' => 'ブロック$1は除去されました',
 'blocklist' => 'ブロック中の利用者',
-'ipblocklist' => 'ブロック中の利用者',
+'ipblocklist' => 'ブロックを受けている利用者',
 'ipblocklist-legend' => 'ブロック中の利用者を検索',
 'blocklist-userblocks' => 'アカウントのブロックを非表示',
 'blocklist-tempblocks' => '有期ブロックを非表示',
@@ -3003,7 +3008,7 @@ MediaWiki 全般のローカライズ(地域化)に貢献したい場合は
 'import-interwiki-templates' => 'すべてのテンプレートを含める',
 'import-interwiki-submit' => '取り込み',
 'import-interwiki-namespace' => '目的の名前空間:',
-'import-upload-filename' => 'ファイルã\81®å\90\8då\89\8dï¼\9a',
+'import-upload-filename' => 'ファイルå\90\8dï¼\9a',
 'import-comment' => 'コメント:',
 'importtext' => '元のウィキで[[Special:Export|書き出し機能]]を使用してファイルに書き出してください。
 それをコンピューターに保存した後、こちらへアップロードしてください。',
@@ -3119,7 +3124,7 @@ MediaWiki 全般のローカライズ(地域化)に貢献したい場合は
 'tooltip-preview' => '変更をプレビューで確認できます。保存前に使用してください!',
 'tooltip-diff' => '文章中で変更した箇所を表示',
 'tooltip-compareselectedversions' => '選択された二つの版の差分を表示します。',
-'tooltip-watch' => 'ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\82\92ã\82¦ã\82©ã\83\83ã\83\81ã\83ªã\82¹ã\83\88ã\81¸è¿½å\8a ã\81\97ã\81¾ã\81\99',
+'tooltip-watch' => 'ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\82\92ã\82¦ã\82©ã\83\83ã\83\81ã\83ªã\82¹ã\83\88ã\81«è¿½å\8a ã\81\99ã\82\8b',
 'tooltip-watchlistedit-normal-submit' => 'タイトルを削除',
 'tooltip-watchlistedit-raw-submit' => 'ウォッチリストを更新',
 'tooltip-recreate' => '削除されていても、ページを再作成する',
@@ -3848,7 +3853,7 @@ $5
 'recreate' => '再作成する',
 
 # action=purge
-'confirm_purge_button' => 'はい',
+'confirm_purge_button' => 'OK',
 'confirm-purge-top' => 'ページのキャッシュを破棄します。よろしいですか?',
 'confirm-purge-bottom' => 'ページをパージすると、キャッシュが破棄され、強制的に最新の版が表示されます。',
 
@@ -3931,7 +3936,7 @@ $5
 'watchlistedit-raw-removed' => '$1件のページ名が除去されました:',
 
 # Watchlist editing tools
-'watchlisttools-view' => 'é\96¢é\80£ã\81\99ã\82\8bå¤\89æ\9b´ã\81®è¡¨ç¤º',
+'watchlisttools-view' => 'é\96¢é\80£ã\81\99ã\82\8bå¤\89æ\9b´ã\82\92é\96²è¦§',
 'watchlisttools-edit' => 'ウォッチリストの閲覧と編集',
 'watchlisttools-raw' => 'ウォッチリストをそのまま編集',
 
index b5fbceb..84be2d1 100644 (file)
@@ -1201,7 +1201,7 @@ Panjenengan uga bisa milih supaya wong liya ngubungi panjenengan liwat jeneng pa
 'nchanges' => '$1 {{PLURAL:$1|pangowahan|owah-owahan}}',
 'recentchanges' => 'Owah-owahan',
 'recentchanges-legend' => 'Pilihan owah-owahan pungkasan',
-'recentchangestext' => 'Runutna owah-owahan pungkasan ing wiki iki ing kaca iki.',
+'recentchanges-summary' => 'Runutna owah-owahan pungkasan ing wiki iki ing kaca iki.',
 'recentchanges-feed-description' => "Urutna owah-owahan anyar ing wiki ing ''feed'' iki.",
 'recentchanges-label-newpage' => 'Suntingan iki gawé kaca anyar',
 'recentchanges-label-minor' => 'Iki suntingan sithik',
index 9f45136..6f99dc9 100644 (file)
@@ -60,28 +60,33 @@ $specialPageAliases = array(
        'Activeusers'               => array( 'აქტიური_მომხმარებლები' ),
        'Allmessages'               => array( 'ყველა_შეტყობინება' ),
        'Allpages'                  => array( 'ყველა_გვერდი' ),
-       'Ancientpages'              => array( 'მხცოვანიგვერდები' ),
+       'Ancientpages'              => array( 'მხცოვანი_გვერდები' ),
+       'Badtitle'                  => array( 'ცუდი_სათაური' ),
        'Blankpage'                 => array( 'ცარიელი_გვერდი' ),
        'Block'                     => array( 'დაბლოკვა' ),
        'Blockme'                   => array( 'დამბლოკე' ),
-       'BrokenRedirects'           => array( 'გაწყვეტილიგადამისამართება' ),
+       'BrokenRedirects'           => array( 'გაწყვეტილი_გადამისამართება' ),
        'Categories'                => array( 'კატეგორიები' ),
+       'ChangeEmail'               => array( 'ელ-ფოსტის_შეცვლა' ),
        'ChangePassword'            => array( 'პაროლის_შეცვლა' ),
        'ComparePages'              => array( 'გვერდების_შედარება' ),
        'Confirmemail'              => array( 'ელ-ფოსტის_დადასტურება' ),
        'Contributions'             => array( 'წვლილი' ),
        'CreateAccount'             => array( 'ანგარიშის_შექმნა' ),
        'Disambiguations'           => array( 'მრავალმნიშვნელოვნება' ),
-       'DoubleRedirects'           => array( 'ორმაგიგადამისამართება' ),
+       'DoubleRedirects'           => array( 'ორმაგი_გადამისამართება' ),
+       'EditWatchlist'             => array( 'კონტროლის_სიის_რედაქტირება' ),
        'Emailuser'                 => array( 'მიწერა_მომხმარებელს' ),
        'Export'                    => array( 'ექსპორტი' ),
        'FileDuplicateSearch'       => array( 'ფაილის_დუბლიკატის_ძიება' ),
        'Import'                    => array( 'იმპორტი' ),
        'BlockList'                 => array( 'ბლოკირებების_სია' ),
-       'LinkSearch'                => array( 'á\83\91á\83\9bá\83£á\83\9aá\83\98á\83¡_á\83«á\83\94ება' ),
+       'LinkSearch'                => array( 'á\83\91á\83\9bá\83£á\83\9aá\83\98á\83¡_á\83«á\83\98ება' ),
        'Listadmins'                => array( 'ადმინისტრატორების_სია' ),
        'Listbots'                  => array( 'ბოტების_სია' ),
-       'Listfiles'                 => array( 'სურსია' ),
+       'Listfiles'                 => array( 'ფაილების_სია' ),
+       'Listgrouprights'           => array( 'ჯგუფის_უფლებათა_სია' ),
+       'Listredirects'             => array( 'გადამისამართებების_სია' ),
        'Listusers'                 => array( 'მომხმარებელთა_სია' ),
        'Lonelypages'               => array( 'ობოლიგვერდები' ),
        'Longpages'                 => array( 'გრძელიგვერდები' ),
@@ -130,9 +135,13 @@ $magicWords = array(
        'img_thumbnail'           => array( '1', 'მინიატიურა', 'მინი', 'მინიასლი', 'ცეროდენა', 'thumbnail', 'thumb' ),
        'img_right'               => array( '1', 'მარჯვნივ', 'right' ),
        'img_left'                => array( '1', 'მარცხნივ', 'left' ),
+       'img_none'                => array( '1', 'არა', 'none' ),
        'img_width'               => array( '1', '$1პქ', '$1px' ),
-       'img_center'              => array( '1', 'ცენტრი', 'center', 'centre' ),
+       'img_center'              => array( '1', 'ცენტრი', 'ცენტრში', 'center', 'centre' ),
        'img_border'              => array( '1', 'საზღვარი', 'border' ),
+       'img_top'                 => array( '1', 'ზედა', 'top' ),
+       'img_middle'              => array( '1', 'შუა', 'middle' ),
+       'img_bottom'              => array( '1', 'ქვედა', 'bottom' ),
        'special'                 => array( '0', 'სპეციალური', 'special' ),
 );
 
@@ -937,6 +946,7 @@ $2
 'node-count-exceeded-warning' => 'გვერდზე გადამეტებულია კვანძების რაოდენობა',
 'expansion-depth-exceeded-category' => 'გვერდები გახსნის სიღრმის გადამეტებით',
 'expansion-depth-exceeded-warning' => 'გვერდზე გადამეტებულია ჩადგმების ზღვარი',
+'parser-unstrip-loop-warning' => 'აღმოჩენილია ციკლური ბმული',
 'parser-unstrip-recursion-limit' => 'გადამეტებულია რეკურსიის ზღვარი ($1)',
 
 # "Undo" feature
@@ -1115,9 +1125,9 @@ $1",
 'mergelogpagetext' => 'ქვემოთ წარმოდგენილია ამ გვერდის ბოლო გაერთიანებათა სია',
 
 # Diffs
-'history-title' => 'ცვლილებათა ისტორია სტატიაში „$1“',
-'difference-title' => 'განსხვავება გადახედვებს შორის " $1 "',
-'difference-title-multipage' => 'განსხვავება „$1“ და „$2“ გვერდებს შორის',
+'history-title' => '$1: ცვლილებათა ისტორია',
+'difference-title' => '$1: განსხვავება გადახედვებს შორის',
+'difference-title-multipage' => '$1 და $2: განსხვავება გვერდებს შორის',
 'difference-multipage' => '(განსხვავება გვერდებს შორის)',
 'lineno' => 'ხაზი $1:',
 'compareselectedversions' => 'არჩეული ვერსიების შედარება',
@@ -1213,6 +1223,7 @@ $1",
 'prefs-beta' => 'ბეტა შესაძლებლობები',
 'prefs-datetime' => 'თარიღი და დრო',
 'prefs-labs' => 'ექსპერიმენტალური ფუნქციები',
+'prefs-user-pages' => 'მომხმარებლის გვერდები',
 'prefs-personal' => 'მომხმარებლის მონაცემები',
 'prefs-rc' => 'ბოლო ცვლილებები',
 'prefs-watchlist' => 'კონტროლის სია',
@@ -1477,7 +1488,7 @@ $1",
 'nchanges' => '$1 ცვლილება',
 'recentchanges' => 'ბოლო ცვლილებები',
 'recentchanges-legend' => 'ბოლო ცვლილებების პარამეტრები',
-'recentchangestext' => 'უთვალთვალეთ ვიკიში ბოლო ცვლილებებს ამ გვერდზე.',
+'recentchanges-summary' => 'უთვალთვალეთ ვიკიში ბოლო ცვლილებებს ამ გვერდზე.',
 'recentchanges-feed-description' => 'ვიკის უახლესი ცვლილებების მეთვალყურეობა ამ არხში.',
 'recentchanges-label-newpage' => 'ამ რედაქტირებით შეიქმნა ახალი გვერდი',
 'recentchanges-label-minor' => 'ეს არის მცირე შესწორება',
@@ -1669,14 +1680,15 @@ $1',
 'backend-fail-writetemp' => 'დროებითი ფაილის დაწერა ვერ ხერხდება.',
 'backend-fail-closetemp' => 'დროებითი ფაილის დახურვა ვერ ხერხდება.',
 'backend-fail-read' => 'ფაილი $1-ის წაკითხვა ვერ მოხერხდა.',
-'backend-fail-create' => 'á\83¤á\83\90á\83\98á\83\9aá\83\98 $1-á\83\98á\83¡ á\83¨á\83\94á\83¥á\83\9bá\83\9cა ვერ მოხერხდა.',
-'backend-fail-maxsize' => 'á\83¤á\83\90á\83\98á\83\9aá\83\98 $1-á\83\98á\83¡ á\83¨á\83\94á\83¥á\83\9bá\83\9cá\83\90 á\83\95á\83\94á\83  á\83\9bá\83\9dá\83®á\83\94á\83 á\83®á\83\93á\83\90, á\83 á\83\90á\83\93á\83\92á\83\90á\83\9cá\83\90á\83ª á\83\9bá\83\98á\83¡á\83\98 á\83\96á\83\9dá\83\9bá\83\90 á\83\90á\83­á\83\90á\83 á\83\91á\83\94á\83\91á\83¡ {{PLURAL:$2|$2 ბაიტს|$2 ბაიტს}}.',
+'backend-fail-create' => 'á\83¤á\83\90á\83\98á\83\9aá\83\98 $1-á\83\98á\83¡ á\83©á\83\90á\83¬á\83\94á\83 ა ვერ მოხერხდა.',
+'backend-fail-maxsize' => 'á\83¤á\83\90á\83\98á\83\9aá\83\98 $1-á\83\98á\83¡ á\83©á\83\90á\83¬á\83\94á\83 á\83\90 á\83\95á\83\94á\83  á\83\9bá\83\9dá\83®á\83\94á\83 á\83®á\83\93á\83\90, á\83 á\83\90á\83\93á\83\92á\83\90á\83\9cá\83\90á\83ª á\83\9bá\83\98á\83¡á\83\98 á\83\96á\83\9dá\83\9bá\83\90 á\83\90á\83­á\83\90á\83 á\83\91á\83\94á\83\91á\83¡ {{PLURAL:$2|á\83\94á\83 á\83\97 ბაიტს|$2 ბაიტს}}.',
 'backend-fail-readonly' => 'საცავი "$1" ამჟამად ხელმისაწვდომია მხოლოდ წაკითხვის რეჟიმში. მიზეზი: "$2"',
 'backend-fail-synced' => 'ფაილი "$1" იმყოფება შიდა საცავის შეუთანხმებელ მდგომარეობაში',
 'backend-fail-connect' => '"$1" საცავთან დაკავშირება ვერ მოხერხდა.',
 'backend-fail-internal' => '"$1" საცავში მოხდა დაუდგენელი შეცდომა.',
 'backend-fail-contenttype' => 'ფაილის შემადგენლობის ტიპის დადგენა ვერ მოხერხდა, "$1"-ში შესანახად.',
 'backend-fail-batchsize' => 'საცავმა მიიღო {{PLURAL:$1|ფაილის ოპერაციის|ფაილების ოპერაციების}} ბლოკი $1-დან, შეზღუდვა შეადგენს $2 {{PLURAL:$1|ოპერაციას}}.',
+'backend-fail-usable' => 'Не удалось записать файлფაილი $1 ჩაწერა ვერ მოხერხდა უფლებების უკმარისობის ან საჭირო საქაღალდეების არქონის გამო.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'ჟურნალის მონაცემთა ბაზებთან დაკავშირება "$1" მონაცემთა შესანახად ვერ მოხერხდა.',
index b585f0f..1425327 100644 (file)
@@ -1065,7 +1065,7 @@ Barlıq mag'lıwmat tu'rin (sonın' ishinde sa'wbet betlerdi, shablonlardı h.t.
 'nchanges' => "{{PLURAL:$1|1 o'zgeris|$1 o'zgeris}}",
 'recentchanges' => "Aqırg'ı o'zgerisler",
 'recentchanges-legend' => "Aqırg'ı o'zgerisler sazlawları",
-'recentchangestext' => "Bul bette usı wikidegi ha'zirgi o'zgerisler baqlanadı.",
+'recentchanges-summary' => "Bul bette usı wikidegi ha'zirgi o'zgerisler baqlanadı.",
 'recentchanges-feed-description' => "Wikidin' usı ag'ımındag'ı en' aqırg'ı o'zgerislerin baqlaw.",
 'recentchanges-label-newpage' => "Bul o'zgeris arqalı taza bet jaratıldı",
 'recentchanges-label-minor' => "Bul kishi o'zgeris",
index ce2593c..fe97fb1 100644 (file)
@@ -794,7 +794,7 @@ i yesɛan akk awalen i banen-d).",
 'nchanges' => '$1 {{PLURAL:$1|Abeddel|Ibeddlen}}',
 'recentchanges' => 'Ibeddlen imaynuten',
 'recentchanges-legend' => 'Tifranin n ibeddilen imaynuten',
-'recentchangestext' => 'Ḍfer ibeddilen imaynuten n {{SITENAME}}.',
+'recentchanges-summary' => 'Ḍfer ibeddilen imaynuten n {{SITENAME}}.',
 'recentchanges-feed-description' => 'Ḍfer ibeddilen imaynuten n wiki-yagi deg usuddem-agi.',
 'recentchanges-label-newpage' => 'Abeddel agi ad yesnulfu asebter amaynut',
 'recentchanges-label-minor' => 'Wagi d-abeddel amectuḥ',
index 91a3f50..69e8cb8 100644 (file)
@@ -683,7 +683,7 @@ HTML tags لوڑے.',",
 'nchanges' => '$1 {{PLURAL:$1|تبدیلی|تبدیلیاں}}',
 'recentchanges' => 'حالیہ تبدیلی',
 'recentchanges-legend' => 'حالیہ تبدیلیان اختیارات',
-'recentchangestext' => 'ھیہ صفحا کھوار ویکیپیڈیا باک تازہ تریں تبدیلیان مشاہدہ کورے',
+'recentchanges-summary' => 'ھیہ صفحا کھوار ویکیپیڈیا باک تازہ تریں تبدیلیان مشاہدہ کورے',
 'recentchanges-feed-description' => 'کھوارا ترجمہ',
 'recentchanges-label-newpage' => 'ھیہ ترمیم نوغ صفحہ تخلیق آریر',
 'recentchanges-label-minor' => 'ھیہ ای معمولی ترمیم شیر',
@@ -774,7 +774,8 @@ HTML tags لوڑے.',",
 'protectedpages' => 'محفوظ شدہ صفحہ',
 'protectedtitles' => 'محفوظ شدہ صفحہ',
 'listusers' => 'فہرست ارکان',
-'usercreated' => 'ساوزینو ھوی $1 at $2',
+'usercreated' => '
+{{GENDER:$3|تخلیق شدہ}}  بتاریخ $1 بوقت $2',
 'newpages' => 'نوغ صفحات',
 'newpages-username' => 'اسمِ رکنیت',
 'move' => 'منتقل',
index e802c5b..f4aed9f 100644 (file)
@@ -434,6 +434,7 @@ Vurnaena [[Special:Preferences|melumatanê {{SITENAME}}]] ho vira mekerê.',
 'createaccount' => 'Hesab vıraze',
 'gotaccount' => "Hesabê sıma ke esto? '''$1'''.",
 'gotaccountlink' => 'Cı kuye',
+'userlogin-resetlink' => 'Melumatê cıkewtışi xo vira kerdê?',
 'createaccountmail' => 'e-poste sera',
 'createaccountreason' => 'Sebeb:',
 'badretype' => 'Parola sıma nêvêrena.',
@@ -550,8 +551,8 @@ Kerem ke, tı ke wazena na pele vırazê/bıvurnê, qontrol ke.',
 Dosyunê ebe namê .css u .js'y de herfa hurdiye bıgurêne, mesela hurêndia {{ns:user}}:Foo/Vector.css'i de {{ns:user}}:Foo/vector.css bınuse.",
 'updated' => '(Bi rozane)',
 'note' => "'''Not:'''",
-'previewnote' => "'''Bıfıkıriye ke no teyna jü verqayto.'''
-Vurnaişê to hona qeyd nêbiyê!",
+'previewnote' => "Teme! ena teyna verqeyda.'''
+Vurnayışê tu hama qeyd nıbiyo!",
 'editing' => 'Tıya $1 vurnena',
 'editingsection' => 'Vurnaena $1 (qısım)',
 'editingcomment' => '$1 vurnino (qısımo newe)',
@@ -570,18 +571,26 @@ Zobina ki ebe ita nustene ra sond wena ke nê iştıraki terefê to ra nuşiyê,
 'hiddencategories' => 'Na pele mensuba {{PLURAL:$1|1 kategoriya nımıtiya|$1 kategoriunê nımıtuna}}:',
 'permissionserrors' => 'Xetê desturi',
 'permissionserrorstext-withaction' => 'Desturê to be $2 çino, serba {{PLURAL:$1|na sebebi|nê sebebu}} ra:',
+'recreate-moveddeleted-warn' => "'''Hişyari: no pel o ke şıma vırazeni vere cû vırazyayo.'''
+
+Diqet bıkeri no vurnayişê şıma re gerek esto:",
+'moveddeleted-notice' => 'Ma ena pele wederna.
+Qe referansi logê wedernayışi bın de mocnayiya.',
 'edit-conflict' => 'Têverabiyaena vurnaişi.',
 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => "'''Teme''': Zerrekê şabloni zaf gırso.
 Taê şabloni ilawe nêbenê.",
 'post-expand-template-inclusion-category' => 'Pelê ke tede gırşênia şabloni serde sono',
+'post-expand-template-argument-warning' => 'Hişyari: No pel de tewr tay yew şablono herayi esto.',
+'post-expand-template-argument-category' => 'Pelê ke şablonê eyi qebul niye',
 
 # History pages
 'viewpagelogs' => 'Qeydê ke na pele ra alaqedarê, inu bıasne',
 'currentrev' => 'Çımraviarnaoğo rozane',
 'currentrev-asof' => '$1 ra gore pele be halo nıkaên',
 'revisionasof' => 'Halê roca $1ine',
+'revision-info' => 'Tesdiq kerdışê roca $1ine be terefê $2',
 'previousrevision' => '← Halo khanêr',
 'nextrevision' => 'Tekrardiyaiso newêr →',
 'currentrevisionlink' => 'Halo nıkaên',
@@ -678,7 +687,7 @@ Eke şertê ilawekerdey ke niyê ro, idarekerê bini {{SITENAME}} de nêşikinê
 'revertmerge' => 'Cia ke',
 
 # Diffs
-'history-title' => 'Viartê pelga "$1"ine',
+'history-title' => 'Rewizyonê $1:',
 'lineno' => 'Rêza $1i:',
 'compareselectedversions' => 'Varyantunê weçinıtun têver sane',
 'editundo' => 'peyser bia',
@@ -698,6 +707,7 @@ Eke şertê ilawekerdey ke niyê ro, idarekerê bini {{SITENAME}} de nêşikinê
 'nextn-title' => 'Peyên $1 {{PLURAL:$1|netice|neticey}}',
 'shown-title' => 'Zu pele rê $1 {{PLURAL:$1|netice|neticu}} basne',
 'viewprevnext' => 'Bıvêne ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => "''Ena 'Wikipediya de ser \"[[:\$1]]\" yew pel esto'''",
 'searchmenu-new' => "'''Nê wiki de pela \"[[:\$1]]\" baferne!'''",
 'searchhelp-url' => 'Help:Tedeestey',
 'searchprofile-articles' => 'Pelê tedeesteu',
@@ -710,7 +720,7 @@ Eke şertê ilawekerdey ke niyê ro, idarekerê bini {{SITENAME}} de nêşikinê
 'searchprofile-images-tooltip' => 'Dosya bıfeteliye',
 'searchprofile-everything-tooltip' => 'Zerreki pêro sae ke (pelunê hurênaişi daxıl)',
 'searchprofile-advanced-tooltip' => 'Caunê namunê xısusiu de cıfeteliye',
-'search-result-size' => '$1 ({{PLURAL:$2|1 çekuye|$2 çekuy}})',
+'search-result-size' => '$1 ({{PLURAL:$2|1 kelime|$2 kelimey}})',
 'search-result-category-size' => '{{PLURAL:$1|1 eza|$1 ezey}} ({{PLURAL:$2|1 kategoriya bınêne|$2 kategoriyê bınêni}}, {{PLURAL:$3|1 dosya|$3 dosyey}})',
 'search-redirect' => '(hetêcıraberdene $1)',
 'search-section' => '(qısımo $1)',
@@ -818,6 +828,9 @@ Gunê $1 {{PLURAL:$1|herfe|herfun}} ra senık bo.',
 'email' => 'E-poste',
 'prefs-help-realname' => 'Namo rastıkên serbesto.
 Sıma ke ney bıgurenê, karê sıma de no namdarêni dano.',
+'prefs-help-email' => 'Dayışê adresa e-postey keyfiyo, labelê seba eyarê parola lazıma, wexto ke şıma naye xo vira kerê.',
+'prefs-help-email-others' => 'Şıma şenê weçinê ke ê bini be yew gırey pela şımaya karberi ya zi pela werênayışi sera şıma de ebe e-poste irtıbat kewê.
+Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena.',
 'prefs-help-email-required' => 'Adresa emaili lazıma.',
 'prefs-signature' => 'İmza',
 'prefs-diffs' => 'Ferqi',
@@ -882,13 +895,14 @@ Sıma ke ney bıgurenê, karê sıma de no namdarêni dano.',
 'nchanges' => '$1 {{PLURAL:$1|tedil|tedili}}',
 'recentchanges' => 'Vurnaisê peyêni',
 'recentchanges-legend' => 'Alternatifê vurnaisunê peyênu',
-'recentchangestext' => 'Na weiyekerdena wiki de vurnaisê tewrpeyêne ke biyê ine teqib ke.',
+'recentchanges-summary' => 'Na weiyekerdena wiki de vurnaisê tewrpeyêne ke biyê ine teqib ke.',
 'recentchanges-feed-description' => 'Na weiyekerdena wiki de vurnaisê tewrpeyêne ke biyê ine teqib ke.',
 'recentchanges-label-newpage' => 'Nê vurnaişi pelê da newiye afernê.',
 'recentchanges-label-minor' => 'No zu vurnaiso qıckeko',
 'recentchanges-label-bot' => 'No vurnais terefê zu boti ra bi',
 'recentchanges-label-unpatrolled' => 'No vurnais hona çım ra ranêvêrdo',
 'rcnote' => "Cêr {{PLURAL:$1|'''1''' vurnaiso peyên|'''$1''' vurnaisê peyêni}} be {{PLURAL:$2|roza peyêne|'''$2''' rozunê peyênunê}} $5, $4 ra estê.",
+'rcnotefrom' => "Cêr de vurnayîşê esto ke '''$2''' ra raver  (heta '''$1''' mucnayiyo).",
 'rclistfrom' => '$1 ra hata nıka vurnaisunê newu bıasne',
 'rcshowhideminor' => '$1 vurnaisê qızkeki',
 'rcshowhidebots' => 'botê $1i',
@@ -911,6 +925,7 @@ Sıma ke ney bıgurenê, karê sıma de no namdarêni dano.',
 'recentchangeslinked' => 'Ney sero vurnaene',
 'recentchangeslinked-toolbox' => 'Ney sero vurnaene',
 'recentchangeslinked-title' => 'Heqa "$1"i de vurnais',
+'recentchangeslinked-noresult' => 'Pelanê ke link biye ey vurnayîşî çino.',
 'recentchangeslinked-summary' => "Lista cêrêne, pela bêlikerdiye rê (ya ki karberunê kategoriya bêlikerdiye rê) pelunê girêdaoğu de lista de vurnaisê peyênuna.
 [[Special:Watchlist|Lista sımawa şêrkedişi de]] peli be nusto '''qolınd''' bêli kerdê.",
 'recentchangeslinked-page' => 'Namê pele:',
@@ -973,6 +988,7 @@ Sıma ke ney bıgurenê, karê sıma de no namdarêni dano.',
 'filehist-missing' => 'Dosya vindbiyaiya',
 'imagelinks' => 'Gurenaisê dosya',
 'linkstoimage' => 'Ano {{PLURAL:$1|girê pele|$1 girê pelu}} be na dosya:',
+'nolinkstoimage' => 'Pelanê ser ena dosyayê link biyê çin o.',
 'sharedupload' => 'Na dosya depoê $1 rawa u beno ke procunê binu de gurenina.',
 'sharedupload-desc-here' => 'Beno ke depoê na dosya $1 ra be terefê procunê bınu ra gurenino.
 Cêr [$2 pela arezekerdena dosya de] arezekerdene asnina.',
@@ -1030,7 +1046,7 @@ Cêr [$2 pela arezekerdena dosya de] arezekerdene asnina.',
 'shortpages' => 'Pelê kılmi',
 'longpages' => 'Pelê dergi',
 'listusers' => 'Lista karberi',
-'usercreated' => 'roca $1 de $2 de vıraciya',
+'usercreated' => '$2 de $1 {{GENDER:$3|viraziya}}',
 'newpages' => 'Pelê newey',
 'newpages-username' => 'Namê karberi:',
 'ancientpages' => 'Pelê khanêri',
@@ -1206,7 +1222,7 @@ Tı şikina sewiya sevekiyaena na pele bıvurnê, hema yê nae sevekiyaena qedem
 # Contributions
 'contributions' => 'İştırakê karberi',
 'contributions-title' => '$1 de iştırakê karberi',
-'mycontris' => 'İştırakê mı',
+'mycontris' => 'İştıraxê mı',
 'contribsub2' => 'Serba $1 ($2)',
 'uctop' => '(ser)',
 'month' => 'Asme ra (u ravêr):',
@@ -1219,6 +1235,7 @@ Tı şikina sewiya sevekiyaena na pele bıvurnê, hema yê nae sevekiyaena qedem
 'sp-contributions-talk' => 'hurênais',
 'sp-contributions-search' => 'Ebe iştıraku cı feteliye',
 'sp-contributions-username' => 'IP ya ki karber:',
+'sp-contributions-toponly' => 'Teyna revizyonanê tewr peniyan bimocne',
 'sp-contributions-submit' => 'Cı feteliye',
 
 # What links here
@@ -1506,6 +1523,9 @@ Eke dosya de peydêna vuriyais biyo ki, beno ke taê melumati gorê vurnaisê ne
 'watchlisttools-edit' => 'Lista şêrkerdene bıvêne u vıraze',
 'watchlisttools-raw' => 'Lista şêrkerdena xame vıraze',
 
+# Core parser functions
+'duplicate-defaultsort' => '\'\'\'Teme:\'\'\' Tuşê default sort "$2" sero tuşê default sort "$1"î ra şino.',
+
 # Special:FilePath
 'filepath-page' => 'Dosya:',
 'filepath-submit' => 'So',
@@ -1534,6 +1554,16 @@ Eke dosya de peydêna vuriyais biyo ki, beno ke taê melumati gorê vurnaisê ne
 # Special:BlankPage
 'blankpage' => 'Pela thale',
 
+# External image whitelist
+'external_image_whitelist' => '  #no satır zey xo verde/raverde<pre>
+#parçeyê ifadeya rêzbiyayeyani (têna zerreyê ıney de // ) u çıtayo/çiyo zi mende cêr de têare kerê.
+#ney URL ya (hotlink) resmê teberi de hemcıta benî.
+#Ê yê ke hemcıt (eşleşmek-hemçift) biyê zey resımi asenî, eqsê hal de zi zey gıreyê resmi aseno.
+satır ê ke pê ney # # destpêkenê zey mışore/mıjore muamele vineno.
+#herfa gırd û qıci ferq nêkeno
+
+#parçeyê ifadeya rêzbiyayeyani bıerzê serê ney satıri. no satır zey xo verde/raverde </pre>',
+
 # Special:Tags
 'tag-filter' => 'Parzünê [[Special:Tags|etiket]]i:',
 
index 3565a67..6b5676e 100644 (file)
@@ -1324,7 +1324,7 @@ $3 كەلتىرىلگەن سەبەبى: ''$2''",
 # Recent changes
 'nchanges' => '$1 وزگەرىس',
 'recentchanges' => 'جۋىقتاعى وزگەرىستەر',
-'recentchangestext' => 'بۇل بەتتە وسى ۋىيكىيدەگى بولعان جۋىقتاعى وزگەرىستەر بايقالادى.',
+'recentchanges-summary' => 'بۇل بەتتە وسى ۋىيكىيدەگى بولعان جۋىقتاعى وزگەرىستەر بايقالادى.',
 'recentchanges-feed-description' => 'بۇل ارنامەنەن ۋىيكىيدەگى ەڭ سوڭعى وزگەرىستەر قاداعالانادى.',
 'rcnote' => "$3 كەزىنە دەيىن — تومەندە سوڭعى {{PLURAL:$2|كۇندەگى|'''$2''' كۇندەگى}}, سوڭعى '''$1''' وزگەرىس كورسەتىلەدى.",
 'rcnotefrom' => "'''$2''' كەزىنەن بەرى — تومەندە '''$1''' جەتكەنشە دەيىن وزگەرىستەر كورسەتىلەدى.",
index 15a4e51..9b9e1a1 100644 (file)
@@ -533,7 +533,7 @@ $messages = array(
 
 'errorpagetitle' => 'Қате',
 'returnto' => '$1 дегенге қайта келу.',
-'tagline' => '{{SITENAME}} жобасынан',
+'tagline' => '{{SITENAME}} жобасынан алынған мәлімет',
 'help' => 'Анықтама',
 'search' => 'Іздеу',
 'searchbutton' => 'Іздеу',
@@ -1521,7 +1521,7 @@ $3 келтірілген себебі: ''$2''",
 'nchanges' => '$1 өзгеріс',
 'recentchanges' => 'Жуықтағы өзгерістер',
 'recentchanges-legend' => 'Жуықтағы өзгерістер баптаулары',
-'recentchangestext' => 'Бұл бетте осы уикидегі болған жуықтағы өзгерістер байқалады.',
+'recentchanges-summary' => 'Бұл бетте осы уикидегі болған жуықтағы өзгерістер байқалады.',
 'recentchanges-feed-description' => 'Бұл арнаменен уикидегі ең соңғы өзгерістер қадағаланады.',
 'recentchanges-label-newpage' => 'Бұл өңдеме арқылы жаңа бет басталды',
 'recentchanges-label-minor' => 'Бұл шағын өңдеме',
index b981fe1..3068bda 100644 (file)
@@ -1287,7 +1287,7 @@ Eger bunı jetistirwdi tañdasañız, bul tüzetwiñizdiñ awtorlığın anıqta
 # Recent changes
 'nchanges' => '$1 özgeris',
 'recentchanges' => 'Jwıqtağı özgerister',
-'recentchangestext' => 'Bul bette osı wïkïdegi bolğan jwıqtağı özgerister baýqaladı.',
+'recentchanges-summary' => 'Bul bette osı wïkïdegi bolğan jwıqtağı özgerister baýqaladı.',
 'recentchanges-feed-description' => 'Bul arnamenen wïkïdegi eñ soñğı özgerister qadağalanadı.',
 'rcnote' => "$3 kezine deýin — tömende soñğı {{PLURAL:$2|kündegi|'''$2''' kündegi}}, soñğı '''$1''' özgeris körsetiledi.",
 'rcnotefrom' => "'''$2''' kezinen beri — tömende '''$1''' jetkenşe deýin özgerister körsetiledi.",
index a56ae7c..e7f6e67 100644 (file)
@@ -948,7 +948,7 @@ $2',
 'userinvalidcssjstitle' => "'''ប្រយ័ត្ន៖''' គ្មានសំបក \"\$1\"។ ចងចាំថា ទំព័រផ្ទាល់ខ្លួន .css និង .js ប្រើប្រាស់ ចំណងជើង ជាអក្សរតូច, ឧទាហរណ៍  {{ns:user}}:Foo/vector.css ត្រឹមត្រូវ, រីឯ {{ns:user}}:Foo/Vector.css មិនត្រឹមត្រូវ។",
 'updated' => '(បានបន្ទាន់សម័យ)',
 'note' => "'''ចំណាំ៖'''",
-'previewnote' => "'''á\9e\93á\9f\81á\9f\87á\9e\82á\9f\92á\9e\9aá\9e¶á\9e\93á\9f\8bá\9e\8fá\9f\82á\9e\87á\9e¶â\80\8bá\9e\80á\9e¶á\9e\9aá\9e\94á\9e\84á\9f\92á\9e á\9e¶á\9e\89á\9e\80á\9e¶á\9e\9aá\9e\98á\9e¾á\9e\9bá\9e\87á\9e¶á\9e\98á\9e»á\9e\93á\9e\94á\9f\89á\9e»á\9e\8eá\9f\92á\9e\8eá\9f\84á\9f\87á\9f\94 á\9e\94á\9f\86á\9e\9bá\9e¶á\9e\9fá\9f\8bá\9e\94á\9f\92á\9e\8aá\9e¼á\9e\9aâ\80\8bមិនទាន់បាន​រក្សាទុកទេ!'''",
+'previewnote' => "'''á\9e\9fá\9e¼á\9e\98á\9e\85á\9e¶á\9f\86á\9e\90á\9e¶á\9e\93á\9f\81á\9f\87á\9e\82á\9f\92á\9e\9aá\9e¶á\9e\93á\9f\8bá\9e\8fá\9f\82á\9e\87á\9e¶â\80\8bá\9e\80á\9e¶á\9e\9aá\9e\94á\9e\84á\9f\92á\9e á\9e¶á\9e\89á\9e\80á\9e¶á\9e\9aá\9e\98á\9e¾á\9e\9bá\9e\87á\9e¶á\9e\98á\9e»á\9e\93á\9e\94á\9f\89á\9e»á\9e\8eá\9f\92á\9e\8eá\9f\84á\9f\87á\9f\94 á\9e\94á\9f\86á\9e\9bá\9e¶á\9e\9fá\9f\8bá\9e\94á\9f\92á\9e\8aá\9e¼á\9e\9aâ\80\8bá\9e\9aá\9e\94á\9e\9fá\9f\8bá\9e¢á\9f\92á\9e\93á\9e\80មិនទាន់បាន​រក្សាទុកទេ!'''",
 'previewconflict' => 'ការមើលមុននេះយោងតាមអត្ថបទក្នុងប្រអប់កែប្រែខាងលើ។ ទំព័រអត្ថបទនឹងបង្ហាញចេញបែបនេះប្រសិនបើអ្នកជ្រើសរើសរក្សាទុក។',
 'session_fail_preview' => "'''សូមអភ័យទោស! យើងមិនអាចរក្សាទុកការកែប្រែរបស់អ្នកបានទេ ដោយសារបាត់ទិន្នន័យវេនការងារ។
 
@@ -1555,7 +1555,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|បំលាស់ប្ដូរ|បំលាស់ប្ដូរ}}',
 'recentchanges' => 'បំលាស់ប្ដូរ​ថ្មីៗ',
 'recentchanges-legend' => 'ជម្រើសនានា​ សម្រាប់ការបង្ហាញបន្លាស់ប្ដូរថ្មីៗ',
-'recentchangestext' => 'តាមដានរាល់បន្លាស់ប្ដូររថ្មីៗបំផុត ចំពោះវិគីនៅលើទំព័រនេះ។',
+'recentchanges-summary' => 'តាមដានរាល់បំលាស់ប្ដូរថ្មីៗបំផុតចំពោះវិគីនៅលើទំព័រនេះ។',
 'recentchanges-feed-description' => 'តាមដាន​បន្លាស់ប្ដូរថ្មីៗ​បំផុត​នៃ​វិគី​នេះក្នុង​មតិព័ត៌មាន​នេះ​។',
 'recentchanges-label-newpage' => 'ការកែប្រែនេះបានបង្កើតទំព័រថ្មីមួយ',
 'recentchanges-label-minor' => 'នេះជាការកែប្រែតិចតួចមួយប៉ុណ្ណោះ',
index 1cf1258..f1c641d 100644 (file)
@@ -1029,7 +1029,7 @@ $2',
 'nchanges' => '$1 {{PLURAL:$1|ಬದಲಾವಣೆ|ಬದಲಾವಣೆಗಳು}}',
 'recentchanges' => 'ಇತ್ತೀಚೆಗಿನ ಬದಲಾವಣೆಗಳು',
 'recentchanges-legend' => 'ಇತ್ತೀಚಿನ ಬದಲಾವಣೆಗಳ ಆಯ್ಕೆಗಳು',
-'recentchangestext' => 'ವಿಕಿಗೆ ಮಾಡಲ್ಪಟ್ಟ ಇತ್ತೀಚಿನ ಬದಲಾವಣೆಗಳನ್ನು ಈ ಪುಟದಲ್ಲಿ ನೀವು ಕಾಣಬಹುದು.',
+'recentchanges-summary' => 'ವಿಕಿಗೆ ಮಾಡಲ್ಪಟ್ಟ ಇತ್ತೀಚಿನ ಬದಲಾವಣೆಗಳನ್ನು ಈ ಪುಟದಲ್ಲಿ ನೀವು ಕಾಣಬಹುದು.',
 'recentchanges-feed-description' => 'ವಿಕಿಯಲ್ಲಿ ಆಗುವ ಹೊಸ ಬದಲಾವಣೆಗಳ ಮೇಲೆ ನಿಗ ಇಡಲು ಉಪಯೋಗವಾಗುವ ಫೀಡು.',
 'recentchanges-label-minor' => 'ಇದು ಚುಟುಕಾದ ಬದಲಾವಣೆ',
 'rcnote' => "$5, $4 ವರೆಗೆ ಹಿಂದಿನ {{PLURAL:$2|ದಿನದಲ್ಲಿ|'''$2''' ದಿನಗಳಲ್ಲಿ}} ಮಾಡಲಾಗಿರುವ {{PLURAL:$1|'''೧''' ಬದಲಾವಣೆ|'''$1''' ಬದಲಾವಣೆಗಳು}} ಕೆಳಗಿವೆ.",
index 5a05292..c33c3da 100644 (file)
@@ -24,6 +24,7 @@
  * @author Kaganer
  * @author Klutzy
  * @author Kwj2772
+ * @author Mintz0223
  * @author Pi.C.Noizecehx
  * @author PuzzletChung
  * @author TheAlpha for knowledge
@@ -31,6 +32,7 @@
  * @author Yknok29
  * @author לערי ריינהארט
  * @author 관인생략
+ * @author 아라
  */
 
 $namespaceNames = array(
@@ -64,12 +66,14 @@ $specialPageAliases = array(
        'Allmessages'               => array( '모든메시지' ),
        'Allpages'                  => array( '모든문서' ),
        'Ancientpages'              => array( '오래된문서' ),
+       'Badtitle'                  => array( '잘못된이름', '인식불가이름', '잘못된제목', '인식불가제목' ),
        'Blankpage'                 => array( '빈문서' ),
        'Block'                     => array( '차단' ),
        'Blockme'                   => array( '자가차단' ),
        'Booksources'               => array( '책찾기' ),
        'BrokenRedirects'           => array( '끊긴넘겨주기' ),
        'Categories'                => array( '분류' ),
+       'ChangeEmail'               => array( '이메일변경', '이메일바꾸기' ),
        'ChangePassword'            => array( '비밀번호변경', '비밀번호바꾸기' ),
        'ComparePages'              => array( '문서비교' ),
        'Confirmemail'              => array( '이메일인증' ),
@@ -79,6 +83,7 @@ $specialPageAliases = array(
        'DeletedContributions'      => array( '삭제된기여' ),
        'Disambiguations'           => array( '동음이의', '동음이의문서' ),
        'DoubleRedirects'           => array( '이중넘겨주기' ),
+       'EditWatchlist'             => array( '주시문서목록편집' ),
        'Emailuser'                 => array( '이메일보내기' ),
        'Export'                    => array( '내보내기' ),
        'Fewestrevisions'           => array( '역사짧은문서' ),
@@ -86,6 +91,7 @@ $specialPageAliases = array(
        'Filepath'                  => array( '파일경로', '그림경로' ),
        'Import'                    => array( '가져오기' ),
        'Invalidateemail'           => array( '이메일인증취소', '이메일인증해제' ),
+       'JavaScriptTest'            => array( '자바스크립트시험' ),
        'BlockList'                 => array( '차단된사용자', '차단목록' ),
        'LinkSearch'                => array( '외부링크찾기', '외부링크검색' ),
        'Listadmins'                => array( '관리자', '관리자목록' ),
@@ -114,6 +120,7 @@ $specialPageAliases = array(
        'Newimages'                 => array( '새파일', '새그림' ),
        'Newpages'                  => array( '새문서' ),
        'PasswordReset'             => array( '암호변경' ),
+       'PermanentLink'             => array( '고유링크', '영구링크' ),
        'Popularpages'              => array( '인기있는문서' ),
        'Preferences'               => array( '환경설정' ),
        'Prefixindex'               => array( '접두어찾기' ),
@@ -124,6 +131,7 @@ $specialPageAliases = array(
        'Recentchanges'             => array( '최근바뀜' ),
        'Recentchangeslinked'       => array( '링크최근바뀜' ),
        'Revisiondelete'            => array( '특정판삭제' ),
+       'RevisionMove'              => array( '특정판이동' ),
        'Search'                    => array( '찾기', '검색' ),
        'Shortpages'                => array( '짧은문서' ),
        'Specialpages'              => array( '특수문서', '특수기능' ),
@@ -141,6 +149,7 @@ $specialPageAliases = array(
        'Unusedtemplates'           => array( '안쓰는틀' ),
        'Unwatchedpages'            => array( '주시안되는문서' ),
        'Upload'                    => array( '파일올리기', '그림올리기' ),
+       'UploadStash'               => array( '올린비공개파일' ),
        'Userlogin'                 => array( '로그인' ),
        'Userlogout'                => array( '로그아웃' ),
        'Userrights'                => array( '권한조정' ),
@@ -235,6 +244,7 @@ $magicWords = array(
        'nse'                     => array( '0', '이름E:', '이름공간E:', 'NSE:' ),
        'localurl'                => array( '0', '지역주소:', 'LOCALURL:' ),
        'localurle'               => array( '0', '지역주소E:', 'LOCALURLE:' ),
+       'articlepath'             => array( '0', '항목경로', '기사경로', 'ARTICLEPATH' ),
        'server'                  => array( '0', '서버', 'SERVER' ),
        'servername'              => array( '0', '서버이름', 'SERVERNAME' ),
        'scriptpath'              => array( '0', '스크립트경로', 'SCRIPTPATH' ),
@@ -345,9 +355,11 @@ $messages = array(
 'tog-watchlisthideliu' => '주시문서 목록에서 로그인한 사용자의 편집을 숨기기',
 'tog-watchlisthideanons' => '주시문서 목록에서 비등록 사용자의 편집을 숨기기',
 'tog-watchlisthidepatrolled' => '주시문서 목록에서 검토된 편집을 숨기기',
+'tog-nolangconversion' => '변형 변환을 비활성화',
 'tog-ccmeonemails' => '이메일을 보낼 때 내 이메일로 복사본을 보내기',
 'tog-diffonly' => '편집 차이를 비교할 때 문서 내용을 보지 않기',
 'tog-showhiddencats' => '숨은 분류 보기',
+'tog-noconvertlink' => '링크 제목 변환을 비활성화',
 'tog-norollbackdiff' => '되돌리기 후 차이를 보이지 않기',
 
 'underline-always' => '항상',
@@ -421,11 +433,11 @@ $messages = array(
 'category-empty' => '이 분류에 속하는 문서나 자료가 없습니다.',
 'hidden-categories' => '{{PLURAL:$1|숨은 분류}}',
 'hidden-category-category' => '숨은 분류',
-'category-subcat-count' => '다음은 이 분류에 속하는 하위 분류 {{PLURAL:$2|$1 개|$2 개 가운데 $1 개}} 입니다.',
+'category-subcat-count' => '{{PLURAL:$2|이 분류에는 하위 분류 1 개만이 속해 있습니다.|다음은 이 분류에 속하는 하위 분류 $2 개 가운데 $1 개입니다.}}',
 'category-subcat-count-limited' => '이 분류에 하위분류가 $1개 있습니다.',
-'category-article-count' => '다음은 이 분류에 속하는 문서 {{PLURAL:$2|$1 개|$2 개 가운데 $1 개}} 입니다.',
+'category-article-count' => '{{PLURAL:$2|이 분류에는 문서 1 개만이 속해 있습니다.|다음은 이 분류에 속하는 문서 $2 개 가운데 $1 개입니다.}}',
 'category-article-count-limited' => '이 분류에 문서가 $1개 있습니다.',
-'category-file-count' => '다음은 이 분류에 속하는 파일 {{PLURAL:$2|$1 개|$2 개 가운데 $1 개}} 입니다.',
+'category-file-count' => '{{PLURAL:$2|이 분류에는 파일 1 개만이 속해 있습니다.|다음은 이 분류에 속하는 파일 $2 개 가운데 $1 개입니다.}}',
 'category-file-count-limited' => '이 분류에 파일이 $1개 있습니다.',
 'listingcontinuesabbrev' => ' (계속)',
 'index-category' => '색인된 문서',
@@ -686,6 +698,8 @@ $2',
 'filereadonlyerror' => '‘$2’ 파일 저장소가 읽기 전용이기 때문에 ‘$1’ 파일을 변경할 수 없습니다.
 
 저장소 관리자가 파일 저장소를 잠근 이유에 대해 "\'\'$3\'\'"이라는 설명을 남겼습니다.',
+'invalidtitle-knownnamespace' => '제목 오류: 이름공간 "$2"와 텍스트 "$3"',
+'invalidtitle-unknownnamespace' => '제목 오류: 알 수 없는 이름공간 번호 "$1"과, 텍스트 "$2"',
 
 # Virus scanner
 'virus-badscanner' => "잘못된 설정: 알 수 없는 바이러스 검사기: ''$1''",
@@ -714,7 +728,7 @@ $2',
 'userloginnocreate' => '로그인',
 'logout' => '로그아웃',
 'userlogout' => '로그아웃',
-'notloggedin' => '로그인하고 있지 않음',
+'notloggedin' => '로그인하지 않음',
 'nologin' => '계정이 없나요? $1.',
 'nologinlink' => '계정을 만들 수 있습니다',
 'createaccount' => '계정 만들기',
@@ -791,6 +805,7 @@ $2',
 # Change password dialog
 'resetpass' => '비밀번호 바꾸기',
 'resetpass_announce' => '이메일로 받은 임시 비밀번호로 로그인했습니다. 로그인을 마치려면 새 비밀번호를 여기에서 설정해야 합니다:',
+'resetpass_text' => '<!-- 여기에 텍스트를 더하세요 -->',
 'resetpass_header' => '비밀번호 변경',
 'oldpassword' => '이전 비밀번호:',
 'newpassword' => '새 비밀번호:',
@@ -1049,6 +1064,8 @@ $2개 보다 적게 써야 하지만 지금은 $1개를 쓰고 있습니다.",
 'node-count-exceeded-warning' => '페이지가 노드 수를 초과하였습니다.',
 'expansion-depth-exceeded-category' => '페이지가 확장 깊이를 초과하였습니다.',
 'expansion-depth-exceeded-warning' => '페이지가 확장 깊이를 초과하였습니다',
+'parser-unstrip-loop-warning' => '스트립하지 않는 반복이 감지됨',
+'parser-unstrip-recursion-limit' => '스트립하지 않는 재귀 한도가 초과됨 ($1)',
 
 # "Undo" feature
 'undo-success' => '이 편집을 되돌리려면 아래의 변경되는 사항을 확인한 후 저장해주세요.',
@@ -1226,7 +1243,9 @@ $1",
 'mergelogpagetext' => '다음은 한 문서의 역사를 다른 문서의 역사와 합친 최근 기록입니다.',
 
 # Diffs
-'history-title' => '‘$1’ 문서의 변경 내력',
+'history-title' => '"$1"  문서의 변경 내력',
+'difference-title' => '"$1"의 두 판 사이의 차이',
+'difference-title-multipage' => '문서 "$1"과 "$2" 간의 차이',
 'difference-multipage' => '(문서간의 차이)',
 'lineno' => '$1번째 줄:',
 'compareselectedversions' => '선택된 판들을 비교하기',
@@ -1321,6 +1340,7 @@ $1",
 'prefs-beta' => '베타 기능',
 'prefs-datetime' => '날짜와 시각',
 'prefs-labs' => '실험 중인 기능',
+'prefs-user-pages' => '사용자 문서',
 'prefs-personal' => '사용자 정보',
 'prefs-rc' => '최근 바뀜',
 'prefs-watchlist' => '주시문서 목록',
@@ -1533,7 +1553,7 @@ $1",
 'right-siteadmin' => '데이터베이스를 잠그거나 잠금 해제',
 'right-override-export-depth' => '5단계로 링크된 문서를 포함하여 문서를 내보내기',
 'right-sendemail' => '다른 사용자에게 이메일 보내기',
-'right-passwordreset' => '호 재설정 이메일을 보기',
+'right-passwordreset' => '비밀번호 재설정 이메일을 보기',
 
 # User rights log
 'rightslog' => '사용자 권한 기록',
@@ -1583,7 +1603,7 @@ $1",
 'nchanges' => '$1개 바뀜',
 'recentchanges' => '최근 바뀜',
 'recentchanges-legend' => '최근 바뀜 설정',
-'recentchangestext' => '위키의 최근 바뀜 내역이 나와 있습니다.',
+'recentchanges-summary' => '위키의 최근 바뀜 내역이 나와 있습니다.',
 'recentchanges-feed-description' => '위키의 최근 바뀜',
 'recentchanges-label-newpage' => '새로운 문서',
 'recentchanges-label-minor' => '사소한 편집',
@@ -1738,7 +1758,7 @@ $1",
 'filename-bad-prefix' => '올리려고 하는 파일 이름이 \'\'\'"$1"\'\'\'(으)로 시작합니다.
 "$1"은(는) 디지털 사진기가 자동으로 붙이는 의미없는 이름입니다.
 파일에 대해 알기 쉬운 이름을 골라주세요.',
-'filename-prefix-blacklist' => ' #<!-- ì\9d´ ì¤\84ì\9d\80 ê·¸ë\8c\80ë¡\9c ë\91\90ì\8b­ì\8b\9cì\98¤. --> <pre>
+'filename-prefix-blacklist' => ' #<!-- ì\9d´ ì¤\84ì\9d\80 ê·¸ë\8c\80ë¡\9c ë\91\90ì\84¸ì\9a\94 --> <pre>
 # 문법은 다음과 같습니다:
 #   * "#"에서 그 줄의 끝까지는 코멘트입니다.
 #   * 비어 있지 않은 줄은 디지털 카메라에서 자동적으로 부여하는 파일 접두어입니다.
@@ -1751,7 +1771,7 @@ IMG # 일반
 JD # 제놉틱
 MGP # 펜탁스
 PICT # 기타
- #</pre> <!-- ì\9d´ ì¤\84ì\9d\80 ê·¸ë\8c\80ë¡\9c ë\91\90ì\8b­ì\8b\9cì\98¤. -->',
+ #</pre> <!-- ì\9d´ ì¤\84ì\9d\80 ê·¸ë\8c\80ë¡\9c ë\91\90ì\84¸ì\9a\94 -->',
 'upload-success-subj' => '올리기 성공',
 'upload-success-msg' => '파일을 [$2]에서 성공적으로 올렸습니다. 당신이 올린 파일이 여기 있습니다: [[:{{ns:file}}:$1]]',
 'upload-failure-subj' => '올리기 실패',
@@ -1788,14 +1808,15 @@ $1',
 'backend-fail-writetemp' => '임시 파일을 쓸 수 없습니다.',
 'backend-fail-closetemp' => '임시 파일을 닫을 수 없습니다.',
 'backend-fail-read' => '$1 파일을 읽을 수 없습니다.',
-'backend-fail-create' => '$1 í\8c\8cì\9d¼ì\9d\84 ì\93¸ ì\88\98 ì\97\86습니다.',
-'backend-fail-maxsize' => '$2{{PLURAL:$2|ë°\94ì\9d´í\8a¸}}ë³´ë\8b¤ ì»¤ì\84\9c $1 í\8c\8cì\9d¼ì\9d\84 ì\83\9dì\84±하지 못했습니다.',
+'backend-fail-create' => '$1 í\8c\8cì\9d¼ì\9d\84 ì \80ì\9e¥í\95\98ì§\80 ëª»í\96\88습니다.',
+'backend-fail-maxsize' => '$2{{PLURAL:$2|ë°\94ì\9d´í\8a¸}}ë³´ë\8b¤ ì»¤ì\84\9c $1 í\8c\8cì\9d¼ì\9d\84 ì \80ì\9e¥하지 못했습니다.',
 'backend-fail-readonly' => '‘$1’ 저장 백엔드가 읽기 전용입니다. 자세한 이유는 다음과 같습니다: “$2”',
 'backend-fail-synced' => '파일 "$1"은 내부 저장 백엔드에 불안정한 상태로 있습니다.',
 'backend-fail-connect' => "'$1' 저장 백엔드에 접속하지 못했습니다.",
 'backend-fail-internal' => '"$1" 저장 백엔드에 알 수 없는 오류가 발생했습니다.',
 'backend-fail-contenttype' => '"$1"에 저장하기 위한 파일의 내용 유형을 판별하지 못했습니다.',
 'backend-fail-batchsize' => '저장 백엔드에서 $1개의 파일 {{PLURAL:$1|작업}}이 쌓여 있습니다; 한계는 $2개입니다.',
+'backend-fail-usable' => '파일 저장 권한이 없거나 저장 위치가 빠졌기 때문에 $1 파일을 저장할 수 없습니다.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => '저장소 백엔드 ‘$1’에 대한 저널 데이터베이스에 연결할 수 없습니다.',
@@ -1889,7 +1910,7 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 'filehist' => '파일 역사',
 'filehist-help' => '날짜/시간 링크를 클릭하면 해당 시간의 파일을 볼 수 있습니다.',
 'filehist-deleteall' => '모두 삭제',
-'filehist-deleteone' => 'ì§\80ì\9a°ê¸°',
+'filehist-deleteone' => 'ì\82­ì \9c',
 'filehist-revert' => '되돌리기',
 'filehist-current' => '최신',
 'filehist-datetime' => '날짜/시간',
@@ -1925,6 +1946,7 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 'shared-repo-from' => '($1)',
 'shared-repo' => '공용 저장소',
 'shared-repo-name-wikimediacommons' => '위키미디어 공용',
+'filepage.css' => '/* 이 CSS 설정은 파일 설명 페이지에 포함되며, 또한 해외 클라이언트 위키에 포함됩니다 */',
 
 # File reversion
 'filerevert' => '$1 되돌리기',
@@ -2117,7 +2139,7 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 
 # Special:AllPages
 'allpages' => '모든 문서 목록',
-'alphaindexline' => '$1에서 $2까지',
+'alphaindexline' => '$1부터 $2까지',
 'nextpage' => '다음 문서 ($1)',
 'prevpage' => '이전 문서 ($1)',
 'allpagesfrom' => '다음으로 시작하는 문서 보기:',
@@ -2185,7 +2207,7 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 # Special:ListGroupRights
 'listgrouprights' => '사용자 권한 목록',
 'listgrouprights-summary' => '다음은 이 위키에서 설정된 사용자 권한 그룹의 목록입니다.
-각각의 권한에 대해서는 [[{{MediaWiki:Listgrouprights-helppage}}|이곳]]을 참조하십시오.',
+각각의 권한에 대해서는 [[{{MediaWiki:Listgrouprights-helppage}}|이곳]]을 참고하세요.',
 'listgrouprights-key' => '* <span class="listgrouprights-granted">부여된 권한</span>
 * <span class="listgrouprights-revoked">해제된 권한</span>',
 'listgrouprights-group' => '그룹',
@@ -2235,6 +2257,7 @@ URL이 맞고 해당 웹사이트가 작동하는지 확인해주세요.',
 # User Messenger
 'usermessage-summary' => '시스템 메시지 남기기',
 'usermessage-editor' => '시스템 메신저',
+'usermessage-template' => 'MediaWiki:UserMessage',
 
 # Watchlist
 'watchlist' => '주시문서 목록',
@@ -2513,6 +2536,7 @@ $1',
 'sp-contributions-username' => 'IP 주소 혹은 계정 이름:',
 'sp-contributions-toponly' => '최신판만 보기',
 'sp-contributions-submit' => '찾기',
+'sp-contributions-explain' => '',
 
 # What links here
 'whatlinkshere' => '여기를 가리키는 문서',
@@ -2965,16 +2989,39 @@ $1 사용자가 차단된 이유는 다음과 같습니다: "$2"',
 'tooltip-summary' => '짧은 편집 요약을 적어주세요',
 
 # Stylesheets
-'common.css' => '/** 이 CSS 설정은 모든 스킨에 동일하게 적용됩니다 */',
+'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 설정은 출력/인쇄 화면에 적용됩니다. */',
+'print.css' => '/* 이 CSS 설정은 출력/인쇄 화면에 적용됩니다 */',
+'handheld.css' => '/* 이 CSS 설정은 $wgHandheldStyle에 설정한 스킨을 기반으로 한 휴대 기기에 적용됩니다 */',
+'noscript.css' => '/* 이 CSS 설정은 자바스크립트를 비활성화한 사용자에 적용됩니다 */',
+'group-autoconfirmed.css' => '/* 이 CSS 설정은 자동 인증된 사용자에만 적용됩니다 */',
+'group-bot.css' => '/* 이 CSS 설정은 봇에만 적용됩니다 */',
+'group-sysop.css' => '/* 이 CSS 설정은 관리자에만 적용됩니다 */',
+'group-bureaucrat.css' => '/* 이 CSS 설정은 사무관에만 적용됩니다 */',
 
 # Scripts
 'common.js' => '/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */',
-'monobook.js' => '/* 이 자바스크립트 설정은 모노북 스킨을 사용하는 사용자에게 적용됩니다. */',
-'vector.js' => '/* 이 자바스크립트 설정은 벡터 스킨을 사용하는 사용자에게 적용됩니다. */',
+'standard.js' => '/* 이 자바스크립트 설정은 스탠다드 스킨을 사용하는 사용자에게 적용됩니다 */',
+'nostalgia.js' => '/* 이 자바스크립트 설정은 노스텔지아 스킨을 사용하는 사용자에게 적용됩니다 */',
+'cologneblue.js' => '/* 이 자바스크립트 설정은 쾰른 블루 스킨을 사용하는 사용자에게 적용됩니다 */',
+'monobook.js' => '/* 이 자바스크립트 설정은 모노북 스킨을 사용하는 사용자에게 적용됩니다 */',
+'myskin.js' => '/* 이 자바스크립트 설정은 마이스킨 스킨을 사용하는 사용자에게 적용됩니다 */',
+'chick.js' => '/* 이 자바스크립트 설정은 치크 스킨을 사용하는 사용자에게 적용됩니다 */',
+'simple.js' => '/* 이 자바스크립트 설정은 심플 스킨을 사용하는 사용자에게 적용됩니다 */',
+'modern.js' => '/* 이 자바스크립트 설정은 모던 스킨을 사용하는 사용자에게 적용됩니다 */',
+'vector.js' => '/* 이 자바스크립트 설정은 벡터 스킨을 사용하는 사용자에게 적용됩니다 */',
+'group-autoconfirmed.js' => '/* 이 자바스크립트 설정은 자동 인증된 사용자에만 적용됩니다 */',
+'group-bot.js' => '/* 이 자바스크립트 설정은 봇에만 적용됩니다 */',
+'group-sysop.js' => '/* 이 자바스크립트 설정은 관리자에만 적용됩니다 */',
+'group-bureaucrat.js' => '/* 이 자바스크립트 설정은 사무관에만 적용됩니다 */',
 
 # Metadata
 'notacceptable' => '클라이언트에서 인식 가능한 출력 포맷이 없습니다.',
@@ -3314,6 +3361,10 @@ Variants for Chinese language
 'exif-compression-2' => 'CCITT 그룹-3 1차원 수정 허프먼 반복 길이 부호화',
 'exif-compression-3' => 'CCITT 그룹-3 팩스 인코딩',
 'exif-compression-4' => 'CCITT 그룹-4 팩스 인코딩',
+'exif-compression-6' => 'JPEG (오래됨)',
+'exif-compression-8' => '압축 (Adobe)',
+'exif-compression-32773' => 'PackBits (매킨토시 RLE)',
+'exif-compression-32946' => '압축 (PKZIP)',
 
 'exif-copyrighted-true' => '저작권의 보호를 받음',
 'exif-copyrighted-false' => '퍼블릭 도메인',
@@ -3631,7 +3682,7 @@ $5
 
 # Auto-summaries
 'autosumm-blank' => '문서를 비움',
-'autosumm-replace' => '문서 내용을 ‘$1’으로 교체',
+'autosumm-replace' => '문서 내용을 ‘$1’으로 바꿈',
 'autoredircomment' => '[[$1]] 문서로 넘겨주기',
 'autosumm-new' => '새 문서: $1',
 
@@ -3696,7 +3747,7 @@ $5
 'version-hook-name' => '훅 이름',
 'version-hook-subscribedby' => '훅이 사용된 위치',
 'version-version' => '(버전 $1)',
-'version-license' => 'ë\9d¼ì\9d´ì\84¼스',
+'version-license' => 'ë\9d¼ì\9d´ì\84 스',
 'version-poweredby-credits' => "이 위키는 '''[//www.mediawiki.org/ MediaWiki]'''를 기반으로 작동합니다. Copyright © 2001-$1 $2.",
 'version-poweredby-others' => '그 외 다른 개발자',
 'version-license-info' => '미디어위키는 자유 소프트웨어입니다. 당신은 자유 소프트웨어 재단이 발표한 GNU 일반 공중 사용 허가서 버전 2나 그 이후 버전에 따라 이 파일을 재배포하거나 수정할 수 있습니다.
@@ -3710,6 +3761,8 @@ $5
 'version-entrypoints' => 'URL 진입점',
 'version-entrypoints-header-entrypoint' => '진입점',
 'version-entrypoints-header-url' => 'URL',
+'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath 문서 경로]',
+'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath 스크립트 경로]',
 
 # Special:FilePath
 'filepath' => '파일 경로',
@@ -3841,7 +3894,7 @@ $5
 'logentry-newusers-create' => '$1 사용자가 계정을 생성했습니다.',
 'logentry-newusers-create2' => '$1 사용자가 $3 계정을 생성했습니다.',
 'logentry-newusers-autocreate' => '$1 계정이 자동적으로 생성되었습니다.',
-'newuserlog-byemail' => '이메일로 보낸 호',
+'newuserlog-byemail' => '이메일로 보낸 비밀번호',
 
 # Feedback
 'feedback-bugornote' => '기술적 문제를 구체적으로 설명할 준비가 되었다면 [$1 버그를 신고]해 주세요.
index 0ce1c28..84c6b01 100644 (file)
@@ -174,7 +174,7 @@ $messages = array(
 'cancel' => 'Ызына алыу',
 'moredotdotdot' => 'Баргъаны…',
 'mypage' => 'Энчи бетим',
-'mytalk' => 'Ð\9cени Ñ\81юзюу бетим',
+'mytalk' => 'Сюзюу бетим',
 'anontalk' => 'Бу IP-адресге сюзюу бет',
 'navigation' => 'Навигация',
 'and' => '&#32;эм',
@@ -440,7 +440,7 @@ $2',
 'securelogin-stick-https' => 'Чыкъгъандан сора да HTTPS бла байламлы къой',
 'yourdomainname' => 'Сизни доменигиз:',
 'externaldberror' => 'Тыш информация базаны болушлугъу бла аутентификация, халатлы болду, неда тыш аккаунтугъузну тюрлендирирге хакъларагъыз джетмейди.',
-'login' => 'Кир',
+'login' => 'Кириу',
 'nav-login-createaccount' => 'Кириу / регистрация этиу',
 'loginprompt' => '{{SITENAME}} сайтха кирир ючюн «cookies» эркин этерге керексиз.',
 'userlogin' => 'Кир / регистрация эт',
@@ -452,7 +452,8 @@ $2',
 'nologinlink' => 'Тергеу джазыу (аккаунт) къурагъыз',
 'createaccount' => 'Джангы къошулуучуну регистрация эт',
 'gotaccount' => 'Тергеу джазыуугъуз (аккаунтугъуз) энди бармыды? $1.',
-'gotaccountlink' => 'Кир',
+'gotaccountlink' => 'Кириу',
+'userlogin-resetlink' => 'Кирир ючюн билгилеригизни унутхан этгенмисиз?',
 'createaccountmail' => 'e-mail бла',
 'createaccountreason' => 'Чурум:',
 'badretype' => 'Джазгъан паролларыгъыз бир-бирине келишмейдиле.',
@@ -475,7 +476,7 @@ $2',
 'wrongpasswordempty' => 'Пароль джазылмай къалгъанды. Джангыдан кёрюгюз.',
 'passwordtooshort' => '$1 {{PLURAL:$1|символдан}} аз болмазгъа керекди пароль.',
 'password-name-match' => 'Пароль къошулуучу атдан башха тюрлю болургъа керекди.',
-'mailmypassword' => 'Ð\94жангÑ\8b Ð¿Ð°Ñ\80олÑ\8c Ð´Ð¶Ð¸Ð±ÐµÑ\80 E-mail Ð±Ð»Ð°',
+'mailmypassword' => 'Ð\9cеннге e-mail Ð±Ð»Ð° Ð´Ð¶Ð°Ð½Ð³Ñ\8b Ð¿Ð°Ñ\80олÑ\8c Ð´Ð¶Ð¸Ð±ÐµÑ\80',
 'passwordremindertitle' => '{{SITENAME}}  къошулуучугъа джангы болджаллы пароль',
 'passwordremindertext' => 'Ким эседа (сиз болургъа боллукъсуз, IP-адрес: $1) {{SITENAME}} ($4) къошулуучугъа джангы пароль къураргъа соргъанды. $2 къошулуучугъа джангы пароль: $3. Сорууну джиберген сиз болгъан эсегиз, системагъа кирирге эм паролну алышдырыргъа тыйычлыды. Джангы паролну $5 {{PLURAL:$5|кюнню}} ичинде амалы боллукъду.
 
@@ -533,7 +534,7 @@ $2',
 # Special:PasswordReset
 'passwordreset' => 'Паролну атыу',
 'passwordreset-text' => 'Электрон джазма бла тергеу джазыуугъузну (аккаунтугъузну) параметрлерини юсюнден билдириу алыр ючюн бу форманы толтуругъуз.',
-'passwordreset-legend' => 'Ð\9fаÑ\80олнÑ\83 Ð¸Ð¹',
+'passwordreset-legend' => 'Ð\9fаÑ\80олнÑ\83 Ð°Ñ\82Ñ\8bÑ\83',
 'passwordreset-disabled' => 'Бу викиде паролла атыу амал джукъланыбды.',
 'passwordreset-pretext' => '{{PLURAL:$1||Тюбюрекде берилген билгиледен бирин джазыгъыз}}',
 'passwordreset-username' => 'Къошулуучуну аты:',
@@ -619,7 +620,7 @@ $2',
 'nosuchsectiontext' => 'Сиз болмагъан бетни тюрлендирирге кюрешесиз.
 Бу бетге къарагъан заманыгъызда, кетерилирге неда башха джерге кёчюрюлюрге боллукъду.',
 'loginreqtitle' => 'Кирирге керекди',
-'loginreqlink' => 'Кир',
+'loginreqlink' => 'Кириу',
 'loginreqpagetext' => 'Сиз башха бетлеге къарар ючюн $1 керексиз.',
 'accmailtitle' => 'Пароль джиберилди',
 'accmailtext' => "[[User talk:$1|$1]] къошулуучугъа къуралгъан пароль $2 адресине джиберилгенди.
@@ -661,6 +662,7 @@ $2',
 'note' => "'''Белги:'''",
 'previewnote' => "'''Бу къуру ал къарауду.'''
 Сиз этген тюрлениуле алкъын сакъланмагъандыла!",
+'continue-editing' => 'Тюрлендириуню бардырыгъыз',
 'previewconflict' => 'Бу ал къарау, башындагъы тюрлендириу терезеде текстни сакъланнганча кёргюзеди.',
 'session_fail_preview' => "'''Джарсыугъа, сессияны идентификаторуну тас этгени себебли, сервер сизни тюрлендириуюгюзни сакълаталмагъанды.
 Энтдада кёрюгюз.
@@ -890,7 +892,7 @@ $1",
 ** Орунсуз энчи билгиле',
 'revdelete-otherreason' => 'Башха/къошакъ чурум:',
 'revdelete-reasonotherlist' => 'Башха чурум',
-'revdelete-edit-reasonlist' => 'ЧÑ\83Ñ\80Ñ\83мланÑ\8b Ñ\81пиÑ\81огÑ\83н тюрлендир',
+'revdelete-edit-reasonlist' => 'ЧÑ\83Ñ\80Ñ\83мланÑ\8b Ñ\82измеÑ\81ин тюрлендир',
 'revdelete-offender' => 'Бетни версиясыны автору:',
 
 # Suppression log
@@ -930,7 +932,7 @@ $1",
 'mergelogpagetext' => 'Тюбюрек бетлени тарихлерини ахыр бирлешдириулери берилгенди.',
 
 # Diffs
-'history-title' => '«$1» бетни тюрлениу тарихи',
+'history-title' => '$1 — тюрлениу тарихи',
 'difference-multipage' => '(Бетле арасында башхалыкъ)',
 'lineno' => 'Тизгин $1:',
 'compareselectedversions' => 'Сайланнган версияланы тенглешдириу',
@@ -1111,6 +1113,7 @@ $1 {{PLURAL:$1|символдан|символладан}} кеб болургъ
 'prefs-help-realname' => 'Керти ат (излеуге байламлы).
 Аны кёргюзюрге излесегиз, сиз тюрлендирген бетлеригизни,сиз тюрлендиргенигизи белгили боллукъду.',
 'prefs-help-email' => 'Электрон почтагъызны адресин джазаргъа амалсыз керек тюлдю, алай а, паролюгъузну унутсагъыз, ажымсыз керек боллукъду.',
+'prefs-help-email-others' => 'Ол сизни энчи бетигизде болгъан джибериуню юсю бла сизни бла байлам этерге амал береди; электрон почтагъызны адресин да ачыкъ этерге керек болмайсыз.',
 'prefs-help-email-required' => 'Электрон почтагъызны кёргюзюгюз.',
 'prefs-info' => 'Баш билгиле',
 'prefs-i18n' => 'Интернационализация',
@@ -1279,7 +1282,7 @@ $1 {{PLURAL:$1|символдан|символладан}} кеб болургъ
 'nchanges' => '$1 {{PLURAL:$1|тюрлениу|тюрлениу}}',
 'recentchanges' => 'Ахыр тюрлениуле',
 'recentchanges-legend' => 'Ахыр тюрлениулени джарашдырыулары',
-'recentchangestext' => 'Тюбюнде, Википедияда этилген ахыр тюрлениуле хронология бла тизилиб турадыла.',
+'recentchanges-summary' => 'Тюбюнде, Википедияда этилген ахыр тюрлениуле хронология бла тизилиб турадыла.',
 'recentchanges-feed-description' => 'Викиде бу лентада тюрлениулени кёзде тут.',
 'recentchanges-label-newpage' => 'Бу тюрлендириу бла джангы бет къуралгъанды',
 'recentchanges-label-minor' => 'Бу гитче тюрлениудю',
@@ -1466,6 +1469,10 @@ URL-адрес тюз болгъанын осмакълагъыз эмда дж
 'upload-unknown-size' => 'Билинмеген ёлчем',
 'upload-http-error' => 'HTTP хата болду: $1',
 
+# File backend
+'backend-fail-delete' => '«$1» файл кетерилмеди.',
+'backend-fail-store' => '$1 файл $2 ичинде сакъланылынмады.',
+
 # Special:UploadStash
 'uploadstash' => 'Джашыртын джюклеу',
 'uploadstash-nofiles' => 'Сизни джашырылгъан файлларыгъыз джокъду',
@@ -1593,6 +1600,7 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 ** дубликат файл',
 'filedelete-edit-reasonlist' => 'Кетериуню чурумларын тюрлендир',
 'filedelete-maintenance' => 'Техника ишлени кёзюуюнде файлланы кетериу эм ызына къайтарыу функцияла ишлеймедиле.',
+'filedelete-maintenance-title' => 'Файл кетерилмеди',
 
 # MIME search
 'mimesearch' => 'MIME бла излеу',
@@ -1604,7 +1612,7 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'unwatchedpages' => 'Киши кёзде тутмагъан бетле',
 
 # List redirects
-'listredirects' => 'Ð\94жибеÑ\80иÑ\83лени Ñ\81пиÑ\81огÑ\83',
+'listredirects' => 'Ð\94жибеÑ\80иÑ\83лени Ñ\82измеÑ\81и',
 
 # Unused templates
 'unusedtemplates' => 'Хайырландырылмагъан шаблонла',
@@ -1707,7 +1715,7 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'protectedtitles' => 'Джакъланнган башлыкъла',
 'protectedtitlestext' => 'Бу атланы хайырланыргъа эркинлик джокъду',
 'protectedtitlesempty' => 'Бусагъатда, бу параметрле бла джакъланнган башлыкъ джокъду.',
-'listusers' => 'Ð\9aÑ\8aоÑ\88Ñ\83лÑ\83Ñ\83Ñ\87Ñ\83ланÑ\8b Ñ\81пиÑ\81огÑ\83',
+'listusers' => 'Ð\9aÑ\8aоÑ\88Ñ\83лÑ\83Ñ\83Ñ\87Ñ\83ланÑ\8b Ñ\82измеÑ\81и',
 'listusers-editsonly' => 'Къуру тюрлендириу этген къошлуучуланы кёргюз',
 'listusers-creationsort' => 'Къуралгъан заманына кёре сафла',
 'usereditcount' => '$1 {{PLURAL:$1|тюрлендириу|тюрлендириу}}',
@@ -1741,8 +1749,8 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'speciallogtitlelabel' => 'Ышан (башлыкъ неда къошулуучу):',
 'log' => 'Журналла',
 'all-logs-page' => 'Бютеу ачыкъ журналла',
-'alllogstext' => '{{SITENAME}} Ñ\8eÑ\87Ñ\8eн Ð±Ñ\8eÑ\82еÑ\83 Ð±Ð°Ñ\80 Ð±Ð¾Ð»Ð³Ñ\8aан Ð¶Ñ\83Ñ\80налланÑ\8b Ð±Ð¸Ñ\80леÑ\88ген Ñ\81пиÑ\81огÑ\83.
-Журнал типини, къошулуучу атны (уллу-гитче харифге кёре) неда тийилген бетни (олда уллу-гитче харифге кёре) элерге боллукъсуз.',
+'alllogstext' => '{{SITENAME}} Ñ\8eÑ\87Ñ\8eн Ð±Ñ\8eÑ\82еÑ\83 Ð±Ð°Ñ\80 Ð±Ð¾Ð»Ð³Ñ\8aан Ð¶Ñ\83Ñ\80налланÑ\8b Ð±Ð¸Ñ\80леÑ\88ген Ñ\82измеÑ\81и.
+Журнал типини, къошулуучу атны (уллу-гитче харифге кёре) неда тийилген бетни (ол да уллу-гитче харифге кёре) элерге боллукъсуз.',
 'logempty' => 'Журналлагъа келишген билги джокъду.',
 'log-title-wildcard' => 'Бу символладан башланнган башлыкъланы изле',
 
@@ -1795,7 +1803,7 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'listusers-blocked' => '(блокга салыныбды)',
 
 # Special:ActiveUsers
-'activeusers' => 'Ð\90кÑ\82ив ÐºÑ\8aоÑ\88Ñ\83лÑ\83Ñ\83Ñ\87Ñ\83ланÑ\8b Ñ\81пиÑ\81огÑ\83',
+'activeusers' => 'Ð\90кÑ\82ив ÐºÑ\8aоÑ\88Ñ\83лÑ\83Ñ\83Ñ\87Ñ\83ланÑ\8b Ñ\82измеÑ\81и',
 'activeusers-intro' => 'Бу, ахыр $1 {{PLURAL:$1|кюнде|кюнде}} къаллайда болсун ишлетме кёргюзген къошлуучуланы списогуду.',
 'activeusers-count' => 'Ахыр {{PLURAL:$3|кюнде|$3 кюнде}} $1 {{PLURAL:$1|тюрлендириу|тюрлендириу}}',
 'activeusers-from' => 'Бу бла башланнган къошлуучуланы кёргюз:',
@@ -1816,7 +1824,7 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 'listgrouprights-group' => 'Къауум',
 'listgrouprights-rights' => 'Хакъла',
 'listgrouprights-helppage' => 'Help:Къауумланы хакълары',
-'listgrouprights-members' => '(гÑ\80Ñ\83ппанÑ\8b Ñ\81пиÑ\81огÑ\83)',
+'listgrouprights-members' => '(кÑ\8aаÑ\83Ñ\83мнÑ\83 Ñ\82измеÑ\81и)',
 'listgrouprights-right-display' => '<span class="listgrouprights-granted">$1 <tt>($2)</tt></span>',
 'listgrouprights-right-revoked' => '<span class="listgrouprights-revoked">$1 <tt>($2)</tt></span>',
 'listgrouprights-addgroup' => '{{PLURAL:$2|Къауум|Къауум}} къошаргъа боллукъду: $1',
@@ -1864,7 +1872,7 @@ URL-ни тюз , сайтны ачыкъ болгъанына ишексиз б
 
 # Watchlist
 'watchlist' => 'Кёзюмде тургъан тизмем',
-'mywatchlist' => 'Кёзюмде тургъан тизмем',
+'mywatchlist' => 'Кёзюмдеги тизмем',
 'watchlistfor2' => '$1 ючюн $2',
 'nowatchlist' => 'Кёзюгюзде тургъан тизмегиз бошду.',
 'watchlistanontext' => 'Кёзюгюзде тургъан тизмегизни статьяланы кёрюр неда тюрлендирир ючюн $1.',
@@ -2107,7 +2115,7 @@ $1',
 # Contributions
 'contributions' => 'Къошулуучуну къошханы',
 'contributions-title' => '$1 къошулуучуну къошагъы',
-'mycontris' => 'Ð\9cени Ðºъошханым',
+'mycontris' => 'Ð\9aъошханым',
 'contribsub2' => '$1 ($2) къошакъ',
 'nocontribs' => 'Бу критерийлеге келишген тюрлениуле табылмадыла',
 'uctop' => '(ахыргъы)',
@@ -2119,6 +2127,7 @@ $1',
 'sp-contributions-newbies-title' => 'Джангы тергеу джазыуладан этилген къошакъ',
 'sp-contributions-blocklog' => 'Блок этиуню журналы',
 'sp-contributions-deleted' => 'къошулуучуну кетерилген тюрлендириулери',
+'sp-contributions-uploads' => 'джюкленнгенле',
 'sp-contributions-logs' => 'журналла',
 'sp-contributions-talk' => 'сюзюу',
 'sp-contributions-userrights' => 'къошулуучуну хакъларына оноу этиу',
@@ -2139,7 +2148,7 @@ $1',
 'nolinkshere-ns' => "Сайланнган атла аламда '''[[:$1]]''' бетге джиберген бет джокъду.",
 'isredirect' => 'джибериу бет',
 'istemplate' => 'къошуу',
-'isimage' => 'Ñ\81Ñ\83Ñ\80аÑ\82Ñ\85а джибериу',
+'isimage' => 'Ñ\84айлгÑ\8aа джибериу',
 'whatlinkshere-prev' => '{{PLURAL:$1|алдагъы|алдагъы $1}}',
 'whatlinkshere-next' => '{{PLURAL:$1|эндиги|эндиги $1}}',
 'whatlinkshere-links' => '← джибериуле',
@@ -2191,7 +2200,7 @@ $1',
 'ipusubmit' => 'Бу тыйгъычны кетер',
 'unblocked' => '[[User:$1|$1]]- тыйылыу тохтатылгъанды',
 'unblocked-id' => '$1 тыйылыу къоратылгъанды',
-'ipblocklist' => 'Блок этилиннген IP-адресле эм къошулуучуланы атлары',
+'ipblocklist' => 'Блок этилиннген къошулуучула',
 'ipblocklist-legend' => 'Тыйылгъан къошулуучуну аты',
 'blocklist-expiry' => 'Бошалыу датасы',
 'blocklist-reason' => 'Чурум',
@@ -2474,7 +2483,7 @@ MediaWiki локализациясына юлюш къошаргъа излей
 'tooltip-pt-anonuserpage' => 'Сизни IP-адресигиз ючюн къошулуучу бет',
 'tooltip-pt-mytalk' => 'Сизни сюзюу бетигиз',
 'tooltip-pt-anontalk' => 'Бу IP-адресден этилген тюрлендириулени сюзюу бет',
-'tooltip-pt-preferences' => 'Ð\94жарашдырыуларыгъыз',
+'tooltip-pt-preferences' => 'Сизни Ð´жарашдырыуларыгъыз',
 'tooltip-pt-watchlist' => 'Сиз кёзюгюзде тутхан бетлени тизмеси',
 'tooltip-pt-mycontris' => 'Сизни тюрлендириулеригизни тизмеси',
 'tooltip-pt-login' => 'Былайда системада регистрация этерге боллукъду, алай а ол ажымсыз керекли тюйюлдю',
@@ -2499,18 +2508,18 @@ MediaWiki локализациясына юлюш къошаргъа излей
 'tooltip-n-mainpage' => 'Баш бетге кёчюу',
 'tooltip-n-mainpage-description' => 'Баш бетге кёчюу',
 'tooltip-n-portal' => 'Проектни юсюнден, сизни не этерге боллугъугъузню юсюнден, хар не къайда болгъаныны юсюнден',
-'tooltip-n-currentevents' => 'Ð\91Ñ\83Ñ\81агÑ\8aаÑ\82да Ð±Ð¾Ð»Ð³Ñ\8aан Ð¸Ñ\88лени Ñ\81пиÑ\81огÑ\83',
-'tooltip-n-recentchanges' => 'Ð\90Ñ\85Ñ\8bÑ\80 Ñ\82Ñ\8eÑ\80лениÑ\83лени Ñ\81пиÑ\81огÑ\83',
+'tooltip-n-currentevents' => 'Ð\91Ñ\83Ñ\81агÑ\8aаÑ\82да Ð±Ð¾Ð»Ð³Ñ\8aан Ð¸Ñ\88лени Ñ\82измеÑ\81и',
+'tooltip-n-recentchanges' => 'Ð\90Ñ\85Ñ\8bÑ\80 Ñ\82Ñ\8eÑ\80лениÑ\83лени Ñ\82измеÑ\81и',
 'tooltip-n-randompage' => 'Эсде болмагъан бир бетге къара',
 'tooltip-n-help' => '«{{SITENAME}}» проектге джардам этиу',
-'tooltip-t-whatlinkshere' => 'Бу бетге джибериу берген бютеу бетлени списогу',
+'tooltip-t-whatlinkshere' => 'Бу бетге джибериу берген бютёу бетлени тизмеси',
 'tooltip-t-recentchangeslinked' => 'Бу бет джибериуле берген бетледе ахыр тюрлениуле',
 'tooltip-feed-rss' => 'Бу битге RSS-трансляция',
 'tooltip-feed-atom' => 'Бу бетге Atom-трансляция',
 'tooltip-t-contributions' => 'Къошулуучуну тюрлендирген бетлерине къара',
 'tooltip-t-emailuser' => 'Бу къошулуучугъа письмо джибер',
 'tooltip-t-upload' => 'Файлланы джюклеу',
-'tooltip-t-specialpages' => 'Бютеу къуллукъчу бетлени списогу',
+'tooltip-t-specialpages' => 'Бютёу къуллукъчу бетлени тизмеси',
 'tooltip-t-print' => 'Бу бетни басмагъа версиясы',
 'tooltip-t-permalink' => 'Бетни бу версиясына дайым джибериу',
 'tooltip-ca-nstab-main' => 'Статьяны ичиндеги',
@@ -3296,6 +3305,8 @@ MediaWiki хайырлы боллукъду деген умут бла джай
 'version-software' => 'Салыннган программа баджарыу',
 'version-software-product' => 'Продукт',
 'version-software-version' => 'Версия',
+'version-entrypoints' => 'Кириу нохталаны адреслери',
+'version-entrypoints-header-entrypoint' => 'Кириу нохта',
 'version-entrypoints-header-url' => 'URL',
 
 # Special:FilePath
@@ -3397,6 +3408,7 @@ MediaWiki хайырлы боллукъду деген умут бла джай
 'sqlite-no-fts' => '$1 толу текст излеуню хайырландыра билмеген',
 
 # New logging system
+'logentry-delete-delete' => '$1, $3 бетни кетерди',
 'revdelete-content-hid' => 'ичиндегиси джашырылыбды',
 'revdelete-summary-hid' => 'тюрлендириуню ачыкълауу джашырылыбды',
 'revdelete-uname-hid' => 'къошулуучуну аты джашырылыбды',
@@ -3430,6 +3442,7 @@ MediaWiki хайырлы боллукъду деген умут бла джай
 'api-error-invalid-file-key' => 'Ич халат: болджаллы асыраучу джерде файл  табылмады.',
 'api-error-mustbeposted' => 'Ич халат: соруу, HTTP POST инструкцияны излейди.',
 'api-error-ok-but-empty' => 'Ич халат: сервер джууаб бермейди.',
+'api-error-timeout' => 'Сакълагъан заманны ичинде сервер джуууб бермейди.',
 'api-error-unclassified' => 'Белгили болмагъан халат чыкъды',
 'api-error-unknown-code' => 'Билинмеген халат: «$1».',
 'api-error-unknown-error' => 'Ич халат: файлны джюклерге излеген сагъатда не эсе да терс болду.',
index b85d18d..dbcabdc 100644 (file)
@@ -984,7 +984,7 @@ denk dran, dat ene Metmaacher eije Dateie för et Ussinn han kann, un dat die me
 aanfange dun, alsu etwa: {{ns:user}}:Name/vector.css, un {{ns:user}}:Name/vector.js heiße.',
 'updated' => '(Aanjepack)',
 'note' => "'''Opjepass:'''",
-'previewnote' => "'''Heh kütt nor de Vör-Aansich - Ding Änderunge sin noch nit jesechert!'''",
+'previewnote' => "'''Heh kütt nor de Vör-Aansich  Ding Änderunge sin noch nit jesechert!'''",
 'previewconflict' => 'Heh die Vör-Aansich zeich dä Enhald vum bovvere Texfeld.
 Esu wööd dä Atikkel ussinn, wann De n jetz avspeichere däts.',
 'session_fail_preview' => "'''Schad: Ding Änderunge kunnte mer su nix met aanfange.
@@ -1261,7 +1261,7 @@ Donn de Version makeere bes wohen (inklusive) dat övverdraare wäde sull. Donn
 'mergelogpagetext' => 'Dat hee is dat Logboch fun de zesammejelaate Versione fun Sigge',
 
 # Diffs
-'history-title' => 'Liss met Versione vun „$1“',
+'history-title' => 'Älder Versione vun dä Sigg „$1“',
 'difference-multipage' => '(Ongerscheide zwesche Sigge)',
 'lineno' => 'Reih $1:',
 'compareselectedversions' => 'Dun de markeete Version verjliche',
@@ -1382,7 +1382,7 @@ dat dänne ihr Daate topaktuell sin,
 'prefs-setemail' => 'Donn en Adräß för de <i lang="en">e-mail</i> faßlääje',
 'prefs-email' => '<i lang="en">e-mail</i>',
 'prefs-rendering' => 'Et Sigge-Aanzeije',
-'saveprefs' => 'Fasshalde',
+'saveprefs' => 'Faßhalde',
 'resetprefs' => 'Zeröck setze',
 'restoreprefs' => 'Alles op der Shtandatt retuur stelle',
 'prefs-editing' => 'Beim Bearbeide',
@@ -1629,7 +1629,7 @@ Ene zohfällesch ußjewörfelte Schlößel, dää De nämme künnß, wöhr: <cod
 'nchanges' => '{{PLURAL:$1|Ein Änderung|$1 Änderunge|Kein Änderung}}',
 'recentchanges' => 'Neuste Änderunge',
 'recentchanges-legend' => 'Enstellunge',
-'recentchangestext' => 'Op dä Sigg hee sin de neuste Änderunge am Wiki opjeliss.',
+'recentchanges-summary' => 'Op dä Sigg hee sin de neuste Änderunge am Wiki opjeliss.',
 'recentchanges-feed-description' => 'Op dämm Abonnomang-Kannal (<i lang="en">Feed</i>) kannze de {{int:recentchanges}} aam Wiki en Laif un en Färve metloore.',
 'recentchanges-label-newpage' => 'Heh di Sigg es neu dobei jekumme met dä Änderung',
 'recentchanges-label-minor' => 'Heh dat es en Mini-Änderung',
@@ -1660,6 +1660,7 @@ Ene zohfällesch ußjewörfelte Schlößel, dää De nämme künnß, wöhr: <cod
 'newsectionsummary' => 'Neu Avschnet /* $1 */',
 'rc-enhanced-expand' => 'Einzelheite zeije (bruch JavaSkripp)',
 'rc-enhanced-hide' => 'Einzelheite versteiche',
+'rc-old-title' => 'ojinaal als „$1“ aanjelaat',
 
 # Recent changes linked
 'recentchangeslinked' => 'Änderunge aan Sigge, wo heh drop jelink es',
@@ -1855,7 +1856,8 @@ Wann et nit flupp, verzäll et enem [[Special:ListUsers/sysop|Wiki-Köbes]].',
 'backend-fail-writetemp' => 'Mer kunnte nit en de Zweschedattei schriive.',
 'backend-fail-closetemp' => 'Mer kunnte de Zweschedattei no zohmaache.',
 'backend-fail-read' => 'Mer kunnte di Dattei $1 nit lässe.',
-'backend-fail-create' => 'Mer kunnte di Dattei $1 nit aanlääje.',
+'backend-fail-create' => 'Mer kunnte di Dattei $1 nit schrieve.',
+'backend-fail-contenttype' => 'Mer kunnte de Zoot Enhalt nit eruß krijje, di en dä Dattei „$1“ faßjehallde wääde sull.',
 
 # Lock manager
 'lockmanager-notlocked' => 'Mer kunnte „$1“ nit freijävve. Ed es nit jeschpächt.',
@@ -2660,8 +2662,9 @@ Drag bei „Aanlass“ ene möchlichs jenaue Jrund en, wöröm dat Sperre passee
 'badipaddress' => 'Wat De do jeschrevve häs, dat es kein öntlije IP-Adress.',
 'blockipsuccesssub' => 'De IP-Adress es jetz jesperrt',
 'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] es jetz jesperrt.
-Luur op [[Special:BlockList|de Liss met jesperrte IP_Adresse]] wann de ne Üvverbleck üvver de Sperre han wells,
-un och wann De se ändere wells.',
+<br />
+Luur op [[Special:BlockList|{{int:ipblocklist}}]] wann de ene Övverbleck övver de Sperre han wells,
+un och, wann De se ändere wells.',
 'ipb-blockingself' => 'Do bes om Wääsch, Desh sellver ze sperre. Wells De dat?',
 'ipb-confirmhideuser' => 'Do bes om bäßte Wääsch ene Metaacher ze sperre met „Vershteishe“ ußjewählt.
 Domet weed dä Name vun däm Metmaacher uß alle Leßte un Logbööscher eruß jelohße.
@@ -2713,8 +2716,8 @@ Wells De dat?',
 'blocklog-showsuppresslog' => 'Heh dä Metmaacher es ald fröjer jeshperrt un vershtoche woode. Dat Logbooch vum Metmaacher-Vershteishe onge künnt doh jät mieh zoh saare.',
 'blocklogentry' => 'hät „[[$1]]“ fö de Zick vun $2 jesperrt. $3',
 'reblock-logentry' => 'hät di Sperr för dä „[[$1]]“ met dä Duuer fun $2 $3 jeändert',
-'blocklogtext' => 'Heh es dat Logboch för et Metmaacher Sperre un Freijevve.
-Automatich jesperrte IP-Adresse sin nit heh, ävver en de [[Special:BlockList|{{int:ipblocklist}}]] ze finge.',
+'blocklogtext' => 'Heh es et Logboch övver et Metmaacher-Sperre un -Freijevve vun Hand.
+Automattesch jesperrte <i lang="en>IP</i>-Addräße sin nit heh, ävver en de [[Special:BlockList|{{int:ipblocklist}}]] ze fenge.',
 'unblocklogentry' => 'Metmaacher „$1“ freijejovve',
 'block-log-flags-anononly' => 'nor de namelose Metmaacher sperre',
 'block-log-flags-nocreate' => 'neu Metmaacher aanlääje es verbodde',
@@ -2979,10 +2982,14 @@ Bes esu joot, un versök et noch ens.',
 'import-logentry-interwiki-detail' => '{{PLURAL:$1|ein Version|$1 Versione|kein Version}} vun „$2“',
 
 # JavaScriptTest
-'javascripttest-disabled' => 'Di Funxjon es ußjeschalldt.',
+'javascripttest' => ' JavaSkrepte ußprobeere.',
+'javascripttest-disabled' => 'Di Funxjon es en heh dämm Wiki ußjeschalldt.',
 'javascripttest-title' => 'De Prööfunge „$1“ loufe.',
+'javascripttest-pagetext-noframework' => 'Heh di Sigg es för JavaSkrepte ußzeprobeere.',
 'javascripttest-pagetext-unknownframework' => 'Dä Prööfrahme „$1“ es onbikannt.',
+'javascripttest-pagetext-frameworks' => 'Bes esu jood un söök eine vun dä Prööfömjävvonge us: $1',
 'javascripttest-pagetext-skins' => 'Sööke en Bovverfläsch udder et Ußsinn uß, öm di Prööfonge domet ze maache:',
+'javascripttest-qunit-intro' => 'Loor noh dä [$1 Dokemäntation övver et Prööfe] op mediawiki.org.',
 
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Don Ding eije Metmaachersigg aanzeije',
index 5624fd9..a82f0cf 100644 (file)
@@ -12,6 +12,7 @@
  * @author Erdal Ronahi
  * @author Ferhengvan
  * @author George Animal
+ * @author Ghybu
  * @author Gomada
  * @author Kaganer
  * @author Krinkle
@@ -211,7 +212,7 @@ $messages = array(
 'cancel' => 'Betalkirin',
 'moredotdotdot' => 'Bêhtir...',
 'mypage' => 'Rûpela min',
-'mytalk' => 'Rûpela gotûbêja min',
+'mytalk' => 'Gotûbêja min',
 'anontalk' => "Gotûbêj ji bo vê IP'ê",
 'navigation' => 'Navîgasyon',
 'and' => '&#32;û',
@@ -272,7 +273,7 @@ $messages = array(
 'unprotectthispage' => 'Parastina vê rûpelê rake',
 'newpage' => 'Rûpela nû',
 'talkpage' => 'Vê rûpelê gotûbêj bike',
-'talkpagelinktext' => 'Nîqaş',
+'talkpagelinktext' => 'gotûbêj',
 'specialpage' => 'Rûpela taybet',
 'personaltools' => 'Amûrên kesane',
 'postcomment' => 'Beşeke nû',
@@ -576,6 +577,7 @@ Eger account\'a bikarhêneran şaşî hate çêkirin, guhdare vê peyamê meke.'
 'showlivepreview' => 'Pêşdîtina zindî',
 'showdiff' => 'Guherandinê nîşan bide',
 'anoneditwarning' => "'''Hişyarî:''' Tu netêketî yî! Navnîşana IP'ya te wê di dîroka guherandina vê rûpelê de bê tomarkirin.",
+'anonpreviewwarning' => "''Tu ne têketî yî. Tomarkirin wê navnîşana IP'ya te di dîroka guhertinan de nîşan bide.''",
 'missingsummary' => "<span style=\"color:#990000;\">'''Zanibe:'''</span> Te nivîsekî kurt ji bo guherandinê ra nenivîsand. Eger tu niha carekî din li Tomar xê, guherandinê te vê nivîsekî kurt yê were tomarkirin.",
 'missingcommenttext' => 'Ji kerema xwe kurteya naverokê li jêr binivisîne.',
 'missingcommentheader' => "<span style=\"color:#990000;\">'''Zanibe:'''</span> Te sernavek nenivîsandiye. Heke tu niha carekî din li ser ''tomar bike'' bitikînî, ev guherandina vê sernavê wê were tomarkirin.",
@@ -643,6 +645,7 @@ Astengkirina dawî bi referansa li jêr hatiye piştrastkirin:',
 'previewnote' => "'''Ji bîr neke ku ev bi tenê çavdêriyek e, ev rûpel hîn nehatiye tomarkirin!'''",
 'continue-editing' => 'Guhertinê bidomîne',
 'editing' => 'Biguherîne: "$1"',
+'creating' => '$1 tê çêkirin',
 'editingsection' => 'Tê guherandin: $1 (beş)',
 'editingcomment' => '$1 (şîrove) tê guherandin.',
 'editconflict' => 'Têkçûna guherandinan: $1',
@@ -661,6 +664,8 @@ Heke tu qeyd bikî, hemû guhertinên piştî vê revîzyonê winda dibin.
 Tu soz didî ku te ev bi xwe nivîsand an jî ji çavkaniyekê azad an geliyane ''(public domain)'' girt.
 '''BERHEMÊN MAFÊN WAN PARASTΠ(©) BÊ DESTÛR NEWEŞÎNE!'''",
 'protectedpagewarning' => "'''Hişyarî:  Ev rûpel tê parastin. Bi tenê bikarhênerên ku xwediyên mafên \"koordînatoriyê\" ne, dikarin vê rûpelê biguherînin.'''",
+'semiprotectedpagewarning' => "'''Hişyarî:''' Ev rûpel tê parastin, lewma bes bikarhênerên tomarkirî dikarin vê biguherînin.
+Guhertina herî dawî bi referansa li jêr hatiye piştrastkirin:",
 'templatesused' => 'Şablon di van rûpelan da tê bikaranîn',
 'templatesusedpreview' => 'Şablon yê di vê pêşdîtinê da tên bikaranîn:',
 'templatesusedsection' => 'Şablon yê di vê perçê da tên bikaranîn:',
@@ -677,7 +682,7 @@ Tu soz didî ku te ev bi xwe nivîsand an jî ji çavkaniyekê azad an geliyane
 Zanibe ku nuhçêkirinê vê rûpelê hêja ye ya na.
 Înformasyon li ser jêbirinê vê rûpelê li vir e:",
 'moveddeleted-notice' => 'Ev rûpel hatiye jêbirin.
-The deletion and move log for the page are provided below for reference.',
+Sedema jêbirina rûpelê bi referansa li jêr hatiye piştrastkirin.',
 'log-fulllog' => 'Tevahiya wê bibîne',
 'edit-conflict' => 'Têkçûna guherandinan.',
 'edit-no-change' => 'Guherandina te nehate hesibandin, ji ber ku guherandinên nivîsê tune bûn.',
@@ -792,11 +797,12 @@ Sedema qedexekirina $3 ev e: ''$2''",
 'nextn-title' => '$1 {{PLURAL:$1|encama|encamên}} pêştir',
 'viewprevnext' => '($1 {{int:pipe-separator}} $2) ($3).',
 'searchmenu-legend' => 'Vebijartinên lêgerrînê',
+'searchmenu-exists' => "'''Rûpeleke bi navê \"[[:\$1]]\" li ser vê wîkiyê heye.'''",
 'searchmenu-new' => 'Rûpela "[[:$1]]" li ser vê derê çêke!',
 'searchhelp-url' => 'Help:Alîkarî',
 'searchprofile-articles' => 'Rûpelên naverokê',
 'searchprofile-project' => 'Rûpelên alîkariyê û projeyê',
-'searchprofile-images' => 'Multimedia',
+'searchprofile-images' => 'Multîmedya',
 'searchprofile-everything' => 'Her tişt',
 'searchprofile-advanced' => 'Pêşketî',
 'searchprofile-articles-tooltip' => 'Di $1 da lêbigere',
@@ -817,10 +823,11 @@ Sedema qedexekirina $3 ev e: ''$2''",
 'searchall' => 'hemû',
 'showingresults' => "{{PLURAL:$1|Encamek|'''$1''' encam}}, bi #'''$2''' dest pê dike.",
 'showingresultsnum' => "{{PLURAL:$3|'''1'''|'''$3'''}} encam, bi #<b>$2</b> dest pê dike.",
+'showingresultsheader' => "{{PLURAL:$5|Encam '''$1''' ên '''$3'''|Encam '''$1 - $2''' ên '''$3'''}} ji bo '''$4'''",
 'search-nonefound' => 'Ti rûpelên wek ya daxwazkirî nînin.',
 'powersearch' => 'Lê bigere',
 'powersearch-legend' => 'Lê bigere',
-'powersearch-ns' => "Di namespace'an da lêbigere:",
+'powersearch-ns' => 'Di valahiya navan de lêbigere:',
 'powersearch-redir' => "Lîsteya redirect'an",
 'powersearch-field' => 'Bigere li',
 'powersearch-togglelabel' => 'Kontrol bike:',
@@ -1143,6 +1150,8 @@ Xêra xwe navekî din bibîne.",
 'linkstoimage' => 'Di van rûpelan de lînkek ji vî wêneyî re heye:',
 'nolinkstoimage' => 'Rûpelekî ku ji vî wêneyî re girêdankê çêdike nîne.',
 'linkstoimage-redirect' => '$1 (beralîkirina pelê) $2',
+'sharedupload-desc-here' => 'Ev pel ji $1 û dibe ku ji aliyê projeyên din ve jî hatibe bikaranîn.
+Agahdariya li ser [$2 rûpela danasîna pelê] li jêr tê nîşandan.',
 'uploadnewversion-linktext' => 'Versyonekî nû yê vê datayê barbike',
 'shared-repo-from' => 'ji $1',
 
@@ -1198,7 +1207,7 @@ Xêra xwe navekî din bibîne.",
 'statistics-header-hooks' => 'Statîstîkên din',
 'statistics-articles' => 'Rûpelên naverokê',
 'statistics-pages' => 'Rûpel',
-'statistics-pages-desc' => 'Hemû rûpelên di vê wîkiyê de, bi hemû rûpelên nîqaş, beralîkirin, hwd.',
+'statistics-pages-desc' => 'Hemû rûpelên di vê wîkiyê de, bi hemû rûpelên gotûbêj, beralîkirin, hwd.',
 'statistics-files' => 'Wêneyên barkirî',
 'statistics-views-total' => 'Hemû nîşandan',
 'statistics-users' => '[[Special:ListUsers|Bikarhênerên tomarkirî]]',
@@ -1546,7 +1555,7 @@ Ji bo jêbirinan û çêkirinên nuh ra, xêra xwe di [[Special:Log/delete|reşa
 'sp-contributions-deleted' => 'Guherandinên bikarhênerekî yê jêbirî',
 'sp-contributions-uploads' => 'yên barkirî',
 'sp-contributions-logs' => 'têketin',
-'sp-contributions-talk' => 'nîqaş',
+'sp-contributions-talk' => 'gotûbêj',
 'sp-contributions-userrights' => 'Îdarekirina mafên bikarhêneran',
 'sp-contributions-search' => 'Li beşdariyan bigere',
 'sp-contributions-username' => 'Adresê IP ya navî bikarhêner:',
@@ -1702,7 +1711,7 @@ da bikarî navê wê rûpelê biguherînî.',
 'articleexists' => 'Rûpela bi vî navî heye, an navê ku te hilbijart derbas nabe. Navekî din hilbijêre.',
 'cantmove-titleprotected' => 'Tu nikanê vê rûpelê bervê vê cihê bigerînê ji ber ku sernava nuh tê parastin ji bo çêkirinê',
 'movedto' => 'bû',
-'movetalk' => "Rûpela '''gotûbêj'''a wê jî bigerîne, eger gengaz be.",
+'movetalk' => "Heke gengaz be, rûpela '''gotûbêj'''a wê jî bigerîne.",
 '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.',
@@ -1759,7 +1768,7 @@ Rûpela "[[:$1]]" berê heye. Tu rast dixazê wê jêbibê ji bo navguherandinê
 # Tooltip help for the actions
 'tooltip-pt-userpage' => 'Rûpela min',
 'tooltip-pt-anonuserpage' => 'The user page for the ip you',
-'tooltip-pt-mytalk' => 'Rûpela min a gotûbêjê',
+'tooltip-pt-mytalk' => 'Gotûbêja min',
 'tooltip-pt-preferences' => 'Tercîhên min',
 'tooltip-pt-watchlist' => 'The list of pages you',
 'tooltip-pt-mycontris' => 'Lîsteya beşdariyên min',
@@ -1832,7 +1841,7 @@ Rûpela "[[:$1]]" berê heye. Tu rast dixazê wê jêbibê ji bo navguherandinê
 'pageinfo-header-watchlist' => 'Lîsteya şopandinê',
 'pageinfo-header-views' => 'Dîtin',
 'pageinfo-subjectpage' => 'Rûpel',
-'pageinfo-talkpage' => 'Rûpela nîqaşê',
+'pageinfo-talkpage' => 'Rûpela gotûbêjê',
 'pageinfo-watchers' => 'Hejmara kesên dişopînin',
 'pageinfo-edits' => 'Hejmara guherandinan',
 'pageinfo-views' => 'Hejmara dîtinê',
@@ -1988,9 +1997,9 @@ Lê eger ev *ne* tu bû, li lînkê netikîne. Ev e-nameya di rojê $4 da netê
 
 # Delete conflict
 'deletedwhileediting' => 'Hîşyar: Piştî te guherandinê xwe dest pê kir ev rûpela hate jêbirin!',
-'confirmrecreate' => "Bikarhêner [[User:$1|$1]] ([[User talk:$1|nîqaş]]) vê rûpelê jêbir, piştî te destpêkir bi guherandinê. Sedemê jêbirinê ev bû:
+'confirmrecreate' => "Piştî te dest bi guherandinê kir, bikarhêner [[User:$1|$1]] ([[User talk:$1|gotûbêj]]) ev rûpel jê bir. Sedema jêbirinê ev bû:
 : ''$2''
-Xêra xwe zanibe ku tu bi rastî dixwazê vê rûpelê dîsa çêkê",
+Ji kerema xwe zanibe ku tu bi rastî dixwazî vê rûpelê dîsa çêkî.",
 'recreate' => 'Dîsa çêke',
 
 # action=purge
@@ -2038,7 +2047,7 @@ Xêra xwe zanibe ku tu bi rastî dixwazê vê rûpelê dîsa çêkê",
 'watchlisttools-edit' => 'Lîsteya şopandinê bibîne û biguherîne',
 
 # Signatures
-'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|nîqaş]])',
+'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|gotûbêj]])',
 
 # Special:Version
 'version' => 'Versiyon',
index e8e755a..9e17935 100644 (file)
 
 $fallback = 'ru';
 
+$namespaceNames = array(
+       NS_SPECIAL          => 'Отсасян',
+       NS_TALK             => 'Сёрнитанiн',
+       NS_USER             => 'Пырысь',
+       NS_USER_TALK        => 'Пырыськӧд_сёрнитанiн',
+       NS_FILE             => 'Файл',
+       NS_FILE_TALK        => 'Файл_донъялӧм',
+       NS_MEDIAWIKI        => 'МедиаВики',
+       NS_MEDIAWIKI_TALK   => 'МедиаВики_донъялӧм',
+       NS_TEMPLATE         => 'Шаблон',
+       NS_TEMPLATE_TALK    => 'Шаблон_донъялӧм',
+);
+
+$namespaceAliases = array(
+       // Backward compat. Fallbacks from 'ru'.
+       'Медиа'                              => NS_MEDIA,
+       'Служебная'                          => NS_SPECIAL,
+       'Обсуждение'                         => NS_TALK,
+       'Участник'                           => NS_USER,
+       'Обсуждение_участника'               => NS_USER_TALK,
+       'Обсуждение_{{GRAMMAR:genitive|$1}}' => NS_PROJECT_TALK,
+       'Файл'                               => NS_FILE,
+       'Обсуждение_файла'                   => NS_FILE_TALK,
+       'Обсуждение_MediaWiki'               => NS_MEDIAWIKI_TALK,
+       'Шаблон'                             => NS_TEMPLATE,
+       'Обсуждение_шаблона'                 => NS_TEMPLATE_TALK,
+       'Справка'                            => NS_HELP,
+       'Обсуждение_справки'                 => NS_HELP_TALK,
+       'Категория'                          => NS_CATEGORY,
+       'Обсуждение_категории'               => NS_CATEGORY_TALK
+);
+
 $messages = array(
 # Dates
 'sunday'        => 'вежалун',
index 65d0914..9b8b641 100644 (file)
@@ -60,31 +60,51 @@ $namespaceAliases = array(
 
 $specialPageAliases = array(
        'Allmessages'               => array( 'OllMessajow' ),
-       'Allpages'                  => array( 'OllFolennow' ),
-       'Ancientpages'              => array( 'FolennowCoth' ),
+       'Allpages'                  => array( 'OllFolednow' ),
+       'Ancientpages'              => array( 'FolednowKoth' ),
+       'Badtitle'                  => array( 'TitelDrog' ),
+       'Blankpage'                 => array( 'FolenWag' ),
        'Block'                     => array( 'Lettya' ),
-       'Categories'                => array( 'Classys' ),
+       'Booksources'               => array( 'PednfentynyowLyver' ),
+       'Categories'                => array( 'Klassys' ),
+       'ChangeEmail'               => array( 'ChanjyaEbost' ),
+       'ChangePassword'            => array( 'ChanjyaGerTremena' ),
        'Contributions'             => array( 'Kevrohow' ),
+       'CreateAccount'             => array( 'FormyaAkont' ),
+       'DeletedContributions'      => array( 'KevrohowDiles' ),
+       'EditWatchlist'             => array( 'ChanjyaRolGolyas' ),
        'Emailuser'                 => array( 'EbostyaDevnydhyer' ),
-       'Export'                    => array( 'Esperthy' ),
-       'Import'                    => array( 'Ymperthy' ),
+       'Export'                    => array( 'Esperthi' ),
+       'Import'                    => array( 'Ymperthi' ),
+       'MIMEsearch'                => array( 'HwilansMIME' ),
        'Movepage'                  => array( 'GwayaFolen' ),
        'Mycontributions'           => array( 'OwHevrohow' ),
        'Mypage'                    => array( 'OwFolen' ),
        'Mytalk'                    => array( 'OwHows' ),
-       'Newpages'                  => array( 'FolennowNowyth' ),
-       'Preferences'               => array( 'Dewisyansow' ),
+       'Myuploads'                 => array( 'OwUghkargansow' ),
+       'Newimages'                 => array( 'RestrednowNowyth' ),
+       'Newpages'                  => array( 'FolednowNowyth' ),
+       'PasswordReset'             => array( 'DassetyaGerTremena' ),
+       'Preferences'               => array( 'Dowisyansow' ),
        'Randompage'                => array( 'FolenDreJons' ),
        'Recentchanges'             => array( 'Chanjyow_a-dhiwedhes' ),
-       'Search'                    => array( 'Whilans' ),
-       'Specialpages'              => array( 'FolennowArbennek' ),
-       'Upload'                    => array( 'Ughcarga' ),
+       'Search'                    => array( 'Hwilas' ),
+       'Specialpages'              => array( 'FolednowArbednek' ),
+       'Uncategorizedcategories'   => array( 'KlassysHebKlass' ),
+       'Uncategorizedimages'       => array( 'RestrednowHebKlass' ),
+       'Uncategorizedpages'        => array( 'FolednowHebKlass' ),
+       'Uncategorizedtemplates'    => array( 'SkantlynsHebKlass' ),
+       'Upload'                    => array( 'Ughkarga' ),
+       'Userlogin'                 => array( 'Omgelmi' ),
+       'Userlogout'                => array( 'Digelmi' ),
+       'Userrights'                => array( 'GwiryowDevnydhyer' ),
        'Version'                   => array( 'Versyon' ),
-       'Wantedcategories'          => array( 'ClassysWhansus' ),
-       'Wantedfiles'               => array( 'RestrennowWhansus' ),
-       'Wantedpages'               => array( 'FolennowWhansus' ),
-       'Wantedtemplates'           => array( 'ScantlynsWhansus' ),
+       'Wantedcategories'          => array( 'KlassysHwansus' ),
+       'Wantedfiles'               => array( 'RestrednowHwansus' ),
+       'Wantedpages'               => array( 'FolednowHwansus' ),
+       'Wantedtemplates'           => array( 'SkantlynsHwansus' ),
        'Watchlist'                 => array( 'Rol_golyas' ),
+       'Whatlinkshere'             => array( 'OwKevrednaObma' ),
 );
 
 $messages = array(
@@ -637,7 +657,7 @@ Gwrewgh assaya rag-gorra agas govyn gans ''all:'' rag hwilas en pub teller (a-ba
 'nchanges' => '$1 {{PLURAL:$1|chanj|chanj}}',
 'recentchanges' => 'Chanjyow a-dhiwedhes',
 'recentchanges-legend' => 'Etholyow an chanjyow a-dhiwedhes',
-'recentchangestext' => "War'n folen-ma y hellowgh hwi sewya an chanjyow diwettha eus gwres dhe'n wiki.",
+'recentchanges-summary' => "Sewya an chanjyow diwettha eus dhe'n wiki war'n folen-ma.",
 'recentchanges-feed-description' => "Sewya an chanjyow diwettha dhe'n wiki e'n feed-ma.",
 'recentchanges-label-newpage' => 'An chanj-ma a wrug gwruthyl folen nowyth',
 'recentchanges-label-minor' => 'Chanj bian yw hebma',
index e69d5e7..47cb98d 100644 (file)
@@ -9,10 +9,25 @@
  *
  * @author AidaBishkek
  * @author Aidabishkek
+ * @author Amire80
  * @author Muratjumashev
  * @author Ztimur
  */
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Медиа',
+       NS_SPECIAL          => 'Атайын',
+       NS_TALK             => 'Баарлашуу',
+       NS_USER             => 'Колдонуучу',
+       NS_USER_TALK        => 'Колдонуучунун_баарлашуулары',
+       NS_PROJECT_TALK     => '$1_баарлашуу',
+       NS_FILE             => 'Файл',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_TEMPLATE         => 'Калып',
+       NS_HELP             => 'Жардам',
+       NS_CATEGORY         => 'Категория',
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Шилтемелердин алдын сызуу:',
@@ -337,7 +352,7 @@ IP дарегиңиз бул барактын оңдоо тарыхына жаз
 'noarticletext' => "Азыр бул баракта текст жок.
 Сиз [[Special:Search/{{PAGENAME}}|ушул аталыш менен баракты изде]] башка барактарда 
 <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} тийиштүү жазууларды таба аласыз],
-же '''[{{fullurl:{{FULLPAGENAME}}|action=edit}} ошондой аталыш менен барак ача аласыз].'''</span>.",
+же '''[{{fullurl:{{FULLPAGENAME}}|action=edit}} ошондой аталыш менен барак ача аласыз]'''</span>.",
 'noarticletext-nopermission' => 'Азыр бул баракта текст жок.
 Сиз башка барактардан [[Special:Search/{{PAGENAME}}|ушул аталыш менен баракты издөө]] салып,
 же <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} тийиштүү жазууларды таба аласыз]</span>.',
@@ -474,7 +489,7 @@ IP дарегиңиз бул барактын оңдоо тарыхына жаз
 'nchanges' => '$1 {{PLURAL:$1|өзгөрүү|өзгөрүү}}',
 'recentchanges' => 'Соңку өзгөрүүлөр',
 'recentchanges-legend' => 'Соңку өзгөртүүлөрдүн ырастоолору',
-'recentchangestext' => 'Уикидеги соңку өзгөрүүлөрдү ушул барактан көзөмөлдө.',
+'recentchanges-summary' => 'Уикидеги соңку өзгөрүүлөрдү ушул барактан көзөмөлдө.',
 'recentchanges-feed-description' => 'Ушул агымдагы уикидеги соңку өзгөрүүлөрдү көзөмөлдө.',
 'recentchanges-label-newpage' => 'Бул оңдоо жаңы баракты ачты',
 'recentchanges-label-minor' => 'Бул майда оңдоо',
index cf8af41..3059c11 100644 (file)
@@ -802,7 +802,7 @@ Titulus: '''({{int:cur}})''' = dissimilis ab emendatione novissima,
 'revertmerge' => 'Inconfundere',
 
 # Diffs
-'history-title' => 'Historia paginae "$1"',
+'history-title' => '$1: Historia paginae',
 'lineno' => 'Linea $1:',
 'compareselectedversions' => 'Conferre emendationes selectas',
 'showhideselectedversions' => 'Monstrare/celare emendationes selectas',
@@ -1073,7 +1073,7 @@ Si vis id dare, opera tua tibi ascribentur.',
 'nchanges' => '$1 {{PLURAL:$1|mutatio|mutationes}}',
 'recentchanges' => 'Nuper mutata',
 'recentchanges-legend' => 'Indicis paginarum nuper mutatarum praeferentiae',
-'recentchangestext' => 'Inspice mutationes recentes huic vici in hac pagina.',
+'recentchanges-summary' => 'Inspice mutationes recentes huic vici in hac pagina.',
 'recentchanges-feed-description' => 'Nuper mutata Viciae hoc in fluxu observare.',
 'recentchanges-label-newpage' => 'Haec recensio paginam novam creavit',
 'recentchanges-label-minor' => 'Haec est recensio minor',
index eacc492..a734e89 100644 (file)
@@ -169,7 +169,7 @@ $specialPageAliases = array(
 
 $magicWords = array(
        'redirect'                => array( '0', '#DIRIJAR', '#DIRECCIÓN', '#REDIRECCIÓN', '#REDIRECCION', '#REDIRECT' ),
-       'fullpagename'            => array( '1', 'NOMBREDEHOJACOMPLETA', 'NOMBREDEPÁGINACOMPLETA', 'NOMBREDEPAGINACOMPLETA', 'NOMBREDEPÁGINAENTERA', 'NOMBREDEPAGINAENTERA', 'FULLPAGENAME' ),
+       'fullpagename'            => array( '1', 'NOMBREDEHOJACOMPLETA', 'NOMBREDEPÁGINACOMPLETA', 'NOMBREDEPAGINACOMPLETA', 'NOMBREDEPÁGINAENTERA', 'NOMBREDEPAGINAENTERA', 'NOMBRECOMPLETODEPÁGINA', 'NOMBRECOMPLETODEPAGINA', 'FULLPAGENAME' ),
        'subpagename'             => array( '1', 'NOMBREDEHOJICA', 'NOMBREDESUBPAGINA', 'NOMBREDESUBPÁGINA', 'SUBPAGENAME' ),
        'msg'                     => array( '0', 'MSJ:', 'MSG:' ),
        'img_left'                => array( '1', 'cierda', 'izquierda', 'izda', 'izq', 'left' ),
@@ -740,7 +740,7 @@ Las búsquedas producen más o munco a buscar biervos comunes como «la» o «de
 'nchanges' => '$1 {{PLURAL:$1|trocamiento|trocamientos}}',
 'recentchanges' => 'Trocamientos freskos',
 'recentchanges-legend' => 'Opciones encima de los trocamientos frescos',
-'recentchangestext' => 'Perseguid en esta hoja, los trocamientos de alcabo realizados en la Viki.',
+'recentchanges-summary' => 'Perseguid en esta hoja, los trocamientos de alcabo realizados en la Viki.',
 'recentchanges-feed-description' => 'Perseguir los trocamientos más nuevos en el viki en este feed.',
 'recentchanges-label-minor' => 'Esta es un trocamiento chiquitico',
 'rcnote' => "Debaxo {{PLURAL:$1|ay '''1''' trocamiento realizado|están los dal cabo '''$1''' trocamientos realizados}} en  {{PLURAL:$2|el dal cabo día|los dal cabo '''$2''' días}}, hasta el $4, $5.",
index 6cc4e75..eee501c 100644 (file)
@@ -50,12 +50,14 @@ $specialPageAliases = array(
        'Allmessages'               => array( 'All_Systemmessagen' ),
        'Allpages'                  => array( 'All_Säiten' ),
        'Ancientpages'              => array( 'Al_Säiten' ),
+       'Badtitle'                  => array( 'Falschen_Titel' ),
        'Blankpage'                 => array( 'Eidel_Säit' ),
        'Block'                     => array( 'Spären' ),
        'Blockme'                   => array( 'Mech_spären' ),
        'Booksources'               => array( 'Bicher_mat_hirer_ISBN_sichen' ),
        'BrokenRedirects'           => array( 'Futtis_Viruleedungen' ),
        'Categories'                => array( 'Kategorien' ),
+       'ChangeEmail'               => array( 'E-Mailadress_änneren' ),
        'ChangePassword'            => array( 'Passwuert_zrécksetzen' ),
        'ComparePages'              => array( 'Säite_vergkäichen' ),
        'Confirmemail'              => array( 'E-Mail_confirméieren' ),
@@ -73,6 +75,7 @@ $specialPageAliases = array(
        'Filepath'                  => array( 'Pad_bäi_de_Fichier' ),
        'Import'                    => array( 'Importéieren' ),
        'Invalidateemail'           => array( 'E-Mailadress_net_confirméieren' ),
+       'JavaScriptTest'            => array( 'JavaScript-Test' ),
        'BlockList'                 => array( 'Lëscht_vu_gespaarten_IPen_a_Benotzer' ),
        'LinkSearch'                => array( 'Weblink-Sichen' ),
        'Listadmins'                => array( 'Lëscht_vun_den_Administrateuren' ),
@@ -145,6 +148,7 @@ $specialPageAliases = array(
 
 $magicWords = array(
        'redirect'                => array( '0', '#VIRULEEDUNG', '#WEITERLEITUNG', '#REDIRECT' ),
+       'numberofpages'           => array( '1', 'Säitenzuel', 'SEITENANZAHL', 'NUMBEROFPAGES' ),
        'numberofarticles'        => array( '1', 'Artikelen', 'ARTIKELANZAHL', 'NUMBEROFARTICLES' ),
        'numberoffiles'           => array( '1', 'Fichieren', 'DATEIANZAHL', 'NUMBEROFFILES' ),
        'numberofusers'           => array( '1', 'Benotzerzuel', 'BENUTZERANZAHL', 'NUMBEROFUSERS' ),
@@ -153,18 +157,21 @@ $magicWords = array(
        'namespace'               => array( '1', 'Nummraum', 'NAMENSRAUM', 'NAMESPACE' ),
        'subjectspace'            => array( '1', 'Haaptnummraum', 'HAUPTNAMENSRAUM', 'SUBJECTSPACE', 'ARTICLESPACE' ),
        'subjectpagename'         => array( '1', 'Haaptsäit', 'HAUPTSEITE', 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
+       'img_thumbnail'           => array( '1', 'Miniatur', 'miniatur', 'thumbnail', 'thumb' ),
        'img_right'               => array( '1', 'riets', 'rechts', 'right' ),
        'img_left'                => array( '1', 'lénks', 'links', 'left' ),
        'img_none'                => array( '1', 'ouni', 'ohne', 'none' ),
        'img_center'              => array( '1', 'zentréiert', 'zentriert', 'center', 'centre' ),
        'img_framed'              => array( '1', 'gerummt', 'gerahmt', 'framed', 'enframed', 'frame' ),
        'img_frameless'           => array( '1', 'net_gerummt', 'rahmenlos', 'frameless' ),
+       'img_page'                => array( '1', 'Säit=$1', 'Säit_$1', 'seite=$1', 'seite $1', 'page=$1', 'page $1' ),
        'img_border'              => array( '1', 'bord', 'rand', 'border' ),
+       'img_top'                 => array( '1', 'uewen', 'top' ),
        'grammar'                 => array( '0', 'GRAMMAIRE', 'GRAMMATIK:', 'GRAMMAR:' ),
        'plural'                  => array( '0', 'PLURAL', 'PLURAL:' ),
        'formatnum'               => array( '0', 'ZUELEFORMAT', 'ZAHLENFORMAT', 'FORMATNUM' ),
        'special'                 => array( '0', 'spezial', 'special' ),
-       'hiddencat'               => array( '1', '__VERSTOPPTE_KATEGORIE__', '__VERSTECKTE_KATEGORIE__', '__WARTUNGSKATEGORIE__', '__HIDDENCAT__' ),
+       'hiddencat'               => array( '1', '__VERSTOPPT_KATEGORIE__', '__VERSTECKTE_KATEGORIE__', '__WARTUNGSKATEGORIE__', '__HIDDENCAT__' ),
 );
 
 $messages = array(
@@ -1012,7 +1019,7 @@ Dir kënnt dësen Ënnerscheed gesinn; Detailer fannt Dir am [{{fullurl:{{#Speci
 'revdelete-no-file' => 'De Fichier deen ugi war gëtt et net.',
 'revdelete-show-file-confirm' => 'Sidd Dir sécher datt Dir déi geläschte Versioun vum Fichier "<nowiki>$1</nowiki>" vum $2 ëm $3 gesi wëllt?',
 'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Gewielt Versioun|Gewielt Versioune}} vu(n) '''$1''' :'''",
+'revdelete-selected' => "'''{{PLURAL:$2|Gewielt Versioun|Gewielt Versioune}} vu(n) [[:$1]] :'''",
 'logdelete-selected' => "'''Ausgewielten {{PLURAL:$1|Evenement|Evenementer}} aus dem Logbuch:'''",
 'revdelete-text' => "'''Geläschte Versiounen oder aner geläschte Bestanddeeler sinn net méi ëffentlech zougänglech, si stinn awer weiderhin an der Versiounsgeschicht vun der Säit.'''
 Aner {{SITENAME}}-Administrateure kënnen de geläschten Inhalt oder aner geläschte Bestanddeeler weiderhi gesinn a restauréieren, et sief, et gouf festgeluecht, datt déi Limitatioune vum Accès och fir Administrateure gëllen.",
@@ -1103,9 +1110,9 @@ Denkt w.e.g drunn datt d'Navigatiounslinken d'Wiel vun de Versiounen nees zréck
 'mergelogpagetext' => 'Lëscht vun de rezenten Zesummeféierunge vu Versiounsgeschichten.',
 
 # Diffs
-'history-title' => 'Versiounshistorique vun „$1“',
-'difference-title' => 'Ënnerscheed tëschent de Versioune vun "$1"',
-'difference-title-multipage' => 'Ënnerscheed tëschent de Säiten "$1" a(n) "$2"',
+'history-title' => '$1: Historique vun de Versiounen',
+'difference-title' => '$1: Ënnerscheed tëschent de Versiounen',
+'difference-title-multipage' => '$1 a(n) $2: Ënnerscheed tëschent de Säiten',
 'difference-multipage' => '(Ënnerscheed tëschent Säiten)',
 'lineno' => 'Linn $1:',
 'compareselectedversions' => 'Ausgewielte Versioune vergläichen',
@@ -1200,6 +1207,7 @@ Denkt w.e.g drunn datt d'Navigatiounslinken d'Wiel vun de Versiounen nees zréck
 'prefs-beta' => 'Beta-Fonctiounen',
 'prefs-datetime' => 'Datum an Auerzäit',
 'prefs-labs' => '"Labs"-Fonctiounen',
+'prefs-user-pages' => 'Benotzersäiten',
 'prefs-personal' => 'Benotzerprofil',
 'prefs-rc' => 'Rezent Ännerungen',
 'prefs-watchlist' => 'Iwwerwaachungslëscht',
@@ -1461,7 +1469,7 @@ Si muss manner wéi $1 {{PLURAL:$1|Zeechen|Zeechen}} hunn.',
 'nchanges' => '$1 {{PLURAL:$1|Ännerung|Ännerungen}}',
 'recentchanges' => 'Rezent Ännerungen',
 'recentchanges-legend' => 'Optioune vun de rezenten Ännerungen',
-'recentchangestext' => "Op dëser Säit kënnt Dir déi rezent Ännerungen op '''{{SITENAME}}''' gesinn.",
+'recentchanges-summary' => "Op dëser Säit kënnt Dir déi rezent Ännerungen op '''{{SITENAME}}''' gesinn.",
 'recentchanges-feed-description' => 'Verfollegt mat dësem Feed déi rezent Ännerungen op {{SITENAME}}.',
 'recentchanges-label-newpage' => 'Dës Ännerung huet eng nei Säit ugeluecht',
 'recentchanges-label-minor' => 'Dëst ass eng kleng Ännerung',
@@ -1654,8 +1662,8 @@ Wann de Problem weider besteet, dann un de [[Special:ListUsers/sysop|Administrat
 'backend-fail-writetemp' => 'Den temporäre Fichier konnt net geännert ginn.',
 'backend-fail-closetemp' => 'Den temporäre Fichier konnt net zougemaach ginn.',
 'backend-fail-read' => 'De Fichier $1 konnt net geliest ginn.',
-'backend-fail-create' => 'De Fichier $1 konnt net ugeluecht ginn.',
-'backend-fail-maxsize' => 'De Fichier $1 konnt net generéiert gi well e méi grouss ass wéi {{PLURAL:$2|ee Byte|$2 Byten}}.',
+'backend-fail-create' => 'De Fichier $1 konnt net geschriwwe ginn.',
+'backend-fail-maxsize' => 'De Fichier $1 konnt net geschriwwe gi well e méi grouss ass wéi {{PLURAL:$2|ee Byte|$2 Byten}}.',
 'backend-fail-readonly' => 'De Späicher-Backend "$1" kann elo nëmme geliest ginn (read-only). De Grond deen ugi gouf war: "$2"',
 
 # Lock manager
index 4f71a7f..e731e91 100644 (file)
@@ -15,7 +15,9 @@
  * @author Migraghvi
  * @author Namik
  * @author Nemo bis
+ * @author Ole Yves
  * @author Reedy
+ * @author Soul Train
  */
 
 $fallback = 'ru';
@@ -27,21 +29,23 @@ $messages = array(
 'tog-hideminor' => 'Мукьвара хьайи дегишвилера авай гъвечIи дуьзар хъувунар чуьнуьхун',
 'tog-hidepatrolled' => 'Мукьвара хьайи дегишвилера авай къаравулвал авунвай дуьзар хъувунар чуьнуьхун',
 'tog-newpageshidepatrolled' => 'ЦIийи ччинрин сиягьда къаравулвал авунвай ччинар чуьнуьхун',
-'tog-extendwatchlist' => 'Чlехи сиягь килигунин, кутазвай вири дегишунар, амма са эхирбур туш',
+'tog-extendwatchlist' => 'ЧӀехи сиягь килигунин, кутазвай вири дегишунар, амма са эхирбур туш',
 'tog-usenewrc' => 'ЦIийи дегишвилерин сиягь кардик кутун (JavaScript герекзава)',
-'tog-numberheadings' => 'КЬилин цIарариз автоматдаказ номерар эцигун',
+'tog-numberheadings' => 'Кьилин цӀарариз автоматдаказ номерар эцигун',
 'tog-showtoolbar' => 'Дуьзар хъувунин алатрин кьвати къалура (JavaScript)',
 'tog-editondblclick' => 'Ччинар кьве тIампIуналди дуьзар хъувун (JavaScript герекзава)',
 'tog-editsection' => 'Пай [дуьзар хъувун] патал элячIун къалура',
 'tog-editsectiononrightclick' => 'Пайдин кьилинцIардиз эрчIи патан тIампI авуна пайдин дуьзар хъувуниз мумкинвал гун (JavaScript герекзава)',
-'tog-showtoc' => 'КЪенеавайбурун сиягь къалурун (3-й гзаф кьилинцIарар авай ччинар патал)',
+'tog-showtoc' => 'Къенеавайбурун сиягь къалурун (3-й гзаф кьилинцӀарар авай ччинар патал)',
 'tog-rememberpassword' => 'И браузерда зи логин рикlел хуьхь (лап гзаф $1 {{PLURAL:$1|югъ|йикъар}})',
 'tog-watchcreations' => 'За туькIуьрнавай ччинар зи гуьзетунин сиягьдиз алава авун',
 'tog-watchdefault' => 'За дуьзар хъувунвай ччинар зи гуьзетунин сиягьдиз алава авун',
 'tog-watchmoves' => 'За тIвар эхцигай ччинар зи гуьзетунин сиягьдиз алава авун',
 'tog-watchdeletion' => 'За алуднавай ччинар зи гуьзетунин сиягьдиз алава авун',
+'tog-minordefault' => 'Авайвилелди, вири дуьзар хъувунар гъвечIи дуьзар хъувунар хьиз лишан авун',
 'tog-previewontop' => 'Сифтедин килигун дуьзар хъувундин дакIардин вилик эцига',
 'tog-previewonfirst' => 'Дуьзар хъувундиз эгечIайла сифтедин килигун къалурун',
+'tog-enotifwatchlistpages' => 'Зи гуьзетунин ччин масакIа хьайила заз эмейл ракъура.',
 'tog-enotifusertalkpages' => 'КЬилди жуван веревирдрин ччина хьанвай дегишвилерикай э-почтадиз чар ракъурун.',
 'tog-oldsig' => 'Алай къул:',
 'tog-showhiddencats' => 'Чуьнуьхай категорияр къалурун',
@@ -52,6 +56,7 @@ $messages = array(
 
 # Font style option in Special:Preferences
 'editfont-style' => 'Дуьзар хъувунин чкадин шрифтдин жуьре',
+'editfont-default' => 'Браузердин низамарунрикай шрифт',
 'editfont-monospace' => 'Моногьяркьуьвилер авай шрифт',
 'editfont-sansserif' => 'КЬацI авачир шрифт',
 'editfont-serif' => 'КьацI авай кхьин',
@@ -64,55 +69,55 @@ $messages = array(
 'thursday' => 'Хемис',
 'friday' => 'Жуьмя',
 'saturday' => 'Киш',
-'sun' => 'Гья',
+'sun' => 'Гьяд',
 'mon' => 'Исл',
 'tue' => 'Сал',
 'wed' => 'Aрб',
 'thu' => 'Xем',
 'fri' => 'Жум',
 'sat' => 'Киш',
-'january' => 'СÑ\83Ñ\8cл',
-'february' => 'Чила',
-'march' => 'ТIÑ\83л',
-'april' => 'Ð\92ил',
-'may_long' => 'мукал',
-'june' => 'Ð\9aÑ\8cамÑ\83г',
-'july' => 'БаскIум',
-'august' => 'Ð\9dава',
-'september' => 'Ð\9cаÑ\80а',
-'october' => 'Ð\91аÑ\81кlÑ\83м',
-'november' => 'Цlехуьл',
-'december' => 'Фандукl',
-'january-gen' => 'Ð\93Ñ\8cеÑ\80',
-'february-gen' => 'Эхем',
-'march-gen' => 'Ð\98бне',
-'april-gen' => 'Ð\9dава',
-'may-gen' => 'ТӀул',
-'june-gen' => 'Ð\9aÑ\8aамÑ\83г',
-'july-gen' => 'Чиле',
-'august-gen' => 'Ð\9fаÑ\85Ñ\83н',
-'september-gen' => 'Ð\9cаÑ\80а',
-'october-gen' => 'Ð\91аÑ\81кÓ\80Ñ\83м',
-'november-gen' => 'ЦӀехуьл',
-'december-gen' => 'ФaндукӀ',
-'jan' => 'Ð\93Ñ\8cе',
-'feb' => 'Эхе',
-'mar' => 'Ð\98бн',
-'apr' => 'Ð\9dав',
-'may' => 'Тlул',
-'jun' => 'Ð\9aÑ\8aа',
-'jul' => 'Чил',
-'aug' => 'Ð\9fаÑ\85Ñ\83н',
-'sep' => 'Ð\9cаÑ\80',
-'oct' => 'Ð\91аÑ\81',
-'nov' => 'Цlе',
-'dec' => 'Фан',
+'january' => 'гÑ\8cеÑ\80 (Ñ\8fнваÑ\80Ñ\8c)',
+'february' => 'эхен (февраль)',
+'march' => 'ибне (маÑ\80Ñ\82)',
+'april' => 'нава (апÑ\80елÑ\8c)',
+'may_long' => 'тӀул (май)',
+'june' => 'кÑ\8cамÑ\83г (иÑ\8eнÑ\8c)',
+'july' => 'чиле (июль)',
+'august' => 'паÑ\85Ñ\83н (авгÑ\83Ñ\81Ñ\82)',
+'september' => 'маÑ\80а (Ñ\81енÑ\82Ñ\8fбÑ\80Ñ\8c)',
+'october' => 'баÑ\81кÓ\80Ñ\83м (окÑ\82Ñ\8fбÑ\80Ñ\8c)',
+'november' => 'цӀехуьл (ноябрь)',
+'december' => 'фундукӀ (декабрь)',
+'january-gen' => 'гÑ\8cеÑ\80 (Ñ\8fнваÑ\80диз)',
+'february-gen' => 'эхен (февралдиз)',
+'march-gen' => 'ибне (маÑ\80Ñ\82диз)',
+'april-gen' => 'нава (апÑ\80елдиз)',
+'may-gen' => 'тӀул (майдиз)',
+'june-gen' => 'кÑ\8cамÑ\83г (иÑ\8eндиз)',
+'july-gen' => 'чиле (июлдиз)',
+'august-gen' => 'паÑ\85Ñ\83н (авгÑ\83Ñ\81Ñ\82диз)',
+'september-gen' => 'маÑ\80а (Ñ\81енÑ\82Ñ\8fбÑ\80диз)',
+'october-gen' => 'баÑ\81кÓ\80Ñ\83м (окÑ\82Ñ\8fбÑ\80диз)',
+'november-gen' => 'цӀехуьл (ноябрдиз)',
+'december-gen' => 'фундукӀ (декабрдиз)',
+'jan' => 'гÑ\8cеÑ\80 (Ñ\8fнваÑ\80Ñ\8c)',
+'feb' => 'эхен (февраль)',
+'mar' => 'ибне (маÑ\80Ñ\82)',
+'apr' => 'нава (апÑ\80елÑ\8c)',
+'may' => 'тӀул (май)',
+'jun' => 'кÑ\8cамÑ\83г (иÑ\8eнÑ\8c)',
+'jul' => 'чиле (июль)',
+'aug' => 'паÑ\85Ñ\83н (авгÑ\83Ñ\81Ñ\82)',
+'sep' => 'маÑ\80а (Ñ\81енÑ\82Ñ\8fбÑ\80Ñ\8c)',
+'oct' => 'баÑ\81кÓ\80Ñ\83м (окÑ\82Ñ\8fбÑ\80Ñ\8c)',
+'nov' => 'цӀехуьл (ноябрь)',
+'dec' => 'фандукl (декабрь)',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|Категория|Категории}}',
 'category_header' => '"$1" категориядин ччинар',
 'subcategories' => 'агъакатегорияр',
-'category-media-header' => '"$1" категорияда медиа',
+'category-media-header' => '"$1" категоридин медиа',
 'category-empty' => "''Алай чIава и категория ичIи я.\"",
 'hidden-categories' => '{{PLURAL:$1|Чуьнуьхай категория |Чуьнуьхай категорияр }}',
 'hidden-category-category' => 'Чуьнуьхай категорияр',
@@ -170,7 +175,7 @@ $messages = array(
 'returnto' => '$1 ччиниз элкъвена хтун',
 'tagline' => '{{SITENAME}} Cайтдихъай',
 'help' => 'Куьмек',
-'search' => 'Жагъурун',
+'search' => 'Жугъурун',
 'searchbutton' => 'Жагъурун',
 'go' => 'ЭлячIун',
 'searcharticle' => 'ЭлячIун',
@@ -200,7 +205,7 @@ $messages = array(
 'specialpage' => 'Куьмекчи ччин',
 'personaltools' => 'Кьилди вичин алатар',
 'postcomment' => 'ЦIйий пай',
-'articlepage' => 'КЪене авайбурун ччиндиз  килигун',
+'articlepage' => 'Къене авайбурун ччиндиз килигун',
 'talk' => 'Веревирд авун',
 'views' => 'Килигунар',
 'toolbox' => 'Алатрин кьвати',
@@ -237,10 +242,10 @@ $messages = array(
 'helppage' => 'Help:Къене авайбур',
 'mainpage' => 'Кьилин ччин',
 'mainpage-description' => 'Кьилин ччин',
-'policy-url' => 'Project:КЪайдаяр',
+'policy-url' => 'Project:Къайдаяр',
 'portal' => 'КIапIалдин портал',
 'portal-url' => 'Project:КIапIалдин портал',
-'privacy' => 'Чинебанвилин политика',
+'privacy' => 'Чинебанвилин сиясат',
 'privacypage' => 'Project:Чинебанвилин политика',
 
 'badaccess' => 'ГЬатунин гъалатlдин',
@@ -299,6 +304,7 @@ $messages = array(
 'missingarticle-rev' => '(жуьре#: $1)',
 'internalerror' => 'КЪенепатан гъалатI',
 'internalerror_info' => 'КЪенепатан гъалатI $1',
+'filerenameerror' => '«$1» файл  «$2» -з тIвар эхцигиз жезвач..',
 'badarticleerror' => 'И ччина и кар кьилиз акъудиз мумкин ттуш.',
 'cannotdelete-title' => ' "$1" ччин алудиз жезвач',
 'badtitle' => 'Ииже текъвер тIвар',
@@ -338,6 +344,7 @@ $messages = array(
 'wrongpasswordempty' => 'Тавакъу ийида, ичIи тушир парол ттур.',
 'mailmypassword' => 'ЦIийи парол Э-мейлдиз къачун',
 'mailerror' => 'Чар ракъурунин гъалатI: $1',
+'emailconfirmlink' => 'Куь электрон почтунин адрес тестикьун.',
 'accountcreated' => 'Аккаунт туькIуьрнава',
 'usernamehasherror' => 'Уртахдин тIвар "диез"дин лишан квачиз хьана кIанзава',
 'loginlanguagelabel' => 'ЧIал: $1',
@@ -398,6 +405,7 @@ $messages = array(
 'showdiff' => 'МасакIавилер къалурун',
 'anoneditwarning' => "'''Дикъет:''' Куьне системадиз жув вуж ятIа лагьанвач. Куь IP-адрес и ччинин масакIавилерин тарихдиз  кхьида.",
 'summary-preview' => 'Сифте килигун паталди:',
+'subject-preview' => 'КьилинцIарцIин сифтедин килигун:',
 'blockedtitle' => 'Иштиракчи блокарнава',
 'blockednoreason' => 'Са себебни ганвач',
 'nosuchsectiontitle' => 'Пай жугъуриз жезвач',
@@ -415,10 +423,13 @@ $messages = array(
 'noarticletext-nopermission' => 'Исятда и  ччина са текстни авач.
 Квевай [[Special:Search/{{PAGENAME}}| и тlвар алай ччин]] муькуь ччинра жугъуриз ва я
 <span class="plainlinks"> [{{fullurl: {{# Special:Log}} | page = {{FULLPAGENAMEE}}}} журналрин талукь тир кхьей затIар жугъуриз] жеда.',
+'blocked-notice-logextract' => 'И уртах алайчIава блокарнава.
+Агъадихъ блокарунин журналдикай эхиримжи кхьинар къалурнава:',
 'previewnote' => "'''Рикlел хуьх хьи, им анжах сифтедин килигун я.'''  
 Куь масакIавилер гьеле хвенвач!",
 'editing' => '$1 Дуьзар хъувун',
 'editingsection' => 'Дуьзар хъувун $1  (пай)',
+'editingcomment' => '$1 дуьзар хъувун (цIийи пай)',
 'editconflict' => 'Дуьзар хъувунрин акьунар: $1',
 'yourtext' => 'Зи текст',
 'yourdiff' => 'Тафаватар',
@@ -515,7 +526,7 @@ $messages = array(
 'history-title' => '$1  -  масакIавилерин тарих',
 'lineno' => 'ЦIар $1:',
 'compareselectedversions' => 'Хкягъай жуьреяр гекъигун',
-'editundo' => 'Ð\93ьич авун',
+'editundo' => 'гьич авун',
 'diff-multi' => '({{PLURAL:$2|Са уртах|$2 уртахар}} патал авунвай {{PLURAL:$1|са арадин жуьре|$1 арадин жуьреяр}} къалурнавач)',
 
 # Search results
@@ -532,7 +543,7 @@ $messages = array(
 'nextn' => 'Гуьгъуьнин {{PLURAL:$1|$1}}',
 'prevn-title' => 'Вилик фейи  $1 {{PLURAL:$1|нетижа|нетижаяр}}',
 'nextn-title' => 'КЪведай $1 {{PLURAL:$1|нетижа|нетижаяр}}',
-'shown-title' => 'Ччина $1 {{PLURAL:$1|нетижа|нетижаяр}} къалура',
+'shown-title' => 'Ччина $1 {{PLURAL:$1|нетижа|нетижа}} къалурун',
 'viewprevnext' => 'Килигун ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-legend' => 'Жагъурунин низамарунар',
 'searchmenu-exists' => "'''И вики-проектда \"[[:\$1]]\" тlвар алай ччин ава.'''",
@@ -548,7 +559,7 @@ $messages = array(
 'searchprofile-images-tooltip' => 'Файлар жугъура',
 'searchprofile-everything-tooltip' => 'Вири ччинра къекъуьгъ (веревирдрин ччинар кваз)',
 'searchprofile-advanced-tooltip' => 'Ганвай тlварарин генгвилера къекъуьгъ',
-'search-result-size' => '$1 ({{PLURAL:$2|1 гаф|$2 гафар}})',
+'search-result-size' => '$1 ({{PLURAL:$2|1 гаф|$2 гаф}})',
 'search-result-category-size' => '{{PLURAL:$1|1 элемент|$1 элементар}} ({{PLURAL:$2|1 агъакатегория|$2 агъакатегорияр}}, {{PLURAL:$3|1 файл|$3 файлар}})',
 'search-redirect' => '(рахкъурун $1)',
 'search-section' => '(пай $1)',
@@ -631,13 +642,14 @@ $messages = array(
 'timezoneregion-pacific' => 'Секин чIехи гуьл',
 'prefs-files' => 'Шикил',
 'youremail' => 'Электрон почта:',
-'username' => 'Ð\98Ñ\88лемиÑ\88Ñ\87идин Ñ\82lар',
+'username' => 'УÑ\80Ñ\82аÑ\85дин Ñ\82Ó\80вар',
 'uid' => 'Уртах тайин ийидайди:',
 'yourrealname' => 'Xалис тIвар:',
 'yourlanguage' => 'ЧIалар',
+'yournick' => 'ЦӀийи къул:',
 'yourgender' => 'Жинс:',
 'gender-male' => 'итимдин',
-'gender-female' => 'Фамили',
+'gender-female' => 'папаÑ\80ин',
 'email' => 'E-mail',
 'prefs-help-email' => 'Электрон почтунин адрес кхьи  мажбури туш, амма куьне парол рикIелай ракъурдатIа, ам герек жеда.',
 'prefs-help-email-others' => 'Квевай куь уртахдин, ва я куь веревирдрин ччина элячIун къалурна муькуь уртахар галаз электрон почтадин куькмедалди алакъа хуьз жеда.
@@ -702,10 +714,10 @@ $messages = array(
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|масакIавал|масакIавилер}}',
-'recentchanges' => 'Mукьвара хьайи масакIавилер',
+'recentchanges' => 'Mукьвара хьайи масакӀавилер',
 'recentchanges-legend' => 'Цlийи масакIавилерин низамарунар',
-'recentchangestext' => 'Викида хьанвай эхиримжи масакIавилер и ччина гуьзетун',
-'recentchanges-feed-description' => 'Ð\98 Ñ\85вала Ð²Ð¸ÐºÐ¸Ð´Ð° Ñ\85Ñ\8cанвай Ñ\8dÑ\85иÑ\80имжи Ð¼Ð°Ñ\81акIавилеÑ\80 Ð³Ñ\83Ñ\8cзеÑ\82Ñ\83н',
+'recentchanges-summary' => 'Викида хьанвай эхиримжи масакIавилер и ччина гуьзетун',
+'recentchanges-feed-description' => 'Ð\98 Ñ\85вала Ð²Ð¸ÐºÐ¸Ð´Ð° Ñ\85Ñ\8cанвай Ñ\8dÑ\85иÑ\80имжи Ð¼Ð°Ñ\81акIавилеÑ\80 Ð²Ð¸Ð»Ð¸Ð² Ñ\85Ñ\83Ñ\8cн',
 'recentchanges-label-newpage' => 'И дуьзар хъувун  цlийи ччин туькlуьрна',
 'recentchanges-label-minor' => 'Им гъвечlи дуьзар хъувун я',
 'recentchanges-label-bot' => 'И дуьзар хъувун ботди авунвайд я',
@@ -737,7 +749,7 @@ $messages = array(
 'recentchangeslinked-toolbox' => 'Галкlанвай масакIавилер',
 'recentchangeslinked-title' => '"$1" галаз галкlанавай масакIавилер',
 'recentchangeslinked-noresult' => 'Ганвай чlава галкlанавай ччинра са масакIавални хьанвайд туш',
-'recentchangeslinked-summary' => 'Ð\98м ÐºÑ\8aалÑ\83Ñ\80ай Ñ\87Ñ\87иниз (ва Ñ\8f ÐºÑ\8aалÑ\83Ñ\80ай ÐºÐ°Ñ\82егоÑ\80иÑ\8fдиз Ð³Ñ\8cаÑ\82завай Ñ\87Ñ\87инÑ\80из) Ñ\8dлÑ\8fÑ\87Iзавай Ñ\87Ñ\87инÑ\80а Ð¼Ñ\83кÑ\8cваÑ\80а Ñ\85Ñ\8cайи Ð¼Ð°Ñ\81акIавилеÑ\80ин Ñ\81иÑ\8fгÑ\8c Ñ\8f. Ð\9aÑ\83Ñ\8c [[Special:Watchlist| Ð³Ñ\83Ñ\8cзеÑ\82Ñ\83нин Ñ\81иÑ\8fгÑ\8c  ]]диз гьатзавай  ччинар яцlу шрифтдал къалурнава.',
+'recentchangeslinked-summary' => 'Ð\98м ÐºÑ\8aалÑ\83Ñ\80ай Ñ\87Ñ\87иниз (ва Ñ\8f ÐºÑ\8aалÑ\83Ñ\80ай ÐºÐ°Ñ\82егоÑ\80иÑ\8fдиз Ð³Ñ\8cаÑ\82завай Ñ\87Ñ\87инÑ\80из) Ñ\8dлÑ\8fÑ\87Iзавай Ñ\87Ñ\87инÑ\80а Ð¼Ñ\83кÑ\8cваÑ\80а Ñ\85Ñ\8cайи Ð¼Ð°Ñ\81акIавилеÑ\80ин Ñ\81иÑ\8fгÑ\8c Ñ\8f. Ð\9aÑ\83Ñ\8c [[Special:Watchlist| Ð²Ð¸Ð»Ð¸Ð² Ñ\85Ñ\83Ñ\8cнин Ñ\81иÑ\8fгÑ\8c ]]диз гьатзавай  ччинар яцlу шрифтдал къалурнава.',
 'recentchangeslinked-page' => 'Ччинин тlвар:',
 'recentchangeslinked-to' => 'Аксина, къалурай ччиниз элячlзавай ччинра масакIавилер къалура',
 
@@ -773,7 +785,7 @@ $messages = array(
 # img_auth script messages
 'img-auth-accessdenied' => 'Гьахьун къадагъа авунва',
 
-'license' => 'Лицензиа авун:',
+'license' => 'Лицензиярун',
 'license-header' => 'Лицинзиярун',
 'nolicense' => 'ЗатIни хкягънавач',
 'license-nopreview' => '(Сифтедин килигун авайд ттуш)',
@@ -895,7 +907,7 @@ $messages = array(
 'allpagessubmit' => 'ЭлячIун',
 
 # Special:Categories
-'categories' => 'Тlаб',
+'categories' => 'Ð\9aаÑ\82егоÑ\80иÑ\8fÑ\80',
 
 # Special:LinkSearch
 'linksearch' => 'КЪецепатан элячIунар жугъурун',
@@ -926,17 +938,17 @@ $messages = array(
 'emailsend' => 'Ракъурун',
 
 # Watchlist
-'watchlist' => 'Ð\97и Ð³Ñ\83Ñ\8cзеÑ\82Ñ\83нин сиягь',
-'mywatchlist' => 'Ð\97и Ð³Ñ\83Ñ\8cзеÑ\82Ñ\83нин сиягь',
+'watchlist' => 'Ð\97и Ð²Ð¸Ð»Ð¸Ð² Ñ\85Ñ\83Ñ\8cнин сиягь',
+'mywatchlist' => 'Ð\97и Ð²Ð¸Ð»Ð¸Ð² Ñ\85Ñ\83Ñ\8cнин сиягь',
 'watchlistfor2' => '$1 $2 патал',
 'addedwatchtext' => "Чар \"[[:\$1]]\" тун хъувунай куьн [[Special:Watchlist|watchlist]].                                                                                                             Къвезмай дегишунар и чарчел ва галкlанавай чарчихъ ихтилатар жеда инна, ахъатдава \"сакlус яцlу''''' инна [[Special:RecentChanges|list of recent changes]] гьам кьизил авун.",
 'removedwatchtext' => 'Чар "[[:$1]]" Идай чlурнай [[Special:Watchlist|ахтармишунин цlарар]].',
-'watch' => 'Ð\93Ñ\83Ñ\8cзеÑ\82Ñ\83н',
+'watch' => 'Ð\92илив Ñ\85Ñ\83Ñ\8cн',
 'watchthispage' => 'Гелкъуьн и хъувун',
-'unwatch' => 'Ð\93Ñ\83Ñ\8cзеÑ\82 Ð¸Ð¹Ð¸мир',
-'watchlist-details' => 'Ð\9aÑ\83Ñ\8c Ð³Ñ\83Ñ\8cзеÑ\82Ñ\83нин Ñ\81иÑ\8fгÑ\8cда {{PLURAL:$1|$1 Ñ\87Ñ\87ин|$1 Ñ\87Ñ\87инаÑ\80}}, веревирдрин ччинар квачиз.',
+'unwatch' => 'Ð\92илив Ñ\85Ñ\83Ñ\8cмир',
+'watchlist-details' => 'Ð\9aÑ\83Ñ\8c Ð²Ð¸Ð»Ð¸Ð² Ñ\85Ñ\83Ñ\8cнин Ñ\81иÑ\8fгÑ\8cда {{PLURAL:$1|$1 Ñ\87Ñ\87ин|$1 Ñ\87Ñ\87ин}} Ð°Ð²Ð°Ð¹Ð´Ð¸ Ñ\8f, веревирдрин ччинар квачиз.',
 'wlshowlast' => 'Эхиримжи $1 сят $2 югъ $3 къалура',
-'watchlist-options' => 'Ð\93Ñ\83Ñ\8cзеÑ\82Ñ\83нин сиягьдин низамарунар',
+'watchlist-options' => 'Ð\92илив Ñ\85Ñ\83Ñ\8cнин сиягьдин низамарунар',
 
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'Килигун...',
@@ -1014,7 +1026,7 @@ $messages = array(
 # Contributions
 'contributions' => 'Уртахди кутур крар',
 'contributions-title' => '$1 уртахдин кутур крар',
-'mycontris' => 'За кутур крар',
+'mycontris' => 'За кутур кар',
 'contribsub2' => '($1)-ин кутур пай  ($2)',
 'uctop' => '(вини кьил)',
 'month' => ' Вацралай (ва адалай вилик)',
@@ -1120,10 +1132,10 @@ $messages = array(
 'import-token-mismatch' => 'Сеансдин  ганайбур квахьнава. Тавакъу ийида, мадни алахъун ая.',
 
 # Tooltip help for the actions
-'tooltip-pt-userpage' => 'Куь ишлемишзавайдин ччин',
+'tooltip-pt-userpage' => 'Куьн (уртахдин) ччин',
 'tooltip-pt-mytalk' => 'Куь веревирдрин ччин',
 'tooltip-pt-preferences' => 'Куь низамарунар',
-'tooltip-pt-watchlist' => 'Ð\9aÑ\83Ñ\8cне Ð³Ñ\83Ñ\8cзеÑ\82завай ччинрин сиягь',
+'tooltip-pt-watchlist' => 'Ð\9aÑ\83Ñ\8cне Ð²Ð¸Ð»Ð¸Ð² Ñ\85Ñ\83Ñ\8cзвай ччинрин сиягь',
 'tooltip-pt-mycontris' => 'Куьне авунвай дуьзар хъувунрин сиягь',
 'tooltip-pt-login' => 'Квез гьахьиз теклифзава, анжах им мажбури туш',
 'tooltip-pt-logout' => 'ЭкъечIун',
@@ -1135,19 +1147,19 @@ $messages = array(
 'tooltip-ca-protect' => 'И ччин хуьн',
 'tooltip-ca-delete' => 'И ччин алудун',
 'tooltip-ca-move' => 'Ччиндин тIвар масакIа авун',
-'tooltip-ca-watch' => 'Ð\98 Ñ\87Ñ\87ин ÐºÑ\83Ñ\8c Ð³Ñ\83Ñ\8cзеÑ\82Ñ\83нин сиягьдиз алава авун',
-'tooltip-ca-unwatch' => 'Ð\98 Ñ\87Ñ\87ин ÐºÑ\83Ñ\8c Ð³Ñ\83Ñ\8cзеÑ\82Ñ\83нин Ñ\81иÑ\8fгÑ\8cдал къахчун',
-'tooltip-search' => 'И гаф жагъурун {{SITENAME}}',
+'tooltip-ca-watch' => 'Ð\98 Ñ\87Ñ\87ин ÐºÑ\83Ñ\8c Ð²Ð¸Ð»Ð¸Ð² Ñ\85Ñ\83Ñ\8cнин сиягьдиз алава авун',
+'tooltip-ca-unwatch' => 'Ð\98 Ñ\87Ñ\87ин ÐºÑ\83Ñ\8c Ð²Ð¸Ð»Ð¸Ð² Ñ\85Ñ\83Ñ\8cнин Ñ\81иÑ\8fгÑ\8cдай къахчун',
+'tooltip-search' => '{{SITENAME}} къекъуьн',
 'tooltip-search-go' => 'АватIа, гьа и тIвар авай ччиниз элячIун',
-'tooltip-search-fulltext' => 'Къалурай текст авай ччинар жугъура',
+'tooltip-search-fulltext' => 'Къалурай текст авай ччинар жугъурун',
 'tooltip-p-logo' => 'Кьилин ччиниз элячIун',
-'tooltip-n-mainpage' => 'Ð\9aÑ\8cилин Ñ\87Ñ\87индиз Ñ\8dлÑ\8fÑ\87\83н',
+'tooltip-n-mainpage' => 'Кьилин ччиниз элячIун',
 'tooltip-n-mainpage-description' => 'Кьилин ччиндиз элячIун',
 'tooltip-n-portal' => 'Проектдикай,  квевай вуч йийз алакьда, са вуч ятIани гьинай жугъурда',
 'tooltip-n-currentevents' => 'Алай вакъийрин сиягь',
 'tooltip-n-recentchanges' => 'Викида мукьвара хьайи масакIавилерин сиягь',
 'tooltip-n-randompage' => 'Дуьшуьшдин чин ппарун',
-'tooltip-n-help' => 'Жагъурдай чка',
+'tooltip-n-help' => 'Жагъурун патал чка',
 'tooltip-t-whatlinkshere' => 'Иниз элячIзавай викидин вири  ччинрин сиягь',
 'tooltip-t-recentchangeslinked' => 'И ччиндиз элячIзавай ччинра  мукьвара хьайи масакIавилер',
 'tooltip-feed-rss' => 'RSS  хуьрек и чарчиз',
@@ -1170,7 +1182,7 @@ $messages = array(
 'tooltip-preview' => 'Ччин хуьдалди вилик, сифте килигун кардик кутун тавакъу ийизва',
 'tooltip-diff' => 'Сифте кьилин текстдиз талукь тир куьне авунвай масакIавилер къалурун',
 'tooltip-compareselectedversions' => 'И ччинин кьве хкягъай жуьрейрин арада авай тафаватдиз килигун',
-'tooltip-watch' => 'Ð\98 Ñ\87Ñ\87ин ÐºÑ\83Ñ\8c Ð³Ñ\83Ñ\8cзеÑ\82Ñ\83нин сиягьдиз алава авун',
+'tooltip-watch' => 'Ð\98 Ñ\87Ñ\87ин ÐºÑ\83Ñ\8c Ð²Ð¸Ð»Ð¸Ð² Ñ\85Ñ\83Ñ\8cнин сиягьдиз алава авун',
 'tooltip-rollback' => '« КЬулухъди чIугун »  и ччиндиз эхиримжи кар кутазвайди патай  авунвай дуьзар хъувунар са т!ампуналди  paxкурзава',
 'tooltip-undo' => '«Гьич авун»  авунвай дуьзар хъувун paxкурзава ва сифтедин килигунин режимда  дуьзар хъувундин форма ахъа йийзва. Им нетижадиз себеб алава йийз мумкинвал гузва',
 'tooltip-summary' => 'Куьруь нетижа гьадрун',
@@ -1248,20 +1260,7 @@ Cиягьда авай анжах (* лишандихъ галаз эгечIза
 'limitall' => 'вири',
 
 # action=purge
-'confirm_purge_button' => 'Э(кхьин)
-
-
-
-
-
-
-
-
-
-
-
-
-9',
+'confirm_purge_button' => 'ЭХь',
 'confirm-purge-top' => 'И ччинин кэш алуддани?',
 
 # action=watch/unwatch
@@ -1315,14 +1314,14 @@ Cиягьда авай анжах (* лишандихъ галаз эгечIза
 'specialpages' => 'КьетIен  ччинар',
 
 # External image whitelist
-'external_image_whitelist' => ' #И цIар авайд хьиз тур</pre>
-#Агъада вахт акадар тийиз жезвай (гьамиша къайдадалди ) лугьунрин кьатIар эцига (// арада авай кIус).
+'external_image_whitelist' => ' #И цӀар авайд хьиз тур<pre>
+#Агъада вахт акадар тийиз жезвай (гьамиша къайдадалди) лугьунрин кьатӀар эцига (// арада авай кӀус).
 #Ибур кьецепатан суьретрин URL галаз гекъигда.
-#Дуьзкъвезвайбур суьретар хьиз къалурда, муькуьбур суьретриз тухузвай элячIунар хьиз къалурда.
-# "#" галаз эгечIзавай цIарариз къейдериз хьиз килигда.
-#ЦIарар регистрдиз фад кьатIудайбур я.
+#Дуьзкъвезвайбур суьретар хьиз къалурда, муькуьбур суьретриз тухузвай элячӀунар хьиз къалурда.
+#«#» галаз эгечӀзавай цӀарариз къейдериз хьиз килигда.
+#ЦӀарар регистрдиз фад кьатӀудайбур я.
 
-#ЦIарцин винел вири вахт акадар тийиз жезвай лугьунрин кьатIар эцига.И цIар авайд хьиз тур</pre>',
+#ЦӀарцин винел вири вахт акадар тийиз жезвай лугьунрин кьатӀар эцига. И цӀар авайд хьиз тур</pre>',
 
 # Special:Tags
 'tag-filter' => '[[Special:Tags|Tag]] куьзунаг:',
index c5f20af..024c56a 100644 (file)
@@ -504,7 +504,7 @@ La arcivo de sutraes per esta paje es asi per conveni:",
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|cambia|cambias}}',
 'recentchanges' => 'Cambias resente',
-'recentchangestext' => 'Asi la lista de cambias resente en la vici.',
+'recentchanges-summary' => 'Asi la lista de cambias resente en la vici.',
 'recentchanges-feed-description' => 'Seque la cambias plu resente a la vici en esta flue.',
 'rcnote' => 'Su es {{PLURAL:$1|cambia|cambias}} en la presedente {{PLURAL:$2|dia|dias}}, en $5, $4.',
 'rcnotefrom' => "A su es la cambias de '''$2''' (asta '''$1''' es mostrada).",
index 3eeb620..88b41b4 100644 (file)
@@ -915,7 +915,7 @@ W'owandikira by'onoonya bw'osoosawo akagambo ''all:'', okunoonya kubuna Wikipedi
 'nchanges' => '{{PLURAL:$1|Olukyukakyuka|Nkyukakyuka}} $1',
 'recentchanges' => 'Ebyakakyusibwa',
 'recentchanges-legend' => "Awategekerwa endaga y'ebyakakyusibwa",
-'recentchangestext' => "Goberera enkyukakyuka empya ez'oku lupapula luno",
+'recentchanges-summary' => "Goberera enkyukakyuka empya ez'oku lupapula luno",
 'recentchanges-feed-description' => "Kozesa omukutu guno okugoberera enkyukakyuka empya ez'oku wiki",
 'rcnote' => "Wano olaba {{PLURAL:$1|olukyukakyuka '''1''' olukoledwawo|enkyukakyuka '''$1''' ezikoledwawo}} mu {{PLURAL:$2|lunaku olwakayita|naku '''$2''' ezaakayita}}. Bino byategeerese ku ssaawa $5 nga $4.",
 'rclistfrom' => 'Laga enkyukakyuka empya ezikoledwa okuva $1',
index 38ebaca..c01f498 100644 (file)
@@ -55,7 +55,7 @@ $specialPageAliases = array(
        'Allmessages'               => array( 'Alle_berichte' ),
        'Allpages'                  => array( 'Alle_pagina\'s' ),
        'Ancientpages'              => array( 'Audste_pagina\'s' ),
-       'Blankpage'                 => array( 'Laege_pagina\'s' ),
+       'Blankpage'                 => array( 'Laeg_pagina\'s' ),
        'Block'                     => array( 'Blokkere' ),
        'Blockme'                   => array( 'Blokkeer_mich' ),
        'Booksources'               => array( 'Bookwinkele' ),
@@ -543,6 +543,8 @@ De gegaeve ree is ''$2''.",
 'filereadonlyerror' => '\'t Waar neet meugelik óm \'t bestandj "$1" aan te passe went de bestandjsrepositoir "$2" steit noe op allein-laeze.
 
 d\'n Opgegaeve raej vanne sloetendje admin waar "\'\'$3\'\'".',
+'invalidtitle-knownnamespace' => 'Óngèljige titel mit naamruumdje "$2" en teks "$3"',
+'invalidtitle-unknownnamespace' => 'Óngèljige titel mit ónbekèndj naamruumdenómmer $1 en teks "$2"',
 
 # Virus scanner
 'virus-badscanner' => "Slechte configuratie: onbekenge virusscanner: ''$1''",
@@ -819,6 +821,7 @@ Lèt op: dien eige .css- en .js-pagina's beginne mèt  'ne klein lètter, beveur
 'updated' => '(Biegewèrk)',
 'note' => "'''Opmirking:'''",
 'previewnote' => "'''Lèt op: dit is 'n controlepagina; dien teks is nog neet opgesjlage!'''",
+'continue-editing' => 'Gank dórch mit bewirke',
 'previewconflict' => "Dees versie toent wie de tèks in 't bôvesjte vèld oet git zeen es e zouws opsjlaon.",
 'session_fail_preview' => "'''Sorry! Dien bewerking is neet verwerkt omdat sessiegegevens verlaore zeen gegaon.
 Probeer 't opnieuw. Als 't dan nog neet lukt, meldt dich dan aaf en weer aan.'''",
@@ -905,6 +908,12 @@ Dees parameters zeen eweggelaote.",
 'parser-template-loop-warning' => "D'r is 'ne krinkloup in sjablone geconstateerd: [[$1]]",
 'parser-template-recursion-depth-warning' => 'De recursiedeepte veur sjablone is euversjrede ($1)',
 'language-converter-depth-warning' => 'De deepdjelimiet veure spraokómzètter is euversjreje ($1)',
+'node-count-exceeded-category' => "Pagina's wo 't maximaal aantal nodes te väöl is",
+'node-count-exceeded-warning' => "Oppe paasj is 't maximaal aantal nodes te väöl",
+'expansion-depth-exceeded-category' => "Pagina's wo de expansiedeepdje te väöl is",
+'expansion-depth-exceeded-warning' => 'De paasj haet te väöl sjablone',
+'parser-unstrip-loop-warning' => 'Unstriplus gevónje',
+'parser-unstrip-recursion-limit' => 'Unstriprecursielimiet te väöl ($1)',
 
 # "Undo" feature
 'undo-success' => "Hiej onger stuit de teks wo in de verangering ongedaon gemaak is. Controleer veur 't opslaon of 't resultaot gewins is.",
@@ -1082,7 +1091,9 @@ Wees zeker det deze wieziging de gesjiedenisdoorloupendheid van de pagina zal be
 'mergelogpagetext' => "Hiejonger zuut geer 'ne lies van recente samevoeginge van 'ne paginagesjiedenis nao 'ne angere.",
 
 # Diffs
-'history-title' => 'Gesjiedenis van "$1"',
+'history-title' => '$1: bewèrkingseuverzich',
+'difference-title' => '$1 versjèl tösje versies',
+'difference-title-multipage' => "$1 en $2: versjèl tösje pagina's",
 'difference-multipage' => '(Versjil tösje paazjes)',
 'lineno' => 'Tekslien $1:',
 'compareselectedversions' => 'Vergeliek geselecteerde versies',
@@ -1181,6 +1192,7 @@ Mèrk op dat hun indexe van {{SITENAME}} content e bietje gedatierd kint zien.',
 'prefs-beta' => 'Bètadeil',
 'prefs-datetime' => 'Datum en tied',
 'prefs-labs' => 'Alfadeil',
+'prefs-user-pages' => "Gebroekerpagina's",
 'prefs-personal' => 'Gebroekersinfo',
 'prefs-rc' => 'Recènte verangeringe en weergaaf van sjtumpkes',
 'prefs-watchlist' => 'Volglies',
@@ -1444,7 +1456,7 @@ Deze informatie is zichbaar veur angere gebroekers.',
 'nchanges' => '$1 {{PLURAL:$1|bewerking|bewerkinge}}',
 'recentchanges' => 'Lètste verangeringe',
 'recentchanges-legend' => 'Opties veur recènte verangeringe',
-'recentchangestext' => 'op dees pagina kins doe de recènte verangeringe in deze wiki bekieke.',
+'recentchanges-summary' => 'Volg de recènste bewirkinge op deze wiki op dees pagina.',
 'recentchanges-feed-description' => 'Volg de meis recente bewerkinge in deze wiki via deze feed.',
 'recentchanges-label-newpage' => "Mit dees verangering is 'n nuuj pagina aangemaak",
 'recentchanges-label-minor' => "Dit is 'n klein bewirking",
@@ -1634,14 +1646,15 @@ Gank trök nao t [[Special:Upload/stash/$1|uploadformuleer]] om dit perbleem te
 'backend-fail-writetemp' => "'t Waes neet mäögelik nao 'n tiedelik besjtand te sjrieve.",
 'backend-fail-closetemp' => "'t Waes neet mäögelik 'n tiedelik besjtand te sjlete.",
 'backend-fail-read' => 'Kós bestjand $1 neet laeze.',
-'backend-fail-create' => 'Kós bestjand $1 neet aanmake.',
-'backend-fail-maxsize' => "'t Waar neet meugelik 't bestandj $1 aan te make went 't is grótter es {{PLURAL:$2|eine byte|$2 byte}}.",
+'backend-fail-create' => 'Kós bestandj $1 neet sjrieve.',
+'backend-fail-maxsize' => "'t Waar neet meugelik 't bestandj $1 te besjrieve went 't is grótter es {{PLURAL:$2|eine byte|$2 byte}}.",
 'backend-fail-readonly' => 'Vannen opslaag "$1" kin op dit memènt allein gelaeze waere. De opgegaeve raeje is: "$2"',
 'backend-fail-synced' => '\'t Bestandj "$1" bevindj zich in \'nen ónsamehangendje toestandj inne intern opslaagbackends.',
 'backend-fail-connect' => 'Kós de bestandjsbackend neet verbinje mitte opslaagbackend "$1".',
 'backend-fail-internal' => '\'n Ónbekèndje fout is ópgetaoje innen opslaagbackend "$1".',
 'backend-fail-contenttype' => 'Kós \'t inhawdtype van \'t bestnadj óm es "$1" op te slaon neet bepaole.',
 'backend-fail-batchsize' => 'Reiks van $1 {{PLURAL:$1|bestandjsoperatie|bestandjsoperaties}} in de opslaagbackend; de limiet is $2 {{PLURAL:$2|operatie|operaties}}.',
+'backend-fail-usable' => "Kós 't bestandj $1 neet besjraeve vanwaenge te mèn rèchte of aafwaezige mappe/kóntaeners.",
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Kós neet verbinje mit de journaaldatabase veur de opslaagbackend "$1".',
@@ -2864,7 +2877,7 @@ $1",
 
 # Media information
 'mediawarning' => "'''Waorsjuwing''': Dit bestandj kin 'n anger kood höbbe, door 't te doorveure in dien systeem kin 't gecompromeerde dinger oplevere.",
-'imagemaxsize' => "Meximale aafbeildjingsaafmaeting:<br/>''(veur besjrievingspaasj)''",
+'imagemaxsize' => "Meximaal aafbeildjingsaafmaeting:<br />''(veur besjrievingspaasj)''",
 'thumbsize' => 'Gruutde vanne thumbnail:',
 'widthheightpage' => "$1 × $2, $3 {{PLURAL:$3|pazjena|pazjena's}}",
 'file-info' => 'bestandsgruutde: $1, MIME-type: $2',
index 48376fb..8d0a9cd 100644 (file)
@@ -665,7 +665,7 @@ Leggenda: (corr) = differense co-a verscion corrente, (prec) = differense co-a v
 'nchanges' => '$1 {{PLURAL:$1|modiffica|modiffiche}}',
 'recentchanges' => 'Ùrtimi cangiamenti',
 'recentchanges-legend' => 'Inpostaçioìn de lìùrtimi cangiaménti',
-'recentchangestext' => "Questa pàgina a g'ha di càngi ciù reçenti a-i contegnûi do scîto.",
+'recentchanges-summary' => "Questa pàgina a g'ha di càngi ciù reçenti a-i contegnûi do scîto.",
 'recentchanges-feed-description' => "Questo feed o g'ha di cangiaménti ciù reçenti a-i contegnûi do scîto.",
 'recentchanges-label-newpage' => "Sto cangiaménto o l'à creòu 'na pàgina nêuva",
 'recentchanges-label-minor' => 'Cangiamento minô (m)',
index c2c9750..141c05e 100644 (file)
@@ -383,7 +383,7 @@ Legend: '''({{int:cur}})''' = vaiţīd līdzinţõmizõks lǟndz redaktsijõks,,
 'nchanges' => '$1 {{PLURAL:$1|mõitõks|mõitõkst}}',
 'recentchanges' => 'Perrizt mõitõkst',
 'recentchanges-legend' => 'Perrizt mõitõkst',
-'recentchangestext' => 'Vaņ sīe līed pǟl tīedõd perīži mõitõkši.',
+'recentchanges-summary' => 'Vaņ sīe līed pǟl tīedõd perīži mõitõkši.',
 'recentchanges-feed-description' => 'Vaņ iļ vikipēdijõz tīedõd perīži mõitõkši.',
 'recentchanges-label-newpage' => 'Se mõitõks luoi ūd līed',
 'recentchanges-label-minor' => 'Se um ikš piški parāmtimi',
index 1ccd9ce..3ac73c3 100644 (file)
@@ -739,7 +739,7 @@ Pröa a giuntagh denanz a la tò ricerca ''all:'' per cercà in tücc i namespac
 'nchanges' => '$1 {{PLURAL:$1|mudifega|mudifegh}}',
 'recentchanges' => 'Cambiament recent',
 'recentchanges-legend' => 'Upzión ültem mudifegh',
-'recentchangestext' => "In quela pagina chì a gh'è i cambiament püssee recent al cuntegnüü del sit.",
+'recentchanges-summary' => "In quela pagina chì a gh'è i cambiament püssee recent al cuntegnüü del sit.",
 'recentchanges-feed-description' => "Quel feed chì 'l mustra i mudifegh püssee recent ai cuntegnüü de la wiki.",
 'recentchanges-label-newpage' => "Quela mudifega chì l'ha creaa una pagina növa",
 'recentchanges-label-minor' => "Quela chì l'è una mudifega piscinina.",
index 9eb5252..9669b31 100644 (file)
@@ -543,7 +543,7 @@ $messages = array(
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|ການປ່ຽນແປງ|ການປ່ຽນແປງ}}',
 'recentchanges' => 'ການດັດແກ້ຫຼ້າສຸດ',
-'recentchangestext' => 'ເບິ່ງ ການປ່ຽນແປງ ຫຼ້າສຸດ ຢູ່ ໜ້າວິກີນີ້.',
+'recentchanges-summary' => 'ເບິ່ງ ການປ່ຽນແປງ ຫຼ້າສຸດ ຢູ່ ໜ້າວິກີນີ້.',
 'recentchanges-feed-description' => 'ນຳເບິ່ງການປ່ຽນແປງຫຼ້າສຸດຢູ່ ວິກິນີ້ ໃນ ຟີດ',
 'rcnote' => "ທາງລຸ່ມ {{PLURAL:$1|ແມ່ນ'''1''' ການປ່ຽນແປງ|ແມ່ນ '''$1''' ການປ່ຽນແປງຫຼ້າສຸດ}} ໃນ {{PLURAL:$2|ມື້|'''$2''' ມື້}}, ເມື່ອ $3.",
 'rclistfrom' => 'ສະແດງ ການປ່ຽນແປງ ເລີ່ມແຕ່  $1',
index 6df4a0a..f82e0be 100644 (file)
@@ -562,8 +562,11 @@ $2',
 'ns-specialprotected' => 'Specialieji puslapiai negali būti redaguojami.',
 'titleprotected' => "[[User:$1|$1]] apsaugojo šį pavadinimą nuo sukūrimo.
 Nurodyta priežastis yra ''$2''.",
-'filereadonlyerror' => 'Neįmanoma pakeisti failo " $1 " nes failų saugykla " $2 " yra nustatyta tik skaitymo režimu.
-Ją užrakinęs administratorius pateikė šį paaiškinimą: " $3 ".',
+'filereadonlyerror' => 'Neįmanoma pakeisti failo "$1" nes failų saugykla "$2" yra nustatyta tik skaitymo režimu.
+
+Ją užrakinęs administratorius pateikė šį paaiškinimą: "$3".',
+'invalidtitle-knownnamespace' => 'Klaidingas pavadinimas vardų erdvėje "$2" ir tekstu "$3"',
+'invalidtitle-unknownnamespace' => 'Klaidingas pavadinimas nežinomoje vardų erdvėje numeriu $1 ir tekstu "$2"',
 
 # Virus scanner
 'virus-badscanner' => "Neleistina konfigūracija: nežinomas virusų skeneris: ''$1''",
@@ -1111,6 +1114,8 @@ Prašome patikrinti sąrašus.',
 
 # Diffs
 'history-title' => '„$1“ versijų istorija',
+'difference-title' => '$1: Skirtumas tarp redakcijų',
+'difference-title-multipage' => '$1 ir $2: Skirtumas tarp puslapių',
 'difference-multipage' => '(Skirtumai tarp puslapių)',
 'lineno' => 'Eilutė $1:',
 'compareselectedversions' => 'Palyginti pasirinktas versijas',
@@ -1469,7 +1474,7 @@ teisės",
 'nchanges' => '$1 {{PLURAL:$1|pakeitimas|pakeitimai|pakeitimų}}',
 'recentchanges' => 'Naujausi keitimai',
 'recentchanges-legend' => 'Naujausių keitimų parinktys',
-'recentchangestext' => 'Šiame puslapyje yra patys naujausi pakeitimai šiame projekte.',
+'recentchanges-summary' => 'Šiame puslapyje yra patys naujausi pakeitimai šiame projekte.',
 'recentchanges-feed-description' => 'Sekite pačius naujausius projekto keitimus šiame šaltinyje.',
 'recentchanges-label-newpage' => 'Šiuo keitimu sukurtas naujas puslapis',
 'recentchanges-label-minor' => 'Tai smulkus pakeitimas',
@@ -3728,7 +3733,7 @@ Paveikslėliai yra rodomi pilna raiška, kiti failų tipai paleidžiami tiesiogi
 'api-error-unknown-code' => 'Nežinoma klaida: " $1 "',
 'api-error-unknown-error' => 'Vidinė klaida: kažkas nutiko bandant įkelti failą.',
 'api-error-unknown-warning' => 'Nežinomas įspėjimas: $1',
-'api-error-unknownerror' => 'Nežinoma klaida: " $1 "',
+'api-error-unknownerror' => 'Nežinoma klaida: "$1"',
 'api-error-uploaddisabled' => 'Įkėlimas išjungtas šioje wiki.',
 'api-error-verification-error' => 'Šis failas gali būti sugadintas arba turi neteisingą papildinį.',
 
index 9eff5a7..803dc56 100644 (file)
@@ -172,7 +172,7 @@ $messages = array(
 'vector-simplesearch-preference' => 'Sawn awlsam lehzualna rawtna awmtir rawh (Vektawr vun tan chauh)',
 'vector-view-create' => 'Siamna',
 'vector-view-edit' => 'Siamţhatna',
-'vector-view-history' => 'A chanchin enna',
+'vector-view-history' => 'Hunhlui-chanchin',
 'vector-view-view' => 'Chhiarna',
 'vector-view-viewsource' => 'A hnar enna',
 'actions' => 'Thiltih',
@@ -181,20 +181,20 @@ $messages = array(
 
 'errorpagetitle' => 'Dik lo',
 'returnto' => '$1 phekah kir leh rawh.',
-'tagline' => '{{SITENAME}} aţangin',
+'tagline' => '{{SITENAME}} aangin',
 'help' => 'Ṭanpuina',
 'search' => 'Zawnna',
 'searchbutton' => 'Zawng rawh le',
-'go' => 'Kal rawh le',
-'searcharticle' => 'Kal rawh le',
+'go' => 'Khai le',
+'searcharticle' => 'Khai le',
 'history' => 'Phêk chanchin',
 'history_short' => 'Chanchin',
 'updatedmarker' => 'ka tlawh hnuhnun ber hnua tihdanglam',
-'printableversion' => 'Nemkai theih',
+'printableversion' => 'Chhụtkài theih',
 'permalink' => 'Hlet hlun',
-'print' => 'Nemkaina',
+'print' => 'Chhụkàina',
 'view' => 'Enna',
-'edit' => 'Siamţhatna',
+'edit' => 'Siamhatna',
 'create' => 'Siamna',
 'editthispage' => 'He phek hi siamţha rawh',
 'create-this-page' => 'He phêk hi siam rawh',
@@ -226,7 +226,7 @@ $messages = array(
 'categorypage' => 'Pawl phêk enna',
 'viewtalkpage' => 'Sawinona en rawh',
 'otherlanguages' => 'Ţawng dangin',
-'redirectedfrom' => '($1 aţanga hruailuh a ni)',
+'redirectedfrom' => '($1 aanga hruailuh a ni)',
 'redirectpagesub' => 'Hruailuhna phêk',
 'lastmodifiedat' => 'Hemi phek hi ni $1,  dar $2 khan siamţhat hnuhnun ber a ni.',
 'viewcount' => 'He phêk hi vawi {{PLURAL:$1|khat|$1}} tlawh a ni tawh.',
@@ -248,7 +248,7 @@ $1',
 'aboutpage' => 'Project:Chungchang',
 'copyright' => 'A chhung thute hi $1 hmanga lakchhawn phal a ni.',
 'copyrightpage' => '{{ns:project}}:Lakchhawn phalphung',
-'currentevents' => 'Chanchin thar',
+'currentevents' => 'Chanchinthar',
 'currentevents-url' => 'Project: Chanchin thar',
 'disclaimers' => 'Intlawhkhalhna',
 'disclaimerpage' => 'Project: Intlawhkhalhna Dan',
@@ -272,7 +272,7 @@ $1',
 [[Special:Version|version page]] en rawh.',
 
 'ok' => 'Aw le',
-'retrievedfrom' => '"$1" aţanga lâk chhuah',
+'retrievedfrom' => '"$1" aanga lâk chhuah',
 'youhavenewmessages' => '($2) $1 i nei.',
 'newmessageslink' => 'thudawn thar',
 'newmessagesdifflink' => 'tihdanglam thar',
@@ -664,7 +664,7 @@ Lamtawi hmante: '''({{int:cur}})'''= ennawnna thar ber nena danglamna, '''({{int
 # Diffs
 'history-title' => '"$1" ennawnna chanchin',
 'lineno' => 'Tlar $1:',
-'compareselectedversions' => 'Ennawnna i thlan tâkte khi khaikhin rawh le',
+'compareselectedversions' => 'Ennawnna i thlan tâkte khaikhin rawh le',
 'editundo' => 'tihletna',
 'diff-multi' => '(Hmangtu {{PLURAL:$2|1-in|$2-ten}} a karlaka {{PLURAL:$2|a|an}} ennawnna {{PLURAL:$1|1|$1-te}} tihlan a ni lo)',
 
@@ -744,6 +744,7 @@ Google hmangin i lo zawng hrih thei ang.
 'prefs-beta' => 'Beta hman theihnate',
 'prefs-datetime' => 'Hun leh ni',
 'prefs-labs' => '"Lab" hman theihnate',
+'prefs-user-pages' => 'Hmangtu phêkte',
 'prefs-personal' => 'Hmangtu chanchin tawi',
 'prefs-rc' => 'Tihdanglam thar',
 'prefs-watchlist' => 'Ralvèn',
@@ -836,11 +837,11 @@ Hmangtuten e-lehkha an thawn chein i e-chenhmun hrilh an ni chuang lo vang.',
 'prefs-signature' => 'Hmingtàr',
 'prefs-dateformat' => 'Hun tarlan dan tùr',
 'prefs-timeoffset' => 'Hun inthlauhna',
-'prefs-advancedediting' => 'Duhthlan sang',
-'prefs-advancedrc' => 'Duhthlan sang',
-'prefs-advancedrendering' => 'Duhthlan sang',
-'prefs-advancedsearchoptions' => 'Duhthlan sang',
-'prefs-advancedwatchlist' => 'Duhthlan sang',
+'prefs-advancedediting' => 'Duhthlan ràiril',
+'prefs-advancedrc' => 'Duhthlan ràiril',
+'prefs-advancedrendering' => 'Duhthlan ràiril',
+'prefs-advancedsearchoptions' => 'Duhthlan ràiril',
+'prefs-advancedwatchlist' => 'Duhthlan ràiril',
 'prefs-displayrc' => 'Duhthlanna tilang rawh',
 'prefs-displaysearchoptions' => 'Duhthlanna tilang rawh',
 'prefs-displaywatchlist' => 'Duhthlanna tilang rawh',
@@ -944,9 +945,9 @@ Hmangtuten e-lehkha an thawn chein i e-chenhmun hrilh an ni chuang lo vang.',
 'nchanges' => 'Tihdanglam {{PLURAL:$1||$1-te}}',
 'recentchanges' => 'Tihdanglam thar',
 'recentchanges-legend' => 'Tihdanglam thar duhdàn',
-'recentchangestext' => 'He phek wiki-a tihdanglamna thar deuh deuhte chhui rawh.',
+'recentchanges-summary' => 'He phek wiki-a tihdanglamna thar deuh deuhte chhui rawh.',
 'recentchanges-feed-description' => 'He chawm-a wiki tihdanglamna thar deuh deuhte chhui rawh.',
-'recentchanges-label-newpage' => 'He siamţhat hian phêk thar a siam',
+'recentchanges-label-newpage' => 'Hei hi phêk thar siamna a ni.',
 'recentchanges-label-minor' => 'Hei hi siamţhatna tenau a ni',
 'recentchanges-label-bot' => 'He siamţhat hi khawlmi tih a ni',
 'recentchanges-label-unpatrolled' => 'He siamţhat hi viltu la nei lo a ni',
@@ -1087,7 +1088,7 @@ Hmangtu azira i thliarhran erawh chuan a hmangtuina a hlankai hnuhnüng ber taks
 
 # File description page
 'file-anchor-link' => 'Taksa',
-'filehist' => 'A chanchin enna',
+'filehist' => 'Hunhlui-chanchin',
 'filehist-help' => 'A hunlaia a lan dan en tùrin a hun/ni-ah hmet rawh.',
 'filehist-deleteall' => 'a vaiin nuaibo rawh',
 'filehist-deleteone' => 'nuaibo rawh',
@@ -1246,7 +1247,7 @@ Taksa sawifiahna hi i siamṭha duh a nih chuan  [$2 taksa sawifiahna phêk] a
 # Book sources
 'booksources' => 'Lehkhabu rawnte',
 'booksources-search-legend' => 'Lehkhabu hnar zingah zawng rawh',
-'booksources-go' => 'Kal rawh le',
+'booksources-go' => 'Khai le',
 
 # Special:Log
 'specialloguserlabel' => 'Buatsaihtu:',
@@ -1267,7 +1268,7 @@ Taksa sawifiahna hi i siamṭha duh a nih chuan  [$2 taksa sawifiahna phêk] a
 'allnotinnamespace' => 'Phêk zawng zawng (hminghmun $1-a awm lo)',
 'allpagesprev' => 'Hma',
 'allpagesnext' => 'Dawt',
-'allpagessubmit' => 'Kal rawh le',
+'allpagessubmit' => 'Khai le',
 'allpagesprefix' => 'Hemi thuhmabeta neih zawng hi pholang rawh:',
 'allpagesbadtitle' => 'Phêk hming dik lo emaw ţawng dang/wiki dang thuhmabet a hmang palh a nih hmel.
 Phêk hminga hman awih loh hawrawp a hmang palh a ni mai thei bawk.',
@@ -1369,6 +1370,14 @@ Hetah hian [[Special:UnusedCategories|pawl hman lohho]] pholan tel a ni lo.
 'wlshowlast' => 'Darkar $1 kalta-a tihdanglam tilang rawh , ni $2 kalta-a tihdanglam tilang rawh, $3 tilang rawh',
 'watchlist-options' => 'Ralvèn duhdàn',
 
+'enotif_reset' => 'Phêk zawng zawng tlawh tawh vek angin chhinchhiah rawh.',
+'enotif_newpagetext' => 'Hei hi phêk thar a ni.',
+'enotif_impersonal_salutation' => '{{SITENAME}} hmangtu',
+'changed' => 'tihdanglam a ni ta',
+'created' => 'siam a ni ta',
+'enotif_subject' => '{{SITENAME}} phêk $PAGETITLE tih hi $CHANGEDORCREATED,  $PAGEEDITOR bultum a ni.',
+'enotif_lastvisited' => 'I tlawh hnuhnùn ber hnu lama tihdanglam zawng zawng en i duh chuan $1 en rawh.',
+'enotif_lastdiff' => 'Hë tihdanglamna hi en tùrin $1 thlír rawh.',
 'enotif_anon_editor' => 'hmangtu hriat loh $1',
 
 # Delete
@@ -1376,18 +1385,102 @@ Hetah hian [[Special:UnusedCategories|pawl hman lohho]] pholan tel a ni lo.
 'confirm' => 'Tihchianna',
 'excontent' => 'kentel: "$1"',
 'excontentauthor' => 'kentel: "$1" (kutthawhtu awm chhun "[[Special:Contributions/$2|$2]])',
+'exbeforeblank' => 'tihruah hmaa a thufùn: $1',
+'exblank' => 'phêk ruak a ni',
+'delete-confirm' => '"$1" paihbona',
+'delete-legend' => 'Nuaibona',
+'historywarning' => "'''Vàukhànna:''' I nuaibo tum phêk hian khawih danglam vawi $1{{PLURAL:$1||}} vêl zet a lo tâwk tawh.",
+'confirmdeletetext' => 'Phêk pakhat leh a chanchin-ziak zawng zawng i nuaibo vek dawn mék a ni.
+Hei hi i tih tum rëng a ni a, a hnuleh i hre chiang a, [[{{MediaWiki:Policy-url}}|rèlphung]] dàn zúl i zui ngèi a ni tih finfiah phawt rawh le.',
 'actioncomplete' => 'A zo ta',
 'actionfailed' => 'A tlawlh',
+'deletedtext' => '"$1" nuaibo a ni ta.
+Tün hnäia nuaibo thar chhinchhiahna $2-ah i en thei ang.',
 'dellogpage' => 'Nuaibo chhinchhiahna',
+'dellogpagetext' => 'A hnuaiah hian tün hnaia nuaibo tharho kan rawn chhawp chhuak e.',
+'deletionlog' => 'nuaibo chhinchhiahna',
+'reverted' => 'Awmphung hluiah dah lêt a ni',
+'deletecomment' => 'Chhan:',
+'deleteotherreason' => 'Chhan dang:',
+'deletereasonotherlist' => 'Chhan dang',
+'deletereason-dropdown' => '*Nuaibo chhan hluar zualte
+**Phêk siamtu ngenna
+**Lâkchhàwn phalphung bawhpelhna
+**Inchirhthehna',
+'delete-edit-reasonlist' => 'Nuaibo chhan siamṭhatna',
+'delete-toobig' => 'Hë phêk hian siam danglam a tâwk ngun mangkhèng, vawi $1 {{PLURAL:$1||}} chüang zet.
+Hetiang phêk nuaibo hi hrêk deuh hlek a ni, tum loh puia {{SITENAME}} tihchingpen däl tùrin.',
+'delete-warning-toobig' => 'Hë phêk hian tihdanglam a lo tâwk nasa tawh mangkhèng, vawi $1 {{PLURAL:$1||}} chüang zet.
+Hemi nuaibo hian {{SITENAME}} hriatna-khawlpui hnathawh a tisukuk palh thei; 
+fimkhur zui hräm ang che.',
 
 # Rollback
+'rollback' => 'Siamṭhatna sûtna',
+'rollback_short' => 'Sûtlêtna',
 'rollbacklink' => 'sûtlêtna',
+'rollbackfailed' => 'Sûtlêt a tlawlh',
+'cantrollback' => 'Siamṭhatna a sûtlêt theih loh;
+a siamṭhatu hnuhnüng ber hi hë phêk tawktu awm chhun a la ni tlat.',
+'editcomment' => "Siamṭhatna kaihtawi: \"''\$1''\".",
+'rollback-success' => '$1-in siamṭhana a sûtlêt a;
+$2-in a awmphung ngäiah a dahlêt leh.',
+
+# Edit tokens
+'sessionfailure-title' => 'Hun hman tlawlh!',
 
 # Protect
 'protectlogpage' => 'Venhim chhinchhiahna',
 'protectedarticle' => 'venhim: "[[$1]]"',
+'modifiedarticleprotection' => '"[[$1]]" vènhimphung a thlâk',
+'unprotectedarticle' => '"[[$1]]" laka vènhimna a nuaibo',
+'movedarticleprotection' => 'vènhimna herremphung "[[$2]]" aṭang "[[$1]]"-ah a sawn',
+'protect-title' => '"$1" vènhimphung thlâkna',
+'protect-title-notallowed' => '"$1" vènhimphung thlìrna',
+'prot_1movedto2' => '[[$1]] kha [[$2]]-ah sawn a ni',
+'protect-badnamespace-title' => 'Hminghmun vènhim theih loh',
+'protect-badnamespace-text' => 'Hë hminghmuna phêkte hi vènhim theih a ni lo.',
+'protect-legend' => 'Vènhim tihchianna',
+'protectcomment' => 'Chhan:',
+'protectexpiry' => 'Tàwp hun:',
+'protect_expiry_invalid' => 'A tàwp hun i sawi kha a hman theih loh.',
+'protect_expiry_old' => 'A tàwp hun i thlan kha a thleng tawh!',
+'protect-unchain-permissions' => 'Vènhimna duhthlan dang chhuah zalenna',
+'protect-expiring' => '$1 (UTC) thleng',
+'protect-expiring-local' => '$1 thleng',
+'protect-expiry-indefinite' => 'tiamchin awm lo',
+'protect-cascade' => 'Hë phêka ziahhnanho pawh vénghim vek rawh (vènhim inkhaidiat)',
+'protect-cantedit' => 'Hë phêk vènhimphung hi i thlâk thei lo, siamṭhat phalna i neih loh vàng a ni.',
+'protect-othertime' => 'Hun dang:',
+'protect-othertime-op' => 'hun dang',
+'protect-existing-expiry' => 'Tàwphun awm sa: $3, $2',
+'protect-otherreason' => 'Chhan dang:',
+'protect-otherreason-op' => 'Chhan dang',
+'protect-dropdown' => '*Vènhim chhan lär zualte
+**Inchirhthehna hlüar lutuk
+**Infakmawina hleihlûak
+**Siamṭhat inchuhna pawi tham
+̆**Phêk tlawh nasat',
+'protect-edit-reasonlist' => 'Vènhim chhan siamṭhatna',
+'protect-expiry-options' => 'darkar 1:1 hour, ni 1:1 day, kar 1:1 week, kar 2:2 weeks, thla 1:1 month, thla 3:3 months, thla 6:6 months, kum 1:1 year, tiam chin awm lo:infinite',
+'restriction-type' => 'Phalna:',
+'restriction-level' => 'Hrêkphung:',
+'minimum-size' => 'Têtzáwng tiamchin',
+'maximum-size' => 'Lenzáwng bituk:',
+'pagesize' => '(bait)',
+
+# Restrictions (nouns)
+'restriction-edit' => 'Siamṭhatna',
+'restriction-move' => 'Sawnna',
+'restriction-create' => 'Siamna',
+'restriction-upload' => 'Hlànkàina',
+
+# Restriction levels
+'restriction-level-sysop' => 'vènhim pumhlùm',
+'restriction-level-autoconfirmed' => 'hualna',
+'restriction-level-all' => 'a enga pawh',
 
 # Undelete
+'undelete' => 'Phêk nuaibo tawhho thlìrna',
 'undeletelink' => 'enna/ngaiawhtirna',
 'undeleteviewlink' => 'enna',
 'undelete-search-submit' => 'Zawnna',
@@ -1395,6 +1488,7 @@ Hetah hian [[Special:UnusedCategories|pawl hman lohho]] pholan tel a ni lo.
 # Namespace form on various pages
 'namespace' => 'Hminghmun:',
 'invert' => 'Thlan lêtna',
+'namespace_association' => 'Hminghmun kaihhnawih',
 'blanknamespace' => '(Phekpui)',
 
 # Contributions
@@ -1402,11 +1496,14 @@ Hetah hian [[Special:UnusedCategories|pawl hman lohho]] pholan tel a ni lo.
 'contributions-title' => '$1 kutthawhnate',
 'mycontris' => 'Ka kutthawhnate',
 'contribsub2' => '$1 tan ($2) .',
+'nocontribs' => 'I zawn mil tihdanglamna a awm miah lo a nih hmel.',
 'uctop' => '(chung)',
 'month' => 'Thla (leh a hmalam):',
 'year' => 'Kum (leh a hmalam):',
 
 'sp-contributions-newbies' => 'Siangchan tharte kut-thawhna chauh tilang rawh',
+'sp-contributions-newbies-sub' => 'Siangchan thar tán',
+'sp-contributions-newbies-title' => 'Siangchan thar tána hmangtu kutthawhnate',
 'sp-contributions-blocklog' => 'danbeh chhinchhiahna',
 'sp-contributions-uploads' => 'hlankaite',
 'sp-contributions-logs' => 'chanchin-ziak',
@@ -1444,6 +1541,7 @@ Hetah hian [[Special:UnusedCategories|pawl hman lohho]] pholan tel a ni lo.
 'ipbreasonotherlist' => 'Chhan dang',
 'ipbsubmit' => 'Hmangtu dangbet rawh',
 'ipboptions' => 'darkar 2:2 hours, ni 1:1 day, ni 3:3 days, kar 1:1 week, kar 2:2 weeks, thla 1:1 month, thla 3:3 months, thla 6:6 months, kum 1:1 year, tiam chin awm lo:infinite',
+'ipb-blockingself' => 'Nangmah leh nangmah i indäl dáwn! I duh chiah maw?',
 'ipblocklist' => 'Hmangtu danbeh-ho',
 'ipblocklist-legend' => 'Hmangtu danbeh zawng rawh',
 'blocklink' => 'danbehna',
@@ -1502,7 +1600,7 @@ Amah leh amah inluahlantir a theih loh.',
 'allmessagesname' => 'Thuthawn hming',
 'allmessagesdefault' => 'Thuthawn tùr ziahsa',
 'allmessages-language' => 'Ţawng:',
-'allmessages-filter-submit' => 'Kal rawh le',
+'allmessages-filter-submit' => 'Khai le',
 
 # Thumbnails
 'thumbnail-more' => 'Tihlenna',
@@ -1553,7 +1651,7 @@ A hnar i en thei ang.',
 'tooltip-t-emailuser' => 'He hmangtu hnenah hian e-lehkha thawn rawh',
 'tooltip-t-upload' => 'Taksa hlankaina',
 'tooltip-t-specialpages' => 'Phek vohbik zawng zawng tlarna',
-'tooltip-t-print' => 'Nemkai theih',
+'tooltip-t-print' => 'Chhụtkài theih',
 'tooltip-t-permalink' => 'He phêk ennawnna zawmna hlun',
 'tooltip-ca-nstab-main' => 'A chhung thu awm ziahna en rawh',
 'tooltip-ca-nstab-user' => 'Hmangtu phêk en rawh',
@@ -1725,7 +1823,7 @@ A bak zawng chu thuhrûk sa vek a ni ang.
 'confirm-unwatch-button' => 'Aw le',
 
 # Multipage image navigation
-'imgmultigo' => 'Kal rawh le!',
+'imgmultigo' => 'Khai le!',
 'imgmultigoto' => 'Phêk $1-ah kal rawh',
 
 # Table pager
@@ -1763,7 +1861,14 @@ A bak zawng chu thuhrûk sa vek a ni ang.
 #Tbchb zawng zawng hemi tlar chungah hian dah tùr. He tlar hi a nih ang ngai ngaia hnutchhiah tùr </pre>',
 
 # Special:Tags
-'tag-filter' => '[[Special:Tags|Tag]] thlitfimna:',
+'tag-filter' => '[[Special:Tags|Sawirelh]] thlitfimna:',
+'tag-filter-submit' => 'Thlitfimna',
+'tags-title' => 'Sawirelh',
+'tags-tag' => 'Sawirelh hming',
+'tags-display-header' => 'Tihdanglam tlarna-a landàn',
+'tags-description-header' => 'Awmze sawifiahna kimchang',
+'tags-hitcount-header' => 'Tihdanglam sawirelhte',
+'tags-edit' => 'siamṭhatna',
 
 # New logging system
 'logentry-move-move' => '$3 tih phêk kha $4-ah $1 hian a thlâk.',
index 2354acc..289d5c4 100644 (file)
@@ -667,7 +667,7 @@ Pēdējais bloķēšanas reģistra ieraksts ir apskatāms zemāk:',
 '''Tas vēl nav saglabāts!'''",
 'updated' => '(Atjaunots)',
 'note' => "'''Piezīme: '''",
-'previewnote' => "'''Atceries, ka šis ir tikai pirmskats un vēl nav saglabāts!'''",
+'previewnote' => "'''Atceries, ka šis ir tikai pirmskats un teksts vēl nav saglabāts!'''",
 'session_fail_preview' => "'''Neizdevās apstrādāt tavas izmaiņas, jo tika pazaudēti sesijas dati.
 Lūdzu mēģini vēlreiz.
 Ja tas joprojām nedarbojas, mēģini [[Special:UserLogout|izlogoties ārā]] un ielogoties no jauna.'''",
@@ -1109,10 +1109,10 @@ Ja tu izvēlies to norādīt, tas tiks izmantots, lai identificētu tavu darbu (
 'group-all' => '(visi)',
 
 'group-user-member' => '{{GENDER:$1|lietotājs}}',
-'group-autoconfirmed-member' => 'automātiski apstiprinātais lietotājs',
-'group-bot-member' => 'Bots',
-'group-sysop-member' => 'Administrators',
-'group-bureaucrat-member' => 'Birokrāts',
+'group-autoconfirmed-member' => '{{GENDER:$1|automātiski apstiprināts lietotājs|automātiski apstiprināta lietotāja}}',
+'group-bot-member' => '{{GENDER:$1|bots}}',
+'group-sysop-member' => '{{GENDER:$1|administrators|administratore}}',
+'group-bureaucrat-member' => '{{GENDER:$1|birokrāts|birokrāte}}',
 'group-suppress-member' => 'novērotājs',
 
 'grouppage-user' => '{{ns:project}}:Lietotāji',
@@ -1220,7 +1220,7 @@ Ja tu izvēlies to norādīt, tas tiks izmantots, lai identificētu tavu darbu (
 'nchanges' => '$1 {{PLURAL:$1|izmaiņa|izmaiņas}}',
 'recentchanges' => 'Pēdējās izmaiņas',
 'recentchanges-legend' => 'Pēdējo izmaiņu iespējas',
-'recentchangestext' => 'Šajā lapā ir šitajā viki izdarītās pēdējās izmaiņas.',
+'recentchanges-summary' => 'Šajā lapā ir uzskaitītas pēdējās izdarītās izmaiņas.',
 'recentchanges-feed-description' => 'Sekojiet līdzi jaunākajām izmaiņām vikijā izmantojot šo barotni.',
 'recentchanges-label-newpage' => 'Šī ir jaunizveidota lapa',
 'recentchanges-label-minor' => 'Šī ir maznozīmīga izmaiņa',
@@ -1633,7 +1633,7 @@ Katrā rindiņā ir saites uz pirmo un otro pāradresācijas lapu, kā arī pirm
 'listusers-editsonly' => 'Rādīt tikai lietotājus, kas ir izdarījuši kādas izmaiņas',
 'listusers-creationsort' => 'Kārtot pēc izveidošanas datuma',
 'usereditcount' => '$1 {{PLURAL:$1|izmaiņa|izmaiņas}}',
-'usercreated' => 'Izveidots $1, $2',
+'usercreated' => '{{GENDER:$3|Izveidoja}} $1 plkst. $2',
 'newpages' => 'Jaunas lapas',
 'newpages-username' => 'Lietotājs:',
 'ancientpages' => 'Vecākās lapas',
index 447bae3..03f2529 100644 (file)
  * @author Shinjiman
  */
 
+$specialPageAliases = array(
+       'Activeusers'               => array( '躍簿' ),
+       'Allmessages'               => array( '官話' ),
+       'Allpages'                  => array( '全典' ),
+       'Ancientpages'              => array( '陳年' ),
+       'Blankpage'                 => array( '白頁' ),
+       'Booksources'               => array( '書海' ),
+       'BrokenRedirects'           => array( '斷渡' ),
+       'Categories'                => array( '類' ),
+       'ChangePassword'            => array( '易符節' ),
+       'ComparePages'              => array( '較頁' ),
+       'Confirmemail'              => array( '核郵驛' ),
+       'Contributions'             => array( '功績' ),
+       'CreateAccount'             => array( '增簿' ),
+       'Deadendpages'              => array( '此無路也' ),
+       'DeletedContributions'      => array( '已刪之積' ),
+       'Disambiguations'           => array( '釋義' ),
+       'DoubleRedirects'           => array( '窮渡' ),
+       'EditWatchlist'             => array( '治哨站' ),
+       'Emailuser'                 => array( '遺書' ),
+       'Export'                    => array( '出匯' ),
+       'Fewestrevisions'           => array( '鮮察' ),
+       'FileDuplicateSearch'       => array( '擇重檔' ),
+       'Filepath'                  => array( '檔路' ),
+       'Import'                    => array( '圖入匯' ),
+       'Invalidateemail'           => array( '消核郵驛' ),
+       'BlockList'                 => array( '列禁簿、禁址' ),
+       'LinkSearch'                => array( '尋網連' ),
+       'Listfiles'                 => array( '見檔' ),
+       'Listgrouprights'           => array( '權任一覽' ),
+       'Listredirects'             => array( '表轉' ),
+       'Listusers'                 => array( '點簿' ),
+       'Lockdb'                    => array( '閉庫' ),
+       'Log'                       => array( '誌' ),
+       'Lonelypages'               => array( '孤寡' ),
+       'Longpages'                 => array( '長言' ),
+       'MergeHistory'              => array( '併頁之誌' ),
+       'MIMEsearch'                => array( '篩檔' ),
+       'Mostcategories'            => array( '跨船' ),
+       'Mostimages'                => array( '名檔' ),
+       'Mostlinked'                => array( '好料' ),
+       'Mostlinkedcategories'      => array( '豪門' ),
+       'Mostlinkedtemplates'       => array( '美模' ),
+       'Mostrevisions'             => array( '屢審' ),
+       'Movepage'                  => array( '遷' ),
+       'Mycontributions'           => array( '吾績' ),
+       'Newimages'                 => array( '新圖之廊' ),
+       'Newpages'                  => array( '新灶' ),
+       'Preferences'               => array( '簿註' ),
+       'Prefixindex'               => array( '依名索引' ),
+       'Protectedpages'            => array( '頁錮' ),
+       'Randompage'                => array( '清風翻書' ),
+       'Randomredirect'            => array( '任渡' ),
+       'Recentchanges'             => array( '近易' ),
+       'Recentchangeslinked'       => array( '援引' ),
+       'Search'                    => array( '尋' ),
+       'Shortpages'                => array( '短篇' ),
+       'Specialpages'              => array( '特查' ),
+       'Statistics'                => array( '彙統' ),
+       'Uncategorizedcategories'   => array( '問栓' ),
+       'Uncategorizedimages'       => array( '候裱' ),
+       'Uncategorizedpages'        => array( '欲訂' ),
+       'Uncategorizedtemplates'    => array( '待蘸' ),
+       'Undelete'                  => array( '覽刪' ),
+       'Unlockdb'                  => array( '開庫' ),
+       'Unusedcategories'          => array( '樞鏽' ),
+       'Unusedimages'              => array( '色褪' ),
+       'Unusedtemplates'           => array( '墨乾' ),
+       'Unwatchedpages'            => array( '無哨頁' ),
+       'Upload'                    => array( '進獻' ),
+       'UploadStash'               => array( '貢貯' ),
+       'Userlogin'                 => array( '登簿' ),
+       'Userlogout'                => array( '去簿' ),
+       'Userrights'                => array( '秉治權任' ),
+       'Version'                   => array( '版' ),
+       'Wantedcategories'          => array( '求門' ),
+       'Wantedfiles'               => array( '求檔' ),
+       'Wantedpages'               => array( '徵頁' ),
+       'Wantedtemplates'           => array( '徵模' ),
+       'Watchlist'                 => array( '哨站' ),
+       'Whatlinkshere'             => array( '取佐' ),
+       'Withoutinterwiki'          => array( '孤語' ),
+);
+
 /**
  * A list of date format preference keys which can be selected in user
  * preferences. New preference keys can be added, provided they are supported
@@ -59,13 +143,6 @@ $digitTransformTable = array(
        ',' => '',
 );
 
-# -------------------------------------------------------------------
-# Default messages
-# -------------------------------------------------------------------
-# Allowed characters in keys are: A-Z, a-z, 0-9, underscore (_) and
-# hyphen (-). If you need more characters, you may be able to change
-# the regex in MagicWord::initRegex
-
 $messages = array(
 # User preference toggles
 'tog-underline' => '鏈墊線:',
@@ -1193,7 +1270,7 @@ $1",
 'nchanges' => '$1易',
 'recentchanges' => '近易',
 'recentchanges-legend' => '近易項',
-'recentchangestext' => '共筆揮新,悉列於此。',
+'recentchanges-summary' => '共筆揮新,悉列於此。',
 'recentchanges-feed-description' => '跟wiki源之近易。',
 'recentchanges-label-newpage' => '此纂開新頁',
 'recentchanges-label-minor' => '此乃細纂',
index 1252716..aae0d93 100644 (file)
@@ -1333,7 +1333,7 @@ $3 द्वारा देल कारण अछि ''$2''",
 'nchanges' => '$1 {{PLURAL:$1|परिवर्त्तन|परिवर्त्तन}}',
 'recentchanges' => 'लगक परिवर्तन सभ',
 'recentchanges-legend' => 'नव परिवर्तन सभक विकल्प सभ',
-'recentchangestext' => 'ऐ पन्नापर विकीमे भेल सभसँ अद्यतन परिवर्तनपर नजरि राखू।',
+'recentchanges-summary' => 'ऐ पन्नापर विकीमे भेल सभसँ अद्यतन परिवर्तनपर नजरि राखू।',
 'recentchanges-feed-description' => 'ऐ सूचना-तंत्रांशमे विकीमे भेल सभसँ लगक परिवर्तन ताकू',
 'recentchanges-label-newpage' => 'ई सम्पादन एकटा नव पन्नाक निर्माण केलक।',
 'recentchanges-label-minor' => 'ई एकटा लघु सम्पादन छी',
index 435b6e4..1e462df 100644 (file)
@@ -1183,7 +1183,7 @@ Aja kuatir, alamat imele Rika ora ditidokna dong pangganggo sejen ngontak Rika.'
 'nchanges' => '$1 {{PLURAL:$1|pangowahan|owah-owahan}}',
 'recentchanges' => 'Pengobahan',
 'recentchanges-legend' => 'Opsi owahan anyar',
-'recentchangestext' => 'Runutna owah-owahan anyare wiki nang kaca kiye.',
+'recentchanges-summary' => 'Runutna owah-owahan anyare wiki nang kaca kiye.',
 'recentchanges-feed-description' => "Urutna owah-owahan anyare wiki nang ''feed'' kiye.",
 'recentchanges-label-newpage' => 'Suntingan kiye gawé kaca anyar',
 'recentchanges-label-minor' => 'Kiye suntingan cilik',
index a72dd64..e25ebbd 100644 (file)
@@ -1180,7 +1180,7 @@ $3 макссь туфталсь - ''$2''",
 'nchanges' => '$1 {{PLURAL:$1|полафнема|полафнемат}}',
 'recentchanges' => 'Мекольце полафнемат',
 'recentchanges-legend' => 'Мекольце полафнематнень арафнемасна',
-'recentchangestext' => 'Ваномс сяда мекольце Викиса полафнематнень мельге тя лопаса.',
+'recentchanges-summary' => 'Ваномс сяда мекольце Викиса полафнематнень мельге тя лопаса.',
 'recentchanges-feed-description' => 'Ваномс сяда мекольце Викиса полафнематнень мельге тя шудемаса.',
 'rcnote' => "Ала {{PLURAL:$1|мекольце '''1''' полафнема|мекольце '''$1''' полафнемат}} '''$2''' ётай  {{PLURAL:$2|шис|шис}}, $5, $4ста.",
 'rcnotefrom' => "Ала няфтезь полафнематне '''$2'''-ста ('''$1'''-с).",
index 7ea25a6..08045b6 100644 (file)
@@ -896,6 +896,7 @@ Nilaina io tsy fanekena io mba tsy hikatso ilay pejy.
 Misy io olana io rehefa mamppiasa serveur mandataire tsy manana anarana sy manan-olana eo amin'ny tranonkala ianao.",
 'edit_form_incomplete' => "'''Misy tsy tonga tany amin'ny lohamilina ny singan'ity pejy fenoina ity. Azonao ampiana ny mpandika hafa amin'ny famoronana ny fanazavana ity pejy ity.",
 'editing' => "Manova an'i $1",
+'creating' => "Famoronana an'i $1",
 'editingsection' => 'Fanovana $1 (fizarana)',
 'editingcomment' => 'Fanovana $1 (fizarana vaovao)',
 'editconflict' => 'Fanovana mifandona : $1',
@@ -1497,7 +1498,7 @@ Tsy haseho ny adiresy imailakao rehefa manoratra any aminao ny mpikambana hafa."
 'nchanges' => '{{PLURAL:$1|fanovana|fanovana}} $1',
 'recentchanges' => 'Fanovana farany',
 'recentchanges-legend' => 'Safidy ny fanovàna farany',
-'recentchangestext' => "Jereo eto amin'ity pejy ity izay vao niova vao haingana teto amin'ity wiki ity.",
+'recentchanges-summary' => "Jereo eto amin'ity pejy ity izay vao niova vao haingana teto amin'ity wiki ity.",
 'recentchanges-feed-description' => "Arao ny fanovàna farany amin'ity wiki ity anaty topa",
 'recentchanges-label-newpage' => 'Namorona pejy vaovao io fanovana io',
 'recentchanges-label-minor' => 'Kely fotsiny ity fanovana ity',
index a4f0ea0..42ca8c7 100644 (file)
@@ -601,7 +601,7 @@ $messages = array(
 'nchanges' => '$1 {{PLURAL:$1|тӧрлатымаш|тӧрлатымаш-влак}}',
 'recentchanges' => 'Пытартыш тӧрлатымаш-влак',
 'recentchanges-legend' => 'Пытартыш тӧрлатымаш-влакын келыштарымашышт',
-'recentchangestext' => 'Тиде лаштыкыште пытартыш тӧрлатымашым шекланаш.',
+'recentchanges-summary' => 'Тиде лаштыкыште пытартыш тӧрлатымашым шекланаш.',
 'recentchanges-feed-description' => 'Тиде кылыште пытартыш тӧрлатымашым шекланаш.',
 'recentchanges-label-newpage' => 'Тиде тӧрлатымаш дене у лаштыкым ыштеныт',
 'recentchanges-label-minor' => 'Тиде изирак тӧрлатымаш',
index 20a65ac..a71605a 100644 (file)
@@ -850,7 +850,7 @@ Alamaik surek elektronik awak ang tu indak kan katahuan dek urang lain nan mangh
 'nchanges' => '$1 {{PLURAL:$1|parubahan|parubahan}}',
 'recentchanges' => 'Parubahan baru',
 'recentchanges-legend' => 'Pilihan parubahan baru',
-'recentchangestext' => 'Manjajak parubahan terbaru dalam wiki di laman ko.',
+'recentchanges-summary' => 'Manjajak parubahan terbaru dalam wiki di laman ko.',
 'recentchanges-feed-description' => 'Temukan parubahan baru dalam umpan wiki ko',
 'recentchanges-label-newpage' => 'Suntiang ko mambuek laman baru',
 'recentchanges-label-minor' => 'Iko di suntiang saketek',
index adbe6af..64b89e6 100644 (file)
@@ -122,6 +122,7 @@ $specialPageAliases = array(
        'Filepath'                  => array( 'ПатДоПодатотека' ),
        'Import'                    => array( 'Увоз' ),
        'Invalidateemail'           => array( 'ПогрешнаЕпошта' ),
+       'JavaScriptTest'            => array( 'ПробаНаJavaСкрипта' ),
        'BlockList'                 => array( 'СписокНаБлокираниIP' ),
        'LinkSearch'                => array( 'ПребарајВрска' ),
        'Listadmins'                => array( 'СписокНаАдминистратори' ),
@@ -190,7 +191,7 @@ $specialPageAliases = array(
        'Wantedtemplates'           => array( 'ПотребниШаблони' ),
        'Watchlist'                 => array( 'СписокНаНабљудувања' ),
        'Whatlinkshere'             => array( 'ШтоВодиОвде' ),
-       'Withoutinterwiki'          => array( 'Ð\91езÐ\98нÑ\82еÑ\80вики' ),
+       'Withoutinterwiki'          => array( 'Ð\91езÐ\9cеÑ\93Ñ\83вики' ),
 );
 
 $magicWords = array(
@@ -372,7 +373,7 @@ $messages = array(
 'tog-diffonly' => 'Не ја покажувај содржината на страницата под разликите',
 'tog-showhiddencats' => 'Прикажи скриени категории',
 'tog-noconvertlink' => 'Оневозможи претворање на наслов на врска',
-'tog-norollbackdiff' => 'Ð\98зоÑ\81Ñ\82ави Ñ\98а Ñ\80азликаÑ\82а Ð¿Ð¾ Ð¸Ð·Ð²Ñ\80Ñ\88ено Ð²Ñ\80аÑ\9cање',
+'tog-norollbackdiff' => 'Ð\98зоÑ\81Ñ\82ави Ñ\98а Ñ\80азликаÑ\82а Ð¿Ð¾ Ð¸Ð·Ð²Ñ\80Ñ\88ено Ð¾Ñ\82повикÑ\83вање',
 
 'underline-always' => 'Секогаш',
 'underline-never' => 'Никогаш',
@@ -1047,7 +1048,7 @@ $2
 'creating' => 'Создавање на $1',
 'editingsection' => 'Уредување на $1 (пасус)',
 'editingcomment' => 'Уредување на $1 (ново заглавие)',
-'editconflict' => 'Ð\9aонÑ\84ликÑ\82ни уредувања: $1',
+'editconflict' => 'СпÑ\80оÑ\82иÑ\81Ñ\82авени уредувања: $1',
 'explainconflict' => "Некој друг ја променил страницата откако почнавте да ја уредувате.
 Горниот дел за текст ја содржи страницата како што сега постои.
 Вашите промени се прикажани во долниот дел.
@@ -1099,7 +1100,7 @@ $2
 'recreate-moveddeleted-warn' => "Внимание: Повторно создавате страница што претходно била бришена.'''
 
 Размислете дали е правилно да продолжите со уредување на оваа страница.
-Подолу е прикажан дневникот на бришења и преместувања на оваа страница за ваш преглед:",
+Подолу е прикажан дневникот на бришења и преместувања на оваа страница:",
 'moveddeleted-notice' => 'Оваа страница била претходно бришена.
 Дневникот на бришења и преместувања за оваа страница е прикажан подолу за ваше дополнително информирање.',
 'log-fulllog' => 'Преглед на целиот дневник',
@@ -1107,7 +1108,7 @@ $2
 Не е дадено никакво образложение.',
 'edit-gone-missing' => 'Не можев да ја подновам страницата.
 Веројатно е избришана.',
-'edit-conflict' => 'Ð\9aонÑ\84ликÑ\82но Ñ\83Ñ\80едÑ\83ваÑ\9aе.',
+'edit-conflict' => 'СпÑ\80оÑ\82иÑ\81Ñ\82авеноÑ\81Ñ\82 Ð²Ð¾ Ñ\83Ñ\80едÑ\83ваÑ\9aеÑ\82о.',
 'edit-no-change' => 'Вашите уредувања беа игнорирани, бидејќи не се направени промени врз текстот.',
 'edit-already-exists' => 'Не може да се создаде нова страница.
 Истата веќе постои.',
@@ -1137,9 +1138,9 @@ $2
 # "Undo" feature
 'undo-success' => 'Уредувањето може да се откаже.
 Ве молиме споредете ги промените со претходната верзија за да проверите дали тоа е сигурно она што сакате да го направите, а потоа зачувајте ги промените за да го завршите откажувањето на претходното уредување.',
-'undo-failure' => 'УÑ\80едÑ\83ваÑ\9aеÑ\82о Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\88е Ð´Ð° Ñ\81е Ð¾Ñ\82каже Ð·Ð°Ñ\80ади Ð´Ñ\80Ñ\83ги ÐºÐ¾Ð½Ñ\84ликÑ\82ни Ñ\83Ñ\80едÑ\83ваÑ\9aа ÐºÐ¾Ð¸ Ð½Ð°Ñ\81Ñ\82анале Ð²Ð¾ Ð¼ÐµÑ\93Ñ\83вÑ\80еме.',
+'undo-failure' => 'УÑ\80едÑ\83ваÑ\9aеÑ\82о Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\88е Ð´Ð° Ñ\81е Ð¾Ñ\82каже Ð·Ð°Ñ\80ади Ð¼ÐµÑ\93Ñ\83вÑ\80емени Ñ\81пÑ\80оÑ\82иÑ\81Ñ\82авени Ñ\83Ñ\80едÑ\83ваÑ\9aа.',
 'undo-norev' => 'Измената не можеше да биде вратена бидејќи не постои или била избришана.',
-'undo-summary' => 'Откажано уредување $1 од ([[Special:Contributions/$2|$2]] | [[Разговор со корисник:$2|Разговор]])',
+'undo-summary' => 'Откажано уредувањето $1 на уредникот [[Special:Contributions/$2|$2]] ([[User talk:$2|разговор]])',
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Не може да се создаде корисничка сметка',
@@ -1149,7 +1150,7 @@ $2
 
 # History pages
 'viewpagelogs' => 'Преглед на дневници за оваа страница',
-'nohistory' => 'Ð\9dе Ð¿Ð¾Ñ\81Ñ\82ои Ð¸Ñ\81Ñ\82оÑ\80иÑ\98а Ð½Ð° Ñ\83Ñ\80едÑ\83ваÑ\9aе Ð·Ð° Ð¾Ð²Ð°Ð° Ñ\81Ñ\82Ñ\80аниÑ\86а.',
+'nohistory' => 'СÑ\82Ñ\80аниÑ\86аÑ\82а Ð½ÐµÐ¼Ð° Ð¸Ñ\81Ñ\82оÑ\80иÑ\98а Ð½Ð° Ñ\83Ñ\80едÑ\83ваÑ\9aе.',
 'currentrev' => 'Тековна ревизија',
 'currentrev-asof' => 'Последна ревизија од $1',
 'revisionasof' => 'Ревизија од $1',
@@ -1306,9 +1307,9 @@ $1",
 'mergelogpagetext' => 'Следи список на скорешни спојувања на истории на страници.',
 
 # Diffs
-'history-title' => 'Историја на измените на „$1“',
-'difference-title' => 'Разлика помеѓу ревизиите на „$1“',
-'difference-title-multipage' => 'Разлика помеѓу страниците „$1“ и „$2“',
+'history-title' => '$1: Историја на измените',
+'difference-title' => '$1: Разлика помеѓу ревизиите',
+'difference-title-multipage' => '$1 и $2: Разлика помеѓу страниците',
 'difference-multipage' => '(Разлики помеѓу страници)',
 'lineno' => 'Ред $1:',
 'compareselectedversions' => 'Спореди избрани ревизии',
@@ -1398,7 +1399,7 @@ $1",
 'mypreferences' => 'мои нагодувања',
 'prefs-edits' => 'Број на уредувања:',
 'prefsnologin' => 'Не сте најавени',
-'prefsnologintext' => 'Мора да сте <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} најавени]</span> за промена на вашите кориснички нагодувања.',
+'prefsnologintext' => 'Мора да бидете <span class="plainlinks">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} најавени]</span> за да ги менувате вашите кориснички нагодувања.',
 'changepassword' => 'Смени лозинка',
 'prefs-skin' => 'Руво',
 'skin-preview' => 'Преглед',
@@ -1406,6 +1407,7 @@ $1",
 'prefs-beta' => 'Бета-можности',
 'prefs-datetime' => 'Датум и време',
 'prefs-labs' => 'Експериментални можности',
+'prefs-user-pages' => 'Кориснички страници',
 'prefs-personal' => 'Кориснички профил',
 'prefs-rc' => 'Скорешни промени',
 'prefs-watchlist' => 'Список на набљудувања',
@@ -1465,7 +1467,7 @@ $1",
 'prefs-custom-css' => 'Посебно CSS',
 'prefs-custom-js' => 'Посебно JS',
 'prefs-common-css-js' => 'Заеднички CSS/JS за сите изгледи:',
-'prefs-reset-intro' => 'Може да ја користите оваа страница за враќање на вашите нагодувања на основно-зададените нагодувања на викито. Оваа не може да се врати.',
+'prefs-reset-intro' => 'Може да ја користите оваа страница за враќање на вашите нагодувања на основно-зададените нагодувања на викито. Ова дејство е неповратно.',
 'prefs-emailconfirm-label' => 'Потврда на е-пошта:',
 'prefs-textboxsize' => 'Големина на полето за уредување',
 'youremail' => 'Е-пошта:',
@@ -1591,7 +1593,7 @@ $1",
 'right-deletedtext' => 'Прегледување на избришан текст и промени помеѓу избришани ревизии',
 'right-browsearchive' => 'Пребарување на избришани страници',
 'right-undelete' => 'Обновување избришана страница',
-'right-suppressrevision' => 'Ð\9fÑ\80егледÑ\83ваÑ\9aе Ð¸ Ð²Ñ\80аÑ\9cаÑ\9aе Ð½Ð° Ñ\80евизии Ñ\81окÑ\80иени Ð¾Ð´ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\82оÑ\80и',
+'right-suppressrevision' => 'Прегледување и враќање на ревизии скриени од администратори',
 'right-suppressionlog' => 'Гледање на приватни дневници',
 'right-block' => 'Оневозможување на останати корисници да уредуваат',
 'right-blockemail' => 'Оневозможување корисници да праќаат е-пошта',
@@ -1605,7 +1607,7 @@ $1",
 'right-editusercssjs' => 'Уредување на CSS и JS податотеки на други корисници',
 'right-editusercss' => 'Уредување на CSS податотеки на други корисници',
 'right-edituserjs' => 'Уредување на JS податотеки на други корисници',
-'right-rollback' => 'Брзо отстранување на уредувањата на последниот корисник кој уредувал одредена страница',
+'right-rollback' => 'Брзо отповикување на уредувањата на последниот корисник што уредувал одредена страница',
 'right-markbotedits' => 'Означување на вратени уредувања како ботовски уредувања',
 'right-noratelimit' => 'Без временски ограничувања на уредување',
 'right-import' => 'Увезување страници од други викија',
@@ -1654,7 +1656,7 @@ $1",
 'action-suppressionlog' => 'преглед на овој приватен дневник',
 'action-block' => 'оневозможи го овој корисник да уредува',
 'action-protect' => 'измени го степенот на заштита на оваа страница',
-'action-rollback' => 'бÑ\80зо Ð²Ñ\80аÑ\9cање на измени направени од последниот уредник на страницата',
+'action-rollback' => 'бÑ\80зо Ð¾Ñ\82повикÑ\83вање на измени направени од последниот уредник на страницата',
 'action-import' => 'увези ја оваа страница од друго вики',
 'action-importupload' => 'увези ја оваа страница од подигната податотека',
 'action-patrol' => 'означи ги уредувањата на другите како проверени',
@@ -1670,10 +1672,10 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|промена|промени}}',
 'recentchanges' => 'Скорешни промени',
 'recentchanges-legend' => 'Нагодувања за скорешни промени',
-'recentchangestext' => 'На оваа страница ги следите скорешните промени на викито.',
+'recentchanges-summary' => 'На оваа страница ги следите скорешните промени на викито.',
 'recentchanges-feed-description' => 'Следење на најскорешните промени на викито во овие емитувања.',
 'recentchanges-label-newpage' => 'Ова уредување создаде нова страница',
-'recentchanges-label-minor' => 'Ð\9eва Ðµ Ñ\81иÑ\82но Ñ\83Ñ\80едÑ\83ваÑ\9aе',
+'recentchanges-label-minor' => 'Ð\9eва Ðµ Ñ\81иÑ\82на Ð¿Ñ\80омена',
 'recentchanges-label-bot' => 'Ова уредување е направено од бот',
 'recentchanges-label-unpatrolled' => 'Ова уредување сè уште не било патролирано',
 'rcnote' => "Подолу {{PLURAL:$1|е прикажана '''1''' промена|се прикажани последните '''$1''' промени}} {{PLURAL:$2|за денес|во последниве '''$2''' дена}}, заклучно со $5, $4.",
@@ -1882,14 +1884,15 @@ $1',
 'backend-fail-writetemp' => 'Не можев да запишам во привремената податотека.',
 'backend-fail-closetemp' => 'Не можев да ја затворам привремената податотека.',
 'backend-fail-read' => 'Не можев да ја прочитам податотеката $1',
-'backend-fail-create' => 'Не можев да ја создадам податотеката $1',
-'backend-fail-maxsize' => 'Не можев да ја создадам податотеката $1 бидејќи е поголема од {{PLURAL:$2|$2 бајт|$2 бајти}}.',
+'backend-fail-create' => 'Не можев да ја запишам податотеката $1.',
+'backend-fail-maxsize' => 'Не можев да ја запишам податотеката $1 бидејќи е поголема од {{PLURAL:$2|еден бајт|$2 бајти}}.',
 'backend-fail-readonly' => 'Складишната основа „$1“ моментално не може да се запишува. Наведената причина гласи: „$2“',
 'backend-fail-synced' => 'Податотеката „$1“ е во состојба недоследна во рамките на внатрешните складишни основи',
 'backend-fail-connect' => 'Не можев да се поврзам со складишната основа „$1“.',
 'backend-fail-internal' => 'Се појави непозната грешка во складишната основа „$1“.',
 'backend-fail-contenttype' => 'Не можев да утврдам каква содржина има податотеката што треба да ја складирам во „$1“.',
 'backend-fail-batchsize' => 'Складишната основа доби блок од $1 податочна {{PLURAL:$1|операција|операции}}, а ограничувањето е $2 {{PLURAL:$2|операција|операции}}.',
+'backend-fail-usable' => 'Не можев да ја запишам податотеката $1 бидејќи немате доволно дозволи или поради тоа што недостасуваат именици/содржатели.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Не можев да се поврзам со дневничката база за складишната основа „$1“.',
@@ -1952,7 +1955,6 @@ $1',
 'http-curl-error' => 'Грешка при добивањето на URL: $1',
 'http-host-unreachable' => 'Не можев да пристапам до URL-адресата',
 'http-bad-status' => 'Се појави проблем во текот на обработката на HTTP-барањето: $1 $2',
-'http-truncated-body' => 'Содржината на барањето не е примена во целост.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Не може да се пристапи до URL-то',
@@ -2451,16 +2453,16 @@ $UNWATCHURL
 продолжете доколку сте сигруни дека треба тоа да го сторите.',
 
 # Rollback
-'rollback' => 'Ð\92Ñ\80аÑ\82и промени',
-'rollback_short' => 'Ð\92Ñ\80аÑ\82и',
-'rollbacklink' => 'Ð\92Ñ\80аÑ\82и',
-'rollbackfailed' => 'Ð\9dеÑ\83Ñ\81пеÑ\88но Ð²Ñ\80аÑ\9cаÑ\9aе',
-'cantrollback' => 'УÑ\80едÑ\83ваÑ\9aеÑ\82о Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð²Ñ\80аÑ\82и.
+'rollback' => 'Ð\9eÑ\82повикаÑ\98 промени',
+'rollback_short' => 'Ð\9eÑ\82повикаÑ\98',
+'rollbacklink' => 'оÑ\82повикаÑ\98',
+'rollbackfailed' => 'Ð\9eÑ\82повикÑ\83ваÑ\9aеÑ\82о Ð½Ðµ Ñ\83Ñ\81пеа',
+'cantrollback' => 'УÑ\80едÑ\83ваÑ\9aеÑ\82о Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð¾Ñ\82повика.
 Последниот уредник е воедно и единствениот автор на страницата.',
-'alreadyrolled' => 'Ð\9dе Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð²Ñ\80аÑ\82и Ð¿Ð¾Ñ\81ледноÑ\82о Ñ\83Ñ\80едÑ\83ваÑ\9aе Ð¾Ð´ [[:$1]] Ð½Ð° [[User:$2|$2]] ([[User talk:$2|Разговор]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);
-некој друг веќе ја уредил или ги вратил промените на страницата.
+'alreadyrolled' => 'Ð\9dе Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñ\81е Ð¾Ñ\82повика Ð¿Ð¾Ñ\81ледноÑ\82о Ñ\83Ñ\80едÑ\83ваÑ\9aе Ð½Ð° Ñ\81Ñ\82Ñ\80аниÑ\86аÑ\82а â\80\9e[[:$1]]â\80\9c Ð¸Ð·Ð²Ñ\80Ñ\88ено Ð¾Ð´  [[User:$2|$2]] ([[User talk:$2|Ñ\80азговор]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);
+некој друг веќе ја изменил или отповикал страницата.
 
\9fоÑ\81ледноÑ\82о Ñ\83Ñ\80едÑ\83ваÑ\9aе Ð±ÐµÑ\88е Ð½Ð° [[User:$3|$3]] ([[User talk:$3|Разговор]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
\9fоÑ\81ледноÑ\82о Ñ\83Ñ\80едÑ\83ваÑ\9aе Ð³Ð¾ Ð¸Ð·Ð²Ñ\80Ñ\88и [[User:$3|$3]] ([[User talk:$3|Ñ\80азговор]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).',
 'editcomment' => "Коментарот на уредувањето беше: „''$1''“.",
 'revertpage' => 'Отстрането уредувањето на [[Special:Contributions/$2|$2]] ([[User talk:$2|разговор]]), вратено на последната верзија на [[User:$1|$1]]',
 'revertpage-nouser' => 'Вратени уредувања на (избришано корисничко име) на последната ревизија од [[User:$1|$1]]',
@@ -2547,9 +2549,9 @@ $UNWATCHURL
 'viewdeletedpage' => 'Прегледај ги избришаните страници',
 'undeletepagetext' => '{{PLURAL:$1|Следната страница била избришана но сè уште е во архивот и може да биде вратена.|Следните $1 страници биле избришани но сè уште се во архивот и можат да бидат вратени.}}
 Архивот може периодично да се чисти.',
-'undelete-fieldset-title' => 'Ð\9eбнови ревизии',
-'undeleteextrahelp' => "За да вратите целосна историја на една страница, отштиклирајте ги сите полиња и притиснете на '''''{{int:undeletebtn}}'''''.
-За да извршите делумно враќање, штиклирајте ги соодветните ревизии за враќање и притиснете на '''''{{int:undeletebtn}}'''''.",
+'undelete-fieldset-title' => 'Ð\92Ñ\80аÑ\82и ревизии',
+'undeleteextrahelp' => "За да вратите целосна историја на една страница, отштиклирајте ги сите полиња и притиснете на „'''{{int:undeletebtn}}'''“.
+За да извршите делумно враќање, штиклирајте ги соодветните ревизии за враќање и притиснете на „'''{{int:undeletebtn}}'''“.",
 'undeleterevisions' => '{{PLURAL:$1|$1 измена е архивирана|$1 измени се архивирани}}',
 'undeletehistory' => 'Ако ја обновите страницата, сите поправки ќе бидат вратени во историјата.
 Ако нова страница со исто име е создадена по бришењето, обновените поправки ќе се појават во претходната историја.',
@@ -2562,16 +2564,16 @@ $UNWATCHURL
 'undeleterevision-missing' => 'Грешна или непостоечка ревизија.
 Можеби имате лоша врска, ревизијата била обновена или избришана од архивата.',
 'undelete-nodiff' => 'Не постои постара ревизија.',
-'undeletebtn' => 'Ð\9eбнови',
+'undeletebtn' => 'Ð\92Ñ\80аÑ\82и',
 'undeletelink' => 'погледај/врати',
 'undeleteviewlink' => 'преглед',
-'undeletereset' => 'Ð\92Ñ\80аÑ\82и',
+'undeletereset' => 'Ð\9eдново',
 'undeleteinvert' => 'Обратен избор',
 'undeletecomment' => 'Причина:',
 'undeletedrevisions' => '{{PLURAL:$1|1 измена е обновена|$1 измени се обновени}}',
 'undeletedrevisions-files' => '{{PLURAL:$1|1 измена|$1 измени}} и {{PLURAL:$2|1 податотека|$2 податотеки}} се вратени',
 'undeletedfiles' => '{{PLURAL:$1|1 податотека е вратена|$1 податотеки се вратени}}',
-'cannotundelete' => 'Враќањето не успеа, некој друг можеби ја вратил страницата претходно.',
+'cannotundelete' => 'Враќањето не успеа. Можеби некој друг веќе ја вратил страницата.',
 'undeletedpage' => "'''$1 беше обновена'''
 
 Погледнете го [[Special:Log/delete|дневникот на бришења]] за попис на претходни бришења и обновувања.",
@@ -3068,7 +3070,7 @@ $1',
 'tooltip-ca-nstab-template' => 'Преглед на шаблонот',
 'tooltip-ca-nstab-help' => 'Преглед на страницата за помош',
 'tooltip-ca-nstab-category' => 'Преглед на категоријата',
-'tooltip-minoredit' => 'Ð\9eбележеÑ\82е ја промената како ситна',
+'tooltip-minoredit' => 'Ð\9eбележи ја промената како ситна',
 'tooltip-save' => 'Зачувајте ги вашите промени',
 'tooltip-preview' => 'Прегледајте ги вашите промени, ве молиме користете го ова пред зачувување!',
 'tooltip-diff' => 'Покажи кои промени ги направи во текстот.',
@@ -3078,11 +3080,10 @@ $1',
 'tooltip-watchlistedit-raw-submit' => 'Поднови го списокот',
 'tooltip-recreate' => 'Повторно создај ја страницата иако е избришана',
 'tooltip-upload' => 'Започни со подигање',
-'tooltip-rollback' => '„Врати“ ги поништува последните уредувања на оваа страница со еден клик до уредувањата на претпоследниот придонесувач',
-'tooltip-undo' => '„Откажи“ го поништува ова уредување и отвора прозорец за уредување.
-Дозволува додавање на причина во описот',
+'tooltip-rollback' => '„Отповикај“ ги повлекува промените на последниот уредник',
+'tooltip-undo' => '„Откажи“ го поништува ова уредување и ве носи на уредувањето во режим на преглед. Дава можност за наведување на причина во описот.',
 'tooltip-preferences-save' => 'Зачувај',
-'tooltip-summary' => 'Ð\92неÑ\81еÑ\82е ÐºÑ\80аÑ\82ко Ñ\80езиме',
+'tooltip-summary' => 'Ð\92неÑ\81еÑ\82е ÐºÑ\80аÑ\82ок Ð¾Ð¿Ð¸Ñ\81',
 
 # Stylesheets
 'common.css' => '/* Тука поставениот CSS ќе се применува врз сите рува */',
index 98ee711..a7d3e62 100644 (file)
@@ -83,6 +83,7 @@ $specialPageAliases = array(
        'Allmessages'               => array( 'സർവ്വസന്ദേശങ്ങൾ' ),
        'Allpages'                  => array( 'എല്ലാതാളുകളും' ),
        'Ancientpages'              => array( 'പുരാതന_താളുകൾ' ),
+       'Badtitle'                  => array( 'മോശംതലക്കെട്ട്' ),
        'Blankpage'                 => array( 'ശൂന്യതാൾ' ),
        'Block'                     => array( 'തടയുക', 'ഐ.പി.തടയുക', 'ഉപയോക്തൃതടയൽ' ),
        'Blockme'                   => array( 'എന്നെതടയുക' ),
@@ -107,6 +108,7 @@ $specialPageAliases = array(
        'Filepath'                  => array( 'പ്രമാണവിലാസം' ),
        'Import'                    => array( 'ഇറക്കുമതി' ),
        'Invalidateemail'           => array( 'ഇമെയിൽഅസാധുവാക്കുക' ),
+       'JavaScriptTest'            => array( 'ജാവാസ്ക്രിപ്റ്റ്പരീക്ഷണം' ),
        'BlockList'                 => array( 'തടയൽ‌പട്ടിക', 'ഐപികളുടെ_തടയൽ‌പട്ടിക' ),
        'LinkSearch'                => array( 'കണ്ണികൾ_തിരയുക' ),
        'Listadmins'                => array( 'കാര്യനിർവാഹകപട്ടിക' ),
@@ -219,6 +221,7 @@ $magicWords = array(
        'pagenamee'               => array( '1', 'താളിന്റെപേര്‌സമഗ്രം', 'PAGENAMEE' ),
        'namespace'               => array( '1', 'നാമമേഖല', 'NAMESPACE' ),
        'namespacee'              => array( '1', 'നാമമേഖലസമഗ്രം', 'NAMESPACEE' ),
+       'namespacenumber'         => array( '1', 'നാമമേഖലാസംഖ്യ', 'NAMESPACENUMBER' ),
        'talkspace'               => array( '1', 'സംവാദമേഖല', 'TALKSPACE' ),
        'talkspacee'              => array( '1', 'സംവാദമേഖലസമഗ്രം', 'TALKSPACEE' ),
        'subjectspace'            => array( '1', 'വിഷയമേഖല', 'ലേഖനമേഖല', 'SUBJECTSPACE', 'ARTICLESPACE' ),
@@ -317,6 +320,8 @@ $magicWords = array(
        'url_path'                => array( '0', 'പഥം', 'PATH' ),
        'url_wiki'                => array( '0', 'വിക്കി', 'WIKI' ),
        'url_query'               => array( '0', 'ക്വറി', 'QUERY' ),
+       'defaultsort_noerror'     => array( '0', 'പിഴവില്ല', 'noerror' ),
+       'defaultsort_noreplace'   => array( '0', 'മാറ്റേണ്ടതില്ല', 'noreplace' ),
 );
 
 $digitGroupingPattern = "##,##,###";
@@ -1256,6 +1261,8 @@ $1",
 
 # Diffs
 'history-title' => '"$1" എന്ന താളിന്റെ നാൾവഴി',
+'difference-title' => '"$1" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം',
+'difference-title-multipage' => '"$1", "$2" എന്നീ താളുകൾ തമ്മിലുള്ള വ്യത്യാസം',
 'difference-multipage' => '(താളുകൾ തമ്മിലുള്ള വ്യത്യാസം)',
 'lineno' => 'വരി $1:',
 'compareselectedversions' => 'തിരഞ്ഞെടുത്ത പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം കാണുക',
@@ -1350,6 +1357,7 @@ $1",
 'prefs-beta' => 'പരീക്ഷണാടിസ്ഥാനത്തിലുള്ള സൗകര്യങ്ങൾ',
 'prefs-datetime' => 'ദിവസവും സമയവും',
 'prefs-labs' => 'പരീക്ഷണശാലയിൽ തയ്യാറാകുന്ന സൗകര്യങ്ങൾ',
+'prefs-user-pages' => 'ഉപയോക്തൃതാളുകൾ',
 'prefs-personal' => 'അഹം',
 'prefs-rc' => 'സമീപകാല മാറ്റങ്ങൾ',
 'prefs-watchlist' => 'ശ്രദ്ധിക്കുന്നവ',
@@ -1613,7 +1621,7 @@ $1",
 'nchanges' => '{{PLURAL:$1|ഒരു മാറ്റം|$1 മാറ്റങ്ങൾ}}',
 'recentchanges' => 'സമീപകാല മാറ്റങ്ങൾ',
 'recentchanges-legend' => 'സമീപകാല മാറ്റങ്ങളുടെ ക്രമീകരണം',
-'recentchangestext' => '{{SITENAME}} സംരംഭത്തിലെ ഏറ്റവും പുതിയ മാറ്റങ്ങൾ ഇവിടെ കാണാം.',
+'recentchanges-summary' => '{{SITENAME}} സംരംഭത്തിലെ ഏറ്റവും പുതിയ മാറ്റങ്ങൾ ഇവിടെ കാണാം.',
 'recentchanges-feed-description' => 'ഈ ഫീഡ് ഉപയോഗിച്ച് വിക്കിയിലെ പുതിയ മാറ്റങ്ങൾ നിരീക്ഷിക്കുക.',
 'recentchanges-label-newpage' => 'ഒരു പുതിയ താൾ സൃഷ്ടിച്ചിരിക്കുന്നു',
 'recentchanges-label-minor' => 'ഇതൊരു ചെറിയ തിരുത്താണ്',
@@ -2132,7 +2140,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization കാണുക.',
 'allpagesprev' => 'മുമ്പത്തെ',
 'allpagesnext' => 'അടുത്തത്',
 'allpagessubmit' => 'പോകൂ',
-'allpagesprefix' => 'à´ªàµ\82ർവàµ\8dവപദമàµ\81à´³àµ\8dà´³ താളുകൾ പ്രദർശിപ്പിക്കുക:',
+'allpagesprefix' => 'à´\87à´\99àµ\8dà´\99à´¨àµ\86 à´¤àµ\81à´\9fà´\99àµ\8dà´\99àµ\81à´¨àµ\8dà´¨ താളുകൾ പ്രദർശിപ്പിക്കുക:',
 'allpagesbadtitle' => 'താളിനു നൽകിയ തലക്കെട്ട് അസാധുവാണ്‌ അല്ലെങ്കിൽ അന്തർഭാഷയ്ക്കുള്ളതോ അന്തർവിക്കിയ്ക്കുള്ളതോ ആയ പൂർവ്വപദം ഉപയോഗിച്ചിരിക്കുന്നു.
 തലക്കെട്ടിൽ ഉപയോഗിക്കാൻ പാടില്ലാത്ത ഒന്നോ അതിലധികമോ ലിപികൾ ഇതിലുണ്ടാകാം.',
 'allpages-bad-ns' => '{{SITENAME}} സംരംഭത്തിൽ "$1" എന്ന നാമമേഖല നിലവിലില്ല.',
@@ -3093,7 +3101,7 @@ $1',
 'file-info-png-frames' => '{{PLURAL:$1|ഒരു ഫ്രെയിം|$1 ഫ്രെയിം}}',
 
 # Special:NewFiles
-'newimages' => 'à´ªàµ\81തിയ à´ªàµ\8dരമാണà´\99àµ\8dà´\99à´³àµ\81à´\9fàµ\86 à´\97ാലറി',
+'newimages' => 'à´ªàµ\81തിയ à´ªàµ\8dരമാണà´\99àµ\8dà´\99à´³àµ\81à´\9fàµ\86 à´\9aà´¿à´¤àµ\8dരശാല',
 'imagelisttext' => '$2 നൽകിയിട്ടുള്ള {{PLURAL:$1|പ്രമാണത്തിന്റെ|$1 പ്രമാണങ്ങളുടെ}} പട്ടിക താഴെ കാണാം.',
 'newimages-summary' => 'ചുരുക്കം',
 'newimages-legend' => 'അരിപ്പ',
@@ -3832,7 +3840,7 @@ $5
 'revdelete-uname-unhid' => 'ഉപയോക്തൃനാമം മറച്ചത് ഒഴിവാക്കിയിരിക്കുന്നു',
 'revdelete-restricted' => 'കാര്യനിർവാഹകർക്ക് പ്രവർത്തന അതിരുകൾ ഏർപ്പെടുത്തിയിരിക്കുന്നു',
 'revdelete-unrestricted' => 'കാര്യനിർവാഹകർക്ക് ഏർപ്പെടുത്തിയ പ്രവർത്തന അതിരുകൾ നീക്കം ചെയ്തിരിക്കുന്നു',
-'logentry-move-move' => '$1 à´\8eà´¨àµ\8dà´¨ à´\89പയàµ\8bà´\95àµ\8dതാവàµ\8d $3 à´\8eà´¨àµ\8dà´¨ à´¤à´¾àµ¾ $4 à´\86à´¯ി മാറ്റിയിരിക്കുന്നു',
+'logentry-move-move' => '$1 à´\8eà´¨àµ\8dà´¨ à´\89പയàµ\8bà´\95àµ\8dതാവàµ\8d $3 à´\8eà´¨àµ\8dà´¨ à´¤à´¾àµ¾ $4 à´\86à´\95àµ\8dà´\95ി മാറ്റിയിരിക്കുന്നു',
 'logentry-move-move-noredirect' => '$3 എന്ന താൾ $4 എന്ന തലക്കെട്ടിലേയ്ക്ക് തിരിച്ചുവിടലില്ലാതെ $1 മാറ്റി',
 'logentry-move-move_redir' => '$1, $3 എന്ന താൾ $4 എന്ന താളിനുമുകളിലേയ്ക്ക് മാറ്റിയിരിക്കുന്നു',
 'logentry-move-move_redir-noredirect' => '$1, $3 എന്ന താൾ $4 എന്ന താളിനുമുകളിലേയ്ക്ക്, തിരിച്ചുവിടൽ ഇല്ലാതെ മാറ്റിയിരിക്കുന്നു',
index c28e985..591a999 100644 (file)
@@ -316,7 +316,7 @@ $1',
 'toc' => 'Агуулга',
 'showtoc' => 'үзүүлэх',
 'hidetoc' => 'нуух',
-'collapsible-collapse' => 'ЭвÑ\85Ñ\8dх',
+'collapsible-collapse' => 'Ð\91Ñ\83Ñ\83лгах',
 'collapsible-expand' => 'Тэлэх',
 'thisisdeleted' => '$1-г харах эсвэл сэргээх үү?',
 'viewdeleted' => '$1-г харах уу?',
@@ -402,8 +402,8 @@ $1',
 'cannotdelete-title' => '"$1" хуудсыг устгаж чадсангүй',
 'badtitle' => 'Болохгүй гарчиг',
 'badtitletext' => 'Оруулсан хуудасны нэр тань хүчингүй, хоосон, эсвэл буруу холбосон интер-хэл буюу интер-викигийн нэр байна. Нэрэнд хэрэглэгдэж болохгүй тэмдэгт орсон байж болзошгүй.',
-'perfcached' => 'Дараах тоо баримт нь нөөц хуулбар учраас хуучирсан мэдээлэлтэй байж магадгүй. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => 'Дараах тоо баримт нөөц хуулбар бөгөөд хамгийн сүүлд $1-д шинэчлэгдсэн. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => 'Дараах тоо баримт нь нөөц хуулбар учраас хуучирсан мэдээлэлтэй байж магадгүй. Дээд тал нь {{PLURAL:$1|нэг илэрц|$1 илэрцүүд}} нөөцөд бэлэн байна.',
+'perfcachedts' => 'Дараах тоо баримт нь нөөц хуулбар учраас хуучирсан мэдээлэлтэй байж магадгүй. Дээд тал нь {{PLURAL:$1|нэг илэрц|$1 илэрцүүд}} нөөцөд бэлэн байна.',
 'querypage-no-updates' => 'Одоогийн байдлаар энэ хуудсанд шинэчлэлүүд хаагдсан байна. Энд байгаа тоо баримт одоохондоо сэргээгдэхгүй.',
 'wrong_wfQuery_params' => 'wfQuery()-д буруу параметр оруулсан байна<br />
 Функц: $1<br />
@@ -477,7 +477,7 @@ $2',
 'nocookieslogin' => '{{SITENAME}}-д нэвтрэхэд күүкиг хэрэглэдэг.
 Та күүкиг идэвхижүүлээгүй байна.
 Түүнийг идэвхижүүлж дахин оролдоно уу.',
-'nocookiesfornew' => 'Ð\9aүүкийг Ð°Ñ\88иглаж Ð±Ð°Ð¹Ð³Ð°Ð° Ñ\8dÑ\81Ñ\8dÑ\85ийг Ñ\88алгаж Ò¯Ð·Ð½Ñ\8d Ò¯Ò¯. Ð¥Ñ\8dÑ\80Ñ\8dглÑ\8dгÑ\87ийн Ñ\8dÑ\85 Ñ\81Ñ\83Ñ\80валжийг Ð±Ð°Ñ\82алгаажÑ\83Ñ\83лж Ñ\87адÑ\81ангүй Ñ\82Ñ\83л Ð±Ò¯Ñ\80Ñ\82гÑ\8dл Ñ\85ийгдÑ\81Ñ\8dнгүй.',
+'nocookiesfornew' => 'Ð¥Ñ\8dÑ\80Ñ\8dглÑ\8dгÑ\87ийн Ð±Ò¯Ñ\80Ñ\82гÑ\8dл Ñ\85ийгдÑ\81Ñ\8dнгүй. Ð\9aүүкийг Ð·Ó©Ð² Ñ\82оÑ\85иÑ\80Ñ\83Ñ\83лÑ\81ан Ñ\8dÑ\81Ñ\8dÑ\85ийг Ñ\88алгаад Ñ\8dнÑ\8d Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bг Ð°Ñ\85ин Ñ\83нÑ\88Ñ\83Ñ\83лааÑ\80ай.',
 'noname' => 'Та хүчинтэй хэрэглэгчийн нэрийг өгөөгүй байна.',
 'loginsuccesstitle' => 'Амжилттай нэвтэрлээ',
 'loginsuccess' => "'''Та {{SITENAME}} руу \"\$1\" нэрээр нэвтэрлээ.'''",
@@ -572,7 +572,7 @@ $2',
 'passwordreset-emailtitle' => '{{SITENAME}}-н бүртгэлийн мэдээлэл',
 'passwordreset-emailelement' => 'Хэрэглэгчийн нэр: $1
 Түр зуурын нууц үг: $2',
-'passwordreset-emailsent' => 'СанÑ\83Ñ\83лгÑ\8bн Ñ\86аÑ\85им Ñ\88Ñ\83Ñ\83дан Ñ\8fвÑ\83Ñ\83ллаа.',
+'passwordreset-emailsent' => 'Танд Ñ\81анамж Ð±Ð¾Ð»Ð³Ð¾Ð½ Ð½Ñ\8dг Ð¸Ð¼Ð°Ð¹Ð» Ñ\8fвÑ\83Ñ\83ллаа',
 'passwordreset-emailsent-capture' => 'Доор харуулснаар цахим шуудангийн сануулгыг явууллаа.',
 'passwordreset-emailerror-capture' => 'Цахим шуудангийн сануулга доор харуулсны дагуу хийгдсан боловч $1 хэрэглэгчид хүрч чадсангүй, алдаа гарлаа.',
 
@@ -685,11 +685,12 @@ $2',
 'userpage-userdoesnotexist-view' => '"$1" гэсэн хэрэглэгч бүртгэгдээгүй байна.',
 'blocked-notice-logextract' => 'Энэхүү хэрэглэгч одоогоор түгжигдсэн байна.
 Лавлагааны зориулалтаар түгжээний лог дээрх хамгийн сүүлийн нэмэлтийг доор оруулав:',
-'clearyourcache' => "'''Санамж - Хадгалсныхаа дараа шинэ тохиргоогоо харахын тулд вэб хөтөчийнхөө хийсвэр санах ойг орхих хэрэгтэй болж магадгүй.'''
-'''Файрфокс / Сафари:''' ''Shift''-г дарж байхдаа ''Reload'' дээр дарах, эсвэл ''Ctrl-F5'' буюу ''Ctrl-R'' гэж дарах (Макинтош дээр ''Command-R'');
-'''Конкерор: ''' ''Reload'' товч дээр дар, эсвэл ''F5''-г дар;
-'''Опера:''' ''Tools→Preferences'' дээр хийсвэр санах ойг бүрэн арилгах;
-'''Интернэт Эксплорер:''' ''Ctrl'' -г дарж байхдаа ''Refresh'' дээр дар, эсвэл ''Ctrl-F5'' гэж дар.",
+'clearyourcache' => "'''Санамж - Хадгалсныхаа дараа шинэ тохиргоогоо харахын тулд вэб хөтөчийнхөө хийсвэр санах ойг орхих хэрэгтэй болж магадгүй.
+* '''Google Chrome хөтчид :''' ''Ctrl-Shift-R'' товч дээр зэрэг дарна ( Макитош компьютерүүдэд ''⌘-Shift-R'' дээр дарна)
+* '''Internet Explorer хөтчид :'''  ''Ctrl'' дээр дараастай байж байгаад ''Refresh'' дээр дарна, эсвэл ''Ctrl-F5'' дээр дарна
+* '''Konqueror веб хөтчид :''' ''Reload'' товч дээр эсвэл ''F5'' дээр дарна
+* '''Opera веб хөтчид :''' ''Tools → Preferences'' руу орж дундын нөөцлөгчийг хоослоорой
+\\",
 'usercssyoucanpreview' => "'''Зөвлөгөө:''' \"{{int:showpreview}}\" товчийг ашиглан та өөрийн шинэ CSS-г хадгалахаасаа өмнө шалгах боломжтой.",
 'userjsyoucanpreview' => "'''Зөвлөгөө:''' \"{{int:showpreview}}\" товчийг ашиглан та өөрийн шинэ ЖаваСкриптийг хадгалахаасаа өмнө шалгах боломжтой.",
 'usercsspreview' => "'''Та өөрийн хэрэглэгчийн CSS-г зөвхөн урьдчилан харж байгаа гэдгээ санаарай.'''
@@ -705,6 +706,7 @@ $2',
 'note' => "'''Анхааруулга:'''",
 'previewnote' => "'''Энэ бол зөвхөн урьдчилж харсан байдал.'''
 Таны хийсэн өөрчлөлтүүдийг одоохондоо хадгалаагүй байгаа!",
+'continue-editing' => 'Үргэлжлүүлэн янзлах',
 'previewconflict' => 'Энэ урьдчилж харсан байдал нь дээд талын засварлах талбарын текстийг хадгалахад харагдах байдлыг харуулна.',
 'session_fail_preview' => "'''Уучлаарай! Мэдээлэл алдагдснаас болж таны засварыг боловсруулж чадсангүй. Дахин оролдож үзнэ үү. Ингээд ч болохгүй байвал сайтаас гарч дахин нэвтэрч орж үзнэ үү.'''",
 'session_fail_preview_html' => "'''Уучлаарай! Мэдээлэл алдагдснаас болж таны засварыг боловсруулж чадсангүй.'''
@@ -717,6 +719,7 @@ $2',
 Энэ нь алдаа ихтэй вэбийн нэргүй прокси хэрэглэх үед заримдаа гардаг.'''",
 'edit_form_incomplete' => "'''Таны хийсэн өөрлөлтийн зарим хэсэг нь серверт хүрээгүй бололтой, алдаатай эсэхийг шалгаад дахин оролдоно уу'''",
 'editing' => '$1-г засварлаж байна',
+'creating' => '$1-г үүсгэж байна',
 'editingsection' => '$1-г засварлаж байна (хэсэг)',
 'editingcomment' => '$1-г засварлаж байна (шинэ хэсэг)',
 'editconflict' => 'Засварын зөрөлдөөн боллоо: $1',
@@ -852,29 +855,29 @@ $3-н тодорхойлсон шалтгаан нь ''$2''",
 'rev-deleted-user-contribs' => '[хэрэглэгчийн нэр эсвэл IP хаягыг арилгасан байна - засварыг хувь нэмрээс нуув]',
 'rev-deleted-text-permission' => "Энэ хуудасны засвар '''устгагдсан'''.
 [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Устгалын логт] дэлгэрэнгүй мэдээлэл байж магадгүй.",
-'rev-deleted-text-unhide' => "Энэ хуудасны засвар '''устгагдсан байна'''.
-[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Устгалын логт] дэлгэрэнгүй мэдээлэл байж магадгүй.
\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8bн Ñ\85Ñ\83вÑ\8cд Ñ\82а хүсвэл [$1 энэ засварыг үзэх] боломжтой.",
-'rev-suppressed-text-unhide' => "Энэ хуудасны засвар '''далдлагдсан байна'''.
-[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Далдлагааны логт] дэлгэрэнгүй мэдээлэл байж магадгүй.
\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8bн Ñ\85Ñ\83вÑ\8cд Ñ\82а хүсвэл [$1 энэ засварыг үзэх] боломжтой.",
-'rev-deleted-text-view' => "Энэ хуудасны засвар '''устгагдсан'''.
\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8bн Ñ\85Ñ\83вÑ\8cд Ñ\82а Ñ\85аÑ\80аÑ\85 Ð±Ð¾Ð»Ð¾Ð¼Ð¶Ñ\82ой; [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Ñ\83Ñ\81Ñ\82галÑ\8bн Ð»Ð¾Ð³Ñ\82] Ð´Ñ\8dлгÑ\8dÑ\80Ñ\8dнгүй Ð¼Ñ\8dдÑ\8dÑ\8dлÑ\8dл Ð±Ð°Ð¹Ð¶ Ð¼Ð°Ð³Ð°Ð´Ð³Ò¯й.",
+'rev-deleted-text-unhide' => "Энэ хуудасны эргэцүүлэл '''устгагдсан байна'''.
+[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Устгалын логоос] дэлгэрэнгүй мэдээллийг орж харж болно.
¢а хүсвэл [$1 энэ засварыг үзэх] боломжтой.",
+'rev-suppressed-text-unhide' => "Энэ хуудасны эргэцүүлэл '''далдлагдсан байна'''.
+[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Далдалсан логоос]. дэлгэрэнгүй мэдээллийг авах боломжтой.
¢а хүсвэл [$1 энэ засварыг үзэх] боломжтой.",
+'rev-deleted-text-view' => "Энэ хуудасны эргэцүүлэл '''устгагдсан'''.
\93Ñ\8dÑ\81Ñ\8dн Ñ\87 Ñ\82а Ñ\85аÑ\80аÑ\85 Ð±Ð¾Ð»Ð¾Ð¼Ð¶Ñ\82ой; [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Ñ\83Ñ\81Ñ\82гаÑ\81ан Ð»Ð¾Ð³Ð¾Ð¾Ñ\81]. Ð´Ñ\8dлгÑ\8dÑ\80Ñ\8dнгүй Ð¼Ñ\8dдÑ\8dÑ\8dллийг Ñ\85аÑ\80аÑ\85 Ð±Ð¾Ð»Ð¾Ð¼Ð¶Ñ\82ой.",
 'rev-suppressed-text-view' => "Энэ хуудасны засвар '''далдлагдсан'''.
\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8bн Ñ\85Ñ\83вÑ\8cд Ñ\82а Ñ\85аÑ\80аÑ\85 Ð±Ð¾Ð»Ð¾Ð¼Ð¶Ñ\82ой; [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Ð´Ð°Ð»Ð´Ð»Ð°Ð³Ð°Ð°Ð½Ñ\8b Ð»Ð¾Ð³Ñ\82] Ð´Ñ\8dлгÑ\8dÑ\80Ñ\8dнгүй Ð¼Ñ\8dдÑ\8dÑ\8dлÑ\8dл Ð±Ð°Ð¹Ð¶ Ð¼Ð°Ð³Ð°Ð´Ð³Ò¯й.",
\93Ñ\8dÑ\81Ñ\8dн Ñ\87 Ñ\82а Ñ\85аÑ\80аÑ\85 Ð±Ð¾Ð»Ð¾Ð¼Ð¶Ñ\82ой;  [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}}далдалÑ\81ан Ð»Ð¾Ð³Ð¾Ð¾Ñ\81] Ð´Ñ\8dлгÑ\8dÑ\80Ñ\8dнгүй Ð¼Ñ\8dдÑ\8dÑ\8dллийг Ñ\85аÑ\80аÑ\85 Ð±Ð¾Ð»Ð¾Ð¼Ð¶Ñ\82ой.",
 'rev-deleted-no-diff' => "Аль нэг засвар нь '''устгагдсан''' тул та ялгааг үзэх боломжгүй байна.
 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Устгалын логт] дэлгэрэнгүй мэдээлэл байж магадгүй.",
 'rev-suppressed-no-diff' => "Ямар нэг засвар '''устгагдсан''' тул та энэхүү өөрчлөлтийг харах боломжгүй.",
-'rev-deleted-unhide-diff' => "ЯлгаанÑ\8b Ð°Ð»Ñ\8c Ð½Ñ\8dг Ð·Ð°Ñ\81ваÑ\80 '''устгагдсан''' байна.
-[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Устгалын логт] дэлгэрэнгүй мэдээлэл байж магадгүй.
\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80Ñ\8bн Ñ\85Ñ\83вÑ\8cд Ñ\82а хүсвэл [$1 энэ ялгааг] үзэх боломжтой.",
-'rev-suppressed-unhide-diff' => "ЭнÑ\8dÑ\85Ò¯Ò¯ Ó©Ó©Ñ\80Ñ\87лөлÑ\82ийн Ð·Ð°Ñ\80им Ð·Ð°Ñ\81ваÑ\80Ñ\8bг '''далдалсан''' байна.
-[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Далдалгааны логт] дэлгэрэнгүй мэдээллийг харах боломжтой.
\90дминиÑ\81Ñ\82Ñ\80аÑ\82оÑ\80 Ð±Ð¾Ð» Ñ\82а [$1 Ñ\8dнÑ\8dÑ\85Ò¯Ò¯ Ó©Ó©Ñ\80Ñ\87лөлÑ\82ийг Ñ\85аÑ\80аÑ\85ааÑ\80] Ò¯Ñ\80гÑ\8dлжлүүлэх боломжтой.",
-'rev-deleted-diff-view' => "ЭнÑ\8dÑ\85Ò¯Ò¯ Ó©Ó©Ñ\80Ñ\87лөлÑ\82 Ð´Ð°Ñ\85Ñ\8c Ð·Ð°Ñ\81ваÑ\80Ñ\83Ñ\83дÑ\8bн Ð½Ñ\8dгийг '''Ñ\83Ñ\81Ñ\82гасан''' байна.
-Та администратор тул өөрчлөлтийг харах боломжтой; [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} устгалын лог]-с дэлгэрэнгүй мэдээлэл авах боломжтой.",
-'rev-suppressed-diff-view' => "ЭнÑ\8dÑ\85Ò¯Ò¯ Ó©Ó©Ñ\80Ñ\87лөлÑ\82 Ð´Ð°Ñ\85Ñ\8c Ð·Ð°Ñ\81ваÑ\80Ñ\83Ñ\83дÑ\8bн Ð½Ñ\8dгийг '''далдалсан''' байна.
-Та администратор тул өөрчлөлтийг харах боломжтой; [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} далдалгааны лог]-с дэлгэрэнгүй мэдээлэл авах боломжтой.",
+'rev-deleted-unhide-diff' => "ТанÑ\8b Ñ\8fлгаÑ\81ан Ñ\8dÑ\80гÑ\8dÑ\86үүлÑ\8dлийн Ð°Ð»Ñ\8c Ð½Ñ\8dг Ð½Ñ\8c  '''устгагдсан''' байна.
+[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Устгасан логоос] дэлгэрэнгүй мэдээллийг аваарай.
¢а хүсвэл [$1 энэ ялгааг] үзэх боломжтой.",
+'rev-suppressed-unhide-diff' => "ТанÑ\8b Ñ\8fлгаÑ\81ан Ñ\8dÑ\80гÑ\8dÑ\86үүлÑ\8dлийн Ð°Ð»Ñ\8c Ð½Ñ\8dг Ð½Ñ\8c  '''далдлагдсан''' байна.
+[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Далдалсан логоос] дэлгэрэнгүй мэдээллийг аваарай.
¢Ð° Ñ\85Ò¯Ñ\81вÑ\8dл [$1 Ñ\8dнÑ\8d Ñ\8fлгааг] Ò¯Ð·эх боломжтой.",
+'rev-deleted-diff-view' => "ТанÑ\8b Ñ\8fлгаÑ\81ан Ñ\8dÑ\80гÑ\8dÑ\86үүлÑ\8dлийн Ð°Ð»Ñ\8c Ð½Ñ\8dг Ð½Ñ\8c '''Ñ\83Ñ\81Ñ\82гагдсан''' байна.
+Та уг ялгаврыг харах боломжтой; [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} устгасан логоос] дэлгэрэнгүй мэдээлэлийг аваарай.",
+'rev-suppressed-diff-view' => "ТанÑ\8b Ñ\8fлгаÑ\81ан Ñ\8dÑ\80гÑ\8dÑ\86үүлÑ\8dлийг Ð°Ð»Ñ\8c Ð½Ñ\8dг Ð½Ñ\8c '''далдлагдсан''' байна.
+Та уг ялгаврыг харах боломжтой; [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} далдалсан логоос] дэлгэрэнгүй мэдээллийг аваарай.",
 'rev-delundel' => 'үзүүлэх/нуух',
 'rev-showdeleted' => 'үзүүлэх',
 'revisiondelete' => 'Засваруудыг устгах/сэргээх',
@@ -943,8 +946,8 @@ $1",
 
 # Suppression log
 'suppressionlog' => 'Хязгаарлалтын лог',
-'suppressionlogtext' => 'Ð\94ооÑ\80Ñ\85 Ð½Ñ\8c Ñ\81иÑ\81Ñ\82емийн Ð¾Ð¿ÐµÑ\80аÑ\82оÑ\80Ñ\83Ñ\83дааÑ\81 Ð½Ñ\83Ñ\83Ñ\81ан Ð°Ð³Ñ\83Ñ\83лгаÑ\82ай Ñ\85олбооÑ\82ой Ñ\83Ñ\81Ñ\82гал Ð±Ð° Ñ\82үгжÑ\8dÑ\8dнүүдийн Ð¶Ð°Ð³Ñ\81аалÑ\82 Ñ\8eм.
-[[Special:IPBlockList|IP түгжээний жагсаалтыг]] үзэж одоо хэрэгжиж буй хорио ба түгжээг харна уу.',
+'suppressionlogtext' => 'Энд Ð°Ð´Ð¼Ð¸Ð½Ñ\83Ñ\83дааÑ\81 Ð½Ñ\83Ñ\83Ñ\81ан Ð°Ð³Ñ\83Ñ\83лгаÑ\82ай Ñ\85олбооÑ\82ой Ñ\83Ñ\81Ñ\82гал Ð±Ð° Ñ\82үгжÑ\8dÑ\8dнүүдийн Ð¶Ð°Ð³Ñ\81аалÑ\82Ñ\83Ñ\83д Ð±Ð°Ð¹Ð½Ð°.
+[[Special:BlockList|түгжээний жагсаалтаас]] одоогоор хэрэгжиж буй хорио ба түгжээг харна уу.',
 
 # History merging
 'mergehistory' => 'Хуудсуудын түүхийг нэгтгэх',
@@ -978,7 +981,7 @@ $1",
 'mergelogpagetext' => 'Доорх нь нэг хуудасны түүхийг өөр түүхтэй нэгтгэсэн хамгийн сүүлийн нэгтгэлүүд юм.',
 
 # Diffs
-'history-title' => '"$1"-н засварын түүх',
+'history-title' => '"$1"-н хянасан түүх',
 'difference-multipage' => '(Хуудсууд хоорондын ялгаа)',
 'lineno' => '$1-р мөр:',
 'compareselectedversions' => 'Сонгосон хувилбаруудыг харьцуулах',
@@ -1164,7 +1167,7 @@ $1 тэмдэгтээс богино байх ёстой.',
 Бусад хэрэглэгчид тантай болбогдох тохиолдолд таны цахим шуудан илэрч харагдахгүй.',
 'prefs-help-email-required' => 'Мэйл хаяг шаардлагатай байна.',
 'prefs-info' => 'Ердийн мэдээлэл',
-'prefs-i18n' => 'Олон Улсжуулалт',
+'prefs-i18n' => 'Олон улсад нийцүүлэх',
 'prefs-signature' => 'Гарын үсэг',
 'prefs-dateformat' => 'Огнооны хэлбэр',
 'prefs-timeoffset' => 'Цагын зөрөө',
@@ -1187,14 +1190,14 @@ $1 тэмдэгтээс богино байх ёстой.',
 'userrights-lookup-user' => 'Хэрэглэгчдийн бүлгүүдийг удирдах',
 'userrights-user-editname' => 'Хэрэглэгчийн нэрээ оруулна уу:',
 'editusergroup' => 'Хэрэглэгчийн бүлгийг засварлах',
-'editinguser' => "Дараах хэрэглэгчийн эрхийг засварлаж байна: '''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])",
+'editinguser' => "Дараах хэрэглэгчийн эрхийг засварлаж байна: '''[[User:$1|$1]]''' $2",
 'userrights-editusergroup' => 'Хэрэглэгчийн бүлгүүдийг засварлах',
 'saveusergroups' => 'Хэрэглэгчийн бүлгүүдийг хадгалах',
 'userrights-groupsmember' => 'Үүний гишүүн:',
 'userrights-groupsmember-auto' => 'Дараахийн далд гишүүн:',
 'userrights-groups-help' => 'Та энэ хэрэглэгчийн гишүүн болсон бүлгүүдийг өөрчлөх боломжтой.
¥Ð°Ð¹Ñ\80Ñ\86гийг Ñ\82Ñ\8dмдÑ\8dглÑ\8dÑ\81Ñ\8dн Ð±Ð°Ð¹Ð²Ð°Ð» Ñ\85Ñ\8dÑ\80Ñ\8dглÑ\8dгÑ\87 Ñ\82Ñ\8dÑ\80 Ð±Ò¯Ð»Ñ\8dгÑ\82 Ð±Ð°Ð¹Ð³Ð°Ð°, Ñ\82Ñ\8dмдÑ\8dглÑ\8dÑ\8dгүй Ð±Ð°Ð¹Ð²Ð°Ð» бүлэгт байхгүй гэсэн үг.
-<nowiki>*</nowiki> гэдэг нь нэгэнт нэмсэн бол бүлгийг авч болохгүй, эсвэл түүний эсрэгээр байна гэсэн үг.',
\94Ó©Ñ\80вөлжин Ð½Ò¯Ð´Ð¸Ð¹Ð³ Ð±Ó©Ð³Ð»Ó©Ñ\81өн Ð±Ð°Ð¹Ð²Ð°Ð» Ñ\85Ñ\8dÑ\80Ñ\8dглÑ\8dгÑ\87 Ñ\82Ñ\83Ñ\85айн Ð±Ò¯Ð»Ñ\8dгÑ\82 Ð±Ð°Ð¹Ð³Ð°Ð°, Ð±Ó©Ð³Ð»Ó©Ó©Ð³Ò¯Ð¹ Ð±Ð¾Ð» Ñ\83г бүлэгт байхгүй гэсэн үг.
+* A * гэдэг нь нэгэнт нэмсэн бол бүлгийг авч болохгүй, эс бөгөөс болно гэсэн үг.',
 'userrights-reason' => 'Шалтгаан:',
 'userrights-no-interwiki' => 'Таньд өөр викинүүдэд хэрэглэгчдийн эрхийг өөрчлөх зөвшөөрөл байхгүй.',
 'userrights-nodatabase' => '$1 мэдээллийн сан байхгүй, эсвэл дотоодынх биш байна.',
@@ -1335,7 +1338,7 @@ $1 тэмдэгтээс богино байх ёстой.',
 'nchanges' => '$1 өөрчлөлт',
 'recentchanges' => 'Сүүлийн өөрчлөлтүүд',
 'recentchanges-legend' => 'Сүүлийн өөрчлөлтүүдийн сонголтууд',
-'recentchangestext' => 'Энэхүү хуудсанд викид хийсэн хамгийн сүүлийн өөрчлөлтүүдийг үзүүлж байна.',
+'recentchanges-summary' => 'Энэхүү хуудсанд викид хийсэн хамгийн сүүлийн өөрчлөлтүүдийг үзүүлж байна.',
 'recentchanges-feed-description' => 'Вики дахь хамгийн сүүлийн өөрчлөлтүүдийг хянах.',
 'recentchanges-label-newpage' => 'Энэ засвар шинэ хуудсыг үүсгэсэн байна',
 'recentchanges-label-minor' => 'Энэ нь бага зэргийн засвар байна',
@@ -1422,8 +1425,8 @@ $1 тэмдэгтээс богино байх ёстой.',
 'filetype-bad-ie-mime' => 'Интернэт Эксплорер нь зөвшөөрөгдөхгүй, аюултай байх боломжтой файлын төрөл болох "$1" гэж илрүүлэх тул энэ файлыг оруулах боломжгүй байна.',
 'filetype-unwanted-type' => "'''\".\$1\"''' нь хүсэгдэхгүй файлын төрөл байна.
 Ашиглахыг зөвлөж буй {{PLURAL:\$3|файлын төрөл|файлын төрлүүд}} нь \$2.",
-'filetype-banned-type' => "'''\".\$1\"''' нь зөвшөөрөгдөхгүй файлын төрөл байна.
-Зөвшөөрөгдөх {{PLURAL:\$3|файлын төрөл|файлын төрлүүд}} нь \$2.",
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|нь зөвшөөрөгдөхгүй файлын төрөл байна.|нь зөвшөөрөгдөхгүй файлын төрөл байна}}.
+Зөвшөөрөгдөх {{PLURAL:$3|файлын төрөлд|файлын төрөлд}} $2.',
 'filetype-missing' => 'Энэ файлд өргөтгөл байхгүй байна (".jpg" гэх мэт).',
 'empty-file' => 'Таны явуулсан файл хоосон байв.',
 'file-too-large' => 'Таны явуулсан файл хэтэрхий том байв.',
@@ -1494,6 +1497,20 @@ file_uploads тохиргоогоо шалгана уу.',
 Та үүнийг дахин оруулахын өмнө $1-г шалгаж үзнэ үү.',
 'filename-bad-prefix' => "Таны оруулж байгаа файлын нэр '''\"\$1\"'''-р эхэлж байна. Энэ нь файлыг тодорхойлойлоогүй, голдуу дижитал аппаратын автоматаар гаргадаг нэр болно.
 Файланд түүнийг илүү сайн тодорхойлсон нэр өгнө үү.",
+'filename-prefix-blacklist' => ' #<!-- leave this line exactly as it is --> <pre>
+# Syntax is as follows:
+#   * Everything from a "#" character to the end of the line is a comment
+#   * Every non-blank line is a prefix for typical filenames assigned automatically by digital cameras
+CIMG # Casio
+DSC_ # Nikon
+DSCF # Fuji
+DSCN # Nikon
+DUW # зарим гар утаснууд
+IMG # ерөнхий
+JD # Jenoptik
+MGP # Pentax
+PICT # бусад.
+ #</pre> <!-- leave this line exactly as it is -->',
 'upload-success-subj' => 'Файлыг амжилттай орууллаа',
 'upload-success-msg' => '[$2]-с амжилттай оруулав. Энд байна: [[:{{ns:file}}:$1]]',
 'upload-failure-subj' => 'Оруулах үеийн асуудал',
@@ -1515,10 +1532,13 @@ URL нь хүчинтэй, мөн түүн руу орж болж байгаа 
 'upload-too-many-redirects' => 'URL-д хэт олон чиглүүлэгч байв',
 'upload-unknown-size' => 'Үл мэдэгдэх хэмжээ',
 'upload-http-error' => 'HTTP алдаа гарав: $1',
+'upload-copy-upload-invalid-domain' => 'Энэ хаяг дээрээс хуулах боломжгүй байна.',
 
 # File backend
+'backend-fail-stream' => '$1 файлыг дамжуулж чадсангүй.',
 'backend-fail-backup' => '$1 файлыг нөөцөлж чадсангүй.',
 'backend-fail-notexists' => '$1 файл байхгүй байна.',
+'backend-fail-notsame' => '$1 дээр ялгаатай файл аль эрт үүссэн байна.',
 'backend-fail-invalidpath' => '$1 хадгалах зам хуурамч байна.',
 'backend-fail-delete' => '$1 файлыг устгаж чадсангүй.',
 'backend-fail-alreadyexists' => '$1 файл аль хэдийн байж байна.',
@@ -1530,6 +1550,13 @@ URL нь хүчинтэй, мөн түүн руу орж болж байгаа 
 'backend-fail-closetemp' => 'Түр зуурын файлыг хааж чадсангүй.',
 'backend-fail-read' => '$1 файлыг уншиж чадсангүй.',
 'backend-fail-create' => '$1 файлыг үүсгэж чадсангүй.',
+'backend-fail-maxsize' => '$1 файлын хэмжээ {{PLURAL:$2|нэг байтаас|$2 байтаас}} хэтэрсэн тул хадгалж болохгүй байна. \\',
+'backend-fail-readonly' => '"\'\'$2\'\'" - оос болоод нөөцийн сангийн "$1" системийг зөвхөн унших боломжтой байна. \\',
+'backend-fail-synced' => 'Дотоод нөөцийн сангийн систем дэх "$1" файл тогтворгүй төлөвт байна',
+'backend-fail-connect' => '"$1" нөөцийн сангийн системтэй холбогдож чадсангүй.',
+'backend-fail-internal' => '"$1" нөөцийн сангийн системд үл танигдах алдаа гарлаа.',
+'backend-fail-contenttype' => '"$1" дахь файлын агуулгын төрлийг таньж чадсангүй.',
+'backend-fail-usable' => '$1 файлд хангалттай зөвшөөрөл олгогдоогүй эсвэл агуулах хавтасгүйн улмаас хадгалж чадсангүй.',
 
 # img_auth script messages
 'img-auth-accessdenied' => 'Хандах эрхгүй байна',
@@ -1675,7 +1702,7 @@ URL нь зөв болон сайт ажиллагаатай байгаа эсэ
 
 # Random page
 'randompage' => 'Санамсаргүй хуудас',
-'randompage-nopages' => 'ЭнÑ\8d Ð½Ñ\8dÑ\80ний Ð·Ð°Ð¹Ð´ Ñ\85Ñ\83Ñ\83даÑ\81 Ð±Ð°Ð¹Ñ\85гүй Ð±Ð°Ð¹Ð½Ð°.',
+'randompage-nopages' => 'Ð\94аÑ\80ааÑ\85 {{PLURAL:$2|нÑ\8dÑ\80ний Ð·Ð°Ð¹Ð½Ð´|нÑ\8dÑ\80ний Ð·Ð°Ð¹Ð½Ð´}} Ñ\85Ñ\83Ñ\83даÑ\81 Ð±Ð°Ð¹Ñ\85гүй Ð±Ð°Ð¹Ð½Ð° : $1. \\',
 
 # Random redirect
 'randomredirect' => 'Санамсаргүй чиглүүлэгч',
@@ -1701,15 +1728,15 @@ URL нь зөв болон сайт ажиллагаатай байгаа эсэ
 'statistics-users-active-desc' => 'Сүүлийн {{PLURAL:$1|өдөрт|$1 өдөрт}} үйлдэл хийсэн хэрэглэгчид',
 'statistics-mostpopular' => 'Хамгийн олон удаа үзсэн хуудсууд',
 
-'disambiguations' => 'Салаа утгатай үгнүүд',
+'disambiguations' => 'Өөр агуулгатай хуудсуудтай холбоотой хуудсууд',
 'disambiguationspage' => 'Template:Салаа утгатай',
 'disambiguations-text' => "Дараах хуудсууд '''салаа утгатай үгнүүдийн хуудас''' руу холбогдоно.
 Тэдгээр нь зөв сэдэв руу холбогдох ёстой.<br />
 [[MediaWiki:Disambiguationspage]]-с холбогдсон загвар хэрэглэж байвал хуудас нь салаа утгатай үгнүүдийн хуудас гэж тооцогдоно.",
 
 'doubleredirects' => 'Давхар чиглүүлэгчүүд',
-'doubleredirectstext' => 'Энэ хуудас нь өөр чиглүүлэгч хуудас руу чиглүүлдэг хуудсуудыг жагсаана.
\9cÓ©Ñ\80 Ñ\82Ñ\83Ñ\81 Ð±Ò¯Ñ\80 Ð½Ñ\8c Ñ\8dÑ\85ний Ð±Ð° Ñ\85оÑ\91Ñ\80 Ð´Ð°Ñ\85Ñ\8c Ñ\87иглүүлÑ\8dгÑ\87 Ñ\80Ò¯Ò¯Ñ\85 Ñ\85олбооÑ\81Ñ\8bг Ð±Ð¾Ð»Ð¾Ð½ Ñ\8dÑ\85ний Ñ\87иглүүлÑ\8dгÑ\87ийн Ñ\87иглÑ\8dÑ\85 Ñ\91Ñ\81Ñ\82ой, Ñ\85оÑ\91Ñ\80 Ð´Ð°Ñ\85Ñ\8c Ñ\87иглүүлÑ\8dгÑ\87ийн Ñ\87иглÑ\8dÑ\85 "жинÑ\85Ñ\8dнÑ\8d" Ñ\87иглÑ\8dÑ\85 Ñ\91Ñ\81Ñ\82ой Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bг Ð·Ð°Ð°на.',
+'doubleredirectstext' => 'Энэ хуудсанд өөр хуудсуудыг давхар заасан хуудсуудыг жагсаасан байна
\9cÓ©Ñ\80 Ñ\82Ñ\83Ñ\81 Ð±Ò¯Ñ\80 Ð½Ñ\8c Ñ\8dÑ\85ний Ð·Ð°Ð°Ñ\81ан Ð±Ð¾Ð»Ð¾Ð½ Ñ\82үүний Ð´Ð°Ñ\80ааÑ\85 Ð·Ð°Ð°Ñ\81ан Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83дÑ\8bг Ð¶Ð°Ð³Ñ\81аан Ð±Ð¸Ñ\87Ñ\81Ñ\8dний Ñ\81аÑ\86Ñ\83Ñ\83 Ñ\83г Ñ\85оÑ\91Ñ\80 Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bн Ñ\8dÑ\86Ñ\81ийн Ñ\87иглүүлÑ\81Ñ\8dн "жинÑ\85Ñ\8dнÑ\8d" Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bг Ò¯Ð·Ò¯Ò¯Ð»Ñ\81Ñ\8dн Ð±Ð°Ð¹на.',
 'double-redirect-fixed-move' => '[[$1]] зөөгдөж, [[$2]] руух чиглүүлэгч боллоо',
 'double-redirect-fixer' => 'Чиглүүлэгчийг засварлагч',
 
@@ -1734,7 +1761,7 @@ URL нь зөв болон сайт ажиллагаатай байгаа эсэ
 'nviews' => '$1 удаа үзсэн',
 'specialpage-empty' => 'Энэ мэдүүлэгт үр дүн гарсангүй.',
 'lonelypages' => 'Өнчин хуудсууд',
-'lonelypagestext' => 'Ð\94аÑ\80ааÑ\85 Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83д Ð½Ñ\8c {{SITENAME}}-н Ð±Ñ\83Ñ\81ад Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83дааÑ\81 Ñ\85олбогдоогүй байна.',
+'lonelypagestext' => 'ЭнÑ\8d Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83д {{SITENAME}}-даÑ\85Ñ\8c Ð±Ñ\83Ñ\81ад Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83дÑ\82ай Ñ\85олбогдоогүй Ñ\8dÑ\81вÑ\8dл Ð·Ð°Ð°Ð³Ð°Ð°Ñ\81 Ñ\85Ñ\8dÑ\82Ñ\8dÑ\80Ñ\81Ñ\8dн байна.',
 'uncategorizedpages' => 'Ангилагдаагүй хуудсууд',
 'uncategorizedcategories' => 'Ангилагдаагүй ангиллууд',
 'uncategorizedimages' => 'Ангилагдаагүй зургууд',
@@ -1841,7 +1868,8 @@ URL нь зөв болон сайт ажиллагаатай байгаа эсэ
 'linksearch-ns' => 'Нэрний зай:',
 'linksearch-ok' => 'Хайх',
 'linksearch-text' => '"*.wikipedia.org" зэрэг орлуулагч тэмдэгт хэрэглэх боломжтой.<br />
-Зөвшөөрөгдөх протокол: <tt>$1</tt>',
+Дор хаяж дээд түвшиний домайн хэрэгтэй байна, жишээ нь "*.org".<br />
+Дэмжигдэх протоколууд : <tt>$1</tt> (эдгээрээс алийг нь ч хайлтад бүү оруул).',
 'linksearch-line' => '$1 нь $2-с холбогдсон',
 'linksearch-error' => 'Орлуулагч тэмдэгт хост нэрийн эхлэлд л гарах боломжтой.',
 
@@ -1891,7 +1919,7 @@ URL нь зөв болон сайт ажиллагаатай байгаа эсэ
 'emailpagetext' => 'Энэ хэрэглэгч рүү мэйл илгээхэд доорхийг бөглөнө.
 Таны өөрийн [[Special:Preferences|хэрэглэгчийн тохиргоонд]] оруулсан мэйл хаяг нь "Хэнээс" гэсэн хэсэгт гарах тул хүлээн авагч хариугаа тань руу шууд илгээх боломжтой.',
 'usermailererror' => 'Мэйл нь буцаж ирсэн шалтгаан:',
-'defemailsubject' => '{{SITENAME}} Ð¸-мÑ\8dйл',
+'defemailsubject' => '{{SITENAME}} Ð´Ð°Ñ\85Ñ\8c "$1" Ñ\85Ñ\8dÑ\80Ñ\8dглÑ\8dгÑ\87ийн Ð¸-мÑ\8dйл Ñ\85аÑ\8fг',
 'usermaildisabled' => 'Хэрэглэгчийн и-мэйлийг идэвхигүйжүүлэв',
 'usermaildisabledtext' => 'Та энэ викигийн бусад хэрэглэгч руу и-мэйл явуулах боломжгүй',
 'noemailtitle' => 'Мэйл хаяггүй байна',
@@ -1915,7 +1943,7 @@ URL нь зөв болон сайт ажиллагаатай байгаа эсэ
 # User Messenger
 'usermessage-summary' => 'Системийн мессеж үлдээв.',
 'usermessage-editor' => 'Системийн мессежийг засварлагч',
-'usermessage-template' => 'МедиаВики:ХэрэглэгчийнМэдэгдэл',
+'usermessage-template' => 'МедиаВики:ХэрэглэгчийнМэдээ',
 
 # Watchlist
 'watchlist' => 'Миний хянаж буй хуудсууд',
@@ -1942,7 +1970,7 @@ URL нь зөв болон сайт ажиллагаатай байгаа эсэ
 'watchmethod-list' => 'хяналтад буй хуудсуудад саяхан өөрчлөлт орсон эсэхийг шалгаж байна',
 'watchlistcontains' => 'Таны хянах жагсаалтанд $1 хуудас байна.',
 'iteminvalidname' => "'$1' зүйлд асуудал гарлаа, хүчингүй нэр...",
-'wlnote' => "Ð\94ооÑ\80Ñ\85 Ð½Ñ\8c Ñ\81үүлийн {{PLURAL:$2|Ñ\86агÑ\82|'''$2''' Ñ\86агÑ\82}} Ñ\85ийгдÑ\81Ñ\8dн {{PLURAL:$1|Ñ\81үүлийн|Ñ\81үүлийн '''$1'''}} Ó©Ó©Ñ\80Ñ\87лөлÑ\82 Ñ\8eм.",
+'wlnote' => "Энд Ð½Ñ\8c {{PLURAL:$2|Ñ\86агийн|'''$2''' Ñ\86агийн}} Ó©Ð¼Ð½Ó© Ñ\85амгийн Ñ\81үүлд Ñ\85ийÑ\81Ñ\8dн {{PLURAL:$1|Ó©Ó©Ñ\80Ñ\87лөлÑ\82| '''$1''' Ó©Ó©Ñ\80Ñ\87лөлÑ\82үүд}} Ð±Ð°Ð¹Ð½Ð°.",
 'wlshowlast' => 'Сүүлийн $1 цагийн $2 өдрийн $3-г харуул',
 'watchlist-options' => 'Хянаж буй хуудсуудын жагсаалтны сонголтууд',
 
@@ -1962,27 +1990,36 @@ URL нь зөв болон сайт ажиллагаатай байгаа эсэ
 'enotif_anon_editor' => '$1 бүртгэлгүй хэрэглэгч',
 'enotif_body' => '$WATCHINGUSERNAME танаа,
 
-{{SITENAME}}-н $PAGETITLE хуудаст $PAGEEDITOR $PAGEEDITDATE-нд $CHANGEDORCREATED үйлдэл хийжээ. Одоогийн засварыг $PAGETITLE_URL хуудсаас харна уу.
+To change your watchlist settings, visit
+{{canonicalurl:{{#special:EditWatchlist}}}}
+
+{{SITENAME}}-н $PAGETITLE хуудаст $PAGEEDITOR $PAGEEDITDATE-нд $CHANGEDORCREATED үйлдэл хийжээ. $PAGETITLE_URL -руу орж одоогоор хийгдээд байгаа засварыг харна уу.
 
 $NEWPAGE
 
-Засварлагчийн тойм: $PAGESUMMARY $PAGEMINOREDIT
+Зассан тойм: $PAGESUMMARY $PAGEMINOREDIT
 
-Засварлагчтай холбоо барих:
-мэйл: $PAGEEDITOR_EMAIL
+Засвар хийсэн хүний холбогдъё гэвэл:
µÐ¼Ñ\8dйл: $PAGEEDITOR_EMAIL
 вики: $PAGEEDITOR_WIKI
 
-Та энэ хуудаст зочлохгүй бол өөр өөрчлөлтүүдийн талаарх мэдээлэл өгөхгүй болно.
-Мөн та хянаж буй хуудсуудын мэдээллэх бүртгэлийг өөрчилж болно.
+Өөр шинээр хийгдэх өөрчлөлтүүдийн талаарх уг хуудсан орж л байж мэдэх боломжтой.
+Мөн та үзсэн хуудсынхаа шинээр хийгдэх өөрчлөлтүүдийг сануулах тохиргоог шинэчилж болно. 
 
-             {{SITENAME}}-н мэдээллэх систем
+                        {{SITENAME}} -н сануулгын систем
 
 --
-Хянаж буй хуудсуудынхаа тохиргоог өөрчлөхийн тулд дараах хуудаст зочилно уу:
-{{canonicalurl:{{#special:EditWatchlist}}}}
+Имейл хаягаар шинэчлэл хийсэн талаар мэдээлэл явуулах тохиргоог 
+{{canonicalurl:{{#special:Preferences}}}} хаягаар орж хийнэ үү
+
+Хянаж буй хуудсын жагсаалтын тохиргоог
+{{canonicalurl:{{#special:EditWatchlist}}}} хаягаар орж хийнэ үү
+
+Хянаж буй хуудын жагсаалтаас хаяг хасах тохиолдолд
+$UNWATCHURL
 
\94Ñ\8dлгÑ\8dÑ\80Ñ\8dнгүй Ð¼Ñ\8dдÑ\8dÑ\8dлÑ\8dл:
-{{canonicalurl:{{MediaWiki:Helppage}}}}',
¡Ð°Ð½Ð°Ð» Ñ\81Ñ\8dÑ\82гÑ\8dгдÑ\8dл Ð±Ð¾Ð»Ð¾Ð½ Ñ\82Ñ\83лгаÑ\80Ñ\81ан Ð±Ñ\8dÑ\80Ñ\85Ñ\88Ñ\8dÑ\8dлÑ\8dÑ\8d :
+{{canonicalurl:{{MediaWiki:Helppage}}}} хаягаар орж бичнэ үү',
 
 # Delete
 'deletepage' => 'Хуудсыг устга',
@@ -2012,10 +2049,10 @@ $NEWPAGE
 ** Зохиогчийн эрхэд халдсан
 ** Вандализм',
 'delete-edit-reasonlist' => 'Устгах шалтгаануудыг засварлах',
-'delete-toobig' => 'ЭнÑ\8d Ñ\85Ñ\83Ñ\83даÑ\81нÑ\8b Ð·Ð°Ñ\81ваÑ\80Ñ\8bн Ñ\82Ò¯Ò¯Ñ\85 Ð¼Ð°Ñ\88 Ñ\82ом Ð±Ð°Ð¹Ð³Ð°Ð° Ð±Ó©Ð³Ó©Ó©Ð´ $1 Ð³Ð°Ñ\80Ñ\83й Ð·Ð°Ñ\81ваÑ\80Ñ\82ай байна.
-{{SITENAME}}-д Ñ\81анамÑ\81аÑ\80гүй Ð±Ð°Ð¹Ð´Ð»Ð°Ð°Ñ\80 Ð¼Ñ\83Ñ\83гааÑ\80 Ð½Ó©Ð»Ó©Ó©Ð»Ð¶ Ð±Ð¾Ð»Ð·Ð¾Ñ\88гүй Ñ\82Ñ\83л Ñ\8dдгÑ\8dÑ\8dÑ\80 Ñ\85Ñ\83Ñ\83дÑ\81Ñ\83Ñ\83дÑ\8bг Ñ\83Ñ\81Ñ\82гаÑ\85 Ñ\8fвдлыг хорьсон байна.',
-'delete-warning-toobig' => 'Энэ хуудасны засварын түүх маш том байгаа бөгөөд $1 гаруй засвартай байна.
-Устгавал {{SITENAME}}-н мэдээллийн сангийн үйл ажиллагаанд нөлөөлж магадгүй тул та анхаар сэрэмжтэйгээр дараах үйлдлээ гүйцэтгэнэ үү.',
+'delete-toobig' => 'Уг Ñ\85Ñ\83Ñ\83даÑ\81нÑ\8b Ð·Ð°Ñ\81ваÑ\80Ñ\8bн Ñ\82Ò¯Ò¯Ñ\85 Ð¼Ð°Ñ\88 Ð¸Ñ\85, $1 {{PLURAL:$1|заÑ\81ваÑ\80|гаÑ\80Ñ\83й Ð·Ð°Ñ\81ваÑ\80Ñ\82ай}} байна.
+{{SITENAME}}-н Ð°Ñ\8eÑ\83лгүй Ð±Ð°Ð¹Ð´Ð»Ñ\8bн Ò¯Ò¯Ð´Ð½Ñ\8dÑ\8dÑ\81 Ð´Ñ\8dÑ\8dÑ\80Ñ\85 Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bг Ñ\83Ñ\81Ñ\82гаÑ\85ыг хорьсон байна.',
+'delete-warning-toobig' => 'Энэ хуудасны засварын түүх маш том байгаа бөгөөд {{PLURAL:$1| гаруй засвар| гаруй засварууд}} байна.
+Устгавал {{SITENAME}}-н мэдээллийн сангийн үйл ажиллагаанд нөлөөлж магадгүй тул та анхаарна уу.',
 
 # Rollback
 'rollback' => 'Засваруудыг буцаах',
@@ -2041,7 +2078,8 @@ $NEWPAGE
 
 # Protect
 'protectlogpage' => 'Хамгаалалтын лог',
-'protectlogtext' => 'доорх нь түгжигдсэн ба түгжигдээгүй хуудасны лист.',
+'protectlogtext' => 'Энд хуудсын хамгаалалтын өөрчлөлтүүдийн жагсаалтууд байна.
+[[Special:ProtectedPages|хамгаалагдсан хуудсын жагсаалт]] -руу орж одоогоор хүчинтэй байгаа хуудасны хамгаалалтыг харна уу.',
 'protectedarticle' => '"[[$1]]"-г хамгааллаа',
 'modifiedarticleprotection' => '"[[$1]]"-н хамгаалалтын түвшинг өөрчиллөө',
 'unprotectedarticle' => '"[[$1]]"-ны хамгаалалтыг цуцлав',
@@ -2108,11 +2146,14 @@ $NEWPAGE
 'undeletepage' => 'Устгагдсан хуудсуудыг харах ба сэргээх',
 'undeletepagetitle' => "'''Дараах нь [[:$1|$1]]-н устгагдсан засварууд юм.'''",
 'viewdeletedpage' => 'Устгагдсан хуудсуудыг харах',
-'undeletepagetext' => 'Дараах хуудсууд устгагдсан боловч одоогоор сэргээж болохоор төлөвт байна.',
+'undeletepagetext' => '{{PLURAL:$1|Энэ хуудас|Дараах $1 хуудсууд}} устгагдсан хэдий ч нөөцөд байгаа учраас сэргээх боломжтой.
+Нөөцийг үе үе цэвэрлэдэг болохыг анхаараарай.',
 'undelete-fieldset-title' => 'Засваруудыг сэргээх',
-'undeleteextrahelp' => "Бүхэл хуудсыг сэргээхийн тулд бүх жижиг дөрвөлжингүүдийг сонгохгүй үлдээгээд '''''Сэргээх''''' товчийг дар. Зарим хувилбаруудыг сэргээхийн тулд сэргээх хувилбаруудын өмнөх жижиг дөрвөлжинг идэвхжүүлээд '''''Сэргээх''''' товчийг дар. '''''Дахин эхлүүлэх''''' товчийг дарснаар тайлбарын талбар ба бүх жижиг дөрвөлжингүүд хоосон болно",
+'undeleteextrahelp' => "Бүхэл хуудсыг сэргээхийн тулд бүх жижиг дөрвөлжингүүдийг сонгохгүй үлдээгээд '''''{{int:undeletebtn}}''''' товчийг дар.
+Зарим хувилбаруудыг сэргээхийн тулд сэргээх хувилбаруудын өмнөх жижиг дөрвөлжинг идэвхжүүлээд '''''{{int:undeletebtn}}''''' товчийг дар.",
 'undeleterevisions' => '$1 хувилбар архивлагдлаа',
-'undeletehistory' => 'Хэрэв та энэ хуудсыг сэргээвэл түүний өмнөх бүх хувилбарууд нь түүх рүү сэргээгдэж бичигдэнэ. Хэрэв үүнийг устгаснаас хойш үүнтэй адил нэртэй шинэ хуудас үүсгэгдсэн бол сэргээгдсэн хувилбарууд түүх хэсэгт гарч ирэх боловч одоо байгаа бодит хуудсыг автоматаар солихгүй.',
+'undeletehistory' => 'Хэрэв энэ хуудсыг сэргээвэл өмнөх бүх залруулгууд түүх байдлаар сэргээгдэх болно .
+Хэрэв адил нэртэй шинэ хуудас үүсгэгдсэн байгаа бол сэргээгдсэн хувилбарууд түүх хэсэгт гарч ирэх боловч одоо байгаа хуудсыг шууд солихгүй.',
 'undeleterevdel' => 'Дээд хуудас буюу файлын засвар бага зэргээр устгагдах явдал гарах бол хуудас сэргээгдэхгүй.
 Ийм тохиолдолд та хамгийн сүүлд устгагдсан засварыг нууцлахаа, эсвэл тэмдэглэхээ болих шаардлагатай.',
 'undeletehistorynoadmin' => 'Энэ өгүүлэл устгагдсан. Үүний устгагдсан шалтгаан нь устгалын өмнө энэ хуудсыг засварласан хэрэглэгчдийн тухай мэдээллүүдтэй хамт доорх тайланд өгөгдсөн байгаа. Эдгээр устгагдсан хувилбаруудад яг юу байсныг зөвхөн администраторууд л харж чадна.',
@@ -2239,8 +2280,8 @@ $1',
 'ipb-change-block' => 'Эдгээр тохиргоотойгоор энэ хэрэглэгчийг дахин түгжих',
 'badipaddress' => 'Хүчингүй IP хаяг',
 'blockipsuccesssub' => 'Түгжээ амжилттай боллоо.',
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] түгжигдсэн.
-<br />Түгжилтийн тоймыг [[Special:BlockList|түгжигдсэн IP-ийн жагсаалт]]аас үзнэ үү.',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] түгжигдсэн байна.
+<br />Түгжсэн тоймыг [[Special:BlockList|түгжигдсэн IP-ийн жагсаалт]] аас харна уу.',
 'ipb-edit-dropdown' => 'Түгжих шалтгаануудыг засварлах',
 'ipb-unblock-addr' => '$1-н түгжээг тайлах',
 'ipb-unblock' => 'Хэрэглэгчийн нэр эсвэл IP хаягийн түгжээг тайлах',
@@ -2280,9 +2321,9 @@ $1',
 Лавлагааны зориулалтаар далдлагааны логийг доор оруулав:',
 'blocklogentry' => '[[$1]] нь $2 $3 хугацаатайгаар түгжигдсэн',
 'reblock-logentry' => '[[$1]]-н түгжээний тохиргоог $2 $3 хугацаатай болгож өөрчилсөн',
-'blocklogtext' => 'Энэ нь хэрэглэгчийг түгжсэн болон тайлсан үйлдлийн лог юм.
-Автоматаар түгжигдсэн IP хаягууд жагсаагдаагүй.
-[[Special:BlockList|IP хаягийн түгжээний жагсаалтыг]] харж одоо түгжигдсэн хаягуудыг харна уу.',
+'blocklogtext' => 'Энд хэрэглэгчийг түгжсэн болон түгжээг тайлсан лог байна.
+Автоматаар түгжигдсэн IP хаягууд жагсаагтад ороогүй болно.
+[[Special:BlockList|IP Ñ\85аÑ\8fгийн Ñ\82үгжÑ\8dÑ\8dний Ð¶Ð°Ð³Ñ\81аалÑ\82Ñ\8bг]] Ñ\85аÑ\80ж Ð¾Ð´Ð¾Ð¾ Ñ\82үгжигдÑ\81Ñ\8dн Ñ\8dÑ\81вÑ\8dл Ñ\85оÑ\80ионд Ð±Ð°Ð¹Ð³Ð°Ð° Ñ\85аÑ\8fгÑ\83Ñ\83дÑ\8bг Ñ\85аÑ\80на Ñ\83Ñ\83.',
 'unblocklogentry' => '$1 идэвхтэй',
 'block-log-flags-anononly' => 'зөвхөн нэргүй хэрэглэгчид',
 'block-log-flags-nocreate' => 'Бүртгэл үүсгэх боломжгүй',
@@ -2605,8 +2646,8 @@ $1',
 
 # Spam protection
 'spamprotectiontitle' => 'Спамаас хамгаалах шүүлтүүр',
-'spamprotectiontext' => 'ТанÑ\8b Ñ\85адгалаÑ\85Ñ\8bг Ñ\85Ò¯Ñ\81Ñ\81Ñ\8dн Ñ\85Ñ\83Ñ\83даÑ\81 Ñ\81памааÑ\81 Ñ\85амгаалаÑ\85 Ñ\88үүлÑ\82Ò¯Ò¯Ñ\80Ñ\8dÑ\8dÑ\80 Ñ\85аагдлаа.
­Ð½Ñ\8d Ð½Ñ\8c Ð³Ð°Ð´Ð½Ñ\8b Ñ\81айÑ\82 Ñ\80Ñ\83Ñ\83Ñ\85 Ñ\85олбооÑ\81нÑ\8b Ñ\83лмааÑ\81 Ð³Ð°Ñ\80Ñ\81ан Ð±Ð°Ð¹Ð¶ Ð¼Ð°Ð³Ð°Ð´Ð³Ò¯й.',
+'spamprotectiontext' => 'СпамааÑ\81 Ñ\85амгаалаÑ\85 Ñ\88үүлÑ\82Ò¯Ò¯Ñ\80 Ñ\82анÑ\8b Ñ\85адгалаÑ\85Ñ\8bг Ñ\85Ò¯Ñ\81Ñ\81Ñ\8dн Ñ\85Ñ\83Ñ\83дÑ\81Ñ\8bг Ñ\85ааÑ\81ан Ð±Ð°Ð¹Ð½а.
¥Ð°Ñ\80 Ð´Ð°Ð½Ñ\81ад Ð¾Ñ\80Ñ\81он Ð³Ð°Ð´Ð½Ñ\8b Ñ\81айÑ\82Ñ\82ай Ñ\85олбооÑ\82ой Ð±Ð°Ð¹Ñ\81нааÑ\81 Ð±Ð¾Ð»Ñ\81он Ð±Ð¾Ð»Ð¾Ð»Ñ\82ой.',
 'spamprotectionmatch' => 'Дараах текст нь манай спамаас хамгаалах шүүлтүүрт баригдлаа: $1',
 'spambot_username' => 'МедиаВикигийн спамыг цэвэрлэх',
 'spam_reverting' => '$1 руух холбоосгүй хамгийн сүүлийн хувилбар руу шилжүүлж байна',
@@ -2628,7 +2669,7 @@ $1',
 'markaspatrolleddiff' => 'Хяналтанд авъя',
 'markaspatrolledtext' => 'Үүнийг хяналтанд авъя',
 'markedaspatrolled' => 'Хяналтанд авсан',
-'markedaspatrolledtext' => 'СонгоÑ\81он нэмэлт/өөрчлөлтийг хяналтанд авлаа.',
+'markedaspatrolledtext' => 'Уг Ñ\81онгоÑ\81он [[:$1]]  нэмэлт/өөрчлөлтийг хяналтанд авлаа.',
 'rcpatroldisabled' => 'Сүүлийн өөрчлөлтүүдийн эргүүл хаагдсан байна',
 'rcpatroldisabledtext' => 'Сүүлийн өөрчлөлтүүдийн эргүүл одоогоор хаагдсан байна.',
 'markedaspatrollederror' => 'Хяналтанд авч чадсангүй',
@@ -2656,8 +2697,8 @@ $1',
 'nextdiff' => 'Удаах засвар →',
 
 # Media information
-'mediawarning' => "'''Анхаар''':Энэ файл нь хор нөлөөтэй код агуулсан байж болзошгүй, хэрвээ ачааллавал таны системийн аюулгүй байдал доройтож болзошгүй.",
-'imagemaxsize' => 'Доорх шаардлагын дагуу зургын хуудсанд хязгаарлалт хийлээ:',
+'mediawarning' => "'''Анхаар''': Энэ файл нь хор нөлөөтэй код агуулсан байж болзошгүй, үүнийг ачааллах аваас системийн хамгаалалт тань доройтож болзошгүй.",
+'imagemaxsize' => "Зурагны хэмжээний хязгаар :<br />''(файлын тайлбар хуудсууд)''",
 'thumbsize' => 'Жижиг зургийн хэмжээ:',
 'widthheightpage' => '$1 × $2, $3 {{PLURAL:$3|хуудас|хуудас}}',
 'file-info' => 'файлын хэмжээ: $1, MIME төрөл: $2',
@@ -2748,8 +2789,8 @@ $1',
 'exif-colorspace' => 'Өнгөний завсар',
 'exif-componentsconfiguration' => 'Бүх бүрэлдэхүүн хэсгүүдийн утга',
 'exif-compressedbitsperpixel' => 'Зургийн файлыг шахах арга',
-'exif-pixelydimension' => 'Зургийн хүчинтэй өргөн',
-'exif-pixelxdimension' => 'Зургийн хүчинтэй өндөр',
+'exif-pixelydimension' => 'Зургийн өргөн',
+'exif-pixelxdimension' => 'Зургийн өндөр',
 'exif-usercomment' => 'Хэрэглэгчдийн тэмдэглэл',
 'exif-relatedsoundfile' => 'Холбоотой дуун файл',
 'exif-datetimeoriginal' => 'Мэдээллийг үүсгэсэн огноо ба цаг',
@@ -2763,9 +2804,9 @@ $1',
 'exif-exposureprogram' => 'Гэрэл өгөх хугацааны программ',
 'exif-spectralsensitivity' => 'Спектралийн мэдрэмтгий байдал',
 'exif-isospeedratings' => 'ISO хурдны үнэлгээ',
-'exif-shutterspeedvalue' => 'Хөшигний хурд',
-'exif-aperturevalue' => 'Дурангийн өрц',
-'exif-brightnessvalue' => 'Ð\93Ñ\8dÑ\80Ñ\8dлÑ\82Ñ\8dлÑ\82',
+'exif-shutterspeedvalue' => 'Хөшигний APEX хурд \\',
+'exif-aperturevalue' => 'Дурангийн өрц  \\',
+'exif-brightnessvalue' => 'ТодÑ\80ол Ð±Ò¯Ð´Ñ\8dгÑ\80Ñ\8dл',
 'exif-exposurebiasvalue' => 'Гэрэл өгөх хурдны тохиргооны хэмжээ',
 'exif-maxaperturevalue' => 'Газрын диафрагмын дээд өргөн',
 'exif-subjectdistance' => 'Субъектийн орших зай',
@@ -2838,9 +2879,9 @@ $1',
 'exif-orientation-3' => '180° эргүүллээ',
 'exif-orientation-4' => 'Босоогоор эргүүлэх',
 'exif-orientation-5' => 'Цагийн зүүний эсрэгээр 90° эргүүлж босоогоор эргүүллээ',
-'exif-orientation-6' => 'Цагийн зүүний дагуу 90° эргүүллээ',
+'exif-orientation-6' => 'Цагийн зүүний дагуу 90° эргүүлсэн байдал',
 'exif-orientation-7' => 'Цагийн зүүний дагуу 90° эргүүлж босоогоор эргүүллээ',
-'exif-orientation-8' => 'Цагийн зүүний эсрэгээр 90° эргүүллээ',
+'exif-orientation-8' => 'Цагийн зүүний эсрэг 90° эргүүлсэн байдал',
 
 'exif-planarconfiguration-1' => 'Chunky формат',
 
@@ -2947,9 +2988,9 @@ $1',
 # Pseudotags used for GPSDestDistanceRef
 'exif-gpsdestdistance-k' => 'Километр',
 'exif-gpsdestdistance-m' => 'Милл',
-'exif-gpsdestdistance-n' => 'тохой урт',
+'exif-gpsdestdistance-n' => 'бээр',
 
-'exif-objectcycle-b' => 'Өглөө Ð¾Ñ\80ойн Ð°Ð»Ð¸Ð½Ð´ ч',
+'exif-objectcycle-b' => 'ӨдөÑ\80 Ñ\87 Ñ\88өнө ч',
 
 # Pseudotags used for GPSTrackRef, GPSImgDirectionRef and GPSDestBearingRef
 'exif-gpsdirection-t' => 'Бодит чиглэл',
index 708877c..a108bf4 100644 (file)
@@ -69,47 +69,49 @@ $namespaceAliases = array(
 
 # !!# sqlविचारा is not in normalised form, which is Sqlविचारा or Sqlविचारा
 $specialPageAliases = array(
-       'Activeusers'               => array( 'à¤\95ारà¥\8dयरतसदस्य' ),
+       'Activeusers'               => array( 'सà¤\95à¥\8dरिय_सदस्य' ),
        'Allmessages'               => array( 'सर्व_निरोप' ),
        'Allpages'                  => array( 'सर्व_पाने' ),
        'Ancientpages'              => array( 'जुनी_पाने' ),
-       'Blankpage'                 => array( 'कोरेपान' ),
-       'Block'                     => array( 'प्रतिबंध', 'अंकपत्ताप्रतिबंध', 'सदस्यप्रतिबंध' ),
-       'Blockme'                   => array( 'मलाप्रतिबंधकरा' ),
-       'Booksources'               => array( 'पुस्तकस्रोत' ),
+       'Blankpage'                 => array( 'कोरे_पान' ),
+       'Block'                     => array( 'प्रतिबंध', 'अंकपत्ता_प्रतिबंध', 'सदस्य_प्रतिबंध' ),
+       'Blockme'                   => array( 'मला_प्रतिबंध_करा' ),
+       'Booksources'               => array( 'पुस्तक_स्रोत' ),
        'BrokenRedirects'           => array( 'चुकीची_पुनर्निर्देशने' ),
        'Categories'                => array( 'वर्ग' ),
-       'ChangePassword'            => array( 'परवलीचाशब्दबदला' ),
-       'Confirmemail'              => array( 'विपत्रनक्कीकरा' ),
+       'ChangeEmail'               => array( 'विपत्र_बदला' ),
+       'ChangePassword'            => array( 'परवलीचा_शब्द_बदला' ),
+       'ComparePages'              => array( 'पानांची_तुलना' ),
+       'Confirmemail'              => array( 'विपत्र_नक्की_करा' ),
        'Contributions'             => array( 'योगदान' ),
-       'CreateAccount'             => array( 'सदस्यनोंद' ),
+       'CreateAccount'             => array( 'सदस्य_नोंद' ),
        'Deadendpages'              => array( 'टोकाची_पाने' ),
-       'DeletedContributions'      => array( 'वगळलेलीयोगदाने' ),
-       'Disambiguations'           => array( 'नि:संदिग्धीकरण' ),
+       'DeletedContributions'      => array( 'वगळलेली_योगदाने' ),
+       'Disambiguations'           => array( 'निसंदिग्धीकरण' ),
        'DoubleRedirects'           => array( 'दुहेरी_पुनर्निर्देशने' ),
-       'Emailuser'                 => array( 'विपत्रवापरकर्ता' ),
+       'Emailuser'                 => array( 'विपत्र_वापरकर्ता' ),
        'Export'                    => array( 'निर्यात' ),
-       'Fewestrevisions'           => array( 'कमीतकमीआवर्तने' ),
-       'FileDuplicateSearch'       => array( 'दुहेरीसंचिकाशोध' ),
+       'Fewestrevisions'           => array( 'कमीत_कमी_आवर्तने' ),
+       'FileDuplicateSearch'       => array( 'दुहेरी_संचिका_शोध' ),
        'Filepath'                  => array( 'संचिकेचा_पत्ता_(पाथ)' ),
        'Import'                    => array( 'आयात' ),
-       'Invalidateemail'           => array( 'चूकदिनांकविपत्र' ),
-       'BlockList'                 => array( 'प्रतिबंधनसुची' ),
+       'Invalidateemail'           => array( 'à¤\85à¤\97à¥\8dराहà¥\8dय_विपतà¥\8dर', 'à¤\9aà¥\82à¤\95दिनाà¤\82à¤\95विपतà¥\8dर' ),
+       'BlockList'                 => array( 'प्रतिबंधन_सुची' ),
        'LinkSearch'                => array( 'दुवाशोध' ),
        'Listadmins'                => array( 'प्रबंधकांची_यादी' ),
        'Listbots'                  => array( 'सांगकाम्यांची_यादी' ),
        'Listfiles'                 => array( 'चित्रयादी' ),
        'Listgrouprights'           => array( 'गट_अधिकार_यादी' ),
-       'Listredirects'             => array( 'पुर्ननिर्देशनसुची' ),
+       'Listredirects'             => array( 'पुर्ननिर्देशन_सुची' ),
        'Listusers'                 => array( 'सदस्यांची_यादी' ),
-       'Lockdb'                    => array( 'à¤\95à¥\81लà¥\81पबà¤\82द_à¤\95रा_(डà¥\87à¤\9fाबà¥\87स)' ),
+       'Lockdb'                    => array( 'डà¥\87à¤\9fाबà¥\87स_à¤\95à¥\81लà¥\81पबà¤\82द_à¤\95रा' ),
        'Log'                       => array( 'नोंद', 'नोंदी' ),
-       'Lonelypages'               => array( 'à¤\8fà¤\95लपाने' ),
+       'Lonelypages'               => array( 'à¤\8fà¤\95ाà¤\95à¥\80_पाने' ),
        'Longpages'                 => array( 'मोठी_पाने' ),
        'MergeHistory'              => array( 'इतिहास_एकत्र_करा' ),
-       'MIMEsearch'                => array( 'माईमशोध' ),
+       'MIMEsearch'                => array( 'माईम‌_शोध' ),
        'Mostcategories'            => array( 'सर्वात_जास्त_वर्ग' ),
-       'Mostimages'                => array( 'सर्वाधिकसांधलेलीसंचिका' ),
+       'Mostimages'                => array( 'सर्वाधिक_सांधलेली_संचिका' ),
        'Mostlinked'                => array( 'सर्वात_जास्त_जोडलेली' ),
        'Mostlinkedcategories'      => array( 'सर्वात_जास्त_जोडलेले_वर्ग', 'सर्वात_जास्त_वापरलेले_वर्ग' ),
        'Mostlinkedtemplates'       => array( 'सर्वात_जास्त_जोडलेले_साचे', 'सर्वात_जास्त_वापरलेले_साचे' ),
@@ -118,15 +120,15 @@ $specialPageAliases = array(
        'Mycontributions'           => array( 'माझे_योगदान' ),
        'Mypage'                    => array( 'माझे_पान' ),
        'Mytalk'                    => array( 'माझ्या_चर्चा' ),
-       'Newimages'                 => array( 'नवीन_चित्रे' ),
+       'Newimages'                 => array( 'नवà¥\80न_सà¤\82à¤\9aिà¤\95ा', 'नवà¥\80न_à¤\9aितà¥\8dरà¥\87' ),
        'Newpages'                  => array( 'नवीन_पाने' ),
        'Popularpages'              => array( 'प्रसिद्ध_पाने' ),
        'Preferences'               => array( 'पसंती' ),
        'Prefixindex'               => array( 'उपसर्गसुची' ),
        'Protectedpages'            => array( 'सुरक्षित_पाने' ),
        'Protectedtitles'           => array( 'सुरक्षित_शीर्षके' ),
-       'Randompage'                => array( 'अविशिष्ट', 'अविशिष्ट_पृष्ठ' ),
-       'Randomredirect'            => array( 'अविशिष्टपुर्ननिर्देशन' ),
+       'Randompage'                => array( 'à¤\95à¥\8bणतà¥\87हà¥\80', 'à¤\95à¥\8bणतà¥\87हà¥\80_पà¥\83षà¥\8dठ', 'à¤\85विशिषà¥\8dà¤\9f', 'à¤\85विशिषà¥\8dà¤\9f_पà¥\83षà¥\8dठ' ),
+       'Randomredirect'            => array( 'अविशिष्ट_पुर्ननिर्देशन' ),
        'Recentchanges'             => array( 'अलीकडील_बदल' ),
        'Recentchangeslinked'       => array( 'सांधलेलेअलिकडीलबदल' ),
        'Revisiondelete'            => array( 'आवर्तनवगळा' ),
@@ -136,27 +138,27 @@ $specialPageAliases = array(
        'Statistics'                => array( 'सांख्यिकी' ),
        'Tags'                      => array( 'खूणा' ),
        'Uncategorizedcategories'   => array( 'अवर्गीकृत_वर्ग' ),
-       'Uncategorizedimages'       => array( 'अवर्गीकृत_चित्रे' ),
+       'Uncategorizedimages'       => array( 'à¤\85वरà¥\8dà¤\97à¥\80à¤\95à¥\83त_सà¤\82à¤\9aिà¤\95ा', 'à¤\85वरà¥\8dà¤\97à¥\80à¤\95à¥\83त_à¤\9aितà¥\8dरà¥\87' ),
        'Uncategorizedpages'        => array( 'अवर्गीकृत_पाने' ),
        'Uncategorizedtemplates'    => array( 'अवर्गीकृत_साचे' ),
        'Undelete'                  => array( 'काढणे_रद्द_करा' ),
        'Unlockdb'                  => array( 'विदागारताळेउघडा' ),
        'Unusedcategories'          => array( 'न_वापरलेले_वर्ग' ),
        'Unusedimages'              => array( 'न_वापरलेली_चित्रे' ),
-       'Unusedtemplates'           => array( 'नà¤\89पयà¥\8bà¤\97ातà¤\86णलà¥\87लासाà¤\9aा' ),
-       'Unwatchedpages'            => array( 'अप्रेक्षीतपाने' ),
+       'Unusedtemplates'           => array( 'à¤\89पयà¥\8bà¤\97ात_नसलà¥\87लà¥\87_साà¤\9aà¥\87' ),
+       'Unwatchedpages'            => array( 'अप्रेक्षीत_पाने' ),
        'Upload'                    => array( 'चढवा' ),
-       'Userlogin'                 => array( 'सदस्यप्रवेश' ),
-       'Userlogout'                => array( 'सदस्यबहिर्गमन' ),
+       'Userlogin'                 => array( 'सदस्य_प्रवेश' ),
+       'Userlogout'                => array( 'सदस्य‌_बहिर्गमन' ),
        'Userrights'                => array( 'खातेदाराचे_अधिकार' ),
        'Version'                   => array( 'आवृत्ती' ),
        'Wantedcategories'          => array( 'हवे_असलेले_वर्ग' ),
-       'Wantedfiles'               => array( 'संचिकाहवी' ),
+       'Wantedfiles'               => array( 'संचिका_हवी' ),
        'Wantedpages'               => array( 'हवे_असलेले_लेख' ),
-       'Wantedtemplates'           => array( 'साचाहवा' ),
-       'Watchlist'                 => array( 'पहार्‍याची_सूची' ),
+       'Wantedtemplates'           => array( 'साचा_हवा' ),
+       'Watchlist'                 => array( 'नितà¥\8dयâ\80\8c_पहाणà¥\8dयाà¤\9aà¥\80_सà¥\82à¤\9aà¥\80', 'पहारà¥\8dâ\80\8dयाà¤\9aà¥\80_सà¥\82à¤\9aà¥\80' ),
        'Whatlinkshere'             => array( 'येथे_काय_जोडले_आहे' ),
-       'Withoutinterwiki'          => array( 'विनाà¤\86à¤\82तरविà¤\95ि' ),
+       'Withoutinterwiki'          => array( 'à¤\86à¤\82तरविà¤\95ि_शिवाय' ),
 );
 
 $magicWords = array(
@@ -1571,7 +1573,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|बदल|बदल}}',
 'recentchanges' => 'अलीकडील बदल',
 'recentchanges-legend' => 'अलीकडील बदल पर्याय',
-'recentchangestext' => 'विकितील अलीकडील बदल या पानावर दिसतात.',
+'recentchanges-summary' => 'विकितील अलीकडील बदल या पानावर दिसतात.',
 'recentchanges-feed-description' => 'या रसदीमधील विकीवर झालेले सर्वात अलीकडील बदल पहा.',
 'recentchanges-label-newpage' => 'या संपादनाने नवीन पान तयार झाले',
 'recentchanges-label-minor' => 'हा एक छोटा बदल आहे',
@@ -2034,7 +2036,7 @@ Input:contenttype/subtype, e.g. <tt>image/jpeg</tt>.',
 'listusers-editsonly' => 'फक्त संपादनांसहित सदस्य दाखवा',
 'listusers-creationsort' => 'निर्मितीच्या तारखेप्रमाणे लावा',
 'usereditcount' => '$1 {{PLURAL:$1|संपादन|संपादने}}',
-'usercreated' => '{{GENDER:$3|बनावला}} या $1 अत $2',
+'usercreated' => 'सदस्य खाते $3, $1 तारखेला, $2 वाजता बनवले गेले',
 'newpages' => 'नवीन पाने',
 'newpages-username' => 'सदस्य नाव:',
 'ancientpages' => 'जुनी पाने',
@@ -2240,18 +2242,18 @@ $NEWPAGE
 विपत्र: $PAGEEDITOR_EMAIL
 विकि: $PAGEEDITOR_WIKI
 
-तà¥\81मà¥\8dहà¥\80 à¤ªà¤¾à¤¨à¤¾à¤¸ à¤­à¥\87à¤\9f à¤¦à¥\87त à¤¨à¤¾à¤¹à¥\80 à¤¤à¥\8bपरà¥\8dयà¤\82त à¤ªà¥\81ढà¥\87 à¤¹à¥\8bणाऱà¥\8dया à¤¬à¤¦à¤²à¤¾à¤\82à¤\9aà¥\80 à¤\87तर à¤\95à¥\8bणतà¥\80हà¥\80 à¤µà¥\87à¤\97ळà¥\80 à¤¸à¥\82à¤\9aना à¤¨à¤¸à¥\87ल. à¤¤à¥\81मà¥\8dहà¥\80 à¤ªà¤¹à¤¾à¤±à¥\8dयाà¤\9aà¥\80 à¤¸à¥\82à¤\9aà¥\80मधà¥\80ल à¤ªà¤¹à¤¾à¤°à¤¾ à¤ à¥\87वलेल्या पानांकरिताच्या सूचना पताकांचे पुर्नयोजन करु शकता.
+तà¥\81मà¥\8dहà¥\80 à¤ªà¤¾à¤¨à¤¾à¤¸ à¤­à¥\87à¤\9f à¤¦à¥\87त à¤¨à¤¾à¤¹à¥\80 à¤¤à¥\8bपरà¥\8dयà¤\82त à¤ªà¥\81ढà¥\87 à¤¹à¥\8bणाऱà¥\8dया à¤¬à¤¦à¤²à¤¾à¤\82à¤\9aà¥\80 à¤\87तर à¤\95à¥\8bणतà¥\80हà¥\80 à¤µà¥\87à¤\97ळà¥\80 à¤¸à¥\82à¤\9aना à¤¨à¤¸à¥\87ल. à¤¤à¥\81मà¤\9aà¥\8dया à¤¨à¤¿à¤¤à¥\8dय à¤ªà¤¹à¤¾à¤£à¥\8dयाà¤\9aà¥\8dया à¤¸à¥\82à¤\9aà¥\80मधà¥\80ल à¤\85सलेल्या पानांकरिताच्या सूचना पताकांचे पुर्नयोजन करु शकता.
 
-तà¥\81मà¤\9aà¥\80 à¤®à¥\88तà¥\8dरà¥\80पà¥\82रà¥\8dण {{SITENAME}} à¤¸à¥\81चना प्रणाली
+तà¥\81मà¤\9aà¥\80 à¤®à¥\88तà¥\8dरà¥\80पà¥\82रà¥\8dण {{SITENAME}} à¤¸à¥\82चना प्रणाली
 
 --
 
-तà¥\81मà¤\9aà¥\87 à¤ªà¤¹à¤¾à¤±à¥\8dयातà¥\80ल पानांची मांडणावळ (कोंदण) बदलू शकता, {{canonicalurl:{{#special:EditWatchlist}}}} ला भेट द्या
+तà¥\81मà¤\9aà¥\8dया à¤¨à¤¿à¤¤à¥\8dय à¤ªà¤¹à¤¾à¤£à¥\8dयाà¤\9aà¥\8dया पानांची मांडणावळ (कोंदण) बदलू शकता, {{canonicalurl:{{#special:EditWatchlist}}}} ला भेट द्या
 
-हà¥\87 à¤ªà¤¾à¤¨ à¤¤à¥\81मà¤\9aà¥\8dया à¤ªà¤¹à¤¾à¤±à¥\8dयाà¤\9aà¥\8dया à¤¸à¥\81à¤\9aà¥\80तà¥\81न à¤\95ाधà¥\81न à¤\9fाà¤\95णà¥\8dयासाठà¥\80 à¤\96लील दुव्यावर टिचकी मारा.
+हà¥\87 à¤ªà¤¾à¤¨ à¤¤à¥\81मà¤\9aà¥\8dया à¤¨à¤¿à¤¤à¥\8dय à¤ªà¤¹à¤¾à¤£à¥\8dयाà¤\9aà¥\8dया à¤¸à¥\82à¤\9aà¥\80तà¥\81न à¤\95ाढà¥\82न à¤\9fाà¤\95णà¥\8dयासाठà¥\80 à¤\96ालील दुव्यावर टिचकी मारा.
 $UNWATCHURL
 
-पà¥\81ढà¥\80ल à¤¸à¤¹à¤¾à¤¯à¥\8dय à¤\86णि à¤ªà¥\8dरतिà¤\95à¥\8dरà¥\80या:
+पà¥\81ढà¥\80ल à¤¸à¤¾à¤¹à¤¾à¤¯à¥\8dय à¤\86णि à¤ªà¥\8dरतिà¤\95à¥\8dरिया:
 {{canonicalurl:{{MediaWiki:Helppage}}}}',
 
 # Delete
index 62a6fbb..cb482c9 100644 (file)
@@ -1237,6 +1237,7 @@ Cuba berikan awalan ''all:'' untuk mencari semua kandungan (termasuk laman perbi
 'prefs-beta' => 'Ciri-ciri beta',
 'prefs-datetime' => 'Tarikh dan waktu',
 'prefs-labs' => 'Ciri-ciri makmal',
+'prefs-user-pages' => 'Laman pengguna',
 'prefs-personal' => 'Profil',
 'prefs-rc' => 'Perubahan terkini',
 'prefs-watchlist' => 'Senarai pantau',
@@ -1500,7 +1501,7 @@ Tindakan ini tidak boleh dibatalkan.',
 'nchanges' => '$1 perubahan',
 'recentchanges' => 'Perubahan terkini',
 'recentchanges-legend' => 'Pilihan perubahan terkini',
-'recentchangestext' => 'Jejaki perubahan terkini dalam {{SITENAME}} pada laman ini.',
+'recentchanges-summary' => 'Jejaki perubahan terkini dalam {{SITENAME}} pada laman ini.',
 'recentchanges-feed-description' => 'Jejaki perubahan terkini dalam {{SITENAME}} pada suapan ini.',
 'recentchanges-label-newpage' => 'Suntingan ini mencipta laman baru',
 'recentchanges-label-minor' => 'Ini ialah suntingan kecil',
@@ -1700,14 +1701,15 @@ Sila hubungi [[Special:ListUsers/sysop|pentadbir sistem]].',
 'backend-fail-writetemp' => 'Fail sementara tidak dapat ditulisi.',
 'backend-fail-closetemp' => 'Fail sementara tidak dapat ditutup.',
 'backend-fail-read' => 'Fail $1 tidak dapat dibaca.',
-'backend-fail-create' => 'Fail $1 tidak dapat diwujudkan.',
-'backend-fail-maxsize' => 'Fail $1 tidak boleh dibuat kerana melebihi $2 bait.',
+'backend-fail-create' => 'Fail $1 tidak dapat ditulis.',
+'backend-fail-maxsize' => 'Fail $1 tidak boleh ditulis kerana melebihi $2 bait.',
 'backend-fail-readonly' => 'Backend storan "$1" kini dalam mod baca sahaja. Sebab yang diberikan ialah: "$2"',
 'backend-fail-synced' => 'Fail "$1" berada dalam keadaan yang tidak sejajar dalam backend storan dalaman',
 'backend-fail-connect' => 'Tidak dapat bersambung dengan backend storan "$1".',
 'backend-fail-internal' => 'Berlakunya ralat yang tidak dikenali dalam backend storan "$1".',
 'backend-fail-contenttype' => 'Jenis kandungan fail untuk disimpan di "$1" tidak dapat ditentukan.',
 'backend-fail-batchsize' => 'Backend storan diberi $1 operasi fail dalam satu kelompok; hadnya ialah $2 operasi.',
+'backend-fail-usable' => 'Fail $1 tidak boleh ditulis kerana kebenaran tidak memadai atau tertinggal direktori/penyimpan.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Tidak dapat bersambung dengan pangkalan data jurnal untuk backend storan "$1".',
@@ -1769,7 +1771,6 @@ Untuk keselamatan optimum, img_auth.php telah dilumpuhkan.',
 'http-curl-error' => 'Ralat mendapatkan URL: $1',
 'http-host-unreachable' => 'URL tidak dapat dicapai.',
 'http-bad-status' => 'Berlaku masalah ketika permintaan HTTP: $1 $2',
-'http-truncated-body' => 'Jasad permohonan diterima separa-separa sahaja.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'URL tidak dapat dicapai',
index 90e43ba..911cd5f 100644 (file)
@@ -935,6 +935,7 @@ Ftakar li l-paġni .css u .js personalizzati għandhom l-ewwel ittra tat-titlu 
 'note' => "'''Nota:'''",
 'previewnote' => "'''Ftakar li din hija biss dehra proviżorja.'''
 It-tibdiliet tiegħek għadhom ma ġewx salvati!",
+'continue-editing' => 'Kompli l-modifika',
 'previewconflict' => "Din il-previżjoni turi l-kliem li jinsab fiż-żona ta' modifika superjuri u turi kif tidher kieku l-paġna kella tiġi modifikata.",
 'session_fail_preview' => "'''Jiddispjaċina imma l-modifika tiegħek ma setgħetx tiġi pproċessata minħabba li ntilfet l-informazzjoni tas-sessjoni.
 Jekk jogħġbok, erġa' pprova. Jekk xorta tibqa' ma taħdimx, ipprova [[Special:UserLogout|oħroġ]] u erġa' idħol.'''",
@@ -1556,7 +1557,7 @@ Hawnhekk hawn valur iġġenerat b'mod każwali li inti tista' tuża: $1",
 'nchanges' => '{{PLURAL:$1|modifika $1 |$1 modifiki}}',
 'recentchanges' => 'Tibdil riċenti',
 'recentchanges-legend' => 'Opzjonijiet tat-tibdil riċenti',
-'recentchangestext' => 'Din il-paġna turi l-modifiki l-aktar riċenti għal kontenut tas-sit.',
+'recentchanges-summary' => 'Din il-paġna turi l-modifiki l-aktar riċenti għal kontenut tas-sit.',
 'recentchanges-feed-description' => "Dan il-feed jirraporta l-modifiki l-aktar riċenti fil-kontenut ta' dan is-sit.",
 'recentchanges-label-newpage' => 'Din il-modifika ħolqot paġna ġdida',
 'recentchanges-label-minor' => 'Din hi modifika minuri',
index b257836..1459d46 100644 (file)
@@ -938,7 +938,7 @@ Your e-mail address is not revealed when other users contact you.
 'nchanges' => 'ပြောင်းလဲချက် $1 {{PLURAL:$1|ခု|ခု}}',
 'recentchanges' => 'လတ်​တ​လောအ​ပြောင်း​အ​လဲ​',
 'recentchanges-legend' => 'လတ်တလောအပြောင်းအလဲများအတွက် ရွေးချယ်စရာများ',
-'recentchangestext' => 'ဤစာမျက်နှာတွင် ဝီကီ၏ လတ်တလောပြောင်းလဲမှုများကို နောက်ကြောင်းခံလိုက်ရန်',
+'recentchanges-summary' => 'ဤစာမျက်နှာတွင် ဝီကီ၏ လတ်တလောပြောင်းလဲမှုများကို နောက်ကြောင်းခံလိုက်ရန်',
 'recentchanges-feed-description' => 'ဤ feed ထဲတွင် ဝီကီ၏ လတ်တလောပြောင်းလဲမှုများကို နောက်ကြောင်းခံလိုက်ရန်',
 'recentchanges-label-newpage' => 'ဤတည်းဖြတ်မှုသည် စာမျက်နှာအသစ်ကို ဖန်တီးခဲ့သည်။',
 'recentchanges-label-minor' => 'အရေးမကြီးသော ​ပြင်​ဆင်​မှု ​ဖြစ်​သည်​',
index 75c4ace..ff028d5 100644 (file)
@@ -1049,7 +1049,7 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'nchanges' => '$1 {{PLURAL:$1|полавтнема|полавтнемат}}',
 'recentchanges' => 'Чыяконь полавтнемат-лиякстомтомат',
 'recentchanges-legend' => 'Улконь полавтнематнень аравтнемаст',
-'recentchangestext' => '',
+'recentchanges-summary' => '',
 'recentchanges-feed-description' => 'Мельга ваннынк кода ульнесть витьнемат-петнемат wiki-сэ те максовксонть.',
 'recentchanges-label-newpage' => 'Те витнемась-петнемась од лопа тейсь',
 'recentchanges-label-minor' => 'Те а покшкэ витнемась-петнемась',
index bc64598..4b6ac06 100644 (file)
@@ -276,7 +276,7 @@ $messages = array(
 'faqpage' => 'Project:FAQ',
 
 # Vector skin
-'vector-action-addsection' => 'اÛ\8cضاÙ\81Ù\87 Ù\87کردÙ\86 Ø¹Ù\88Ù\86Ù\88ان',
+'vector-action-addsection' => 'ترÙ\86Ù\87 Ú¯Ù¾ Ø¨Ø²Ù\88ئن',
 'vector-action-delete' => 'پاک هاکردن',
 'vector-action-move' => 'دکش هاکردن',
 'vector-action-protect' => 'زلفن بزوئن',
@@ -452,7 +452,7 @@ $2، $1',
 'readonly' => 'پایگاه داده زلفن بزه‎بیّه',
 'enterlockreason' => 'دلیلی زلفین بزوئن وسّه بارین، که حاوی تقریبی از زمونی بائه که زلفین بَیته وانه',
 'missingarticle-rev' => '(نسخهٔ شماره: $1)',
-'missingarticle-diff' => '(فرق و فـَسِل: $1، $2)',
+'missingarticle-diff' => '(فرق: $1، $2)',
 'readonly_lag' => 'پایگاه داده به طور خودکار زلفین بزه‌بیّه تا پشتیبون ِنسخه‌ئون با اصلی نسخه هماهنگ بواشِن',
 'internalerror' => 'خطای دله‌یی',
 'internalerror_info' => 'خطای دله‌یی: $1',
@@ -497,7 +497,7 @@ $2، $1',
 'userloginnocreate' => 'دله بموئن',
 'logout' => 'دربوردن',
 'userlogout' => 'دربوردن',
-'notloggedin' => 'سیستم ره دله نی یه موئین',
+'notloggedin' => 'سیستم ره دله نیه مونی',
 'nologin' => 'عضو نی؟ $1.',
 'nologinlink' => 'عضو بواشین',
 'createaccount' => 'ترنه حساب وا هکاردن',
@@ -541,7 +541,7 @@ $2، $1',
 # Edit pages
 'summary' => 'گوزارش کار:',
 'subject' => 'موضوع یا عنوان:',
-'minoredit' => 'اینتا اتّا پـچیک دچی‌یه هسته',
+'minoredit' => 'اینتا ویرایش خله جزئی بیه',
 'watchthis' => 'این صفحه ره دمبال هـاکاردن',
 'savearticle' => 'جادکتن ِصفحه',
 'preview' => 'پیش نمایش',
@@ -567,8 +567,9 @@ $2، $1',
 آخرین مورد سیاهه قطع دسترسی زیر بموئه:',
 'previewnote' => 'شِمه یاد بوئه که اینتا اتا پیش‌نمایِش هسه. 
  شِمه دگاردسته‌ئون جانـَکِته که و‌نه، ونه اِسا ذخیره‌بیّـِن دوکمه ره بَزنین!',
-'editing' => 'دچی‌ین => $1',
+'editing' => 'درحال  $1 ره دچی‌ین',
 'editingsection' => 'دچی‌ین $1 (تیکه)',
+'editingcomment' => '$1 دچی‌ین(نو تیکه)',
 'yourtext' => 'شمه بنویشته',
 'copyrightwarning' => 'خـاهش بونه شمه یاد دواشه که همه چیزایی که {{SITENAME}} دله وانه، تحت $2 حیساب وونه. (ویشتر بخوندستن وسه $1 ره هارشین)<br />
 اگه نخانّی شمه بنویشته‌ئون اینجه دس بزه یا ات نفر دیگه شمه بنویشته ره کوپی نکانه، اصلأ شه بنویشته ره اینجه نی‌یلین.',
@@ -599,8 +600,13 @@ $2، $1',
 
 # Revision deletion
 'rev-delundel' => 'نشون هدائن/فرو بوردن',
+'revdelete-text' => "'''نسخه‌ئون و حذف بئی موارد ره بشنه سیاهه جا و صفحه تاریخچه دله بدین، ولی اتی قسمت از وشونه محتواره بقیه کارورون نتوننه بوینن.'''
+{{SITENAME}} بقیه مدیرون بتوننه اینتا پنهون بئیه محتوا ره هارشن و وشونه حذف بئیون ره احیاء هاکنن، مگر اینکه اتی سری محدودیت ونه رو اعمال بئی باشه.",
 'revdel-restore' => 'دیاری تغییر هدائن',
 
+# History merging
+'mergehistory' => 'صفحه‌ئون تاریخچه ره اتا هاکردن',
+
 # Merge log
 'revertmerge' => 'سِوا هاکردن',
 
@@ -646,7 +652,7 @@ $2، $1',
 'prefs-help-email-required' => 'ایمیل نشونی لازم هسه.',
 
 # User rights
-'userrights-user-editname' => 'کارور نوم ره بنویش هاکنین',
+'userrights-user-editname' => 'اتا کاروری نوم وارد هاکنین:',
 
 # Groups
 'group-sysop' => 'مدیرون',
@@ -670,6 +676,11 @@ $2، $1',
 
 # Recent changes
 'recentchanges' => 'تازه دگاردسته‌ئون',
+'recentchanges-legend' => 'تازه دگاردسته‌ئون گوزینه‌ها',
+'recentchanges-summary' => 'ویکی تازه دگاردسته‌ئون ره اینتا صفحه دله دمبال هاکنین.',
+'recentchanges-label-newpage' => 'اینتا ویرایش اته نو صفحه ایجاد هاکرده',
+'recentchanges-label-minor' => 'اینتا ویرایش خله جزئی بیه',
+'recentchanges-label-bot' => 'اینتا ویرایش‌ره اته ربات انجام هدائه',
 'rcnote' => "اینجه {{PLURAL:$1|دگاردسته‌یی|'''$1''' دگاردسته‌ئونی}} که $4، $5 جه، '''$2''' روز پیش‌تر دچی‎یه بینه ره اشنّی",
 'rclistfrom' => 'نِمایش تازه‌دگاردسته‌ئون با شروع از $1',
 'rcshowhideminor' => 'پچیک دچی‌یه‌ئون $1',
@@ -677,15 +688,16 @@ $2، $1',
 'rcshowhideliu' => 'ثبت‌نوم هاکرده کارورون $1',
 'rcshowhideanons' => 'ناشناس ِکارورون $1',
 'rcshowhidepatr' => 'گشت‌بخارد ِدچی‌یه‌ئون $1',
-'rcshowhidemine' => 'Ù\85Ù\86Ù\87 Ø¯Ú\86Û\8câ\80\8cÛ\8cÙ\87â\80\8cئÙ\88Ù\86 $1',
+'rcshowhidemine' => 'مه دچی‌یه‌ئون $1',
 'rclinks' => 'نـِشون هـِدائن  $1 پایانی دَچی‌‌یه‌ئون، $2 اِسـا روز ره دلـه؛ $3',
-'diff' => 'فرق و فـَسِل',
+'diff' => 'فرق',
 'hist' => 'تاریخچه',
-'hide' => 'Ù\81Ù\80Ù\90رÙ\88 Ø¨Ù\88ردن',
+'hide' => 'Ù¾Ù\86Ù\87Ù\88Ù\86 Ù\87اکن',
 'show' => 'نـِشـون هـاده',
-'minoreditletter' => 'Ø®Ù\88رد',
+'minoreditletter' => 'جز',
 'newpageletter' => 'نو',
 'boteditletter' => 'ربات',
+'newsectionsummary' => '/* $1 */ نو تیکه',
 
 # Recent changes linked
 'recentchangeslinked' => 'واری دأچیـه‌ن‌ئون',
@@ -784,6 +796,8 @@ $2، $1',
 'watchlist' => 'مه دمبال‌هاکرده‌‌ئون ِلیست',
 'mywatchlist' => 'مه دمبال‌هاکرده‌‌ئون ِلیست',
 'watchnologin' => 'سیستم ره دله نی ئه موئین',
+'addedwatchtext' => "«[[:$1]]» شمه [[Special:Watchlist|دمبال هاکردئون لیست]] دله اضافه بیه.
+اینتا صفحه دگاردسته‌ئون و ونه گپ آینده دله اینتا لیست دله شمه وسه فهرست بوننه؛ یان شه بماند، اینتا صفحه، [[Special:RecentChanges|تازه دگاردسته‌ئون]] فهرست دله شمه وسه '''پررنگ‌تر''' نمایش هدا بونه تا وره راحت تر بوینین.",
 'watch' => 'دمبال هاکردن',
 'watchthispage' => 'این صفحه ره دِمبال هاکارد‌ن',
 'unwatch' => 'ده‌مـبـال نـه‌کـارده‌ن',
@@ -793,6 +807,7 @@ $2، $1',
 'wlheader-enotif' => '*تونی ایمیل جه مطلع بواشین.',
 'wlheader-showupdated' => "*صفحه‌ئونی که بعد از آخرین سربزوئنتون عوض بینه '''پر رنگ''' نشون هدائه بیّه.",
 'wlnote' => "ایجه {{PLURAL:$1|پایانی دأچیه‌ن|پایانی '''$1''' دأچیه‌ن‌ئونی}} هأسه که ای $2 ساعت ده‌له دأکه‌ته.",
+'watchlist-options' => 'دمبال هاکردن گوزینه‌ها',
 
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'ده‌مـبـال هـه‌کـارده‌ن...',
@@ -807,6 +822,9 @@ $2، $1',
 
 # Delete
 'deletepage' => 'صفحه پاک هاکردن',
+'excontent' => 'صفحه محتوا وِ بیه: «$1»',
+'excontentauthor' => 'صفحه محتوا وِ بیه: «$1» (فقط «[[Special:Contributions/$2|$2]]» وِنه کایر بیه)',
+'exbeforeblank' => 'قبل اینکه صفحه محتوا خالی بوه ونه محتوا وِ بیه: «$1»',
 'dellogpage' => 'وه ره بییته‌ئون گوزارش',
 
 # Rollback
@@ -817,6 +835,13 @@ $2، $1',
 'revertpage-nouser' => '"چیزونی که (ونـه کـاروری نـوم پـاک بَیّه) دچی‌یه دگـاردسته بیّه همونتایی که [[User:$1|$1]] آخرسری دچی‌ین دلـه هاکرده"',
 'rollback-success' => 'چیزونی که $1 دچی‌ین دگاردسته بیّه همونتایی که $2 آخرسری دچی‌ین دلـه هاکرده',
 
+# Protect
+'protectedarticle' => '«[[$1]]» ره محافظت هاکرده',
+'modifiedarticleprotection' => '«[[$1]]» محافظت تنظیمات ره تغییر هدائه',
+'movedarticleprotection' => '«[[$2]]» محافظت تنظیمات ره «[[$1]]» رو منتقل هاکرده',
+'protect-expiry-indefinite' => 'بی‌پایون',
+'protect-cantedit' => 'شما نتوننی اینتا صفحه محافظت وضعیت ره تغییر هادین، شما اجازه این کار ره ندایننی.',
+
 # Restrictions (nouns)
 'restriction-edit' => 'دچی‌ین',
 'restriction-upload' => 'باربی‌یشتن',
@@ -826,6 +851,7 @@ $2، $1',
 
 # Namespace form on various pages
 'namespace' => 'نوم‌جا:',
+'invert' => 'برعکس انتخاب هاکن',
 'blanknamespace' => '(مـار)',
 
 # Contributions
@@ -855,6 +881,7 @@ $2، $1',
 'blockip-legend' => 'کارور ره دَوستن',
 'ipbsubmit' => 'ای کارور دأبه‌س بأوه',
 'ipblocklist' => 'IP نـه‌شـونـی‌ئون ئو کـارورنـوم‌ئونی کـه دأبـه‌سـتـوونـه',
+'infiniteblock' => 'بی‌پایون',
 'blocklink' => 'دَوستن',
 'unblocklink' => 'وا هـه‌کـارده‌ن',
 'change-blocklink' => 'قطع دسترسی تغییر هدائن',
@@ -895,7 +922,7 @@ $2، $1',
 'tooltip-pt-mycontris' => 'مه کایری‌ئون لیست',
 'tooltip-pt-login' => 'شه‌ما به‌ته‌ر هـأسـه که سـیـسـتـه‌م ده‌لـه بـیـه‌ئی، هـرچـأن زوری نـیـه',
 'tooltip-pt-logout' => 'سیستم جه دأیابـوری',
-'tooltip-ca-talk' => 'صÙ\81Ø­Ù\87 Ø¯Ø±Ø¨Ø§Ø±Ù\87 گپ بَزوئن',
+'tooltip-ca-talk' => 'اÛ\8cÙ\86 ØµÙ\81Ø­Ù\87 Ø®Ù\8eÙ\88رÛ\8c گپ بَزوئن',
 'tooltip-ca-edit' => 'شِما بتوندی این صفحه ره دَچینی.',
 'tooltip-ca-addsection' => 'أتـا نـه گـب را دأکـه‌تـه‌ن',
 'tooltip-ca-viewsource' => 'این صفحه ره نتوندی دَچینی.
@@ -999,6 +1026,7 @@ $5
 # Auto-summaries
 'autosumm-blank' => 'صفحه ره اسپه هاکرده',
 'autosumm-replace' => "صفحه ره اینتا جه عوض هاکرد: '$1'",
+'autoredircomment' => 'به [[$1]] مسیر ره تغییر هدائه',
 
 # Special:Version
 'version-specialpages' => 'شا صفحه‌ئون',
@@ -1008,6 +1036,7 @@ $5
 'specialpages-group-maintenance' => 'چله‌بندی صفحه‌ئون',
 
 # New logging system
+'logentry-move-move_redir-noredirect' => '$1 ، $3 ره بدون اینکه مسیر تغییری درس بوه به $4 که مسیر تغییر بیه منتقل هاکرده',
 'logentry-newusers-newusers' => '$1  بساتن اتا حساب کاروری',
 'logentry-newusers-create' => '$1  بساتن اتا حساب کاروری',
 
index 27db5eb..51a8e22 100644 (file)
@@ -763,7 +763,7 @@ Intlā ticnequi, tlācah quimatīzqueh motequi.',
 'nchanges' => '$1 {{PLURAL:$1|tlapatlaliztli|tlapatlaliztli}}',
 'recentchanges' => 'Yancuīc tlapatlaliztli',
 'recentchanges-legend' => 'Yancuīc tlapatlaliztechcopa tlanequiliztli',
-'recentchangestext' => 'Ìpan inìn tlaìxtlapalli xikỉta in okảchi yankuik ìtlatlaìxpảtilis in wiki.',
+'recentchanges-summary' => 'Xiquinttāz in achi yancuīc ahmo occequīntīn tlapatlaliztli huiquipan inīn zāzanilpan.',
 'rcnote' => "Nicān {{PLURAL:$1|cah '''1''' tlapatlaliaztli|cateh in xōcoyōc '''$1''' tlapatlaliztli}} īpan xōcoyōc {{PLURAL:$2|tōnalli|'''$2''' tōnaltin}} īhuīcpa $5, $4.",
 'rclistfrom' => 'Xiquinttāz yancuīc tlapatlaliztli īhuīcpa $1',
 'rcshowhideminor' => '$1 tlapatlalitzintli',
index 1517cac..5ebe516 100644 (file)
@@ -98,6 +98,7 @@ $specialPageAliases = array(
        'Booksources'               => array( 'Bokkilder' ),
        'BrokenRedirects'           => array( 'Ødelagte_omdirigeringer' ),
        'Categories'                => array( 'Kategorier' ),
+       'ChangeEmail'               => array( 'Endre_e-post' ),
        'ChangePassword'            => array( 'Endre_passord', 'TIlbakestill_passord' ),
        'ComparePages'              => array( 'Sammenlign_sider' ),
        'Confirmemail'              => array( 'Bekreft_e-postadresse' ),
@@ -107,6 +108,7 @@ $specialPageAliases = array(
        'DeletedContributions'      => array( 'Slettede_bidrag' ),
        'Disambiguations'           => array( 'Pekere' ),
        'DoubleRedirects'           => array( 'Doble_omdirigeringer' ),
+       'EditWatchlist'             => array( 'Rediger_overvåkningsliste' ),
        'Emailuser'                 => array( 'E-post' ),
        'Export'                    => array( 'Eksporter' ),
        'Fewestrevisions'           => array( 'Færrest_revisjoner' ),
@@ -138,9 +140,11 @@ $specialPageAliases = array(
        'Mycontributions'           => array( 'Mine_bidrag' ),
        'Mypage'                    => array( 'Min_side' ),
        'Mytalk'                    => array( 'Min_diskusjon' ),
+       'Myuploads'                 => array( 'Mine_opplastinger' ),
        'Newimages'                 => array( 'Nye_filer', 'Nye_bilder' ),
        'Newpages'                  => array( 'Nye_sider' ),
        'PasswordReset'             => array( 'Nullstill_passord' ),
+       'PermanentLink'             => array( 'Permanent_lenke' ),
        'Popularpages'              => array( 'Populære_sider' ),
        'Preferences'               => array( 'Innstillinger' ),
        'Prefixindex'               => array( 'Prefiksindeks' ),
index f75a514..2749501 100644 (file)
@@ -1395,7 +1395,7 @@ Dat kann nich wedder ungeschehn maakt warrn.',
 'nchanges' => '{{PLURAL:$1|Een Ännern|$1 Ännern}}',
 'recentchanges' => 'Toletzt ännert',
 'recentchanges-legend' => 'Optionen för toletzt ännert',
-'recentchangestext' => 'Op disse Sied warrt de Sieden wiest, de toletzt ännert worrn sünd.',
+'recentchanges-summary' => 'Op disse Sied warrt de Sieden wiest, de toletzt ännert worrn sünd.',
 'recentchanges-feed-description' => 'Behool mit dissen Feed de ne’esten Ännern op dit Wiki in’t Oog.',
 'recentchanges-label-newpage' => "Düsse Ännern stell en ne'e Siet op",
 'recentchanges-label-minor' => 'Dat is en lütte Ännern',
index f28e634..0f2f267 100644 (file)
@@ -170,14 +170,14 @@ $magicWords = array(
        'revisiontimestamp'       => array( '1', 'REVISIETIEDSTEMPEL', 'VERSIETIJD', 'REVISIONTIMESTAMP' ),
        'revisionuser'            => array( '1', 'VERSIEGEBRUKER', 'VERSIEGEBRUIKER', 'REVISIONUSER' ),
        'plural'                  => array( '0', 'MEERVOUD:', 'PLURAL:' ),
-       'fullurl'                 => array( '0', 'HELEURL', 'VOLLEDIGEURL', 'FULLURL:' ),
-       'fullurle'                => array( '0', 'HELEURLE', 'VOLLEDIGEURLE', 'FULLURLE:' ),
+       'fullurl'                 => array( '0', 'HELEURL', 'VOLLEDIGEURL', 'VOLLEDIGEURL:', 'FULLURL:' ),
+       'fullurle'                => array( '0', 'HELEURLE', 'VOLLEDIGEURLE', 'VOLLEDIGEURLE:', 'FULLURLE:' ),
        'lcfirst'                 => array( '0', 'KLEERSTE:', 'LCFIRST:' ),
        'ucfirst'                 => array( '0', 'GLEERSTE:', 'HLEERSTE:', 'UCFIRST:' ),
        'lc'                      => array( '0', 'KL:', 'LC:' ),
        'uc'                      => array( '0', 'HL:', 'UC:' ),
        'raw'                     => array( '0', 'RAUW:', 'RUW:', 'RAW:' ),
-       'displaytitle'            => array( '1', 'TEUNTITEL', 'TOONTITEL', 'TITELTONEN', 'DISPLAYTITLE' ),
+       'displaytitle'            => array( '1', 'TEUNTITEL', 'TOONTITEL', 'TITELTONEN', 'WEERGEGEVENTITEL', 'DISPLAYTITLE' ),
        'newsectionlink'          => array( '1', '__NIEJESECTIEVERWIEZING__', '__NIEUWESECTIELINK__', '__NIEUWESECTIEKOPPELING__', '__NEWSECTIONLINK__' ),
        'nonewsectionlink'        => array( '1', '__GIENNIEJKOPJENVERWIEZING__', '__GEENNIEUWKOPJEVERWIJZING__', '__GEENNIEUWESECTIELINK__', '__NONEWSECTIONLINK__' ),
        'currentversion'          => array( '1', 'DISSEVERSIE', 'HUIDIGEVERSIE', 'CURRENTVERSION' ),
@@ -1598,7 +1598,7 @@ Disse informasie is zichtbaor veur aandere gebrukers.',
 'nchanges' => '$1 {{PLURAL:$1|wieziging|wiezigingen}}',
 'recentchanges' => 'Leste wiezigingen',
 'recentchanges-legend' => 'Opsies veur leste wiezigingen',
-'recentchangestext' => "Op disse pagina ku'j de leste wiezigingen van disse wiki bekieken.",
+'recentchanges-summary' => 'Op disse pagina ku-j de leste wiezigingen van disse wiki bekieken.',
 'recentchanges-feed-description' => 'Zeuk naor de alderleste wiezingen op disse wiki in disse voer.',
 'recentchanges-label-newpage' => 'Mit disse bewarking is n nieje pagina an-emaakt',
 'recentchanges-label-minor' => 'Dit is n kleine wieziging',
index cd3429b..3fd32e1 100644 (file)
@@ -1354,7 +1354,7 @@ HTML ट्यागहरु जाँच्नुहोस् ।',
 'nchanges' => '$1 {{PLURAL:$1|परिवर्तन|परिवर्तनहरु}}',
 'recentchanges' => 'नयाँ परिवर्तनहरु',
 'recentchanges-legend' => 'हालैको परिवर्तन विकल्पहरु',
-'recentchangestext' => 'विकिका भर्खरका परिवर्तनहरुलाई यस पृष्ठमा पहिल्याउने',
+'recentchanges-summary' => 'विकिका भर्खरका परिवर्तनहरुलाई यस पृष्ठमा पहिल्याउने',
 'recentchanges-feed-description' => 'यो फिडमा रहेको विकीको सवैभन्दा अन्तिम परिवर्तनहरुको जानकारी राख्नुहोस्',
 'recentchanges-label-newpage' => 'यो सम्पादनले नयाँ पृष्ठ निर्माण गरेको छ',
 'recentchanges-label-minor' => 'यो साधारण सम्पादन हो',
index a53e07c..21846b9 100644 (file)
@@ -176,7 +176,6 @@ $magicWords = array(
        'localurl'                => array( '0', 'LOKALEURL', 'LOCALURL:' ),
        'localurle'               => array( '0', 'LOKALEURLE', 'LOCALURLE:' ),
        'articlepath'             => array( '0', 'ARTIKELPAD', 'ARTICLEPATH' ),
-       'pageid'                  => array( '0', 'PAGINAID', 'PAGEID' ),
        'servername'              => array( '0', 'SERVERNAAM', 'SERVERNAME' ),
        'scriptpath'              => array( '0', 'SCRIPTPAD', 'SCRIPTPATH' ),
        'stylepath'               => array( '0', 'STIJLPAD', 'STYLEPATH' ),
@@ -1337,9 +1336,9 @@ Let op dat het gebruiken van de navigatieverwijzingen deze kolom opnieuw instelt
 'mergelogpagetext' => 'Hieronder ziet u een lijst van recente samenvoegingen van een paginageschiedenis naar een andere.',
 
 # Diffs
-'history-title' => 'Geschiedenis van "$1"',
-'difference-title' => 'Verschil tussen versies van "$1"',
-'difference-title-multipage' => 'Verschil tussen pagina\'s "$1" en "$2"',
+'history-title' => '$1: versiegeschiedenis',
+'difference-title' => '$1: verschil tussen versies',
+'difference-title-multipage' => "$1 en $2: verschil tussen pagina's",
 'difference-multipage' => "(Verschil tussen pagina's)",
 'lineno' => 'Regel $1:',
 'compareselectedversions' => 'Geselecteerde versies vergelijken',
@@ -1439,6 +1438,7 @@ De gegevens over {{SITENAME}} zijn mogelijk niet bijgewerkt.',
 'prefs-beta' => 'Bètafunctionaliteit',
 'prefs-datetime' => 'Datum en tijd',
 'prefs-labs' => 'Alphafunctionaliteit',
+'prefs-user-pages' => "Gebruikerspagina's",
 'prefs-personal' => 'Gebruikersprofiel',
 'prefs-rc' => 'Recente wijzigingen',
 'prefs-watchlist' => 'Volglijst',
@@ -1703,7 +1703,7 @@ Als u deze opgeeft, kan deze naam gebruikt worden om u erkenning te geven voor u
 'nchanges' => '$1 {{PLURAL:$1|bewerking|bewerkingen}}',
 'recentchanges' => 'Recente wijzigingen',
 'recentchanges-legend' => 'Opties voor recente wijzigingen',
-'recentchangestext' => 'Op deze pagina kunt u de recente wijzigingen in deze wiki bekijken.',
+'recentchanges-summary' => 'Op deze pagina kunt u de recentste wijzigingen in deze wiki bekijken.',
 'recentchanges-feed-description' => 'Met deze feed kunt u de recentste wijzigingen in deze wiki bekijken.',
 'recentchanges-label-newpage' => 'Met deze bewerking is een nieuwe pagina aangemaakt',
 'recentchanges-label-minor' => 'Dit is een kleine bewerking',
@@ -1921,14 +1921,15 @@ Als het probleem aanhoudt, neem dan contact op met een [[Special:ListUsers/sysop
 'backend-fail-writetemp' => 'Het was niet mogelijk naar een tijdelijk bestand te schrijven.',
 'backend-fail-closetemp' => 'Het was niet mogelijk een tijdelijk bestand te sluiten.',
 'backend-fail-read' => 'Het was niet mogelijk het bestand $1 te lezen.',
-'backend-fail-create' => 'Het was niet mogelijk het bestand $1 aan te maken.',
-'backend-fail-maxsize' => 'Het was niet mogelijk het bestand $1 aan te maken omdat het groter is dan {{PLURAL:$2|één byte|$2 bytes}}.',
+'backend-fail-create' => 'Het was niet mogelijk naar het bestand $1 te schrijven.',
+'backend-fail-maxsize' => 'Het was niet mogelijk naar het bestand $1 te schrijven omdat het groter is dan {{PLURAL:$2|één byte|$2 bytes}}.',
 'backend-fail-readonly' => 'Het opslagbackend "$1" kan op dit moment alleen gelezen worden. De opgegeven reden was: "$2"',
 'backend-fail-synced' => 'Het bestand "$1" bevindt zich in een inconsistente toestand in de interne opslagbackends.',
 'backend-fail-connect' => 'Het was niet mogelijk een verbinding te maken met het opslagbackend "$1".',
 'backend-fail-internal' => 'Er is een onbekende fout opgetreden in het opslagbackend "$1".',
 'backend-fail-contenttype' => 'Het inhoudstype van het bestand om in de opslag "$1" op te slaan kon niet bepaald worden.',
 'backend-fail-batchsize' => 'Taak met $1 {{PLURAL:$1|bestandshandeling|bestandshandelingen}} in het opslagbackend; de limiet is $2 {{PLURAL:$2|handeling|handelingen}}.',
+'backend-fail-usable' => 'Het was niet mogelijk naar het bestand $1 te schrijven vanwege onvoldoende rechten of niet-aanwezige mappen of containers.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Het was niet mogelijk een verbinding te maken met de journaldatabase voor het opslagbackend "$1".',
@@ -1991,7 +1992,6 @@ Om beveiligingsreden is img_auth.php uitgeschakeld.',
 'http-curl-error' => 'Fout bij het ophalen van URL: $1',
 'http-host-unreachable' => 'De URL is niet bereikbaar.',
 'http-bad-status' => 'Er is een probleem opgetreden bij het HTTP-verzoek: $1 $2',
-'http-truncated-body' => 'De inhoud van het verzoek is slechts gedeeltelijk ontvangen.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Kon de URL niet bereiken',
@@ -2235,7 +2235,7 @@ Een bestand kan hier dus ten onrechte opgenomen zijn.',
 'notargettitle' => 'Geen doelpagina',
 'notargettext' => 'U hebt niet opgegeven voor welke pagina of gebruiker u deze handeling wilt uitvoeren.',
 'nopagetitle' => 'Te hernoemen pagina bestaat niet',
-'nopagetext' => 'De pagina die u wilt hernoemen bestaat niet.',
+'nopagetext' => 'De doelpagina die u hebt opgegeven bestaat niet.',
 'pager-newer-n' => '{{PLURAL:$1|1 nieuwere|$1 nieuwere}}',
 'pager-older-n' => '{{PLURAL:$1|1 oudere|$1 oudere}}',
 'suppress' => 'Toezicht',
index 8efb939..38ef28f 100644 (file)
@@ -342,7 +342,7 @@ $messages = array(
 # Font style option in Special:Preferences
 'editfont-style' => 'Endre stilen for skrifttypen i området:',
 'editfont-default' => 'Nettlesar i utgangspunktet',
-'editfont-monospace' => 'Skrift med fast breidde',
+'editfont-monospace' => 'Skrift med fast breidd',
 'editfont-sansserif' => 'Skrifttype utan seriffar',
 'editfont-serif' => 'Skrifttype med seriffar',
 
@@ -1180,7 +1180,9 @@ Pass på at den nye sida også har innhald frå den innfletta sida.',
 'mergelogpagetext' => 'Nedanfor finn du ei liste over dei siste flettingane av ein sidehistorikk til ein annan.',
 
 # Diffs
-'history-title' => 'Historikken til «$1»',
+'history-title' => '$1: Versjonshistorikk',
+'difference-title' => '$1: Skilnad mellom versjonar',
+'difference-title-multipage' => '$1 og $2: Skilnad mellom sidene',
 'difference-multipage' => '(Skilnad mellom sider)',
 'lineno' => 'Line $1:',
 'compareselectedversions' => 'Samanlikn valde versjonar',
@@ -1535,7 +1537,7 @@ Dette kan ikke tilbakestillast.',
 'nchanges' => '{{PLURAL:$1|Éi endring|$1 endringar}}',
 'recentchanges' => 'Siste endringar',
 'recentchanges-legend' => 'Alternativ for siste endringar',
-'recentchangestext' => 'På denne sida ser du dei sist endra sidene i {{SITENAME}}.',
+'recentchanges-summary' => 'På denne sida ser du dei sist endra sidene i {{SITENAME}}.',
 'recentchanges-feed-description' => 'Fylg med på dei siste endringane på denne wikien med dette abonnementet.',
 'recentchanges-label-newpage' => 'Denne redigeringa oppretta ei ny side',
 'recentchanges-label-minor' => 'Dette er ei mindre endring',
@@ -1712,6 +1714,9 @@ $1',
 'upload-unknown-size' => 'Ukjend storleik',
 'upload-http-error' => 'Ein HTTP-feil oppstod: $1',
 
+# File backend
+'backend-fail-delete' => 'Kunne ikkje sletta fila «$1».',
+
 # img_auth script messages
 'img-auth-accessdenied' => 'Tilgjenge avslått',
 'img-auth-nopathinfo' => 'PATH_INFO manglar.
@@ -1936,7 +1941,7 @@ Skildringa frå [$2 filskildringssida] der er vist nedanfor.',
 'deadendpages' => 'Blindvegsider',
 'deadendpagestext' => 'Desse sidene har ikkje lenkjer til andre sider på {{SITENAME}}.',
 'protectedpages' => 'Verna sider',
-'protectedpages-indef' => 'Berre vern på ubestemt tid',
+'protectedpages-indef' => 'Berre vern på uavgrensa tid',
 'protectedpages-cascade' => 'Berre djupvern',
 'protectedpagestext' => 'Desse sidene er verna mot flytting og endring',
 'protectedpagesempty' => 'Ingen sider er verna på den valde måten akkurat no.',
@@ -1998,6 +2003,9 @@ Merk at andre internettsider kan ha direkte lenkjer til filer, og difor kan file
 'allpages-bad-ns' => '{{SITENAME}} har ikkje namnerommet «$1».',
 'allpages-hide-redirects' => 'Gøym omdirigeringar',
 
+# SpecialCachedPage
+'cachedspecial-refresh-now' => 'Sjå siste.',
+
 # Special:Categories
 'categories' => 'Kategoriar',
 'categoriespagetext' => 'Følgjande {{PLURAL:$1|category contains|kategoriar inneheld}} sider eller media.
@@ -2219,6 +2227,7 @@ Sjå [[Special:ProtectedPages|lista over verna sider]] for lista over vern som n
 'unprotectedarticle' => 'fjerna vern av «[[$1]]»',
 'movedarticleprotection' => 'flytta verneinnstillingar frå «[[$2]]» til «[[$1]]»',
 'protect-title' => 'Vernar «$1»',
+'protect-title-notallowed' => 'Sjå vernenivået til «$1»',
 'prot_1movedto2' => '«[[$1]]» flytt til «[[$2]]»',
 'protect-legend' => 'Stadfest vern',
 'protectcomment' => 'Grunngjeving:',
@@ -2238,7 +2247,8 @@ Her er dei noverande innstillingane for sida '''$1''':",
 'protect-level-sysop' => 'Berre administratorar',
 'protect-summary-cascade' => 'djupvern',
 'protect-expiring' => 'endar $1 (UTC)',
-'protect-expiry-indefinite' => 'ubestemt',
+'protect-expiring-local' => 'endar $1',
+'protect-expiry-indefinite' => 'uavgrensa',
 'protect-cascade' => 'Vern alle sidene som er inkludert på denne sida (djupvern)',
 'protect-cantedit' => 'Du kan ikkje endre vernenivået på sida fordi du ikkje har tilgang til å endre henne.',
 'protect-othertime' => 'Anna tid:',
@@ -2303,6 +2313,7 @@ Innhaldet i dei sletta versjonane er berre tilgjengeleg for administratorar.',
 
 Sjå [[Special:Log/delete|sletteloggen]] for eit oversyn over sider som nyleg er sletta eller attoppretta.",
 'undelete-header' => 'Sjå [[Special:Log/delete|sletteloggen]] for dei sist sletta sidene.',
+'undelete-search-title' => 'Søk i sletta sider',
 'undelete-search-box' => 'Søk i sletta sider',
 'undelete-search-prefix' => 'Vis sider frå og med:',
 'undelete-search-submit' => 'Søk',
@@ -2748,6 +2759,7 @@ Vitja [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] og [//trans
 'tooltip-diff' => 'Vis skilnaden mellom din versjon og lagra versjon, utan å lagre.',
 'tooltip-compareselectedversions' => 'Sjå endringane mellom dei valde versjonane av denne sida.',
 'tooltip-watch' => 'Legg denne sida til i overvakingslista di [alt-w]',
+'tooltip-watchlistedit-raw-submit' => 'Oppdater overvakingslista',
 'tooltip-recreate' => 'Ved å trykkje på «Nyopprett» vert sida oppretta på nytt.',
 'tooltip-upload' => 'Start opplastinga',
 'tooltip-rollback' => '«Attenderull»-knappen attenderullar endringar på denne sida med eitt klikk til den førre utgåva av ein annan brukar',
@@ -3210,6 +3222,10 @@ Andre er gøymde som standard.
 'exif-gpslongitude-e' => 'Austleg lengdegrad',
 'exif-gpslongitude-w' => 'Vestleg lengdegrad',
 
+# Pseudotags used for GPSAltitudeRef
+'exif-gpsaltitude-above-sealevel' => '{{PLURAL:$1|Éin|$1}} meter over havet',
+'exif-gpsaltitude-below-sealevel' => '{{PLURAL:$1|Éin|$1}} meter under havet',
+
 'exif-gpsstatus-a' => 'Måling pågår',
 'exif-gpsstatus-v' => 'Målingsinteroperabilitet',
 
@@ -3559,6 +3575,8 @@ Skriv inn filnamnet utan «{{ns:file}}:»-prefikset.',
 'feedback-error1' => 'Feil: Ukjent resultat frå API',
 'feedback-error2' => 'Feil: Brigdinga gjekk ikkje',
 'feedback-error3' => 'Feil: Saknar svar frå API',
+'feedback-thanks' => 'Takk! Attendemeldinga di er lagd inn på sida «[$2 $1]».',
+'feedback-close' => 'Gjort',
 
 # API errors
 'api-error-badaccess-groups' => 'Du har ikkje løyve til å lasta opp filer til wikien.',
index 27c9388..c15c795 100644 (file)
@@ -1270,7 +1270,7 @@ Den kan maks inneholde $1 {{PLURAL:$1|tegn|tegn}}.',
 'nchanges' => '$1 {{PLURAL:$1|endring|endringer}}',
 'recentchanges' => 'Siste endringer',
 'recentchanges-legend' => 'Alternativ for siste endringer',
-'recentchangestext' => 'Vis de siste endringene til denne siden',
+'recentchanges-summary' => 'Vis de siste endringene til denne siden',
 'recentchanges-feed-description' => 'Følg med på siste endringer i denne wikien med denne matingen.',
 'recentchanges-label-newpage' => 'Denne redigeringen opprettet en ny side',
 'recentchanges-label-minor' => 'Dette er en mindre endring',
index dbd94ff..94b5b1f 100644 (file)
@@ -659,7 +659,7 @@ Ga re fane ka e-poso ya gago go bašumiši ba bangwe ge ba polela le wena ka yon
 'nchanges' => '$1 {{PLURAL:$1|phetogo|diphetogo}}',
 'recentchanges' => 'Diphetogo tša bjale',
 'recentchanges-legend' => 'Dikgetho tša diphetogo tša bjale',
-'recentchangestext' => 'Lebalana diphetogo tše di mphsa-mphsa go wiki  letlakaleng le.',
+'recentchanges-summary' => 'Lebalana diphetogo tše di mphsa-mphsa go wiki  letlakaleng le.',
 'recentchanges-feed-description' => "Lebalana diphetogo tše di mphsa-mphsa go wiki  ka ''feed'' ye.",
 'recentchanges-label-newpage' => 'Phetogo ye e hlomile letlala le lefsa',
 'recentchanges-label-minor' => 'Ye ke phetogo ye nnyenyane',
index 89902ea..de04157 100644 (file)
@@ -1527,7 +1527,7 @@ Tanben podètz causir de permetre a d’autres de vos contactar per vòstra pagi
 'nchanges' => '$1 {{PLURAL:$1|cambiament|cambiaments}}',
 'recentchanges' => 'Darrièrs cambiaments',
 'recentchanges-legend' => 'Opcions dels darrièrs cambiaments',
-'recentchangestext' => 'Vaquí sus aquesta pagina, los darrièrs cambiaments de {{SITENAME}}.',
+'recentchanges-summary' => 'Vaquí sus aquesta pagina, los darrièrs cambiaments de {{SITENAME}}.',
 'recentchanges-feed-description' => "Seguissètz los darrièrs cambiaments d'aqueste wiki dins un flux.",
 'recentchanges-label-newpage' => 'Aquesta modificacion a creat una pagina novèla',
 'recentchanges-label-minor' => 'Aqueste cambiament es menor',
index f73ef25..0d90735 100644 (file)
@@ -72,101 +72,104 @@ $namespaceAliases = array(
 );
 
 $specialPageAliases = array(
-       'Activeusers'               => array( 'ସଚଳ_ସଭ୍ୟ' ),
-       'Allmessages'               => array( 'ସବୁ_ମେସେଜ' ),
-       'Allpages'                  => array( 'ସବୁ_ପୃଷ୍ଠା' ),
-       'Ancientpages'              => array( 'ପୁରୁଣା_' ),
-       'Blankpage'                 => array( 'ଖାଲି_ପୃଷ୍ଠା' ),
-       'Block'                     => array( 'ଅଟକାଇଦେବେ', 'ଆଇପି_ଅଟକାଇଦେବେ', 'ଇଉଜରକୁ_ଅଟକାଇଦେବେ' ),
-       'Blockme'                   => array( 'ମୋତେ_ଅଟକାଇଦିଅନ୍ତୁ' ),
-       'Booksources'               => array( 'ଲେଖା_ନିଆଯାଇଥିବା_ବହି' ),
-       'BrokenRedirects'           => array( 'ଭଙ୍ଗା_ଲେଉଟାଣି' ),
+       'Activeusers'               => array( 'ସଚଳସଭ୍ୟ' ),
+       'Allmessages'               => array( 'ସବୁସନ୍ଦେଶ' ),
+       'Allpages'                  => array( 'ସବୁପୃଷ୍ଠା' ),
+       'Ancientpages'              => array( 'ପୁରୁଣାପୃଷ୍ଠା' ),
+       'Badtitle'                  => array( 'ଖରାପନାମ' ),
+       'Blankpage'                 => array( 'ଖାଲିପୃଷ୍ଠା' ),
+       'Block'                     => array( 'ଅଟକାଇବେ', 'ଆଇପିଅଟକାଇବେ', 'ସଭ୍ୟଅଟକାଇବେ' ),
+       'Blockme'                   => array( 'ମୋତେଅଟକାଇବେ' ),
+       'Booksources'               => array( 'ବହିସ୍ରୋତ' ),
+       'BrokenRedirects'           => array( 'ଭଙ୍ଗାଲେଉଟାଣି' ),
        'Categories'                => array( 'ଶ୍ରେଣୀ' ),
-       'ChangeEmail'               => array( 'ଇମେଲ_ବଦଳାଇବେ' ),
-       'ChangePassword'            => array( 'ପାସବାରà­\8dଡ଼_ବଦଳାà¬\87ବେ' ),
-       'ComparePages'              => array( 'ପୃଷ୍ଠାକୁ_ତଉଲିବେ' ),
-       'Confirmemail'              => array( 'ଇମେଲ_ଥୟ_କରିବେ' ),
+       'ChangeEmail'               => array( 'ଇମେଲବଦଳାଇବେ' ),
+       'ChangePassword'            => array( 'ପାସୱାରà­\8dଡ଼ବଦଳାà¬\87ବà­\87', 'ପାସୱାରà­\8dଡ଼ସà­\87à¬\9fà¬\95ରିବେ' ),
+       'ComparePages'              => array( 'ପୃଷ୍ଠାକୁତଉଲିବେ' ),
+       'Confirmemail'              => array( 'ଇମେଲଥୟକରିବେ' ),
        'Contributions'             => array( 'ଅବଦାନ' ),
-       'CreateAccount'             => array( 'ଖାତା_ଖୋଲିବେ' ),
-       'Deadendpages'              => array( 'ଆଗକୁ_ରାହା_ନଥିବା_ପୃଷ୍ଠା' ),
-       'DeletedContributions'      => array( 'ହଟାଇ_ଦିଆଯାଇଥିବା_ଅବଦାନ' ),
-       'Disambiguations'           => array( 'ଆବୁରୁଜାବୁରୁ_କଥା' ),
-       'DoubleRedirects'           => array( 'ଦୁଇଥର_ଲେଉଟାଣି' ),
-       'Emailuser'                 => array( 'ସଭ୍ୟଙ୍କୁ_ମେଲ_କରନ୍ତୁ' ),
-       'Export'                    => array( 'ରପ୍ତାନି_କରିବା' ),
-       'Fewestrevisions'           => array( 'ସବୁଠୁ_କମ_ସଙ୍କଳନ' ),
-       'FileDuplicateSearch'       => array( 'ନକଲି_ଫାଇଲ_ଖୋଜା' ),
+       'CreateAccount'             => array( 'ଖାତାଖୋଲିବେ' ),
+       'Deadendpages'              => array( 'ଆଗକୁରାହାନଥିବାପୃଷ୍ଠା' ),
+       'DeletedContributions'      => array( 'ହଟାଇଦିଆଯାଇଥିବାଅବଦାନ' ),
+       'Disambiguations'           => array( 'ବହୁବିକଳ୍ପୀ' ),
+       'DoubleRedirects'           => array( 'ଦୁଇଥରଲେଉଟାଣି' ),
+       'EditWatchlist'             => array( 'ଧ୍ୟାନସୂଚୀବଦଳାଇବେ' ),
+       'Emailuser'                 => array( 'ସଭ୍ୟଙ୍କୁମେଲକରିବେ' ),
+       'Export'                    => array( 'ରପ୍ତାନି' ),
+       'Fewestrevisions'           => array( 'ସବୁଠୁକମସଙ୍କଳନ' ),
+       'FileDuplicateSearch'       => array( 'ଫାଇଲନକଲିଖୋଜା' ),
        'Filepath'                  => array( 'ଫାଇଲରାସ୍ତା' ),
        'Import'                    => array( 'ଆମଦାନି' ),
-       'Invalidateemail'           => array( 'କାମକରୁନଥିବା_ଇମେଲ' ),
-       'BlockList'                 => array( 'ତାଲିକାକୁ__ଅଟକାଇଦେବା' ),
-       'LinkSearch'                => array( 'ଲିଙ୍କ_ଖୋଜା' ),
-       'Listadmins'                => array( 'ପରିଛା_ତାଲିକା' ),
-       'Listbots'                  => array( 'ବଟ_ମାନଙ୍କ_ତାଲିକା' ),
-       'Listfiles'                 => array( 'ଫାଇଲ_ତାଲିକା' ),
-       'Listgrouprights'           => array( 'ଗୋଠ_ନିୟମ_ତାଲିକା' ),
-       'Listredirects'             => array( 'ଲେଉଟାଣି_ତାଲିକା' ),
-       'Listusers'                 => array( 'ଇଉଜର_ତାଲିକା' ),
-       'Lockdb'                    => array( 'ଡାଟାବେସ‌_କିଳିଦେବା' ),
+       'Invalidateemail'           => array( 'କାମକରୁନଥିବାଇମେଲ' ),
+       'JavaScriptTest'            => array( 'ଜାଭାସ୍କ୍ରିପ୍ଟଟେଷ୍ଟ' ),
+       'BlockList'                 => array( 'ତାଲିକାଅଟକାଇବେ' ),
+       'LinkSearch'                => array( 'ଲିଙ୍କଖୋଜା' ),
+       'Listadmins'                => array( 'ପରିଛାତାଲିକା' ),
+       'Listbots'                  => array( 'ବଟତାଲିକା' ),
+       'Listfiles'                 => array( 'ଫାଇଲତାଲିକା' ),
+       'Listgrouprights'           => array( 'ଗୋଠନିୟମତାଲିକା' ),
+       'Listredirects'             => array( 'ଲେଉଟାଣିତାଲିକା' ),
+       'Listusers'                 => array( 'ସଭ୍ୟତାଲିକା' ),
+       'Lockdb'                    => array( 'ଡାଟାବେସ‌କିଳିଦେବା' ),
        'Log'                       => array( 'ଲଗ' ),
-       'Lonelypages'               => array( 'ଏକୁଟିଆ_ପୃଷ୍ଠା' ),
-       'Longpages'                 => array( 'ଲମ୍ବା_ପୃଷ୍ଠା' ),
-       'MergeHistory'              => array( 'ଇତିହାସକୁ_ମିଶାଇଦେବା' ),
+       'Lonelypages'               => array( 'ଏକୁଟିଆପୃଷ୍ଠା' ),
+       'Longpages'                 => array( 'ଲମ୍ବାପୃଷ୍ଠା' ),
+       'MergeHistory'              => array( 'ଇତିହାସକୁମିଶାଇବେ' ),
        'MIMEsearch'                => array( 'MIME_ଖୋଜା' ),
-       'Mostcategories'            => array( 'ଅଧିକ_ଶ୍ରେଣୀ' ),
-       'Mostimages'                => array( 'ଅଧିକ_ଯୋଡ଼ା_ଫାଇଲ' ),
-       'Mostlinked'                => array( 'ଅଧିକ_ଯୋଡ଼ା_ପୃଷ୍ଠା' ),
-       'Mostlinkedcategories'      => array( 'ଅଧିକ_ଯୋଡ଼ା_ଶ୍ରେଣୀ' ),
-       'Mostlinkedtemplates'       => array( 'ଅଧିକ_ଯୋଡ଼ା_ଛାଞ୍ଚ' ),
-       'Mostrevisions'             => array( 'ଅଧିକ_ସଙ୍କଳନ' ),
-       'Movepage'                  => array( 'ପà­\83ଷà­\8dଠାà¬\95à­\81_à¬\98à­\81à¬\9eà­\8dà¬\9aାà¬\87ବା' ),
-       'Mycontributions'           => array( 'ମୋ_ଅବଦାନ' ),
-       'Mypage'                    => array( 'ମୋ_ପୃଷ୍ଠା' ),
-       'Mytalk'                    => array( 'ମୋ_ଆଲୋଚନା' ),
-       'Myuploads'                 => array( 'ମୋ_ଅପଲୋଡ଼' ),
-       'Newimages'                 => array( 'ନୂଆ_ଫାଇଲ' ),
-       'Newpages'                  => array( 'ନୂଆ_ପୃଷ୍ଠା' ),
-       'PermanentLink'             => array( 'à¬\9aିରà¬\95ାଳର_ଲିà¬\99à­\8dà¬\95' ),
-       'Popularpages'              => array( 'ଜଣାଶୁଣା_ପୃଷ୍ଠା' ),
-       'Preferences'               => array( 'ପସନ୍ଦସବୁ' ),
-       'Prefixindex'               => array( 'ଆଗରେ_ଯୋଡ଼ାହେବା_ଇଣ୍ଡେକ୍ସ' ),
-       'Protectedpages'            => array( 'କିଳାଯାଇଥିବା_ପୃଷ୍ଠା' ),
-       'Protectedtitles'           => array( 'କିଳାଯାଇଥିବା_ନାଆଁ' ),
-       'Randompage'                => array( 'à¬\87à¬\86ଡà­\81_à¬\87à¬\86ଡà­\81' ),
-       'Randomredirect'            => array( 'ଜାହିତାହି_ଫେରଣାଲେଉଟାଣି' ),
-       'Recentchanges'             => array( 'ନଗଦ_ବଦଳ' ),
-       'Recentchangeslinked'       => array( 'ଜୋଡ଼ାଥିବା_ନଗଦ_ବଦଳ' ),
+       'Mostcategories'            => array( 'ଅଧିକଶ୍ରେଣୀଥିବା' ),
+       'Mostimages'                => array( 'ଅଧିକଯୋଡ଼ାଫାଇଲ' ),
+       'Mostlinked'                => array( 'ଅଧିକଯୋଡ଼ାପୃଷ୍ଠା' ),
+       'Mostlinkedcategories'      => array( 'ଅଧିକଯୋଡ଼ାଶ୍ରେଣୀ' ),
+       'Mostlinkedtemplates'       => array( 'ଅଧିକଯୋଡ଼ାଛାଞ୍ଚ' ),
+       'Mostrevisions'             => array( 'ଅଧିକସଙ୍କଳନ' ),
+       'Movepage'                  => array( 'ପà­\83ଷà­\8dଠାà¬\98à­\81à¬\9eà­\8dà¬\9aାà¬\87ବà­\87' ),
+       'Mycontributions'           => array( 'ମୋଅବଦାନ' ),
+       'Mypage'                    => array( 'ମୋପୃଷ୍ଠା' ),
+       'Mytalk'                    => array( 'ମୋଆଲୋଚନା' ),
+       'Myuploads'                 => array( 'ମୋଅପଲୋଡ଼' ),
+       'Newimages'                 => array( 'ନୂଆଫାଇଲ' ),
+       'Newpages'                  => array( 'ନୂଆପୃଷ୍ଠା' ),
+       'PermanentLink'             => array( 'ଚିରକାଳଲିଙ୍କ' ),
+       'Popularpages'              => array( 'ଜଣାଶୁଣାପୃଷ୍ଠା' ),
+       'Preferences'               => array( 'ପସନ୍ଦ' ),
+       'Prefixindex'               => array( 'ଆଗରେଯୋଡ଼ାହେବାଇଣ୍ଡେକ୍ସ' ),
+       'Protectedpages'            => array( 'କିଳାଯାଇଥିବାପୃଷ୍ଠା' ),
+       'Protectedtitles'           => array( 'କିଳାଯାଇଥିବାନାମ' ),
+       'Randompage'                => array( 'à¬\9cାହିତାହି', 'à¬\9cାହିତାହିପà­\83ଷà­\8dଠା' ),
+       'Randomredirect'            => array( 'ଜାହିତାହିଲେଉଟାଣି' ),
+       'Recentchanges'             => array( 'ନଗଦବଦଳ' ),
+       'Recentchangeslinked'       => array( 'ଜୋଡ଼ାଥିବାନଗଦବଦଳ', 'ପାଖାପାଖିବଦଳ' ),
        'Revisiondelete'            => array( 'ସଙ୍କଳନଲିଭାଇଦିଅଦେବେ' ),
        'RevisionMove'              => array( 'ସଙ୍କଳନ' ),
        'Search'                    => array( 'ଖୋଜନ୍ତୁ' ),
-       'Shortpages'                => array( 'ଛୋଟ_ପୃଷ୍ଠା' ),
-       'Specialpages'              => array( 'ବିଶେଷ_ପୃଷ୍ଠା' ),
+       'Shortpages'                => array( 'ଛୋଟପୃଷ୍ଠା' ),
+       'Specialpages'              => array( 'ବିଶେଷପୃଷ୍ଠା' ),
        'Statistics'                => array( 'ଗଣନା' ),
        'Tags'                      => array( 'ଚିହ୍ନସମୂହ' ),
        'Unblock'                   => array( 'ଫିଟାଇଦେବେ' ),
-       'Uncategorizedcategories'   => array( 'ଅସଜଡ଼ା_ଶ୍ରେଣୀ' ),
-       'Uncategorizedimages'       => array( 'ସà¬\9cଡ଼ା_ଶà­\8dରà­\87ଣà­\80ର_ଫାଇଲ' ),
+       'Uncategorizedcategories'   => array( 'ଅସଜଡ଼ାଶ୍ରେଣୀ' ),
+       'Uncategorizedimages'       => array( 'à¬\85ସà¬\9cଡ଼ାଶà­\8dରà­\87ଣà­\80ରଫାଇଲ' ),
        'Uncategorizedpages'        => array( 'ଅସଜଡ଼ା_ଫାଇଲସବୁ' ),
-       'Uncategorizedtemplates'    => array( 'ଅସଜଡ଼ା_ଛାଞ୍ଚ' ),
-       'Undelete'                  => array( 'ଲିଭାନà­\8dତà­\81_ନାହିà¬\81' ),
+       'Uncategorizedtemplates'    => array( 'ଅସଜଡ଼ାଛାଞ୍ଚ' ),
+       'Undelete'                  => array( 'à¬\85ଣଲିଭା' ),
        'Unlockdb'                  => array( 'DBଖୋଲିବା' ),
-       'Unusedcategories'          => array( 'ବ୍ୟବହାର_ହୋଇନଥିବା_ଶ୍ରେଣୀ' ),
-       'Unusedimages'              => array( 'ବ୍ୟବହାର_ହୋଇନଥିବା_ଫାଇଲ' ),
-       'Unusedtemplates'           => array( 'ବ୍ୟବହାର_ହୋଇନଥିବା_ଛାଞ୍ଚ' ),
-       'Unwatchedpages'            => array( 'ଦେଖାଯାଇନଥିବା_ପୃଷ୍ଠାସବୁ' ),
+       'Unusedcategories'          => array( 'ବ୍ୟବହାରହୋଇନଥିବାଶ୍ରେଣୀ' ),
+       'Unusedimages'              => array( 'ବ୍ୟବହାରହୋଇନଥିବାଫାଇଲ' ),
+       'Unusedtemplates'           => array( 'ବ୍ୟବହାରହୋଇନଥିବାଛାଞ୍ଚ' ),
+       'Unwatchedpages'            => array( 'ଦେଖାଯାଇନଥିବାପୃଷ୍ଠାସବୁ' ),
        'Upload'                    => array( 'ଅପଲୋଡ଼' ),
-       'UploadStash'               => array( 'ଷ୍ଟାସ_ଅପଲୋଡ଼_କରନ୍ତୁ' ),
-       'Userlogin'                 => array( 'ସଭ୍ୟ_ଲଗ_ଇନ' ),
-       'Userlogout'                => array( 'ସଭ୍ୟ_ଲଗ_ଆଉଟ' ),
-       'Userrights'                => array( 'ସଭ୍ୟ_ଅଧିକାର' ),
+       'UploadStash'               => array( 'ଷ୍ଟାସଅପଲୋଡ଼' ),
+       'Userlogin'                 => array( 'ସଭ୍ୟଲଗଇନ' ),
+       'Userlogout'                => array( 'ସଭ୍ୟଲଗଆଉଟ' ),
+       'Userrights'                => array( 'ସଭ୍ୟଅଧିକାର' ),
        'Version'                   => array( 'ସଂସ୍କରଣ' ),
-       'Wantedcategories'          => array( 'ଦରକାରି_ଶ୍ରେଣୀ' ),
-       'Wantedfiles'               => array( 'ଦରକାରି_ଫାଇଲ' ),
-       'Wantedpages'               => array( 'ଦରକାରି_ପୃଷ୍ଠା' ),
-       'Wantedtemplates'           => array( 'ଦରକାରି_ଛାଞ୍ଚ' ),
-       'Watchlist'                 => array( 'ଦେଖଣା_ତାଲିକା' ),
-       'Whatlinkshere'             => array( 'ଏଠାରେ_କଣ_ଲିଙ୍କ_ଅଛି' ),
-       'Withoutinterwiki'          => array( 'ଇଣ୍ଟରଉଇକି_ବିନା' ),
+       'Wantedcategories'          => array( 'ଦରକାରିଶ୍ରେଣୀ' ),
+       'Wantedfiles'               => array( 'ଦରକାରିଫାଇଲ' ),
+       'Wantedpages'               => array( 'ଦରକାରିପୃଷ୍ଠା' ),
+       'Wantedtemplates'           => array( 'ଦରକାରିଛାଞ୍ଚ' ),
+       'Watchlist'                 => array( 'ଦେଖଣାତାଲିକା' ),
+       'Whatlinkshere'             => array( 'ଏଠାରେକଣଲିଙ୍କଅଛି' ),
+       'Withoutinterwiki'          => array( 'ଇଣ୍ଟରଉଇକିବିନା' ),
 );
 
 $magicWords = array(
@@ -329,7 +332,7 @@ $messages = array(
 'february' => 'ଫେବୃଆରୀ',
 'march' => 'ମାର୍ଚ୍ଚ',
 'april' => 'ଅପ୍ରେଲ',
-'may_long' => 'ମà­\87',
+'may_long' => 'ମà¬\87',
 'june' => 'ଜୁନ',
 'july' => 'ଜୁଲାଇ',
 'august' => 'ଅଗଷ୍ଟ',
@@ -341,7 +344,7 @@ $messages = array(
 'february-gen' => 'ଫେବୃଆରୀ',
 'march-gen' => 'ମାର୍ଚ୍ଚ',
 'april-gen' => 'ଅପ୍ରେଲ',
-'may-gen' => 'ମà­\87',
+'may-gen' => 'ମà¬\87',
 'june-gen' => 'ଜୁନ',
 'july-gen' => 'ଜୁଲାଇ',
 'august-gen' => 'ଅଗଷ୍ଟ',
@@ -353,7 +356,7 @@ $messages = array(
 'feb' => 'ଫେବୃଆରୀ',
 'mar' => 'ମାର୍ଚ୍ଚ',
 'apr' => 'ଅପ୍ରେଲ',
-'may' => 'ମà­\87',
+'may' => 'ମà¬\87',
 'jun' => 'ଜୁନ',
 'jul' => 'ଜୁଲାଇ',
 'aug' => 'ଅଗଷ୍ଟ',
@@ -1536,7 +1539,7 @@ HTML ଟାଗ ପରଖିନିଅନ୍ତୁ ।',
 
 # User rights log
 'rightslog' => 'ସଭ୍ୟଙ୍କ ଅଧିକାରର ଲଗ',
-'rightslogtext' => 'ସଭ୍ୟଙ୍କ ଅଧିକାର ବଦଳର ଏହା ଏକ ଇତିହାସ ।',
+'rightslogtext' => 'ସଭ୍ୟଙ୍କ ଅଧିକାର ବଦଳର ଏହା ଏକ ଇତିହାସ ।',
 'rightslogentry' => '$1 ପାଇଁ ଗୋଠ ସଭ୍ୟପଦର ଅବସ୍ଥା $2 ରୁ $3କୁ ବଦଳାଇଦିଆଗଲା',
 'rightslogentry-autopromote' => '$2 ରୁ $3କୁ ଆପେଆପେ ଉନ୍ନୀତ କରାଗଲା',
 'rightsnone' => '(କିଛି ନାହିଁ)',
@@ -1582,7 +1585,7 @@ HTML ଟାଗ ପରଖିନିଅନ୍ତୁ ।',
 'nchanges' => '$1 {{PLURAL:$1|ବଦଳ|ବଦଳସବୁ}}',
 'recentchanges' => 'ନଗଦ ବଦଳ',
 'recentchanges-legend' => 'ଏବେ କରାଯାଇଥିବା ଅଦଳବଦଳ',
-'recentchangestext' => 'ଏହି ପୃଷ୍ଠାରେ ଏହି ଉଇକିରେ ନଗଦ ବଦଳର ନିଘା ରଖିବେ',
+'recentchanges-summary' => 'ଏହି ପୃଷ୍ଠାରେ ଏହି ଉଇକିରେ ନଗଦ ବଦଳର ନିଘା ରଖିବେ',
 'recentchanges-feed-description' => 'ଏହି ଉଇକିରେ ଏହି ଫିଡ଼ଟିର ନଗଦ ବଦଳ ଦେଖାଇବେ ।',
 'recentchanges-label-newpage' => 'ଏହି ବଦଳ ନୂଆ ଫରଦଟିଏ ତିଆରିକଲା',
 'recentchanges-label-minor' => 'ଏହା ଗୋଟିଏ ଛୋଟ ବଦଳ',
@@ -3633,7 +3636,7 @@ $5
 'watchlisttools-raw' => 'ଫାଙ୍କା ଦେଖଣା ତାଲିକାଟିର ସମ୍ପାଦନା କରିବେ',
 
 # Signatures
-'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|ଆଲୋଚନା]])',
+'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|ମà­\8b à¬\86ଲà­\8bà¬\9aନା]])',
 
 # Core parser functions
 'unknown_extension_tag' => 'ଅଜଣା ଏକ୍ସଟେନସନ ଚିହ୍ନ "$1"',
index 4ed53d5..34e64e0 100644 (file)
@@ -188,7 +188,7 @@ $messages = array(
 'broken-file-category' => 'Файлтæм саст æрвитæнтæ кæм ис, ахæм фæрстæ',
 
 'about' => 'Афыст',
-'article' => 'СÑ\82аÑ\82Ñ\8cÑ\8f',
+'article' => 'УаÑ\86',
 'newwindow' => '(кæны ног рудзынджы)',
 'cancel' => 'Ныууадзын',
 'moredotdotdot' => 'Фылдæр…',
@@ -232,8 +232,8 @@ $messages = array(
 'help' => 'Æххуыс',
 'search' => 'Агуырд',
 'searchbutton' => 'Агурын',
-'go' => 'СÑ\82аÑ\82Ñ\8cÑ\8fмæ',
-'searcharticle' => 'Ð\90гÑ\83Ñ\80Ñ\8bн',
+'go' => 'УаÑ\86мæ',
+'searcharticle' => 'УаÑ\86мæ',
 'history' => 'Фарсы истори',
 'history_short' => 'Истори',
 'updatedmarker' => 'ноггонд мæ фæстаг æрбахызтæй',
@@ -260,7 +260,7 @@ $messages = array(
 'specialpage' => 'Сæрмагонд фарс',
 'personaltools' => 'Мигæнæнтæ',
 'postcomment' => 'Ног хай',
-'articlepage' => 'Фен статья',
+'articlepage' => 'Фенын уац',
 'talk' => 'Тæрхон',
 'views' => 'Æркæстытæ',
 'toolbox' => 'Фæрæзтæ',
@@ -273,7 +273,7 @@ $messages = array(
 'categorypage' => 'Категорийы фарс фен',
 'viewtalkpage' => 'Тæрхон фен',
 'otherlanguages' => 'Æндæр æвзæгтыл',
-'redirectedfrom' => '(Ð\90Ñ\86Ñ\8b Ñ\81Ñ\82аÑ\82Ñ\8cÑ\8fйæ æрвыст: «$1»)',
+'redirectedfrom' => '(Ð\90Ñ\86Ñ\8b Ñ\83аÑ\86æй æрвыст: «$1»)',
 'redirectpagesub' => 'Рарвысты фарс',
 'lastmodifiedat' => 'Ацы фарс фæстаг хатт ивд æрцыд: $1, $2.',
 'viewcount' => 'Ацы фарс домд æрцыд {{PLURAL:$1|иу хатт|$1 хатты}}.',
@@ -351,7 +351,7 @@ $1',
 'sort-ascending' => 'Радæвæрын фылдæркæнынмæ',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
-'nstab-main' => 'СÑ\82аÑ\82Ñ\8cÑ\8f',
+'nstab-main' => 'УаÑ\86',
 'nstab-user' => 'Архайæджы фарс',
 'nstab-media' => 'Мультимеди',
 'nstab-special' => 'Сæрмагонд фарс',
@@ -574,7 +574,7 @@ $2',
 'italic_sample' => 'Курсив',
 'italic_tip' => 'Курсив',
 'link_sample' => 'Æрвитæны текст',
-'link_tip' => 'Мидæг æрвитæн (æндæр статьямæ)',
+'link_tip' => 'Мидæггаг æрвитæн',
 'extlink_sample' => 'http://www.example.com æрвитæны текст',
 'extlink_tip' => 'Æддаг æрвитæн (префикс http:// ма рох кæн)',
 'headline_sample' => 'Сæргонд текст',
@@ -701,9 +701,9 @@ $2',
 # Search results
 'searchresults' => 'Агуырды фæстиуджытæ',
 'searchresults-title' => 'Агуырды фæстиуæг: «$1»',
-'titlematches' => 'СÑ\82аÑ\82Ñ\8cÑ\8fты сæргæндты æмцаутæ',
+'titlematches' => 'УаÑ\86ты сæргæндты æмцаутæ',
 'notitlematches' => 'Фæрсты сæргæндты нæй',
-'textmatches' => 'СÑ\82аÑ\82Ñ\8cÑ\8fты æмцаутæ',
+'textmatches' => 'УаÑ\86ты æмцаутæ',
 'prevn' => 'рæздæры {{PLURAL:$1|$1}}',
 'nextn' => 'иннæ {{PLURAL:$1|$1}}',
 'prevn-title' => 'Раздæр $1 {{PLURAL:$1|фæстиуæг|фæстиуæджы}}',
@@ -863,7 +863,7 @@ $2',
 'nchanges' => '$1 {{PLURAL:$1|ивд|ивды}}',
 'recentchanges' => 'Фæстаг ивдтытæ',
 'recentchanges-legend' => 'Фæстаг ивдтыты фадæттæ',
-'recentchangestext' => 'Ацы фарсыл фæстаг ивдтытæ фенæн ис.',
+'recentchanges-summary' => 'Ацы фарсыл викийы фæстаг ивдтытæ фенæн ис.',
 'recentchanges-feed-description' => 'Хъус дарын викийы фæстаг ивдтытæм ацы лæсæны уылты.',
 'recentchanges-label-newpage' => 'Ацы ивд нæуæг фарс бакодта',
 'recentchanges-label-minor' => 'Ай у чысыл ивд',
@@ -898,7 +898,7 @@ $3',
 'recentchangeslinked-toolbox' => 'Баст ивдтытæ',
 'recentchangeslinked-title' => '"{{grammar:comitative|$1}}" баст ивдтытæ',
 'recentchangeslinked-noresult' => 'Нæй баст фæрсты ивдтытæ амынд рæстæджы',
-'recentchangeslinked-summary' => "Ð\90дон Ñ\81Ñ\82Ñ\8b Ñ\84æÑ\81Ñ\82аг Ñ\80æÑ\81Ñ\82æджÑ\8b Ð¸Ð²Ð´Ñ\82Ñ\8bÑ\82æ Ð°Ñ\85æм Ñ\81Ñ\82аÑ\82Ñ\8cÑ\8fты, кæдонмæ æрвиты амынд фарс (кæнæ амынд категорийы уæнгтæ). [[Special:Watchlist|Дæ цæстдард фæрстæ]] сты '''бæзджынæй''' нысангонд.",
+'recentchangeslinked-summary' => "Ð\90дон Ñ\81Ñ\82Ñ\8b Ñ\84æÑ\81Ñ\82аг Ñ\80æÑ\81Ñ\82æджÑ\8b Ð¸Ð²Ð´Ñ\82Ñ\8bÑ\82æ Ð°Ñ\85æм Ñ\83аÑ\86ты, кæдонмæ æрвиты амынд фарс (кæнæ амынд категорийы уæнгтæ). [[Special:Watchlist|Дæ цæстдард фæрстæ]] сты '''бæзджынæй''' нысангонд.",
 'recentchangeslinked-page' => 'Фарсы ном:',
 'recentchangeslinked-to' => 'Уый бæсты равдисæт амынд фарсмæ æрвитгæ фæрсты ивдтытæ',
 
@@ -1020,7 +1020,7 @@ $3',
 
 # Special:AllPages
 'allpages' => 'Иууылдæр фæрстæ',
-'alphaindexline' => '$1 (Ñ\83Ñ\8bдонÑ\8b â\80\99Ñ\85Ñ\81æн Ñ\86Ñ\8b Ñ\81Ñ\82аÑ\82Ñ\8cÑ\8fтæ ис, фен) $2',
+'alphaindexline' => '$1 (Ñ\83Ñ\8bдонÑ\8b â\80\99Ñ\85Ñ\81æн Ñ\86Ñ\8b Ñ\83аÑ\86тæ ис, фен) $2',
 'nextpage' => 'Фæдылдзог фарс ($1)',
 'prevpage' => 'Раздæры фарс ($1)',
 'allarticles' => 'Иууылдæр фæрстæ',
@@ -1061,14 +1061,14 @@ $3',
 'watchlist' => 'Мæ цæстдард рæгъ',
 'mywatchlist' => 'Мæ цæстдард фæрстæ',
 'watchlistfor2' => 'Архайæг: $1 $2',
-'nowatchlist' => 'Ð\98Ñ\83 Ñ\81Ñ\82аÑ\82Ñ\8cÑ\8fмæ дæр дæ цæст нæ дарыс.',
+'nowatchlist' => 'Ð\98Ñ\83 Ñ\83аÑ\86мæ дæр дæ цæст нæ дарыс.',
 'watchnologin' => 'Системæйæн дæхи нæ бацамыдтай',
 'watchnologintext' => 'Ацы номхыгъд ивынæн хъæуы [[Special:UserLogin|бахизын]].',
 'removedwatchtext' => '«[[:$1]]» фарсмæ [[Special:Watchlist|дæ цæст]] нал дарыс.',
 'watch' => 'Цæст æрдарын',
 'watchthispage' => 'Цæст дарын ацы фарсмæ',
 'unwatch' => 'Нал дарын цæст',
-'watchnochange' => 'Ð\94æ Ñ\86æÑ\81Ñ\82даÑ\80д Ñ\81Ñ\82аÑ\82Ñ\8cÑ\8fтæй иу дæр ивд не ’рцыдис.',
+'watchnochange' => 'Ð\94æ Ñ\86æÑ\81Ñ\82даÑ\80д Ñ\83аÑ\86тæй иу дæр ивд не ’рцыдис.',
 'watchlist-details' => '{{PLURAL:$1|$1 фарсмæ|$1 фарсмæ}} дæ цæст дарыс, тæрхоны фæрстæ нæ нымайгæйæ.',
 'watchlistcontains' => 'Дæ цæст $1 {{PLURAL:$1|фарсмæ|фарсмæ}} дарыс.',
 'wlnote' => "Дæлæ афæстаг '''$2 сахаты дæргъы''' цы $1 {{PLURAL:$1|ивддзинад|ивддзинады}} æрцыди.",
@@ -1233,7 +1233,7 @@ $3',
 'tooltip-ca-history' => 'Ацы фарсæн йæ раздæры фæлтæртæ',
 'tooltip-ca-protect' => 'Ацы фарс ивддзинæдтæй сæхгæнын',
 'tooltip-ca-delete' => 'Аппарын ацы фарс',
-'tooltip-ca-move' => 'СÑ\82аÑ\82Ñ\8cÑ\8fйы ном ивын',
+'tooltip-ca-move' => 'УаÑ\86ы ном ивын',
 'tooltip-ca-watch' => 'Бафтау ацы фарс дæ цæстдард рæгъмæ',
 'tooltip-ca-unwatch' => 'Айс ацы фарс дæ цæстдард рæгъæй',
 'tooltip-search' => '{{grammar:genitive|{{SITENAME}}}} агурын',
@@ -1256,7 +1256,7 @@ $3',
 'tooltip-t-specialpages' => 'Сæрмагонд фæрсты номхыгъд',
 'tooltip-t-print' => 'Ацы фарс мыхуырмæ цæттæ форматы',
 'tooltip-t-permalink' => 'Фарсы ацы фæлтæрмæ æрвитæн (фæрстæ ивынц, ацы фæлтæр — нæ)',
-'tooltip-ca-nstab-main' => 'Фен статья',
+'tooltip-ca-nstab-main' => 'Фенын уац',
 'tooltip-ca-nstab-user' => 'Архайæджы фарс фенын',
 'tooltip-ca-nstab-special' => 'Ай сæрмагонд фарс у, дæ бон æй нæу ивын',
 'tooltip-ca-nstab-project' => 'Фенын проекты фарс',
index 213d8bb..1ae3aaa 100644 (file)
@@ -487,6 +487,11 @@ $1 ਘੰਟੇ ਵਿੱਚ। ਨੁਕਸਾਨ ਤੋਂ ਬਚਣ ਲਈ, $
 'template-semiprotected' => '(ਅਰਧ-ਸੁਰੱਖਿਅਤ)',
 'permissionserrors' => 'ਅਧਿਕਾਰ ਗਲਤੀਆਂ',
 'permissionserrorstext' => 'ਤੁਹਾਨੂੰ ਇੰਝ ਕਰਨ ਦੇ ਅਧਿਕਾਰ ਨਹੀਂ ਹਨ। ਹੇਠ ਦਿੱਤੇ {{PLURAL:$1|ਕਾਰਨ|ਕਾਰਨ}} ਨੇ:',
+'recreate-moveddeleted-warn' => "'''ਖ਼ਬਰਦਾਰ: ਤੁਸੀਂ ਐਸ ਪੰਨਾ ਰਚ ਰਹੇ ਹੋ ਜਿਸ ਨੂੰ ਪਹਿਲੇ ਹਟਾਇਆ ਜਾ ਚੁੱਕ ਹੈ।'''
+ਖਿਆਲ ਕਰੋ ਕਿ ਕੀ ਇਸ ਪੰਨੇ ਦਾ ਕਾਇਮ ਰਹਿਣਾ ਠੀਕ ਹੈ।
+ਇਸ ਪੰਨੇ ਨੂੰ ਹਟਾਉਣ ਯਾ ਜਘ੍ਹਾ ਬਦਲੀ ਦਾ ਚਿੱਠਾ ਹੇਠਾਂ ਦਿੱਤਾ ਹੈ।",
+'moveddeleted-notice' => 'ਇਹ ਪੰਨਾ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ।
+ਪੰਨੇ ਦੇ ਹਟਾਣ ਯਾ ਜਗ੍ਹਾ ਬਦਲੀ ਦਾ ਚਿੱਠਾ,ਹਵਾਲੇ ਲਈ ਹੇਠ ਦਿੱਤਾ ਹੈ।',
 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => "'''ਖ਼ਬਰਦਾਰ: ਸੰਚੇ ਦਾ ਅਕਾਰ ਬਹੁਤ ਵੱਡਾ ਹੈ।ਕੁਝ ਸੰਚੇ ਛੁਟ ਜਾਣਗੇ।",
@@ -680,7 +685,8 @@ $1 ਘੰਟੇ ਵਿੱਚ। ਨੁਕਸਾਨ ਤੋਂ ਬਚਣ ਲਈ, $
 # Recent changes
 'recentchanges' => 'ਤਾਜ਼ਾ ਬਦਲਾਅ',
 'recentchanges-legend' => 'ਤਾਜ਼ਾ ਬਦਲਾਅ ਚੋਣਾਂ',
-'recentchangestext' => 'ਇਸ ਵਿਕੀ ਪਰ ਹਾਲ ਵਿਚ ਹੋਏ ਬਦਲਾਅਦੇਖੇ ਜਾ ਸਕਦੇ ਹਨ।',
+'recentchanges-summary' => 'ਇਸ ਵਿਕੀ ਪਰ ਹਾਲ ਵਿਚ ਹੋਏ ਬਦਲਾਅਦੇਖੇ ਜਾ ਸਕਦੇ ਹਨ।',
+'recentchanges-feed-description' => 'ਇਸ ਵਿਕੀ ਪਰ ਹਾਲ ਵਿਚ ਹੋਏ ਬਦਲਾਅ ਇਸ ਫ਼ੀਡ ਵਿਚ ਦੇਖੇ ਜਾ ਸਕਦੇ ਹਨ।',
 'recentchanges-label-newpage' => 'ਇਹ ਸੋਧ ਨੇ ਨਵਾਂ ਸਫ਼ਾ ਬਣਾਇਆ ਹੈ',
 'recentchanges-label-minor' => 'ਇਹ ਛੋਟੀ ਸੋਧ ਹੈ',
 'recentchanges-label-bot' => 'ਇਹ ਸੋਧ ਨੂੰ ਬੋਟ ਵਲੋਂ ਕੀਤਾ ਗਿਆ ਹੈ',
@@ -833,6 +839,7 @@ to upload files.',
 'prefixindex' => 'ਇਸ ਅਗੇਤਰ ਵਾਲੇ ਸਾਰੇ ਪੰਨੇ',
 'shortpages' => 'ਛੋਟੇ ਪੇਜ',
 'listusers' => 'ਯੂਜ਼ਰ ਲਿਸਟ',
+'usercreated' => ' $1 ਨੂੰ $2 ਵਜੇ {{GENDER:$3|ਮੈਂਬਰ ਨੇ ਰਚਿਆ}}',
 'newpages' => 'ਨਵੇਂ ਪੇਜ',
 'newpages-username' => 'ਯੂਜ਼ਰ ਨਾਂ:',
 'ancientpages' => 'ਸਭ ਤੋਂ ਪੁਰਾਣੇ ਪੇਜ',
@@ -875,6 +882,9 @@ to upload files.',
 'listusers-submit' => 'ਵੇਖੋ',
 'listusers-noresult' => 'ਕੋਈ ਯੂਜ਼ਰ ਨਹੀਂ ਲੱਭਿਆ।',
 
+# Special:Log/newusers
+'newuserlogpage' => 'ਮੈਂਬਰ ਖਾਤਾ ਉਸਾਰੀ ਚਿੱਠਾ',
+
 # Special:ListGroupRights
 'listgrouprights-group' => 'ਗਰੁੱਪ',
 'listgrouprights-members' => '(ਮੈਂਬਰਾਂ ਦੀ ਲਿਸਟ)',
@@ -973,7 +983,7 @@ to upload files.',
 
 # Contributions
 'contributions' => 'ਯੂਜ਼ਰ ਯੋਗਦਾਨ',
-'contributions-title' => '$੧ à¨¦à¨¾ à¨¯à©\8bà¨\97ਦਾਨ',
+'contributions-title' => '$੧ à¨¦à©\80 à¨°à¨\9aਨਾ',
 'mycontris' => 'ਮੇਰਾ ਯੋਗਦਾਨ',
 'contribsub2' => '$1 ($2) ਲਈ',
 'uctop' => '(ਉੱਤੇ)',
@@ -987,6 +997,7 @@ to upload files.',
 'sp-contributions-talk' => 'ਗੱਲਬਾਤ',
 'sp-contributions-search' => 'ਯੋਗਦਾਨ ਖੋਜੋ',
 'sp-contributions-username' => 'IP ਐਡਰੈੱਸ ਜਾਂ ਯੂਜ਼ਰ ਨਾਂ:',
+'sp-contributions-toponly' => 'ਕੇਵਲ ਉਹੀ ਸੰਪਾਦਨ ਦਿਖਾਓ ਜੋ ਨਵੀਨਤਮ ਸੋਧਾਂ ਹਨ।',
 'sp-contributions-submit' => 'ਖੋਜ',
 
 # What links here
index 9f98566..db1ff10 100644 (file)
@@ -942,7 +942,7 @@ Nung ibie me, magamit ya bang kilalanan ing kekang ambag.',
 'nchanges' => '$1 {{PLURAL:$1|miyalilan|miyalilan}}',
 'recentchanges' => 'Bayung mengayalili',
 'recentchanges-legend' => 'Pipamilinan kareng bayung mengayalili',
-'recentchangestext' => 'Talukyan mo reng tawling diling mengayalilan king bulung a ini.',
+'recentchanges-summary' => 'Talukyan mo reng tawling diling mengayalilan king bulung a ini.',
 'recentchanges-feed-description' => 'Talukian mo reng bayung diling mengayalili king wiki king feed a ini.',
 'rcnote' => "King lalam {{PLURAL:$1|is '''1''' change|ding tauling '''$1''' pamagbayu}} aniang tauling {{PLURAL:$2|day|'''$2''' aldo}}, aniang $5, $4.",
 'rcnotefrom' => 'Atilu king lalam deng miyalilan manibat anyang <b>$2</b> (angga king <b>$1</b> makalto).',
index 00b7cdc..64430a7 100644 (file)
@@ -107,7 +107,7 @@ $messages = array(
 'undelete_short' => '{{PLURAL:$1|ä Ännerung|$1 Ännerunge}} widderherschdelle',
 'protect' => 'schitze',
 'protect_change' => 'ännere',
-'unprotect' => 'Widder freigewwe',
+'unprotect' => 'Saideschudz änare',
 'newpage' => 'Naie Said',
 'talkpage' => 'Iwwer die Said dischbediere',
 'talkpagelinktext' => 'Dischbediere',
@@ -281,7 +281,7 @@ Erklärung: '''({{int:cur}})''' = Unnerschied zu jetzert,
 'revertmerge' => 'Zammefiehrung rickgängich mache',
 
 # Diffs
-'history-title' => 'Versionsgschicht vun "$1"',
+'history-title' => 'Änarungsgschischd vun "$1"',
 'lineno' => 'Zail $1:',
 'compareselectedversions' => 'Die Versione mitenonner vergleiche',
 'editundo' => 'zerick',
index 13916a6..e8a3fb1 100644 (file)
@@ -679,6 +679,8 @@ Uzasadnienie blokady: ''$2''.",
 'filereadonlyerror' => 'Nie można zmodyfikować pliku "$1" ponieważ repozytorium plików "$2" jest w trybie tylko do odczytu.
 
 Administrator blokujący go podał następujący powód "\'\'$3\'\'".',
+'invalidtitle-knownnamespace' => 'Nieprawidłowa nazwa w obszarze nazw "$2" o treści "$3"',
+'invalidtitle-unknownnamespace' => 'Nieprawidłowa nazwa z nieznaną liczbą przestrzeni nazw  $1  o treści "$2"',
 
 # Virus scanner
 'virus-badscanner' => "Zła konfiguracja – nieznany skaner antywirusowy ''$1''",
@@ -1072,6 +1074,12 @@ Argument ten będzie pominięty.',
 'parser-template-loop-warning' => 'Wykryto pętlę w szablonie [[$1]]',
 'parser-template-recursion-depth-warning' => 'Przekroczno limit głębokości rekurencji szablonu ($1)',
 'language-converter-depth-warning' => 'Przekroczono ograniczenie ($1) głębokości zagnieżdżenia konwersji językowej',
+'node-count-exceeded-category' => 'Strony, gdzie przekroczono liczbę węzłów',
+'node-count-exceeded-warning' => 'Strona przekroczyła liczbę węzłów',
+'expansion-depth-exceeded-category' => 'Strony z przekroczoną głębokością rozbudowy',
+'expansion-depth-exceeded-warning' => 'Strona przekroczyła głębokość rozbudowy',
+'parser-unstrip-loop-warning' => 'Wykryto nieskończoną pętlę',
+'parser-unstrip-recursion-limit' => 'Przekroczono maksymalną głębokość zagnieżdżania ($1)',
 
 # "Undo" feature
 'undo-success' => 'Edycja może zostać wycofana. Porównaj ukazane poniżej różnice między wersjami, a następnie zapisz zmiany.',
@@ -1247,8 +1255,8 @@ Użycie linków nawigacyjnych kasuje wybór w kolumnie.',
 'mergelogpagetext' => 'Poniżej znajduje się lista ostatnich scaleń historii zmian stron.',
 
 # Diffs
-'history-title' => 'Historia edycji „$1”',
-'difference-title' => 'Różnica pomiędzy wersjami strony "$1"',
+'history-title' => '$1: Historia wersji',
+'difference-title' => '$1: Różnice pomiędzy wersjami',
 'difference-title-multipage' => 'Różnica pomiędzy stronami "$1" i "$2"',
 'difference-multipage' => '(Różnica między stronami)',
 'lineno' => 'Linia $1:',
@@ -1346,6 +1354,7 @@ Jednak informacje o treści {{GRAMMAR:D.lp|{{SITENAME}}}} mogą być w Google ni
 'prefs-beta' => 'Funkcje testowe',
 'prefs-datetime' => 'Data i czas',
 'prefs-labs' => 'Funkcje doświadczalne',
+'prefs-user-pages' => 'Strony użytkowników',
 'prefs-personal' => 'Dane użytkownika',
 'prefs-rc' => 'Ostatnie zmiany',
 'prefs-watchlist' => 'Obserwowane',
@@ -1608,7 +1617,7 @@ Jeśli zdecydujesz się je podać, zostaną użyte, by udokumentować Twoje auto
 'nchanges' => '$1 {{PLURAL:$1|zmiana|zmiany|zmian}}',
 'recentchanges' => 'Ostatnie zmiany',
 'recentchanges-legend' => 'Opcje ostatnich zmian',
-'recentchangestext' => 'Ta strona przedstawia historię ostatnich zmian w tej wiki.',
+'recentchanges-summary' => 'Ta strona przedstawia historię ostatnich zmian w tej wiki.',
 'recentchanges-feed-description' => 'Obserwuj najświeższe zmiany w tej wiki.',
 'recentchanges-label-newpage' => 'W tej edycji utworzono nową stronę',
 'recentchanges-label-minor' => 'To jest drobna zmiana',
@@ -1820,13 +1829,14 @@ Jeśli problem będzie się powtarzał, skontaktuj się z [[Special:ListUsers/sy
 'backend-fail-closetemp' => 'Nie można zamknąć pliku tymczasowego.',
 'backend-fail-read' => 'Nie można odczytać pliku $1.',
 'backend-fail-create' => 'Nie można utworzyć pliku $1.',
-'backend-fail-maxsize' => 'Nie udało utworzyć pliku $1 ponieważ jest on większy niż {{PLURAL:$2|$2 bajt| $2 bajty| $2 bajtów}}.',
+'backend-fail-maxsize' => 'Nie udało zapisać pliku $1 ponieważ jest on większy niż {{PLURAL:$2|jeden bajt| $2 bajty| $2 bajtów}}.',
 'backend-fail-readonly' => 'Interfejs magazynowania "$1" jest obecnie tylko do odczytu. Powód: "$2"',
 'backend-fail-synced' => 'Plik "$1" jest w niespójnym stanie w ramach wewnętrznych funkcji magazynowania',
 'backend-fail-connect' => 'Nie można nawiązać połączenia do wewnętrznych funkcji magazynowania "$1".',
 'backend-fail-internal' => 'Wystąpił nieznany błąd w wewnętrznych funkcjach magazynowania "$1".',
 'backend-fail-contenttype' => 'Nie można określić typ zawartości pliku do przechowywania w "$1".',
 'backend-fail-batchsize' => 'Wewnętrzne funkcje magazynowania otrzymały $1 {{PLURAL:$1|operację|operacje|operacji}} na pliku; limit wynosi $2 {{PLURAL:$2| operacja|operacje|operacji}}.',
+'backend-fail-usable' => 'Nie można zapisać pliku $1 ze względu na niewystarczające uprawnienia lub brak katalogów/kontenerów.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Nie można połączyć się z bazą danych dziennika dla backendu magazynowania "$1".',
@@ -1949,6 +1959,10 @@ Dostępna jest też [[Special:WhatLinksHere/$2|pełna lista]].',
 Więcej informacji odnajdziesz na [$2 stronie opisu pliku].',
 'sharedupload-desc-here' => 'Ten plik znajduje się na $1 i może być używany w innych projektach.
 Poniżej znajdują się informacje ze [$2 strony opisu] tego pliku.',
+'sharedupload-desc-edit' => 'Plik ten pochodzi z $1 i może być wykorzystany w innych projektach.
+Być może zechcesz zmienić opis na tej [$2 stronie opisu pliku].',
+'sharedupload-desc-create' => 'Plik ten pochodzi z $1 i może być wykorzystany w innych projektach.
+Być może zechcesz zmienić opis na tej [$2 stronie opisu pliku].',
 'filepage-nofile' => 'Plik o tej nazwie nie istnieje.',
 'filepage-nofile-link' => 'Plik o tej nazwie nie istnieje, ale możesz go [$1 przesłać].',
 'uploadnewversion-linktext' => 'Załaduj nowszą wersję tego pliku',
@@ -3817,6 +3831,8 @@ Powinieneś otrzymać [{{SERVER}}{{SCRIPTPATH}}/COPYING kopię licencji GNU Gene
 'version-software' => 'Zainstalowane oprogramowanie',
 'version-software-product' => 'Nazwa',
 'version-software-version' => 'Wersja',
+'version-entrypoints' => 'Adres URL punktu wejścia',
+'version-entrypoints-header-entrypoint' => 'Punkt wejścia',
 'version-entrypoints-header-url' => 'URL',
 
 # Special:FilePath
index acb2696..e0e784e 100644 (file)
@@ -424,6 +424,11 @@ Arcesta: $2',
 'ns-specialprotected' => 'As peulo nen modifichesse le pàgine dlë spassi nominal {{ns:special}}.',
 'titleprotected' => "La creassion ëd pàgine con ës tìtol-sì a l'é stàita proibìa da [[User:$1|$1]].
 Coma rason a l'ha butà: ''$2''.",
+'filereadonlyerror' => "As peul pa modifichesse l'archivi «$1» përchè ël depòsit d'archivi «$2» a l'é an sola letura.
+
+L'aministrator ch'a l'ha blocalo a l'ha lassà sta spiegassion: «$3».",
+'invalidtitle-knownnamespace' => 'Tìtol pa bon con spassi nominal "$2" e test "$3"',
+'invalidtitle-unknownnamespace' => 'Tìtol pa bon con spassi nominal sconossù nùmer $1 e test "$2"',
 
 # Virus scanner
 'virus-badscanner' => "Configurassion falà: antivìrus nen conossù: ''$1''",
@@ -515,6 +520,7 @@ Da qualsëssìa ëd coste funsion a sarà mandà gnun messagi fin che chiel (chi
 'invalidemailaddress' => "Costa adrëssa ëd pòsta eletrònica-sì as peul nen pijesse përchè a l'ha na forma nen bon-a.
 Për piasì che a buta n'adrëssa scrita giusta ò che a lassa ël camp veujd.",
 'cannotchangeemail' => "J'adrësse ëd pòsta eletrònica dij cont a peulo pa esse modificà ansima a costa wiki.",
+'emaildisabled' => 'Ës sit a peul pa mandé ëd mëssagi ëd pòsta eletrònica.',
 'accountcreated' => 'Cont creà',
 'accountcreatedtext' => "Ël cont Utent për $1 a l'é stàit creà.",
 'createaccount-title' => 'Creassion ëd cont për {{SITENAME}}',
@@ -707,6 +713,7 @@ o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}
 'note' => "'''NÒTA:'''",
 'previewnote' => "'''Che a ten-a present che costa-sì a l'é mach na preuva.'''
 Ij sò cambi a son anco' pa stàit salvà!",
+'continue-editing' => 'Continua a modifiché',
 'previewconflict' => "Costa preuva a-j mostra ël test dl'artìcol ambelessì dzora. Se a sërn dë salvelo, a l'é parèj che a lo s-ciairëran ëdcò tuti j'àutri Utent.",
 'session_fail_preview' => "'''Darmagi! I l'oma pa podù processé soa modìfica per via che a son përdusse për la stra ij dat ëd session.
 Për piasì che a preuva n'àutra vira. Se a dovèissa mai torna riveje sossì, che a preuva a seurte dal sistema e peuj torna a rintré.'''",
@@ -720,6 +727,7 @@ ant ël quàder ëd modìfica. La rason che a l'é nen stàit acetà a l'é për
 test ch'a-i é già. Sossì dle vire a riva quand un a deuvra un programa proxy ëd coj un pòch dla Bajòna.'''",
 'edit_form_incomplete' => "'''Quàich part dël formolari ëd modìfica a l'é pa rivà al sërvent; contròla doe vire che toe modìfiche a-i sio anco' e preuva torna.'''",
 'editing' => 'Modìfica ëd $1',
+'creating' => 'Creé $1',
 'editingsection' => 'I soma dapress a modifiché $1 (session)',
 'editingcomment' => 'I soma dapress a modifiché $1 (neuva session)',
 'editconflict' => "Conflit d'edission: $1",
@@ -784,6 +792,7 @@ A smija che a sia stàita scancelà.',
 'edit-no-change' => "Toa modìfica a l'é stàita ignorà, përchè a l'é pa stàit fàit gnun cambiament al test.",
 '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",
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => "'''Atension:''' Costa pàgina a l'ha tròpe ciamà costose a le fonsions ëd parser.
@@ -799,6 +808,12 @@ Costi paràmeter a son stàit lassà fòra.",
 'parser-template-loop-warning' => 'Trovà na liassa dlë stamp: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Passà ël lìmit ëd ricorsion dlë stamp ($1)',
 'language-converter-depth-warning' => 'Passà lìmit ëd profondità dël convertidor ëd lenghe ($1)',
+'node-count-exceeded-category' => "Pàgine anté che ël nùmer ëd grop a l'é sorpassà",
+'node-count-exceeded-warning' => "La pàgina a l'ha sorpassà ël nùmer ëd grop",
+'expansion-depth-exceeded-category' => "Pàgine anté che la profondeur d'espansion a l'é sorpassà",
+'expansion-depth-exceeded-warning' => "La pàgina a l'ha sorpassà la profondità d'espansion",
+'parser-unstrip-loop-warning' => 'Trovà un sicl nen dësmontàbil',
+'parser-unstrip-recursion-limit' => "Sorpassà ël lìmit d'arcorensa nen dësmontàbil: $1",
 
 # "Undo" feature
 'undo-success' => "Sta modìfica-sì as peul scancelesse. Për piasì, ch'a contròla ambelessì sota për esse sigur che a l'é pro lòn che a veul fé, e peuj ch'as salva lòn ch'a l'ha butà chiel/chila për finì dë scancelé la modìfica ch'a-i era.",
@@ -973,7 +988,9 @@ Ch'a varda mach che a-i ven-a nen fòra un rabel ant la continuità stòrica.",
 'mergelogpagetext' => "Ambelessì sota a-i é na lista dj'ùltime vire che la stòria ëd na pàgina a l'é stàita butà ansema a cola 'd n'àutra.",
 
 # Diffs
-'history-title' => 'Cronologìa dle modìfiche ëd "$1"',
+'history-title' => '$1: Cronologìa dle modìfiche',
+'difference-title' => '$1: Diferensa tra revision',
+'difference-title-multipage' => 'Diferensa tra le pàgine «$1» e «$2»',
 'difference-multipage' => '(Diferense tra pàgine)',
 'lineno' => 'Riga $1:',
 'compareselectedversions' => 'Paragon-a le version selessionà',
@@ -1069,6 +1086,7 @@ Ch'a preuva a gionté dnans a soa arserca ël prefiss ''all:'' për sërché an
 'prefs-beta' => 'Caraterìstiche dla Beta',
 'prefs-datetime' => 'Data e ora',
 'prefs-labs' => 'Caraterìstiche dël laboratòri',
+'prefs-user-pages' => 'Pàgine utent',
 'prefs-personal' => "Profil dl'utent",
 'prefs-rc' => 'Ùltime modìfiche',
 'prefs-watchlist' => 'Ròba che as ten sot euj',
@@ -1334,7 +1352,7 @@ Costa anformassion a sarà pùblica.",
 'nchanges' => '$1 {{PLURAL:$1|modìfica|modìfiche}}',
 'recentchanges' => 'Ùltime modìfiche',
 'recentchanges-legend' => "Opsion dj'ùltime modìfiche",
-'recentchangestext' => 'An costa pàgina as ten cont dle modìfiche pì recente a la wiki.',
+'recentchanges-summary' => 'An costa pàgina as ten cont dle modìfiche pì recente a la wiki.',
 'recentchanges-feed-description' => 'Trassé le modìfiche dla wiki pì davzin-e ant ël temp an cost fluss.',
 'recentchanges-label-newpage' => "Sta modìfica-sì a l'ha creà na neuva pàgina",
 'recentchanges-label-minor' => "Costa a l'é na modìfica cita",
@@ -1544,12 +1562,18 @@ Se a-i riva sossì n'àotra vira, ch'as buta an comunicassion con n'[[Special:Li
 'backend-fail-closetemp' => "As peul pa saresse l'archivi temporani.",
 'backend-fail-read' => "As peul pa les-se l'archivi $1.",
 'backend-fail-create' => "As peul pa creesse l'archivi $1.",
+'backend-fail-maxsize' => "As peul pa scrivse l'archivi $1 përchè a l'é pi gròss che {{PLURAL:$2|un byte|$2 byte}}.",
 'backend-fail-readonly' => "Ël dispositiv ëd memòria «$1» a l'é al moment an sola letura. La rason dàita a l'era: «$2»",
 'backend-fail-synced' => "L'archivi «$1» a l'é ant në stat incoerent andrinta ai dispositiv ëd memòria intern",
 'backend-fail-connect' => 'Impossìbil coleghesse al dispositiv ëd memòria «$1».',
 'backend-fail-internal' => "N'eror pa conossù a l'é rivaje ant ël dispositiv ëd memòria «$1».",
 'backend-fail-contenttype' => "As peul pa determinesse la sòrt ëd contnù dl'archivi da memorisé a «$1».",
 'backend-fail-batchsize' => "Ël dispositiv ëd memòria a l'ha dàit un total ëd $1 {{PLURAL:$1|operassion|operassion}} d'archivi; ël lìmit a l'é $2 {{PLURAL:$1|operassion|operassion}}.",
+'backend-fail-usable' => "As peul pa scrivse l'archivi $1 a motiv ëd drit insuficent o liste/contnidor mancant.",
+
+# File journal errors
+'filejournal-fail-dbconnect' => 'Impossìbil coleghesse a la base ëd dàit ëd lë scartari për ël terminal ëd memorisassion «$1».',
+'filejournal-fail-dbquery' => 'Impossìbil agiorné la base ëd dàit ëd lë scartari për ël terminal ëd memorisassion «$1».',
 
 # Lock manager
 'lockmanager-notlocked' => "As peul pa dësblochesse «$1»; a l'é nen blocà.",
@@ -1667,6 +1691,10 @@ A l'é disponìbil na [[Special:WhatLinksHere/$2|lista completa]].",
 Për piasì, vëdde la [$2 pàgina ëd descrission ëd l'archivi] per d'àutre anformassion.",
 'sharedupload-desc-here' => "Cost archivi a riva da $1 e a peul esse dovrà da dj'àutri proget.
 La descrission an soa [$2 pàgina ëd dëscrission ëd l'archivi] a l'é smonùa sì-sota.",
+'sharedupload-desc-edit' => "St'archivi-sì a riva da $1 e a peul esse dovrà da d'àutri proget. 
+Peul desse ch'a veula modifiché la descrission dzora soa [pàgina ëd descrission dl'archivi $2] ambelelà.",
+'sharedupload-desc-create' => "St'archivi-sì a riva da $1 e a peul esse dovrà da d'àutri proget. 
+Peul desse ch'a veula modifiché la descrission dzora soa [pàgina ëd descrission dl'archivi $2]",
 'filepage-nofile' => 'A esist gnun archivi con ës nòm.',
 'filepage-nofile-link' => "N'archivi con sto nòm-sì a esist pa, ma a peul [$1 carielo].",
 'uploadnewversion-linktext' => "Carié na version neuva dë st'archivi-sì",
@@ -1878,6 +1906,12 @@ A peul arstrenze la visualisassion an selessionand la sòrt ëd registr, lë str
 'allpagesprefix' => "Smon-e le pàgine che a l'han ël prefiss:",
 'allpagesbadtitle' => "Ël tìtol che a l'ha daje a la pàgina a va nen bin, ò pura a l'ha andrinta un prefiss inter-lenga ò inter-wiki. A peul esse ëdcò che a l'abia andrinta dij caràter che as peulo nen dovresse ant ij tìtoj.",
 'allpages-bad-ns' => '{{SITENAME}} a l\'ha pa gnun ëspassi nominal "$1".',
+'allpages-hide-redirects' => 'Stërma le ridiression',
+
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => "A l'é ancamin ch'a vëd na version memorisà ëd costa pàgina, che a peul esse veja fin a $1.",
+'cachedspecial-viewing-cached-ts' => "A l'é ancamin ch'a s-ciàira na version memorisà ëd costa pagina, che a peul esse nen completament agiornà.",
+'cachedspecial-refresh-now' => "Varda l'ùltima.",
 
 # Special:Categories
 'categories' => 'Categorìe',
@@ -2498,20 +2532,20 @@ Che as sërna, për piasì, un nòm diferent për st'artìcol.",
 'delete_and_move_text' => "==A fa da manca dë scancelé==
 
 L'artìcol ëd destinassion «[[:$1]]» a-i é già. Veul-lo scancelelo për avèj ëd pòst për tramudé l'àutr?",
-'delete_and_move_confirm' => 'É, scancela la pàgina',
-'delete_and_move_reason' => 'Scancelà për liberé ël pòst për tramudé "[[$1]]"',
-'selfmove' => "Tìtol neuv e tìtol vej a resto midem antra lor; as peul pa tramudesse na pàgina butand-la andoa che a l'é già.",
-'immobile-source-namespace' => 'As peul pa tramudé ëd pàgine ant ël namespace "$1"',
-'immobile-target-namespace' => 'As peul pa tramudé ëd pàgine ant ël namespace "$1"',
-'immobile-target-namespace-iw' => "Un colegament interwiki a l'é pa na destinassion vàlida për tramudé na pàgina.",
+'delete_and_move_confirm' => 'É, scancelé la pàgina',
+'delete_and_move_reason' => 'Scancelà për liberé ël pòst për tramudé «[[$1]]»',
+'selfmove' => "Tìtol neuv e tìtol vej a resto midem antra 'd lor; as peul pa tramudesse na pàgina butand-la andoa che a l'é già.",
+'immobile-source-namespace' => 'A peul pa tramudé le pàgine ant lë spassi nominal «$1»',
+'immobile-target-namespace' => 'A peul pa tramudé dle pàgine vers lë spassi nominal «$1»',
+'immobile-target-namespace-iw' => "Na liura interwiki a l'é pa na destinassion vàlida për tramudé na pàgina.",
 'immobile-source-page' => 'Sta pàgina-sì as peul pa tramudesse.',
-'immobile-target-page' => 'As peul pa tramudess al tìtol dë sta destinassion-sì.',
-'imagenocrossnamespace' => 'As peul pa tramudé un file fòra dal sò namespace',
+'immobile-target-page' => 'As peul pa tramudesse vers cost tìtol ëd destinassion.',
+'imagenocrossnamespace' => "As peul pa tramudesse n'archivi a në spassi nominal diferent",
 'nonfile-cannot-move-to-file' => "As peul nen tramudesse lòn ch'a l'é pa n'archivi a lë spassi nominal dj'archivi",
-'imagetypemismatch' => 'La neuva estension dël file a corispond pa a sò tipo',
-'imageinvalidfilename' => "Ël nòm dël file pontà a l'é pa vàlid",
-'fix-double-redirects' => 'Modìfica minca rediression che a ponta al tìtol original',
-'move-leave-redirect' => 'Lassa na rediression',
+'imagetypemismatch' => "La neuva estension ëd l'archivi a corispond pa a sò tipo",
+'imageinvalidfilename' => "Ël nòm ëd l'archivi bërsaj a l'é nen bon",
+'fix-double-redirects' => 'Agiorné tute le ridiression che a ponto vers ël tìtol original',
+'move-leave-redirect' => 'Lassé na ridiression',
 'protectedpagemovewarning' => "'''Avis:''' Sta pàgina-sì a l'é stàita blocà parèj che mach utent con drit d'aministrator a peulo tramudela.
 L'ùltima vos dël registr a l'é smonùa sì-sota për arferiment:",
 'semiprotectedpagemovewarning' => "'''Nòta:''' Sta pàgina-sì a l'é stàita blocà parèj che mach j'utent argistrà a peulo tramudela.
@@ -3470,6 +3504,9 @@ A dovrìa avèj arseivù [{{SERVER}}{{SCRIPTPATH}}/COPYING na còpia dla Licensa
 'version-software' => 'Programa anstalà',
 'version-software-product' => 'Prodot',
 'version-software-version' => 'Version',
+'version-entrypoints' => "Anliure ëd pont d'intrada",
+'version-entrypoints-header-entrypoint' => "Pont d'intrada",
+'version-entrypoints-header-url' => "Adrëssa an sl'aragnà",
 
 # Special:FilePath
 'filepath' => "Përcors d'archivi",
@@ -3658,4 +3695,15 @@ Dësnò, a peule dovré ël formlari semplificà sì-sota. Sò coment a sarà gi
 'api-error-uploaddisabled' => "Ël cariagi a l'é disabilità su sta wiki.",
 'api-error-verification-error' => "Cost archivi a peul esse danegià, o avèj l'estension sbalià.",
 
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|second|second}}',
+'duration-minutes' => '$1 {{PLURAL:$1|minuta|minute}}',
+'duration-hours' => '$1 {{PLURAL:$1|ora|ore}}',
+'duration-days' => '$1 {{PLURAL:$1|di|di}}',
+'duration-weeks' => '$1 {{PLURAL:$1|sman-a|sman-e}}',
+'duration-years' => '$1 {{PLURAL:$1|ann|agn}}',
+'duration-decades' => "$1 {{PLURAL:$1|desen-a d'agn|desen-e d'agn}}",
+'duration-centuries' => '$1 {{PLURAL:$1|sécol|sécoj}}',
+'duration-millennia' => '$1 {{PLURAL:$1|milenari|milenari}}',
+
 );
index a52f1b2..9212034 100644 (file)
@@ -1316,7 +1316,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|change|تبدیلیاں}}',
 'recentchanges' => 'نویاں تبدیلیاں',
 'recentchanges-legend' => 'نویاں تبدیلیاں دیاں راواں',
-'recentchangestext' => 'ایس وکی تے نیڑے نیڑے ہون والیاں تبدیلیاں ایس صفے تے دسو۔',
+'recentchanges-summary' => 'ایس وکی تے نیڑے نیڑے ہون والیاں تبدیلیاں ایس صفے تے دسو۔',
 'recentchanges-feed-description' => 'اس فیڈ وچ وکی تے ہوئیاں نویاں تبدیلیاں نو ویکھو۔',
 'recentchanges-label-newpage' => 'ایس تبدیلی نے نواں صفہ بنایا اے۔',
 'recentchanges-label-minor' => 'اے اک چھوٹی تبدیلی اے۔',
index d6bcd2c..a62df39 100644 (file)
@@ -1092,7 +1092,7 @@ Tū mazzi dīgi etrīnktun dātun kitēimans drāugautwei sen tin pra tērpautaj
 'nchanges' => '$1 {{PLURAL:$1|kitawīdinsna|kitawīdinsnas}}',
 'recentchanges' => 'Panzdaumas kitawīdinsnas',
 'recentchanges-legend' => 'Panzdauman kitawīdinsnan mazīngiskwas',
-'recentchangestext' => 'Šin pāusan waidinna listin stēisan panzdauman kitawīdinsnan en šissei wiki.',
+'recentchanges-summary' => 'Šin pāusan waidinna listin stēisan panzdauman kitawīdinsnan en šissei wiki.',
 'recentchanges-feed-description' => 'Nadirēis ukanāunaisins kitawīdisnans en šissei wiki.',
 'recentchanges-label-newpage' => 'Šis redigīsenis ast teīkuns nāunan pāusan',
 'recentchanges-label-minor' => 'Sta ast malks redigīsenis',
index d271266..79f113b 100644 (file)
@@ -1171,7 +1171,7 @@ $1',
 'nchanges' => '$1 {{PLURAL:$1|بدلون|بدلونونه}}',
 'recentchanges' => 'وروستي بدلونونه',
 'recentchanges-legend' => 'د ورستي بدلونو خوښنې',
-'recentchangestext' => 'په همدې مخ باندې د ويکي ترټولو تازه وروستي بدلونونه وڅارۍ.',
+'recentchanges-summary' => 'په همدې مخ باندې د ويکي ترټولو تازه وروستي بدلونونه وڅارۍ.',
 'recentchanges-feed-description' => 'همدلته د ويکي ترټولو تازه وروستي بدلونونه وڅارۍ او وګورۍ چې څه پېښ شوي.',
 'recentchanges-label-newpage' => 'دغه سمون يو نوی مخ جوړ کړی',
 'recentchanges-label-minor' => 'دا يوه وړه سمونه ده',
index d2199d3..f170f09 100644 (file)
@@ -1645,7 +1645,7 @@ Esta informação será pública.',
 'nchanges' => '$1 {{PLURAL:$1|alteração|alterações}}',
 'recentchanges' => 'Mudanças recentes',
 'recentchanges-legend' => 'Opções das mudanças recentes',
-'recentchangestext' => 'Acompanhe nesta página as mudanças mais recentes da wiki.',
+'recentchanges-summary' => 'Acompanhe nesta página as mudanças mais recentes da wiki.',
 'recentchanges-feed-description' => "Acompanhe neste ''feed'' as mudanças mais recentes da wiki.",
 'recentchanges-label-newpage' => 'Esta edição criou uma página nova',
 'recentchanges-label-minor' => 'Esta é uma edição menor',
@@ -1929,7 +1929,6 @@ Para optimizar a segurança, o img_auth.php está impossibilitado de executar.',
 'http-curl-error' => 'Ocorreu um erro ao aceder à URL: $1',
 'http-host-unreachable' => 'Não foi possível aceder à URL',
 'http-bad-status' => 'Ocorreu um problema durante o pedido HTTP: $1 $2',
-'http-truncated-body' => 'O corpo da solicitação foi recebido apenas parcialmente.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Não foi possível aceder à URL',
@@ -2673,7 +2672,7 @@ Consulte a [[Special:BlockList|lista de bloqueios]] para rever os bloqueios.',
 'blocklist-userblocks' => 'Esconder bloqueios de contas',
 'blocklist-tempblocks' => 'Esconder bloqueios temporários',
 'blocklist-addressblocks' => 'Esconder bloqueios de IP único',
-'blocklist-rangeblocks' => 'Ocultar range blocks',
+'blocklist-rangeblocks' => 'Ocultar bloqueios de faixas',
 'blocklist-timestamp' => 'Data e hora',
 'blocklist-target' => 'Destinatário',
 'blocklist-expiry' => 'Duração',
index 2917cf7..57c0de9 100644 (file)
@@ -46,6 +46,7 @@
  * @author Raylton P. Sousa
  * @author Rodrigo Calanca Nishino
  * @author Sir Lestaty de Lioncourt
+ * @author TheGabrielZaum
  * @author Urhixidur
  * @author Vuln
  * @author Waldir
@@ -104,6 +105,7 @@ $specialPageAliases = array(
        'Allmessages'               => array( 'Todas_as_mensagens', 'Todas_mensagens' ),
        'Allpages'                  => array( 'Todas_as_páginas', 'Todos_os_artigos', 'Todas_páginas', 'Todos_artigos' ),
        'Ancientpages'              => array( 'Páginas_inativas', 'Artigos_inativos' ),
+       'Badtitle'                  => array( 'Título_inválido' ),
        'Blankpage'                 => array( 'Página_em_branco' ),
        'Block'                     => array( 'Bloquear', 'Bloquear_IP', 'Bloquear_utilizador', 'Bloquear_usuário' ),
        'Blockme'                   => array( 'Bloquear-me', 'Auto-bloqueio' ),
@@ -111,6 +113,7 @@ $specialPageAliases = array(
        'BrokenRedirects'           => array( 'Redirecionamentos_quebrados' ),
        'Categories'                => array( 'Categorias' ),
        'ChangePassword'            => array( 'Trocar_senha', 'Repor_senha' ),
+       'ComparePages'              => array( 'Comparar_páginas' ),
        'Confirmemail'              => array( 'Confirmar_e-mail', 'Confirmar_email' ),
        'Contributions'             => array( 'Contribuições' ),
        'CreateAccount'             => array( 'Criar_conta' ),
@@ -118,6 +121,7 @@ $specialPageAliases = array(
        'DeletedContributions'      => array( 'Contribuições_eliminadas', 'Edições_eliminadas' ),
        'Disambiguations'           => array( 'Páginas_de_desambiguação', 'Desambiguar', 'Desambiguações' ),
        'DoubleRedirects'           => array( 'Redirecionamentos_duplos' ),
+       'EditWatchlist'             => array( 'Editar_lista_de_páginas_vigiadas' ),
        'Emailuser'                 => array( 'Contatar_usuário', 'Contactar_usuário', 'Contactar_utilizador' ),
        'Export'                    => array( 'Exportar' ),
        'Fewestrevisions'           => array( 'Páginas_com_menos_edições', 'Artigos_com_menos_edições', 'Artigos_menos_editados' ),
@@ -1616,7 +1620,7 @@ Caso decida fornecê-lo, este será utilizado para dar-lhe crédito pelo seu tra
 'nchanges' => '$1 {{PLURAL:$1|alteração|alterações}}',
 'recentchanges' => 'Mudanças recentes',
 'recentchanges-legend' => 'Opções das mudanças recentes',
-'recentchangestext' => 'Acompanhe, a partir desta página, as alterações recentes no wiki {{SITENAME}}.',
+'recentchanges-summary' => 'Veja as mais novas mudanças na {{SITENAME}} nesta página.',
 'recentchanges-feed-description' => 'Acompanhe neste feed as mudanças mais recentes do wiki.',
 'recentchanges-label-newpage' => 'Esta edição criou uma nova página',
 'recentchanges-label-minor' => 'Esta é uma edição menor',
@@ -1834,8 +1838,8 @@ Caso o problema persista, procure um [[Special:ListUsers/sysop|administrador]].'
 'backend-fail-writetemp' => 'Não foi possível gravar no arquivo temporário.',
 'backend-fail-closetemp' => 'Não foi possível fechar o arquivo temporário.',
 'backend-fail-read' => 'Não foi possível ler o arquivo $1.',
-'backend-fail-create' => 'Não foi possível criar o arquivo $1.',
-'backend-fail-maxsize' => 'Não foi possível criar o arquivo $1 por ele ser maior que {{PLURAL:$2|1 byte|$2 bytes}}.',
+'backend-fail-create' => 'Não foi possível criar ou alterar o arquivo $1.',
+'backend-fail-maxsize' => 'Não foi possível criar ou alterar o arquivo $1 por ele ser maior que {{PLURAL:$2|1 byte|$2 bytes}}.',
 'backend-fail-readonly' => 'O servidor de armazenamento "$1" está atualmente no modo "somente leitura". A razão dada foi: "$2"',
 'backend-fail-synced' => 'O arquivo "$1" está em um estado inconsistente dentro do sistema de armazenamento interno',
 'backend-fail-connect' => 'Não foi possível se conectar com o servidor de armazenamento "$1".',
@@ -2639,7 +2643,7 @@ Consulte a [[Special:BlockList|lista de bloqueios]].',
 'blocklist-userblocks' => 'Esconder bloqueios de contas',
 'blocklist-tempblocks' => 'Esconder bloqueios temporários',
 'blocklist-addressblocks' => 'Esconder bloqueios de IP único',
-'blocklist-rangeblocks' => 'Ocultar blocos gama',
+'blocklist-rangeblocks' => 'Ocultar bloqueios de faixas',
 'blocklist-timestamp' => 'Data e hora',
 'blocklist-target' => 'Destinatário',
 'blocklist-expiry' => 'Expira',
index 9ccf5f3..0e9c872 100644 (file)
@@ -8,6 +8,7 @@
  * @file
  *
  * @author *Surak*
+ * @author Abanima
  * @author Ahonc
  * @author Aleator
  * @author AlexSm
  * @author Sherbrooke
  * @author Shirayuki
  * @author Shushruth
+ * @author Siddhartha Ghai
  * @author Siebrand
  * @author Singularity
  * @author Sionnach
@@ -308,6 +310,9 @@ See http://test.wikipedia.org/wiki/Category:Test_ko?uselang={{SUBPAGENAME}}, for
 'index-category' => 'Name of the [[mw:Help:Tracking categories|tracking category]] where pages with the <nowiki>__INDEX__</nowiki> behaviour switch are listed. For description of this behaviour switch see [//www.mediawiki.org/wiki/Help:Magic_words#Behavior_switches mediawiki].',
 'noindex-category' => 'Name of the [[mw:Help:Tracking categories|tracking category]] where pages with the <nowiki>__NOINDEX__</nowiki> behaviour switch are listed. For description of this behaviour switch see [//www.mediawiki.org/wiki/Help:Magic_words#Behavior_switches mediawiki].',
 'broken-file-category' => 'Name of [[mw:Help:Tracking categories|tracking category]] where pages that embed files that do not exist ("broken images") are listed.',
+'categoryviewer-pagedlinks' => 'The pagination links in category viewer. Parameters:
+* $1 is the previous link,
+* $2 is the next link',
 
 'linkprefix' => '{{optional}}',
 
@@ -1239,6 +1244,13 @@ Parameters:
 *Parameter $3 is a log comment for the merge',
 'mergehistory-same-destination' => 'Error message shown on [[Special:MergeHistory]] when the user entered the same page title to both source and destination',
 'mergehistory-reason' => '{{Identical|Reason}}',
+'mergehistory-revisionrow' => 'A revision row in the merge history page. Parameters:
+* $1 is a radio button to indicate a merge point,
+* $2 is a link to the last revision of a page ({{msg-mw|last}}),
+* $3 is a page link,
+* $4 is a user link,
+* $5 is a revision size,
+* $6 is a revision comment',
 
 # Merge log
 'mergelog' => 'This is the name of a log of merge actions done on [[Special:MergeHistory]]. This special page and this log is not enabled by default.',
@@ -1392,6 +1404,7 @@ This is a search result (and I guess search engine) dependent messages. I do not
 'prefs-beta' => "Header of a subsection at [[Special:Preferences]], tab ''{{int:prefs-editing}}'', listing features that are in beta but mostly suitable for general use",
 'prefs-datetime' => '{{Identical|Date}}',
 'prefs-labs' => "Header of a subsection at [[Special:Preferences]], tab ''{{int:prefs-editing}}'', listing features that are experimental",
+'prefs-user-pages' => "Header of a subsection at [[Special:Preferences]], tab ''{{int:prefs-misc}}'', listing features that are related to user pages",
 'prefs-personal' => 'Title of a tab in [[Special:Preferences]].',
 'prefs-rc' => 'Used in user preferences.
 
@@ -1770,7 +1783,7 @@ This action allows editing of all of the "user rights", not just the rights of t
 
 {{Identical|Recent changes}}',
 'recentchanges-legend' => 'Legend of the fieldset of [[Special:RecentChanges]]',
-'recentchangestext' => 'Text in recent changes',
+'recentchanges-summary' => 'Summary of [[Special:RecentChanges]].',
 'recentchanges-label-newpage' => 'Tooltip for {{msg-mw|newpageletter}}',
 'recentchanges-label-minor' => 'Tooltip for {{msg-mw|newpageletter}}',
 'recentchanges-label-bot' => 'Tooltip for {{msg-mw|boteditletter}}',
@@ -1967,7 +1980,7 @@ Parameters:
 * $1 is the number of operations attempted at once in this case.
 * $2 is the maximum number of operations that can be attempted at once.',
 'backend-fail-usable' => 'Parameters:
-* $1 is a file path',
+* $1 is the file name, including the path, formatted for the storage backend used',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Parameters:
@@ -2034,7 +2047,6 @@ Siebrand think this has to do with allowing MediaWiki to fetch remote URLs, and
 
 If \'scheme\' is difficult to translate, then you could use \'prefix\' instead.',
 'http-bad-status' => '$1 is an HTTP error code (e.g. 404), $2 is the HTTP error message (e.g. File Not Found)',
-'http-truncated-body' => 'This is a standard HTTP error message. → Seems the connection closed prematurely. The HTTP response contained a content-length greater than the received body.',
 
 'license' => 'This appears in the upload form for the license drop-down. The header in the file description page is now at {{msg-mw|License-header}}.',
 'nolicense' => '{{Identical|None selected}}',
@@ -2345,7 +2357,7 @@ $1 is a page title",
 'nopagetitle' => 'Used as title of [[Special:MovePage]], when the oldtitle does not exist.
 
 The text is {{msg-mw|nopagetext}}.',
-'nopagetext' => 'Used as text of [[Special:MovePage]], when the oldtitle does not exist.
+'nopagetext' => 'Used as text on special pages like [[Special:MovePage]] (when the oldtitle does not exist) or [[Special:PermaLink]].
 
 The title is {{msg-mw|nopagetitle}}.',
 'pager-newer-n' => "This is part of the navigation message on the top and bottom of Special pages which are lists of things in date order, e.g. the User's contributions page. It is passed as the second argument of {{msg-mw|Viewprevnext}}. $1 is the number of items shown per page.",
@@ -3050,6 +3062,7 @@ See also {{msg-mw|Movepagetext-noredirectfixer|notext=1}}',
 'movetalk' => 'The text of the checkbox to watch the associated talk page to the page you are moving. This only appears when the talk page is not empty.',
 'move-subpages' => 'The text of an option on the special page [[Special:MovePage|MovePage]]. If this option is ticked, any subpages will be moved with the main page to a new title.',
 'move-talk-subpages' => 'The text of an option on the special page [[Special:MovePage|MovePage]]. If this option is ticked, any talk subpages will be moved with the talk page to a new title.',
+'movepage-max-pages' => 'PROBABLY (A GUESS): when moving a page, you can select an option of moving its subpages, but there is a maximum that can be moved automatically.',
 'movelogpage' => 'Title of [[Special:Log/move]]. Used as heading on that page, and in the dropdown menu on log pages.',
 'movelogpagetext' => "Text on the special page 'Move log'.",
 'movesubpage' => "This is a section header on [[Special:MovePage]], below is a list of subpages.
@@ -3060,6 +3073,7 @@ Parameters:
 
 {{Identical|Reason}}',
 'revertmove' => '{{Identical|Revert}}',
+'delete_and_move' => 'Button text on the move page when the target page already exists.',
 'delete_and_move_text' => 'Used when moving a page, but the destination page already exists and needs deletion. This message is to confirm that you really want to delete the page. See also {{msg|delete and move confirm}}.',
 'delete_and_move_confirm' => 'Used when moving a page, but the destination page already exists and needs deletion. This message is for a checkbox to confirm that you really want to delete the page. See also {{msg|delete and move text}}.',
 'delete_and_move_reason' => 'Shown as reason in content language in the deletion log. Parameter:
@@ -3477,7 +3491,7 @@ Part of variable $1 in {{msg-mw|Ago}}
 *{{msg-mw|Days}}',
 
 # Bad image list
-'bad_image_list' => 'This is only message appears to guide administrators to add links with right format. This will not appear anywhere else in Mediawiki.',
+'bad_image_list' => 'This message only appears to guide administrators to add links with the right format. This will not appear anywhere else in MediaWiki.',
 
 /*
 Short names for language variants used for language conversion links.
@@ -4023,6 +4037,7 @@ CW is an abbreviation for clockwise.',
 'exif-contrast-2' => '{{Identical|Hard}}',
 
 'exif-saturation-0' => '{{Identical|Normal}}',
+'exif-saturation-2' => 'Color saturation in picture EXIF data',
 
 'exif-sharpness-0' => '{{Identical|Normal}}',
 'exif-sharpness-1' => '{{Identical|Soft}}',
index 8c9cc20..f69170c 100644 (file)
@@ -138,24 +138,24 @@ $magicWords = array(
        'noeditsection'           => array( '0', '__AMARAKITAHUKCHAYCHU__', '__NOEDITARSECCIÓN__', '__NOEDITARSECCION__', '__NOEDITSECTION__' ),
        'noheader'                => array( '0', '__UMANNAQ__', '__NOTÍTULO__', '__NOTITULO__', '__NOHEADER__' ),
        'currentmonth'            => array( '1', 'KUNANKILLA', 'MESACTUAL', 'MES_ACTUAL', 'MESACTUAL2', 'CURRENTMONTH', 'CURRENTMONTH2' ),
-       'currentmonthname'        => array( '1', 'KUNANKILLASUTI', 'NOMBREMESACTUAL', 'NOMBRE_MES_ACTUAL', 'CURRENTMONTHNAME' ),
-       'currentmonthnamegen'     => array( '1', 'KUNANKILLASUTIP', 'GENERADORNOMBREMESACTUAL', 'CURRENTMONTHNAMEGEN' ),
-       'currentmonthabbrev'      => array( '1', 'KUNANKILLAPISI', 'ABREVIACIONNOMBREMESACTUAL', 'ABREVIACIÓNNOMBREMESACTUAL', 'CURRENTMONTHABBREV' ),
+       'currentmonthname'        => array( '1', 'KUNANKILLASUTI', 'NOMBREMESACTUAL', 'NOMBRE_MES_ACTUAL', 'MESACTUALCOMPLETO', 'CURRENTMONTHNAME' ),
+       'currentmonthnamegen'     => array( '1', 'KUNANKILLASUTIP', 'GENERADORNOMBREMESACTUAL', 'MESACTUALGENITIVO', 'CURRENTMONTHNAMEGEN' ),
+       'currentmonthabbrev'      => array( '1', 'KUNANKILLAPISI', 'ABREVIACIONNOMBREMESACTUAL', 'ABREVIACIÓNNOMBREMESACTUAL', 'MESACTUALABREVIADO', 'CURRENTMONTHABBREV' ),
        'currentday'              => array( '1', 'KUNANPUNCHAW', 'DÍAACTUAL', 'DIAACTUAL', 'DÍA_ACTUAL', 'DIA_ACTUAL', 'CURRENTDAY' ),
        'currentday2'             => array( '1', 'KUNANPUNCHAW2', 'DÍAACTUAL2', 'DIAACTUAL2', 'DÍA_ACTUAL2', 'DIA_ACTUAL2', 'CURRENTDAY2' ),
        'currentdayname'          => array( '1', 'KUNANPUNCHAWSUTI', 'NOMBREDÍAACTUAL', 'NOMBREDIAACTUAL', 'CURRENTDAYNAME' ),
        'currentyear'             => array( '1', 'KUNANWATA', 'AÑOACTUAL', 'AÑO_ACTUAL', 'CURRENTYEAR' ),
-       'currenttime'             => array( '1', 'KUNANPACHA', 'HORAACTUAL', 'HORA_ACTUAL', 'CURRENTTIME' ),
+       'currenttime'             => array( '1', 'KUNANPACHA', 'HORAACTUAL', 'HORA_ACTUAL', 'HORA_MINUTOS_ACTUAL', 'HORAMINUTOSACTUAL', 'TIEMPOACTUAL', 'CURRENTTIME' ),
        'currenthour'             => array( '1', 'KUNANURA', 'HORA_ACTUAL', 'HORAACTUAL', 'HORA_MINUTOS_ACTUAL', 'HORAMINUTOSACTUAL', 'CURRENTHOUR' ),
-       'localmonth'              => array( '1', 'KAYPIKILLA', 'MESLOCAL', 'LOCALMONTH', 'LOCALMONTH2' ),
-       'localmonthname'          => array( '1', 'KAYPIKILLASUTI', 'NOMBREMESLOCAL', 'LOCALMONTHNAME' ),
-       'localmonthnamegen'       => array( '1', 'KAYPIKILLASUTIP', 'GENERADORNOMBREMESLOCAL', 'LOCALMONTHNAMEGEN' ),
-       'localmonthabbrev'        => array( '1', 'KAYPIKILLAPISI', 'ABREVIACIONMESLOCAL', 'LOCALMONTHABBREV' ),
+       'localmonth'              => array( '1', 'KAYPIKILLA', 'MESLOCAL', 'MESLOCAL2', 'LOCALMONTH', 'LOCALMONTH2' ),
+       'localmonthname'          => array( '1', 'KAYPIKILLASUTI', 'NOMBREMESLOCAL', 'MESLOCALCOMPLETO', 'LOCALMONTHNAME' ),
+       'localmonthnamegen'       => array( '1', 'KAYPIKILLASUTIP', 'GENERADORNOMBREMESLOCAL', 'MESLOCALGENITIVO', 'LOCALMONTHNAMEGEN' ),
+       'localmonthabbrev'        => array( '1', 'KAYPIKILLAPISI', 'ABREVIACIONMESLOCAL', 'MESLOCALABREVIADO', 'LOCALMONTHABBREV' ),
        'localday'                => array( '1', 'KAYPIPUNCHAW', 'DÍALOCAL', 'DIALOCAL', 'LOCALDAY' ),
        'localday2'               => array( '1', 'KAYPIPUNCHAW2', 'DIALOCAL2', 'DÍALOCAL2', 'LOCALDAY2' ),
        'localdayname'            => array( '1', 'KAYPIPUNCHAWSUTI', 'NOMBREDIALOCAL', 'NOMBREDÍALOCAL', 'LOCALDAYNAME' ),
        'localyear'               => array( '1', 'KAYPIWATA', 'AÑOLOCAL', 'LOCALYEAR' ),
-       'localtime'               => array( '1', 'KAYPIPACHA', 'HORALOCAL', 'LOCALTIME' ),
+       'localtime'               => array( '1', 'KAYPIPACHA', 'HORALOCAL', 'HORAMINUTOSLOCAL', 'TIEMPOLOCAL', 'LOCALTIME' ),
        'localhour'               => array( '1', 'KAYPIURA', 'HORALOCAL', 'HORAMINUTOSLOCAL', 'LOCALHOUR' ),
        'numberofpages'           => array( '1', 'HAYKAPANQA', 'NÚMERODEPÁGINAS', 'NUMERODEPAGINAS', 'NUMBEROFPAGES' ),
        'numberofarticles'        => array( '1', 'HAYKAQILLQA', 'NÚMERODEARTÍCULOS', 'NUMERODEARTICULOS', 'NUMBEROFARTICLES' ),
@@ -172,7 +172,7 @@ $magicWords = array(
        'talkspacee'              => array( '1', 'RIMANAKUYKITIE', 'RIMAYKITIE', 'ESPACIODEDISCUSIONC', 'TALKSPACEE' ),
        'subjectspace'            => array( '1', 'QILLQAKITI', 'ESPACIODEASUNTO', 'ESPACIODETEMA', 'ESPACIODEARTÍCULO', 'ESPACIODEARTICULO', 'SUBJECTSPACE', 'ARTICLESPACE' ),
        'subjectspacee'           => array( '1', 'QILLQAKITIE', 'ESPACIODETEMAC', 'ESPACIODEASUNTOC', 'ESPACIODEARTICULOC', 'ESPACIODEARTÍCULOC', 'SUBJECTSPACEE', 'ARTICLESPACEE' ),
-       'fullpagename'            => array( '1', 'HUNTAPANQASUTI', 'NOMBREDEPÁGINACOMPLETA', 'NOMBREDEPAGINACOMPLETA', 'NOMBREDEPÁGINAENTERA', 'NOMBREDEPAGINAENTERA', 'FULLPAGENAME' ),
+       'fullpagename'            => array( '1', 'HUNTAPANQASUTI', 'NOMBREDEPÁGINACOMPLETA', 'NOMBREDEPAGINACOMPLETA', 'NOMBREDEPÁGINAENTERA', 'NOMBREDEPAGINAENTERA', 'NOMBRECOMPLETODEPÁGINA', 'NOMBRECOMPLETODEPAGINA', 'FULLPAGENAME' ),
        'fullpagenamee'           => array( '1', 'HUNTAPANQASUTIE', 'NOMBRECOMPLETODEPAGINAC', 'NOMBRECOMPLETODEPÁGINAC', 'FULLPAGENAMEE' ),
        'subpagename'             => array( '1', 'URINPANQASUTI', 'NOMBREDESUBPAGINA', 'NOMBREDESUBPÁGINA', 'SUBPAGENAME' ),
        'subpagenamee'            => array( '1', 'URINPANQASUTIE', 'NOMBREDESUBPAGINAC', 'NOMBREDESUBPÁGINAC', 'SUBPAGENAMEE' ),
@@ -193,7 +193,7 @@ $magicWords = array(
        'img_center'              => array( '1', 'chawpi', 'centro', 'centrado', 'centrada', 'centrar', 'center', 'centre' ),
        'img_framed'              => array( '1', 'inchuyuq', 'inchu', 'marco', 'enmarcado', 'enmarcada', 'framed', 'enframed', 'frame' ),
        'img_frameless'           => array( '1', 'inchunnaq', 'sinmarco', 'sin_embarcar', 'sinenmarcar', 'sin_enmarcar', 'frameless' ),
-       'img_page'                => array( '1', 'panqa=$1', 'pagina=$1', 'página=$1', 'pagina $1', 'página $1', 'page=$1', 'page $1' ),
+       'img_page'                => array( '1', 'panqa=$1', 'pagina=$1', 'página=$1', 'pagina $1', 'página $1', 'pagina_$1', 'page=$1', 'page $1' ),
        'img_upright'             => array( '1', 'sayaq', 'sayaq=$1', 'upright', 'upright=$1', 'upright $1' ),
        'img_border'              => array( '1', 'saywa', 'borde', 'border' ),
        'img_baseline'            => array( '1', 'tiksisiqi', 'baseline' ),
@@ -207,7 +207,7 @@ $magicWords = array(
        'img_link'                => array( '1', 'tinki=$1', 'vínculo=$1', 'vinculo=$1', 'enlace=$1', 'link=$1' ),
        'img_alt'                 => array( '1', 'wak=$1', 'alt=$1' ),
        'int'                     => array( '0', 'WILLAY:', 'INT:' ),
-       'sitename'                => array( '1', 'TIYAYSUTI', 'NOMBREDESITIO', 'SITENAME' ),
+       'sitename'                => array( '1', 'TIYAYSUTI', 'NOMBREDESITIO', 'NOMBREDELSITIO', 'SITENAME' ),
        'ns'                      => array( '0', 'SKITI:', 'EN:', 'NS:' ),
        'localurl'                => array( '0', 'KAYLLAURL:', 'URLLOCAL', 'LOCALURL:' ),
        'localurle'               => array( '0', 'KAYLLAURLE:', 'URLLOCALC:', 'LOCALURLE:' ),
@@ -526,7 +526,7 @@ $1",
 'versionrequired' => "$1 nisqa MediaWiki llamk'apusqatam muchunki kay p'anqata llamk'achinaykipaq",
 'versionrequiredtext' => "$1 nisqa MediaWiki llamk'apusqatam muchunki kay p'anqata llamk'achinaykipaq. Astawan willasunaykipaqqa, [[Special:Version]] nisqapi qhaway",
 
-'ok' => 'OK',
+'ok' => 'Arí niy',
 'retrievedfrom' => '"$1" p\'anqamanta chaskisqa (Qhichwa / Quechua)',
 'youhavenewmessages' => '$1 qhawanayki kachkan ($2).',
 'newmessageslink' => 'Musuq willaymi',
@@ -650,6 +650,8 @@ $2",
 'filereadonlyerror' => 'Manam atinichu "$1" sutiyuq willañiqita hukchayta, "$2" sutiyuq willañiqi churamuna ñawirillanapaq kachkaptinmi.
 
 Amachaq kamachiqqa kayrayku amachani nispa nirqanmi: "$3".',
+'invalidtitle-knownnamespace' => '"$2" sutisuyu, "$3" qillqasqayuq mana allin kaq qillqa suti',
+'invalidtitle-unknownnamespace' => 'Mana riqsisqa $1 kaq sutisuyu yupay, "$2" qillqasqayuq mana allin kaq qillqa suti',
 
 # Virus scanner
 'virus-badscanner' => "Manam allintachu churapusqa: mana riqsisqa añaw maskaq: ''$1''",
@@ -1012,6 +1014,8 @@ Chay niykunaqa manam chaninchasqachu.",
 'node-count-exceeded-warning' => "P'anqaqa watasqakunata nisyu yupayniyuqmi",
 'expansion-depth-exceeded-category' => "Nisyu mast'ariy ukhu kaqniyuq p'anqakuna",
 'expansion-depth-exceeded-warning' => "P'anqaqa nisyu mast'ariy ukhu kaqniyuqmi",
+'parser-unstrip-loop-warning' => 'Muyupayaq siqum tarisqa',
+'parser-unstrip-recursion-limit' => 'Nisyu kuti muyupayay siqum ($1)',
 
 # "Undo" feature
 'undo-success' => 'Rurasqata kutichiyta atinkim. Manaraq kutichispaykiqa, kay qatiq wakichayta qhawariy rikunaykipaq chiqapta munasqaykichu manallachu, chaymantataq waqaychay kutichinapaq.',
@@ -1187,6 +1191,8 @@ Takyachikuy kay hukchayqa allin wiñay kawsay ñiqita ama waqllichunchu chaylla.
 
 # Diffs
 'history-title' => '"$1" p\'anqata hukchasqakunap wiñay kawsaynin',
+'difference-title' => '$1 nisqapaq musuqchasqapura wakin kaynin',
+'difference-title-multipage' => '$1, $2 sutiyuq willañiqipura wakin kaynin',
 'difference-multipage' => "(P'anqakunaqa manam kaqllachu)",
 'lineno' => "Siq'i $1:",
 'compareselectedversions' => "Akllasqa llamk'apusqakunata wakichay",
@@ -1281,6 +1287,7 @@ Takyachikuy kay hukchayqa allin wiñay kawsay ñiqita ama waqllichunchu chaylla.
 'prefs-beta' => 'Beta nisqap kaqninkuna',
 'prefs-datetime' => "P'unchaw, pacha",
 'prefs-labs' => 'Laburaturyu nisqap kaqninkuna',
+'prefs-user-pages' => "Ruraqpa p'anqankuna",
 'prefs-personal' => 'Kikinpa willankuna',
 'prefs-rc' => 'Ñaqha hukchasqakuna',
 'prefs-watchlist' => "Watiqasqa p'anqakuna",
@@ -1541,7 +1548,7 @@ $1 {{PLURAL:$1|sanampamanta|sanampakunamanta}} aswan pisi kananmi.',
 'nchanges' => '$1 {{PLURAL:$1|hukchasqa|hukchasqakuna}}',
 'recentchanges' => 'Ñaqha hukchasqa',
 'recentchanges-legend' => 'Ñaqha hukchasqapaq allinkachinakuna',
-'recentchangestext' => "Kay p'anqapiqa aswan qhipaq ñaqha hukchasqakunam.",
+'recentchanges-summary' => "Kay p'anqapiqa aswan qhipaq ñaqha hukchasqakunam.",
 'recentchanges-feed-description' => 'Kay mikhuchinapi wikipi qhipaq ñaqha hukchasqakunata qatiy.',
 'recentchanges-label-newpage' => "Kayta llamk'apuptiykim musuq p'anqam tukukurqun",
 'recentchanges-label-minor' => "Kayqa aslla llamk'apuymi",
@@ -1721,14 +1728,15 @@ $1',
 'backend-fail-writetemp' => "Manam atinichu mit'alla willañiqiman qillqayta.",
 'backend-fail-closetemp' => "Manam atinichu mit'alla willañiqita wichq'ayta.",
 'backend-fail-read' => 'Manam atinichu $1 sutiyuq willañiqita ñawiriyta.',
-'backend-fail-create' => 'Manam atinichu $1 sutiyuq willañiqita kamariyta.',
-'backend-fail-maxsize' => 'Manam atinichu $1 sutiyuq willañiqita kamariyta, {{PLURAL:$2|huk bytemanta|$2 bytemanta}} aswan hatun kaptinmi.',
+'backend-fail-create' => 'Manam atinichu $1 sutiyuq willañiqita qillqayta.',
+'backend-fail-maxsize' => 'Manam atinichu $1 sutiyuq willañiqita qillqayta, {{PLURAL:$2|huk bytemanta|$2 bytemanta}} aswan hatun kaptinmi.',
 'backend-fail-readonly' => '"$1" sutiyuq willañiqi hallch\'ana sirwiqqa ñawirinallapaqmi kachkan, kayrayku: "$2"',
 'backend-fail-synced' => '"$1" sutiyuq willañiqiqa manam sinchichu kachkan ukhupi willañiqi hallch\'ana sirwiqkunapi',
 'backend-fail-connect' => 'Manam atinichu "$1" sutiyuq willañiqi hallch\'ana sirwiqwan t\'inkinakuyta.',
 'backend-fail-internal' => '"$1" sutiyuq willañiqi hallch\'ana sirwiqpi mana riqsisqa pantasqam tukurqan.',
 'backend-fail-contenttype' => 'Manam atinichu "$1" nisqapi hallch\'ana willañiqip samiqninpa layanta yuqanchayta.',
 'backend-fail-batchsize' => "Willañiqi hallch'ana sirwiqmanqa $1 willañiqi {{PLURAL:$1|ruranayuq|ruranayuq}} tawqam qusqa; saywataq $2 {{PLURAL:$1|ruranam|ruranam}}.",
+'backend-fail-usable' => 'Manam atinichu $1 sutiyuq willañiqita qillqayta, mana aypalla saqillaykuna icha mana churanakuna/qullqakuna kaptinmi.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => "Manam atinichu \"\$1\" sutiyuq willañiqi hallch'ana sirwiqpaq p'unchawnintin hallch'awan t'inkiyta.",
index b45718d..313cde1 100644 (file)
@@ -535,7 +535,7 @@ Shuk rurakkunaka kikinpa e-chaski ''dirección''ta mana yachankachu.",
 'nchanges' => '$1 {{PLURAL:$1|killkay|killkaykuna}}',
 'recentchanges' => 'Mushuk killkaykuna',
 'recentchanges-legend' => 'Mushuk killkaykunamanta akllaykuna',
-'recentchangestext' => 'Kay pankapi tukuy mushuk killkaykunata rikukuna',
+'recentchanges-summary' => 'Kay pankapi tukuy mushuk killkaykunata rikukuna',
 'recentchanges-feed-description' => 'Kay willay mayupi ashtawan mushuk killkaykunata rikukuna',
 'recentchanges-label-newpage' => 'Kay killkayka shuk mushuk pankata kamachirka.',
 'recentchanges-label-minor' => 'Kay killkayka uchillami kan',
index 4b12a40..948c6a6 100644 (file)
@@ -403,14 +403,15 @@ Eventualmain ha gia insatgi auter stizza quest element.',
 'badtitle' => "Il num da titel endatà n'è betg valid",
 'badtitletext' => 'Il titel da pagina era betg valid, vids u in titel inter-lingua u inter-wiki betg correct.
 El po cuntegnair in u plirs segns che na pon betg vegnir utilisads en titels.',
-'perfcached' => 'Las suandantas datas vegnan ord il cache ed èn eventualmain betg cumplettamain actualas. Maximalmain {{PLURAL:$1|in resultat è|$1 resultats èn}} disponibels en il cache.',
-'perfcachedts' => 'Las suandantas datas derivan dal cache, ultima actualisaziun ils $2 las $3. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => "Las suandantas datas vegnan ord il cache e n'èn eventualmain betg cumplettamain actualas. Maximalmain {{PLURAL:$1|in resultat è disponibel|$1 resultats èn disponibels}} en il cache.",
+'perfcachedts' => 'Las suandantas datas derivan dal cache, ultima actualisaziun ils $2 las $3. Maximalmain {{PLURAL:$4|in resultat è disponibel|$4 resultats èn disponibels}} en il cache.',
 'querypage-no-updates' => 'Las actualisaziuns da questa pagina èn deactivadas. 
 Las datas qua vegnan da preschent betg actualisadas.',
 'wrong_wfQuery_params' => 'Parameters fauss per wfQuery()<br />
 Funcziun: $1<br />
 Query: $2',
 'viewsource' => 'Mussar il code da fontauna',
+'viewsource-title' => 'Vesair il code da funtauna da $1',
 'actionthrottled' => 'Acziun limitada',
 'actionthrottledtext' => 'Sco mesira cunter spam na pos ti betg exequir questa acziun memia bleras giadas en curt temp. Ti has surpassà questa limita. 
 Emprova danovamain en in per minutas.',
@@ -581,6 +582,10 @@ Pled-clav temporar: $2",
 
 # Special:ChangeEmail
 'changeemail' => "Midar l'adressa dad e-mail",
+'changeemail-no-info' => "Ti stos t'annunziar per acceder directamain questa pagina.",
+'changeemail-newemail' => ' Nova adressa dad e-mail',
+'changeemail-none' => '(nagina)',
+'changeemail-cancel' => 'Interrumper',
 
 # Edit page toolbar
 'bold_sample' => 'Text grass',
@@ -933,7 +938,7 @@ Fa stim che navigar cun agid da las coalliziuns reinizialisescha tia tscherna.',
 'mergelogpagetext' => "Sutvart è ina glista da las ultimas cronologias ch'èn vegnidas unidas cun autras.",
 
 # Diffs
-'history-title' => 'Cronica da versiuns da "$1"',
+'history-title' => '$1: Cronologia da las versiuns',
 'difference-multipage' => '(Differenzas tranter las paginas)',
 'lineno' => 'Lingia $1:',
 'compareselectedversions' => 'cumparegliar las versiuns selecziunadas',
@@ -1031,7 +1036,7 @@ Considerescha che lur index da {{SITENAME}} po cuntegnair datas ch'èn betg pli
 'prefs-rc' => 'Ultimas midadas',
 'prefs-watchlist' => "Glista d'observaziun",
 'prefs-watchlist-days' => "Dumber dals dis che vegnan inditgads sin la glista d'observaziun:",
-'prefs-watchlist-days-max' => 'Maximum $1 {{PLURAL:$1|day|days}}',
+'prefs-watchlist-days-max' => 'Maximalmain $1 {{PLURAL:$1|di|dis}}',
 'prefs-watchlist-edits' => 'Dumber da las midadas mussadas en la glista dad observaziun extendida:',
 'prefs-watchlist-edits-max' => 'Dumber maximal: 1000',
 'prefs-watchlist-token' => "Token da la glista d'observaziun",
@@ -1105,6 +1110,8 @@ Questa infurmaziun è publica.',
 'email' => 'E-mail',
 'prefs-help-realname' => "Opziun: Qua pos inditgar in surnum che vegn inditga empè da tes num d'utilisader en tias suttascripziuns cun '''<nowiki>--~~~~</nowiki>'''.",
 'prefs-help-email' => "L'adressa dad e-mail è opziunala, pussibilitescha dentant da trametter in nov pled-clav en cass da sperdita.",
+'prefs-help-email-others' => 'Ti pos era decider che auters ta pon contactar per e-mail entras in link sin tia pagina da discussion.
+Tia adressa dad e-mail na vegn betg mussada sche auters utilisaders ta contacteschan.',
 'prefs-help-email-required' => "Inditgar in'adressa dad e-mail è obligatoric.",
 'prefs-info' => 'Infurmaziuns da basa',
 'prefs-i18n' => 'Internaziunalisaziun',
@@ -1130,7 +1137,7 @@ Questa infurmaziun è publica.',
 'userrights-lookup-user' => "Administrar gruppas d'utilisaders",
 'userrights-user-editname' => "Inditgescha in num d'utilisader:",
 'editusergroup' => "Modifitgar las gruppas d'utilisaders",
-'editinguser' => "Midar ils dretgs da l'utilisader '''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])",
+'editinguser' => "Midar ils dretgs da l'utilisader '''[[User:$1|$1]]''' $2",
 'userrights-editusergroup' => "Modifitgar las gruppas d'utilisaders",
 'saveusergroups' => "Memorisar questas gruppas d'utilisaders",
 'userrights-groupsmember' => 'Commember da:',
@@ -1143,7 +1150,7 @@ Questa infurmaziun è publica.',
 'userrights-no-interwiki' => "Ti n'has betg la permissiun da midar dretgs d'utilisaders sin autras wikis.",
 'userrights-nodatabase' => "La banca da datas $1 n'exista betg u n'è betg locala.",
 'userrights-nologin' => "Ti stos [[Special:UserLogin|t'annunziar]] cun in conto d'aministratur per modifitgar ils dretgs d'utilisader.",
-'userrights-notallowed' => "Tes conto d'utilisader n'ha betg la permissiun dad agiuntar dretgs d'utilisaders.",
+'userrights-notallowed' => "Tes conto d'utilisader n'ha betg la permissiun dad agiuntar u allontanar dretgs d'utilisaders.",
 'userrights-changeable-col' => 'Gruppas che ti pos modifitgar',
 'userrights-unchangeable-col' => 'Gruppas che ti nas pos betg modifitgar',
 
@@ -1154,15 +1161,15 @@ Questa infurmaziun è publica.',
 'group-bot' => 'Bots',
 'group-sysop' => 'Administraturs',
 'group-bureaucrat' => 'Birocrat',
-'group-suppress' => 'Oversights',
+'group-suppress' => 'Supervisurs',
 'group-all' => '(tuts)',
 
-'group-user-member' => 'Utilisader',
-'group-autoconfirmed-member' => 'Utilisader confermà automaticamain',
-'group-bot-member' => 'Bot',
-'group-sysop-member' => 'Administratur',
-'group-bureaucrat-member' => 'Birocrat',
-'group-suppress-member' => 'Oversight',
+'group-user-member' => '{{GENDER:$1|utilisader|utilisadra|utilisader}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|utilisader confermà automaticamain|utilisadra confermada automaticamain|utilisader confermà automaticamain}}',
+'group-bot-member' => '{{GENDER:$1|bot}}',
+'group-sysop-member' => '{{GENDER:$1|administratur|administratura|administratur}}',
+'group-bureaucrat-member' => '{{GENDER:$1|birocrat|birocrata|birocrat}}',
+'group-suppress-member' => '{{GENDER:$1|supervisur|supervisura|supervisur}}',
 
 'grouppage-user' => '{{ns:project}}:Utilisaders',
 'grouppage-autoconfirmed' => '{{ns:project}}:Utilisaders confermads automaticamain',
@@ -1275,7 +1282,7 @@ Questa infurmaziun è publica.',
 'nchanges' => '$1 {{PLURAL:$1|midada|midadas}}',
 'recentchanges' => 'Ultimas midadas',
 'recentchanges-legend' => 'Opziuns per las ultimas midadas',
-'recentchangestext' => "Sin questa pagina pos ti suandar las ultimas midadas sin '''{{SITENAME}}'''.",
+'recentchanges-summary' => "Sin questa pagina pos ti suandar las ultimas midadas sin '''{{SITENAME}}'''.",
 'recentchanges-feed-description' => 'Suonda las ultimas midadas en la wiki cun quet feed.',
 'recentchanges-label-newpage' => 'Questa modificaziun ha creà ina nova pagina',
 'recentchanges-label-minor' => 'Quai è ina pitschna modificaziun',
@@ -1423,17 +1430,51 @@ Controllescha per plaschair l'opziun <code>file_uploads</code>.",
 'upload-description' => 'Descripziun da la datoteca',
 'upload-options' => 'Opziuns per chargiar si',
 'watchthisupload' => 'Observar questa datoteca',
+'upload-success-subj' => 'Transferì cun success',
+'upload-success-msg' => 'Tes transfer da [$2] è stà cun success. La datoteca è disponibla qua: [[:{{ns:file}}:$1]]',
+'upload-failure-subj' => 'Probelm cun transferir',
+'upload-failure-msg' => 'I è capitada ina errur durant transferir da [$2]:
+$1',
+'upload-warning-subj' => 'Avertiment da transferir',
+'upload-warning-msg' => 'Ina errur è capitada cun tes transfer da [$2]. Ti pos returnar al [[Special:Upload/stash/$1|formular per transferir]] per curreger quest problem.',
 
 'upload-proto-error' => 'Protocol nuncorrect',
+'upload-proto-error-text' => 'Il transfer da servers externs basegna URLs che cumenzan cun <code>http://</code> u <code>ftp://</code>.',
+'upload-file-error' => 'Errur interna',
+'upload-file-error-text' => 'Ina errur interna è capitada durant empruvar da crear ina datoteca temporara sin il server. 
+Contactescha per plaschair in [[Special:ListUsers/sysop|administratur]].',
+'upload-misc-error' => 'Errur da transferir nunenconuschenta',
+'upload-misc-error-text' => "Ina errur nunenconuschenta è capitada durant transferir. 
+Controllescha per plaschair che l'URL è valida ed accessibla ed emprova anc ina giada.
+Sch'il problem exista anc adina, contactescha in [[Special:ListUsers/sysop|administratur]].",
 'upload-too-many-redirects' => 'La URL ha cuntegnì memia blers renviaments',
 'upload-unknown-size' => 'Grondezza nunenconuschenta',
 'upload-http-error' => 'In sbagl da HTTP è capità: $1',
 
+# File backend
+'backend-fail-stream' => 'Impussibel da leger la datoteca $1.',
+'backend-fail-backup' => 'Impussibel da far ina copia da segirezza da $1.',
+'backend-fail-notexists' => "La datoteca $1 n'exista betg.",
+'backend-fail-hashes' => "Impussibel d'obtenir ils hashs da las datotecas per las cumparegliar.",
+'backend-fail-notsame' => 'Ina datoteca betg identica exista gia sin $1.',
+'backend-fail-invalidpath' => "$1 n'è betg in percus valida per memorisar.",
+'backend-fail-delete' => 'Impussibel da stizzar la datoteca $1.',
+'backend-fail-alreadyexists' => 'La datoteca $1 exista gia.',
+'backend-fail-store' => 'Impussibel da memorisar la datoteca $1 en $2.',
+'backend-fail-copy' => 'Impussibel da copiar la datoteca $1 a $2.',
+'backend-fail-move' => 'Impussibel da spustar la datoteca $1 a $2.',
+'backend-fail-opentemp' => 'Impussibel dad avrir la datoteca temporara.',
+'backend-fail-writetemp' => 'Impussibel da scriver en la datoteca temporara.',
+'backend-fail-closetemp' => 'Impussibel da serrar la datoteca temporara.',
+'backend-fail-read' => 'Impussibel da leger la datoteca $1.',
+'backend-fail-create' => 'Impussibel da crear la datoteca $1.',
+'backend-fail-readonly' => 'Il backend "$1" da memorisar è actualmain en il modus da be leger. Il motiv inditgà è: "$2".',
+
 # img_auth script messages
 'img-auth-accessdenied' => "Refusà l'access",
 'img-auth-nopathinfo' => "PATH_INFO manca.
 Tes server n'è betg configurà per surdar questa infurmaziun.
-I basa forsa sin CGI è na sustegna betg img_auth.
+El basa forsa sin CGI è na sustegna betg img_auth.
 Consultescha https://www.mediawiki.org/wiki/Manual:Image_Authorization.",
 'img-auth-nologinnWL' => 'Ti n\'ès betg t\'annunzia ed "$1" n\'è betg sin la glista alva.',
 'img-auth-nofile' => 'Datoteca "$1" n\'exista betg.',
@@ -1583,7 +1624,7 @@ Betg emblida da controllar sche autras colliaziuns mainan als models avant ch'al
 'statistics-users-active-desc' => "Utilisaders che han fatg almain ina acziun {{PLURAL:$1|l'ultim di|ils ultims $1 dis}}",
 'statistics-mostpopular' => 'Paginas visitadas il pli savens',
 
-'disambiguations' => 'Paginas per la decleraziun da noziuns',
+'disambiguations' => 'Paginas cun colliaziuns sin paginas per la decleraziun da noziuns',
 'disambiguationspage' => 'Template:disambiguiziun',
 
 'doubleredirects' => 'Renviaments dubels',
@@ -1664,7 +1705,7 @@ I renviescha uss a [[$2]].',
 'booksources-go' => 'Leger',
 
 # Special:Log
-'specialloguserlabel' => 'Utilisader:',
+'specialloguserlabel' => 'Acziun exequida da:',
 'speciallogtitlelabel' => 'Titel:',
 'log' => 'logs / cudesch da navigaziun',
 'all-logs-page' => 'Tut ils logs publics',
@@ -1694,7 +1735,7 @@ I renviescha uss a [[$2]].',
 'sp-deletedcontributions-contribs' => 'contribuziuns',
 
 # Special:LinkSearch
-'linksearch' => 'Colliaziuns externas',
+'linksearch' => 'Tschertgar colliaziuns externas',
 'linksearch-pat' => 'Muster da tschertgar:',
 'linksearch-ns' => 'Tip da pagina:',
 'linksearch-ok' => 'Tschertgar',
@@ -2223,7 +2264,7 @@ En quests cas as ti da spustar u colliar manualmain las paginas, sche giavischà
 
 L\'artitgel da destinaziun "[[:$1]]" exista gia. Vul ti stizzar el per far plaz per spustar?',
 'delete_and_move_confirm' => 'Gea, stizzar il artitgel da destinaziun per spustar',
-'delete_and_move_reason' => 'Stizzà per far plaz per spustar',
+'delete_and_move_reason' => 'Stizzà per far plaz per spustar da "[[$1]]"',
 'selfmove' => 'Il num da funtauna e destinaziun èn identics; 
 betg pussaivel da spustar ina pagina en il medem lieu.',
 'immobile-source-namespace' => 'Paginas dal tip da pagina "$1" na pon betg vegnir spustadas',
@@ -2254,9 +2295,11 @@ Quel po vegnir importà en ina autra wiki che sa basa sin MediaWiki cun agid da
 Endatescha en il champ sutvart tut ils artitgels che ti vuls exportar, per mintga artitgel ina nova lingia, ed inditgescha era sche ti vuls includer l'entira cronologia u be la versiun actuala. 
 
 En cas che ti vul be exportar l'ultima versiun pos ti era utilisar in link, p.ex. [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] per la pagina \"[[{{MediaWiki:Mainpage}}]]\".",
+'exportall' => 'Exportar tut las paginas',
 'exportcuronly' => "Exportar be la versiun actuala, betg l'entira cronologia",
 'exportnohistory' => "----
 '''Remartga:''' La funcziun dad exportar l'entira cronologia en questa furma è deactivada ord motivs da prestaziun.",
+'exportlistauthors' => 'Integrar ina glista cumpletta dals contribuents a mintga pagina',
 'export-submit' => 'Exportar',
 'export-addcattext' => 'Agiuntar paginas da la categoria:',
 'export-addcat' => 'Agiuntar',
@@ -2289,6 +2332,8 @@ Fai ina visita sin [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation
 'thumbnail_error' => 'Sbagl cun crear il maletg da prevista: $1',
 'djvu_page_error' => 'Pagina da DjVu è ordaifer la limita',
 'djvu_no_xml' => "Betg pussaivel da retschaiver l'XML per la datoteca da DjVu",
+'thumbnail-temp-create' => 'Impussibel da crear in maletg da prevista temporar',
+'thumbnail-dest-create' => 'Impussibel da memorisar il maletg da prevista a la destinaziun',
 'thumbnail_invalid_params' => 'Parameters nunvalids dal maletg da prevista',
 'thumbnail_dest_directory' => "Betg pussaivel da crear l'ordinatur da destinaziun.",
 'thumbnail_image-type' => 'Quest tip da maletg na vegn betg sustegnì',
@@ -2337,6 +2382,11 @@ In ordinatur temporar manca.",
 'import-token-mismatch' => 'Perdita da datas da la sesida.
 Emprova danovamain.',
 'import-invalid-interwiki' => 'Betg pussaivel dad importar dal wiki inditgà.',
+'import-error-edit' => 'La pagina "$1" n\'è betg vegnida importada perquai che ti na dastgas betg la modifitgar.',
+'import-error-create' => 'La pagina "$1" n\'è betg vegnida importada perquai che ti na la dastgas betg crear.',
+'import-error-interwiki' => 'La pagina "$1" n\'è betg vegnida importada perquai ch\'il num è reservà per colliaziuns externas (interwiki).',
+'import-error-special' => 'La pagina "$1" n\'è betg vegnida importada perquai ch\'ella fa part dad in tip da pagina spezial che na lubescha naginas pagina.',
+'import-error-invalid' => 'La pagina "$1" n\'è betg vegnida importada perquai ch\'il num n\'è betg valid.',
 
 # Import log
 'importlogpage' => 'Log dals imports',
@@ -2346,6 +2396,16 @@ Emprova danovamain.',
 'import-logentry-interwiki' => 'ha importà $1 (transwiki)',
 'import-logentry-interwiki-detail' => '{{PLURAL:$1|Ina versiun|$1 versiuns}} da $2',
 
+# JavaScriptTest
+'javascripttest' => 'Test da JavaScript',
+'javascripttest-disabled' => 'Questa funcziun è deactivada.',
+'javascripttest-title' => 'Exequir tests da $1',
+'javascripttest-pagetext-noframework' => 'Questa pagina è reservada per exequir tests da JavaScript.',
+'javascripttest-pagetext-unknownframework' => 'Framework da test nunenconuschent "$1".',
+'javascripttest-pagetext-frameworks' => 'Tscherna per plaschair in dals suandantas frameworks da test: $1',
+'javascripttest-pagetext-skins' => 'Tscherna in skin che duai vegnir utilisà per ils tests:',
+'javascripttest-qunit-intro' => 'Legia la [$1 documentaziun da tests] sin mediawiki.org.',
+
 # Tooltip help for the actions
 'tooltip-pt-userpage' => "Mussar tia pagina d'utilisader",
 'tooltip-pt-anonuserpage' => "La pagina d'utilisader per l'adressa IP cun la quala che ti fas modificaziuns",
@@ -2408,6 +2468,8 @@ Ti pos vesair il code-fundamental.',
 'tooltip-diff' => 'Mussar las midadas che ti has fatg en il text.',
 'tooltip-compareselectedversions' => 'Mussar la differenza tranter las duas versiuns selecziunadas da questa pagina.',
 'tooltip-watch' => "Agiuntar questa pagina a tia pagina d'observaziun",
+'tooltip-watchlistedit-normal-submit' => 'Allontanar las endataziuns tschernidas',
+'tooltip-watchlistedit-raw-submit' => "Actualisar la glista d'observaziun",
 'tooltip-recreate' => "Crear danovamain la pagnina, malgrà ch'ella è vegnida stizzada",
 'tooltip-upload' => 'Cumenzar da chargiar si',
 'tooltip-rollback' => "Revochescha tut las modificaziuns vid questa pagina da l'ultim utilisader cun be in clic.",
@@ -2503,7 +2565,7 @@ Cun exequir questa datoteca po tes sistem vegnir donnegià.",
 'svg-long-desc' => 'datoteca da SVG, grondezza da basa $1 × $2 pixels, grondezza da datoteca: $3',
 'show-big-image' => 'Resoluziun cumplaina',
 'show-big-image-preview' => 'Grondezza da questa prevista: $1.',
-'show-big-image-other' => 'Autras resoluziuns: $1.',
+'show-big-image-other' => 'Other {{PLURAL:$2|resoluziun|resoluziuns}}: $1.',
 'show-big-image-size' => '$1 × $2 pixels',
 'file-info-gif-looped' => 'marscha infinit',
 'file-info-gif-frames' => '$1 {{PLURAL:$1|maletg|maletgs}}',
@@ -2523,6 +2585,13 @@ Cun exequir questa datoteca po tes sistem vegnir donnegià.",
 'bydate' => 'tenor data',
 'sp-newimages-showfrom' => 'Las novas datotecas davent dal $1 las $2 vegnan mussadas.',
 
+# Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'seconds' => '{{PLURAL:$1|$1 secunda|$1 secundas}}',
+'minutes' => '{{PLURAL:$1|$1 minuta|$1 minutas}}',
+'hours' => '{{PLURAL:$1|$1 ura|$1 uras}}',
+'days' => '{{PLURAL:$1|$1 di|$1 dis}}',
+'ago' => 'avant $1',
+
 # Bad image list
 'bad_image_list' => "Il format è sco suonda:
 
@@ -2744,9 +2813,9 @@ Sche la datoteca è vegnida midada dal status original èn tscherts detagls even
 'exif-orientation-3' => 'Rotà per 180°',
 'exif-orientation-4' => 'Reflectà verticalmain',
 'exif-orientation-5' => "Rotà 90° en senn cuntrari a l'ura e reflectà verticalmain",
-'exif-orientation-6' => "Rotà 90° en senn da l'ura",
+'exif-orientation-6' => "Rotà 90° en senn cuntrari a l'ura",
 'exif-orientation-7' => "Rotà 90° en senn da l'ura e reflectà verticalmain",
-'exif-orientation-8' => "Rotà 90° en senn cuntrari a l'ura",
+'exif-orientation-8' => "Rotà 90° en senn da l'ura",
 
 'exif-planarconfiguration-1' => 'Format grop (chunky)',
 'exif-planarconfiguration-2' => 'Format planar',
@@ -3178,6 +3247,9 @@ Endatescha il num da datoteca senza il prefix "{{ns:file}}:".',
 'compare-rev1' => 'Versiun 1',
 'compare-rev2' => 'Versiun 2',
 'compare-submit' => 'Cumparegliar',
+'compare-invalid-title' => 'Il titel che ti has spezifitgà è nunvalid.',
+'compare-title-not-exists' => "Il titel che ti has inditgà n'exista betg.",
+'compare-revision-not-exists' => "La versiun che ti has inditgà n'exista betg.",
 
 # Database error messages
 'dberr-header' => 'Questa wiki ha in problem',
@@ -3206,6 +3278,60 @@ Questa pagina ha actualmain difficultads tecnicas.',
 'sqlite-no-fts' => '$1 senza sustegn per la retschertga da text integrala',
 
 # New logging system
+'logentry-delete-delete' => '$1 ha stizzà la pagina $3',
+'logentry-delete-restore' => '$1 ha restaurà la pagina $3',
 'newuserlog-byemail' => 'tramess il pled-clav per e-mail',
 
+# Feedback
+'feedback-subject' => 'Object:',
+'feedback-message' => 'Messadi:',
+'feedback-cancel' => 'Interrumper',
+'feedback-submit' => 'Trametter il resun',
+'feedback-adding' => 'Agiuntar il resun a la pagina…',
+'feedback-error1' => 'Errur: Resultat nunenconuschent dal API',
+'feedback-error2' => "Errur: La modificaziun n'è betg reussida",
+'feedback-error3' => 'Errur: Nagina resposta dal API',
+'feedback-thanks' => 'Grazia! Tes resun è vegnì publitgà sin la pagina "[$2 $1]".',
+'feedback-close' => 'Terminà',
+'feedback-bugcheck' => "Grondius! Controllescha simplamain che quai n'è betg gia in da las [$1 errurs enconuschentas].",
+'feedback-bugnew' => 'Jau hai controllà. Rapportar ina nova errur.',
+
+# API errors
+'api-error-badaccess-groups' => 'Ti na dastgas betg chargiar datotecas en quest wiki.',
+'api-error-badtoken' => 'Errur interna: Token fauss.',
+'api-error-copyuploaddisabled' => 'La funcziun da transferir dad ina URL è deactivada sin quest server.',
+'api-error-duplicate' => 'I dat gia {{PLURAL:$1|ina [$2 autra datoteca]|[$2 autras datotecas]}} cun il medem cuntegn.',
+'api-error-duplicate-archive' => 'I deva gia {{PLURAL:$1|ina [$2 autra datoteca]|[$2 autras datotecas]}} cun il medem cuntegn, {{PLURAL:$1|quella è dentant vegnida stizzada|quellas èn dentant vegnidas stizzadas}}.',
+'api-error-duplicate-archive-popup-title' => "{{PLURAL:$1|Datoteca dubla ch'è gia vegnida stizzada|Datotecas dublas ch'èn gia vegnidas stizzadas}}.",
+'api-error-duplicate-popup-title' => '{{PLURAL:$1|Datoteca dubla|Datotecas dublas}}.',
+'api-error-empty-file' => 'La datoteca tramessa è vida.',
+'api-error-emptypage' => "Crear paginas novas e vidas n'è betg lubì.",
+'api-error-fetchfileerror' => "Errur interna: Insatge n'ha betg funcziunà durant retschaiver la datoteca.",
+'api-error-file-too-large' => 'La datoteca che ti has tramess era memia gronda.',
+'api-error-filename-tooshort' => 'Il num da datoteca è memia curt.',
+'api-error-filetype-banned' => 'Quest tip da datoteca è scumandà.',
+'api-error-filetype-missing' => "Il num da datoteca n'ha betg ina finiziun da datoteca.",
+'api-error-hookaborted' => 'La midada che ti has empruvà da far è vegnida interrutta dad ina extensiun.',
+'api-error-http' => 'Errur interna: Betg pussaivel da connectar cun il server.',
+'api-error-illegal-filename' => "Il num da datoteca n'è betg lubì.",
+'api-error-internal-error' => "Errur interna: Insatge n'ha betg funcziunà durant transmetter tia datoteca en la vichi.",
+'api-error-invalid-file-key' => "Errur interna: La datoteca n'è betg vegnida chattada en la memoria temporara.",
+'api-error-missingparam' => 'Errur interna: Parameters da la dumonda manchants.',
+'api-error-missingresult' => "Errur interna: I na pudeva betg vegnir constatà sch'il process da copiar è reussì.",
+'api-error-mustbeloggedin' => "Ti stos esser t'annunzià per pudair transferir datotecas.",
+'api-error-mustbeposted' => 'Errur interna: La dumonda basegna HTTP POST.',
+'api-error-noimageinfo' => "La datoteca è vegnida transferida cun success, ma il server n'ha returnà naginas infurmaziuns davart la datoteca.",
+'api-error-nomodule' => 'Errur interna: Nagin modul per chargiar si è definì.',
+'api-error-ok-but-empty' => 'Errur interna: Nagina resposta dal server.',
+'api-error-overwrite' => "Recuvrir (surscriver) ina daoteca existenta n'è betg lubì.",
+'api-error-stashfailed' => 'Errur interna: Errur cun memorisar la datoteca temporara.',
+'api-error-timeout' => "Il server n'ha betg respundì entaifer il temp spetgà.",
+'api-error-unclassified' => 'Ina errur nunenconuschenta è capitada.',
+'api-error-unknown-code' => 'Errur nunenconuschenta: "$1"',
+'api-error-unknown-error' => "Errur interna: Insatge n'ha betg funcziunà durant transferir tia datoteca.",
+'api-error-unknown-warning' => 'Avertiment nunenconuschent: "$1".',
+'api-error-unknownerror' => 'Errur nunenconuschenta: "$1".',
+'api-error-uploaddisabled' => 'La funcziun da chargiar datotecas sin quest vichi è deactivada.',
+'api-error-verification-error' => 'Questa datoteca pudess esser corrupta ni avair ina extensiun faussa.',
+
 );
index 5382fee..4add177 100644 (file)
@@ -146,6 +146,7 @@ $magicWords = array(
        'contentlanguage'         => array( '1', 'LIMBACONTINUT', 'CONTENTLANGUAGE', 'CONTENTLANG' ),
        'pagesinnamespace'        => array( '1', 'PANIGIINSPATIULDENUME:', 'PAGINIINSN:', 'PAGESINNAMESPACE:', 'PAGESINNS:' ),
        'numberofadmins'          => array( '1', 'NUMARADMINI', 'NUMBEROFADMINS' ),
+       'formatnum'               => array( '0', 'FORMATNR', 'FORMATNUM' ),
        'defaultsort'             => array( '1', 'SORTAREIMPLICITA:', 'CHEIESORTAREIMPLICITA:', 'CATEGORIESORTAREIMPLICITA:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ),
        'filepath'                => array( '0', 'CALEAFISIERULUI:', 'FILEPATH:' ),
        'tag'                     => array( '0', 'eticheta', 'tag' ),
@@ -1258,9 +1259,9 @@ Folosirea linkurilor de navigare va reseta această coloană.',
 'mergelogpagetext' => 'Mai jos este o listă a celor mai recente combinări ale istoricului unei pagini cu al alteia.',
 
 # Diffs
-'history-title' => 'Istoricul versiunilor pentru „$1”',
-'difference-title' => 'Diferență între versiunile paginii „$1”',
-'difference-title-multipage' => 'Diferență între paginile „$1” și „$2”',
+'history-title' => '$1: Istoricul versiunilor',
+'difference-title' => '$1: Diferență între versiuni',
+'difference-title-multipage' => '$1 și $2: Diferență între pagini',
 'difference-multipage' => '(Diferență între pagini)',
 'lineno' => 'Linia $1:',
 'compareselectedversions' => 'Compară versiunile marcate',
@@ -1356,6 +1357,7 @@ Folosirea linkurilor de navigare va reseta această coloană.',
 'prefs-beta' => 'Opțiuni beta',
 'prefs-datetime' => 'Data și ora',
 'prefs-labs' => 'Opțiuni „labs”',
+'prefs-user-pages' => 'Pagini de utilizator',
 'prefs-personal' => 'Informații personale',
 'prefs-rc' => 'Schimbări recente',
 'prefs-watchlist' => 'Listă de urmărire',
@@ -1619,7 +1621,7 @@ Dacă decideți furnizarea sa, acesta va fi folosit pentru a vă atribui munca.'
 'nchanges' => '$1 {{PLURAL:$1|modificare|modificări|de modificări}}',
 'recentchanges' => 'Schimbări recente',
 'recentchanges-legend' => 'Opțiuni schimbări recente',
-'recentchangestext' => 'Urmăriți în această pagină cele mai recente modificări de pe site.',
+'recentchanges-summary' => 'Schimbări recente ... (Log)',
 'recentchanges-feed-description' => 'Urmărește cele mai recente schimbări folosind acest flux.',
 'recentchanges-label-newpage' => 'Această modificare a creat o pagină nouă',
 'recentchanges-label-minor' => 'Aceasta este o modificare minoră',
@@ -1813,9 +1815,10 @@ Dacă problema persistă, contactați un [[Special:ListUsers/sysop|administrator
 'backend-fail-writetemp' => 'Imposibil de scris în fișierul temporar.',
 'backend-fail-closetemp' => 'Imposibil de închis fișierul temporar.',
 'backend-fail-read' => 'Imposibil de citit fișierul $1.',
-'backend-fail-create' => 'Imposibil de creat fișierul $1.',
-'backend-fail-maxsize' => 'Nu s-a putut crea fișierul $1 pentru că acesta este mai mare de {{PLURAL:$2|un octet|$2 octeți|$2 de octeți}}.',
+'backend-fail-create' => 'Imposibil de scris fișierul $1.',
+'backend-fail-maxsize' => 'Nu s-a putut scrie fișierul $1 pentru că acesta este mai mare de {{PLURAL:$2|un octet|$2 octeți|$2 de octeți}}.',
 'backend-fail-contenttype' => 'Nu s-a putut determina tipul de conținut al fișierului de stocat la „$1”.',
+'backend-fail-usable' => 'Imposibil de scris fișierul $1 din cauza permisiunilor insuficiente sau din cauza directoarelor/containerelor lipsă.',
 
 # Lock manager
 'lockmanager-notlocked' => 'Imposibil de deblocat „$1”; nu este blocată.',
@@ -1874,7 +1877,6 @@ Pentru securitate optimă, img_auth.php este dezactivat.',
 'http-curl-error' => 'Eroare la preluarea adresei URL: $1',
 'http-host-unreachable' => 'Adresa URL nu a putut fi accesată.',
 'http-bad-status' => 'A apărut o problemă în timpul solicitării HTTP: $1 $2',
-'http-truncated-body' => 'Corpul cererii a fost recepționat doar parțial.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Nu pot găsi adresa URL',
@@ -3828,11 +3830,11 @@ Imaginile sunt afișate la rezoluția lor maximă, în timp ce alte tipuri de fi
 # Database error messages
 'dberr-header' => 'Acest site are o problemă',
 'dberr-problems' => 'Ne cerem scuze! Acest site întâmpină dificultăți tehnice.',
-'dberr-again' => 'Așteaptă câteva minute și încearcă din nou.',
+'dberr-again' => 'Așteptați câteva minute și încercați din nou.',
 'dberr-info' => '(Nu pot contacta baza de date a serverului: $1)',
-'dberr-usegoogle' => 'Între timp poți efectua căutarea folosind Google.',
-'dberr-outofdate' => 'De reținut ca indexarea conținutului nostru de către ei poate să nu fie actualizată.',
-'dberr-cachederror' => 'Următoarea pagină este o copie în cache a paginii cerute, s-ar putea să nu fie actualizată.',
+'dberr-usegoogle' => 'Între timp puteți efectua căutarea folosind Google.',
+'dberr-outofdate' => 'De reținut că indexarea conținutului nostru de către ei poate să nu fie actualizată.',
+'dberr-cachederror' => 'Următoarea pagină este o copie în cache a paginii cerute, care s-ar putea să nu fie actualizată.',
 
 # HTML forms
 'htmlform-invalid-input' => 'Există probleme la valorile introduse',
index a340fad..c26c413 100644 (file)
@@ -1009,9 +1009,9 @@ Vide Bbuene ca ausanne le collegaminde de navigazzione sta culonne avène azzera
 'mergelogpagetext' => "Stte stè 'na liste de le cchiù recende scuagghiaminde de le cunde de le vosce jndr'à 'n'otre.",
 
 # Diffs
-'history-title' => 'Liste de le versiune de "$1"',
-'difference-title' => 'Differenze \'mbrà revisiune de "$1"',
-'difference-title-multipage' => 'Differenze \'mbrà le pàggene "$1" e "$2"',
+'history-title' => '$1: Cunde de le revisiune',
+'difference-title' => "$1: Differenze 'mbrà revisiune",
+'difference-title-multipage' => "$1 e $2: Differenze 'mbrà le pàggene",
 'difference-multipage' => "(Differenze 'mbrà le pàggene)",
 'lineno' => 'Linea $1:',
 'compareselectedversions' => 'Combronde le versiune selezionete',
@@ -1109,6 +1109,7 @@ Però fa attenzione purcè l'indice lore sus a {{SITENAME}} ponne condenè pàgg
 'prefs-beta' => 'Funziune de Beta',
 'prefs-datetime' => 'Date e ore',
 'prefs-labs' => 'Funziune de Labs',
+'prefs-user-pages' => "Pàgene de l'utende",
 'prefs-personal' => "Profile de l'utende",
 'prefs-rc' => 'Cangiaminde recende',
 'prefs-watchlist' => 'Pàggene condrollete',
@@ -1375,7 +1376,7 @@ Ce tu 'u mitte, a fatje ca è fatte t'avène ricanusciute.",
 'nchanges' => '$1 {{PLURAL:$1|cangiaminde|cangiaminde}}',
 'recentchanges' => 'Cangiaminde recende',
 'recentchanges-legend' => 'Opzione pe le cangiaminde recende',
-'recentchangestext' => 'Tracce le cchiù recednde cangiaminde de Uicchi sus a sta pàgene.',
+'recentchanges-summary' => 'Tracce le cchiù recednde cangiaminde de Uicchi sus a sta pàgene.',
 'recentchanges-feed-description' => "Tracce le urteme cangiaminde sus 'a sta Uicchipedie jndr'à quiste feed.",
 'recentchanges-label-newpage' => "Stu cangiamende ha ccrejate 'na pàgena nove",
 'recentchanges-label-minor' => "Quiste ète 'nu cangiamende stuèdeche",
@@ -1590,7 +1591,7 @@ Ce 'u probbleme angore jè presende, condatte 'n'[[Special:ListUsers/sysop|ammin
 'backend-fail-writetemp' => 'Non ge pozze scrivere sus a file temboranèe.',
 'backend-fail-closetemp' => 'Non ge pozze achiudere file temboranèe.',
 'backend-fail-read' => "Non ge pozze leggere 'u file $1.",
-'backend-fail-create' => "Non ge pozze ccrejà 'u file $1.",
+'backend-fail-create' => "Non ge pozze scrivere 'u file $1.",
 'backend-fail-readonly' => 'L\'archivije de rete "$1" jè pe stu mumende in sole letture. \'U mutive ha state: "$2"',
 'backend-fail-synced' => "'U file \"\$1\" jè jndr'à 'nu state ingonsistende jndr'à l'archivije inderne",
 'backend-fail-connect' => 'Non ge pozze connettere \'a memorie de rrete "$1".',
@@ -2692,6 +2693,8 @@ Reggistrele sus a 'u combiuter tune e carechele aqquà.",
 'import-invalid-interwiki' => "Non ge pozze 'mbortà da 'a Uicchi specificate.",
 'import-error-edit' => 'Pàgene "$1" non g\' \'mbortate purcé tu non ge tìne le permesse pe cangiarle.',
 'import-error-create' => 'Pàgene "$1" non g\' \'mbortate purcé tu non ge tìne le permesse pe ccrejarle.',
+'import-error-interwiki' => 'Pagene "$1" non g\'ha state \'mbortate purcé \'u nome sue jè riservate pe collegaminde esterne (interuicchi).',
+'import-error-special' => "'A pagena \"\$1\" non g'ha state 'mbortate purcé apponde a 'nu namespace speciale ca non g'è permesse a le pàggene normale.",
 'import-error-invalid' => "'A pàgene \"\$1\" non g'ha state 'mbortate purcé 'u nome jè invalide.",
 
 # Import log
@@ -2709,6 +2712,7 @@ Reggistrele sus a 'u combiuter tune e carechele aqquà.",
 'javascripttest-pagetext-noframework' => 'Sta pàgene jè riservate pe le esecuziune de le test de Javascript.',
 'javascripttest-pagetext-unknownframework' => 'Ambiende de teste scanusciute "$1".',
 'javascripttest-pagetext-frameworks' => 'Pe piacere scacchie une de le seguende ambiende de test: $1',
+'javascripttest-pagetext-skins' => "Scacchie 'n'aspette pe eseguì le test cu:",
 'javascripttest-qunit-intro' => "Vide 'a [$1 documendazione d'u test] sus a mediawiki.org.",
 'javascripttest-qunit-heading' => 'Ambiende de test MediaUicchi JavaScript QUnit',
 
@@ -3891,6 +3895,7 @@ Ce nò, tu puè ausà 'u module facile aqquà sotte. 'U commende tune avène agg
 'api-error-badaccess-groups' => 'Tu non ge puè carecà file sus a sta Uicchi.',
 'api-error-badtoken' => 'Errore inderne: Gettone errate.',
 'api-error-copyuploaddisabled' => "'U carecamende da URL jè disabbilitate sus a stu server.",
+'api-error-duplicate' => "{{PLURAL:$1|Stè [$2 'n'otre file]|Stonne [$2 otre file]}} sus a 'u site cu 'u stesse condenute.",
 'api-error-duplicate-archive-popup-title' => "Dupliche {{PLURAL:$1|'u file ca ha state|le file ca onne state}} scangellate.",
 'api-error-duplicate-popup-title' => 'Dupleche {{PLURAL:$1|file|file}}',
 'api-error-empty-file' => "'U file ca tu è confermate ere vacande.",
index 77ad310..e5563d5 100644 (file)
  * @author გიორგიმელა
  */
 
-/**
- * Изменения сделанные в этом файле будут потеряны при обновлении MediaWiki.
- *
- * Если необходимо внести изменения в перевод отдельных строк интерфейса,
- * сделайте это посредством редактирования страниц вида «MediaWiki:*».
- * Их список можно найти на странице «Special:Allmessages».
- */
-
-$separatorTransformTable = array(
-       ',' => "\xc2\xa0", # nbsp
-       '.' => ','
-);
-
-$fallback8bitEncoding = 'windows-1251';
-$linkPrefixExtension = false;
-
 $namespaceNames = array(
        NS_MEDIA            => 'Медиа',
        NS_SPECIAL          => 'Служебная',
@@ -114,32 +98,88 @@ $namespaceGenderAliases = array(
        NS_USER_TALK => array( 'male' => 'Обсуждение_участника', 'female' => 'Обсуждение_участницы' ),
 );
 
-$dateFormats = array(
-       'mdy time' => 'H:i',
-       'mdy date' => 'xg j, Y',
-       'mdy both' => 'H:i, xg j, Y',
-
-       'dmy time' => 'H:i',
-       'dmy date' => 'j xg Y',
-       'dmy both' => 'H:i, j xg Y',
-
-       'ymd time' => 'H:i',
-       'ymd date' => 'Y xg j',
-       'ymd both' => 'H:i, Y xg j',
-
-       'ISO 8601 time' => 'xnH:xni:xns',
-       'ISO 8601 date' => 'xnY-xnm-xnd',
-       'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni:xns',
-
-);
-
-$bookstoreList = array(
-       'Поиск по библиотекам «Сигла»' => 'http://www.sigla.ru/results.jsp?f=7&t=3&v0=$1',
-       'Findbook.ru' => 'http://findbook.ru/search/d0?ptype=4&pvalue=$1',
-       'Яндекс.Маркет' => 'http://market.yandex.ru/search.xml?text=$1',
-       'ОЗОН' => 'http://www.ozon.ru/?context=advsearch_book&isbn=$1',
-       'Books.Ru' => 'http://www.books.ru/shop/search?query=$1',
-       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
+$specialPageAliases = array(
+       'Activeusers'               => array( 'Активные_участники' ),
+       'Allmessages'               => array( 'Системные_сообщения' ),
+       'Allpages'                  => array( 'Все_страницы' ),
+       'Blankpage'                 => array( 'Пустая_страница' ),
+       'Block'                     => array( 'Заблокировать' ),
+       'Blockme'                   => array( 'Заблокируй_меня' ),
+       'Booksources'               => array( 'Источники_книг' ),
+       'BrokenRedirects'           => array( 'Разорванные_перенаправления' ),
+       'Categories'                => array( 'Категории' ),
+       'ChangeEmail'               => array( 'Сменить_e-mail' ),
+       'ChangePassword'            => array( 'Сменить_пароль' ),
+       'ComparePages'              => array( 'Сравнение_страниц' ),
+       'Confirmemail'              => array( 'Подтвердить_e-mail' ),
+       'Contributions'             => array( 'Вклад' ),
+       'CreateAccount'             => array( 'Создать_учётную_запись', 'Создать_пользователя', 'Зарегистрироваться' ),
+       'Deadendpages'              => array( 'Тупиковые_страницы' ),
+       'DeletedContributions'      => array( 'Удалённый_вклад' ),
+       'Disambiguations'           => array( 'Неоднозначные_ссылки' ),
+       'DoubleRedirects'           => array( 'Двойные_перенаправления' ),
+       'EditWatchlist'             => array( 'Править_список_наблюдения' ),
+       'Emailuser'                 => array( 'Письмо', 'Письмо_участнику', 'Отправить_письмо' ),
+       'Export'                    => array( 'Экспорт', 'Выгрузка' ),
+       'FileDuplicateSearch'       => array( 'Поиск_дубликатов_файлов' ),
+       'Filepath'                  => array( 'Путь_к_файлу' ),
+       'Import'                    => array( 'Импорт' ),
+       'BlockList'                 => array( 'Список_блокировок', 'Блокировки' ),
+       'LinkSearch'                => array( 'Поиск_ссылок' ),
+       'Listadmins'                => array( 'Список_администраторов' ),
+       'Listbots'                  => array( 'Список_ботов' ),
+       'Listfiles'                 => array( 'Список_файлов', 'Список_изображений' ),
+       'Listgrouprights'           => array( 'Список_прав_групп', 'Права_групп_участников' ),
+       'Listredirects'             => array( 'Список_перенаправлений' ),
+       'Listusers'                 => array( 'Список_участников' ),
+       'Lockdb'                    => array( 'Заблокировать_БД', 'Заблокировать_базу_данных' ),
+       'Log'                       => array( 'Журналы', 'Журнал' ),
+       'Lonelypages'               => array( 'Изолированные_страницы' ),
+       'Longpages'                 => array( 'Длинные_страницы' ),
+       'MergeHistory'              => array( 'Объединение_истории' ),
+       'MIMEsearch'                => array( 'Поиск_по_MIME' ),
+       'Mostimages'                => array( 'Самые_используемые_файлы' ),
+       'Movepage'                  => array( 'Переименовать_страницу', 'Переименование', 'Переименовать' ),
+       'Mycontributions'           => array( 'Мой_вклад' ),
+       'Mypage'                    => array( 'Моя_страница' ),
+       'Mytalk'                    => array( 'Моё_обсуждение' ),
+       'Myuploads'                 => array( 'Мои_загрузки' ),
+       'Newimages'                 => array( 'Новые_файлы' ),
+       'Newpages'                  => array( 'Новые_страницы' ),
+       'PasswordReset'             => array( 'Сброс_пароля' ),
+       'PermanentLink'             => array( 'Постоянная_ссылка' ),
+       'Popularpages'              => array( 'Популярные_страницы' ),
+       'Preferences'               => array( 'Настройки' ),
+       'Protectedpages'            => array( 'Защищённые_страницы' ),
+       'Protectedtitles'           => array( 'Защищённые_названия' ),
+       'Randompage'                => array( 'Случаная_страница', 'Случайная' ),
+       'Recentchanges'             => array( 'Свежие_правки' ),
+       'Recentchangeslinked'       => array( 'Связанные_правки' ),
+       'Search'                    => array( 'Поиск' ),
+       'Shortpages'                => array( 'Короткие_страницы' ),
+       'Specialpages'              => array( 'Спецстраницы' ),
+       'Statistics'                => array( 'Статистика' ),
+       'Tags'                      => array( 'Метки' ),
+       'Unblock'                   => array( 'Разблокировка' ),
+       'Uncategorizedcategories'   => array( 'Некатегоризованные_категории' ),
+       'Uncategorizedimages'       => array( 'Некатегоризованные_файлы' ),
+       'Uncategorizedpages'        => array( 'Некатегоризованные_страницы' ),
+       'Uncategorizedtemplates'    => array( 'Некатегоризованные_шаблоны' ),
+       'Unusedcategories'          => array( 'Неиспользуемые_категории' ),
+       'Unusedimages'              => array( 'Неиспользуемые_файлы' ),
+       'Unusedtemplates'           => array( 'Неиспользуемые_шаблоны' ),
+       'Upload'                    => array( 'Загрузка' ),
+       'UploadStash'               => array( 'Скрытная_загрузка' ),
+       'Userlogin'                 => array( 'Вход', 'Авторизация' ),
+       'Userlogout'                => array( 'Выход', 'Завершение_сеанса' ),
+       'Userrights'                => array( 'Управление_правами' ),
+       'Version'                   => array( 'Версия' ),
+       'Wantedcategories'          => array( 'Требуемые_категории' ),
+       'Wantedfiles'               => array( 'Требуемые_файлы' ),
+       'Wantedpages'               => array( 'Требуемые_страницы' ),
+       'Wantedtemplates'           => array( 'Требуемые_шаблоны' ),
+       'Watchlist'                 => array( 'Список_наблюдения' ),
+       'Whatlinkshere'             => array( 'Ссылки_сюда' ),
 );
 
 $magicWords = array(
@@ -293,6 +333,51 @@ $magicWords = array(
        'url_query'               => array( '0', 'ЗАПРОС', 'QUERY' ),
 );
 
+
+$dateFormats = array(
+       'mdy time' => 'H:i',
+       'mdy date' => 'xg j, Y',
+       'mdy both' => 'H:i, xg j, Y',
+
+       'dmy time' => 'H:i',
+       'dmy date' => 'j xg Y',
+       'dmy both' => 'H:i, j xg Y',
+
+       'ymd time' => 'H:i',
+       'ymd date' => 'Y xg j',
+       'ymd both' => 'H:i, Y xg j',
+
+       'ISO 8601 time' => 'xnH:xni:xns',
+       'ISO 8601 date' => 'xnY-xnm-xnd',
+       'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni:xns',
+
+);
+
+$bookstoreList = array(
+       'Поиск по библиотекам «Сигла»' => 'http://www.sigla.ru/results.jsp?f=7&t=3&v0=$1',
+       'Findbook.ru' => 'http://findbook.ru/search/d0?ptype=4&pvalue=$1',
+       'Яндекс.Маркет' => 'http://market.yandex.ru/search.xml?text=$1',
+       'ОЗОН' => 'http://www.ozon.ru/?context=advsearch_book&isbn=$1',
+       'Books.Ru' => 'http://www.books.ru/shop/search?query=$1',
+       'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
+);
+
+/**
+ * Изменения сделанные в этом файле будут потеряны при обновлении MediaWiki.
+ *
+ * Если необходимо внести изменения в перевод отдельных строк интерфейса,
+ * сделайте это посредством редактирования страниц вида «MediaWiki:*».
+ * Их список можно найти на странице «Special:Allmessages».
+ */
+
+$separatorTransformTable = array(
+       ',' => "\xc2\xa0", # nbsp
+       '.' => ','
+);
+
+$fallback8bitEncoding = 'windows-1251';
+$linkPrefixExtension = false;
+
 $imageFiles = array(
        'button-bold'   => 'cyrl/button_bold.png',
        'button-italic' => 'cyrl/button_italic.png',
@@ -347,6 +432,7 @@ $messages = array(
 'tog-ccmeonemails' => 'Отправлять мне копии писем, которые я посылаю другим участникам',
 'tog-diffonly' => 'Не показывать содержание страницы под сравнением двух версий',
 'tog-showhiddencats' => 'Показывать скрытые категории',
+'tog-noconvertlink' => 'Отключить ссылку на преобразование заголовка',
 'tog-norollbackdiff' => 'Не показывать разницу версий после выполнения отката',
 
 'underline-always' => 'Всегда',
@@ -1006,7 +1092,7 @@ $2
 в окне редактирования. Правка была отменена для предотвращения искажения текста статьи.
 Подобные проблемы могут возникать при использовании анонимизирующих веб-прокси, содержащих ошибки.'''",
 'edit_form_incomplete' => "'''Некоторые части формы редактирования не достигли сервера. Внимательно проверьте, что ваши правки не повреждены, и попробуйте ещё раз.'''",
-'editing' => 'Редактирование: $1',
+'editing' => 'Редактирование $1',
 'creating' => 'Создание $1',
 'editingsection' => 'Редактирование: $1 (раздел)',
 'editingcomment' => 'Редактирование $1 (новый раздел)',
@@ -1272,14 +1358,14 @@ $1",
 
 # Diffs
 'history-title' => '$1 — история изменений',
-'difference-title' => 'Разница между пересмотров " $1 "',
+'difference-title' => '$1 — различия между версиями',
 'difference-title-multipage' => 'Разница между страницами «$1» и «$2»',
 'difference-multipage' => '(Различия между страницами)',
 'lineno' => 'Строка $1:',
 'compareselectedversions' => 'Сравнить выбранные версии',
 'showhideselectedversions' => 'Показать/скрыть выбранные версии',
 'editundo' => 'отменить',
-'diff-multi' => '({{PLURAL:$1|не показана $1 промежуточная версия|не показаны $1 промежуточные версии|не показаны $1 промежуточных версий}} {{PLURAL:$2|$2 участника|$2 участников|$2 участников}})',
+'diff-multi' => '({{PLURAL:$1|не показана $1 промежуточная версия|не показаны $1 промежуточные версии|не показаны $1 промежуточных версий}} {{PLURAL:$2|$2 участника|$2 участников}})',
 'diff-multi-manyusers' => '(не {{PLURAL:$1|показана $1 промежуточная версия|показаны $1 промежуточные версии|показаны $1 промежуточных версий}}, сделанные более чем $2 {{PLURAL:$2|участником|участниками}})',
 
 # Search results
@@ -1631,7 +1717,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|изменение|изменения|изменений}}',
 'recentchanges' => 'Свежие правки',
 'recentchanges-legend' => 'Настройки свежих правок',
-'recentchangestext' => 'Ниже в хронологическом порядке перечислены последние изменения на страницах {{grammar:genitive|{{SITENAME}}}}.',
+'recentchanges-summary' => 'Ниже в хронологическом порядке перечислены последние изменения на страницах {{grammar:genitive|{{SITENAME}}}}.',
 'recentchanges-feed-description' => 'Отслеживать последние изменения в вики в этом потоке.',
 'recentchanges-label-newpage' => 'Этой правкой была создана новая страница.',
 'recentchanges-label-minor' => 'Это незначительное изменение',
@@ -1658,7 +1744,7 @@ $1",
 'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|наблюдающий участник|наблюдающих участника|наблюдающих участников}}]',
 'rc_categories' => 'Только из категорий (разделитель «|»)',
 'rc_categories_any' => 'Любой',
-'rc-change-size-new' => 'Размер после изменения: {{PLURAL:$1|байт|байта|байт}}',
+'rc-change-size-new' => 'Размер после изменения: $1 {{PLURAL:$1|байт|байта|байт}}',
 'newsectionsummary' => '/* $1 */ новая тема',
 'rc-enhanced-expand' => 'Показать подробности (используется JavaScript)',
 'rc-enhanced-hide' => 'Скрыть подробности',
@@ -1836,14 +1922,15 @@ $1',
 'backend-fail-writetemp' => 'Не удалось записать во временный файл.',
 'backend-fail-closetemp' => 'Не удаётся закрыть временный файл.',
 'backend-fail-read' => 'Не удалось прочитать файл $1.',
-'backend-fail-create' => 'Не удалось создать файл $1.',
-'backend-fail-maxsize' => 'Не удалось создать файл $1, так как его размер превышает {{PLURAL:$2|$2 байт|$2 байта|$2 байт}}.',
+'backend-fail-create' => 'Не удалось записать файл $1.',
+'backend-fail-maxsize' => 'Не удалось записать файл $1, так как его размер превышает {{PLURAL:$2|$2 байт|$2 байта|$2 байт}}.',
 'backend-fail-readonly' => 'Хранилище «$1» сейчас находится в режиме «только чтение». Причина: «$2»',
 'backend-fail-synced' => 'Файл «$1» находится в несогласованном состоянии во внутреннем хранилище',
 'backend-fail-connect' => 'Не удалось подключиться к хранилищу «$1».',
 'backend-fail-internal' => 'Произошла неизвестная ошибка в хранилище «$1».',
 'backend-fail-contenttype' => 'Не удалось определить тип содержимого файла, чтобы сохранить его в «$1».',
 'backend-fail-batchsize' => 'Хранилище получило блок из $1 {{PLURAL:$1|файловой операции|файловых операций|файловых операций}}, ограничение составляет $2 {{PLURAL:$1|операцию|операции|файловых операций}}.',
+'backend-fail-usable' => 'Не удалось записать файл $1 из-за нехватки прав или отсутствия нужных папок.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Не удалось подключиться к базе данных журнала для хранилища «$1».',
@@ -1906,7 +1993,6 @@ $1',
 'http-curl-error' => 'Ошибка обращения к URL: $1',
 'http-host-unreachable' => 'Невозможно обратиться по указанному URL.',
 'http-bad-status' => 'Во время обработки HTTP-запроса обнаружена проблема: $1 $2',
-'http-truncated-body' => 'Тело запроса было получено лишь частично.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Невозможно обратить по указанному адресу.',
@@ -3034,12 +3120,20 @@ $1',
 'group-bureaucrat.css' => '/* Размещённый здесь CSS будет применяться только для бюрократов */',
 
 # Scripts
-'common.js' => '/* Размещённый здесь JavaScript код будет загружаться всем пользователям при обращении к каждой странице */',
-'standard.js' => '/* Размещённый здесь JavaScript код будет загружаться пользователям использующих тему оформления Standard */',
-'nostalgia.js' => '/* Размещённый здесь JavaScript код будет загружаться пользователям использующих тему оформления Nostalgia */',
-'cologneblue.js' => '/* Размещённый здесь JavaScript код будет загружаться пользователям использующих тему оформления Cologne Blue */',
-'monobook.js' => '/* Размещённый здесь JavaScript код будет загружаться пользователям использующих тему оформления MonoBook */',
-'vector.js' => '/* Указанный здесь JavaScript будет загружен всем участникам, использующим векторную тему оформления  */',
+'common.js' => '/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */',
+'standard.js' => '/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Standard */',
+'nostalgia.js' => '/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Nostalgia */',
+'cologneblue.js' => '/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Cologne Blue */',
+'monobook.js' => '/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления MonoBook */',
+'myskin.js' => '/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления MySkin  */',
+'chick.js' => '/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Chick */',
+'simple.js' => '/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Simple */',
+'modern.js' => '/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Modern */',
+'vector.js' => '/* Размещённый здесь код JavaScript будет загружаться пользователям, использующим тему оформления Vector */',
+'group-autoconfirmed.js' => '/* Размещённый здесь код JavaScript будет загружаться только участникам, имеющим статус автоподтверждённых (autoconfirmed) */',
+'group-bot.js' => '/* Размещённый здесь код JavaScript будет загружаться только участникам, имеющим статус ботов (bots) */',
+'group-sysop.js' => '/* Размещённый здесь код JavaScript будет загружаться только участникам, имеющим статус администраторов (sysops) */',
+'group-bureaucrat.js' => '/* Размещённый здесь код JavaScript будет загружаться только участникам, имеющим статус бюрократов (bureaucrats) */',
 
 # Metadata
 'notacceptable' => "Вики-сервер не может предоставить данные в формате, который мог бы прочитать ваш браузер.<br />
@@ -3783,9 +3877,24 @@ $5
 '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-m1' => 'Тишрей',
 'hebrew-calendar-m2' => 'Хешван',
+'hebrew-calendar-m3' => 'Кислев',
 'hebrew-calendar-m4' => 'Тевет',
 'hebrew-calendar-m5' => 'Шват',
 'hebrew-calendar-m6' => 'Адар',
index bf08c94..21e3b28 100644 (file)
@@ -1326,7 +1326,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|зміна|зміны|змін}}',
 'recentchanges' => 'Послїднї зміны',
 'recentchanges-legend' => 'Можности послїднїх змін',
-'recentchangestext' => 'Слїдуйте послїднї зміны на {{grammar:genitive|{{SITENAME}}}}  на тій сторінцї.',
+'recentchanges-summary' => 'Слїдуйте послїднї зміны на {{grammar:genitive|{{SITENAME}}}}  на тій сторінцї.',
 'recentchanges-feed-description' => 'На тотїм каналу слїдуєте послїднї зміны на {{grammar:6sg|{{SITENAME}}}}.',
 'recentchanges-label-newpage' => 'Тым едітованём была створена нова сторінка',
 'recentchanges-label-minor' => 'Тото є мала зміна',
index 4189aa1..e7f611b 100644 (file)
@@ -1219,7 +1219,7 @@ $2
 'nchanges' => '$1 {{PLURAL:$1|परिवर्तनम्|परिवर्तनानि}}',
 'recentchanges' => 'सद्योजातानि परिवर्तनानि',
 'recentchanges-legend' => 'सद्योजातानां परिवर्तनानां विकल्पाः',
-'recentchangestext' => 'अस्मिन् विकियोजनायां सद्योजातानि परिवर्तनानि दर्श्यन्ताम्',
+'recentchanges-summary' => 'अस्मिन् विकियोजनायां सद्योजातानि परिवर्तनानि दर्श्यन्ताम्',
 'recentchanges-feed-description' => 'अस्मिन् विकियोजनायां सद्योजातानि परिवर्तनानि दर्श्यन्ताम्',
 'recentchanges-label-newpage' => 'एतस्मात् सम्पादनात् नूतनं पृष्ठं सृष्टमस्ति',
 'recentchanges-label-minor' => 'इदं लघु परिवर्तनम्',
index 3c4f9f0..e8c88ce 100644 (file)
@@ -716,7 +716,8 @@ IP-аадырыһа эрэ көстөр.
 'userinvalidcssjstitle' => "'''Болҕой:''' Бу тиэмэ «$1» суох. Кыттааччы .css и .js сирэйдэрэ кыра буукубаннан суруллуохтаахтар, холобур «{{ns:user}}:Ньургун/vector.css», маннык буолуо суохтаах «{{ns:user}}:Ньургун/Vector.css».",
 'updated' => '(Саҥардылынна)',
 'note' => "'''Хос быһаарыы:'''",
-'previewnote' => "'''Бу көрүү эрэ; уларытыылар бигэргэтиллэ иликтэр!'''",
+'previewnote' => "'''Бу барыллаан көрүү эрэ.'''
+Атын уларытыы бигэргэтиллэ илик!",
 'previewconflict' => 'Этот предварительный просмотр отражает текст в верхнем окне редактирования так, как он будет выглядеть, если вы решите записать его.',
 'session_fail_preview' => "'''Сиэрбэр сессия идентификаторын сүтэрэн кэбиһэн эн уларытыыгын кыайан киллэрбэтэ.
 Өссө холонон көр.
@@ -731,6 +732,7 @@ IP-аадырыһа эрэ көстөр.
 Итинник сыыһалар үксүн прокси-сиэрбэрдэри туһаннахха тахсааччылар.'''",
 'edit_form_incomplete' => "'''Уларытыы сорҕото сиэрбэргэ тиийбэтэ. Үчүгэйдик сыныйан көр, Эн уларытыыларыҥ туох да омсото суохтар дуо. Онтон өссө боруобалаа.'''",
 'editing' => 'Уларытыы $1',
+'creating' => 'Айарга $1',
 'editingsection' => 'Уларытыы $1 (раздел)',
 'editingcomment' => 'Уларытыы $1 (саҥа салаа)',
 'editconflict' => 'Уларытыы мөккүөрэ: $1',
@@ -1237,7 +1239,7 @@ $1 {{PLURAL:$1|бэлиэттэн|бэлиэттэн (буукубаттан)}}
 # Rights
 'right-read' => 'Сирэйдэри көрүү',
 'right-edit' => 'Сирэйдэри уларытыы',
-'right-createpage' => 'Сирэйдэри оҥоруу (ырытыы сирэйдэрин кытта холбуу)',
+'right-createpage' => 'Сирэйдэри оҥоруу (ырытыы сирэйдэриттэн ураты)',
 'right-createtalk' => 'Ырытыы сирэйдэрин оҥоруу',
 'right-createaccount' => 'Саҥа кыттааччыны бэлиэтээһин',
 'right-minoredit' => 'Уларытыыны кыра суолталаах курдук бэлиэтээ',
@@ -1343,7 +1345,7 @@ $1 {{PLURAL:$1|бэлиэттэн|бэлиэттэн (буукубаттан)}}
 'nchanges' => '$1 {{PLURAL:$1|уларытыы|уларытыылар}}',
 'recentchanges' => 'Кэнники уларытыылар',
 'recentchanges-legend' => 'Кэлиҥҥи уларытыылар хайдах көстөллөрүн туруоруу',
-'recentchangestext' => 'Манна хаһан оҥоһуллубуттарынан сааһыланан {{SITENAME}} кэнники уларыытыылара көстөллөр.',
+'recentchanges-summary' => 'Манна хаһан оҥоһуллубуттарынан сааһыланан {{SITENAME}} кэнники уларыытыылара көстөллөр.',
 'recentchanges-feed-description' => 'Бу ботуокка биики бүтэһик уларыйыыларын кэтииргэ.',
 'recentchanges-label-newpage' => 'Бу уларытыы түмүгэр саҥа сирэй айыллыбыт.',
 'recentchanges-label-minor' => 'Бу улахан суолтата суох уларытыы',
@@ -1546,7 +1548,7 @@ $1',
 'backend-fail-writetemp' => 'Быстах кэмнээх билэҕэ суруйар табыллыбата.',
 'backend-fail-closetemp' => 'Быстах кэмнээх билэни сабар табыллыбата.',
 'backend-fail-read' => '$1 билэни ааҕар табыллыбата.',
-'backend-fail-create' => '$1 билэни оҥорор табыллыбата.',
+'backend-fail-create' => '$1 билэни суруттарар табыллыбата.',
 'backend-fail-readonly' => '«$1» сиэрбэр «ааҕыы эрэ» эрэсиимҥэ турар. Төрүөтэ: «$2»',
 'backend-fail-synced' => '«$1» билэ сөпсөһүллүбэтэх туруктаах эбит',
 'backend-fail-connect' => 'Маны кытта «$1» холбонор табыллыбата.',
index 9736af9..827374c 100644 (file)
@@ -30,29 +30,49 @@ $messages = array(
 'tog-showtoolbar' => 'Joṛaoakanaḱ ṭulbar udugoḱma',
 'tog-editondblclick' => 'Bar dhao lin kate sakam torjomão reaḱ ạidari emogoḱma',
 'tog-editsection' => '[Joṛao] Pahaṭako do joṛao hotete aćtege hoyoḱ lạgit aidạri em ocoḱma',
+'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-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',
 'tog-previewonfirst' => 'Pạhil joṛao purạore unuduḱ hoyoḱma',
 'tog-nocache' => 'Brajar sakam reaḱ kasiṅ bondoemẽ',
 'tog-enotifwatchlistpages' => 'E-mailạńme one tinre in̕aḱ n̕eloḱ tạlika do bodolok',
 'tog-enotifusertalkpages' => 'E-mailạn̕me one tinre in̕aḱ roṛaḱ laṛcaṛ sakam do bodoloḱa',
 'tog-enotifminoredits' => 'E-mailạn̕me arhõ one tinre in̕aḱ sakamre huḍiń kạmi hoyoḱ',
+'tog-enotifrevealaddr' => 'Dhạrwạk reaḱ sakamre ińaḱ e-mail ṭhikạna sodor hoyoḱma',
 'tog-shownumberswatching' => 'Ńelok laṛcaṛkoaḱ songkha uduḱme',
 'tog-oldsig' => 'Menaḱ signạtar',
+'tog-fancysig' => 'Signạcar do wikiṭesk hisạbte moneyemẽ (jahan acte hoyoḱ joṛao bạgikate)',
+'tog-externaleditor' => 'Etohoṕre bahre reaḱ sompadonićaḱ beohar hoyoḱma (khali sẽṛa beoharić lạgit́te, kompeuṭare asokae seṭing jạruṛa. [//www.mediawiki.org/wiki/manual:External_editors More information.])',
+'tog-externaldiff' => 'Etohoṕre bahre reaḱ sompadonićaḱ beohar hoyoḱma (khali sẽṛa beoharić lạgit́te, kompeuṭare asokae seṭing jạruṛa. [//www.mediawiki.org/wiki/manual:External_editors More information.])',
+'tog-showjumplinks' => '"Calaḱmẽ" beohar joṛao ehop hoyoḱma',
 'tog-uselivepreview' => 'Jewet́ ńeloḱ beoharme (JavaScript jaruṛ menaḱa)',
+'tog-forceeditsummary' => 'Khạli sompadon guṭkatha em oktere iń baḍae ocoyiń hoyoḱma',
 'tog-watchlisthideown' => 'Ńeloḱ talikare ińaḱ joṛao kamiko danaṅme',
+'tog-watchlisthidebots' => 'Boṭreaḱ sompadon kạmiko do ńeloḱ tạlika khon danaṅmẽ',
 'tog-watchlisthideminor' => 'Ńeloḱ tạlikare ińak huḍiṅ joṛao kạmiko danaṅme',
+'tog-watchlisthideliu' => 'Ńeloḱ tạlikareaḱ ekaunṭ bolok beoharkoaḱ sompadon danaṅ hoyoḱma',
+'tog-watchlisthideanons' => 'Ńeloḱ tạlikare baṅ ńutamanić beoharićaḱ sompadonko danaṅ hoyoḱma',
+'tog-watchlisthidepatrolled' => 'Biḍạen sompadonko do ńeloḱ sakamre danaṅmẽ',
 'tog-ccmeonemails' => 'E-mail reaḱ kopy kulạńme Eṭaḱ laṛcaṛko kulakome',
+'tog-diffonly' => 'Farak reaḱ latar sakamre babotko baṅ udugoḱma',
+'tog-showhiddencats' => 'Danaṅ rokom sokomko uduḱmẽ',
+'tog-norollbackdiff' => 'rollback tayomte farak alom uduga',
 
 'underline-always' => 'Sanam okte',
 'underline-never' => 'Tis hõ ban̕',
 'underline-default' => 'Browjarre cetlekate em hoy akana',
 
 # Font style option in Special:Preferences
+'editfont-style' => 'Sompadon ṭhại reaḱ fonṭ sṭayel:',
+'editfont-default' => 'Sendra do sedaere ṭhikakana',
+'editfont-monospace' => 'Monoespeć fonṭ',
+'editfont-sansserif' => 'Sans-serif fonṭ',
 'editfont-serif' => 'Serif fonṭ',
 
 # Dates
@@ -111,36 +131,51 @@ $messages = array(
 'pagecategories' => '{{PLURAL:$1|Bivag|Bivagko}}',
 'category_header' => 'Sakam korenaḱ rokom sokom "$1"',
 'subcategories' => 'Huḍiń rokom sokomko',
+'category-media-header' => '"$1" babot reaḱ rokom sokomte emen meḍiya rẽtko',
+'category-empty' => '"Noa rokom sokom sakamre do nit jahan sakam se miḍiya rẽt do bạnuḱa."',
 'hidden-categories' => '{{PLURAL:$1|Dãnań renaḱ|Dãnań renaḱ ko}}',
+'hidden-category-category' => 'Uku akan rokom sokom ko',
 'category-subcat-count' => '{{PLURAL:$2| keṭagorire eken tayom hudińkeṭagori menaḱa. |Noa keṭagorire tayom menaḱa {{PLURAL:$1 hudińkeṭagoriko}}, jotokote $2}}',
+'category-subcat-count-limited' => 'Noa rokom sokomre latar reaḱ {{PLURAL:$1 gan kạṭic rokom sokom $1gan kạtic rokom sokom menaḱa}}',
 'category-article-count' => '{{PLURAL:$2| Noa keṭagoriredo eken tayomtenaḱ sakam menaḱa.| Tayom {{PLURAL:$2| sakam do |$1 sakamko kana}} nia keṭagorire, sanamkote  hoyoḱkana $2 .}}',
+'category-article-count-limited' => 'Noa {{PLURAL:$1 sakam sakamko}} rokom sokomre menaḱa.',
+'category-file-count' => '{{PLURAL:$2 Noa babot reaḱ rokom sokomre do eken latar reaḱ sakam menaḱa. Noa babot reaḱ rokom sokomre emakan moṭhe $2 gan sakam mudre {{PLURAL:$1 gan sakam $1 gan sakam}} latarre uduḱ hoena}}',
+'category-file-count-limited' => 'Latar reaḱ {{PLURAL:$1 rẽt rẽtko}} noa rokom sokomre menaḱa.',
 'listingcontinuesabbrev' => 'Calaḱa',
+'index-category' => 'Unuduḱ sakam ko do bạnuḱa',
 'noindex-category' => 'Unuduḱ sakamkodo bạnuḱa',
+'broken-file-category' => 'Baṅ kạmi daṛeaḱ chubi joṛao soho sakamko',
 
 'about' => 'Lạgitte, Lạgti',
+'article' => 'Menaḱakat́ sakam',
 'newwindow' => 'Nãwã khiṛki jhijme',
 'cancel' => 'Badme',
 'moredotdotdot' => 'Aema',
 'mypage' => 'In̕aḱ sakam',
 'mytalk' => 'Iñaḱ́ ro̠ṛ',
+'anontalk' => 'Nui baṅ ńutumanić beoharićaḱ galmarao sakam',
 'navigation' => 'Ñamme',
+'and' => '&#31;ar',
 
 # Cologne Blue skin
 'qbfind' => 'N̕am',
 'qbbrowse' => 'Sendra',
 'qbedit' => 'Tońge',
 'qbpageoptions' => 'Noa sakam',
+'qbpageinfo' => 'Sakam reaḱ thuti',
 'qbmyoptions' => 'In̕anḱ sakamko',
 'qbspecialpages' => 'Asokay teaḱ sakamko',
 'faq' => 'Baḍae kupuliko',
+'faqpage' => 'Project:FAQ',
 
 # Vector skin
 'vector-action-addsection' => 'Asol katha joṛaome',
 'vector-action-delete' => 'Giḍi',
-'vector-action-move' => 'Ocok',
+'vector-action-move' => 'Ocoḱ́me',
 'vector-action-protect' => 'Bańcao',
 'vector-action-undelete' => 'Bań getgiḍi',
 'vector-action-unprotect' => 'Bodol rukhiyạ',
+'vector-simplesearch-preference' => 'Arhõ jạsti sendra poramorso keṭećmẽ (khali vecṭor skinre lạgit)',
 'vector-view-create' => 'Tearme',
 'vector-view-edit' => 'So̠mpado̠n',
 'vector-view-history' => 'Jạṛ ńelme',
@@ -160,6 +195,7 @@ $messages = array(
 'searcharticle' => 'Calaḱme',
 'history' => 'Sakam reaḱ jạṛ',
 'history_short' => 'Jạṛ',
+'updatedmarker' => 'Ińaḱ mucạt hiripor khon nitaḱ halot',
 'printableversion' => 'Chapai lekan version',
 'permalink' => 'Terejuge joṛao',
 'print' => 'Chapa',
@@ -170,11 +206,13 @@ $messages = array(
 'create-this-page' => 'Noa sakam benao me',
 'delete' => 'muchau me',
 'deletethispage' => 'Noa sakam do get giḍikam',
-'undelete_short' => 'Baṅ get giḍik',
+'undelete_short' => 'Baṅ getgiḍilena {{PLURAL:$1 1ṭen joṛao $ joṛaoko}}',
+'viewdeleted_short' => '{{PLURAL:$1 gan ocoḱ sompadok $1 gan ocoḱ sompadon}} udugmẽ',
 'protect' => "banchao'",
 'protect_change' => 'Judạ',
 'protectthispage' => 'Noa sakam ban̕caome',
 'unprotect' => 'Bodol ban̕cao',
+'unprotectthispage' => 'Noa sakam reaḱ rukhiyạ bodolmẽ',
 'newpage' => 'Nãwã sakam',
 'talkpage' => 'Noa sakam galmaraome',
 'talkpagelinktext' => 'Ro̠ṛme',
@@ -189,22 +227,31 @@ $messages = array(
 'projectpage' => 'Porjakṭ sakam uduḱme',
 'imagepage' => 'Rẽt sakam uduḱme',
 'mediawikipage' => 'Mesag sakam uduḱme',
+'templatepage' => 'Ṭempleṭ sakam udugmẽ',
 'viewhelppage' => 'Goṛoaḱ sakam n̕elme',
+'categorypage' => 'Babot reaḱ rokom sokom udugmẽ',
 'viewtalkpage' => 'Galmarao ńelme',
 'otherlanguages' => 'Eṭagak pạrsi',
 'redirectedfrom' => '$1 khon ạcur heć akana',
 'redirectpagesub' => 'Bań sojhe sakam',
 'lastmodifiedat' => 'Noa sakam do sạjao hoena $1, $2 te',
+'viewcount' => 'Noa sakamdo {{PLURAL:$1 dhom $1 dhom}} udug hoena.',
 'protectedpage' => 'Rukhíạ sakamko',
 'jumpto' => 'Calaḱme :',
 'jumptonavigation' => 'Ñamme',
 'jumptosearch' => 'Sendra',
+'view-pool-error' => 'Ikạkańmẽ, sarvarre nitoḱ do aḍi cap menaḱa.
+Ạḍi aema beoharko noa sakam ńel lạgit́ko kurumuṭueda.
+Nãwate noa sakam ńel kurumuṭuy lạgit́te dayakate mit́ghạṛi tạṅgiymẽ.
+$1',
 'pool-timeout' => 'Somoy paromena cạbi lạgit́te tạṅgi hoyoḱkana',
+'pool-queuefull' => 'Pul reaḱ sakam perećena',
 'pool-errorunknown' => 'Bań baḍayaḱ bhul',
 
 # 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' => 'babo̠tre',
 'aboutpage' => 'Project: Babo̠t',
+'copyright' => '$1 re bhitrire ńamoḱa.',
 'copyrightpage' => '{{ns:project}}: Eḱteạr',
 'currentevents' => 'Cạlit ghoṭnako',
 'currentevents-url' => 'Project: Nitaḱ evenṭ ko',
@@ -221,6 +268,14 @@ $messages = array(
 'privacy' => 'Nijaḱ eḱtear',
 'privacypage' => 'Project: Nijaḱ eḱteạr',
 
+'badaccess' => 'Ektiạr vul',
+'badaccess-group0' => 'Am do oka kạmi lạgit́em aroj akat́, ona kạmi purạo lạgit́te ạidạri do bạnuḱa.',
+'badaccess-groups' => 'Am do oka kạmim menjoṅkan ona do khạli {{PLURAL:$2 rạsiạkore noa rạsiạreaḱ mit́ṭenre}} mitṭen beoharić sompadon daṛeyaḱa: $1.',
+
+'versionrequired' => 'Meḍiawiki reaḱ $1 nãwã aroe jạruṛa',
+'versionrequiredtext' => 'Noa sakam beohar lạgit́te meḍiaWikire $1 nambar nãwã araoe jạruṛa.
+[[Special:Version nãwã aroe sakam]] ńelmẽ.',
+
 'ok' => 'Ṭhik gea',
 'retrievedfrom' => '"$1" khon ñam ạgui',
 'youhavenewmessages' => 'Amaḱ do $1 ($2) menaḱa',
@@ -231,20 +286,26 @@ $messages = array(
 'editold' => 'So̠mpado̠n',
 'viewsourceold' => 'Ńamoḱ jayga',
 'editlink' => 'Tońge',
-'viewsourcelink' => '̕Ńel renaḱ ḍahar',
+'viewsourcelink' => 'vitrireaḱ́ jo̠to̠ ńelme',
 'editsectionhint' => 'Sapṛao dhara: $1',
 'toc' => 'Menaḱaḱko',
 'showtoc' => 'Uduḱme',
 'hidetoc' => 'uku, Danaṅ',
 'collapsible-collapse' => 'Murchạo caba',
 'collapsible-expand' => 'Phaylao',
-'thisisdeleted' => 'Ńel se nãwã aroe hoyuka?',
+'thisisdeleted' => '$1 Ńel se nãwã aroe hoyukma?',
 'viewdeleted' => '$1 Ńelme',
+'restorelink' => '{{PLURAL:$1 mit́ṭen ocoḱgiḍi sompadon $1 gan udug giḍi sompadon}}',
 'feedlinks' => 'Jom oco',
-'site-rss-feed' => 'RSS jom oco',
+'feed-invalid' => 'Garhak feed reaḱ rokom do ạnlekate baṅkana',
+'feed-unavailable' => 'Sinḍikason feed do baṅ ńamoḱkana',
+'site-rss-feed' => '$1 RSS feed',
 'site-atom-feed' => ' $1 Jom oco',
+'page-rss-feed' => '"$1" RSS feed',
 'page-atom-feed' => '"$1" khon khudri jom',
 'red-link-title' => '$1 (niạ sakamdo bạnuḱa)',
+'sort-descending' => 'Ulṭạo horop lekate sajao',
+'sort-ascending' => 'Horop lekate sajao',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Sakam',
@@ -260,53 +321,100 @@ $messages = array(
 
 # Main script and global functions
 'nosuchaction' => 'Noṅkanaḱ kạmi bạnuḱa',
+'nosuchactiontext' => 'Noa URL re goṭa akan kạmi do ạnlekate baṅkana.
+Am do paseć mit́ṭen vul joṛaoem emakada se URL oltem vul akada.
+Noa do noṅkanaḱ menkana je {{SITENAME}} sayeṭre beoharen sofṭower re mit́ṭen vul menaḱa.',
 'nosuchspecialpage' => 'Noṅkanaḱ asokay sakam do banuḱa',
+'nospecialpagetext' => '<strong>Am do mit́ṭen beạn asokae sakamem nehor akada.</strong>
+[[Special:SpecialPages {{int:specialpages}}]]-re ạn asokae sakamkore mit́ṭen tạlikam ńama.',
 
 # General errors
 'error' => 'bhul',
+'databaseerror' => 'Ḍaṭabase vul',
+'dberrortext' => 'Database query syntexre vul hoeakana.
+Sofṭoyerre jahan bag karonte noa do hoe daṛeyaḱa.
+Joto khon mucạt́ database query do tahẽkana noṅka:
+<blockquote><tt>$1<//tt><blockquote>
+"<tt>$2</tt>" bhitrire tahẽna.
+Database okaṭaḱ vule em akada:"<tt>$3: $4</tt>".',
+'dberrortextcl' => 'Ḍaṭabes query sintxexṭre vul hoeakana.
+Mucạt́ ḍaṭabes query do tahẽkana:
+"$1"
+"$2" faṅson reaḱ bhitri khon.
+Ḍatabes okaṭaḱ vule kulakaḱ: "$3: $4:',
 'laggedslavemode' => "'''Sontoroḱme:''' sakamre do nahaḱ nãwãnaḱko paseć bạnuḱa.",
-'missing-article' => '"$1" $2 noa ńutumanaḱ sakhiyaxt sakamre olakanaḱ do bań ṅamoka.
-Noa hoy renaḱ karon do hoyoḱkana cabak tạrik pharak se noare joṛao sakam do get giḍi akana.
-Judi noa do karon bań hoylen khan, noa do am sopṭoyer re kạtictem ńam daṛeyaḱa.
+'readonly' => 'Ḍaṭabes do talagea',
+'enterlockreason' => 'Cạbie reaḱ karon do cet́kana ma lạimẽ, Saõte tinre tala cạbim jhija ona okte hõ lạimẽ',
+'readonlytext' => 'Nãwã hataen ar eṭagaḱ sompadon lạgit́te ḍaṭabes do nit bondo gea. Paseć ḍaṭabes rukhiyạre niyom lekate kạmi calaḱ kana. Thoṛa ghạrịić porte laha obosthare acur hạjuḱa.
+Sasetić do noa kathae roṛ keda: $1',
+'missing-article' => '"$1" $2 noa ńutumanaḱ sakhiyạ̣t sakamre olakanaḱ do bań ṅamoka.
+Noa hoy renaḱ karon do hoyoḱkana cabak tạrik pharak se noare joṛao sakam do get́ giḍi akana.
+Judi noa do karon bań hoylen khan, noa do am sopṭoyer re kạtićtem ńam daṛeyaḱa.
 Daya katet́ noa do nonde [[Special:ListUsers/sysop|administrator]],  ṭhen lạime, URL hotete.',
 'missingarticle-rev' => '(Nãwã aro#: $1)',
 'missingarticle-diff' => '(Pharak: $1, $2)',
+'readonly_lag' => 'Ḍaṭabes do aćhote tege bondo hoe akana, je lekate udhin reaḱ ḍaṭabes sarvarkor mukhiạ ḍaṭabes sarvar lekate heć daṛeaḱ.',
 'internalerror' => 'Bhitri reaḱ bhul',
-'internalerror_info' => 'Bhitri reaḱ bhul:',
-'filedeleteerror' => '1 sakam do baṅ get́ giḍiḱ lena',
+'internalerror_info' => 'Bhitri reaḱ vul: $1',
+'fileappenderrorread' => 'Jońṛao oktere "$1" baṅ paṛhaolena.',
+'fileappenderror' => '"$1" do "$2" saõte joṛao baṅ ganoḱ kana.',
+'filecopyerror' => '"$1" rẽt khon "$2" rẽt baṅ kopilena.',
+'filerenameerror' => '"$1" rẽt reaḱ ńutum bodol kate "$2" em baṅ hoyoḱ kana.',
+'filedeleteerror' => '$1 sakam do baṅ get́ giḍiḱ lena',
+'directorycreateerror' => '"$1" dayrekṭori do baṅ tearlena.',
+'filenotfound' => '"$1" rẽt do baṅ sendra ńamoḱ kana.',
+'fileexistserror' => '"$1" rẽtre baṅ oloḱ kana: Rẽt do lahare menaḱa.',
+'unexpected' => 'Baṅ asakan mạn: "$1"="$2".',
+'formerror' => 'Vul: forom do baṅ jimạlena.',
 'badarticleerror' => 'Noa sakamre kạmiko do baṅ puraolena.',
-'cannotdelete' => 'Nao sakam se rẽt do baṅ get giḍilena.
-Noa do pasec eṭaḱ hoṛ hotete lahare get giḍi akana.',
-'cannotdelete-title' => 'Sakam do baṅ get giḍiḱkana',
+'cannotdelete' => '$1 sakam se rẽt do baṅ get giḍilena.
+Pasec eṭaḱ hoṛ noa do lahareko get giḍi akada.',
+'cannotdelete-title' => '"$1" Sakam do baṅ get giḍiḱkana',
 'badtitle' => "barich' bishó́́́́y",
 'badtitletext' => 'Amaḱ nehorakaḱ sakam ńutum do bań puraoa, bạnuka, se be sudhrạo joṛao bhitri katha se bhitri wiki ńutum.
 Noa re do mit se aema bisó menaḱa oka do ńutumre bań beoharok.',
-'viewsource' => 'Ńamoḱaḱ ńelme',
+'querypage-no-updates' => 'Noa sakam reaḱ nahaḱ halot bondo gea. Nonḍe doho akana ḍaṭako do baṅ saphaḱa.',
+'wrong_wfQuery_params' => 'wfQuery ()-re vul perameṭar em hoeakana<br />
+Fańson: $1<br />
+Query: $2',
+'viewsource' => 'Vitrireaḱ ńelme',
+'viewsource-title' => '$1 renaḱ ńamoḱ ṭhại ńelmẽ',
+'actionthrottled' => 'Kạmi reaḱ dhara bại',
 'protectedpagetext' => 'Noa sakam do ol toṅge lạgit́te do bańcao gea.',
+'viewsourcetext' => 'Noa sakam do am ńel ar ńamoḱaḱ ṭhạiem kopi hatao daṛeaḱa:',
+'viewyourtext' => "Am do '''Amaḱ sompadon''' noa sakam ńel arem kopi hatao daṛeaḱa:",
+'protectedinterface' => 'Noa sakam reaḱ babotko do wiki sofṭoyer reaḱ mit́ṭen inṭarfes khobore ema, onate noa do rukhiyạ doho hoeakana.',
+'sqlhidden' => '(SQL query do ukure menaḱa)',
+'cascadeprotected' => 'Noa sakam do sompadon khon rukhiyạre menaḱa, karon sakam do latar reaḱ {{PLURAL:$1 gan sakam reaḱ gan sakam reaḱ}} bhitrire, oka sakam do (cascading) te rukhiyạ menaḱa:
+$2',
 'namespaceprotected' => "Amaḱ do sakamko joṛao lạgit́te ạidạri banuḱ tama '''$1''' ńutumjayga.",
 'ns-specialprotected' => 'Asokay teaḱ sakamkodo baṅ oltoṅgea.',
 
 # Virus scanner
+'virus-badscanner' => 'Vul konfigareson: baṅ orom vairas skenar: "$1"',
 'virus-scanfailed' => 'Esken baṅ hoelena (Code $1)',
 'virus-unknownscanner' => 'Baṅ urum anṭvayras:',
 
 # Login and logout pages
-'welcomecreation' => '==Johar,==
+'welcomecreation' => '== Johar $1! ==
 Amaḱ ekaunṭ do tearena.
-Amaḱ [Asokaete:Pasindko {{SITENAME}} pasindko]] bodol alom hiṛińa.',
+Amaḱ [[Special:Preferance {{SITENAME}} pạsindko]] thir dohoe lạgit́te alom hiṛińa.',
 'yourname' => 'Beoboharicaḱ ńutum',
 'yourpassword' => 'Uku namber',
 'yourpasswordagain' => 'Arhõ oku namber olme',
-'remembermypassword' => 'Mit khon jạsti pahaṭa reaḱ katha cạbi disạ tahẽnma (Jạsti utạr $1{{PRURAL;$1 din reaḱ din reaḱ}} lạgit)',
+'remembermypassword' => 'Mitṭen khon bạṛti khata reaḱ cạbi disạ dohoḱma (Jạsti $1 {{PLURAL:$1 din reaḱ din reaḱ}} lạgit)',
 'securelogin-stick-https' => 'Bhitri bolo kate HTTPS re soṅge tãhenme',
+'yourdomainname' => 'Amaḱ ḍomen:',
+'externaldberror' => 'Hoe daṛeyaḱa jahan bahre reaḱ jacaeaḱ ḍaṭabes vul hoeakana se amaḱ bahre reaḱ ekaunṭ do nahaḱ halot aguire ạidạri bạnuḱa.',
 'login' => "bolok' duar",
 'nav-login-createaccount' => 'Boloḱ́ duạr / ekaunt tearme',
+'loginprompt' => '{{SITENAME}}-re boloḱem meneḱ khan amaḱ sendrare kuki kạmi ehoṕ hoyoḱtama.',
 'userlogin' => 'Bhitri bolon / ekaunṭ tear',
 'userloginnocreate' => 'Bhitri bolo',
 'logout' => 'Bahre oḍoń',
 'userlogout' => 'Bahre oḍoń',
 'notloggedin' => 'Bhitri baṅ bolokana',
-'nologin' => 'Amaḱ do cet́ wikipediare ekauntx banukytama? Ado',
+'nologin' => "Amaḱ do cet́ wikipeḍiare ekaunṭ banuḱtama? Ado '''$1'''",
 'nologinlink' => 'account tear me',
 'createaccount' => 'Ṭhai benaome',
 'gotaccount' => 'Amaḱ do cet́ miṭten ekaunṭ tear menaḱtama? $1 tearmẽ.',
@@ -318,35 +426,57 @@ Amaḱ [Asokaete:Pasindko {{SITENAME}} pasindko]] bodol alom hiṛińa.',
 'userexists' => 'Laṛcaṛicaḱ ńutum em hoyena ona do beohar hoyakana.
 Dayakatet́ eṭagaḱ ńutum bachaome.',
 'loginerror' => 'Bhitri bolok do vulgea',
-'createaccounterror' => 'Ekaunṭ do baṅ benao lena:',
+'createaccounterror' => 'Ekaunṭ do baṅ tear lena: $1',
+'nocookiesnew' => 'Beoharićaḱ ekaunṭ tear hoe akana, menkhan am do nit hạbićte ekaunṭre bam boloakana. {{SITENAME}} re kuki beohar kate beoharićaḱ ekaunṭre boloa.
+Amaḱ sendrare kukiko bondo hoeakana. Dayakate kukiko kạmi hoe ocoemẽ ar amaḱ nãwã beohar ńutum ar uku nambar beohar hotete noa ekaunṭre boloḱmẽ.',
+'nocookieslogin' => '{{SITENAME}} re kuki hotete beoharićaḱ bhitri boloḱ do hoyoḱa. Amaḱ sendrare kuki bondo menaḱa. Kuki cạlu kate arhõ kurumuṭuimẽ.',
+'nocookiesfornew' => 'Beoharićaḱ ekaunṭ do baṅ tear akana, Cedaḱ je noa ńamoḱ jaega babote ale do bale uruma.
+Ale do baḍae ocolem amaḱ kuki doe kạmikana, sakam do arhõ rakaṕ lạgit́te kurumuṭuemẽ.',
+'noname' => 'Am do asol beoharićaḱ ńutum ṭhikte bam emakada.',
 'loginsuccesstitle' => 'Bhitri boloḱ do moctege puraoena',
-'loginsuccess' => "'''Am do nitoḱ bolo menama {{SITENAME}} re",
+'loginsuccess' => '\'\'\'Am do nitge "$1" ńutumte {{SITENAME}} rem bolo akana.',
+'nosuchuser' => '"$1" ńutuman jahan beoharić bạnuea.
+Beoharićaḱ ńutum do bukṛogea.
+Amaḱ bananko ńelmẽ, se [[Special:Userlogin/signup nãwã mit́ṭen ekaunṭ tearmẽ]].',
+'nosuchusershort' => '"$1" ńutuman jahãe beoharko do banuḱkoa. Ńutum reaḱ banan biḍaomẽ.',
 'nouserspecified' => 'Am do pusṭaote laṛcaṛićaḱ ńutum em hoyoḱtama.',
 'login-userblocked' => 'Nui laṛcaṛic doe esetgea. bhitri boloḱ ạidạri bań emoḱ kana.',
 'wrongpassword' => 'Bań milaoaḱ oku nambar em hoyakana.
 Daya kate arhõ mitdhom kurumuṭuyme.',
 'wrongpasswordempty' => 'Em hoyen oku nambar do cetge banuḱa.
 Daya katet́ arhõ kurumuṭuyme.',
-'passwordtooshort' => 'Oku nambar do kom katet́ hoyoḱ jạruṛa 6 olko mudre',
+'passwordtooshort' => 'Uku nambar do {{PLURAL:$1 1 horop reaḱ $1 horop reaḱ}} mudre hoyoḱ jạruṛa.',
 'password-name-match' => 'Amaḱ oku nambar do amaḱ ńutum khon eṭaḱ hoyoḱ jạruṛtama.',
 'password-login-forbidden' => 'Noa laṛcaṛicaḱ ńutum ar oku nambar do ạnlekate baṅkana.',
 'mailmypassword' => 'E-mail reaḱ nãwã uko katha',
 'passwordremindertitle' => 'Nãwã nitlạgit oku nambar {{SITENAME}} lạgit́te',
-'noemail' => 'Nonḍe do laṛcaṛlạgit́te jahan oku nambar sap doho bạnuḱa.',
+'noemail' => '"$1" beoharić lạgit́te do jahan e-mail ṭhikana rukhiyạ doho bạnuḱa.',
 'noemailcreate' => 'Am do mitṭen jewet e-mail ṭhikạna em jaruṛ menaḱtama.',
 'passwordsent' => '"$1" ṭhikạnate resṭariyen e-mail lạgit́te mitṭen oku nambar em hoyena.
 Daya kate ńam porte arhõ bhitri boloḱme.',
-'mailerror' => 'Vulte kulakan mail:',
+'blocked-mailpassword' => 'Amaḱ IP ṭhikạna khon sompadon do bondo menaḱa, Onate noa ṭhikạna baṅ beohar kate uku nambar ruạṛ baṅ hoyoḱa.',
+'mailerror' => 'E-mail kulte eṭkẽṭõrẽ: $1',
+'emailauthenticated' => 'Amaḱ e-mail ṭhikạna do $2 tạrikh reaḱ $3 re jạhirena.',
+'emailnotauthenticated' => 'Amaḱ e-mail reaḱ ṭhikạna do <strong> nit hõ baṅ jacay akana</strong> latar reaḱ features lạgit́te jahan e-mail do baṅkuloḱa.',
+'noemailprefs' => 'Noa features ko kạmie ocoy lạgit́te mit́ṭen e-mail ṭhikạna dohoe hoyoḱa.',
 'emailconfirmlink' => 'Amaḱ e-mail ṭhikana do sạriyme.',
+'invalidemailaddress' => 'Noa e-mail ṭhikạna do baṅ hataoa, karon noa formeṭ do pusṭạote baṅ em akana. Dayakate pusṭao formeṭte ṭhikạna emmẽ, se khet do khạliemẽ.',
 'cannotchangeemail' => 'Ekaunṭ e-mail ṭhikạnakodo noa wiki re baṅ bodoloḱ kana.',
+'emaildisabled' => 'Noa sayeṭre do e-mail em subita bạnuḱa.',
 'accountcreated' => 'Ekaunṭ do teyarena',
 'accountcreatedtext' => '$1 lạgit́te ekaunṭ do benaoena.',
 'createaccount-title' => '{{SITENAME}} lạgit́te ekaunṭ benao',
 'createaccount-text' => 'Okoe co am lạgit́te mitṭen ekaunṭko amaḱ e-mail ṭhikạna lạgit {{SITENAME}} re ($4) ńutum "$2", oku nambar "$3".
 Am do mesagem baṅ daṛeyaḱa, judi noa ekaunṭ do vulge benaolen khan.',
+'usernamehasherror' => 'Beoharićaḱ ńutumre hes horop baṅ tahẽdaṛeaḱa',
+'login-throttled' => 'Am do mitghạri lahare por por aema dhao boloḱem kurumuṭu keda.
+Arhõ kurumuṭue lahare dayakate thoṛagan tạṅgiemẽ.',
 'login-abort-generic' => 'Amaḱ bhitri boloḱ do baṅ hoylena - batena.',
 'loginlanguagelabel' => 'katha: $1',
 
+# E-mail sending
+'user-mail-no-addy' => 'Jahan e-mail ṭhikana bạgi kate e-mail kul kurumuṭu hoena.',
+
 # Change password dialog
 'resetpass' => 'Oku nambar bodol',
 'resetpass_header' => 'Ekaunṭ oku namber bodol',
@@ -360,17 +490,25 @@ Nitoḱ do am bhitritem boloḱkana...',
 'resetpass-no-info' => 'Noa sakam sojhete laṛcaṛ lạgit́te am do bhitri boloḱ hoyoḱtama.',
 'resetpass-submit-loggedin' => 'Oku namber bodol',
 'resetpass-submit-cancel' => 'Bạgi',
+'resetpass-temp-password' => 'Nit lạgit uku nambar:',
 
 # Special:PasswordReset
 'passwordreset' => 'Nãwãte oku nambar emme',
+'passwordreset-text' => 'Amaḱ ekaunṭ reaḱ purapuri thuti e-mail hotete ńam lạgit́te latar reaḱ forom purạomẽ.',
 'passwordreset-legend' => 'Nãwãte oku nambar emme',
+'passwordreset-disabled' => 'Noa wikire amaḱ uku nambar nãwãte em lạgit subita do bando gea.',
+'passwordreset-pretext' => '{{PLURAL:$1 latar re menaḱ ḍaṭako khon mit́ṭen emmẽ}}',
 'passwordreset-username' => 'Beoharicaḱ ńutum:',
+'passwordreset-domain' => 'Ḍomen:',
+'passwordreset-capture' => 'Sendra fol reaḱ e-mail ńelmẽ?',
+'passwordreset-capture-help' => 'Am do judi noa jacạy baksom lin lekhan, tobe nit lạgit́te em akan uku nambar são mit́ṭen e-mail ame uduḱama ar ona sãote beoharić ṭhen ona kuluḱa.',
 'passwordreset-email' => 'E-mail ṭhikạna:',
-'passwordreset-emailelement' => 'Beoharicaḱ ńutum:
-Nit lạgit oku nambar:',
+'passwordreset-emailtitle' => '{{SITENAME}} sayeṭre beoharićaḱ purạo thutiko',
+'passwordreset-emailelement' => 'Beoharićaḱ ńutum: $1
+Mit́ ghạṛi lạgit uku nambar: $2',
 'passwordreset-emailsent' => 'Mitṭen disạ ruaṛ e-mail do kulena.',
 'passwordreset-emailsent-capture' => 'Mit́ṭen disạ ruaṛaḱ e-mail dokulena, oka do latarre ńeloḱ kana.',
-'passwordreset-emailerror-capture' => 'Mit́ṭen disạ ruạṛ e-mail do hatoena, oka do latarre ńelok kana, menkhan beoharic ṭhen do baṇ seṭerlena.',
+'passwordreset-emailerror-capture' => 'Disạ ruạṛ oco lạgit́te mit́ṭen e-mail tear hoelena, oka do latarre udugoḱkana, menkhan $1 beoharić ṭhen  ṭhen baṅ kul hoe akana.',
 
 # Special:ChangeEmail
 'changeemail' => 'E-mail ṭhikạna do bodolme',
@@ -391,7 +529,7 @@ Nit lạgit oku nambar:',
 'link_sample' => 'Joṛaotet́ reaḱ bohoḱ',
 'link_tip' => 'Bhitri reak joṛaotet́',
 'extlink_sample' => 'http://www.nạmuna.makaṛgạṭi ạmạli',
-'extlink_tip' => 'Baherenaḱ jońṛao (disạyme htt://prefix)',
+'extlink_tip' => 'Baherenaḱ jońṛao (disạyme http://prefix)',
 'headline_sample' => 'Bohok katha',
 'headline_tip' => 'level 2 guḍkatha',
 'nowiki_sample' => 'Begor format olko bhoraome',
@@ -406,7 +544,7 @@ Nit lạgit oku nambar:',
 'subject' => 'Bisoy/Bohoḱ katha:',
 'minoredit' => 'Noa do hudiń joṛao kami',
 'watchthis' => 'Noa sakam ńelme',
-'savearticle' => 'Sakam sebhme',
+'savearticle' => 'Sakam dohoeme',
 'preview' => 'Ńel, Unuduḱ',
 'showpreview' => 'Unuduḱ',
 'showlivepreview' => 'Jewet uduk',
@@ -414,10 +552,23 @@ Nit lạgit oku nambar:',
 'anoneditwarning' => "'''Sabdhan:''' amdo begor logkatem bolowakana.
 Amaḱ IP ṭhikana do noa sakam sompadon jạṛre rekorḍoḱa.",
 'anonpreviewwarning' => '"Am do bhitri bam bolo akana. Noa sakamre amaḱ kạmiko jạre IP ṭhiikạ̣nare rukhiyạ ḱa."',
+'missingcommenttext' => 'Daya kate amaḱ menaḱ katha latare olmẽ.',
+'summary-preview' => 'Guṭ katha unuduḱ:',
+'subject-preview' => 'Babot/Guṭkatha unuduḱ:',
+'blockedtitle' => 'Beoharić doe eset ocoakana.',
+'blockednoreason' => 'jahan babot baṅ em akana',
+'whitelistedittext' => 'Sakamre sompadon lạgit́te $1 em hoyoḱa.',
+'nosuchsectiontitle' => 'Pahaṭa bȧn ńamlena',
+'loginreqtitle' => 'Boloḱ jạruṛa',
+'loginreqlink' => 'Bhitri boloḱ',
+'loginreqpagetext' => 'Eṭagaḱ sakamko ńel lạgit́te do am $1 hoyoḱ jạruṛtama.',
+'accmailtitle' => 'Uku nambar do kulena.',
+'accmailtext' => '[[User talk:$1 $1]] lạgit́te aćte benaoen uku nambar do $2 kul hoena.
+Bhitri bolo kateḱ noa nãwã ekaunṭ lạgit uku nambar "[[Special:ChangePassword Change password]]" sakam khonem bodol daṛyakya.',
 'newarticle' => '(Nãwa)',
-'newarticletext' => 'Am do okaṭaḱ somporko sakamem pańjayetkan ona do nito hạbic banuka.
-Sakam benao lạgitte, noa latar baksore ol ehoṕme
-Am do judim vul lekahan, amaḱ sendray jaygare "ruạṛ" baṭon linme.',
+'newarticletext' => "Am do oka mitṭen joṛaoem pańja akada, onaṭak do bạnuḱa.
+Ona sakam tear lạgit́te, latar reaḱ baksore ol ehoṕmẽ (arhõ jạsti baḍae lạgit́te [[{{mediaWiki:Helppage}}help page]] pańjaemẽ).
+Am do judi nonḍe vulkatem heć akan khan, tobe amaḱ sendrakore '''back''' baṭon linmẽ.",
 'noarticletext' => 'Nitoḱ noa sakamre do ol bạnuḱa.
 
 You can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,
@@ -427,37 +578,68 @@ or [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span>.',
 
 You can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,
 or <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>.',
-'previewnote' => "'''Disạyme noa do eken ńeln̕am lạgit.'''
-Amaḱ bodolaḱ kodo nit habićte bań ban̕cao akana!",
+'userpage-userdoesnotexist' => '"<nowiki>$1</nowiki>" ńutuman jahãe beoharićaḱ ekaunṭ do baṅ resṭri hoeakana. Daya kate biḍạo katet́ ńelmẽ noa sakam do benoa/sompadonem menet́ kana se baṅ.',
+'userpage-userdoesnotexist-view' => 'Beoharićaḱ "$1" ekaunṭ do baṅ resṭire akana.',
+'blocked-notice-logextract' => 'Nui beoharić do nitoḱe esetgea.
+Refarens lạgit́te nahaḱ boloḱ do latare em hoena:',
+'updated' => '(Halot ruaṛ)',
+'note' => "'''Noṭ:'''",
+'previewnote' => "'''kheyalmẽ, noa do eken ńeloḱ lạgit.'''
+Amaḱ bodolaḱ kodo nit habićte bań rukhíạakana!",
 'continue-editing' => 'Toṅge calaḱkana',
 'editing' => 'Joṛao do purạena: $1',
-'creating' => 'Benao',
+'creating' => '$1 sakam doe tear akada',
 'editingsection' => 'Joṛao $1 (hạṭiń)',
-'editingcomment' => 'Joṛao',
+'editingcomment' => 'Sompadon akadae $1 (Nãwa pahaṭa)',
+'editconflict' => 'Sompadon reaḱ bene bạiri: $1',
 'yourtext' => 'Amaḱ ol',
-'templatesused' => 'Noa sakamre beoharen {{PRURAL:$1 ṭempeleṭ ṭempeleṭko}}:',
+'storedversion' => 'Rukhiyạ nãwã aroe',
+'nonunicodebrowser' => "'''Sontoro: Amaḱ sendra reaḱ eunikoḍ-gate sompok baṅ kana. Am do je lekate apod baṅ hoe kate noam sompadon daṛeaḱ, ona lạgit́ somadhan menaḱa: baṅaski karecṭarko do heskaḍesimal koḍ hisạbte udug hoyoḱa.'''",
+'yourdiff' => 'Farak',
+'templatesused' => 'Noa sakamre beoharen {{PLURAL:$1 ṭempeleṭ ṭempeleṭko}}:',
 'template-protected' => 'Rukhiạ',
 'template-semiprotected' => '(Kạṭic-rukhiyạ)',
 'hiddencategories' => 'Noa sakam do {{PLURAL:$1 1 ukuakan bhag $1 uku akan bhagkorenaḱ}} gaõtarenge:',
-'permissionserrorstext-withaction' => 'Amaḱ do aydạri bạnuḱtama, Noa karon pan̕jay lạgitte',
+'nocreatetitle' => 'Sakam tear do akoṭgea',
+'nocreate-loggedin' => 'Nãwã sakam tear lạgit́te am do ạidạri em baṅ hoeakana.',
+'sectioneditnotsupported-title' => 'Pahaṭa sompadona do bae hataoeda',
+'sectioneditnotsupported-text' => 'Noa sompadona sakamre pahaṭa sompadona do bae hataoeda',
+'permissionserrors' => 'Ạidạri vulko',
+'permissionserrorstext' => 'Noa kạmi amaḱ ạidạri do banuḱa, {{PLURAL:$1 gan karon reaḱ gan karon reaḱ}} lạgit:',
+'permissionserrorstext-withaction' => 'Amaḱ $2 kạmire ạydạri do bạnuḱa, Ona reaḱ {{PLURAL:$1 Karon/ Karonko}}:',
 'recreate-moveddeleted-warn' => "'''Sontorokme: am do arhõ doṛhate sakamem teyareda oka do sedayre get giḍiyen.
 Am do gunạnme cet́ noa joṛao kạmi am lạgit́te ganoḱ ase bań.
 Noa get ar tala ocok sakam nonḍe em hoyena dhok lagit́te.",
 'moveddeleted-notice' => 'Noa sakam do get giḍiyakana.
 Get ar ocoḱ giḍi sakam do latarre emakan reference lạgit em hoena.',
+'log-fulllog' => 'Joto cạbi udugmẽ',
+'edit-hook-aborted' => 'Huk hotete joto sompadonko bạgi hoeakana.
+Noa reaḱ jahan katha do bạnuḱa.',
+'edit-gone-missing' => 'Sakam do baṅ halot ruạṛlena.
+Pasecc: sakam do ocoǵ hoeakana.',
+'edit-conflict' => 'Sompadon reṭepeṭe.',
+'edit-no-change' => 'Amaḱ sompadon do baṅ hataolena, Cedaḱ je olre jahan bodol bạnuḱa.',
+'edit-already-exists' => 'Nãwã sakam baṅ tear lena.
+Sakam do laha khon menaḱgea.',
+'defaultmessagetext' => 'Sedae olko',
 
 # Parser/template warnings
 'post-expand-template-inclusion-warning' => '"Sontoroḱme" Noa format do lạṭu geya.
 Thoṛa format do noare banuḱana.',
 'post-expand-template-inclusion-category' => 'Sakamko oka borḍre noa tahẽna ona doe paromkeda',
+'post-expand-template-argument-warning' => "'''Sontoroḱmẽ:''' Noa sakamre komse kom mitṭen forma joṛao menaḱa ạḍi lạṭute pasnao akana.
+Onate noa ạrgumenṭkodo bạgi giḍi hoena.",
+'post-expand-template-argument-category' => 'Bagi forma ạrgumenṭ sapdoho sakam',
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Ekaunṭ do baṅ tearlena',
 
 # History pages
 'viewpagelogs' => 'Noa sakam reaḱ cạbi udukme',
+'nohistory' => 'Noa sakam re do jahan sompadon reaḱ jạṛ bạnuḱa.',
+'currentrev' => 'Mucạt nãwã aroe',
 'currentrev-asof' => 'Mucạt nãwã aroy',
-'revisionasof' => 'Nãwã aro sakam 1',
+'revisionasof' => 'Nãwã aro sakam $1 leka',
 'revision-info' => 'Ńel/pańja ruạṛ $1 khon $2',
 'previousrevision' => 'Pạhilaḱ paṛhao ruạṛ',
 'nextrevision' => "nãwate n'el ruar",
@@ -467,24 +649,40 @@ Thoṛa format do noare banuḱana.',
 'last' => 'Laha renaḱ',
 'page_first' => 'Pahilaḱ',
 'page_last' => 'Mucạt́aḱ',
+'histlegend' => "Farak bachao: oka nãwã aroeko tulạoem menet́kan, onako cinhạ em kate boloḱ se latar baṭon linmẽ.<br/>
+Unuduḱ: '''({{int:cur}})''' = nahaḱ nãwã aroeko saõte tulạo, '''({{int:last}})''' = laha reaḱ nãwã aroe sãote tulạo, '''{{int:minoreditletter}}''' = huḍiń sompadon.",
 'history-fieldset-title' => 'Sendray jaṛ',
 'history-show-deleted' => 'khạli get giḍiyaḱ koge',
 'histfirst' => "adi laha-ak'",
 'histlast' => 'Nahak',
+'historysize' => '({{PLURAL:$1 1 bayeṭ $1 bayeṭko}})',
 'historyempty' => '(banuḱa)',
 
 # Revision feed
 'history-feed-title' => 'Jạṛ nãwã aroy',
+'history-feed-description' => 'Noa wikire noa sakam reaḱ nãwã aroe jạṛ',
 'history-feed-item-nocomment' => 're',
 
 # Revision deletion
+'rev-deleted-comment' => '(Sompadon reaḱ guṭ katha do ocoǵ hoena)',
 'rev-deleted-user' => '(laṛcaṛić ńutum ocoḱena)',
+'rev-deleted-event' => '(Log kạmi do ocog hoena)',
+'rev-deleted-user-contribs' => '[Beoharićaḱ ńutum se IP ṭhikạna do ocog hoena - kạmi khon sompadon do uku hoe akana]',
 'rev-delundel' => 'ńeloḱ/danaṅ',
 'rev-showdeleted' => 'Uduḱme',
 'revisiondelete' => 'Get giḍi/nãwã aro baṅ getgiḍi',
+'revdelete-nologtype-title' => 'Jahan cạbi ṭayep baṅ em emakana',
+'revdelete-nologtype-text' => 'Am do paseć noa kạmie lạgit́te jahan cạbi bam bachao akada.',
 'revdelete-show-file-submit' => 'Hẽ',
+'revdelete-hide-text' => 'Nãwã aroe olko ukuemẽ',
+'revdelete-hide-image' => 'Rẽt reaḱ babotko ukue mẽ',
+'revdelete-hide-name' => 'Kạmi ar bejha ukue mẽ',
+'revdelete-hide-comment' => 'Sompadon gut katha ukue mẽ',
+'revdelete-hide-user' => 'Sompadonićaḱ beohar ńutum/IP ṭhikạna ukuemẽ',
 'revdelete-radio-same' => '(alom bodola)',
 'revdelete-radio-set' => 'Hẽ',
+'revdelete-radio-unset' => 'Baṅ',
+'revdelete-log' => 'Babot:',
 'revdel-restore' => 'Judạ lekate ńel',
 'revdel-restore-deleted' => 'giḍikaḱ ńel ruạṛ',
 'revdel-restore-visible' => 'Ńeloḱ leka paṛhao ruạṛ',
@@ -492,14 +690,18 @@ Thoṛa format do noare banuḱana.',
 'deletedhist' => 'Get giḍi jạṛ',
 'revdelete-reasonotherlist' => 'Eṭaḱak karon',
 
+# History merging
+'mergehistory-reason' => 'Babot:',
+
 # Merge log
 'revertmerge' => 'bań mit́',
 
 # Diffs
-'history-title' => '"$1" noa jạṛ nãwã aroy',
+'history-title' => '"$1": Jạṛ nãwã aroe',
 'lineno' => 'Sạr $1:',
 'compareselectedversions' => 'Noa barea nãwã bachawanaḱ talare tolonayme',
 'editundo' => 'ruạṛ',
+'diff-multi' => '({{PLURAL:$2 mit́ṭen beoharic $2 hoṛ beoharkin}} Sompadon hoena {{PLURAL:$1 mit́ṭen do mitghạṛi lạgit sudhrạo mit́ṭen do mitghạṛi lạgit sudhrạo}} baṅ uduḱlena.)',
 
 # Search results
 'searchresults' => 'Se̠ndra fo̠l',
@@ -512,20 +714,25 @@ Thoṛa format do noare banuḱana.',
 'viewprevnext' => 'Ńelme ($1 {{int:pipe-separator}} $2) ($3)',
 'searchmenu-exists' => "'''Noa wiki re do \"[[:\$1]] ńutum sakam menaḱa",
 'searchmenu-new' => 'wiki re [[:$1]]nãwã sakam tear',
+'searchhelp-url' => 'Help: Goṛawaḱ',
 'searchprofile-articles' => 'Menaḱaḱ sakamko',
 'searchprofile-project' => 'Go̠ṛo ar Project sakam',
 'searchprofile-images' => 'Multimedia',
-'searchprofile-everything' => 'Sanamak koge',
+'searchprofile-everything' => 'Sanama koge',
 'searchprofile-advanced' => 'Sompadon',
-'searchprofile-articles-tooltip' => '$1 re ñelme',
+'searchprofile-articles-tooltip' => '$1 re ńelme',
 'searchprofile-project-tooltip' => '$1 re sẽndraeme',
 'searchprofile-images-tooltip' => 'File sendra',
 'searchprofile-everything-tooltip' => 'Sanam ko modre sẽndra ( roṛ sakam modre hõ)',
 'searchprofile-advanced-tooltip' => 'Judạ ńutum re sẽndra',
 'search-result-size' => '$1 ({{PLURAL:$2 1 Aṛaṅ$2 Aṛaṅko}})',
+'search-result-category-size' => '{{PLURAL: $1 1 gãoren $1 gãota renko}} ({{PLURAL: $2 1 kạṭic rokom sokom $ 2 goṭen}}, {{PLURAL:$3 1 rẽt $3 rẽtko}})',
 'search-redirect' => '($1 te sujhi doṛha )',
 'search-section' => '(Pahaṭa $1)',
 'search-suggest' => 'Am do cet́ $1 em menocoyet tãhẽkana',
+'search-interwiki-caption' => 'Hopon porjekṭko',
+'search-interwiki-default' => '$1 folko:',
+'search-interwiki-more' => '(Arhõ)',
 'searchrelated' => 'songenko',
 'searchall' => 'Sanam',
 'showingresultsheader' => "'''$4'''  lạgit́ {{PLURAL:$5|Pho̠l ńamoḱ́akan - '''$1''' of '''$3'''|Pho̠l ńamoḱ́akan '''$1 - $2''' of '''$3'''}}",
@@ -554,11 +761,13 @@ Thoṛa format do noare banuḱana.',
 'timezoneregion-africa' => 'Aphrika',
 'timezoneregion-america' => 'Amirika',
 'timezoneregion-asia' => 'Esiya',
+'timezoneregion-australia' => 'Ausṭralia',
 'prefs-files' => 'Rẽtko',
 'youremail' => 'E-mail:',
 'username' => 'Beoharićaḱ ńutum:',
 'uid' => 'Beoharićaḱ cinhạo nombor',
-'yourrealname' => 'Sạ̣ri ńutum',
+'yourrealname' => 'Sạri ńutum',
+'yourlanguage' => 'Pạrsi:',
 'gender-male' => 'Baba hoṛ',
 'gender-female' => 'Gogo hoṛ, Kuṛi, Kuṛi gidrạ',
 'email' => 'E-mail',
@@ -579,6 +788,7 @@ Amaḱ e-mail ṭhikạna do bań cabaḱa tinre onko do ko beohara',
 'saveusergroups' => 'Beoharićaḱ gãotako rukhiyaymẽ',
 
 # Rights
+'right-read' => 'Sakamko paṛhaomẽ',
 'right-edit' => 'Sakamko toṅge',
 'right-createpage' => 'Sakamko benoamẽ (Okako do galmarao sakamko baṅkan)',
 'right-createtalk' => 'Galmarao sakamko benaomẽ',
@@ -593,18 +803,23 @@ Amaḱ e-mail ṭhikạna do bań cabaḱa tinre onko do ko beohara',
 'action-edit' => 'noa sakam joṛao',
 
 # Recent changes
+'nchanges' => '$1 {{PLURAL:$1 bodol bodolko}}',
 'recentchanges' => 'Nãwã bo̠do̠lko',
 'recentchanges-legend' => 'Nahaḱ bodol teaḱko',
+'recentchanges-summary' => 'Noa sakamre wiki reaḱ joto khon nãwã bodolko paṅjaṅjaymẽ.',
+'recentchanges-feed-description' => 'Noa feedre wiki reaḱ joto khon nãwã bodolko paṅjaymẽ',
 'recentchanges-label-newpage' => 'Noa sompadon do nãwã mint́ṭen sakame tearkeda',
 'recentchanges-label-minor' => 'Noado hudiń mạchi sompadonkana',
 'recentchanges-label-bot' => 'Noa sompadon do bot darate purauena',
 'recentchanges-label-unpatrolled' => 'Noa sompadon do ńit́ hạbić baṅ ńel ńamakana',
+'rcnote' => "Latar reaḱ {{PLURAL:$2 dinre '''$2''' dinre}} hoyena {{PLURAL:$1 '''1''' '''$1'''}}gan bodol latare uduḱena ((okare nitaḱ okte ar tạrikh do $5, $4).",
 'rcnotefrom' => '$2 habić bodolak ko do latare ńeloḱkana',
 'rclistfrom' => 'Nãwã  bodolko uduḱme $1 khon ehoṕkate',
 'rcshowhideminor' => '$1 kaṭic culuń tońge',
 'rcshowhidebots' => ' boṭko $1',
 'rcshowhideliu' => 'Beoharićaḱ boloḱ $1',
 'rcshowhideanons' => '$1 Nũtum bańa bebohariḱ',
+'rcshowhidepatr' => '$1 Biḍạen sompadonko',
 'rcshowhidemine' => '$1 ińaḱ tońge',
 'rclinks' => '$2 din lahare $1 bodol unuduḱme <br />$3',
 'diff' => 'Judạ',
@@ -636,7 +851,7 @@ Amaḱ e-mail ṭhikạna do bań cabaḱa tinre onko do ko beohara',
 'filedesc' => 'Guṭ katha',
 'fileuploadsummary' => 'Guṭ katha',
 'savefile' => 'Rẽt rukhiyaymẽ',
-'uploadedimage' => 'Rakaṕ hoyena',
+'uploadedimage' => '"[[$1]]" rakaṕ huyena',
 'upload-description' => 'Rẽt reaḱ jạṛ',
 'watchthisupload' => 'Noa rẽt ńelmẽ',
 
@@ -667,7 +882,7 @@ Amaḱ e-mail ṭhikạna do bań cabaḱa tinre onko do ko beohara',
 'filehist-dimensions' => 'Maṕ',
 'filehist-comment' => 'Roṛ',
 'imagelinks' => 'Fael bebohar',
-'linkstoimage' => 'Latar reaḱ {{PLURAL:}}$1 gan sakam gan sakam}} khon noa ret̃re joṛao menaḱa:',
+'linkstoimage' => 'Latar reaḱ {{PLURAL:$1 sakam $1 sakam}} khon noa rẽtre joṛao menaḱa:',
 'nolinkstoimage' => 'Nonḍe do noa são joṛao sakam banuka',
 'sharedupload-desc-here' => 'Noa rẽt do nonḍe khon-  $1 ar paseć eṭaḱaḱ porjekṭko beoharakana.
 Noa reaḱ pasnao katha [$2 rẽt pasnao sakam] latare emena',
@@ -683,17 +898,19 @@ Noa reaḱ pasnao katha [$2 rẽt pasnao sakam] latare emena',
 
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|baiṭ|baiṭ}}',
-'nmembers' => '$1 {{PLURAL:$1 Gaõtaren Gaõtarenko',
+'nmembers' => '$1 {{PLURAL:$1 Gaõtaren Gaõtarenko}}',
 'prefixindex' => 'Sanam sakam re joṛao menaḱ',
 'shortpages' => 'Huḍiń sakamko',
 'longpages' => 'Jiliń sakamko',
 'listusers' => 'beoharićaḱ tạlika',
-'usercreated' => 'Ayo baba: tạrikh okte',
+'usercreated' => '{{JẠT: $3 | benawakan}} $1 tarikre $2 okte',
 'newpages' => 'Nãwa Patako',
 'newpages-username' => 'Beoharićaḱ ńutum:',
 'ancientpages' => 'Mare sakamko',
 'move' => 'Ocoḱme, Kulme',
 'movethispage' => 'Noa sakam ocogmẽ',
+'pager-newer-n' => '{{PLURAL:$1 nãwaw aroyen 1ṭen nãwã aroyen $1ṭen}}',
+'pager-older-n' => '{{PLURAL:$1 arhõ mare 1ṭen arhõ mare $1ṭen}}',
 
 # Book sources
 'booksources' => 'Puthi ńamoḱ ṭhại/jayga',
@@ -715,7 +932,7 @@ Noa reaḱ pasnao katha [$2 rẽt pasnao sakam] latare emena',
 'categories' => 'rokom sokom',
 
 # Special:LinkSearch
-'linksearch-line' => '$2 joṛao menaḱa $2re',
+'linksearch-line' => '$2 khon $1 re joṛao hoeakana',
 
 # Special:ListUsers
 'listusers-submit' => 'Udugmẽ',
@@ -749,7 +966,8 @@ Noa reaḱ pasnao katha [$2 rẽt pasnao sakam] latare emena',
 'watchlistfor2' => '$1 ($2) lạ̣gitte',
 'watch' => 'Ńelme',
 'unwatch' => "bang nelok' a",
-'wlshowlast' => 'Mucạt 1 ghonta mucạt 2 maha uduḱme',
+'watchlist-details' => 'Baṅ purạo tạlikare {{PLURAL:$1ṭen sakam $1 ṭen sakam}} menaḱa (roṛ sakamko lekhare baṅ sapkate)',
+'wlshowlast' => 'Mucạtet́ udukmẽ $1 baje $2 maha $3',
 'watchlist-options' => 'Ńelok tạlika reak sonketko',
 
 # Displayed when you click the "watch" button and it is in the process of watching
@@ -769,7 +987,7 @@ Noa reaḱ pasnao katha [$2 rẽt pasnao sakam] latare emena',
 
 # Protect
 'protectlogpage' => 'Rukhiyạy tala cạbi',
-'protectedarticle' => 'Rukhiyạre menaḱa',
+'protectedarticle' => 'Rukhiyạgeya "[[$1]]"',
 'protectcomment' => 'karon',
 'protectexpiry' => 'Cabaḱ',
 
@@ -789,7 +1007,7 @@ Noa reaḱ pasnao katha [$2 rẽt pasnao sakam] latare emena',
 
 # Contributions
 'contributions' => 'Beharićaḱ Kạmiko',
-'contributions-title' => 'Laṛcaṛicaḱ kạmiko lạgit',
+'contributions-title' => '$1 Beoharićaḱ kạmiko',
 'mycontris' => 'Ińaḱ kạmiko',
 'contribsub2' => '$1 ($2) lạgitte',
 'uctop' => '(coṭ utạr)',
@@ -808,20 +1026,20 @@ Noa reaḱ pasnao katha [$2 rẽt pasnao sakam] latare emena',
 
 # What links here
 'whatlinkshere' => 'Cet́ link ko no̠nḍe do',
-'whatlinkshere-title' => 'Noa sakam do 1 sakam tuluc joṛao menaḱa',
+'whatlinkshere-title' => 'Oka sakam ko do "$1"-re joṛao menaḱa',
 'whatlinkshere-page' => 'Sakam',
-'linkshere' => 'Noa sakam do joṛao menaka:',
-'nolinkshere' => 'Sakamko joṛao bạnuḱa',
+'linkshere' => "Latar reaḱ sakamko do '''[[:$1]]''' sakamre joṛao menaḱa:",
+'nolinkshere' => "Jahan sakam khon '''[[:$1]]''' sakamre joṛao bạnuḱa",
 'isredirect' => 'Bań sojhe sakam',
 'istemplate' => 'Ar mit́ teć sãote joṛao',
 'isimage' => 'Ret joṛao',
-'whatlinkshere-prev' => 'Laha renaḱ laha renaḱko',
-'whatlinkshere-next' => 'Laha renaḱ Laha renaḱko',
+'whatlinkshere-prev' => '{{PLURAL:$1 Laha reaḱ Laha reaḱ$1ṭen}}',
+'whatlinkshere-next' => '{{PLURAL:$1 |Laha renaḱ | Laha renaḱko $1}}',
 'whatlinkshere-links' => 'Joṛaoko',
 'whatlinkshere-hideredirs' => '$1 acurgeya',
-'whatlinkshere-hidetrans' => 'Bodolaḱ danaṅ',
+'whatlinkshere-hidetrans' => '$1 ṭarnskuleson uduḱme',
 'whatlinkshere-hidelinks' => '$1 joṛao',
-'whatlinkshere-hideimages' => 'Chubi em',
+'whatlinkshere-hideimages' => '$1 Chubi joṛaoko',
 'whatlinkshere-filters' => 'Sapha',
 
 # Block/unblock
@@ -833,7 +1051,7 @@ Noa reaḱ pasnao katha [$2 rẽt pasnao sakam] latare emena',
 'ipblocklist' => 'Beoharic esetgeyay',
 'ipblocklist-submit' => 'Sendra',
 'emailblock' => 'E-mail do esetgea',
-'blocklink' => 'Eset',
+'blocklink' => 'Eset́',
 'unblocklink' => 'bań block',
 'change-blocklink' => 'block judạ',
 'contribslink' => 'em daṛeaḱ',
@@ -865,18 +1083,19 @@ Noa reaḱ pasnao katha [$2 rẽt pasnao sakam] latare emena',
 
 # Thumbnails
 'thumbnail-more' => 'Lạṭui mẽ',
+'thumbnail_error' => 'Benawakan unuduḱ kạṭuṕ do baṅ ṭhika: $1',
 
 # Special:Import
 'import-upload-filename' => 'Rẽt ńutum',
 
 # Tooltip help for the actions
-'tooltip-pt-userpage' => 'Amak bebohar sakam',
-'tooltip-pt-mytalk' => 'Amaḱ katha ro̠ṛrenaḱ́ pata',
-'tooltip-pt-preferences' => 'Amaḱ Kusíyaḱ',
-'tooltip-pt-watchlist' => 'Mit́ṭen tạlika okaṭak am do nãwã aroy lạgitem ńeleḱkan',
+'tooltip-pt-userpage' => 'Amaḱ́ bebo̠harić sakam',
+'tooltip-pt-mytalk' => 'Amaḱ katha ro̠ṛrenaḱ́ sakam',
+'tooltip-pt-preferences' => 'Amaḱ pạsindko',
+'tooltip-pt-watchlist' => 'Sakam tạlika okaṭak̕katet́ am do nãwã aroy lạgitem ńeleḱkan',
 'tooltip-pt-mycontris' => 'Amaḱ kạmi reaḱ tạlika',
 'tooltip-pt-login' => 'Am do log in lagit́ metao am kana; menkhan noa do jarur bań kana',
-'tooltip-pt-logout' => 'Onḍńme',
+'tooltip-pt-logout' => 'O̠nḍo̠ńme',
 'tooltip-ca-talk' => 'Galmãrao bhitri renaḱ sakam lạgit́',
 'tooltip-ca-edit' => 'Noa sakam em edit daṛeaḱ. Daya kateć save laha re preview batton bebohar me.',
 'tooltip-ca-addsection' => 'Nãwã sekson sạrdi',
@@ -894,7 +1113,7 @@ Ona te source em ńel daṛeaḱ',
 'tooltip-p-logo' => 'Mukhiạ sakamre calaḱme',
 'tooltip-n-mainpage' => 'Mukhiạ sakamre calaḱme',
 'tooltip-n-mainpage-description' => 'Mukhiạ sakamre calaḱme',
-'tooltip-n-portal' => 'Niạ pro̠je̠ḱ́ṭreaḱ Biso̠yko, Cet́́em ceka daṛia,Okare̠ sendra ñamoḱ́a',
+'tooltip-n-portal' => 'Niạ pro̠je̠ḱ́ṭreaḱ Biso̠yko, Cet́em ceka daṛia,Okare̠ sendra ñamoḱ́a',
 'tooltip-n-currentevents' => 'Nitaḱ events re jos hudis ńãm me',
 'tooltip-n-recentchanges' => 'Uiki nãhaḱ palaṭrenaḱ́ tạlikạ',
 'tooltip-n-randompage' => 'Ãr hõ sakam ko agui mẽ',
@@ -945,6 +1164,7 @@ Ona te source em ńel daṛeaḱ',
 # Media information
 'file-info-size' => '$1 x $2 pixels, file size: $3, MIME type: $4',
 'file-nohires' => 'Aema resulation nondḍe banuḱa',
+'svg-long-desc' => 'SVG rẽt, normalte $1 x $2 pixels, rẽt sayej: $3',
 'show-big-image' => 'Purạo resulation',
 
 # Special:NewFiles
@@ -973,7 +1193,7 @@ jeleń',
 'exif-artist' => 'Onoliạ',
 
 # External editor support
-'edit-externally' => 'Noa rẽt tońge joṛao lạ̣gitte bahre reaḱ koejoń  beoharme',
+'edit-externally' => 'Noa rẽt tońge joṛao lạgitte bahre reaḱ koejoń  beoharme',
 'edit-externally-help' => '(Nonḍe ńelme [//www.mediawiki.org/wiki/Manual:External_editors setup instructions] bạṛtite baḍay lạgit)',
 
 # 'all' in various places, this might be different for inflected languages
@@ -984,10 +1204,23 @@ jeleń',
 # Watchlist editing tools
 'watchlisttools-view' => 'Jońgṛao bodolaḱko ńel',
 'watchlisttools-edit' => 'Ńelok tạlika ńel ar joṛao',
+'watchlisttools-raw' => 'Baṇ purạo akan ńelok tạlika purạomẽ',
+
+# Core parser functions
+'duplicate-defaultsort' => "'''Sontoroḱmẽ:''' ḍifolṭ sajao reaḱ cạbi: $2 lahare ḍifolṭ sajao reaḱ sakam: ''$1'' e bae luturaḱ kana.",
 
 # Special:SpecialPages
 'specialpages' => 'Jạruṛ patako',
 
+# External image whitelist
+'external_image_whitelist' => '#Noa sakam do cet leka menaḱa oṅkage dohoemẽ
+#Sanam okte re jạhiren kuṭrạ latar re (khạli hạtiń //talare) bạisạomẽ
+#Noako do bahre reaḱ (hotlinked) chubi reaḱ URL saõte milạo hoyoḱa
+#Okako milạḱa, onako do chubi lekate udugoḱa, baṅkhan do khali chubi joṛao udugoḱa
+#Noa layen reaḱ ehoṕre # menaḱa ona layenko menko hisapte beohar hoyoḱka
+#Noa do kas-baṅ rimjhạoaḱge
+#Noa dag cetanre regex kuṭrạ bạsạomẽ. Noa layen cetleka menaḱa oṅkage dohoemẽ</pre>',
+
 # Special:Tags
 'tag-filter' => '[[Special:Tags|Tag]] saphay:',
 
index 14bcaa2..4a74cb9 100644 (file)
@@ -1281,7 +1281,7 @@ L'operazioni nun pò èssiri annullata.",
 'nchanges' => '$1 {{PLURAL:$1|canciamentu|canciamenti}}',
 'recentchanges' => 'Ùrtimi canciamenti',
 'recentchanges-legend' => 'Opzioni ùrtimi canciamenti',
-'recentchangestext' => 'Chista pàggina prisenta li canci cchiù ricenti ê cuntinuti dô situ.',
+'recentchanges-summary' => 'Chista pàggina prisenta li canci cchiù ricenti ê cuntinuti dô situ.',
 'recentchanges-feed-description' => 'Stu feed riporta li canciamenti cchiù ricenti a li cuntinuti dû situ.',
 'recentchanges-label-newpage' => 'This edit havi creatu na nova pàggina',
 'recentchanges-label-minor' => 'Chista è nu canciamentu nnicu',
index 37b5f79..fb14ac7 100644 (file)
@@ -826,7 +826,7 @@ Yer e-mail address insae revealed whin ither uisers contact ye.",
 'nchanges' => '$1 {{PLURAL:$1|chynge|chynges}}',
 'recentchanges' => 'Recent chynges',
 'recentchanges-legend' => 'Recent changes options',
-'recentchangestext' => 'Follae the maist recent chynges tae the wiki on this page.',
+'recentchanges-summary' => 'Follae the maist recent chynges tae the wiki on this page.',
 'recentchanges-feed-description' => 'Follae the maist recent chynges tae the wiki in this feed.',
 'recentchanges-label-newpage' => 'This edit created a freish page',
 'recentchanges-label-minor' => 'This is a smaa edit',
index 8dad189..5db1519 100644 (file)
@@ -927,7 +927,7 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'nchanges' => '$1 {{PLURAL:$1|mudìfigga|mudìfigghi}}',
 'recentchanges' => 'Ulthimi mudìfigghi',
 'recentchanges-legend' => 'Opzioni ulthimi mudifigghi',
-'recentchangestext' => 'Chistha pàgina prisinta li mudìfigghi più rizzenti a li cuntinuddi di lu situ.',
+'recentchanges-summary' => 'Chistha pàgina prisinta li mudìfigghi più rizzenti a li cuntinuddi di lu situ.',
 'recentchanges-feed-description' => 'Chisthu feed cunteni li mudìfigghi più rizzenti a li cuntinuddi di lu situ.',
 'rcnote' => "Inogghi {{PLURAL:$1|è erencadda la mudìfigga più rizzenti arriggadda|so erencaddi li '''$1''' mudìfigghi più rizzenti arriggaddi}} a lu situ {{PLURAL:$2|i' l'ulthimi 24 ori|i' li '''$2''' dì passaddi}}; i dati so aggiornaddi a li $5 di lu $4.",
 'rcnotefrom' => "Inogghi so erencaddi li mudìfigghi arriggaddi a parthì da '''$2''' (finz'a '''$1''').",
index 8722978..56a6551 100644 (file)
@@ -7,6 +7,8 @@
  * @ingroup Language
  * @file
  *
+ * @author Gálaniitoluodda
+ * @author Jeblad
  * @author Kaganer
  * @author Laila
  * @author Skuolfi
  * @author לערי ריינהארט
  */
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Doaimmat',
+       NS_TALK             => 'Ságastallan',
+       NS_USER             => 'Geavaheaddji',
+       NS_USER_TALK        => 'Geavaheaddjeságastallan',
+       NS_PROJECT_TALK     => '$1-ságastallan',
+       NS_FILE             => 'Fiila',
+       NS_FILE_TALK        => 'Fiilaságastallan',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki-ságastallan',
+       NS_TEMPLATE         => 'Málle',
+       NS_TEMPLATE_TALK    => 'Málleságastallan',
+       NS_HELP             => 'Veahkki',
+       NS_HELP_TALK        => 'Veahkkeságastallan',
+       NS_CATEGORY         => 'Kategoriija',
+       NS_CATEGORY_TALK    => 'Kategoriijaságastallan',
+);
+
+$specialPageAliases = array(
+       'Recentchanges'             => array( 'Varas_rievdadusat' ),
+);
+
 $linkTrail = '/^(:?[a-zàáâçčʒǯđðéèêëǧǥȟíìîïıǩŋñóòôõßšŧúùûýÿüžþæøåäö]+)(.*)$/sDu';
 
 $messages = array(
@@ -116,13 +141,13 @@ $messages = array(
 'listingcontinuesabbrev' => 'joatk.',
 
 'about' => 'Dieđut',
-'article' => 'Siidu',
+'article' => 'Sisdoallusiidu',
 'newwindow' => '(leahkasa ođđa vindui)',
 'cancel' => 'Šluhtte',
 'moredotdotdot' => 'Lasi...',
 'mypage' => 'Mu siidu',
 'mytalk' => 'Mu ságastallan',
-'anontalk' => 'Ságastala dán IP-čujuhusain',
+'anontalk' => 'Ságastallan IP-čujuhussii',
 'navigation' => 'Navigašuvdna',
 'and' => '&#32;ja',
 
@@ -136,7 +161,15 @@ $messages = array(
 'qbspecialpages' => 'Doaibmasiiddut',
 
 # Vector skin
+'vector-action-delete' => 'Sihko',
+'vector-action-move' => 'Sirdde',
+'vector-action-protect' => 'Suodjal',
+'vector-action-unprotect' => 'Rievdat suodjaleami',
+'vector-view-create' => 'Álggat',
+'vector-view-edit' => 'Rievdat',
+'vector-view-history' => 'Geahča historjjá',
 'vector-view-view' => 'Loga',
+'vector-view-viewsource' => 'Geahča gáldokoda',
 
 'errorpagetitle' => 'Feaila',
 'returnto' => 'Máhcat siidui $1.',
@@ -168,7 +201,7 @@ $messages = array(
 'specialpage' => 'Sierrasiidu',
 'personaltools' => 'Persovnnalaš bargoneavvu',
 'postcomment' => 'Ođđa sekšuvdna',
-'articlepage' => 'Čájet sisdoallusiiddu',
+'articlepage' => 'Geahča sisdoalu',
 'talk' => 'Ságastallan',
 'views' => 'Čájáhusat',
 'toolbox' => 'Neavvobumbá',
@@ -200,7 +233,7 @@ $messages = array(
 'disclaimerpage' => 'Project:Friijavuohta vástideamis',
 'edithelp' => 'Rievdadanrávvagat',
 'edithelppage' => 'Help:Mo rievdadit siidduid',
-'helppage' => 'Help:Rávvagat',
+'helppage' => 'Help:Sisdoallu',
 'mainpage' => 'Váldosiidu',
 'mainpage-description' => 'Váldosiidu',
 'portal' => 'Gáffestohpu',
@@ -230,7 +263,7 @@ $messages = array(
 'nstab-main' => 'Siidu',
 'nstab-user' => 'Geavaheaddjisiidu',
 'nstab-media' => 'Media',
-'nstab-special' => 'Doaibma',
+'nstab-special' => 'Erenomáš',
 'nstab-project' => 'Prošeaktasiidu',
 'nstab-image' => 'Fiila',
 'nstab-mediawiki' => 'Dieđáhus',
@@ -258,7 +291,7 @@ $messages = array(
 'formerror' => 'Skovi dieđut eai dohkke',
 'badarticleerror' => 'Doaimma ii leat vejolaš dahkat dán siiddus.',
 'cannotdelete' => 'Siiddu dahje fiilla sihkkon ii lihkosmuvvan. Muhtun eará lea sáhttán sihkkut dan.',
-'badtitle' => 'Feaila bájilčállagis',
+'badtitle' => 'Fuones bajilčála',
 'badtitletext' => 'Siiddu bájilčállagis lei feaila, dahje dat lei guoros dahje boastut ráhkaduvvon wikiid- dahje gielaidgaskasaš liŋka.',
 'perfcached' => 'Dieđut leat gaskabottosašmuittus eaige sihkkarit vástit dálá hámi. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
 'perfcachedts' => 'Čuovvovaš data lea buktojuvvon gaskabottosašmuittus ja dat lea maŋimusta beaiváduvvon $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
@@ -283,7 +316,7 @@ Du geavaheaddjidovddaldat lea dál anus.
 'login' => 'Čálligoađe sisa',
 'nav-login-createaccount' => 'Daga ođđa geavaheaddjidovddaldaga dahje čálligoađe sisa',
 'loginprompt' => 'Sisačállimii dárbbašuvvojit geavssat (cookies).',
-'userlogin' => 'Daga ođđa geavaheaddjidovddaldaga dahje čálligoađe sisa',
+'userlogin' => 'Logge sisa dahje ráhkat dovddaldaga',
 'logout' => 'Čálligoađe olggos',
 'userlogout' => 'Čálligoađe olggos',
 'notloggedin' => 'It leat čálligoahttan sisa',
@@ -291,9 +324,9 @@ Du geavaheaddjidovddaldat lea dál anus.
 'nologinlink' => 'ráhkadit',
 'createaccount' => 'Ráhkat ođđa geavaheaddjidovddaldaga',
 'gotaccount' => "Jus dus lea jo geavaheaddjidovddaldat, sáhtát '''$1'''.",
-'gotaccountlink' => 'čálligoahtit sisa',
+'gotaccountlink' => 'Logge sisa',
 'createaccountmail' => 'e-poasttain',
-'badretype' => 'Suollemassánit, maid čállet, eai leat seammalaganat.',
+'badretype' => 'Suollemassánit maid čállet eai leat seammalaganat.',
 'userexists' => 'Geavaheaddjidovddaldat, man evttohit, lea jo anus. Leage buorre ja vállje nubbi geavaheaddjidovddaldaga.',
 'loginerror' => 'Feaila sisačálidettiin',
 'nocookieslogin' => '{{SITENAME}} geavaha diehtočoahkuid (cookies) sisačállima oktavuođas. Du neahttabláđejeaddji ii suova geavahit diehtočoahkuid. Váldde daid atnui ja iskka ođđasit.',
@@ -368,19 +401,19 @@ Du geavaheaddjidovddaldat lea dál anus.
 'showpreview' => 'Geahča ovdalgiihtii',
 'showlivepreview' => 'Ovdalgeahčastan',
 'showdiff' => 'Čájet rievdadusaid',
-'anoneditwarning' => 'It leat čálligoahtán sisa. IP-čujuhusat lasihuvvo dán siiddu rievdadanhistorjái.',
+'anoneditwarning' => "'''Váruhus:''' It leat čálligoahtán sisa. Du IP-čujuhus báhcá dán siiddu ođasmahttinhistorjái.",
 'missingsummary' => 'It leat čállán čoahkkáigeasu. Jus válljet Vurke ođđasit, de rievdadusat maid ráhkadit vurkejuvvo čoahkkáigeasuhaga.',
 'missingcommenttext' => 'Čále čoahkkáigeasu vuollái.',
 'missingcommentheader' => 'It leat čállán bajilčállaga du oaivilii. Vállje <em>Vurke</em>, jus it hálit čállit bajilčállaga.',
 'summary-preview' => 'Čoahkkáigeasu ovdalgihtiigeahččan:',
 'subject-preview' => 'Bajilčállaga ovdalgihtiigeahččan:',
-'blockedtitle' => 'Geavaheaddji lea cakkastallojuvvon',
+'blockedtitle' => 'Geavaheaddji lea cakkojuvvon',
 'whitelistedittext' => 'Don fertet $1, ovdalgo sáhtát rievdadit siidduid.',
 'confirmedittext' => 'It sáhte rievdadit siiddu ovdalgo leat sihkarastan iežat e-poastačujuhusa. Sáhtat sihkarastit [[Special:Preferences|ásahussiidduin]].',
 'nosuchsectiontitle' => 'Diekkár oassi ii gávdno',
 'nosuchsectiontext' => 'Isket rievdadit oasi, mii ii gávdno.',
 'loginreqtitle' => 'Sisačállin gáibiduvvo',
-'loginreqlink' => 'čálligoađe sisa',
+'loginreqlink' => 'logge sisa',
 'loginreqpagetext' => 'Don fertet $1, ovdalgo oainnat eará siidduid.',
 'accmailtitle' => 'Suollemassátni lea sáddejuvvon.',
 'accmailtext' => "geavaheaddji '''$1''' suollemassátni lea sáddejuvvon čujuhussii '''$2'''.",
@@ -392,6 +425,11 @@ Du geavaheaddjidovddaldat lea dál anus.
 'editing' => 'Rievdadit siiddu $1',
 'editingsection' => 'Rievdadit oasi siiddus $1',
 'editingcomment' => 'Rievdadit kommeanta siiddus $1',
+'explainconflict' => "Soames lea rievdadan dán siiddu dan maŋŋel go don leat álgan rievdadit dan.
+Bajit oasis oidno siiddu teaksta dálá hámis.
+Du rievdadusat oidnojit vuolit oasis.
+Don fertet dahkat du rievdadusaid dálá tekstii.
+'''Beare''' bajit oasi teaksta vurkejuvvo go deaddilat «{{int:savearticle}}».",
 'yourtext' => 'Iežat teaksta',
 'storedversion' => 'Vurkejuvvon veršuvdna',
 'yourdiff' => 'Erohusat',
@@ -466,6 +504,7 @@ Eará bajasdoallit sáhtet lohkat čihkojuvvon sisdoalu ja máhcahit dan.",
 
 # Search results
 'searchresults' => 'Ohcama bohtosat',
+'searchresults-title' => 'Ohcanbohtosat: "$1"',
 'searchsubtitle' => 'Ohcan tearpmain [[:$1]]',
 'searchsubtitleinvalid' => 'Ohcan tearpmain $1',
 'notitlematches' => 'Ohcansátni ii dihtton ovttasge bájilčállagis',
@@ -475,6 +514,10 @@ Eará bajasdoallit sáhtet lohkat čihkojuvvon sisdoalu ja máhcahit dan.",
 
 $1 {{int:pipe-separator}} $2',
 'searchhelp-url' => 'Help:Rávvagat',
+'searchprofile-articles' => 'Sisdoallosiiddut',
+'searchprofile-project' => 'Veahkke- ja prošeaktasiiddut',
+'searchprofile-everything' => 'Buot',
+'searchprofile-advanced' => 'Viiddiduvvon',
 'showingresults' => "{{PLURAL:$1|'''Okta''' boađus|'''$1''' bohtosa}} bohtosa'''$2''' rájes.",
 'showingresultsnum' => "Vuolábealde {{PLURAL:$3|lea '''okta''' ohcanboađus|leat '''$3''' ohcanbohtosa}} '''$2.''' bohtosa rájes.",
 'powersearch' => 'Oza',
@@ -570,7 +613,7 @@ $1 {{int:pipe-separator}} $2',
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|rievdadus|rievdadusa}}',
 'recentchanges' => 'Varas rievdadusat',
-'recentchangestext' => 'Dán siiddus sáhtat čuovvut varas rievdadusaid {{GRAMMAR:illative|{{SITENAME}}}}.',
+'recentchanges-summary' => 'Dán siiddus sáhtat čuovvut varas rievdadusaid {{GRAMMAR:illative|{{SITENAME}}}}.',
 'recentchanges-feed-description' => 'Dán siiddus sáhtat čuovvut varas {{GRAMMAR:illative|{{SITENAME}}}} rievdadusaid.',
 'rcnote' => 'Vuollin {{PLURAL:$1|lea okta rievdadus|leat $1 varas rievdadusa}} {{PLURAL:$2|ovtta beaivvi|$2 maŋimus jándora}} áigge gitta $3 rádjái.',
 'rcnotefrom' => "Vuolábealde leat rievdadusat '''$2''' rájes. Eanemusta '''$1''' mearkkastaga čájehuvvo.",
@@ -614,7 +657,7 @@ $1 {{int:pipe-separator}} $2',
 'uploadedfiles' => 'Lasihuvvon fiillat',
 'ignorewarning' => 'Vurke fuolatkeahttá varuhusas',
 'minlength1' => 'Fiilla namas ferte leat unnimustá okta mearka.',
-'badfilename' => 'Fiilla nama rievdaduvvui: $1.',
+'badfilename' => 'Fiila namma lea rievdaduvvon. Ođđa namma lea "$1".',
 'filetype-missing' => 'Fiillas vailui fiilageažus – ovdamearkkan <tt>.jpg</tt>.',
 'large-file' => 'Fiilla max. sturrodat lea $1. Fiila man lasihit lea $2.',
 'largefileserver' => 'Dát fiila lea menddo stuoris.',
@@ -703,7 +746,7 @@ $1 {{int:pipe-separator}} $2',
 'unwatchedpages' => 'Čuovvotkeahtes siiddut',
 
 # List redirects
-'listredirects' => 'Ođđasitstivremat',
+'listredirects' => 'Listu ođđasitstivremiin',
 
 # Unused templates
 'unusedtemplates' => 'Geavatkeahtes mállevuođut',
@@ -767,6 +810,8 @@ $1 {{int:pipe-separator}} $2',
 'deadendpages' => 'Siiddut, main eai leat liŋkkat',
 'deadendpagestext' => 'Čuovvovaš siidduin eai leat liŋkkat eara siidduide dán wikis.',
 'protectedpages' => 'Suodjáluvvon siiddut',
+'protectedpages-indef' => 'Beare siiddut, maid suodjaleapmi lea bissovaš',
+'protectedpages-cascade' => 'Beare siiddut, maid suodjaleapmi lea viiddiduvvon',
 'protectedpagestext' => 'Čuovvovaš siiddut leat suodjáluvvon sirdimiin ja rievdadusain',
 'listusers' => 'Geavaheaddjilistu',
 'newpages' => 'Ođđa siiddut',
@@ -817,6 +862,14 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'listusers-submit' => 'Oza',
 'listusers-noresult' => 'Geavaheaddjit eai dihtton. Dárkis maid sierra bustávasturrodagat.',
 
+# Special:ActiveUsers
+'activeusers' => 'Listu aktiivvalaš geavaheddjiin',
+'activeusers-intro' => 'Dát lea listu geavaheddjiin, mat leat bargan juoidá maŋimus $1 {{PLURAL:$1|beaivvi|beaivvi}} siste.',
+'activeusers-count' => '$1 {{PLURAL:$1|rievdadus|rievdadusa}} maŋimus $3 beaivvi siste',
+'activeusers-from' => 'Čájet geavaheddjiid dán rájes:',
+'activeusers-hidebots' => 'Čiega bohtaid',
+'activeusers-hidesysops' => 'Čiega administráhtoriid',
+
 # E-mail user
 'mailnologin' => 'Sáddejeaddji čujuhus váilo',
 'mailnologintext' => 'Don fertet leat [[Special:UserLogin|čálligoahtán sisa]] ja du [[Special:Preferences|ásahusain]] ferte leat gelbbolaš ja <strong>sihkarastojuvvon</strong> e-poastačujuhus, ovdalgo sáhtat sáddet e-poasta eará geavaheddjiide.',
@@ -923,6 +976,8 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 'protect-summary-cascade' => 'viiddiduvvon',
 'protect-expiring' => 'boarásnuvvá $1',
 'protect-cascade' => 'Viididt suodjálusa guoskat buot siidduit, mat gullet dán siidui',
+'protect-othertime' => 'Eará áigi:',
+'protect-othertime-op' => 'eará áigi',
 'protect-expiry-options' => '2 diimma:2 hours,1 beaivi:1 day,3 beaivve:3 days,1 vahkku:1 week,2 vahkku:2 weeks,1 mánotbádji:1 month,3 mánotbaji:3 months,6 mánotbaji:6 months,1 jahki:1 year,bissovaš:infinite',
 'restriction-type' => 'Rádjehus',
 'restriction-level' => 'Suodjálus',
@@ -933,6 +988,7 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 # Restrictions (nouns)
 'restriction-edit' => 'rievdádeapmi',
 'restriction-move' => 'sirdin',
+'restriction-upload' => 'Fiilla vurken',
 
 # Restriction levels
 'restriction-level-sysop' => 'ollislaččat suodjáluvvon',
@@ -961,7 +1017,9 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 
 # Contributions
 'contributions' => 'Geavaheaddji rievdadusat',
+'contributions-title' => 'Geavaheaddji $1 rievdadusat',
 'mycontris' => 'Rievdadusat',
+'uctop' => '(ođđaseamos)',
 'month' => 'Mánotbadji',
 'year' => 'Jahki',
 
@@ -987,7 +1045,10 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 'whatlinkshere-links' => 'liŋkkat',
 
 # Block/unblock
+'block' => 'Cagge geavaheaddji',
 'blockip' => 'Eastte rievdadusaid',
+'blockip-title' => 'Cagge geavaheaddji',
+'blockip-legend' => 'Cagge geavaheaddji',
 'ipadressorusername' => 'IP-čujuhus dahje geavaheaddjidovddaldat',
 'ipbexpiry' => 'Guhkkodat',
 'ipbreason' => 'Sivva',
@@ -1014,6 +1075,7 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 'ipb-edit-dropdown' => 'Rievdat sivaid',
 'ipb-unblock-addr' => 'Sihko geavaheaddji $1 estema',
 'ipb-unblock' => 'Sihko geavaheaddji dahje IP-čujuhusa rievdadaneasttu',
+'ipblocklist' => 'Listu cakkojuvvon IP-adreassain ja geavaheddjiin',
 'ipblocklist-submit' => 'Oza',
 'infiniteblock' => 'bissovaččat',
 'expiringblock' => 'boarásnuvvá $1 $2',
@@ -1038,6 +1100,7 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 'move-watch' => 'Čuovo dán siiddu',
 'movepagebtn' => 'Sirdde siiddu',
 'pagemovedsub' => 'Sirdin lihkosmuvai',
+'talkexists' => "'''Siiddu sirdin iešalddes lihkosmuvai, earret siiddu ságastallansiiddu sirdin daningo ođđa bájilčálas lea jo ságastallansiidu. Leage buorre ja sirdde ságastallamiid manuálalažžat.'''",
 'movedto' => 'Sirdojuvvun ođđa bájilčállagin',
 'movetalk' => 'Sirdde maid ságastallansiiddu.',
 'movelogpage' => 'Sirdinlogga',
@@ -1048,15 +1111,17 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 'delete_and_move_confirm' => 'Sihko siiddu',
 
 # Export
+'export' => 'Olggosfievrrit siidduid',
 'export-addcat' => 'Lasit',
 'export-download' => 'Vurke fiillan',
 
 # Namespace 8 related
-'allmessages' => 'Vuogádatdieđáhusat',
+'allmessages' => 'Buot systemasánit',
 'allmessagesname' => 'Namma',
 'allmessagescurrent' => 'Dálá teaksta',
 
 # Thumbnails
+'thumbnail-more' => 'Stuorit',
 'filemissing' => 'Fiila váilo',
 
 # Special:Import
@@ -1123,6 +1188,7 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 'tooltip-recreate' => 'Álggat dán siiddu ođđasit',
 
 # Attribution
+'anonymous' => '{{SITENAME}}-siiddu anonyma {{PLURAL:$1|geavaheaddji|geavaheaddjit}}',
 'siteuser' => '{{GRAMMAR:genitive|{{SITENAME}}}} geavaheaddji $1',
 'others' => 'earát',
 'siteusers' => '{{GRAMMAR:genitive|{{SITENAME}}}} geavaheaddji(t) $1',
@@ -1139,6 +1205,7 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 'nextdiff' => 'Čuovvovaš rievdadus →',
 
 # Media information
+'thumbsize' => 'Thumbnail sturrodat:',
 'widthheightpage' => '$1 × $2, $3 siiddut',
 
 # Special:NewFiles
@@ -1219,6 +1286,7 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 'scarytranscludetoolong' => '[Čujuhus lea menddo guhkki]',
 
 # Delete conflict
+'deletedwhileediting' => "'''Cuiggodus''': Dát siidu lea sihkkojuvvon das maŋŋá go leat álggahan ođasmahttit dan!",
 'recreate' => 'Álggat ođđasit',
 
 # action=purge
@@ -1240,7 +1308,7 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 'table_pager_empty' => 'Eai bohtosat',
 
 # Auto-summaries
-'autoredircomment' => 'Ođđasitstivrejuvvo siidui [[$1]]',
+'autoredircomment' => 'Ođđasitstivrejuvvo [[$1]]-siidui',
 'autosumm-new' => 'Ođđa siidu: $1',
 
 # Size units
@@ -1267,4 +1335,11 @@ Siiddus $2 lea listu maŋimus sihkomiin.',
 # Special:SpecialPages
 'specialpages' => 'Erenomáš siiddut',
 
+# New logging system
+'logentry-delete-delete' => '$1 sihkui siiddu $3',
+'logentry-move-move' => '$1 sirddii siiddu $3 nammii $4',
+'logentry-move-move_redir-noredirect' => '$1 sirddii siiddu $3 nammii $4 iige ráhkadan ođđasitstivrema',
+'logentry-newusers-create' => '$1 ráhkadii dovddaldaga',
+'logentry-newusers-autocreate' => 'Dovddaldat $1 ráhkaduvvui automáhtalaččat',
+
 );
index 4fc6564..d7d74c0 100644 (file)
@@ -670,7 +670,7 @@ Informacion: (curt) = quiíxde vercion currentua,
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|quiix|quíix}}',
 'recentchanges' => 'Camjöx cmaa',
-'recentchangestext' => 'Caitom camjöx cmaa quiíx zode Wiki zo jan páhina iti.',
+'recentchanges-summary' => 'Caitom camjöx cmaa quiíx zode Wiki zo jan páhina iti.',
 'recentchanges-feed-description' => 'Caitom camjöx cmaa quiíx zode Wiki zo jan fiiyt iti.',
 'rcnote' => "!-cmaa coccebj {{PLURAL:$1|'''1''' quiixde|'''$1''' hunquiíxde}} {{PLURAL:$2|'''1''' hunzaah|'''$2''' hunixaáp}} zo iti, $3 'de.",
 'rcnotefrom' => "!-cmaa coccebj quiíx zode '''$2''' (plusöxiti '''$1''' visi).",
index 37e544a..1b99be8 100644 (file)
@@ -704,6 +704,8 @@ Kėtė admėnėstratuorē šėtom pruojekte vėsdar galės pasėiktė pasliepta
 
 # Diffs
 'history-title' => 'Poslapė „$1“ istuorėjė',
+'difference-title' => '$1: Skėrtoms terp redakcėju',
+'difference-title-multipage' => '$1 ė $2: Skėrtoms terp poslapiu',
 'lineno' => 'Eilotė $1:',
 'compareselectedversions' => 'Palīgintė pasėrinktas versėjės',
 'editundo' => 'atšauktė',
@@ -897,7 +899,7 @@ Ana gal sodarītė ne daugiau kāp $1 {{PLURAL:$1|sėmbuolis|sėmbuolē|sėmbuol
 'nchanges' => '$1 {{PLURAL:$1|pakeitėms|pakeitėmā|pakeitėmu}}',
 'recentchanges' => 'Vielībė̅jė pakeitėmā',
 'recentchanges-legend' => 'Vielībuju pakeitėmu pasėrinkėmā',
-'recentchangestext' => 'Tamė poslapī īr patīs vielībė̅ jė paketėmā tom pruojėktė.',
+'recentchanges-summary' => 'Tamė poslapī īr patīs vielībė̅ jė paketėmā tom pruojėktė.',
 'recentchanges-feed-description' => 'Keravuokėt patius vielībiausius pakeitėmus pruojektō tamė šaltėnī.',
 'recentchanges-label-newpage' => 'Šėto keitėmo sukurts naus poslapis',
 'recentchanges-label-minor' => 'Tas īr mažos pataisīms',
index c4ea0eb..52ab42f 100644 (file)
@@ -1536,7 +1536,7 @@ Ako izaberete da date ime, biće korišteno za pripisivanje Vašeg rada.',
 'nchanges' => '$1 {{PLURAL:$1|izmjena|izmjene|izmjena}}',
 'recentchanges' => 'Nedavne izmjene',
 'recentchanges-legend' => 'Postavke za Nedavne promjene',
-'recentchangestext' => 'Na ovoj stranici možete pratiti nedavne izmjene.',
+'recentchanges-summary' => 'Na ovoj stranici možete pratiti nedavne izmjene.',
 'recentchanges-feed-description' => 'Praćenje nedavnih izmjena na ovom wikiju u ovom feedu.',
 'recentchanges-label-newpage' => 'Ovom izmjenom je stvorena nova stranica',
 'recentchanges-label-minor' => 'Ovo je manja izmjena',
index 282e2b8..6cd98ab 100644 (file)
@@ -761,7 +761,7 @@ Izdar ad urtili ɣ isbidn n mayllan ɣ {{SITENAME}} .',
 'nchanges' => '$1 imbddln {{PLURAL:$1||s}}',
 'recentchanges' => 'Imbddeln imggura',
 'recentchanges-legend' => 'Tixtiɣitin (options) n imbddl imaynutn',
-'recentchangestext' => 'Ml imbddln imaynutn  n wiki ɣ tasna yad',
+'recentchanges-summary' => 'Ml imbddln imaynutn  n wiki ɣ tasna yad',
 'recentchanges-feed-description' => 'Tfr imbddln imggura n wiki yad ɣ usuddm',
 'recentchanges-label-newpage' => 'Ambddl ad ar iskar yakka yat tasna tamaynut.',
 'recentchanges-label-minor' => 'Imbddl ifssusn',
index 587aef4..d05a354 100644 (file)
@@ -1153,7 +1153,7 @@ $1",
 'mergelogpagetext' => 'එක් පිටු ඉතිහාසයක් තවකක් හා සමග ඉතා මෑතදී සිදුවූ ඒකාබද්ධ වීම් දැක්වෙන ලැයිස්තුවක් පහත වේ.',
 
 # Diffs
-'history-title' => '"$1"හි සංශෝධන ඉතිහාසය',
+'history-title' => '$1:  සංශෝධන ඉතිහාසය',
 'difference-multipage' => 'පිටු අතර වෙනස',
 'lineno' => 'පේළිය $1:',
 'compareselectedversions' => 'තෝරාගත් සංශෝධන සසඳන්න',
@@ -1514,7 +1514,7 @@ HTML ටැගයන් පිරික්සන්න.',
 'nchanges' => '$1 {{PLURAL:$1|වෙනස්වීම|වෙනස්වීම්}}',
 'recentchanges' => 'මෑත වෙනස්කිරීම්',
 'recentchanges-legend' => '‍නව වෙනස්වීම් සැකසුම් තෝරාගැනීම',
-'recentchangestext' => 'මෙම පිටුවේ විකියට සිදුකල ඉතා මෑත වෙනස්වීම් පසුහඹන්න.',
+'recentchanges-summary' => 'මෙම පිටුවේ විකියට සිදුකල ඉතා මෑත වෙනස්වීම් පසුහඹන්න.',
 'recentchanges-feed-description' => 'මෙම පෝෂකයෙහි විකියට බොහෝ මෑතදී සිදුකල වෙනස්වීම් හෙළිකරන්න.',
 'recentchanges-label-newpage' => 'මෙම සංස්කරණය නව පිටුවක් නිර්මාණය කරන ලදී',
 'recentchanges-label-minor' => 'මෙය සුළු සංස්කරණයකි',
index 2f568e9..71dc43c 100644 (file)
@@ -1242,9 +1242,9 @@ Uistite sa, že táto zmena zachová historickú kontinuitu zmien stránky.',
 'mergelogpagetext' => 'Dolu je zoznam posledných zlúčení jednej histórie revízií stránky do druhej.',
 
 # Diffs
-'history-title' => 'História revízií „$1“',
-'difference-title' => 'Rozdiel medzi revíziami „$1“',
-'difference-title-multipage' => 'Rozdiel medzi stránkami „$1“ a „$2“',
+'history-title' => ' $1: História revízií',
+'difference-title' => '$1: Rozdiel medzi revíziami',
+'difference-title-multipage' => '$1 a $2: Rozdiel medzi stránkami',
 'difference-multipage' => '(Rozdiel medzi stránkami)',
 'lineno' => 'Riadok $1:',
 'compareselectedversions' => 'Porovnať označené verzie',
@@ -1339,6 +1339,7 @@ Uistite sa, že táto zmena zachová historickú kontinuitu zmien stránky.',
 'prefs-beta' => 'Nové funkcie',
 'prefs-datetime' => 'Dátum a čas',
 'prefs-labs' => 'Laboratórne funkcie',
+'prefs-user-pages' => 'Stránky používateľa',
 'prefs-personal' => 'Profil',
 'prefs-rc' => 'Posledné úpravy',
 'prefs-watchlist' => 'Sledované stránky',
@@ -1599,7 +1600,7 @@ Musí obsahovať menej ako $1 {{PLURAL:$1|znak|znaky|znakov}}.',
 'nchanges' => '$1 {{PLURAL:$1|zmena|zmeny|zmien}}',
 'recentchanges' => 'Posledné úpravy',
 'recentchanges-legend' => 'Možnosti posledných zmien',
-'recentchangestext' => 'Pomocou tejto stránky sledujete posledné úpravy wiki.',
+'recentchanges-summary' => 'Pomocou tejto stránky sledujete posledné úpravy wiki.',
 'recentchanges-feed-description' => 'Sledovať posledné úpravy tejto wiki týmto kanálom.',
 'recentchanges-label-newpage' => 'Táto úprava vytvorila novú stránku.',
 'recentchanges-label-minor' => 'Toto je drobná úprava',
@@ -1805,14 +1806,15 @@ Ak problém pretrváva, kontaktujte [[Special:ListUsers/sysop|správcu systému]
 'backend-fail-writetemp' => 'Nebolo možné zapísať do dočasného súboru.',
 'backend-fail-closetemp' => 'Nebolo možné zatvoriť dočasný súbor.',
 'backend-fail-read' => 'Nebolo možné prečítať súbor „$1“.',
-'backend-fail-create' => 'Nebolo možné vytvoriť súbor „$1“.',
-'backend-fail-maxsize' => 'Súbor $1 nie je možné vytvoriť, pretože je väčší ako {{PLURAL:$2|$2 bajtov|$2 bajt}}.',
+'backend-fail-create' => 'Nebolo možné zapísať súbor $1.',
+'backend-fail-maxsize' => 'Nie je možné zapísať súbor  $1  pretože je väčší ako  {{PLURAL:$2| jeden byte| $2  bajtov}}.',
 'backend-fail-readonly' => 'Úložisko „$1“ je momentálne v režime len na čítanie. Udaný dôvod: „$2“',
 'backend-fail-synced' => 'Súbor „$1“ je v nekonzistentnom stave v rámci vnútorného úložiska',
 'backend-fail-connect' => 'Nepodarilo sa pripojiť k úložisku „$1“.',
 'backend-fail-internal' => 'Vyskytla sa neznáma chyba v úložisku „$1“.',
 'backend-fail-contenttype' => 'Nebolo možné určiť typ obsahu súboru, ktorý sa má uložiť na „$1“.',
 'backend-fail-batchsize' => 'Do úložiska bola zaslaná dávka s $1 {{PLURAL:$1|operáciou|operáciami}}; limit je $2 {{PLURAL:$2|operácia|operácie|operácií}}.',
+'backend-fail-usable' => 'Nie je možné zapísať súbor  $1  kvôli nedostatočným povoleniam alebo chýbajúcim adresárom/kontajnerom.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Nepodarilo sa pripojiť k žurnálovej databáze úložiska „$1“.',
@@ -1874,7 +1876,6 @@ Aby bolo zabezpečenie optimálne, img_auth.php je vypnutý.',
 'http-curl-error' => 'Chyba pri sťahovaní URL: $1',
 'http-host-unreachable' => 'URL nie je dostupný',
 'http-bad-status' => 'Počas požiadavky HTTP nastal problém: $1 $2',
-'http-truncated-body' => 'Telo požiadavky bolo prijaté iba čiastočne.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Nedostupný URL',
index 9311a1c..6f50a4d 100644 (file)
@@ -1156,9 +1156,9 @@ Upoštevajte, da bo uporaba navigacijskih gumbov ponastavila ta stolpec.',
 'mergelogpagetext' => 'Prikazan je seznam nedavnih združevanj zgodovin strani.',
 
 # Diffs
-'history-title' => 'Zgodovina strani »$1«',
-'difference-title' => 'Razlika med redakcijama »$1«',
-'difference-title-multipage' => 'Razlika med stranema »$1« in »$2«',
+'history-title' => '$1: Zgodovina strani',
+'difference-title' => '$1: Razlika med redakcijama',
+'difference-title-multipage' => '$1 in $2: Razlika med stranema',
 'difference-multipage' => '(Razlika med stranmi)',
 'lineno' => 'Vrstica $1:',
 'compareselectedversions' => 'Primerjaj izbrani redakciji',
@@ -1255,6 +1255,7 @@ Upoštevajte, da so njihovi podatki vsebine {{GRAMMAR:rodilnik|{{SITENAME}}}} mo
 'prefs-beta' => 'Betafunkcije',
 'prefs-datetime' => 'Datum in čas',
 'prefs-labs' => 'Funkcije laboratorija',
+'prefs-user-pages' => 'Uporabniške strani',
 'prefs-personal' => 'Podatki o uporabniku',
 'prefs-rc' => 'Zadnje spremembe',
 'prefs-watchlist' => 'Spisek nadzorov',
@@ -1520,7 +1521,7 @@ Ko vas drugi uporabniki kontaktirajo, jim vašega e-poštnega naslova ne bomo ra
 'nchanges' => '$1 {{PLURAL:$1|sprememba|spremembi|spremembe|sprememb|sprememb}}',
 'recentchanges' => 'Zadnje spremembe',
 'recentchanges-legend' => 'Možnosti zadnjih sprememb',
-'recentchangestext' => 'Na tej strani lahko spremljajte najnedavnejše spremembe wikija.',
+'recentchanges-summary' => 'Na tej strani lahko spremljajte najnedavnejše spremembe wikija.',
 'recentchanges-feed-description' => 'Spremljajte najnovejše spremembe wikija prek tega vira.',
 'recentchanges-label-newpage' => 'S tem urejanjem je bila ustvarjena nova stran',
 'recentchanges-label-minor' => 'Manjše urejanje',
@@ -1733,14 +1734,15 @@ Prosimo, preverite veljavnost in dostopnost naslova URL ter poskusite ponovno.
 'backend-fail-writetemp' => 'Ne morem pisati v začasno datoteko.',
 'backend-fail-closetemp' => 'Ne morem zapreti začasne datoteke.',
 'backend-fail-read' => 'Ne morem brati datoteke $1.',
-'backend-fail-create' => 'Ne morem ustvariti datoteke $1.',
-'backend-fail-maxsize' => 'Ne morem ustvariti datoteke $1, kjer je večja od {{PLURAL:$2|$2 bajta|$2 bajtov}}.',
+'backend-fail-create' => 'Ne morem zapisati datoteke $1.',
+'backend-fail-maxsize' => 'Ne morem zapisati datoteke $1, ker je večja od $2 {{PLURAL:$2|bajta|bajtov}}.',
 'backend-fail-readonly' => 'Skladiščno zaledje »$1« je trenutno označeno samo za branje. Podan razlog je: »$2«',
 'backend-fail-synced' => 'Datoteka »$1« je v neskladnem stanju z notranjimi skladiščnimi zaledji',
 'backend-fail-connect' => 'Ne morem se povezati s skladiščnim zaledjem »$1«.',
 'backend-fail-internal' => 'V skladiščnem zaledju »$1« je prišlo do neznane napake.',
 'backend-fail-contenttype' => 'Ne morem določiti vrsto vsebine datoteke za shranjevanje pri »$1«.',
 'backend-fail-batchsize' => 'Skladiščnemu zaledju je dana vrsta $1 {{PLURAL:$1|datotečne operacije|datotečnih operacij}}; omejitev {{PLURAL:$2|je $2 operacija|sta $2 operaciji|so $2 operacije|je $2 operacij}}.',
+'backend-fail-usable' => 'Ne morem zapisati datoteke $1 zaradi nezadostnih dovoljenj ali manjkajočega imenika/vsebnika.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Ne morem se povezati z listovno zbirko podatkov za skladiščno zaledje »$1«.',
@@ -1803,7 +1805,6 @@ Za optimalno varnost je img_auth.php onemogočen.',
 'http-curl-error' => 'Napaka pri doseganju URL: $1',
 'http-host-unreachable' => 'Ni mogoče doseči URL.',
 'http-bad-status' => 'Med zahtevo HTTP je prišlo do težave: $1 $2',
-'http-truncated-body' => 'Prejeli smo samo del telesa zahteve.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Ni možno doseči URL',
index 24e9a02..ae7c2e5 100644 (file)
@@ -1007,7 +1007,7 @@ Stelle sicher, doaß de Versionsgeschichte anner Seite historisch korrekt ies.',
 'nchanges' => '$1 {{PLURAL:$1|Ännerong|Änneronga}}',
 'recentchanges' => 'Foarchte Verändarunga',
 'recentchanges-legend' => 'Oazeigeoptiona',
-'recentchangestext' => "Uff dieser Seite koanst du de letzta Änderunga uff '''{{SITENAME}}''' noachverfulga.",
+'recentchanges-summary' => "Uff dieser Seite koanst du de letzta Änderunga uff '''{{SITENAME}}''' noachverfolga.",
 'recentchanges-feed-description' => 'Verfolge miet diesem Feed de letzta Änneronga ei {{SITENAME}}.',
 'recentchanges-label-newpage' => 'Neue Seite',
 'recentchanges-label-minor' => 'Klenne Änderung',
index 952dcf3..e92fe25 100644 (file)
@@ -848,7 +848,7 @@ E-mailkaada mala sheegaayo markii ee dadka kale kula soo xiriirayaan.',
 'nchanges' => '$1 {{PLURAL:$1|bedelka|bedelada}}',
 'recentchanges' => 'Isbedelada dhow',
 'recentchanges-legend' => 'Dooqyada isbedelada dhow',
-'recentchangestext' => 'Dabagal isbedelada dhow ee wikiga oo ku dhacay bogaan.',
+'recentchanges-summary' => 'Dabagal isbedelada dhow ee wikiga ee ku dhacay bogaan.',
 'recentchanges-feed-description' => 'Dabagal isbedelada dhow ee wikiga oo ku dhacay feedkaan',
 'recentchanges-label-newpage' => 'Wax bedelkaan wuxuu sameeyay bog cusub',
 'recentchanges-label-minor' => 'Kan waa bedel yar',
index eecf85f..3ca1e95 100644 (file)
@@ -63,6 +63,7 @@ $namespaceGenderAliases = array(
 );
 
 $specialPageAliases = array(
+       'Activeusers'               => array( 'PërdoruesitAktivë' ),
        'Allmessages'               => array( 'TëgjithaMesazhet' ),
        'Allpages'                  => array( 'TëgjithaFaqet' ),
        'Ancientpages'              => array( 'FaqetAntike' ),
@@ -71,7 +72,9 @@ $specialPageAliases = array(
        'Blockme'                   => array( 'BllokomMua' ),
        'Booksources'               => array( 'BurimeteLibrave' ),
        'Categories'                => array( 'Kategori' ),
+       'ChangeEmail'               => array( 'NdryshoEmail' ),
        'ChangePassword'            => array( 'NdryshoFjalëkalimin' ),
+       'ComparePages'              => array( 'KrahasoFaqet' ),
        'Confirmemail'              => array( 'KonfirmoEmail' ),
        'Contributions'             => array( 'Kontributet' ),
        'CreateAccount'             => array( 'HapLlogari' ),
@@ -125,6 +128,10 @@ $specialPageAliases = array(
 
 $magicWords = array(
        'redirect'                => array( '0', '#RIDREJTO', '#REDIRECT' ),
+       'notoc'                   => array( '0', '__JOTP__', '__NOTOC__' ),
+       'nogallery'               => array( '0', '__JOGALERI__', '__NOGALLERY__' ),
+       'toc'                     => array( '0', '__TP__', '__TOC__' ),
+       'noeditsection'           => array( '0', '__JOREDAKTIMSEKSIONI__', '__NOEDITSECTION__' ),
        'currentmonth'            => array( '1', 'MUAJIMOMENTAL', 'MUAJIMOMENTAL2', 'CURRENTMONTH', 'CURRENTMONTH2' ),
        'currentmonth1'           => array( '1', 'MUAJIMOMENTAL1', 'CURRENTMONTH1' ),
        'currentmonthname'        => array( '1', 'EMRIIMUAJITMOMENTAL', 'CURRENTMONTHNAME' ),
@@ -145,10 +152,12 @@ $magicWords = array(
        'numberofpages'           => array( '1', 'NUMRIFAQEVE', 'NUMBEROFPAGES' ),
        'numberofarticles'        => array( '1', 'NUMRIIARTIKUJVE', 'NUMBEROFARTICLES' ),
        'numberoffiles'           => array( '1', 'NUMRIISKEDAVE', 'NUMBEROFFILES' ),
-       'numberofusers'           => array( '1', 'NUMRIPËRDORUESVE', 'NUMBEROFUSERS' ),
+       'numberofusers'           => array( '1', 'NUMRIIPËRDORUESVE', 'NUMRIPËRDORUESVE', 'NUMBEROFUSERS' ),
+       'numberofactiveusers'     => array( '1', 'NUMRIIPËRDORUESVEAKTIVË', 'NUMBEROFACTIVEUSERS' ),
        'numberofedits'           => array( '1', 'NUMRIREDAKTIMEVE', 'NUMBEROFEDITS' ),
        'numberofviews'           => array( '1', 'NUMRIISHIKIMEVE', 'NUMBEROFVIEWS' ),
        'pagename'                => array( '1', 'EMRIFAQES', 'PAGENAME' ),
+       'namespace'               => array( '1', 'HAPËSIRA', 'NAMESPACE' ),
        'fullpagename'            => array( '1', 'EMRIIPLOTËIFAQES', 'FULLPAGENAME' ),
        'fullpagenamee'           => array( '1', 'EMRIIPLOTËIFAQESE', 'FULLPAGENAMEE' ),
        'subpagename'             => array( '1', 'EMRIINËNFAQES', 'SUBPAGENAME' ),
@@ -163,7 +172,7 @@ $magicWords = array(
        'img_right'               => array( '1', 'djathtas', 'right' ),
        'img_left'                => array( '1', 'majtas', 'left' ),
        'img_none'                => array( '1', 's\'ka', 'none' ),
-       'img_center'              => array( '1', 'qëndër', 'qëndrore', 'center', 'centre' ),
+       'img_center'              => array( '1', 'qendër', 'qendrore', 'center', 'centre' ),
        'img_framed'              => array( '1', 'i_kornizuar', 'pa_kornizë', 'kornizë', 'framed', 'enframed', 'frame' ),
        'img_page'                => array( '1', 'faqja=$1', 'faqja $1', 'page=$1', 'page $1' ),
        'img_upright'             => array( '1', 'lartdjathtas', 'lartdjathtas=$1', 'lartdjathtas $1', 'upright', 'upright=$1', 'upright $1' ),
@@ -175,15 +184,20 @@ $magicWords = array(
        'img_bottom'              => array( '1', 'fund', 'bottom' ),
        'img_text_bottom'         => array( '1', 'tekst-fund', 'text-bottom' ),
        'img_link'                => array( '1', 'lidhje=$1', 'link=$1' ),
-       'sitename'                => array( '1', 'EMRIIFAQES', 'SITENAME' ),
+       'sitename'                => array( '1', 'EMRIISAJTIT', 'SITENAME' ),
        'localurl'                => array( '0', 'URLLOKALE', 'LOCALURL:' ),
        'server'                  => array( '0', 'SERVERI', 'SERVER' ),
        'servername'              => array( '0', 'EMRIISERVERIT', 'SERVERNAME' ),
        'grammar'                 => array( '0', 'GRAMATIKA:', 'GRAMMAR:' ),
+       'gender'                  => array( '0', 'GJINIA:', 'GENDER:' ),
        'currentweek'             => array( '1', 'JAVAMOMENTALE', 'CURRENTWEEK' ),
        'plural'                  => array( '0', 'SHUMËS:', 'PLURAL:' ),
+       'fullurl'                 => array( '0', 'URLEPLOTË', 'FULLURL:' ),
        'language'                => array( '0', '#GJUHA:', '#LANGUAGE:' ),
+       'numberofadmins'          => array( '1', 'NUMRIIADMINISTRUESVE', 'NUMBEROFADMINS' ),
        'special'                 => array( '0', 'speciale', 'special' ),
+       'hiddencat'               => array( '1', '__KATEGORIEFSHEHUR__', '__HIDDENCAT__' ),
+       'pagesize'                => array( '1', 'MADHËSIAEFAQES', 'PAGESIZE' ),
 );
 
 $datePreferences = array(
@@ -1498,7 +1512,7 @@ Kjo informatë është publike.',
 'nchanges' => '$1 {{PLURAL:$1|ndryshim|ndryshime}}',
 'recentchanges' => 'Ndryshime së fundmi',
 'recentchanges-legend' => 'Zgjedhjet e ndryshimeve momentale',
-'recentchangestext' => 'Ndiqni ndryshime së fundmi tek kjo faqe.',
+'recentchanges-summary' => 'Ndiqni ndryshime së fundmi tek kjo faqe.',
 'recentchanges-feed-description' => 'Ndjek ndryshimet më të fundit në wiki tek kjo fushë.',
 'recentchanges-label-newpage' => 'Ky redaktim krijoi një faqe të re',
 'recentchanges-label-minor' => 'Ky është një editim i vogël',
index 1863631..2e95365 100644 (file)
@@ -29,7 +29,7 @@
  */
 
 $namespaceNames = array(
-       NS_MEDIA            => 'Медија',
+       NS_MEDIA            => 'Медиј',
        NS_SPECIAL          => 'Посебно',
        NS_TALK             => 'Разговор',
        NS_USER             => 'Корисник',
@@ -66,6 +66,7 @@ $namespaceAliases = array(
        'Kategorija'              => NS_CATEGORY,
        'Razgovor_o_kategoriji'   => NS_CATEGORY_TALK,
 
+       'Медија'                  => NS_MEDIA,
        'Слика'                   => NS_FILE,
        'Разговор_о_слици'        => NS_FILE_TALK,
        'МедијаВики'              => NS_MEDIAWIKI,
@@ -723,13 +724,13 @@ $1',
 # General errors
 'error' => 'Грешка',
 'databaseerror' => 'Грешка у бази података',
-'dberrortext' => 'Ð\94оÑ\88ло Ñ\98е Ð´Ð¾ Ñ\81инÑ\82акÑ\81не грешке у бази.
+'dberrortext' => 'Ð\94оÑ\88ло Ñ\98е Ð´Ð¾ Ñ\81инÑ\82акÑ\82иÑ\87ке грешке у бази.
 Можда се ради о грешци у софтверу.
 Последњи покушај упита је гласио:
 <blockquote><tt>$1</tt></blockquote>
 унутар функције „<tt>$2</tt>“.
 База података је пријавила грешку „<tt>$3: $4</tt>“.',
-'dberrortextcl' => 'Ð\94оÑ\88ло Ñ\98е Ð´Ð¾ Ñ\81инÑ\82акÑ\81не грешке у бази.
+'dberrortextcl' => 'Ð\94оÑ\88ло Ñ\98е Ð´Ð¾ Ñ\81инÑ\82акÑ\82иÑ\87ке грешке у бази.
 Последњи покушај упита је гласио:
 „$1“
 унутар функције „$2“.
@@ -798,6 +799,8 @@ $2',
 'filereadonlyerror' => 'Не могу да изменим датотеку „$1“ јер је ризница „$2“ у режиму за читање.
 
 Администратор који ју је закључао понудио је следеће објашњење: „$3“.',
+'invalidtitle-knownnamespace' => 'Неисправан наслов с именским простором „$2“ и текстом „$3“',
+'invalidtitle-unknownnamespace' => 'Неисправан наслов с именским простором бр. $1 и текстом „$2“',
 
 # Virus scanner
 'virus-badscanner' => "Неисправна поставка: непознати скенер за вирусе: ''$1''",
@@ -999,7 +1002,7 @@ $2
 'minoredit' => 'мања измена',
 'watchthis' => 'надгледај ову страницу',
 'savearticle' => 'Сачувај страницу',
-'preview' => 'Претпреглед',
+'preview' => 'Преглед',
 'showpreview' => 'Прикажи претпреглед',
 'showlivepreview' => 'Тренутни преглед',
 'showdiff' => 'Прикажи измене',
@@ -1195,6 +1198,12 @@ $2
 'parser-template-loop-warning' => 'Откривена је петља шаблона: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Дубина укључивања шаблона је прекорачена ($1)',
 'language-converter-depth-warning' => 'Прекорачена је граница дубине језичког претварача ($1)',
+'node-count-exceeded-category' => 'Странице у којима је прекорачен број чворова',
+'node-count-exceeded-warning' => 'Страница у којој је прекорачен број чворова',
+'expansion-depth-exceeded-category' => 'Странице у којима је прекорачена дубина проширења',
+'expansion-depth-exceeded-warning' => 'Страница у којој је прекорачена дубина проширења',
+'parser-unstrip-loop-warning' => 'Утврђена је петља',
+'parser-unstrip-recursion-limit' => 'Прекорачено је ограничење рекурзије ($1)',
 
 # "Undo" feature
 'undo-success' => 'Измена се може вратити.
@@ -1236,7 +1245,7 @@ $2
 
 # Revision feed
 'history-feed-title' => 'Историја измена',
-'history-feed-description' => 'Историја измена ове странице',
+'history-feed-description' => 'Историја измена ове странице на викију',
 'history-feed-item-nocomment' => '$1 у $2',
 'history-feed-empty' => 'Тражена страница не постоји.
 Могуће да је обрисана с викија или је преименована.
@@ -1375,6 +1384,8 @@ $1",
 
 # Diffs
 'history-title' => 'Историја измена за „$1“',
+'difference-title' => 'Разлика између измена странице „$1“',
+'difference-title-multipage' => 'Разлика између страница „$1“ и „$2“',
 'difference-multipage' => '(разлике између страница)',
 'lineno' => 'Ред $1:',
 'compareselectedversions' => 'Упореди изабране измене',
@@ -1739,7 +1750,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|измена|измене|измена}}',
 'recentchanges' => 'Скорашње измене',
 'recentchanges-legend' => 'Поставке скорашњих измена',
-'recentchangestext' => 'Пратите скорашње измене на овој страници.',
+'recentchanges-summary' => 'Пратите скорашње измене на овој страници.',
 'recentchanges-feed-description' => 'Пратите скорашње измене уз помоћ овог довода.',
 'recentchanges-label-newpage' => 'Нова страница',
 'recentchanges-label-minor' => 'Мања измена',
@@ -2729,7 +2740,7 @@ $1',
 # Block/unblock
 'autoblockid' => 'Самоблокирање #$1',
 'block' => 'Блокирај корисника',
-'unblock' => 'Ð\94еблокирај корисника',
+'unblock' => 'Ð\9eдблокирај корисника',
 'blockip' => 'Блокирај корисника',
 'blockip-title' => 'Блокирање корисника',
 'blockip-legend' => 'Блокирај корисника',
@@ -2750,7 +2761,7 @@ $1',
 ** Неприхватљиво корисничко име',
 'ipb-hardblock' => 'Забрани пријављеним корисницима да уређују с ове ИП адресе',
 'ipbcreateaccount' => 'Онемогући отварање налога',
-'ipbemailban' => 'Забрани члану слање е-порука',
+'ipbemailban' => 'Забрани кориснику слање е-порука',
 'ipbenableautoblock' => 'Аутоматски блокирај последњу ИП адресу овог корисника и све даљње адресе с којих покуша да уређује',
 'ipbsubmit' => 'Блокирај овог корисника',
 'ipbother' => 'Друго време:',
@@ -2769,11 +2780,11 @@ $1',
 'ipb-blockingself' => 'Овом радњом ћете блокирати себе! Јесте ли сигурни да то желите?',
 'ipb-confirmhideuser' => 'Управо ћете блокирати корисника с укљученом могућношћу „сакриј корисника“. Овим ће корисничко име бити сакривено у свим списковима и извештајима. Желите ли то да урадите?',
 'ipb-edit-dropdown' => 'Уреди разлоге блокирања',
-'ipb-unblock-addr' => 'Ð\94еблокирај $1',
-'ipb-unblock' => 'Ð\94еблокирај корисничко име или ИП адресу',
+'ipb-unblock-addr' => 'Ð\9eдблокирај $1',
+'ipb-unblock' => 'Ð\9eдблокирај корисничко име или ИП адресу',
 'ipb-blocklist' => 'Погледај постојећа блокирања',
 'ipb-blocklist-contribs' => 'Доприноси за $1',
-'unblockip' => 'Ð\94еблокирај корисника',
+'unblockip' => 'Ð\9eдблокирај корисника',
 'unblockiptext' => 'Користите образац испод да бисте вратили право писања блокираној IP адреси или корисничком имену.',
 'ipusubmit' => 'Уклони ову блокаду',
 'unblocked' => '[[User:$1|$1]] је деблокиран',
@@ -2805,7 +2816,7 @@ $1',
 'ipblocklist-empty' => 'Списак блокирања је празан.',
 'ipblocklist-no-results' => 'Тражена ИП адреса или корисничко име није блокирано.',
 'blocklink' => 'блокирај',
-'unblocklink' => 'деблокирај',
+'unblocklink' => 'одблокирај',
 'change-blocklink' => 'промени блокирање',
 'contribslink' => 'доприноси',
 'emaillink' => 'пошаљи е-поруку',
@@ -2821,7 +2832,7 @@ $1',
 'blocklogtext' => 'Ово је дневник блокирања и деблокирања корисника.
 Аутоматски блокиране ИП адресе нису наведене.
 Текуће забране и блокирања можете наћи [[Special:BlockList|овде]].',
-'unblocklogentry' => '{{GENDER:|Ñ\98е Ð´ÐµÐ±Ð»Ð¾ÐºÐ¸Ñ\80ао|Ñ\98е Ð´ÐµÐ±Ð»Ð¾ÐºÐ¸Ñ\80ала|Ñ\98е Ð´Ðµблокирао}} „$1“',
+'unblocklogentry' => '{{GENDER:|Ñ\98е Ð¾Ð´Ð±Ð»Ð¾ÐºÐ¸Ñ\80ао|Ñ\98е Ð¾Ð´Ð±Ð»Ð¾ÐºÐ¸Ñ\80ала|Ñ\98е Ð¾Ð´блокирао}} „$1“',
 'block-log-flags-anononly' => 'само анонимни корисници',
 'block-log-flags-nocreate' => 'онемогућено отварање налога',
 'block-log-flags-noautoblock' => 'аутоматско блокирање је онемогућено',
@@ -3260,7 +3271,7 @@ $1',
 
 # Patrol log
 'patrol-log-page' => 'Дневник патролирања',
-'patrol-log-header' => 'Ð\9eво Ñ\98е Ð¸Ñ\81Ñ\82оÑ\80иÑ\98а Ð¿Ñ\80егледаних измена.',
+'patrol-log-header' => 'Ð\9eво Ñ\98е Ð´Ð½ÐµÐ²Ð½Ð¸Ðº Ð¿Ð°Ñ\82Ñ\80олиÑ\80аних измена.',
 'log-show-hide-patrol' => '$1 дневник патролирања',
 
 # Image deletion
@@ -3917,7 +3928,7 @@ $5
 
 # Delete conflict
 'deletedwhileediting' => "'''Упозорење''': ова страница је обрисана након што сте почели с уређивањем!",
-'confirmrecreate' => "[[User:$1|$1]] ([[User talk:$1|разговор]]) {{GENDER:$1|је обрисао|је обрисала|обриса}} ову страницу након што сте почели да је уређујете, са следећим разлогом:
+'confirmrecreate' => "[[User:$1|$1]] ([[User talk:$1|разговор]]) {{GENDER:$1|је обрисао|је обрисала|је обрисао}} ову страницу након што сте почели да је уређујете из следећег разлога:
 : ''$2''
 Потврдите да стварно желите да направите страницу.",
 'confirmrecreate-noreason' => 'Корисник [[User:$1|$1]] ([[User talk:$1|разговор]]) је обрисао ову страницу након што сте почели да га уређујете. Потврдите да стварно желите да поново направите ову страницу.',
index aea9fb8..dec59d1 100644 (file)
  */
 
 $namespaceNames = array(
-       NS_MEDIA            => 'Medija',
+       NS_MEDIA            => 'Medij',
        NS_SPECIAL          => 'Posebno',
        NS_TALK             => 'Razgovor',
        NS_USER             => 'Korisnik',
        NS_USER_TALK        => 'Razgovor_sa_korisnikom',
        NS_PROJECT_TALK     => 'Razgovor_o_$1',
-       NS_FILE             => 'Slika',
-       NS_FILE_TALK        => 'Razgovor_o_slici',
-       NS_MEDIAWIKI        => 'MedijaViki',
-       NS_MEDIAWIKI_TALK   => 'Razgovor_o_MedijaVikiju',
+       NS_FILE             => 'Datoteka',
+       NS_FILE_TALK        => 'Razgovor_o_datoteci',
+       NS_MEDIAWIKI        => 'Medijaviki',
+       NS_MEDIAWIKI_TALK   => 'Razgovor_o_Medijavikiju',
        NS_TEMPLATE         => 'Šablon',
        NS_TEMPLATE_TALK    => 'Razgovor_o_šablonu',
        NS_HELP             => 'Pomoć',
@@ -58,6 +58,10 @@ $namespaceAliases = array(
        'Разговор_о_помоћи'       => NS_HELP_TALK,
        'Категорија'              => NS_CATEGORY,
        'Разговор_о_категорији'   => NS_CATEGORY_TALK,
+
+       'Medija'                  => NS_MEDIA,
+       'Slika'                   => NS_FILE,
+       'Razgovor_o_slici'        => NS_FILE_TALK,
 );
 
 $extraUserToggles = array(
@@ -703,6 +707,8 @@ Navedeni razlog: ''$2''.",
 'filereadonlyerror' => 'Ne mogu da izmenim datoteku „$1“ jer je riznica „$2“ u režimu za čitanje.
 
 Administrator koji ju je zaključao ponudio je sledeće objašnjenje: „$3“.',
+'invalidtitle-knownnamespace' => 'Neispravan naslov s imenskim prostorom „$2“ i tekstom „$3“',
+'invalidtitle-unknownnamespace' => 'Neispravan naslov s imenskim prostorom br. $1 i tekstom „$2“',
 
 # Virus scanner
 'virus-badscanner' => "Neispravna postavka: nepoznati skener za viruse: ''$1''",
@@ -1001,6 +1007,7 @@ Prilagođene stranice CSS i javaskript počinju malim slovom, npr. {{ns:user}}:F
 'note' => "'''Napomena:'''",
 'previewnote' => "'''Imajte u vidu da je ovo samo pregled.'''
 Vaše izmene još nisu sačuvane!",
+'continue-editing' => 'Nastavi uređivanje',
 'previewconflict' => 'Ovaj pregled oslikava kako će tekst u tekstualnom okviru izgledati.',
 'session_fail_preview' => "'''Nismo mogli da obradimo vašu izmenu zbog gubitka podataka sesije.'''
 Pokušajte ponovo.
@@ -1099,6 +1106,12 @@ Ovakve argumente bi trebalo izbegavati.",
 'parser-template-loop-warning' => 'Otkrivena je petlja šablona: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Dubina uključivanja šablona je prekoračena ($1)',
 'language-converter-depth-warning' => 'Prekoračena je granica dubine jezičkog pretvarača ($1)',
+'node-count-exceeded-category' => 'Stranice u kojima je prekoračen broj čvorova',
+'node-count-exceeded-warning' => 'Stranica u kojoj je prekoračen broj čvorova',
+'expansion-depth-exceeded-category' => 'Stranice u kojima je prekoračena dubina proširenja',
+'expansion-depth-exceeded-warning' => 'Stranica u kojoj je prekoračena dubina proširenja',
+'parser-unstrip-loop-warning' => 'Utvrđena je petlja',
+'parser-unstrip-recursion-limit' => 'Prekoračeno je ograničenje rekurzije ($1)',
 
 # "Undo" feature
 'undo-success' => 'Izmena se može vratiti.
@@ -1244,7 +1257,7 @@ Pogledajte istoriju.',
 
 # Suppression log
 'suppressionlog' => 'Istorija sakrivanja',
-'suppressionlogtext' => 'Ispod se nalazi spisak brisanja i blokiranja koji uključuje sadržaj sakriven od administratora. Pogledajte [[Special:BlockList|spisak blokiranih IP adresa]] za pregled važećih zabrana i blokiranja.',
+'suppressionlogtext' => 'Ispod se nalazi spisak brisanja i blokiranja koji uključuje sadržaj sakriven od administratora. Tekuće zabrane i blokiranja možete naći [[Special:BlockList|ovde]].',
 
 # History merging
 'mergehistory' => 'Spoji istorije stranica',
@@ -1279,6 +1292,8 @@ Korišćenje navigacionih veza će poništiti ovu kolonu.',
 
 # Diffs
 'history-title' => 'Istorija izmena za „$1“',
+'difference-title' => 'Razlika između izmena stranice „$1“',
+'difference-title-multipage' => 'Razlika između stranica „$1“ i „$2“',
 'difference-multipage' => '(razlike između stranica)',
 'lineno' => 'Red $1:',
 'compareselectedversions' => 'Uporedi izabrane izmene',
@@ -1643,7 +1658,7 @@ Ako izaberete da ga unesete, ono će biti korišćeno za pripisivanje vašeg rad
 'nchanges' => '$1 {{PLURAL:$1|izmena|izmene|izmena}}',
 'recentchanges' => 'Skorašnje izmene',
 'recentchanges-legend' => 'Postavke skorašnjih izmena',
-'recentchangestext' => 'Pratite skorašnje izmene na ovoj stranici.',
+'recentchanges-summary' => 'Ovde pratite najskorije izmene na vikiju.',
 'recentchanges-feed-description' => 'Pratite skorašnje izmene uz pomoć ovog dovoda.',
 'recentchanges-label-newpage' => 'Nova stranica',
 'recentchanges-label-minor' => 'Manja izmena',
@@ -2215,6 +2230,11 @@ Možda sadrži znakove koji se ne mogu koristiti u naslovima.',
 'allpages-bad-ns' => '{{SITENAME}} nema imenski prostor „$1“.',
 'allpages-hide-redirects' => 'Sakrij preusmerenja',
 
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'Gledate keširanu verziju ove stranice, koja može biti stara i do $1.',
+'cachedspecial-viewing-cached-ts' => 'Gledate keširanu verziju ove stranice, koja može da se razlikuje od trenutne.',
+'cachedspecial-refresh-now' => 'Pogledaj najnoviju.',
+
 # Special:Categories
 'categories' => 'Kategorije',
 'categoriespagetext' => '{{PLURAL:$1|Sledeća kategorija sadrži|Sledeće kategorije sadrže}} stranice ili datoteke.
@@ -2628,7 +2648,7 @@ Izveštaj o blokiranim korisnicima se nalazi ispod:',
 # Block/unblock
 'autoblockid' => 'Samoblokiranje #$1',
 'block' => 'Blokiraj korisnika',
-'unblock' => 'Deblokiraj korisnika',
+'unblock' => 'Odblokiraj korisnika',
 'blockip' => 'Blokiraj korisnika',
 'blockip-title' => 'Blokiranje korisnika',
 'blockip-legend' => 'Blokiraj korisnika',
@@ -2649,7 +2669,7 @@ Izaberite konkretan razlog ispod (primer: navođenje konkretnih stranica koje su
 ** Neprihvatljivo korisničko ime',
 'ipb-hardblock' => 'Zabrani prijavljenim korisnicima da uređuju s ove IP adrese',
 'ipbcreateaccount' => 'Onemogući otvaranje naloga',
-'ipbemailban' => 'Zabrani članu slanje e-poruka',
+'ipbemailban' => 'Zabrani korisniku slanje e-poruka',
 'ipbenableautoblock' => 'Automatski blokiraj poslednju IP adresu ovog korisnika i sve daljnje adrese s kojih pokuša da uređuje',
 'ipbsubmit' => 'Blokiraj ovog korisnika',
 'ipbother' => 'Drugo vreme:',
@@ -2664,15 +2684,15 @@ Izaberite konkretan razlog ispod (primer: navođenje konkretnih stranica koje su
 'badipaddress' => 'Neispravna IP adresa',
 'blockipsuccesssub' => 'Blokiranje je uspelo',
 'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] je {{GENDER:$1|blokiran|blokirana|blokiran}}.<br />
-Pogledajte [[Special:BlockList|spisak blokiranih IP adresa]] za pregled blokiranja.',
+Blokiranja možete da pogledate [[Special:BlockList|ovde]].',
 'ipb-blockingself' => 'Ovom radnjom ćete blokirati sebe! Jeste li sigurni da to želite?',
 'ipb-confirmhideuser' => 'Upravo ćete blokirati korisnika s uključenom mogućnošću „sakrij korisnika“. Ovim će korisničko ime biti sakriveno u svim spiskovima i izveštajima. Želite li to da uradite?',
 'ipb-edit-dropdown' => 'Uredi razloge blokiranja',
-'ipb-unblock-addr' => 'Deblokiraj $1',
-'ipb-unblock' => 'Deblokiraj korisničko ime ili IP adresu',
+'ipb-unblock-addr' => 'Odblokiraj $1',
+'ipb-unblock' => 'Odblokiraj korisničko ime ili IP adresu',
 'ipb-blocklist' => 'Pogledaj postojeća blokiranja',
 'ipb-blocklist-contribs' => 'Doprinosi za $1',
-'unblockip' => 'Deblokiraj korisnika',
+'unblockip' => 'Odblokiraj korisnika',
 'unblockiptext' => 'Koristite obrazac ispod da biste vratili pravo pisanja blokiranoj IP adresi ili korisničkom imenu.',
 'ipusubmit' => 'Ukloni ovu blokadu',
 'unblocked' => '[[User:$1|$1]] je deblokiran',
@@ -2704,7 +2724,7 @@ Pogledajte [[Special:BlockList|spisak blokiranih IP adresa]] za pregled blokiran
 'ipblocklist-empty' => 'Spisak blokiranja je prazan.',
 'ipblocklist-no-results' => 'Tražena IP adresa ili korisničko ime nije blokirano.',
 'blocklink' => 'blokiraj',
-'unblocklink' => 'deblokiraj',
+'unblocklink' => 'odblokiraj',
 'change-blocklink' => 'promeni blokiranje',
 'contribslink' => 'doprinosi',
 'emaillink' => 'pošalji e-poruku',
@@ -2719,8 +2739,8 @@ Istorija sakrivanja se nalazi ispod:',
 'reblock-logentry' => '{{GENDER:|je promenio|je promenila|je promenio}} podešavanja za blokiranje {{GENDER:$1|korisnika|korisnice|korisnika}} [[$1]] s rokom isteka od $2 ($3)',
 'blocklogtext' => 'Ovo je dnevnik blokiranja i deblokiranja korisnika.
 Automatski blokirane IP adrese nisu navedene.
-Pogledajte [[Special:BlockList|spisak blokiranih IP adresa]].',
-'unblocklogentry' => '{{GENDER:|je deblokirao|je deblokirala|je deblokirao}} „$1“',
+Tekuće zabrane i blokiranja možete naći [[Special:BlockList|ovde]].',
+'unblocklogentry' => '{{GENDER:|je odblokirao|je odblokirala|je odblokirao}} „$1“',
 'block-log-flags-anononly' => 'samo anonimni korisnici',
 'block-log-flags-nocreate' => 'onemogućeno otvaranje naloga',
 'block-log-flags-noautoblock' => 'automatsko blokiranje je onemogućeno',
@@ -4011,6 +4031,9 @@ Trebalo bi da ste primili [{{SERVER}}{{SCRIPTPATH}}/COPYING primerak GNU-ove op
 'version-software' => 'Instalirani softver',
 'version-software-product' => 'Proizvod',
 'version-software-version' => 'Verzija',
+'version-entrypoints' => 'Adrese ulazne tačke',
+'version-entrypoints-header-entrypoint' => 'Ulazna tačka',
+'version-entrypoints-header-url' => 'Adresa',
 
 # Special:FilePath
 'filepath' => 'Putanja datoteke',
@@ -4199,4 +4222,15 @@ U suprotnom, poslužite se jednostavnim obrascem ispod. Vaš komentar će stajat
 'api-error-uploaddisabled' => 'Otpremanje je onemogućeno na ovom vikiju.',
 'api-error-verification-error' => 'Datoteka je oštećena ili ima neispravan nastavak.',
 
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|sekund|sekunde|sekundi}}',
+'duration-minutes' => '$1 {{PLURAL:$1|minut|minuta|minuta}}',
+'duration-hours' => '$1 {{PLURAL:$1|sat|sata|sati}}',
+'duration-days' => '$1 {{PLURAL:$1|dan|dana|dana}}',
+'duration-weeks' => '$1 {{PLURAL:$1|nedelja|nedelje|nedelja}}',
+'duration-years' => '$1 {{PLURAL:$1|godina|godine|godina}}',
+'duration-decades' => '$1 {{PLURAL:$1|decenija|decenije|decenija}}',
+'duration-centuries' => '$1 {{PLURAL:$1|vek|veka|vekova}}',
+'duration-millennia' => '$1 {{PLURAL:$1|milenijum|milenijuma|milenijuma}}',
+
 );
index 12b6848..ca03e2a 100644 (file)
@@ -72,7 +72,7 @@ $messages = array(
 'tog-enotifminoredits' => 'Uk bie litje Annerengen an do Sieden E-Mails seende.',
 'tog-enotifrevealaddr' => 'Dien E-Mail-Adrässe wäd in Beskeed-Mails wiesed.',
 'tog-shownumberswatching' => 'Antaal fon do beooboachtjende Benutsere anwiese',
-'tog-oldsig' => 'Foarbekiek fon ju aktuälle Signatuur:',
+'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.
@@ -172,6 +172,7 @@ $messages = array(
 'listingcontinuesabbrev' => '(Foutsättenge)',
 'index-category' => 'Indizierde Sieden',
 'noindex-category' => 'Nit indizierde Sieden',
+'broken-file-category' => 'Sieden mäd stukkene Doatäilinke',
 
 'about' => 'Uur',
 'article' => 'Inhoold Siede',
@@ -201,7 +202,7 @@ $messages = array(
 'vector-action-move' => 'Ferskuuwe',
 'vector-action-protect' => 'Skutsje',
 'vector-action-undelete' => 'Wierhäärstaale',
-'vector-action-unprotect' => 'Fräireeke',
+'vector-action-unprotect' => 'Siedenskuts annerje',
 'vector-simplesearch-preference' => 'Uutwiedede Säikfoarsleeke aktivierje (bloot Vector)',
 'vector-view-create' => 'Moakje',
 'vector-view-edit' => 'Beoarbaidje',
@@ -238,8 +239,8 @@ $messages = array(
 'protect' => 'skutsje',
 'protect_change' => 'annerje',
 'protectthispage' => 'Siede skutsje',
-'unprotect' => 'Fräiroat',
-'unprotectthispage' => 'Skuts aphieuwje',
+'unprotect' => 'Siedenskuts annerje',
+'unprotectthispage' => 'Siedenskuts annerje',
 'newpage' => 'Näie Siede',
 'talkpage' => 'Diskussion',
 'talkpagelinktext' => 'Diskussion',
@@ -331,6 +332,8 @@ $1',
 'page-rss-feed' => '"$1" RSS-Feed',
 'page-atom-feed' => '"$1" Atom-Feed',
 'red-link-title' => '$1 (Siede nit deer)',
+'sort-descending' => 'Oustiegend sortierje',
+'sort-ascending' => 'Apstiegend sortierje',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Siede',
@@ -396,19 +399,22 @@ Mäld dit n [[Special:ListUsers/sysop|Administrator]] unner Naamenge fon ju URL.
 'badarticleerror' => 'Disse Honnelenge kon ap disse Siede nit moaked wäide.',
 'cannotdelete' => 'Ju Siede od Doatäi "$1" kon nit läsked wäide.
 Fielicht is ju al fon uurswál läsked wuuden.',
+'cannotdelete-title' => 'Siede "$1" kon nit läsked wäide',
 'badtitle' => 'Uungultige Tittel.',
 'badtitletext' => 'Die anfräigede Tittel waas uungultich, loos, of n uungultigen Sproaklink fon n uur Wiki.',
-'perfcached' => 'Do foulgjende Doaten stamme uut dän Cache un sunt muugelkerwiese nit aktuäl. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => 'Disse Doaten stamme uut dän Cache, lääste Update: $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => 'Do foulgjende Doaten stamme uut dän Cache un sunt muugelkerwiese nit aktuäl. Maximoal {{PLURAL:$1|een Resultoat is|$1 Resultoate sunt}} ferföigboar in dän Cache.',
+'perfcachedts' => 'Disse Doaten stamme uut dän Cache, lääste Update: $2, $3 Uure. Maximoal {{PLURAL:$4|een Resultoat is|$4 Resultoate sunt}} ferfïgboar in dän Cache.',
 'querypage-no-updates' => "'''Ju Aktualisierengsfunktion foar disse Siede is apstuuns deaktivierd. Do Doaten wäide toueerst nit fernäierd.'''",
 'wrong_wfQuery_params' => 'Falske Parameter foar wfQuery()<br />
 Funktion: $1<br />
 Oufroage: $2',
 'viewsource' => 'Wältext betrachtje',
+'viewsource-title' => 'Wältext fon Siede $1 bekiekje',
 'actionthrottled' => 'Aktionsantaal limitierd',
 'actionthrottledtext' => 'Ju Uutfierenge fon disse Aktion tou oafte in ne kuute Tiedoustand is limitierd. Du hääst dit Limit juust ieuwen beloanged. Fersäik et in eenige Minuten fon näien.',
 'protectedpagetext' => 'Disse Siede is foar dät Beoarbaidjen speerd.',
 'viewsourcetext' => 'Wältext fon disse Siede:',
+'viewyourtext' => "Du koast dän Wältext fon '''dien Beoarbaidenge''' fon disse Siede bekiekje un kopierje:",
 'protectedinterface' => 'Disse Siede änthaalt Text foar dät Sproak-Interface fon ju Software un is speerd, uum Misbruuk tou ferhinnerjen.',
 'editinginterface' => "'''Woarskauenge:''' Du beoarbaidest ne Siede ju der bruukt wäd, Interface-Text foar ju Software tou lääwerjen.
 Annerengen ap disse Siede wirkje sik uut ap ju Benutseruurfläche foar uur Bruukere.
@@ -417,9 +423,18 @@ Foar Uursättengen koast du fielicht beeter [//translatewiki.net/wiki/Main_Page?
 'cascadeprotected' => 'Disse Siede is tou Beoarbaidenge speerd. Ju is in do {{PLURAL:$1|foulgjende Siede|foulgjende Sieden}} ienbuunen, do der middels ju Kaskadenspeeroption skutsed {{PLURAL:$1|is|sunt}}:
 $2',
 'namespaceprotected' => "Du hääst neen Begjuchtigenge, ju Siede in dän '''$1'''-Noomensruum tou beoarbaidjen.",
+'customcssprotected' => '↓Du hääst nit ju Begjuchtegenge, disse CSS änthooldende Siede tou beoarbaidjen, deer ju do persöönelke Ienstaalengen fon n uur Benutser änthaalt.',
+'customjsprotected' => '↓Du hääst nit ju Begjuchtegenge, disse JavaScript änthooldewnde Siede tou beoarbaidjen, deer ju do persöönelke Ienstaalengen fon n uur Benutser änthaalt.',
 'ns-specialprotected' => 'Spezioalsieden konnen nit beoarbaided wäide.',
 'titleprotected' => "Ne Siede mäd dissen Noome kon nit moaked wäide.
 Ju Speere wuude truch [[User:$1|$1]] mäd ju Begruundenge ''$2'' ienroat.",
+'filereadonlyerror' => '↓Ju Doatäi „$1“ kon nit annerd wäide, deer ap dät Doatäirepositorium „$2“ bloot Leesetougriep muugelk is.
+
+Die Administrator, die dän Skrieuwtougriep speerde, roate foulgjenden Gruund an: „$3“.',
+'invalidtitle-knownnamespace' => '
+↓Ungultigen Tittel mäd Noomensruum „$2“ un Text „$3“',
+'invalidtitle-unknownnamespace' => '
+↓Ungultigen Tittel mäd unbekoanden Noomensruumnummer $1 un Text „$2“',
 
 # Virus scanner
 'virus-badscanner' => "Failerhafte Konfiguration: uunbekoanden Virenscanner: ''$1''",
@@ -455,10 +470,12 @@ Ferjeet nit, dien [[Special:Preferences|{{SITENAME}}-Ienstaalengen]] antoupaasje
 'createaccount' => 'Benutserkonto anlääse',
 'gotaccount' => "Du hääst al n Konto? '''$1'''.",
 'gotaccountlink' => 'Hier gungt dät ätter dän Login',
+'userlogin-resetlink' => '
+↓Do Anmäldedoaten ferjeeten?',
 'createaccountmail' => 'Uur Email',
 'createaccountreason' => 'Gruund:',
 'badretype' => 'Do bee Paaswoude stimme nit uureen.',
-'userexists' => 'Disse Benutsernoomen is al ferroat. Wääl jädden n uur.',
+'userexists' => 'Dissen Benutsernoome is al ferroat. Wääl jädden n uur.',
 'loginerror' => 'Failer bie ju Anmäldenge',
 'createaccounterror' => 'Benutserkonto kuud nit moaked wäide: $1',
 'nocookiesnew' => 'Dien Benutsertougong wuude kloor moaked, man du bäst nit anmälded. {{SITENAME}} benutset Cookies toun Anmäldjen fon do Benutsere. Du hääst in dien Browser-Ienstaalengen Cookies deaktivierd. Uum dien näie Benutsertougong tou bruuken, läit jädden dien Browser Cookies foar {{SITENAME}} annieme un mäldje die dan mäd dien juust iengjuchten Benutsernoome un Paaswoud an.',
@@ -502,6 +519,8 @@ Mail-Fersoand un Ämpfang foar do foulgjende Funktionen muugelk.',
 'noemailprefs' => 'Du hääst neen Email-Adrässe anroat, do foulgjende Funktione sunt deeruum apstuuns nit muugelk.',
 'emailconfirmlink' => 'Bestäätigje Jou Email-Adrässe',
 'invalidemailaddress' => 'Ju Email-Adresse wuude nit akzeptierd deeruum dät ju n ungultich Formoat tou hääben skient. Reek jädden ne Adrässe in n gultich Formoat ien of moakje dät Fäild loos.',
+'cannotchangeemail' => 'E-Mail-Adressen konnen in dissen Wiki nit annerd wäide.',
+'emaildisabled' => 'Uur disse Websiede konnen neen E-Mails fersoand wäode.',
 'accountcreated' => 'Benutserkonto näi anlaid',
 'accountcreatedtext' => 'Dät Benutserkonto $1 wuude iengjucht.',
 'createaccount-title' => 'Benutserkonto anlääse foar {{SITENAME}}',
@@ -517,6 +536,7 @@ Täif, eer du fon näien fersäkst.',
 
 # E-mail sending
 'php-mail-error-unknown' => 'Uunbekoanden Failer mäd ju Funktion mail() fon PHP',
+'user-mail-no-addy' => 'Fersoachte ne E-Mail sunner Angoawe fon ne E-Mail-Adresse tou ferseenden',
 
 # Change password dialog
 'resetpass' => 'Paaswoud annerje',
@@ -537,7 +557,19 @@ Muugelkerwiese hääst du dien Paaswoud al mäd Ärfoulch annerd of n näi tiede
 
 # Special:PasswordReset
 'passwordreset' => 'Paaswoud touräächsätte',
+'passwordreset-text' => 'Dit Formular uutfälle, uum per E-Mail ne Ärinnerenge tou do Anmäldeinformatione tou kriegen.',
+'passwordreset-legend' => 'Paaswoud touräächsätte',
+'passwordreset-disabled' => 'Dät Touräächsätten fon Paaswoude wuud in dissen Wiki deaktivierd.',
+'passwordreset-pretext' => '{{PLURAL:$1||Reek aan fon do foulgjende Doaten ien}}',
 'passwordreset-username' => 'Benutsernoome:',
+'passwordreset-domain' => 'Domain:',
+'passwordreset-capture' => 'Ju E-Mail-Ättergjucht bekiekje?',
+'passwordreset-capture-help' => 'Wan du disse Kaste ankjuusest, wäd ju E-Mail-Ättergjucht mäd dät temporäre Paaswoud, die wiesed, as uk dän Benutser tousoand.',
+'passwordreset-email' => 'E-Mail-Adresse:',
+'passwordreset-emailtitle' => 'Benutserkontoinformatione ap {{SITENAME}}',
+'passwordreset-emailelement' => '↓Benutsernoome: $1
+Temporär Paaswoud: $2',
+'passwordreset-emailsent' => '↓Ne Ärinnerenge wuud uur E-Mail fersoand.',
 
 # Edit page toolbar
 'bold_sample' => 'Fatten Text',
@@ -640,8 +672,12 @@ of <span class="plainlinks">in do touheerige [{{fullurl:{{#special:Log}}|page={{
 'userpage-userdoesnotexist-view' => 'Benutserkonto „$1“ bestoant nit.',
 'blocked-notice-logextract' => 'Dissen Benutser is apstuuns speerd.
 Foar Information foulget n aktuellen Iendraach uut dät Benutser-Logbouk:',
-'clearyourcache' => "'''Bemäärkenge: Ätter dät Fäästlääsen kon dät nöödich weese, dän Browser-Cache loostoumoakjen, uum do Annerengen sjo tou konnen.'''
-'''Mozilla / Firefox / Safari:''' hoold ''Shift'' deel un klik ''Reload,'' of tai ''Ctrl-F5'' of ''Ctrl-R'' (''Command-R'' ap n Mac); '''Konqueror: '''klik ''Reload'' of tai ''F5;'' '''Opera:''' moak dän cache loos in ''Tools → Preferences;'' '''Internet Explorer:''' hoold ''Ctrl'' deel un klik ''Refresh,'' of tai ''Ctrl-F5.''",
+'clearyourcache' => "'''Bemäärkenge: Ätter dät Fäästlääsen  dän Browser-Cache loosmoakje, uum do Annerengen sjo tou konnen.'''
+*'''Firefox / Safari:''' hoold ''Uumskalttaste'' deel un klik deerbie ''Aktualisierje'' of tai ''Strg+F5'' of ''Strg+R'' (''⌘+R'' ap n Mac)
+* '''Google Chrome:''' ''Uumskalttaste+Strg+R'' (''⌘+Uumskalttaste+R'' ap n Mac) taie
+* '''Internet Explorer:''' ''Strg+F5'' taie of ''Strg'' taie un tou glieke Tied ''Aktualisieren'' anklikke
+* '''Opera:''' ''Extras → Internetspuuren läskje … → Individuelle Uutwoal → Dän komplette Cache läskje''
+*'''Konqueror: '''klik ''Aktualisieren'' of tai ''F5;''",
 'usercssyoucanpreview' => "'''Tipp:''' Benutse dän  „{{int:showpreview}}“-Knoop, uum dien näi CSS foar dät Spiekerjen tou tästjen.",
 'userjsyoucanpreview' => "'''Tipp:''' Benutse dän „{{int:showpreview}}“-Knoop, uum dien näi JavaScript foar dät Spiekerjen tou tästjen.",
 'usercsspreview' => "== Foarbekiek fon dien Benutser-CSS ==
@@ -655,7 +691,8 @@ Foar Information foulget n aktuellen Iendraach uut dät Benutser-Logbouk:',
 'userinvalidcssjstitle' => "'''Woarskauenge:''' Deer existiert neen Skin \"\$1\". Betoank jädden, dät benutserspezifiske .css- un .js-Sieden män n Littek-Bouksteeuwe anfange mouten, also t.B. ''{{ns:user}}:Mustermann/vector.css'', nit ''{{ns:user}}:Mustermann/Vector.css''.",
 'updated' => '(Annerd)',
 'note' => "'''Waiwiesenge:'''",
-'previewnote' => "'''Dit is man ne Foarbekiek, die Artikkel wuude noch nit spiekerd!'''",
+'previewnote' => "'''Dit is man ne Foarbekiek, ju Siede wuude noch nit spiekerd!'''",
+'continue-editing' => 'Fääre beoarbaidje',
 'previewconflict' => 'Disse Foarskau rakt dän Inhoold fon dät buppere Täkstfäild wier; so wol die Artikkel uutsjo, wan du nu spiekerjen dääst.',
 'session_fail_preview' => "Dien Beoarbaidenge kuud nit spiekerd wäide, deer dien Sitsengsdoaten ferlädden geen sunt.
 Fersäik dät jädden fonnäien, deertruch dät du unner ju foulgjende Foarskau nochmoal ap \"Siede spiekerje\" klikst.
@@ -669,6 +706,7 @@ Skuul dät Problem bestounden blieuwe, [[Special:UserLogout|mäldje die ou]] un
 Ne Spiekerenge kon dän Siedeninhoold fernäile. Dit geböärt bietiede truch ju Benutsenge fon n anonymen Proxy-Tjoonst, die der failerhaft oarbaidet.'''",
 'edit_form_incomplete' => "'''Die Inhoold fon dät Beoarbaidengsformular häd dän Server nit fulboodich beloanged. Pröif dien Beoarbaidengen ap Fulständegaid un fersäik dät noch insen.",
 'editing' => 'Beoarbaidjen fon $1',
+'creating' => 'Moakjen fon „$1“',
 'editingsection' => 'Beoarbaidje fon $1 (Apsats)',
 'editingcomment' => 'Beoarbaidjen fon $1 (Näi Stuk)',
 'editconflict' => 'Beoarbaidengs-Konflikt: "$1"',
@@ -688,7 +726,7 @@ Du toukwäst uus hiermäd, dät du dän Text '''sälwen ferfoated''' hääst, d
 'copyrightwarning2' => 'Aal Biedraage tou dän {{SITENAME}} konnen fon uur Ljuude ferannerd un fersprat wäide. Fals Jie nit moaten dät Jou Oarbaid hier fon uur Ljuude ferannerd un fersprat wäd, dan drukke Jie nit ap "Spiekerje".
 
 Jie fersicherje hiermäd uk, dät Jie dän Biedraach sälwen ferfoated hääbe blw. dät hie neen froamd Gjucht ferlätset (sjuch fääre: $1).',
-'longpageerror' => "'''FAILER: Die Text, dän du tou spiekerjen fersäkst, is $1 KB groot. Dät is gratter as dät ferlööwede Maximum fon $2 KB – Spiekerenge nit muugelk.'''",
+'longpageerror' => "'''FAILER: Die Text, dän du tou spiekerjen fersäkst, is {{PLURAL:$1|een Kilobyte|$1 Kilobyte}} groot. Dät is gratter as dät ferlööwede Maximum fon $2 KB – Spiekerenge nit muugelk.'''",
 'readonlywarning' => "'''WOARSKAUENGE: Ju Doatenboank wuude foar Wartengsoarbaiden speerd, so dät dien Annerengen apstuuns nit spiekerd wäide konnen.
 Sicherje dän Text jädden lokoal ap dien Computer un fersäik tou n leeteren Tiedpunkt, do Annerengen tou uurdreegen.'''
 
@@ -724,6 +762,7 @@ Ju wuud anskienend läsked.',
 'edit-conflict' => 'Beoarbaidengskonflikt.',
 'edit-no-change' => 'Dien Beoarbaidenge wuude ignorierd, deer neen Annerenge an dän Text foarnuumen wuude.',
 'edit-already-exists' => 'Ju näie Siede kuud nit moaked wäide, deer ju al foarhounden is.',
+'defaultmessagetext' => 'Standardtext',
 
 # Parser/template warnings
 'expensive-parserfunction-warning' => 'Woarskauenge: Disse Siede änthaalt tou fuul Aproupe fon stuure Parserfunktione.
@@ -737,6 +776,11 @@ Der {{PLURAL:$2|duur nit moor as 1 Aproup|duuren nit moor as $1 Aproupe}} weese.
 'parser-template-loop-warning' => 'Foarloagenstrik äntdäkt: [[$1]]',
 'parser-template-recursion-depth-warning' => 'Foarloagenrekursionsdjuptenskeed uurtreeden ($1)',
 'language-converter-depth-warning' => 'Sproakkonverter-djüptelimit uurtreeden ($1)',
+'node-count-exceeded-category' => 'Sieden, do ju Knättenantaal uurtreeden hääbe',
+'node-count-exceeded-warning' => 'Ju Siede häd ju Knättepunktantaal uurtreeden.',
+'expansion-depth-exceeded-category' => 'Sieden, do der ju Expansionsdjupte uurtreeden hääbe',
+'expansion-depth-exceeded-warning' => 'Ju Siede häd ju Expansionsdjupte uurtreeden.',
+'parser-unstrip-loop-warning' => 'Sirkelbesuch fääststoald',
 
 # "Undo" feature
 'undo-success' => 'Ju Annerenge kuud mäd Ärfoulch tourääch annerd wäide. Jädden ju Beoarbaidenge in ju Ferglieksansicht kontrollierje un dan ap „Siede spiekerje“ klikke, uum ju tou spiekerjen.',
@@ -790,28 +834,30 @@ Legende: (Aktuäl) = Unnerskeed tou ju aktuälle Version,
 Naiere Angoawen toun Läskfoargong as uk ne Begründenge fiende sik in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
 'rev-deleted-text-unhide' => "Disse Version wuud '''läsked'''.
 Details stounde in dät [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].
-As Administrator koast du noch [$1 ju Version bekiekje], wan du fääregunge moatest.",
+Du koast [$1 ju Version bekiekje], wan du fääregunge moatest.",
 'rev-suppressed-text-unhide' => "Disse Version wuud '''unnerdrukt'''.
 Details stounde in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].
-Du as Administrator koast [$1 disse Version bekiekje], wan du et wonskest.",
+Du koast [$1 disse Version bekiekje], wan du moatest.",
 'rev-deleted-text-view' => "Disse Version wuude '''läsked'''.
-As Administrator koast du ju wieders ienkiekje.
-Naiere Angoawen toun Läskfoargong as uk ne Begründenge fiende sik in dät [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
+Du koast ju ienkiekje, wan du moatest.
+Naiere Angoawen fiende sik in dät [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
 'rev-suppressed-text-view' => "Disse Version wuud '''unnerdrukt'''.
-Administratore konnen ju ienkiekje; Details stounde in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].",
+Du koast ju ienkiekje, wan du moatest. 
+Details stounde in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].",
 'rev-deleted-no-diff' => "Du koast dissen Unnerskeed nit betrachtje, deer een fon do Versione '''läsked''' wuude.
 Details stounde in dät [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
 'rev-suppressed-no-diff' => "Du koast dissen Versionsunnerskeed nit betrachtje, deer een fon do Versione '''läsked''' wuud.",
 'rev-deleted-unhide-diff' => "Een fon do Versione fon dissen Unnerskeed wuud '''läsked'''.
 Details stounde in dät [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].
-As Adminstrator koast du noch [$1 dissen Versionsunnerskeed bekiekje] wan du fääregunge wolt.",
+Du koast [$1 dissen Versionsunnerskeed bekiekje] wan du moatest.",
 'rev-suppressed-unhide-diff' => "Een fon do Versione fon dissen Unnerskeed wuud '''unnerdrukt'''.
 Details stounde in dät [{{fullurl:{{#special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].
-As Adminstrator koast du noch [$1 dissen Versionsunnerskeed bekiekje] wan du fääregunge wolt.",
-'rev-deleted-diff-view' => "Ne Version fon dissen Versionsunnerskeed wuud '''läsked'''.
-As Administrator koast du dissen Versionsunnerskeed sjo. Details fiende sik in dät [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
+Du koast [$1 dissen Versionsunnerskeed bekiekje] wan du wolt.",
+'rev-deleted-diff-view' => "Een fon do Versione fon dissen Versionsunnerskeed wuud '''läsked'''.
+Du koast dissen Versionsunnerskeed bekiekje, wan du wolt. 
+Naiere Angoawen fiende sik in dät [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Läsk-Logbouk].",
 'rev-suppressed-diff-view' => "Een fon do Versione fon dissen Versionsunnerskeed wuud '''unnerdrukt'''.
-As Administrator koast du dissen Versionsunnerskeed sjo. Details fiende sik in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].",
+Du koast dissen Versionsunnerskeed bekiekje, wan du wolt. Details fiende sik in dät [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrukkengs-Logbouk].",
 'rev-delundel' => 'wiese/ferbierge',
 'rev-showdeleted' => 'wies',
 'revisiondelete' => 'Versione läskje/wier häärstaale',
@@ -879,7 +925,8 @@ Wröigje do Logbouke.',
 
 # Suppression log
 'suppressionlog' => 'Uursicht-Logbouk',
-'suppressionlogtext' => 'Dit is dät Logbouk fon do Uursicht-Aktione (Annerengen fon ju Sichtboarhaid fon Versione, Beorbaidengskommentare, Benutsernoomen un Benutserspeeren).',
+'suppressionlogtext' => 'Dit is dät Logbouk fon do Uursicht-Aktione (Annerengen fon ju Sichtboarhaid fon Versione, Beorbaidengskommentare, Benutsernoomen un Benutserspeeren).
+Sjuch ju [[Special:BlockList|Lieste fon speerde IP-Adressen un Benutsernoomen]] foar aktuelle Speeren.',
 
 # History merging
 'mergehistory' => 'Versionsgeskichten fereenigje',
@@ -991,6 +1038,7 @@ Staal deertruch sicher, dät ju Versionsgeskichte fon n Artikkel historisk akroa
 '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',
@@ -1002,7 +1050,9 @@ Staal deertruch sicher, dät ju Versionsgeskichte fon n Artikkel historisk akroa
 'prefs-skin' => 'Skin',
 'skin-preview' => 'Foarskau',
 'datedefault' => 'Neen Preferenz',
+'prefs-beta' => 'Beta-Funktione',
 'prefs-datetime' => 'Doatum un Tied',
+'prefs-labs' => 'Alpha-Funktione',
 'prefs-personal' => 'Benutserdoaten',
 'prefs-rc' => 'Bekoandreekenge fon "Lääste Annerengen"',
 'prefs-watchlist' => 'Beooboachtengslieste',
@@ -1036,7 +1086,7 @@ Hier n toufällich generierden Wäid, dän du ferweende koast: $1',
 'savedprefs' => 'Dien Ienstaalengen wuuden spiekerd.',
 'timezonelegend' => 'Tiedzone:',
 'localtime' => 'Tied bie Jou:',
-'timezoneuseserverdefault' => 'Standoardtied fon dän Server ($1)',
+'timezoneuseserverdefault' => 'Standoardtied fon dän Server bruuke ($1)',
 'timezoneuseoffset' => 'Uur (Unnerskeed anreeke)',
 'timezoneoffset' => 'Unnerskeed¹:',
 'servertime' => 'Tied ap dän Server:',
@@ -1071,7 +1121,8 @@ Dät kon nit moor tourääch troald wäide.',
 'prefs-registration' => 'Anmäldetiedpunkt:',
 'yourrealname' => 'Dien ächte Noome:',
 'yourlanguage' => 'Sproake fon ju Benutser-Uurfläche:',
-'yourvariant' => 'Variante:',
+'yourvariant' => 'Sproakevariante:',
+'prefs-help-variant' => 'Ju foarleekene Skrieuwwiese, in ju do Wikisieden wiesd wäide skällen.',
 'yournick' => 'Unnerskrift:',
 'prefs-help-signature' => 'Biedraage ap Diskussionssieden skuulen mäd „<nowiki>~~~~</nowiki>“ signierd wäide, wät dan in dien Signatuur mäd Tiedstämpel uumewondeld wäd.',
 'badsig' => 'Signatursyntax is uungultich; HTML uurpröiwje.',
@@ -1111,7 +1162,7 @@ Ju duur maximoal $1 {{PLURAL:$1|Teeken|Teekene}} loang weese.',
 'userrights-lookup-user' => 'Ferwaltede Gruppentouheeregaid',
 'userrights-user-editname' => 'Benutsernoome anreeke:',
 'editusergroup' => 'Beoarbaidede Benutsergjuchte',
-'editinguser' => "Uur Benutsergjuchte fon '''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])",
+'editinguser' => "Uur Benutsergjuchte fon '''[[User:$1|$1]]''' $2",
 'userrights-editusergroup' => 'Beoarbaidje Gruppentouheeregaid fon dän Benutser',
 'saveusergroups' => 'Spiekerje Gruppentouheeregaid',
 'userrights-groupsmember' => 'Meeglid fon:',
@@ -1123,7 +1174,7 @@ Ju duur maximoal $1 {{PLURAL:$1|Teeken|Teekene}} loang weese.',
 'userrights-no-interwiki' => 'Du hääst neen Begjuchtigenge, do Benutsergjuchte in uur Wikis tou annerjen.',
 'userrights-nodatabase' => 'Ju Doatenboank $1 is nit deer of nit lokoal.',
 'userrights-nologin' => 'Du moast die mäd n Administrator-Benutserkonto [[Special:UserLogin|anmäldje]], uum Benutsergjuchte tou annerjen.',
-'userrights-notallowed' => 'Du hääst neen Begjuchtigenge, uum Benutsergjuchte tou reeken.',
+'userrights-notallowed' => 'Du hääst neen Begjuchtigenge, uum Benutsergjuchte tou reeken of ientouluuken.',
 'userrights-changeable-col' => 'Gruppentouheeregaid, ju du annerje koast',
 'userrights-unchangeable-col' => 'Gruppentouheeregaid, ju du nit annerje koast',
 
@@ -1137,12 +1188,12 @@ Ju duur maximoal $1 {{PLURAL:$1|Teeken|Teekene}} loang weese.',
 'group-suppress' => 'Uursichte',
 'group-all' => '(aal)',
 
-'group-user-member' => 'Benutser',
-'group-autoconfirmed-member' => 'Bestäätigede Benutser',
-'group-bot-member' => 'Bot',
-'group-sysop-member' => 'Administrator',
-'group-bureaucrat-member' => 'Bürokrat',
-'group-suppress-member' => 'Uursicht',
+'group-user-member' => '{{GENDER:$1|Benutser|Benutserske}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|Automatisk bestäätigden Benutser|Automatisk bestäätigde Benutserske}}',
+'group-bot-member' => '{{GENDER:$1|Bot}}',
+'group-sysop-member' => '{{GENDER:$1|Administrator|Administratorske}}',
+'group-bureaucrat-member' => '{{GENDER:$1|Bürokroat|Bürokroatske}}',
+'group-suppress-member' => '{{GENDER:$1|Uursjooer|Uursjooerske}}',
 
 'grouppage-user' => '{{ns:project}}:Benutsere',
 'grouppage-autoconfirmed' => '{{ns:project}}:Bestäätigede Benutser',
@@ -1216,6 +1267,7 @@ Ju duur maximoal $1 {{PLURAL:$1|Teeken|Teekene}} loang weese.',
 'rightslog' => 'Gjuchte-Logbouk',
 'rightslogtext' => 'Dit is dät Logbouk fon do Annerengen fon do Benutsergjuchte.',
 'rightslogentry' => 'annerde ju Gruppentouheeregaid foar „$1“ fon „$2“ ap „$3“.',
+'rightslogentry-autopromote' => 'wuud automatisk fon „$2“ ätter „$3“ touoardend',
 'rightsnone' => '(-)',
 
 # Associated actions - in the sentence "You do not have permission to X"
@@ -1257,7 +1309,7 @@ Ju duur maximoal $1 {{PLURAL:$1|Teeken|Teekene}} loang weese.',
 'nchanges' => '$1 {{PLURAL:$1|Annerenge|Annerengen}}',
 'recentchanges' => 'Lääste Annerengen',
 'recentchanges-legend' => 'Anwiesoptione',
-'recentchangestext' => "Ap disse Siede koast du do lääste Annerengen ap '''{{SITENAME}}''' ättergunge.",
+'recentchanges-summary' => "Ap disse Siede koast du do lääste Annerengen ap '''{{SITENAME}}''' ättergunge.",
 'recentchanges-feed-description' => 'Ferfoulge mäd dissen Feed do lääste Annerengen in {{SITENAME}}.',
 'recentchanges-label-newpage' => 'Näie Siede',
 'recentchanges-label-minor' => 'Litje Annerenge',
@@ -1369,6 +1421,7 @@ Ferlööwed {{PLURAL:$3|is|sunt}} $2.",
 'large-file' => 'Jädden neen Bielde uur $1 hoochleede; disse Doatäi is $2 groot.',
 'largefileserver' => 'Disse Doatäi is tou groot, deer die Server so konfigurierd is, dät Doatäien bloot bit tou ne bestimde Grööte apzeptierd wäide.',
 'emptyfile' => 'Ju hoochleedene Doatäi is loos. Die Gruund kon n Typfailer in dän Doatäinoome weese. Kontrollierje jädden, of du ju Doatäi wuddelk hoochleede wolt.',
+'windows-nonascii-filename' => 'Dit Wiki unnerstöänt neen Doatäinoomen do der Sunnerteekene änthoolde.',
 'fileexists' => "Ne Doatäi mäd dissen Noome bestoant al.
 Wan du ap 'Doatäi spiekerje' klikst, wäd ju Doatäi uurskrieuwen.
 Unner '''<tt>[[:$1]]</tt>''' koast du die bewisje, of du dät wuddelk wolt.
@@ -1457,8 +1510,8 @@ Ju kon deeruum nit ap Sicherhaid wröiged wäide.',
 # img_auth script messages
 'img-auth-accessdenied' => 'Tougriep ferwäigerd',
 'img-auth-nopathinfo' => 'PATH_INFO failt.
-Dien Server is nit deerfoar iengjucht, disse Information fääretoureeken.
-Dät kuud CGI-basierd weese un unnerstutset img_auth nit.
+Die Server is nit deerfoar iengjucht, disse Information fääretoureeken.
+Ju kuud CGI-basierd weese un unnerstutset img_auth nit.
 Sjuch https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'img-auth-notindir' => 'Dät wonskede Paad is nit in dät konfigurierde Uploadferteeknis.',
 'img-auth-badtitle' => 'Uut „$1“ kon naan gultigen Tittel moaked wäide.',
@@ -1471,6 +1524,7 @@ Bloot Doatäitougriep is ferlööwed.',
 Dit Wiki wuud as n eepentelk Wiki konfigurierd.
 Uut Sicherhaidsgruunde is img_auth.php deaktivierd.',
 'img-auth-noread' => 'Benutser häd neen Begjuchtigenge, „$1“ tou leesen.',
+'img-auth-bad-query-string' => 'Ju URL wiest ne uungultige Oufroageteekenfoulge ap.',
 
 # HTTP errors
 'http-invalid-url' => 'Uungultige URL:$1',
@@ -1496,7 +1550,8 @@ Uut Sicherhaidsgruunde is img_auth.php deaktivierd.',
 'upload_source_file' => ' (ne Doatäi ap Jou Computer)',
 
 # Special:ListFiles
-'listfiles-summary' => 'Disse Spezialsiede liestet aal hoochleedene Doatäie ap. Standoardmäitich wäide do toulääst hoochleedene Doatäie toueerst anwiesd. Truch n Klik ap do Spaltenuurskrifte kon ju Sortierenge uumetroald wäide of der kon ätter ne uur Spalte sortierd wäide.',
+'listfiles-summary' => 'Disse Spezialsiede liestet aal hoochleedene Doatäie ap. 
+Sofier ätter n bestimden Benutser sieuwed wäd, wäide bloot do Doatäie wiesd, bie doo hie ju laäste Version hoochleeden häd.',
 'listfiles_search_for' => 'Säik ätter Doatäi:',
 'imgfile' => 'Doatäi',
 'listfiles' => 'Bieldelieste',
@@ -1525,13 +1580,14 @@ Uut Sicherhaidsgruunde is img_auth.php deaktivierd.',
 'filehist-filesize' => 'Doatäigrööte',
 'filehist-comment' => 'Kommentoar',
 'filehist-missing' => 'Doatäi failt',
-'imagelinks' => 'Doatäiferweendengen',
+'imagelinks' => 'Doatäiferweendenge',
 'linkstoimage' => '{{PLURAL:$1|Ju foulgjende Siede ferwoant|Do foulgjende $1 Sieden ferweende}} disse Doatäi:',
 'linkstoimage-more' => 'Moor as {{PLURAL:$1|een Siede ferlinket|$1 Sieden ferlinkje}} ap disse Doatäi.
 Ju foulgjende Lieste wiest bloot {{PLURAL:$1|dän eerste Link|do eerste $1 Linke}} ap disse Doatäi.
 Ne [[Special:WhatLinksHere/$2|fulständige Lieste]] is ferföigboar.',
 'nolinkstoimage' => 'Naan Artikkel benutset disse Bielde.',
 'morelinkstoimage' => '[[Special:WhatLinksHere/$1|Wiedere Ferbiendengen]] foar disse Doatäi.',
+'linkstoimage-redirect' => '$1 (Doatäifääreleedenge) $2',
 'duplicatesoffile' => '{{PLURAL:$1|Ju foulgjende Doatäi is n Duplikoat|Do foulgjende $1 Doatäie sunt Duplikoate}} fon disse Doatäi ([[Special:FileDuplicateSearch/$2|wiedere Details]]):',
 'sharedupload' => 'Disse Doatäi stamt uut $1 un duur fon uur Projekte ferwoand wäide.',
 'sharedupload-desc-there' => 'Disse Doatäi stamt uut $1 un duur fon uur Projekte ferwoand wäide. Sjuch ap ju [$2 Doatäibeskrieuwengssiede] ätter wiedere Informatione.',
@@ -1617,7 +1673,7 @@ Ne [[Special:WhatLinksHere/$2|fulständige Lieste]] is ferföigboar.',
 'statistics-users-active-desc' => 'Benutsere mäd Beoarbaidengen {{PLURAL:$1|in do lääste 24 Uuren|in do fergeene $1 Deege}}',
 'statistics-mostpopular' => 'Maast besoachte Sieden',
 
-'disambiguations' => 'Begriepskläärengssieden',
+'disambiguations' => 'Sieden do der ap Begriepskläärengssieden ferlinkje',
 'disambiguationspage' => 'Template:Begriepskläärenge',
 'disambiguations-text' => "Do foulgjende Sieden ferlinkje ap ne Siede tou ju '''Begriepskläärenge'''.
 Jie skuulen insteede deerfon ap ju eegentelk meende Siede ferlinkje.<br />
@@ -1690,7 +1746,7 @@ Ne Siede wäd as Begriepskläärengssiede behonneld, wan [[MediaWiki:Disambiguat
 'listusers-editsonly' => 'Wies bloot Benutsere mäd Biedraage',
 'listusers-creationsort' => 'Ätter dän Moakdoatum sortierje',
 'usereditcount' => '$1 {{PLURAL:$1|Beoarbaidenge|Beoarbaidengen}}',
-'usercreated' => 'Moaked ap n $1 uum $2',
+'usercreated' => '{{GENDER:$3|Moaked}} ap n $1 uum $2 Uure',
 'newpages' => 'Näie Sieden',
 'newpages-username' => 'Benutsernoome:',
 'ancientpages' => 'Siet loang uunbeoarbaidede Sieden',
@@ -1717,8 +1773,8 @@ Deeruum konnen do hier noch aptäld weese, wan do uk aktiv benutsed wäide.',
 'booksources-invalid-isbn' => 'Fermoudelk is ju ISBN uungultich. Säik ätter Failere in ju Kopie.',
 
 # Special:Log
-'specialloguserlabel' => 'Benutser:',
-'speciallogtitlelabel' => 'Tittel:',
+'specialloguserlabel' => 'Uutfierenden Benutser:',
+'speciallogtitlelabel' => 'Siel (Tittel of Benutser):',
 'log' => 'Logbouke',
 'all-logs-page' => 'Aal eepentelke Logbouke',
 'alllogstext' => 'Dit is ne kombinierde Anwiesenge fon aal Logbouke fon {{SITENAME}}.
@@ -1762,7 +1818,7 @@ Sjuch uk ju Lieste fon do [[Special:WantedCategories|wonskede Kategorien]].',
 'linksearch-pat' => 'Säikmuster:',
 'linksearch-ns' => 'Noomensruum:',
 'linksearch-ok' => 'Säike (012)',
-'linksearch-text' => 'Disse Spezialsiede moaket ju Säike muugelke ätter Sieden, in do bestimde Webferbiendengen äntheelden sunt. Deerbie konne Wildcards as biespilswiese <tt>*.example.com</tt> benutsed wäide.<br />Unnerstutsede Protokolle: <tt>$1</tt>',
+'linksearch-text' => 'Disse Spezioalsiede moaket ju Säike muugelke ätter Sieden, in do bestimde Webferbiendengen äntheelden sunt. Deerbie konnen Ploatshooldere as biespilswiese <tt>*.biespiell.de</tt> benutsed wäide. Der mout ap minste een Top-Level-Domai, t.B. „*.org“. anroat wäide. <br />Unnerstutsede Protokolle: <tt>$1</tt> (Disse jädden nit bie ju Säikanfroage anreeke.)',
 'linksearch-line' => '$1 is ferlinked fon $2',
 'linksearch-error' => 'Wildcards konnen bloot an dän Ounfang fon ju URL ferwoand wäide.',
 
@@ -1819,6 +1875,10 @@ As Ouseender wäd ju E-Mail-Adresse uut dien [[Special:Preferences|Ienstaalengen
 'noemailtext' => 'Dissen Benutser häd neen gultige Email-Adrässe anroat.',
 'nowikiemailtitle' => 'E-Mail-Ferseendenge nit muugelk',
 'nowikiemailtext' => 'Dissen Benutser moate neen E-Mails fon uur Benutsere kriege.',
+'emailnotarget' => 'Nit foarhoundenen of uungultigen Benutsernoome foar dän Ämpfangst fon ne E-Mail.',
+'emailtarget' => 'Benutsernoome fon dän Ämpfanger ienreeke',
+'emailusername' => 'Benutsernoome:',
+'emailusernamesubmit' => 'Fääre',
 'email-legend' => 'E-Mail an n uur {{SITENAME}}-Benutser seende',
 'emailfrom' => 'Fon:',
 'emailto' => 'An:',
@@ -1843,11 +1903,13 @@ As Ouseender wäd ju E-Mail-Adresse uut dien [[Special:Preferences|Ienstaalengen
 'watchlistanontext' => 'Du moast die $1, uum dien Beooboachtengslieste tou sjoon of Iendraage ap hier tou beoarbaidjen.',
 'watchnologin' => 'Du bäst nit anmälded',
 'watchnologintext' => 'Du moast [[Special:UserLogin|anmälded]] weese, uum dien Beooboachtengslieste tou beoarbaidjen.',
+'addwatch' => 'Tou Beooboachtengslieste bietouföigje',
 'addedwatchtext' => "Die Artikkel \"[[:\$1]]\" wuude an dien [[Special:Watchlist|Foulgelieste]] touföiged.
 Leetere Annerengen an dissen Artikkel un ju touheerende Diskussionssiede wäide deer liested
 un die Artikkel wäd in ju [[Special:RecentChanges|fon do lääste Annerengen]] in '''Fatskrift''' anroat.
 
 Wan du die Artikkel wier fon ju Foulgelieste ou hoalje moatest, klik ap ju Siede ap \"Ferjeet disse Siede\".",
+'removewatch' => 'Fon ju Beooboachtengslieste wächhoalje',
 'removedwatchtext' => 'Ju Siede „[[:$1]]“ wuude fon dien [[Special:Watchlist|Beooboachtengslieste]] wächhoald.',
 'watch' => 'Beooboachtje',
 'watchthispage' => 'Siede beooboachtje',
@@ -1870,6 +1932,7 @@ Wan du die Artikkel wier fon ju Foulgelieste ou hoalje moatest, klik ap ju Siede
 # Displayed when you click the "watch" button and it is in the process of watching
 'watching' => 'Beooboachtje …',
 'unwatching' => 'Nit beooboachtje …',
+'watcherrortext' => 'Bie dät Annerjen fon do Beoboachtengsliestenienstaalengen foar "$1" is n Failer aptreeden.',
 
 'enotif_mailer' => '{{SITENAME}} tält Beskeed uur Email',
 'enotif_reset' => 'Markier aal besoachte Sieden',
@@ -1899,6 +1962,9 @@ Dien früntelk {{SITENAME}} Becheedtälsystem
 
 --
 
+Uum do Ienstaaleungen fon dät E-Mail-Becheedtälsystem antoupaasjen, besäik 
+{{canonicalurl:{{#special:Preferences}}}}
+
 Uum do Ienstaalengen fon dien Beooboachtengslieste antoupaasjen, besäik
 {{canonicalurl:{{#special:EditWatchlist}}}}
 
@@ -1957,8 +2023,8 @@ Ju lääste Annerenge stamt fon [[User:$3|$3]] ([[User talk:$3|Diskussion]]{{int
 
 # Protect
 'protectlogpage' => 'Siedenskuts-Logbouk',
-'protectlogtext' => 'Dit is ne Lieste fon do blokkierde Sieden.
-Sjuch [[Special:ProtectedPages|Skutsede Siede]] foar moor Informatione.',
+'protectlogtext' => 'Dit is dät Siedenskuts-Logbouk.
+Sjuch ju [[Special:ProtectedPages|Lieste fon skutsede Sieden]] foar aal apstuuns skutsede Sieden.',
 'protectedarticle' => 'skutsede „[[$1]]“',
 'modifiedarticleprotection' => 'annerde dän Skuts fon „[[$1]]“',
 'unprotectedarticle' => 'hieuwede dän Skuts fon "[[$1]]" ap',
@@ -2021,9 +2087,8 @@ Sjuch [[Special:ProtectedPages|Skutsede Siede]] foar moor Informatione.',
 'viewdeletedpage' => 'Läskede Versione anwiese',
 'undeletepagetext' => '{{PLURAL:$1|Ju foulgjende Siede wuud läsked un kon|Do foulgjende $1 Sieden wuuden läsked un konnen}} fon Administratore wier häärstoald wäide:',
 'undelete-fieldset-title' => 'Beoarbaidengen wier häärstaale',
-'undeleteextrahelp' => "Uum ju Siede gans mäd aal Versione wiertoumoakjen, wääl neen Versione uut, reek ne Begruundenge an un klik ap '''''Wier moakje'''''.
-* Moatest du bloot bestimde Versione wier moakje, so wääl do jädden eenpeld anhound fon do Markierengen uut, reek ne Begruundenge an un klik dan ap '''''Wier moakje'''''.
-* '''''Oubreeke''''' moaket dät Kommentoarfäild loos un hoalt aal Markierengen wäch bie do Versione.",
+'undeleteextrahelp' => '*Uum ju Siede gans mäd aal Versione wiertoumoakjen, wääl neen Versione uut, reek ne Begruundenge an un klik dan ap „{{int:undeletebtn}}“.
+* Moatest du bloot bestimde Versione wier moakje, so wääl do jädden eenpeld anhound fon do Markierengen uut, reek ne Begruundenge an un klik dan ap „{{int:undeletebtn}}“.',
 'undeleterevisions' => '{{PLURAL:$1|1 Version|$1 Versione}} archivierd',
 'undeletehistory' => 'Wan du disse Siede wier häärstoalst, wäide uk aal oolde Versione wier häärstoald. Wan siet ju Läskenge aan näien Artikkel mäd dän sälge Noome moaked wuude, wäide do wier häärstoalde Versione as oolde Versione fon dissen Artikkel ferskiene.',
 'undeleterevdel' => 'Dät wier Häärstaalen wäd nit truchfierd, wan deertruch ju aktuelste Version toun Deel läsked wäd.
@@ -2066,7 +2131,9 @@ $1',
 # Namespace form on various pages
 'namespace' => 'Noomensruum:',
 'invert' => 'Uutwoal uumekiere',
+'tooltip-invert' => 'Dit Uutwoalfäild anklikje, uum Annerengen in dän wäälde Noomensruum un, sofier uutwääld, dän äntspreekende touheerige Noomensruum uustoubländjen',
 'namespace_association' => 'Touoardende Noomensruum',
+'tooltip-namespace_association' => 'Dit Uutwoalfäild anklikje, uum dän din Uutwoal touheerigen Diskussionsnoomenruum, of in dän uumekierde Fal, dän touheerige Noomensruum, mee ientoubeluuken',
 'blanknamespace' => '(Sieden)',
 
 # Contributions
@@ -2153,8 +2220,8 @@ Reek dän Gruund foar ju Speere oun.',
 'ipb-confirm' => 'Speerenge bestäätigje',
 'badipaddress' => 'Dissen Benutser bestoant nit, d.h. die Noome is falsk',
 'blockipsuccesssub' => 'Blokkoade geloangen',
-'blockipsuccesstext' => 'Ju IP-Adrässe [[Special:Contributions/$1|$1]] wuude blokkierd.
-<br />[[Special:BlockList|Lieste fon Blokkoaden]].',
+'blockipsuccesstext' => 'Die Benutser/ ju IP-Adrässe [[Special:Contributions/$1|$1]] wuud speerd.<br />
+Toun Aphieuwjen fon ju Speere sjuch [[Special:BlockList|Lieste fon aktive Speeren]].',
 'ipb-blockingself' => 'Du bäst tougong, die sälwen tou speeren! Moatest dät wuudelk dwo?',
 'ipb-confirmhideuser' => 'Du bäst tougong n Benutser in dän Modus "Benutser fersteete" tou speeren. Dät fiert deertou, dät die Benutsernoome in aal Liesten un Logbouke unnerdrukt wäd. Moatest dät wuudelk dwo?',
 'ipb-edit-dropdown' => 'Speergruunde beoarbaidje',
@@ -2203,9 +2270,9 @@ Reek dän Gruund foar ju Speere oun.',
 Hier foulget die Iendraach uut dät Unnerdrukkengs-Logbouk:',
 'blocklogentry' => '[[$1]] blokkierd foar n Tiedruum fon: $2 $3',
 'reblock-logentry' => 'annerde ju Speere foar „[[$1]]“ foar dän Tiedruum: $2 $3',
-'blocklogtext' => 'Dit is n Logbouk fon Speerengen un Äntspeerengen fon Benutsere un IP-Adrässe. 
+'blocklogtext' => 'Dit is n Logbouk fon Speerengen un Äntspeerengen fon Benutsere un IP-Adrässen
 Automatisk speerde IP-Adrässe sunt nit apnuumen.
-Sjuch ju [[Special:BlockList|Lieste fon de speerde IP-Adrässe un Benutsernoomen]] foar aal aktive Speeren.',
+Sjuch ju [[Special:BlockList|Lieste fon de speerde IP-Adrässen un Benutsernoomen]] foar aal aktive Speeren.',
 'unblocklogentry' => 'Blokkade fon $1 aphieuwed',
 'block-log-flags-anononly' => 'bloot Anonyme',
 'block-log-flags-nocreate' => 'Dät Moakjen fon Benutserkonten speerd',
@@ -2255,6 +2322,7 @@ Reek jädden [[Special:UnlockDB|ju Doatenboank wier fräi]], so gau ju Fersuurge
 'unlockdbsuccesstext' => 'Ju {{SITENAME}}-Doatenboank wuude fräiroat.',
 'lockfilenotwritable' => 'Ju Doatenboank-Speerdoatäi is nit beskrieuwboar. Toun Speeren of Fräireeken fon ju Doatenboank mout ju foar dän Webserver beskrieuwboar weese.',
 'databasenotlocked' => 'Ju Doatenboank is nit speerd.',
+'lockedbyandtime' => '(fon $1 an dän $2 uum $3 Uure)',
 
 # Move page
 'move-page' => 'Ferskuuwe „$1“',
@@ -2458,7 +2526,7 @@ Do ap dän lokoale Reekener spiekerje un deerätter hier hoochleede.',
 'tooltip-ca-viewsource' => 'Disse Siede is skutsed. Die Wältext kon ankieked wäide.',
 'tooltip-ca-history' => 'Fröiere Versione fon disse Siede',
 'tooltip-ca-protect' => 'Disse Siede skutsje',
-'tooltip-ca-unprotect' => 'Disse Siede fräireeke',
+'tooltip-ca-unprotect' => 'Siedenskuts annerje',
 'tooltip-ca-delete' => 'Disse Siede läskje',
 'tooltip-ca-undelete' => 'Iendraage wier moakje, eer disse Siede läsked wuude',
 'tooltip-ca-move' => 'Disse Siede ferskuuwe',
@@ -2539,6 +2607,19 @@ Do ap dän lokoale Reekener spiekerje un deerätter hier hoochleede.',
 'spam_reverting' => 'Lääste Version sunner Links tou $1 wier häärstoald.',
 'spam_blanking' => 'Aal Versione äntheelden Links tou $1, skeenmoaked.',
 
+# Info page
+'pageinfo-title' => 'Informatione tou „$1“',
+'pageinfo-header-edits' => 'Beoarbaidengen',
+'pageinfo-header-watchlist' => 'Beooboachtengslieste',
+'pageinfo-header-views' => 'Siedenaproupe',
+'pageinfo-subjectpage' => 'Siede',
+'pageinfo-talkpage' => 'Diskussionssiede',
+'pageinfo-watchers' => 'Antaal fon do Besäikere',
+'pageinfo-edits' => 'Antaal fon do  Beoarbaidengen',
+'pageinfo-authors' => 'Antaal fon unnerskeedelke Autoren',
+'pageinfo-views' => 'Antaal fon Siedenaproupe',
+'pageinfo-viewsperedit' => 'Siedenaproupe pro Beoarbaidenge',
+
 # Patrolling
 'markaspatrolleddiff' => 'As pröiwed markierje',
 'markaspatrolledtext' => 'Dissen Artikkel as pröiwed markierje',
@@ -2577,6 +2658,7 @@ $1',
 'widthheightpage' => '$1 × $2, {{PLURAL:$3|1 Siede|$3 Sieden}}',
 'file-info' => 'Doatäigrööte: $1, MIME-Typ: $2',
 'file-info-size' => '$1 × $2 Pixel, Doatäigrööte: $3, MIME-Typ: $4',
+'file-info-size-pages' => '$1 × $2 Pixel, Doatäigrööte: $3, MIME-Typ: $4, $5 {{PLURAL:$5|Siede| Sieden}}',
 'file-nohires' => 'Neen haagere Aplöösenge foarhounden.',
 'svg-long-desc' => 'SVG-Doatäi, Basisgrööte: $1 × $2 Pixel, Doatäigrööte: $3',
 'show-big-image' => 'Bielde in hooge Aplöösenge',
@@ -2617,8 +2699,8 @@ Deerap foulgjende Siedenferbiendengen in jusälge Riege wäide as Uutnoamen betr
 Truch ätterdraine Beoarbaidenge fon ju Originoaldoatäi konnen eenige Details annerd wuuden weese.',
 'metadata-expand' => 'Wiedere Details ienbländje',
 'metadata-collapse' => 'Details uutbländje',
-'metadata-fields' => 'Do foulgjende Fäildere fon do EXIF-Metadoaten in disse Media Wiki-Ättergjucht wäide ap Bieldbeskrieuwengssieden anwiesd;
-wiedere standdoardmäitich "ienklapte" Details konnen anwiesd wäide.
+'metadata-fields' => 'Do foulgjende Fäildere fon do EXIF-Metadoaten, do der in dissen Media Wiki-Systemtext anroat sunt, wäide ap Bieldbeskrieuwengssieden mäd ienklapte Metadoatentabelle anwiesd.
+Wiedere wäide standoardmäitich nit anwiesd.
 * make
 * model
 * fnumber
@@ -2667,8 +2749,8 @@ wiedere standdoardmäitich "ienklapte" Details konnen anwiesd wäide.
 'exif-colorspace' => 'Faawenruum',
 'exif-componentsconfiguration' => 'Betjuudenge fon älke Komponente',
 'exif-compressedbitsperpixel' => 'Komprimierde Bits pro Pixel',
-'exif-pixelydimension' => 'Gultige Bieldebratte',
-'exif-pixelxdimension' => 'Gultige Bieldehöchte',
+'exif-pixelydimension' => 'Bieldebratte',
+'exif-pixelxdimension' => 'Bieldehöchte',
 'exif-usercomment' => 'Benutserkommentoare',
 'exif-relatedsoundfile' => 'Touheerige Toondoatäi',
 'exif-datetimeoriginal' => 'Ärfoatengstiedpunkt',
@@ -2682,9 +2764,9 @@ wiedere standdoardmäitich "ienklapte" Details konnen anwiesd wäide.
 'exif-exposureprogram' => 'Beljuchtengsprogram',
 'exif-spectralsensitivity' => 'Beljoachtengstiedwäid',
 'exif-isospeedratings' => 'Film- of Sensorämpfiendelkaid (ISO)',
-'exif-shutterspeedvalue' => 'Beluchtengstiedwäid',
-'exif-aperturevalue' => 'Bländenwäid',
-'exif-brightnessvalue' => 'Ljoachtegaidswäid',
+'exif-shutterspeedvalue' => 'APEX-Beluchtengstiedwäid',
+'exif-aperturevalue' => 'APEX-Bländenwäid',
+'exif-brightnessvalue' => 'APEX-Ljoachtegaidswäid',
 'exif-exposurebiasvalue' => 'Beljuchtengsfoargoawe',
 'exif-maxaperturevalue' => 'Grootste Blände',
 'exif-subjectdistance' => 'Fierte',
@@ -2746,7 +2828,50 @@ wiedere standdoardmäitich "ienklapte" Details konnen anwiesd wäide.
 'exif-gpsareainformation' => 'Noome fon dät GPS-Gestrich',
 'exif-gpsdatestamp' => 'GPS-Doatum',
 'exif-gpsdifferential' => 'GPS-Differentioalkorrektur',
+'exif-jpegfilecomment' => 'JPEG-Doatäikommentoar',
+'exif-keywords' => 'Koaiwoude',
+'exif-worldregioncreated' => 'Waareldregion in ju dät Foto apnuumen wuud',
+'exif-countrycreated' => 'Stoat in dän dät Foto apnuumen wuud',
+'exif-countrycodecreated' => 'Code foar dän Stoat in dän dät Foto apnuumen wuud',
+'exif-provinceorstatecreated' => 'Provinz of Glidstoat in dän dät Foto apnuumen wuud',
+'exif-citycreated' => 'Stääd in ju dät Foto aonuumen wuud',
+'exif-sublocationcreated' => 'Beräk fon de Stääd in dän dät Foto apnuumen wuud',
+'exif-worldregiondest' => 'Wiesde Waareldregione',
+'exif-countrydest' => 'Wiesden Stoat',
+'exif-countrycodedest' => 'Code foar dän wiesden Stoat',
+'exif-provinceorstatedest' => 'Wiesde Provinz of Glidstoat',
+'exif-citydest' => 'Wiesde Stääd',
+'exif-sublocationdest' => 'Beräk fon de wiesde Stääd',
 'exif-objectname' => 'Kuuten Tittel',
+'exif-specialinstructions' => 'Besunnere Anwiesengen',
+'exif-headline' => 'Tittel',
+'exif-credit' => 'Noomensnaamengte/Fereepentelker',
+'exif-source' => 'Wälle',
+'exif-editstatus' => 'Redaktionelle Stoatus fon dät Foto',
+'exif-urgency' => 'Tringelkhaid',
+'exif-fixtureidentifier' => 'Kolumne',
+'exif-locationdest' => 'Deerstoalden Standoart',
+'exif-locationdestcode' => 'Code foar dän deerstoalde Standoart',
+'exif-objectcycle' => 'Tied fon dän Dai, foar ju dit Medium bestimd is',
+'exif-contact' => 'Kontaktinformatione',
+'exif-writer' => 'Ferfoater',
+'exif-languagecode' => 'Sproake',
+'exif-iimversion' => 'IM-Version',
+'exif-iimcategory' => 'Kategorie',
+'exif-iimsupplementalcategory' => 'Kategorien uurhoop',
+'exif-datetimeexpires' => 'Nit ferweende ätter',
+'exif-originaltransmissionref' => 'Code fon dän Standoart fon dän dät Foto tousoand wuud',
+'exif-identifier' => 'Kannenge',
+'exif-lens' => 'Ferwoand Objektiv',
+'exif-serialnumber' => 'Seriennummer fon ju Kamera',
+'exif-cameraownername' => 'Kamerabesitter',
+'exif-label' => 'Beteekenge',
+'exif-datetimemetadata' => 'Doatum tou dän do Metadoaten toulääst annerd wuuden',
+'exif-nickname' => 'Gebruukelke Noome fon dät Foto',
+'exif-rating' => 'Beweertenge (uut 5)',
+'exif-rightscertificate' => 'Gjuchteferwaltengszertifikoat',
+'exif-copyrighted' => 'Uurhieuwergjuchtstoatus',
+'exif-copyrightowner' => 'Uurhieuwergjuchtsienhääber',
 
 # EXIF attributes
 'exif-compression-1' => 'Uunkomprimierd',
@@ -2758,9 +2883,9 @@ wiedere standdoardmäitich "ienklapte" Details konnen anwiesd wäide.
 'exif-orientation-3' => 'Uum 180° uumewoand',
 'exif-orientation-4' => 'Vertikoal uumewoand',
 'exif-orientation-5' => 'Juun dän Klokkenwiesersin uum 90° troald un vertikoal uumewoand',
-'exif-orientation-6' => 'Uum 90° in Klokkenwiesersin troald',
+'exif-orientation-6' => 'Uum 90° juun dän Klokkenwiesersin troald',
 'exif-orientation-7' => 'Uum 90° in Klokkenwiesersin troald un vertikoal uumewoand',
-'exif-orientation-8' => 'Uum 90° juun dän Klokkenwiesersin troald',
+'exif-orientation-8' => 'Uum 90° in dän Klokkenwiesersin troald',
 
 'exif-planarconfiguration-1' => 'Groafformoat',
 'exif-planarconfiguration-2' => 'Planoarformoat',
@@ -2828,6 +2953,8 @@ wiedere standdoardmäitich "ienklapte" Details konnen anwiesd wäide.
 'exif-sensingmethod-7' => 'Trilinearen Sensor',
 'exif-sensingmethod-8' => 'Color sequential linear sensor',
 
+'exif-filesource-3' => 'Digitoale Standbieldekamera',
+
 'exif-scenetype-1' => 'Normoal',
 
 'exif-customrendered-0' => 'Standoard',
index c02888a..ff0b98d 100644 (file)
@@ -488,8 +488,8 @@ Sigana geus dihapus ku nu séjén.',
 'cannotdelete-title' => 'Hanteu bisa ngahapus kaca "$1"',
 'badtitle' => 'Judul goréng',
 'badtitletext' => 'Judul kaca nu dipénta teu bener, kosong, atawa judul antarbasa atawa antarwikina salah tutumbu.',
-'perfcached' => 'Data di handap ieu sindangan sahingga--meureun--teu mutahir. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => 'Data di handap ieu mah sindangan, panungtungan diropéa téh $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.',
+'perfcached' => "Data di handap ieu mangrupa 'cache' sahingga bisa jadi henteu mutahir. 'Cache' nyadiakeun paling loba {{PLURAL:$1|hiji hasil|$1 hasil}}.",
+'perfcachedts' => "Data di handap mangrupa 'cache' anu panungtungan diropéa $1. 'Cache' nyadiakeun paling loba {{PLURAL:$4|hiji hasil|$4 hasil}}.",
 'querypage-no-updates' => 'Pangrobahan ahir ti kaca ieu keur dipaéhkeun. Data anu aya di dieu ayeuna moal dimuat deui.',
 'wrong_wfQuery_params' => 'Parameter salah ka wfQuery()<br />Fungsi: $1<br />Pamenta: $2',
 'viewsource' => 'Témbongkeun sumber',
@@ -780,7 +780,7 @@ Pikeun rujukan, éntri log panungtung dipidangkeun di handap:',
 'userinvalidcssjstitle' => "'''Awas''': kulit \"\$1\" mah teu aya. Sing émut yén kaca .css jeung .js mah migunakeun aksara leutik dina judulna, contona baé {{ns:user}}:Foo/vector.css lawan {{ns:user}}:Foo/Vector.css.",
 'updated' => '(Geus diropéa)',
 'note' => "'''Catetan:'''",
-'previewnote' => "'''Inget yén ieu ukur pramidang, can disimpen!'''
+'previewnote' => "'''Inget yén ieu ukur pratayang, can disimpen.'''
 Éditan anjeun can disimpen!",
 'previewconflict' => 'Sawangan ieu mangrupa eunteung pikeun téks na rohangan ngédit sakumaha bakal katémbong mun ku anjeun disimpen.',
 'session_fail_preview' => "'''Punten! Kami teu bisa ngolah éditan anjeun alatan leungitna data rintakan. Mangga cobian deui. Mun tetep teu bisa, cobi kaluar log lajeng lebet deui.'''",
@@ -1364,7 +1364,7 @@ Mun geus anggeus teu bisa dibolaykeun.',
 'nchanges' => '$1 {{PLURAL:$1|parobahan|parobahan}}',
 'recentchanges' => 'Anyar robah',
 'recentchanges-legend' => 'Pilihan parobahan anyar',
-'recentchangestext' => 'Lacak parobahan ka wiki panganyarna na kaca ieu.',
+'recentchanges-summary' => 'Lacak parobahan ka wiki panganyarna na kaca ieu.',
 'recentchanges-feed-description' => 'Manggihan parobahan panganyarna dina wiki di asupan ieu.',
 'recentchanges-label-newpage' => 'Ieu parobahan bakal ngahasillkeun kaca anyar',
 'recentchanges-label-minor' => 'Ieu éditan minor',
index 19d1cd3..f9f11e2 100644 (file)
@@ -1267,7 +1267,7 @@ Se till att sidhistorikens kontinuitet behålls när du sammanfogar historik.',
 
 # Diffs
 'history-title' => 'Versionshistorik för "$1"',
-'difference-title' => 'Skillnader mellan revideringar av "$1"',
+'difference-title' => 'Skillnad mellan versioner av "$1"',
 'difference-title-multipage' => 'Skillnader mellan sidorna "$1" och "$2"',
 'difference-multipage' => '(Skillnad mellan sidor)',
 'lineno' => 'Rad $1:',
@@ -1365,6 +1365,7 @@ Notera dock att deras indexering av {{SITENAME}} kan vara något föråldrad.',
 'prefs-beta' => 'Betafunktioner',
 'prefs-datetime' => 'Datum och tid',
 'prefs-labs' => 'Testfunktioner',
+'prefs-user-pages' => 'Användarsidor',
 'prefs-personal' => 'Mitt konto',
 'prefs-rc' => 'Senaste ändringar',
 'prefs-watchlist' => 'Bevakningslista',
@@ -1400,7 +1401,7 @@ Här är ett slumpmässigt genererat värde som du kan använda: $1',
 'savedprefs' => 'Dina inställningar har sparats',
 'timezonelegend' => 'Tidszon:',
 'localtime' => 'Lokal tid:',
-'timezoneuseserverdefault' => 'Använd wiki standard ($1)',
+'timezoneuseserverdefault' => 'Använd wikins standard ($1)',
 'timezoneuseoffset' => 'Annan (specificera skillnad)',
 'timezoneoffset' => 'Skillnad¹:',
 'servertime' => 'Serverns tid:',
@@ -1627,7 +1628,7 @@ Om du väljer att ange ditt riktiga namn, kommer det att användas för att till
 'nchanges' => '$1 {{PLURAL:$1|ändring|ändringar}}',
 'recentchanges' => 'Senaste ändringarna',
 'recentchanges-legend' => 'Alternativ för senaste ändringarna',
-'recentchangestext' => 'Följ de senaste ändringarna i wikin på denna sida.',
+'recentchanges-summary' => 'Följ de senaste ändringarna i wikin på denna sida.',
 'recentchanges-feed-description' => 'Följ de senaste ändringarna i wikin genom den här matningen.',
 'recentchanges-label-newpage' => 'Denna redigering skapade en ny sida',
 'recentchanges-label-minor' => 'Detta är en mindre ändring',
index 6b54e12..3310dc9 100644 (file)
@@ -15,6 +15,7 @@
  * @author Marcos
  * @author Muddyb Blast Producer
  * @author Robert Ullmann
+ * @author Stephenwanjau
  * @author לערי ריינהארט
  */
 
@@ -1004,7 +1005,7 @@ Haliwezi kufichwa.',
 # Suppression log
 'suppressionlog' => 'Kumbukumbu za kuficha',
 'suppressionlogtext' => 'Hapo chini panaonyeshwa orodha ya matukio ya ufutaji na ya uzuio ambayo maelezo yao yamefichwa kutoka kwa wakabidhi.
-Tazama [[Special:BlockList|orodha ya uzuio wa IP]] kuona orodha ya zuio zilizopo sasa hivi.',
+Tazama [[Special:BlockList|IP block orodha ya uzuio wa IP]] kuona orodha ya zuio zilizopo sasa hivi.',
 
 # History merging
 'mergehistory' => 'Unganisha historia za kurasa',
@@ -1125,6 +1126,7 @@ Ujue lakini kwamba kumbukumbu za {{SITENAME}} kule Google labda zilipitwa na wak
 'datedefault' => 'Chaguo-msingi',
 'prefs-beta' => 'Zana za Beta',
 'prefs-datetime' => 'Tarehe na saa',
+'prefs-user-pages' => 'Kurasa za watumiaji',
 'prefs-personal' => 'Kuhusu mtumiaji',
 'prefs-rc' => 'Mabadiliko ya karibuni',
 'prefs-watchlist' => 'Maangalizi',
@@ -1250,7 +1252,7 @@ Taarifa hii itakuwa wazi.',
 'userrights-no-interwiki' => 'Huna ruhusa ya kuhariri haki za mtumiaji kwenye wiki zingine.',
 'userrights-nodatabase' => 'Hakuna hifadhidata inayoitwa $1 au haimo katiko jumuia hii ya wiki.',
 'userrights-nologin' => 'Lazima [[Special:UserLogin|uingie ndani]] ya akaunti ya mkabidhi ili kupanga haki za mtumiaji.',
-'userrights-notallowed' => 'Akaunti yako haina ruhusa ya kupanga haki za mtumiaji.',
+'userrights-notallowed' => 'Akaunti yako haina ruhusa ya kuongeza au kutoa haki za mtumiaji.',
 'userrights-changeable-col' => 'Makundi unayoweza kuyabadilisha',
 'userrights-unchangeable-col' => 'Makundi usiyoweza kuyabadilisha',
 
@@ -1313,7 +1315,7 @@ Taarifa hii itakuwa wazi.',
 'right-hideuser' => 'Kuzuia jina la mtumiaji, lisionekane mbele ya kadamnasi',
 'right-protect' => 'Badilisha viwango vya ulinzi na hariri kurasa zilizolindwa',
 'right-editinterface' => 'Kuhariri kusano ya mtumiaji',
-'right-editusercssjs' => 'Kuhariri mafaili ya CSS na JavaScript ya watumiaji wengine',
+'right-editusercssjs' => 'Hariri mafaili ya CSS na Hatijava ya watumiaji wengine',
 'right-editusercss' => 'Hariri mafaili ya CSS ya watumiaji wengine',
 'right-edituserjs' => 'Hariri mafaili ya JavaScript ya watumiaji wengine',
 'right-import' => 'Kuleta kurasa kutoka kwa wiki zingine',
@@ -1369,7 +1371,7 @@ Taarifa hii itakuwa wazi.',
 'nchanges' => '{{PLURAL:$1|badiliko|mabadiliko}} $1',
 'recentchanges' => 'Mabadiliko ya karibuni',
 'recentchanges-legend' => "Machaguo ya 'mabadaliko ya karibuni'",
-'recentchangestext' => 'Orodha ya mabadilisho yaliyofanywa katika {{SITENAME}} siku zilizopita.',
+'recentchanges-summary' => 'Orodha ya mabadilisho yaliyofanywa katika {{SITENAME}} siku zilizopita.',
 'recentchanges-feed-description' => 'Tumia tawanyiko hili kufuatilia mabadiliko yote ya hivi karibuni katika Wiki.',
 'recentchanges-label-newpage' => 'Ukurasa mpya ulianzishwa hapo',
 'recentchanges-label-minor' => 'Hili ni badiliko dogo',
@@ -1554,10 +1556,10 @@ Tatizo likiendelea, uwasiliane na [[Special:ListUsers/sysop|mkabidhi]].',
 # ZipDirectoryReader
 'zip-file-open-error' => 'Ilitokea hitilafu wakati wa kufungua faili kwa ajili ya ukaguzi wa ZIP.',
 'zip-wrong-format' => 'Faili lililotajwa si faili la ZIP.',
-'zip-bad' => 'Faili ZIP hili limevurugika ama halisomeka.
-Haliwezi kugakuliwa ili kukinga usalama.',
-'zip-unsupported' => 'Faili ZIP hili linatumia bidhaa pepe ya ZIP zisizoeleweka na MediaWiki.
-Haliwezi kugakuliwa ili kukinga usalama.',
+'zip-bad' => 'Faili hili la ZIP limevurugika ama haliwezikusomeka.
+Haliwezi kukaguliwa vilivyo kwa sababu za kiusalama.',
+'zip-unsupported' => 'Faili hili la ZIP ambalo linatumia vipengele ambavyo haviungwi mkono na MediaWiki.
+Haliwezi kukaguliwa vilivyo kwa sababu za kiusalama.',
 
 # Special:UploadStash
 'uploadstash-refresh' => 'Zimua orodha ya mafaili',
@@ -1676,7 +1678,7 @@ Pengine ungependa kuhariri maelezo yaliyopo katika [$2 ukurasa wa maelezo ya fai
 ** Faili la nakili',
 'filedelete-edit-reasonlist' => 'Kuhariri orodha ya sababu za kufuta',
 'filedelete-maintenance' => 'Tovuti inarekebishwa. Kwa muda huo kufuta na kurudisha mafaili haiwezikani.',
-'filedelete-maintenance-title' => 'Faili hilifutiki',
+'filedelete-maintenance-title' => 'Faili halifutiki',
 
 # MIME search
 'mimesearch' => 'Utafutaji wa MIME',
@@ -1719,14 +1721,14 @@ Kumbuka kuhakikisha kwamba hakuna viungo vingine vinavyoelekea kigezo fulani kab
 'statistics-edits' => 'Kurasa zilizohaririwa tangu {{SITENAME}} ilivyoanzishwa',
 'statistics-edits-average' => 'Wastani wa uhariri kwa kurasa',
 'statistics-views-total' => 'Jumla ya mitazamaji',
-'statistics-views-total-desc' => 'Ziara za kurasa zisizopatikana na kurasa maalum hazihesabiwi',
+'statistics-views-total-desc' => 'Tazamo za kurasa zisizokuwepo na kurasa maalumu hazionikani.',
 'statistics-views-peredit' => 'Mitazamaji kwa haririo',
 'statistics-users' => '[[Special:ListUsers|Watumiaji]] waliojisajiri',
 'statistics-users-active' => 'Watumiaji wanaofanya kazi',
 'statistics-users-active-desc' => 'Watumiaji waliofanya kazi katika siku {{PLURAL:$1|iliyopita|$1 zilizopita}}',
 'statistics-mostpopular' => 'Kurasa zinazotazamwa sana',
 
-'disambiguations' => 'Kurasa za kuainisha maneno',
+'disambiguations' => 'Kurasa zinazoungana na kurasa za uanishaji',
 'disambiguationspage' => 'Template:Maana',
 'disambiguations-text' => "Kurasa zinazofuata zina viungo vinavyoelekea '''kurasa ya kutofautishana maana'''.
 Ni afadhali kiungo kiende makala inayostahili moja kwa moja.<br />
@@ -1736,8 +1738,8 @@ Kurasa za kutofautishana maana ni zile zinazotumia kigezo kinachoorodheshwa kati
 'doubleredirectstext' => 'Ukurasa huu unaorodhesha kurasa zinazoelekeza kurasa zingine za kuelekeza.
 Katika kila mstari kuna viungo vinavyokwenda katika kurasa za kuelekeza zote mbili, pamoja na ukurasa wa mwishilio mwa elekezo la pili. Ukurasa huu wa mwishilio huwa ni ukurasa unaostahili kuelekezwa kutoka kwa ukurasa wa kuelekeza wa kwanza. Vitu <del>vilivyokatwa kwa mstari</del> vimeshatatuliwa.',
 'double-redirect-fixed-move' => '[[$1]] umehamishwa.
-Sasa unaelekeza [[$2]].',
-'double-redirect-fixed-maintenance' => 'Elekezo maradufu inarekebishwa toka [[$1]] kwenda [[$2]].',
+Sasa unaelekeza kwa [[$2]].',
+'double-redirect-fixed-maintenance' => 'Elekezo maradufu inarekebishwa kutoka [[$1]] kwenda [[$2]].',
 'double-redirect-fixer' => 'Boti ya kurekebisha maelekezo',
 
 'brokenredirects' => 'Maelekezo yenye hitilafu',
@@ -1772,7 +1774,7 @@ Sasa unaelekeza [[$2]].',
 'popularpages' => 'Kurasa zinazopendelewa',
 'wantedcategories' => 'Jamii zinazotakiwa',
 'wantedpages' => 'Kurasa zinazotakiwa',
-'wantedpages-badtitle' => 'Lipo jina batili katika matokeo: $1',
+'wantedpages-badtitle' => 'Kichwa batili katika seti ya matokeo: $1',
 'wantedfiles' => 'Mafaili yanayokosekana',
 'wantedtemplates' => 'Vigezo vinavyotakiwa',
 'mostlinked' => 'Kurasa zinazoungwa kuliko zote',
@@ -1787,11 +1789,13 @@ Sasa unaelekeza [[$2]].',
 'deadendpages' => 'Kurasa ambazo haziungi na ukurasa mwingine wowote',
 'deadendpagestext' => 'Kurasa zifuatazo haziungana na kurasa zingine katika {{SITENAME}}.',
 'protectedpages' => 'Kurasa zinazolindwa',
-'protectedpages-indef' => 'Zinazolindwa kwa muda wote tu',
+'protectedpages-indef' => 'Ulinzi kwa muda usiojulikana tu',
 'protectedpages-cascade' => 'zinazokuwa na ulindaji kwa kurasa chini zake tu',
-'protectedpagestext' => 'Kurasa zifuatazo zinalindwa zisisogezwe wala zisihaririwe',
+'protectedpagestext' => 'Kurasa zifuatazo zinalindwa zisisogezwe wala kuhaririwa',
+'protectedpagesempty' => 'Hakuna kurasa zinazolindwa kwa sasa kwa vigezo hivi.',
 'protectedtitles' => 'Majina yanayozuluiwa',
 'protectedtitlestext' => 'Yafuatayo ni majina ya kurasa yanayozuluiwa kuyatumia',
+'protectedtitlesempty' => 'Hakuna vichwa vinavyolindwa kwa vigezo hivi kwa sasa.',
 'listusers' => 'Orodha ya Watumiaji',
 'listusers-editsonly' => 'Onyesha watumiaji wenye kuhariri tu',
 'listusers-creationsort' => 'Panga kwa tarehe ya kuanzishwa',
@@ -1802,7 +1806,8 @@ Sasa unaelekeza [[$2]].',
 'ancientpages' => 'Kurasa za kale',
 'move' => 'Hamisha',
 'movethispage' => 'Hamisha ukurasa huu',
-'unusedcategoriestext' => 'Kurasa za jamii zifuatazo zinapatikana, ingawaje hakuna ukurasa wala jamii nyingine iliyowekwa ndani ya jamii hizi.',
+'unusedcategoriestext' => 'Kurasa za jamii zifuatazo zinapatikana, ingawaje hakuna ukurasa wala jamii nyingine inayotumia kurasa hizi.',
+'notargettitle' => 'Hakuna lengo',
 'pager-newer-n' => '{{PLURAL:$1|1 ya karibu zaidi|$1 ya karibu zaidi}}',
 'pager-older-n' => '{{PLURAL:$1|$1 ya zamani zaidi}}',
 
index 3c7fb48..19c3b0a 100644 (file)
@@ -1166,7 +1166,7 @@ $1',
 'nchanges' => '$1 {{PLURAL:$1|pomjyńańe|pomjyńańa|pomjyńań}}',
 'recentchanges' => 'Ńydowno půmjyńane',
 'recentchanges-legend' => 'Uopcyje ńydowno půmjyńanych',
-'recentchangestext' => 'Ta zajta předstawjo historyjo uostatńich půmjyńań na tyj wiki',
+'recentchanges-summary' => 'Ta zajta předstawjo historyjo uostatńich půmjyńań na tyj wiki',
 'recentchanges-feed-description' => 'Dowej pozůr na půmjyńane na uostatku na tyj wiki.',
 'recentchanges-label-newpage' => 'Tym sprowjyńym stworzůno nowa zajta',
 'recentchanges-label-minor' => 'To je ńywjelge sprowjyńy',
index 75341e8..e8d3d01 100644 (file)
@@ -16,6 +16,7 @@
  * @author Mahir78
  * @author Mayooranathan
  * @author Naveen
+ * @author Planemad
  * @author Shanmugamp7
  * @author Sodabottle
  * @author Sundar
@@ -1354,7 +1355,7 @@ $1",
 'nchanges' => '{{PLURAL:$1|ஓர் மாற்றம்|$1 மாற்றங்கள்}}',
 'recentchanges' => 'அண்மைய மாற்றங்கள்',
 'recentchanges-legend' => 'அண்மைய மாற்றங்களின் தேர்வுகள்',
-'recentchangestext' => 'இந்த விக்கிக்கு மிக அண்மையில் செய்யப்பட்ட மாற்றங்களை, இந்தப் பக்கத்தில் காணலாம்.',
+'recentchanges-summary' => 'இந்த விக்கிக்கு மிக அண்மையில் செய்யப்பட்ட மாற்றங்களை, இந்தப் பக்கத்தில் காணலாம்.',
 'recentchanges-feed-description' => 'இவ்வுள்ளீட்டில் இந்த விக்கியில் செய்யப்பட்ட் மிக அண்மைய மாற்றங்கள் கவனிக்கப்படுகின்றன.',
 'recentchanges-label-newpage' => 'இந்தத் தொகுப்பு ஒரு புதிய பக்கத்தை உருவாக்கியுள்ளது',
 'recentchanges-label-minor' => 'இது ஒரு சிறு தொகுப்பு',
@@ -2077,7 +2078,7 @@ $NEWPAGE
 
 # Protect
 'protectlogpage' => 'காப்புப் பதிகை',
-'protectlogtext' => 'பின்வருவது பக்க திறப்புக்களதும் பூட்டுக்களதும் பட்டியலாகும். தற்போது நடைமுறையிலுள்ள காக்கப்பட்டப் பக்கங்களைக் காண [[Special:ProtectedPages|காக்கப்பட்ட பக்கங்களின் பட்டியலைப்]] பார்க்கவும்.',
+'protectlogtext' => '!!FUzZY!!பின்வருவது பக்க திறப்புக்களதும் பூட்டுக்களதும் பட்டியலாகும். தற்போது நடைமுறையிலுள்ள காக்கப்பட்டப் பக்கங்களைக் காண [[Special:ProtectedPages|காக்கப்பட்ட பக்கங்களின் பட்டியலைப்]] பார்க்கவும்.',
 'protectedarticle' => '"[[$1]]" காக்கப்பட்டது',
 'modifiedarticleprotection' => '"[[$1]]" பக்கத்திற்கான காப்பின் அளவு மாற்றப்பட்டது',
 'unprotectedarticle' => '"[[$1]]" பக்கத்தின் காப்பு நீக்கப்பட்டது',
index 3f8b82b..f0a254e 100644 (file)
@@ -662,7 +662,7 @@ $messages = array(
 'nchanges' => '$1 {{PLURAL:$1|ಬದಲಾವಣೆ|ಬದಲಾವಣೆಲು}}',
 'recentchanges' => 'ಇಂಚಿಪದ ಬದಲಾವಣೆಲು',
 'recentchanges-legend' => 'ಇಂಚಿಪದ ಬದಲಾವಣೆಲು ಆಯ್ಕೆಲು',
-'recentchangestext' => 'ಈ ವಿಕಿಟ್ ಇಂಚಿಪ್ಪ ಆತಿನ ಬದಲಾವಣೆನ್ ಟ್ರಾಕ್ ಮಲ್ಪುಲೆ',
+'recentchanges-summary' => 'ಈ ವಿಕಿಟ್ ಇಂಚಿಪ್ಪ ಆತಿನ ಬದಲಾವಣೆನ್ ಟ್ರಾಕ್ ಮಲ್ಪುಲೆ',
 'recentchanges-feed-description' => 'ಈ ಫೀಡ್’ಡ್ ವಿಕಿಕ್ ಇಂಚಿಪ್ಪ ಆತಿನಂಚಿನ ಬದಲಾವಣೆಲೆನ್ ಟ್ರ್ಯಾಕ್ ಮಲ್ಪುಲೆ.',
 'recentchanges-label-newpage' => 'ಇರ್ನ ಈ ಬದಲಾವಣೆ ಪೊಸ ಪುಟೊನು ಸುರು ಮಲ್ಪುಂಡು',
 'recentchanges-label-minor' => 'ಉಂದು ಎಲ್ಯ ಬದಲಾವಣೆ',
index 9c73a79..f9cd17c 100644 (file)
@@ -511,7 +511,7 @@ $1',
 'viewsource-title' => '$1 యొక్క సోర్సు చూడండి',
 'actionthrottled' => 'కార్యాన్ని ఆపేసారు',
 'actionthrottledtext' => 'స్పామును తగ్గించటానికి తీసుకున్న నిర్ణయాల వల్ల, మీరు ఈ కార్యాన్ని అతి తక్కువ సమయంలో బోలెడన్ని సార్లు చేయకుండా అడ్డుకుంటున్నాము. కొన్ని నిమిషాలు ఆగి మరలా ప్రయత్నించండి.',
-'protectedpagetext' => 'à°\88 à°ªà±\87à°\9cà±\80à°ªà±\88 à°¦à°¿à°¦à±\8dà°¦à±\81బాà°\9fà±\8dà°²à±\81 à°\9aà±\86à°¯à±\8dయనివà±\8dà°µà°\95à±\81à°\82à°¡à°¾ à°²à°¾à°\95à±\81 à°\9aà±\87సాà°\82.',
+'protectedpagetext' => 'à°\88 à°ªà±\87à°\9cà±\80ని à°®à°¾à°°à±\8dà°\9aà°\95à±\81à°\82à°¡à°¾ à°\89à°\82à°¡à±\87à°\82à°¦à±\81à°\95à±\81 à°¸à°\82à°°à°\95à±\8dà°·à°¿à°\82à°\9aారà±\81.',
 'viewsourcetext' => 'మీరీ పేజీ సోర్సును చూడవచ్చు, కాపీ చేసుకోవచ్చు:',
 'protectedinterface' => 'సాఫ్టువేరు ఇంటరుఫేసుకు చెందిన టెక్స్టును ఈ పేజీ అందిస్తుంది. దుశ్చర్యల నివారణ కోసమై దీన్ని లాకు చేసాం.',
 'editinginterface' => "'''హెచ్చరిక''': సాఫ్టువేరుకు ఇంటరుఫేసు టెక్స్టును అందించే పేజీని మీరు సరిదిద్దుతున్నారు.
@@ -810,6 +810,7 @@ $2
 'token_suffix_mismatch' => "'''మీ క్లయంటు, దిద్దుబాటు టోకెన్‌లోని వ్యాకరణ గుర్తులను గజిబిజి చేసింది కాబట్టి మీ దిద్దుబాటును తిరస్కరించాం. పేజీలోని పాఠ్యాన్ని చెడగొట్టకుండా ఉండేందుకు గాను, ఆ దిద్దుబాటును రద్దు చేశాం. వెబ్‌లో ఉండే లోపభూయిష్టమైన అజ్ఞాత ప్రాక్సీ సర్వీసులను వాడినపుడు ఒక్కోసారి ఇలా జరుగుతుంది.'''",
 'edit_form_incomplete' => '’’’ఈ ఎడిట్ ఫారంలోని కొన్ని భాగాలు సర్వరును చేరలేదు; మీ మార్పుచేర్పులు భద్రంగా ఉన్నాయని ధృవపరచుకుని, మళ్ళీ ప్రయత్నించండి.’’’',
 'editing' => '$1కి మార్పులు',
+'creating' => '$1 పేజీని సృష్టిస్తున్నారు',
 'editingsection' => '$1కు మార్పులు (విభాగం)',
 'editingcomment' => '$1 దిద్దుబాటు (కొత్త విభాగం)',
 'editconflict' => 'దిద్దుబాటు ఘర్షణ: $1',
@@ -1059,7 +1060,7 @@ $1",
 'mergelogpagetext' => 'ఒక పేజీ చరితాన్ని మరో పేజీ చరితం లోకి ఇటీవల చేసిన విలీనాల జాబితా ఇది.',
 
 # Diffs
-'history-title' => '"$1" à°\95à±\82à°°à±\8dà°ªà±\81à°² à°\9aà°°à°¿à°¤à°\82',
+'history-title' => '"$1" à°¯à±\8aà°\95à±\8dà°\95 à°\95à±\82à°°à±\8dà°ªà±\81à°² à°\9aà°°à°¿à°¤à±\8dà°°',
 'difference-multipage' => '(పేజీల మధ్య తేడా)',
 'lineno' => 'పంక్తి $1:',
 'compareselectedversions' => 'ఎంచుకున్న సంచికలను పోల్చిచూడు',
@@ -1154,8 +1155,9 @@ $1",
 'prefs-beta' => 'బీటా సౌలభ్యాలు',
 'prefs-datetime' => 'తేదీ, సమయం',
 'prefs-labs' => 'ప్రయోగాత్మక సౌలభ్యాలు',
+'prefs-user-pages' => 'వాడుకరి పేజీలు',
 'prefs-personal' => 'వాడుకరి వివరాలు',
-'prefs-rc' => 'ఇటీవలి మార్పులు, మొలకలు',
+'prefs-rc' => 'ఇటీవలి మార్పులు',
 'prefs-watchlist' => 'వీక్షణ జాబితా',
 'prefs-watchlist-days' => 'వీక్షణ జాబితాలో చూపించవలసిన రోజులు:',
 'prefs-watchlist-days-max' => '$1 {{PLURAL:$1|రోజు|రోజులు}} గరిష్ఠం',
@@ -1284,7 +1286,7 @@ $1",
 # Groups
 'group' => 'గుంపు:',
 'group-user' => 'వాడుకరులు',
-'group-autoconfirmed' => 'à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ à°¨à°¿à°°à±\8dà°¥ారించబడిన వాడుకరులు',
+'group-autoconfirmed' => 'à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ à°¨à°¿à°°à±\8dà°§ారించబడిన వాడుకరులు',
 'group-bot' => 'బాట్‌లు',
 'group-sysop' => 'నిర్వాహకులు',
 'group-bureaucrat' => 'అధికారులు',
@@ -1292,14 +1294,14 @@ $1",
 'group-all' => '(అందరూ)',
 
 'group-user-member' => '{{GENDER:$1|వాడుకరి}}',
-'group-autoconfirmed-member' => '{{GENDER:$1|à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ à°¨à°¿à°°à±\8dà°¥ారించబడిన వాడుకరి}}',
+'group-autoconfirmed-member' => '{{GENDER:$1|à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ à°¨à°¿à°°à±\8dà°§ారించబడిన వాడుకరి}}',
 'group-bot-member' => '{{GENDER:$1|బాట్}}',
 'group-sysop-member' => '{{GENDER:$1|నిర్వాహకుడు|నిర్వాహకురాలు}}',
 'group-bureaucrat-member' => '{{GENDER:$1|అధికారి|అధికారిణి}}',
 'group-suppress-member' => 'పరాకు',
 
 'grouppage-user' => '{{ns:project}}:వాడుకరులు',
-'grouppage-autoconfirmed' => '{{ns:project}}:à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ à°¨à°¿à°°à±\8dà°¥ారించబడిన వాడుకరులు',
+'grouppage-autoconfirmed' => '{{ns:project}}:à°\86à°\9fà±\8bమాà°\9fà°¿à°\97à±\8dà°\97à°¾ à°¨à°¿à°°à±\8dà°§ారించబడిన వాడుకరులు',
 'grouppage-bot' => '{{ns:project}}:బాట్లు',
 'grouppage-sysop' => '{{ns:project}}:నిర్వాహకులు',
 'grouppage-bureaucrat' => '{{ns:project}}:అధికార్లు',
@@ -1411,7 +1413,7 @@ $1",
 'nchanges' => '{{PLURAL:$1|ఒక మార్పు|$1 మార్పులు}}',
 'recentchanges' => 'ఇటీవలి మార్పులు',
 'recentchanges-legend' => 'ఇటీవలి మార్పుల ఎంపికలు',
-'recentchangestext' => 'వికీలో ఇటీవల జరిగిన మార్పులను ఈ పుటలో గమనించవచ్చు.',
+'recentchanges-summary' => 'వికీలో ఇటీవలే జరిగిన మార్పులను ఈ పేజీలో గమనించవచ్చు.',
 'recentchanges-feed-description' => 'ఈ ఫీడు ద్వారా వికీలో జరుగుతున్న మార్పుల గురించి ఎప్పటికప్పుడు సమాచారాన్ని పొందండి.',
 'recentchanges-label-newpage' => 'ఈ మార్పు కొత్త పేజీని సృష్టించింది',
 'recentchanges-label-minor' => 'ఇది ఒక చిన్న మార్పు',
@@ -1641,12 +1643,11 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'upload_source_file' => ' (మీ కంప్యూటర్లో ఒక ఫైలు)',
 
 # Special:ListFiles
-'listfiles-summary' => 'ఈ ప్రత్యేక పేజీ ఇప్పటి వరకూ అప్లోడయిన ఫైళ్లను చూపిస్తుంది.
-ఏ క్రమాన్నీ పేర్కొనకపోతే ఇటీవలే అప్లోడయిన ఫైళ్లను ముందుగా చూపిస్తుంది.
-నిలువు వరుసలకున్న శీర్షికలపై నొక్కితే క్రమపరిచే విధానం మారుతుంది.',
+'listfiles-summary' => 'ఈ ప్రత్యేక పేజీ ఇప్పటి వరకూ ఎక్కించిన దస్త్రాలన్నింటినీ చూపిస్తుంది.
+వాడుకరి పేరు మీద వడపోసినప్పుడు, ఆ వాడుకరి ఎక్కించిన కూర్పు ఆ దస్త్రం యొక్క సరికొత్త కూర్పు అయితేనే చూపిస్తుంది.',
 'listfiles_search_for' => 'మీడియా పేరుకై వెతుకు:',
-'imgfile' => 'à°«à±\88à°²à±\81',
-'listfiles' => 'à°«à±\88à°³à±\8dà°³ జాబితా',
+'imgfile' => 'దసà±\8dà°¤à±\8dà°°à°\82',
+'listfiles' => 'దసà±\8dà°¤à±\8dరాల జాబితా',
 'listfiles_thumb' => 'నఖచిత్రం',
 'listfiles_date' => 'తేదీ',
 'listfiles_name' => 'పేరు',
@@ -1759,7 +1760,7 @@ https://www.mediawiki.org/wiki/Manual:Image_Authorization చూడండి.',
 'statistics-articles' => 'విషయపు పేజీలు',
 'statistics-pages' => 'పేజీలు',
 'statistics-pages-desc' => 'ఈ వికీలోని అన్ని పేజీలు (చర్చా పేజీలు, దారిమార్పులు, మొదలైనవన్నీ కలుపుకొని).',
-'statistics-files' => 'à°\8eà°\97à±\81మతà±\88à°¨ à°«à±\88à°³à±\8dà°³ు',
+'statistics-files' => 'à°\8eà°\95à±\8dà°\95à°¿à°\82à°\9aà°¿à°¨ à°¦à°¸à±\8dà°¤à±\8dరాలు',
 'statistics-edits' => '{{SITENAME}}ని మొదలుపెట్టినప్పటినుండి జరిగిన మార్పులు',
 'statistics-edits-average' => 'పేజీకి సగటు మార్పులు',
 'statistics-views-total' => 'మొత్తం వీక్షణలు',
@@ -3472,6 +3473,10 @@ $5
 'revdelete-uname-hid' => 'వాడుకరి పేరుని దాచారు',
 'revdelete-restricted' => 'నిర్వాహకులకు ఆంక్షలు విధించాను',
 'revdelete-unrestricted' => 'నిర్వాహకులకున్న ఆంక్షలను ఎత్తేశాను',
+'logentry-move-move' => '$1 $3 పేజీని $4కి తరలించారు',
+'logentry-move-move-noredirect' => '$1 $3 పేజీని $4కి దారిమార్పు లేకుండా తరలించారు',
+'logentry-move-move_redir' => '$1 $3 పేజీని $4కి దారిమార్పు ద్వారా తరలించారు',
+'logentry-move-move_redir-noredirect' => '$1 $3 పేజీని $4కి దారిమార్పు లేకుండా తరలించారు',
 'logentry-newusers-newusers' => '$1 వాడుకరి ఖాతాను సృష్టించారు',
 'logentry-newusers-create' => '$1 ఒక వాడుకరి ఖాతాను సృష్టించారు',
 'logentry-newusers-create2' => '$1  వాడుకరి ఖాతా $3ను సృష్టించారు',
index de424eb..bb12ce2 100644 (file)
@@ -1025,7 +1025,7 @@ $1',
 'nchanges' => '$1 {{PLURAL:$1|тағйир|тағйирот}}',
 'recentchanges' => 'Тағйироти охирин',
 'recentchanges-legend' => 'Ихтиёроти тағйироти охирин',
-'recentchangestext' => 'Назорати тағйиротҳои навтарин дар Википедиа дар ҳамин саҳифа аст.',
+'recentchanges-summary' => 'Назорати тағйиротҳои навтарин дар Википедиа дар ҳамин саҳифа аст.',
 'recentchanges-feed-description' => 'Радёбии охирин тағйироти ин вики дар ин хурд.',
 'rcnote' => "Дар поён  {{PLURAL:$1|'''1''' тағйире аст|'''$1''' тағйирот мебошанд}}, ки дар давоми {{PLURAL:$2|рӯҳ|'''$2''' рӯзҳои}} охир, сар карда аз $5, $4.",
 'rcnotefrom' => 'Дар зер тағйиротҳои охирин аз <b>$2</b> (то <b>$1</b> нишон дода шудааст).',
index 6a83f8b..325d0ea 100644 (file)
@@ -908,7 +908,7 @@ On bojad kamtar az $1 {{PLURAL:$1|alomat|alomatho}} boşad.',
 'nchanges' => '$1 {{PLURAL:$1|taƣjir|taƣjirot}}',
 'recentchanges' => 'Taƣjiroti oxirin',
 'recentchanges-legend' => 'Ixtijoroti taƣjiroti oxirin',
-'recentchangestext' => 'Nazorati taƣjirothoi navtarin dar Vikipedia dar hamin sahifa ast.',
+'recentchanges-summary' => 'Nazorati taƣjirothoi navtarin dar Vikipedia dar hamin sahifa ast.',
 'recentchanges-feed-description' => 'Radjobiji oxirin taƣjiroti in viki dar in xurd.',
 'rcnote' => "Dar pojon  {{PLURAL:$1|'''1''' taƣjire ast|'''$1''' taƣjirot meboşand}}, ki dar davomi {{PLURAL:$2|rūh|'''$2''' rūzhoi}} oxir, sar karda az $5, $4.",
 'rcnotefrom' => 'Dar zer taƣjirothoi oxirin az <b>$2</b> (to <b>$1</b> nişon doda şudaast).',
index 33f4812..0a65a7e 100644 (file)
@@ -224,9 +224,11 @@ $messages = array(
 'tog-watchlisthideliu' => 'ซ่อนการแก้ไขโดยผู้ใช้ล็อกอินจากรายการเฝ้าดู',
 'tog-watchlisthideanons' => 'ซ่อนการแก้ไขโดยผู้ใช้นิรนามจากรายการเฝ้าดู',
 'tog-watchlisthidepatrolled' => 'ซ่อนการแก้ไขที่ตรวจแล้วจากรายการเฝ้าดู',
+'tog-nolangconversion' => 'ปิดใช้งานการแปลงอักษรต่างรูป',
 'tog-ccmeonemails' => 'ส่งสำเนาอีเมลกลับมาทุกครั้งที่ส่งหาคนอื่น',
 'tog-diffonly' => 'ไม่แสดงเนื้อหาใต้ส่วนต่างการแก้ไข',
 'tog-showhiddencats' => 'แสดงหมวดหมู่ที่ซ่อนอยู่',
+'tog-noconvertlink' => 'ปิดใช้งานการแปลงชื่อเรื่องของลิงก์',
 'tog-norollbackdiff' => 'ข้ามแสดงความเปลี่ยนแปลงหลังจากดำเนินการย้อนกลับ',
 
 'underline-always' => 'เสมอ',
@@ -720,7 +722,9 @@ $1',
 'headline_tip' => 'หัวข้อ',
 'nowiki_sample' => 'ใส่ข้อความที่ไม่จัดรูปแบบ',
 'nowiki_tip' => 'ข้ามการจัดรูปแบบวิกิ',
+'image_sample' => 'ตัวอย่าง.jpg',
 'image_tip' => 'ใส่ภาพ',
+'media_sample' => 'ตัวอย่าง.ogg',
 'media_tip' => 'เชื่อมโยงไฟล์สื่อ',
 'sig_tip' => 'ลายเซ็นพร้อมลงเวลา',
 'hr_tip' => 'เส้นนอน',
@@ -799,11 +803,12 @@ $1 เป็นผู้ดำเนินการบล็อกในคร
 'userpage-userdoesnotexist-view' => 'ไม่มีบัญชีผู้ใช้ลงทะเบียนในชื่อ "$1"',
 'blocked-notice-logextract' => 'ปัจจุบันเลขที่อยู่ไอพีนี้ถูกบล็อก
 ปูมการบล็อกล่าสุดแสดงด้านล่างนี้เพื่อการอ้างอิง:',
-'clearyourcache' => "'''คำแนะนำ:''' หลังจากบันทึกผลแล้ว คุณอาจจะต้องล้างแคชเว็บเบราว์เซอร์ของคุณเพื่อดูผลการเปลี่ยนแปลง <br />
-'''มอซิลลา / ไฟร์ฟอกซ์ / ซาฟารี:''' กดปุ่ม ''Shift'' ค้างไว้ขณะกดปุ่ม ''รีโหลด'' หรือกด  ''Ctrl-F5'' หรือกด ''Ctrl-R'' (''Command-R'' สำหรับเครื่องแมคอินทอช); <br />
-'''คองเคอเรอร์:''' กดปุ่ม ''รีโหลด'' หรือกด ''F5;'' <br />
-'''โอเปร่า:''' อาจต้องล้างแคชทั้งหมดผ่านเมนู ''Tools → Preferences;'' <br />
-'''อินเทอร์เน็ตเอกซ์พลอเรอร์:''' กด  ''Ctrl'' ค้างไว้ขณะที่กดปุ่ม ''รีเฟรช'' หรือกด ''Ctrl-F5;''",
+'clearyourcache' => "'''หมายเหตุ:''' หลังจากบันทึกแล้ว คุณอาจจะต้องล้างแคชเว็บเบราว์เซอร์ของคุณเพื่อดูการเปลี่ยนแปลง
+* '''ไฟร์ฟอกซ์ / ซาฟารี:''' กดปุ่ม ''Shift'' ค้างไว้ขณะคลิก ''Reload'' หรือกดปุ่ม ''Ctrl-F5'' หรือ ''Ctrl-R'' (''⌘-R'' บนแมคอินทอช)
+* '''กูเกิล โครม:''' กดปุ่ม ''Ctrl-Shift-R'' (''⌘-Shift-R'' บนแมคอินทอช)
+* '''อินเทอร์เน็ตเอกซ์พลอเรอร์:''' กดปุ่ม ''Ctrl'' ค้างไว้ขณะคลิก ''Refresh'' หรือกดปุ่ม ''Ctrl-F5''
+* '''คองเคอเรอร์:''' คลิก ''Reload'' หรือกดปุ่ม ''F5''
+* '''โอเปร่า:''' ล้างแคชในเมนู ''Tools → Preferences''",
 'usercssyoucanpreview' => "'''คำแนะนำ:''' กดปุ่ม \"{{int:showpreview}}\" เพื่อทดสอบ CSS สไตล์ชีทก่อนทำการบันทึก",
 'userjsyoucanpreview' => "'''คำแนะนำ:''' กดปุ่ม 'แสดงตัวอย่าง' เพื่อทดสอบสไตล์ชีตหรือจาวาสคริปต์ก่อนทำการบันทึก",
 'usercsspreview' => "'''อย่าลืมว่าสไตล์ชีตที่คุณสร้างยังไม่ได้ถูกบันทึก'''
@@ -816,7 +821,8 @@ $1 เป็นผู้ดำเนินการบล็อกในคร
 'userinvalidcssjstitle' => "'''คำเตือน:''' ไม่มีแบบหน้าตา \"\$1\" อย่าลืมว่าหน้า .css และ .js ที่ปรับแต่งเอง ใช้เป็นอักษรตัวพิมพ์เล็กทั้งหมด เช่น ใช้ {{ns:user}}:Foo/vector.css แทนที่จะเป็น {{ns:user}}:Foo/Vector.css",
 'updated' => '(ปรับปรุงแล้ว)',
 'note' => "'''คำแนะนำ:'''",
-'previewnote' => "'''พึงระลึกว่านี่เป็นเพียงตัวอย่างเท่านั้น การเปลี่ยนแปลงของคุณยังไม่ได้ถูกบันทึก!'''",
+'previewnote' => "'''พึงระลึกว่านี่เป็นเพียงตัวอย่างเท่านั้น'''
+การเปลี่ยนแปลงของคุณยังไม่ได้ถูกบันทึก!",
 'previewconflict' => 'การแสดงผลส่วนนี้เป็นตัวอย่างของการแก้ไขด้านบน  ถ้ากดบันทึกการแสดงผลจะแสดงในลักษณะนี้ทันที',
 'session_fail_preview' => "'''ขออภัย ไม่สามารถดำเนินการแก้ไขต่อได้ เนื่องจากข้อมูลเชื่อมต่อสูญหาย
 ให้ทดลองแก้ไขอีกครั้งหนึ่ง ถ้ายังไม่สามารถทำได้ ให้ลองล็อกเอาต์และล็อกอินกลับมาอีกครั้ง'''",
@@ -958,29 +964,29 @@ $1 เป็นผู้ดำเนินการบล็อกในคร
 'rev-deleted-user-contribs' => '[ชื่อผู้ใช้หรือหมายเลขไอพีถูกลบแล้ว - การแก้ไขถูกซ่อนจากรายการแก้ไข]',
 'rev-deleted-text-permission' => "รุ่นการปรับปรุงนี้ของหน้านี้'''ถูกลบแล้ว'''
 รายละเอียดอาจยังคงมีอยู่ใน[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} บันทึกการลบ]",
-'rev-deleted-text-unhide' => "รุà¹\88à¸\99à¸\81ารà¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\99ีà¹\89à¸\82อà¸\87หà¸\99à¹\89าà¸\99ีà¹\89'''à¸\96ูà¸\81ลà¸\9aà¹\81ลà¹\89ว'''
-รายละà¹\80อียà¸\94อาà¸\88ยัà¸\87à¸\84à¸\87มีอยูà¹\88à¹\83à¸\99[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} à¸\9aัà¸\99à¸\97ึà¸\81การลบ]
-สำหรัà¸\9aà¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9a à¸\84ุà¸\93ยัà¸\87สามารà¸\96[$1 à¹\80รียà¸\81à¸\94ูรุà¹\88à¸\99à¸\81ารà¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\99ีà¹\89]หาà¸\81à¸\84ุà¸\93à¸\95à¹\89อà¸\87à¸\81าร",
-'rev-suppressed-text-unhide' => "à¸\89à¸\9aัà¸\9aà¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\82อà¸\87หà¸\99à¹\89าà¸\99ีà¹\89à¹\84à¸\94à¹\89à¸\96ูà¸\81'''ยัà¸\9aยัà¹\89à¸\87à¹\81ลà¹\89ว'''
-à¸\8bึà¹\88à¸\87อาà¸\88มีรายละà¹\80อียà¸\94à¹\83à¸\99 [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} à¸\9bระวัà¸\95ิการยับยั้ง]
¹\83à¸\99à¸\90าà¸\99ะà¸\97ีà¹\88à¸\84ุà¸\93à¹\80à¸\9bà¹\87à¸\99à¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9a à¸\84ุà¸\93ยัà¸\87สามารà¸\96[$1 à¸\94ูà¸\89à¸\9aัà¸\9aà¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\99ีà¹\89]à¹\84à¸\94à¹\89à¸\96à¹\89าà¸\84ุà¸\93à¸\95à¹\89อà¸\87à¸\81าร",
-'rev-deleted-text-view' => "รุà¹\88à¸\99à¸\81ารà¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\99ีà¹\89à¸\82อà¸\87หà¸\99à¹\89าà¸\99ีà¹\89'''à¸\96ูà¸\81ลà¸\9aà¹\81ลà¹\89ว'''
-สำหรัà¸\9aà¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9a à¸\84ุà¸\93ยัà¸\87สามารà¸\96à¹\80รียà¸\81à¸\94ูà¹\84à¸\94à¹\89 à¸£à¸²à¸¢à¸¥à¸°à¹\80อียà¸\94อาà¸\88ยัà¸\87à¸\84à¸\87มีอยูà¹\88à¹\83à¸\99[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} à¸\9aัà¸\99à¸\97ึà¸\81การลบ]",
-'rev-suppressed-text-view' => "à¸\89à¸\9aัà¸\9aà¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\82อà¸\87หà¸\99à¹\89าà¸\99ีà¹\89à¹\84à¸\94à¹\89à¸\96ูà¸\81'''ยัà¸\9aยัà¹\89à¸\87à¹\81ลà¹\89ว'''
¹\83à¸\99à¸\90าà¸\99ะà¸\97ีà¹\88à¸\84ุà¸\93à¹\80à¸\9bà¹\87à¸\99à¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9aà¸\84ุà¸\93สามารà¸\96à¸\94ูà¸\89à¸\9aัà¸\9aà¸\9bรัà¸\9aà¸\9bรุà¸\87à¹\84à¸\94à¹\89 à¸\8bึà¹\88à¸\87อาà¸\88à¸\88ะมีรายละà¹\80อียà¸\94à¹\83à¸\99[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} à¸\9bระวัà¸\95ิการยับยั้ง]",
+'rev-deleted-text-unhide' => "รุà¹\88à¸\99à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\82อà¸\87หà¸\99à¹\89าà¸\99ีà¹\89à¹\84à¸\94à¹\89à¸\96ูà¸\81'''ลà¸\9aออà¸\81'''
+รายละà¹\80อียà¸\94สามารà¸\96à¸\9eà¸\9aà¹\84à¸\94à¹\89à¹\83à¸\99[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} à¸\9bูมการลบ]
+à¸\84ุà¸\93ยัà¸\87สามารà¸\96[$1 à¸\94ูรุà¹\88à¸\99à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\99ีà¹\89]à¹\84à¸\94à¹\89à¸\96à¹\89าà¸\84ุà¸\93à¸\95à¹\89อà¸\87à¸\81ารà¸\94ำà¹\80à¸\99ิà¸\99à¸\95à¹\88อ",
+'rev-suppressed-text-unhide' => "รุà¹\88à¸\99à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\82อà¸\87หà¸\99à¹\89าà¸\99ีà¹\89à¹\84à¸\94à¹\89à¸\96ูà¸\81'''ยัà¸\9aยัà¹\89à¸\87à¹\84วà¹\89'''
+รายละà¹\80อียà¸\94สามารà¸\96à¸\9eà¸\9aà¹\84à¸\94à¹\89à¹\83à¸\99[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} à¸\9bูมการยับยั้ง]
¸\84ุà¸\93ยัà¸\87สามารà¸\96[$1 à¸\94ูรุà¹\88à¸\99à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\99ีà¹\89]à¹\84à¸\94à¹\89à¸\96à¹\89าà¸\84ุà¸\93à¸\95à¹\89อà¸\87à¸\81ารà¸\94ำà¹\80à¸\99ิà¸\99à¸\95à¹\88อ",
+'rev-deleted-text-view' => "รุà¹\88à¸\99à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\82อà¸\87หà¸\99à¹\89าà¸\99ีà¹\89à¹\84à¸\94à¹\89à¸\96ูà¸\81'''ลà¸\9aออà¸\81'''
+à¸\84ุà¸\93สามารà¸\96à¸\94ูรุà¹\88à¸\99à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\99ีà¹\89à¹\84à¸\94à¹\89 à¸\8bึà¹\88à¸\87รายละà¹\80อียà¸\94สามารà¸\96à¸\9eà¸\9aà¹\84à¸\94à¹\89à¹\83à¸\99[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} à¸\9bูมการลบ]",
+'rev-suppressed-text-view' => "รุà¹\88à¸\99à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\82อà¸\87หà¸\99à¹\89าà¸\99ีà¹\89à¹\84à¸\94à¹\89à¸\96ูà¸\81'''ยัà¸\9aยัà¹\89à¸\87à¹\84วà¹\89'''
¸\84ุà¸\93สามารà¸\96à¸\94ูรุà¹\88à¸\99à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\99ีà¹\89à¹\84à¸\94à¹\89 à¸\8bึà¹\88à¸\87รายละà¹\80อียà¸\94สามารà¸\96à¸\9eà¸\9aà¹\84à¸\94à¹\89à¹\83à¸\99[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} à¸\9bูมการยับยั้ง]",
 'rev-deleted-no-diff' => "คุณไม่สามารถเรียกดูความเปลี่ยนแปลงนี้ เนื่องจากรุ่นการปรับปรุงที่นำมาเปรียบเทียบมีบางรุ่น'''ถูกลบออก'''
 รายละเอียดอาจยังคงมีอยู่ใน[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} บันทึกการลบ]",
 'rev-suppressed-no-diff' => "คุณไม่สามารถดูความแตกต่างระหว่างรุ่นที่เลือกได้ เนื่องจากมีความแตกต่างระหว่างรุ่นที่'''ถูกลบ'''",
-'rev-deleted-unhide-diff' => "รุà¹\88à¸\99à¸\81ารà¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\9aาà¸\87รุà¹\88à¸\99à¸\82อà¸\87à¸\84วามà¹\80à¸\9bลีà¹\88ยà¸\99à¹\81à¸\9bลà¸\87à¸\99ีà¹\89'''à¸\96ูà¸\81ลà¸\9aà¹\81ลà¹\89ว'''
-รายละà¹\80อียà¸\94อาà¸\88ยัà¸\87à¸\84à¸\87มีอยูà¹\88à¹\83à¸\99[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} à¸\9aัà¸\99à¸\97ึà¸\81การลบ]
-สำหรัà¸\9aà¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9a à¸\84ุà¸\93ยัà¸\87สามารà¸\96[$1 à¹\80รียà¸\81à¸\94ูรุà¹\88à¸\99à¸\81ารà¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\99ีà¹\89]หาà¸\81à¸\84ุà¸\93à¸\95à¹\89อà¸\87à¸\81าร",
+'rev-deleted-unhide-diff' => "หà¸\99ึà¹\88à¸\87à¹\83à¸\99รุà¹\88à¸\99à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\97ัà¹\89à¸\87หมà¸\94à¸\82อà¸\87รายà¸\81ารà¸\84วามà¹\81à¸\95à¸\81à¸\95à¹\88าà¸\87à¸\99ีà¹\89à¹\84à¸\94à¹\89à¸\96ูà¸\81'''ลà¸\9aออà¸\81'''
+รายละà¹\80อียà¸\94สามารà¸\96à¸\9eà¸\9aà¹\84à¸\94à¹\89à¹\83à¸\99[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} à¸\9bูมการลบ]
+à¸\84ุà¸\93ยัà¸\87สามารà¸\96[$1 à¸\94ูà¸\84วามà¹\81à¸\95à¸\81à¸\95à¹\88าà¸\87à¸\99ีà¹\89]à¹\84à¸\94à¹\89à¸\96à¹\89าà¸\84ุà¸\93à¸\95à¹\89อà¸\87à¸\81ารà¸\94ำà¹\80à¸\99ิà¸\99à¸\95à¹\88อ",
 'rev-suppressed-unhide-diff' => "หนึ่งในรุ่นปรับปรุงทั้งหมดของรายการความแตกต่างนี้ได้ถูก'''ยับยั้งไว้'''
-à¸\8bึà¹\88à¸\87อาà¸\88à¸\88ะมีรายละà¹\80อียà¸\94à¹\83à¸\99[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} à¸£à¸²à¸¢การยับยั้ง]
¹\83à¸\99à¸\90าà¸\99ะà¸\97ีà¹\88à¹\80à¸\9bà¹\87à¸\99à¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9a à¸\84ุà¸\93สามารà¸\96 [$1 à¸\94ูà¸\84วามà¹\81à¸\95à¸\81à¸\95à¹\88าà¸\87à¹\84à¸\94à¹\89]à¸\96à¹\89าà¸\84ุà¸\93à¸\95à¹\89อà¸\87à¸\81าร",
+รายละà¹\80อียà¸\94สามารà¸\96à¸\9eà¸\9aà¹\84à¸\94à¹\89à¹\83à¸\99[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} à¸\9bูมการยับยั้ง]
¸\84ุà¸\93ยัà¸\87สามารà¸\96[$1 à¸\94ูà¸\84วามà¹\81à¸\95à¸\81à¸\95à¹\88าà¸\87à¸\99ีà¹\89]à¹\84à¸\94à¹\89à¸\96à¹\89าà¸\84ุà¸\93à¸\95à¹\89อà¸\87à¸\81ารà¸\94ำà¹\80à¸\99ิà¸\99à¸\95à¹\88อ",
 'rev-deleted-diff-view' => "หนึ่งในรุ่นปรับปรุงทั้งหมดของรายการความแตกต่างนี้ได้ถูก'''ลบออก'''
¹\83à¸\99à¸\90าà¸\99ะà¸\97ีà¹\88à¹\80à¸\9bà¹\87à¸\99à¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9a à¸\84ุà¸\93สามารà¸\96à¸\94ูà¸\84วามà¹\81à¸\95à¸\81à¸\95à¹\88าà¸\87à¸\99ีà¹\89à¹\84à¸\94à¹\89 à¸\8bึà¹\88à¸\87อาà¸\88à¸\88ะมีรายละà¹\80อียà¸\94à¹\83à¸\99[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} à¸£à¸²à¸¢การลบ]",
¸\84ุà¸\93สามารà¸\96à¸\94ูà¸\84วามà¹\81à¸\95à¸\81à¸\95à¹\88าà¸\87à¸\99ีà¹\89à¹\84à¸\94à¹\89 à¸\8bึà¹\88à¸\87รายละà¹\80อียà¸\94สามารà¸\96à¸\9eà¸\9aà¹\84à¸\94à¹\89à¹\83à¸\99[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} à¸\9bูมการลบ]",
 'rev-suppressed-diff-view' => "หนึ่งในรุ่นปรับปรุงทั้งหมดของรายการความแตกต่างนี้ได้ถูก'''ยับยั้งไว้'''
¹\83à¸\99à¸\90าà¸\99ะà¸\97ีà¹\88à¹\80à¸\9bà¹\87à¸\99à¸\9cูà¹\89à¸\94ูà¹\81ลระà¸\9aà¸\9a à¸\84ุà¸\93สามารà¸\96à¸\94ูà¸\84วามà¹\81à¸\95à¸\81à¸\95à¹\88าà¸\87à¸\99ีà¹\89à¹\84à¸\94à¹\89 à¸\8bึà¹\88à¸\87อาà¸\88à¸\88ะมีรายละà¹\80อียà¸\94à¹\83à¸\99[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} à¸£à¸²à¸¢à¸\81ารยัà¸\87ยั้ง]",
¸\84ุà¸\93สามารà¸\96à¸\94ูà¸\84วามà¹\81à¸\95à¸\81à¸\95à¹\88าà¸\87à¸\99ีà¹\89à¹\84à¸\94à¹\89 à¸\8bึà¹\88à¸\87รายละà¹\80อียà¸\94สามารà¸\96à¸\9eà¸\9aà¹\84à¸\94à¹\89à¹\83à¸\99[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} à¸\9bูมà¸\81ารยัà¸\9aยั้ง]",
 'rev-delundel' => 'แสดง/ซ่อน',
 'rev-showdeleted' => 'แสดง',
 'revisiondelete' => 'รุ่นการปรับปรุง การลบ/การย้อนการลบ',
@@ -1048,8 +1054,8 @@ $1",
 
 # Suppression log
 'suppressionlog' => 'บันทึกการระงับ',
-'suppressionlogtext' => 'à¸\94à¹\89าà¸\99ลà¹\88าà¸\87à¸\99ีà¹\89à¸\84ือรายà¸\81ารลà¸\9aà¹\81ละระà¸\87ัà¸\9a à¸£à¸§à¸¡à¹\84à¸\9bà¸\96ึà¸\87à¹\80à¸\99ืà¹\89อหาà¸\97ีà¹\88à¸\96ูà¸\81à¸\8bà¹\88อà¸\99à¹\82à¸\94ยผู้ดูแลระบบ
-ดู [[Special:IPBlockList|รายการหมายเลขไอพีที่ถูกระงับ]] สำหรับรายการระงับและห้ามใช้ที่ยังมีผลอยู่',
+'suppressionlogtext' => 'à¸\94à¹\89าà¸\99ลà¹\88าà¸\87à¸\99ีà¹\89à¸\84ือรายà¸\81ารà¸\81ารลà¸\9aà¹\81ละà¸\81ารà¸\9aลà¹\87อà¸\81à¸\97ีà¹\88à¹\80à¸\81ีà¹\88ยวà¸\82à¹\89อà¸\87à¸\81ัà¸\9aà¹\80à¸\99ืà¹\89อหาà¸\97ีà¹\88à¸\96ูà¸\81à¸\8bà¹\88อà¸\99à¸\88าà¸\81ผู้ดูแลระบบ
+ดู[[Special:BlockList|รายการบล็อกไอพี]]สำหรับการบล็อกและการระงับในปัจจุบัน',
 
 # History merging
 'mergehistory' => 'ประวัติการรวมหน้า',
@@ -1081,7 +1087,7 @@ $1",
 'mergelogpagetext' => 'ด้านล่างนี้แสดงรายการล่าสุดของการรวมประวัติหน้าหนึ่งๆ เข้ากับอีกหน้าหนึ่ง',
 
 # Diffs
-'history-title' => 'à¸\9bระวัà¸\95ิà¸\81ารà¹\81à¸\81à¹\89à¹\84à¸\82หà¸\99à¹\89า "$1"',
+'history-title' => 'à¸\9bระวัà¸\95ิรุà¹\88à¸\99à¸\9bรัà¸\9aà¸\9bรุà¸\87à¸\82อà¸\87 "$1"',
 'difference-multipage' => '(ความแตกต่างระหว่างหน้าต่างๆ)',
 'lineno' => 'แถว $1:',
 'compareselectedversions' => 'เปรียบเทียบสองรุ่นที่เลือก',
@@ -1246,7 +1252,7 @@ $1",
 'prefs-registration' => 'วันเวลาที่ลงทะเบียน:',
 'yourrealname' => 'ชื่อจริง:',
 'yourlanguage' => 'ภาษา:',
-'yourvariant' => 'ภาษาอืà¹\88à¸\99',
+'yourvariant' => 'อัà¸\81ษรà¸\95à¹\88าà¸\87รูà¸\9bà¸\82อà¸\87à¹\80à¸\99ืà¹\89อหา:',
 'yournick' => 'ลายเซ็น:',
 'prefs-help-signature' => 'คอมเมนต์ในหน้าพูดคุยควรจะเซ็นด้วย "<nowiki>~~~~</nowiki>" ซึ่งจะถูกแปลงเป็นลายเซ็นและลงวันที่เขียน',
 'badsig' => 'ลายเซ็นที่ใช้ผิดพลาด กรุณาตรวจสอบคำสั่งเอชทีเอ็มแอล',
@@ -1299,7 +1305,7 @@ $1",
 'userrights-no-interwiki' => 'คุณไม่ได้รับสิทธิในการแก้ไขสิทธิของผู้ใช้บนวิกิอื่นๆ',
 'userrights-nodatabase' => 'ไม่มีฐานข้อมูล $1 อยู่ หรือ ฐานข้อมูลอยู่บนเครื่องอื่น',
 'userrights-nologin' => 'คุณต้อง[[Special:UserLogin|ล็อกอิน]]ด้วยบัญชีผู้ใช้ที่เป็นผู้ดูแลสิทธิแต่งตั้ง จึงจะสามารถกำหนดสิทธิต่างๆ ของผู้ใช้ได้',
-'userrights-notallowed' => 'à¸\9aัà¸\8dà¸\8aีà¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\82อà¸\87à¸\84ุà¸\93à¹\84มà¹\88à¹\84à¸\94à¹\89รัà¸\9aสิà¸\97à¸\98ิà¹\83à¸\99à¸\81ารà¹\81à¸\81à¹\89à¹\84à¸\82สิทธิของผู้ใช้',
+'userrights-notallowed' => 'à¸\9aัà¸\8dà¸\8aีà¸\82อà¸\87à¸\84ุà¸\93à¹\84มà¹\88à¹\84à¸\94à¹\89รัà¸\9aอà¸\99ุà¸\8dาà¸\95à¹\83หà¹\89à¹\80à¸\9eิà¹\88มหรือลà¸\94สิทธิของผู้ใช้',
 'userrights-changeable-col' => 'กลุ่มที่คุณสามารถเปลี่ยนได้',
 'userrights-unchangeable-col' => 'กลุ่มที่คุณไม่สามารถเปลี่ยนได้',
 
@@ -1434,7 +1440,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|การแก้ไข|การแก้ไข}}',
 'recentchanges' => 'ปรับปรุงล่าสุด',
 'recentchanges-legend' => 'ตัวเลือกปรับปรุงล่าสุด',
-'recentchangestext' => 'ในหน้านี้เป็นรายการล่าสุดที่มีการปรับปรุง',
+'recentchanges-summary' => 'ในหน้านี้เป็นรายการล่าสุดที่มีการปรับปรุง',
 'recentchanges-feed-description' => 'ฟีดนี้แสดงการเปลี่ยนแปลงล่าสุด',
 'recentchanges-label-newpage' => 'การแก้ไขนี้เป็นการสร้างหน้าใหม่',
 'recentchanges-label-minor' => 'เป็นการแก้ไขเล็กน้อย',
@@ -1668,9 +1674,8 @@ $1',
 'upload_source_file' => ' (ไฟล์จากคอมพิวเตอร์คุณ)',
 
 # Special:ListFiles
-'listfiles-summary' => 'หน้าพิเศษนี้แสดงไฟล์ทั้งหมดที่ถูกอัปโหลด
-โดยปริยาย ไฟล์ที่ถูกอัปโหลดล่าสุด จะแสดงอยู่บนสุดของรายการไฟล์
-คลิกที่คอมลัมน์บนสุดจะเปลี่ยนการจัดแยกประเภท',
+'listfiles-summary' => 'หน้าพิเศษนี้แสดงไฟล์ทั้งหมดที่อัปโหลด
+เมื่อกรองตามผู้ใช้แล้ว จะแสดงเฉพาะไฟล์รุ่นล่าสุดที่ผู้ใช้นั้นอัปโหลด',
 'listfiles_search_for' => 'ค้นหาชื่อภาพ:',
 'imgfile' => 'ไฟล์',
 'listfiles' => 'รายชื่อไฟล์',
@@ -1699,7 +1704,7 @@ $1',
 'filehist-filesize' => 'ขนาดไฟล์',
 'filehist-comment' => 'ความเห็น',
 'filehist-missing' => 'ไฟล์หายไป',
-'imagelinks' => 'หà¸\99à¹\89าà¸\97ีà¹\88มีà¹\84à¸\9fลà¹\8cà¸\99ีà¹\89',
+'imagelinks' => 'à¸\81ารà¹\83à¸\8aà¹\89à¹\84à¸\9fลà¹\8c',
 'linkstoimage' => '{{PLURAL:$1|หน้า|หน้า}}ที่ลิงก์มายังไฟล์นี้:',
 'linkstoimage-more' => 'ไฟล์นี้มีการเชื่อมโยงมากกว่า $1 {{PLURAL:$1|แห่ง|แห่ง}}
 รายชื่อต่อไปนี้แสดงการเชื่อมโยง $1 {{PLURAL:$1|แห่งแรก|แห่งแรก}}ที่มายังไฟล์นี้เท่านั้น
@@ -1794,7 +1799,7 @@ $1',
 'statistics-users-active-desc' => 'ผู้ใช้ที่ได้แก้ไขในช่วง $1 วันที่ผ่านมา',
 'statistics-mostpopular' => 'หน้าที่มีการเข้าชมมากที่สุด',
 
-'disambiguations' => 'หน้าแก้ความกำกวม',
+'disambiguations' => 'หà¸\99à¹\89าà¸\97ีà¹\88à¹\80à¸\8aืà¹\88อมà¹\82ยà¸\87à¸\81ัà¸\9aหà¸\99à¹\89าà¹\81à¸\81à¹\89à¸\84วามà¸\81ำà¸\81วม',
 'disambiguationspage' => 'Template:แก้กำกวม',
 'disambiguations-text' => "หน้าต่อไปนี้เชื่อมโยงไปยัง '''หน้าคำกำกวม''' ซึ่งเนื้อหาในหน้าเหล่านั้นควรถูกเชื่อมโยงไปยังหัวข้อที่เหมาะสมแทนที่<br />
 
@@ -1894,7 +1899,7 @@ $1',
 
 # Special:Log
 'specialloguserlabel' => 'ผู้ดำเนินการ:',
-'speciallogtitlelabel' => 'à¸\8aืà¹\88อà¹\80รืà¹\88อà¸\87:',
+'speciallogtitlelabel' => 'à¹\80à¸\9bà¹\89าหมาย (à¸\8aืà¹\88อà¹\80รืà¹\88อà¸\87หรือà¸\9cูà¹\89à¹\83à¸\8aà¹\89):',
 'log' => 'ปูม',
 'all-logs-page' => 'ปูมสาธารณะทั้งหมด',
 'alllogstext' => 'แสดงปูมทั้งหมดของ{{SITENAME}}
@@ -1938,8 +1943,9 @@ $1',
 'linksearch-pat' => 'รูปแบบการค้นหา:',
 'linksearch-ns' => 'เนมสเปซ:',
 'linksearch-ok' => 'สืบค้น',
-'linksearch-text' => 'สามารถใช้เครื่องหมายแทนอักขระใดๆ (wildcard) ได้ เช่น "*.wikipedia.org"<br />
-โปรโตคอลที่รองรับ: <tt>$1</tt>',
+'linksearch-text' => 'อักขระตัวแทนเช่น "*.wikipedia.org" สามารถใช้ได้
+โดเมนระดับบนสุดจำเป็นต้องมีเป็นอย่างน้อย เช่น "*.org"<br />
+โพรโทคอลที่รองรับ: <tt>$1</tt> (อย่าใส่คำเหล่านี้ในการสืบค้นของคุณ)',
 'linksearch-line' => '$1 ถูกลิงก์จาก $2',
 'linksearch-error' => 'เครื่องหมายแทนอักขระ (wildcard) อยู่หน้าชื่อโฮสต์ได้เท่านั้น',
 
@@ -2140,7 +2146,8 @@ $UNWATCHURL
 
 # Protect
 'protectlogpage' => 'ปูมการล็อก',
-'protectlogtext' => 'รายการด้านล่างแสดงการล็อกหน้าและการปลดล็อก สำหรับหน้าที่โดนล็อกในปัจจุบันดูที่ [[Special:ProtectedPages|รายการหน้าที่ถูกล็อก]]',
+'protectlogtext' => 'ด้านล่างนี้คือรายการการเปลี่ยนแปลงการป้องกันหน้า
+ดู[[Special:ProtectedPages|รายการหน้าที่ถูกป้องกัน]]สำหรับการป้องกันหน้าในปัจจุบัน',
 'protectedarticle' => '"[[$1]]" ถูกล็อก',
 'modifiedarticleprotection' => 'เปลี่ยนระดับการล็อกสำหรับ "[[$1]]"',
 'unprotectedarticle' => 'ลบการปกป้องข้อมูลออกจาก "[[$1]]" แล้ว',
@@ -2341,8 +2348,8 @@ $1',
 'ipb-confirm' => 'ยืนยันการบล็อก',
 'badipaddress' => 'หมายเลขไอพีไม่ถูกต้อง',
 'blockipsuccesssub' => 'บล็อกสำเร็จ',
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] ถูกบล็อก
-<br />ดู  [[Special:BlockList|รายการไอพีที่ถูกบล็อก]] เพื่อตรวจสอบการบล็อก',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] ถูกบล็อก<br />
+ดู[[Special:BlockList|รายการบล็อกไอพี]]เพื่อตรวจสอบการบล็อก',
 'ipb-blockingself' => 'คุณกำลังทำการบล็อกตัวคุณเอง คุณแน่ใจแล้วหรือว่าต้องการทำเช่นนั้น',
 'ipb-edit-dropdown' => 'แก้ไขสาเหตุการบล็อก',
 'ipb-unblock-addr' => 'เลิกบล็อก $1',
@@ -2356,7 +2363,7 @@ $1',
 'unblocked-range' => '$1 ถูกปลดบล็อกแล้ว',
 'unblocked-id' => 'เลิกบล็อก $1',
 'blocklist' => 'ผู้ใช้ที่ถูกบล็อก',
-'ipblocklist' => 'หมายà¹\80ลà¸\82à¹\84อà¸\9eีà¹\81ละà¸\9cูà¹\89à¹\83à¸\8aà¹\89à¸\97ีà¹\88à¸\96ูà¸\81à¸\9aลà¹\87อà¸\81',
+'ipblocklist' => 'ผู้ใช้ที่ถูกบล็อก',
 'ipblocklist-legend' => 'ค้นหาผู้ใช้ที่ถูกระงับการใช้งาน',
 'blocklist-userblocks' => 'ซ่อนบล็อกบัญชี',
 'blocklist-tempblocks' => 'ซ่อนบล็อกชั่วคราว',
@@ -2392,7 +2399,9 @@ $1',
 ปูมการระงับแสดงไว้ด้านล่างนี้เพื่อการอ้างอิง:',
 'blocklogentry' => 'บล็อก "[[$1]]" หมดอายุ $2 $3',
 'reblock-logentry' => 'เปลี่ยนระดับการบล็อกสำหรับ [[$1]] หมดอายุ $2 $3',
-'blocklogtext' => 'ด้านล่างเป็นบันทึกการบล็อกและการเลิกบล็อก  ส่วนการบล็อกอัตโนมัติจะไม่ถูกรวมอยู่ในรายการนี้ ดู [[Special:BlockList|รายการบล็อกไอพี]] สำหรับการบล็อกทั้งหมด',
+'blocklogtext' => 'นี่คือบันทึกการบล็อกและการเลิกบล็อกผู้ใช้
+การบล็อกที่อยู่ไอพีโดยอัตโนมัติจะไม่แสดงในรายการ
+ดู[[Special:BlockList|รายการบล็อกไอพี]]สำหรับการบล็อกและการระงับในปัจจุบัน',
 'unblocklogentry' => 'เลิกบล็อก $1',
 'block-log-flags-anononly' => 'ผู้ใช้นิรนามเท่านั้น',
 'block-log-flags-nocreate' => 'ห้ามสร้างบัญชีผู้ใช้',
@@ -2590,7 +2599,8 @@ $1',
 'import-interwiki-namespace' => 'เนมสเปซปลายทาง:',
 'import-upload-filename' => 'ชื่อไฟล์:',
 'import-comment' => 'ความเห็น:',
-'importtext' => 'กรุณาส่งออกไฟล์จากวิกิอื่นโดยใช้[[Special:Export|เครื่องมือส่งออก]] บันทึก และทำการอัปโหลดมาที่นี่',
+'importtext' => 'กรุณาส่งออกไฟล์จากวิกิต้นทางโดยใช้[[Special:Export|เครื่องมือส่งออก]]
+บันทึกลงคอมพิวเตอร์ของคุณ และอัปโหลดที่นี่',
 'importstart' => 'กำลังนำเข้าหน้า...',
 'import-revision-count' => '$1 {{PLURAL:$1|รุ่นการแก้ไข|รุ่นการแก้ไข}}',
 'importnopages' => 'ไม่มีหน้าให้นำเข้า',
@@ -2648,7 +2658,7 @@ $1',
 'tooltip-ca-viewsource' => 'หน้านี้ถูกล็อก แต่ยังดูโค้ดได้',
 'tooltip-ca-history' => 'รุ่นที่แล้วของหน้านี้',
 'tooltip-ca-protect' => 'ล็อกหน้านี้',
-'tooltip-ca-unprotect' => 'ยà¸\81à¹\80ลิà¸\81การป้องกันหน้านี้',
+'tooltip-ca-unprotect' => 'à¹\80à¸\9bลีà¹\88ยà¸\99à¹\81à¸\9bลà¸\87การป้องกันหน้านี้',
 'tooltip-ca-delete' => 'ลบหน้านี้',
 'tooltip-ca-undelete' => 'เรียกคืนการแก้ไขหน้านี้กลับมาเป็นรุ่นก่อนที่ถูกลบ',
 'tooltip-ca-move' => 'เปลี่ยนชื่อหน้านี้',
@@ -2700,12 +2710,30 @@ $1',
 'tooltip-summary' => 'ใส่คำอธิบายอย่างย่อสั้น ๆ',
 
 # Stylesheets
-'common.css' => '/** CSS ที่อยู่ในหน้านี้จะมีผลต่อทุกสกินในเว็บไซต์ */',
-'monobook.css' => '/* CSS ที่อยู่ในหน้านี้จะมีผลต่อสกิน Monobook */',
+'common.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ทุกสกิน */',
+'standard.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินคลาสสิก */',
+'nostalgia.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินนอสตัลเจีย */',
+'cologneblue.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินโคโลญจ์บลู */',
+'monobook.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินโมโนบุ๊ก */',
+'myskin.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินมายสกิน */',
+'chick.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินชิก */',
+'simple.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินซิมเปิล */',
+'modern.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินโมเดิร์น */',
+'vector.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ใช้สกินเวกเตอร์ */',
+'print.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่ข้อมูลส่งออกเป็นสิ่งพิมพ์ */',
+'handheld.css' => '/* สไตล์ชีตในหน้านี้จะส่งผลแก่อุปกรณ์เคลื่อนที่ โดยขึ้นอยู่กับสกินที่ตั้งค่าไว้ใน $wgHandheldStyle */',
 
 # Scripts
-'common.js' => '/* จาวาสคริปต์ในหน้านี้จะถูกใช้งานต่อผู้ใช้ทุกคน */',
-'monobook.js' => '/* ถ้าไม่เห็นด้วย ให้ใช้ [[MediaWiki:common.js]] */',
+'common.js' => '/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ทุกคนในทุกหน้า */',
+'standard.js' => '/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินคลาสสิก */',
+'nostalgia.js' => '/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินนอสตัลเจีย */',
+'cologneblue.js' => '/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินโคโลญจ์บลู */',
+'monobook.js' => '/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินโมโนบุ๊ก */',
+'myskin.js' => '/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินมายสกิน */',
+'chick.js' => '/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินชิก */',
+'simple.js' => '/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินซิมเปิล */',
+'modern.js' => '/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินโมเดิร์น */',
+'vector.js' => '/* จาวาสคริปต์ใด ๆ ในหน้านี้จะถูกโหลดให้แก่ผู้ใช้ที่ใช้สกินเวกเตอร์ */',
 
 # Metadata
 'notacceptable' => 'เซิร์ฟเวอร์ของวิกิไม่สามารถให้ข้อมูลในรูปแบบที่ไคลเอนต์สามารถอ่านได้',
@@ -2751,6 +2779,7 @@ $1',
 'skinname-chick' => 'ชิก',
 'skinname-simple' => 'ซิมเปิล',
 'skinname-modern' => 'โมเดิร์น',
+'skinname-vector' => 'เวกเตอร์',
 
 # Patrolling
 'markaspatrolleddiff' => 'ทำเครื่องหมายว่าตรวจสอบแล้ว',
@@ -2829,7 +2858,7 @@ $1',
 'metadata-help' => 'ไฟล์นี้มีข้อมูลเพิ่มเติมแนบไว้ อาจจะมาจาก กล้องดิจิทัล สแกนเนอร์ หรือเครื่องรับส่งจีพีเอส อย่างไรก็ตามข้อมูลที่เก็บไว้อาจถูกดัดแปลงถ้าไฟล์ต้นฉบับถูกแก้ไขจากซอฟต์แวร์อื่น',
 'metadata-expand' => 'แสดงข้อมูลเพิ่มเติม',
 'metadata-collapse' => 'ซ่อนข้อมูลเพิ่มเติม',
-'metadata-fields' => 'à¸\84à¹\88าà¹\80อà¸\81à¸\8bิà¸\9f (Exif) à¸\82อà¸\87ภาà¸\9eà¸\94à¹\89าà¸\99ลà¹\88าà¸\87à¸\88ะà¹\81สà¸\94à¸\87à¸\84วà¸\9aà¸\84ูà¹\88à¹\84à¸\9bà¸\81ัà¸\9aภาà¸\9e
+'metadata-fields' => 'à¹\80à¸\82à¸\95à¸\82à¹\89อมูลà¹\80มà¸\97าà¹\80à¸\94à¸\95าà¸\82อà¸\87ภาà¸\9eà¸\94ัà¸\87à¸\97ีà¹\88à¹\81สà¸\94à¸\87รายà¸\81ารà¹\84วà¹\89à¹\83à¸\99à¸\82à¹\89อà¸\84วามà¸\99ีà¹\89 à¸\88ะà¸\96ูà¸\81รวมà¸\9aà¸\99หà¸\99à¹\89าภาà¸\9eà¹\80มืà¹\88อà¸\95าราà¸\87à¹\80มà¸\97าà¹\80à¸\94à¸\95าà¸\96ูà¸\81ยุà¸\9a à¹\80à¸\82à¸\95à¸\82à¹\89อมูลอืà¹\88à¸\99 à¹\86 à¸\88ะà¸\96ูà¸\81à¸\8bà¹\88อà¸\99à¹\82à¸\94ยà¸\9bริยาย
 * make
 * model
 * datetimeoriginal
@@ -2878,8 +2907,8 @@ $1',
 'exif-colorspace' => 'สเปซสี',
 'exif-componentsconfiguration' => 'ความหมายของแต่ละคอมโพเนนต์',
 'exif-compressedbitsperpixel' => 'โหมดการบีบอัดภาพ',
-'exif-pixelydimension' => 'à¸\84วามà¸\81วà¹\89าà¸\87à¸\97ีà¹\88à¸\99ำà¹\84à¸\9bà¹\83à¸\8aà¹\89à¹\84à¸\94à¹\89',
-'exif-pixelxdimension' => 'à¸\84วามยาวà¸\97ีà¹\88à¸\99ำà¹\84à¸\9bà¹\83à¸\8aà¹\89à¹\84à¸\94à¹\89',
+'exif-pixelydimension' => 'à¸\84วามà¸\81วà¹\89าà¸\87à¸\82อà¸\87ภาà¸\9e',
+'exif-pixelxdimension' => 'à¸\84วามสูà¸\87à¸\82อà¸\87ภาà¸\9e',
 'exif-usercomment' => 'ความเห็นผู้ใช้',
 'exif-relatedsoundfile' => 'ไฟล์เสียงที่เกี่ยวข้อง',
 'exif-datetimeoriginal' => 'วันที่และเวลาที่สร้าง',
@@ -2893,9 +2922,9 @@ $1',
 'exif-exposureprogram' => 'โปรแกรมเอกซ์โพเชอร์',
 'exif-spectralsensitivity' => 'ความไวสเปกตรัม',
 'exif-isospeedratings' => 'อัตราความเร็ว ISO',
-'exif-shutterspeedvalue' => 'à¸\84วามà¹\84วà¸\8aัà¸\95à¹\80à¸\95อรà¹\8c',
-'exif-aperturevalue' => 'รูรับแสง',
-'exif-brightnessvalue' => 'ความสว่าง',
+'exif-shutterspeedvalue' => 'à¸\84วามà¹\80รà¹\87วà¸\8aัà¸\95à¹\80à¸\95อรà¹\8c APEX',
+'exif-aperturevalue' => 'รูรับแสง APEX',
+'exif-brightnessvalue' => 'ความสว่าง APEX',
 'exif-exposurebiasvalue' => 'เอกซ์โพเชอร์ไบแอส',
 'exif-maxaperturevalue' => 'รูรับแสงกว้างสุด',
 'exif-subjectdistance' => 'ระยะวัตถุ',
@@ -2976,9 +3005,9 @@ $1',
 'exif-orientation-3' => 'ถูกหมุน 180°',
 'exif-orientation-4' => 'ถูกสลับแนวตั้ง',
 'exif-orientation-5' => 'ถูกหมุน 90° ทวนเข็มนาฬิกา และถูกสลับแนวตั้ง',
-'exif-orientation-6' => 'à¸\96ูà¸\81หมุà¸\99 90° à¸\95ามเข็มนาฬิกา',
+'exif-orientation-6' => 'à¸\96ูà¸\81หมุà¸\99 90° à¸\97วà¸\99เข็มนาฬิกา',
 'exif-orientation-7' => 'ถูกหมุน 90° ตามเข็มนาฬิกา และถูกสลับแนวตั้ง',
-'exif-orientation-8' => 'à¸\96ูà¸\81หมุà¸\99 90° à¸\97วà¸\99เข็มนาฬิกา',
+'exif-orientation-8' => 'à¸\96ูà¸\81หมุà¸\99 90° à¸\95ามเข็มนาฬิกา',
 
 'exif-planarconfiguration-1' => 'รูปแบบชังกี',
 'exif-planarconfiguration-2' => 'รูปแบบเพลนาร์',
@@ -3046,6 +3075,8 @@ $1',
 'exif-sensingmethod-7' => 'เซนเซอร์สามแนว',
 'exif-sensingmethod-8' => 'เซนเซอร์สามแนวสี',
 
+'exif-filesource-3' => 'กล้องถ่ายภาพนิ่งดิจิทัล',
+
 'exif-scenetype-1' => 'ภาพถ่ายโดยตรง',
 
 'exif-customrendered-0' => 'โพลเซสส์ปกติ',
index 2e3b780..e840332 100644 (file)
@@ -148,7 +148,7 @@ $messages = array(
 'dec' => 'dek',
 
 # Categories related messages
-'pagecategories' => 'Sahypanyň {{PLURAL:$1|kategoriýasy|kategoriýalary}}',
+'pagecategories' => '{{PLURAL:$1|Kategoriýa|Kategoriýalar}}',
 'category_header' => '"$1" kategoriýasyndaky sahypalar',
 'subcategories' => 'Kiçi kategoriýalar',
 'category-media-header' => '"$1" kategoriýasyndaky multimediýa faýllary',
@@ -1270,7 +1270,7 @@ $1 {{PLURAL:$1|simwoldan|simwoldan}} köp bolmaly däl.',
 'nchanges' => '$1 {{PLURAL:$1|üýtgeşme|üýtgeşme}}',
 'recentchanges' => 'Soňky üýtgeşmeler',
 'recentchanges-legend' => 'Soňky üýtgeşmeleriň opsiýalary',
-'recentchangestext' => 'Wikidäki iň soňky üýtgeşmeleri şu sahypadan yzarlaň.',
+'recentchanges-summary' => 'Wikidäki iň soňky üýtgeşmeleri şu sahypadan yzarlaň.',
 'recentchanges-feed-description' => 'Bu lentadaky wikide edilen iň soňky üýtgeşmeleri yzarlaň.',
 'recentchanges-label-newpage' => 'Bu özgerdiş täze bir sahypa döretdi',
 'recentchanges-label-minor' => 'Bu bir ujypsyzja özgerdiş',
index f8afeaa..85e840b 100644 (file)
@@ -1435,7 +1435,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'nchanges' => '$1 {{PLURAL:$1|pagbabago|mga pagbabago}}',
 'recentchanges' => 'Kamakailang pagbabago',
 'recentchanges-legend' => 'Mga pagpipilian para sa kamakailang mga pagbabago',
-'recentchangestext' => 'Subaybayan ang mga pinakahuling pagbabago sa wiki sa pahinang ito.',
+'recentchanges-summary' => 'Subaybayan ang mga pinakahuling pagbabago sa wiki sa pahinang ito.',
 'recentchanges-feed-description' => 'Sundan ang pinakahuling mga pagbabago sa wiki sa pamamagitan ng feed na ito.',
 'recentchanges-label-newpage' => 'Lumikha ng isang bagong pahina ang pagbabagong ito',
 'recentchanges-label-minor' => 'Isa itong munting pagbabago',
index 04dfcc8..04e3743 100644 (file)
  * @author Гусейн
  */
 
+$namespaceNames = array(
+       NS_MEDIA            => 'Medja',
+       NS_SPECIAL          => 'Xususi',
+       NS_TALK             => 'Nopegət',
+       NS_USER             => 'Okoədə',
+       NS_USER_TALK        => 'Okoədəj_nopegət',
+       NS_PROJECT_TALK     => '$1_Nopegətəti',
+       NS_FILE             => 'Fajl',
+       NS_FILE_TALK        => 'Fajli_nopegət',
+       NS_MEDIAWIKI        => 'MediaWiki',
+       NS_MEDIAWIKI_TALK   => 'MediaWiki_nopegət',
+       NS_TEMPLATE         => 'Numunə',
+       NS_TEMPLATE_TALK    => 'Numunə_nopegət',
+       NS_HELP             => 'Koməg',
+       NS_HELP_TALK        => 'Koməgi_nopegət',
+       NS_CATEGORY         => 'Tispir',
+       NS_CATEGORY_TALK    => 'Tispiron_nopegət',
+);
+
 $messages = array(
 # User preference toggles
 'tog-underline' => 'Линки жинтоно ријә быкәш:',
@@ -24,8 +43,12 @@ $messages = array(
 'tog-numberheadings' => 'Автоматик башлығон нумрәләмиш быкә',
 'tog-showtoc' => 'Мындәриҹоти сијоһи нишо быдә (3 сәрловһәсә веј быә сәһифон)',
 'tog-watchcreations' => 'Зијод кардеј чымы офәјә быә сәһифон бә ноғо доә сијоһи',
+'tog-watchdefault' => 'Зијод кардеј демы дәгиш кардә быә сәһифон бә ноғо доә сијоһи',
+'tog-watchmoves' => 'Зијод кардеј ном дәгиш кардә быә сәһифон бә ноғо доә сијоһи',
+'tog-watchdeletion' => 'Зијод кардеј сәһифон комон аз рәдд кардәме бә ноғо доә сијоһи',
 'tog-enotifwatchlistpages' => 'Ноғо доә сијоһиәдә сәһифон кејнә дәгиш бәбен бәмы е-номә бывығанд',
 'tog-watchlisthideown' => 'Чымы дәгишон ноғо доә сијһиәдә нијо кардеј',
+'tog-watchlisthidebots' => 'Нијо кардеј ботон дәгишон ноғо доә сијоһиәдә',
 'tog-watchlisthideminor' => 'Нијо кардеј гәдә дәгишон ноғо доә сијоһиәдә',
 
 # Dates
@@ -182,6 +205,7 @@ $messages = array(
 'viewtalkpage' => 'Мызокирә дијә кардеј',
 'otherlanguages' => 'Ҹо зывононәдә',
 'redirectedfrom' => '($1 чыјо унвон дәгиш кардә быә)',
+'redirectpagesub' => 'Увони дәгиш кардә сәһифәје',
 'lastmodifiedat' => 'Ын сәһифә охонә кәрә дәгиш беј: $2, $1.',
 'protectedpage' => 'Мыдофијә кардә быә сәһифә',
 'jumpto' => 'Дәвардеј бә:',
@@ -414,7 +438,7 @@ $messages = array(
 'revertmerge' => 'Бахш кардеј',
 
 # Diffs
-'history-title' => 'Дәгишон тарых "$1"',
+'history-title' => '$1: Дәгишон тарых',
 'lineno' => 'Сәтыр $1:',
 'compareselectedversions' => 'Сәчын кардә быә рәвојәтон мығојисә кардеј.',
 'editundo' => 'ләғв кардеј',
@@ -485,7 +509,7 @@ $messages = array(
 'nchanges' => '$1 {{PLURAL:$1|дәгиши|дәгишон}}',
 'recentchanges' => 'Ән нујә дәгишон',
 'recentchanges-legend' => 'Ән нујә дәгишон печыније',
-'recentchangestext' => 'Тәмшо быкән бы сәһифәдә че вики охоминә дәгишон нишо доә быән.',
+'recentchanges-summary' => 'Тәмшо быкән бы сәһифәдә че вики охоминә дәгишон нишо доә быән.',
 'recentchanges-feed-description' => 'Ым каналәдә быә охонә дәгишон дығғәтәдә огәт.',
 'recentchanges-label-newpage' => 'Де ым дәгиши тожә сәһифә сохтә бе',
 'recentchanges-label-minor' => 'Ым гадә дәгишије',
index 00b39e5..bd1e1ec 100644 (file)
@@ -1613,7 +1613,7 @@ Diğer kullanıcılar sizinle bu yolla iletişime geçtiğinde e-posta adresiniz
 'nchanges' => '$1 {{PLURAL:$1|değişiklik|değişiklik}}',
 'recentchanges' => 'Son değişiklikler',
 'recentchanges-legend' => 'Son değişiklikler seçenekleri',
-'recentchangestext' => 'Yapılan en son değişiklikleri bu sayfadan izleyin.',
+'recentchanges-summary' => 'Yapılan en son değişiklikleri bu sayfadan izleyin.',
 'recentchanges-feed-description' => "Bu beslemede, viki'de yapılan en son değişiklikleri takip edin.",
 'recentchanges-label-newpage' => 'Bu değişiklik yeni bir sayfa oluşturdu',
 'recentchanges-label-minor' => 'Bu küçük bir değişiklik',
index 12af386..726ecba 100644 (file)
@@ -38,13 +38,17 @@ $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',
 'tog-watchlisthideminor' => 'Tumbeta mindzulamiso leyi tsongo eka leswi ndzi swi languteke',
 'tog-watchlisthideliu' => 'Tumbeta mindzulamiso ya vatirhisiwa lava ngheneke eka leswi ndzi swi languteke',
 'tog-watchlisthideanons' => 'Tumbeta mindzulamiso ya vatirhisiwa lavanga tivekiki eka leswi ndzi swi languteke',
+'tog-watchlisthidepatrolled' => 'Tumbeta mindzulamiso leyi languteriweke eka leswilangutiweke',
 'tog-ccmeonemails' => "Ndzirhumele khopi ya ti e-mail leti ndzi ti rhumelaka van'wana",
+'tog-showhiddencats' => 'Komba mintlawa leyi tumbetiweke',
 
 'underline-always' => 'Nkarhi hinkwawo',
 'underline-never' => "Swinga endleki ni kan'we",
@@ -108,11 +112,16 @@ $messages = array(
 'category-media-header' => 'Matluka ya xifaniso kumbe mpfumawulo eka ntlawa wa "$1"',
 'category-empty' => "''Ntlawa lowu eka nkarhi wa sweswi, wuhava matluka kumbe swifaniso.''",
 'hidden-categories' => '{{PLURAL:$1|Ntlawa lowu tumbetiweke|Mintlawa leyi tumbetiweke}}',
+'hidden-category-category' => 'Mintlawa leyi tumbetiweke',
 'category-subcat-count' => '{{PLURAL:$2|Ntlawa lowu wukhome mintlawa-ntsongo leyi landzelaka.|Ntlawa lowu wuni  {{PLURAL:$1|ntlwa-ntsongo|$1 wa mintlaw-ntsongo}}, eka $2 wa mintlawa-ntsongo.}}',
+'category-subcat-count-limited' => 'Ntlawa lowu wuna {{PLURAL:$1|ntlawa-ntsongo lowu|$1 mintlawa-ntsongo leyi}} landzelaka.',
 'category-article-count' => '{{PLURAL:$2|Ntlawa lowu wukhome matluka lamalandzelaka ntsena.| {{PLURAL:$1|Tluka leri ri le|$1 matluka lawa male}} ndzeni ka ntlawa lowu, eka $2 wamintlawa.}}',
+'category-article-count-limited' => '{{PLURAL:$1|Tluka leri rile|$1 Matluka lawa male}} ndzeni ka ntlawa lowu.',
 'category-file-count' => '{{PLURAL:$2|Ntlawa lowu wukhome matluka lamalandzelaka ntsena.| {{PLURAL:$1|Tluka leri ri le|$1 matluka lawa male}} ndzeni ka ntlawa lowu, eka $2 wamintlawa.}}',
+'category-file-count-limited' => '{{PLURAL:$1|Fayili leyi yile|$1 Tifayili leti tile}} ndzeni ka ntlawa lowu.',
 'listingcontinuesabbrev' => 'Mahlwe.',
 'noindex-category' => 'Matluka lama kayivelaka xikombandlela xa tinhlokomhaka',
+'broken-file-category' => 'Matluka lamangana minkhwekelo ya tifayili leyi tshovekeke',
 
 'about' => 'Timhaka hi',
 'article' => 'Matluka lama tsariweke',
@@ -140,6 +149,8 @@ $messages = array(
 'vector-action-delete' => 'Sula',
 'vector-action-move' => 'Yi sa kunwana',
 'vector-action-protect' => 'Sirhelela',
+'vector-action-undelete' => 'Cinca kusula',
+'vector-action-unprotect' => 'Cinca kusirhelela',
 'vector-view-create' => 'Tumbuluxa',
 'vector-view-edit' => 'Lulamisa',
 'vector-view-history' => 'Languta matimu',
@@ -159,37 +170,58 @@ $messages = array(
 'searcharticle' => 'Nghena',
 'history' => 'Matimu yaTluka',
 'history_short' => 'Matimu',
+'updatedmarker' => 'leswi lunghisiweke kusukela loko nihetelela nxaxamelo lowu',
 'printableversion' => 'Vona Ngangliso',
 'permalink' => 'Xithlavinyeti xa nkarhi hinkwawo',
+'print' => 'Gandlisa',
+'view' => 'Langutisa',
 'edit' => 'Lulamisa',
 'create' => 'Tumbuluxa',
 'editthispage' => 'Lulamisa Tluka leri',
 'create-this-page' => 'Tumbuluxa tluka leri',
 'delete' => 'Sula',
 'deletethispage' => 'Sula tluka leri',
+'undelete_short' => 'Cinca kusula {{PLURAL:$1|ndzulamiso|$1 mindzulamiso}}',
 'viewdeleted_short' => 'Vona {{PLURAL:$1|ndzulamiso lowu suriweke|$1 mindzulamiso leyi suriweke}}',
 'protect' => 'Sirhelela',
 'protect_change' => 'Cinca',
 'protectthispage' => 'Sirhelela tluka leri',
+'unprotect' => 'Cinca kusirhelela',
+'unprotectthispage' => 'Cinca kusirhelela tluka leri',
 'newpage' => 'Tluka rintswa',
+'talkpage' => 'Burisana hi tluka leri',
 'talkpagelinktext' => 'Mbulavulo',
 'specialpage' => 'Tluka ro hlawuleka',
 'personaltools' => "Switirhisi swa n'wini",
+'postcomment' => 'Xiyenge xintswa',
+'articlepage' => 'Langutisa tluka ra matsalwa',
 'talk' => 'Mbulavuriswano',
 'views' => 'Kulanguteka',
 'toolbox' => 'Bokisi ra switirhisiwa',
+'userpage' => 'Vona tluka ramutirhisi',
+'projectpage' => 'Vona tluka ra phurojeki',
+'imagepage' => 'Vona tluka ra fayili',
+'mediawikipage' => 'Vona tluka ra hungu',
+'templatepage' => 'Vona tluka ra xivumbiwa-ntirho',
+'viewhelppage' => 'Vona tluka ra mpfuno',
+'categorypage' => 'Vona tluka ra ntlawa',
+'viewtalkpage' => 'Vona bulo',
 'otherlanguages' => "Hi ti ndzimi tin'wana",
 'redirectedfrom' => '(Ritlerisewe kusuka e $1)',
 'redirectpagesub' => 'Tluka ro kongomisa',
 'lastmodifiedat' => 'Tluka leri rihetelele ku lulamisiwa hi $1, nkarhi kuri $2.',
+'viewcount' => "Tluka leri ri vhakeriwe {{PLURAL:$1|kan'we|makhambi ya $1}}.",
+'protectedpage' => 'Tluka leri sirheleriweke',
 'jumpto' => 'Tlulela eka:',
 'jumptonavigation' => 'Xikomba-ndlela',
 'jumptosearch' => 'Lava',
+'pool-errorunknown' => 'xiphiqo xoka xingativeki',
 
 # 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' => 'ta {{SITENAME}}',
 'aboutpage' => 'Project:ta',
-'copyrightpage' => '{{ns:project}}:Mpfumelelo wo ringisa',
+'copyright' => 'Matsalwa makumeka ehansi ka $1.',
+'copyrightpage' => '{{ns:project}}:Swisivela ku encenyeta',
 'currentevents' => 'Leswi endlekaka sweswi',
 'currentevents-url' => 'Project:Leswi endlekaka sweswi',
 'disclaimers' => 'Swi alanandzu',
@@ -228,6 +260,8 @@ See [[Special:Version|version page]].',
 'toc' => 'Leswinga ndzeni',
 'showtoc' => 'Kombisa',
 'hidetoc' => 'Tumbeta',
+'collapsible-collapse' => 'Tsongahata',
+'collapsible-expand' => 'Ndlandlamuxa',
 'thisisdeleted' => 'Langutisa kumbe Thlerisela $1?',
 'viewdeleted' => 'Langutisa $1?',
 'restorelink' => '{{PLURAL:$1|ndzulamiso lowu suriweke|$1 mindzulamiso leyi suriweke}}',
@@ -239,6 +273,8 @@ See [[Special:Version|version page]].',
 'page-rss-feed' => '"$1" RSS Feed',
 'page-atom-feed' => '"$1" Atom Feed',
 'red-link-title' => '$1 (Tluka leri, arisi tsariwa)',
+'sort-descending' => 'Xaxameta kuya ehansi',
+'sort-ascending' => 'Xaxameta kuya ehenhla',
 
 # Short words for each namespace, by default used in the namespace tab in monobook
 'nstab-main' => 'Tluka',
@@ -254,7 +290,9 @@ See [[Special:Version|version page]].',
 
 # Main script and global functions
 'nosuchaction' => 'Kuhava xiendlo xo tano',
-'nosuchactiontext' => 'Xikombelo xa URL a xitwisisiwi hi wiki',
+'nosuchactiontext' => 'Xikombelo xa URL a xitwisisiwi hi wiki.
+Ungava uhoxise kupeleta, kumbe u landze nkhwekelo lowu hoxeke.
+Xiphiqo lixe xingava xikomba xigalana eka software ya {{SITENAME}}.',
 'nosuchspecialpage' => 'Ku hava Tluka rero rohlawuleka',
 'nospecialpagetext' => '<strong>U kombele tluka ro hlawuleka ro ka ri nga ri kona.</strong>
 
@@ -291,6 +329,8 @@ Ukomberiwa ku pota xigalana lexi eka [[Special:ListUsers/sysop|mulanguteri]], u
 'readonly_lag' => 'The database has been automatically locked while the slave database servers catch up to the master',
 'internalerror' => 'Xihoxo xa le ndzeni',
 'internalerror_info' => 'Internal error: $1',
+'fileappenderrorread' => 'Hitsandzeke ku hlaya "$1" eku lulamiseni loku.',
+'fileappenderror' => 'Hintsndzeke ku lulamisa "$1" leswaku yiva "$2".',
 'filecopyerror' => 'Could not copy file "$1" to "$2".',
 'filerenameerror' => 'Could not rename file "$1" to "$2".',
 'filedeleteerror' => 'Could not delete file "$1".',
@@ -302,6 +342,7 @@ Ukomberiwa ku pota xigalana lexi eka [[Special:ListUsers/sysop|mulanguteri]], u
 'badarticleerror' => 'This action cannot be performed on this page.',
 'cannotdelete' => 'Could not delete the page or file specified.
 It may have already been deleted by someone else.',
+'cannotdelete-title' => 'Tluka "$1", ari suleki',
 'badtitle' => 'Bad title',
 'badtitletext' => 'The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title.
 It may contain one or more characters which cannot be used in titles.',
@@ -311,6 +352,22 @@ Data here will not presently be refreshed.',
 Function: $1<br />
 Query: $2',
 'viewsource' => 'Vona tsalwa-tumbuluxa',
+'viewsource-title' => 'vona xihlovo xa $1',
+'protectedpagetext' => 'Tluka leri riserheleriwile kusivele ndzulamiso.',
+'viewsourcetext' => 'Unga langutisa naswona u kopa xihlovo xa tluka leri.',
+'viewyourtext' => 'Unga langutisa naswona ukopa xihlovo xa "mindzulamiso yawena" eka tluka leri.',
+'protectedinterface' => 'Tluka leri rina xihlanganisi xa software, naswona risirheleriwile kusivela kuthyakisiwa.',
+'editinginterface' => "'''Tivonele:''' ulekululamiseni tlika leri tirhisiwaka ku komba matsalwa yo hlanganisa ya software.
+Kucinca eka tluka leri kunga onha kulanguteka ka matluka eka vatirhisi van'wana.
+Leswaku uvona kuhundzuluxa langutisa [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], Phurojeki yo hundzuluxa tindzimi ya MediaWiki.",
+'cascadeprotected' => 'Tluka leri risirheleriwile eka mindzulamiso, hikwalaho kaleswi rikatsiweke eka {{PLURAL:$1|tluka, leri|matluka, lama}} sirheleriweke nswona mangana nhlawulo wo "katsakanya" lowu hlawuriweke:
+$2',
+'namespaceprotected' => "Uhava mfumelelo wo lulamisa matluka eka maviti-vundzawu bya '''$1'''.",
+'customcssprotected' => "Uhava mpfumelelo wo ulamisa tluka leri ra CSS, hikuva rina minhlawulo ya mutirhisi un'wana.",
+'customjsprotected' => "Uhava mpfumelelo wolulamisa tluka-xirhumiwa xa Java, hiuva ringava rikhome minhlawulo yamutirhisi un'wana.",
+'ns-specialprotected' => 'Matluka yohlawuleka amalulamisiwi.',
+'titleprotected' => 'Nhlokomhaka leyi yisirheleriwile ekutumbuluxiwa hi [[User:$1|$1]].
+Hikwlaho ka xivangelo xa "\'\'$2\'\'".',
 
 # Login and logout pages
 'logouttext' => "'''Uhumile eka wiki leyi.'''
@@ -328,14 +385,17 @@ Unda rivali ku cinca [[Special:Preferences|{{SITENAME}} minhlawulo ya wena]].',
 'nav-login-createaccount' => 'Pfula unghena / Tumbuluxa akhawunti',
 'loginprompt' => 'U fanele ku pfumelela swipfuneti leswaku u pfula unghena eka {{SITENAME}}.',
 'userlogin' => 'Pfula unghena / Tumbuluxa akhawunti',
+'userloginnocreate' => 'Pfula unghena',
 'logout' => 'Pfala u famba',
 'userlogout' => 'Pfala u famba',
+'notloggedin' => 'A wusipfula unghena',
 'nologin' => 'Xana upfumala akhawunti? $1.',
 'nologinlink' => 'Tumbuluxa akhawunti',
 'createaccount' => 'Tumbuluxa akhawunti',
 'gotaccount' => 'Xna una akhawunti hi khale? $1.',
 'gotaccountlink' => 'Pfula unghena',
 'userlogin-resetlink' => 'Xana u rivele vuxokoxoko bya wena byo pfula unghena?',
+'createaccountreason' => 'Xivangelo:',
 'loginsuccess' => "'''Ule ndzeni ka {{SITENAME}} tani hi \"\$1\".'''",
 'mailmypassword' => 'Rhumela vito-mpfungulo lerintwsa',
 'loginlanguagelabel' => 'Ririmi: $1',
@@ -522,7 +582,7 @@ Adiresi ya wena ya e-mail yitunberile loko van'wana va bula na wena.",
 'nchanges' => '$1 {{PLURAL:$1|wa ndzulamiso|wa mindzulamiso}}',
 'recentchanges' => 'Ku cinca ka sweswi-nyana',
 'recentchanges-legend' => 'Tindlela to langutisa ku cinca ka sweswinyana',
-'recentchangestext' => 'Landzelela mindzulamiso ya sweswinyana ya wiki leyi eka tluka leri.',
+'recentchanges-summary' => 'Landzelela mindzulamiso ya sweswinyana ya wiki leyi eka tluka leri.',
 'recentchanges-feed-description' => 'Landzelela mindzulamiso ya sweswinyana eka wiki leyi hi xiphameri-hungu lexi.',
 'recentchanges-label-newpage' => 'Ndzulamiso lowu wu tumbuluxe tluka rintswa',
 'recentchanges-label-minor' => 'Lowu i ndzulamiso wu tsongo',
index daea741..47bdcd1 100644 (file)
@@ -1360,7 +1360,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|үзгәртү|үзгәртү}}',
 'recentchanges' => 'Соңгы үзгәртүләр',
 'recentchanges-legend' => 'Соңгы үзгәртүләр көйләүләре',
-'recentchangestext' => 'Бу биттә {{grammar:genitive|{{SITENAME}}}} проектының соңгы үзгәртүләре күрсәтелә.',
+'recentchanges-summary' => 'Бу биттә {{grammar:genitive|{{SITENAME}}}} проектының соңгы үзгәртүләре күрсәтелә.',
 'recentchanges-feed-description' => 'Бу агымда соңгы үзгәртүләрне күзәтү.',
 'recentchanges-label-newpage' => 'Бу үзгәртү белән яңа бит төзелде',
 'recentchanges-label-minor' => 'Бу кече үзгәртү',
index ca1d641..611be9e 100644 (file)
@@ -1136,7 +1136,7 @@ Ul $1 {{PLURAL:$1|xäreftän}} kübräk bulırğa tieş tügel.',
 'nchanges' => '$1 {{PLURAL:$1|üzgärtü|üzgärtü}}',
 'recentchanges' => 'Soñğı üzgärtülär',
 'recentchanges-legend' => 'Soñğı üzgärtülär köyläwläre',
-'recentchangestext' => 'Bu bittä {{grammar:genitive|{{SITENAME}}}} proyektınıñ soñğı üzgärtüläre kürsätelä.',
+'recentchanges-summary' => 'Bu bittä {{grammar:genitive|{{SITENAME}}}} proyektınıñ soñğı üzgärtüläre kürsätelä.',
 'recentchanges-feed-description' => 'Bu ağımda soñğı üzgärtülärne küzätü.',
 'recentchanges-label-newpage' => 'Bu üzgärtü belän yaña bit tözelde',
 'recentchanges-label-minor' => 'Bu keçe üzgärtü',
index 1cec5c7..49910be 100644 (file)
@@ -645,7 +645,7 @@ It must not be more than $1 {{PLURAL:$1|character|characters}} long.',
 'nchanges' => '$1 {{PLURAL:$1|өскерлиишкин}}',
 'recentchanges' => 'Амгы өскерлиишкиннер',
 'recentchanges-legend' => 'Амгы өскерлиишкиннерниң эдиглери',
-'recentchangestext' => 'Бо агымда викиниң сөөлгү өскерлиишкиннерин көөрү.',
+'recentchanges-summary' => 'Бо агымда викиниң сөөлгү өскерлиишкиннерин көөрү.',
 'recentchanges-feed-description' => 'Бо агымда викиниң сөөлгү өскерлиишкиннерин көөрү.',
 'recentchanges-label-newpage' => 'Бо өскерлиишкин чаа арынны чогааткан.',
 'recentchanges-label-minor' => 'Бо өскерлиишкин бичии-дир',
index 5d5a8b9..2423ec2 100644 (file)
@@ -1364,7 +1364,7 @@ HTML بەلگىسىنى تەكشۈرۈڭ.',
 'nchanges' => '$1 {{PLURAL:$1|ئۆزگەرتىش|ئۆزگەرتىش}}',
 'recentchanges' => 'يېقىنقى ئۆزگەرتىشلەر',
 'recentchanges-legend' => 'يېقىنقى ئۆزگەرتىش تاللانمىسى',
-'recentchangestext' => 'بۇ wiki نىڭ يېقىنقى ئۆزگىرىشىنى ئىز قوغلا.',
+'recentchanges-summary' => 'بۇ wiki نىڭ يېقىنقى ئۆزگىرىشىنى ئىز قوغلا.',
 'recentchanges-feed-description' => 'بۇ قانالنىڭ wiki دىكى يېقىنقى ئۆزگىرىشىنى ئىز قوغلا.',
 'recentchanges-label-newpage' => 'بۇ قېتىملىق تەھىر يېڭى بەتتىن بىرنى قۇرىدۇ',
 'recentchanges-label-minor' => 'بۇ ئازراقلا تەھرىرلەش',
index fe7a25b..1442e8f 100644 (file)
@@ -35,6 +35,7 @@
  * @author Sodmy
  * @author Urhixidur
  * @author VolodymyrF
+ * @author Vox
  * @author Yuriy Apostol
  * @author Дар'я Козлова
  * @author Тест
@@ -487,7 +488,7 @@ $messages = array(
 Будь ласка, почекайте і повторіть спробу отримати доступ пізніше.
 
 $1',
-'pool-timeout' => 'ЧаÑ\81 Ð¾Ñ\87Ñ\8bкування блокування вичерпано',
+'pool-timeout' => 'ЧаÑ\81 Ð¾Ñ\87Ñ\96кування блокування вичерпано',
 'pool-queuefull' => 'Сервер запитів заповнений',
 'pool-errorunknown' => 'Невідома помилка',
 
@@ -1184,8 +1185,8 @@ $1",
 
 # Suppression log
 'suppressionlog' => 'Журнал приховувань',
-'suppressionlogtext' => 'Ð\9dижÑ\87е Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ð¹ Ñ\81пиÑ\81ок Ð²Ð¸Ð»Ñ\83Ñ\87енÑ\8c Ñ\82а Ð±Ð»Ð¾ÐºÑ\83ванÑ\8c, Ñ\8fкÑ\96 Ñ\81Ñ\82оÑ\81Ñ\83Ñ\8eÑ\82Ñ\8cÑ\81Ñ\8f Ð¼Ð°Ñ\82еÑ\80Ñ\96алÑ\96в, Ð¿Ñ\80иÑ\85ованиÑ\85 від адміністраторів.
£ [[Special:BlockList|Ñ\81пиÑ\81кÑ\83 Ð±Ð»Ð¾ÐºÑ\83ванÑ\8c]] Ð¼Ð¾Ð¶Ð½Ð° Ð¿ÐµÑ\80еглÑ\8fнÑ\83Ñ\82и Ñ\81пиÑ\81ок поточних блокувань.',
+'suppressionlogtext' => 'Ð\9dижÑ\87е Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¾ Ñ\81пиÑ\81ок Ð²Ð¸Ð»Ñ\83Ñ\87енÑ\8c Ñ\82а Ð±Ð»Ð¾ÐºÑ\83ванÑ\8c, Ð²ÐºÐ»Ñ\8eÑ\87аÑ\8eÑ\87и Ð¼Ð°Ñ\82еÑ\80Ñ\96али, Ð¿Ñ\80иÑ\85ованÑ\96 від адміністраторів.
\94ивÑ\96Ñ\82Ñ\8cÑ\81Ñ\8f [[Special:BlockList|Ñ\81пиÑ\81ок Ð±Ð»Ð¾ÐºÑ\83ванÑ\8c]] Ð´Ð»Ñ\8f Ð¿ÐµÑ\80еглÑ\8fдÑ\83 поточних блокувань.',
 
 # History merging
 'mergehistory' => "Об'єднання історій редагувань",
@@ -1217,7 +1218,9 @@ $1",
 'mergelogpagetext' => "Нижче наведений список останніх об'єднань історій сторінок.",
 
 # Diffs
-'history-title' => 'Історія змін сторінки «$1»',
+'history-title' => '$1: Історія змін',
+'difference-title' => '$1: Відмінності між версіями',
+'difference-title-multipage' => '$1 і $2: Відмінності між сторінками',
 'difference-multipage' => '(Різниця між сторінками)',
 'lineno' => 'Рядок $1:',
 'compareselectedversions' => 'Порівняти вибрані версії',
@@ -1578,7 +1581,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|зміна|зміни|змін}}',
 'recentchanges' => 'Нові редагування',
 'recentchanges-legend' => 'Налаштування нових редагувань',
-'recentchangestext' => 'На цій сторінці показані останні зміни на сторінках {{grammar:genitive|{{SITENAME}}}}.',
+'recentchanges-summary' => 'На цій сторінці показані останні зміни на сторінках {{grammar:genitive|{{SITENAME}}}}.',
 'recentchanges-feed-description' => 'Відстежувати останні зміни у вікі в цьому потоці.',
 'recentchanges-label-newpage' => 'Цим редагуванням створена нова сторінка',
 'recentchanges-label-minor' => 'Це незначна зміна',
@@ -1791,8 +1794,8 @@ $1',
 'backend-fail-writetemp' => 'Не вдалося записати до тимчасового файлу.',
 'backend-fail-closetemp' => 'Не вдалося закрити тимчасовий файл.',
 'backend-fail-read' => 'Не вдалося прочитати файл $1.',
-'backend-fail-create' => 'Не вдалося створити файл $1.',
-'backend-fail-maxsize' => 'Неможливо створити файл $1, бо він більший, ніж {{PLURAL:$2|$2 байт|$2 байти|$2 байтів}}.',
+'backend-fail-create' => 'Не вдалося зберегти файл $1.',
+'backend-fail-maxsize' => 'Неможливо зберегти файл $1, бо він більший, ніж {{PLURAL:$2|$2 байт|$2 байти|$2 байтів}}.',
 'backend-fail-readonly' => 'Інтерфейс сховища "$1" зараз доступний тільки для читання. Причина: "$2"',
 'backend-fail-synced' => 'Файл "$1" у внутрішньому сховищі рушія перебуває в неузгодженому стані',
 'backend-fail-connect' => 'Неможливо підключитися до сховища рушія "$1".',
@@ -2565,7 +2568,7 @@ $1',
 'ipboptions' => '2 години:2 hours,1 день:1 day,3 дні:3 days,1 тиждень:1 week,2 тижні:2 weeks,1 місяць:1 month,3 місяці:3 months,6 місяців:6 months,1 рік:1 year,назавжди:infinite',
 'ipbotheroption' => 'інший термін',
 'ipbotherreason' => 'Інша/додаткова причина:',
-'ipbhidename' => "Приховати ім'я користувача у редагуваннях ті списках",
+'ipbhidename' => "Приховати ім'я користувача у редагуваннях та списках",
 'ipbwatchuser' => 'Додати до списку спостереження сторінку користувача і його обговорення',
 'ipb-disableusertalk' => 'Заборонити користувачу редагувати свою сторінку обговорення під час блокування',
 'ipb-change-block' => 'Переблокувати користувача з цими налаштуваннями',
@@ -2573,7 +2576,7 @@ $1',
 'badipaddress' => 'IP-адреса записана в невірному форматі, або користувача з таким іменем не існує.',
 'blockipsuccesssub' => 'Блокування проведено',
 'blockipsuccesstext' => '[[Special:Contributions/$1|«$1»]] заблоковано.<br />
-Див. [[Special:BlockList|список заблокованих IP-адрес]].',
+Див. [[Special:BlockList|список заблокованих IP-адрес]] для перегляду блокувань.',
 'ipb-blockingself' => 'Ви збираєтеся заблокувати себе!  Ви дійсно бажаєте це зробити?',
 'ipb-confirmhideuser' => "Ви збираєтеся заблокувати користувача з опцією приховання імені. Це вилучить його ім'я з усіх списків та журналів. Ви точно хочете це зробити?",
 'ipb-edit-dropdown' => 'Редагувати причини блокувань',
index be67e6b..0dc37af 100644 (file)
@@ -930,7 +930,7 @@ HTML tags جانچئے.',
 'nchanges' => '$1 {{PLURAL:$1|تبدیلی|تبدیلیاں}}',
 'recentchanges' => 'حالیہ تبدیلیاں',
 'recentchanges-legend' => 'اِختیاراتِ حالیہ تبدیلیاں',
-'recentchangestext' => 'اس صفحے پر ویکی میں ہونے والی تازہ تریں تبدیلیوں کا مشاہدہ کیجیۓ۔',
+'recentchanges-summary' => 'اس صفحے پر ویکی میں ہونے والی تازہ تریں تبدیلیوں کا مشاہدہ کیجیۓ۔',
 'recentchanges-feed-description' => 'اس خورد میں ویکی پر ہونے والی تازہ تریں تبدیلیوں کا مشاہدہ کیجیۓ۔',
 'recentchanges-label-newpage' => 'اِس ترمیم نے نیا صفحہ تخلیق کردیا',
 'recentchanges-label-minor' => 'یہ ایک معمولی ترمیم ہے',
index c49a716..068a010 100644 (file)
@@ -419,7 +419,7 @@ Bu yerda: (joriy) = hozirgi koʻrinish bilan farq,
 
 # Recent changes
 'recentchanges' => 'Yangi o‘zgartirishlar',
-'recentchangestext' => 'Ushbu sahifada siz eng so‘nggi o‘zgartirishlarni ko‘rishingiz mumkin.',
+'recentchanges-summary' => "Bu sahifada siz oxirgi o'zgartirishlarni ko'rishingiz mumkin.",
 'rcnote' => "Quyida $5, $4ga koʻra oxirgi {{PLURAL:$2|kun|'''$2''' kun}} davomida sodir boʻlgan {{PLURAL:$1|'''1''' oʻzgartirish|'''$1''' oʻzgartirishlar}} koʻrsatilgan.",
 'rclistfrom' => "$1dan boshlab yangi o'zgartirishlarni ko'rsat.",
 'rcshowhideminor' => 'Kichik tahrirlarni $1',
index 878c93b..6d0f94a 100644 (file)
@@ -537,6 +537,8 @@ $2',
 'filereadonlyerror' => 'No xe stà posibiłe modifegare el file "$1" parché el repository de file "$2" xe in modałità de soła letura.
 
 L\'aministradore che ło ga blocà ga fornìo sta spiegasion: "$3".',
+'invalidtitle-knownnamespace' => 'Titoło no vałido co namespace "$2" e testo "$3"',
+'invalidtitle-unknownnamespace' => 'Titoło no vałido co namespace sconosùo "$1" e testo "$2"',
 
 # Virus scanner
 'virus-badscanner' => 'Erore de configurasion: antivirus sconossuo: "$1"',
@@ -909,6 +911,11 @@ Sti argomenti i xe stà omessi.",
 'parser-template-recursion-depth-warning' => 'Xe stà rajunto el limite màssimo de ricorsion in tel modèl ($1)',
 'language-converter-depth-warning' => 'Limite de profondità del convertidor de lengua superà ($1)',
 'node-count-exceeded-category' => 'Pajine ndove che el node-count supera el limite',
+'node-count-exceeded-warning' => 'Sta pajina ga superà el numaro limite de nodi',
+'expansion-depth-exceeded-category' => 'Pajine ndove che vien superà ła profondità de espansion',
+'expansion-depth-exceeded-warning' => 'Sta pajina ga superà el limite de profondità de espansion',
+'parser-unstrip-loop-warning' => 'Xe sta riłevà un ciclo de Unstrip',
+'parser-unstrip-recursion-limit' => 'Superadi i limiti de recursion de Unstrip ($1)',
 
 # "Undo" feature
 'undo-success' => 'Sta modifica la pode èssar anulà. Verifica el confronto presentà de seguito par èssar sicuro che el contenuto el sia come te lo voli e quindi salva le modifiche par conpletar la procedura de anulamento.',
@@ -954,7 +961,7 @@ Legenda: '''({{int:cur}})''' = difarense co l'ultima version, '''({{int:last}})'
 'history-feed-empty' => 'La pàxena richiesta no la esiste; la podarìa èssar stà scancełà dal sito o rinominà. Verifica con la [[Special:Search|pàxena de riserca]] se ghe xè nove pàxene.',
 
 # Revision deletion
-'rev-deleted-comment' => '(comento cavà)',
+'rev-deleted-comment' => 'Comento cavà',
 'rev-deleted-user' => '(nome utente cavà)',
 'rev-deleted-event' => '(elemento cavà)',
 'rev-deleted-user-contribs' => '[nome utente o indirisso IP cavà - modifica sconta dai contributi]',
@@ -981,8 +988,8 @@ Controła el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rejis
 I aministradori i połe uncora [$1 vixualixare el confronto] se i vołe.",
 'rev-deleted-diff-view' => "Una dełe revixion de sto confronto de version ła xe stà '''scancelà'''.
 Te połi uncora vixuałixare sto confronto; controłare el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rejistro dełe scancełasion] par ulteriori detaji.",
-'rev-suppressed-diff-view' => "Una dele revision de sta difarensa la xe stà '''sopressa'''.
-Come aminitrador, te pol vardar el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de sopression] par ulteriori detagli.",
+'rev-suppressed-diff-view' => "Una dełe revixion de sto confronto de version ła xe stà '''rimosa'''.
+Te połi uncora vixuałixare sto confronto; controłare el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rejistro dełe rimosion] par ulteriori detaji.",
 'rev-delundel' => 'mostra/scondi',
 'rev-showdeleted' => 'mostra',
 'revisiondelete' => 'Scanceła o ripristina version',
@@ -1048,7 +1055,7 @@ No ti gà acesso su de ela.',
 
 # Suppression log
 'suppressionlog' => 'Registro dei ocultamenti',
-'suppressionlogtext' => "Qua soto se cata na lista de le ultime scancelazioni e blochi che riguarda contenuti sconti dai aministradori. Varda la [[Special:IPBlockList|lista dei IP blocà]] par védar l'elenco dei blochi atualmente ativi.",
+'suppressionlogtext' => "Cua soto se cata na lista de łe ultime scancełasion e rimosion che riguarda contenuti sconti dai aministradori. Varda ła [[Special:BlockList|lista dei IP blocadi]] par vedare l'elenco de łe operasion de bloco atualmente ative.",
 
 # History merging
 'mergehistory' => 'Union cronologie',
@@ -1080,7 +1087,9 @@ Assicùrete che la continuità storica de la pagina no la vegna alterà.',
 'mergelogpagetext' => "Qua de seguito vien presentà na lista de le ultime operazion de unione de la cronologia de na pagina in un'altra.",
 
 # Diffs
-'history-title' => "Storia dei canbiamenti de ''$1''",
+'history-title' => '$1: cronołojia dełe modifeghe',
+'difference-title' => '$1: difarense fra łe version',
+'difference-title-multipage' => '$1 e $2: difarense fra łe pajine',
 'difference-multipage' => '(Difarensa tra le pagine)',
 'lineno' => 'Riga $1:',
 'compareselectedversions' => 'Confronta le version segnàe',
@@ -1161,6 +1170,7 @@ Prova a métarghe \"all:\" davanti al testo che te serchi par vardar in tuti i n
 'qbsettings-fixedright' => 'Fisso a destra',
 'qbsettings-floatingleft' => 'Fluttuante a sinistra',
 'qbsettings-floatingright' => 'Fluttuante a destra',
+'qbsettings-directionality' => 'Fiso, a seconda de ła diresion del testo nte ła to lengua',
 
 # Preferences page
 'preferences' => 'Prefarense',
@@ -1179,12 +1189,14 @@ Prova a métarghe \"all:\" davanti al testo che te serchi par vardar in tuti i n
 'prefs-rc' => 'Ultime modifeghe',
 'prefs-watchlist' => 'Tegnùi de òcio',
 'prefs-watchlist-days' => 'Nùmaro de giòrni da far védar nei osservati speciali:',
-'prefs-watchlist-days-max' => 'Maximum $1 {{PLURAL:$1|day|days}}',
+'prefs-watchlist-days-max' => 'Masimo $1 dì',
 'prefs-watchlist-edits' => 'Nùmaro de modifiche da far védar con le funzion avanzade:',
-'prefs-watchlist-edits-max' => '(nùmaro massimo: 1000)',
+'prefs-watchlist-edits-max' => 'Numaro massimo: 1000',
 'prefs-watchlist-token' => "Segnal par le pagine tegnùe d'ocio:",
 'prefs-misc' => 'Preferense varie',
 'prefs-resetpass' => 'Cànbia password',
+'prefs-changeemail' => 'Canbia indiriso de posta ełetronega',
+'prefs-setemail' => 'Inposta un indiriso de posta ełetronega',
 'prefs-email' => 'Preferense e-mail',
 'prefs-rendering' => 'Aspeto grafico',
 'saveprefs' => 'Salva le preferense',
@@ -1206,7 +1218,7 @@ Prova a métarghe \"all:\" davanti al testo che te serchi par vardar in tuti i n
 'savedprefs' => 'Le to preferense łe xè stà salvae.',
 'timezonelegend' => 'Fuso orario:',
 'localtime' => 'Ora locale:',
-'timezoneuseserverdefault' => "Dòpara l'ora del server",
+'timezoneuseserverdefault' => 'Dopara el orario predefinìo de wiki ($1)',
 'timezoneuseoffset' => 'Altro (spesifica difarensa)',
 'timezoneoffset' => 'Difarensa¹:',
 'servertime' => 'Ora del server:',
@@ -1241,7 +1253,8 @@ Sta operassion no la pol èssar anulà.',
 'prefs-registration' => 'Data de registrassion:',
 'yourrealname' => 'El to vero nome:',
 'yourlanguage' => 'Lengua:',
-'yourvariant' => 'Variante de linguaggio:',
+'yourvariant' => 'Variante de ła lengua:',
+'prefs-help-variant' => 'La variante o grafia in cui te preferisi che te vegna mostrade łe pajine de wiki.',
 'yournick' => 'Firma:',
 'prefs-help-signature' => 'Co se scrive in te le pagine de discussion, a se gà senpre da firmar scrivendo "<nowiki>~~~~</nowiki>", che vegnarà convertìo in te la propria firma seguìa da data e ora.',
 'badsig' => 'Erór ne ła firma non standard, verifica i tag HTML.',
@@ -1273,12 +1286,16 @@ Co qualcheduni te scrivarà, nol vedarà mia el to indirizo.',
 'prefs-displaywatchlist' => 'Opzioni de visualixassion',
 'prefs-diffs' => 'Difarense',
 
+# User preference: e-mail validation using jQuery
+'email-address-validity-valid' => "L'indiriso de posta eletronega pararìa vałido",
+'email-address-validity-invalid' => 'Inserisi un indiriso de posta eletronega vałido',
+
 # User rights
 'userrights' => 'Gestion dei parmessi relativi ai utenti',
 'userrights-lookup-user' => 'Gestion de i gruppi utente',
 'userrights-user-editname' => 'Inserir el nome utente:',
 'editusergroup' => 'Modifica grupi utente',
-'editinguser' => "Modifica dei diriti assegnà a l'utente '''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])",
+'editinguser' => "Modifega dei diriti utente de'l utente '''[[User:$1|$1]]''' $2",
 'userrights-editusergroup' => 'Modifica grupi utente',
 'saveusergroups' => 'Salva grupi utente',
 'userrights-groupsmember' => 'Apartien ai grupi:',
@@ -1291,7 +1308,7 @@ Co qualcheduni te scrivarà, nol vedarà mia el to indirizo.',
 'userrights-no-interwiki' => 'No te ghè i parmessi necessari par modificar i diriti dei utenti su altri siti.',
 'userrights-nodatabase' => "El database $1 no l'esiste mìa o no l'è un database local.",
 'userrights-nologin' => "Par assegnarghe diriti ai utenti te ghè da [[Special:UserLogin|efetuar l'acesso]] come aministrador.",
-'userrights-notallowed' => 'No te ghè i parmessi necessari par assegnarghe diriti ai utenti.',
+'userrights-notallowed' => 'No te ghe i parmesi necesari par xontarghe o cavarghe diriti ai utenti.',
 'userrights-changeable-col' => 'Grupi che te pol canbiar',
 'userrights-unchangeable-col' => 'Grupi che no te pol canbiar',
 
@@ -1378,11 +1395,13 @@ Co qualcheduni te scrivarà, nol vedarà mia el to indirizo.',
 'right-siteadmin' => 'Bloca e desbloca el database',
 'right-override-export-depth' => 'Esporta le pàxene, includendo le pàxene ligàe fin a na profondità de 5',
 'right-sendemail' => 'Mandarghe e-mail a cheialtri utenti',
+'right-passwordreset' => 'Vedi i mesaji de rinpostasion de ła password',
 
 # User rights log
 'rightslog' => 'Diriti de i utenti',
 'rightslogtext' => 'Sto qua el xe el registro de le modifiche ai diriti assegnà ai utenti.',
 'rightslogentry' => "gà modificà l'apartenenza de $1 dal grupo $2 al grupo $3",
+'rightslogentry-autopromote' => 'xe stà automategamente promoso/a da $2 a $3',
 'rightsnone' => '(nissun)',
 
 # Associated actions - in the sentence "You do not have permission to X"
@@ -1410,6 +1429,7 @@ Co qualcheduni te scrivarà, nol vedarà mia el to indirizo.',
 'action-suppressionlog' => 'vardar sto registro privato',
 'action-block' => 'blocar sto utente in scritura',
 'action-protect' => 'canbiar i livèi de protession par sta pàxena',
+'action-rollback' => "Anuła in presa łe modifeghe fate da l'ultimo utente intervegnù so' na determinada pajina.",
 'action-import' => "inportar sta pàxena da n'antra wiki",
 'action-importupload' => 'inportar sta pàxena tramite caricamento da file',
 'action-patrol' => 'segnar le modìfeghe dei altri utenti come verificàe',
@@ -1425,7 +1445,7 @@ Co qualcheduni te scrivarà, nol vedarà mia el to indirizo.',
 'nchanges' => '$1 {{PLURAL:$1|canbiamento|canbiamenti}}',
 'recentchanges' => 'Ultimi canbiamenti',
 'recentchanges-legend' => 'Prefarense par i ultimi canbiamenti',
-'recentchangestext' => 'Qua se vede i ultimi canbiamenti fati a sto sito.',
+'recentchanges-summary' => 'Qua se vede i ultimi canbiamenti fati a sto sito.',
 'recentchanges-feed-description' => 'Tien tracia dei ultimi canbiamenti fati a sto sito',
 'recentchanges-label-newpage' => 'Sta modifica la ga creà na pagina nova',
 'recentchanges-label-minor' => 'Sto qua el xe un canbiamento picenin',
@@ -1451,9 +1471,11 @@ Co qualcheduni te scrivarà, nol vedarà mia el to indirizo.',
 'number_of_watching_users_pageview' => '[osservà da {{PLURAL:$1|un utente|$1 utenti}}]',
 'rc_categories' => 'Limita a le categorie (separà da "|")',
 'rc_categories_any' => 'Qualsiasi',
+'rc-change-size-new' => '$1 byte dopo ła modifega',
 'newsectionsummary' => '/* $1 */ sezion nova',
 'rc-enhanced-expand' => 'Mostra detaji (richiede JavaScript)',
 'rc-enhanced-hide' => 'Scondi detaji',
+'rc-old-title' => 'creà in orijine come "$1"',
 
 # Recent changes linked
 'recentchangeslinked' => 'Canbiamenti ligà a sta pagina',
@@ -1505,12 +1527,13 @@ Varda la [[Special:NewFiles|galerìa dei file nóvi]] par na vision de insieme.'
 'ignorewarnings' => 'Ignora i messagi de avertimento del sistema',
 'minlength1' => 'El nome del file el ga da contegner almanco un caràtere.',
 'illegalfilename' => 'El nome file "$1" el contien caràteri che no xè permessi nei titoli de le pagine. Par piaser, rinomina el file e próa a ricaricarlo.',
+'filename-toolong' => 'I nomi dei file no połe superare i 240 byte.',
 'badfilename' => 'El nome de el file el xè stà convertio in "$1".',
-'filetype-mime-mismatch' => "L'estension del file no a corisponde con el tipo MIME.",
+'filetype-mime-mismatch' => 'L\'estension del file ".$1" no corisponde al tipo MIME del file ($2).',
 'filetype-badmime' => 'No xe consentìo de cargar file de tipo MIME "$1".',
 'filetype-bad-ie-mime' => 'No se pode cargar sto file, parché da Internet Explorer el vegnarìa rilevà come "$1", che xe un tipo de file disativà e potensialmente pericoloso.',
 'filetype-unwanted-type' => "Cargar file de tipo '''\".\$1\"''' xe sconsiglià. {{PLURAL:\$3|El tipo de file consiglià el|I tipi de file consiglià i}} xe \$2.",
-'filetype-banned-type' => "Cargar file de tipo '''\".\$1\"''' no xe mìa consentìo. {{PLURAL:\$3|El tipo de file consentìo el|I tipi de file consentìi i}} xe \$2.",
+'filetype-banned-type' => "'''\".\$1\"''' {{PLURAL:\$4|no'l xe un tipo de file consentìo|no łi xe tipi de file consentidi}}. {{PLURAL:\$3|El tipo de file consentìo xe|I tipi de file consentidi xe}} \$2.",
 'filetype-missing' => 'El file no\'l gà nissuna estension (ad es. ".jpg").',
 'empty-file' => 'El file che te ghè cargà el xe vodo.',
 'file-too-large' => 'El file che te ghè cargà el xe massa grando.',
@@ -1526,6 +1549,7 @@ Varda la [[Special:NewFiles|galerìa dei file nóvi]] par na vision de insieme.'
 'large-file' => 'Se racomanda de no superar mìa le dimension de $1 par ciascun file; sto file el xe grando $2.',
 'largefileserver' => 'El file el supera le dimension consentìe da la configurazion del server.',
 'emptyfile' => 'El file che te ghè caricà el xè aparentemente vodo. Podarìa èssar par un eror nel nome del file. Par piaser controla se te vol dal bon caricar sto file.',
+'windows-nonascii-filename' => 'Sta wiki no suporta nomi de file co carateri speciałi.',
 'fileexists' => "Un file co sto nome el esiste de xà, par piaser controła '''<tt>[[:$1]]</tt>''' se no te sì sicuro de volerlo sovrascrìvar.
 [[$1|thumb]]",
 'filepageexists' => "La pagina de descrizion de sto file la xe zà stà creà a '''<tt>[[:$1]]</tt>''', anca se no ghe xe gnancora un file co sto nome.
@@ -1559,6 +1583,8 @@ Se te vol cargar el file istesso, par piaser torna indrio e canbia el nome che t
 'php-uploaddisabledtext' => 'El caricamento de file tramite PHP el xe disabilità. Contròla la configurassion de file_uploads.',
 'uploadscripted' => 'Sto file contegne codexe HTML o de script, che podaria essere interpretà eroneamente da un browser web.',
 'uploadvirus' => 'Sto file contegne un virus! Detagli: $1',
+'uploadjava' => 'Sto file xe un file ZIP che contien un file Java ".class".
+Cargar file Java no xe consentìo, parché łi podarìa cauxare on ajiramento de łe restrision de sicuresa.',
 'upload-source' => 'File de origine',
 'sourcefilename' => 'Nome del file de origine:',
 'sourceurl' => 'URL de origine:',
@@ -1590,6 +1616,31 @@ Se el problema el persiste, contatar un [[Special:ListUsers/sysop|aministrador]]
 'upload-too-many-redirects' => "In te l'URL ghe jera massa rimandi",
 'upload-unknown-size' => 'Dimension sconossiùa',
 'upload-http-error' => 'Se gà verificà un eròr HTTP: $1',
+'upload-copy-upload-invalid-domain' => 'No xe consentìo cargare copie da sto dominio.',
+
+# File backend
+'backend-fail-stream' => 'Inposibiłe traxmetare el file $1.',
+'backend-fail-backup' => 'Inposibiłe fare el backup del file $1.',
+'backend-fail-notexists' => 'El file $1 no existe.',
+'backend-fail-hashes' => "Inposibiłe otegnere el hash dei file pa'l confronto.",
+'backend-fail-notsame' => 'Existe xà un file no identico a  $1 .',
+'backend-fail-invalidpath' => '$1 no xe un percorso de archiviasion vałido.',
+'backend-fail-delete' => 'Inposibiłe scançełare el file "$1".',
+'backend-fail-alreadyexists' => 'El file $1 existe xà.',
+'backend-fail-store' => 'Inposibiłe memorixare el file  $1  in  $2 .',
+'backend-fail-copy' => 'Inposibiłe copiare el file "$1" in "$2".',
+'backend-fail-move' => 'Inposibiłe spostare el file  $1  in  $2 .',
+'backend-fail-opentemp' => 'Inposibiłe verxare el file tenporaneo',
+'backend-fail-writetemp' => 'Inposibiłe creare el file tenporaneo.',
+'backend-fail-closetemp' => 'Inposibiłe sarare el file tenporaneo',
+'backend-fail-read' => 'Inposibiłe lexare el file $1.',
+'backend-fail-create' => 'Inposibiłe creare el file "$1".',
+'backend-fail-maxsize' => 'Inposibiłe creare el file $1 parché el xe pi grando de {{PLURAL:$2|un|$2}} byte.',
+'backend-fail-readonly' => 'El backend "$1" xe atualmente in soła letura. La raxon indicà xe: "$2"',
+'backend-fail-synced' => 'El file "$1" xe incoerente rento i backend de ła memoria interna.',
+'backend-fail-connect' => 'Inposibiłe conétarse al backend de memoria "$1".',
+'backend-fail-internal' => 'Se ga verifegà on erore sconosùo nte\'l backend de memoria "$1".',
+'backend-fail-usable' => 'Inposibiłe modifegare el file $1 a cauxa de autorixasion insuficenti o directory mancanti.',
 
 # img_auth script messages
 'img-auth-accessdenied' => 'Acesso negà',
@@ -1608,6 +1659,7 @@ Xe parmesso entrar solo in tei file, no in te le cartèle.',
 Sta wiki la xe configurà come pùblica.
 Par na major sicuressa, img_auth.php el xe disabilità.',
 'img-auth-noread' => 'L\'utente no\'l gà mia dirito de lèzar "$1".',
+'img-auth-bad-query-string' => "L'indiriso URL contien na stringa de query invałida.",
 
 # HTTP errors
 'http-invalid-url' => 'URL mia valido: $1',
@@ -1633,9 +1685,8 @@ Par na major sicuressa, img_auth.php el xe disabilità.',
 'upload_source_file' => ' (un file sul to computer)',
 
 # Special:ListFiles
-'listfiles-summary' => "Sta pagina speciale la fa védar tuti i file caricài.
-I file caricài piessè de recente i vien mostrà a l'inizio de la lista.
-Par modificar l'ordinamento, struca su l'intestazion de la colona presièlta.",
+'listfiles-summary' => "Sta pajina speciałe ła fa vedare tuti i file caricadi.
+Se l'utente modifega l'ordenamento, vien mostradi soło i file caricadi pi de recente da l'utente.",
 'listfiles_search_for' => 'Serca file par nome:',
 'imgfile' => 'file',
 'listfiles' => 'Lista dei file',
@@ -1758,7 +1809,7 @@ Qua soto vien mostrà la descrission presente in te la [$2 pàxena de descrissio
 'statistics-users-active-desc' => "Utenti che gà fato almanco un'azion in {{PLURAL:$1|tel'ultimo zorno|in tei ultimi $1 zorni}}",
 'statistics-mostpopular' => 'Pagine piassè visità',
 
-'disambiguations' => 'Pagine de disanbigua',
+'disambiguations' => 'Pajine cołegade a pajine de dixanbiguasion',
 'disambiguationspage' => 'Template:Disambigua',
 'disambiguations-text' => "Le pagine ne la lista che segue le contien dei colegamenti a '''pagine de disanbiguazion''' e no a l'argomento a cui le dovarìà far riferimento.<br />
 Vien considerà pagine de disanbiguazion tute quele che contien i modèi elencà in [[MediaWiki:Disambiguationspage]]",
@@ -1854,8 +1905,8 @@ Par piaser tien conto che altri siti web i podarìa realizar colegamenti ai file
 'booksources-invalid-isbn' => "El nùmaro ISBN inserìo no'l xe mia valido: controla de novo se te lo ghè copià justo da la fonte originale.",
 
 # Special:Log
-'specialloguserlabel' => 'Utente:',
-'speciallogtitlelabel' => 'Titolo:',
+'specialloguserlabel' => 'Asion efetuà da:',
+'speciallogtitlelabel' => 'Asion efetuà so:',
 'log' => 'Registri',
 'all-logs-page' => 'Tuti i registri pùblici',
 'alllogstext' => 'Vixualixazion unificà de tuti i registri disponibili de {{SITENAME}}.
@@ -1895,12 +1946,13 @@ Varda anca le [[Special:WantedCategories|categorie domandà]].',
 'sp-deletedcontributions-contribs' => 'contributi',
 
 # Special:LinkSearch
-'linksearch' => 'Colegamenti foresti',
+'linksearch' => 'Riçerca cołegamenti esterni',
 'linksearch-pat' => 'Espression de riserca:',
 'linksearch-ns' => 'Namespace:',
 'linksearch-ok' => 'Serca',
-'linksearch-text' => 'Se pol doparar dei metacaràteri, par es. "*.wikipedia.org".<br />
-Protocòli suportè: <tt>$1</tt>',
+'linksearch-text' => 'Xe posibiłe doparare metacarateri, come "*.wikipedia.org".<br />
+Xe necesario almanco un dominio de primo liveło, tipo "*.org".<br />
+Protocołi suportadi: <tt>$1</tt> (no sta xontare nesuno de sti cuà inte ła to riçerca).',
 'linksearch-line' => '$1 presente ne la pagina $2',
 'linksearch-error' => "I metacaràteri i pode vegner doparài solo a l'inizio del nome de l'host.",
 
@@ -2093,7 +2145,8 @@ L'ultima modefega l'è stà fata da [[User:$3|$3]] ([[User talk:$3|discussion]]{
 
 # Protect
 'protectlogpage' => 'Protesion',
-'protectlogtext' => 'De seguito xe elencàe le azion de protezion e sbloco de le pagine.',
+'protectlogtext' => "De seguito xe elencade łe modifeghe ałe protesion dełe pajine.
+Vedi ła [[Special:ProtectedPages|lista dełe pajine protete]] pa l'elenco de łe protesion de pajina atualmente ative.",
 'protectedarticle' => 'ga proteto "[[$1]]"',
 'modifiedarticleprotection' => "gà canbià el livèl de protession de ''[[$1]]''",
 'unprotectedarticle' => 'gà sblocà "[[$1]]"',
@@ -2286,8 +2339,8 @@ $1',
 'ipb-confirm' => 'Conferma el bloco',
 'badipaddress' => "L'indirisso IP indicà no'l xè mìa coreto.",
 'blockipsuccesssub' => 'Bloco eseguìo',
-'blockipsuccesstext' => "[[Special:Contributions/$1|$1]] l'è sta bloccà.<br />
-Varda [[Special:BlockList|lista IP bloccati]] par védar tuti i blochi.",
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] xe stà blocà.<br />
+Varda [[Special:BlockList|lista IP blocadi]] par vedare tuti i blochi.',
 'ipb-blockingself' => 'Sito drio blocar te steso! Sito sicuro de voerlo fare?',
 'ipb-edit-dropdown' => 'Motivi par el bloco',
 'ipb-unblock-addr' => 'Sbloca $1',
@@ -2326,7 +2379,7 @@ Qua soto ghe xe el registro dei blochi:',
 Qua soto ghe xe el registro de le sopression:',
 'blocklogentry' => 'ga blocà [[$1]] par un periodo de $2 $3',
 'reblock-logentry' => "gà canbià le inpostassion del bloco par [[$1]] co' na scadensa de $2 $3",
-'blocklogtext' => "Sto qua xè un elenco de azioni de bloco e sbloco dei indirizi IP. I indirizi blocai in automatico no i xè mìa elencai. Varda l'[[Special:BlockList|elenco dei IP blocà]] par la lista dei indirizi el cui bloco el xè operativo.",
+'blocklogtext' => "Sto cua xe un elenco de asion de bloco e sbloco de indirizi IP de utenti. I indirisi blocadi in automatego no xe elencadi. Varda l'[[Special:BlockList|elenco dei IP blocadi]] pa ła lista dei indirisi che ga un bloco operativo.",
 'unblocklogentry' => 'ga sblocà $1',
 'block-log-flags-anononly' => 'solo utenti anonimi',
 'block-log-flags-nocreate' => 'creasion acount blocà',
@@ -2529,8 +2582,8 @@ Tute łe operazion de inportazion trans-wiki łe xè notà nel [[Special:Log/imp
 'import-interwiki-namespace' => 'Namespace de destinassion:',
 'import-upload-filename' => 'Nome del file:',
 'import-comment' => 'Comento:',
-'importtext' => 'Par piaser, esporta el file da la wiki de origine doparando la [[Special:Export|funsion de esportassion]].
-Salvalo sul to computer e càrghelo qua.',
+'importtext' => "Se połe esportare el file da ła fonte wiki doparando ła [[Special:Export|funsion de esportasion]].
+Salveło so'l to conpiuter e carghelo cuà.",
 'importstart' => 'Inportazion de łe pàxene in corso...',
 'import-revision-count' => '{{PLURAL:$1|una revixion importà|$1 revixion importae}}',
 'importnopages' => 'Nissuna pàxena da inportar.',
@@ -2580,7 +2633,7 @@ Salvalo sul to computer e càrghelo qua.',
 'tooltip-ca-viewsource' => 'Sta pagina la xe proteta, ma te poli vardar el so testo',
 'tooltip-ca-history' => 'Version vece de sta pagina',
 'tooltip-ca-protect' => 'Protezi sta pagina',
-'tooltip-ca-unprotect' => 'Cava la protession a sta pagina',
+'tooltip-ca-unprotect' => 'Canbia ła protesion de sta pajina',
 'tooltip-ca-delete' => 'Scansela sta pagina',
 'tooltip-ca-undelete' => "Ripristina la pàxena come l'era prima de la scancelassion",
 'tooltip-ca-move' => 'Sposta sta pagina',
@@ -2779,8 +2832,8 @@ I colegamenti dopo, su la stessa riga, i xe considerai come ecession (cioè, pag
 'exif-colorspace' => 'Spazio de i cołori',
 'exif-componentsconfiguration' => 'Significato de ciascuna componente',
 'exif-compressedbitsperpixel' => 'Modalità de compression imagine',
-'exif-pixelydimension' => 'Largheza efetiva imagine',
-'exif-pixelxdimension' => 'Alteza efetiva imagine',
+'exif-pixelydimension' => 'Larghesa imajine',
+'exif-pixelxdimension' => 'Altesa imajine',
 'exif-usercomment' => "Note de l'utente",
 'exif-relatedsoundfile' => 'File audio cołegà',
 'exif-datetimeoriginal' => 'Data e ora de creassion de i dati',
@@ -2794,9 +2847,9 @@ I colegamenti dopo, su la stessa riga, i xe considerai come ecession (cioè, pag
 'exif-exposureprogram' => 'Programa de esposission',
 'exif-spectralsensitivity' => 'Sensibilità spetrałe',
 'exif-isospeedratings' => 'Sensibiłità ISO',
-'exif-shutterspeedvalue' => 'Tenpo de esposission',
-'exif-aperturevalue' => 'Apertura',
-'exif-brightnessvalue' => 'Luminosità',
+'exif-shutterspeedvalue' => "Vełoçità de l'oturatore APEX",
+'exif-aperturevalue' => 'Apertura APEX',
+'exif-brightnessvalue' => 'Luminoxità APEX',
 'exif-exposurebiasvalue' => 'Coression esposission',
 'exif-maxaperturevalue' => 'Massima apertura',
 'exif-subjectdistance' => 'Distansa de el sojeto',
@@ -2858,6 +2911,7 @@ I colegamenti dopo, su la stessa riga, i xe considerai come ecession (cioè, pag
 'exif-gpsareainformation' => 'Nome de ła xòna GPS',
 'exif-gpsdatestamp' => 'Data GPS',
 'exif-gpsdifferential' => 'Corezion diferensiałe GPS',
+'exif-objectname' => 'Titoło curto',
 
 # EXIF attributes
 'exif-compression-1' => 'No conpresso',
@@ -2869,9 +2923,9 @@ I colegamenti dopo, su la stessa riga, i xe considerai come ecession (cioè, pag
 'exif-orientation-3' => 'Ruotà de 180°',
 'exif-orientation-4' => 'Roersà verticalmente',
 'exif-orientation-5' => 'Ruotà 90° in senso antiorario e roersà verticalmente',
-'exif-orientation-6' => 'Ruotà 90° in senso orario',
+'exif-orientation-6' => 'Jirare de 90° in senso antiorario',
 'exif-orientation-7' => 'Ruotà 90° in senso orario e capovolto verticalmente',
-'exif-orientation-8' => 'Ruotà 90° in senso antiorario',
+'exif-orientation-8' => 'Jirà de 90° in senso orario',
 
 'exif-planarconfiguration-1' => 'a blochi (chunky)',
 'exif-planarconfiguration-2' => 'lineare (planar)',
@@ -2946,6 +3000,8 @@ I colegamenti dopo, su la stessa riga, i xe considerai come ecession (cioè, pag
 'exif-sensingmethod-7' => 'Sensore triłineare',
 'exif-sensingmethod-8' => 'Sensor łinear cołor sequensiałe',
 
+'exif-filesource-3' => 'Fotocamara dijitałe',
+
 'exif-scenetype-1' => 'Fotografia direta',
 
 'exif-customrendered-0' => 'Processo normałe',
@@ -3065,6 +3121,17 @@ $3
 Se l\'acount *no* te o ghe rejistrà ti, verzi st\'altro cołegamento par anułar ła conferma de l\'indiriso e-mail:
 $5
 El codexe de conferma el scadrà en automatego a łe $4.',
+'confirmemail_body_set' => 'Qualcheduni, probabilmente ti steso da l\'indiriso IP $1, el ga rejistrà n\'acount "$2" con sto indiriso de posta eletronega so {{SITENAME}}.
+
+Par confermare che sto acount el xe veramente tuo e poder riativar łe funsion rełative a l\'e-mail so {{SITENAME}} verxi sto cołegamento ntel to browser:
+
+$3
+
+Se l\'acount *no* te o ghe rejistrà ti, verxi st\'altro cołegamento par anułar ła conferma de l\'indiriso de posta eletronega:
+
+$5
+
+El codexe de conferma el scadarà en automatego a łe $4.',
 'confirmemail_invalidated' => 'Richiesta de conferma indirizo e-mail anulà',
 'invalidateemail' => 'Anula richiesta de conferma e-mail',
 
@@ -3161,6 +3228,7 @@ Nota che te pol anca [[Special:EditWatchlist|modificar la lista con l'interfacia
 'version-specialpages' => 'Pagine speciali',
 'version-parserhooks' => 'Hook del parser',
 'version-variables' => 'Variabili',
+'version-skins' => 'Aspeto grafego',
 'version-other' => 'Altro',
 'version-mediahandlers' => 'Gestori de contenuti multimediài',
 'version-hooks' => 'Hook',
index 6430cd6..3958b47 100644 (file)
@@ -1249,7 +1249,7 @@ Ku tö kirjutat sen, nece nimi kävutadas, miše ozutada lehtpolen toižetajad.'
 'nchanges' => '$1 {{PLURAL:$1|toižetuz|toižetust}}',
 'recentchanges' => 'Tantoižed toižetused',
 'recentchanges-legend' => 'Tantoižiden toižetusiden järgendused',
-'recentchangestext' => 'Necil lehtpolil om tantoižid toižetusid {{SITENAME}}-saital.',
+'recentchanges-summary' => 'Necil lehtpolil om tantoižid toižetusid {{SITENAME}}-saital.',
 'recentchanges-feed-description' => "Kacelta jäl'gmäižid toižetusid wikiš neciš valus.",
 'recentchanges-label-newpage' => 'Nece redakcii sädi uden lehtpolen',
 'recentchanges-label-minor' => 'Nece redakcii om penikaine',
index aeff75c..2e6346e 100644 (file)
@@ -15,6 +15,7 @@
  * @author Mxn
  * @author Neoneurone
  * @author Nguyễn Thanh Quang
+ * @author Prenn
  * @author Thaisk
  * @author Thanhtai2009
  * @author Tmct
@@ -58,12 +59,14 @@ $specialPageAliases = array(
        'Allmessages'               => array( 'Mọi_thông_báo' ),
        'Allpages'                  => array( 'Mọi_bài' ),
        'Ancientpages'              => array( 'Trang_cũ' ),
+       'Badtitle'                  => array( 'Tựa_đề_hỏng' ),
        'Blankpage'                 => array( 'Trang_trắng' ),
        'Block'                     => array( 'Cấm_IP' ),
        'Blockme'                   => array( 'Khóa_tôi', 'Khoá_tôi' ),
        'Booksources'               => array( 'Nguồn_sách' ),
        'BrokenRedirects'           => array( 'Đổi_hướng_sai' ),
        'Categories'                => array( 'Thể_loại' ),
+       'ChangeEmail'               => array( 'Đổi_thư_điện_tử' ),
        'ChangePassword'            => array( 'Đổi_mật_khẩu' ),
        'ComparePages'              => array( 'So_sánh_trang' ),
        'Confirmemail'              => array( 'Xác_nhận_thư' ),
@@ -81,11 +84,12 @@ $specialPageAliases = array(
        'Filepath'                  => array( 'Đường_dẫn_tập_tin', 'Đường_dẫn_file' ),
        'Import'                    => array( 'Nhập' ),
        'Invalidateemail'           => array( 'Hủy_thư', 'Hủy_thư_điện_tử', 'Huỷ_thư', 'Huỷ_thư_điện_tử', 'Tắt_thư' ),
+       'JavaScriptTest'            => array( 'Thử_JavaScript' ),
        'BlockList'                 => array( 'Danh_sách_cấm' ),
        'LinkSearch'                => array( 'Tìm_liên_kết' ),
        'Listadmins'                => array( 'Danh_sách_bảo_quản_viên', 'Danh_sách_admin' ),
        'Listbots'                  => array( 'Danh_sách_bot', 'Danh_sách_robot' ),
-       'Listfiles'                 => array( 'Danh_sách_hình', 'Danh_sách_tập_tin' ),
+       'Listfiles'                 => array( 'Danh_sách_tập_tin', 'Danh_sách_hình' ),
        'Listgrouprights'           => array( 'Quyền_nhóm_người_dùng' ),
        'Listredirects'             => array( 'Trang_đổi_hướng' ),
        'Listusers'                 => array( 'Danh_sách_thành_viên' ),
@@ -1336,6 +1340,7 @@ Xin hãy bảo đảm giữ vững tính liên tục của lịch sử trang.',
 'prefs-beta' => 'Tính năng beta',
 'prefs-datetime' => 'Ngày tháng',
 'prefs-labs' => 'Tính năng phòng thí nghiệm',
+'prefs-user-pages' => 'Trang cá nhân',
 'prefs-personal' => 'Thông tin cá nhân',
 'prefs-rc' => 'Thay đổi gần đây',
 'prefs-watchlist' => 'Theo dõi',
@@ -1599,7 +1604,7 @@ Nếu bạn đồng ý cung cấp, nó sẽ dùng để ghi nhận công lao c
 'nchanges' => '$1 {{PLURAL:$1|thay đổi|thay đổi}}',
 'recentchanges' => 'Thay đổi gần đây',
 'recentchanges-legend' => 'Tùy chọn thay đổi gần đây',
-'recentchangestext' => 'Xem các thay đổi gần đây nhất tại wiki trên trang này.',
+'recentchanges-summary' => 'Xem các thay đổi gần đây nhất tại wiki trên trang này.',
 'recentchanges-feed-description' => 'Theo dõi các thay đổi gần đây nhất của wiki dùng nguồn tin này.',
 'recentchanges-label-newpage' => 'Bản sửa này tạo ra trang mới',
 'recentchanges-label-minor' => 'Đây là một sửa đổi nhỏ',
@@ -1805,14 +1810,15 @@ Nếu vẫn còn bị lỗi, xin hãy liên hệ với một [[Special:ListUsers
 'backend-fail-writetemp' => 'Không thể ghi vào tập tin tạm thời.',
 'backend-fail-closetemp' => 'Không thể đóng tập tin tạm thời.',
 'backend-fail-read' => 'Không thể đọc tập tin $1.',
-'backend-fail-create' => 'Không thể tạo tập tin $1.',
-'backend-fail-maxsize' => 'Không thể tạo tập tin $1 vì nó lớn hơn $2 byte.',
+'backend-fail-create' => 'Không thể ghi tập tin $1.',
+'backend-fail-maxsize' => 'Không thể ghi tập tin $1 vì nó lớn hơn $2 byte.',
 'backend-fail-readonly' => 'Phía sau lưu trữ “$1” đang ở chế độ chỉ-đọc. Lý do đưa ra là: “$2”',
 'backend-fail-synced' => 'Tập tin “$1” đang có trạng thái không nhất quán đối với các phía sau lưu trữ nội bộ',
 'backend-fail-connect' => 'Không thể kết nối đến phía sau lưu trữ “$1”.',
 'backend-fail-internal' => 'Lỗi không rõ xuất hiện trong phía sau lưu trữ “$1”.',
 'backend-fail-contenttype' => 'Không thể xác định kiểu nội dung của tập tin để lưu giữ tại “$1”.',
 'backend-fail-batchsize' => 'Phía sau lưu trữ đã nhận một loạt $1 thao tác tập tin; mức hạn là $2 thao tác.',
+'backend-fail-usable' => 'Không thể ghi tập tin $1 vì không có đủ quyền hoặc những thư mục hay nơi đựng bị thiếu.',
 
 # File journal errors
 'filejournal-fail-dbconnect' => 'Không thể kết nối với cơ sở dữ liệu nhật ký của phía sau lưu trữ “$1”.',
@@ -1875,7 +1881,6 @@ Vì lý do bảo mật, img_auth.php đã bị tắt.',
 'http-curl-error' => 'Có lỗi khi truy xuất URL: $1',
 'http-host-unreachable' => 'Không thể truy cập URL',
 'http-bad-status' => 'Có vấn đề khi yêu cầu HTTP: $1 $2',
-'http-truncated-body' => 'Chỉ nhận được một phần của thân yêu cầu.',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => 'Không thể truy cập URL',
@@ -3276,7 +3281,7 @@ Những thông tin khác mặc định sẽ được ẩn đi.
 'exif-scenetype' => 'Loại cảnh',
 'exif-customrendered' => 'Sửa hình thủ công',
 'exif-exposuremode' => 'Chế độ phơi sáng',
-'exif-whitebalance' => 'Độ sáng trắng',
+'exif-whitebalance' => 'Cân bằng trắng',
 'exif-digitalzoomratio' => 'Tỷ lệ phóng lớn kỹ thuật số',
 'exif-focallengthin35mmfilm' => 'Tiêu cự trong phim 35 mm',
 'exif-scenecapturetype' => 'Kiểu chụp cảnh',
index 76df447..d382711 100644 (file)
@@ -1190,7 +1190,7 @@ Dalol i dälön votikanes kosikön ko ol yufü gebana- u bespikapad olik nes sä
 'nchanges' => '{{PLURAL:$1|votükam|votükams}} $1',
 'recentchanges' => 'Votükams nulik',
 'recentchanges-legend' => 'Votükams nulik: paramets',
-'recentchangestext' => 'Su pad at binons votükams nulikün in vüki at.',
+'recentchanges-summary' => 'Su pad at binons votükams nulikün in vüki at.',
 'recentchanges-feed-description' => 'Getön votükamis nulikün in vük at me nünakanad at.',
 'recentchanges-label-newpage' => 'Redakam at päjafon pad nulik',
 'recentchanges-label-minor' => 'Atos binon redakam pülik',
index 9ed4222..df09c18 100644 (file)
@@ -960,7 +960,7 @@ Taa tohe-i ollaq rohkõmb ku $1 {{PLURAL:$1|märk|märki}}.",
 'nchanges' => '$1 {{PLURAL:$1|muutminõ|muutmiisi}}',
 'recentchanges' => 'Viimädseq muutmisõq',
 'recentchanges-legend' => 'Viimätside muutmiisi säädmine',
-'recentchangestext' => 'Kaeq seo lehe päält viimätsit muutmiisi.',
+'recentchanges-summary' => 'Kaeq seo lehe päält viimätsit muutmiisi.',
 'recentchanges-feed-description' => 'Kaeq seo lehe pääl {{SITENAME}} viimätsit muutmiisi.',
 'rcnote' => 'Tan ommaq {{PLURAL:$1|üts muutus|$1 viimäst muutmist}}, miä ommaq tettüq {{PLURAL:$2|üte viimädse päävä|$2 viimädse päävä}} seen (kuupääväst $5, $4 lugõma naatõn).',
 'rcnotefrom' => "Tan ommaq muutmisõq kuupääväst '''$2''' pääle (näüdätäs kooniq '''$1''' muutmist).",
index 1afb5c9..acd1dcb 100644 (file)
@@ -21,10 +21,10 @@ $namespaceNames = array(
        NS_USER             => 'Gumaramit',
        NS_USER_TALK        => 'Hiruhimangaw_hiton_gumaramit',
        NS_PROJECT_TALK     => 'Hiruhimangraw_hiton_$1',
-       NS_FILE             => 'Fayl',
-       NS_FILE_TALK        => 'Hiruhimangraw_hiton_fayl',
-       NS_MEDIAWIKI        => 'MediaWiki',
-       NS_MEDIAWIKI_TALK   => 'Hiruhimangraw_hiton_MediaWiki',
+       NS_FILE             => 'Paypay',
+       NS_FILE_TALK        => 'Hiruhimangraw_hiton_paypay',
+       NS_MEDIAWIKI        => 'MedyaWiki',
+       NS_MEDIAWIKI_TALK   => 'Hiruhimangraw_hiton_MedyaWiki',
        NS_TEMPLATE         => 'Batakan',
        NS_TEMPLATE_TALK    => 'Hiruhimangraw_hiton_batakan',
        NS_HELP             => 'Bulig',
@@ -33,6 +33,12 @@ $namespaceNames = array(
        NS_CATEGORY_TALK    => 'Hiruhimangraw_hiton_kaarangay',
 );
 
+$namespaceAliases = array(
+       'Fayl'                          => NS_FILE,
+       'Hiruhimangraw_hiton_fayl'      => NS_FILE_TALK,
+       'Hiruhimangraw_hiton_MediaWiki' => NS_MEDIAWIKI_TALK,
+);
+
 $specialPageAliases = array(
        'Allpages'                  => array( 'NgatananngaPakli' ),
        'Categories'                => array( 'Mga_kaarangay' ),
@@ -798,7 +804,7 @@ An imo e-mail address in diri makikit-an kun an iba nga mga gumaramit in makonta
 'nchanges' => '$1 {{PLURAL:$1|pagbag-o|mga pagbabag-o}}',
 'recentchanges' => 'Mga kabag-ohan',
 'recentchanges-legend' => 'Mga pirilion han mga lab-as nga pagbag-o',
-'recentchangestext' => 'Nasubay han pinakalab-as nga pagbag-o ha wiki dinhi nga pakli.',
+'recentchanges-summary' => 'Nasubay han pinakalab-as nga pagbag-o ha wiki dinhi nga pakli.',
 'recentchanges-feed-description' => 'Panultol han pinakalab-as nga pagbabag-o ha wiki dinhi nga panubong.',
 'recentchanges-label-newpage' => 'Ini nga pagliwat hin naghimo hin bag-o nga pakli',
 'recentchanges-label-minor' => 'Gutiay ini nga pagliwat',
index 5a6f244..13c5a11 100644 (file)
@@ -1175,7 +1175,7 @@ Jéemala bindaale ''all'' ngir seet ci biir ëmbit gépp (boolewaale ci xëti wa
 'nchanges' => '$1 {{PLURAL:$1|coppite|ciy coppite}}',
 'recentchanges' => 'Coppite yu mujj',
 'recentchanges-legend' => 'tànneefi coppite yu mujj',
-'recentchangestext' => 'Toppal ci wii xët coppite yu mujj ci {{SITENAME}}.',
+'recentchanges-summary' => 'Toppal ci wii xët coppite yu mujj ci {{SITENAME}}.',
 'recentchanges-feed-description' => 'Toppal coppite yu mujj yu bii wiki.',
 'recentchanges-label-newpage' => 'Coppite gi sos na xët wu bees',
 'recentchanges-label-minor' => 'Coppite gu néewal la',
index b6c9a70..a9d7dd5 100644 (file)
@@ -1013,7 +1013,7 @@ $1",
 'nchanges' => '$1趟更改',
 'recentchanges' => '近段辰光个改动',
 'recentchanges-legend' => '近段辰光个改动选项',
-'recentchangestext' => '登该个页面浪跟踪最近对维基百科个改动。',
+'recentchanges-summary' => '登该个页面浪跟踪最近对维基百科个改动。',
 'recentchanges-feed-description' => '跟踪此订阅垃拉 wiki 高头个最近更改。',
 'rcnote' => "下底是垃拉$4 $5,最近'''$2'''日天里向个'''$1'''趟最近更改记录:",
 'rclistfrom' => '显示 $1 以来个新改动',
index b85c6a7..2aea831 100644 (file)
@@ -725,7 +725,7 @@ $1',
 'nchanges' => '$1 {{PLURAL:$1|сольлһн|сольлһн}}',
 'recentchanges' => 'Шидрә сольлһн',
 'recentchanges-legend' => 'Шидрә сольлһна көгүд',
-'recentchangestext' => 'Эн цагин дараһар бичсн шидрә сольлһн',
+'recentchanges-summary' => 'Эн цагин дараһар бичсн шидрә сольлһн',
 'recentchanges-feed-description' => 'Эн зәңгллһд шидрә хүврһд шинҗлх.',
 'recentchanges-label-newpage' => 'Тер үүләр шин халх бүтәв',
 'recentchanges-label-minor' => 'Эн баһ чинртә сольлһн',
index 69eb238..d487e43 100644 (file)
@@ -471,7 +471,7 @@ $messages = array(
 'nchanges' => '$1 {{PLURAL:$1|თირაფა|თირაფეფ}}',
 'recentchanges' => 'ასეიანი თირაფეფი',
 'recentchanges-legend' => 'ასერდენ თირაფეფიშ ოფციეფ',
-'recentchangestext' => 'თე ხასჷლას ქაძირი ვიკიშა მიშაღალირ არძოშ უახალაშ თირაფეფი.',
+'recentchanges-summary' => 'თე ხასჷლას ქაძირი ვიკიშა მიშაღალირ არძოშ უახალაშ თირაფეფი.',
 'recentchanges-feed-description' => "ვიკიშ უახალაშ თირაფეფიშა თოლყ'უჯიშ მეყ'უნაფა თე არხის",
 'recentchanges-label-newpage' => 'ათე რედაქტირაფას მაჸუნ ახალ ხასჷლაშ დორსხუაფაქ.',
 'recentchanges-label-minor' => 'თენა რე ციქა რედაქტირაფა',
index d98603f..5c84de2 100644 (file)
@@ -67,10 +67,12 @@ $specialPageAliases = array(
        'BrokenRedirects'           => array( 'צעבראכענע_ווייטערפירונגען' ),
        'Categories'                => array( 'קאטעגאריעס' ),
        'ChangePassword'            => array( 'ענדערן_פאסווארט' ),
+       'ComparePages'              => array( 'פארגלייהן_בלעטער' ),
        'Confirmemail'              => array( 'באשטעטיגן_ע-פאסט' ),
        'Contributions'             => array( 'בײַשטײַערונגען' ),
        'CreateAccount'             => array( 'שאפֿן_קאנטע' ),
        'Deadendpages'              => array( 'בלעטער_אן_פארבינדונגען' ),
+       'DeletedContributions'      => array( 'אויסגעמעקעטע_בײַשטײַערונגען' ),
        'Disambiguations'           => array( 'באדייטן' ),
        'DoubleRedirects'           => array( 'פארטאפלטע_ווייטערפירונגען' ),
        'Emailuser'                 => array( 'שיקן_אן_ע-פאסט_צום_באניצער' ),
@@ -83,6 +85,7 @@ $specialPageAliases = array(
        'Listfiles'                 => array( 'בילדער' ),
        'Listredirects'             => array( 'ווייטערפירונגען' ),
        'Listusers'                 => array( 'ליסטע_פון_באניצערס' ),
+       'Lockdb'                    => array( 'פארשליסן_דאטנבאזע' ),
        'Log'                       => array( 'לאגביכער' ),
        'Lonelypages'               => array( 'פאר\'יתומ\'טע_בלעטער' ),
        'Longpages'                 => array( 'לאנגע_בלעטער' ),
@@ -114,6 +117,7 @@ $specialPageAliases = array(
        'Specialpages'              => array( 'באזונדערע_בלעטער' ),
        'Statistics'                => array( 'סטאטיסטיק' ),
        'Tags'                      => array( 'טאגן' ),
+       'Unblock'                   => array( 'אויפבלאקירן' ),
        'Uncategorizedcategories'   => array( 'קאטעגאריעס_אן_קאטעגאריעס' ),
        'Uncategorizedimages'       => array( 'בילדער_אן_קאטעגאריעס' ),
        'Uncategorizedpages'        => array( 'בלעטער_אן_קאטעגאריעס' ),
@@ -169,6 +173,7 @@ $magicWords = array(
        'raw'                     => array( '0', 'רוי:', 'ללא עיבוד:', 'RAW:' ),
        'displaytitle'            => array( '1', 'ווייזן_קעפל', 'כותרת תצוגה', 'DISPLAYTITLE' ),
        'language'                => array( '0', '#שפראך:', '#שפה:', '#LANGUAGE:' ),
+       'special'                 => array( '0', 'באזונדער', 'מיוחד', 'special' ),
        'defaultsort'             => array( '1', 'גרונטסארטיר:', 'מיון רגיל:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DEFAULTCATEGORYSORT:' ),
        'hiddencat'               => array( '1', '__באהאלטענע_קאטעגאריע__', '__באהאלטענע_קאט__', '__קטגוריה_מוסתרת__', '__HIDDENCAT__' ),
        'pagesize'                => array( '1', 'בלאטגרייס', 'גודל דף', 'PAGESIZE' ),
@@ -1137,6 +1142,8 @@ $1",
 
 # Diffs
 'history-title' => 'רעוויזיע היסטאריע פֿון $1',
+'difference-title' => 'אונטערשייד צווישן ווערסיעס פון "$1"',
+'difference-title-multipage' => 'אונטערשייד צווישן בלעטער "$1" און "$2"',
 'difference-multipage' => '(אונטערשייד צווישן בלעטער)',
 'lineno' => 'שורה $1:',
 'compareselectedversions' => 'פארגלייך סעלעקטירטע ווערסיעס',
@@ -1234,6 +1241,7 @@ $1",
 'prefs-beta' => 'בעטאַ אייגנשאַפֿטן',
 'prefs-datetime' => 'דאטום און צייט',
 'prefs-labs' => 'לאַבאראַטאריע מעגלעכקייטן',
+'prefs-user-pages' => 'באניצער בלעטער',
 'prefs-personal' => 'באַנוצער פראָפֿיל',
 'prefs-rc' => 'לעצטע ענדערונגען',
 'prefs-watchlist' => 'אויפפאסונג ליסטע',
@@ -1399,8 +1407,10 @@ $1",
 'right-reupload' => 'איבערשרײַבן עקסיסטירנדע טעקע',
 'right-reupload-own' => "איבערשרײַבן עקזיסטירנדע טעקעס וואָס מ'האט אַליין אַרויפֿגעלאָדן",
 'right-upload_by_url' => 'ארויפֿלאָדן טעקעס פֿון אַ URL',
+'right-purge' => 'ליידיקן דעם זייטל־זאפאס פאר א בלאט אן באשטעטיקונג',
 'right-autoconfirmed' => 'רעדאקטירן האלב-געשיצטע בלעטער',
 'right-bot' => 'באַהאַנדלונג ווי אַן אויטאמאַטישער פראצעס',
+'right-nominornewtalk' => 'מינערדיקע רעדאקטירונגען צו שמועס בלעטער זאלן נישט שאפן די "נייע מודעות" מעלדונג',
 'right-writeapi' => 'ניצן דעם שרײַבן API',
 'right-delete' => 'מעקן בלעטער',
 'right-bigdelete' => 'אויסמעקן בלעטער מיט לאַנגע היסטאריעס',
@@ -1483,7 +1493,7 @@ $1",
 'nchanges' => '{{PLURAL:$1|ענדערונג|$1 ענדערונגען}}',
 'recentchanges' => 'לעצטע ענדערונגען',
 'recentchanges-legend' => 'ברירות פאר לעצטע ענדערונגען',
-'recentchangestext' => 'גיי נאך די לעצטע ענדערונגען צו דער וויקי אויף דעם בלאט.',
+'recentchanges-summary' => 'גיי נאך די לעצטע ענדערונגען צו דער וויקי אויף דעם בלאט.',
 'recentchanges-feed-description' => 'גייט נאך די לעצטע ענדערונגען צו דער וויקי אין דעם בלאט.',
 'recentchanges-label-newpage' => 'די רעדאַקטירונג האט באשאפֿן א נײַעם בלאַט',
 'recentchanges-label-minor' => 'דאָס איז אַ מינערדיקע רעדאַקטירונג',
@@ -1535,6 +1545,9 @@ $1",
 'uploadnologintext' => 'איר מוזט זײַן [[Special:UserLogin| אַרײַנלאָָגירט]] כדי ארויפֿצולאָדן טעקעס',
 'upload_directory_read_only' => 'דער וועבסארווער קען נישט שרייבן צום ארויפלאדן ארכיוו "$1".',
 'uploaderror' => 'אַרויפֿלאָדן פֿעלער',
+'upload-recreate-warning' => "'''ווארענונג: א טעקע מיט דעם נאמען איז געווארן אויסגעמעקט אדער באוועגט.'''
+
+דאס אויסמעקן־ און באוועגן־לאגבוך פאר דעם בלאט זענען געוויזן דא:",
 'uploadtext' => "באניצט דעם פֿארעם אַרויפֿצולאָדן טעקעס.
 כדי צו זען אדער זוכן טעקעס וואס זענען שוין אַרויפֿגעלאָדן ווענדט זיך צו דער [[Special:FileList|ליסטע פֿון אַרויפֿגעלאָדענע טעקעס]]; (ווידער)אַרויפֿלאָדונגען ווערן אויך לאגירט אינעם  [[Special:Log/upload| אַרויפֿלאָדן לאג-בוך]], אויסמעקונגען אינעם [[Special:Log/delete|אויסמעקן לאג-בוך]].
 
@@ -1563,6 +1576,8 @@ $1",
 ביטע גיט דער טעקע א נײַעם נאמען און פּרובירט ארויפֿלאָדן נאכאַמאָל.',
 'filename-toolong' => 'טעקע נעמען קען נישט זײַן לענגער ווי 240 בייטן.',
 'badfilename' => 'טעקע נאמען איז געטוישט צו "$1".',
+'filetype-mime-mismatch' => 'טעקע סופֿיקס ".$1" שטימט נישט מיטן MIME טיפ פון דער טעקע($2).',
+'filetype-badmime' => 'טעקעס מיטן  MIME טיפ "$1" טאר מען נישט ארויפלאדן.',
 'filetype-missing' => 'די טעקע האט נישט קיין פארברייטערונג (למשל ".jpg").',
 'empty-file' => 'די טעקע וואָס איר האט אײַנגעגעבן איז ליידיג.',
 'file-too-large' => 'די טעקע וואָס איר האט אײַנגעגעבן איז צו גרויס.',
@@ -1629,6 +1644,7 @@ $1",
 'upload-http-error' => 'א HTTP גרײַז האט פאַסירט: $1',
 
 # File backend
+'backend-fail-stream' => 'קען נישט מאכן שטראמען טעקע $1.',
 'backend-fail-notexists' => 'נישט פֿאראן די טעקע $1.',
 'backend-fail-invalidpath' => '$1 איז נישט קיין גילטיקער שפייכלערן שטעג.',
 'backend-fail-delete' => 'קען נישט אויסמעקן טעקע $1.',
@@ -1640,7 +1656,7 @@ $1",
 'backend-fail-writetemp' => 'קען נישט שרײַבן צו צייַטווייַליקער טעקע.',
 'backend-fail-closetemp' => 'קען נישט שליסן צייַטווייַליקע טעקע.',
 'backend-fail-read' => 'קען נישט ליינען טעקע "$1".',
-'backend-fail-create' => 'קע×\9f × ×\99ש×\98 ×©×\90פֿן טעקע "$1".',
+'backend-fail-create' => 'קע×\9f × ×\99ש×\98 ×©×¨×\99×\99×\91ן טעקע "$1".',
 
 # Lock manager
 'lockmanager-notlocked' => 'מ\'קען נישט אויפֿשליסן "$1"; ער איז נישט פֿארשלאסן.',
@@ -1661,6 +1677,7 @@ $1",
 
 # HTTP errors
 'http-invalid-url' => 'אומגילטיג URL: $1',
+'http-invalid-scheme' => 'URL אדרעסן מיט דער "$1" סכעמע ווערן נישט געשטיצט.',
 'http-request-error' => 'HTTP בקשה דורכגעפאלן צוליב אומבאוואוסטער פעלער.',
 'http-read-error' => 'HTTP לייענען גרײַז.',
 'http-timed-out' => 'HTTP בקשה אויסגעגאַנגען.',
@@ -1927,6 +1944,7 @@ $1",
 
 # SpecialCachedPage
 'cachedspecial-viewing-cached-ttl' => 'איר באקוקט א ווערסיע פון דעם בלאט פונעם זאפאס, וואס קען אבער זיין  פֿארעלטערט ביז $1.',
+'cachedspecial-refresh-now' => 'באקוקן די לעצטע.',
 
 # Special:Categories
 'categories' => 'קאַטעגאָריעס',
index f3a674c..71d9673 100644 (file)
@@ -214,7 +214,7 @@ $messages = array(
 'vector-view-create' => "Ṣ'èdá",
 'vector-view-edit' => 'Àtúnṣe',
 'vector-view-history' => 'Wo ìtàn',
-'vector-view-view' => 'kà',
+'vector-view-view' => 'Àwòkà',
 'vector-view-viewsource' => 'Wo àmìọ̀rọ̀',
 'actions' => 'Àwọn ìgbéṣe',
 'namespaces' => 'Àwọn orúkọàyè',
@@ -466,8 +466,8 @@ A ti ṣ'èdá àpamọ́ yín.
 'loginprompt' => 'Ẹ gbọ́dọ̀ jọ̀wọ́ cookies láti wọlé sí {{SITENAME}}.',
 'userlogin' => 'Ìwọlé / ìforúkọ sílẹ̀',
 'userloginnocreate' => 'Ìwọlé',
-'logout' => 'Ìbọ́sóde',
-'userlogout' => 'Ìbọ́sóde',
+'logout' => 'Ìde',
+'userlogout' => 'Ìde',
 'notloggedin' => "Ẹ kò tí w'ọlé",
 'nologin' => "Ṣé ẹ fẹ́ wọlé? '''$1'''.",
 'nologinlink' => 'Ìforúkọsílẹ̀',
@@ -1363,7 +1363,7 @@ Tí ẹ bá fisílẹ̀ a ó lòó láti tóka iṣẹ́ yín fún yín.',
 'nchanges' => '{{PLURAL:$1|àtúnṣe|àwọn àtúnṣe}} $1',
 'recentchanges' => 'Àwọn àtúnṣe tuntun',
 'recentchanges-legend' => 'Àwọn àṣàyàn fún àtúnṣe tuntun',
-'recentchangestext' => 'Ẹ tẹ̀ lé àwọn àtúnṣe tuntun sí wiki lórí ojúewé yìí.',
+'recentchanges-summary' => 'Ẹ tẹ̀ lé àwọn àtúnṣe tuntun sí wiki lórí ojúewé yìí.',
 'recentchanges-feed-description' => 'Ẹ tẹ̀ lé àwọn àtúnṣe àìpẹ́ ọjọ́ sí wiki nínú àkótán feed yìí.',
 'recentchanges-label-newpage' => 'Àtúnṣe yìí dá ojúewé tuntun',
 'recentchanges-label-minor' => 'Àtùnṣe kékeré nìyí',
@@ -1564,7 +1564,7 @@ Tí ìṣòro náà ò bá jáwọ́, ẹ bẹ [[Special:ListUsers/sysop|olùmó
 'backend-fail-writetemp' => 'Kò le kọ sínú fáìlì onígbàdíẹ̀.',
 'backend-fail-closetemp' => 'Kò le de fáìlì onígbàdíẹ̀.',
 'backend-fail-read' => 'Kò le ka fáìlì "$1".',
-'backend-fail-create' => 'Kò le dá fáìlì "$1".',
+'backend-fail-create' => 'Kò le kọ fáìlì $1.',
 
 # Lock manager
 'lockmanager-notlocked' => 'Kò le sí àgádágodo "$1" sílẹ̀; kò jẹ́ dídè.',
@@ -2538,7 +2538,7 @@ kò le yípò ojúewé padà sí ara rẹ̀.',
 'tooltip-pt-mycontris' => 'Àkójọ àwọn àfikún yín',
 'tooltip-pt-login' => 'A gbà yín níyànjú kí ẹwọlé, bótilẹ̀jẹ́pẹ́ kò pọndandan.',
 'tooltip-pt-anonlogin' => 'A gbàyín níyànjú láti wọlé, bótilẹ̀jẹ́pé kò ṣe dandan.',
-'tooltip-pt-logout' => 'Ìbọ́sódé',
+'tooltip-pt-logout' => 'Ìjáde',
 'tooltip-ca-talk' => 'Ìfọ̀rọ̀wérọ̀ nípa ohun inú ojúewé yìí',
 'tooltip-ca-edit' => 'Ẹ le ṣe àtúnṣe sí ojúewé yìí.
 Ẹ jọ̀wọ́ ẹ lo bọtini àyẹ̀wò kí ẹ tó fipamọ́.',
index 2eb7a06..ea1a0a6 100644 (file)
@@ -1446,7 +1446,7 @@ $1",
 'nchanges' => '$1次更改',
 'recentchanges' => '最近更改',
 'recentchanges-legend' => '最近更改選項',
-'recentchangestext' => '追蹤對哩一個 wiki 嘅最後更改。',
+'recentchanges-summary' => '追蹤對哩一個 wiki 嘅最後更改。',
 'recentchanges-feed-description' => '追蹤對哩一個 wiki 度呢個集合嘅最後更改。',
 'recentchanges-label-newpage' => '呢次編輯開咗一個新版',
 'recentchanges-label-minor' => '呢個係一個細編輯',
index 6fde574..a326277 100644 (file)
@@ -960,7 +960,7 @@ Een nie anekruusd vienkvakje beteêken da de gebruker hin lid is van de hroep.",
 'nchanges' => '$1 {{PLURAL:$1|bewerkieng|bewerkiengen}}',
 'recentchanges' => 'Juust angepast',
 'recentchanges-legend' => 'Opties vò juust angepast',
-'recentchangestext' => 'Bekiek wat-a juust veranderd is op deêze wiki.',
+'recentchanges-summary' => 'Bekiek wat-a juust veranderd is op deêze wiki.',
 'recentchanges-feed-description' => 'Bekiek wat-a juust veranderd is op deêze wiki.',
 'recentchanges-label-newpage' => "Mei deêze bewarkienge is 'n nuwe pagina angemaekt",
 'recentchanges-label-minor' => 'Dit is een kleine wieziging',
index 3572e30..6e6ad18 100644 (file)
@@ -173,21 +173,8 @@ $specialPageAliases = array(
 );
 
 $messages = array(
-# User preference toggles
-'tog-norollbackdiff' => '進行回退後略過差異比較',
-
-'newpage' => '最新页面',
-
-# Edit pages
-'editing' => '正在编辑 $1',
-
-# Miscellaneous special pages
-'newpages' => '最新页面',
-
 /*
 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' => '简体',
index 9f918b2..c794002 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Simplified Chinese (‪中文(简体)‬)
+/** Simplified Chinese (‪中文(简体)‬)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -15,6 +15,7 @@
  * @author Chenxiaoqino
  * @author Chenzw
  * @author Chinalace
+ * @author Dimension
  * @author Dingyuang
  * @author Fantasticfears
  * @author Fengchao
@@ -111,6 +112,7 @@ $specialPageAliases = array(
        'Allmessages'               => array( '所有信息' ),
        'Allpages'                  => array( '所有页面' ),
        'Ancientpages'              => array( '最早页面' ),
+       'Badtitle'                  => array( '无效标题' ),
        'Blankpage'                 => array( '空白页面' ),
        'Block'                     => array( '封禁用户' ),
        'Blockme'                   => array( '自我封禁' ),
@@ -135,6 +137,7 @@ $specialPageAliases = array(
        'Filepath'                  => array( '文件路径' ),
        'Import'                    => array( '导入页面' ),
        'Invalidateemail'           => array( '无效电邮地址' ),
+       'JavaScriptTest'            => array( 'JavaScript测试' ),
        'BlockList'                 => array( '封禁列表' ),
        'LinkSearch'                => array( '搜索网页链接' ),
        'Listadmins'                => array( '管理员列表' ),
@@ -159,7 +162,7 @@ $specialPageAliases = array(
        'Mycontributions'           => array( '我的贡献' ),
        'Mypage'                    => array( '我的用户页' ),
        'Mytalk'                    => array( '我的讨论页' ),
-       'Myuploads'                 => array( '我上传的文件', '我的上传' ),
+       'Myuploads'                 => array( '我上传的文件' ),
        'Newimages'                 => array( '新建文件' ),
        'Newpages'                  => array( '新建页面' ),
        'PasswordReset'             => array( '重设密码' ),
@@ -173,7 +176,7 @@ $specialPageAliases = array(
        'Randomredirect'            => array( '随机重定向页' ),
        'Recentchanges'             => array( '最近更改' ),
        'Recentchangeslinked'       => array( '链出更改' ),
-       'Revisiondelete'            => array( '删除或恢复版本' ),
+       'Revisiondelete'            => array( '删除或恢复修订' ),
        'RevisionMove'              => array( '修订版本移动' ),
        'Search'                    => array( '搜索' ),
        'Shortpages'                => array( '短页面' ),
@@ -203,7 +206,7 @@ $specialPageAliases = array(
        'Wantedtemplates'           => array( '需要的模板' ),
        'Watchlist'                 => array( '监视列表' ),
        'Whatlinkshere'             => array( '链入页面' ),
-       'Withoutinterwiki'          => array( '无跨Wiki链接的页面', '无跨维基链接页面' ),
+       'Withoutinterwiki'          => array( '无跨维基链接页面' ),
 );
 
 $magicWords = array(
@@ -220,6 +223,7 @@ $magicWords = array(
        'currentday'              => array( '1', '今天', 'CURRENTDAY' ),
        'currentday2'             => array( '1', '今天2', 'CURRENTDAY2' ),
        'currentyear'             => array( '1', '今年', 'CURRENTYEAR' ),
+       'currenttime'             => array( '1', '此时', '当前时间', 'CURRENTTIME' ),
        'numberofpages'           => array( '1', '页数', 'NUMBEROFPAGES' ),
        'numberofarticles'        => array( '1', '条目数', 'NUMBEROFARTICLES' ),
        'numberoffiles'           => array( '1', '文件数', 'NUMBEROFFILES' ),
@@ -228,6 +232,11 @@ $magicWords = array(
        'numberofedits'           => array( '1', '编辑数', 'NUMBEROFEDITS' ),
        'numberofviews'           => array( '1', '访问数', 'NUMBEROFVIEWS' ),
        'pagename'                => array( '1', '页名', 'PAGENAME' ),
+       'fullpagename'            => array( '1', '全页名', 'FULLPAGENAME' ),
+       'newsectionlink'          => array( '1', '_新段落链接_', '__NEWSECTIONLINK__' ),
+       'nonewsectionlink'        => array( '1', '_无新段落链接_', '__NONEWSECTIONLINK__' ),
+       'language'                => array( '0', '#语言:', '#LANGUAGE:' ),
+       'pagesize'                => array( '1', '页面大小', 'PAGESIZE' ),
 );
 
 $linkTrail = '/^()(.*)$/sD';
@@ -622,7 +631,7 @@ $1',
 'viewsource' => '查看源代码',
 'viewsource-title' => '查看$1的源代码',
 'actionthrottled' => '操作被限制',
-'actionthrottledtext' => '基于反垃圾链接的考量,您被限制在短时间内多次重复该操作,但您已超过此上限。请在数分钟后再尝试。',
+'actionthrottledtext' => '基于反垃圾的考量,您被限制在短时间内多次重复该操作,但您已超过此上限。请在数分钟后再尝试。',
 'protectedpagetext' => '该页面已被保护以防止编辑。',
 'viewsourcetext' => '您可以查看并复制此页面的源代码:',
 'viewyourtext' => "您可以查看并复制'''您对此页面作出编辑后'''的源代码:",
@@ -668,7 +677,7 @@ $2',
 'logout' => '退出',
 'userlogout' => '退出',
 'notloggedin' => '未登录',
-'nologin' => '你还没有账户吗?$1。',
+'nologin' => '没有账户?$1。',
 'nologinlink' => '创建账户',
 'createaccount' => '创建账户',
 'gotaccount' => '已经拥有账户?请$1。',
@@ -688,7 +697,7 @@ $2',
 'loginsuccesstitle' => '登录成功',
 'loginsuccess' => "'''“$1”,欢迎登录{{SITENAME}}。'''",
 'nosuchuser' => '找不到用户“$1”。用户名是大小写敏感且区分繁简体的。请检查您的拼写,或者[[Special:UserLogin/signup|建立一个新账户]]。',
-'nosuchusershort' => '没有一个名为“$1”的用户。请检查您输入的文字是否有错误。',
+'nosuchusershort' => '没有名为“$1”的用户。请检查您输入的文字是否有错误。',
 'nouserspecified' => '你需要指定一个用户名。',
 'login-userblocked' => '该用户已被封禁,禁止登录。',
 'wrongpassword' => '您输入的密码错误,请再试一次。',
@@ -863,13 +872,14 @@ $2
 'accmailtext' => "'$1'的密码已经被发送到$2。",
 'newarticle' => '(新页面)',
 'newarticletext' => '您进入了一个尚未创建的页面。
-要创建该页面,请在下面的编辑框中输入内容(详情参见[[{{MediaWiki:Helppage}}|帮助]])。
-如果您是不小心来到此页面,直接点击您浏览器中的“返回”按钮返回。',
+要创建该页面,请在下面的编辑框中输入内容(详情参见[[{{MediaWiki:Helppage}}|帮助]])。
+如果您误入此页,请点击浏览器中的“返回”按钮。',
 'anontalkpagetext' => "---- ''这是一个还未建立账户的匿名用户的讨论页, 因此我们只能用IP地址来与他或她联络。该IP地址可能由几名用户共享。如果您是一名匿名用户并认为此页上的评语与您无关,请[[Special:UserLogin/signup|创建新账户]]或[[Special:UserLogin|登录]]以避免在未来与其他匿名用户混淆。''",
 'noarticletext' => '本页面目前没有内容。你可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索该页标题]]、<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 编辑本页面]。</span>',
 'noarticletext-nopermission' => '此页目前没有内容,您可以在其它页[[Special:Search/{{PAGENAME}}|搜索此页标题]],
 或<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索有关日志]</span>。',
-'userpage-userdoesnotexist' => '用户账户“<nowiki>$1</nowiki>”未曾创建。请在创建/编辑这个页面前先检查一下。',
+'userpage-userdoesnotexist' => '用户账户"$1"未注册。
+请在创建/编辑该页之前进行核对。',
 'userpage-userdoesnotexist-view' => '用户账户“$1”未曾创建。',
 'blocked-notice-logextract' => '这位用户目前已被封禁。以下提供最近的封禁日志以供参考:',
 'clearyourcache' => "'''注意:在保存以后,您必须绕过浏览器缓存才能看到所作出的改变。'''
@@ -900,8 +910,9 @@ $2
 ''由于{{SITENAME}}允许使用原始的 HTML,为了防范 JavaScript 攻击,预览已被隐藏。''
 
 '''如果这是一次合法的编辑,请重新进行尝试。'''如果还不行,请[[Special:UserLogout|退出]]并重新登录。",
-'token_suffix_mismatch' => "'''由于您用户端中的编辑令牌毁损了一些标点符号字元,为防止编辑的文字损坏,您的编辑已经被拒绝。'''
-这种情况通常出现于使用含有很多臭虫、以网络为主的匿名代理服务的时候。",
+'token_suffix_mismatch' => "'''由于您用户端中的编辑令牌毁损了一些标点符号字元,您的编辑已经被拒绝。'''
+此次编辑被拒绝以防止页面文本损坏。
+这种情况通常在您使用含有故障的网页式匿名代理服务的时候出现。",
 'edit_form_incomplete' => "'''编辑表单的某些部分没有到达服务器 ;请检查您的编辑内容是否完整并再试一次。'''",
 'editing' => '编辑“$1”',
 'creating' => '创建 $1',
@@ -957,7 +968,7 @@ $2
 你应该考虑继续编辑本页是否合适。这里提供本页的删除和移动记录以供参考:",
 'moveddeleted-notice' => '本页面已被删除。下面提供本页的删除和移动日志以供参考。',
 'log-fulllog' => '查看完整日志',
-'edit-hook-aborted' => '编辑被取消。
+'edit-hook-aborted' => '编辑被hook指令取消。
 无解释。',
 'edit-gone-missing' => '不能更新页面。
 它可能刚刚被删除。',
@@ -984,6 +995,9 @@ $2
 'node-count-exceeded-category' => '页面的节点数超出限制',
 'node-count-exceeded-warning' => '页面超出了节点数',
 'expansion-depth-exceeded-category' => '扩展深度超出限制的页面',
+'expansion-depth-exceeded-warning' => '页面超过了扩展深度',
+'parser-unstrip-loop-warning' => '检测到回圈',
+'parser-unstrip-recursion-limit' => '递归超过限制 ($1)',
 
 # "Undo" feature
 'undo-success' => '此编辑可以被撤销。请检查以下比较以核实这正是您想做的,然后保存以下更改完成撤销编辑。',
@@ -1074,7 +1088,7 @@ $3的理由是''$2''",
 'revdelete-hide-comment' => '隐藏编辑摘要',
 'revdelete-hide-user' => '隐藏编辑者的用户名/IP地址',
 'revdelete-hide-restricted' => '同时阻止管理员与其他用户查看数据',
-'revdelete-radio-same' => '(勿更改)',
+'revdelete-radio-same' => '(不要更改)',
 'revdelete-radio-set' => '是',
 'revdelete-radio-unset' => '否',
 'revdelete-suppress' => '同时阻止管理员与其他用户查看数据',
@@ -1141,7 +1155,9 @@ $1",
 'mergelogpagetext' => '以下是一个最近由一个页面的修订历史合并到另一个页面的列表。',
 
 # Diffs
-'history-title' => '“$1”的版本历史',
+'history-title' => '$1:版本历史',
+'difference-title' => '$1:修订版本之间的差异',
+'difference-title-multipage' => '页面“$1”与“$2”之间的差异',
 'difference-multipage' => '(页面间的差异)',
 'lineno' => '第$1行:',
 'compareselectedversions' => '对比选择的版本',
@@ -1236,6 +1252,7 @@ $1",
 'prefs-beta' => '测试版特色',
 'prefs-datetime' => '日期和时间',
 'prefs-labs' => '实验室特色',
+'prefs-user-pages' => '用户页面',
 'prefs-personal' => '用户资料',
 'prefs-rc' => '最近更改',
 'prefs-watchlist' => '监视列表',
@@ -1495,7 +1512,7 @@ $1",
 'nchanges' => '$1次更改',
 'recentchanges' => '最近更改',
 'recentchanges-legend' => '最近更改选项',
-'recentchangestext' => '本页面跟踪本wiki的最近更改。',
+'recentchanges-summary' => '跟踪这个wiki上的最新更改。',
 'recentchanges-feed-description' => '跟踪订阅本wiki的最近更改。',
 'recentchanges-label-newpage' => '这次编辑建立了一个新页面',
 'recentchanges-label-minor' => '这是一个小编辑',
@@ -1681,14 +1698,15 @@ $1',
 'backend-fail-writetemp' => '无法写临时文件。',
 'backend-fail-closetemp' => '无法创建临时文件。',
 'backend-fail-read' => '找不到文件“$1”。',
-'backend-fail-create' => 'æ\89¾ä¸\8då\88°æ\96\87件â\80\9c$1â\80\9d。',
-'backend-fail-maxsize' => 'æ\97 æ³\95å\88\9b建文件 $1,因为它大于$2字节。',
+'backend-fail-create' => 'æ\97 æ³\95å\86\99å\85¥æ\96\87件 $1 。',
+'backend-fail-maxsize' => 'æ\97 æ³\95å\86\99å\85¥文件 $1,因为它大于$2字节。',
 'backend-fail-readonly' => '“$1”存储后端目前在只读模式,因为:“$2”',
 'backend-fail-synced' => '文件"$1"在内部存储后端之中处于不一致状态',
 'backend-fail-connect' => '无法连接到存储后端“$1。',
 'backend-fail-internal' => '存储后端“$1”发生了一个未知错误。',
 'backend-fail-contenttype' => '无法判断文件的内容类型来储存于“$1”。',
 'backend-fail-batchsize' => '存储后端被给予了一批$1个文件{{PLURAL:$1|操作|操作}};限值为$2个{{PLURAL:$2|操作|操作}}。',
+'backend-fail-usable' => '权限不足或缺少目录/贮存器,无法写入文件$1。',
 
 # File journal errors
 'filejournal-fail-dbconnect' => '无法连接到后端存储的日志数据库“$1”。',
@@ -1748,7 +1766,6 @@ $1',
 'http-curl-error' => '撷取URL时出错:$1',
 'http-host-unreachable' => '无法到达URL。',
 'http-bad-status' => '进行HTTP请求时出现问题:$1 $2',
-'http-truncated-body' => '只收到部分请求的正文。',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => '无法访问URL',
@@ -2094,9 +2111,9 @@ $1',
 'emailuser' => '电邮联系',
 'emailpage' => '电邮联系',
 'emailpagetext' => '您可以用下面的表格去寄一封电邮给这位用户。
-您在[[Special:Preferences|您参数设置]]中所输入的电子邮箱地址将出现在邮件"发件人"一栏中,这样该用户就可以回复您。',
+您在[[Special:Preferences|您的参数设置]]中所输入的电子邮箱地址将出现在邮件“发件人”一栏中,这样该用户就可以回复您。',
 'usermailererror' => 'Mail 对象返回错误:',
-'defemailsubject' => "{{SITENAME}} 来自用户''$1''的电子邮件",
+'defemailsubject' => '{{SITENAME}}来自用户“$1”的电子邮件',
 'usermaildisabled' => '用户电邮已停用',
 'usermaildisabledtext' => '您不可以发送电邮到这个wiki上的其他用户',
 'noemailtitle' => '无电子邮件地址',
@@ -2209,7 +2226,7 @@ $UNWATCHURL
 请确定您要进行此项操作,并且了解其后果,同时您的行为符合[[{{MediaWiki:Policy-url}}]]。',
 'actioncomplete' => '操作完成',
 'actionfailed' => '操作失败',
-'deletedtext' => '"$1"已经被删除。最近删除的记录请参见$2。',
+'deletedtext' => '“$1”已经被删除。最近删除的记录请参见$2。',
 'dellogpage' => '删除日志',
 'dellogpagetext' => '以下是最近的删除的列表。',
 'deletionlog' => '删除记录',
@@ -2431,7 +2448,7 @@ $1',
 ** 恐吓行为/骚扰
 ** 滥用多个账户
 ** 不能接受的用户名',
-'ipb-hardblock' => '防止已登录的用户从该 IP 地址编辑',
+'ipb-hardblock' => '防止已登录的用户从该IP地址编辑',
 'ipbcreateaccount' => '阻止创建新账号',
 'ipbemailban' => '阻止用户发送电邮',
 'ipbenableautoblock' => '自动封禁该用户最后使用的IP地址,以及他们随后试图用于编辑的所有IP地址',
@@ -3507,6 +3524,7 @@ $5
 
 # Separators for various lists, etc.
 'comma-separator' => '、',
+'colon-separator' => ':',
 'word-separator' => '',
 'parentheses' => '($1)',
 
index bf5d0b0..b013296 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-/** Traditional Chinese (‪中文(繁體)‬)
+/** Traditional Chinese (‪中文(繁體)‬)
  *
  * See MessagesQqq.php for message documentation incl. usage of parameters
  * To improve a translation please visit http://translatewiki.net
@@ -799,18 +799,15 @@ $2
 'summary-preview' => '摘要預覽:',
 'subject-preview' => '主題/標題預覽:',
 'blockedtitle' => '用戶被查封',
-'blockedtext' => "{{GENDER:|你|妳|你}}的用戶名或IP地址已經被$1查封。
+'blockedtext' => "'''您的用戶名或IP地址已被封禁。'''
 
-這次查封是由$1所封的。當中的原因是''$2''。
+此次封禁操作由$1完成,封禁原因爲''$2''。
 
-* 這次查封開始的時間是:$8
-* 這次查封到期的時間是:$6
-* 對於被查封者:$7
-
-{{GENDER:|你|妳|你}}可以聯絡$1或者其他的[[{{MediaWiki:Grouppage-sysop}}|管理員]],討論這次查封。
-除非{{GENDER:|你|妳|你}}已經在{{GENDER:|你|妳|你}}的[[Special:Preferences|賬號參數設置]]中設定了一個有效的電子郵件地址,否則{{GENDER:|你|妳|你}}是不能使用「電郵這位用戶」的功能。當設定了一個有效的電子郵件地址後,這個功能是不會封鎖的。
+* 起始時間:$8
+* 終止時間:$6
+* 擬封禁對象:$7
 
-{{GENDER:|你|妳|你}}目前的IP地址是$3,而該查封ID是 #$5。 請在{{GENDER:|你|妳|你}}的查詢中註明以上所有的資料。",
+您可以聯繫$1或其他的[[{{MediaWiki:Grouppage-sysop}}|管理員]]討論此次封禁。若您已在[[Special:Preferences|帳號設置]]中配置了一個有效的電子郵件地址,且未被封禁電子郵件功能,則您可通過“發送電子郵件給這位用戶”功能來聯絡相關管理員。您當前的IP地址是$3,此次封禁的ID爲#$5。請在您的查詢中註明上述所有信息。",
 'autoblockedtext' => "{{GENDER:|你|妳|你}}的IP地址已經被自動查封,由於先前的另一位用戶被$1所查封。
 而查封的原因是:
 
@@ -971,6 +968,8 @@ $2
 'node-count-exceeded-warning' => '頁面超出節點數',
 'expansion-depth-exceeded-category' => '擴展深度超出限制的頁面',
 'expansion-depth-exceeded-warning' => '頁面超出擴展深度',
+'parser-unstrip-loop-warning' => '檢測到迴圈',
+'parser-unstrip-recursion-limit' => '遞歸超過限制 ($1)',
 
 # "Undo" feature
 'undo-success' => '該編輯可以被撤銷。請檢查以下對比以核實這正是您想做的,然後儲存以下更改以完成撤銷編輯。',
@@ -1062,7 +1061,7 @@ $2
 'revdelete-hide-comment' => '隱藏編輯摘要',
 'revdelete-hide-user' => '隱藏編輯者的用戶名/IP地址',
 'revdelete-hide-restricted' => '同時廢止由操作員以及其他用戶的資料',
-'revdelete-radio-same' => '(勿更改)',
+'revdelete-radio-same' => '(不要更改)',
 'revdelete-radio-set' => '是',
 'revdelete-radio-unset' => '否',
 'revdelete-suppress' => '同時廢止由操作員以及其他用戶的資料',
@@ -1129,9 +1128,9 @@ $1",
 'mergelogpagetext' => '以下是一個最近由一個頁面的修訂歷史合併到另一個頁面的列表。',
 
 # Diffs
-'history-title' => '「$1」的修訂歷史',
-'difference-title' => '"$1"修訂版本之間的差異',
-'difference-title-multipage' => '"$1"和"$2"頁面之間的差異',
+'history-title' => '$1:修訂歷史',
+'difference-title' => '$1:修訂版本之間的差異',
+'difference-title-multipage' => '"$1"和"$2"頁面之間的差異',
 'difference-multipage' => '(頁面間的差異)',
 'lineno' => '第$1行:',
 'compareselectedversions' => '比較選定的修訂版本',
@@ -1226,6 +1225,7 @@ $1",
 'prefs-beta' => 'Beta 特性',
 'prefs-datetime' => '日期和時間',
 'prefs-labs' => '實驗中的功能',
+'prefs-user-pages' => '用戶頁面',
 'prefs-personal' => '用戶資料',
 'prefs-rc' => '最近更改',
 'prefs-watchlist' => '監視列表',
@@ -1487,7 +1487,7 @@ $1",
 'nchanges' => '$1次更改',
 'recentchanges' => '近期變動',
 'recentchanges-legend' => '最近更改選項',
-'recentchangestext' => '跟蹤這個wiki上的最新更改。',
+'recentchanges-summary' => '跟蹤這個wiki上的最新更改。',
 'recentchanges-feed-description' => '追蹤此訂閱在 wiki 上的最近更改。',
 'recentchanges-label-newpage' => '這次編輯建立了一個新頁面',
 'recentchanges-label-minor' => '這是一個小編輯',
@@ -1672,14 +1672,15 @@ $1',
 'backend-fail-writetemp' => '無法寫臨時文件。',
 'backend-fail-closetemp' => '無法創建臨時文件。',
 'backend-fail-read' => '找不到文件“$1”。',
-'backend-fail-create' => '找不到「$1」檔案。',
-'backend-fail-maxsize' => 'ç\84¡æ³\95å\89µå»º檔𣗈$1​​,因為它大於$2字節。',
+'backend-fail-create' => '無法寫入檔案  $1。',
+'backend-fail-maxsize' => 'ç\84¡æ³\95寫å\85¥檔𣗈$1​​,因為它大於$2字節。',
 'backend-fail-readonly' => '「$1」儲存後端目前是唯讀模式,因為:「$2」',
 'backend-fail-synced' => '文件"$1"在內部存儲後端是不一致的區域。',
 'backend-fail-connect' => '無法連結至存儲後方“$1”。',
 'backend-fail-internal' => '存儲後方“$1”發生了一個未知錯誤。',
 'backend-fail-contenttype' => '無法確定檔案的內容類型以存儲於“$1”。',
 'backend-fail-batchsize' => '存儲後端被給予了$1次檔𣗈 {{PLURAL:$1|操作|操作}} ;限制是$2次{{PLURAL:$2|操作|操作}}。',
+'backend-fail-usable' => '由於沒有足夠的權限或缺少路徑/容器,所以無法寫入檔𣗈 $1 。',
 
 # File journal errors
 'filejournal-fail-dbconnect' => '無法連接到後端存儲的日誌資料庫" $1 "。',
@@ -1742,7 +1743,6 @@ $1',
 'http-curl-error' => '擷取URL時出錯:$1',
 'http-host-unreachable' => '無法到達URL。',
 'http-bad-status' => '進行HTTP請求時出現問題:$1 $2',
-'http-truncated-body' => '只收到部分請求的正文。',
 
 # Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
 'upload-curl-error6' => '無法訪問 URL',
@@ -2097,9 +2097,9 @@ Template:消除歧義',
 'emailuser' => 'E-mail該用戶',
 'emailpage' => 'E-mail用戶',
 'emailpagetext' => '您可以用下面的表格去寄一封電郵給這位用戶。
-您在[[Special:Preferences|您參數設置]]中所輸入的e-mail地址將出現在郵件「發件人」一欄中,這樣該用戶就可以回覆您。',
+您在[[Special:Preferences|您的參數設置]]中所輸入的電子郵件地址將出現在郵件「發件人」一欄中,這樣該用戶就可以回覆您。',
 'usermailererror' => '目標郵件地址返回錯誤:',
-'defemailsubject' => '{{SITENAME}}用戶 $1 發送電子郵件',
+'defemailsubject' => '{{SITENAME}}來自用戶“$1”的電子郵件',
 'usermaildisabled' => '用戶電郵已停用',
 'usermaildisabledtext' => '您不可以發送電郵到這個wiki上的其他用戶',
 'noemailtitle' => '無e-mail地址',
@@ -3535,6 +3535,7 @@ $5
 
 # Separators for various lists, etc.
 'comma-separator' => '、',
+'colon-separator' => ':',
 'word-separator' => '',
 'parentheses' => '($1)',
 
index 2fa637a..4c72080 100644 (file)
--- a/load.php
+++ b/load.php
@@ -20,7 +20,6 @@
  * @file
  * @author Roan Kattouw
  * @author Trevor Parscal
- *
  */
 
 // Bail if PHP is too low
index 529e7f7..728530f 100644 (file)
--- a/load.php5
+++ b/load.php5
@@ -1 +1,24 @@
-<?php require './load.php';
\ No newline at end of file
+<?php
+/**
+ * Version of load.php to used in web server requiring .php5 extension
+ * to execute scripts with PHP5 egine.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+require './load.php';
diff --git a/maintenance/benchmarks/bench_utf8_title_check.php b/maintenance/benchmarks/bench_utf8_title_check.php
new file mode 100644 (file)
index 0000000..2e4b902
--- /dev/null
@@ -0,0 +1,107 @@
+<?php
+/**\r
+ * @file\r
+ * @ingroup Benchmark\r
+ */\r
+\r
+require_once( dirname( __FILE__ ) . '/Benchmarker.php' );\r
+
+/**
+ * This little benchmark executes the regexp used in Language->checkTitleEncoding() and compares its execution time
+ * against that of mb_check_encoding, if available.
+ */\r
+class bench_utf8_title_check extends Benchmarker {
+
+       private $canRun;
+
+       private $data;
+
+       public function __construct() {\r
+               parent::__construct();
+
+               $this->data = array (
+                       "",
+                       "United States of America", // 7bit ASCII
+                       "S%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e",
+                       "Acteur%7CAlbert%20Robbins%7CAnglais%7CAnn%20Donahue%7CAnthony%20E.%20Zuiker%7CCarol%20Mendelsohn",
+                       // This comes from bug 36839
+                       "Acteur%7CAlbert%20Robbins%7CAnglais%7CAnn%20Donahue%7CAnthony%20E.%20Zuiker%7CCarol%20Mendelsohn%7C"
+                       . "Catherine%20Willows%7CDavid%20Hodges%7CDavid%20Phillips%7CGil%20Grissom%7CGreg%20Sanders%7CHodges%7C"
+                       . "Internet%20Movie%20Database%7CJim%20Brass%7CLady%20Heather%7C"
+                       . "Les%20Experts%20(s%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e)%7CLes%20Experts%20:%20Manhattan%7C"
+                       . "Les%20Experts%20:%20Miami%7CListe%20des%20personnages%20des%20Experts%7C"
+                       . "Liste%20des%20%C3%A9pisodes%20des%20Experts%7CMod%C3%A8le%20discussion:Palette%20Les%20Experts%7C"
+                       . "Nick%20Stokes%7CPersonnage%20de%20fiction%7CPersonnage%20fictif%7CPersonnage%20de%20fiction%7C"
+                       . "Personnages%20r%C3%A9currents%20dans%20Les%20Experts%7CRaymond%20Langston%7CRiley%20Adams%7C"
+                       . "Saison%201%20des%20Experts%7CSaison%2010%20des%20Experts%7CSaison%2011%20des%20Experts%7C"
+                       . "Saison%2012%20des%20Experts%7CSaison%202%20des%20Experts%7CSaison%203%20des%20Experts%7C"
+                       . "Saison%204%20des%20Experts%7CSaison%205%20des%20Experts%7CSaison%206%20des%20Experts%7C"
+                       . "Saison%207%20des%20Experts%7CSaison%208%20des%20Experts%7CSaison%209%20des%20Experts%7C"
+                       . "Sara%20Sidle%7CSofia%20Curtis%7CS%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e%7CWallace%20Langham%7C"
+                       . "Warrick%20Brown%7CWendy%20Simms%7C%C3%89tats-Unis"
+               );
+
+               $this->canRun = function_exists ( 'mb_check_encoding' );
+
+               if ( $this->canRun ) {\r
+                       $this->mDescription = "Benchmark for using a regexp vs. mb_check_encoding to check for UTF-8 encoding.";
+                       mb_internal_encoding( 'UTF-8' );
+               } else {
+                       $this->mDescription = "CANNOT RUN benchmark using mb_check_encoding: function not available.";
+               }\r
+       }\r
+\r
+       public function execute() {
+               if ( !$this->canRun ) {
+                       return;
+               }
+               $benchmarks = array();
+               foreach ($this->data as $val) {
+                       $benchmarks[] = array(
+                               'function' => array( $this, 'use_regexp' ),
+                               'args' => array( rawurldecode ( $val ) )
+                       );
+                       $benchmarks[] = array(
+                               'function' => array( $this, 'use_regexp_non_capturing' ),
+                               'args' => array( rawurldecode ( $val ) )
+                       );
+                       $benchmarks[] = array(
+                               'function' => array( $this, 'use_regexp_once_only' ),
+                               'args' => array( rawurldecode ( $val ) )
+                       );
+                       $benchmarks[] = array(\r
+                               'function' => array( $this, 'use_mb_check_encoding' ),\r
+                               'args' => array( rawurldecode ( $val ) )\r
+                       );
+               }\r
+               $this->bench( $benchmarks );
+               print $this->getFormattedResults();\r
+       }\r
+
+       private $isutf8;
+\r
+       function use_regexp( $s ) {
+               $this->isutf8 = preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
+                               '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );\r
+       }\r
+\r
+       function use_regexp_non_capturing( $s ) {
+               // Same as above with a non-capturing subgroup.
+               $this->isutf8 = preg_match( '/^(?:[\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
+                               '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
+       }
+
+       function use_regexp_once_only( $s ) {
+               // Same as above with a once-only subgroup.
+               $this->isutf8 = preg_match( '/^(?>[\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
+                               '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s );
+       }
+
+       function use_mb_check_encoding( $s ) {\r
+               $this->isutf8 = mb_check_encoding( $s, 'UTF-8' );\r
+       }\r
+\r
+}\r
+\r
+$maintClass = 'bench_utf8_title_check';\r
+require_once( RUN_MAINTENANCE_IF_MAIN );\r
index 6a99554..bca4c34 100644 (file)
@@ -123,6 +123,7 @@ $wgIgnoredMessages = array(
        'pubmedurl',
        'randompage-url',
        'recentchanges-url',
+       'recentchangestext',
        'revision-info-current',
        'revision-nav',
        'rfcurl',
@@ -451,6 +452,7 @@ $wgOptionalMessages = array(
        'ellipsis',
        'percent',
        'parentheses',
+       'brackets',
        'autocomment-prefix',
        'listgrouprights-right-display',
        'listgrouprights-right-revoked',
@@ -469,6 +471,8 @@ $wgOptionalMessages = array(
        'nocookiesforlogin',
        'version-entrypoints-articlepath',
        'version-entrypoints-scriptpath',
+       'mergehistory-revisionrow',
+       'categoryviewer-pagedlinks',
 );
 
 /** EXIF messages, which may be set as optional in several checks, but are generally mandatory */
index 6bf74b5..d5ec209 100644 (file)
@@ -157,6 +157,7 @@ $wgMessageStructure = array(
                'index-category',
                'noindex-category',
                'broken-file-category',
+               'categoryviewer-pagedlinks',
        ),
        'mainpage' => array(
                'linkprefix',
@@ -832,7 +833,8 @@ $wgMessageStructure = array(
                'mergehistory-autocomment',
                'mergehistory-comment',
                'mergehistory-same-destination',
-               'mergehistory-reason'
+               'mergehistory-reason',
+               'mergehistory-revisionrow'
        ),
        'mergelog' => array(
                'mergelog',
@@ -948,6 +950,7 @@ $wgMessageStructure = array(
                'prefs-beta',
                'prefs-datetime',
                'prefs-labs',
+               'prefs-user-pages',
                'prefs-personal',
                'prefs-rc',
                'prefs-watchlist',
@@ -1213,6 +1216,7 @@ $wgMessageStructure = array(
                'recentchanges',
                'recentchanges-url',
                'recentchanges-legend',
+               'recentchanges-summary',
                'recentchangestext',
                'recentchanges-feed-description',
                'recentchanges-label-newpage',
@@ -1451,7 +1455,6 @@ $wgMessageStructure = array(
                'http-curl-error',
                'http-host-unreachable',
                'http-bad-status',
-               'http-truncated-body',
        ),
 
        'upload-curl-errors' => array(
@@ -3320,6 +3323,7 @@ $wgMessageStructure = array(
                'ellipsis',
                'percent',
                'parentheses',
+               'brackets',
        ),
        'imgmulti' => array(
                'imgmultipageprev',
index 67aa308..ac4e723 100644 (file)
@@ -94,11 +94,12 @@ class nextJobDB extends Maintenance {
                $lb = wfGetLB( $dbName );
                $db = $lb->getConnection( DB_MASTER, array(), $dbName );
                if ( $type === false ) {
-                       $conds = array();
+                       $conds = Job::defaultQueueConditions( );
                } else {
                        $conds = array( 'job_cmd' => $type );
                }
 
+
                $exists = (bool) $db->selectField( 'job', '1', $conds, __METHOD__ );
                $lb->reuseConnection( $db );
                return $exists;
index 54ff247..0847edf 100644 (file)
@@ -50,12 +50,13 @@ class PopulateImageSha1 extends LoggedUpdateMaintenance {
 
        public function doDBUpdates() {
                $method = $this->getOption( 'method', 'normal' );
-               $file = $this->getOption( 'file' );
+               $file = $this->getOption( 'file', '' );
                $force = $this->getOption( 'force' );
+               $isRegen = ( $force || $file != '' ); // forced recalculation?
 
                $t = -microtime( true );
                $dbw = wfGetDB( DB_MASTER );
-               if ( $file ) {
+               if ( $file != '' ) {
                        $res = $dbw->select(
                                'image',
                                array( 'img_name' ),
@@ -82,10 +83,10 @@ class PopulateImageSha1 extends LoggedUpdateMaintenance {
                $oldImageTable = $dbw->tableName( 'oldimage' );
 
                if ( $method == 'pipe' ) {
-                       // Opening a pipe allows the SHA-1 operation to be done in parallel 
+                       // Opening a pipe allows the SHA-1 operation to be done in parallel
                        // with the database write operation, because the writes are queued
-                       // in the pipe buffer. This can improve performance by up to a 
-                       // factor of 2. 
+                       // in the pipe buffer. This can improve performance by up to a
+                       // factor of 2.
                        global $wgDBuser, $wgDBserver, $wgDBpassword, $wgDBname;
                        $cmd = 'mysql -u' . wfEscapeShellArg( $wgDBuser ) .
                                ' -h' . wfEscapeShellArg( $wgDBserver ) .
@@ -109,25 +110,37 @@ class PopulateImageSha1 extends LoggedUpdateMaintenance {
                        // Upgrade the current file version...
                        $sha1 = $file->getRepo()->getFileSha1( $file->getPath() );
                        if ( strval( $sha1 ) !== '' ) { // file on disk and hashed properly
-                               $sql = "UPDATE $imageTable SET img_sha1=" . $dbw->addQuotes( $sha1 ) .
-                                       " WHERE img_name=" . $dbw->addQuotes( $file->getName() );
-                               if ( $method == 'pipe' ) {
-                                       fwrite( $pipe, "$sql;\n" );
+                               if ( $isRegen && $file->getSha1() !== $sha1 ) {
+                                       // The population was probably done already. If the old SHA1
+                                       // does not match, then both fix the SHA1 and the metadata.
+                                       $file->upgradeRow();
                                } else {
-                                       $dbw->query( $sql, __METHOD__ );
+                                       $sql = "UPDATE $imageTable SET img_sha1=" . $dbw->addQuotes( $sha1 ) .
+                                               " WHERE img_name=" . $dbw->addQuotes( $file->getName() );
+                                       if ( $method == 'pipe' ) {
+                                               fwrite( $pipe, "$sql;\n" );
+                                       } else {
+                                               $dbw->query( $sql, __METHOD__ );
+                                       }
                                }
                        }
                        // Upgrade the old file versions...
                        foreach ( $file->getHistory() as $oldFile ) {
                                $sha1 = $oldFile->getRepo()->getFileSha1( $oldFile->getPath() );
                                if ( strval( $sha1 ) !== '' ) { // file on disk and hashed properly
-                                       $sql = "UPDATE $oldImageTable SET oi_sha1=" . $dbw->addQuotes( $sha1 ) .
-                                               " WHERE (oi_name=" . $dbw->addQuotes( $oldFile->getName() ) . " AND" .
-                                               " oi_archive_name=" . $dbw->addQuotes( $oldFile->getArchiveName() ) . ")";
-                                       if ( $method == 'pipe' ) {
-                                               fwrite( $pipe, "$sql;\n" );
+                                       if ( $isRegen && $oldFile->getSha1() !== $sha1 ) {
+                                               // The population was probably done already. If the old SHA1
+                                               // does not match, then both fix the SHA1 and the metadata.
+                                               $oldFile->upgradeRow();
                                        } else {
-                                               $dbw->query( $sql, __METHOD__ );
+                                               $sql = "UPDATE $oldImageTable SET oi_sha1=" . $dbw->addQuotes( $sha1 ) .
+                                                       " WHERE (oi_name=" . $dbw->addQuotes( $oldFile->getName() ) . " AND" .
+                                                       " oi_archive_name=" . $dbw->addQuotes( $oldFile->getArchiveName() ) . ")";
+                                               if ( $method == 'pipe' ) {
+                                                       fwrite( $pipe, "$sql;\n" );
+                                               } else {
+                                                       $dbw->query( $sql, __METHOD__ );
+                                               }
                                        }
                                }
                        }
index 6125fc0..1d8e4c8 100644 (file)
@@ -102,7 +102,8 @@ class PopulateRevisionSha1 extends LoggedUpdateMaintenance {
        protected function doSha1LegacyUpdates() {
                $count = 0;
                $db = $this->getDB( DB_MASTER );
-               $res = $db->select( 'archive', '*', array( 'ar_rev_id IS NULL' ), __METHOD__ );
+               $res = $db->select( 'archive', '*',
+                       array( 'ar_rev_id IS NULL', 'ar_sha1' => '' ), __METHOD__ );
 
                $updateSize = 0;
                $db->begin( __METHOD__ );
@@ -131,12 +132,15 @@ class PopulateRevisionSha1 extends LoggedUpdateMaintenance {
         */
        protected function upgradeRow( $row, $table, $idCol, $prefix ) {
                $db = $this->getDB( DB_MASTER );
-               if ( $table === 'archive' ) {
-                       $rev = Revision::newFromArchiveRow( $row );
-               } else {
-                       $rev = new Revision( $row );
+               try {
+                       $rev = ( $table === 'archive' )
+                               ? Revision::newFromArchiveRow( $row )
+                               : new Revision( $row );
+                       $text = $rev->getRawText();
+               } catch ( MWException $e ) {
+                       $this->output( "Text of revision with {$idCol}={$row->$idCol} unavailable!\n" );
+                       return false; // bug 22624?
                }
-               $text = $rev->getRawText();
                if ( !is_string( $text ) ) {
                        # This should not happen, but sometimes does (bug 20757)
                        $this->output( "Text of revision with {$idCol}={$row->$idCol} unavailable!\n" );
@@ -145,7 +149,7 @@ class PopulateRevisionSha1 extends LoggedUpdateMaintenance {
                        $db->update( $table,
                                array( "{$prefix}_sha1" => Revision::base36Sha1( $text ) ),
                                array( $idCol => $row->$idCol ),
-                               __METHOD__ 
+                               __METHOD__
                        );
                        return true;
                }
@@ -157,7 +161,12 @@ class PopulateRevisionSha1 extends LoggedUpdateMaintenance {
         */
        protected function upgradeLegacyArchiveRow( $row ) {
                $db = $this->getDB( DB_MASTER );
-               $rev = Revision::newFromArchiveRow( $row );
+               try {
+                       $rev = Revision::newFromArchiveRow( $row );
+               } catch ( MWException $e ) {
+                       $this->output( "Text of revision with timestamp {$row->ar_timestamp} unavailable!\n" );
+                       return false; // bug 22624?
+               }
                $text = $rev->getRawText();
                if ( !is_string( $text ) ) {
                        # This should not happen, but sometimes does (bug 20757)
@@ -174,7 +183,7 @@ class PopulateRevisionSha1 extends LoggedUpdateMaintenance {
                                        'ar_timestamp' => $row->ar_timestamp,
                                        'ar_len'       => $row->ar_len // extra sanity
                                ),
-                               __METHOD__ 
+                               __METHOD__
                        );
                        return true;
                }
index 85ec580..a5e48fa 100644 (file)
@@ -1,7 +1,21 @@
 <?php
-
 /**
- * Generate an OpenSearch description file
+ * Generate an OpenSearch description file.
+ *
+ * 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
  */
index 3f2f287..16d09ea 100644 (file)
@@ -1 +1,24 @@
-<?php require './opensearch_desc.php'; 
\ No newline at end of file
+<?php
+/**
+ * Version of opensearch_desc.php to used in web server requiring .php5 extension
+ * to execute scripts with PHP5 egine.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+require './opensearch_desc.php'; 
index eb15c6b..fde960e 100644 (file)
@@ -1,11 +1,26 @@
 <?php
-
 /**
  * Script that redirects to the article passed in the "wpDropdown" parameter.
  * This is used by the nostalgia skin for the special pages drop-down
  *
+ * 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
  */
+
 if ( isset( $_SERVER['MW_COMPILED'] ) ) {
        require ( 'phase3/includes/WebStart.php' );
 } else {
index 1eaa3d0..ae29c4c 100644 (file)
@@ -1 +1,24 @@
-<?php require './redirect.php';
\ No newline at end of file
+<?php
+/**
+ * Version of redirect.php to used in web server requiring .php5 extension
+ * to execute scripts with PHP5 egine.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+require './redirect.php';
index 3c0d7e5..45df39a 100644 (file)
@@ -8,7 +8,7 @@
 
        /**
         * Enforces a byte limit to a textbox, so that UTF-8 entries are counted as well, when, for example,
-        * a databae field has a byte limit rather than a character limit.
+        * a database field has a byte limit rather than a character limit.
         * Plugin rationale: Browser has native maxlength for number of characters, this plugin exists to
         * limit number of bytes instead.
         *
index 92610b9..4c20fad 100644 (file)
                 * Get address to a script in the wiki root.
                 * For index.php use mw.config.get( 'wgScript' )
                 *
+                * @since 1.18
                 * @param str string Name of script (eg. 'api'), defaults to 'index'
                 * @return string Address to script (eg. '/w/api.php' )
                 */
diff --git a/skins/Chick.deps.php b/skins/Chick.deps.php
deleted file mode 100644 (file)
index a7cb084..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// Chick.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
-       die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
-require_once( dirname(__FILE__) . '/MonoBook.php' );
-
diff --git a/skins/Modern.deps.php b/skins/Modern.deps.php
deleted file mode 100644 (file)
index e76ab99..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// Modern.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
-       die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php' );
-
diff --git a/skins/MonoBook.deps.php b/skins/MonoBook.deps.php
deleted file mode 100644 (file)
index dda24e0..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// MonoBook.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
-       die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
-
diff --git a/skins/MySkin.deps.php b/skins/MySkin.deps.php
deleted file mode 100644 (file)
index b589cc5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// MySkin.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
-       die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
-require_once( dirname(__FILE__) . '/MonoBook.php' );
-
diff --git a/skins/Simple.deps.php b/skins/Simple.deps.php
deleted file mode 100644 (file)
index 99fadc6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// Simple.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
-       die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
-require_once( dirname(__FILE__) . '/MonoBook.php' );
-
diff --git a/skins/Vector.deps.php b/skins/Vector.deps.php
deleted file mode 100644 (file)
index 7a8c288..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-// This file exists to ensure that base classes are preloaded before
-// MonoBook.php is compiled, working around a bug in the APC opcode
-// cache on PHP 5, where cached code can break if the include order
-// changed on a subsequent page view.
-// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
-
-if ( ! defined( 'MEDIAWIKI' ) )
-       die( 1 );
-
-require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
index 2ea4924..3125284 100644 (file)
@@ -28,6 +28,7 @@ $wgAutoloadClasses += array(
 
        //maintenance
        'DumpTestCase' => "$testFolder/phpunit/maintenance/DumpTestCase.php",
+       'BackupDumper' => "$testFolder/../maintenance/backup.inc",
 
        //Generic providers
        'MediaWikiProvide' => "$testFolder/phpunit/includes/Providers.php",
index 3a8a778..bcdbe8c 100644 (file)
@@ -640,6 +640,17 @@ Definition and unordered list using wiki syntax nested in unordered list using h
 
 !! end
 
+!! test
+Definition list with empty definition and following paragraph
+!! input
+; term:
+Paragraph text
+!! result
+<dl><dt> term</dt><dd>
+</dd></dl>
+<p>Paragraph text
+</p>
+!! end
 
 ###
 ### External links
index 8c6a411..3729796 100644 (file)
@@ -366,7 +366,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase {
 
                $db = wfGetDB( DB_SLAVE );
 
-               $res = $db->select( $table, $fields, $condition, array( 'ORDER BY' => $fields ) );
+               $res = $db->select( $table, $fields, $condition, wfGetCaller(), array( 'ORDER BY' => $fields ) );
                $this->assertNotEmpty( $res, "query failed: " . $db->lastError() );
 
                $i = 0;
diff --git a/tests/phpunit/includes/DeviceDetectionTest.php b/tests/phpunit/includes/DeviceDetectionTest.php
deleted file mode 100644 (file)
index 0e15653..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/**
- * @group Mobile
- */
- class DeviceDetectionTest extends MediaWikiTestCase {
-
-       /**
-        * @dataProvider provideTestFormatName
-        */
-       public function testFormatName( $format, $userAgent ) {
-               $detector = new DeviceDetection();
-               $this->assertEquals( $format, $detector->detectFormatName( $userAgent ) );
-       }
-
-       public function provideTestFormatName() {
-               return array(
-                       array( 'android',   'Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17' ),
-                       array( 'iphone2',   'Mozilla/5.0 (ipod: U;CPU iPhone OS 2_2 like Mac OS X: es_es) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ),
-                       array( 'iphone',    'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ),
-                       array( 'nokia',     'Mozilla/5.0 (SymbianOS/9.1; U; [en]; SymbianOS/91 Series60/3.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413' ),
-                       array( 'palm_pre',  'Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0' ),
-                       array( 'wii',       'Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)' ),
-                       array( 'operamini', 'Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.10031/298; U; en)' ),
-                       array( 'operamobile',    'Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en)' ),
-                       array( 'kindle',    'Mozilla/4.0 (compatible; Linux 2.6.10) NetFront/3.3 Kindle/1.0 (screen 600x800)' ),
-                       array( 'kindle2',   'Mozilla/4.0 (compatible; Linux 2.6.22) NetFront/3.4 Kindle/2.0 (screen 824x1200; rotate)' ),
-                       array( 'capable',   'Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1' ),
-                       array( 'netfront',  'Mozilla/4.08 (Windows; Mobile Content Viewer/1.0) NetFront/3.2' ),
-                       array( 'wap2',      'SonyEricssonK608i/R2L/SN356841000828910 Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
-                       array( 'wap2',      'NokiaN73-2/3.0-630.0.2 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
-                       array( 'psp',       'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)' ),
-                       array( 'ps3',       'Mozilla/5.0 (PLAYSTATION 3; 1.00)' ),
-                       array( 'ie', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' ),
-                       array( 'ie', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)' ),
-                       array( 'blackberry', 'BlackBerry9300/5.0.0.716 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/133' ),
-                       array( 'blackberry-lt5', 'BlackBerry7250/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
-               );
-       }
-}
diff --git a/tests/phpunit/includes/GlobalFunctions/wfGetCallerTest.php b/tests/phpunit/includes/GlobalFunctions/wfGetCallerTest.php
new file mode 100644 (file)
index 0000000..4c4c4c0
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+
+class wfGetCaller extends MediaWikiTestCase {
+
+       function testZero() {
+               $this->assertEquals( __METHOD__, wfGetCaller( 1 ) );
+       }
+
+       function callerOne() {
+               return wfGetCaller();
+       }
+
+       function testOne() {
+               $this->assertEquals( "wfGetCaller::testOne", self::callerOne() );
+       }
+
+       function intermediateFunction( $level = 2, $n = 0 ) {
+               if ( $n > 0 )
+                       return self::intermediateFunction( $level, $n - 1 );
+               return wfGetCaller( $level );
+       }
+
+       function testTwo() {
+               $this->assertEquals( "wfGetCaller::testTwo", self::intermediateFunction() );
+       }
+
+       function testN() {
+               $this->assertEquals( "wfGetCaller::testN", self::intermediateFunction( 2, 0 ) );
+               $this->assertEquals( "wfGetCaller::intermediateFunction", self::intermediateFunction( 1, 0 ) );
+
+               for ($i=0; $i < 10; $i++)
+                       $this->assertEquals( "wfGetCaller::intermediateFunction", self::intermediateFunction( $i + 1, $i ) );
+       }
+}
+
index e72408f..1fc0b4b 100644 (file)
@@ -1,14 +1,22 @@
 <?php
 
 class WebRequestTest extends MediaWikiTestCase {
+       static $oldServer;
+
+       function setUp() {
+               self::$oldServer = $_SERVER;
+       }
+
+       function tearDown() {
+               $_SERVER = self::$oldServer;
+       }
+
        /**
         * @dataProvider provideDetectServer
         */
        function testDetectServer( $expected, $input, $description ) {
-               $oldServer = $_SERVER;
                $_SERVER = $input;
                $result = WebRequest::detectServer();
-               $_SERVER = $oldServer;
                $this->assertEquals( $expected, $result, $description );
        }
 
@@ -91,13 +99,11 @@ class WebRequestTest extends MediaWikiTestCase {
         */
        function testGetIP( $expected, $input, $squid, $private, $description ) {
                global $wgSquidServersNoPurge, $wgUsePrivateIPs;
-               $oldServer = $_SERVER;
                $_SERVER = $input;
                $wgSquidServersNoPurge = $squid;
                $wgUsePrivateIPs = $private;
                $request = new WebRequest();
                $result = $request->getIP();
-               $_SERVER = $oldServer;
                $this->assertEquals( $expected, $result, $description );
        }
 
@@ -182,4 +188,29 @@ class WebRequestTest extends MediaWikiTestCase {
                # Next call throw an exception about lacking an IP
                $request->getIP();
        }
+
+       function languageProvider() {
+               return array(
+                       array( '', array(), 'Empty Accept-Language header' ),
+                       array( 'en', array( 'en' => 1 ), 'One language' ),
+                       array( 'en, ar', array( 'en' => 1, 'ar' => 1 ), 'Two languages listed in appearance order.' ),
+                       array( 'zh-cn,zh-tw', array( 'zh-cn' => 1, 'zh-tw' => 1 ), 'Two equally prefered languages, listed in appearance order per rfc3282. Checks c9119' ),
+                       array( 'es, en; q=0.5', array( 'es' => 1, 'en' => '0.5' ), 'Spanish as first language and English and second' ),
+                       array( 'en; q=0.5, es', array( 'es' => 1, 'en' => '0.5' ), 'Less prefered language first' ),
+                       array( 'fr, en; q=0.5, es', array( 'fr' => 1, 'es' => 1, 'en' => '0.5' ), 'Three languages' ),
+                       array( 'en; q=0.5, es', array( 'es' => 1, 'en' => '0.5' ), 'Two languages' ),
+                       array( 'en, zh;q=0', array( 'en' => 1 ), "It's Chinese to me" ),
+                       array( 'es; q=1, pt;q=0.7, it; q=0.6, de; q=0.1, ru;q=0', array( 'es' => '1', 'pt' => '0.7', 'it' => '0.6', 'de' => '0.1' ), 'Preference for romance languages' ),
+                       array( 'en-gb, en-us; q=1', array( 'en-gb' => 1, 'en-us' => '1' ), 'Two equally prefered English variants' ),
+               );
+       }
+
+       /**
+        * @dataProvider languageProvider
+        */
+       function testAcceptLang($acceptLanguageHeader, $expectedLanguages, $description) {
+               $_SERVER = array( 'HTTP_ACCEPT_LANGUAGE' => $acceptLanguageHeader );
+               $request = new WebRequest();
+               $this->assertSame( $request->getAcceptLang(), $expectedLanguages, $description);
+       }
 }
index 88c26ef..c8606cc 100644 (file)
@@ -4,7 +4,7 @@
 * ^--- important, causes temporary tables to be used instead of the real database
 **/
 
-class WikiPageTest extends MediaWikiTestCase {
+class WikiPageTest extends MediaWikiLangTestCase {
 
        var $pages_to_delete;
 
@@ -30,6 +30,7 @@ class WikiPageTest extends MediaWikiTestCase {
        }
 
        public function setUp() {
+               parent::setUp();
                $this->pages_to_delete = array();
        }
 
@@ -45,6 +46,7 @@ class WikiPageTest extends MediaWikiTestCase {
                                // fail silently
                        }
                }
+               parent::tearDown();
        }
 
        protected function newPage( $title ) {
@@ -142,6 +144,21 @@ class WikiPageTest extends MediaWikiTestCase {
                $this->assertEquals( 0, $n, 'pagelinks should contain no more links from the page' );
        }
 
+       public function testDoDeleteUpdates() {
+               $page = $this->createPage( "WikiPageTest_testDoDeleteArticle", "[[original text]] foo" );
+               $id = $page->getId();
+
+               $page->doDeleteUpdates( $id );
+
+               # ------------------------
+               $dbr = wfGetDB( DB_SLAVE );
+               $res = $dbr->select( 'pagelinks', '*', array( 'pl_from' => $id ) );
+               $n = $res->numRows();
+               $res->free();
+
+               $this->assertEquals( 0, $n, 'pagelinks should contain no more links from the page' );
+       }
+
        public function testGetRevision() {
                $page = $this->newPage( "WikiPageTest_testGetRevision" );
 
diff --git a/tests/phpunit/includes/db/ORMRowTest.php b/tests/phpunit/includes/db/ORMRowTest.php
new file mode 100644 (file)
index 0000000..9a275be
--- /dev/null
@@ -0,0 +1,134 @@
+<?php
+
+/**
+ * Abstract class to construct tests for ORMRow deriving classes.
+ *
+ * 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
+ * @since 1.20
+ *
+ * @ingroup Test
+ *
+ * @group ORM
+ *
+ * The database group has as a side effect that temporal database tables are created. This makes
+ * it possible to test without poisoning a production database.
+ * @group Database
+ *
+ * Some of the tests takes more time, and needs therefor longer time before they can be aborted
+ * as non-functional. The reason why tests are aborted is assumed to be set up of temporal databases
+ * that hold the first tests in a pending state awaiting access to the database.
+ * @group medium
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+abstract class ORMRowTest extends \MediaWikiTestCase {
+
+       /**
+        * @since 1.20
+        * @return string
+        */
+       protected abstract function getRowClass();
+
+       /**
+        * @since 1.20
+        * @return IORMTable
+        */
+       protected abstract function getTableInstance();
+
+       /**
+        * @since 1.20
+        * @return array
+        */
+       public abstract function constructorTestProvider();
+
+       /**
+        * @since 1.20
+        * @param IORMRow $row
+        * @param array $data
+        */
+       protected function verifyFields( IORMRow $row, array $data ) {
+               foreach ( array_keys( $data ) as $fieldName ) {
+                       $this->assertEquals( $data[$fieldName], $row->getField( $fieldName ) );
+               }
+       }
+
+       /**
+        * @since 1.20
+        * @param array $data
+        * @param boolean $loadDefaults
+        * @return IORMRow
+        */
+       protected function getRowInstance( array $data, $loadDefaults ) {
+               $class = $this->getRowClass();
+               return new $class( $this->getTableInstance(), $data, $loadDefaults );
+       }
+
+       /**
+        * @dataProvider constructorTestProvider
+        */
+       public function testConstructor( array $data, $loadDefaults ) {
+               $this->verifyFields( $this->getRowInstance( $data, $loadDefaults ), $data );
+       }
+
+       /**
+        * @dataProvider constructorTestProvider
+        */
+       public function testSave( array $data, $loadDefaults ) {
+               $item = $this->getRowInstance( $data, $loadDefaults );
+
+               $this->assertTrue( $item->save() );
+
+               $this->assertTrue( $item->hasIdField() );
+               $this->assertTrue( is_integer( $item->getId() ) );
+
+               $id = $item->getId();
+
+               $this->assertTrue( $item->save() );
+
+               $this->assertEquals( $id, $item->getId() );
+
+               $this->verifyFields( $item, $data );
+       }
+
+       /**
+        * @dataProvider constructorTestProvider
+        */
+       public function testRemove( array $data, $loadDefaults ) {
+               $item = $this->getRowInstance( $data, $loadDefaults );
+
+               $this->assertTrue( $item->save() );
+
+               $this->assertTrue( $item->remove() );
+
+               $this->assertFalse( $item->hasIdField() );
+
+               $this->assertTrue( $item->save() );
+
+               $this->verifyFields( $item, $data );
+
+               $this->assertTrue( $item->remove() );
+
+               $this->assertFalse( $item->hasIdField() );
+
+               $this->verifyFields( $item, $data );
+       }
+
+       // TODO: test all of the methods!
+
+}
\ No newline at end of file
diff --git a/tests/phpunit/includes/db/TestORMRowTest.php b/tests/phpunit/includes/db/TestORMRowTest.php
new file mode 100644 (file)
index 0000000..49c2161
--- /dev/null
@@ -0,0 +1,172 @@
+<?php
+
+/**
+ * Tests for the TestORMRow class.
+ * TestORMRow is a dummy class to be able to test the abstract ORMRow class.
+ *
+ * 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
+ * @since 1.20
+ *
+ * @ingroup Test
+ *
+ * @group ORM
+ *
+ * The database group has as a side effect that temporal database tables are created. This makes
+ * it possible to test without poisoning a production database.
+ * @group Database
+ *
+ * Some of the tests takes more time, and needs therefor longer time before they can be aborted
+ * as non-functional. The reason why tests are aborted is assumed to be set up of temporal databases
+ * that hold the first tests in a pending state awaiting access to the database.
+ * @group medium
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+class TestORMRowTest extends ORMRowTest {
+
+       /**
+        * @since 1.20
+        * @return string
+        */
+       protected function getRowClass() {
+               return 'TestORMRow';
+       }
+
+       /**
+        * @since 1.20
+        * @return IORMTable
+        */
+       protected function getTableInstance() {
+               return TestORMtable::singleton();
+       }
+
+       public function setUp() {
+               parent::setUp();
+
+               $dbw = wfGetDB( DB_MASTER );
+
+               $isSqlite = $GLOBALS['wgDBtype'] === 'sqlite';
+
+               $idField = $isSqlite ? 'INTEGER' : 'INT unsigned';
+               $primaryKey = $isSqlite ? 'PRIMARY KEY AUTOINCREMENT' : 'auto_increment PRIMARY KEY';
+
+               $dbw->safeQuery(
+                       'CREATE TABLE IF NOT EXISTS ' . $dbw->tableName( 'orm_test' ) . '(
+                               test_id                    ' . $idField . '        NOT NULL ' . $primaryKey . ',
+                               test_name                  VARCHAR(255)        NOT NULL,
+                               test_age                   TINYINT unsigned    NOT NULL,
+                               test_height                FLOAT               NOT NULL,
+                               test_awesome               TINYINT unsigned    NOT NULL,
+                               test_stuff                 BLOB                NOT NULL,
+                               test_moarstuff             BLOB                NOT NULL,
+                               test_time                  varbinary(14)       NOT NULL
+                       );'
+               );
+       }
+
+       public function constructorTestProvider() {
+               return array(
+                       array(
+                               array(
+                                       'name' => 'Foobar',
+                                       'age' => 42,
+                                       'height' => 9000.1,
+                                       'awesome' => true,
+                                       'stuff' => array( 13, 11, 7, 5, 3, 2 ),
+                                       'moarstuff' => (object)array( 'foo' => 'bar', 'bar' => array( 4, 2 ), 'baz' => true )
+                               ),
+                               true
+                       ),
+               );
+       }
+
+}
+
+class TestORMRow extends ORMRow {}
+
+class TestORMTable extends ORMTable {
+
+       /**
+        * Returns the name of the database table objects of this type are stored in.
+        *
+        * @since 1.20
+        *
+        * @return string
+        */
+       public function getName() {
+               return 'orm_test';
+       }
+
+       /**
+        * Returns the name of a IORMRow implementing class that
+        * represents single rows in this table.
+        *
+        * @since 1.20
+        *
+        * @return string
+        */
+       public function getRowClass() {
+               return 'TestORMRow';
+       }
+
+       /**
+        * Returns an array with the fields and their types this object contains.
+        * This corresponds directly to the fields in the database, without prefix.
+        *
+        * field name => type
+        *
+        * Allowed types:
+        * * id
+        * * str
+        * * int
+        * * float
+        * * bool
+        * * array
+        * * blob
+        *
+        * @since 1.20
+        *
+        * @return array
+        */
+       public function getFields() {
+               return array(
+                       'id' => 'id',
+                       'name' => 'str',
+                       'age' => 'int',
+                       'height' => 'float',
+                       'awesome' => 'bool',
+                       'stuff' => 'array',
+                       'moarstuff' => 'blob',
+                       'time' => 'int', // TS_MW
+               );
+       }
+
+       /**
+        * Gets the db field prefix.
+        *
+        * @since 1.20
+        *
+        * @return string
+        */
+       protected function getFieldPrefix() {
+               return 'test_';
+       }
+
+
+}
index 5a4e66d..1627c47 100644 (file)
@@ -30,7 +30,7 @@ class MWDebugTest extends MediaWikiTestCase {
                $this->assertEquals( array( array(
                        'msg' => 'Warning message',
                        'type' => 'warn',
-                       'caller' => 'MWDebug::warning',
+                       'caller' => 'MWDebugTest::testAddWarning',
                        ) ),
                        MWDebug::getLog()
                );
index 2a9608e..2b94778 100644 (file)
@@ -850,7 +850,7 @@ class FileBackendTest extends MediaWikiTestCase {
 
                if ( $alreadyExists ) {
                        $this->prepare( array( 'dir' => dirname( $path ) ) );
-                       $status = $this->backend->create( array( 'dst' => $path, 'content' => $content ) );
+                       $status = $this->create( array( 'dst' => $path, 'content' => $content ) );
                        $this->assertGoodStatus( $status,
                                "Creation of file at $path succeeded ($backendName)." );
 
@@ -860,14 +860,14 @@ class FileBackendTest extends MediaWikiTestCase {
 
                        $this->assertEquals( strlen( $content ), $size,
                                "Correct file size of '$path'" );
-                       $this->assertTrue( abs( time() - wfTimestamp( TS_UNIX, $time ) ) < 5,
+                       $this->assertTrue( abs( time() - wfTimestamp( TS_UNIX, $time ) ) < 10,
                                "Correct file timestamp of '$path'" );
 
                        $size = $stat['size'];
                        $time = $stat['mtime'];
                        $this->assertEquals( strlen( $content ), $size,
                                "Correct file size of '$path'" );
-                       $this->assertTrue( abs( time() - wfTimestamp( TS_UNIX, $time ) ) < 5,
+                       $this->assertTrue( abs( time() - wfTimestamp( TS_UNIX, $time ) ) < 10,
                                "Correct file timestamp of '$path'" );
                } else {
                        $size = $this->backend->getFileSize( array( 'src' => $path ) );
@@ -999,8 +999,7 @@ class FileBackendTest extends MediaWikiTestCase {
 
                $this->prepare( array( 'dir' => dirname( $source ) ) );
 
-               $status = $this->backend->doOperation(
-                       array( 'op' => 'create', 'content' => $content, 'dst' => $source ) );
+               $status = $this->create( array( 'content' => $content, 'dst' => $source ) );
                $this->assertGoodStatus( $status,
                        "Creation of file at $source succeeded ($backendName)." );
 
@@ -1169,11 +1168,11 @@ class FileBackendTest extends MediaWikiTestCase {
                $fileD = "$base/unittest-cont1/a/b/fileD.txt";
 
                $this->prepare( array( 'dir' => dirname( $fileA ) ) );
-               $this->backend->create( array( 'dst' => $fileA, 'content' => $fileAContents ) );
+               $this->create( array( 'dst' => $fileA, 'content' => $fileAContents ) );
                $this->prepare( array( 'dir' => dirname( $fileB ) ) );
-               $this->backend->create( array( 'dst' => $fileB, 'content' => $fileBContents ) );
+               $this->create( array( 'dst' => $fileB, 'content' => $fileBContents ) );
                $this->prepare( array( 'dir' => dirname( $fileC ) ) );
-               $this->backend->create( array( 'dst' => $fileC, 'content' => $fileCContents ) );
+               $this->create( array( 'dst' => $fileC, 'content' => $fileCContents ) );
                $this->prepare( array( 'dir' => dirname( $fileD ) ) );
 
                $status = $this->backend->doOperations( array(
@@ -1255,7 +1254,7 @@ class FileBackendTest extends MediaWikiTestCase {
                $fileD = "$base/unittest-cont1/a/b/fileD.txt";
 
                $this->prepare( array( 'dir' => dirname( $fileA ) ) );
-               $this->backend->create( array( 'dst' => $fileA, 'content' => $fileAContents ) );
+               $this->create( array( 'dst' => $fileA, 'content' => $fileAContents ) );
                $this->prepare( array( 'dir' => dirname( $fileB ) ) );
                $this->prepare( array( 'dir' => dirname( $fileC ) ) );
                $this->prepare( array( 'dir' => dirname( $fileD ) ) );
@@ -1329,11 +1328,11 @@ class FileBackendTest extends MediaWikiTestCase {
                $fileD = "$base/unittest-cont2/a/b/fileD.txt";
 
                $this->prepare( array( 'dir' => dirname( $fileA ) ) );
-               $this->backend->create( array( 'dst' => $fileA, 'content' => $fileAContents ) );
+               $this->create( array( 'dst' => $fileA, 'content' => $fileAContents ) );
                $this->prepare( array( 'dir' => dirname( $fileB ) ) );
-               $this->backend->create( array( 'dst' => $fileB, 'content' => $fileBContents ) );
+               $this->create( array( 'dst' => $fileB, 'content' => $fileBContents ) );
                $this->prepare( array( 'dir' => dirname( $fileC ) ) );
-               $this->backend->create( array( 'dst' => $fileC, 'content' => $fileCContents ) );
+               $this->create( array( 'dst' => $fileC, 'content' => $fileCContents ) );
 
                $status = $this->backend->doOperations( array(
                        array( 'op' => 'copy', 'src' => $fileA, 'dst' => $fileC, 'overwrite' => 1 ),
@@ -1418,7 +1417,7 @@ class FileBackendTest extends MediaWikiTestCase {
                        $this->prepare( array( 'dir' => dirname( $file ) ) );
                        $ops[] = array( 'op' => 'create', 'content' => 'xxy', 'dst' => $file );
                }
-               $status = $this->backend->doOperations( $ops );
+               $status = $this->backend->doQuickOperations( $ops );
                $this->assertGoodStatus( $status,
                        "Creation of files succeeded ($backendName)." );
                $this->assertEquals( true, $status->isOK(),
@@ -1571,7 +1570,7 @@ class FileBackendTest extends MediaWikiTestCase {
                        $this->prepare( array( 'dir' => dirname( $file ) ) );
                        $ops[] = array( 'op' => 'create', 'content' => 'xxy', 'dst' => $file );
                }
-               $status = $this->backend->doOperations( $ops );
+               $status = $this->backend->doQuickOperations( $ops );
                $this->assertGoodStatus( $status,
                        "Creation of files succeeded ($backendName)." );
                $this->assertEquals( true, $status->isOK(),
@@ -1771,6 +1770,12 @@ class FileBackendTest extends MediaWikiTestCase {
                return $this->backend->prepare( $params );
        }
 
+       // test helper wrapper for backend prepare() function
+       private function create( array $params ) {
+               $params['op'] = 'create';
+               return $this->backend->doQuickOperations( array( $params ) );
+       }
+
        function tearDownFiles() {
                foreach ( $this->filesToPrune as $file ) {
                        @unlink( $file );
diff --git a/tests/phpunit/includes/mobile/DeviceDetectionTest.php b/tests/phpunit/includes/mobile/DeviceDetectionTest.php
new file mode 100644 (file)
index 0000000..0e15653
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * @group Mobile
+ */
+ class DeviceDetectionTest extends MediaWikiTestCase {
+
+       /**
+        * @dataProvider provideTestFormatName
+        */
+       public function testFormatName( $format, $userAgent ) {
+               $detector = new DeviceDetection();
+               $this->assertEquals( $format, $detector->detectFormatName( $userAgent ) );
+       }
+
+       public function provideTestFormatName() {
+               return array(
+                       array( 'android',   'Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17' ),
+                       array( 'iphone2',   'Mozilla/5.0 (ipod: U;CPU iPhone OS 2_2 like Mac OS X: es_es) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ),
+                       array( 'iphone',    'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3' ),
+                       array( 'nokia',     'Mozilla/5.0 (SymbianOS/9.1; U; [en]; SymbianOS/91 Series60/3.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413' ),
+                       array( 'palm_pre',  'Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0' ),
+                       array( 'wii',       'Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)' ),
+                       array( 'operamini', 'Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.10031/298; U; en)' ),
+                       array( 'operamobile',    'Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en)' ),
+                       array( 'kindle',    'Mozilla/4.0 (compatible; Linux 2.6.10) NetFront/3.3 Kindle/1.0 (screen 600x800)' ),
+                       array( 'kindle2',   'Mozilla/4.0 (compatible; Linux 2.6.22) NetFront/3.4 Kindle/2.0 (screen 824x1200; rotate)' ),
+                       array( 'capable',   'Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1' ),
+                       array( 'netfront',  'Mozilla/4.08 (Windows; Mobile Content Viewer/1.0) NetFront/3.2' ),
+                       array( 'wap2',      'SonyEricssonK608i/R2L/SN356841000828910 Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
+                       array( 'wap2',      'NokiaN73-2/3.0-630.0.2 Series60/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
+                       array( 'psp',       'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)' ),
+                       array( 'ps3',       'Mozilla/5.0 (PLAYSTATION 3; 1.00)' ),
+                       array( 'ie', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' ),
+                       array( 'ie', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)' ),
+                       array( 'blackberry', 'BlackBerry9300/5.0.0.716 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/133' ),
+                       array( 'blackberry-lt5', 'BlackBerry7250/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1' ),
+               );
+       }
+}
index 4239670..a1a6d59 100644 (file)
@@ -791,4 +791,68 @@ class LanguageTest extends MediaWikiTestCase {
                        ),
                );
        }
+
+       /**\r
+        * @dataProvider provideCheckTitleEncodingData\r
+        */\r
+       function testCheckTitleEncoding( $s ) {\r
+               $this->assertEquals(\r
+                       $s,\r
+                       $this->lang->checkTitleEncoding($s),\r
+                       "checkTitleEncoding('$s')"\r
+               );\r
+       }\r
+
+       function provideCheckTitleEncodingData() {
+               return array (
+                       array( "" ),
+                       array( "United States of America" ), // 7bit ASCII
+                       array( rawurldecode( "S%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e" ) ),
+                       array(
+                               rawurldecode(
+                                       "Acteur%7CAlbert%20Robbins%7CAnglais%7CAnn%20Donahue%7CAnthony%20E.%20Zuiker%7CCarol%20Mendelsohn"
+                               )
+                       ),
+                       // The following two data sets come from bug 36839. They fail if checkTitleEncoding uses a regexp to test for
+                       // valid UTF-8 encoding and the pcre.recursion_limit is low (like, say, 1024). They succeed if checkTitleEncoding
+                   // uses mb_check_encoding for its test.
+                       array(
+                               rawurldecode(
+                                       "Acteur%7CAlbert%20Robbins%7CAnglais%7CAnn%20Donahue%7CAnthony%20E.%20Zuiker%7CCarol%20Mendelsohn%7C"
+                                       . "Catherine%20Willows%7CDavid%20Hodges%7CDavid%20Phillips%7CGil%20Grissom%7CGreg%20Sanders%7CHodges%7C"
+                                       . "Internet%20Movie%20Database%7CJim%20Brass%7CLady%20Heather%7C"
+                                       . "Les%20Experts%20(s%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e)%7CLes%20Experts%20:%20Manhattan%7C"
+                                       . "Les%20Experts%20:%20Miami%7CListe%20des%20personnages%20des%20Experts%7C"
+                                       . "Liste%20des%20%C3%A9pisodes%20des%20Experts%7CMod%C3%A8le%20discussion:Palette%20Les%20Experts%7C"
+                                       . "Nick%20Stokes%7CPersonnage%20de%20fiction%7CPersonnage%20fictif%7CPersonnage%20de%20fiction%7C"
+                                       . "Personnages%20r%C3%A9currents%20dans%20Les%20Experts%7CRaymond%20Langston%7CRiley%20Adams%7C"
+                                       . "Saison%201%20des%20Experts%7CSaison%2010%20des%20Experts%7CSaison%2011%20des%20Experts%7C"
+                                       . "Saison%2012%20des%20Experts%7CSaison%202%20des%20Experts%7CSaison%203%20des%20Experts%7C"
+                                       . "Saison%204%20des%20Experts%7CSaison%205%20des%20Experts%7CSaison%206%20des%20Experts%7C"
+                                       . "Saison%207%20des%20Experts%7CSaison%208%20des%20Experts%7CSaison%209%20des%20Experts%7C"
+                                       . "Sara%20Sidle%7CSofia%20Curtis%7CS%C3%A9rie%20t%C3%A9l%C3%A9vis%C3%A9e%7CWallace%20Langham%7C"
+                                       . "Warrick%20Brown%7CWendy%20Simms%7C%C3%89tats-Unis"
+                               ),
+                       ),
+                       array(
+                               rawurldecode(
+                                       "Mod%C3%A8le%3AArrondissements%20homonymes%7CMod%C3%A8le%3ABandeau%20standard%20pour%20page%20d'homonymie%7C"
+                                       . "Mod%C3%A8le%3ABatailles%20homonymes%7CMod%C3%A8le%3ACantons%20homonymes%7C"
+                                       . "Mod%C3%A8le%3ACommunes%20fran%C3%A7aises%20homonymes%7CMod%C3%A8le%3AFilms%20homonymes%7C"
+                                       . "Mod%C3%A8le%3AGouvernements%20homonymes%7CMod%C3%A8le%3AGuerres%20homonymes%7CMod%C3%A8le%3AHomonymie%7C"
+                                       . "Mod%C3%A8le%3AHomonymie%20bateau%7CMod%C3%A8le%3AHomonymie%20d'%C3%A9tablissements%20scolaires%20ou"
+                                       . "%20universitaires%7CMod%C3%A8le%3AHomonymie%20d'%C3%AEles%7CMod%C3%A8le%3AHomonymie%20de%20clubs%20sportifs%7C"
+                                       . "Mod%C3%A8le%3AHomonymie%20de%20comt%C3%A9s%7CMod%C3%A8le%3AHomonymie%20de%20monument%7C"
+                                       . "Mod%C3%A8le%3AHomonymie%20de%20nom%20romain%7CMod%C3%A8le%3AHomonymie%20de%20parti%20politique%7C"
+                                       . "Mod%C3%A8le%3AHomonymie%20de%20route%7CMod%C3%A8le%3AHomonymie%20dynastique%7C"
+                                       . "Mod%C3%A8le%3AHomonymie%20vid%C3%A9oludique%7CMod%C3%A8le%3AHomonymie%20%C3%A9difice%20religieux%7C"
+                                       . "Mod%C3%A8le%3AInternationalisation%7CMod%C3%A8le%3AIsom%C3%A9rie%7CMod%C3%A8le%3AParonymie%7C"
+                                       . "Mod%C3%A8le%3APatronyme%7CMod%C3%A8le%3APatronyme%20basque%7CMod%C3%A8le%3APatronyme%20italien%7C"
+                                       . "Mod%C3%A8le%3APatronymie%7CMod%C3%A8le%3APersonnes%20homonymes%7CMod%C3%A8le%3ASaints%20homonymes%7C"
+                                       . "Mod%C3%A8le%3ATitres%20homonymes%7CMod%C3%A8le%3AToponymie%7CMod%C3%A8le%3AUnit%C3%A9s%20homonymes%7C"
+                                       . "Mod%C3%A8le%3AVilles%20homonymes%7CMod%C3%A8le%3A%C3%89difices%20religieux%20homonymes"
+                               )
+                       )
+               );
+       }
 }
index fd39c45..b73c4a9 100644 (file)
@@ -1,6 +1,4 @@
 <?php
-global $IP;
-require_once( "$IP/maintenance/backup.inc" );
 
 /**
  * Base TestCase for dumps
@@ -314,13 +312,14 @@ abstract class DumpTestCase extends MediaWikiTestCase {
 
                $this->assertTextNode( "comment", $summary );
 
+               $this->assertTextNode( "sha1", $text_sha1 );
+
                $this->assertNodeStart( "text", false );
                if ( $text_bytes !== false ) {
                        $this->assertEquals( $this->xml->getAttribute( "bytes" ), $text_bytes,
                                "Attribute 'bytes' of revision " . $id );
                }
 
-
                if ( $text === false ) {
                        // Testing for a stub
                        $this->assertEquals( $this->xml->getAttribute( "id" ), $text_id,
@@ -342,8 +341,6 @@ abstract class DumpTestCase extends MediaWikiTestCase {
                        $this->skipWhitespace();
                }
 
-               $this->assertTextNode( "sha1", $text_sha1 );
-
                $this->assertNodeEnd( "revision" );
                $this->skipWhitespace();
        }
index 0dade60..972fc73 100644 (file)
@@ -478,8 +478,8 @@ class TextPassDumperTest extends DumpTestCase {
         <ip>127.0.0.1</ip>
       </contributor>
       <comment>BackupDumperTestP1Summary1</comment>
-      <text id="' . $this->textId1_1 . '" bytes="23" />
       <sha1>0bolhl6ol7i6x0e7yq91gxgaan39j87</sha1>
+      <text id="' . $this->textId1_1 . '" bytes="23" />
     </revision>
   </page>
 ';
@@ -494,8 +494,8 @@ class TextPassDumperTest extends DumpTestCase {
         <ip>127.0.0.1</ip>
       </contributor>
       <comment>BackupDumperTestP2Summary1</comment>
-      <text id="' . $this->textId2_1 . '" bytes="23" />
       <sha1>jprywrymfhysqllua29tj3sc7z39dl2</sha1>
+      <text id="' . $this->textId2_1 . '" bytes="23" />
     </revision>
     <revision>
       <id>' . $this->revId2_2 . '</id>
@@ -504,8 +504,8 @@ class TextPassDumperTest extends DumpTestCase {
         <ip>127.0.0.1</ip>
       </contributor>
       <comment>BackupDumperTestP2Summary2</comment>
-      <text id="' . $this->textId2_2 . '" bytes="23" />
       <sha1>b7vj5ks32po5m1z1t1br4o7scdwwy95</sha1>
+      <text id="' . $this->textId2_2 . '" bytes="23" />
     </revision>
     <revision>
       <id>' . $this->revId2_3 . '</id>
@@ -514,8 +514,8 @@ class TextPassDumperTest extends DumpTestCase {
         <ip>127.0.0.1</ip>
       </contributor>
       <comment>BackupDumperTestP2Summary3</comment>
-      <text id="' . $this->textId2_3 . '" bytes="23" />
       <sha1>jfunqmh1ssfb8rs43r19w98k28gg56r</sha1>
+      <text id="' . $this->textId2_3 . '" bytes="23" />
     </revision>
     <revision>
       <id>' . $this->revId2_4 . '</id>
@@ -524,8 +524,8 @@ class TextPassDumperTest extends DumpTestCase {
         <ip>127.0.0.1</ip>
       </contributor>
       <comment>BackupDumperTestP2Summary4 extra</comment>
-      <text id="' . $this->textId2_4 . '" bytes="44" />
       <sha1>6o1ciaxa6pybnqprmungwofc4lv00wv</sha1>
+      <text id="' . $this->textId2_4 . '" bytes="44" />
     </revision>
   </page>
 ';
@@ -542,8 +542,8 @@ class TextPassDumperTest extends DumpTestCase {
         <ip>127.0.0.1</ip>
       </contributor>
       <comment>Talk BackupDumperTestP1 Summary1</comment>
-      <text id="' . $this->textId4_1 . '" bytes="35" />
       <sha1>nktofwzd0tl192k3zfepmlzxoax1lpe</sha1>
+      <text id="' . $this->textId4_1 . '" bytes="35" />
     </revision>
   </page>
 ';
index 6855581..50d3754 100644 (file)
--- a/thumb.php
+++ b/thumb.php
@@ -1,11 +1,26 @@
 <?php
-
 /**
  * PHP script to stream out an image thumbnail.
  *
+ * 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 Media
  */
+
 define( 'MW_NO_OUTPUT_COMPRESSION', 1 );
 if ( isset( $_SERVER['MW_COMPILED'] ) ) {
        require( 'core/includes/WebStart.php' );
index d96ad70..0c9b702 100644 (file)
@@ -1 +1,25 @@
-<?php require './thumb.php'; 
\ No newline at end of file
+<?php
+/**
+ * Version of thumb.php to used in web server requiring .php5 extension
+ * to execute scripts with PHP5 egine.
+ *
+ * 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 Media
+ */
+
+require './thumb.php'; 
index 35a855f..abc71dd 100644 (file)
@@ -1,6 +1,27 @@
 <?php
+/**
+ * PHP script to be used as 404 handler to create and stream out a
+ * not yet existing image thumbnail.
+ *
+ * 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 Media
+ */
 
-# Valid web server entry point
 define( 'THUMB_HANDLER', true );
 
 # Execute thumb.php, having set THUMB_HANDLER so that
index 9090b01..20d681b 100644 (file)
@@ -1 +1,25 @@
-<?php require './thumb_handler.php';
+<?php
+/**
+ * Version of thumb_handler.php to used in web server requiring .php5 extension
+ * to execute scripts with PHP5 egine.
+ *
+ * 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 Media
+ */
+
+require './thumb_handler.php';