Merge "mediawiki.user: Simplify extension of mw.user"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 3 Mar 2015 10:07:26 +0000 (10:07 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 3 Mar 2015 10:07:26 +0000 (10:07 +0000)
271 files changed:
.jshintrc
RELEASE-NOTES-1.25
autoload.php
composer.json
docs/extension.schema.json
docs/hooks.txt
includes/EditPage.php
includes/HttpFunctions.php
includes/Import.php
includes/Linker.php
includes/MediaWiki.php
includes/MessageBlobStore.php
includes/TemplateParser.php
includes/User.php
includes/UserArray.php
includes/actions/InfoAction.php
includes/api/ApiBase.php
includes/api/ApiCreateAccount.php
includes/api/ApiEditPage.php
includes/api/ApiLogin.php
includes/api/ApiMain.php
includes/api/ApiParamInfo.php
includes/api/ApiQueryDeletedrevs.php
includes/api/ApiQueryInfo.php
includes/api/ApiQueryLogEvents.php
includes/api/ApiQueryRecentChanges.php
includes/api/ApiQueryRevisions.php
includes/api/ApiQueryTokens.php
includes/api/ApiQueryUserInfo.php
includes/api/ApiQueryUsers.php
includes/api/ApiStashEdit.php
includes/api/ApiTokens.php
includes/api/i18n/ca.json
includes/api/i18n/cs.json
includes/api/i18n/gl.json
includes/api/i18n/ksh.json
includes/api/i18n/uk.json
includes/api/i18n/zh-hans.json
includes/api/i18n/zh-hant.json
includes/changes/EnhancedChangesList.php
includes/config/ConfigException.php
includes/content/AbstractContent.php
includes/content/Content.php
includes/context/RequestContext.php
includes/db/Database.php
includes/db/DatabaseMssql.php
includes/db/DatabasePostgres.php
includes/db/DatabaseSqlite.php
includes/deferred/HTMLCacheUpdate.php
includes/gallery/TraditionalImageGallery.php
includes/installer/Installer.php
includes/installer/LocalSettingsGenerator.php
includes/installer/PostgresInstaller.php
includes/installer/SqliteInstaller.php
includes/installer/WebInstallerPage.php
includes/installer/i18n/ast.json
includes/installer/i18n/ca.json
includes/installer/i18n/cs.json
includes/installer/i18n/en-gb.json
includes/installer/i18n/fa.json
includes/installer/i18n/id.json
includes/installer/i18n/nl.json
includes/jobqueue/JobQueueFederated.php
includes/libs/objectcache/APCBagOStuff.php [new file with mode: 0644]
includes/libs/objectcache/BagOStuff.php [new file with mode: 0644]
includes/libs/objectcache/EmptyBagOStuff.php [new file with mode: 0644]
includes/libs/objectcache/HashBagOStuff.php [new file with mode: 0644]
includes/libs/objectcache/WinCacheBagOStuff.php [new file with mode: 0644]
includes/libs/objectcache/XCacheBagOStuff.php [new file with mode: 0644]
includes/logging/BlockLogFormatter.php
includes/logging/LogFormatter.php
includes/objectcache/APCBagOStuff.php [deleted file]
includes/objectcache/BagOStuff.php [deleted file]
includes/objectcache/EmptyBagOStuff.php [deleted file]
includes/objectcache/HashBagOStuff.php [deleted file]
includes/objectcache/MultiWriteBagOStuff.php
includes/objectcache/SqlBagOStuff.php
includes/objectcache/WinCacheBagOStuff.php [deleted file]
includes/objectcache/XCacheBagOStuff.php [deleted file]
includes/parser/ParserOutput.php
includes/resourceloader/ResourceLoaderSiteModule.php
includes/site/HashSiteStore.php [new file with mode: 0644]
includes/specials/SpecialListfiles.php
includes/specials/SpecialMediaStatistics.php
includes/specials/SpecialMyLanguage.php
includes/templates/Usercreate.php
languages/Language.php
languages/i18n/af.json
languages/i18n/am.json
languages/i18n/an.json
languages/i18n/ang.json
languages/i18n/ar.json
languages/i18n/arc.json
languages/i18n/ary.json
languages/i18n/arz.json
languages/i18n/as.json
languages/i18n/ast.json
languages/i18n/avk.json
languages/i18n/az.json
languages/i18n/azb.json
languages/i18n/ba.json
languages/i18n/bar.json
languages/i18n/bcc.json
languages/i18n/bcl.json
languages/i18n/be-tarask.json
languages/i18n/be.json
languages/i18n/bg.json
languages/i18n/bgn.json
languages/i18n/bjn.json
languages/i18n/bn.json
languages/i18n/bpy.json
languages/i18n/bs.json
languages/i18n/ca.json
languages/i18n/ce.json
languages/i18n/ckb.json
languages/i18n/cs.json
languages/i18n/cu.json
languages/i18n/cy.json
languages/i18n/da.json
languages/i18n/de.json
languages/i18n/el.json
languages/i18n/es.json
languages/i18n/et.json
languages/i18n/eu.json
languages/i18n/ext.json
languages/i18n/fa.json
languages/i18n/fi.json
languages/i18n/fo.json
languages/i18n/fr.json
languages/i18n/frp.json
languages/i18n/frr.json
languages/i18n/fur.json
languages/i18n/fy.json
languages/i18n/ga.json
languages/i18n/gan-hans.json
languages/i18n/gan-hant.json
languages/i18n/gl.json
languages/i18n/grc.json
languages/i18n/gsw.json
languages/i18n/gu.json
languages/i18n/gv.json
languages/i18n/he.json
languages/i18n/hi.json
languages/i18n/hif-latn.json
languages/i18n/hr.json
languages/i18n/hsb.json
languages/i18n/hu.json
languages/i18n/ia.json
languages/i18n/id.json
languages/i18n/ie.json
languages/i18n/ig.json
languages/i18n/inh.json
languages/i18n/io.json
languages/i18n/is.json
languages/i18n/it.json
languages/i18n/ja.json
languages/i18n/jv.json
languages/i18n/ka.json
languages/i18n/kab.json
languages/i18n/kk-arab.json
languages/i18n/kk-cyrl.json
languages/i18n/kk-latn.json
languages/i18n/km.json
languages/i18n/kn.json
languages/i18n/ko.json
languages/i18n/krc.json
languages/i18n/ksh.json
languages/i18n/ku-latn.json
languages/i18n/kw.json
languages/i18n/ky.json
languages/i18n/la.json
languages/i18n/lad.json
languages/i18n/lb.json
languages/i18n/lfn.json
languages/i18n/li.json
languages/i18n/lt.json
languages/i18n/lv.json
languages/i18n/lzh.json
languages/i18n/mai.json
languages/i18n/mdf.json
languages/i18n/min.json
languages/i18n/mk.json
languages/i18n/mn.json
languages/i18n/ms.json
languages/i18n/mt.json
languages/i18n/myv.json
languages/i18n/nap.json
languages/i18n/nb.json
languages/i18n/nds-nl.json
languages/i18n/nds.json
languages/i18n/ne.json
languages/i18n/nl.json
languages/i18n/nn.json
languages/i18n/oc.json
languages/i18n/or.json
languages/i18n/os.json
languages/i18n/pam.json
languages/i18n/pdc.json
languages/i18n/pfl.json
languages/i18n/pl.json
languages/i18n/pms.json
languages/i18n/pnb.json
languages/i18n/prg.json
languages/i18n/ps.json
languages/i18n/pt-br.json
languages/i18n/pt.json
languages/i18n/qqq.json
languages/i18n/qu.json
languages/i18n/rm.json
languages/i18n/ro.json
languages/i18n/roa-tara.json
languages/i18n/ru.json
languages/i18n/rue.json
languages/i18n/sa.json
languages/i18n/sah.json
languages/i18n/sc.json
languages/i18n/scn.json
languages/i18n/sh.json
languages/i18n/si.json
languages/i18n/sk.json
languages/i18n/sl.json
languages/i18n/sq.json
languages/i18n/sr-ec.json
languages/i18n/sr-el.json
languages/i18n/stq.json
languages/i18n/su.json
languages/i18n/sv.json
languages/i18n/sw.json
languages/i18n/szl.json
languages/i18n/ta.json
languages/i18n/te.json
languages/i18n/tet.json
languages/i18n/tg-cyrl.json
languages/i18n/tg-latn.json
languages/i18n/th.json
languages/i18n/tk.json
languages/i18n/tl.json
languages/i18n/tr.json
languages/i18n/tt-latn.json
languages/i18n/tw.json
languages/i18n/ug-arab.json
languages/i18n/uk.json
languages/i18n/ur.json
languages/i18n/vec.json
languages/i18n/vep.json
languages/i18n/vi.json
languages/i18n/vo.json
languages/i18n/vro.json
languages/i18n/war.json
languages/i18n/yi.json
languages/i18n/yo.json
languages/i18n/yue.json
languages/i18n/zea.json
languages/i18n/zh-hans.json
languages/i18n/zh-hant.json
languages/messages/MessagesTt_cyrl.php
maintenance/Maintenance.php
maintenance/refreshLinks.php
mw-config/overrides.php
resources/lib/oojs-ui/oojs-ui-mediawiki.css
resources/lib/oojs-ui/oojs-ui-mediawiki.js
resources/lib/oojs-ui/oojs-ui.js
resources/lib/oojs/oojs.jquery.js
resources/src/mediawiki.action/mediawiki.action.edit.preview.js
resources/src/mediawiki/mediawiki.js
resources/src/mediawiki/mediawiki.sectionAnchor.css
resources/src/mediawiki/mediawiki.sectionAnchor.hide.css
tests/parser/parserTests.txt
tests/phpunit/includes/UserTest.php
tests/phpunit/includes/parser/ParserOutputTest.php
tests/phpunit/includes/site/HashSiteStoreTest.php [new file with mode: 0644]

index 92c8c43..d77ffb8 100644 (file)
--- a/.jshintrc
+++ b/.jshintrc
@@ -20,6 +20,7 @@
 
        "globals": {
                "mediaWiki": true,
+               "JSON": true,
                "jQuery": false,
                "QUnit": false
        }
index 18b7f61..642fef8 100644 (file)
@@ -109,6 +109,8 @@ production.
   pointing to it.
 * New hooks 'ApiMain::moduleManager' and 'ApiQuery::moduleManager', can be
   used for conditional registration of API modules.
+* New hook 'EnhancedChangesList::getLogText' to alter, remove or add to the
+  links of a group of changes in EnhancedChangesList.
 
 ==== External libraries ====
 * MediaWiki now requires certain external libraries to be installed. In the past
@@ -261,6 +263,9 @@ production.
   to allow generators to include data in the action=query result.
 * New hooks 'ApiMain::moduleManager' and 'ApiQuery::moduleManager', can be
   used for conditional registration of API modules.
+* Added ApiBase::lacksSameOriginSecurity() to allow modules to easily check if
+  the current request was sent with the 'callback' parameter (or any future
+  method that breaks the same-origin policy).
 * The following methods have been deprecated and may be removed in a future
   release:
   * ApiBase::getDescription
@@ -373,6 +378,14 @@ changes to languages because of Bugzilla reports.
 * Removed maintenance script dumpSisterSites.php.
 * DatabaseBase class constructors must be called using the array argument style.
   Ideally, DatabaseBase:factory() should be used instead in most cases.
+* Deprecated ParserOutput::addSecondaryDataUpdate and ParserOutput::getSecondaryDataUpdates.
+  This is a hard deprecation, with getSecondaryDataUpdates returning an empty array and
+  addSecondaryDataUpdate throwing an exception. These functions will be removed in 1.26,
+  since they interfere with caching of ParserOutput objects.
+* Introduced new hook 'SecondaryDataUpdates' that allows extensions to inject custom updates.
+* EditPage::attemptSave has been modified not to call handleStatus itself and
+  instead just returns the Status object. Extension calling it should be aware of
+  this.
 
 == Compatibility ==
 
index 705f5bd..90fab64 100644 (file)
@@ -4,7 +4,7 @@
 global $wgAutoloadLocalClasses;
 
 $wgAutoloadLocalClasses = array(
-       'APCBagOStuff' => __DIR__ . '/includes/objectcache/APCBagOStuff.php',
+       'APCBagOStuff' => __DIR__ . '/includes/libs/objectcache/APCBagOStuff.php',
        'AbstractContent' => __DIR__ . '/includes/content/AbstractContent.php',
        'Action' => __DIR__ . '/includes/actions/Action.php',
        'ActiveUsersPager' => __DIR__ . '/includes/specials/SpecialActiveusers.php',
@@ -147,7 +147,7 @@ $wgAutoloadLocalClasses = array(
        'BackupDumper' => __DIR__ . '/maintenance/backup.inc',
        'BackupReader' => __DIR__ . '/maintenance/importDump.php',
        'BadTitleError' => __DIR__ . '/includes/exception/BadTitleError.php',
-       'BagOStuff' => __DIR__ . '/includes/objectcache/BagOStuff.php',
+       'BagOStuff' => __DIR__ . '/includes/libs/objectcache/BagOStuff.php',
        'BaseDump' => __DIR__ . '/maintenance/backupPrefetch.inc',
        'BaseTemplate' => __DIR__ . '/includes/skins/BaseTemplate.php',
        'BatchedQueryRunner' => __DIR__ . '/maintenance/runBatchedQuery.php',
@@ -365,7 +365,7 @@ $wgAutoloadLocalClasses = array(
        'EmailInvalidation' => __DIR__ . '/includes/specials/SpecialConfirmemail.php',
        'EmailNotification' => __DIR__ . '/includes/mail/EmailNotification.php',
        'EmaillingJob' => __DIR__ . '/includes/jobqueue/jobs/EmaillingJob.php',
-       'EmptyBagOStuff' => __DIR__ . '/includes/objectcache/EmptyBagOStuff.php',
+       'EmptyBagOStuff' => __DIR__ . '/includes/libs/objectcache/EmptyBagOStuff.php',
        'EmptyBloomCache' => __DIR__ . '/includes/cache/bloom/BloomCache.php',
        'EncryptedPassword' => __DIR__ . '/includes/password/EncryptedPassword.php',
        'EnhancedChangesList' => __DIR__ . '/includes/changes/EnhancedChangesList.php',
@@ -376,6 +376,7 @@ $wgAutoloadLocalClasses = array(
        'ExifBitmapHandler' => __DIR__ . '/includes/media/ExifBitmap.php',
        'ExplodeIterator' => __DIR__ . '/includes/libs/ExplodeIterator.php',
        'ExportProgressFilter' => __DIR__ . '/maintenance/backup.inc',
+       'ExportSites' => __DIR__ . '/maintenance/exportSites.php',
        'ExtensionLanguages' => __DIR__ . '/maintenance/language/languages.inc',
        'ExtensionProcessor' => __DIR__ . '/includes/registration/ExtensionProcessor.php',
        'ExtensionRegistry' => __DIR__ . '/includes/registration/ExtensionRegistry.php',
@@ -494,9 +495,10 @@ $wgAutoloadLocalClasses = array(
        'HTMLTextAreaField' => __DIR__ . '/includes/htmlform/HTMLTextAreaField.php',
        'HTMLTextField' => __DIR__ . '/includes/htmlform/HTMLTextField.php',
        'HWLDFWordAccumulator' => __DIR__ . '/includes/diff/DairikiDiff.php',
-       'HashBagOStuff' => __DIR__ . '/includes/objectcache/HashBagOStuff.php',
+       'HashBagOStuff' => __DIR__ . '/includes/libs/objectcache/HashBagOStuff.php',
        'HashConfig' => __DIR__ . '/includes/config/HashConfig.php',
        'HashRing' => __DIR__ . '/includes/libs/HashRing.php',
+       'HashSiteStore' => __DIR__ . '/includes/site/HashSiteStore.php',
        'HashtableReplacer' => __DIR__ . '/includes/libs/replacers/HashtableReplacer.php',
        'HistoryAction' => __DIR__ . '/includes/actions/HistoryAction.php',
        'HistoryBlob' => __DIR__ . '/includes/HistoryBlob.php',
@@ -536,6 +538,7 @@ $wgAutoloadLocalClasses = array(
        'ImageQueryPage' => __DIR__ . '/includes/specialpage/ImageQueryPage.php',
        'ImportReporter' => __DIR__ . '/includes/specials/SpecialImport.php',
        'ImportSiteScripts' => __DIR__ . '/maintenance/importSiteScripts.php',
+       'ImportSites' => __DIR__ . '/maintenance/importSites.php',
        'ImportSource' => __DIR__ . '/includes/Import.php',
        'ImportStreamSource' => __DIR__ . '/includes/Import.php',
        'ImportStringSource' => __DIR__ . '/includes/Import.php',
@@ -886,6 +889,7 @@ $wgAutoloadLocalClasses = array(
        'PopulateRevisionLength' => __DIR__ . '/maintenance/populateRevisionLength.php',
        'PopulateRevisionSha1' => __DIR__ . '/maintenance/populateRevisionSha1.php',
        'PostgreSqlLockManager' => __DIR__ . '/includes/filebackend/lockmanager/DBLockManager.php',
+       'PostgresBlob' => __DIR__ . '/includes/db/DatabasePostgres.php',
        'PostgresField' => __DIR__ . '/includes/db/DatabasePostgres.php',
        'PostgresInstaller' => __DIR__ . '/includes/installer/PostgresInstaller.php',
        'PostgresTransactionState' => __DIR__ . '/includes/db/DatabasePostgres.php',
@@ -1328,12 +1332,12 @@ $wgAutoloadLocalClasses = array(
        'WikiStatsOutput' => __DIR__ . '/maintenance/language/StatOutputs.php',
        'WikitextContent' => __DIR__ . '/includes/content/WikitextContent.php',
        'WikitextContentHandler' => __DIR__ . '/includes/content/WikitextContentHandler.php',
-       'WinCacheBagOStuff' => __DIR__ . '/includes/objectcache/WinCacheBagOStuff.php',
+       'WinCacheBagOStuff' => __DIR__ . '/includes/libs/objectcache/WinCacheBagOStuff.php',
        'WithoutInterwikiPage' => __DIR__ . '/includes/specials/SpecialWithoutinterwiki.php',
        'WordLevelDiff' => __DIR__ . '/includes/diff/DairikiDiff.php',
        'WrapOldPasswords' => __DIR__ . '/maintenance/wrapOldPasswords.php',
        'XCFHandler' => __DIR__ . '/includes/media/XCF.php',
-       'XCacheBagOStuff' => __DIR__ . '/includes/objectcache/XCacheBagOStuff.php',
+       'XCacheBagOStuff' => __DIR__ . '/includes/libs/objectcache/XCacheBagOStuff.php',
        'XMLRCFeedFormatter' => __DIR__ . '/includes/rcfeed/XMLRCFeedFormatter.php',
        'XMPInfo' => __DIR__ . '/includes/media/XMPInfo.php',
        'XMPReader' => __DIR__ . '/includes/media/XMP.php',
index 7f8c661..11520ef 100644 (file)
@@ -19,7 +19,7 @@
                "cssjanus/cssjanus": "1.1.1",
                "ext-iconv": "*",
                "leafo/lessphp": "0.5.0",
-               "oojs/oojs-ui": "0.8.0",
+               "oojs/oojs-ui": "0.8.2",
                "php": ">=5.3.3",
                "psr/log": "1.0.0",
                "wikimedia/cdb": "1.0.1",
                "zordius/lightncandy": "0.18"
        },
        "require-dev": {
+               "jakub-onderka/php-parallel-lint": "~0.8",
                "justinrainbow/json-schema": "~1.3",
-               "phpunit/phpunit": "~4.5"
+               "phpunit/phpunit": "~4.5",
+               "mediawiki/mediawiki-codesniffer": "0.1.0"
        },
        "suggest": {
                "ext-fileinfo": "*",
                }
        },
        "scripts": {
+               "lint": "parallel-lint --exclude vendor",
+               "phpcs": "phpcs $PHPCS_ARGS -s --standard=vendor/mediawiki/mediawiki-codesniffer/MediaWiki --ignore=vendor --encoding=utf-8 --extensions=php,php5,inc,sample",
+               "test": [
+                       "composer lint",
+                       "composer phpcs"
+               ],
                "pre-update-cmd": "ComposerHookHandler::onPreUpdate",
                "pre-install-cmd": "ComposerHookHandler::onPreInstall"
        },
index 33029bd..e7b32de 100644 (file)
@@ -5,7 +5,8 @@
        "properties": {
                "name": {
                        "type": "string",
-                       "description": "The extension's canonical name."
+                       "description": "The extension's canonical name.",
+                       "required": true
                },
                "type": {
                        "type": "string",
index 1d211af..62285df 100644 (file)
@@ -1144,6 +1144,11 @@ $editPage: EditPage      object
 saved, that is before WikiPage::doEditContent() is called
 $editpage_Obj: the current EditPage object
 
+'EditPage::attemptSave:after': Called after an article save attempt
+$editpage_Obj: the current EditPage object
+$status: the resulting Status object
+$resultDetails: Result details array
+
 'EditPage::importFormData': allow extensions to read additional data
 posted in the form
 $editpage: EditPage instance
@@ -1277,6 +1282,12 @@ $editToken: The user's edit token.
 &$hookErr: Out-param for the error. Passed as the parameters to
   OutputPage::showErrorPage.
 
+'EnhancedChangesList::getLogText': to alter, remove or add to the links of a
+group of changes in EnhancedChangesList.
+$changesList: EnhancedChangesList object
+&$links: The links that were generated by EnhancedChangesList
+$block: The RecentChanges objects in that block
+
 'ExemptFromAccountCreationThrottle': Exemption from the account creation
 throttle.
 $ip: The ip address of the user
@@ -2370,6 +2381,18 @@ $title : Current Title object being displayed in search results.
 'SearchableNamespaces': An option to modify which namespaces are searchable.
 &$arr : Array of namespaces ($nsId => $name) which will be used.
 
+'SecondaryDataUpdates': Allows modification of the list of DataUpdates to
+perform when page content is modified. Currently called by
+AbstractContent::getSecondaryDataUpdates.
+$title: Title of the page that is being edited.
+$oldContent: Content object representing the page's content before the edit.
+$recursive: bool indicating whether DataUpdates should trigger recursive
+  updates (relevant mostly for LinksUpdate).
+$parserOutput: ParserOutput representing the rendered version of the page
+  after the edit.
+&$updates: a list of DataUpdate objects, to be modified or replaced by
+  the hook handler.
+
 'SelfLinkBegin': Called before a link to the current article is displayed to
 allow the display of the link to be customized.
 $nt: the Title object
index f5d98a7..a8a17cf 100644 (file)
@@ -534,7 +534,9 @@ class EditPage {
                # in the back door with a hand-edited submission URL.
 
                if ( 'save' == $this->formtype ) {
-                       if ( !$this->attemptSave() ) {
+                       $resultDetails = null;
+                       $status = $this->attemptSave( $resultDetails );
+                       if ( !$this->handleStatus( $status, $resultDetails ) ) {
                                return;
                        }
                }
@@ -1284,18 +1286,20 @@ class EditPage {
 
        /**
         * Attempt submission
+        * @param array $resultDetails See docs for $result in internalAttemptSave
         * @throws UserBlockedError|ReadOnlyError|ThrottledError|PermissionsError
-        * @return bool False if output is done, true if the rest of the form should be displayed
+        * @return Status The resulting status object.
         */
-       public function attemptSave() {
+       public function attemptSave( &$resultDetails = false ) {
                global $wgUser;
 
-               $resultDetails = false;
                # Allow bots to exempt some edits from bot flagging
                $bot = $wgUser->isAllowed( 'bot' ) && $this->bot;
                $status = $this->internalAttemptSave( $resultDetails, $bot );
 
-               return $this->handleStatus( $status, $resultDetails );
+               Hooks::run( 'EditPage::attemptSave:after', array( $this, $status, $resultDetails ) );
+
+               return $status;
        }
 
        /**
@@ -2992,6 +2996,12 @@ HTML
 
                if ( $this->formtype == 'preview' ) {
                        $this->showPreview( $previewOutput );
+               } else {
+                       // Empty content container for LivePreview
+                       $pageViewLang = $this->mTitle->getPageViewLanguage();
+                       $attribs = array( 'lang' => $pageViewLang->getHtmlCode(), 'dir' => $pageViewLang->getDir(),
+                               'class' => 'mw-content-' . $pageViewLang->getDir() );
+                       $wgOut->addHTML( Html::rawElement( 'div', $attribs ) );
                }
 
                $wgOut->addHTML( '</div>' );
index d066df8..3728cdf 100644 (file)
@@ -82,14 +82,22 @@ class Http {
        /**
         * Simple wrapper for Http::request( 'GET' )
         * @see Http::request()
+        * @since 1.25 Second parameter $timeout removed. Second parameter
+        * is now $options which can be given a 'timeout'
         *
         * @param string $url
-        * @param string $timeout
         * @param array $options
         * @return string
         */
-       public static function get( $url, $timeout = 'default', $options = array() ) {
-               $options['timeout'] = $timeout;
+       public static function get( $url, $options = array() ) {
+               $args = func_get_args();
+               if ( isset( $args[1] ) && ( is_string( $args[1] ) || is_numeric( $args[1] ) ) ) {
+                       // Second was used to be the timeout
+                       // And third parameter used to be $options
+                       wfWarn( "Second parameter should not be a timeout." );
+                       $options = isset( $args[2] ) ? $args[2] : array();
+                       $options['timeout'] = $args[1];
+               }
                return Http::request( 'GET', $url, $options );
        }
 
index eb2ca77..c036fbe 100644 (file)
@@ -376,12 +376,12 @@ class WikiImporter {
                $page->loadPageData( 'fromdbmaster' );
                $content = $page->getContent();
                $editInfo = $page->prepareContentForEdit( $content );
-
+               $countKey = 'title_' . $title->getPrefixedText();
                $countable = $page->isCountable( $editInfo );
-               $oldcountable = $this->countableCache['title_' . $title->getPrefixedText()];
-               if ( isset( $oldcountable ) && $countable != $oldcountable ) {
+               if ( array_key_exists( $countKey, $this->countableCache ) &&
+                       $countable != $this->countableCache[ $countKey ] ) {
                        DeferredUpdates::addUpdate( SiteStatsUpdate::factory( array(
-                               'articles' => ( (int)$countable - (int)$oldcountable )
+                               'articles' => ( (int)$countable - (int)$this->countableCache[ $countKey ] )
                        ) ) );
                }
 
@@ -477,7 +477,8 @@ class WikiImporter {
        /**
         * Retrieves the contents of the named attribute of the current element.
         * @param string $attr The name of the attribute
-        * @return string The value of the attribute or an empty string if it is not set in the current element.
+        * @return string The value of the attribute or an empty string if it is not set in the current
+        * element.
         */
        public function nodeAttribute( $attr ) {
                return $this->reader->getAttribute( $attr );
index dd224ef..5a05bd4 100644 (file)
@@ -1754,6 +1754,9 @@ class Linker {
                                array(
                                        'href' => '#' . $anchor,
                                        'class' => 'mw-headline-anchor',
+                                       // Hide from screen readers, as it is inside a heading (the programs use headings to
+                                       // navigate, so the symbol is being read during navigation). Pending T13555 being fixed.
+                                       'aria-hidden' => 'true',
                                        'title' => wfMessage( 'headline-anchor-title' )->text()
                                ),
                                wfMessage( 'section-symbol' )->text()
index c21f5e9..3b463ae 100644 (file)
@@ -489,14 +489,16 @@ class MediaWiki {
                $action = $this->getAction();
                $wgTitle = $title;
 
+               $trxProfiler = Profiler::instance()->getTransactionProfiler();
+
                // Aside from rollback, master queries should not happen on GET requests.
                // Periodic or "in passing" updates on GET should use the job queue.
                if ( !$request->wasPosted()
                        && in_array( $action, array( 'view', 'edit', 'history' ) )
                ) {
-                       $trxProfiler = Profiler::instance()->getTransactionProfiler();
                        $trxProfiler->setExpectation( 'masterConns', 0, __METHOD__ );
                        $trxProfiler->setExpectation( 'writes', 0, __METHOD__ );
+               } else {
                        $trxProfiler->setExpectation( 'maxAffected', 500, __METHOD__ );
                }
 
index 6f7e8e5..8de9cc9 100644 (file)
@@ -93,6 +93,7 @@ class MessageBlobStore {
 
                try {
                        $dbw = wfGetDB( DB_MASTER );
+                       $dbw->startAtomic( __METHOD__ );
                        $success = $dbw->insert( 'msg_resource', array(
                                        'mr_lang' => $lang,
                                        'mr_resource' => $name,
@@ -127,7 +128,8 @@ class MessageBlobStore {
                                        );
                                }
                        }
-               } catch ( Exception $e ) {
+                       $dbw->endAtomic( __METHOD__ );
+               } catch ( DBError $e ) {
                        wfDebug( __METHOD__ . " failed to update DB: $e\n" );
                }
                return $blob;
index 559ffb9..a178fed 100644 (file)
@@ -97,7 +97,7 @@ class TemplateParser {
 
                // Fetch a secret key for building a keyed hash of the PHP code
                $config = ConfigFactory::getDefaultInstance()->makeConfig( 'main' );
-               $secretKey = $config->get( 'SecretKey' );
+               $secretKey = $config->get( 'SecretKey' ) ? : 'key';
 
                // See if the compiled PHP code is stored in cache.
                // CACHE_ACCEL throws an exception if no suitable object cache is present, so fall
index 7025717..03ac4fd 100644 (file)
@@ -1240,6 +1240,10 @@ class User implements IDBAccessObject {
                        $all = false;
                }
 
+               if ( isset( $row->user_id ) && isset( $row->user_name ) ) {
+                       self::$idCacheByName[$row->user_name] = $row->user_id;
+               }
+
                if ( isset( $row->user_editcount ) ) {
                        $this->mEditCount = $row->user_editcount;
                } else {
index e5621da..31bd601 100644 (file)
@@ -56,6 +56,27 @@ abstract class UserArray implements Iterator {
                return self::newFromResult( $res );
        }
 
+       /**
+        * @since 1.25
+        * @param array $names
+        * @return UserArrayFromResult
+        */
+       static function newFromNames( $names ) {
+               $names = array_map( 'strval', (array)$names ); // paranoia
+               if ( !$names ) {
+                       // Database::select() doesn't like empty arrays
+                       return new ArrayIterator( array() );
+               }
+               $dbr = wfGetDB( DB_SLAVE );
+               $res = $dbr->select(
+                       'user',
+                       User::selectFields(),
+                       array( 'user_name' => array_unique( $names ) ),
+                       __METHOD__
+               );
+               return self::newFromResult( $res );
+       }
+
        /**
         * @param ResultWrapper $res
         * @return UserArrayFromResult
index ff31eb6..338d939 100644 (file)
@@ -246,13 +246,13 @@ class InfoAction extends FormlessAction {
                        $pageInfo['header-basic'][] = array(
                                $this->msg( 'pageinfo-redirectsto' ),
                                Linker::link( $this->page->getRedirectTarget() ) .
-                               $this->msg( 'word-separator' )->text() .
-                               $this->msg( 'parentheses', Linker::link(
+                               $this->msg( 'word-separator' )->escaped() .
+                               $this->msg( 'parentheses' )->rawParams( Linker::link(
                                        $this->page->getRedirectTarget(),
                                        $this->msg( 'pageinfo-redirectsto-info' )->escaped(),
                                        array(),
                                        array( 'action' => 'info' )
-                               ) )->text()
+                               ) )->escaped()
                        );
                }
 
index 3a31b2a..be5a9c3 100644 (file)
@@ -380,6 +380,20 @@ abstract class ApiBase extends ContextSource {
                return $this->isMain() ? null : $this->getMain();
        }
 
+       /**
+        * Returns true if the current request breaks the same-origin policy.
+        *
+        * For example, json with callbacks.
+        *
+        * https://en.wikipedia.org/wiki/Same-origin_policy
+        *
+        * @since 1.25
+        * @return bool
+        */
+       public function lacksSameOriginSecurity() {
+               return $this->getMain()->getRequest()->getVal( 'callback' ) !== null;
+       }
+
        /**
         * Get the path to this module
         *
index a7ba48a..b56a244 100644 (file)
  */
 class ApiCreateAccount extends ApiBase {
        public function execute() {
-               // If we're in JSON callback mode, no tokens can be obtained
-               if ( !is_null( $this->getMain()->getRequest()->getVal( 'callback' ) ) ) {
-                       $this->dieUsage( 'Cannot create account when using a callback', 'aborted' );
+               // If we're in a mode that breaks the same-origin policy, no tokens can
+               // be obtained
+               if ( $this->lacksSameOriginSecurity() ) {
+                       $this->dieUsage(
+                               'Cannot create account when the same-origin policy is not applied', 'aborted'
+                       );
                }
 
                // $loginForm->addNewaccountInternal will throw exceptions
index 8ad2ad9..15fa333 100644 (file)
@@ -255,6 +255,7 @@ class ApiEditPage extends ApiBase {
                        'wpIgnoreBlankSummary' => true,
                        'wpIgnoreBlankArticle' => true,
                        'wpIgnoreSelfRedirect' => true,
+                       'bot' => $params['bot'],
                );
 
                if ( !is_null( $params['summary'] ) ) {
@@ -401,7 +402,7 @@ class ApiEditPage extends ApiBase {
                $oldRequest = $wgRequest;
                $wgRequest = $req;
 
-               $status = $ep->internalAttemptSave( $result, $user->isAllowed( 'bot' ) && $params['bot'] );
+               $status = $ep->attemptSave( $result );
                $wgRequest = $oldRequest;
 
                switch ( $status->value ) {
index 920dbbf..5480d94 100644 (file)
@@ -46,11 +46,12 @@ class ApiLogin extends ApiBase {
         * is reached. The expiry is $this->mLoginThrottle.
         */
        public function execute() {
-               // If we're in JSON callback mode, no tokens can be obtained
-               if ( !is_null( $this->getMain()->getRequest()->getVal( 'callback' ) ) ) {
+               // If we're in a mode that breaks the same-origin policy, no tokens can
+               // be obtained
+               if ( $this->lacksSameOriginSecurity() ) {
                        $this->getResult()->addValue( null, 'login', array(
                                'result' => 'Aborted',
-                               'reason' => 'Cannot log in when using a callback',
+                               'reason' => 'Cannot log in when the same-origin policy is not applied',
                        ) );
 
                        return;
index fe01f11..d5cd475 100644 (file)
@@ -181,10 +181,10 @@ class ApiMain extends ApiBase {
                        // Remove all modules other than login
                        global $wgUser;
 
-                       if ( $this->getVal( 'callback' ) !== null ) {
-                               // JSON callback allows cross-site reads.
-                               // For safety, strip user credentials.
-                               wfDebug( "API: stripping user credentials for JSON callback\n" );
+                       if ( $this->lacksSameOriginSecurity() ) {
+                               // If we're in a mode that breaks the same-origin policy, strip
+                               // user credentials for security.
+                               wfDebug( "API: stripping user credentials when the same-origin policy is not applied\n" );
                                $wgUser = new User();
                                $this->getContext()->setUser( $wgUser );
                        }
index b74d528..f0a5daf 100644 (file)
@@ -156,7 +156,7 @@ class ApiParamInfo extends ApiBase {
                                if ( $joinLists ) {
                                        $ret = preg_replace( '!\s*</([oud]l)>\s*<\1>\s*!', "\n", $ret );
                                }
-                               $res[$key] = $ret;
+                               $res[$key] = Parser::stripOuterParagraph( $ret );
                                break;
 
                        case 'raw':
index f828255..f46fb34 100644 (file)
@@ -75,8 +75,9 @@ class ApiQueryDeletedrevs extends ApiQueryBase {
                        );
                }
 
-               // If we're in JSON callback mode, no tokens can be obtained
-               if ( !is_null( $this->getMain()->getRequest()->getVal( 'callback' ) ) ) {
+               // If we're in a mode that breaks the same-origin policy, no tokens can
+               // be obtained
+               if ( $this->lacksSameOriginSecurity() ) {
                        $fld_token = false;
                }
 
index 02c88c4..5af44ee 100644 (file)
@@ -90,8 +90,9 @@ class ApiQueryInfo extends ApiQueryBase {
                        return $this->tokenFunctions;
                }
 
-               // If we're in JSON callback mode, no tokens can be obtained
-               if ( !is_null( $this->getMain()->getRequest()->getVal( 'callback' ) ) ) {
+               // If we're in a mode that breaks the same-origin policy, no tokens can
+               // be obtained
+               if ( $this->lacksSameOriginSecurity() ) {
                        return array();
                }
 
index c4eb7a8..adf96fd 100644 (file)
@@ -310,14 +310,21 @@ class ApiQueryLogEvents extends ApiQueryBase {
                                if ( $action == 'unblock' ) {
                                        break;
                                }
+                               if ( $legacy ) {
+                                       $durationKey = 0;
+                                       $flagsKey = 1;
+                               } else {
+                                       $durationKey = '5::duration';
+                                       $flagsKey = '6::flags';
+                               }
                                $vals2 = array();
-                               $vals2['duration'] = $params[0];
-                               $vals2['flags'] = isset( $params[1] ) ? $params[1] : '';
+                               $vals2['duration'] = $params[$durationKey];
+                               $vals2['flags'] = isset( $params[$flagsKey] ) ? $params[$flagsKey] : '';
 
                                // Indefinite blocks have no expiry time
-                               if ( SpecialBlock::parseExpiryInput( $params[0] ) !== wfGetDB( DB_SLAVE )->getInfinity() ) {
+                               if ( SpecialBlock::parseExpiryInput( $params[$durationKey] ) !== wfGetDB( DB_SLAVE )->getInfinity() ) {
                                        $vals2['expiry'] = wfTimestamp( TS_ISO_8601,
-                                               strtotime( $params[0], wfTimestamp( TS_UNIX, $ts ) ) );
+                                               strtotime( $params[$durationKey], wfTimestamp( TS_UNIX, $ts ) ) );
                                }
                                $vals[$type] = $vals2;
                                $params = null;
index bfdc5ab..1482034 100644 (file)
@@ -56,8 +56,9 @@ class ApiQueryRecentChanges extends ApiQueryGeneratorBase {
                        return $this->tokenFunctions;
                }
 
-               // If we're in JSON callback mode, no tokens can be obtained
-               if ( !is_null( $this->getMain()->getRequest()->getVal( 'callback' ) ) ) {
+               // If we're in a mode that breaks the same-origin policy, no tokens can
+               // be obtained
+               if ( $this->lacksSameOriginSecurity() ) {
                        return array();
                }
 
index 7092fc4..552ca3b 100644 (file)
@@ -53,8 +53,9 @@ class ApiQueryRevisions extends ApiQueryRevisionsBase {
                        return $this->tokenFunctions;
                }
 
-               // If we're in JSON callback mode, no tokens can be obtained
-               if ( !is_null( $this->getMain()->getRequest()->getVal( 'callback' ) ) ) {
+               // If we're in a mode that breaks the same-origin policy, no tokens can
+               // be obtained
+               if ( $this->lacksSameOriginSecurity() ) {
                        return array();
                }
 
index 2e107ac..f8eee8d 100644 (file)
@@ -37,8 +37,8 @@ class ApiQueryTokens extends ApiQueryBase {
                $params = $this->extractRequestParams();
                $res = array();
 
-               if ( $this->getMain()->getRequest()->getVal( 'callback' ) !== null ) {
-                       $this->setWarning( 'Tokens may not be obtained when using a callback' );
+               if ( $this->lacksSameOriginSecurity() ) {
+                       $this->setWarning( 'Tokens may not be obtained when the same-origin policy is not applied' );
                        return;
                }
 
index 7fc0ba8..1e3a432 100644 (file)
@@ -115,7 +115,7 @@ class ApiQueryUserInfo extends ApiQueryBase {
                        );
                }
                if ( isset( $this->prop['preferencestoken'] ) &&
-                       is_null( $this->getMain()->getRequest()->getVal( 'callback' ) ) &&
+                       !$this->lacksSameOriginSecurity() &&
                        $user->isAllowed( 'editmyoptions' )
                ) {
                        $vals['preferencestoken'] = $user->getEditToken( '', $this->getMain()->getRequest() );
index b7f2f9a..52636cc 100644 (file)
@@ -67,8 +67,9 @@ class ApiQueryUsers extends ApiQueryBase {
                        return $this->tokenFunctions;
                }
 
-               // If we're in JSON callback mode, no tokens can be obtained
-               if ( !is_null( $this->getMain()->getRequest()->getVal( 'callback' ) ) ) {
+               // If we're in a mode that breaks the same-origin policy, no tokens can
+               // be obtained
+               if ( $this->lacksSameOriginSecurity() ) {
                        return array();
                }
 
index 09489e4..3457670 100644 (file)
@@ -334,11 +334,7 @@ class ApiStashEdit extends ApiBase {
                $since = time() - wfTimestamp( TS_UNIX, $parserOutput->getTimestamp() );
                $ttl = min( $parserOutput->getCacheExpiry() - $since, 5 * 60 );
 
-               // Note: ParserOutput with that contains secondary data update callbacks can not be
-               // stashed, since the callbacks are not serializable (see ParserOutput::__sleep).
-               $hasCustomDataUpdates = $parserOutput->hasCustomDataUpdates();
-
-               if ( $ttl > 0 && !$parserOutput->getFlag( 'vary-revision' ) && !$hasCustomDataUpdates ) {
+               if ( $ttl > 0 && !$parserOutput->getFlag( 'vary-revision' ) ) {
                        // Only store what is actually needed
                        $stashInfo = (object)array(
                                'pstContent' => $pstContent,
index 073495c..9eb4020 100644 (file)
@@ -54,8 +54,9 @@ class ApiTokens extends ApiBase {
        }
 
        private function getTokenTypes() {
-               // If we're in JSON callback mode, no tokens can be obtained
-               if ( !is_null( $this->getMain()->getRequest()->getVal( 'callback' ) ) ) {
+               // If we're in a mode that breaks the same-origin policy, no tokens can
+               // be obtained
+               if ( $this->lacksSameOriginSecurity() ) {
                        return array();
                }
 
index 73179d0..7aa1730 100644 (file)
@@ -2,17 +2,42 @@
        "@metadata": {
                "authors": [
                        "Toniher",
-                       "Macofe"
+                       "Macofe",
+                       "Xavier Dengra"
                ]
        },
        "apihelp-main-param-format": "El format de la sortida.",
        "apihelp-block-description": "Bloca un usuari.",
+       "apihelp-block-param-reason": "Raó del blocatge.",
        "apihelp-block-param-nocreate": "Evita la creació de comptes.",
+       "apihelp-createaccount-description": "Creeu un nou compte d'usuari.",
        "apihelp-createaccount-param-name": "Nom d'usuari.",
        "apihelp-createaccount-param-password": "Contrasenya (ignorada si es defineix <var>$1mailpassword</var>)",
+       "apihelp-createaccount-param-email": "Adreça electrònica de l'usuari (opcional).",
+       "apihelp-createaccount-param-realname": "Nom real de l'usuari (opcional).",
        "apihelp-delete-description": "Suprimeix una pàgina.",
+       "apihelp-disabled-description": "Aquest mòdul ha estat desactivat.",
        "apihelp-edit-description": "Crea i edita pàgines.",
        "apihelp-edit-param-text": "Contingut de la pàgina.",
+       "apihelp-edit-param-minor": "Edició menor.",
+       "apihelp-edit-param-createonly": "No editeu aquesta pàgina si ja existeix.",
+       "apihelp-edit-example-edit": "Editeu una pàgina.",
+       "apihelp-emailuser-description": "Envieu un correu electrònic a un usuari.",
+       "apihelp-emailuser-param-target": "Usuari a qui enviar el correu.",
+       "apihelp-emailuser-param-text": "Cos del correu.",
+       "apihelp-emailuser-param-ccme": "Envia'm una còpia d'aquest correu electrònic.",
        "apihelp-expandtemplates-param-title": "Títol de la pàgina.",
+       "apihelp-feedcontributions-param-deletedonly": "Mostra només les contribucions esborrades.",
+       "apihelp-feedrecentchanges-param-hideminor": "Amaga les edicions menors.",
+       "apihelp-feedrecentchanges-param-hidebots": "Amaga les edicions de bots.",
+       "apihelp-feedrecentchanges-param-hideanons": "Amaga les edicions anònimes.",
+       "apihelp-feedrecentchanges-param-hideliu": "Amaga les edicions d'usuaris registrats.",
+       "apihelp-feedrecentchanges-param-hidepatrolled": "Amaga les edicions patrullades.",
+       "apihelp-feedrecentchanges-param-hidemyself": "Amaga les meves edicions.",
+       "apihelp-feedrecentchanges-param-tagfilter": "Filtra segons etiqueta.",
+       "apihelp-feedrecentchanges-param-target": "Mostra només els canvis de les pàgines enllaçades a aquesta pàgina.",
+       "apihelp-feedrecentchanges-example-simple": "Mostra els canvis recents.",
+       "apihelp-help-example-recursive": "Tota l'ajuda en una sola pàgina.",
+       "apihelp-import-param-rootpage": "Importa com a subpàgina d'aquesta pàgina.",
        "apihelp-login-example-login": "Inicia sessió."
 }
index 9fa47e2..edc6ad0 100644 (file)
@@ -4,16 +4,17 @@
                        "Mormegil",
                        "YjM",
                        "Juandev",
-                       "Aktron"
+                       "Aktron",
+                       "Cvanca"
                ]
        },
-       "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page Dokumentace]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/API:FAQ FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api E-mailová konference]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce Oznámení k API]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Chyby a požadavky]\n</div>\n<strong>Stav:</strong> Všechny funkce uvedené na této stránce by měly fungovat, ale API se stále aktivně vyvíjí a může se kdykoli změnit. Upozornění na změny získáte přihlášením se k [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ e-mailové konferenci mediawiki-api-announce].\n\n<strong>Chybné požadavky:</strong> Pokud jsou do API zaslány chybné požadavky, bude vrácena HTTP hlavička s klíčem „MediaWiki-API-Error“ a hodnota této hlavičky a chybový kód budou nastaveny na stejnou hodnotu. Více informací najdete na stránce https://www.mediawiki.org/wiki/API:Errors_and_warnings.",
+       "apihelp-main-description": "<div class=\"hlist plainlinks api-main-links\">\n* [[mw:API:Main_page|Documentation]]\n* [[mw:API:FAQ|FAQ]]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api Mailing list]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce API Announcements]\n* [https://phabricator.wikimedia.org/maniphest/query/GebfyV4uCaLd/#R Bugs & requests]\n</div>\n<strong>Status:</strong> Všechny funkce zobrazené na této stránce by měly fungovat, ale API rozhraní se stále aktivně vyvíjí a může se kdykoliv změnit. Upozornění na změny získáte přihlášením k [https://lists.wikimedia.org/pipermail/mediawiki-api-announce/ the mediawiki-api-announce mailing list].\n\n<strong>Chybné požadavky:</strong> Pokud jsou do API zaslány chybné požadavky, vrátí se HTTP hlavička s klíčem \"MediaWiki-API-Error\" a hodnota této hlavičky a chybový kód se nastaví na stejnou hodnotu. Více informací najdete na [[mw:API:Errors_and_warnings|API: Errors and warnings]].",
        "apihelp-main-param-action": "Jaká akce se má provést.",
        "apihelp-main-param-format": "Formát výstupu.",
        "apihelp-main-param-maxlag": "Maximální zpoždění lze použít, když je MediaWiki nainstalováno na cluster s replikovanou databází. Abyste se vyhnuli zhoršování už tak špatného replikačního zpoždění, můžete tímto parametrem nechat klienta čekat, dokud replikační zpoždění neklesne pod uvedenou hodnotu. V případě příliš vysokého zpoždění se vrátí chybový kód „maxlag“ s hlášením typu „Waiting for $host: $lag seconds lagged“.<br />Více informací najdete v [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Maxlag_parameter příručce].",
        "apihelp-main-param-smaxage": "Nastaví hlavičku <code>s-maxage</code> na uvedený počet sekund. Chyby se nekešují nikdy.",
        "apihelp-main-param-maxage": "Nastaví hlavičku <code>max-age</code> na uvedený počet sekund. Chyby se nekešují nikdy.",
-       "apihelp-main-param-assert": "Ověřit, že je uživatel přihlášen, pokud je nastaveno na „user“, nebo že má uživatelské oprávnění bot, pokud je nastaveno na „bot“.",
+       "apihelp-main-param-assert": "Ověřit, zda je uživatel přihlášen s nastavením <kbd>user</kbd>, nebo zda má uživatelské oprávnění bot s <kbd>bot</kbd>.",
        "apihelp-main-param-requestid": "Libovolná zde uvedená hodnota bude zahrnuta v odpovědi. Lze použít pro rozlišení požadavků.",
        "apihelp-main-param-servedby": "Zahrnout do odpovědi název hostitele, který požadavek obsloužil.",
        "apihelp-main-param-curtimestamp": "Zahrnout do odpovědi aktuální časové razítko.",
@@ -29,8 +30,8 @@
        "apihelp-block-param-allowusertalk": "Povolit uživateli editovat svou vlastní diskusní stránku (závisí na <var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
        "apihelp-block-param-reblock": "Pokud již uživatel blokován je, přepsat současný blok.",
        "apihelp-block-param-watchuser": "Sledovat stránku uživatele nebo IP adresy a jejich diskuzní stránky.",
-       "apihelp-block-example-ip-simple": "Zablokovat IP 192.0.2.5 na tři dny s důvodem „First strike“",
-       "apihelp-block-example-user-complex": "Trvale zablokovat uživatele Vandal s odůvodněním „Vandalism“ a bránit vytváření nových účtů a e-mailování",
+       "apihelp-block-example-ip-simple": "Na tři dny zablokovat IP adresu <kbd>192.0.2.5</kbd> s odůvodněním <kbd>First strike</kbd>.",
+       "apihelp-block-example-user-complex": "Trvale zablokovat uživatele <kbd>Vandal</kbd> s odůvodněním <kbd>Vandalism</kbd> a zabránit vytváření nových účtů a odesílání e-mailů.",
        "apihelp-compare-description": "Vrátí rozdíl dvou stránek.\n\nVe „from“ a „to“ musíte zadat číslo revize, název stránky nebo ID stránky.",
        "apihelp-compare-param-fromtitle": "Název první stránky k porovnání.",
        "apihelp-compare-param-fromid": "ID první stránky k porovnání.",
index 6d3ed76..528ca8a 100644 (file)
@@ -25,6 +25,7 @@
        "apihelp-block-param-allowusertalk": "Permitir que o usuario edite a súa propia páxina de conversa (depende de <var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
        "apihelp-block-param-reblock": "Se o usuario xa está bloqueado, sobreescribir o bloqueo existente.",
        "apihelp-block-param-watchuser": "Vixiar a páxina de usuario ou direccións IP e a de conversa deste usuario",
+       "apihelp-checktoken-param-token": "Símbolo a testar",
        "apihelp-clearhasmsg-description": "Limpar a bandeira <code>hasmsg</code> para o usuario actual",
        "apihelp-clearhasmsg-example-1": "Limpar a bandeira <code>hasmsg</code> para o usuario actual",
        "apihelp-compare-param-fromtitle": "Primeiro título para comparar.",
        "apihelp-createaccount-param-name": "Nome de usuario.",
        "apihelp-createaccount-param-password": "Contrasinal (ignorado se <var>$1mailpassword</var> está activo)",
        "apihelp-createaccount-param-domain": "Dominio para autenticación externa (opcional)",
+       "apihelp-createaccount-param-token": "Símbolo de creación de conta obtido á primeira.",
        "apihelp-createaccount-param-email": "Enderezo de correo eletrónico do usuario (opcional).",
        "apihelp-createaccount-param-realname": "Nome real do usuario (opcional).",
        "apihelp-createaccount-param-mailpassword": "Se se establece calquera valor, enviarase un contrasinal aleatorio ao usuario.",
+       "apihelp-createaccount-param-language": "Código de lingua para usar como defecto polo usuario (de xeito opcional, usarase a lingua por defecto)",
        "apihelp-createaccount-example-pass": "Crear usuario <kbd>testuser</kbd> con contrasinal <kbd>test123</kbd>.",
        "apihelp-createaccount-example-mail": "Crear usuario <kbd>testmailuser</kbd>\"testmailuser\" e enviar por correo electrónico un contrasinal xenerado de forma aleatoria.",
        "apihelp-delete-description": "Borrar a páxina.",
@@ -76,7 +79,9 @@
        "apihelp-expandtemplates-description": "Expandir tódolos modelos en wikitexto.",
        "apihelp-expandtemplates-param-title": "Título da páxina.",
        "apihelp-expandtemplates-param-text": "Sintaxis wiki a converter.",
+       "apihelp-expandtemplates-param-includecomments": "Cando queria incluír comentarios HTML na saída.",
        "apihelp-feedcontributions-description": "Devolve a lista de contribucións dun usuario.",
+       "apihelp-feedcontributions-param-feedformat": "O formato de alimentación.",
        "apihelp-feedcontributions-param-year": "Desde o ano (e anteriores).",
        "apihelp-feedcontributions-param-month": "Desde o mes de (e anteriores).",
        "apihelp-feedcontributions-param-tagfilter": "Filtrar as contribucións que teñan estas etiquetas.",
index 1db437e..41f73b1 100644 (file)
        "apihelp-emailuser-param-ccme": "scheck mer en Koppih vun heh dä <i lang=\"en\" xml:lang=\"en\">e-mail</i>.",
        "apihelp-emailuser-example-email": "Donn en <i lang=\"en\" xml:lang=\"en\">e-mail</i> aan dä Metmaacher <kbd lang=\"en\" xml:lang=\"en\">WikiSysop</kbd> schecke mem Täx <kbd>Dä Enhalld</kbd> dren.",
        "apihelp-expandtemplates-description": "Deiht alle Schablohne en Wikkitäx ömsäze.",
-       "apihelp-expandtemplates-param-title": "De Övverschreff vun dä Sigg."
+       "apihelp-expandtemplates-param-title": "De Övverschreff vun dä Sigg.",
+       "apihelp-query+allmessages-param-prop": "Wat för en Eijeschaffte holle.",
+       "apihelp-query+allmessages-param-filter": "Jiv blohß de Täxte un Nohreesche uß, woh heh dat Täxschtöck dren änthallde es.",
+       "apihelp-query+allmessages-param-customised": "Jiv bloß de Täxte un Nohreesche en heh däm Zohschtand uß.",
+       "apihelp-query+allmessages-param-lang": "Jiv de Täxte un Nohreesche en heh dä Schprohch uß.",
+       "apihelp-query+allmessages-param-from": "Jiv de Täxte un Nohreesche vun heh aan uß.",
+       "apihelp-query+allmessages-param-to": "Jiv de Täxte un Nohreesche bes heh uß.",
+       "apihelp-query+allmessages-param-prefix": "Jiv de Täxte un Nohreesche met heh däm Aanfang uß."
 }
index 4bd5c26..13ce490 100644 (file)
@@ -7,6 +7,10 @@
        },
        "apihelp-main-param-action": "Яку дію виконати.",
        "apihelp-main-param-format": "Формат виводу.",
+       "apihelp-block-description": "Заблокувати користувача.",
+       "apihelp-block-param-user": "Ім'я користувача, IP-адреса або діапазон IP-адрес для блокування.",
+       "apihelp-block-param-reason": "Причина блокування.",
+       "apihelp-block-param-nocreate": "Заборонити створення облікових записів.",
        "apihelp-createaccount-param-name": "Ім'я користувача.",
        "apihelp-createaccount-param-password": "Пароль (ігнорується, якщо встановлено <var>$1mailpassword</var>).",
        "apihelp-createaccount-param-domain": "Домен для зовнішньої аутентифікації (опціонально).",
index 146e878..fe41252 100644 (file)
        "apihelp-logout-example-logout": "退出当前用户",
        "apihelp-managetags-description": "执行有关更改标签的管理任务。",
        "apihelp-managetags-param-operation": "要执行哪个操作:\n;create:创建一个新的更改标签供手动使用。\n;delete:从数据库中移除一个更改标签,包括移除已使用在所有修订版本、最近更改记录和日志记录上的该标签。\n;activate:激活一个更改标签,允许用户手动应用它。\n;deactivate:停用一个更改标签,阻止用户手动应用它。",
+       "apihelp-managetags-param-tag": "要创建、删除、激活或取消激活的标签。要创建标签,标签必须不存在。要删除标签,标签必须存在。要激活标签,标签必须存在,且不被任何扩展使用。要取消激活标签,标签必须当前处于激活状态,且被手动定义。",
        "apihelp-managetags-param-reason": "一个创建、删除、激活或停用标签时的原因,可选。",
        "apihelp-managetags-param-ignorewarnings": "是否忽略操作期间发生的任何警告。",
        "apihelp-managetags-example-create": "创建一个名为<kbd>spam</kbd>的标签,原因<kbd>For use in edit patrolling</kbd>",
        "apihelp-opensearch-example-te": "查找以<kbd>Te</kbd>开头的页面。",
        "apihelp-options-description": "更改当前用户的偏好设置。\n\n只有注册在核心或者已安装扩展中的选项,或者具有\"userjs-\"键值前缀(旨在被用户脚本使用)的选项可被设置。",
        "apihelp-options-param-reset": "重置偏好设置到网站默认设置。",
+       "apihelp-options-param-resetkinds": "当<var>$1reset</var>选项被设置时,要重置的选项类型列表。",
        "apihelp-options-example-reset": "重置所有用户设置",
        "apihelp-options-example-change": "更改<kbd>skin</kbd>和<kbd>hideminor</kbd>设置。",
        "apihelp-options-example-complex": "重置所有设置,然后设置<kbd>皮肤</kbd>和<kbd>昵称</kbd>。",
        "apihelp-paraminfo-param-formatmodules": "格式模块名称(<var>format</var>参数的值)的列表。也可使用<var>$1modules</kbd>。",
        "apihelp-paraminfo-example-1": "显示<kbd>[[Special:ApiHelp/parse|action=parse]]</kbd>、<kbd>[[Special:ApiHelp/jsonfm|format=jsonfm]]</kbd>、<kbd>[[Special:ApiHelp/query+allpages|action=query&list=allpages]]</kbd>和<kbd>[[Special:ApiHelp/query+siteinfo|action=query&meta=siteinfo]]</kbd>的信息。",
        "apihelp-parse-description": "解析内容并返回解析器输出。\n\n参见<kbd>[[Special:ApiHelp/query|action=query]]</kbd>的各种prop-module以从页面的当前版本获得信息。\n\n这里有几种方法可以指定解析的文本:\n# 指定一个页面或修订,使用<var>$1page</var>、<var>$1pageid</var>或<var>$1oldid</var>。\n# 明确指定内容,使用<var>$1text</var>、<var>$1title</var>和<var>$1contentmodel</var>。\n# 只指定一段摘要解析。<var>$1prop</var>应提供一个空值。",
+       "apihelp-parse-param-title": "文本属于的页面标题。如果省略,<var>$1contentmodel</var>就必须被指定,且[[API]]将作为标题使用。",
+       "apihelp-parse-param-text": "要解析的文本。使用<var>$1title</var>或<var>$1contentmodel</var>以控制内容模型。",
        "apihelp-parse-param-summary": "所要解析的摘要。",
        "apihelp-parse-param-page": "解析此页的内容。不能与<var>$1text</var>和<var>$1title</var>一起使用。",
        "apihelp-parse-param-pageid": "解析此页的内容。覆盖<var>$1page</var>。",
        "apihelp-parse-param-redirects": "如果<var>$1page</var>或<var>$1pageid</var>被设置为一个重定向,则解析它。",
        "apihelp-parse-param-oldid": "解析该修订版本的内容。覆盖<var>$1page</var>和<var>$1pageid</var>。",
+       "apihelp-parse-param-effectivelanglinks": "包含由扩展提供的语言链接(用于与<kbd>$1prop=langlinks</kbd>一起使用)。",
        "apihelp-parse-param-disablepp": "从解析器输出中禁用PP报告。",
        "apihelp-parse-param-disableeditsection": "从解析器输出中禁用编辑段落链接。",
        "apihelp-parse-param-generatexml": "生成XML解析树(需要内容模型<code>$1</code>)。",
        "apihelp-query+allcategories-param-to": "要作为枚举终止点的类别。",
        "apihelp-query+allcategories-param-prefix": "搜索此值开头的所有分类标题。",
        "apihelp-query+allcategories-param-dir": "排序方向。",
+       "apihelp-query+allcategories-param-min": "只返回至少带这么多成员的分类。",
+       "apihelp-query+allcategories-param-max": "只返回最多带这么多成员的分类。",
        "apihelp-query+allcategories-param-limit": "要返回多少个类别。",
        "apihelp-query+allcategories-example-size": "列出分类及其含有多少页面的信息。",
        "apihelp-query+alldeletedrevisions-paraminfo-useronly": "只可以与<var>$3user</var>一起使用。",
        "apihelp-query+alldeletedrevisions-paraminfo-nonuseronly": "不能与<var>$3user</var>一起使用。",
+       "apihelp-query+alldeletedrevisions-param-start": "枚举的起始时间戳。",
+       "apihelp-query+alldeletedrevisions-param-end": "枚举的结束时间戳。",
        "apihelp-query+alldeletedrevisions-param-from": "从此标题开始列出。",
        "apihelp-query+alldeletedrevisions-param-to": "列出至此标题为止。",
+       "apihelp-query+alldeletedrevisions-param-tag": "只列出被此标签标记的修订。",
        "apihelp-query+alldeletedrevisions-param-user": "只列出此用户做出的修订。",
        "apihelp-query+alldeletedrevisions-param-excludeuser": "不要列出此用户做出的修订。",
        "apihelp-query+alldeletedrevisions-param-namespace": "只列出此名字空间的页面。",
        "apihelp-query+alllinks-example-unique": "列出唯一的链接标题",
        "apihelp-query+alllinks-example-unique-generator": "获得所有已链接的标题,标记缺少的。",
        "apihelp-query+alllinks-example-generator": "获取包含这些链接的页面",
-       "apihelp-query+allmessages-description": "è¿\94å\9b\9eæ\9d¥è\87ªè¯¥ç«\99ç\82¹的消息。",
+       "apihelp-query+allmessages-description": "è¿\94å\9b\9eæ\9d¥è\87ªè¯¥ç½\91ç«\99的消息。",
        "apihelp-query+allmessages-param-messages": "要输出的消息。<kbd>*</kbd>(默认)表示所有消息。",
        "apihelp-query+allmessages-param-prop": "要获取的属性。",
+       "apihelp-query+allmessages-param-customised": "只返回在此定制情形下的消息。",
        "apihelp-query+allmessages-param-lang": "返回这种语言的信息。",
+       "apihelp-query+allmessages-param-from": "从此消息开始返回消息。",
+       "apihelp-query+allmessages-param-to": "返回消息至此消息为止。",
        "apihelp-query+allmessages-param-prefix": "返回带有该前缀的消息。",
        "apihelp-query+allmessages-example-ipb": "显示以<kbd>ipb-</kbd>开始的消息。",
        "apihelp-query+allmessages-example-de": "显示德语版的<kbd>august</kbd>和<kbd>mainpage</kbd>消息。",
        "apihelp-query+alltransclusions-example-unique": "列出孤立嵌入标题",
        "apihelp-query+alltransclusions-example-generator": "获得包含嵌入内容的页面。",
        "apihelp-query+allusers-description": "列举所有注册用户。",
+       "apihelp-query+allusers-param-from": "枚举的起始用户名。",
+       "apihelp-query+allusers-param-to": "枚举的结束用户名。",
        "apihelp-query+allusers-param-dir": "排序方向。",
        "apihelp-query+allusers-param-group": "只包含指定组中的用户。",
        "apihelp-query+allusers-param-excludegroup": "排除指定组中的用户。",
        "apihelp-query+blocks-param-users": "要搜索的用户列表(可选)。",
        "apihelp-query+blocks-example-simple": "封禁列表",
        "apihelp-query+blocks-example-users": "列出用户<kbd>Alice</kbd>和<kbd>Bob</kbd>的封禁。",
+       "apihelp-query+categories-description": "页面属于的所有分类列表。",
        "apihelp-query+categories-param-show": "显示何种分类。",
        "apihelp-query+categories-param-limit": "返回多少分类。",
        "apihelp-query+categories-param-dir": "罗列所采用的方向。",
        "apihelp-query+categories-example-simple": "获取属于<kbd>Albert Einstein</kbd>的分类列表。",
        "apihelp-query+categories-example-generator": "获得有关用于<kbd>Albert Einstein</kbd>的分类的信息。",
+       "apihelp-query+categoryinfo-description": "返回有关给定分类的信息。",
        "apihelp-query+categoryinfo-example-simple": "获取有关<kbd>Category:Foo</kbd>和<kbd>Category:Bar</kbd>的信息。",
        "apihelp-query+categorymembers-description": "在指定的分类中列出所有页面。",
        "apihelp-query+categorymembers-param-title": "要列举的分类(必需)。必须包括<kbd>{{ns:category}}:</kbd>前缀。不能与<var>$1pageid</var>一起使用。",
+       "apihelp-query+categorymembers-param-pageid": "要枚举的分类的页面 ID。不能与<var>$1title</var>一起使用。",
        "apihelp-query+categorymembers-param-namespace": "仅包含这些名字空间的页面。注意<kbd>$1type=subcat</kbd>或<kbd>$1type=file</kbd>可能被使用,而不是<kbd>$1namespace=14</kbd>或<kbd>6</kbd>。",
        "apihelp-query+categorymembers-param-type": "包含的分类成员类型。当<kbd>$1sort=timestamp</kbd>被设置时会忽略。",
+       "apihelp-query+categorymembers-param-limit": "返回页面的最大数量。",
        "apihelp-query+categorymembers-param-sort": "要作为排序方式的属性。",
        "apihelp-query+categorymembers-param-dir": "排序的方向。",
        "apihelp-query+categorymembers-param-start": "开始列举的时间戳。只能与<kbd>$1sort=timestamp</kbd>一起使用。",
        "apihelp-query+embeddedin-example-generator": "获得有关显示嵌入<kbd>Template:Stub</kbd>的页面的信息。",
        "apihelp-query+extlinks-param-limit": "返回多少链接。",
        "apihelp-query+extlinks-example-simple": "获取<kbd>首页</kbd>的外部链接列表。",
+       "apihelp-query+exturlusage-param-query": "不包括协议的搜索字符串。参见[[Special:LinkSearch]]。留空以列出所有外部链接。",
+       "apihelp-query+exturlusage-param-namespace": "要列举的页面名字空间。",
        "apihelp-query+exturlusage-param-limit": "返回多少页面。",
        "apihelp-query+exturlusage-example-simple": "显示链接至<kbd>http://www.mediawiki.org</kbd>的页面。",
+       "apihelp-query+filearchive-param-from": "枚举的起始图片标题。",
+       "apihelp-query+filearchive-param-to": "枚举的结束图片标题。",
        "apihelp-query+filearchive-param-dir": "罗列所采用的方向。",
        "apihelp-query+filearchive-param-sha1": "图片的SHA1哈希值。覆盖$1sha1base36。",
        "apihelp-query+filearchive-param-sha1base36": "基于base 36的图片的SHA1哈希值(用于MediaWiki)。",
        "apihelp-query+images-param-dir": "罗列所采用的方向。",
        "apihelp-query+images-example-simple": "获取[[首页]]使用的文件列表",
        "apihelp-query+images-example-generator": "获取有关[[首页]]使用的文件的信息",
+       "apihelp-query+imageusage-description": "查找所有使用指定图片标题的页面。",
        "apihelp-query+imageusage-param-title": "要搜索的标题。不能与$1pageid一起使用。",
        "apihelp-query+imageusage-param-pageid": "要搜索的页面ID。不能与$1title一起使用。",
        "apihelp-query+imageusage-param-namespace": "要列举的名字空间。",
        "apihelp-query+imageusage-example-generator": "获取有关使用[[:File:Albert Einstein Head.jpg]]的页面的信息",
        "apihelp-query+info-description": "获取基本页面信息。",
        "apihelp-query+info-param-prop": "要获取的额外属性:",
+       "apihelp-query+info-paramvalue-prop-protection": "列出每个页面的保护等级。",
+       "apihelp-query+info-paramvalue-prop-watched": "列出每个页面的被监视状态。",
        "apihelp-query+info-paramvalue-prop-watchers": "监视人员数,如果允许。",
+       "apihelp-query+info-paramvalue-prop-readable": "用户是否可以阅读此页面。",
        "apihelp-query+info-param-token": "请改用[[Special:ApiHelp/query+tokens|action=query&meta=tokens]]。",
        "apihelp-query+info-example-simple": "获得有关页面<kbd>Main Page</kbd>的信息。",
        "apihelp-query+info-example-protection": "获取<kbd>首页</kbd>相关的常规和保护信息。",
        "apihelp-query+linkshere-example-simple": "获取链接至[[首页]]的页面列表",
        "apihelp-query+linkshere-example-generator": "获取有关链接至[[首页]]的页面的信息",
        "apihelp-query+logevents-description": "从日志获取事件。",
+       "apihelp-query+logevents-param-start": "枚举的起始时间戳。",
+       "apihelp-query+logevents-param-end": "枚举的结束时间戳。",
        "apihelp-query+logevents-example-simple": "列出最近日志活动",
        "apihelp-query+pagepropnames-description": "列出wiki中所有使用中的页面属性名称。",
        "apihelp-query+pagepropnames-param-limit": "返回名称的最大数量。",
        "apihelp-query+pagepropnames-example-simple": "获取前10个属性名称。",
        "apihelp-query+pageprops-example-simple": "获得用于<kbd>Category:Foo</kbd>的属性。",
        "apihelp-query+pageswithprop-description": "列出所有使用指定页面属性的页面。",
+       "apihelp-query+pageswithprop-param-limit": "返回页面的最大数量。",
        "apihelp-query+pageswithprop-param-dir": "排序的方向。",
        "apihelp-query+pageswithprop-example-simple": "列出前10个使用<code>&#123;&#123;DISPLAYTITLE:&#125;&#125;</code>的页面。",
        "apihelp-query+pageswithprop-example-generator": "获取有关前10个使用<code>_&#95;NOTOC_&#95;</code>的页面的信息。",
        "apihelp-query+random-param-redirect": "加载一个随机重定向而不是一个随机页面。",
        "apihelp-query+random-example-simple": "从主名字空间返回两个随机页面。",
        "apihelp-query+recentchanges-description": "枚举最近更改。",
+       "apihelp-query+recentchanges-param-start": "枚举的起始时间戳。",
+       "apihelp-query+recentchanges-param-end": "枚举的结束时间戳。",
        "apihelp-query+recentchanges-param-user": "只列出此用户的更改。",
        "apihelp-query+recentchanges-param-excludeuser": "不要列出此用户的更改。",
        "apihelp-query+recentchanges-param-tag": "只列出带此标签的更改。",
        "apihelp-query+siteinfo-example-replag": "检查当前的响应延迟。",
        "apihelp-query+stashimageinfo-example-simple": "返回藏匿文件的信息。",
        "apihelp-query+tags-description": "列出更改标签。",
+       "apihelp-query+tags-param-limit": "列出标签的最大数量。",
        "apihelp-query+tags-param-prop": "要获取哪个属性:\n;name:添加标签名称。\n;displayname:为标签添加系统消息。\n;description:为标签添加描述。\n;hitcount:已添加此标签的修订版本与日志数量。\n;defined:标识标签是否已定义。\n;source:获得标签来源,它可能包括用于扩展定义的标签的<samp>extension</samp>,以及用于可被用户手动应用的标签的<samp>manual</samp>。\n;active:标签是否仍可被应用。",
        "apihelp-query+tags-example-simple": "可用标签列表",
        "apihelp-query+templates-param-namespace": "只显示此名字空间的模板。",
        "apihelp-rollback-example-summary": "回退由IP用户<kbd>192.0.2.5</kbd>对页面<kbd>Main Page</kbd>做出的最近编辑,带编辑摘要<kbd>Reverting vandalism</kbd>,并将这些编辑和回退标记为机器人编辑。",
        "apihelp-rsd-description": "导出一个RSD(Really Simple Discovery)架构",
        "apihelp-rsd-example-simple": "导出RSD架构",
+       "apihelp-setnotificationtimestamp-param-entirewatchlist": "工作于所有已监视页面。",
        "apihelp-setnotificationtimestamp-example-all": "重置整个监视列表的通知状态。",
        "apihelp-setnotificationtimestamp-example-pagetimestamp": "设置<kbd>Main page</kbd>的通知时间戳,这样所有从2012年1月1日起的编辑都会是未复核的。",
        "apihelp-setnotificationtimestamp-example-allpages": "重置在<kbd>{{ns:user}}</kbd>名字空间中的页面的通知状态。",
        "apihelp-upload-param-ignorewarnings": "忽略任何警告。",
        "apihelp-upload-param-file": "文件内容。",
        "apihelp-upload-param-stash": "如果设置,服务器将临时藏匿文件而不是加入存储库。",
+       "apihelp-upload-param-offset": "块的偏移量(字节)。",
        "apihelp-upload-param-chunk": "大块内容。",
        "apihelp-upload-example-url": "从URL上传",
        "apihelp-upload-example-filekey": "完成一次由于警告而失败的上传。",
index c6aa730..22280d8 100644 (file)
@@ -38,7 +38,7 @@
        "apihelp-createaccount-param-reason": "建立帳號時選填的原因,會被記錄到日誌當中。",
        "apihelp-createaccount-param-language": "要設定的使用者預設語言代碼 (選填,預設依據內容語言)。",
        "apihelp-createaccount-example-pass": "建立使用者 \"testuser\" 使用密碼 \"test123\"",
-       "apihelp-createaccount-example-mail": "建立使用者 \"testmailuser\" 並且電子郵件通知隨機產生的密碼",
+       "apihelp-createaccount-example-mail": "建立使用者 <kbd>testmailuser</kbd> 並且電子郵件通知隨機產生的密碼。",
        "apihelp-delete-description": "刪除頁面。",
        "apihelp-delete-param-title": "您欲刪除的頁面標題。 無法與 $1pageid 同時使用。",
        "apihelp-delete-param-pageid": "您欲刪除頁面的頁面 ID。 無法與 $1title 同時使用。",
index 2cee726..19277f1 100644 (file)
@@ -181,14 +181,12 @@ class EnhancedChangesList extends ChangesList {
                $isnew = false;
                $allBots = true;
                $allMinors = true;
-               $curId = $currentRevision = 0;
+               $curId = 0;
                # Some catalyst variables...
                $namehidden = true;
                $allLogs = true;
-               $oldid = '';
                $RCShowChangedSize = $this->getConfig()->get( 'RCShowChangedSize' );
                foreach ( $block as $rcObj ) {
-                       $oldid = $rcObj->mAttribs['rc_last_oldid'];
                        if ( $rcObj->mAttribs['rc_type'] == RC_NEW ) {
                                $isnew = true;
                        }
@@ -212,9 +210,6 @@ class EnhancedChangesList extends ChangesList {
                        if ( !$curId && $rcObj->mAttribs['rc_cur_id'] ) {
                                $curId = $rcObj->mAttribs['rc_cur_id'];
                        }
-                       if ( !$currentRevision && $rcObj->mAttribs['rc_this_oldid'] ) {
-                               $currentRevision = $rcObj->mAttribs['rc_this_oldid'];
-                       }
 
                        if ( !$rcObj->mAttribs['rc_bot'] ) {
                                $allBots = false;
@@ -275,87 +270,7 @@ class EnhancedChangesList extends ChangesList {
 
                $queryParams['curid'] = $curId;
 
-               # Changes message
-               static $nchanges = array();
-               static $sinceLastVisitMsg = array();
-
-               $n = count( $block );
-               if ( !isset( $nchanges[$n] ) ) {
-                       $nchanges[$n] = $this->msg( 'nchanges' )->numParams( $n )->escaped();
-               }
-
-               $sinceLast = 0;
-               $unvisitedOldid = null;
-               /** @var $rcObj RCCacheEntry */
-               foreach ( $block as $rcObj ) {
-                       // Same logic as below inside main foreach
-                       if ( $rcObj->watched && $rcObj->mAttribs['rc_timestamp'] >= $rcObj->watched ) {
-                               $sinceLast++;
-                               $unvisitedOldid = $rcObj->mAttribs['rc_last_oldid'];
-                       }
-               }
-               if ( !isset( $sinceLastVisitMsg[$sinceLast] ) ) {
-                       $sinceLastVisitMsg[$sinceLast] =
-                               $this->msg( 'enhancedrc-since-last-visit' )->numParams( $sinceLast )->escaped();
-               }
-
-               # Total change link
-               $r .= ' ';
-               $logtext = '';
-               /** @var $block0 RecentChange */
-               $block0 = $block[0];
-               if ( !$allLogs ) {
-                       if ( !ChangesList::userCan( $rcObj, Revision::DELETED_TEXT, $this->getUser() ) ) {
-                               $logtext .= $nchanges[$n];
-                       } elseif ( $isnew ) {
-                               $logtext .= $nchanges[$n];
-                       } else {
-                               $logtext .= Linker::link(
-                                       $block0->getTitle(),
-                                       $nchanges[$n],
-                                       array(),
-                                       $queryParams + array(
-                                               'diff' => $currentRevision,
-                                               'oldid' => $oldid,
-                                       ),
-                                       array( 'known', 'noclasses' )
-                               );
-                               if ( $sinceLast > 0 && $sinceLast < $n ) {
-                                       $logtext .= $this->message['pipe-separator'] . Linker::link(
-                                               $block0->getTitle(),
-                                               $sinceLastVisitMsg[$sinceLast],
-                                               array(),
-                                               $queryParams + array(
-                                                       'diff' => $currentRevision,
-                                                       'oldid' => $unvisitedOldid,
-                                               ),
-                                               array( 'known', 'noclasses' )
-                                       );
-                               }
-                       }
-               }
-
-               # History
-               if ( $allLogs ) {
-                       // don't show history link for logs
-               } elseif ( $namehidden || !$block0->getTitle()->exists() ) {
-                       $logtext .= $this->message['pipe-separator'] . $this->message['enhancedrc-history'];
-               } else {
-                       $params = $queryParams;
-                       $params['action'] = 'history';
-
-                       $logtext .= $this->message['pipe-separator'] .
-                               Linker::linkKnown(
-                                       $block0->getTitle(),
-                                       $this->message['enhancedrc-history'],
-                                       array(),
-                                       $params
-                               );
-               }
-
-               if ( $logtext !== '' ) {
-                       $r .= $this->msg( 'parentheses' )->rawParams( $logtext )->escaped();
-               }
+               $r .= $this->getLogText( $block, $queryParams, $allLogs, $isnew, $namehidden );
 
                $r .= ' <span class="mw-changeslist-separator">. .</span> ';
 
@@ -381,7 +296,7 @@ class EnhancedChangesList extends ChangesList {
                }
 
                $r .= $users;
-               $r .= $this->numberofWatchingusers( $block0->numberofWatchingusers );
+               $r .= $this->numberofWatchingusers( $block[0]->numberofWatchingusers );
                $r .= '</td></tr>';
 
                # Sub-entries
@@ -468,6 +383,114 @@ class EnhancedChangesList extends ChangesList {
                return $r;
        }
 
+       /**
+        * Generates amount of changes (linking to diff ) & link to history.
+        *
+        * @param array $block
+        * @param array $queryParams
+        * @param bool $allLogs
+        * @param bool $isnew
+        * @param bool $namehidden
+        * @return string
+        */
+       protected function getLogText( $block, $queryParams, $allLogs, $isnew, $namehidden ) {
+               # Changes message
+               static $nchanges = array();
+               static $sinceLastVisitMsg = array();
+
+               $n = count( $block );
+               if ( !isset( $nchanges[$n] ) ) {
+                       $nchanges[$n] = $this->msg( 'nchanges' )->numParams( $n )->escaped();
+               }
+
+               $sinceLast = 0;
+               $unvisitedOldid = null;
+               /** @var $rcObj RCCacheEntry */
+               foreach ( $block as $rcObj ) {
+                       // Same logic as below inside main foreach
+                       if ( $rcObj->watched && $rcObj->mAttribs['rc_timestamp'] >= $rcObj->watched ) {
+                               $sinceLast++;
+                               $unvisitedOldid = $rcObj->mAttribs['rc_last_oldid'];
+                       }
+               }
+               if ( !isset( $sinceLastVisitMsg[$sinceLast] ) ) {
+                       $sinceLastVisitMsg[$sinceLast] =
+                               $this->msg( 'enhancedrc-since-last-visit' )->numParams( $sinceLast )->escaped();
+               }
+
+               $currentRevision = 0;
+               foreach ( $block as $rcObj ) {
+                       if ( !$currentRevision ) {
+                               $currentRevision = $rcObj->mAttribs['rc_this_oldid'];
+                       }
+               }
+
+               # Total change link
+               $links = array();
+               /** @var $block0 RecentChange */
+               $block0 = $block[0];
+               $last = $block[count( $block ) - 1];
+               if ( !$allLogs ) {
+                       if ( !ChangesList::userCan( $rcObj, Revision::DELETED_TEXT, $this->getUser() ) ) {
+                               $links['total-changes'] = $nchanges[$n];
+                       } elseif ( $isnew ) {
+                               $links['total-changes'] = $nchanges[$n];
+                       } else {
+                               $links['total-changes'] = Linker::link(
+                                       $block0->getTitle(),
+                                       $nchanges[$n],
+                                       array(),
+                                       $queryParams + array(
+                                               'diff' => $currentRevision,
+                                               'oldid' => $last->mAttribs['rc_last_oldid'],
+                                       ),
+                                       array( 'known', 'noclasses' )
+                               );
+                               if ( $sinceLast > 0 && $sinceLast < $n ) {
+                                       $links['total-changes-since-last'] = Linker::link(
+                                                       $block0->getTitle(),
+                                                       $sinceLastVisitMsg[$sinceLast],
+                                                       array(),
+                                                       $queryParams + array(
+                                                               'diff' => $currentRevision,
+                                                               'oldid' => $unvisitedOldid,
+                                                       ),
+                                                       array( 'known', 'noclasses' )
+                                               );
+                               }
+                       }
+               }
+
+               # History
+               if ( $allLogs ) {
+                       // don't show history link for logs
+               } elseif ( $namehidden || !$block0->getTitle()->exists() ) {
+                       $links['history'] = $this->message['enhancedrc-history'];
+               } else {
+                       $params = $queryParams;
+                       $params['action'] = 'history';
+
+                       $links['history'] = Linker::linkKnown(
+                                       $block0->getTitle(),
+                                       $this->message['enhancedrc-history'],
+                                       array(),
+                                       $params
+                               );
+               }
+
+               # Allow others to alter, remove or add to these links
+               Hooks::run( 'EnhancedChangesList::getLogText',
+                       array( $this, &$links, $block ) );
+
+               if ( !$links ) {
+                       return '';
+               }
+
+               $logtext = implode( $this->message['pipe-separator'], $links );
+               $logtext = $this->msg( 'parentheses' )->rawParams( $logtext )->escaped();
+               return ' ' . $logtext;
+       }
+
        /**
         * Enhanced RC ungrouped line.
         *
index 75cd5ee..3b3ba9d 100644 (file)
@@ -25,5 +25,5 @@
  *
  * @since 1.23
  */
-class ConfigException extends MWException {
+class ConfigException extends Exception {
 }
index 816572c..d8fca4d 100644 (file)
@@ -204,13 +204,13 @@ abstract class AbstractContent implements Content {
         * Returns a list of DataUpdate objects for recording information about this
         * Content in some secondary data store.
         *
-        * This default implementation calls
-        * $this->getParserOutput( $content, $title, null, null, false ),
-        * and then calls getSecondaryDataUpdates( $title, $recursive ) on the
-        * resulting ParserOutput object.
+        * This default implementation returns a LinksUpdate object and calls the
+        * SecondaryDataUpdates hook.
         *
         * Subclasses may override this to determine the secondary data updates more
         * efficiently, preferably without the need to generate a parser output object.
+        * They should however make sure to call SecondaryDataUpdates to give extensions
+        * a chance to inject additional updates.
         *
         * @since 1.21
         *
@@ -224,12 +224,19 @@ abstract class AbstractContent implements Content {
         * @see Content::getSecondaryDataUpdates()
         */
        public function getSecondaryDataUpdates( Title $title, Content $old = null,
-               $recursive = true, ParserOutput $parserOutput = null ) {
+               $recursive = true, ParserOutput $parserOutput = null
+       ) {
                if ( $parserOutput === null ) {
                        $parserOutput = $this->getParserOutput( $title, null, null, false );
                }
 
-               return $parserOutput->getSecondaryDataUpdates( $title, $recursive );
+               $updates = array(
+                       new LinksUpdate( $title, $parserOutput, $recursive )
+               );
+
+               Hooks::run( 'SecondaryDataUpdates', array( $title, $old, $recursive, $parserOutput, &$updates ) );
+
+               return $updates;
        }
 
        /**
index 61b9254..5823a9a 100644 (file)
@@ -292,6 +292,9 @@ interface Content {
         * Subclasses may implement this to determine the necessary updates more
         * efficiently, or make use of information about the old content.
         *
+        * @note Implementations should call the SecondaryDataUpdates hook, like
+        *   AbstractContent does.
+        *
         * @param Title $title The context for determining the necessary updates
         * @param Content $old An optional Content object representing the
         *    previous content, i.e. the content being replaced by this Content
index 89ccd0b..89a0f3d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Request-dependant objects containers.
+ * Container for request-dependant objects and site configuration
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
index 2b79261..1a7a97d 100644 (file)
@@ -153,6 +153,9 @@ abstract class DatabaseBase implements IDatabase {
         */
        protected $allViews = null;
 
+       /** @var TransactionProfiler */
+       protected $trxProfiler;
+
        /**
         * A string describing the current software version, and possibly
         * other details in a user-friendly way. Will be listed on Special:Version, etc.
@@ -345,6 +348,15 @@ abstract class DatabaseBase implements IDatabase {
        public function setFakeMaster( $enabled = true ) {
        }
 
+       /**
+        * @return TransactionProfiler
+        */
+       protected function getTransactionProfiler() {
+               return $this->trxProfiler
+                       ? $this->trxProfiler
+                       : Profiler::instance()->getTransactionProfiler();
+       }
+
        /**
         * Returns true if this database supports (and uses) cascading deletes
         *
@@ -798,12 +810,16 @@ abstract class DatabaseBase implements IDatabase {
 
                $this->mForeign = $foreign;
 
+               if ( isset( $params['trxProfiler'] ) ) {
+                       $this->trxProfiler = $params['trxProfiler']; // override
+               }
+
                if ( $user ) {
                        $this->open( $server, $user, $password, $dbName );
                }
 
                $isMaster = !is_null( $this->getLBInfo( 'master' ) );
-               $trxProf = Profiler::instance()->getTransactionProfiler();
+               $trxProf = $this->getTransactionProfiler();
                $trxProf->recordConnection( $this->mServer, $this->mDBname, $isMaster );
        }
 
@@ -1103,7 +1119,7 @@ abstract class DatabaseBase implements IDatabase {
                # Keep track of whether the transaction has write queries pending
                if ( $this->mTrxLevel && !$this->mTrxDoneWrites && $isWriteQuery ) {
                        $this->mTrxDoneWrites = true;
-                       Profiler::instance()->getTransactionProfiler()->transactionWritingIn(
+                       $this->getTransactionProfiler()->transactionWritingIn(
                                $this->mServer, $this->mDBname, $this->mTrxShortId );
                }
 
@@ -1149,7 +1165,7 @@ abstract class DatabaseBase implements IDatabase {
                $startTime = microtime( true );
                $ret = $this->doQuery( $commentedSql );
                # Log the query time and feed it into the DB trx profiler
-               $profiler->getTransactionProfiler()->recordQueryCompletion(
+               $this->getTransactionProfiler()->recordQueryCompletion(
                        $queryProf, $startTime, $isWriteQuery, $this->affectedRows() );
 
                MWDebug::queryTime( $queryId );
@@ -1180,7 +1196,7 @@ abstract class DatabaseBase implements IDatabase {
                                        $startTime = microtime( true );
                                        $ret = $this->doQuery( $commentedSql );
                                        # Log the query time and feed it into the DB trx profiler
-                                       $profiler->getTransactionProfiler()->recordQueryCompletion(
+                                       $this->getTransactionProfiler()->recordQueryCompletion(
                                                $queryProf, $startTime, $isWriteQuery, $this->affectedRows() );
                                }
                        } else {
@@ -2666,10 +2682,13 @@ abstract class DatabaseBase implements IDatabase {
        /**
         * Adds quotes and backslashes.
         *
-        * @param string $s
+        * @param string|Blob $s
         * @return string
         */
        public function addQuotes( $s ) {
+               if ( $s instanceof Blob ) {
+                       $s = $s->fetch();
+               }
                if ( $s === null ) {
                        return 'NULL';
                } else {
@@ -3596,7 +3615,7 @@ abstract class DatabaseBase implements IDatabase {
                        $this->runOnTransactionPreCommitCallbacks();
                        $this->doCommit( $fname );
                        if ( $this->mTrxDoneWrites ) {
-                               Profiler::instance()->getTransactionProfiler()->transactionWritingOut(
+                               $this->getTransactionProfiler()->transactionWritingOut(
                                        $this->mServer, $this->mDBname, $this->mTrxShortId );
                        }
                        $this->runOnTransactionIdleCallbacks();
@@ -3676,7 +3695,7 @@ abstract class DatabaseBase implements IDatabase {
                $this->runOnTransactionPreCommitCallbacks();
                $this->doCommit( $fname );
                if ( $this->mTrxDoneWrites ) {
-                       Profiler::instance()->getTransactionProfiler()->transactionWritingOut(
+                       $this->getTransactionProfiler()->transactionWritingOut(
                                $this->mServer, $this->mDBname, $this->mTrxShortId );
                }
                $this->runOnTransactionIdleCallbacks();
@@ -3735,7 +3754,7 @@ abstract class DatabaseBase implements IDatabase {
                $this->mTrxPreCommitCallbacks = array(); // cancel
                $this->mTrxAtomicLevels = new SplStack;
                if ( $this->mTrxDoneWrites ) {
-                       Profiler::instance()->getTransactionProfiler()->transactionWritingOut(
+                       $this->getTransactionProfiler()->transactionWritingOut(
                                $this->mServer, $this->mDBname, $this->mTrxShortId );
                }
        }
@@ -3933,10 +3952,13 @@ abstract class DatabaseBase implements IDatabase {
         * in result objects. Pass the object through this function to return the
         * original string.
         *
-        * @param string $b
+        * @param string|Blob $b
         * @return string
         */
        public function decodeBlob( $b ) {
+               if ( $b instanceof Blob ) {
+                       $b = $b->fetch();
+               }
                return $b;
        }
 
index f5e6667..2b8f395 100644 (file)
@@ -1094,7 +1094,7 @@ class DatabaseMssql extends DatabaseBase {
        }
 
        /**
-        * @param string $s
+        * @param string|Blob $s
         * @return string
         */
        public function addQuotes( $s ) {
index abf26e0..3d0ed86 100644 (file)
@@ -1495,12 +1495,14 @@ SQL;
         * @return Blob
         */
        function encodeBlob( $b ) {
-               return new Blob( pg_escape_bytea( $this->mConn, $b ) );
+               return new PostgresBlob( pg_escape_bytea( $b ) );
        }
 
        function decodeBlob( $b ) {
-               if ( $b instanceof Blob ) {
+               if ( $b instanceof PostgresBlob ) {
                        $b = $b->fetch();
+               } elseif ( $b instanceof Blob ) {
+                       return $b->fetch();
                }
 
                return pg_unescape_bytea( $b );
@@ -1520,7 +1522,12 @@ SQL;
                } elseif ( is_bool( $s ) ) {
                        return intval( $s );
                } elseif ( $s instanceof Blob ) {
-                       return "'" . $s->fetch( $s ) . "'";
+                       if ( $s instanceof PostgresBlob ) {
+                               $s = $s->fetch();
+                       } else {
+                               $s = pg_escape_bytea( $this->mConn, $s->fetch() );
+                       }
+                       return "'$s'";
                }
 
                return "'" . pg_escape_string( $this->mConn, $s ) . "'";
@@ -1692,3 +1699,5 @@ SQL;
                return wfBaseConvert( substr( sha1( $lockName ), 0, 15 ), 16, 10 );
        }
 } // end DatabasePostgres class
+
+class PostgresBlob extends Blob {}
index 7b04716..0b51972 100644 (file)
@@ -32,6 +32,9 @@ class DatabaseSqlite extends DatabaseBase {
        /** @var string File name for SQLite database file */
        public $mDatabaseFile;
 
+       /** @var string Transaction mode */
+       protected $trxMode;
+
        /** @var int The number of rows affected as an integer */
        protected $mAffectedRows;
 
@@ -44,6 +47,11 @@ class DatabaseSqlite extends DatabaseBase {
        /** @var FSLockManager (hopefully on the same server as the DB) */
        protected $lockMgr;
 
+       /**
+        * Additional params include:
+        *   - trxMode : one of (deferred, immediate, exclusive)
+        * @param array $p
+        */
        function __construct( array $p ) {
                global $wgSharedDB, $wgSQLiteDataDir;
 
@@ -58,6 +66,12 @@ class DatabaseSqlite extends DatabaseBase {
                        }
                }
 
+               $this->trxMode = isset( $p['trxMode'] ) ? strtoupper( $p['trxMode'] ) : null;
+               if ( $this->trxMode && !in_array( $this->trxMode, array( 'IMMEDIATE', 'EXCLUSIVE' ) ) ) {
+                       $this->trxMode = null;
+                       wfWarn( "Invalid SQLite transaction mode provided." );
+               }
+
                $this->lockMgr = new FSLockManager( array( 'lockDirectory' => "$wgSQLiteDataDir/locks" ) );
        }
 
@@ -697,6 +711,15 @@ class DatabaseSqlite extends DatabaseBase {
                return false;
        }
 
+       protected function doBegin( $fname = '' ) {
+               if ( $this->trxMode ) {
+                       $this->query( "BEGIN {$this->trxMode}", $fname );
+               } else {
+                       $this->query( 'BEGIN', $fname );
+               }
+               $this->mTrxLevel = 1;
+       }
+
        /**
         * @param string $s
         * @return string
index 862ac27..79a10e6 100644 (file)
@@ -47,6 +47,7 @@ class HTMLCacheUpdate implements DeferrableUpdate {
                        $this->mTitle,
                        array(
                                'table' => $this->mTable,
+                               'recursive' => true
                        ) + Job::newRootJobParams( // "overall" refresh links job info
                                "htmlCacheUpdate:{$this->mTable}:{$this->mTitle->getPrefixedText()}"
                        )
index ac61067..7a0206c 100644 (file)
@@ -133,6 +133,8 @@ class TraditionalImageGallery extends ImageGalleryBase {
 
                                $this->adjustImageParameters( $thumb, $imageParameters );
 
+                               Linker::processResponsiveImages( $img, $thumb, $transformOptions );
+
                                # Set both fixed width and min-height.
                                $thumbhtml = "\n\t\t\t"
                                        . '<div class="thumb" style="width: '
index dc52554..91195e9 100644 (file)
@@ -186,7 +186,6 @@ abstract class Installer {
                'wgUseInstantCommons',
                'wgUpgradeKey',
                'wgDefaultSkin',
-               'wgResourceLoaderMaxQueryLength',
        );
 
        /**
@@ -285,15 +284,15 @@ abstract class Installer {
         */
        public $licenses = array(
                'cc-by' => array(
-                       'url' => 'http://creativecommons.org/licenses/by/3.0/',
+                       'url' => 'https://creativecommons.org/licenses/by/3.0/',
                        'icon' => '{$wgResourceBasePath}/resources/assets/licenses/cc-by.png',
                ),
                'cc-by-sa' => array(
-                       'url' => 'http://creativecommons.org/licenses/by-sa/3.0/',
+                       'url' => 'https://creativecommons.org/licenses/by-sa/3.0/',
                        'icon' => '{$wgResourceBasePath}/resources/assets/licenses/cc-by-sa.png',
                ),
                'cc-by-nc-sa' => array(
-                       'url' => 'http://creativecommons.org/licenses/by-nc-sa/3.0/',
+                       'url' => 'https://creativecommons.org/licenses/by-nc-sa/3.0/',
                        'icon' => '{$wgResourceBasePath}/resources/assets/licenses/cc-by-nc-sa.png',
                ),
                'cc-0' => array(
@@ -305,7 +304,7 @@ abstract class Installer {
                        'icon' => '{$wgResourceBasePath}/resources/assets/licenses/public-domain.png',
                ),
                'gfdl' => array(
-                       'url' => 'http://www.gnu.org/copyleft/fdl.html',
+                       'url' => 'https://www.gnu.org/copyleft/fdl.html',
                        'icon' => '{$wgResourceBasePath}/resources/assets/licenses/gnu-fdl.png',
                ),
                'none' => array(
index c0ba300..8724e0d 100644 (file)
@@ -63,7 +63,7 @@ class LocalSettingsGenerator {
                                'wgRightsText', 'wgMainCacheType', 'wgEnableUploads',
                                'wgMainCacheType', '_MemCachedServers', 'wgDBserver', 'wgDBuser',
                                'wgDBpassword', 'wgUseInstantCommons', 'wgUpgradeKey', 'wgDefaultSkin',
-                               'wgMetaNamespace', 'wgResourceLoaderMaxQueryLength', 'wgLogo',
+                               'wgMetaNamespace', 'wgLogo',
                        ),
                        $db->getGlobalNames()
                );
index e19f9aa..b18fe94 100644 (file)
@@ -262,11 +262,13 @@ class PostgresInstaller extends DatabaseInstaller {
                $status = Status::newGood();
                foreach ( $dbs as $db ) {
                        try {
-                               $conn = new DatabasePostgres(
-                                       $this->getVar( 'wgDBserver' ),
-                                       $user,
-                                       $password,
-                                       $db );
+                               $p = array(
+                                       'host' => $this->getVar( 'wgDBserver' ),
+                                       'user' => $user,
+                                       'password' => $password,
+                                       'dbname' => $db
+                               );
+                               $conn = DatabaseBase::factory( 'postgres', $p );
                        } catch ( DBConnectionError $error ) {
                                $conn = false;
                                $status->fatal( 'config-pg-test-error', $db,
index 37fba15..1e7e969 100644 (file)
@@ -226,6 +226,49 @@ class SqliteInstaller extends DatabaseInstaller {
                }
 
                $db = $this->getVar( 'wgDBname' );
+
+               # Make the main and cache stub DB files
+               $status = Status::newGood();
+               $status->merge( $this->makeStubDBFile( $dir, $db ) );
+               $status->merge( $this->makeStubDBFile( $dir, "wikicache" ) );
+               if ( !$status->isOK() ) {
+                       return $status;
+               }
+
+               # Nuke the unused settings for clarity
+               $this->setVar( 'wgDBserver', '' );
+               $this->setVar( 'wgDBuser', '' );
+               $this->setVar( 'wgDBpassword', '' );
+               $this->setupSchemaVars();
+
+               # Create the global cache DB
+               try {
+                       global $wgSQLiteDataDir;
+                       # @todo FIXME: setting globals kind of sucks
+                       $wgSQLiteDataDir = $dir;
+                       $conn = DatabaseBase::factory( 'sqlite', array( 'dbname' => "wikicache" ) );
+                       # @todo: don't duplicate objectcache definition, though it's very simple
+                       $sql =
+<<<EOT
+       CREATE TABLE IF NOT EXISTS objectcache (
+         keyname BLOB NOT NULL default '' PRIMARY KEY,
+         value BLOB,
+         exptime TEXT
+       )
+EOT;
+                       $conn->query( $sql );
+                       $conn->query( "CREATE INDEX IF NOT EXISTS exptime ON objectcache (exptime)" );
+                       $conn->query( "PRAGMA journal_mode=WAL" ); // this is permanent
+                       $conn->close();
+               } catch ( DBConnectionError $e ) {
+                       return Status::newFatal( 'config-sqlite-connection-error', $e->getMessage() );
+               }
+
+               # Open the main DB
+               return $this->getConnection();
+       }
+
+       protected function makeStubDBFile( $dir, $db ) {
                $file = DatabaseSqlite::generateFileName( $dir, $db );
                if ( file_exists( $file ) ) {
                        if ( !is_writable( $file ) ) {
@@ -236,13 +279,8 @@ class SqliteInstaller extends DatabaseInstaller {
                                return Status::newFatal( 'config-sqlite-cant-create-db', $file );
                        }
                }
-               // nuke the unused settings for clarity
-               $this->setVar( 'wgDBserver', '' );
-               $this->setVar( 'wgDBuser', '' );
-               $this->setVar( 'wgDBpassword', '' );
-               $this->setupSchemaVars();
 
-               return $this->getConnection();
+               return Status::newGood();
        }
 
        /**
@@ -280,6 +318,16 @@ class SqliteInstaller extends DatabaseInstaller {
                $dir = LocalSettingsGenerator::escapePhpString( $this->getVar( 'wgSQLiteDataDir' ) );
 
                return "# SQLite-specific settings
-\$wgSQLiteDataDir = \"{$dir}\";";
+\$wgSQLiteDataDir = \"{$dir}\";
+\$wgObjectCaches[CACHE_DB] = array(
+       'class' => 'SqlBagOStuff',
+       'loggroup' => 'SQLBagOStuff',
+       'server' => array(
+               'type' => 'sqlite',
+               'dbname' => 'wikicache',
+               'tablePrefix' => '',
+               'flags' => 0
+       )
+);";
        }
 }
index 038c2be..6e41514 100644 (file)
@@ -1183,7 +1183,7 @@ class WebInstallerOptions extends WebInstallerPage {
                ) );
                $styleUrl = $server . dirname( dirname( $this->parent->getUrl() ) ) .
                        '/mw-config/config-cc.css';
-               $iframeUrl = 'http://creativecommons.org/license/?' .
+               $iframeUrl = 'https://creativecommons.org/license/?' .
                        wfArrayToCgi( array(
                                'partner' => 'MediaWiki',
                                'exit_url' => $exitUrl,
index df7184f..62f0f03 100644 (file)
        "config-env-good": "Comprobóse l'entornu.\nPue instalar MediaWiki.",
        "config-env-bad": "Comprobóse l'entornu.\nNun pue instalar MediaWiki.",
        "config-env-php": "PHP $1 ta instaláu.",
-       "config-env-php-toolow": "PHP $1 ta instaláu.\nSicasí, MediaWiki necesita PHP $2 o superior.",
+       "config-env-hhvm": "HHVM $1 ta instaláu.",
        "config-unicode-using-utf8": "Usando utf8_normalize.so de Brion Vibber pa la normalización Unicode.",
        "config-unicode-using-intl": "Usando la [http://pecl.php.net/intl estensión intl PECL] pa la normalización Unicode.",
        "config-unicode-pure-php-warning": "'''Avisu:''' La [http://pecl.php.net/intl estensión intl PECL] nun ta disponible pa xestionar la normalización Unicode; volviendo a la implementación lenta en PHP puru.\nSi xestiona un sitiu con un tráficu altu, tendría de lleer una migaya sobro la [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations normalización Unicode].",
        "config-unicode-update-warning": "'''Avisu:''' La versión instalada del envoltoriu de normalización Unicode usa una versión antigua de la biblioteca [http://site.icu-project.org/ de los proyeutos ICU].\nTendría [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations d'anovala] si ye importante pa vusté usar Unicode.",
-       "config-no-db": "¡Nun pudo alcontrase un controlador de base de datos afayadizu! Necesita instalar un controlador de base de datos pa PHP.\nTienen sofitu los tipos de base de datos siguientes: $1.\n\nSi compiló PHP vusté mesmu, reconfigúrelu con un cliente de base de datos activáu, por exemplu, usando <code>./configure --with-mysqli</code>.\nSi instaló PHP dende un paquete de Debian o Ubuntu, necesita instalar tamién,por exemplu, el paquete <code>php5-mysql</code>.",
+       "config-no-db": "¡Nun pudo alcontrase un controlador de base de datos afayadizu! Necesites instalar un controlador de base de datos pa PHP.\n{{PLURAL:$2|Tien sofitu el tipu de base de datos siguiente|Tienen sofitu los tipos de base de datos siguientes}}: $1.\n\nSi compilasti PHP tu mesmu, reconfigúralu con un cliente de base de datos activáu, por exemplu, usando <code>./configure --with-mysqli</code>.\nSi instalasti PHP dende un paquete de Debian o Ubuntu, necesites instalar tamién,por exemplu, el paquete <code>php5-mysql</code>.",
        "config-outdated-sqlite": "'''Avisu:''' tien SQLite $1, que ye inferior a la versión mínima necesaria $2. SQLite nun tará disponible.",
        "config-no-fts3": "'''Avisu:''' SQLite ta compiláu ensin el [//sqlite.org/fts3.html módulu FTS3]; les funciones de gueta nun tarán disponibles nesti sistema.",
-       "config-register-globals": "'''Avisu: La opción de PHP <code>[http://php.net/register_globals register_globals]</code> ta activada.'''\n'''Desactívela si ye posible.'''\nMediaWiki funcionará, pero'l so sirvidor queda albentestate ente posibles vulnerabilidaes de seguridá.",
+       "config-register-globals-error": "<strong>Error: la opción de PHP <code>[http://php.net/register_globals register_globals]</code> ta activada.\nTien de desactivase pa siguir cola instalación.</strong>\nVisita [https://www.mediawiki.org/wiki/register_globals https://www.mediawiki.org/wiki/register_globals] p'alcontrar ayuda tocante a cómo facelo.",
+       "config-diff3-bad": "Nun s'alcontró GNU diff3.",
+       "config-git": "Alcontróse'l software de control de versiones Git: <code>$1</code>.",
+       "config-git-bad": "Nun s'alcontró el software de control de versiones Git.",
        "config-site-name": "Nome de la wiki:",
        "config-site-name-help": "Esto apaecerá na barra de títulos del navegador y en dellos sitios más.",
        "config-site-name-blank": "Escriba un nome pal sitiu.",
index 7b3b5a5..f68a540 100644 (file)
@@ -8,7 +8,8 @@
                        "Fitoschido",
                        "Jmarchn",
                        "Alvaro Vidal-Abarca",
-                       "ESM"
+                       "ESM",
+                       "Xavier Dengra"
                ]
        },
        "config-desc": "L'instal·lador del MediaWiki",
        "config-cache-options": "Configuració per a la memòria cau dels objectes:",
        "config-cache-help": "L'encauament d'objectes s'utilitza per a millorar la rapidesa del MediaWiki afegint a la memòria cau les dades que s'utilitzen de forma freqüent. És recomanable que els llocs web mitjans o grans ho habilitin. També els llocs web petits en veuran els beneficis.",
        "config-cache-none": "Sense encauament (no se suprimeix cap funcionalitat, però la velocitat pot veure's afectada en els llocs wiki més grans)",
+       "config-cache-memcached": "Utilitza Memcached (requereix una instal·lació i configuració addicionals)",
        "config-memcached-servers": "Servidors de Memcache:",
        "config-memcache-badip": "Heu introduït una adreça IP no vàlida per al Memcached: $1.",
        "config-memcache-noport": "No heu especificat un port per utilitzar el servidor Memcached: $1.\nSi no coneixeu el port, per defecte és 11211.",
        "config-install-pg-schema-not-exist": "No existeix un esquema PostgreSQL.",
        "config-install-pg-schema-failed": "La creació de les taules ha fallat.\nAssegureu-vos que l'usuari «$1» pot escriure a l'esquema «$2».",
        "config-install-pg-commit": "S'estan trametent els canvis",
+       "config-pg-no-plpgsql": "Necessiteu instal·lar l'idioma PL/pgSQL a la base de dades $1",
        "config-pg-no-create-privs": "El compte que heu especificat per a la instal·lació no té suficients permisos per crear un compte.",
        "config-install-user": "S'està creant l'usuari de la base de dades",
        "config-install-user-alreadyexists": "L'usuari «$1» ja existeix",
index a783cfe..da2de84 100644 (file)
@@ -57,7 +57,7 @@
        "config-unicode-using-intl": "Pro normalizaci Unicode se používá [http://pecl.php.net/intl PECL rozšíření intl].",
        "config-unicode-pure-php-warning": "'''Upozornění''': Není dostupné [http://pecl.php.net/intl PECL rozšíření intl] pro normalizaci Unicode, bude se využívat pomalá implementace v čistém PHP.\nPokud provozujete wiki s velkou návštěvností, měli byste si přečíst něco o [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations normalizaci Unicode].",
        "config-unicode-update-warning": "'''Upozornění''': Nainstalovaná verze vrstvy pro normalizaci Unicode používá starší verzi knihovny [http://site.icu-project.org/ projektu ICU].\nPokud vám aspoň trochu záleží na používání Unicode, měli byste [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations ji aktualizovat].",
-       "config-no-db": "Nepodařilo se nalézt vhodný databázový ovladač! Musíte do PHP nainstalovat databázový ovladač.\nJsou podporovány následující typy databází: $1.\n\nPokud jste si PHP přeložili sami, překonfigurujte ho se zapnutým databázovým klientem, například pomocí <code>./configure --with-mysql</code>.\nPokud jste PHP nainstalovali z balíčku Debian či Ubuntu, potřebujete nainstalovat také modul php5-mysql.",
+       "config-no-db": "Nepodařilo se nalézt vhodný databázový ovladač! Musíte nainstalovat databázový ovladač pro PHP.\n{{PLURAL:$2|Je podporován následující typ databáze|Jsou podporovány následující typy databází}}: $1.\n\nPokud jste si PHP přeložili sami, překonfigurujte ho se zapnutým databázovým klientem, například pomocí <code>./configure --with-mysql</code>.\nPokud jste PHP nainstalovali z balíčku Debian či Ubuntu, potřebujete nainstalovat také modul <code>php5-mysql</code>.",
        "config-outdated-sqlite": "'''Upozornění''': Máte SQLite $1, které je starší než minimálně vyžadovaná verze $2. SQLite nebude dostupné.",
        "config-no-fts3": "'''Upozornění''': SQLite bylo přeloženo bez [//sqlite.org/fts3.html modulu FTS3], funkce pro vyhledávání zde nebudou dostupné.",
        "config-register-globals-error": "<strong>Chyba: PHP nastavení <code>[http://php.net/register_globals register_globals]</code> je zapnuto. Pro pokračování v instalaci musí být vypnuto.</strong>\nRady, jak toho dosáhnout, najdete na [https://www.mediawiki.org/wiki/Register_globals https://www.mediawiki.org/wiki/register_globals].",
index 6b9f590..a79282a 100644 (file)
@@ -1,9 +1,13 @@
 {
        "@metadata": {
                "authors": [
-                       "Shirayuki"
+                       "Shirayuki",
+                       "Caliburn"
                ]
        },
+       "config-desc": "The installer for MediaWiki",
+       "config-title": "MediaWiki $1 installation",
+       "config-information": "Information",
        "config-copyright": "=== Copyright and Terms ===\n\n$1\n\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version.\n\nThis 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'''.\nSee the GNU General Public Licence for more details.\n\nYou should have received <doclink href=Copying>a copy of the GNU General Public Licence</doclink> along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or [http://www.gnu.org/copyleft/gpl.html read it online].",
        "config-unicode-using-utf8": "Using Brion Vibber's utf8_normalize.so for Unicode normalisation.",
        "config-unicode-using-intl": "Using the [http://pecl.php.net/intl intl PECL extension] for Unicode normalisation.",
index ac486bb..6e44d4b 100644 (file)
@@ -57,7 +57,7 @@
        "config-unicode-using-intl": "برای یونیکد عادی از [http://pecl.php.net/intl intl PECL extension] استفاده کنید.",
        "config-unicode-pure-php-warning": "'''هشدار:''' [http://pecl.php.net/intl intl PECL extension] برای کنترل یونیکد عادی در دسترس نیست،اجرای کاملاً آهسته به تعویق می‌افتد.\nاگر شما یک سایت پر‌ ترافیک را اجرا می‌کنید، باید کمی [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations Unicode normalization] را بخوانید.",
        "config-unicode-update-warning": "'''هشدار:''' نسخهٔ نصب شدهٔ پوشهٔ یونیکد عادی از ورژن قدیمی‌تر کتابخانه [http://site.icu-project.org/ the ICU project's] استفاده می‌کند.\nاگر کلاً علاقه‌مند به استفاده از یونیکد هستید باید [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations upgrade].",
-       "config-no-db": "درایور پایگاه اطلاعاتی مناسب پیدا نشد! شما لازم دارید یک درایور پایگاه اطلاعاتی  برای پی‌اچ‌پی نصب کنید.انواع پایگاه اطلاعاتی زیر پشتیبانی شده‌اند:$1.\nاگر شما در گروه اشتراک‌گذاری هستید، از تهیه کنندهٔ گروه خود برای نصب یک درایور پایگاه اطلاعاتی مناسب سوأل کنید.\nاگر خود، پی‌اچ‌پی را تهیه کرده‌اید، با یک پردازشگر فعال دوباره پیکربندی کنید، برای مثال از <code>./configure --with-mysql</code> استفاده کنید.\nاگر پی‌اچ‌پی را از یک بستهٔ دبیان یا آبونتو نصب کرده‌اید، بنابراین لازم دارید بخش php5-mysql را نصب کنید.",
+       "config-no-db": "درایور پایگاه اطلاعاتی مناسب پیدا نشد! شما لازم دارید یک درایور پایگاه اطلاعاتی  برای پی‌اچ‌پی نصب کنید.انواع پایگاه اطلاعاتی زیر پشتیبانی شده‌اند:$1.\nاگر شما در گروه اشتراک‌گذاری هستید، از تهیه کنندهٔ گروه خود برای نصب یک درایور پایگاه اطلاعاتی مناسب {{PLURAL:$2|سوأل کنید.|سوأل کنید.}}\nاگر خود، پی‌اچ‌پی را تهیه کرده‌اید، با یک پردازشگر فعال دوباره پیکربندی کنید، برای مثال از <code>./configure --with-mysql</code> استفاده کنید.\nاگر پی‌اچ‌پی را از یک بستهٔ دبیان یا آبونتو نصب کرده‌اید، بنابراین لازم دارید بخش php5-mysql را نصب کنید.",
        "config-outdated-sqlite": "''' هشدار:''' شما اس‌کیولایت $1 دارید، که پایین‌تر از حداقل نسخهٔ $2 مورد نیاز است.اس‌کیولایت در دسترس نخواهد بود.",
        "config-no-fts3": "'''هشدار:''' اس‌کیولایت بدون [//sqlite.org/fts3.html FTS3 module] تهیه شده‌است ، جستجوی ویژگی‌ها در این بخش پیشین در دسترس نخواهد‌بود.",
        "config-register-globals-error": "<strong>خطا:  پی‌اچ‌پی<code>[http://php.net/register_globals register_globals]</code> گزینه فعال است.\nبرای ادامه نصب باید غیر فعال باشد.</strong>\n[Https://www.mediawiki.org/wiki/register_globals https://www.mediawiki.org/wiki/register_globals] را برای کمک در مورد نحوه انجام این کار ببینید.",
index 47dea14..e85e735 100644 (file)
@@ -49,7 +49,7 @@
        "config-help-restart": "Apakah Anda ingin menghapus semua data tersimpan yang telah Anda masukkan dan mengulang proses instalasi?",
        "config-restart": "Ya, nyalakan ulang",
        "config-welcome": "=== Pengecekan lingkungan ===\nPengecekan dasar kini akan dilakukan untuk melihat apakah lingkungan ini memadai untuk instalasi MediaWiki.\nIngatlah untuk menyertakan informasi ini jika Anda mencari bantuan tentang cara menyelesaikan instalasi.",
-       "config-copyright": "=== Hak cipta dan persyaratan ===\n\n$1\n\nProgram ini adalah perangkat lunak bebas; Anda dapat mendistribusikan dan/atau memodifikasi di bawah persyaratan GNU General Public License seperti yang diterbitkan oleh Free Software Foundation; baik versi 2 lisensi, atau (sesuai pilihan Anda) versi yang lebih baru.\n\nProgram ini didistribusikan dengan harapan bahwa itu akan berguna, tetapi '''tanpa jaminan apa pun'''; bahkan tanpa jaminan tersirat untuk '''dapat diperjualbelikan ''' atau '''sesuai untuk tujuan tertentu'''.\nLihat GNU General Public License untuk lebih jelasnya.\n\nAnda seharusnya telah menerima <doclink href=\"Copying\">salinan dari GNU General Public License</doclink> bersama dengan program ini; jika tidak, kirimkan surat untuk Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. atau [http://www.gnu.org/copyleft/gpl.html baca versi daring].",
+       "config-copyright": "=== Hak cipta dan persyaratan ===\n\n$1\n\nProgram ini adalah perangkat lunak bebas; Anda dapat mendistribusikan dan/atau memodifikasi di bawah persyaratan GNU General Public License seperti yang diterbitkan oleh Free Software Foundation; baik versi 2 lisensi, atau (sesuai pilihan Anda) versi yang lebih baru.\n\nProgram ini didistribusikan dengan harapan bahwa itu akan berguna, tetapi <strong>tanpa jaminan apa pun</strong>; bahkan tanpa jaminan tersirat untuk <strong>dapat diperjualbelikan</strong> atau <strong>sesuai untuk tujuan tertentu</strong>.\nLihat GNU General Public License untuk lebih jelasnya.\n\nAnda seharusnya telah menerima <doclink href=\"Copying\">salinan dari GNU General Public License</doclink> bersama dengan program ini; jika tidak, kirimkan surat untuk Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA, atau [http://www.gnu.org/copyleft/gpl.html baca versi daring].",
        "config-sidebar": "* [//www.mediawiki.org/wiki/MediaWiki/id Situs MediaWiki]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents/id Pedoman Pengguna]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:Contents/id Pedoman Administrator]\n* [//www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/id FAQ]\n----\n* <doclink href=Readme>Read me</doclink>\n* <doclink href=ReleaseNotes>Release notes</doclink>\n* <doclink href=Copying>Copying</doclink>\n* <doclink href=UpgradeDoc>Upgrading</doclink>",
        "config-env-good": "Kondisi telah diperiksa.\nAnda dapat menginstal MediaWiki.",
        "config-env-bad": "Kondisi telah diperiksa.\nAnda tidak dapat menginstal MediaWiki.",
index 9b7495b..d7bd9a6 100644 (file)
@@ -63,7 +63,7 @@
        "config-unicode-using-intl": "Voor Unicode-normalisatie wordt de [http://pecl.php.net/intl PECL-extensie intl] gebruikt.",
        "config-unicode-pure-php-warning": "'''Waarschuwing''': de [http://pecl.php.net/intl PECL-extensie intl] is niet beschikbaar om de Unicodenormalisatie af te handelen en daarom wordt de langzame PHP-implementatie gebruikt.\nAls u MediaWiki voor een website met veel verkeer installeert, lees u dan in over [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations Unicodenormalisatie].",
        "config-unicode-update-warning": "'''Waarschuwing''': de geïnstalleerde versie van de Unicodenormalisatiewrapper maakt gebruik van een oudere versie van [http://site.icu-project.org/ de bibliotheek van het ICU-project].\nU moet [//www.mediawiki.org/wiki/Special:MyLanguage/Unicode_normalization_considerations bijwerken] als Unicode voor u van belang is.",
-       "config-no-db": "Het was niet mogelijk een geschikte databasedriver te vinden voor PHP. U moet een databasedriver installeren voor PHP.\nDe volgende databases worden ondersteund: $1.\n\nAls u een gedeelde omgeving gebruikt, vraag dan aan uw hostingprovider een geschikte databasedriver te installeren.\nAls u PHP zelf hebt gecompileerd, wijzig dan uw instellingen zodat een databasedriver wordt geactiveerd, bijvoorbeeld via <code>./configure --with-mysql</code>.\nAls u PHP hebt geïnstalleerd via een Debian- of Ubuntu-package, installeer dan ook de module php5-mysql.",
+       "config-no-db": "Het was niet mogelijk een geschikte databasedriver te vinden voor PHP! U moet een databasedriver installeren voor PHP.\n{{PLURAL:$2|Het volgende databasetype wordt|De volgende databasetypes worden}} ondersteund: $1.\n\nAls u PHP zelf hebt gecompileerd, wijzig dan uw instellingen zodat een databasedriver wordt geactiveerd, bijvoorbeeld via <code>./configure --with-mysqli</code>.\nAls u PHP hebt geïnstalleerd via een Debian- of Ubuntu-package, installeer dan ook bijvoorbeeld de module <code>php5-mysql</code>.",
        "config-outdated-sqlite": "''' Waarschuwing:''' u gebruikt SQLite $1. SQLite is niet beschikbaar omdat de minimaal vereiste versie $2 is.",
        "config-no-fts3": "'''Waarschuwing''': SQLite is gecompileerd zonder de module [//sqlite.org/fts3.html FTS3]; zoekfuncties zijn niet beschikbaar.",
        "config-register-globals-error": "<strong>Fout: de optie <code>[http://php.net/register_globals register_globals]</code> van PHP is ingeschakeld.\nDeze optie moet uitgeschakeld zijn om door te kunnen gaan met de installatie.</strong>\nOp de pagina [https://www.mediawiki.org/wiki/register_globals https://www.mediawiki.org/wiki/register_globals] staat beschreven hoe u dit kunt doen.",
index 4186204..246c06e 100644 (file)
@@ -160,7 +160,7 @@ class JobQueueFederated extends JobQueue {
                                $empty = $empty && $queue->doIsEmpty();
                        } catch ( JobQueueError $e ) {
                                ++$failed;
-                               MWExceptionHandler::logException( $e );
+                               $this->logException( $e );
                        }
                }
                $this->throwErrorIfAllPartitionsDown( $failed );
@@ -204,7 +204,7 @@ class JobQueueFederated extends JobQueue {
                                $count += $queue->$method();
                        } catch ( JobQueueError $e ) {
                                ++$failed;
-                               MWExceptionHandler::logException( $e );
+                               $this->logException( $e );
                        }
                }
                $this->throwErrorIfAllPartitionsDown( $failed );
@@ -277,7 +277,7 @@ class JobQueueFederated extends JobQueue {
                                $queue->doBatchPush( $jobBatch, $flags | self::QOS_ATOMIC );
                        } catch ( JobQueueError $e ) {
                                $ok = false;
-                               MWExceptionHandler::logException( $e );
+                               $this->logException( $e );
                        }
                        if ( $ok ) {
                                $key = $this->getCacheKey( 'empty' );
@@ -299,7 +299,7 @@ class JobQueueFederated extends JobQueue {
                                $queue->doBatchPush( $jobBatch, $flags | self::QOS_ATOMIC );
                        } catch ( JobQueueError $e ) {
                                $ok = false;
-                               MWExceptionHandler::logException( $e );
+                               $this->logException( $e );
                        }
                        if ( $ok ) {
                                $key = $this->getCacheKey( 'empty' );
@@ -331,7 +331,7 @@ class JobQueueFederated extends JobQueue {
                                $job = $queue->pop();
                        } catch ( JobQueueError $e ) {
                                ++$failed;
-                               MWExceptionHandler::logException( $e );
+                               $this->logException( $e );
                                $job = false;
                        }
                        if ( $job ) {
@@ -398,7 +398,7 @@ class JobQueueFederated extends JobQueue {
                                $queue->doDelete();
                        } catch ( JobQueueError $e ) {
                                ++$failed;
-                               MWExceptionHandler::logException( $e );
+                               $this->logException( $e );
                        }
                }
                $this->throwErrorIfAllPartitionsDown( $failed );
@@ -413,7 +413,7 @@ class JobQueueFederated extends JobQueue {
                                $queue->waitForBackups();
                        } catch ( JobQueueError $e ) {
                                ++$failed;
-                               MWExceptionHandler::logException( $e );
+                               $this->logException( $e );
                        }
                }
                $this->throwErrorIfAllPartitionsDown( $failed );
@@ -495,7 +495,7 @@ class JobQueueFederated extends JobQueue {
                                }
                        } catch ( JobQueueError $e ) {
                                ++$failed;
-                               MWExceptionHandler::logException( $e );
+                               $this->logException( $e );
                        }
                }
                $this->throwErrorIfAllPartitionsDown( $failed );
@@ -519,7 +519,7 @@ class JobQueueFederated extends JobQueue {
                                }
                        } catch ( JobQueueError $e ) {
                                ++$failed;
-                               MWExceptionHandler::logException( $e );
+                               $this->logException( $e );
                        }
                }
                $this->throwErrorIfAllPartitionsDown( $failed );
@@ -527,6 +527,10 @@ class JobQueueFederated extends JobQueue {
                return $result;
        }
 
+       protected function logException( Exception $e ) {
+               wfDebugLog( 'JobQueueFederated', $e->getMessage() . "\n" . $e->getTraceAsString() );
+       }
+
        /**
         * Throw an error if no partitions available
         *
diff --git a/includes/libs/objectcache/APCBagOStuff.php b/includes/libs/objectcache/APCBagOStuff.php
new file mode 100644 (file)
index 0000000..eaf1155
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Object caching using PHP's APC accelerator.
+ *
+ * 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
+ */
+
+/**
+ * This is a wrapper for APC's shared memory functions
+ *
+ * @ingroup Cache
+ */
+class APCBagOStuff extends BagOStuff {
+       public function get( $key, &$casToken = null ) {
+               $val = apc_fetch( $key );
+
+               $casToken = $val;
+
+               if ( is_string( $val ) ) {
+                       if ( $this->isInteger( $val ) ) {
+                               $val = intval( $val );
+                       } else {
+                               $val = unserialize( $val );
+                       }
+               }
+
+               return $val;
+       }
+
+       public function set( $key, $value, $exptime = 0 ) {
+               if ( !$this->isInteger( $value ) ) {
+                       $value = serialize( $value );
+               }
+
+               apc_store( $key, $value, $exptime );
+
+               return true;
+       }
+
+       public function delete( $key ) {
+               apc_delete( $key );
+
+               return true;
+       }
+
+       public function incr( $key, $value = 1 ) {
+               return apc_inc( $key, $value );
+       }
+
+       public function decr( $key, $value = 1 ) {
+               return apc_dec( $key, $value );
+       }
+}
diff --git a/includes/libs/objectcache/BagOStuff.php b/includes/libs/objectcache/BagOStuff.php
new file mode 100644 (file)
index 0000000..0b791e5
--- /dev/null
@@ -0,0 +1,438 @@
+<?php
+/**
+ * Classes to cache objects in PHP accelerators, SQL database or DBA files
+ *
+ * Copyright © 2003-2004 Brion Vibber <brion@pobox.com>
+ * https://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
+ * @ingroup Cache
+ */
+
+/**
+ * @defgroup Cache Cache
+ */
+
+use Psr\Log\LoggerAwareInterface;
+use Psr\Log\LoggerInterface;
+use Psr\Log\NullLogger;
+
+/**
+ * interface is intended to be more or less compatible with
+ * the PHP memcached client.
+ *
+ * backends for local hash array and SQL table included:
+ * <code>
+ *   $bag = new HashBagOStuff();
+ *   $bag = new SqlBagOStuff(); # connect to db first
+ * </code>
+ *
+ * @ingroup Cache
+ */
+abstract class BagOStuff implements LoggerAwareInterface {
+       private $debugMode = false;
+
+       protected $lastError = self::ERR_NONE;
+
+       /**
+        * @var LoggerInterface
+        */
+       protected $logger;
+
+       /** Possible values for getLastError() */
+       const ERR_NONE = 0; // no error
+       const ERR_NO_RESPONSE = 1; // no response
+       const ERR_UNREACHABLE = 2; // can't connect
+       const ERR_UNEXPECTED = 3; // response gave some error
+
+       public function __construct( array $params = array() ) {
+               if ( isset( $params['logger'] ) ) {
+                       $this->setLogger( $params['logger'] );
+               } else {
+                       $this->setLogger( new NullLogger() );
+               }
+       }
+
+       /**
+        * @param LoggerInterface $logger
+        * @return null
+        */
+       public function setLogger( LoggerInterface $logger ) {
+               $this->logger = $logger;
+       }
+
+       /**
+        * @param bool $bool
+        */
+       public function setDebug( $bool ) {
+               $this->debugMode = $bool;
+       }
+
+       /**
+        * Get an item with the given key. Returns false if it does not exist.
+        * @param string $key
+        * @param mixed $casToken [optional]
+        * @return mixed Returns false on failure
+        */
+       abstract public function get( $key, &$casToken = null );
+
+       /**
+        * Set an item.
+        * @param string $key
+        * @param mixed $value
+        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
+        * @return bool Success
+        */
+       abstract public function set( $key, $value, $exptime = 0 );
+
+       /**
+        * Delete an item.
+        * @param string $key
+        * @return bool True if the item was deleted or not found, false on failure
+        */
+       abstract public function delete( $key );
+
+       /**
+        * Merge changes into the existing cache value (possibly creating a new one).
+        * The callback function returns the new value given the current value (possibly false),
+        * and takes the arguments: (this BagOStuff object, cache key, current value).
+        *
+        * @param string $key
+        * @param callable $callback Callback method to be executed
+        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
+        * @param int $attempts The amount of times to attempt a merge in case of failure
+        * @return bool Success
+        */
+       public function merge( $key, $callback, $exptime = 0, $attempts = 10 ) {
+               if ( !is_callable( $callback ) ) {
+                       throw new Exception( "Got invalid callback." );
+               }
+
+               return $this->mergeViaLock( $key, $callback, $exptime, $attempts );
+       }
+
+       /**
+        * @see BagOStuff::merge()
+        *
+        * @param string $key
+        * @param callable $callback Callback method to be executed
+        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
+        * @param int $attempts The amount of times to attempt a merge in case of failure
+        * @return bool Success
+        */
+       protected function mergeViaCas( $key, $callback, $exptime = 0, $attempts = 10 ) {
+               do {
+                       $casToken = null; // passed by reference
+                       $currentValue = $this->get( $key, $casToken );
+                       // Derive the new value from the old value
+                       $value = call_user_func( $callback, $this, $key, $currentValue );
+
+                       if ( $value === false ) {
+                               $success = true; // do nothing
+                       } elseif ( $currentValue === false ) {
+                               // Try to create the key, failing if it gets created in the meantime
+                               $success = $this->add( $key, $value, $exptime );
+                       } else {
+                               // Try to update the key, failing if it gets changed in the meantime
+                               $success = $this->cas( $casToken, $key, $value, $exptime );
+                       }
+               } while ( !$success && --$attempts );
+
+               return $success;
+       }
+
+       /**
+        * Check and set an item
+        *
+        * @param mixed $casToken
+        * @param string $key
+        * @param mixed $value
+        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
+        * @return bool Success
+        */
+       protected function cas( $casToken, $key, $value, $exptime = 0 ) {
+               throw new Exception( "CAS is not implemented in " . __CLASS__ );
+       }
+
+       /**
+        * @see BagOStuff::merge()
+        *
+        * @param string $key
+        * @param callable $callback Callback method to be executed
+        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
+        * @param int $attempts The amount of times to attempt a merge in case of failure
+        * @return bool Success
+        */
+       protected function mergeViaLock( $key, $callback, $exptime = 0, $attempts = 10 ) {
+               if ( !$this->lock( $key, 6 ) ) {
+                       return false;
+               }
+
+               $currentValue = $this->get( $key );
+               // Derive the new value from the old value
+               $value = call_user_func( $callback, $this, $key, $currentValue );
+
+               if ( $value === false ) {
+                       $success = true; // do nothing
+               } else {
+                       $success = $this->set( $key, $value, $exptime ); // set the new value
+               }
+
+               if ( !$this->unlock( $key ) ) {
+                       // this should never happen
+                       trigger_error( "Could not release lock for key '$key'." );
+               }
+
+               return $success;
+       }
+
+       /**
+        * @param string $key
+        * @param int $timeout Lock wait timeout [optional]
+        * @param int $expiry Lock expiry [optional]
+        * @return bool Success
+        */
+       public function lock( $key, $timeout = 6, $expiry = 6 ) {
+               $this->clearLastError();
+               $timestamp = microtime( true ); // starting UNIX timestamp
+               if ( $this->add( "{$key}:lock", 1, $expiry ) ) {
+                       return true;
+               } elseif ( $this->getLastError() ) {
+                       return false;
+               }
+
+               $uRTT = ceil( 1e6 * ( microtime( true ) - $timestamp ) ); // estimate RTT (us)
+               $sleep = 2 * $uRTT; // rough time to do get()+set()
+
+               $locked = false; // lock acquired
+               $attempts = 0; // failed attempts
+               do {
+                       if ( ++$attempts >= 3 && $sleep <= 5e5 ) {
+                               // Exponentially back off after failed attempts to avoid network spam.
+                               // About 2*$uRTT*(2^n-1) us of "sleep" happen for the next n attempts.
+                               $sleep *= 2;
+                       }
+                       usleep( $sleep ); // back off
+                       $this->clearLastError();
+                       $locked = $this->add( "{$key}:lock", 1, $expiry );
+                       if ( $this->getLastError() ) {
+                               return false;
+                       }
+               } while ( !$locked && ( microtime( true ) - $timestamp ) < $timeout );
+
+               return $locked;
+       }
+
+       /**
+        * @param string $key
+        * @return bool Success
+        */
+       public function unlock( $key ) {
+               return $this->delete( "{$key}:lock" );
+       }
+
+       /**
+        * Delete all objects expiring before a certain date.
+        * @param string $date The reference date in MW format
+        * @param callable|bool $progressCallback Optional, a function which will be called
+        *     regularly during long-running operations with the percentage progress
+        *     as the first parameter.
+        *
+        * @return bool Success, false if unimplemented
+        */
+       public function deleteObjectsExpiringBefore( $date, $progressCallback = false ) {
+               // stub
+               return false;
+       }
+
+       /* *** Emulated functions *** */
+
+       /**
+        * Get an associative array containing the item for each of the keys that have items.
+        * @param array $keys List of strings
+        * @return array
+        */
+       public function getMulti( array $keys ) {
+               $res = array();
+               foreach ( $keys as $key ) {
+                       $val = $this->get( $key );
+                       if ( $val !== false ) {
+                               $res[$key] = $val;
+                       }
+               }
+               return $res;
+       }
+
+       /**
+        * Batch insertion
+        * @param array $data $key => $value assoc array
+        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
+        * @return bool Success
+        * @since 1.24
+        */
+       public function setMulti( array $data, $exptime = 0 ) {
+               $res = true;
+               foreach ( $data as $key => $value ) {
+                       if ( !$this->set( $key, $value, $exptime ) ) {
+                               $res = false;
+                       }
+               }
+               return $res;
+       }
+
+       /**
+        * @param string $key
+        * @param mixed $value
+        * @param int $exptime
+        * @return bool Success
+        */
+       public function add( $key, $value, $exptime = 0 ) {
+               if ( $this->get( $key ) === false ) {
+                       return $this->set( $key, $value, $exptime );
+               }
+               return false; // key already set
+       }
+
+       /**
+        * Increase stored value of $key by $value while preserving its TTL
+        * @param string $key Key to increase
+        * @param int $value Value to add to $key (Default 1)
+        * @return int|bool New value or false on failure
+        */
+       public function incr( $key, $value = 1 ) {
+               if ( !$this->lock( $key ) ) {
+                       return false;
+               }
+               $n = $this->get( $key );
+               if ( $this->isInteger( $n ) ) { // key exists?
+                       $n += intval( $value );
+                       $this->set( $key, max( 0, $n ) ); // exptime?
+               } else {
+                       $n = false;
+               }
+               $this->unlock( $key );
+
+               return $n;
+       }
+
+       /**
+        * Decrease stored value of $key by $value while preserving its TTL
+        * @param string $key
+        * @param int $value
+        * @return int
+        */
+       public function decr( $key, $value = 1 ) {
+               return $this->incr( $key, - $value );
+       }
+
+       /**
+        * Increase stored value of $key by $value while preserving its TTL
+        *
+        * This will create the key with value $init and TTL $ttl if not present
+        *
+        * @param string $key
+        * @param int $ttl
+        * @param int $value
+        * @param int $init
+        * @return bool
+        * @since 1.24
+        */
+       public function incrWithInit( $key, $ttl, $value = 1, $init = 1 ) {
+               return $this->incr( $key, $value ) ||
+                       $this->add( $key, (int)$init, $ttl ) || $this->incr( $key, $value );
+       }
+
+       /**
+        * Get the "last error" registered; clearLastError() should be called manually
+        * @return int ERR_* constant for the "last error" registry
+        * @since 1.23
+        */
+       public function getLastError() {
+               return $this->lastError;
+       }
+
+       /**
+        * Clear the "last error" registry
+        * @since 1.23
+        */
+       public function clearLastError() {
+               $this->lastError = self::ERR_NONE;
+       }
+
+       /**
+        * Set the "last error" registry
+        * @param int $err ERR_* constant
+        * @since 1.23
+        */
+       protected function setLastError( $err ) {
+               $this->lastError = $err;
+       }
+
+       /**
+        * @param string $text
+        */
+       protected function debug( $text ) {
+               if ( $this->debugMode ) {
+                       $this->logger->debug( "{class} debug: $text", array(
+                               'class' => get_class( $this ),
+                       ) );
+               }
+       }
+
+       /**
+        * Convert an optionally relative time to an absolute time
+        * @param int $exptime
+        * @return int
+        */
+       protected function convertExpiry( $exptime ) {
+               if ( ( $exptime != 0 ) && ( $exptime < 86400 * 3650 /* 10 years */ ) ) {
+                       return time() + $exptime;
+               } else {
+                       return $exptime;
+               }
+       }
+
+       /**
+        * Convert an optionally absolute expiry time to a relative time. If an
+        * absolute time is specified which is in the past, use a short expiry time.
+        *
+        * @param int $exptime
+        * @return int
+        */
+       protected function convertToRelative( $exptime ) {
+               if ( $exptime >= 86400 * 3650 /* 10 years */ ) {
+                       $exptime -= time();
+                       if ( $exptime <= 0 ) {
+                               $exptime = 1;
+                       }
+                       return $exptime;
+               } else {
+                       return $exptime;
+               }
+       }
+
+       /**
+        * Check if a value is an integer
+        *
+        * @param mixed $value
+        * @return bool
+        */
+       protected function isInteger( $value ) {
+               return ( is_int( $value ) || ctype_digit( $value ) );
+       }
+}
diff --git a/includes/libs/objectcache/EmptyBagOStuff.php b/includes/libs/objectcache/EmptyBagOStuff.php
new file mode 100644 (file)
index 0000000..4ccf270
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Dummy object caching.
+ *
+ * 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 BagOStuff object with no objects in it. Used to provide a no-op object to calling code.
+ *
+ * @ingroup Cache
+ */
+class EmptyBagOStuff extends BagOStuff {
+       public function get( $key, &$casToken = null ) {
+               return false;
+       }
+
+       public function set( $key, $value, $exp = 0 ) {
+               return true;
+       }
+
+       public function delete( $key ) {
+               return true;
+       }
+
+       public function merge( $key, $callback, $exptime = 0, $attempts = 10 ) {
+               return true; // faster
+       }
+}
diff --git a/includes/libs/objectcache/HashBagOStuff.php b/includes/libs/objectcache/HashBagOStuff.php
new file mode 100644 (file)
index 0000000..2c8b05a
--- /dev/null
@@ -0,0 +1,87 @@
+<?php
+/**
+ * Object caching using PHP arrays.
+ *
+ * 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
+ */
+
+/**
+ * This is a test of the interface, mainly. It stores things in an associative
+ * array, which is not going to persist between program runs.
+ *
+ * @ingroup Cache
+ */
+class HashBagOStuff extends BagOStuff {
+       /** @var array */
+       protected $bag;
+
+       function __construct( $params = array() ) {
+               parent::__construct( $params );
+               $this->bag = array();
+       }
+
+       protected function expire( $key ) {
+               $et = $this->bag[$key][1];
+
+               if ( ( $et == 0 ) || ( $et > time() ) ) {
+                       return false;
+               }
+
+               $this->delete( $key );
+
+               return true;
+       }
+
+       public function get( $key, &$casToken = null ) {
+               if ( !isset( $this->bag[$key] ) ) {
+                       return false;
+               }
+
+               if ( $this->expire( $key ) ) {
+                       return false;
+               }
+
+               $casToken = $this->bag[$key][0];
+
+               return $this->bag[$key][0];
+       }
+
+       public function set( $key, $value, $exptime = 0 ) {
+               $this->bag[$key] = array( $value, $this->convertExpiry( $exptime ) );
+               return true;
+       }
+
+       function delete( $key ) {
+               if ( !isset( $this->bag[$key] ) ) {
+                       return false;
+               }
+
+               unset( $this->bag[$key] );
+
+               return true;
+       }
+
+       public function lock( $key, $timeout = 6, $expiry = 6 ) {
+               return true;
+       }
+
+       function unlock( $key ) {
+               return true;
+       }
+}
diff --git a/includes/libs/objectcache/WinCacheBagOStuff.php b/includes/libs/objectcache/WinCacheBagOStuff.php
new file mode 100644 (file)
index 0000000..5362574
--- /dev/null
@@ -0,0 +1,99 @@
+<?php
+/**
+ * Object caching using WinCache.
+ *
+ * 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
+ */
+
+/**
+ * Wrapper for WinCache object caching functions; identical interface
+ * to the APC wrapper
+ *
+ * @ingroup Cache
+ */
+class WinCacheBagOStuff extends BagOStuff {
+
+       /**
+        * Get a value from the WinCache object cache
+        *
+        * @param string $key Cache key
+        * @param int $casToken [optional] Cas token
+        * @return mixed
+        */
+       public function get( $key, &$casToken = null ) {
+               $val = wincache_ucache_get( $key );
+
+               $casToken = $val;
+
+               if ( is_string( $val ) ) {
+                       $val = unserialize( $val );
+               }
+
+               return $val;
+       }
+
+       /**
+        * Store a value in the WinCache object cache
+        *
+        * @param string $key Cache key
+        * @param mixed $value Value to store
+        * @param int $expire Expiration time
+        * @return bool
+        */
+       public function set( $key, $value, $expire = 0 ) {
+               $result = wincache_ucache_set( $key, serialize( $value ), $expire );
+
+               /* wincache_ucache_set returns an empty array on success if $value
+                  was an array, bool otherwise */
+               return ( is_array( $result ) && $result === array() ) || $result;
+       }
+
+       /**
+        * Store a value in the WinCache object cache, race condition-safe
+        *
+        * @param int $casToken Cas token
+        * @param string $key Cache key
+        * @param int $value Object to store
+        * @param int $exptime Expiration time
+        * @return bool
+        */
+       protected function cas( $casToken, $key, $value, $exptime = 0 ) {
+               return wincache_ucache_cas( $key, $casToken, serialize( $value ) );
+       }
+
+       /**
+        * Remove a value from the WinCache object cache
+        *
+        * @param string $key Cache key
+        * @return bool
+        */
+       public function delete( $key ) {
+               wincache_ucache_delete( $key );
+
+               return true;
+       }
+
+       public function merge( $key, $callback, $exptime = 0, $attempts = 10 ) {
+               if ( !is_callable( $callback ) ) {
+                       throw new Exception( "Got invalid callback." );
+               }
+
+               return $this->mergeViaCas( $key, $callback, $exptime, $attempts );
+       }
+}
diff --git a/includes/libs/objectcache/XCacheBagOStuff.php b/includes/libs/objectcache/XCacheBagOStuff.php
new file mode 100644 (file)
index 0000000..cfee923
--- /dev/null
@@ -0,0 +1,89 @@
+<?php
+/**
+ * Object caching using XCache.
+ *
+ * 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
+ */
+
+/**
+ * Wrapper for XCache object caching functions; identical interface
+ * to the APC wrapper
+ *
+ * @ingroup Cache
+ */
+class XCacheBagOStuff extends BagOStuff {
+       /**
+        * Get a value from the XCache object cache
+        *
+        * @param string $key Cache key
+        * @param mixed $casToken Cas token
+        * @return mixed
+        */
+       public function get( $key, &$casToken = null ) {
+               $val = xcache_get( $key );
+
+               if ( is_string( $val ) ) {
+                       if ( $this->isInteger( $val ) ) {
+                               $val = intval( $val );
+                       } else {
+                               $val = unserialize( $val );
+                       }
+               } elseif ( is_null( $val ) ) {
+                       return false;
+               }
+
+               return $val;
+       }
+
+       /**
+        * Store a value in the XCache object cache
+        *
+        * @param string $key Cache key
+        * @param mixed $value Object to store
+        * @param int $expire Expiration time
+        * @return bool
+        */
+       public function set( $key, $value, $expire = 0 ) {
+               if ( !$this->isInteger( $value ) ) {
+                       $value = serialize( $value );
+               }
+
+               xcache_set( $key, $value, $expire );
+               return true;
+       }
+
+       /**
+        * Remove a value from the XCache object cache
+        *
+        * @param string $key Cache key
+        * @return bool
+        */
+       public function delete( $key ) {
+               xcache_unset( $key );
+               return true;
+       }
+
+       public function incr( $key, $value = 1 ) {
+               return xcache_inc( $key, $value );
+       }
+
+       public function decr( $key, $value = 1 ) {
+               return xcache_dec( $key, $value );
+       }
+}
index 13d2183..995b809 100644 (file)
@@ -62,6 +62,19 @@ class BlockLogFormatter extends LogFormatter {
                return $params;
        }
 
+       protected function extractParameters() {
+               $params = parent::extractParameters();
+               // Legacy log params returning the params in index 3 and 4, moved to 4 and 5
+               if ( $this->entry->isLegacy() && isset( $params[3] ) ) {
+                       if ( isset( $params[4] ) ) {
+                               $params[5] = $params[4];
+                       }
+                       $params[4] = $params[3];
+                       $params[3] = '';
+               }
+               return $params;
+       }
+
        public function getPreloadTitles() {
                $title = $this->entry->getTarget();
                // Preload user page for non-autoblocks
index b69ccb2..16cf5a1 100644 (file)
@@ -456,7 +456,8 @@ class LogFormatter {
                 */
                if ( count( $params ) ) {
                        $max = max( array_keys( $params ) );
-                       for ( $i = 4; $i < $max; $i++ ) {
+                       // index 0 to 2 are added in getMessageParameters
+                       for ( $i = 3; $i < $max; $i++ ) {
                                if ( !isset( $params[$i] ) ) {
                                        $params[$i] = '';
                                }
diff --git a/includes/objectcache/APCBagOStuff.php b/includes/objectcache/APCBagOStuff.php
deleted file mode 100644 (file)
index eaf1155..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-/**
- * Object caching using PHP's APC accelerator.
- *
- * 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
- */
-
-/**
- * This is a wrapper for APC's shared memory functions
- *
- * @ingroup Cache
- */
-class APCBagOStuff extends BagOStuff {
-       public function get( $key, &$casToken = null ) {
-               $val = apc_fetch( $key );
-
-               $casToken = $val;
-
-               if ( is_string( $val ) ) {
-                       if ( $this->isInteger( $val ) ) {
-                               $val = intval( $val );
-                       } else {
-                               $val = unserialize( $val );
-                       }
-               }
-
-               return $val;
-       }
-
-       public function set( $key, $value, $exptime = 0 ) {
-               if ( !$this->isInteger( $value ) ) {
-                       $value = serialize( $value );
-               }
-
-               apc_store( $key, $value, $exptime );
-
-               return true;
-       }
-
-       public function delete( $key ) {
-               apc_delete( $key );
-
-               return true;
-       }
-
-       public function incr( $key, $value = 1 ) {
-               return apc_inc( $key, $value );
-       }
-
-       public function decr( $key, $value = 1 ) {
-               return apc_dec( $key, $value );
-       }
-}
diff --git a/includes/objectcache/BagOStuff.php b/includes/objectcache/BagOStuff.php
deleted file mode 100644 (file)
index 5f0b4e2..0000000
+++ /dev/null
@@ -1,438 +0,0 @@
-<?php
-/**
- * Classes to cache objects in PHP accelerators, SQL database or DBA files
- *
- * Copyright © 2003-2004 Brion Vibber <brion@pobox.com>
- * https://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
- * @ingroup Cache
- */
-
-/**
- * @defgroup Cache Cache
- */
-
-use Psr\Log\LoggerAwareInterface;
-use Psr\Log\LoggerInterface;
-use Psr\Log\NullLogger;
-
-/**
- * interface is intended to be more or less compatible with
- * the PHP memcached client.
- *
- * backends for local hash array and SQL table included:
- * <code>
- *   $bag = new HashBagOStuff();
- *   $bag = new SqlBagOStuff(); # connect to db first
- * </code>
- *
- * @ingroup Cache
- */
-abstract class BagOStuff implements LoggerAwareInterface {
-       private $debugMode = false;
-
-       protected $lastError = self::ERR_NONE;
-
-       /**
-        * @var LoggerInterface
-        */
-       protected $logger;
-
-       /** Possible values for getLastError() */
-       const ERR_NONE = 0; // no error
-       const ERR_NO_RESPONSE = 1; // no response
-       const ERR_UNREACHABLE = 2; // can't connect
-       const ERR_UNEXPECTED = 3; // response gave some error
-
-       public function __construct( array $params = array() ) {
-               if ( isset( $params['logger'] ) ) {
-                       $this->setLogger( $params['logger'] );
-               } else {
-                       $this->setLogger( new NullLogger() );
-               }
-       }
-
-       /**
-        * @param LoggerInterface $logger
-        * @return null
-        */
-       public function setLogger( LoggerInterface $logger ) {
-               $this->logger = $logger;
-       }
-
-       /**
-        * @param bool $bool
-        */
-       public function setDebug( $bool ) {
-               $this->debugMode = $bool;
-       }
-
-       /**
-        * Get an item with the given key. Returns false if it does not exist.
-        * @param string $key
-        * @param mixed $casToken [optional]
-        * @return mixed Returns false on failure
-        */
-       abstract public function get( $key, &$casToken = null );
-
-       /**
-        * Set an item.
-        * @param string $key
-        * @param mixed $value
-        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
-        * @return bool Success
-        */
-       abstract public function set( $key, $value, $exptime = 0 );
-
-       /**
-        * Delete an item.
-        * @param string $key
-        * @return bool True if the item was deleted or not found, false on failure
-        */
-       abstract public function delete( $key );
-
-       /**
-        * Merge changes into the existing cache value (possibly creating a new one).
-        * The callback function returns the new value given the current value (possibly false),
-        * and takes the arguments: (this BagOStuff object, cache key, current value).
-        *
-        * @param string $key
-        * @param callable $callback Callback method to be executed
-        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
-        * @param int $attempts The amount of times to attempt a merge in case of failure
-        * @return bool Success
-        */
-       public function merge( $key, $callback, $exptime = 0, $attempts = 10 ) {
-               if ( !is_callable( $callback ) ) {
-                       throw new Exception( "Got invalid callback." );
-               }
-
-               return $this->mergeViaLock( $key, $callback, $exptime, $attempts );
-       }
-
-       /**
-        * @see BagOStuff::merge()
-        *
-        * @param string $key
-        * @param callable $callback Callback method to be executed
-        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
-        * @param int $attempts The amount of times to attempt a merge in case of failure
-        * @return bool Success
-        */
-       protected function mergeViaCas( $key, $callback, $exptime = 0, $attempts = 10 ) {
-               do {
-                       $casToken = null; // passed by reference
-                       $currentValue = $this->get( $key, $casToken );
-                       // Derive the new value from the old value
-                       $value = call_user_func( $callback, $this, $key, $currentValue );
-
-                       if ( $value === false ) {
-                               $success = true; // do nothing
-                       } elseif ( $currentValue === false ) {
-                               // Try to create the key, failing if it gets created in the meantime
-                               $success = $this->add( $key, $value, $exptime );
-                       } else {
-                               // Try to update the key, failing if it gets changed in the meantime
-                               $success = $this->cas( $casToken, $key, $value, $exptime );
-                       }
-               } while ( !$success && --$attempts );
-
-               return $success;
-       }
-
-       /**
-        * Check and set an item
-        *
-        * @param mixed $casToken
-        * @param string $key
-        * @param mixed $value
-        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
-        * @return bool Success
-        */
-       protected function cas( $casToken, $key, $value, $exptime = 0 ) {
-               throw new MWException( "CAS is not implemented in " . __CLASS__ );
-       }
-
-       /**
-        * @see BagOStuff::merge()
-        *
-        * @param string $key
-        * @param callable $callback Callback method to be executed
-        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
-        * @param int $attempts The amount of times to attempt a merge in case of failure
-        * @return bool Success
-        */
-       protected function mergeViaLock( $key, $callback, $exptime = 0, $attempts = 10 ) {
-               if ( !$this->lock( $key, 6 ) ) {
-                       return false;
-               }
-
-               $currentValue = $this->get( $key );
-               // Derive the new value from the old value
-               $value = call_user_func( $callback, $this, $key, $currentValue );
-
-               if ( $value === false ) {
-                       $success = true; // do nothing
-               } else {
-                       $success = $this->set( $key, $value, $exptime ); // set the new value
-               }
-
-               if ( !$this->unlock( $key ) ) {
-                       // this should never happen
-                       trigger_error( "Could not release lock for key '$key'." );
-               }
-
-               return $success;
-       }
-
-       /**
-        * @param string $key
-        * @param int $timeout Lock wait timeout [optional]
-        * @param int $expiry Lock expiry [optional]
-        * @return bool Success
-        */
-       public function lock( $key, $timeout = 6, $expiry = 6 ) {
-               $this->clearLastError();
-               $timestamp = microtime( true ); // starting UNIX timestamp
-               if ( $this->add( "{$key}:lock", 1, $expiry ) ) {
-                       return true;
-               } elseif ( $this->getLastError() ) {
-                       return false;
-               }
-
-               $uRTT = ceil( 1e6 * ( microtime( true ) - $timestamp ) ); // estimate RTT (us)
-               $sleep = 2 * $uRTT; // rough time to do get()+set()
-
-               $locked = false; // lock acquired
-               $attempts = 0; // failed attempts
-               do {
-                       if ( ++$attempts >= 3 && $sleep <= 5e5 ) {
-                               // Exponentially back off after failed attempts to avoid network spam.
-                               // About 2*$uRTT*(2^n-1) us of "sleep" happen for the next n attempts.
-                               $sleep *= 2;
-                       }
-                       usleep( $sleep ); // back off
-                       $this->clearLastError();
-                       $locked = $this->add( "{$key}:lock", 1, $expiry );
-                       if ( $this->getLastError() ) {
-                               return false;
-                       }
-               } while ( !$locked && ( microtime( true ) - $timestamp ) < $timeout );
-
-               return $locked;
-       }
-
-       /**
-        * @param string $key
-        * @return bool Success
-        */
-       public function unlock( $key ) {
-               return $this->delete( "{$key}:lock" );
-       }
-
-       /**
-        * Delete all objects expiring before a certain date.
-        * @param string $date The reference date in MW format
-        * @param callable|bool $progressCallback Optional, a function which will be called
-        *     regularly during long-running operations with the percentage progress
-        *     as the first parameter.
-        *
-        * @return bool Success, false if unimplemented
-        */
-       public function deleteObjectsExpiringBefore( $date, $progressCallback = false ) {
-               // stub
-               return false;
-       }
-
-       /* *** Emulated functions *** */
-
-       /**
-        * Get an associative array containing the item for each of the keys that have items.
-        * @param array $keys List of strings
-        * @return array
-        */
-       public function getMulti( array $keys ) {
-               $res = array();
-               foreach ( $keys as $key ) {
-                       $val = $this->get( $key );
-                       if ( $val !== false ) {
-                               $res[$key] = $val;
-                       }
-               }
-               return $res;
-       }
-
-       /**
-        * Batch insertion
-        * @param array $data $key => $value assoc array
-        * @param int $exptime Either an interval in seconds or a unix timestamp for expiry
-        * @return bool Success
-        * @since 1.24
-        */
-       public function setMulti( array $data, $exptime = 0 ) {
-               $res = true;
-               foreach ( $data as $key => $value ) {
-                       if ( !$this->set( $key, $value, $exptime ) ) {
-                               $res = false;
-                       }
-               }
-               return $res;
-       }
-
-       /**
-        * @param string $key
-        * @param mixed $value
-        * @param int $exptime
-        * @return bool Success
-        */
-       public function add( $key, $value, $exptime = 0 ) {
-               if ( $this->get( $key ) === false ) {
-                       return $this->set( $key, $value, $exptime );
-               }
-               return false; // key already set
-       }
-
-       /**
-        * Increase stored value of $key by $value while preserving its TTL
-        * @param string $key Key to increase
-        * @param int $value Value to add to $key (Default 1)
-        * @return int|bool New value or false on failure
-        */
-       public function incr( $key, $value = 1 ) {
-               if ( !$this->lock( $key ) ) {
-                       return false;
-               }
-               $n = $this->get( $key );
-               if ( $this->isInteger( $n ) ) { // key exists?
-                       $n += intval( $value );
-                       $this->set( $key, max( 0, $n ) ); // exptime?
-               } else {
-                       $n = false;
-               }
-               $this->unlock( $key );
-
-               return $n;
-       }
-
-       /**
-        * Decrease stored value of $key by $value while preserving its TTL
-        * @param string $key
-        * @param int $value
-        * @return int
-        */
-       public function decr( $key, $value = 1 ) {
-               return $this->incr( $key, - $value );
-       }
-
-       /**
-        * Increase stored value of $key by $value while preserving its TTL
-        *
-        * This will create the key with value $init and TTL $ttl if not present
-        *
-        * @param string $key
-        * @param int $ttl
-        * @param int $value
-        * @param int $init
-        * @return bool
-        * @since 1.24
-        */
-       public function incrWithInit( $key, $ttl, $value = 1, $init = 1 ) {
-               return $this->incr( $key, $value ) ||
-                       $this->add( $key, (int)$init, $ttl ) || $this->incr( $key, $value );
-       }
-
-       /**
-        * Get the "last error" registered; clearLastError() should be called manually
-        * @return int ERR_* constant for the "last error" registry
-        * @since 1.23
-        */
-       public function getLastError() {
-               return $this->lastError;
-       }
-
-       /**
-        * Clear the "last error" registry
-        * @since 1.23
-        */
-       public function clearLastError() {
-               $this->lastError = self::ERR_NONE;
-       }
-
-       /**
-        * Set the "last error" registry
-        * @param int $err ERR_* constant
-        * @since 1.23
-        */
-       protected function setLastError( $err ) {
-               $this->lastError = $err;
-       }
-
-       /**
-        * @param string $text
-        */
-       protected function debug( $text ) {
-               if ( $this->debugMode ) {
-                       $this->logger->debug( "{class} debug: $text", array(
-                               'class' => get_class( $this ),
-                       ) );
-               }
-       }
-
-       /**
-        * Convert an optionally relative time to an absolute time
-        * @param int $exptime
-        * @return int
-        */
-       protected function convertExpiry( $exptime ) {
-               if ( ( $exptime != 0 ) && ( $exptime < 86400 * 3650 /* 10 years */ ) ) {
-                       return time() + $exptime;
-               } else {
-                       return $exptime;
-               }
-       }
-
-       /**
-        * Convert an optionally absolute expiry time to a relative time. If an
-        * absolute time is specified which is in the past, use a short expiry time.
-        *
-        * @param int $exptime
-        * @return int
-        */
-       protected function convertToRelative( $exptime ) {
-               if ( $exptime >= 86400 * 3650 /* 10 years */ ) {
-                       $exptime -= time();
-                       if ( $exptime <= 0 ) {
-                               $exptime = 1;
-                       }
-                       return $exptime;
-               } else {
-                       return $exptime;
-               }
-       }
-
-       /**
-        * Check if a value is an integer
-        *
-        * @param mixed $value
-        * @return bool
-        */
-       protected function isInteger( $value ) {
-               return ( is_int( $value ) || ctype_digit( $value ) );
-       }
-}
diff --git a/includes/objectcache/EmptyBagOStuff.php b/includes/objectcache/EmptyBagOStuff.php
deleted file mode 100644 (file)
index 4ccf270..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-/**
- * Dummy object caching.
- *
- * 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 BagOStuff object with no objects in it. Used to provide a no-op object to calling code.
- *
- * @ingroup Cache
- */
-class EmptyBagOStuff extends BagOStuff {
-       public function get( $key, &$casToken = null ) {
-               return false;
-       }
-
-       public function set( $key, $value, $exp = 0 ) {
-               return true;
-       }
-
-       public function delete( $key ) {
-               return true;
-       }
-
-       public function merge( $key, $callback, $exptime = 0, $attempts = 10 ) {
-               return true; // faster
-       }
-}
diff --git a/includes/objectcache/HashBagOStuff.php b/includes/objectcache/HashBagOStuff.php
deleted file mode 100644 (file)
index 2c8b05a..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<?php
-/**
- * Object caching using PHP arrays.
- *
- * 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
- */
-
-/**
- * This is a test of the interface, mainly. It stores things in an associative
- * array, which is not going to persist between program runs.
- *
- * @ingroup Cache
- */
-class HashBagOStuff extends BagOStuff {
-       /** @var array */
-       protected $bag;
-
-       function __construct( $params = array() ) {
-               parent::__construct( $params );
-               $this->bag = array();
-       }
-
-       protected function expire( $key ) {
-               $et = $this->bag[$key][1];
-
-               if ( ( $et == 0 ) || ( $et > time() ) ) {
-                       return false;
-               }
-
-               $this->delete( $key );
-
-               return true;
-       }
-
-       public function get( $key, &$casToken = null ) {
-               if ( !isset( $this->bag[$key] ) ) {
-                       return false;
-               }
-
-               if ( $this->expire( $key ) ) {
-                       return false;
-               }
-
-               $casToken = $this->bag[$key][0];
-
-               return $this->bag[$key][0];
-       }
-
-       public function set( $key, $value, $exptime = 0 ) {
-               $this->bag[$key] = array( $value, $this->convertExpiry( $exptime ) );
-               return true;
-       }
-
-       function delete( $key ) {
-               if ( !isset( $this->bag[$key] ) ) {
-                       return false;
-               }
-
-               unset( $this->bag[$key] );
-
-               return true;
-       }
-
-       public function lock( $key, $timeout = 6, $expiry = 6 ) {
-               return true;
-       }
-
-       function unlock( $key ) {
-               return true;
-       }
-}
index 896eaf0..be54e4d 100644 (file)
@@ -40,12 +40,12 @@ class MultiWriteBagOStuff extends BagOStuff {
         *               the documentation of $wgObjectCaches for more detail.
         *
         * @param array $params
-        * @throws MWException
+        * @throws InvalidArgumentException
         */
        public function __construct( $params ) {
                parent::__construct( $params );
                if ( !isset( $params['caches'] ) ) {
-                       throw new MWException( __METHOD__ . ': the caches parameter is required' );
+                       throw new InvalidArgumentException( __METHOD__ . ': the caches parameter is required' );
                }
 
                $this->caches = array();
index df878f7..82eeb84 100644 (file)
@@ -145,6 +145,8 @@ class SqlBagOStuff extends BagOStuff {
                                $type = isset( $info['type'] ) ? $info['type'] : 'mysql';
                                $host = isset( $info['host'] ) ? $info['host'] : '[unknown]';
                                $this->logger->debug( __CLASS__ . ": connecting to $host" );
+                               // Use a blank trx profiler to ignore expections as this is a cache
+                               $info['trxProfiler'] = new TransactionProfiler();
                                $db = DatabaseBase::factory( $type, $info );
                                $db->clearFlag( DBO_TRX );
                        } else {
@@ -731,9 +733,11 @@ class SqlBagOStuff extends BagOStuff {
                        $this->markServerDown( $exception, $serverIndex );
                }
                if ( $exception->db && $exception->db->wasReadOnlyError() ) {
-                       try {
-                               $exception->db->rollback( __METHOD__ );
-                       } catch ( DBError $e ) {
+                       if ( $exception->db->trxLevel() ) {
+                               try {
+                                       $exception->db->rollback( __METHOD__ );
+                               } catch ( DBError $e ) {
+                               }
                        }
                }
 
diff --git a/includes/objectcache/WinCacheBagOStuff.php b/includes/objectcache/WinCacheBagOStuff.php
deleted file mode 100644 (file)
index 5362574..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-/**
- * Object caching using WinCache.
- *
- * 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
- */
-
-/**
- * Wrapper for WinCache object caching functions; identical interface
- * to the APC wrapper
- *
- * @ingroup Cache
- */
-class WinCacheBagOStuff extends BagOStuff {
-
-       /**
-        * Get a value from the WinCache object cache
-        *
-        * @param string $key Cache key
-        * @param int $casToken [optional] Cas token
-        * @return mixed
-        */
-       public function get( $key, &$casToken = null ) {
-               $val = wincache_ucache_get( $key );
-
-               $casToken = $val;
-
-               if ( is_string( $val ) ) {
-                       $val = unserialize( $val );
-               }
-
-               return $val;
-       }
-
-       /**
-        * Store a value in the WinCache object cache
-        *
-        * @param string $key Cache key
-        * @param mixed $value Value to store
-        * @param int $expire Expiration time
-        * @return bool
-        */
-       public function set( $key, $value, $expire = 0 ) {
-               $result = wincache_ucache_set( $key, serialize( $value ), $expire );
-
-               /* wincache_ucache_set returns an empty array on success if $value
-                  was an array, bool otherwise */
-               return ( is_array( $result ) && $result === array() ) || $result;
-       }
-
-       /**
-        * Store a value in the WinCache object cache, race condition-safe
-        *
-        * @param int $casToken Cas token
-        * @param string $key Cache key
-        * @param int $value Object to store
-        * @param int $exptime Expiration time
-        * @return bool
-        */
-       protected function cas( $casToken, $key, $value, $exptime = 0 ) {
-               return wincache_ucache_cas( $key, $casToken, serialize( $value ) );
-       }
-
-       /**
-        * Remove a value from the WinCache object cache
-        *
-        * @param string $key Cache key
-        * @return bool
-        */
-       public function delete( $key ) {
-               wincache_ucache_delete( $key );
-
-               return true;
-       }
-
-       public function merge( $key, $callback, $exptime = 0, $attempts = 10 ) {
-               if ( !is_callable( $callback ) ) {
-                       throw new Exception( "Got invalid callback." );
-               }
-
-               return $this->mergeViaCas( $key, $callback, $exptime, $attempts );
-       }
-}
diff --git a/includes/objectcache/XCacheBagOStuff.php b/includes/objectcache/XCacheBagOStuff.php
deleted file mode 100644 (file)
index cfee923..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-/**
- * Object caching using XCache.
- *
- * 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
- */
-
-/**
- * Wrapper for XCache object caching functions; identical interface
- * to the APC wrapper
- *
- * @ingroup Cache
- */
-class XCacheBagOStuff extends BagOStuff {
-       /**
-        * Get a value from the XCache object cache
-        *
-        * @param string $key Cache key
-        * @param mixed $casToken Cas token
-        * @return mixed
-        */
-       public function get( $key, &$casToken = null ) {
-               $val = xcache_get( $key );
-
-               if ( is_string( $val ) ) {
-                       if ( $this->isInteger( $val ) ) {
-                               $val = intval( $val );
-                       } else {
-                               $val = unserialize( $val );
-                       }
-               } elseif ( is_null( $val ) ) {
-                       return false;
-               }
-
-               return $val;
-       }
-
-       /**
-        * Store a value in the XCache object cache
-        *
-        * @param string $key Cache key
-        * @param mixed $value Object to store
-        * @param int $expire Expiration time
-        * @return bool
-        */
-       public function set( $key, $value, $expire = 0 ) {
-               if ( !$this->isInteger( $value ) ) {
-                       $value = serialize( $value );
-               }
-
-               xcache_set( $key, $value, $expire );
-               return true;
-       }
-
-       /**
-        * Remove a value from the XCache object cache
-        *
-        * @param string $key Cache key
-        * @return bool
-        */
-       public function delete( $key ) {
-               xcache_unset( $key );
-               return true;
-       }
-
-       public function incr( $key, $value = 1 ) {
-               return xcache_inc( $key, $value );
-       }
-
-       public function decr( $key, $value = 1 ) {
-               return xcache_dec( $key, $value );
-       }
-}
index 6b9cb05..f249017 100644 (file)
@@ -53,8 +53,6 @@ class ParserOutput extends CacheTime {
                $mTOCEnabled = true;          # Whether TOC should be shown, can't override __NOTOC__
        private $mIndexPolicy = '';       # 'index' or 'noindex'?  Any other value will result in no change.
        private $mAccessedOptions = array(); # List of ParserOptions (stored in the keys)
-       private $mSecondaryDataUpdates = array(); # List of DataUpdate, used to save info from the page somewhere else.
-       private $mCustomDataUpdateCount = 0; # Number of custom updaters in $mSecondaryDataUpdates.
        private $mExtensionData = array(); # extra data used by extensions
        private $mLimitReportData = array(); # Parser limit report data
        private $mParseStartTime = array(); # Timestamps for getTimeSinceStart()
@@ -677,73 +675,57 @@ class ParserOutput extends CacheTime {
        }
 
        /**
-        * Adds an update job to the output. Any update jobs added to the output will
-        * eventually be executed in order to store any secondary information extracted
-        * from the page's content. This is triggered by calling getSecondaryDataUpdates()
-        * and is used for forward links updates on edit and backlink updates by jobs.
+        * @deprecated since 1.25. Instead, store any relevant data using setExtensionData,
+        *    and implement Content::getSecondaryDataUpdates() if possible, or use the
+        *    'SecondaryDataUpdates' hook to construct the necessary update objects.
         *
-        * @note: custom DataUpdates do not survive serialization of the ParserOutput!
-        * This is especially relevant when using a cached ParserOutput for updating
-        * the database, as WikiPage does if $wgAjaxEditStash is enabled. For this
-        * reason, ApiStashEdit will skip any ParserOutput that has custom DataUpdates.
+        * @note Hard deprecation and removal without long deprecation period, since there are no
+        *       known users, but known conceptual issues.
         *
-        * @since 1.20
+        * @todo remove in 1.26
         *
         * @param DataUpdate $update
+        *
+        * @throws MWException
         */
        public function addSecondaryDataUpdate( DataUpdate $update ) {
-               $this->mSecondaryDataUpdates[] = $update;
-               $this->mCustomDataUpdateCount = count( $this->mSecondaryDataUpdates );
+               wfDeprecated( __METHOD__, '1.25' );
+               throw new MWException( 'ParserOutput::addSecondaryDataUpdate() is no longer supported. Override Content::getSecondaryDataUpdates() or use the SecondaryDataUpdates hook instead.' );
        }
 
        /**
-        * Whether this ParserOutput contains custom DataUpdate objects that may not survive
-        * serialization of the ParserOutput.
+        * @deprecated since 1.25.
         *
-        * @see __sleep()
+        * @note Hard deprecation and removal without long deprecation period, since there are no
+        *       known users, but known conceptual issues.
         *
-        * @return bool
+        * @todo remove in 1.26
+        *
+        * @return bool false (since 1.25)
         */
        public function hasCustomDataUpdates() {
-               return ( $this->mCustomDataUpdateCount > 0 );
+               wfDeprecated( __METHOD__, '1.25' );
+               return false;
        }
 
        /**
-        * Returns any DataUpdate jobs to be executed in order to store secondary information
-        * extracted from the page's content, including a LinksUpdate object for all links stored in
-        * this ParserOutput object.
+        * @deprecated since 1.25. Instead, store any relevant data using setExtensionData,
+        *    and implement Content::getSecondaryDataUpdates() if possible, or use the
+        *    'SecondaryDataUpdates' hook to construct the necessary update objects.
         *
-        * @note Avoid using this method directly, use ContentHandler::getSecondaryDataUpdates()
-        *   instead! The content handler may provide additional update objects.
+        * @note Hard deprecation and removal without long deprecation period, since there are no
+        *       known users, but known conceptual issues.
         *
-        * @since 1.20
+        * @todo remove in 1.26
         *
-        * @param Title $title The title of the page we're updating. If not given, a title object will
-        *    be created based on $this->getTitleText()
-        * @param bool $recursive Queue jobs for recursive updates?
-        *
-        * @throws MWException if called on a ParserOutput instance that was restored from serialization.
-        *         DataUpdates are generally not serializable, so after serialization, they are undefined.
+        * @param Title $title
+        * @param bool $recursive
         *
         * @return array An array of instances of DataUpdate
         */
        public function getSecondaryDataUpdates( Title $title = null, $recursive = true ) {
-               if ( is_null( $title ) ) {
-                       $title = Title::newFromText( $this->getTitleText() );
-               }
-
-               if ( count( $this->mSecondaryDataUpdates ) !== $this->mCustomDataUpdateCount ) {
-                       // NOTE: This happens when mSecondaryDataUpdates are lost during serialization
-                       // (see __sleep below). After (un)serialization, getSecondaryDataUpdates()
-                       // has no defined behavior in that case, and should throw an exception.
-                       throw new MWException( 'getSecondaryDataUpdates() must not be called on ParserOutput restored from serialization.' );
-               }
-
-               // NOTE: ApiStashEdit knows about this "magic" update object. If this goes away,
-               // ApiStashEdit::buildStashValue needs to be adjusted.
-               $linksUpdate = new LinksUpdate( $title, $this, $recursive );
-
-               return array_merge( $this->mSecondaryDataUpdates, array( $linksUpdate ) );
+               wfDeprecated( __METHOD__, '1.25' );
+               return array();
        }
 
        /**
@@ -913,7 +895,7 @@ class ParserOutput extends CacheTime {
        public function __sleep() {
                return array_diff(
                        array_keys( get_object_vars( $this ) ),
-                       array( 'mSecondaryDataUpdates', 'mParseStartTime' )
+                       array( 'mParseStartTime' )
                );
        }
 }
index 1d9721a..35d5c05 100644 (file)
@@ -45,9 +45,9 @@ class ResourceLoaderSiteModule extends ResourceLoaderWikiModule {
                if ( $this->getConfig()->get( 'UseSiteCss' ) ) {
                        $pages['MediaWiki:Common.css'] = array( 'type' => 'style' );
                        $pages['MediaWiki:' . ucfirst( $context->getSkin() ) . '.css'] = array( 'type' => 'style' );
+                       $pages['MediaWiki:Print.css'] = array( 'type' => 'style', 'media' => 'print' );
 
                }
-               $pages['MediaWiki:Print.css'] = array( 'type' => 'style', 'media' => 'print' );
                return $pages;
        }
 
diff --git a/includes/site/HashSiteStore.php b/includes/site/HashSiteStore.php
new file mode 100644 (file)
index 0000000..38528d6
--- /dev/null
@@ -0,0 +1,117 @@
+<?php
+/**
+ * In-memory implementation of SiteStore.
+ *
+ * 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
+ */
+
+/**
+ * In-memory SiteStore implementation, storing sites in an associative array.
+ *
+ * @author Daniel Kinzler
+ * @author Katie Filbert < aude.wiki@gmail.com >
+ *
+ * @since 1.25
+ * @ingroup Site
+ */
+class HashSiteStore implements SiteStore {
+
+       /**
+        * @var Site[]
+        */
+       private $sites = array();
+
+       /**
+        * @param array $sites
+        */
+       public function __construct( $sites = array() ) {
+               $this->saveSites( $sites );
+       }
+
+       /**
+        * Saves the provided site.
+        *
+        * @since 1.25
+        *
+        * @param Site $site
+        *
+        * @return boolean Success indicator
+        */
+       public function saveSite( Site $site ) {
+               $this->sites[$site->getGlobalId()] = $site;
+       }
+
+       /**
+        * Saves the provided sites.
+        *
+        * @since 1.25
+        *
+        * @param Site[] $sites
+        *
+        * @return boolean Success indicator
+        */
+       public function saveSites( array $sites ) {
+               foreach ( $sites as $site ) {
+                       $this->saveSite( $site );
+               }
+       }
+
+       /**
+        * Returns the site with provided global id, or null if there is no such site.
+        *
+        * @since 1.25
+        *
+        * @param string $globalId
+        * @param string $source either 'cache' or 'recache'.
+        *                       If 'cache', the values can (but not obliged) come from a cache.
+        *
+        * @return Site|null
+        */
+       public function getSite( $globalId, $source = 'cache' ) {
+               if ( isset( $this->sites[$globalId] ) ) {
+                       return $this->sites[$globalId];
+               } else {
+                       return null;
+               }
+       }
+
+       /**
+        * Returns a list of all sites. By default this site is
+        * fetched from the cache, which can be changed to loading
+        * the list from the database using the $useCache parameter.
+        *
+        * @since 1.25
+        *
+        * @param string $source either 'cache' or 'recache'.
+        *                       If 'cache', the values can (but not obliged) come from a cache.
+        *
+        * @return SiteList
+        */
+       public function getSites( $source = 'cache' ) {
+               return new SiteList( $this->sites );
+       }
+
+       /**
+        * Deletes all sites from the database. After calling clear(), getSites() will return an empty
+        * list and getSite() will return null until saveSite() or saveSites() is called.
+        */
+       public function clear() {
+               $this->sites = array();
+       }
+
+}
index 760704d..d4b45fb 100644 (file)
@@ -425,7 +425,7 @@ class ImageListPager extends TablePager {
        function formatValue( $field, $value ) {
                switch ( $field ) {
                        case 'thumb':
-                               $opt = array( 'time' => $this->mCurrentRow->img_timestamp );
+                               $opt = array( 'time' => wfTimestamp( TS_MW, $this->mCurrentRow->img_timestamp ) );
                                $file = RepoGroup::singleton()->getLocalRepo()->findFile( $value, $opt );
                                // If statement for paranoia
                                if ( $file ) {
index 1056cda..b62de5d 100644 (file)
@@ -73,6 +73,10 @@ class MediaStatisticsPage extends QueryPage {
                                'namespace' => NS_MEDIA, /* needs to be something */
                                'value' => '1'
                        ),
+                       'conds' => array(
+                               // WMF has a random null row in the db
+                               'img_media_type IS NOT NULL'
+                       ),
                        'options' => array(
                                'GROUP BY' => array(
                                        'img_media_type',
index 71b1893..6cea158 100644 (file)
@@ -80,6 +80,11 @@ class SpecialMyLanguage extends RedirectSpecialArticle {
                        return null;
                }
 
+               if ( $base->isRedirect() ) {
+                       $page = new WikiPage( $base );
+                       $base = $page->getRedirectTarget();
+               }
+
                $uiCode = $this->getLanguage()->getCode();
                $proposed = $base->getSubpage( $uiCode );
                if ( $uiCode !== $this->getConfig()->get( 'LanguageCode' ) && $proposed && $proposed->exists() ) {
index 43bab0e..dc9da63 100644 (file)
@@ -218,7 +218,7 @@ class UsercreateTemplate extends BaseTemplate {
                                                                                echo 'checked="checked"';
                                                                        } ?>
                                                                ><label for="<?php echo htmlspecialchars( $inputItem['name'] ); ?>">
-                                                                       <?php $this->msgHtml( $inputItem['msg'] ); ?>
+                                                                       <?php $this->msg( $inputItem['msg'] ); ?>
                                                                </label>
                                                        </div>
                                                <?php
index d203c0f..0d4eb13 100644 (file)
@@ -587,7 +587,7 @@ class Language {
                global $wgExtraGenderNamespaces;
 
                $ns = $wgExtraGenderNamespaces +
-                       self::$dataCache->getItem( $this->mCode, 'namespaceGenderAliases' );
+                       (array)self::$dataCache->getItem( $this->mCode, 'namespaceGenderAliases' );
 
                return isset( $ns[$index][$gender] ) ? $ns[$index][$gender] : $this->getNsText( $index );
        }
index 7b71a0b..177315b 100644 (file)
        "version-parser-function-hooks": "Ontleder-funksiehoeke",
        "version-hook-name": "Hoek naam",
        "version-hook-subscribedby": "Gebruik deur",
-       "version-version": "(Weergawe $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[geen naam]",
        "version-license": "MediaWiki se lisensie",
        "version-ext-license": "Lisensie",
index b74b682..0a96eef 100644 (file)
        "deletereason-dropdown": "*ተራ የማጥፋት ምክንያቶች\n** በአቅራቢው ጥያቄ\n** ማብዛቱ ያልተፈቀደለት ጽሑፍ\n** ተንኮል",
        "delete-edit-reasonlist": "'ተራ የማጥፋት ምክንያቶች' ለማዘጋጀት",
        "rollback": "ለውጦቹ ይገልበጡ",
-       "rollback_short": "ይመለስ",
        "rollbacklink": "ROLLBACK ይመለስ",
        "rollbackfailed": "መገልበጡ አልተከናወነም",
        "cantrollback": "ለውጡን መገልበጥ አይቻልም፦ አቅራቢው ብቻ ስላዘጋጁት ነው።",
        "watchlisttools-view": "የምከታተላቸው ለውጦች",
        "watchlisttools-edit": "ዝርዝሩን ለማስተካከል",
        "watchlisttools-raw": "የዝርዝሩ ጥሬ ኮድ",
-       "unknown_extension_tag": "ያልታወቀ የቅጥያ ምልክት «$1»",
        "version": "ዝርያ",
        "version-extensions": "የተሳኩ ቅጥያዎች",
        "version-specialpages": "ልዩ ገጾች",
        "version-parser-function-hooks": "የዘርዛሪ ተግባር ሜጦዎች",
        "version-hook-name": "የሜንጦ ስም",
        "version-hook-subscribedby": "የተጨመረበት",
-       "version-version": "(ዝርያ $1)",
+       "version-version": "($1)",
        "version-license": "ፈቃድ",
        "version-software": "የተሳካ ሶፍትዌር",
        "version-software-product": "ሶፍትዌር",
index ee38c93..d58ac13 100644 (file)
        "delete-toobig": "Ista pachina tiene un historial d'edicions prou largo, con mas de $1 {{PLURAL:$1|versión|versions}}. S'ha restrinchito o borrau d'ista mena de pachinas ta aprevenir d'a corrompición accidental de {{SITENAME}}.",
        "delete-warning-toobig": "Ista pachina tiene un historial d'edición prou largo, con más de $1 {{PLURAL:$1|versión|versions}}. Si la borra podría corromper as operacions d'a base de datos de {{SITENAME}}; contine con cuenta.",
        "rollback": "Revertir edicions",
-       "rollback_short": "Revertir",
        "rollbacklink": "revertir",
        "rollbackfailed": "No s'ha puesto revertir",
        "cantrollback": "No se pueden revertir as edicions; o zaguer colaborador ye o solo autor d'iste articlo.",
        "import-logentry-interwiki": "Importata $1 entre wikis",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|versión|versions}} dende $2",
        "javascripttest": "Prebatinas de JavaScript",
-       "javascripttest-title": "Fendo as prebas de $1",
        "javascripttest-pagetext-noframework": "Ista pachina ye reservada ta fer as prebas de JavaScrip.",
        "javascripttest-pagetext-unknownframework": "Bastida de prebas \"$1\" desconoixida.",
        "javascripttest-pagetext-frameworks": "Por favor, trigue una d'as siguients bastidas de prebas: $1",
        "javascripttest-pagetext-skins": "Trigue una apariencia ta fer as prebas con ella:",
        "javascripttest-qunit-intro": "Mire-se [$1 a documentación de prebatinas] en mediawiki.org",
-       "javascripttest-qunit-heading": "Suite de prebas MediaWiki JavaScript QUnit",
        "tooltip-pt-userpage": "A suya pachina d'usuario",
        "tooltip-pt-anonuserpage": "A pachina d'usuario de l'adreza IP dende a que ye editando",
        "tooltip-pt-mytalk": "A suya pachina de descusión",
        "watchlisttools-edit": "Veyer y editar a lista de seguimiento",
        "watchlisttools-raw": "Editar a lista de seguimiento en formato texto",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discusión]])",
-       "unknown_extension_tag": "Etiqueta d'estensión \"$1\" esconoixita",
        "duplicate-defaultsort": "Pare cuenta: A clau d'ordenación por defecto «$2» anula l'anterior clau d'ordenación por defecto «$1».",
        "version": "Versión",
        "version-extensions": "Estensions instalatas",
        "version-parser-function-hooks": "Grifios d'as funcions d'o parseyador",
        "version-hook-name": "Nombre d'o grifio",
        "version-hook-subscribedby": "Suscrito por",
-       "version-version": "(Versión $1)",
+       "version-version": "($1)",
        "version-license": "Licencia",
        "version-poweredby-credits": "Iste wiki funciona gracias a '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "atros",
index c8e4bf0..92675cd 100644 (file)
        "cur": "nū",
        "next": "nīehst",
        "last": "ǣr",
-       "page_first": "ærost",
-       "page_last": "sƿift",
+       "page_first": "ǣrost",
+       "page_last": "ǣrra",
        "history-fieldset-title": "Sēcan stǣr",
        "histfirst": "ieldeste",
        "histlast": "nīwoste",
        "version-other": "Ōðer",
        "version-hooks": "Anglas",
        "version-hook-name": "Angelnama",
-       "version-version": "($1. fadung)",
+       "version-version": "($1)",
        "fileduplicatesearch-filename": "Ymelan nama:",
        "fileduplicatesearch-submit": "Sēcan",
        "specialpages": "Syndrige trametas",
index 5b3dc29..95f92cb 100644 (file)
        "thumbnail_image-missing": "الملف يبدو أنه مفقود: $1",
        "thumbnail_image-failure-limit": "هناك الكثير من المحاولات الفاشلة مؤخراً ($1 أو أكثر) لتَصْيير هذه الصورة المصغرة. الرجاء المحاولة مرة أخرى لاحقاً.",
        "import": "استيراد صفحات",
-       "importinterwiki": "استÙ\8aراد ØªØ±Ø§Ù\86سÙ\88Ù\8aÙ\83Ù\8a",
+       "importinterwiki": "استÙ\88رد Ù\85Ù\86 Ù\88Ù\8aÙ\83Ù\8a Ø£Ø®Ø±Ù\89",
        "import-interwiki-text": "اختر ويكي وعنوان الصفحة للاستيراد.\nتواريخ المراجعات وأسماء المحررين سيتم حفظها.\nكل أفعال الاستيراد عبر الويكي يتم تسجيلها في [[Special:Log/import|سجل الاستيراد]].",
        "import-interwiki-sourcewiki": "الويكي المصدر:",
        "import-interwiki-sourcepage": "الصفحة المصدر:",
        "version-parser-function-hooks": "خطاطيف دالة المحلل",
        "version-hook-name": "اسم الخطاف",
        "version-hook-subscribedby": "يستخدم بواسطة",
-       "version-version": "(نسخة $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[لا اسم]",
        "version-svn-revision": "ن$1",
        "version-license": "ترخيص ميدياويكي",
        "tags-tag": "اسم الوسم",
        "tags-display-header": "الظهور في قوائم التغييرات",
        "tags-description-header": "وصف كامل للمعنى",
+       "tags-source-header": "المصدر",
        "tags-active-header": "نشط؟",
        "tags-hitcount-header": "تغييرات موسومة",
        "tags-active-yes": "نعم",
        "tags-active-no": "لا",
        "tags-edit": "عدل",
+       "tags-delete": "احذف",
+       "tags-activate": "نشط",
        "tags-hitcount": "{{PLURAL:$1|لا تغييرات|تغيير واحد|تغييران|$1 تغييرات|$1 تغييرا|$1 تغيير}}",
+       "tags-create-tag-name": "اسم الوسم:",
+       "tags-create-reason": "السبب:",
+       "tags-create-submit": "أنشئ",
        "comparepages": "قارن صفحات",
        "compare-page1": "صفحة 1",
        "compare-page2": "صفحة 2",
index 5dde327..99da3a4 100644 (file)
        "version": "ܨܚܚܐ",
        "version-specialpages": "ܦܐܬܬ̈ܐ ܕ̈ܝܠܢܝܬܐ",
        "version-other": "ܐܚܪܢܐ",
-       "version-version": "(ܨܚܚܐ $1)",
+       "version-version": "($1)",
        "version-poweredby-others": "ܐܚܪ̈ܢܐ",
        "version-software-version": "ܨܚܚܐ",
        "fileduplicatesearch": "ܒܨܝ ܥܠ ܠܦܦ̈ܐ ܥܦܝܦ̈ܐ",
index f408d43..79e12cc 100644 (file)
        "deletereasonotherlist": "Sabab weḫdaĥor",
        "delete-edit-reasonlist": "ĝddel asbab l-ḫdf",
        "rollback": "tjjea taadilat",
-       "rollback_short": "Rjeĝ l-lor",
        "rollbacklink": "Rjeĝ l-lor",
        "rollbackfailed": "rjoaa mankhch",
        "editcomment": "molĥĥaṣ ṫ-ṫĝdil kan: \"''$1''\".",
        "watchlisttools-view": "Lista dyal s-suivi",
        "watchlisttools-edit": "Ċof o ĝeddel l-lista dyal s-suivi",
        "watchlisttools-raw": "Ṣayeb l-lista dyal s-suivi",
-       "unknown_extension_tag": "tag mṫidad ma mĝrof-ċ \"$1\"",
        "duplicate-defaultsort": "'''ṫḫdir:''' saroṫ ṫrṫib fṫiṛaḍi \"$2\" faṫ saroṫ ṫrṫib fṫiṛaḍi \"$1\".",
        "version": "Noskha",
        "version-extensions": "limtidadat lmotabbata",
        "version-parser-function-hooks": "khtatif dyal dalat lmohllil",
        "version-hook-name": "smiyt lkhttaf",
        "version-hook-subscribedby": "kaytstaml mn taraf",
-       "version-version": "(Noskha $1)",
+       "version-version": "($1)",
        "version-license": "rokhssa",
        "version-poweredby-others": "khrin",
        "version-software": "lbarnamaj li m'anstalli",
index 65f556f..adf0eed 100644 (file)
        "delete-toobig": "الصفحه دى  ليها تاريخ تعديل كبير، أكتر من $1 {{PLURAL:$1|مراجعة|مراجعة}}.\nمسح الصفحات اللى زى دى تم تحديده لمنع الاضطراب العرضى فى {{SITENAME}}.",
        "delete-warning-toobig": "الصفحة دى ليها تاريخ تعديل كبير، أكتر من $1 {{PLURAL:$1|مراجعة|مراجعة}}.\nممكن مسحها يعمل اضطراب  فى عمليات قاعدة البيانات فى {{SITENAME}}؛\nاستمر بس خد بالك.",
        "rollback": "إرجع فى التعديلات",
-       "rollback_short": "إرجع لـ ورا",
        "rollbacklink": "ترجيع",
        "rollbackfailed": "الترجيع ما نفعش",
        "cantrollback": "ماقدرناش نرجع فى التعديل؛ آخر مساهم هوه الوحيد اللى ساهم فى الصفحة دي.",
        "hebrew-calendar-m11-gen": "آب",
        "hebrew-calendar-m12-gen": "أيلول",
        "timezone-utc": "يو تى سى",
-       "unknown_extension_tag": "تاج بتاع امتداد مش معروف \"$1\"",
        "duplicate-defaultsort": "تحزير: زرار الترتيب الاوتوماتيكي\"$2\" بيوقف زرار الترتيب الاوتوماتيكي\"$1\" القديم.",
        "version": "نسخة",
        "version-extensions": "الامتدادات المتثبتة",
        "version-parser-function-hooks": "خطاطيف دالة المحلل",
        "version-hook-name": "اسم الخطاف",
        "version-hook-subscribedby": "اشتراك باسم",
-       "version-version": "(نسخه $1)",
+       "version-version": "($1)",
        "version-license": "الترخيص",
        "version-software": "السوفتوير المتستاب",
        "version-software-product": "المنتج",
        "specialpages-group-wiki": "بيانات وأدوات الويكى",
        "specialpages-group-redirects": "صفحات  التحويل الخاصه",
        "specialpages-group-spam": "أدوات السبام",
+       "specialpages-group-developer": "أدوات المطورين",
        "blankpage": "صفحة فاضية",
        "intentionallyblankpage": "الصفحة دى متسابة فاضية بالقصد",
        "external_image_whitelist": " # سيب السطر دا زى ما هو كدا<pre>\n#حط حتت التعبيرات المنتظمه (بس الجزء اللى بيروح بين //) تحت\n# ح يحصل تطابق بينهم و بين ال URLs بتاع الصور الخارجيه (هوت لينك)\n#اذا حصل تطابق ح يتعرضو ك صور ، و اذا ما حصلش ف ح تظهر بس لينك للصوره\n#السطور اللى بتبتدى بـ # بتتعامل كأنها تعليقات\n#دا ما بيتأثرش بحالة الحروف\n\n#حط كل حتت الريجيكس فوق . سيب السطر دا زى ما هو كدا</pre>",
index d90c4ef..15fe54d 100644 (file)
        "version-parser-function-hooks": "পাৰ্চাৰ ফাংচন হুকসমূহ",
        "version-hook-name": "হুক নাম",
        "version-hook-subscribedby": "চাবস্ক্ৰাইব কৰিছে",
-       "version-version": "(সংস্কৰণ $1)",
+       "version-version": "($1)",
        "version-license": "অনুজ্ঞাপত্ৰ",
        "version-ext-license": "অনুজ্ঞাপত্ৰ",
        "version-ext-colheader-name": "এক্সটেন্‌চন",
index 5cbed2e..0f7b552 100644 (file)
@@ -38,7 +38,7 @@
        "tog-shownumberswatching": "Amosar el númberu d'usuarios que tán vixilando la páxina",
        "tog-oldsig": "Firma esistente:",
        "tog-fancysig": "Tratar la firma como testu wiki (ensin enllaz automáticu)",
-       "tog-uselivepreview": "Usar vista previa en tiempu real (experimental)",
+       "tog-uselivepreview": "Usar vista previa en tiempu real",
        "tog-forceeditsummary": "Avisame cuando grabe col resume d'edición en blanco",
        "tog-watchlisthideown": "Anubrir les mios ediciones na llista de siguimientu",
        "tog-watchlisthidebots": "Anubrir les ediciones de bots na llista de siguimientu",
        "pool-queuefull": "La cola de trabayu ta enllena",
        "pool-errorunknown": "Fallu desconocíu",
        "pool-servererror": "El serviciu de contador de recursos compartíos nun ta disponible ($1).",
+       "poolcounter-usage-error": "Error d'usu: $1",
        "aboutsite": "Tocante a {{SITENAME}}",
        "aboutpage": "Project:Tocante a",
        "copyright": "El conteníu ta disponible baxo los términos de la $1 si nun s'indica otra cosa.",
        "readonly_lag": "La base de datos candóse automáticamente mentes los sirvidores de la base de datos esclava se sincronicen cola maestra",
        "internalerror": "Fallu internu",
        "internalerror_info": "Fallu internu: $1",
+       "internalerror-fatal-exception": "Escepción fatal de tipu «$1»",
        "filecopyerror": "Nun se pudo copiar el ficheru «$1» como «$2».",
        "filerenameerror": "Nun se pudo renomar el ficheru «$1» como «$2».",
        "filedeleteerror": "Nun se pudo desaniciar el ficheru «$1».",
        "directorycreateerror": "Nun se pudo crear el direutoriu «$1».",
+       "directoryreadonlyerror": "El direutoriu «$1» ye de sólo llectura.",
+       "directorynotreadableerror": "El direutoriu \"$1\" nun ye lleíble.",
        "filenotfound": "Nun pudo atopase'l ficheru «$1».",
        "unexpected": "Valor inesperáu: «$1»=«$2».",
        "formerror": "Fallu: Nun se pudo unviar el formulariu.",
        "viewsourcetext": "Pues ver y copiar la fonte d'esta páxina:",
        "viewyourtext": "Pues ver y copiar la fonte de '''les tos ediciones''' d'esta páxina:",
        "protectedinterface": "Esta páxina proporciona'l testu de la interfaz del software d'esta wiki, y ta candada pa torgar abusos.\nP'amestar o cambiar les traducciones de toles wikis, por favor usa [//translatewiki.net/translatewiki.net], el proyeutu de llocalización de MediaWiki.",
-       "editinginterface": "'''Avisu:''' Tas editando una páxina que s'usa pa proporcionar el testu d'interfaz del programa.\nLos cambeos nesta páxina van afeutar l'apariencia de la interfaz pa otros usuarios d'esta wiki.\nP'amestar o camudar traducciones pa toles wikis, por favor, usa [//translatewiki.net/ translatewiki.net], el proyeutu de traducción de MediaWiki.",
+       "editinginterface": "<strong>Avisu:</strong> Tas editando una páxina que s'usa pa proporcionar el testu de la interfaz del programa.\nLos cambeos nesta páxina afeutarán al aspeutu de la interfaz pa otros usuarios d'esta wiki.",
+       "translateinterface": "P'amestar o camudar les traducciones pa toles wikis, usa [//translatewiki.net/ translatewiki.net], el proyeutu de traducción de MediaWiki.",
        "cascadeprotected": "Esta páxina ta protexida d'ediciones porque ta inxerta {{PLURAL:$1|na siguiente páxina, protexida|nes siguientes páxines, protexíes}} cola opción «en cascada» activada:\n$2",
        "namespaceprotected": "Nun tienes permisu pa editar páxines nel espaciu de nomes '''$1'''.",
        "customcssprotected": "Nun tienes permisu pa editar esta páxina CSS porque contién preferencies personales d'otru usuariu.",
        "anoneditwarning": "<strong>Avisu:</strong> Nun aniciasti sesión. La direición IP sedrá visible en público si faes dalguna edición. Si <strong>[$1 anicies sesión]</strong> o <strong>[$2 crees una cuenta]</strong>, les ediciones atribuiránse al to nome d'usuariu, xunto con otros beneficios.",
        "anonpreviewwarning": "''Nun aniciasti sesión. Al guardar quedará rexistrada la to direición IP nel historial d'edición d'esta páxina.''",
        "missingsummary": "'''Recordatoriu:''' Nun conseñasti un resume d'edición.\nSi calques nuevamente \"{{int:savearticle}}\", la to edición guardaráse ensin nengún resume.",
+       "selfredirect": "<strong>Atención:</strong> Tas redirixendo esta páxina a ella mesma.\nSeique conseñaras un oxetivu enquivocáu pa la redireición, o que teas editando una páxina enquivocada. Si vuelves a facer clic en «{{int:savearticle}}», crearáse la redireición de toles maneres.",
        "missingcommenttext": "Por favor, escribi un comentariu abaxo.",
        "missingcommentheader": "'''Recordatoriu:''' Nun conseñasti un asuntu/titular pa esti comentariu.\nSi calques nuevamente \"{{int:savearticle}}\", la to edición guardaráse ensin dengún.",
        "summary-preview": "Vista previa del resume:",
        "content-model-text": "testu simple",
        "content-model-javascript": "JavaScript",
        "content-model-css": "CSS",
+       "content-json-empty-object": "Oxetu baleru",
+       "content-json-empty-array": "Matriz balera",
+       "duplicate-args-category": "Páxines con argumentos duplicaos nes llamaes a plantíes",
+       "duplicate-args-category-desc": "La páxina contién llamaes a plantíes qu'usen argumentos duplicaos, como <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> o <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
        "expensive-parserfunction-warning": "'''Avisu:''' Esta páxina contién demasiaes llamaes costoses a funciones d'análisis sintáuticu.\n\nHabría tener menos de $2 {{PLURAL:$2|llamada|llamaes}}, y agora tien $1 {{PLURAL:$1|llamada|llamaes}}.",
        "expensive-parserfunction-category": "Páxines con demasiaes llamaes costoses a funciones analítiques",
        "post-expand-template-inclusion-warning": "'''Avisu:''' El tamañu de les plantíes incluyíes ye demasiao grande.\nDelles plantíes nun se van incluir.",
        "history-feed-empty": "La páxina solicitada nun esiste.\nSeique fuera desaniciada de la wiki, o renomada.\nPrueba a [[Special:Search|buscar na wiki]] otres páxines nueves.",
        "rev-deleted-comment": "(resume d'edición desaniciáu)",
        "rev-deleted-user": "(nome d'usuariu desaniciáu)",
-       "rev-deleted-event": "(aición del rexistru desaniciada)",
+       "rev-deleted-event": "(detalles del rexistru desaniciaos)",
        "rev-deleted-user-contribs": "[nome d'usuariu o direición IP desaniciáu - ediciones anubríes en contribuciones]",
        "rev-deleted-text-permission": "Esta revisión de la páxina se '''desanició'''.\nLos detalles s'alcuentren nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rexistru de desanicios].",
        "rev-suppressed-text-permission": "Esta revisión de la páxina <strong>suprimióse</strong>.\nLos detalles s'alcuentren nel [{{fullurl:{{#Special:Log}}/supress|page={{FULLPAGENAMEE}}}} rexistru de supresiones].",
        "revdelete-legend": "Establecer torgues de visibilidá",
        "revdelete-hide-text": "Testu de la revisión",
        "revdelete-hide-image": "Tapecer el conteníu del ficheru",
-       "revdelete-hide-name": "Tapecer aición y oxetivu",
+       "revdelete-hide-name": "Tapecer el destín y los parámetros",
        "revdelete-hide-comment": "Resume d'edición",
        "revdelete-hide-user": "Nome del editor/Direición IP",
        "revdelete-hide-restricted": "Desaniciar datos de los alministradores y d'otros",
        "search-result-category-size": "{{PLURAL:$1|1 miembru|$1 miembros}} ({{PLURAL:$2|1 subcategoría|$2 subcategories}}, {{PLURAL:$3|1 ficheru|$3 ficheros}})",
        "search-redirect": "(redireición de $1)",
        "search-section": "(seición $1)",
+       "search-category": "(categoría $1)",
        "search-file-match": "(casa col conteníu del ficheru)",
        "search-suggest": "Quixisti dicir: $1",
        "search-interwiki-caption": "Proyeutos hermanos",
        "prefs-personal": "Perfil del usuariu",
        "prefs-rc": "Cambios recientes",
        "prefs-watchlist": "Llista de siguimientu",
+       "prefs-editwatchlist": "Editar la llista de siguimientu",
+       "prefs-editwatchlist-label": "Editar les entraes de la to llista de siguimientu:",
+       "prefs-editwatchlist-edit": "Ver y desaniciar los títulos de la to llista de siguimientu",
+       "prefs-editwatchlist-raw": "Editar la llista de siguimientu (ensin formatu)",
+       "prefs-editwatchlist-clear": "Llimpiar la to llista de siguimientu",
        "prefs-watchlist-days": "Númberu de díes qu'amosar na llista de siguimientu:",
        "prefs-watchlist-days-max": "Máximo $1 {{PLURAL:$1|día|díes}}",
        "prefs-watchlist-edits": "Númberu máximu d'ediciones qu'amosar na llista de siguimientu espandida:",
        "gender-female": "Ella edita páxines wiki",
        "prefs-help-gender": "Configurar esta preferencia ye opcional. El software usa esti valor pa dirixise a ti y pa mentate a terceros col xéneru gramatical correchu.\nEsta información sedrá pública.",
        "email": "Corréu",
-       "prefs-help-realname": "El nome real ye opcional y si decides conseñalu va ser usáu p'atribuyite'l to trabayu.",
+       "prefs-help-realname": "El nome real ye opcional.\nSi se da, pue usase pa date reconocimientu pol to trabayu.",
        "prefs-help-email": "La direición de corréu ye opcional, pero ye necesaria pa unviate una conseña nueva si escaeces la tuya.",
        "prefs-help-email-others": "Tamién pues escoyer permitir qu'otres persones contauten contigo pela to páxina d'usuariu o la d'alderique ensin necesidá de revelar la to identidá.",
        "prefs-help-email-required": "Necesítase una direición de corréu electrónicu.",
        "right-protect": "Camudar los niveles de proteición y editar páxines protexíes en cascada",
        "right-editprotected": "Editar les páxines protexíes como \"{{int:protect-level-sysop}}\"",
        "right-editsemiprotected": "Editar les páxines protexíes como \"{{int:protect-level-autoconfirmed}}\"",
+       "right-editcontentmodel": "Editar el modelu de conteníu d'una páxina",
        "right-editinterface": "Editar la interfaz d'usuariu",
        "right-editusercssjs": "Editar los archivos CSS y JS d'otros usuarios",
        "right-editusercss": "Editar los archivos CSS d'otros usuarios",
        "right-override-export-depth": "Esportar páxines, incluyendo páxines enllazaes fasta una fondura de 5",
        "right-sendemail": "Unviar corréu a otros usuarios",
        "right-passwordreset": "Ver los correos de reestablecimientu de conseña",
+       "right-managechangetags": "Crear y desaniciar [[Special:Tags|etiquetes]] dende la base de datos",
        "newuserlogpage": "Rexistru de creación d'usuarios",
        "newuserlogpagetext": "Esti ye un rexistru de creación d'usuarios.",
        "rightslog": "Rexistru de perfil d'usuariu",
        "action-viewmywatchlist": "ver la llista de vixilancia propia",
        "action-viewmyprivateinfo": "ver la so información privada",
        "action-editmyprivateinfo": "editar la so información privada",
+       "action-editcontentmodel": "editar el modelu de conteníu d'una páxina",
+       "action-managechangetags": "crear y desaniciar etiquetes dende la base de datos",
        "nchanges": "{{PLURAL:$1|un cambiu|$1 cambios}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|dende la última visita}}",
        "enhancedrc-history": "historial",
        "uploaderror": "Error de xubida",
        "upload-recreate-warning": "'''Avisu: Se desanició o treslladó un ficheru con esi nome.'''\n\nEquí s'ufre'l rexistru de desaniciu y treslláu d'esta páxina por comodidá:",
        "uploadtext": "Usa'l formulariu de más abaxo pa xubir ficheros.\nPa ver o buscar ficheros xubíos previamente, vete a la [[Special:FileList|llista de ficheros xubíos]]. Les (re)xubíes tamién queden conseñaes nel [[Special:Log/upload|rexistru de xubíes]], y los desanicios nel [[Special:Log/delete|rexistru de desanicios]].\n\nPa incluir un ficheru nuna páxina, usa un enllaz con ún de los siguientes formatos:\n*<strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Ficheru.jpg]]</nowiki></code></strong> pa usar la versión completa del ficheru\n*<strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Ficheru.png|200px|thumb|left|testu alternativu]]</nowiki></code></strong> pa usar una versión de 200 píxeles d'anchu nun cuadru nel marxe izquierdu con «testu alternativu» como descripción\n*<strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Ficheru.ogg]]</nowiki></code></strong> pa enllazar al ficheru direutamente ensin amosalu",
-       "upload-permitted": "Menes d'archivu permitíes: $1.",
-       "upload-preferred": "Menes d'archivu preferíes: $1.",
-       "upload-prohibited": "Menes d'archivu prohibíes: $1.",
+       "upload-permitted": "{{PLURAL:$2|Tipu de ficheru permitíu|Tipos de ficheros permitíos}}: $1.",
+       "upload-preferred": "{{PLURAL:$2|Tipu de ficheru preferíu|Tipos de ficheros preferíos}}: $1.",
+       "upload-prohibited": "{{PLURAL:$2|Tipu de ficheru torgáu|Tipos de ficheros torgaos}}: $1.",
        "uploadlogpage": "Rexistru de xubíes",
        "uploadlogpagetext": "Abaxo amuésase una llista de les xubíes d'archivos más recientes.\nMira la [[Special:NewFiles|galería d'archivos nuevos]] pa una güeyada más visual.",
        "filename": "Nome del ficheru",
        "unusedimages": "Imáxenes non usaes",
        "wantedcategories": "Categoríes buscaes",
        "wantedpages": "Páxines buscaes",
+       "wantedpages-summary": "Llista de páxines inesistentes con más enllaces a elles, escluyendo les páxines que sólo tienen redireiciones qu'enllacen con elles. Pa ver la llista de páxines inesistentes que tienen redireiciones qu'enllacen con elles, ver [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Títulu inválidu nel conxuntu de resultaos: $1",
        "wantedfiles": "Archivos buscaos",
        "wantedfiletext-cat": "Los ficheros siguientes tan usándose, pero nun esisten. Ye posible qu'apaezan ficheros de repositorios esternos ensin qu'esistan. Cualesquier falsu positivu tará <del>tacháu</del>. Amás, les páxines qu'inxerten ficheros que nun esisten apaecen na llista de [[:$1]].",
        "pager-older-n": "{{PLURAL:$1|1 anterior|$1 anteriores}}",
        "suppress": "Güeyador",
        "querypage-disabled": "Esta páxina especial ta desactivada por razones de rindimientu.",
+       "apihelp": "Ayuda de la API",
+       "apihelp-no-such-module": "Nun s'alcuentra'l módulu «$1».",
        "booksources": "Fontes de llibros",
        "booksources-search-legend": "Busca de fontes de llibros",
        "booksources-search": "Buscar",
        "namespace": "Espaciu de nomes:",
        "invert": "Invertir seleición",
        "tooltip-invert": "Marca esta caxella p'anubrir los cambios de les páxines pertenecientes al espaciu de nomes seleicionáu (y al espaciu de nomes asociáu si se marcó)",
+       "tooltip-whatlinkshere-invert": "Marca esta caxella pa tapecer los enllaces de páxines que tean nel espaciu de nomes seleicionáu.",
        "namespace_association": "Espaciu de nome asociáu",
        "tooltip-namespace_association": "Marca esta caxella p'amestar tamién l'espaciu de nombres d'alderique o asuntu asociaos col espaciu de nomes seleicionáu",
        "blanknamespace": "(Principal)",
        "thumbnail-temp-create": "Nun se pudo crear el ficheru temporal de miniatura",
        "thumbnail-dest-create": "Nun se pudo guardar la miniatura nel destín",
        "thumbnail_invalid_params": "Parámetros de miniatura non válidos",
+       "thumbnail_toobigimagearea": "Ficheru con dimensiones mayores que $1",
        "thumbnail_dest_directory": "Nun se pue crear el direutoriu de destín",
        "thumbnail_image-type": "Triba d'imaxe ensin sofitu",
        "thumbnail_gd-library": "Configuración incompleta de la biblioteca GD: falta la función $1",
        "thumbnail_image-missing": "Paez que falta'l ficheru: $1",
        "thumbnail_image-failure-limit": "Hebo demasiaos intentos recientes que fallaron ($1 o más) al representar esta miniatura. Vuelva a intentalo más sero.",
        "import": "Importar páxines",
-       "importinterwiki": "Importación treswiki",
-       "import-interwiki-text": "Seleiciona una wiki y un títulu de páxina pa importar.\nLes feches de revisión y los nomes de los editores caltendránse.\nToles aiciones d'importación treswiki queden rexistraes nel [[Special:Log/import|rexistru d'importaciones]].",
+       "importinterwiki": "Importar d'otra wiki",
+       "import-interwiki-text": "Seleiciona una wiki y un títulu de páxina pa importar.\nVan caltenese les feches de revisión y los nomes de los editores.\nToles importaciones d'otres wikis queden rexistraes nel [[Special:Log/import|rexistru d'importaciones]].",
        "import-interwiki-sourcewiki": "Wiki d'orixe:",
        "import-interwiki-sourcepage": "Páxina d'orixe:",
        "import-interwiki-history": "Copiar toles versiones d'historial d'esta páxina",
        "importcantopen": "Nun se pudo abrir el ficheru d'importación",
        "importbadinterwiki": "Enllaz interwiki incorreutu",
        "importsuccess": "¡Importación finalizada!",
-       "importnosources": "Nun se definió l'orixe de la importación treswiki y les xubíes direutes del historial tán deshabilitaes.",
+       "importnosources": "Nun se definieron wikis de onde importar y les xubíes direutes del historial tán desactivaes.",
        "importnofile": "Nun se xubió nengún archivu d'importación.",
        "importuploaderrorsize": "Falló la xubida del archivu d'importación. L'archivu ye más grande que'l tamañu permitíu de xubida.",
        "importuploaderrorpartial": "Falló la xubida del archivu d'importación. L'archivu xubióse solo parcialmente.",
        "javascripttest": "Prueba de JavaScript",
        "javascripttest-pagetext-noframework": "Esta páxina ta acutada pa executar pruebes de javascript.",
        "javascripttest-pagetext-unknownframework": "L'entornu de pruebes «$1» ye desconocíu.",
+       "javascripttest-pagetext-unknownaction": "Aición desconocida «$1».",
        "javascripttest-pagetext-frameworks": "Escueyi un de los siguientes entornos de pruebes: $1",
        "javascripttest-pagetext-skins": "Escueyi una apariencia pa executar les pruebes:",
        "javascripttest-qunit-intro": "Ver la [$1 documentación de les pruebes] en mediawiki.org.",
        "tooltip-pt-mycontris": "Llista de les tos collaboraciones",
        "tooltip-pt-login": "T'encamentamos que t'identifiques, anque nun ye obligatorio",
        "tooltip-pt-logout": "Salir",
+       "tooltip-pt-createaccount": "Encamentámoste que crees una cuenta y qu'anicies sesión; sicasí, nun ye obligatorio",
        "tooltip-ca-talk": "Alderique tocante al conteníu de la páxina",
        "tooltip-ca-edit": "Pues editar esta páxina. Por favor usa'l botón de vista previa enantes de guardar los cambios.",
        "tooltip-ca-addsection": "Emprima una seición nueva",
        "tooltip-feed-atom": "Canal Atom pa esta páxina",
        "tooltip-t-contributions": "Llista de collaboraciones d'esti usuariu",
        "tooltip-t-emailuser": "Unvia un corréu a esti usuariu",
+       "tooltip-t-info": "Más información sobro esta páxina",
        "tooltip-t-upload": "Xubir ficheros",
        "tooltip-t-specialpages": "Llista de toles páxines especiales",
        "tooltip-t-print": "Versión imprentable d'esta páxina",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|alderique]])",
        "duplicate-defaultsort": "Avisu: La clave d'ordenación predeterminada \"$2\" anula la clave d'ordenación anterior \"$1\".",
        "duplicate-displaytitle": "<strong>Avisu:</strong> El títulu a amosar \"$2\" anula el títulu anterior \"$1\".",
+       "invalid-indicator-name": "<strong>Error:</strong> L'atributu <code>name</code> de los indicadores d'estáu de la páxina nun pue tar baleru.",
        "version": "Versión",
        "version-extensions": "Estensiones instalaes",
        "version-skins": "Temes instalaos",
        "version-parser-function-hooks": "Hooks de les funciones d'análisis sintáuticu",
        "version-hook-name": "Nome del hook",
        "version-hook-subscribedby": "Suscritu por",
-       "version-version": "(Versión $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[ensin nome]",
        "version-license": "Llicencia de MediaWiki",
        "version-ext-license": "Llicencia",
        "version-entrypoints": "URLs del puntu d'entrada",
        "version-entrypoints-header-entrypoint": "Puntu d'entrada",
        "version-entrypoints-header-url": "URL",
+       "version-libraries": "Biblioteques instalaes",
+       "version-libraries-library": "Biblioteca",
+       "version-libraries-version": "Versión",
        "redirect": "Redireición por ficheru, usuariu, páxina o ID de revisión",
        "redirect-legend": "Redirixir a un ficheru o una páxina",
        "redirect-summary": "Esta páxina especial redirixe a un ficheru (dando'l so nome), una páxina (dando una ID de revisión o de páxina) o una páxina d'usuariu (dando un númberu d'ID d'usuariu). Usu: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]],  [[{{#Special:Redirect}}/revision/328429]], o [[{{#Special:Redirect}}/user/101]].",
        "specialpages-group-wiki": "Datos y ferramientes",
        "specialpages-group-redirects": "Páxines especiales de redireición",
        "specialpages-group-spam": "Ferramientes pa spam",
+       "specialpages-group-developer": "Ferramientes pa desendolcadores",
        "blankpage": "Páxina en blanco",
        "intentionallyblankpage": "Esta páxina ta en blanco arrémente",
        "external_image_whitelist": "#Dexa esta llinia exautamente como ta<pre>\n#Pon los fragmentos d'espresiones regulares (namái la parte que va ente les //) debaxo\n#Esto va ser comprobao coles URLs d'imáxenes esternes (hotlinked)\n#Les que concuayen se van amosar como imáxenes; si nun concuayen, namái se va amosar un enllaz a la imaxe\n#Les llinies qu'emprimen con # se traten como comentarios\n#Esto nun ye sensible a la capitalización\n\n#Pon tolos fragmentos regex enantes d'esta llinia. Dexa esta llinia exautamente como ta</pre>",
        "tags-tag": "Nome d'etiqueta",
        "tags-display-header": "Aspeutu nes llistes de cambios",
        "tags-description-header": "Descripción completa del significáu",
+       "tags-source-header": "Fonte",
        "tags-active-header": "¿Activu?",
        "tags-hitcount-header": "Cambios etiquetaos",
+       "tags-actions-header": "Aiciones",
        "tags-active-yes": "Sí",
        "tags-active-no": "Non",
+       "tags-source-extension": "Definida por una estensión",
+       "tags-source-manual": "Aplicada a mano polos usuarios y bots",
+       "tags-source-none": "Yá nun s'usa",
        "tags-edit": "editar",
+       "tags-delete": "desaniciar",
+       "tags-activate": "activar",
+       "tags-deactivate": "desactivar",
        "tags-hitcount": "$1 {{PLURAL:$1|cambiu|cambios}}",
+       "tags-manage-no-permission": "Nun tienes permisu p'alministrar etiquetes de cambiu.",
+       "tags-create-heading": "Crear una etiqueta nueva",
+       "tags-create-explanation": "De mou predetermináu, les etiquetes nueves que se creen tarán disponibles pa que les usen los usuarios y bots.",
+       "tags-create-tag-name": "Nome de la etiqueta:",
+       "tags-create-reason": "Motivu:",
+       "tags-create-submit": "Crear",
+       "tags-create-no-name": "Tienes d'especificar un nome d'etiqueta.",
+       "tags-create-invalid-chars": "Los nomes d'etiqueta nun tienen de contener comes (<code>,</code>) o barres (<code>/</code>).",
+       "tags-create-invalid-title-chars": "Los nomes d'etiqueta nun puen contener caráuteres que nun puedan usase nos títulos de páxina",
+       "tags-create-already-exists": "La etiqueta «$1» yá esiste.",
+       "tags-create-warnings-above": "{{PLURAL:$2|Alcontróse'l siguiente avisu|Alcontráronse los siguientes avisos}} al intentar crear la etiqueta «$1»:",
+       "tags-create-warnings-below": "¿Quies siguir creando de la etiqueta?",
+       "tags-delete-title": "Desaniciar etiqueta",
+       "tags-delete-explanation-initial": "Tas a piques de desaniciar la etiqueta «$1» de la base de datos.",
+       "tags-delete-explanation-in-use": "Desaniciaráse de {{PLURAL:$2|la revisión o entrada|les $2 revisiones y/o entraes}} del rexistru a {{PLURAL:$2|la|les}} que s'aplica actualmente.",
+       "tags-delete-explanation-warning": "Esta aición ye <strong>irreversible</strong> y <strong>nun podrán desfacela</strong> siquiera los alministradores de la base de datos. Confirma qu'esta ye la etiqueta que quies desaniciar.",
+       "tags-delete-explanation-active": "<strong>La etiqueta «$1» sigue activa y siguirá aplicándose nel futuru.</strong> Pa que dexe d'asoceder, vete al llugar(es) onde ta configurada la aplicación d'esta etiqueta y desactívala allí.",
+       "tags-delete-reason": "Motivu:",
+       "tags-delete-submit": "Desaniciar esta etiqueta de mou irreversible",
+       "tags-delete-not-allowed": "Les etiquetes definíes por una estensión nun puen desaniciase mentanto la estensión nun lo permita específicamente.",
+       "tags-delete-not-found": "La etiqueta «$1» nun esiste.",
+       "tags-activate-reason": "Motivu:",
+       "tags-activate-submit": "Activar",
+       "tags-deactivate-title": "Desactivar etiqueta",
+       "tags-deactivate-reason": "Motivu:",
+       "tags-deactivate-submit": "Desactivar",
        "comparepages": "Comparar páxines",
        "compare-page1": "Páxina 1",
        "compare-page2": "Páxina 2",
        "compare-revision-not-exists": "La revisión que conseñasti nun esiste.",
        "dberr-problems": "¡Sentímoslo! Esti sitiu ta esperimentando dificultaes téuniques.",
        "dberr-again": "Tenta esperar dellos minutos y recargar.",
-       "dberr-info": "(Nun se pue contautar cola base de datos del sirvidor: $1)",
-       "dberr-info-hidden": "(Nun se pue comunicar col sirvidor de base de datos)",
+       "dberr-info": "(Nun se pue entrar na base de datos: $1)",
+       "dberr-info-hidden": "(Nun se pue entrar na base de datos)",
        "dberr-usegoogle": "Pue probar a buscar con Google mentanto.",
        "dberr-outofdate": "Atalanta que los sos índices del nuesu conteníu seique nun tean actualizaos.",
        "dberr-cachederror": "Esta ye una copia na caché de la páxina que se pidiera, y pue que nun tea actualizada.",
        "revdelete-uname-unhid": "nome d'usuariu non anubríu",
        "revdelete-restricted": "aplicaes les restricciones a los alministradores",
        "revdelete-unrestricted": "eliminaes les restricciones a los alministradores",
+       "logentry-block-block": "$1 {{GENDER:$2|bloquió}} a {{GENDER:$4|$3}} con un tiempu de duración de $5 $6",
+       "logentry-block-unblock": "$1 {{GENDER:$2|desbloquió a}} {{GENDER:$4|$3}}",
        "logentry-move-move": "$1 {{GENDER:$2|treslladó}} la páxina \"$3\" a \"$4\"",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|treslladó}} la páxina \"$3\" a \"$4\" ensin dexar una redireición",
        "logentry-move-move_redir": "$1 {{GENDER:$2|treslladó}} la páxina \"$3\" a \"$4\" sobre una redireición",
        "log-name-pagelang": "Rexistru de cambios de llingua",
        "log-description-pagelang": "Esti ye un rexistru de los cambios de llingua de les páxines.",
        "logentry-pagelang-pagelang": "$1 {{GENDER:$2|cambió}} la llingua de la páxina $3 del $4 al $5.",
-       "default-skin-not-found": "L'aspeutu predetermináu pa la to wiki, definíu en <code dir=\"ltr\">$wgDefaultSkin</code> como <code>$1</code> nun ta disponible.\n\nLa to instalación paez qu'incluye los siguientes aspeutos. Llei [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] pa más información sobro cómo activalos y escoyer el predetermináu.\n\n$2\n\n; Si acabes d'instalar MediaWiki:\n: Probablemente instalasti dende git, o'l códigu fonte direutamente usando algún otru métodu. Esto ye d'esperar. Intenta instalar dellos aspeutos dende'l [https://www.mediawiki.org/wiki/Category:All_skins direutoriu d'aspeutos de mediawiki.org's], asina:\n:* Descargando [https://www.mediawiki.org/wiki/Download l'instalador tarball], que vien con dellos aspeutos y estensiones. Pues copiar y apegar el direutoriu <code>skins/</code> d'ehí.\n:* Clonando unu de los direutorios <code>mediawiki/skins/*</code> via git nel direutoriu <code dir=\"ltr\">skins/</code> de la to instalación de MediaWiki.\n: Facer esto nun tendría d'interferir col to repositoriu git si yes un desendolcador de MediaWiki.\n\n; Si acabes d'anovar MediaWiki:\n: MediaWiki 1.24 y más nuevu yá nun activa automáticamente los aspeutos instalaos (llei [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery]). Pues apegar les llinies siguientes en <code>LocalSettings.php</code> p'activar tolos aspeutos instalaos actualmente:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Si acabes d'editar <code>LocalSettings.php</code>:\n: Vuelvi a comprobar los nomes de los aspeutos por si hai errores d'escritura.",
-       "default-skin-not-found-no-skins": "L'aspeutu predetermináu pa la to wiki, definíu en <code>$wgDefaultSkin</code> como <code>$1</code> nun ta disponible.\n\nNun tienes aspeutos instalaos.\n\n; Si acabes d'instalar MediaWiki:\n: Probablemente instalasti dende git, o'l códigu fonte direutamente usando algún otru métodu. Esto ye d'esperar. MediaWiki 1.24 y más nuevu nun incluye nengún aspeutu nel repositoriu principal. Intenta instalar dellos aspeutos dende'l [https://www.mediawiki.org/wiki/Category:All_skins direutoriu d'aspeutos de mediawiki.org], asina:\n:* Descargando [https://www.mediawiki.org/wiki/Download l'instalador tarball], que vien con dellos aspeutos y estensiones. Pues copiar y apegar el direutoriu <code>skins/</code> d'ehí.\n:* Clonando unu de los direutorios <code>mediawiki/skins/*</code> via git nel direutoriu <code dir=\"ltr\">skins/</code> de la to instalación de MediaWiki.\n: Facer esto nun tendría d'interferir col to repositoriu git si yes un desendolcador de MediaWiki. Llei [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] pa más información sobro cómo activar los aspeutos y escoyer el predetermináu.",
+       "default-skin-not-found": "¡Vaya! L'aspeutu predetermináu pa la to wiki, definíu en <code dir=\"ltr\">$wgDefaultSkin</code> como <code>$1</code> nun ta disponible.\n\nLa instalación paez qu'incluye los siguientes aspeutos. Llei [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] pa más información sobro cómo activalos y escoyer el predetermináu.\n\n$2\n\n; Si acabes d'instalar MediaWiki:\n: Probablemente instalasti dende git, o direutamente'l códigu fonte usando algún otru métodu. Esto ye d'esperar. Intenta instalar dellos aspeutos dende'l [https://www.mediawiki.org/wiki/Category:All_skins direutoriu d'aspeutos de mediawiki.org's], asina:\n:* Descargando [https://www.mediawiki.org/wiki/Download l'instalador tarball], que vien con dellos aspeutos y estensiones. Pues copiar y apegar el direutoriu <code>skins/</code> d'ehí.\n:* Descargando paquetes tar d'aspeutu individuales de [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* Clonando unu de los direutorios <code>mediawiki/skins/*</code> via git nel direutoriu <code dir=\"ltr\">skins/</code> de la to instalación de MediaWiki.\n: Facer esto nun tendría d'interferir col to repositoriu git si yes un desendolcador de MediaWiki.\n\n; Si acabes d'anovar MediaWiki:\n: MediaWiki 1.24 y más nuevu yá nun activa automáticamente los aspeutos instalaos (llei [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manual: Skin autodiscovery]). Pues apegar les llinies siguientes en <code>LocalSettings.php</code> p'activar tolos aspeutos instalaos actualmente:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Si acabes d'editar <code>LocalSettings.php</code>:\n: Vuelvi a comprobar los nomes de los aspeutos por si hai errores d'escritura.",
+       "default-skin-not-found-no-skins": "L'aspeutu predetermináu pa la to wiki, definíu en <code>$wgDefaultSkin</code> como <code>$1</code> nun ta disponible.\n\nNun tienes aspeutos instalaos.\n\n; Si acabes d'instalar MediaWiki:\n: Probablemente instalasti dende git, o'l códigu fonte direutamente usando algún otru métodu. Esto ye d'esperar. MediaWiki 1.24 y más nuevu nun incluye nengún aspeutu nel repositoriu principal. Intenta instalar dellos aspeutos dende'l [https://www.mediawiki.org/wiki/Category:All_skins direutoriu d'aspeutos de mediawiki.org], asina:\n:* Descargando [https://www.mediawiki.org/wiki/Download l'instalador tarball], que vien con dellos aspeutos y estensiones. Pues copiar y apegar el direutoriu <code>skins/</code> d'ehí.\n:* Descargando paquetes tar d'aspeutu individuales de [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* Clonando unu de los direutorios <code>mediawiki/skins/*</code> via git nel direutoriu <code dir=\"ltr\">skins/</code> de la to instalación de MediaWiki.\n: Facer esto nun tendría d'interferir col to repositoriu git si yes un desendolcador de MediaWiki. Llei [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manual: Skin configuration] pa más información sobro cómo activar los aspeutos y escoyer el predetermináu.",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (activáu)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 ('''desactiváu''')",
        "mediastatistics": "Estadístiques de multimedia",
        "json-error-utf8": "Carauteres UTF-8 con errores de formatu, seique codificaos incorreutamente",
        "json-error-recursion": "Una o más referencies recursives nel valor a codificar",
        "json-error-inf-or-nan": "Unu o más valores NAN (númberu nun conseñáu) o INF (infinitu) nel valor a codificar",
-       "json-error-unsupported-type": "Diose un valor d'un tipu que nun pue codificase"
+       "json-error-unsupported-type": "Diose un valor d'un tipu que nun pue codificase",
+       "headline-anchor-title": "Enllaz a esta sección"
 }
index 40b39fc..40914c0 100644 (file)
        "delete-toobig": "Batu bu va izvotap (lo $1 {{PLURAL:$1|betara|betara}}) digir. Ta djira va waltafa empara va {{SITENAME}} sulara va manu bu zo irutar.",
        "delete-warning-toobig": "Batu bu va izvotap (lo $1 {{PLURAL:$1|betara|betara}}) digir. Sulara va manu bu va skura ke origak ke {{SITENAME}} rotempar, acum obrason diotel !",
        "rollback": "nabildara va betareem",
-       "rollback_short": "Nabildara",
        "rollbacklink": "nabildara",
        "rollbackfailed": "Rodjeyesa nabildara",
        "cantrollback": "Impossible de révoquer : dernier auteur est le seul à avoir modifié cet article",
        "watchlisttools-view": "Wira va icdef betakseem",
        "watchlisttools-edit": "Wira va suzdasiki isu betara",
        "watchlisttools-raw": "Betara va suzdasiki",
-       "unknown_extension_tag": "\"$1\" megrupena divatcenafa tcala",
        "duplicate-defaultsort": "'''OBRAL !''' \"$2\" omavafa muberamarna va \"$1\" tela abdifa selur.",
        "version": "Siatos",
        "version-extensions": "Inkeyeni divatcesiki se",
        "version-parser-function-hooks": "Exuleraflidemi",
        "version-hook-name": "Demiyolt",
        "version-hook-subscribedby": "Wimpayan gan",
-       "version-version": "(Siatos $1)",
+       "version-version": "($1)",
        "version-license": "Sorta",
        "version-software": "Inkeyen talpeyot",
        "version-software-product": "Warzeks",
index 6248807..552c76f 100644 (file)
        "permalink": "Daimi bağlantı",
        "print": "Çap",
        "view": "Görünüş",
+       "view-foreign": "$1 üzərindən baxış",
        "edit": "Redaktə",
+       "edit-local": "Lokal izahı redaktə et",
        "create": "Yarat",
+       "create-local": "Lokal izah əlavə et",
        "editthispage": "Bu səhifəni redaktə et",
        "create-this-page": "Bu səhifəni yarat",
        "delete": "Sil",
        "edit-no-change": "Sizin redaktələr qeydə alınmamışdır. Belə ki, mətndə heç bir düzəliş edilməmişdir.",
        "postedit-confirmation-saved": "Redaktəniz qeyd edildi.",
        "edit-already-exists": "Yeni səhifəni yaratmaq mümkün deyil.\nBelə ki, bu adda səhifə artıq mövcuddur.",
+       "content-not-allowed-here": "\"$1\" tərkibi [[$2]] səhifəsi üçün icazə verilmir.",
+       "content-model-wikitext": "vikimətn",
+       "content-model-text": "adi mətn",
        "content-model-javascript": "JavaScript",
        "expensive-parserfunction-category": "Kifayət qədər böyük sayda genişresurslu funksiyaların müraciət olunduğu səhifələr",
        "post-expand-template-inclusion-warning": "'''DİQQƏT!''' Daxil edilən şablonların həcmi həddindən artıq böyükdür.\nBəzi şablonlar əlavə olunmayacaq.",
        "immobile-target-namespace-iw": "İntervikilər səhifə adının dəyişməsi üçün əsas ola bilməz.",
        "immobile-source-page": "Bu səhifənin adı dəyişdirilə bilməz.",
        "immobile-target-page": "Bu hədəf başlığına daşınmır.",
+       "bad-target-model": "İstənilən hədəf fərqli bir məzmun modeli istifadə edir. $1 modelindən $2 modelinə çevrilmir.",
        "imageinvalidfilename": "Seçilmiş fayl adı keçərsizdir.",
        "protectedpagemovewarning": "'''Xəbərdarlıq:''' Bu səhifə mühafizə edildiyi üçün onun adını yalnız idarəçilər dəyişə bilərlər.",
        "export": "Səhifələri ixrac et",
        "pageinfo-header-restrictions": "Səhifə mühafizəsi",
        "pageinfo-header-properties": "Səhifə xüsusiyyətləri",
        "pageinfo-display-title": "Göstərilən başlıq",
+       "pageinfo-default-sort": "Susmaya görə çeşidləmə açarı",
        "pageinfo-length": "Səhifənin ölçüsü (baytla)",
        "pageinfo-article-id": "Səhifə ID-si",
        "pageinfo-language": "Səhifənin dili",
        "pageinfo-content-model": "Səhifə məzmunu modeli",
+       "pageinfo-robot-policy": "Robotlar tərəfindən indeksləşmə",
+       "pageinfo-robot-index": "İcazə verilir",
        "pageinfo-robot-noindex": "İcazə verilmədi",
        "pageinfo-watchers": "Səhifəyə baxışların sayı",
        "pageinfo-few-watchers": "$1 {{PLURAL:$1|izləyicidən|izləyicilərdən}} az",
        "version-hooks": "Çəngəllər",
        "version-hook-name": "Çəngəlin adı",
        "version-hook-subscribedby": "Abunə olan",
-       "version-version": "(Versiya $1)",
+       "version-version": "($1)",
        "version-license": "MediaViki lisenziyası",
        "version-ext-license": "Lisenziya",
        "version-ext-colheader-version": "Versiya",
index a1ac69e..cc68c55 100644 (file)
        "version-parser-function-hooks": "آیریشدیران فونکسیا چنگل‌لری",
        "version-hook-name": "چنگه‌لین آدی",
        "version-hook-subscribedby": "طرفیندن گیریش‌‌میش",
-       "version-version": "(نسخه $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[آد سیز]",
        "version-license": "مِدیاویکی لیسانسی",
        "version-ext-license": "لیسانس",
index 1808272..93b68e1 100644 (file)
        "delete-toobig": "Был биттең үҙгәртеүҙәр тарихы бик оҙон, $1 {{PLURAL:$1|өлгөнән}} күберәк.\n{{SITENAME}} проектының эшмәкәрлеге боҙолмауы маҡсатында бындай биттәрҙе юйыу тыйылған.",
        "delete-warning-toobig": "Был биттең үҙгәртеүҙәр тарихы бик оҙон, $1 {{PLURAL:$1|өлгөнән}} күберәк.\nБитте юйыу {{SITENAME}} проектының эшмәкәрлеге боҙолоуына килтереүе мөмкин, һаҡлыҡ менән эш итегеҙ.",
        "rollback": "Үҙгәртеүҙәрҙе кире ҡайтарырға",
-       "rollback_short": "Кире ҡайтарырға",
        "rollbacklink": "кире",
        "rollbacklinkcount": "$1 {{PLURAL:$1|1=төҙәтеүҙе|төҙәтеүҙе}} кире алырға",
        "rollbacklinkcount-morethan": "$1 {{PLURAL:$1|1=төҙәтеүҙән|төҙәтеүҙән}} күберәк кире алырға",
        "import-logentry-interwiki": "$1 битен вики проекттары-ара тейәгән",
        "import-logentry-interwiki-detail": "$2 өлгөнән $1 {{PLURAL:$1|1=өлгө|өлгө}}",
        "javascripttest": "\nJavaScript тикшереү",
-       "javascripttest-title": "$1 тикшеренеү үткәрелә",
        "javascripttest-pagetext-noframework": "Был бит JavaScript тикшеренеүҙәре үткәреү өсөн  резервланған.",
        "javascripttest-pagetext-unknownframework": "Билдәһеҙ тикшеренеүҙәр мөхитнамәһе \"$1\".",
        "javascripttest-pagetext-frameworks": "Зинһар өсөн киләһе тикшеренеүҙәр мөхитнамәһенең береһен һайлап алығыҙ: $1",
        "javascripttest-pagetext-skins": "Һынауҙы башлау өсөн тышса һыйлағыҙ.",
        "javascripttest-qunit-intro": "mediawiki.org адресы буйынса ҡарағыҙ [$1 тест үткәреү документацияһы].",
-       "javascripttest-qunit-heading": "MediaWiki JavaScript QUnit өсөн һынауҙар йыйлмаһы.",
        "tooltip-pt-userpage": "Ҡулланыусы битегеҙ",
        "tooltip-pt-anonuserpage": "IP адресығыҙ өсөн ҡатнашыусы бите",
        "tooltip-pt-mytalk": "Фекерләшеү битегеҙ",
        "version-parser-function-hooks": "Уҡыу ҡоралдары функцияларын эләктереп алыусылар",
        "version-hook-name": "Эләктереп алыусы исеме",
        "version-hook-subscribedby": "Яҙҙырылған",
-       "version-version": "($1 өлгөһө)",
+       "version-version": "($1)",
        "version-license": "Рөхсәтнамә",
        "version-poweredby-credits": "Был вики проект '''[https://www.mediawiki.org/ MediaWiki]''' нигеҙендә эшләй, copyright © 2001-$1 $2.",
        "version-poweredby-others": "башҡалар",
index daada20..dc9af98 100644 (file)
        "watchlisttools-edit": "normal beorbatn",
        "watchlisttools-raw": "Im Roh-Listnformat beorbatn",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|Diskussión]])",
-       "unknown_extension_tag": "Unbekaunnter Extension-Tag „$1“",
        "duplicate-defaultsort": "Obocht: Da Sortiasschlossl \"$2\" ibaschreibt in friaan Schlissl \"$1\".",
        "version": "Versión",
        "version-extensions": "Installierde Daweiterrungen",
        "version-parser-function-hooks": "Parserfunkziónen",
        "version-hook-name": "Schnidstönnaum",
        "version-hook-subscribedby": "Aufruaff voh",
-       "version-version": "(Versión $1)",
+       "version-version": "($1)",
        "version-license": "Lizenz",
        "version-poweredby-credits": "Dé Nétzseiten braucht '''[https://www.mediawiki.org/wiki/MediaWiki/de MediaWiki]''', Copyright © 2001–$1 $2.",
        "version-poweredby-others": "åndre",
index 59d1773..bf446bc 100644 (file)
        "delete-toobig": "صفحهء یک مزنین تاریح اصلاحی هست گیشتر چه $1 {{PLURAL:$1|بازبینی|بازبینی}}.\nحذف چوشین صفحات په خاظر جلو گر چه ناگهانی اتفاق ته سایت {{SITENAME}} ممنوع بوتت.",
        "delete-warning-toobig": "ای صفحه  مزنین تاریح اصلاح هست، گیش چه  $1 {{PLURAL:$1|بازبینی|بازبینی}}.\nحذف آی شاید کار دیتابیس  {{SITENAME}} قطع کنت؛\nگون اخطار پیش روت.",
        "rollback": "پشت ترگ اصلاحات",
-       "rollback_short": "پشتررگ",
        "rollbacklink": "عقب ترگ",
        "rollbackfailed": "پشتررگ پروشت",
        "cantrollback": "نه تونیت اصلاح برگردینیت؛\nآهری شرکت کننده فقط نویسوک ای صفحه انت.",
        "version-parser-function-hooks": "عمل گر تجزیه کنوک گیر کت",
        "version-hook-name": "نام گیر",
        "version-hook-subscribedby": "اشتراک بیت گون",
-       "version-version": "(نسخه $1)",
+       "version-version": "($1)",
        "version-license": "لیسانس",
        "version-software": "نصبین برنامه",
        "version-software-product": "محصول",
index 4041ee2..ee89681 100644 (file)
        "version-parser-function-hooks": "Mga panpunksyong pangawil kan Parser",
        "version-hook-name": "Ngaran kan pangawil",
        "version-hook-subscribedby": "Pinaghaguhot ni",
-       "version-version": "(Bersyon na $1)",
+       "version-version": "($1)",
        "version-license": "Lisensiya kan MediaWiki",
        "version-ext-license": "Lisensiya",
        "version-ext-colheader-name": "Ekstensyon",
index ca5a180..f65cbb8 100644 (file)
        "createacct-emailoptional": "Адрас электроннай пошты (неабавязкова)",
        "createacct-email-ph": "Увядзіце ваш адрас электроннай пошты",
        "createacct-another-email-ph": "Увядзіце адрас электроннай пошты",
-       "createaccountmail": "Стварыць часовы адвольны пароль і даслаць яго на e-mail адрас, пазначаны ніжэй",
+       "createaccountmail": "Стварыць часовы адвольны пароль і даслаць яго на пазначаны адрас электроннай пошты",
        "createacct-realname": "Сапраўднае імя (неабавязкова)",
        "createaccountreason": "Прычына:",
        "createacct-reason": "Прычына",
        "thumbnail_image-missing": "Верагодна няма файла $1",
        "thumbnail_image-failure-limit": "Было зроблена зашмат няўдалых спробаў ($1 ці болей) сфармаваць гэтую мініятуру. Калі ласка, паспрабуйце пазьней.",
        "import": "Імпартаваць старонкі",
-       "importinterwiki": "Імпартаваньне зь іншых вікі",
+       "importinterwiki": "Імпартаваньне зь іншай вікі",
        "import-interwiki-text": "Абярыце вікі і назву старонкі для імпартаваньня.\nДаты зьменаў і імёны аўтараў будуць захаваныя.\nУсе дзеяньні імпартаваньня паміж вікі запісваюцца ў [[Special:Log/import|журнал імпартаваньняў]].",
        "import-interwiki-sourcewiki": "Крынічная вікі:",
        "import-interwiki-sourcepage": "Крынічная старонка:",
        "importcantopen": "Немагчыма адкрыць файл імпарту",
        "importbadinterwiki": "Няслушная спасылка на іншую моўную вэрсію",
        "importsuccess": "Імпартаваньне скончанае!",
-       "importnosources": "Ð\9aÑ\80Ñ\8bнÑ\96Ñ\86Ñ\8b Ñ\96мпаÑ\80Ñ\82Ñ\83 Ð¿Ð°Ð¼Ñ\96ж Ð²Ñ\96кÑ\96 не былі вызначаныя і наўпроставая загрузка гісторыі адключаная.",
+       "importnosources": "Ð\92Ñ\96кÑ\96 Ð´Ð»Ñ\8f Ñ\96мпаÑ\80Ñ\82Ñ\83 не былі вызначаныя і наўпроставая загрузка гісторыі адключаная.",
        "importnofile": "Файл для імпартаваньня ня быў загружаны.",
        "importuploaderrorsize": "Не атрымалася загрузіць файл імпартаваньня.\nПамер файла болей за дазволены для загрузкі.",
        "importuploaderrorpartial": "Не атрымалася загрузіць файл імпартаваньня.\nЁн быў загружаны толькі часткова.",
        "version-parser-function-hooks": "Перахопнікі функцыяў парсэра",
        "version-hook-name": "Назва працэдуры-перахопніка",
        "version-hook-subscribedby": "Падпісаны на",
-       "version-version": "(Вэрсія $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[бяз назвы]",
        "version-svn-revision": "(r$2)",
        "version-license": "Ліцэнзія MediaWiki",
index 5d9c4dc..a56ea8c 100644 (file)
        "version-parser-function-hooks": "Хукі функцый парсера",
        "version-hook-name": "Назва хука",
        "version-hook-subscribedby": "Сюды падпісаныя",
-       "version-version": "(Версія $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[без назвы]",
        "version-license": "Ліцэнзія MediaWiki",
        "version-ext-license": "Ліцэнзія",
index 0b57887..2f10797 100644 (file)
        "version-parser-function-hooks": "Куки в парсерни функции",
        "version-hook-name": "Име на куката",
        "version-hook-subscribedby": "Ползвана от",
-       "version-version": "(Версия $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[без име]",
        "version-license": "Лиценз на МедияУики",
        "version-ext-license": "Лиценз",
index a4f2cd5..15759a5 100644 (file)
        "user-mail-no-addy": "کوشش په دیم داتین یک خط بی شه گوجام ایمیل ادرسئ  ئا.",
        "user-mail-no-body": "کوشش په دیم داتین ئا یک گونڈین یا خالی ئین ایمیل ئی ئا.",
        "changepassword": "پاسوردی تغیر داتین",
+       "resetpass_announce": "شما باید په لوگین ئی الاسی ئا، نۆکین چیهرگالی ئی تنظیم بکنیت.",
        "resetpass_header": "پاسوردئ تغیر داتین",
        "oldpassword": "دیمئ پاسورد:",
        "newpassword": "نوکین پاسورد:",
        "retypenew": "نوکین پاسوردا پدا داخل کورتین",
        "resetpass_submit": "پاسوردی تنظیم و داخل بوتین",
        "changepassword-success": "شمی پاسوردئ تغیر کامیاب بوت و پاسورد تغیر کورت",
+       "changepassword-throttled": "شما بیخی باز وار په لوگین بوتینا کوشش کورته ایت.\nمهربانئ بکنیت دیم شه آیی که پدا کوشش بکنیت $1 صبر کنیت.",
        "resetpass_forbidden": "نه توانیت که پاسوردا تغیر بدهیت",
        "resetpass-no-info": "په ای تاکدیمی دسترسی ئی خاتیرا داخل بئیت.",
        "resetpass-submit-loggedin": "پاسوردی تغیر داتین",
        "resetpass-submit-cancel": "کنسیل",
+       "resetpass-recycled": "مهربانی بکینت دیگه پاسورد یا چیهرگالی غیر شه انونین چیهرگال ئا تنظیم بکنیت.",
+       "resetpass-temp-emailed": "شما گۆ یک موقتین ایمیل بوته ئین کود ئا لوگین بوته ئیت.\nپه لوگین ئی الاسی ئا شما باید نوکین چیهرگالی ایدا داخل بکنیت:",
        "resetpass-temp-password": "موقیئتین پاسورد:",
+       "resetpass-expired": "شمی چیهرگالی ئی وخت الاس بوته. مهربانی په لوگین بوتینا نۆکین چیهرگالی تنظیم بکنیت.",
        "passwordreset": "پاک کورتین پاسوردئ",
        "passwordreset-text-one": "په پدا نادینتین ایمیلی پاسوردی خاتیرا ای فرم ئا پر کنیت.",
        "passwordreset-text-many": "{{PLURAL:$1|په موقتی ئین چیهرگال ئی گیپتین شه ایمیلئ راه ئا، یکی شه زمینه‌هان ئا پر کنیت.}}",
        "resettokens-tokens": "نشانگان:",
        "resettokens-token-label": "$1 (انونین اندازه گ: $2)",
        "resettokens-done": "بیئر گردینتین نشانگ ئان.",
+       "resettokens-resetbutton": "نشانی بوته ئین وسایلانی بیئرگردینتین.",
        "bold_sample": "پر رنگین متن",
        "bold_tip": "پر رنگین متن",
        "italic_sample": "مورب متن",
        "anonpreviewwarning": "<em>شما لوگین نه بوته ئیت. ذخیره کورتین باعث ئه بیئت که شمی آی پی ادرس بی ای تاکدیمی تاریخچه ئی تا ثبت بیئت.</em>",
        "missingcommenttext": "مهربانی بکنیت جهلگا توضیح دهیت.",
        "summary-preview": "دیم دیست ئی خلاصه:",
+       "subject-preview": "موضو ئی دیم دیست/ئنوان:",
        "blockedtitle": "کار زوروک بسته بوته",
        "blockednoreason": "دلیلی مشخص نه بوته",
        "whitelistedittext": "په مقاله ئانی ایڈیٹ ئا باید $1.",
        "storedversion": "ذخیره بوته ئین نخسه",
        "yourdiff": "تفاوت‌هان",
        "templatesused": "{{PLURAL:$1|تراشوان|تراشوانان}} استفاده بوته انت بی ای تاکدیمئ تا:",
+       "templatesusedpreview": "ای دیم دیست ئی تا استفاده بوته ئین {{PLURAL:$1|تراشوان|تراشوانان}} :",
+       "templatesusedsection": "ای بخش ئی تا استفاده بوته ئین {{PLURAL:$1|تراشوان|تراشوانان}} :",
        "template-protected": "(قُلپ بوته)",
        "template-semiprotected": "(نیمه‌ گ قُلپ بوته)",
        "hiddencategories": "ای تاکدیم بی {{PLURAL:$1|یک چیهرین تهر|$1 چیهرین تهر}} تا قرار داریت:",
+       "nocreate-loggedin": "شما نوکین دیم ئی جۆڑ کورتین ئی اجازه ئا نداریت.",
+       "sectioneditnotsupported-title": "بخش ئانی ایڈیٹ پشتیوانی ئه نه بیئنت",
        "sectioneditnotsupported-text": "ای تاکدیم شه بخشانی ایڈیٹ ئا پُشتوانی ئه نه کنت.",
        "permissionserrors": "دسترسی ئی خطا",
        "permissionserrorstext": "شما ای کارئ اجازه ئا په ای {{PLURAL:$1|دلیلا|دلیلان}} نداریت:",
        "postedit-confirmation-saved": "شمی ایڈ\tیٹ ذخیره بوت.",
        "edit-already-exists": "نوکین تاکدیمئ جوڑ کورتین امکان نه داریت.\nای تاکدیم شه دیما وجود داشتت.",
        "defaultmessagetext": "پیامی پیش فرضین متن",
+       "invalid-content-data": "ناموتبرین دیتایی کانتکت",
        "content-not-allowed-here": "«$1» ئی محتوا بئ [[$2]] ئی دیمی تا جایز نه اینت",
+       "editpage-notsupportedcontentformat-title": "پشتیوانی نه بوته ئین دیتا کانتکت ئی فورمت کورتین",
        "content-model-wikitext": "ویکی‌متن",
        "content-model-text": "ساده گین متن",
        "content-model-javascript": "جاوااسکریپت",
index 42d6e0a..1ef0780 100644 (file)
        "delete-toobig": "Tungkaran ngini baisi sabuting sajarah pambabakan nang panjang, labih pada $1 {{PLURAL:$1|ralatan|raralatan}}.\nPahapusan tutungkaran kaini dibatasi hagan mancagah parakaian bakajutan di {{SITENAME}}.",
        "delete-warning-toobig": "Tungkaran ngini baisi halam babakan ganal, labih pada $1 {{PLURAL:$1|ralatan|raralatan}}.\nMahapus ngini kawa mangaruhi databasis oparasi {{SITENAME}};\njalanakan awan ba-a-awas.",
        "rollback": "Gulung bulik babakan",
-       "rollback_short": "Gulung-bulik",
        "rollbacklink": "bulikakan",
        "rollbackfailed": "Guling-bulik luput",
        "cantrollback": "Kada kawa mambalikakan babakan;\npanyumbang tauncit adalah asa-asanya panulis tungkaran ngini.",
        "watchlisttools-edit": "Tiringi wan babak daptar itihan",
        "watchlisttools-raw": "Babak daptar itihan mantah",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|pandir]])",
-       "unknown_extension_tag": "Tag ekstensi kada dipinandui \"$1\"",
        "duplicate-defaultsort": "Paringatan: Sunduk pangurutan baku \"$2\" mangabaikan sunduk pangurutan baku \"$1\" sabalumnya.",
        "version": "Virsi",
        "version-extensions": "Ekstensi tapasang",
        "version-parser-function-hooks": "Kait pungsi parser",
        "version-hook-name": "Ngaran kait",
        "version-hook-subscribedby": "Dilanggani ulih",
-       "version-version": "(Pirsi $1)",
+       "version-version": "($1)",
        "version-license": "Lisansi",
        "version-poweredby-credits": "Wiki ngini disukung ulih '''[https://www.mediawiki.org/ MediaWiki]''', hak salin © 2001-$1 $2.",
        "version-poweredby-others": "lainnya",
index 0b2bd34..ad9900a 100644 (file)
        "enotif_body_intro_created": "{{SITENAME}} এর $1 পাতাটি {{gender:$2|$2}} $PAGEEDITDATE তারিখে তৈরী করেছেন, বর্তমান সংস্করণ দেখুন এখানে $3।",
        "enotif_body_intro_moved": "{{SITENAME}} এর $1 পাতাটি {{gender:$2|$2}} $PAGEEDITDATE তারিখে স্থানান্তর করেছেন, বর্তমান সংস্করণ দেখুন এখানে $3।",
        "enotif_body_intro_restored": "{{SITENAME}} এর $1 পাতাটি {{gender:$2|$2}} $PAGEEDITDATE আগের অবস্থায় ফিরিয়ে এনেছেন, বর্তমান সংস্করণ দেখুন এখানে $3।",
-       "enotif_body_intro_changed": "{{SITENAME}} এর $1 পাতাটি {{gender:$2|$2}} $PAGEEDITDATE তারিখে পরিবর্তন করেছেন, বর্তমান সংস্করণ দেখুন এখানে $3।",
+       "enotif_body_intro_changed": "{{SITENAME}} এর $1 পাতাটি $PAGEEDITDATE তারিখে $2 কর্তৃক {{GENDER:$2|পরিবর্তিত}} হয়েছে, বর্তমান সংস্করণের দেখুন $3।",
        "enotif_lastvisited": "আপনার শেষ আগমনের পরে সংঘটিত সমস্ত পরিবর্তনের জন্য $1 দেখুন।",
        "enotif_lastdiff": "এই পরিবর্তনটি দেখার জন্য $1 দেখুন।",
        "enotif_anon_editor": "বেনামী ব্যবহারকারী $1",
-       "enotif_body": "প্রিয় $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nসম্পাদকের সারাংশ: $PAGESUMMARY $PAGEMINOREDIT\n\nসম্পাদকের সাথে যোগাযোগের উপায়:\nইমেইল: $PAGEEDITOR_EMAIL\nউইকি: $PAGEEDITOR_WIKI\n\nপাতাটির পরবর্তী পরিবর্তনগুলো জন্য আর কোন বিজ্ঞপ্তি পাঠানো হবে না, যতক্ষণ না আপনি লগ ইন করার সময় এই পাতায় ব্রাউজ করবেন। এছাড়া আপনি আপনার নজরতালিকায় রাখা সবগুলি পাতা জন্য বিজ্ঞপ্তি ফ্ল্যাগ শুরুর অবস্থায় ফিরিয়ে নিতে পারেন।\n\n{{SITENAME}} নোটিফিকেশন\n\n--\nইমেইল নোটিফিকেশন সেটিং পরিবর্তনের জন্য দেখুন\n{{canonicalurl:{{#special:Preferences}}}}\n\nআপনার নজরতালিকা সেটিংস পরিবর্তন করতে চাইলে দেখুন, \n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nনজরতালিকা থেকে কোন পাতা অপসারণ করতে চাইলে এখানে যান:\n$UNWATCHURL\n\nপ্রতিক্রিয়া জানাতে ও আরও সহযোগিতার জন্য:\n$HELPPAGE",
+       "enotif_body": "প্রিয় $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nসম্পাদকের সারাংশ: $PAGESUMMARY $PAGEMINOREDIT\n\nসম্পাদকের সাথে যোগাযোগের উপায়:\nইমেইল: $PAGEEDITOR_EMAIL\nউইকি: $PAGEEDITOR_WIKI\n\nপাতাটির পরবর্তী পরিবর্তনগুলো জন্য আর কোন বিজ্ঞপ্তি পাঠানো হবে না, যতক্ষণ না আপনি লগ ইন করার সময় এই পাতায় ব্রাউজ করবেন। এছাড়া আপনি আপনার নজরতালিকায় রাখা সবগুলি পাতা জন্য বিজ্ঞপ্তি ফ্ল্যাগ শুরুর অবস্থায় ফিরিয়ে নিতে পারেন।\n\nআপনার বন্ধুত্বপূর্ণ {{SITENAME}} বিজ্ঞপ্তি সিস্টেম\n\n--\nইমেইল বিজ্ঞপ্তি সেটিং পরিবর্তনের জন্য দেখুন\n{{canonicalurl:{{#special:Preferences}}}}\n\nআপনার নজরতালিকা সেটিংস পরিবর্তন করতে চাইলে দেখুন, \n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nনজরতালিকা থেকে কোন পাতা অপসারণ করতে চাইলে এখানে যান:\n$UNWATCHURL\n\nপ্রতিক্রিয়া জানাতে ও আরও সহযোগিতার জন্য:\n$HELPPAGE",
        "created": "তৈরী হয়েছিল",
        "changed": "পরিবর্তিত",
        "deletepage": "পাতাটি মুছে ফেলা হোক",
        "thumbnail_gd-library": "অসম্পূর্ণ জিডি লাইব্রেরী কনফিগারেশন: $1 ফাংশন নেই",
        "thumbnail_image-missing": "ফাইলটি খুজে পাওয়া যাচ্ছে না: $1",
        "import": "পাতা আমদানি",
-       "importinterwiki": "à¦\86নà§\8dতà¦\83à¦\89à¦\87à¦\95ি à¦\86মদানি",
+       "importinterwiki": "à¦\85নà§\8dয à¦\89à¦\87à¦\95ি à¦¥à§\87à¦\95à§\87 à¦\86মদানà§\80",
        "import-interwiki-text": "আমদানির জন্য একটি উইকি ও পাতার শিরোনাম নির্বাচন করুন।\nসংশোধনের তারিখগুলি এবং সম্পাদকদের নামগুলি সংরক্ষণ করা হবে।\nসমস্ত আন্তঃউইকি আমদানিগুলি [[Special:Log/import|আমদানি লগে]] লিপিবদ্ধ আছে।",
        "import-interwiki-sourcewiki": "উত্স উইকি:",
        "import-interwiki-sourcepage": "উৎস পাতা:",
index 0138d20..f14b841 100644 (file)
        "version-specialpages": "বিশেষ পাতাহানি",
        "version-other": "হের",
        "version-hooks": "কসিগি",
-       "version-version": "(সংস্করণ $1)",
+       "version-version": "($1)",
        "version-license": "লাইসেন্স",
        "version-software": "ইনস্টলঅসে সফটওয়্যার",
        "version-software-product": "পণ্য",
index 8e2e187..50f72da 100644 (file)
        "version-parser-function-hooks": "Kuke parserske funkcije",
        "version-hook-name": "Naziv kuke",
        "version-hook-subscribedby": "Pretplaćeno od",
-       "version-version": "(Verzija $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[nema imena]",
        "version-license": "Licenca",
        "version-ext-license": "Licenca",
index c5d6c7a..0f2d15b 100644 (file)
        "version-parser-function-hooks": "Lligams funcionals de l'analitzador",
        "version-hook-name": "Nom del lligam",
        "version-hook-subscribedby": "Subscrit per",
-       "version-version": "(Versió $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[sense nom]",
        "version-license": "Llicència del MediaWiki",
        "version-ext-license": "Llicència",
index 0fb4db7..49e6fd9 100644 (file)
        "last": "хьалх.",
        "page_first": "хьалхара",
        "page_last": "тlаьххьара",
-       "histlegend": "Ð\9aÑ\85еÑ\82оÑ\80: (Ñ\85Ó\80инÑ\86алеÑ\80а.) â\80\94 Ð¹Ð¾Ð»Ñ\83Ñ\87Ñ\83 Ð±Ð°Ñ\88Ñ\85он ÐºÑ\8aаÑ\81Ñ\82ам; (Ñ\85Ñ\8cалÑ\85.) â\80\94 Ñ\85Ñ\8cалÑ\85леÑ\80ачу башхон къастам; '''ж''' — жимо бозалца болу хийцам.",
+       "histlegend": "Ð\9aÑ\85еÑ\82оÑ\80: (Ñ\85Ó\80инÑ\86алеÑ\80а.) â\80\94 Ð¹Ð¾Ð»Ñ\83Ñ\87Ñ\83 Ð±Ð°Ñ\88Ñ\85он ÐºÑ\8aаÑ\81Ñ\82ам; (Ñ\85Ñ\8cалÑ\85.) â\80\94 Ñ\85Ñ\8cалÑ\85алеÑ\80чу башхон къастам; '''ж''' — жимо бозалца болу хийцам.",
        "history-fieldset-title": "АгӀона хийцамаш",
        "history-show-deleted": "ДӀаяхинарш",
        "histfirst": "ширниш",
        "grouppage-bureaucrat": "{{ns:project}}:Бюрократаш",
        "grouppage-suppress": "{{ns:project}}:Ревизораш",
        "right-read": "агӀонашка хьажар",
-       "right-edit": "агӀонаш нийсе",
+       "right-edit": "агӀонаш нисъяр",
        "right-createpage": "АгӀонаш кхоллар (дийцарш дац)",
        "right-createtalk": "Дийцаре агӀонаш кхоллар",
        "right-createaccount": "декъашхошна керла дӀаяздарш кхоллар",
        "mimesearch-summary": "ХӀокху агӀоно йиш хуьлуьйту MIME-тайпан файлаш харжа. Яздеш долу формат: чулацаман тайп/бухара тайп, масала  <code>image/jpeg</code>.",
        "mimetype": "MIME-тайп:",
        "download": "чуяккха",
-       "unwatchedpages": "Цхьамо тергам ца беш йолу агӀонаш",
+       "unwatchedpages": "Цхьам терго цайо агӀонаш",
        "listredirects": "ДIасахьажоран могIам",
        "listduplicatedfiles": "Файлийн могӀам дубликатшца",
        "listduplicatedfiles-summary": "ХӀара файлийн могӀам бу, кхузахь тӀехьарчу файлан верси цхьайолу тӀехьарчу файлийн версийн дубликат лоруш ю. Локальни файлаш бен лоруш яц.",
        "actionfailed": "Кхочушъ дина дац",
        "deletedtext": "«$1» дӀаяьккхина яра.\nХьажа. $2 хьажарна оцу тӀаьхьара дӀаяхначара могӀаме.",
        "dellogpage": "ДӀадаьхнарш долу тéптар",
-       "dellogpagetext": "Лахахь гойтуш ду дӀадахаршан тептар.",
+       "dellogpagetext": "Лахахь гойтуш ю тӀаьххьара дӀаяьхнарш.",
        "deletionlog": "дӀадаьхнарш долу тéптар",
        "deletecomment": "Бахьна:",
        "deleteotherreason": "Кхин бахьна/тӀетохар:",
        "version-parser-function-hooks": "Cинтаксисан къасторан функци схьалоцурш",
        "version-hook-name": "Схьалуьцачун цӀе",
        "version-hook-subscribedby": "ДӀабазбелла тӀе",
-       "version-version": "(Верси $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[цӀе йоцуш]",
        "version-license": "MediaWiki Лицензи",
        "version-ext-license": "Лицензи",
        "tags-deactivate": "дӀаяйа",
        "tags-hitcount": "$1 {{PLURAL:$1|хийцам|хийцамаш}}",
        "tags-create-heading": "Кхолла керла билгало",
+       "tags-create-explanation": "Юха кхоьллина билгалонаш декъашхошна а боташна а Ӏад йтарца тӀекхочуш хира ю.",
        "tags-create-tag-name": "Билгалонна цӀе:",
        "tags-create-reason": "Бахьна:",
        "tags-create-submit": "Кхолла",
index 42bddbc..d10bce6 100644 (file)
        "version-parser-function-hooks": "Parser function hooks",
        "version-hook-name": "ناوی قولاپ",
        "version-hook-subscribedby": "بەشداربوو لە لایەن",
-       "version-version": "(وەشانی $1)",
+       "version-version": "($1)",
        "version-license": "مۆڵەتنامە",
        "version-ext-colheader-version": "وەشان",
        "version-ext-colheader-description": "وەسف",
index 6d81102..56ba1ce 100644 (file)
        "readonly_lag": "Databáze byla automaticky dočasně uzamčena kvůli zpoždění ostatních databázových serverů oproti hlavnímu",
        "internalerror": "Vnitřní chyba",
        "internalerror_info": "Vnitřní chyba: $1",
+       "internalerror-fatal-exception": "Kritická výjimka typu „$1“",
        "filecopyerror": "Nebylo možné zkopírovat soubor  „$1“ na „$2“.",
        "filerenameerror": "Nebylo možné přejmenovat soubor „$1“ na „$2“.",
        "filedeleteerror": "Nebylo možné smazat soubor „$1“.",
        "unusedimages": "Nepoužívané soubory",
        "wantedcategories": "Chybějící kategorie",
        "wantedpages": "Chybějící stránky",
+       "wantedpages-summary": "Seznam neexistujících stránek, na které vede nejvíce odkazů, kromě stránek, na které odkazují jen přesměrování. Pro seznam neexistujících stránek, na které odkazují přesměrování, vizte stránku [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Výsledky obsahují neplatný název: $1",
        "wantedfiles": "Chybějící soubory",
        "wantedfiletext-cat": "Následující soubory se používají, ale neexistují. Soubory ze vzdálených úložišť zde mohou být uvedeny, přestože existují. Taková falešná pozitiva budou zobrazena <del>přeškrtnutě</del>. Stránky, které vkládají neexistující soubory, jsou navíc uvedeny v [[:$1]].",
        "thumbnail_image-missing": "Soubor patrně chybí: $1",
        "thumbnail_image-failure-limit": "V poslední době došlo k příliš mnoha neúspěšným pokusům (nejméně $1) o vytvoření tohoto náhledu. Zkuste to později.",
        "import": "Import stránek",
-       "importinterwiki": "Import mezi wiki",
-       "import-interwiki-text": "Pro import zvolte zdrojovou wiki a název stránky. Data revizí a jména autorů budou zachována. Všechny importy se zaznamenávají do [[Special:Log/import|knihy importů]].",
+       "importinterwiki": "Import z jiné wiki",
+       "import-interwiki-text": "Zvolte zdrojovou wiki a název stránky, která se má importovat.\nZachovají se data revizí a jména autorů.\nVšechny importy z jiných wiki se zaznamenávají do [[Special:Log/import|knihy importů]].",
        "import-interwiki-sourcewiki": "Zdrojová wiki:",
        "import-interwiki-sourcepage": "Zdrojová stránka:",
        "import-interwiki-history": "Zkopírovat všechny historické verze této stránky",
        "importcantopen": "Nepodařilo se otevřít importní soubor",
        "importbadinterwiki": "Neplatný interwiki odkaz",
        "importsuccess": "Import skončil!",
-       "importnosources": "Nebyly definovány žádné zdroje pro import mezi wiki a přímé načítání historie je vypnuto.",
+       "importnosources": "Nebyly definovány žádné wiki, ze kterých by šlo importovat, a přímé načítání historie je vypnuto.",
        "importnofile": "Nebyl načten importní soubor.",
        "importuploaderrorsize": "Nepodařilo se načíst importní soubor. Soubor je větší než povolená velikost.",
        "importuploaderrorpartial": "Nepodařilo se načíst importní soubor. Soubor byl načten jen částečně.",
        "revdelete-uname-unhid": "odkryto uživatelské jméno",
        "revdelete-restricted": "omezení správců použito",
        "revdelete-unrestricted": "omezení správců odstraněno",
+       "logentry-block-block": "$1 {{GENDER:$2|zablokoval|zablokovala|blokuje}} {{GENDER:$4|uživatele|uživatelku}} „$3“ s časem vypršení $5 $6",
+       "logentry-block-unblock": "$1 {{GENDER:$2|odblokoval|odblokovala|odblokovává}} {{GENDER:$4|uživatele|uživatelku}} „$3“",
+       "logentry-block-reblock": "$1 {{GENDER:$2|změnil|změnila|mění}} nastavení bloku {{GENDER:$4|uživatele|uživatelky}} „$3“ s časem vypršení $5 $6",
+       "logentry-suppress-block": "$1 {{GENDER:$2|zablokoval|zablokovala|blokuje}} {{GENDER:$4|uživatele|uživatelku}} „$3“ s časem vypršení $5 $6",
+       "logentry-suppress-reblock": "$1 {{GENDER:$2|změnil|změnila|mění}} nastavení bloku {{GENDER:$4|uživatele|uživatelky}} „$3“ s časem vypršení $5 $6",
        "logentry-merge-merge": "$1 {{GENDER:$2|sloučil|sloučila}} stránku $3 do $4 (revize po $5)",
        "logentry-move-move": "$1 {{GENDER:$2|přesunul|přesunula}} stránku $3 na $4",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|přesunul|přesunula}} stránku $3 na $4 bez založení přesměrování",
index df0bddf..f59c963 100644 (file)
@@ -5,7 +5,8 @@
                        "Omnipaedista",
                        "Svetko",
                        "Wolliger Mensch",
-                       "ОйЛ"
+                       "ОйЛ",
+                       "아라"
                ]
        },
        "tog-oldsig": "нꙑнѣшьн҄ь аѵтографъ :",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|бєсѣда]])",
        "version": "MediaWiki обраꙁъ",
        "version-specialpages": "нарочьнꙑ страницѧ",
-       "version-version": "(обраꙁъ $1)",
+       "version-version": "($1)",
        "version-license": "MediaWiki прощєниѥ",
        "version-software-version": "обраꙁъ",
        "redirect-submit": "прѣиди",
index 469959d..1fd1887 100644 (file)
        "version-parser-function-hooks": "Bachau ffwythiant dosrannu",
        "version-hook-name": "Enw'r bachyn",
        "version-hook-subscribedby": "Tanysgrifwyd gan",
-       "version-version": "(Fersiwn $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[dim enw]",
        "version-license": "Trwydded MediaWiki",
        "version-ext-license": "Trwydded",
index 988f141..da4865d 100644 (file)
        "version-parser-function-hooks": "Parserfunktioner",
        "version-hook-name": "Navn",
        "version-hook-subscribedby": "Brugt af",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-license": "MediaWiki Licens",
        "version-ext-license": "Licens",
        "version-ext-colheader-name": "Udvidelse",
index b77a9ed..40befca 100644 (file)
        "readonly_lag": "Die Datenbank wurde automatisch für Schreibzugriffe gesperrt, damit sich die verteilten Datenbankserver (slaves) mit dem Hauptdatenbankserver (master) abgleichen können.",
        "internalerror": "Interner Fehler",
        "internalerror_info": "Interner Fehler: $1",
+       "internalerror-fatal-exception": "Fataler Ausnahmefehler des Typs „$1“",
        "filecopyerror": "Die Datei „$1“ konnte nicht nach „$2“ kopiert werden.",
        "filerenameerror": "Die Datei „$1“ konnte nicht nach „$2“ umbenannt werden.",
        "filedeleteerror": "Die Datei „$1“ konnte nicht gelöscht werden.",
        "unusedimages": "Verwaiste Dateien",
        "wantedcategories": "Gewünschte Kategorien",
        "wantedpages": "Gewünschte Seiten",
+       "wantedpages-summary": "Liste nicht vorhandener Seiten mit den meisten Links auf diese Seiten, ausschließlich solche, die nur Weiterleitungen haben. Für eine Liste nicht vorhandener Seiten mit Weiterleitungen, siehe [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Ungültiger Titel im Ergebnis: $1",
        "wantedfiles": "Gewünschte Dateien",
        "wantedfiletext-cat": "Die folgenden Dateien werden verwendet, sind jedoch nicht vorhanden. Vorhandene Dateien aus fremden Repositorien können dennoch hier aufgelistet sein und werden <del>durchgestrichen</del> dargestellt. Zusätzlich werden Seiten, die nicht vorhandene Dateien enthalten, in die [[:$1]] eingeordnet.",
        "thumbnail_image-failure-limit": "Es wurden in letzter Zeit zu viele Versuche ($1 oder mehr) unternommen, dieses Vorschaubild zu rendern. Bitte versuche es später erneut.",
        "import": "Seiten importieren",
        "importinterwiki": "Von einem anderen Wiki importieren",
-       "import-interwiki-text": "Wähle ein Wiki und eine Seite zum Importieren aus.\nDie Versionsdaten und Benutzernamen bleiben dabei erhalten.\nAlle Transwiki-Import-Aktionen werden im [[Special:Log/import|Import-Logbuch]] protokolliert.",
+       "import-interwiki-text": "Wähle ein Wiki und eine Seite zum Importieren aus.\nDie Versionsdaten und Benutzernamen bleiben dabei erhalten.\nAlle Importe von anderen Wikis werden im [[Special:Log/import|Import-Logbuch]] protokolliert.",
        "import-interwiki-sourcewiki": "Quellwiki:",
        "import-interwiki-sourcepage": "Quellseite:",
        "import-interwiki-history": "Alle Versionen dieser Seite importieren",
        "importcantopen": "Importdatei konnte nicht geöffnet werden",
        "importbadinterwiki": "Falscher Interwiki-Link",
        "importsuccess": "Import abgeschlossen.",
-       "importnosources": "Für den Transwiki-Import sind keine Quellen definiert. Das direkte Hochladen von Versionen ist gesperrt.",
+       "importnosources": "Es wurden keine Wikis angegeben, von denen importiert werden soll. Das direkte Hochladen von Versionsgeschichten ist deaktiviert.",
        "importnofile": "Es ist keine Importdatei ausgewählt worden.",
        "importuploaderrorsize": "Das Hochladen der Importdatei ist fehlgeschlagen. Die Datei ist größer als die maximal erlaubte Dateigröße.",
        "importuploaderrorpartial": "Das Hochladen der Importdatei ist fehlgeschlagen. Die Datei wurde nur teilweise hochgeladen.",
        "log-name-pagelang": "Sprachenänderungs-Logbuch",
        "log-description-pagelang": "Dies ist ein Logbuch mit Änderungen an Seitensprachen.",
        "logentry-pagelang-pagelang": "$1 {{GENDER:$2|änderte}} die Seitensprache für $3 von $4 nach $5.",
-       "default-skin-not-found": "Hoppla! Die mit <code>$wgDefaultSkin</code> als <code>$1</code>&nbsp;für dein Wiki definierte Standardbenutzeroberfläche ist nicht verfügbar.\n\nDie folgende(n) Benutzeroberfläche(n) scheinen vorhanden zu sein:\n\n$2\n\nSiehe hierzu das [https://www.mediawiki.org/wiki/Manual:Skin_configuration/de Benutzerhandbuch zur Konfiguration von Benutzeroberflächen].\n\n; Sofern du MediaWiki gerade installiert hast\n: Du hast MediaWiki vermutlich mit Hilfe von Git oder den Quellcode direkt anhand einer anderen Methode installiert. Das aktuelle Problem war deshalb zu erwarten. Installiere zumindest eine im [https://www.mediawiki.org/wiki/Category:All_skins Verzeichnis der Benutzeroberflächen] enthaltene Benutzeroberfläche indem du:\n:* eines der Repositorien aus <code>mediawiki/skins/*</code> mit Hilfe von Git in das Verzeichnis <code dir=\"ltr\">skins/</code> deiner MediaWiki-Installation klonst,\n:* die Dateiveröffentlichungen einzelner Benutzeroberflächen aus [https://www.mediawiki.org/wiki/Special:SkinDistributor MediaWiki.org] herunterlädst und in das Verzeichnis <code dir=\"ltr\">skins/</code> deiner MediaWiki-Installation kopierst,\n:* die [https://www.mediawiki.org/wiki/Download/de Dateiveröffentlichung von MediaWiki] herunterlädst, die verschiedene Benutzeroberflächen sowie Erweiterungen enthält. Du kannst das dort enthaltene Verzeichnis <code>skins/</code> Verzeichnis nutzen und in das Verzeichnis <code dir=\"ltr\">skins/</code> deiner MediaWiki-Installation kopieren.\n\n; Sofern du MediaWiki gerade aktualisiert hast\n: Bei MediaWiki 1.24 und neuere Versionen werden die installierten Benutzeroberflächen nicht mehr automatisch aktiviert (siehe das [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Benutzerhandbuch]). Du kannst die folgenden Zeilen in die Datei <code>LocalSettings.php</code> einfügen, um alle derzeit installierten Benutzeroberflächen zu aktivieren:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Falls du gerade die Datei <code>LocalSettings.php</code> geändert hast\n: Überprüfe die Namen der Benutzeroberflächen auf Tippfehler.",
+       "default-skin-not-found": "Hoppla! Die mit <code>$wgDefaultSkin</code> als <code>$1</code>&nbsp;für dein Wiki definierte Standardbenutzeroberfläche ist nicht verfügbar.\n\nDie folgende(n) Benutzeroberfläche(n) scheinen vorhanden zu sein:\n\n$2\n\nSiehe hierzu das [https://www.mediawiki.org/wiki/Manual:Skin_configuration/de Benutzerhandbuch zur Konfiguration von Benutzeroberflächen].\n\n; Sofern du MediaWiki gerade installiert hast\n: Du hast MediaWiki vermutlich mit Hilfe von Git oder den Quellcode direkt anhand einer anderen Methode installiert. Das aktuelle Problem war deshalb zu erwarten. Installiere zumindest eine im [https://www.mediawiki.org/wiki/Category:All_skins Verzeichnis der Benutzeroberflächen] enthaltene Benutzeroberfläche indem du:\n:* eines der Repositorien aus <code>mediawiki/skins/*</code> mit Hilfe von Git in das Verzeichnis <code dir=\"ltr\">skins/</code> deiner MediaWiki-Installation klonst,\n:* die Dateiveröffentlichungen einzelner Benutzeroberflächen aus [https://www.mediawiki.org/wiki/Special:SkinDistributor MediaWiki.org] herunterlädst und in das Verzeichnis <code dir=\"ltr\">skins/</code> deiner MediaWiki-Installation kopierst,\n:* die [https://www.mediawiki.org/wiki/Download/de Dateiveröffentlichung von MediaWiki] herunterlädst, die verschiedene Benutzeroberflächen sowie Erweiterungen enthält. Du kannst das dort enthaltene Verzeichnis <code>skins/</code> Verzeichnis nutzen und in das Verzeichnis <code dir=\"ltr\">skins/</code> deiner MediaWiki-Installation kopieren.\n\n; Sofern du MediaWiki gerade aktualisiert hast\n: Bei MediaWiki 1.24 und neueren Versionen werden die installierten Benutzeroberflächen nicht mehr automatisch aktiviert (siehe das [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Benutzerhandbuch]). Du kannst die folgenden Zeilen in die Datei <code>LocalSettings.php</code> einfügen, um alle derzeit installierten Benutzeroberflächen zu aktivieren:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Falls du gerade die Datei <code>LocalSettings.php</code> geändert hast\n: Überprüfe die Namen der Benutzeroberflächen auf Tippfehler.",
        "default-skin-not-found-no-skins": "Hoppla! Die mit <code>$wgDefaultSkin</code> als <code>$1</code>&nbsp;für dein Wiki definierte Standardbenutzeroberfläche ist nicht verfügbar.\n\nDu hast keine Benutzeroberfläche installiert.\n\n; Sofern du MediaWiki gerade installiert oder aktualisiert hast\n: Du hast MediaWiki vermutlich mit Hilfe von Git oder den Quellcode direkt anhand einer anderen Methode installiert. Das aktuelle Problem war deshalb zu erwarten, da MediaWiki 1.24 und neuere Versionen keine Benutzeroberflächen im Hauptrepositorium enthalten. Installiere zumindest eine im [https://www.mediawiki.org/wiki/Category:All_skins Verzeichnis der Benutzeroberflächen] enthaltene Benutzeroberfläche indem du:\n:* eines der Repositorien aus <code>mediawiki/skins/*</code> mit Hilfe von Git in das Verzeichnis <code dir=\"ltr\">skins/</code> deiner MediaWiki-Installation klonst,\n:* die Dateiveröffentlichungen einzelner Benutzeroberflächen aus [https://www.mediawiki.org/wiki/Special:SkinDistributor MediaWiki.org] herunterlädst und in das Verzeichnis <code dir=\"ltr\">skins/</code> deiner MediaWiki-Installation kopierst,\n:* die [https://www.mediawiki.org/wiki/Download/de Dateiveröffentlichung von MediaWiki] herunterlädst, die verschiedene Benutzeroberflächen sowie Erweiterungen enthält. Du kannst das dort enthaltene Verzeichnis <code>skins/</code> Verzeichnis nutzen und in das Verzeichnis <code dir=\"ltr\">skins/</code> deiner MediaWiki-Installation kopieren.\n: Siehe hierzu das [https://www.mediawiki.org/wiki/Manual:Skin_configuration/de Benutzerhandbuch zur Konfiguration von Benutzeroberflächen].",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (aktiviert)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 ('''deaktiviert''')",
index 56936bb..d22707e 100644 (file)
        "uploaderror": "Σφάλμα στο ανέβασμα αρχείου",
        "upload-recreate-warning": "'''Προειδοποίηση: Ένα αρχείο με αυτό το όνομα έχει διαγραφεί ή μετακινηθεί.'''\n\nΤο αρχείο διαγραφών και μετακινήσεων για αυτή τη σελίδα παρέχεται εδώ για διευκόλυνση:",
        "uploadtext": "Μπορείτε να χρησιμοποιήσετε την παρακάτω φόρμα για να επιφορτώσετε αρχεία. Για να δείτε ήδη επιφορτωμένα αρχεία, πηγαίνετε στη [[Special:FileList|λίστα επιφορτωμένων αρχείων]] ή στο [[Special:Log/upload|ιστορικό επιφορτώσεων]]. Οι διαγραφές έχουν καταγραφεί στη σελίδα [[Special:Log/delete|αρχείο διαγραφών]].\n\nΓια να συμπεριληφθεί μια εικόνα σε μια σελίδα, χρησιμοποιήστε συνδέσμους της μορφής:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' (χρήση της πλήρους εκδοχής του αρχείου)\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt text]]</nowiki></code>''' (χρήση μίας εκδοχής 200 pixel σε πλάτος σε ένα κουτάκι στο αριστερό περιθώριο με περιγραφή 'alt text')\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' (άμεση σύνδεση με το αρχείο χωρίς εμφάνιση του ίδιου του αρχείου)",
-       "upload-permitted": "Επιτρεπτοί τύποι αρχείων: $1.",
-       "upload-preferred": "Τύποι αρχείων που προτιμούνται: $1.",
-       "upload-prohibited": "Απαγορευμένοι τύποι αρχείου: $1.",
+       "upload-permitted": "{{PLURAL:$2|Επιτρεπτός τύπος αρχείων|Επιτρεπτοί τύποι αρχείων}}: $1.",
+       "upload-preferred": "{{PLURAL:$2|Τύπος αρχείων που προτιμάται|Τύποι αρχείων που προτιμούνται}}: $1.",
+       "upload-prohibited": "{{PLURAL:$2|Απαγορευμένος τύπος αρχείων|Απαγορευμένοι τύποι αρχείων}}: $1.",
        "uploadlogpage": "Αρχείο καταγραφών ανεβάσματος αρχείων",
        "uploadlogpagetext": "Παρακάτω είναι ο κατάλογος με τις πιο πρόσφατες αποθηκεύσεις αρχείων. Επισκεφθείτε τον [[Special:NewFiles|πίνακα νέων αρχείων]] για μία πιο οπτική επισκόπηση.",
        "filename": "Όνομα αρχείου",
        "deleteprotected": "Δεν μπορείτε να διαγράψετε αυτή τη σελίδα επειδή είναι προστατευόμενη.",
        "deleting-backlinks-warning": "\"'Προσοχή:\"' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Άλλες σελίδες]] συνδέουν ή ενσωματώνουν τη σελίδα που πρόκειται να διαγράψετε.",
        "rollback": "Επαναφορά επεξεργασιών",
-       "rollback_short": "Επαναφορά",
        "rollbacklink": "αναστροφή",
        "rollbacklinkcount": "Επαναφορά $1 {{PLURAL:$1|επεξεργασίας|επεξεργασιών}}",
        "rollbacklinkcount-morethan": "επαναφορά περισσότερων από $1 {{PLURAL:$1|επεξεργασία|επεξεργασίες}}",
        "thumbnail_gd-library": "Ατελής ενεργοποίηση της βιβλιοθήκης GD: αγνοούμενη λειτουργία $1",
        "thumbnail_image-missing": "Το αρχείο φαίνεται να λείπει: $1",
        "import": "Εισαγωγή σελίδων",
-       "importinterwiki": "Εισαγωγή από άλλο Wiki",
-       "import-interwiki-text": "Î\95Ï\80ιλέξÏ\84ε Î­Î½Î± wiki ÎºÎ±Î¹ Ï\84ίÏ\84λο Ï\83ελίδαÏ\82 Î³Î¹Î± Ï\84ην ÎµÎ¹Ï\83αγÏ\89γή.\nÎ\9fι Î·Î¼ÎµÏ\81ομηνίεÏ\82 Ï\84Ï\89ν Î±Î½Î±Î¸ÎµÏ\89Ï\81ήÏ\83εÏ\89ν ÎºÎ±Î¹ Ï\84α Î¿Î½Ï\8cμαÏ\84α Ï\84Ï\89ν Ï\83Ï\85νÏ\84ακÏ\84Ï\8eν Î¸Î± Î´Î¹Î±Ï\84ηÏ\81ηθοÏ\8dν.\nÎ\8cλεÏ\82 Î¿Î¹ ÎµÎ½Î­Ï\81γειεÏ\82 ÎµÎ¹Ï\83αγÏ\89γήÏ\82 Î¼ÎµÏ\84αξÏ\8d wiki καταγράφονται στο [[Special:Log/import|αρχείο καταγραφής εισαγωγών]].",
+       "importinterwiki": "Εισαγωγή από άλλο wiki",
+       "import-interwiki-text": "Î\95Ï\80ιλέξÏ\84ε Î­Î½Î± wiki ÎºÎ±Î¹ Ï\84ίÏ\84λο Ï\83ελίδαÏ\82 Î³Î¹Î± Ï\84ην ÎµÎ¹Ï\83αγÏ\89γή.\nÎ\9fι Î·Î¼ÎµÏ\81ομηνίεÏ\82 Ï\84Ï\89ν Î±Î½Î±Î¸ÎµÏ\89Ï\81ήÏ\83εÏ\89ν ÎºÎ±Î¹ Ï\84α Î¿Î½Ï\8cμαÏ\84α Ï\84Ï\89ν Ï\83Ï\85νÏ\84ακÏ\84Ï\8eν Î¸Î± Î´Î¹Î±Ï\84ηÏ\81ηθοÏ\8dν.\nÎ\8cλεÏ\82 Î¿Î¹ ÎµÎ½Î­Ï\81γειεÏ\82 ÎµÎ¹Ï\83αγÏ\89γήÏ\82 Î±Ï\80Ï\8c Î¬Î»Î»Î± wiki καταγράφονται στο [[Special:Log/import|αρχείο καταγραφής εισαγωγών]].",
        "import-interwiki-sourcewiki": "Πηγαίο wiki:",
        "import-interwiki-sourcepage": "Πηγαία σελίδα:",
        "import-interwiki-history": "Αντιγραφή όλων των εκδόσεων του ιστορικού για αυτή τη σελίδα",
        "importcantopen": "Το αρχείο εισαγωγής δεν ήταν δυνατόν να ανοιχθεί",
        "importbadinterwiki": "Εσφαλμένος διαγλωσσικός σύνδεσμος",
        "importsuccess": "Η εισαγωγή πέτυχε!",
-       "importnosources": "Δεν έχουν καθοριστεί πηγές για την εισαγωγή από άλλο Wiki και η απευθείας φόρτωση στο ιστορικό έχει απενεργοποιηθεί.",
+       "importnosources": "Δεν έχουν καθοριστεί wiki από τα οποία μπορεί να γίνει εισαγωγή και η απευθείας φόρτωση στο ιστορικό έχει απενεργοποιηθεί.",
        "importnofile": "Δεν επιφορτώθηκε κανένα αρχείο εισαγωγής.",
        "importuploaderrorsize": "Το ανέβασμα του αρχείου εισαγωγής απέτυχε. Το μέγεθος του αρχείου ξεπερνά το επιτρεπόμενο όριο.",
        "importuploaderrorpartial": "Το ανέβασμα του αρχείου εισαγωγής απέτυχε. Το αρχείο ανέβηκε μόνο εν μέρει.",
        "tooltip-pt-mycontris": "Κατάλογος των συνεισφορών σας",
        "tooltip-pt-login": "Σας ενθαρρύνουμε να συνδεθείτε&middot; ωστόσο δεν είναι υποχρεωτικό",
        "tooltip-pt-logout": "Έξοδος",
+       "tooltip-pt-createaccount": "Σας ενθαρρύνουμε να δημιουργήσετε ένα λογαριασμό και να συνδεθείτε· ωστόσο, δεν είναι υποχρεωτικό",
        "tooltip-ca-talk": "Συζήτηση για τη σελίδα περιεχομένου",
        "tooltip-ca-edit": "Μπορείτε να επεξεργαστείτε αυτή τη σελίδα. Παρακαλούμε χρησιμοποιήστε το κουμπί προεπισκόπησης πριν την αποθήκευση.",
        "tooltip-ca-addsection": "Ξεκίνημα νέας ενότητας",
        "version-parser-function-hooks": "Άγκιστρα συναρτήσεων του συντακτικού αναλυτή",
        "version-hook-name": "Όνομα άγκιστρου",
        "version-hook-subscribedby": "Υπογεγραμμένο από",
-       "version-version": "(Έκδοση $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[χωρίς όνομα]",
        "version-license": "Άδεια MediaWiki",
        "version-ext-license": "Άδεια χρήσης",
        "compare-revision-not-exists": "Η αναθεώρηση που καθορίσατε δεν υπάρχει.",
        "dberr-problems": "Λυπούμαστε! Αυτός ο ιστότοπος αντιμετωπίζει τεχνικές δυσκολίες.",
        "dberr-again": "Δοκιμάστε να περιμενένετε λίγα λεπτά και να ανανεώσετε.",
-       "dberr-info": "(Î\94εν Î¼Ï\80οÏ\81εί Î½Î± ÎµÏ\80ικοινÏ\89νήÏ\83ει Î¼Îµ Ï\84ον ÎµÎ¾Ï\85Ï\80ηÏ\81εÏ\84ηÏ\84ή Ï\84ηÏ\82 Î²Î¬Ï\83ηÏ\82 δεδομένων: $1)",
-       "dberr-info-hidden": "(Δεν είναι δυνατή η επικοινωνία με τον εξυπηρετητή της βάσης δεδομένων)",
+       "dberr-info": "(Î\94εν ÎµÎ¯Î½Î±Î¹ Î´Ï\85ναÏ\84ή Î· Ï\80Ï\81Ï\8cÏ\83βαÏ\83η Ï\83Ï\84η Î²Î¬Ï\83η δεδομένων: $1)",
+       "dberr-info-hidden": "(Δεν είναι δυνατή η πρόσβαση στη βάση δεδομένων)",
        "dberr-usegoogle": "Μπορείτε να δοκιμάσετε να ψάξετε στο Google εν τω μεταξύ.",
        "dberr-outofdate": "Σημειώστε ότι οι ενδείξεις τους περί του περιεχομένου μας ενδέχεται να μην είναι ενημερωμένες.",
        "dberr-cachederror": "Το ακόλουθο είναι ένα αντίγραφο από την μνήμη της σελίδας που ζητήσατε και ενδέχεται να μην είναι ενημερωμένο.",
index 72ea748..c1510c9 100644 (file)
        "category-empty": "<em>Esta categoría no contiene ninguna página o archivo.</em>",
        "hidden-categories": "{{PLURAL:$1|Categoría oculta|Categorías ocultas}}",
        "hidden-category-category": "Categorías ocultas",
-       "category-subcat-count": "{{PLURAL:$2|Esta categoría solo contiene la siguiente subcategoría.|{{PLURAL:$1|La siguiente subcategoría pertenece|Las siguientes $1 subcategorías pertenecen}} a esta categoría, de un total de $2.}}",
+       "category-subcat-count": "{{PLURAL:$2|Esta categoría solo contiene la siguiente subcategoría.|Esta categoría contiene {{PLURAL:$1|la siguiente subcategoría|las siguientes $1 subcategorías}}, de un total de $2.}}",
        "category-subcat-count-limited": "Esta categoría contiene {{PLURAL:$1|la siguiente subcategoría|las siguientes $1 subcategorías}}.",
        "category-article-count": "{{PLURAL:$2|Esta categoría incluye solamente la siguiente página.|{{PLURAL:$1|La siguiente página pertenece|Las siguientes $1 páginas pertenecen}} a esta categoría, de un total de $2.}}",
        "category-article-count-limited": "{{PLURAL:$1|La siguiente página pertenece|Las siguientes $1 páginas pertenecen}} a esta categoría.",
        "readonly_lag": "La base de datos se ha bloqueado automáticamente mientras sus servidores esclavos se sincronizan con el maestro.",
        "internalerror": "Error interno",
        "internalerror_info": "Error interno: $1",
+       "internalerror-fatal-exception": "Excepción grave de tipo \"$1\"",
        "filecopyerror": "No se ha podido copiar el archivo «$1» a «$2».",
        "filerenameerror": "No se ha podido renombrar el archivo «$1» a «$2».",
        "filedeleteerror": "No se ha podido borrar el archivo «$1».",
        "newarticle": "(Nuevo)",
        "newarticletext": "Has seguido un enlace a una página que aún no existe.\nPara crear esta página, escribe en el cuadro que aparece a continuación. Para más información, consulta la [$1 página de ayuda].\nSi llegaste aquí por error, vuelve a la página anterior.",
        "anontalkpagetext": "---- ''Esta es la página de discusión de un usuario anónimo que aún no ha creado una cuenta, o no la usa. Por lo tanto, tenemos que usar su dirección IP para identificarlo. Puede que varios usuarios compartan una misma dirección IP. Si eres un usuario anónimo y crees que se han dirigido a ti con comentarios improcedentes, por favor [[Special:UserLogin/signup|crea una cuenta]] o, si ya la tienes, [[Special:UserLogin|identifícate]] para evitar confusiones futuras con otros usuarios anónimos.''",
-       "noarticletext": "En este momento no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar el título de esta página]] en otras páginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros],\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.",
+       "noarticletext": "En este momento no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar el título de esta página]] en otras páginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros relacionados],\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.",
        "noarticletext-nopermission": "Actualmente no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar este título de página]] en otras páginas, o <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros relacionados]</span>, pero no tienes permiso para crear esta página.",
        "missing-revision": "La revisión n.º $1 de la página «{{FULLPAGENAME}}» no existe.\n\nEsto suele ocurrir cuando se sigue un enlace de historial obsoleto que apunta a una página ya borrada.\nPuedes encontrar detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].",
        "userpage-userdoesnotexist": "El usuario «$1» no está registrado. Por favor, asegúrate de que realmente quieres crear o editar esta página.",
        "filehist-deleteall": "borrar todo",
        "filehist-deleteone": "borrar",
        "filehist-revert": "revertir",
-       "filehist-current": "act",
+       "filehist-current": "actual",
        "filehist-datetime": "Fecha y hora",
        "filehist-thumb": "Miniatura",
-       "filehist-thumbtext": "Miniatura de la versión de $1",
+       "filehist-thumbtext": "Miniatura de la versión del $1",
        "filehist-nothumb": "Sin miniatura",
        "filehist-user": "Usuario",
        "filehist-dimensions": "Dimensiones",
        "duplicatesoffile": "{{PLURAL:$1|El siguiente archivo es un duplicado|Los siguientes $1 archivos son duplicados}} de éste ([[Special:FileDuplicateSearch/$2|más detalles]]):",
        "sharedupload": "Este archivo es de $1 y puede ser usado por otros proyectos.",
        "sharedupload-desc-there": "Este archivo es de $1 y puede ser usado por otros proyectos.\nPor favor mira la [$2 página de descripción del archivo] para información adicional.",
-       "sharedupload-desc-here": "Este archivo es de $1 y puede ser usado por otros proyectos.\nLa descripción en su [$2 página de descripción del archivo] está mostrada debajo.",
+       "sharedupload-desc-here": "Este archivo es de $1 y puede usarse en otros proyectos.\nLa descripción en su [$2 página de descripción del archivo] se muestra debajo.",
        "sharedupload-desc-edit": "Este archivo es de $1 y puede ser utilizado por otros proyectos.\nTal vez desee editar la descripción de su [$2  página de descripción del archivo] allí.",
        "sharedupload-desc-create": "Este archivo es de $1 y puede ser utilizado por otros proyectos.\nTal vez desee editar la descripción de su [$2 página de descripción del archivo] allí.",
        "filepage-nofile": "No existe ningún archivo con este nombre.",
        "thumbnail_image-missing": "El fichero parece no existir: $1",
        "thumbnail_image-failure-limit": "Ha habido muchos intentos recientes ($1 o más) para representar esta miniatura. Inténtalo de nuevo más tarde.",
        "import": "Importar páginas",
-       "importinterwiki": "Importación transwiki",
-       "import-interwiki-text": "Selecciona un wiki y un título de página para importar.\nLas fechas de revisiones y los nombres de editores se preservarán.\nTodas las importaciones transwiki se registran en el [[Special:Log/import|registro de importaciones]].",
+       "importinterwiki": "Importar desde otro wiki",
+       "import-interwiki-text": "Selecciona un wiki y un título de página para importar.\nLas fechas de revisiones y los nombres de editores se preservarán.\nTodas las importaciones de otros wikis se registran en el [[Special:Log/import|registro de importaciones]].",
        "import-interwiki-sourcewiki": "Wiki de origen:",
        "import-interwiki-sourcepage": "Página de origen:",
        "import-interwiki-history": "Copiar todas las versiones históricas para esta página",
        "importcantopen": "No se pudo importar el archivo",
        "importbadinterwiki": "Enlace interwiki anómalo",
        "importsuccess": "¡La importación se ha realizado con éxito!",
-       "importnosources": "No hay fuentes de importación transwiki y no está permitido subir directamente el historial.",
+       "importnosources": "No se definieron wikis de los cuales importar y no está permitido subir directamente el historial.",
        "importnofile": "No se subieron archivos de importación.",
        "importuploaderrorsize": "Falló la carga del archivo de importaciones.\nSu tamaño es superior al máximo permitido.",
        "importuploaderrorpartial": "Falló la subida del fichero de importación.\nSe subió sólo parcialmente.",
        "tooltip-ca-watch": "Añadir esta página a tu lista de seguimiento",
        "tooltip-ca-unwatch": "Borrar esta página de su lista de seguimiento",
        "tooltip-search": "Buscar en {{SITENAME}}",
-       "tooltip-search-go": "Ir al artículo con este nombre exacto si existe",
+       "tooltip-search-go": "Ir a la página con este nombre exacto si existe",
        "tooltip-search-fulltext": "Buscar este texto en las páginas",
        "tooltip-p-logo": "Visitar la página principal",
        "tooltip-n-mainpage": "Visitar la página principal",
        "tooltip-watchlistedit-raw-submit": "Actualizar lista de seguimiento",
        "tooltip-recreate": "Recupera una página que ha sido borrada",
        "tooltip-upload": "Empieza la subida",
-       "tooltip-rollback": "«Revertir» revierte todas las ediciones del último usuario con un solo clic.",
+       "tooltip-rollback": "«Revertir» revierte todas las ediciones del último usuario a esta página con un solo clic.",
        "tooltip-undo": "«Deshacer» revierte la edición seleccionada y abre la página de edición en el modo de previsualización.\nPermite añadir una razón al resumen de edición.",
        "tooltip-preferences-save": "Guardar las preferencias",
        "tooltip-summary": "Escribe un breve resumen",
        "yesterday-at": "Ayer a las $1",
        "bad_image_list": "El formato es el siguiente:\n\nSolo se reconocen elementos de lista (líneas que comienzan con «*»).\nEl primer enlace de cada línea debe ser un enlace al archivo que se quiere bloquear.\nTodos los demás enlaces en la misma línea se tomarán como excepciones (es decir, páginas donde sí se puede usar el archivo).",
        "metadata": "Metadatos",
-       "metadata-help": "Este archivo contiene información adicional (metadatos), probablemente añadida por la cámara digital, el escáner o el programa usado para crearlo o digitalizarlo. Si el archivo ha sido modificado desde su estado original, pueden haberse perdido algunos detalles.",
+       "metadata-help": "Este archivo contiene información adicional, probablemente añadida por la cámara digital o el escáner usado para crearlo o digitalizarlo.\nSi el archivo ha sido modificado desde su estado original, pueden haberse perdido algunos detalles.",
        "metadata-expand": "Mostrar datos detallados",
        "metadata-collapse": "Ocultar datos detallados",
        "metadata-fields": "Los campos de metadatos que se listan en este mensaje se mostrarán en la página de descripción de la imagen aún cuando la tabla de metadatos esté plegada.\nExisten otros campos que se mantendrán ocultos por defecto.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
index 4aa7182..338aab2 100644 (file)
        "readonly_lag": "Andmebaas on automaatselt lukustatud, seniks kuni ''slave''-andmebaasid on uuendatud.",
        "internalerror": "Sisemine viga",
        "internalerror_info": "Sisemine viga: $1",
+       "internalerror-fatal-exception": "Saatuslik erandtöötluse tõrge: $1",
        "filecopyerror": "Ei saanud faili \"$1\" kopeerida nimega \"$2\".",
        "filerenameerror": "Ei saanud faili \"$1\" failiks \"$2\" ümber nimetada.",
        "filedeleteerror": "Faili nimega \"$1\" ei ole võimalik kustutada.",
        "unusedimages": "Kasutamata failid",
        "wantedcategories": "Kõige oodatumad kategooriad",
        "wantedpages": "Kõige oodatumad leheküljed",
+       "wantedpages-summary": "Loend puuduvatest lehekülgedest, millele viitab kõige rohkem linke, välja arvatud leheküljed, millele viitavad ainult ümbersuunamised. Puuduvad leheküljed, millele viitavad ümbersuunamised, on loetletud leheküljel [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Tulemuste seas on vigane pealkiri: $1",
        "wantedfiles": "Kõige oodatumad failid",
        "wantedfiletext-cat": "Järgmised failid puuduvad, aga on lehekülgedel kasutuses. Siin võivad olla loetletud ka välistes hoidlates asuvad failid, hoolimata sellest, et nad tegelikult olemas on. Loendi sellised valeliikmed on <del>läbi kriipsutatud</del>. Lisaks on puuduvaid faile sisaldavad leheküljed loetletud asukohas [[:$1]].",
        "thumbnail_image-missing": "Fail näib puuduvat: $1",
        "thumbnail_image-failure-limit": "Selle pisipildi viimistlemine on hiljuti liiga palju kordi ($1 või rohkem) ebaõnnestunud. Palun proovi hiljem uuesti.",
        "import": "Lehekülgede import",
-       "importinterwiki": "Vikidevaheline import",
-       "import-interwiki-text": "Vali importimiseks viki ja lehekülje pealkiri.\nRedigeerimisajad ja kaastööliste nimed säilitatakse.\nKõik vikidevahelised toimingud on [[Special:Log/import|impordilogis]].",
+       "importinterwiki": "Importimine teisest vikist",
+       "import-interwiki-text": "Vali importimiseks viki ja lehekülje pealkiri.\nRedigeerimisajad ja kaastööliste nimed säilitatakse.\nKõik teisest vikist importimised on [[Special:Log/import|impordilogis]].",
        "import-interwiki-sourcewiki": "Lähteviki:",
        "import-interwiki-sourcepage": "Alliklehekülg:",
        "import-interwiki-history": "Kopeeri selle lehekülje kogu ajalugu",
        "importcantopen": "Ei saa imporditavat faili avada",
        "importbadinterwiki": "Vigane vikidevaheline link",
        "importsuccess": "Importimine edukalt lõpetatud!",
-       "importnosources": "Ühtegi vikidevahelist impordiallikat pole määratletud ja otsene ajaloo üleslaadimine on keelatud.",
+       "importnosources": "Määratletud pole ühtegi vikit, kust importida, ja otsene ajaloo üleslaadimine on keelatud.",
        "importnofile": "Ühtegi imporditavat faili ei laaditud üles.",
        "importuploaderrorsize": "Üleslaaditava faili import ebaõnnestus.\nFail on lubatust suurem.",
        "importuploaderrorpartial": "Imporditava faili üleslaadimine ebaõnnestus.\nFail oli vaid osaliselt üleslaaditud.",
        "revdelete-uname-unhid": "nähtavaks tehti kasutajanimi",
        "revdelete-restricted": "kehtestati piirangud administraatoritele",
        "revdelete-unrestricted": "eemaldati administraatoritelt piirangud",
+       "logentry-block-block": "$1 {{GENDER:$2|blokeeris}} kasutaja {{GENDER:$4|$3}}; aegumistähtaeg $5 $6",
+       "logentry-block-unblock": "$1 {{GENDER:$2|eemaldas}} kasutaja {{GENDER:$4|$3}} blokeeringu",
+       "logentry-block-reblock": "$1 {{GENDER:$2|muutis}} kasutaja {{GENDER:$4|$3}} blokeeringut; aegumistähtaeg $5 $6",
+       "logentry-suppress-block": "$1 {{GENDER:$2|blokeeris}} kasutaja {{GENDER:$4|$3}}; aegumistähtaeg $5 $6",
+       "logentry-suppress-reblock": "$1 {{GENDER:$2|muutis}} kasutaja {{GENDER:$4|$3}} blokeeringut; aegumistähtaeg $5 $6",
        "logentry-merge-merge": "$1 {{GENDER:$2|liitis}} lehekülje $3 leheküljega $4 (kuni redaktsioonini $5)",
        "logentry-move-move": "$1 {{GENDER:$2|teisaldas}} lehekülje $3 pealkirja $4 alla",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|teisaldas}} lehekülje $3 pealkirja $4 alla ümbersuunamist maha jätmata",
        "json-error-utf8": "Väärdunud UTF-8 märgid; need võivad olla valesti kodeeritud",
        "json-error-recursion": "Vähemalt üks rekursiivne viide kodeeritavas väärtuses",
        "json-error-inf-or-nan": "Vähemalt üks NAN- või INF-väärtus kodeeritavas väärtuses",
-       "json-error-unsupported-type": "Ette tuli tüüp, mille väärtust ei saa kodeerida"
+       "json-error-unsupported-type": "Ette tuli tüüp, mille väärtust ei saa kodeerida",
+       "headline-anchor-title": "Lingi selle alaosa juurde"
 }
index 74baa82..b98b36b 100644 (file)
        "version-parser-function-hooks": "Parser funtzio estentsioak",
        "version-hook-name": "Estentsioaren izena",
        "version-hook-subscribedby": "Hauen harpidetzarekin",
-       "version-version": "(Bertsioa $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[izenik gabe]",
        "version-license": "MediaWiki Lizentzia",
        "version-ext-license": "Lizentzia",
index 414ad12..7f5c30b 100644 (file)
        "delete-edit-reasonlist": "Eital razonis del esborrau",
        "delete-warning-toobig": "Esta páhina tieni un estorial d'eicionis grandi, mas de $1 revisionis. Esborralu puei causal pobremas enas operacionis la basi e datus de {{SITENAME}}; atua con cudiau.",
        "rollback": "Revertil eicionis",
-       "rollback_short": "Revertil",
        "rollbacklink": "revertil",
        "rollbackfailed": "Marru revirtiendu",
        "cantrollback": "Nu se puei eshazel la eición; el úrtimu colabutaol es el únicu autol d´esta páhina.",
        "iranian-calendar-m10": "10 mes Jalāli",
        "iranian-calendar-m11": "11 mes Jalāli",
        "iranian-calendar-m12": "12 mes Jalāli",
-       "unknown_extension_tag": "estensión andarria: \"$1\"",
        "version": "Velsión",
        "version-extensions": "Estensionis istalás",
        "version-specialpages": "Páhinas especialis",
        "version-other": "Otru",
        "version-hook-name": "Nombri el Hook",
        "version-hook-subscribedby": "Suscritu pol",
-       "version-version": "(Velsión $1)",
+       "version-version": "($1)",
        "version-license": "Licéncia",
        "version-software": "Software istalau",
        "version-software-product": "Proutu",
index 1a90601..0eaa7ce 100644 (file)
@@ -43,7 +43,8 @@
                        "Hosseinblue",
                        "فلورانس",
                        "Saeidpourbabak",
-                       "Arash.pt"
+                       "Arash.pt",
+                       "Signal89"
                ]
        },
        "tog-underline": "خط کشیدن زیر پیوندها:",
@@ -60,7 +61,7 @@
        "tog-watchdefault": "صفحه‌ها و پرونده‌هایی که ویرایش می‌کنم به فهرست پیگیری‌هایم افزوده شود",
        "tog-watchmoves": "صفحه‌ها و پرونده‌هایی که منتقل می‌کنم به فهرست پی‌گیری‌هایم افزوده شود",
        "tog-watchdeletion": "صفحات و پرونده‌هایی که حذف می‌کنم به فهرست پی‌گیری‌هایم افزوده شود",
-       "tog-watchrollback": "اÙ\81زÙ\88دÙ\86 ØµÙ\81حاتÛ\8c Ú©Ù\87 Ù\88اگرداÙ\86Û\8c Ú©Ø±Ø¯Ù\85 Ø¨Ø±Ø§Û\8c Ù\81Ù\87رست Ù¾Û\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8cÙ\85",
+       "tog-watchrollback": "صÙ\81حاتÛ\8c Ú©Ù\87 Ù\88اگرداÙ\86Û\8c Ù\85Û\8câ\80\8cÚ©Ù\86Ù\85 Ø¨Ù\87 Ù\81Ù\87رست Ù¾Û\8cÚ¯Û\8cرÛ\8câ\80\8cÙ\87اÛ\8cÙ\85 Ø§Ù\81زÙ\88دÙ\87 Ø´Ù\88د",
        "tog-minordefault": "همهٔ ویرایش‌ها به طور پیش‌فرض به عنوان «جزئی» علامت بخورد",
        "tog-previewontop": "پیش‌نمایش قبل از جعبهٔ ویرایش نمایش یابد",
        "tog-previewonfirst": "پیش‌نمایش هنگام اولین ویرایش نمایش یابد",
        "readonly_lag": "پایگاه داده به طور خودکار قفل شده‌است تا نسخه‌های پشتیبان با نسخهٔ اصلی هماهنگ شوند",
        "internalerror": "خطای داخلی",
        "internalerror_info": "خطای داخلی: $1",
+       "internalerror-fatal-exception": "نوع استثنای مخرب \"$1\"",
        "filecopyerror": "نشد از پروندهٔ «$1» روی «$2» نسخه‌برداری شود.",
        "filerenameerror": "نشد پروندهٔ «$1» به «$2» تغییر نام یابد.",
        "filedeleteerror": "نشد پروندهٔ «$1» حذف شود.",
        "nonunicodebrowser": "'''هشدار: مرورگر شما با استانداردهای یونیکد سازگار نیست.'''\nراه حلی به کار گرفته شده تا شما بتوانید صفحات را با امنیت ویرایش کنید: کاراکترهای غیر ASCII به صورت کدهایی در مبنای شانزده به شما نشان داده می‌شوند.",
        "editingold": "'''هشدار: شما در حال ویرایش نسخه‌ای قدیمی از این صفحه هستید.'''\nاگر ذخیره‌اش کنید، هر تغییری که پس از این نسخه انجام شده‌است از بین خواهد رفت.",
        "yourdiff": "تفاوت‌ها",
-       "copyrightwarning": "لطفاً توجه داشته باشید که فرض می‌شود کلیهٔ مشارکت‌های شما با {{SITENAME}} تحت «$2» منتشر می‌شوند (برای جزئیات بیشتر به $1 مراجعه کنید).\nاگر نمی‌خواهید نوشته‌هایتان بی‌رحمانه ویرایش شده و به دلخواه توزیع شود، اینجا نفرستیدشان.<br />\nهمچنین شما دارید به ما قول می‌دهید که خودتان این را نوشته‌اید، یا آن را از یک منبع آزاد با مالکیت عمومی یا مشابه آن برداشته‌اید.\n'''کارهای دارای حق تکثیر (copyright) را بی‌اجازه نفرستید!'''",
-       "copyrightwarning2": "لطفاً توجه داشته باشید که فرض می‌شود کلیهٔ مشارکت‌های شما با {{SITENAME}} ممکن است توسط دیگر مشارکت‌کنندگان ویرایش شوند، تغییر یابند یا حذف شوند.\nاگر نمی‌خواهید نوشته‌هایتان بی‌رحمانه ویرایش شود، اینجا نفرستیدشان.<br />\nهمچنین شما دارید به ما قول می‌دهید که خودتان این را نوشته‌اید، یا آن را از یک منبع آزاد با مالکیت عمومی یا مشابه آن برداشته‌اید (برای جزئیات بیشتر به $1 مراجعه کنید).\n'''کارهای دارای حق تکثیر (copyright) را بی‌اجازه نفرستید!'''",
+       "copyrightwarning": "لطفاً توجه داشته‌باشید که همهٔ مشارکت‌ها در {{SITENAME}} منتشرشده تحت $2 در نظر گرفته‌می‌شوند ($1 را برای جزئیات بیشتر ببینید).\nاگر نمی‌خواهید نوشته‌هایتان بی‌رحمانه ویرایش و توزیع شوند؛ بنابراین، آنها را اینجا ارائه نکنید.<br />\nشما همچنین به ما تعهد می‌کنید که خودتان این را نوشته‌اید یا آن را از یک منبع با مالکیت عمومی یا مشابه آزاد آن برداشته‌اید ($1 را برای جزئیات بیشتر ببینید).\n<strong>کارهای دارای حق تکثیر را بدون اجازه ارائه نکنید!</strong>",
+       "copyrightwarning2": "لطفاً توجه داشته‌باشید که همهٔ مشارکت‌ها در {{SITENAME}} ممکن است توسط دیگر مشارکت‌کنندگان تغییر یابند، ویرایش یا حذف شوند.\nاگر نمی‌خواهید نوشته‌هایتان بی‌رحمانه ویرایش شوند؛ بنابراین، آنها را اینجا ارائه نکنید.<br />\nشما همچنین به ما تعهد می‌کنید که خودتان این را نوشته‌اید یا آن را از یک منبع با مالکیت عمومی یا مشابه آزاد آن برداشته‌اید ($1 را برای جزئیات بیشتر ببینید).\n<strong>کارهای دارای حق تکثیر را بدون اجازه ارائه نکنید!</strong>",
        "longpageerror": "'''خطا: متنی که ارسال کرده‌اید {{PULAR:$1|یک کیلوبایت|$1 کیلوبایت}} طول دارد. این مقدار از مقدار بیشینهٔ {{PLURAL:$2|یک کیلوبایت|$2 کیلوبایت}} بیشتر است.'''\nنمی‌توان آن را ذخیره کرد.",
        "readonlywarning": "'''هشدار: پایگاه داده برای نگهداری قفل شده‌است، به همین علت هم‌اکنون نمی‌توانید ویرایش‌هایتان را ذخیره کنید.'''\nاگر می‌خواهید متن را در یک پروندهٔ متنی کپی کنید و برای آینده ذخیره‌اش کنید.\n\nمدیری که آن را قفل کرده این توضیح را ارائه کرده‌است: $1",
        "protectedpagewarning": "'''هشدار: این صفحه قفل شده‌است تا فقط کاربران با دسترسی مدیریت بتوانند ویرایشش کنند.'''\nآخرین موارد سیاهه در زیر آمده‌است:",
        "editundo": "خنثی‌سازی",
        "diff-empty": "(بدون تفاوت)",
        "diff-multi-sameuser": "({{PLURAL:$1|یک نسخهٔ میانی|$1 نسخهٔ میانی}}ِ همین کاربر نمایش داده نشده است)",
-       "diff-multi-otherusers": "({{PLURAL:$1|Û\8cÚ© Ù\86سخÙ\87Ù\94 Ù\85تÙ\88سط|$1 Ù\86سخÙ\87â\80\8cÙ\87اÛ\8c Ù\85تÙ\88سط}} ØªÙ\88سط {{PLURAL:$2|کاربر Ø¯Û\8cگرÛ\8c|$2 Ú©Ø§Ø±Ø¨Ø±Ø§Ù\86}} نشان داده نشده)",
+       "diff-multi-otherusers": "({{PLURAL:$1|Û± Ù\86سخÙ\87Ù\94 Ù\85Û\8cاÙ\86Û\8c|$1 Ù\86سخÙ\87â\80\8cÙ\94 Ù\85Û\8cاÙ\86Û\8c}} Ù\88Û\8cراÛ\8cØ´ Ø´Ø¯Ù\87 ØªÙ\88سط {{PLURAL:$2|Û± Ú©Ø§Ø±Ø¨Ø±|$2 Ú©Ø§Ø±Ø¨Ø±}} نشان داده نشده)",
        "diff-multi-manyusers": "({{PLURAL:$1|یک|$1}} ویرایش میانی توسط بیش از {{PLURAL:$2|یک|$2}} کاربر نشان داده نشده‌است)",
        "difference-missing-revision": "{{PLURAL:$2|یک ویرایش|$2 ویرایش}}  از تفاوت نسخه‌ها ($1) {{PLURAL:$2|یافت|یافت}}  نشد.\n\nمعمولاً در اثر پیوند به تاریخچهٔ به‌روز نشدهٔ صفحهٔ حذف شده است.\nمی‌توانید جزئیات بیشتر را در [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} سیاههٔ حذف] بیابید.",
        "searchresults": "نتایج جستجو",
        "action-viewmyprivateinfo": "اطلاعات خصوصی خود را ببینید",
        "action-editmyprivateinfo": "اطلاعات خصوصی خود را ویرایش کنید",
        "action-editcontentmodel": "ویرایش مدل محتوای یک صفحه",
+       "action-managechangetags": "ایجاد و حذف تگ‌ها از پایگاه داده",
        "nchanges": "$1 تغییر",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|از آخرین بازدید}}",
        "enhancedrc-history": "تاریخچه",
        "unusedimages": "پرونده‌های استفاده‌نشده",
        "wantedcategories": "رده‌های مورد نیاز",
        "wantedpages": "صفحه‌های مورد نیاز",
+       "wantedpages-summary": "فهرست صفحه‌های ناموجود با بیشترین پیوند به آنها، به استثنای صفحه‌هایی که فقط تغییرمسیر به آنها دارند. برای یک فهرست از صفحه‌های ناموجود که تغییرمسیر به آنها دارند، [[{{#special:BrokenRedirects}}]] را ببینید.",
        "wantedpages-badtitle": "عنوان نامجاز در مجموعهٔ نتایج: $1",
        "wantedfiles": "پرونده‌های مورد نیاز",
        "wantedfiletext-cat": "پرونده‌های زیر استفاده می‌شوند اما موجود نیستند. همچنین ممکن است پرونده‌های مخازن خارجی با وجود موجود بودن در اینجا فهرست شوند. هرگونه رتبه مثبت کاذب <del>خط خواهد خورد.</del> علاوه بر این، صفحاتی که پرونده‌هایی ناموجود را در خود جای داده‌اند در [[:$1]] فهرست شده‌اند.",
        "thumbnail_image-missing": "پرونده به نظر گم شده‌است: $1",
        "thumbnail_image-failure-limit": "تلاش‌های ناموفق اخیر بسیاری ($1 یا بیشتر) برای ارائهٔ این تصویر کوچک وجود داشته‌ است. لطفأ بعداً دوباره تلاش کنید.",
        "import": "درون‌ریزی صفحات",
-       "importinterwiki": "درÙ\88Ù\86â\80\8cرÛ\8cزÛ\8c ØªØ±Ø§Ù\88Û\8cÚ©Û\8c",
-       "import-interwiki-text": "یک ویکی و یک نام صفحه را انتخاب کنید تا اطلاعات از آن درون‌ریزی شود.\nتاریخ نسخه‌ها و نام ویرایش‌کنندگان ثابت خواهد ماند.\nاطلاعات مربوط به درون‌ریزی صفحات در [[Special:Log/import|سیاههٔ درون‌ریزی‌ها]] درج خواهد شد.",
+       "importinterwiki": "درÙ\88Ù\86â\80\8cرÛ\8cزÛ\8c Ø§Ø² Û\8cÚ© Ù\88Û\8cÚ©Û\8c Ø¯Û\8cگر",
+       "import-interwiki-text": "Û\8cÚ© Ù\88Û\8cÚ©Û\8c Ù\88 Û\8cÚ© Ù\86اÙ\85 ØµÙ\81Ø­Ù\87 Ø±Ø§ Ø§Ù\86تخاب Ú©Ù\86Û\8cد ØªØ§ Ø§Ø·Ù\84اعات Ø§Ø² Ø¢Ù\86 Ø¯Ø±Ù\88Ù\86â\80\8cرÛ\8cزÛ\8c Ø´Ù\88د.\nتارÛ\8cØ® Ù\86سخÙ\87â\80\8cÙ\87ا Ù\88 Ù\86اÙ\85 Ù\88Û\8cراÛ\8cØ´â\80\8cÚ©Ù\86Ù\86دگاÙ\86 Ø«Ø§Ø¨Øª Ø®Ù\88اÙ\87د Ù\85اÙ\86د.\nاطÙ\84اعات Ù\85ربÙ\88Ø· Ø¨Ù\87 Ø¯Ø±Ù\88Ù\86â\80\8cرÛ\8cزÛ\8c ØµÙ\81حات Ø§Ø² Ù\88Û\8cÚ©Û\8c Ø¯Û\8cگر Ø¯Ø± [[Special:Log/import|سÛ\8cاÙ\87Ù\87Ù\94 Ø¯Ø±Ù\88Ù\86â\80\8cرÛ\8cزÛ\8câ\80\8cÙ\87ا]] Ø¯Ø±Ø¬ Ø®Ù\88اÙ\87د Ø´Ø¯.",
        "import-interwiki-sourcewiki": "ویکی منبع:",
        "import-interwiki-sourcepage": "صفحهٔ مبدأ:",
        "import-interwiki-history": "تمام نسخه‌های تاریخچهٔ این صفحه انتقال داده شود",
        "importcantopen": "پروندهٔ درون‌ریزی صفحات باز نشد",
        "importbadinterwiki": "پیوند میان‌ویکی نادرست",
        "importsuccess": "درون‌ریزی با موفقیت انجام شد!",
-       "importnosources": "هیچ منبعی برای درون‌ریزی اطلاعات از ویکی دیگر تعریف نشده‌است.",
+       "importnosources": "هیچ منبعی برای درون‌ریزی اطلاعات از ویکی‌های دیگر تعریف نشده‌است.",
        "importnofile": "هیچ پرونده‌ای برای درون‌ریزی بارگذاری نشده‌است.",
        "importuploaderrorsize": "در بارگذاری پروندهٔ درون‌ریزی، اشکال رخ داد.\nاندازهٔ پرونده بیشتر از حداکثر اندازهٔ مجاز است.",
        "importuploaderrorpartial": "در بارگذاری پروندهٔ درون‌ریزی، اشکال رخ داد. پرونده به طور ناقص بارگذاری شده‌است.",
        "version-parser-function-hooks": "قلاب‌های عملگر تجزیه‌گر",
        "version-hook-name": "نام قلاب",
        "version-hook-subscribedby": "وارد شده توسط",
-       "version-version": "(نسخه  $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[بدون نام]",
        "version-svn-revision": "(&رلم;r$2)",
        "version-license": "اجازه‌نامهٔ مدیاویکی",
        "tags-tag": "نام برچسب",
        "tags-display-header": "نمایش در فهرست‌های تغییرات",
        "tags-description-header": "توضیح کامل معنی",
+       "tags-source-header": "منبع",
        "tags-active-header": "فعال؟",
        "tags-hitcount-header": "تغییرهای برچسب‌دار",
+       "tags-actions-header": "فعالیت‌ها",
        "tags-active-yes": "بله",
        "tags-active-no": "خیر",
+       "tags-source-extension": "تعریف‌شده بر پایه افزونه",
+       "tags-source-manual": "اعمال شده به صورت دستی توسط ربات‌ها یا کاربرها",
+       "tags-source-none": "دیگر استفاده نمی‌شود",
        "tags-edit": "ویرایش",
+       "tags-delete": "حذف",
+       "tags-activate": "فعال‌سازی",
+       "tags-deactivate": "غیرفعال‌سازی",
        "tags-hitcount": "$1 {{PLURAL:$1|تغییر|تغییر}}",
+       "tags-manage-no-permission": "شما اجازه مدیریت تغییر تگ‌ها را ندارید.",
+       "tags-create-heading": "ایجاد یک برچسب جدید",
+       "tags-create-explanation": "به طور پیش‌فرض، تگ‌های تازه ایجاد شده برای استفاده کاربران و ربات‌ها در دسترس قرار می‌گیرند.",
+       "tags-create-tag-name": "نام برچسب:",
+       "tags-create-reason": "دلیل:",
+       "tags-create-submit": "ایجاد",
+       "tags-create-no-name": "نام تگ باید مشخص شود.",
+       "tags-create-invalid-chars": "نام تگ‌ها نباید حاوی کاما (<code>,</code>) یا خط مورب (<code>/</code>) باشد.",
+       "tags-create-invalid-title-chars": "نام تگ‌ها نباید شامل حروفی شود که نمی‌توان از آن‌ها در عنوان صفحات استفاده کرد.",
+       "tags-create-already-exists": "تگ \"$1\" هم‌اکنون موجود است.",
+       "tags-create-warnings-above": "در هنگام ایجاد تگ \"$1\" با {{PLURAL:$2|هشدار|هشدارهای}} زیر پیش آمد:",
+       "tags-create-warnings-below": "آیا مایل به ادامه ایجاد تگ هستید؟",
+       "tags-delete-title": "حذف برچسب",
+       "tags-delete-explanation-initial": "شما در حال حذف تگ «$1» از پایگاه داده هستید.",
+       "tags-delete-explanation-warning": "این عمل <strong>غیر قابل بازگشت</strong> است، حتی توسط مدیران پایگاه داده. مطمئن باشید که این همان تگی است که می‌خواهید آن‌را حذف کنید.",
+       "tags-delete-reason": "دلیل:",
+       "tags-delete-submit": "این تگ را به‌صورت غیرقابل بازگشت حذف کن",
+       "tags-delete-not-found": "تگ «$1» وجود ندارد.",
+       "tags-activate-title": "فعال‌سازی برچسب",
+       "tags-activate-question": "شما در حال فعال‌سازی تگ «$1» هستید.",
+       "tags-activate-reason": "دلیل:",
+       "tags-activate-not-allowed": "فعال‌سازی تگ «$1» ممکن نیست.",
+       "tags-activate-not-found": "تگ «$1» وجود ندارد.",
+       "tags-activate-submit": "فعال‌سازی",
+       "tags-deactivate-title": "غیرفعال‌سازی برچسب",
+       "tags-deactivate-question": "شما در حال غیرفعال‌سازی تگ «$1» هستید.",
+       "tags-deactivate-reason": "دلیل:",
+       "tags-deactivate-not-allowed": "غیرفعال‌سازی تگ «$1» ممکن نیست.",
+       "tags-deactivate-submit": "غیرفعال‌سازی",
        "comparepages": "مقایسهٔ صفحات",
        "compare-page1": "صفحهٔ ۱",
        "compare-page2": "صفحهٔ ۲",
        "logentry-upload-upload": "$1 $3 را {{GENDER:$2|بارگذاری کرد}}",
        "logentry-upload-overwrite": "$1 نسخهٔ تازه‌ای از $3 را {{GENDER:$2|بارگذاری کرد}}",
        "logentry-upload-revert": "$1 {{GENDER:$2|بارگذاری کرد}} $3",
+       "log-name-managetags": "تاریخچه مدیریت تگ",
+       "logentry-managetags-create": "$1 برچسب «$4» را {{GENDER:$2|ایجاد کرد}}",
        "rightsnone": "(هیچ)",
        "revdelete-summary": "خلاصه ویرایش",
        "feedback-bugornote": "اگر آماده‌اید تا مشکلی فنی را با جزئیاتش شرح دهید لطفاً [$1 یک ایراد گزارش دهید]. در غیر این صورت می‌توانید از فرم سادهٔ زیر استفاده کنید. نظر شما به همراه نام کاربری و مرورگرتان به صفحهٔ «[$3 $2]» افزوده خواهد شد.",
        "json-error-utf8": "نویسه‌های نادرست یوتی‌اف-۸، احتمالاً نادرست کدگذاری شده است",
        "json-error-recursion": "ارجاع بازگشتی یک یا بیشتر در مقداری که کذگذاری می‌شود",
        "json-error-inf-or-nan": "مقادیر INF یا NAN یک یا بیشتر در مقداری که کدگذاری می‌شود",
-       "json-error-unsupported-type": "یک مقداری نوعی که نمی‌تواند کدگذاری شود داده شده است"
+       "json-error-unsupported-type": "یک مقداری نوعی که نمی‌تواند کدگذاری شود داده شده است",
+       "headline-anchor-title": "پیوند به این قسمت"
 }
index c9e210a..d04ae36 100644 (file)
        "readonly_lag": "Tietokanta on automaattisesti lukittu, jotta kaikki tietokantapalvelimet saisivat kaikki tuoreet muutokset",
        "internalerror": "Sisäinen virhe",
        "internalerror_info": "Sisäinen virhe: $1",
+       "internalerror-fatal-exception": "Vakava virhe, jonka tyyppi on \"$1\"",
        "filecopyerror": "Tiedostoa <b>$1</b> ei voitu kopioida tiedostoksi <b>$2</b>.",
        "filerenameerror": "Tiedostoa <b>$1</b> ei voitu nimetä uudelleen nimellä <b>$2</b>.",
        "filedeleteerror": "Tiedostoa <b>$1</b> ei voitu poistaa.",
        "thumbnail_image-missing": "Tiedosto näyttää puuttuvan: $1",
        "thumbnail_image-failure-limit": "Tätä kuvaketta on yritetty tulkita epäonnistuneesti liian monta kertaa ($1 tai enemmän). Ole hyvä ja yritä myöhemmin uudelleen.",
        "import": "Tuo sivuja",
-       "importinterwiki": "Tuo sivuja muista wikeistä (transwiki import)",
-       "import-interwiki-text": "Valitse wiki ja sivun nimi tuontia varten.\nVersioiden päivämäärät ja muokkaajien nimet säilyvät ennallaan. \nKaikki wikienväliset tuontitapahtumat kirjataan [[Special:Log/import|tuontilokiin]].",
+       "importinterwiki": "Tuo sivuja toisesta wikeistä",
+       "import-interwiki-text": "Valitse wiki ja sivun nimi tuontia varten.\nVersioiden päivämäärät ja muokkaajien nimet säilyvät ennallaan. \nKaikki tuonnit muista wikeistä kirjataan [[Special:Log/import|tuontilokiin]].",
        "import-interwiki-sourcewiki": "Lähdewiki:",
        "import-interwiki-sourcepage": "Lähdesivu:",
        "import-interwiki-history": "Kopioi sivun koko historia ja kaikki versiot",
        "importcantopen": "Tuontitiedoston avaus epäonnistui",
        "importbadinterwiki": "Kelpaamaton wikienvälinen linkki",
        "importsuccess": "Tuonti onnistui!",
-       "importnosources": "Wikienvälisiä tuontilähteitä ei ole määritelty ja suorat historiatallennukset on poistettu käytöstä.",
+       "importnosources": "Ei ole määritetty yhtään sellaista wikiä, josta voisi tuoda aineistoa. Tämän lisäksi sivuhistorioiden suorat tuontitallennukset on poistettu käytöstä.",
        "importnofile": "Mitään tuotavaa tiedostoa ei lähetetty.",
        "importuploaderrorsize": "Tuontitiedoston tallennus epäonnistui. Tiedosto on suurempi kuin sallittu yläraja.",
        "importuploaderrorpartial": "Tuontitiedoston tallennus epäonnistui. Tiedostosta oli lähetetty vain osa.",
        "tags-delete-title": "Hävitä merkkaus pysyvästi",
        "tags-delete-explanation-initial": "Olet parhaillaan poistamassa (eli tuhoamassa pysyvästi) merkkauksen \"$1\" tietokannasta.",
        "tags-delete-explanation-in-use": "Se poistuu {{PLURAL:$2|$2 sivun versiosta tai lokimerkinnästä|kaikista $2 sivuversiosta tai lokimerkinnöistä}}, joissa se tällä hetkellä on käytössä.",
-       "tags-delete-explanation-warning": "Tämä toimenpide on <strong>peruuttamaton</strong> and <strong>poistettua merkkausta ei voida palauttaa takaisin</strong>. Siihen eivät pysty edes tietokannan ylläpito. Sinun pitää olla täysin varma, että haluat poistettavaksi juuri tämän merkkauksen.",
+       "tags-delete-explanation-warning": "Tämä toimenpide on <strong>peruuttamaton</strong> ja <strong>poistettua ei merkkausta voida palauttaa takaisin</strong>. Siihen ei pysty edes tietokannan ylläpitohenkilöstö. Sinun pitää olla täysin varma, että haluat poistettavaksi juuri tämän merkkauksen.",
        "tags-delete-explanation-active": "<stron>Merkkaus \"$1\" on edelleen käytössä ja sitä käytetään myös jatkossa.</strong>. Jos haluat merkkauksen pois käytöstä, mene sinne missä merkkaus on asetettu ja ota se pois siellä.",
        "tags-delete-reason": "Syy:",
        "tags-delete-submit": "Tuhoa tämä merkkaus peruuttamattomasti ja pysyvästi",
        "json-error-utf8": "Huonosti muotoiltuja UTF-8 merkkejä; mahdollisesti koodattu virheellisesti",
        "json-error-recursion": "Joku arvossa (value) oleva rekursiivinen viite pitää vielä muuttaa koodiksi",
        "json-error-inf-or-nan": "Joku NAN- tai INF-arvo arvossa (value) pitää muuttaa koodiksi",
-       "json-error-unsupported-type": "On annettu sellainen tyypin arvo, jota ei voi muuttaa koodiksi"
+       "json-error-unsupported-type": "On annettu sellainen tyypin arvo, jota ei voi muuttaa koodiksi",
+       "headline-anchor-title": "Linkitä tähän osioon"
 }
index 7d02461..0bf854a 100644 (file)
        "version-other": "Annað",
        "version-hooks": "Krókur",
        "version-hook-name": "Krókurnavn",
-       "version-version": "(Versjón $1)",
+       "version-version": "($1)",
        "version-license": "MediaWiki Lisensur",
        "version-poweredby-credits": "Henda wiki verður rikin av '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "onnur",
index bdb0189..038ac82 100644 (file)
        "hidetoc": "masquer",
        "collapsible-collapse": "masquer",
        "collapsible-expand": "afficher",
-       "confirmable-confirm": "Êtes-vous sûr{{GENDER:$1||e|(e)}} ?",
+       "confirmable-confirm": "Êtes-vous sûr{{GENDER:$1||e}} ?",
        "confirmable-yes": "Oui",
        "confirmable-no": "Non",
        "thisisdeleted": "Désirez-vous afficher ou restaurer $1 ?",
        "readonly_lag": "La base de données a été automatiquement verrouillée pendant que les serveurs secondaires rattrapent leur retard sur le serveur principal.",
        "internalerror": "Erreur interne",
        "internalerror_info": "Erreur interne : $1",
+       "internalerror-fatal-exception": "Erreur fatale de type \"$1\"",
        "filecopyerror": "Impossible de copier le fichier « $1 » vers « $2 ».",
        "filerenameerror": "Impossible de renommer le fichier « $1 » en « $2 ».",
        "filedeleteerror": "Impossible de supprimer le fichier « $1 ».",
        "virus-badscanner": "Mauvaise configuration : scanneur de virus inconnu : ''$1''",
        "virus-scanfailed": "Échec de la recherche (code $1)",
        "virus-unknownscanner": "antivirus inconnu :",
-       "logouttext": "'''Vous êtes à présent déconnecté{{GENDER:||e|(e)}}.'''\n\nNotez que certaines pages peuvent être encore affichées comme si vous étiez toujours connecté, jusqu’à ce que vous effaciez le cache de votre navigateur.",
+       "logouttext": "'''Vous êtes à présent déconnecté{{GENDER:||e}}.'''\n\nNotez que certaines pages peuvent être encore affichées comme si vous étiez toujours connecté, jusqu’à ce que vous effaciez le cache de votre navigateur.",
        "welcomeuser": "Bienvenue, $1&nbsp;!",
        "welcomecreation-msg": "Votre compte a été créé.\nN'oubliez pas de modifier [[Special:Preferences|vos préférences pour {{SITENAME}}]].",
        "yourname": "Nom d'utilisateur :",
        "userlogin-signwithsecure": "Utiliser une connexion sécurisée",
        "yourdomainname": "Votre domaine :",
        "password-change-forbidden": "Vous ne pouvez pas modifier les mots de passe sur ce wiki.",
-       "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.",
+       "externaldberror": "Une erreur s'est produite avec la base de données d'authentification externe, ou bien vous ne pouvez pas mettre à jour votre compte externe.",
        "login": "Connexion",
        "nav-login-createaccount": "Créer un compte ou se connecter",
        "userlogin": "Créer un compte ou se connecter",
        "loginerror": "Erreur de connexion",
        "createacct-error": "Erreur lors de la création du compte",
        "createaccounterror": "Impossible de créer le compte : $1",
-       "nocookiesnew": "Le compte utilisateur a été créé, mais vous n'êtes pas connecté{{GENDER:||e|(e)}}. {{SITENAME}} utilise des cookies pour la connexion mais vous les avez désactivés. Veuillez les activer et vous reconnecter avec le même nom et le même mot de passe.",
+       "nocookiesnew": "Le compte utilisateur a été créé, mais vous n'êtes pas connecté{{GENDER:||e}}. {{SITENAME}} utilise des cookies pour la connexion mais vous les avez désactivés. Veuillez les activer et vous reconnecter avec le même nom et le même mot de passe.",
        "nocookieslogin": "{{SITENAME}} utilise des cookies pour la connexion mais vous les avez désactivés. Veuillez les activer et vous reconnecter.",
        "nocookiesfornew": "Le compte utilisateur n'a pas été créé, car nous n'avons pas pu identifier son origine.\nVérifiez que vous avez activé les cookies, rechargez la page et réessayez.",
        "noname": "Vous n'avez pas saisi un nom d'utilisateur valide.",
        "loginsuccesstitle": "Connexion réussie",
-       "loginsuccess": "Vous êtes maintenant connecté{{GENDER:$1||e|(e)}} à {{SITENAME}} en tant que « $1 ».",
+       "loginsuccess": "Vous êtes maintenant connecté{{GENDER:$1||e}} à {{SITENAME}} en tant que « $1 ».",
        "nosuchuser": "L'utilisateur « $1 » n'existe pas.\nLes noms d'utilisateurs sont sensibles à la casse.\nVérifiez l'orthographe, ou [[Special:UserLogin/signup|créez un nouveau compte]].",
        "nosuchusershort": "Il n'y a pas de contributeur avec le nom « $1 ». Veuillez vérifier l'orthographe.",
        "nouserspecified": "Vous devez saisir un nom d'utilisateur.",
        "resetpass-submit-cancel": "Annuler",
        "resetpass-wrong-oldpass": "Mot de passe actuel ou temporaire invalide.\nVous avez peut-être déjà changé votre mot de passe ou demandé un nouveau mot de passe temporaire.",
        "resetpass-recycled": "Veuillez réinitialiser votre mot de passe à quelque chose d’autre que l’actuel.",
-       "resetpass-temp-emailed": "Vous êtes connecté{{GENDER:||e|(e)}} avec un code temporaire fourni par courriel.\nPour terminer la connexion, vous devez fournir un nouveau mot de passe ici :",
+       "resetpass-temp-emailed": "Vous êtes connecté{{GENDER:||e}} avec un code temporaire fourni par courriel.\nPour terminer la connexion, vous devez fournir un nouveau mot de passe ici :",
        "resetpass-temp-password": "Mot de passe temporaire :",
        "resetpass-abort-generic": "La modification du mot de passe a été annulée par une extension.",
        "resetpass-expired": "Votre mot de passe a expiré. Veuillez en fournir un nouveau pour vous connecter.",
        "passwordreset-capture-help": "Si vous cochez cette case, le courriel (avec le mot de passe temporaire) vous sera affiché en même temps qu'il sera envoyé à l'utilisateur.",
        "passwordreset-email": "Adresse de courriel :",
        "passwordreset-emailtitle": "Détails du compte sur {{SITENAME}}",
-       "passwordreset-emailtext-ip": "Quelqu'un (probablement vous, depuis l'adresse IP $1) a demandé un réinitialisation de votre mot de passe pour {{SITENAME}} ($4). {{PLURAL:$3|Le compte utilisateur suivant est associé|Les comptes utilisateurs suivants sont associés}} à cette adresse de courriel :\n\n$2\n\n{{PLURAL:$3|Ce mot de passe temporaire expirera|Ces mots de passe temporaires expireront}} dans {{PLURAL:$5|un jour|$5 jours}}. Vous devez maintenant vous connecter et choisir un nouveau mot de passe. Si cette demande ne provient pas de vous, ou que vous vous êtes souvenu{{GENDER:||e|(e)}} de votre mot de passe initial, et ne souhaitez plus le modifier, vous pouvez ignorer ce message et continuer à utiliser votre ancien mot de passe.",
-       "passwordreset-emailtext-user": "L'utilisateur $1 sur {{SITENAME}} a demandé un réinitialisation de votre mot de passe pour {{SITENAME}} ($4). {{PLURAL:$3|Le compte utilisateur suivant est associé|Les comptes utilisateurs suivants sont associés}} à cette adresse de courriel :\n\n$2\n\n{{PLURAL:$3|Ce mot de passe temporaire expirera|Ces mots de passe temporaires expireront}} dans {{PLURAL:$5|un jour|$5 jours}}. Vous devez maintenant vous connecter et choisir un nouveau mot de passe. Si cette demande ne provient pas de vous, ou que vous vous êtes souvenu{{GENDER:||e|(e)}} de votre mot de passe initial, et ne souhaitez plus le modifier, vous pouvez ignorer ce message et continuer à utiliser votre ancien mot de passe.",
+       "passwordreset-emailtext-ip": "Quelqu'un (probablement vous, depuis l'adresse IP $1) a demandé un réinitialisation de votre mot de passe pour {{SITENAME}} ($4). {{PLURAL:$3|Le compte utilisateur suivant est associé|Les comptes utilisateurs suivants sont associés}} à cette adresse de courriel :\n\n$2\n\n{{PLURAL:$3|Ce mot de passe temporaire expirera|Ces mots de passe temporaires expireront}} dans {{PLURAL:$5|un jour|$5 jours}}. Vous devez maintenant vous connecter et choisir un nouveau mot de passe. Si cette demande ne provient pas de vous, ou que vous avez retrouvé votre mot de passe initial, et ne souhaitez plus le modifier, vous pouvez ignorer ce message et continuer à utiliser votre ancien mot de passe.",
+       "passwordreset-emailtext-user": "L'utilisateur $1 sur {{SITENAME}} a demandé un réinitialisation de votre mot de passe pour {{SITENAME}} ($4). {{PLURAL:$3|Le compte utilisateur suivant est associé|Les comptes utilisateurs suivants sont associés}} à cette adresse de courriel :\n\n$2\n\n{{PLURAL:$3|Ce mot de passe temporaire expirera|Ces mots de passe temporaires expireront}} dans {{PLURAL:$5|un jour|$5 jours}}. Vous devez maintenant vous connecter et choisir un nouveau mot de passe. Si cette demande ne provient pas de vous, ou que vous avez retrouvé votre mot de passe initial, et ne souhaitez plus le modifier, vous pouvez ignorer ce message et continuer à utiliser votre ancien mot de passe.",
        "passwordreset-emailelement": "Nom d'utilisateur : $1\nMot de passe temporaire : $2",
        "passwordreset-emailsent": "Un courriel de réinitialisation de mot de passe a été envoyé.",
        "passwordreset-emailsent-capture": "Un courriel de réinitialisation de mot de passe a été envoyé, qui est affiché ci-dessous.",
        "showdiff": "Voir les modifications",
        "blankarticle": "<strong>Attention :</strong> La page que vous créez est vide.\nSi vous cliquez de nouveau sur « {{int:savearticle}} », la page sera créée sans aucun contenu.",
        "anoneditwarning": "<strong>Attention :</strong> Vous n’êtes pas connecté. Votre adresse IP sera visible de tout le monde si vous faites des modifications. Si vous <strong>[$1 vous connectez]</strong> ou <strong>[$2 créez un compte]</strong>, vos modifications seront attribuées à votre nom d’utilisateur, entre autres avantages.",
-       "anonpreviewwarning": "''Vous n’êtes pas identifié(e). Sauvegarder enregistrera votre adresse IP dans l’historique des modifications de la page.''",
+       "anonpreviewwarning": "''Vous n’êtes pas identifié{{GENDER:||e}}. Sauvegarder enregistrera votre adresse IP dans l’historique des modifications de la page.''",
        "missingsummary": "'''Rappel :''' vous n'avez pas encore fourni le résumé de votre modification.\nSi vous cliquez de nouveau sur le bouton « {{int:savearticle}} », la publication sera faite sans nouvel avertissement.",
        "selfredirect": "<strong>Attention :</strong> Vous êtes en train de rediriger la page vers elle-même.\nVous pouvez avoir spécifié la mauvaise cible pour la redirection, ou vous modifiez peut-être la mauvaise page.\nSi vous cliquez de nouveau sur « {{int:savearticle}} », la redirection sera créée tout de même.",
        "missingcommenttext": "Veuillez entrer un commentaire ci-dessous.",
        "accmailtitle": "Mot de passe envoyé.",
        "accmailtext": "Un mot de passe généré aléatoirement pour [[User talk:$1|$1]] a été envoyé à $2.\nIl peut être modifié sur la page ''[[Special:ChangePassword|Changement de mot de passe]]'' après connexion.",
        "newarticle": "(Nouveau)",
-       "newarticletext": "Vous avez suivi un lien vers une page qui n’existe pas encore. \nAfin de créer cette page, entrez votre texte dans la boîte ci-après (vous pouvez consulter [$1 la page d’aide] pour plus d’informations). \nSi vous êtes arrivé{{GENDER:||e|(e)}} ici par erreur, cliquez sur le bouton '''retour''' de votre navigateur.",
+       "newarticletext": "Vous avez suivi un lien vers une page qui n’existe pas encore. \nAfin de créer cette page, entrez votre texte dans la boîte ci-après (vous pouvez consulter [$1 la page d’aide] pour plus d’informations). \nSi vous êtes arrivé{{GENDER:||e}} ici par erreur, cliquez sur le bouton '''retour''' de votre navigateur.",
        "anontalkpagetext": "---- ''Vous êtes sur la page de discussion d'un utilisateur anonyme qui n'a pas encore créé de compte ou qui n'en utilise pas. Pour cette raison, nous devons utiliser son adresse IP pour l'identifier. Une adresse IP peut être partagée par plusieurs utilisateurs. Si vous êtes un{{GENDER:||e|}} utilisat{{GENDER:|eur|rice|eur}} anonyme et si vous constatez que des commentaires qui ne vous concernent pas vous ont été adressés, vous pouvez [[Special:UserLogin/signup|créer un compte]] ou [[Special:UserLogin|vous connecter]] afin d'éviter toute confusion future avec d'autres contributeurs anonymes.''",
        "noarticletext": "Il n’y a pour l’instant aucun texte sur cette page.\nVous pouvez [[Special:Search/{{PAGENAME}}|lancer une recherche sur ce titre]] dans les autres pages,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rechercher dans les opérations liées]\nou [{{fullurl:{{FULLPAGENAME}}|action=edit}} créer cette page]</span>.",
        "noarticletext-nopermission": "Il n'y a pour l'instant aucun texte sur cette page.\nVous pouvez [[Special:Search/{{PAGENAME}}|faire une recherche sur ce titre]] dans les autres pages,\nou <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rechercher dans les journaux associés]</span>.",
        "sectioneditnotsupported-text": "La modification d'une section n'est pas prise en charge pour cette page.",
        "permissionserrors": "Erreur de permissions",
        "permissionserrorstext": "Vous n'avez pas la permission d'effectuer l'opération demandée pour {{PLURAL:$1|la raison suivante|les raisons suivantes}} :",
-       "permissionserrorstext-withaction": "Vous n'êtes pas autorisé{{GENDER:||e|(e)}} à $2, pour {{PLURAL:$1|la raison suivante|les raisons suivantes}} :",
+       "permissionserrorstext-withaction": "Vous ne pouvez pas $2, pour {{PLURAL:$1|la raison suivante|les raisons suivantes}} :",
        "recreate-moveddeleted-warn": "'''Attention : vous êtes en train de recréer une page qui a été précédemment supprimée.'''\n\nAssurez-vous qu'il est pertinent de poursuivre les modifications sur cette page. Le journal des suppressions et des déplacements est affiché ci-dessous :",
        "moveddeleted-notice": "Cette page a été supprimée. Le journal des suppressions et des déplacements est affiché ci-dessous pour référence.",
        "log-fulllog": "Voir le journal complet",
        "content-failed-to-parse": "Échec de l’analyse syntaxique du contenu de $2 pour le modèle $1: $3",
        "invalid-content-data": "Données du contenu non valides",
        "content-not-allowed-here": "Le contenu « $1 » n’est pas autorisé sur la page [[$2]]",
-       "editwarning-warning": "Quitter cette page vous fera perdre toutes les modifications que vous avez faites.\nSi vous êtes connecté{{GENDER:||e|(e)}}, vous pouvez désactiver cet avertissement dans la section « {{int:prefs-editing}} » de vos préférences.",
+       "editwarning-warning": "Quitter cette page vous fera perdre toutes les modifications que vous avez faites.\nSi vous êtes connecté{{GENDER:||e}}, vous pouvez désactiver cet avertissement dans la section « {{int:prefs-editing}} » de vos préférences.",
        "editpage-notsupportedcontentformat-title": "Format de contenu non pris en charge",
        "editpage-notsupportedcontentformat-text": "Le format de contenu $1 n'est pas pris en charge par le modèle de contenu $2 .",
        "content-model-wikitext": "wikitexte",
        "listusersfrom": "Afficher les utilisateurs à partir de :",
        "listusers-submit": "Lister",
        "listusers-noresult": "Aucun utilisateur trouvé. Vérifiez aussi les variantes de casse.",
-       "listusers-blocked": "(bloqué{{GENDER:$1||e|(e)}})",
+       "listusers-blocked": "(bloqué{{GENDER:$1||e}})",
        "activeusers": "Liste des utilisateurs actifs",
        "activeusers-intro": "Ceci est une liste des utilisateurs qui ont exercé une quelconque activité au cours {{PLURAL:$1|de la dernière journée|des $1 derniers jours}}.",
        "activeusers-count": "$1 {{PLURAL:$1|action|actions}} lors {{PLURAL:$3|du dernier jour|des $3 derniers jours}}",
        "protect_expiry_old": "La date d'expiration est déjà passée.",
        "protect-unchain-permissions": "Déverrouiller davantage d’options de protection",
        "protect-text": "Vous pouvez consulter et modifier le niveau de protection de la page '''$1'''.",
-       "protect-locked-blocked": "Vous ne pouvez pas modifier les niveaux de protection tant que vous êtes bloqué{{GENDER:||e|(e)}}.\nVoici les réglages actuels de la page '''$1''' :",
+       "protect-locked-blocked": "Vous ne pouvez pas modifier les niveaux de protection durant votre blocage.\nVoici les réglages actuels de la page '''$1''' :",
        "protect-locked-dblock": "Le niveau de protection ne peut pas être modifié car la base de données est verrouillée.\nVoici les réglages actuels de la page '''$1''' :",
        "protect-locked-access": "Vous n'avez pas les droits nécessaires pour modifier les niveaux de protection de pages.\nVoici les réglages actuels de la page '''$1''' :",
        "protect-cascadeon": "Cette page est protégée car incluse dans {{PLURAL:$1|la page suivante, qui a été protégée|les pages suivantes, qui ont été protégées}} avec l'option « protection en cascade » activée. Vous pouvez changer le niveau de protection de cette page sans que cela n'affecte la protection en cascade.",
        "undelete-error": "Page d’erreur d’annulation",
        "undelete-error-short": "Erreur lors de la restauration du fichier : $1",
        "undelete-error-long": "Des erreurs ont été rencontrées lors de la restauration du fichier :\n\n$1",
-       "undelete-show-file-confirm": "Êtes-vous sûr{{GENDER:||e|(e)}} de vouloir visionner une version supprimée du fichier « <nowiki>$1</nowiki> » datant du $2 à $3 ?",
+       "undelete-show-file-confirm": "Êtes-vous sûr{{GENDER:||e}} de vouloir consulter une version supprimée du fichier « <nowiki>$1</nowiki> » datant du $2 à $3 ?",
        "undelete-show-file-submit": "Oui",
        "undelete-revision-row": "$1 $2 ($3) $4 — $5 $6 $7 $8 $9",
        "namespace": "Espace de noms :",
        "ipb-confirm": "Confirmer le blocage",
        "badipaddress": "Adresse IP incorrecte",
        "blockipsuccesssub": "Blocage réussi",
-       "blockipsuccesstext": "[[Special:Contributions/$1|$1]] a été bloqué{{GENDER:$1||e|}}.<br />\nConsultez la [[Special:BlockList|liste des blocages]] pour revoir les blocages.",
+       "blockipsuccesstext": "[[Special:Contributions/$1|$1]] a été bloqué{{GENDER:$1||e}}.<br />\nConsultez la [[Special:BlockList|liste des blocages]] pour revoir les blocages.",
        "ipb-blockingself": "Vous êtes sur le point de bloquer votre propre compte ! Êtes-vous certain{{GENDER:||e}} de vouloir faire cela ?",
-       "ipb-confirmhideuser": "Vous êtes sur le point de bloquer un utilisateur avec « cacher l'utilisateur » activé. Cela supprime le nom de l'utilisateur dans toutes les listes et les entrées du journal. Êtes-vous sûr{{GENDER:||e|(e)}} de vouloir le faire ?",
+       "ipb-confirmhideuser": "Vous êtes sur le point de bloquer un utilisateur avec « cacher l'utilisateur » activé. Cela supprime le nom de l'utilisateur dans toutes les listes et les entrées du journal. Êtes-vous sûr{{GENDER:||e}} de vouloir le faire ?",
        "ipb-confirmaction": "Si vous êtes sûr{{GENDER:||e|(e)}} de vraiment vouloir le faire, veuillez cocher le champ « {{int:ipb-confirm}} » en bas.",
        "ipb-edit-dropdown": "Modifier les motifs de blocage par défaut",
        "ipb-unblock-addr": "Débloquer $1",
        "sorbs_create_account_reason": "Votre adresse IP est listée comme mandataire ouvert dans le DNSBL utilisé par {{SITENAME}}.\nVous ne pouvez pas créer un compte.",
        "xffblockreason": "Une adresse IP dans l'en-tête X-Forwarded-For, soit la vôtre ou celle d'un serveur proxy que vous utilisez, a été bloquée. La raison du blocage initial est : $1",
        "cant-see-hidden-user": "L’utilisateur que vous tentez de bloquer a déjà été bloqué et masqué. N’ayant pas le droit ''hideuser'', vous ne pouvez pas voir ou modifier le blocage de cet utilisateur.",
-       "ipbblocked": "Vous ne pouvez pas bloquer ou débloquer d'autres utilisateurs, parce que vous êtes vous-même bloqué{{GENDER:||e|}}.",
+       "ipbblocked": "Vous ne pouvez pas bloquer ou débloquer d'autres utilisateurs, parce que vous êtes vous-même bloqué{{GENDER:||e}}.",
        "ipbnounblockself": "Vous n'êtes pas autorisé{{GENDER:||e}} à vous débloquer vous-même",
        "lockdb": "Verrouiller la base de données",
        "unlockdb": "Déverrouiller la base de données",
        "movearticle": "Renommer la page :",
        "moveuserpage-warning": "'''Attention :''' Vous êtes sur le point de renommer une page d’utilisateur. Veuillez noter que seule la page sera renommée et que l’utilisateur '''ne''' sera '''pas''' renommé.",
        "movecategorypage-warning": "<strong>Avertissement :</strong> Vous êtes sur le point de renommer une page de catégorie. Veuillez noter que seule la page sera renommée et que toutes les pages dans l'ancienne catégorie ne seront <em>pas</em> transférées dans la nouvelle.",
-       "movenologintext": "Pour pouvoir renommer une page, vous devez être [[Special:UserLogin|identifié{{GENDER:||e|(e)}}]] avec un compte utilisateur enregistré et d'ancienneté suffisante.",
+       "movenologintext": "Pour pouvoir renommer une page, vous devez être [[Special:UserLogin|identifié{{GENDER:||e}}]] avec un compte utilisateur enregistré et d'ancienneté suffisante.",
        "movenotallowed": "Vous n'avez pas la permission de renommer les pages.",
        "movenotallowedfile": "Vous n'avez pas la permission de renommer les fichiers.",
        "cant-move-user-page": "Vous n’avez pas la permission de renommer les pages principales d’utilisateurs.",
        "thumbnail_image-missing": "Le fichier suivant est introuvable : $1",
        "thumbnail_image-failure-limit": "Il y a eu récemment trop de tentatives échouées ($1 ou plus) pour restituer cette vignette. Veuillez réessayer ultérieurement.",
        "import": "Importer des pages",
-       "importinterwiki": "Importation inter-wiki",
-       "import-interwiki-text": "Sélectionnez un wiki et un titre de page à importer.\nLes dates des versions et les noms des contributeurs seront préservés.\nToutes les actions d'importation inter-wiki sont consignées dans l'[[Special:Log/import|historique des importations]].",
+       "importinterwiki": "Importer à partir d'un autre wiki",
+       "import-interwiki-text": "Sélectionnez un wiki et un titre de page à importer.\nLes dates des versions et les noms des contributeurs seront préservés.\nToutes les actions d'importation à partir d'autres wikis sont consignées dans l'[[Special:Log/import|historique des importations]].",
        "import-interwiki-sourcewiki": "Wiki source :",
        "import-interwiki-sourcepage": "Page source :",
        "import-interwiki-history": "Copier toutes les versions de l’historique de cette page",
        "importcantopen": "Impossible d'ouvrir le fichier à importer",
        "importbadinterwiki": "Mauvais lien inter-wiki",
        "importsuccess": "L'importation a réussi !",
-       "importnosources": "Aucune source d'importation inter-wiki n'a été définie et l'import direct d'historiques est désactivé.",
+       "importnosources": "Aucun wiki source n'a été défini et l'import direct d'historiques est désactivé.",
        "importnofile": "Aucun fichier d'importation n'a été envoyé.",
        "importuploaderrorsize": "L'import du fichier a échoué.\nSa taille est supérieure au maximum autorisé pour l'import de fichier.",
        "importuploaderrorpartial": "L'import du fichier échoué.\nSon contenu n'a été transféré que partiellement.",
        "tooltip-pt-preferences": "Vos préférences",
        "tooltip-pt-watchlist": "La liste des pages dont vous suivez les modifications",
        "tooltip-pt-mycontris": "La liste de vos contributions",
-       "tooltip-pt-login": "Vous êtes encouragé{{GENDER:||e|(e)}} à vous identifier ; ce n'est cependant pas obligatoire.",
+       "tooltip-pt-login": "Il est recommandé de vous identifier ; ce n'est cependant pas obligatoire.",
        "tooltip-pt-logout": "Se déconnecter",
        "tooltip-pt-createaccount": "Il vous est conseillé de créer un compte et de vous connecter ; cependant, ce n’est pas obligatoire",
        "tooltip-ca-talk": "Discussion au sujet de cette page de contenu",
        "version-parser-function-hooks": "Fonctions étendues de l'analyseur syntaxique",
        "version-hook-name": "Nom du greffon",
        "version-hook-subscribedby": "Abonnés :",
-       "version-version": "(version $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[pas de nom]",
        "version-license": "Licence MediaWiki",
        "version-ext-license": "Licence",
index 7adc6a3..a132b1a 100644 (file)
        "delete-toobig": "Ceta pâge at un grôs historico de changements avouéc més de $1 vèrsion{{PLURAL:$1||s}}.\nLa suprèssion de pâges d’ense est étâye rètrenta por prèvegnir des pèrturbacions emprèvues de {{SITENAME}}.",
        "delete-warning-toobig": "Ceta pâge at un grôs historico de changements avouéc més de $1 vèrsion{{PLURAL:$1||s}}.\nLa suprimar pôt troblar la mârche de la bâsa de balyês de {{SITENAME}} ;\na fâre avouéc prudence.",
        "rollback": "Rèvocar los changements",
-       "rollback_short": "Rèvocar",
        "rollbacklink": "rèvocar",
        "rollbacklinkcount": "rèvocar $1 changement{{PLURAL:$1||s}}",
        "rollbacklinkcount-morethan": "rèvocar més de $1 changement{{PLURAL:$1||s}}",
        "import-logentry-interwiki": "at importâ $1 per entèrvouiqui",
        "import-logentry-interwiki-detail": "$1 vèrsion{{PLURAL:$1||s}} dês $2",
        "javascripttest": "Èprôva de JavaScript",
-       "javascripttest-title": "Èprôves de $1 en cors",
        "javascripttest-qunit-intro": "Vêde la [$1 documentacion de les èprôves] dessus mediawiki.org.",
-       "javascripttest-qunit-heading": "Suita d’èprôva QUnit de JavaScript dessus MediaWiki",
        "tooltip-pt-userpage": "Voutra pâge usanciér",
        "tooltip-pt-anonuserpage": "La pâge usanciér de l’adrèce IP avouéc laquinta vos contribuâd",
        "tooltip-pt-mytalk": "Voutra pâge de discussion",
        "hebrew-calendar-m11-gen": "d’av",
        "hebrew-calendar-m12-gen": "d’èloul",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|discutar]])",
-       "unknown_extension_tag": "Balisa d’èxtension « $1 » encognua",
        "duplicate-defaultsort": "'''Atencion :''' la cllâf de tri per dèfôt « $2 » ècllafe cela « $1 ».",
        "version": "Vèrsion",
        "version-extensions": "Èxtensions enstalâs",
        "version-parser-function-hooks": "Grèfons de les fonccions du parsor",
        "version-hook-name": "Nom du grèfon",
        "version-hook-subscribedby": "Soscrit per",
-       "version-version": "(Vèrsion $1)",
+       "version-version": "($1)",
        "version-svn-revision": "(v$2)",
        "version-license": "Licence",
        "version-poweredby-credits": "Ceti vouiqui fonccione grâce a '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "specialpages-group-wiki": "Balyês du vouiqui et outils",
        "specialpages-group-redirects": "Pâges spèciâles redirigiês",
        "specialpages-group-spam": "Outils anti-spame",
+       "specialpages-group-developer": "Outils u dèvelopor",
        "blankpage": "Pâge voueda",
        "intentionallyblankpage": "Ceta pâge est lèssiê èxprès voueda.",
        "external_image_whitelist": "  #Lèssiéd ceta legne justo d’ense.<pre>\n#Endicâd los bocons d’èxprèssions racionèles (solament la partia endicâ entre-mié los //) ce-desot.\n#Corrèspondront avouéc los lims hipèrtèxtos de les émâges (ben liyês) de defôr.\n#Celos que corrèspondont sè montreront coment des émâges, ôtrament solament un lim de vers l’émâge serat montrâ.\n#Les legnes que començont per un # seront considèrâs coment des comentèros.\n#Ceta lista est pas sensibla a la câssa.\n\n#Betâd tôs los bocons d’èxprèssions racionèles (*RegEx*) en-dessus de ceta legne. Lèssiéd ceta legne justo d’ense.</pre>",
index 014f1e6..84d2c23 100644 (file)
        "thu": "Tö",
        "fri": "Fr",
        "sat": "Se",
-       "january": "Januar",
-       "february": "Feebruar",
+       "january": "Janewoore",
+       "february": "Febrewoore",
        "march": "Marts",
        "april": "April",
-       "may_long": "Moi",
-       "june": "Juuni",
+       "may_long": "Mei",
+       "june": "Jüüne",
        "july": "Juuli",
        "august": "August",
-       "september": "Septämber",
+       "september": "September",
        "october": "Oktoober",
-       "november": "Nomber",
-       "december": "Detsämber",
-       "january-gen": "Januar",
-       "february-gen": "Feebruar",
+       "november": "Nofember",
+       "december": "Detsember",
+       "january-gen": "Janewoore",
+       "february-gen": "Febrewoore",
        "march-gen": "Marts",
        "april-gen": "April",
-       "may-gen": "Moi",
+       "may-gen": "Mei",
        "june-gen": "Juuni",
        "july-gen": "Juuli",
        "august-gen": "August",
-       "september-gen": "Septämber",
+       "september-gen": "September",
        "october-gen": "Oktoober",
        "november-gen": "Nowämber",
-       "december-gen": "Detsämber",
+       "december-gen": "Detsember",
        "jan": "Jan.",
        "feb": "Feb.",
        "mar": "Mar.",
        "apr": "Apr.",
-       "may": "Moi",
+       "may": "Mei",
        "jun": "Jun.",
        "jul": "Jul.",
        "aug": "Aug.",
        "sep": "Sep.",
        "oct": "Okt.",
-       "nov": "Now.",
+       "nov": "Nof.",
        "dec": "Det.",
        "january-date": "$1. Janewoore",
        "february-date": "$1. Febrewoore",
        "accmailtitle": "Paaswurd as ferschüürd wurden.",
        "accmailtext": "En tufelag iinracht paaswurd för [[User talk:$1|$1]] as tu $2 ferschüürd wurden. Det koon üüb det spezial-sidj ''[[Special:ChangePassword|Paaswurd anre]]'' feranert wurd, wan dü uunmeldet beest.",
        "newarticle": "(Nei)",
-       "newarticletext": "Dü beest en ferwisang tu en sidj fulagt, diar't noch ei jaft.\nAm det sidj iinturachten, skriiw dan tekst uun det fial för't bewerkin iin.\nÜüb det [$1 halepsidj] fanjst dü halep.\nWan dü ütj fersen heer beest, trak ianfach üüb di '''turag'''-knoop faan dan browser.",
+       "newarticletext": "Dü beest en ferwisang tu en sidj fulagt, diar't noch ei jaft.\nAm det sidj iinturachten, skriiw dan tekst uun det fial för't bewerkin iin.\nÜüb det [$1 halepsidj] fanjst dü halep.\nWan dü ütj fersen heer beest, trak ianfach üüb di <strong>turag</strong>-knoop faan dan browser.",
        "anontalkpagetext": "----''Üüb detheer sidj könst dü en ünbekäänden brüker en nooracht du. Det lääpt auer sin IP adres. IP adresen kön faan flook brükern brükt wurd. Wan dü mä detheer nooracht niks began könst, do as det ferlicht för hoker ööders mend weesen. Dü säärst niks widjer onernem. Wan dü en aanj [[Special:UserLogin/signup|brükerkonto iinrachst]] of di [[Special:UserLogin|uunmeldest]], komt sowat ei weder föör.",
        "noarticletext": "Üüb detdiar sidj stäänt noch niks.\nDü könst didiar tiitel üüb ööder sidjen [[Special:Search/{{PAGENAME}}|schük]],\n<span class=\"plainlinks\">uun [{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} logbuken schük] of detdiar sidj [{{fullurl:{{FULLPAGENAME}}|action=edit}} bewerke]</span>.",
        "noarticletext-nopermission": "Üüb detdiar sidj stäänt noch niks, oober dü mutst diar uk niks iinskriiw.\nDü könst diar üüb ööder sidjen efter [[Special:Search/{{PAGENAME}}|schük]] of a <span class=\"plainlinks\">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAME}}}} logbuken uunluke].</span>",
        "group-sysop": "Administratooren",
        "group-bureaucrat": "Bürokraaten",
        "group-suppress": "Oversighter",
-       "group-all": "(Aaltumaal)",
+       "group-all": "(Aal a)",
        "group-user-member": "{{GENDER:$1|Brüker}}",
        "group-autoconfirmed-member": "{{GENDER:$1|Registriaret brüker}}",
        "group-bot-member": "{{GENDER:$1|Bot}}",
        "javascripttest-qunit-intro": "Luke efter bi [$1 test dokumentatjuun] üüb mediawiki.org",
        "tooltip-pt-userpage": "Din brükersidj",
        "tooltip-pt-anonuserpage": "Brükersidj faan det IP-adres, faan huar ütj dü werkest",
-       "tooltip-pt-mytalk": "Din diskusjuunssidj",
+       "tooltip-pt-mytalk": "Din diskuschuunssidj",
        "tooltip-pt-anontalk": "Diskuschuun auer feranrangen faan detdiar IP-adres",
        "tooltip-pt-preferences": "Min iinstelangen",
        "tooltip-pt-watchlist": "Sidjen, diar dü uun't uug behual wel",
index 9887e73..e4f8d1d 100644 (file)
        "duplicate-defaultsort": "'''Avîs:''' La clâf predeterminade par l'ordenament \"$2\" invalide la clâf predeterminade precedente \"$1\".",
        "version": "Version",
        "version-variables": "Variabilis",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-license": "Licence",
        "version-software-version": "Version",
        "fileduplicatesearch-filename": "Non dal file:",
index fc967f5..3ed2027 100644 (file)
        "faqpage": "Project:Faak stelde fragen",
        "namespaces": "Nammeromten",
        "variants": "Farianten",
+       "navigation-heading": "Navigaasjemenu",
        "errorpagetitle": "Flater",
        "returnto": "Werom nei \"$1\".",
        "tagline": "Ut {{SITENAME}}",
        "view": "Lêze",
        "edit": "Bewurkje",
        "create": "Oanmeitsje",
+       "create-local": "Lokale beskriuwing tafoegje",
        "editthispage": "Side bewurkje",
        "create-this-page": "Dizze side oanmeitsje",
        "delete": "Wiskje",
        "currentrev": "Aktuele ferzje",
        "currentrev-asof": "Hjoeddeiske ferzje sûnt $1",
        "revisionasof": "Ferzje op $1",
-       "revision-info": "Ferzje op $1 fan $2",
-       "previousrevision": "← Eardere ferskillen",
+       "revision-info": "Ferzje op $1 troch {{GENDER:$6|$2}}$7",
+       "previousrevision": "← Eardere ferzje",
        "nextrevision": "Nijere ferzje→",
        "currentrevisionlink": "Rinnende ferzje",
        "cur": "no",
        "mergelog": "Gearfoegingslogboek",
        "revertmerge": "Gearfoeging ûngedien meitsje",
        "mergelogpagetext": "Hjirûnder stiet in list fan resinte gearfoegings fan ien side-skiednis nei in oaren.",
-       "history-title": "Sideskiednis fan \"$1\"",
+       "history-title": "$1: ferzjeskiednis",
        "lineno": "Rigel $1:",
        "compareselectedversions": "Ferlykje selektearre ferzjes",
        "showhideselectedversions": "Oantikke ferzjes wol/net sjen litte",
        "searchrelated": "besibbe",
        "searchall": "alle",
        "showingresults": "{{PLURAL:$1|<strong>1</strong> resultaat|<strong>$1</strong> resultaten}} fan #<strong>$2</strong> ôf.",
+       "search-showingresults": "{{PLURAL:$4|Resultaat <strong>$1</strong> fan <strong>$3</strong>|Resultaten <strong>$1 - $2</strong> fan <strong>$3</strong>}}",
        "search-nonefound": "Der binne gjin resultaten foar Jo sykopdracht.",
        "powersearch-legend": "Sykje",
        "powersearch-ns": "Sykje op nammeromten:",
        "rc_categories": "Alline kategoryen (skiede mei in \"|\")",
        "rc_categories_any": "Elk",
        "rc-change-size": "$1",
+       "rc-change-size-new": "$1 {{PLURAL:$1|byte|bytes}} nei de wiziging",
        "newsectionsummary": "/* $1 */ nije seksje",
        "rc-enhanced-expand": "Details werjaan",
        "rc-enhanced-hide": "Details ferskûlje",
        "whatlinkshere-hideredirs": "$1 trochferwizings",
        "whatlinkshere-hidetrans": "$1 trânsklúzjes",
        "whatlinkshere-hidelinks": "$1 keppelings",
+       "whatlinkshere-filters": "Filters",
        "blockip": "Slút {{GENDER:$1|meidogger}} út",
        "blockip-legend": "Slút brûker út",
        "blockiptext": "Brûk dizze fjilden om in meidogger fan skriuwtagong út te sluten.\nDat soe allinnich fanwege fandalisme dien wurde moatte, sa't de\n[[{{MediaWiki:Policy-url}}|útslut-rie]] it oanjout.\nMeld de krekte reden! Neam bygelyks de siden dy't oantaaste waarden.",
        "spamprotectiontext": "De side dy't jo fêstlizze woene is blokkearre troch in spam filter. Dit wurdt wierskynlik feroarsake troch in ferwizing nei in ekstern webstee.",
        "spamprotectionmatch": "De neikommende tekst hat it spam filter aktivearre: $1",
        "pageinfo-redirects-value": "$1",
+       "pageinfo-toolboxlink": "Sidegegevens",
        "pageinfo-contentpage-yes": "Ja",
        "pageinfo-protect-cascading-yes": "Ja",
        "markaspatrolleddiff": "Markearje as kontroleare",
        "file-info-size-pages": "$1 × $2 pixels, triemgrutte: $3, MIME-type: $4, $5 {{PLURAL:$5|side|siden}}",
        "file-nohires": "Gjin hegere resolúsje beskikber.",
        "svg-long-desc": "SVG-triem, nominaal $1 × $2 pixels, triemgrutte: $3",
-       "show-big-image": "Hegere resolúsje",
+       "show-big-image": "Oarspronklike triem",
        "show-big-image-size": "$1 × $2 pixels",
        "newimages": "Nije ôfbylden",
        "imagelisttext": "Dit is in list fan '''$1''' {{PLURAL:$1|triem|triemen}}, op $2.",
        "metadata-collapse": "Ferskûlje útwreide details",
        "metadata-fields": "De EXIF-metadatafjilden yn dit berjocht steane op in ôfbyldingsside as de metadatatabel ynklapt is. Oare fjilden wurde ferburgen.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "metadata-langitem-default": "$1",
+       "exif-orientation": "Oriïntaasje",
        "exif-samplesperpixel": "Oantal komponinten",
        "exif-xresolution": "Horizontale resolúsje",
        "exif-yresolution": "Fertikale resolúsje",
        "exif-imagedescription": "Ofbylding titel",
        "exif-make": "Kamera makker",
+       "exif-model": "Kameramodel",
+       "exif-software": "Brûkte software",
        "exif-artist": "Auteur",
        "exif-exifversion": "Exif-ferzje",
        "exif-colorspace": "Kleurromte",
        "exif-compressedbitsperpixel": "Ofbylding kompresjemetoade",
        "exif-usercomment": "Opmerkings",
        "exif-relatedsoundfile": "Besibbe audiotriem",
+       "exif-datetimeoriginal": "Tiidstip gegevensoanmaak",
+       "exif-datetimedigitized": "Tiidstip digitalisearring",
        "exif-exposuretime-format": "$1 sek ($2)",
        "exif-fnumber-format": "f/$1",
        "exif-shutterspeedvalue": "APEX-slutertiid",
        "watchlisttools-view": "Folchlist besjen",
        "watchlisttools-edit": "Folchlist besjen en bewurkje",
        "watchlisttools-raw": "Rûge folchlist bewurkje",
+       "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|oerlis]])",
        "version": "Ferzje",
        "version-extensions": "Ynstallearre útwreidings",
        "version-specialpages": "Bysûndere siden",
index a269e4a..79b1c62 100644 (file)
        "deletereasonotherlist": "Fáth eile",
        "deletereason-dropdown": "*Fáthanna coitianta scriosta\n** Iarratas ón údar\n** Sárú cóipchirt\n** Loitiméireacht",
        "rollback": "Athruithe a rolladh siar",
-       "rollback_short": "Roll siar",
        "rollbacklink": "roll siar",
        "rollbacklinkcount": "Roll siar $1 {{PLURAL:$1|athrú|athruithe}}",
        "rollbackfailed": "Theip an rolladh siar",
        "watchlisttools-raw": "Cuir do amhliosta faire in eagar",
        "version": "Leagan",
        "version-other": "Eile",
-       "version-version": "(Leagan $1)",
+       "version-version": "($1)",
        "version-license": "Ceadúnas",
        "version-software": "Bogearraí suiteáilte",
        "version-software-version": "Leagan",
index 8cfff81..80eff46 100644 (file)
        "deletereasonotherlist": "别𠮶理由",
        "deletereason-dropdown": "*常用删除𠮶理由\n** 写𠮶人自家𠮶要求\n** 侵犯版权\n** 特试破坏",
        "rollback": "还原修改",
-       "rollback_short": "还原",
        "rollbacklink": "还原",
        "rollbackfailed": "还原失败",
        "cantrollback": "还原伓正;最末𠮶贡献人系文章𠮶唯一作者。",
        "watchlisttools-view": "眵吖相关更改",
        "watchlisttools-edit": "眵吖同到编写监视列表",
        "watchlisttools-raw": "编写原始监视列表",
-       "unknown_extension_tag": "伓认得𠮶扩展标签 \"$1\"",
        "duplicate-defaultsort": "'''警告:'''预设𠮶排序键 \"$2\" 覆蓋先头𠮶预设排序键 \"$1\"。",
        "version": "版本",
        "version-extensions": "装正𠮶插件",
        "version-parser-extensiontags": "解析器扩展标签",
        "version-hook-name": "钩子名",
        "version-hook-subscribedby": "订阅人",
-       "version-version": "(版本 $1)",
+       "version-version": "($1)",
        "version-license": "许可证",
        "version-poweredby-credits": "个只 Wiki 由 '''[https://www.mediawiki.org/ MediaWiki]''' 驱动,版权所有 © 2001-$1 $2。",
        "version-software": "装正𠮶软件",
index 6203e9d..2837d29 100644 (file)
        "deletereasonotherlist": "別嗰理由",
        "deletereason-dropdown": "*常用刪除嗰理由\n** 寫嗰人自家嗰要求\n** 侵犯版權\n** 特試破壞",
        "rollback": "還原修改",
-       "rollback_short": "還原",
        "rollbacklink": "還原",
        "rollbackfailed": "還原失敗",
        "cantrollback": "還原伓正;頂晏嗰貢獻人係文章嗰唯一作者。",
        "watchlisttools-view": "望下相關更改",
        "watchlisttools-edit": "望吖同到編寫監視列表",
        "watchlisttools-raw": "編寫原始監視列表",
-       "unknown_extension_tag": "伓認得嗰擴展標籤 \"$1\"",
        "duplicate-defaultsort": "'''警告:'''預設嗰排序鍵 \"$2\" 覆蓋先頭嗰預設排序鍵 \"$1\"。",
        "version": "版本",
        "version-extensions": "裝正嗰插件",
        "version-parser-extensiontags": "解析器擴展標籤",
        "version-hook-name": "鉤子名",
        "version-hook-subscribedby": "訂閱人",
-       "version-version": "(版本 $1)",
+       "version-version": "($1)",
        "version-license": "許可證",
        "version-poweredby-credits": "箇隻 Wiki 由 '''[https://www.mediawiki.org/ MediaWiki]''' 驅動,版權所有 © 2001-$1 $2。",
        "version-software": "裝正嗰軟件",
index c27e987..4b1b64d 100644 (file)
        "readonly_lag": "A base de datos bloqueouse automaticamente mentres os servidores levan a cabo a sincronización co servidor principal",
        "internalerror": "Erro interno",
        "internalerror_info": "Erro interno: $1",
+       "internalerror-fatal-exception": "Excepción grave de tipo \"$1\"",
        "filecopyerror": "Non se puido copiar o ficheiro \"$1\" en \"$2\".",
        "filerenameerror": "Non se puido cambiar o nome do ficheiro \"$1\" a \"$2\".",
        "filedeleteerror": "Non se deu borrado o ficheiro \"$1\".",
        "unusedimages": "Imaxes sen uso",
        "wantedcategories": "Categorías requiridas",
        "wantedpages": "Páxinas requiridas",
+       "wantedpages-summary": "Lista de páxinas inexistentes con máis ligazóns cara a elas, excluíndo as páxinas que só teñen redireccións cara a elas. Para consultar a lista de páxinas inexistentes que teñen redireccións cara a elas, véxase [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Título inválido fixado nos resultados: $1",
        "wantedfiles": "Ficheiros requiridos",
        "wantedfiletext-cat": "Os seguintes ficheiros están en uso, pero non existen. É posible que aparezan ficheiros de repositoroios externos, malia que existan. Calquera falso positivo estará <del>riscado</del>. Ademais, as páxinas que inclúen ficheiros que non existen están listadas en [[:$1]].",
        "thumbnail_image-missing": "Parece que falta o ficheiro: $1",
        "thumbnail_image-failure-limit": "Producíronse demasiados ($1 ou máis) intentos fallidos recentes de renderizar esta miniatura. Inténteo de novo máis tarde.",
        "import": "Importar páxinas",
-       "importinterwiki": "Importación transwiki",
-       "import-interwiki-text": "Seleccione o wiki e o título da páxina que queira importar.\nAs datas das revisións e os nomes dos editores manteranse.\nTodas as accións relacionadas coa importación entre wikis poden verse no [[Special:Log/import|rexistro de importacións]].",
+       "importinterwiki": "Importar doutro wiki",
+       "import-interwiki-text": "Seleccione o wiki e o título da páxina que queira importar.\nAs datas das revisións e os nomes dos editores manteranse.\nTodas as importacións doutros wikis poden consultarse no [[Special:Log/import|rexistro de importacións]].",
        "import-interwiki-sourcewiki": "Wiki de orixe:",
        "import-interwiki-sourcepage": "Páxina de orixe:",
        "import-interwiki-history": "Copiar todas as versións que hai no historial desta páxina",
        "importcantopen": "Non se pode abrir o ficheiro importado",
        "importbadinterwiki": "Ligazón interwiki incorrecta",
        "importsuccess": "A importación rematou!",
-       "importnosources": "Non se defininiu ningunha fonte de importación transwiki e os envíos directos dos historiais están desactivados.",
+       "importnosources": "Non se defininiu ningún wiki desde o que importar e os envíos directos dos historiais están desactivados.",
        "importnofile": "Non se enviou ningún ficheiro de importación.",
        "importuploaderrorsize": "Fallou o envío do ficheiro de importación. O ficheiro é máis grande que o tamaño de envío permitido.",
        "importuploaderrorpartial": "Fallou o envío do ficheiro de importación. O ficheiro só se enviou parcialmente.",
        "tags-create-invalid-chars": "Os nomes das etiquetas non poden conter nin comas (<code>,</code>) nin barras (<code>/</code>).",
        "tags-create-invalid-title-chars": "As páxinas non deben conter caracteres que non se poidan usar nos títulos das páxinas.",
        "tags-create-already-exists": "A páxina \"$1\" xa existe.",
+       "tags-create-warnings-above": "{{PLURAL:$2|Atopouse o seguinte erro|Atopáronse os seguintes erros}} ao intentar crear a etiqueta \"$1\":",
        "tags-create-warnings-below": "Desexa continuar creando a etiqueta?",
        "tags-delete-title": "Borrar etiqueta",
        "tags-delete-explanation-initial": "Está a piques de borrar a etiqueta \"$1\" da base de datos.",
+       "tags-delete-explanation-in-use": "Ha eliminarse {{PLURAL:$2|dunha revisión ou entrada|das $2 revisións e/ou entradas}} de rexistro {{PLURAL:$2|á|ás}} que actualmente se aplica.",
        "tags-delete-explanation-warning": "Esta acción é <strong>irreversible</strong> e nin sequera os administradores da base de datos poderán desfacela. Asegúrese de que é esta a etiqueta que desexa borrar.",
        "tags-delete-explanation-active": "<strong>A etiqueta \"$1\" segue activa e continuará aplicándose no futuro.</strong> Para evitalo, vaia ao(s) lugar(es) onde se establece a aplicación desta etiqueta e desactívea alí.",
        "tags-delete-reason": "Motivo:",
        "tags-delete-submit": "Eliminar esta etiqueta irreversiblemente",
        "tags-delete-not-allowed": "As etiquetas definidas por unha extensión non se poden borrar, agás que a extensión específica o permita.",
        "tags-delete-not-found": "A páxina \"$1\" non existe.",
-       "tags-delete-too-many-uses": "A etiqueta \"$1\" aplícase a máis de $2 {{PLURAL:$2|revision|revisions}}, polo que non pode borrarse.",
+       "tags-delete-too-many-uses": "A etiqueta \"$1\" aplícase a máis de $2 {{PLURAL:$2|revisión|revisións}}; isto significa que non se pode borrar.",
+       "tags-delete-warnings-after-delete": "A etiqueta \"$1\" borrouse correctamente; con todo, {{PLURAL:$2|atopouse o seguinte erro|atopáronse os seguintes erros}}:",
        "tags-activate-title": "Activar etiqueta",
        "tags-activate-question": "Está a piques de activar a etiqueta\"$1\".",
        "tags-activate-reason": "Motivo:",
        "revdelete-uname-unhid": "descubriu o nome de usuario",
        "revdelete-restricted": "aplicou restricións aos administradores",
        "revdelete-unrestricted": "eliminou restricións aos administradores",
+       "logentry-block-block": "$1 {{GENDER:$2|bloqueou}} a {{GENDER:$4|$3}} cun tempo de duración de $5 $6",
+       "logentry-block-unblock": "$1 {{GENDER:$2|desbloqueou}} a {{GENDER:$4|$3}}",
+       "logentry-block-reblock": "$1 {{GENDER:$2|cambiou}} as configuracións do bloqueo de {{GENDER:$4|$3}} cunha caducidade de $5 $6",
+       "logentry-suppress-block": "$1 {{GENDER:$2|bloqueou}} a {{GENDER:$4|$3}} cun tempo de duración de $5 $6",
+       "logentry-suppress-reblock": "$1 {{GENDER:$2|cambiou}} as configuracións do bloqueo de {{GENDER:$4|$3}} cunha caducidade de $5 $6",
        "logentry-merge-merge": "$1 {{GENDER:$2|fusionou}} \"$3\" con \"$4\" (revisións ata o $5)",
        "logentry-move-move": "$1 {{GENDER:$2|moveu}} a páxina \"$3\" a \"$4\"",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|moveu}} a páxina \"$3\" a \"$4\" sen deixar unha redirección",
        "log-name-managetags": "Rexistro de xestión de etiquetas",
        "log-description-managetags": "Esta páxina contén unha lista das tarefas de xestión relacionadas con [[Special:Tags|tags]]. No rexistro figuran só aquelas accións realizadas de forma manual por un administrador; pódense crear ou borrar etiquetas por medio do software wiki sen que se engada unha nova entrada ao rexistro.",
        "logentry-managetags-create": "$1 {{GENDER:$2|created}} a etiqueta \"$4\"",
+       "logentry-managetags-delete": "$1 {{GENDER:$2|borrou}} a etiqueta \"$4\" (eliminouse de $5 {{PLURAL:$5|revisión ou entrada de rexistro|revisións e/ou entradas de rexistro}})",
+       "logentry-managetags-activate": "$1 {{GENDER:$2|activou}} a etiqueta \"$4\" para o seu uso por usuarios e bots",
+       "logentry-managetags-deactivate": "$1 {{GENDER:$2|desactivou}} a etiqueta \"$4\" para impedir o seu uso por usuarios e bots",
        "rightsnone": "(ningún)",
        "revdelete-summary": "o resumo de edición",
        "feedback-bugornote": "Se está listo para describir un problema técnico en detalle, [$1 informe do erro].\nEn caso contrario, pode empregar o formulario sinxelo inferior. O seu comentario aparecerá na páxina \"[$3 $2]\" xunto ao seu nome de usuario e o navegador que está usando.",
        "json-error-utf8": "Hai caracteres UTF-8 incorrectos, trátase probablemente dun problema de codificación.",
        "json-error-recursion": "Atopáronse unha ou máis referencias recursivas no valor para codificar.",
        "json-error-inf-or-nan": "Atopáronse un ou máis valores NAN ou INF no valor para codificar.",
-       "json-error-unsupported-type": "Indicouse un valor dun tipo que non se pode codificar."
+       "json-error-unsupported-type": "Indicouse un valor dun tipo que non se pode codificar.",
+       "headline-anchor-title": "Ligazón a esta sección"
 }
index 45ed4cd..4b99ef0 100644 (file)
        "deletereason-dropdown": "*Κοιναὶ αἰτίαι διαγραφῆς\n** Αἴτησις τοῦ δημιουργοῦ\n** Παραβίασις δικαιωμάτων\n** Βαρβαρότης",
        "delete-edit-reasonlist": "Μεταγράφειν τὰς αἰτίας διαγραφῆς",
        "rollback": "Ἀναστρέφειν μεταγραφάς",
-       "rollback_short": "Ἀναστροφή",
        "rollbacklink": "ἀναστροφή",
        "rollbackfailed": "Ἀναστροφὴ μὴ ἐπιτυχής",
        "cantrollback": "Μὴ δυνατὴ ἡ ἀναστροφὴ·\nὁ ὕστατος ἐρανιστὴς ἐστὶ μόνον δημιουργὸς τῆσδε τῆς δέλτου.",
        "watchlisttools-view": "Ὁρᾶν τὰς συναφεῖς μεταβολὰς",
        "watchlisttools-edit": "Ὁρᾶν τε καὶ μεταγράφειν τὰ ἐφορωμένα",
        "watchlisttools-raw": "Μεταγράφειν τὸν πρωτογενῆ κατάλογον ἐφορωμένων",
-       "unknown_extension_tag": "Ἄγνωτον σήμαντρον ἐπεκτάσεων \"$1\"",
        "duplicate-defaultsort": "Eἴδησις: Ἡ προκαθωρισμένη κλεὶς ταξινομήσεως \"$2\" ὑπερκαλύπτει προηγουμένην προκαθωρισμένην κλεῖδα ταξινομήσεως \"$1\".",
        "version": "Ἐπανόρθωμα",
        "version-extensions": "Ἐγκατεστημέναι ἐπεκτάσεις",
        "version-parser-function-hooks": "Ἀγγύλαι ἐνεργειῶν λεξιαναλυτικοῦ προγράμματος",
        "version-hook-name": "Ὄνομα ἀγκύλης",
        "version-hook-subscribedby": "Ὑπογεγραφυῖα ὑπὸ",
-       "version-version": "(Ἔκδοσις $1)",
+       "version-version": "($1)",
        "version-license": "Ἄδεια",
        "version-poweredby-others": "ἄλλα",
        "version-software": "Ἐγκατεστημένον λογισμικόν",
        "specialpages-group-wiki": "Βικι-δεδομένα καὶ στοιχεῖα",
        "specialpages-group-redirects": "Ἀναδιευθύνειν εἰδικὰς δέλτους",
        "specialpages-group-spam": "Ἐργαλεῖα κατὰ τῶν ἀνεπιθυμήτων διαγγελιῶν",
+       "specialpages-group-developer": "Ἐργαλεῖα ἀναπτυκτῶν",
        "blankpage": "Κενὴ δέλτος",
        "intentionallyblankpage": "Ἥδε ἡ δέλτος ἀφίεται ἐσκεμμένως κενὴ οὖσα χρήσιμος ὡς σημεῖον ἀναφορᾶς, κτλ.",
        "external_image_whitelist": " #Ἄφες τήνδε τὴν γραμμὴν ὥσπερ ἐστὶν ἐν τῷ παρόντι<pre>\n#Ὰπόθες ἅπαντα τὰ τεμάχια συνήθων ἐκφράσεων (μόνον τὸ μέρος τὸ μεταξὺ τῶν //) κάτωθεν\n#Αὗται ἀντιστοιχήσασαι μετὰ τῶν URL τῶν ἐξωτέρων (hotlinked) εἰκόνων ἔσονται\n#Αἱ ἀντιστιχοῦσαι, δεικνυμέναι ἔσονται ὡς εἰκόνες· εἰ δὲ μή, εἷς μόνον σύνδεσμος πρὸς τὴν εἰκόνα δείξεται\n#Αἱ γραμμαὶ αἱ ἀρχόμεναι ἐκ τοῦ # θεωροῦνται σχόλια\n#Ὅδε ὁ κατάλογος οὐ διακρίνεται εἰς κεφαλαῖα καὶ μικρὰ γράμματα\n\n#Ὰπόθες ἅπαντα τὰ τεμάχια συνήθων ἐκφράσεων ἄνωθεν τῆσδε τῆς γραμμῆς. Ἄφες τήνδε τὴν γραμμὴν ὡς ἔστι ἐν τῷ παρόντι</pre>",
index f06d070..01ae396 100644 (file)
@@ -18,7 +18,8 @@
                        "The Evil IP address",
                        "Urhixidur",
                        "לערי ריינהארט",
-                       "80686"
+                       "80686",
+                       "아라"
                ]
        },
        "tog-underline": "Links unterstryche",
        "version-parser-function-hooks": "Parser-Funktione",
        "version-hook-name": "Schnittstellename",
        "version-hook-subscribedby": "Ufruef vu",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-license": "Lizänz",
        "version-ext-license": "Lizänz",
        "version-ext-colheader-name": "Erwyterig",
index 411ca55..c8a040c 100644 (file)
@@ -49,7 +49,7 @@
        "tog-shownumberswatching": "ધ્યાન રાખતા સભ્યોની સંખ્યા બતાવો",
        "tog-oldsig": "હાલના હસ્તાક્ષર:",
        "tog-fancysig": "હસ્તાક્ષરનો વિકિલખાણ તરીકે ઉપયોગ કરો (સ્વચાલિત કડી વગર)",
-       "tog-uselivepreview": "જીવંત પૂર્વદર્શન વાપરો (પ્રાયોગીક)",
+       "tog-uselivepreview": "જીવંત પૂર્વદર્શન વાપરો",
        "tog-forceeditsummary": "કોરો 'ફેરફાર સારાંશ' ઉમેરતા પહેલા મને ચેતવો",
        "tog-watchlisthideown": "'મારી ધ્યાનસુચી'માં મે કરેલા ફેરફારો છુપાવો",
        "tog-watchlisthidebots": "ધ્યાનસુચીમાં બોટ દ્વારા થયેલા ફેરફાર સંતાડો.",
        "pool-timeout": "સમય સમાપ્ત -  સ્થગિતતા પ્રતિક્ષીત",
        "pool-queuefull": "(Pool) કતાર પૂરી ભરેલી છે",
        "pool-errorunknown": "અજ્ઞાત ત્રુટિ",
+       "poolcounter-usage-error": "વપરાશ ક્ષતિ: $1",
        "aboutsite": "{{SITENAME}} વિષે",
        "aboutpage": "Project:વિષે",
        "copyright": "અલગથી ઉલ્લેખ ન કરાયો હોય ત્યાં સુધી માહિતી $1 હેઠળ ઉપલબ્ધ છે.",
        "license-nopreview": "(ઝલક મોજુદ નથી)",
        "upload_source_url": "(યોગ્ય, જાહેર URL માંથી તમે પસંદ કરેલ ફાઇલ)",
        "upload_source_file": "(તમારા કોમ્પ્યુટર પરની તમે પસંદ કરેલી એક ફાઇલ)",
+       "listfiles-delete": "દૂર કરો",
        "listfiles-summary": "આ વિશિષ્ટ પાનું બધી અપલોડ કરાયેલી ફાઈલો દર્શાવે છે.",
        "listfiles_search_for": "મિડિયા નામ શોધો:",
        "imgfile": "ફાઇલ",
        "randomincategory": "શ્રેણીમાં ગમે તે પાનું",
        "randomincategory-invalidcategory": "\"$1\" એ યોગ્ય શ્રેણી નામ નથી.",
        "randomincategory-nopages": "[[:Category:$1|$1]] વર્ગમાં કોઇ પાનું નથી.",
+       "randomincategory-category": "શ્રેણી:",
        "randomredirect": "દિશાહીન  નિર્દેશન",
        "randomredirect-nopages": "નામ સ્થળ \"$1\" માં કોઇ દિશા નિર્દેશન નથી",
        "statistics": "આંકડાકીય માહિતી",
        "version-parser-function-hooks": "પદચ્છેદ કાર્ય ખૂંટા",
        "version-hook-name": "ખૂંટાનું નામ્",
        "version-hook-subscribedby": "દ્વ્રારા લાભાન્વીત",
-       "version-version": "(આવૃત્તિ $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[નામ નથી]",
        "version-license": "મીડિઆવિકિ લાયસન્સ",
        "version-ext-license": "લાયસન્સ",
index 8bfbdbd..b972f29 100644 (file)
        "deleteotherreason": "Fa elley/tooilley:",
        "deletereasonotherlist": "Fa elley",
        "deletereason-dropdown": "*Fa scryssey cadjin\n** Aghin yn ughtar\n** Brishey choip-chiart\n** Cragheydys",
-       "rollback_short": "Aahogherys",
        "rollbacklink": "aahogher",
        "editcomment": "V'eh \"''$1''\" giare-choontys y reaghey.",
        "protectlogpage": "Lioar choadee",
        "version": "Lhieggan",
        "version-specialpages": "Duillagyn er lheh",
        "version-other": "Elley",
-       "version-version": "(Lhieggan $1)",
+       "version-version": "($1)",
        "version-license": "Kiedoonys",
        "version-software-version": "Lhieggan",
        "fileduplicatesearch-filename": "Ennym y choadan:",
index 3bc09cb..23529df 100644 (file)
        "readonly_lag": "בסיס הנתונים ננעל אוטומטית כדי לאפשר לבסיסי הנתונים המשניים להתעדכן מהבסיס הראשי.",
        "internalerror": "שגיאה פנימית",
        "internalerror_info": "שגיאה פנימית: $1",
+       "internalerror-fatal-exception": "שגיאה חמורה מסוג \"$1\"",
        "filecopyerror": "העתקת \"$1\" ל־\"$2\" נכשלה.",
        "filerenameerror": "שינוי השם של \"$1\" ל־\"$2\" נכשל.",
        "filedeleteerror": "מחיקת \"$1\" נכשלה.",
        "invalidtitle-knownnamespace": "כותרת בלתי־תקינה עם מרחב השם \"$2\" ושם דף \"$3\"",
        "invalidtitle-unknownnamespace": "כותרת בלתי־תקינה עם מרחב שם בלתי־ידוע מספר $1 ושם דף \"$2\"",
        "exception-nologin": "לא בחשבון",
-       "exception-nologin-text": "× ×\90 ×\9c×\94×\99×\9bנס לחשבון כדי לראות את הדף הזה או לבצע את הפעולה הזאת.",
+       "exception-nologin-text": "× ×\93רשת ×\9b× ×\99ס×\94 לחשבון כדי לראות את הדף הזה או לבצע את הפעולה הזאת.",
        "exception-nologin-text-manual": "נדרשת $1 כדי לראות את הדף הזה או לבצע את הפעולה הזאת.",
        "virus-badscanner": "הגדרות שגויות: סורק הווירוסים אינו ידוע: ''$1''",
        "virus-scanfailed": "הסריקה נכשלה (קוד: $1)",
        "unusedimages": "קבצים שאינם בשימוש",
        "wantedcategories": "קטגוריות מבוקשות",
        "wantedpages": "דפים מבוקשים",
+       "wantedpages-summary": "רשימת דפים לא קיימים שמספר הקישורים אליהם הוא הגדול ביותר, למעט דפים שרק הפניות מקשרות אליהם. לרשימת דפים לא קיימים שיש הפניות המקשרות אליהם, ר' [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "כותרת בלתי תקינה ברשימת התוצאות: $1",
        "wantedfiles": "קבצים מבוקשים",
        "wantedfiletext-cat": "הקבצים הבאים נמצאים בשימוש, אך אינם קיימים. ייתכן שקבצים ממאגרים חיצוניים יהיו רשומים אף על פי שהם קיימים, אך שגיאות כאלה יהיו <del>מחוקות</del>. בנוסף, דפים שמשתמשים בקבצים שאינם קיימים רשומים בדף [[:$1]].",
        "thumbnail_image-missing": "נראה שהקובץ הבא חסר: $1",
        "thumbnail_image-failure-limit": "היו לאחרונה ניסיונות רבים מדי ($1 או יותר) ליצור את התמונה הממוזערת הזאת. נא לנסות שוב מאוחר יותר.",
        "import": "ייבוא דפים",
-       "importinterwiki": "×\99×\99×\91×\95×\90 ×\91×\99×\9fÖ¾×\90תר×\99",
-       "import-interwiki-text": "×\90× ×\90 ×\91×\97ר×\95 ×\90תר ×\95×\99ק×\99 ×\95×\9b×\95תרת ×\93×£ ×\9c×\99×\99×\91×\95×\90.\nת×\90ר×\99×\9b×\99 ×\94ער×\99×\9b×\95ת ×\95ש×\9e×\95ת ×\94×¢×\95ר×\9b×\99×\9d ×\99×\99ש×\9eר×\95.\n×\9b×\9c ×¤×¢×\95×\9c×\95ת ×\94×\99×\99×\91×\95×\90 ×\94×\91×\99×\9fÖ¾×\90תר×\99 נשמרות ב[[Special:Log/import|יומן הייבוא]].",
+       "importinterwiki": "×\99×\99×\91×\95×\90 ×\9e×\90תר ×\95×\99ק×\99 ×\90×\97ר",
+       "import-interwiki-text": "×\90× ×\90 ×\91×\97ר×\95 ×\90תר ×\95×\99ק×\99 ×\95×\9b×\95תרת ×\93×£ ×\9c×\99×\99×\91×\95×\90.\nת×\90ר×\99×\9b×\99 ×\94ער×\99×\9b×\95ת ×\95ש×\9e×\95ת ×\94×¢×\95ר×\9b×\99×\9d ×\99×\99ש×\9eר×\95.\n×\9b×\9c ×¤×¢×\95×\9c×\95ת ×\94×\99×\99×\91×\95×\90 ×\9e×\90תר×\99 ×\95×\99ק×\99 ×\90×\97ר×\99×\9d נשמרות ב[[Special:Log/import|יומן הייבוא]].",
        "import-interwiki-sourcewiki": "אתר המקור:",
        "import-interwiki-sourcepage": "דף המקור:",
        "import-interwiki-history": "העתקת כל היסטוריית העריכות של דף זה",
        "importcantopen": "פתיחת קובץ הייבוא נכשלה",
        "importbadinterwiki": "קישור בינוויקי שגוי",
        "importsuccess": "הייבוא הושלם בהצלחה!",
-       "importnosources": "×\90×\99×\9f ×\9eק×\95ר×\95ת ×\9c×\99×\99×\91×\95×\90 ×\91×\99×\9fÖ¾×\90תר×\99, ×\95×\99×\99×\91×\95×\90 ×\99ש×\99ר ×©×\9c ×\93×£ ×¢×\9d ×\94×\99ס×\98×\95ר×\99×\94 ×\90×\99× ×\95 ×\9e×\90×\95פשר ×\9b×¢ת.",
+       "importnosources": "×\9c×\90 ×\94×\95×\92×\93ר×\95 ×\90תר×\99 ×\95×\99ק×\99 ×©×\9e×\94×\9d × ×\99ת×\9f ×\9c×\99×\99×\91×\90, ×\95×\90פשר×\95ת ×\94×\94×¢×\9c×\90×\94 ×\94×\99ש×\99ר×\94 ×©×\9c ×\93×£ ×¢×\9d ×\94×\99ס×\98×\95ר×\99×\94 ×\9e×\91×\95×\98×\9cת.",
        "importnofile": "לא הועלה קובץ ייבוא.",
        "importuploaderrorsize": "העלאת קובץ הייבוא נכשלה. הקובץ היה גדול יותר מגודל ההעלאה המותר.",
        "importuploaderrorpartial": "העלאת קובץ הייבוא נכשלה. הקובץ הועלה באופן חלקי בלבד.",
        "json-error-recursion": "הפניה רקורסיבית אחת או יותר בערך שנועד לקידוד",
        "json-error-inf-or-nan": "ערך NAN או INF אחד או יותר בערך שנועד לקידוד",
        "json-error-unsupported-type": "ניתן ערך מסוג שלא יכול להיות מקודד",
-       "headline-anchor-title": "ק×\99ש×\95ר ×\9cפסק×\94 ×\94×\96×\90ת"
+       "headline-anchor-title": "ק×\99ש×\95ר ×\9cפסק×\94 ×\96×\95"
 }
index c4529fd..e85e37a 100644 (file)
        "viewyourtext": "आप इस पृष्ठ में ''अपने सम्पादन'' का स्रोत देख सकते हैं और उसकी नकल उतार सकते हैं:",
        "protectedinterface": "यह पृष्ठ इस विकी के सॉफ़्टवेयर का इंटरफ़ेस पाठ देता है, और इसे गलत प्रयोग से बचाने के लिये सुरक्षित कर दिया गया है।\nसभी विकियों के लिए अनुवाद जोड़ने या बदलने के लिए कृपया मीडियाविकि के क्षेत्रीयकरण प्रकल्प [//translatewiki.net/ translatewiki.net] का प्रयोग करें।",
        "editinginterface": "<strong>चेतावनी:</strong> आप एक ऐसे पृष्ठ को बदल रहे हैं जो सॉफ़्टवेयर का इंटरफ़ेस पाठ प्रदान करता है।\nइस पृष्ठ को बदलने से अन्य सदस्यों को प्रदर्शित इंटरफ़ेस की शक्लोसूरत में बदलाव आएगा।",
+       "translateinterface": "सभी विकियों के लिए अनुवाद जोड़ने या बदलने के लिए मीडियाविकि क्षेत्रीयकरण परियोजना [//translatewiki.net/ translatewiki.net] का प्रयोग करें।",
        "cascadeprotected": "यह पृष्ठ सुरक्षित हैं, क्योंकी यह निम्नलिखित {{PLURAL:$1|पृष्ठ|पृष्ठों}} की सुरक्षा-सीढ़ी में समाविष्ट है:\n$2",
        "namespaceprotected": "आपको '''$1''' नामस्थान में समाविष्ट पृष्ठों को बदलने की अनुमति नहीं है।",
        "customcssprotected": "आपको इस CSS पृष्ठ को संपादित करने की अनुमति नहीं है, क्योंकि इसमें अन्य सदस्य की व्यक्तिगत सेटिंग्स शामिल हैं।",
        "createaccount-text": "आपके ई-मेल पते के लिये किसी ने {{SITENAME}} ($4) पर \"$2\" सदस्य नाम से \"$3\" कूटशब्द (पासवर्ड) सहित खाता खोला है।\nआपको लॉग इन कर के अपना कूटशब्द (पासवर्ड) तुरंत बदल लेना चाहिये।\n\nयदि यह खाता गलती से खोला गया है, तो आप इस मेसेज को नज़रंदाज़ कर सकते हैं।",
        "login-throttled": "आपने हाल ही में कई बार लॉग इन करने के प्रयास किये हैं।\nपुनः प्रयास करने से पहले कृपया $1 प्रतीक्षा करें।",
        "login-abort-generic": "आपका सत्रारम्भ असफल रहा - निष्फलित",
+       "login-migrated-generic": "आपका खाता माइग्रेट हो गया है और आपका सदस्यनाम इस विकी पर अब मौजूद नहीं है।",
        "loginlanguagelabel": "भाषा: $1",
        "suspicious-userlogout": "अपका लॉग आउट करने का अनुरोध अस्वीकृत कर दिया गया है क्योंकि ऐसा प्रतीत होता है कि यह किसी खराब ब्राउज़र या कैश करने वाली प्रॉक्सी द्वारा भेजा गया था।",
        "createacct-another-realname-tip": "असली नाम देना आवश्यक नहीं है।\nयदि आप प्रदान करते हैं तो इसका प्रयोग सदस्य के योगदानों के लिये उनको श्रेय (attribution) देने के लिये किया जायेगा।",
        "preview": "झलक",
        "showpreview": "झलक दिखाएँ",
        "showdiff": "बदलाव दिखाएँ",
+       "blankarticle": "<strong>चेतावनी:</strong> आप एक रिक्त पृष्ठ का निर्माण कर रहे हैं।\nयदि आप \"{{int:savearticle}}\" को पुनः दबाते हैं तो पृष्ठ को बिना किसी सामग्री के निर्मित किया जाएगा।",
        "anoneditwarning": "<strong>सावधान:</strong> आपने सत्रारंभ नहीं किया है। यदि आप सम्पादन करते हैं तो इस पृष्ठ के संपादन इतिहास में आपका आइ॰पी पता अंकित किया जाएगा। यदि आप <strong>[$1 लॉगिन]</strong> करते हैं अथवा <strong>[$2 खाता बनाते हैं]</strong> तो अन्य सुविधाओं के साथ-साथ आपके संपादनों का श्रेय आपके सदस्यनाम पर दिया जाएगा।",
        "anonpreviewwarning": "''आप लॉग्ड इन नहीं हैं। पृष्ठ सहेजने पर आपका आइ॰पी पता इस पृष्ठ के इतिहास में दर्ज किया जायेगा।''",
        "missingsummary": "'''अनुस्मारक:''' आपने संपादन सारांश नहीं दिया है।\nअगर आप दुबारा \"{{int:savearticle}}\" पर क्लिक करते हैं तो आपका संपादन बिना सारांश के संजोया जायेगा।",
        "content-model-text": "सामान्य पाठ",
        "content-model-javascript": "जावास्क्रिप्ट",
        "content-model-css": "सी॰एस॰एस",
+       "content-json-empty-object": "रिक्त ऑब्जेक्ट",
+       "content-json-empty-array": "रिक्त ऐरे",
        "expensive-parserfunction-warning": "'''चेतावनी:''' इस पृष्ठ पर बहुत अधिक संख्या में कीमती पार्सर फ़ंक्शनों का प्रयोग किया गया है।\n\nइनका प्रयोग $2 से कम बार होना चाहिये, इस समय प्रयोग $1 बार {{PLURAL:$1|है|हैं}}।",
        "expensive-parserfunction-category": "कीमती पार्सर फ़ंक्शनों का अत्यधिक प्रयोग कर रहे पृष्ठ",
        "post-expand-template-inclusion-warning": "'''चेतावनी:''' साँचे जुड़ने की सीमा पार हो चुकी है।\nकुछ साँचे नहीं जुड़ेंगे।",
        "revdelete-selected-text": "[[:$2]] {{PLURAL:$1|का|के}} चयनित अवतरण:",
        "revdelete-selected-file": "[[:$2]] {{PLURAL:$1|का|के}} चयनित फ़ाइल अवतरण:",
        "logdelete-selected": "{{PLURAL:$1|चुना हुआ|चुने हुए}} लॉग इवेंट:",
+       "revdelete-text-text": "हटाए गए अवतरण पृष्ठ इतिहास में दर्शाए जाएँगे परन्तु उनकी सामग्री सार्वजनिक रूप से नहीं देखी जा सकेगी।",
+       "revdelete-text-file": "हटाए गए फ़ाइल अवतरण फ़ाइल इतिहास में दर्शाए जायेंगे परन्तु सामग्री सार्वजनिक रूप से नहीं देखी जा सकेगी।",
        "revdelete-confirm": "पुष्टि करें कि आप यह कार्य करना चाहते हैं, आप इसका परिणाम समझते हैं, और आप ये [[{{MediaWiki:Policy-url}}|नीति]] के अनुसार कर रहे हैं।",
        "revdelete-suppress-text": "छिपाने का प्रयोग <strong>केवल</strong> इन परिस्थितियों में होना चाहिए:\n* संभावित अपमानजनक जानकारी\n* अनुपयुक्त निजी जानकारी\n*: <em>घर के पते व दूरभाष, राष्ट्रीय पहचान क्रमांक आदि।</em>",
        "revdelete-legend": "दृश्य प्रतिबंध निश्चित करें",
        "mergehistory-empty": "कोई भी अवतरण एकत्रित नहीं कर सकते।",
        "mergehistory-success": "[[:$1]] {{PLURAL:$3|का|के}} $3 अवतरण [[:$2]] में एकत्रित कर {{PLURAL:$3|दिया गया है|दिये गए हैं}}।",
        "mergehistory-fail": "इतिहास एकत्रित नहीं कर सकते, कृपया पृष्ठ और समय की पुनः जाँच करें।",
+       "mergehistory-fail-toobig": "इतिहास विलय करना संभव नहीं है क्योंकि अवतरण सीमा $1 से अधिक {{PLURAL:$1|अवतरण|अवतरणों}} को स्थानांतरित करना होगा।",
        "mergehistory-no-source": "स्रोत पृष्ठ $1 मौजूद नहीं है।",
        "mergehistory-no-destination": "लक्ष्य पृष्ठ $1 मौजूद नहीं है।",
        "mergehistory-invalid-source": "स्रोत पृष्ठ का शीर्षक वैध होना आवश्यक है।",
        "search-result-category-size": "{{PLURAL:$1|$1 सदस्य}} ({{PLURAL:$2|$2 उपश्रेणी|$2 उपश्रेणियाँ}}, {{PLURAL:$3|$3 सञ्चिका|$3 सञ्चिकाएँ}})",
        "search-redirect": "($1 से पुनर्निर्देशित)",
        "search-section": "(अनुभाग $1)",
+       "search-category": "(श्रेणी $1)",
        "search-file-match": "(फ़ाइल सामग्री से मेल खाता है)",
        "search-suggest": "कहीं आपका मतलब $1 तो नहीं था?",
        "search-interwiki-caption": "अन्य प्रकल्प",
        "powersearch-togglelabel": "चुनें:",
        "powersearch-toggleall": "सभी",
        "powersearch-togglenone": "कोई भी नहीं",
+       "powersearch-remember": "चुनाव को भविष्य की खोजों के लिए याद रखें",
        "search-external": "बाहरी खोज",
        "searchdisabled": "{{SITENAME}} पर खोज अक्षम है।\nआप गूगल से खोज कर सकते हैं।\nध्यान रखें कि उनकी {{SITENAME}} सामग्री की सूची पुरानी हो सकती है।",
        "search-error": "खोजते समय निम्न त्रुटि उत्पन्न हुई है: $1",
        "prefs-personal": "सदस्य व्यक्तिरेखा",
        "prefs-rc": "हाल में हुए बदलाव",
        "prefs-watchlist": "ध्यानसूची",
+       "prefs-editwatchlist": "ध्यानसूची सम्पादित करें",
+       "prefs-editwatchlist-label": "अपनी ध्यानसूची की प्रविष्टियाँ सम्पादित करें:",
        "prefs-watchlist-days": "ध्यानसूची में दिखाने के दिन:",
        "prefs-watchlist-days-max": "अधिकतम $1 {{PLURAL:$1|दिन}}",
        "prefs-watchlist-edits": "बढ़ाई हुई ध्यानसूची में दिखाने हेतु अधिकतम बदलाव:",
        "autosumm-replace": "पृष्ठ को '$1' से बदल रहा है।",
        "autoredircomment": "[[$1]] को अनुप्रेषित",
        "autosumm-new": "'$1' के साथ नया पृष्ठ बनाया",
+       "autosumm-newblank": "रिक्त पृष्ठ बनाया",
        "size-bytes": "$1 B",
        "size-kilobytes": "$1 KB",
        "size-megabytes": "$1 MB",
        "watchlistedit-raw-done": "आपकी ध्यानसूची अपडेट कर दी गई हैं",
        "watchlistedit-raw-added": "{{PLURAL:$1|1शीर्षक|$1 शीर्षक}} बढा दिये:",
        "watchlistedit-raw-removed": "{{PLURAL:$1|1शीर्षक|$1 शीर्षक}} हटा दिये:",
+       "watchlistedit-clear-title": "ध्यानसूची खाली की",
+       "watchlistedit-clear-legend": "ध्यानसूची खाली करें",
+       "watchlistedit-clear-explain": "आपकी ध्यानसूची से सभी पृष्ठ हटाये जायेंगे",
+       "watchlistedit-clear-titles": "शीर्षक:",
+       "watchlistedit-clear-done": "आपकी ध्यानसूची खाली कर दी गयी है।",
+       "watchlistedit-clear-removed": "$1 पृष्ठ{{PLURAL:$1|हटाया गया|हटाये गए}}:",
+       "watchlistedit-too-many": "यहाँ दर्शाने के लिए अत्यधिक पृष्ठ हैं।",
        "watchlisttools-clear": "ध्यानसूची खाली करें",
        "watchlisttools-view": "आधारित बदलाव देखें",
        "watchlisttools-edit": "ध्यानसूची देखें एवं संपादित करें",
        "version-hook-name": "हूक नाम",
        "version-hook-subscribedby": "ने सदस्यत्व लिया",
        "version-version": "($1)",
+       "version-no-ext-name": "[कोई नाम नहीं]",
        "version-license": "मीडियाविकि अनुज्ञापत्र",
        "version-ext-license": "लाइसेंस",
        "version-ext-colheader-name": "एक्सटेंशन",
        "version-software-product": "प्रोडक्ट",
        "version-software-version": "अवतरण",
        "version-entrypoints-header-url": "यू॰आर॰एल",
+       "version-libraries-library": "लाइब्रेरी",
        "version-libraries-version": "संस्करण",
+       "redirect-legend": "फ़ाइल अथवा पृष्ठ को पुनर्प्रेषण",
+       "redirect-summary": "यह विशेष पृष्ठ फ़ाइलनाम प्रदान करने पर फ़ाइल नाम को, पृष्ठ आइ॰दी अथवा अवतरण आइ॰दी देने पर पृष्ठ को, और सदस्य आइ॰दी देने पर सदस्य पृष्ठ को पुनर्प्रेषित करता है। उदाहरण: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], या [[{{#Special:Redirect}}/user/101]]।",
        "redirect-submit": "जायें",
        "redirect-lookup": "ढूँढें:",
        "redirect-value": "मूल्य:",
        "redirect-user": "सदस्य आई॰डी",
+       "redirect-page": "पृष्ठ आइ॰डी",
        "redirect-revision": "पृष्ठ अवतरण संख्या",
        "redirect-file": "फ़ाइल नाम",
        "fileduplicatesearch": "फ़ाईल द्विरावृत्ति खोजें",
        "tags-tag": "चिप्पी का नाम",
        "tags-display-header": "बदलाव सूचियों में प्रदर्शन",
        "tags-description-header": "अर्थ का पूरा वर्णन",
+       "tags-source-header": "स्रोत",
        "tags-active-header": "सक्रिय?",
        "tags-hitcount-header": "चिप्पी वाले बदलाव",
        "tags-active-yes": "हाँ",
        "tags-active-no": "नहीं",
+       "tags-source-extension": "एक्सटेंशन द्वारा परिभाषित",
        "tags-edit": "सम्पादन",
+       "tags-delete": "हटाएँ",
        "tags-hitcount": "$1 {{PLURAL:$1|बदलाव|बदलाव}}",
        "comparepages": "पृष्ठों की तुलना करें",
        "compare-page1": "पृष्ठ १",
        "htmlform-no": "नहीं",
        "htmlform-yes": "हाँ",
        "htmlform-chosen-placeholder": "एक विकल्प चुनें",
+       "htmlform-cloner-delete": "हटाएँ",
        "sqlite-has-fts": "$1 पूर्ण पाठ खोज समर्थन के साथ",
        "sqlite-no-fts": "$1पूर्ण-पाठ खोज समर्थन के बिना",
        "logentry-delete-delete": "$1 ने पृष्ठ $3 {{GENDER:$2|हटा}} दिया",
        "expand_templates_remove_comments": "टिप्पणी हटायें",
        "expand_templates_remove_nowiki": "परिणाम में <nowiki> टैग हटाएँ",
        "expand_templates_generate_xml": "XML का पार्स (parse) वृक्ष दर्शायें",
-       "expand_templates_preview": "झलक"
+       "expand_templates_preview": "झलक",
+       "pagelanguage": "पृष्ठ भाषा चुनाव",
+       "pagelang-name": "पृष्ठ",
+       "pagelang-language": "भाषा",
+       "pagelang-use-default": "डिफ़ॉल्ट भाषा का प्रयोग करें",
+       "pagelang-select-lang": "भाषा चुनें",
+       "right-pagelang": "पृष्ठ भाषा बदलें",
+       "action-pagelang": "पृष्ठ भाषा बदलने",
+       "log-name-pagelang": "पृष्ठ भाषा बदलाव लॉग",
+       "log-description-pagelang": "यह पृष्ठ भाषाओं में परिवर्तन का लॉग है।",
+       "mediastatistics-table-count": "फ़ाइलों की संख्या",
+       "mediastatistics-header-unknown": "अज्ञात",
+       "mediastatistics-header-bitmap": "बिटमैप चित्र",
+       "mediastatistics-header-audio": "ऑडियो",
+       "mediastatistics-header-video": "विडियो",
+       "mediastatistics-header-office": "ऑफ़िस",
+       "mediastatistics-header-text": "पाठ",
+       "json-error-syntax": "सिन्टॅक्स त्रुटि",
+       "headline-anchor-title": "इस अनुभाग की कड़ी"
 }
index 76f75c0..d77db57 100644 (file)
        "readonly_lag": "Database apne se band hoi gais hai jab tak ki duusra database, khaas database ke sanghe kaam nai kare lage.",
        "internalerror": "Bhitri galti",
        "internalerror_info": "Bhitri galti: $1",
+       "internalerror-fatal-exception": "Fatal exception of type \"$1\"",
        "filecopyerror": "File \"$1\" ke \"$2\" pe copy nai kare sakaa.",
        "filerenameerror": "File \"$1\" ke naam badal ke \"$2\" nai kare sakaa.",
        "filedeleteerror": "File \"$1\" ke nai mitae sakaa.",
        "unusedimages": "Bina use bhae files",
        "wantedcategories": "Maange waala vibhag",
        "wantedpages": "Jaruri panna",
+       "wantedpages-summary": "List of non-existing pages with the most links to them, excluding pages which only have redirects linking to them. For a list of non-existent pages that have redirects linking to them, see [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Result set me kharaa title hai: $1",
        "wantedfiles": "Maange waala files",
        "wantedfiletext-cat": "Niche likha gais file ke kaam me lawa gais hae lekin ii Wikipedia me nai hae. Ii Wikipedia me file rahe par bhi foreign repositories ke file ke list karaa jaae sake hae. Aisan koi galat positives ke <del>mitae dewa jaai</del>. Aur, uu panna jon ki non-existent files ke embed kare hae ke [[:$1]] me list karaa gais hae.",
        "thumbnail_image-missing": "Ii naam ke file nai hae: $1",
        "thumbnail_image-failure-limit": "Ii thumbnail ke render kare ke bahut dher unsuccessful kosis ($1 or more) rahaa. Meharbaani kar ke baad me fir kosis karna.",
        "import": "Panna ke import karo",
-       "importinterwiki": "Transwiki se ayaat",
-       "import-interwiki-text": "Ek wiki aur panna ke title ke select karo.\nBadalo ke tarik aur badle waala sadasya ke naam wahii rakam rahii.\nSab transwiki import actions ke [[Special:Log/import|import log]] pe log karaa jaawe hai.",
+       "importinterwiki": "Duusra wiki se ayaat",
+       "import-interwiki-text": "Ek wiki aur panna ke title ke, import kare ke khatir, select karo.\nBadalo ke tarik aur badle waala sadasya ke naam wahii rakam rahii.\nSab transwiki import actions ke [[Special:Log/import|import log]] pe log karaa jaawe hai.",
        "import-interwiki-sourcewiki": "Source wiki:",
        "import-interwiki-sourcepage": "Source panna:",
        "import-interwiki-history": "Ii panna ke sab badlao ke itihaas ke copy karo",
        "importcantopen": "Import file ke khole nai sakaa",
        "importbadinterwiki": "Kharaab interwiki jorr",
        "importsuccess": "Import khalaas hoe gais hai!",
-       "importnosources": "Koi interwiki import source ke define nai karaa gais hai aur direct itihass ke upload ke rok dewa gais hai.",
+       "importnosources": "Koi interwiki import source ke define nai karaa gais hai aur directory itihass ke upload ke rok dewa gais hai.",
        "importnofile": "Koi import file ke upload nai karaa gais hai.",
        "importuploaderrorsize": "Import file ke upload nai kare sakaa hai.\nIi file ke size allowed upload size se barraa hai.",
        "importuploaderrorpartial": "Import file ke upload nai kare sakaa hai.\nIi file ke khaali thora hissa ke upload karaa gais hai.",
index 0fd4291..b7387f9 100644 (file)
        "version-parser-function-hooks": "Kuke funkcija parsera",
        "version-hook-name": "Ime kuke",
        "version-hook-subscribedby": "Pretplaćeno od",
-       "version-version": "(Inačica $1)",
+       "version-version": "($1)",
        "version-license": "Licenca",
        "version-ext-license": "Licenca",
        "version-ext-colheader-version": "Verzija",
index 96b3d92..9a2c2a3 100644 (file)
        "unusedimages": "Njewužiwane dataje",
        "wantedcategories": "Požadane kategorije",
        "wantedpages": "Požadane strony",
+       "wantedpages-summary": "Tuta specialna strona naliči wšě hišće njeeksistowace strony, na kotrež eksistowace strony hižo wotkazuja.",
        "wantedpages-badtitle": "Njepłaćiwy titul we wuslědku: $1",
        "wantedfiles": "Požadane dataje",
        "wantedfiletext-cat": "Slědowace dataje so wužiwaja, ale njeeksistuju. Dataje z cuzych repozitorijow hodźa so nalistować, byrnjež eksistowali. Tajke wopačne pozitiwy su <del>přešmórnjene</del>. Nimo toho so strony w [[:$1]] nalistuja, kotrež dataje zasadźuja, kotrež njeeksistuja.",
        "version-parser-function-hooks": "Parserowe funkcije",
        "version-hook-name": "Mjeno hoki",
        "version-hook-subscribedby": "Abonowany wot",
-       "version-version": "(Wersija $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[žane mjeno]",
        "version-license": "Licenca MediaWiki",
        "version-ext-license": "Licenca",
index 44a93f1..78e4bfc 100644 (file)
        "version-parser-function-hooks": "Az értelmező függvényeinek hookjai",
        "version-hook-name": "Hook neve",
        "version-hook-subscribedby": "Használja",
-       "version-version": "(verzió: $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[nincs név]",
        "version-license": "MediaWiki licenc",
        "version-ext-license": "Licenc",
index b6a6bfb..9fcc0dd 100644 (file)
        "version-parser-function-hooks": "Uncinos de functiones del analysator syntactic",
        "version-hook-name": "Nomine del uncino",
        "version-hook-subscribedby": "Subscribite per",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[sin nomine]",
        "version-license": "Licentia pro MediaWiki",
        "version-ext-license": "Licentia",
index ebe565b..47976a4 100644 (file)
        "userlogin-loggedin": "Andan telah masuk log sebagai $1.\nGunakan formulir di bawah untuk masuk log sebagai pengguna lain.",
        "userlogin-createanother": "Buat akun lain",
        "createacct-emailrequired": "Alamat surel",
-       "createacct-emailoptional": "Alamat surel/email (dianjurkan untuk diisi)",
+       "createacct-emailoptional": "Alamat surel/email (sebaiknya diisi)",
        "createacct-email-ph": "Masukkan alamat surel Anda",
        "createacct-another-email-ph": "Masukkan alamat surel",
        "createaccountmail": "Gunakan kata sandi acak sementara dan kirimkan ke surel yang diinginkan",
        "currentrev-asof": "Revisi terkini pada $1",
        "revisionasof": "Revisi per $1",
        "revision-info": "Revisi per $1 oleh {{GENDER:$6|$2}}$7",
-       "previousrevision": "←Revisi sebelumnya",
-       "nextrevision": "Revisi selanjutnya→",
+       "previousrevision": "← Revisi sebelumnya",
+       "nextrevision": "Revisi selanjutnya →",
        "currentrevisionlink": "Revisi terkini",
        "cur": "skr",
        "next": "selanjutnya",
        "showhideselectedversions": "Tampilkan/sembunyikan versi terpilih",
        "editundo": "balikkan",
        "diff-empty": "(Tidak ada perbedaan)",
-       "diff-multi-sameuser": "({{PLURAL:$1|Satu revisi antara|$1 revisi antara}} oleh pengguna yang sama tidak ditampilkan)",
+       "diff-multi-sameuser": "({{PLURAL:$1|$1 revisi antara}} oleh pengguna yang sama tidak ditampilkan)",
        "diff-multi-otherusers": "({{PLURAL:$1|Satu revisi antara|$1 revisi antara}} oleh {{PLURAL:$2|satu pengguna lainnya|$2 pengguna}} tidak ditampilkan)",
        "diff-multi-manyusers": "({{PLURAL:$1|Satu|$1}} revisi antara oleh lebih dari $2 {{PLURAL:$2|satu|$2}} pengguna tak ditampilkan)",
        "difference-missing-revision": "{{PLURAL:$2|Satu revisi|$2 revisi}} dari perbedaan ini ($1) {{PLURAL:$2|tidak|tidak}} ditemukan.\n\nHal ini biasanya disebabkan oleh tautan diff yang kedaluwarsa ke halaman yang sudah dihapus.\nRinciannya dapat ditemukan di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log penghapusan].",
        "nextn": "{{PLURAL:$1|$1}} selanjutnya",
        "prevn-title": "$1 {{PLURAL:$1|hasil|hasil}} sebelumnya",
        "nextn-title": "$1 {{PLURAL:$1|hasil|hasil}} selanjutnya",
-       "shown-title": "Tampilkan $1 {{PLURAL:$1|hasil|hasil}} per halaman",
+       "shown-title": "Tampilkan $1 {{PLURAL:$1|hasil}} per halaman",
        "viewprevnext": "Lihat ($1 {{int:pipe-separator}} $2) ($3)",
        "searchmenu-exists": "* Halaman '''[[$1]]'''",
        "searchmenu-new": "<strong>Buat halaman \"[[:$1]]\" di wiki ini!</strong> {{PLURAL:$2|0=|Lihat pula halaman yang ditemukan dari pencarian Anda.|Lihat pula hasil pencarian yang ditemukan.}}",
        "ncategories": "$1 {{PLURAL:$1|kategori|kategori}}",
        "ninterwikis": "$1 {{PLURAL:$1|interwiki|interwiki}}",
        "nlinks": "$1 {{PLURAL:$1|pranala|pranala}}",
-       "nmembers": "$1 {{PLURAL:$1|isi|isi}}",
+       "nmembers": "$1 {{PLURAL:$1|isi}}",
        "nmemberschanged": "$1 → $2 {{PLURAL:$2|anggota|anggota}}",
        "nrevisions": "$1 {{PLURAL:$1|revisi|revisi}}",
        "nviews": "dilihat $1 {{PLURAL:$1|kali|kali}}",
        "nopagetitle": "Halaman tujuan tidak ditemukan",
        "nopagetext": "Halaman yang Anda tuju tidak ditemukan.",
        "pager-newer-n": "{{PLURAL:$1|1 lebih baru|$1 lebih baru}}",
-       "pager-older-n": "{{PLURAL:$1|1 lebih lama|$1 lebih lama}}",
+       "pager-older-n": "{{PLURAL:$1|$1 lebih lama}}",
        "suppress": "Pengawas",
        "querypage-disabled": "Halaman istimewa ini dinonaktifkan demi alasan kinerja.",
        "apihelp": "Bantuan API",
        "emailccsubject": "Salinan pesan Anda untuk $1: $2",
        "emailsent": "Surel terkirim",
        "emailsenttext": "Surel Anda telah dikirimkan.",
-       "emailuserfooter": "Surel ini dikirimkan oleh $1 kepada $2 menggunakan fungsi \"Suratepengguna\" di {{SITENAME}}.",
+       "emailuserfooter": "Surel ini dikirimkan oleh $1 kepada $2 menggunakan fungsi \"Surel Pengguna\" di {{SITENAME}}.",
        "usermessage-summary": "Tinggalkan pesan sistem.",
        "usermessage-editor": "Penyampai pesan sistem",
        "usermessage-template": "MediaWiki:UserMessage",
        "deleting-backlinks-warning": "'''Peringatan:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Halaman lain]] mengarah atau memiliki transklusi ke halaman yang akan Anda hapus.",
        "rollback": "Kembalikan suntingan",
        "rollbacklink": "kembalikan",
-       "rollbacklinkcount": "kembalikan $1 {{PLURAL:$1|suntingan|suntingan}}",
+       "rollbacklinkcount": "kembalikan $1 {{PLURAL:$1|suntingan}}",
        "rollbacklinkcount-morethan": "kembalikan lebih dari $1 {{PLURAL:$1|suntingan|suntingan}}",
        "rollbackfailed": "Pengembalian gagal dilakukan",
        "cantrollback": "Tidak dapat membatalkan suntingan;\nkontributor terakhir adalah satu-satunya penulis halaman ini.",
        "nolinkshere": "Tidak ada halaman yang memiliki pranala ke '''[[:$1]]'''.",
        "nolinkshere-ns": "Tidak ada halaman yang memiliki pranala ke '''[[:$1]]''' pada ruang nama yang dipilih.",
        "isredirect": "halaman pengalihan",
-       "istemplate": "dengan templat",
+       "istemplate": "tranklusi",
        "isimage": "pranala berkas",
-       "whatlinkshere-prev": "$1 {{PLURAL:$1|sebelumnya|sebelumnya}}",
-       "whatlinkshere-next": "$1 {{PLURAL:$1|selanjutnya|selanjutnya}}",
+       "whatlinkshere-prev": "{{PLURAL:$1|sebelumnya $1}}",
+       "whatlinkshere-next": "{{PLURAL:$1|selanjutnya $1}}",
        "whatlinkshere-links": "← pranala",
        "whatlinkshere-hideredirs": "$1 pengalihan",
        "whatlinkshere-hidetrans": "$1 transklusi",
        "autoblockid": "Blokir otomatis #$1",
        "block": "Blokir pengguna",
        "unblock": "Buka blokir pengguna",
-       "blockip": "Blokir pengguna",
+       "blockip": "Blokir {{GENDER:$1|pengguna}}",
        "blockip-legend": "Blokir pengguna",
        "blockiptext": "Gunakan formulir di bawah untuk memblokir akses penulisan dari sebuah alamat IP atau pengguna tertentu.\nIni hanya boleh dilakukan untuk mencegah vandalisme, dan sejalan dengan [[{{MediaWiki:Policy-url}}|kebijakan]].\nMasukkan alasan Anda di bawah (contoh, menuliskan nama halaman yang telah divandalisasi).",
        "ipaddressorusername": "Alamat IP atau nama pengguna:",
        "ipb-unblock-addr": "Hilangkan blokir $1",
        "ipb-unblock": "Hilangkan blokir seorang pengguna atau suatu alamat IP",
        "ipb-blocklist": "Lihat blokir yang diterapkan",
-       "ipb-blocklist-contribs": "Kontribusi untuk $1",
+       "ipb-blocklist-contribs": "Kontribusi untuk {{GENDER:$1|$1}}",
        "unblockip": "Hilangkan blokir terhadap alamat IP atau pengguna",
        "unblockiptext": "Gunakan formulir di bawah untuk mengembalikan kemampuan menulis sebuah alamat IP atau pengguna yang sebelumnya telah diblokir.",
        "ipusubmit": "Hilangkan blokir ini",
        "version-parser-function-hooks": "Kait fungsi parser",
        "version-hook-name": "Nama kait",
        "version-hook-subscribedby": "Dilanggani oleh",
-       "version-version": "(Versi $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[tanpa nama]",
        "version-svn-revision": "(r$2)",
        "version-license": "Lisensi MediaWiki",
index cd8748e..215c489 100644 (file)
        "version-parser-function-hooks": "Croces de functiones analisatores",
        "version-hook-name": "Nómine de croc",
        "version-hook-subscribedby": "Subscrit per",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-svn-revision": "(r$2)",
        "version-license": "Licentie",
        "version-software": "Software installat",
index 3aad06f..67697ba 100644 (file)
        "deletecomment": "Màkà:",
        "deleteotherreason": "Màkà ihe ozor kwa:",
        "deletereasonotherlist": "Mgbághàpụtá ozor",
-       "rollback_short": "Fifié àzú",
        "rollbacklink": "fifié àzú",
        "rollbackfailed": "Fifié na àzú dàrà",
        "protectlogpage": "Ntínyé nke ncẹdolu",
        "version-hooks": "Nyazo",
        "version-hook-name": "Áhà nyazo",
        "version-hook-subscribedby": "Dọkpụrụ shì",
-       "version-version": "(Ùdị $1)",
+       "version-version": "($1)",
        "version-license": "Íwú Ǹkwé",
        "version-poweredby-others": "nke ndi ozor",
        "version-software-product": "Nfófụtá",
index 04acf10..9799b9d 100644 (file)
        "duplicate-defaultsort": "Зем бе. Сатийна дIа-хьа хьоржама доагI \"$2\" хьалхара сатийна дIа-хьа хьоржама доагI \"$1\" хьахьоржа.",
        "version": "Доржам",
        "version-specialpages": "ГIулакхий оагIувнаш",
-       "version-version": "(Доржам $1)",
+       "version-version": "($1)",
        "version-software-version": "Доржам",
        "fileduplicatesearch-filename": "ПаьлацIи:",
        "fileduplicatesearch-submit": "Лаха",
index ac3ccfe..afc328c 100644 (file)
        "deletereasonotherlist": "Altra motivo",
        "deletereason-dropdown": "*Ordinara motivi por efaco\n** Demandita da autoro\n** Kopiyuro Violaco\n** Korupto",
        "rollback": "Retrorulez redakti",
-       "rollback_short": "Retrorular",
        "rollbacklink": "retrorulez",
        "rollbackfailed": "Retrorular ne sucesis",
        "cantrollback": "Ne esas posibla retrorular. La lasta kontributanto esas la nura autoro di ica pagino.",
        "version": "Versiono",
        "version-specialpages": "Specala pagini",
        "version-other": "Altra",
-       "version-version": "(Versiono $1)",
+       "version-version": "($1)",
        "version-license": "Licenco",
        "version-software-product": "Produkturo",
        "version-software-version": "Versiono",
index afe883f..8be4090 100644 (file)
        "delete-toobig": "Þessi síða hefur stóra breytingarskrá, yfir $1 {{PLURAL:$1|breyting|breytingar}}.\nÓheimilt er að eyða slíkum síðum til að valda ekki óæskilegum truflunum á {{SITENAME}}.",
        "delete-warning-toobig": "Þessi síða hefur stóra breytingarskrá, yfir $1 {{PLURAL:$1|breyting|breytingar}}.\nEyðing síðunnar gæti truflað vinnslu gangnasafns {{SITENAME}}; haltu áfram með varúð.",
        "rollback": "Taka aftur breytingar",
-       "rollback_short": "Taka aftur",
        "rollbacklink": "taka aftur",
        "rollbacklinkcount": "taka aftur $1 {{PLURAL:$1|breytingu|breytingar}}",
        "rollbacklinkcount-morethan": "taka aftur fleiri en $1 {{PLURAL:$1|breytingu|breytingar}}",
        "import-logentry-interwiki": "flutti inn $1",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|breyting flutt|breytingar fluttar}} inn frá $2",
        "javascripttest": "JavaScript prófun",
-       "javascripttest-title": "Keyri $1 prófun",
        "javascripttest-pagetext-noframework": "Þessi síða er frátekin fyrir JavaScript prófanir.",
        "javascripttest-pagetext-unknownframework": "Óþekktur prófunarrammi „$1“.",
        "javascripttest-pagetext-frameworks": "Veldu einn eftirtalinna prófunarramma: $1",
        "version-mediahandlers": "Rekill margmiðlunarskráa",
        "version-parser-extensiontags": "Þáttuð smáforrita tög",
        "version-hook-subscribedby": "Í áskrift af",
-       "version-version": "(Útgáfa $1)",
+       "version-version": "($1)",
        "version-license": "MediaWiki leyfi",
        "version-poweredby-credits": "Þessi wiki er knúin af '''[https://www.mediawiki.org/ MediaWiki]''', höfundaréttur © 2001-$1 $2.",
        "version-poweredby-others": "aðrir",
index 3629baf..c4d8038 100644 (file)
        "readonly_lag": "Il database è stato bloccato automaticamente per consentire ai server con i database slave di sincronizzarsi con il master",
        "internalerror": "Errore interno",
        "internalerror_info": "Errore interno: $1",
+       "internalerror-fatal-exception": "Errore irreversibile di tipo \"$1\"",
        "filecopyerror": "Impossibile copiare il file \"$1\" in \"$2\".",
        "filerenameerror": "Impossibile rinominare il file \"$1\" in \"$2\".",
        "filedeleteerror": "Impossibile cancellare il file \"$1\".",
        "userpage-userdoesnotexist": "L'account \"$1\" non corrisponde a un utente registrato.\nVerificare che si intenda davvero creare o modificare questa pagina.",
        "userpage-userdoesnotexist-view": "L'account utente \"$1\" non è registrato.",
        "blocked-notice-logextract": "Questo utente è attualmente bloccato.\nL'ultimo elemento del registro dei blocchi è riportato di seguito per informazione:",
-       "clearyourcache": "'''Nota:''' dopo aver salvato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti. \n*'''Firefox / Safari''': tenere premuto il tasto delle maiuscole e fare clic su ''Ricarica'', oppure premere ''Ctrl-F5'' o ''Ctrl-R'' (''⌘-R'' su Mac)\n*'''Google Chrome''': premere ''Ctrl-Shift-R'' (''⌘-Shift-R'' su un Mac)\n*'''Internet Explorer''': tenere premuto il tasto ''Ctrl'' mentre si fa clic su ''Refresh'', oppure premere ''Ctrl-F5''\n*'''Opera''': svuotare completamente la cache dal menu ''Strumenti → Preferenze''",
+       "clearyourcache": "<strong>Nota:</strong> dopo aver salvato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti. \n*<strong>Firefox / Safari:</strong> tenere premuto il tasto delle maiuscole <em>Shift</em> e fare clic su <em>Ricarica</em>, oppure premere <em>Ctrl-F5</em> o <em>Ctrl-R</em> (<em>⌘-R</em> su Mac)\n*<strong>Google Chrome:</strong> premere <em>Ctrl-Shift-R</em> (<em>⌘-Shift-R</em> su un Mac)\n*<strong>Internet Explorer:</strong> tenere premuto il tasto <em>Ctrl</em> e fare clic su <em>Aggiorna</em>, oppure premere <em>Ctrl-F5</em>\n*<strong>Opera:</strong> svuotare completamente la cache dal menu <em>Strumenti → Preferenze</em>",
        "usercssyoucanpreview": "'''Suggerimento:''' usa il pulsante 'Visualizza anteprima' per provare il tuo nuovo CSS prima di salvarlo.",
        "userjsyoucanpreview": "'''Suggerimento:''' usa il pulsante 'Visualizza anteprima' per provare il tuo nuovo JavaScript prima di salvarlo.",
        "usercsspreview": "'''Questa è solo un'anteprima del proprio CSS personale. Le modifiche non sono ancora state salvate!'''",
        "thumbnail_image-missing": "Sembra essere mancante il file: $1",
        "thumbnail_image-failure-limit": "Ci sono stati recentemente troppi tentativi falliti ($1 o più) di generare questa miniatura. Riprova più tardi.",
        "import": "Importa pagine",
-       "importinterwiki": "Importazione transwiki",
-       "import-interwiki-text": "Selezionare un progetto wiki e il titolo della pagina da importare.\nLe date di pubblicazione e i nomi degli autori delle varie versioni saranno conservati.\nTutte le operazioni di importazione trans-wiki sono registrate nel [[Special:Log/import|log di importazione]].",
+       "importinterwiki": "Importazione da un altro wiki",
+       "import-interwiki-text": "Selezionare un progetto wiki e il titolo della pagina da importare.\nLe date di pubblicazione e i nomi degli autori delle varie versioni saranno conservati.\nTutte le operazioni di importazione da altri wiki sono registrate nel [[Special:Log/import|registro di importazione]].",
        "import-interwiki-sourcewiki": "Wiki di origine:",
        "import-interwiki-sourcepage": "Pagina di origine:",
        "import-interwiki-history": "Copia l'intera cronologia di questa pagina",
        "importcantopen": "Impossibile aprire il file di importazione",
        "importbadinterwiki": "Collegamento inter-wiki errato",
        "importsuccess": "Importazione riuscita.",
-       "importnosources": "Non è stata definita una fonte per l'importazione transwiki; l'importazione diretta della cronologia non è attiva.",
+       "importnosources": "Non è stata definita una fonte per l'importazione da un altro wiki e l'importazione diretta della cronologia non è attiva.",
        "importnofile": "Non è stato caricato nessun file per l'importazione.",
        "importuploaderrorsize": "Caricamento del file per l'importazione non riuscito. Il file supera le dimensioni massime consentite per l'upload.",
        "importuploaderrorpartial": "Caricamento del file per l'importazione non riuscito. Il file è stato caricato solo in parte.",
        "revdelete-uname-unhid": "nome utente ripristinato",
        "revdelete-restricted": "limitazioni ai soli amministratori attivate",
        "revdelete-unrestricted": "limitazioni ai soli amministratori rimosse",
+       "logentry-block-block": "$1 {{GENDER:$2|ha bloccato}} {{GENDER:$4|$3}} con una scadenza di $5 $6",
+       "logentry-block-unblock": "$1 {{GENDER:$2|ha sbloccato}} {{GENDER:$4|$3}}",
+       "logentry-block-reblock": "$1 {{GENDER:$2|ha modificato}} le impostazioni del blocco per {{GENDER:$4|$3}} con una scadenza di $5 $6",
+       "logentry-suppress-block": "$1 {{GENDER:$2|ha bloccato}} {{GENDER:$4|$3}} con una scadenza di $5 $6",
+       "logentry-suppress-reblock": "$1 {{GENDER:$2|ha modificato}} le impostazioni del blocco per {{GENDER:$4|$3}} con una scadenza di $5 $6",
        "logentry-merge-merge": "$1 {{GENDER:$2|ha unito}} $3 in $4 (versioni fino al $5)",
        "logentry-move-move": "$1 {{GENDER:$2|ha spostato}} la pagina $3 a $4",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|ha spostato}} la pagina $3 a $4 senza lasciare redirect",
index 293ce5d..6911ff7 100644 (file)
        "unprotectthispage": "このページの保護を変更",
        "newpage": "新規ページ",
        "talkpage": "このページについて話し合う",
-       "talkpagelinktext": "トーク",
+       "talkpagelinktext": "議論",
        "specialpage": "特別ページ",
        "personaltools": "個人用ツール",
        "articlepage": "本文を表示",
        "version-parser-function-hooks": "パーサー関数フック",
        "version-hook-name": "フック名",
        "version-hook-subscribedby": "使用個所",
-       "version-version": "(バージョン $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[名前なし]",
        "version-license": "MediaWiki のライセンス",
        "version-ext-license": "ライセンス",
index 7665ee8..15f575c 100644 (file)
        "delete-warning-toobig": "Kaca iki duwé sajarah panyuntingan sing dawa, luwih saka $1 {{PLURAL:$1|révisi|révisi}}.\nMbusak kaca iki bisa ngrusak operasi basis data ing {{SITENAME}};\nkudu ngati-ati.",
        "deleting-backlinks-warning": "'''Awas:''' Kaca liyane mungkin ana sing nautake ing kaca sing arep sampeyan busak.",
        "rollback": "Mbalèkaké suntingan",
-       "rollback_short": "Balèkna",
        "rollbacklink": "balèaké",
        "rollbacklinkcount": "balèkaké $1 {{PLURAL:$1|suntingan|suntingan}}",
        "rollbacklinkcount-morethan": "balèkaké luwih saka $1 {{PLURAL:$1|suntingan|suntingan}}",
        "import-logentry-interwiki": "wis nge-transwiki $1",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|révisi}} saka $2",
        "javascripttest": "Panjajalan JavaScript",
-       "javascripttest-title": "Nglakokaké pangujian $1",
        "javascripttest-pagetext-noframework": "Kaca iki disadhiyakaké kanggo nglakokaké panjajalan JavaScript.",
        "javascripttest-pagetext-unknownframework": "Rangka kerja panjajalan ora dingertèni \"$1\".",
        "javascripttest-pagetext-frameworks": "Mangga pilih sawiji saka rangka kerja panjajalan iki: $1",
        "javascripttest-pagetext-skins": "Pilih kulit kanggo nglakokaké panjajalan mawa:",
        "javascripttest-qunit-intro": "Delok [dhokumèntasi panjajalan $1] nèng mediawiki.org.",
-       "javascripttest-qunit-heading": "Rangkéan panjajalan MediaWiki JavaScript QUnit",
        "tooltip-pt-userpage": "Kaca panganggo panjenengan",
        "tooltip-pt-anonuserpage": "Kaca panganggo IP panjenengan",
        "tooltip-pt-mytalk": "Kaca wicara panjenengan",
        "watchlisttools-edit": "Tuduhna lan sunting daftar pangawasan",
        "watchlisttools-raw": "Sunting daftar pangawasan mentah",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|wicara]])",
-       "unknown_extension_tag": "Tag èkstènsi ora ditepungi \"$1\"",
        "duplicate-defaultsort": "Pènget: Kunci pilih asal (''Default sort key'') \"$2\" nggantèkaké kunci pilih asal sadurungé \"$1\".",
        "version": "Versi",
        "version-extensions": "Èkstènsi sing wis diinstalasi",
        "version-parser-function-hooks": "Canthèlan fungsi parser",
        "version-hook-name": "Jeneng canthèlan",
        "version-hook-subscribedby": "Dilanggani déning",
-       "version-version": "(Vèrsi $1)",
+       "version-version": "($1)",
        "version-license": "Lisènsi MediaWiki",
        "version-ext-license": "Lisènsi",
        "version-ext-colheader-name": "Ekstensi",
        "specialpages-group-wiki": "Data lan piranti wiki",
        "specialpages-group-redirects": "Ngalihaké kaca astamèwa",
        "specialpages-group-spam": "Piranit spam",
+       "specialpages-group-developer": "Piranti déveloper",
        "blankpage": "Kaca kosong",
        "intentionallyblankpage": "Kaca iki disengajakaké kosong",
        "external_image_whitelist": " #Umbarna larikan iki apa anané<pre>\n#Pigunakaké fragmèn èksprèsi regular (mung bagéyan ing antara //) ing ngisor\n#Fragmèn ini bakal dicocogaké karo URL saka gambar-gambar èksternal\n#Fragmèn sing cocog bakal ditampilaké minangka gambar, yèn ora mung pranala menyang gambar waé sing ditampilaké\n#Larikan sing diwiwiti nganggo # dianggep minangka komentar\n#Iki ora mbédakaké aksara gedhé/cilik\n#Dèlèhna kabèh fragmèn èksprèsi regular sadhuwuré larikan iki. Umbarna larikan iki apa anané</pre>",
index 98ea5c2..4fc8d63 100644 (file)
        "version-parser-function-hooks": "სინტაქსური ანალიზატორის ჰუკი",
        "version-hook-name": "ჰუკის სახელი",
        "version-hook-subscribedby": "ჩაწერილია",
-       "version-version": "(ვერსია $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[სახელის გარეშე]",
        "version-svn-revision": "(r$2)",
        "version-license": "მედიავიკის ლიცენზია",
index a801a36..63ddb1f 100644 (file)
        "delete-warning-toobig": "Asebtar agi yesɛa amezruy axatar n ibeddilen, ugaren $1 {{PLURAL:$1|lqem|ileqman}}.\nTukksa-s tezmer ad terwi tiddit n taffa n isefka n {{SITENAME}} ;\nilaq ad seqdeceḍ s-leɛqel.",
        "deleting-backlinks-warning": "'''Ɣur-wet :''' Isebtar nniḍen sɛan azday ɣer asebtar i tebɣiḍ ad ekkeseḍ.",
        "rollback": "Semmet ibeddilen",
-       "rollback_short": "Semmet",
        "rollbacklink": "semmet",
        "rollbacklinkcount": "semmet $1 {{PLURAL:$1|abeddel|ibeddilen}}",
        "rollbacklinkcount-morethan": "semmet ugar n $1 {{PLURAL:$1|abeddel|ibeddilen}}",
        "import-logentry-interwiki": "$1 s transwiki",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|lqem|ileqman}} seg $2",
        "javascripttest": "Tarmit n JavaScript",
-       "javascripttest-title": "Asselkem n tirmitin $1",
        "javascripttest-pagetext-noframework": "Asebtar agi yeḥeṛṛ i usselkem n tirmitin JavaScript.",
        "javascripttest-pagetext-unknownframework": "Tamṣuka « $1 » warisem.",
        "javascripttest-pagetext-frameworks": "Ilaq ad xetreḍ yiwet n timṣukyin n tarmit agi : $1",
        "javascripttest-pagetext-skins": "Xter agwlim s anwa ad xeddemeḍ tarmit :",
        "javascripttest-qunit-intro": "Zeṛ [$1 tumlin n tarmit] ɣef mediawiki.org.",
-       "javascripttest-qunit-heading": "Azrar n tarmit QUnit n JavaScript ɣef MediaWiki",
        "tooltip-pt-userpage": "Asebter n umseqdac inu",
        "tooltip-pt-anonuserpage": "Asebter n wemseqdac n IP wukud tekkiḍ",
        "tooltip-pt-mytalk": "Asebter n umyannan inu",
        "version-parser-function-hooks": "Tiseɣnin yeẓẓlen n umsisleḍ n taseddast",
        "version-hook-name": "Isem n umgud",
        "version-hook-subscribedby": "Imeltaɣen :",
-       "version-version": "(lqem $1)",
+       "version-version": "($1)",
        "version-license": "Turagt MediaWiki",
        "version-ext-license": "Turagt",
        "version-ext-colheader-name": "Asiɣzef",
index ac50fb7..a54f831 100644 (file)
        "delete-toobig": "بۇل بەتتە بايتاق تۇزەتۋ تارىيحى بار, $1 تۇزەتۋدەن استام.\nبۇنداي بەتتەردىڭ جويۋى {{SITENAME}} تورابىن الدەقالاي ٴۇزىپ تاستاۋىنا بوگەت سالۋ ٴۇشىن تىيىمدالعان.",
        "delete-warning-toobig": "بۇل بەتتە بايتاق تۇزەتۋ تارىيحى بار, $1 تۇزەتۋدەن استام.\nبۇنىڭ جويۋى {{SITENAME}} تورابىنداعى دەرەكقور ارەكەتتەردى ٴۇزىپ تاستاۋىن مۇمكىن;\nبۇنى ابايلاپ وتكىزىڭىز.",
        "rollback": "وڭدەمەلەردى شەگىندىرۋ",
-       "rollback_short": "شەگىندىرۋ",
        "rollbacklink": "شەگىندىرۋ",
        "rollbackfailed": "شەگىندىرۋ ٴساتسىز ٴبىتتى",
        "cantrollback": "وڭدەمە قايتارىلمادى;\nسوڭعى ۇلەسكەرى تەك وسى بەتتىڭ باستاۋشىسى بولدى.",
        "hebrew-calendar-m10-gen": "تىموزدىڭ",
        "hebrew-calendar-m11-gen": "ابتىڭ",
        "hebrew-calendar-m12-gen": "ايلولدىڭ",
-       "unknown_extension_tag": "تانىلماعان كەڭەيتپە بەلگىسى «$1»",
        "version": "جۇيە نۇسقاسى",
        "version-extensions": "ورناتىلعان كەڭەيتىمدەر",
        "version-specialpages": "ارنايى بەتتەر",
        "version-parser-function-hooks": "قۇرىلىمدىق تالداتقىش جەتەلەرىنىڭ تۇزاقتارى",
        "version-hook-name": "تۇزاق اتاۋى",
        "version-hook-subscribedby": "تۇزاق تارتقىشتارى",
-       "version-version": "(نۇسقاسى: $1)",
+       "version-version": "($1)",
        "version-license": "لىيتسەنزىيياسى",
        "version-software": "ورناتىلعان باعدارلامالىق جاساقتاما",
        "version-software-product": "ٴونىم",
index 580baf0..54f1ae9 100644 (file)
@@ -9,7 +9,8 @@
                        "GaiJin",
                        "Kaztrans",
                        "Balnur.s",
-                       "Нұрлан Рахымжанов"
+                       "Нұрлан Рахымжанов",
+                       "아라"
                ]
        },
        "tog-underline": "Сілтеменің астын сызу:",
        "version-parser-function-hooks": "Құрылымдық талдатқыш жетелерінің тұзақтары",
        "version-hook-name": "Тұзақ атауы",
        "version-hook-subscribedby": "Тұзақ тартқыштары",
-       "version-version": "(Нұсқасы: $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[аты жоқ]",
        "version-license": "MediaWiki Лицензиясы",
        "version-ext-license": "Лицензия",
index 2cca3e1..7e62a68 100644 (file)
        "delete-toobig": "Bul bette baýtaq tüzetw tarïxı bar, $1 tüzetwden astam.\nBundaý betterdiñ joywı {{SITENAME}} torabın äldeqalaý üzip tastawına böget salw üşin tïımdalğan.",
        "delete-warning-toobig": "Bul bette baýtaq tüzetw tarïxı bar, $1 tüzetwden astam.\nBunıñ joywı {{SITENAME}} torabındağı derekqor äreketterdi üzip tastawın mümkin;\nbunı abaýlap ötkiziñiz.",
        "rollback": "Öñdemelerdi şegindirw",
-       "rollback_short": "Şegindirw",
        "rollbacklink": "şegindirw",
        "rollbackfailed": "Şegindirw sätsiz bitti",
        "cantrollback": "Öñdeme qaýtarılmadı;\nsoñğı üleskeri tek osı bettiñ bastawşısı boldı.",
        "version-parser-function-hooks": "Qurılımdıq taldatqış jeteleriniñ tuzaqtarı",
        "version-hook-name": "Tuzaq atawı",
        "version-hook-subscribedby": "Tuzaq tartqıştarı",
-       "version-version": "(Nusqası: $1)",
+       "version-version": "($1)",
        "version-license": "Lïcenzïyası",
        "version-software": "Ornatılğan bağdarlamalıq jasaqtama",
        "version-software-product": "Önim",
index b6cd802..4e62612 100644 (file)
        "delete-warning-toobig": "ទំព័រនេះមានប្រវត្តិកែប្រែធំលើសពី $1 {{PLURAL:$1|កំណែ|កំណែ}}។\n\nការលុបទំព័របែបនេះចោលអាចធ្វើអោយមានការរអាក់រអួលប្រតិបត្តិការរបស់មូលដ្ឋានទិន្នន័យក្នុង{{SITENAME}}។\n\nសូមបន្តសកម្មភាពនេះដោយប្រុងប្រយ័ត្ន។",
        "deleteprotected": "អ្នកមិនអាចលុបចោលទំព័រនេះបានទេព្រោះវាត្រូវបានការពារហើយ។",
        "rollback": "មូលត្រឡប់កំណែប្រែ",
-       "rollback_short": "មូលត្រឡប់",
        "rollbacklink": "មូលត្រឡប់",
        "rollbacklinkcount": "មូលត្រឡប់ $1 {{PLURAL:$1|កំណែប្រែ|កំណែប្រែ}}",
        "rollbacklinkcount-morethan": "មូលត្រឡប់ច្រើនជាង $1 {{PLURAL:$1|កំណែប្រែ|កំណែប្រែ}}",
        "version-mediahandlers": "កម្មវិធី​បើក​មេឌា​ (Media handlers)",
        "version-hook-name": "ឈ្មោះ​ Hook",
        "version-hook-subscribedby": "បានជាវ ជាប្រចាំ ដោយ",
-       "version-version": "(កំណែ $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[គ្មានឈ្មោះ]",
        "version-license": "អាជ្ញាបណ្ណ​មេឌាវិគី",
        "version-ext-license": "អាជ្ញាបណ្ណ",
index cb9be3c..d598f94 100644 (file)
        "otherlanguages": "ಇತರ ಭಾಷೆಗಳು",
        "redirectedfrom": "($1 ಇಂದ ಪುನರ್ನಿರ್ದೇಶಿತ)",
        "redirectpagesub": "ಪುನರ್ನಿರ್ದೇಶನ ಪುಟ",
+       "redirectto": "ಪುನರ್ನಿರ್ದೇಶನ ಇದಕ್ಕೆ:",
        "lastmodifiedat": "ಈ ಪುಟವನ್ನು ಕೊನೆಯಾಗಿ $2, $1 ರಂದು ಬದಲಾಯಿಸಲಾಗಿತ್ತು.",
        "viewcount": "ಈ ಪುಟವನ್ನು {{PLURAL:$1|೧ ಬಾರಿ|$1 ಬಾರಿ}} ವೀಕ್ಷಿಸಲಾಗಿದೆ.",
        "protectedpage": "ಸಂರಕ್ಷಿತ ಪುಟ",
        "currentrev": "ಈಗಿನ ತಿದ್ದುಪಡಿ",
        "currentrev-asof": "ಅತ್ಯಂತ ಇತ್ತೀಚಿನ ಆವೃತ್ತಿ ($1)",
        "revisionasof": "$1 ದಿನದ ಆವೃತ್ತಿ",
-       "revision-info": "$2 ಅವರು $1 ಅಂದು ಸಂಪಾದನೆ ಮಾಡಿದ ನಂತರದ ಆವೃತ್ತಿ",
+       "revision-info": "ಬದಲಾವಣೆ $1 ರಂತೆ {{GENDER:$6|$2}} ಇವರಿಂದ $7",
        "previousrevision": "←ಹಿಂದಿನ ಪರಿಷ್ಕರಣೆ",
        "nextrevision": "ಮುಂದಿನ ಪರಿಷ್ಕರಣೆ",
        "currentrevisionlink": "ಈಗಿನ ಪರಿಷ್ಕರಣೆ",
        "rcshowhidebots": "ಬಾಟ್‍ಗಳನ್ನು $1",
        "rcshowhidebots-show": "ತೊರಿಸಿ",
        "rcshowhidebots-hide": "ಮರೆ ಮಾಡಿ",
-       "rcshowhideliu": "ಲಾಗ್-ಇನ್ ಆಗಿರುವ ಸದಸ್ಯರು $1",
+       "rcshowhideliu": "$1 ನೊಂದಾಯಿತ ಬಳಕೆದಾರರು",
        "rcshowhideliu-show": "ತೊರಿಸಿ",
        "rcshowhideliu-hide": "ಮರೆ ಮಾಡಿ",
        "rcshowhideanons": "ಅನಾಮಧೇಯ ಸದಸ್ಯರು $1",
        "number_of_watching_users_pageview": "[$1 ವೀಕ್ಷಿಸುತ್ತಿರುವ {{PLURAL:$1|ಸದಸ್ಯ|ಸದಸ್ಯರು}}]",
        "rc_categories": "ವರ್ಗಗಳಿಗೆ ಮಾತ್ರ ಸೀಮಿತವಾಗಿಸು (\"|\" ಇಂದ ಬೇರ್ಪಡಿಸು)",
        "rc_categories_any": "ಯಾವುದೇ",
+       "rc-change-size-new": "$1 {{PLURAL:$1|byte|bytes}} ಬದಲಾವಣೆಯ ನಂತರ change",
        "newsectionsummary": "/* $1 */ ಹೊಸ ವಿಭಾಗ",
        "rc-enhanced-expand": "ವಿವರಗಳನ್ನು ತೋರಿಸು (JavaScript ಬೇಕಾಗುತ್ತದೆ)",
        "rc-enhanced-hide": "ವಿವರಗಳನ್ನು ಅಡಗಿಸು",
        "suppress": "ನಿಗಾ ಇಡುವವ",
        "booksources": "ಪುಸ್ತಕಗಳ ಮೂಲ",
        "booksources-search-legend": "ಪುಸ್ತಕ ಮೂಲಗಳಿಗೆ ಹುಡುಕು",
+       "booksources-search": "ಹುಡುಕು",
        "specialloguserlabel": "ಸದಸ್ಯ:",
        "speciallogtitlelabel": "ಶೀರ್ಷಿಕೆ:",
        "log": "ದಾಖಲೆಗಳು",
        "deletereasonotherlist": "ಇತರ ಕಾರಣ",
        "deletereason-dropdown": "*ಸಾಮಾನ್ಯ ಅಳಿಸುವಿಕೆಯ ಕಾರಣಗಳು\n** ಸಂಪಾದಕರ ಕೋರಿಕೆ\n** ಕೃತಿಸ್ವಾಮ್ಯತೆಯ ಉಲ್ಲಂಘನೆ\n** Vandalism",
        "delete-edit-reasonlist": "ಅಳಿಸುವಿಕೆ ಕಾರಣಗಳನ್ನು ಸಂಪಾದಿಸು",
-       "rollback_short": "ತೊಡೆದುಹಾಕು",
        "rollbacklink": "ತೊಡೆದುಹಾಕು",
        "protectlogpage": "ಸಂರಕ್ಷಣೆ ದಿನಚರಿ",
        "protectedarticle": "\"[[$1]]\" ಸಂರಕ್ಷಿಸಲಾಗಿದೆ.",
        "tooltip-pt-mycontris": "ನಿಮ್ಮ ಕಾಣಿಕೆಗಳ ಪಟ್ಟಿ",
        "tooltip-pt-login": "ನೀವು ಲಾಗ್ ಇನ್ ಆಗಬೇಕೆಂದು ಕೋರುತ್ತೇವೆ, ಆದರೆ ಅದು ಖಡ್ಡಾಯ ಏನು ಅಲ್ಲ.",
        "tooltip-pt-logout": "ಲಾಗ್ ಔಟ್",
+       "tooltip-pt-createaccount": "ನೀವು ಹೊಸ ಖಾತೆಯನ್ನು ತೆರೆದು ಲಾಗಿನ್ ಆಗುವುದನ್ನು ಹುರಿದುಂಬಿಸುತ್ತೇವೆ; ಆದಾಗ್ಯೂ, ಇದು ಅವಶ್ಯವೇನಿಲ್ಲ",
        "tooltip-ca-talk": "ಮಾಹಿತಿ ಪುಟದ ಬಗ್ಗೆ ಚರ್ಚೆ",
        "tooltip-ca-edit": "ಈ ಪುಟವನ್ನು ನೀವು ಸಂಪಾದಿಸಬಹುದು. ಉಳಿಸುವ ಮುನ್ನ ಮುನ್ನೋಟವನ್ನು ಉಪಯೋಗಿಸಿ.",
        "tooltip-ca-addsection": "ಹೊಸ ವಿಭಾಗವನ್ನು ಪ್ರಾರಂಭಿಸಿ",
        "others": "ಇತರರು",
        "siteusers": "{{SITENAME}} {{PLURAL:$2|ಸದಸ್ಯ|ಸದಸ್ಯರು}} $1",
        "creditspage": "ಪುಟದ ಗೌರವಗಳು",
+       "simpleantispam-label": "ಆಂಟಿ-ಸ್ಪ್ಯಾಮ್ ಪರೀಕ್ಷೆ.\nಇದನ್ನು ತುಂಬ <strong>ಬೇಡಿ</strong>!",
        "pageinfo-toolboxlink": "ಪುಟದ ಮಾಹಿತಿ",
        "pageinfo-redirectsto": "ಪುನರ್ನಿರ್ದೇಶನ:",
        "deletedrevision": "ಹಳೆ ಆವೃತ್ತಿ $1 ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ",
        "file-info-size": "$1 × $2 ಚಿತ್ರಬಿಂದು, ಫೈಲಿನ ಗಾತ್ರ: $3, MIME ಪ್ರಕಾರ: $4",
        "file-nohires": "ಇದಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ವಿವರವಾದ ನೋಟ ಇಲ್ಲ.",
        "svg-long-desc": "SVG ಫೈಲು, ಸುಮಾರಾಗಿ $1 × $2 ಚಿತ್ರಬಿಂದುಗಳು, ಫೈಲಿನ ಗಾತ್ರ: $3",
-       "show-big-image": "ಅತಿ ಹೆಚ್ಚು ವಿವರವಾದ ನೋಟ",
+       "show-big-image": "ಮೂಲ ಕಡತ",
+       "show-big-image-size": "$1 × $2 ಪಿಕ್ಸೆಲ್‌ಗಳು",
        "newimages": "ಹೊಸ ಫೈಲುಗಳ ಪ್ರದರ್ಶನ",
        "imagelisttext": "ಕೆಳಗೆ ಇರುವುದು '''$1''' {{PLURAL:$1|ಫೈಲಿನ|ಫೈಲುಗಳ}} ಪಟ್ಟಿ, $2 ಏರ್ಪಾಟಾಗಿದೆ.",
        "newimages-summary": "ಈ ವಿಶೇಷ ಪುಟವು ಕೊನೆಯದಾಗಿ ಅಪ್ಲೋಡ್ ಆಗಿರುವ ಫೈಲುಗಳನ್ನು ತೋರುತ್ತದೆ",
        "exif-usercomment": "ಬಳಕೆದಾರನ ಟಿಪ್ಪಣಿ",
        "exif-relatedsoundfile": "ಸಂಬಂಧಿತ ಧ್ವನಿ ಫೈಲು",
        "exif-datetimeoriginal": "ಮಾಹಿತಿ ಸೃಷ್ಟಿಯಾದ ದಿನಾಂಕ ಮತ್ತು ಕಾಲ",
+       "exif-datetimedigitized": "ಗಣಕೀಕರಣದ ದಿನಾಂಕ ಮತ್ತು ಸಮಯ",
        "exif-exposuretime-format": "$1 ಕ್ಷಣ ($2)",
        "exif-fnumber": "F ಸಂಖ್ಯೆ",
        "exif-brightnessvalue": "ಪ್ರಕಾಶತೆ",
        "exif-copyrighted": "ಕೃತಿಸ್ವಾಮ್ಯತೆಯ ಸ್ಥಿತಿ",
        "exif-copyrightowner": "ಕೃತಿಸ್ವಾಮ್ಯತೆಯನ್ನು ಹೊಂದಿರುವವರು",
        "exif-unknowndate": "ದಿನಾಂಕ ತಿಳಿದಿಲ್ಲ",
+       "exif-orientation-1": "ಸಾಧಾರಣ",
        "exif-orientation-3": "180° ತಿರುಗಿಸಲ್ಪಟ್ಟಿದೆ",
        "exif-componentsconfiguration-0": "ಅಸ್ಥಿತ್ವದಲ್ಲಿ ಇಲ್ಲ",
        "exif-meteringmode-0": "ತಿಳಿದಿಲ್ಲ",
        "watchlisttools-view": "ಸೂಚಿಸಲ್ಪಟ್ಟ ಬದಲಾವಣೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ",
        "watchlisttools-edit": "ವೀಕ್ಷಣಾಪಟ್ಟಿಯನ್ನು ನೋಡು ಮತ್ತು ಸಂಪಾದಿಸು",
        "watchlisttools-raw": "ಮೂಲ ವೀಕ್ಷಣಾಪಟ್ಟಿಯನ್ನು ಸಂಪಾದಿಸು",
+       "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|ಚರ್ಚೆ]])",
        "version": "ಆವೃತ್ತಿ",
        "version-specialpages": "ವಿಶೇಷ ಪುಟಗಳು",
        "version-other": "ಇತರ",
-       "version-version": "(ಆವೃತ್ತಿ $1)",
+       "version-version": "($1)",
        "version-software": "ಸಂಸ್ಥಾಪಿಸಲಾಗಿರುವ ತಂತ್ರಾಂಶ",
        "version-software-product": "ಉತ್ಪನ್ನ",
        "version-software-version": "ಆವೃತ್ತಿ",
        "specialpages-group-pages": "ಪುಟಗಳ ಪಟ್ಟಿ",
        "specialpages-group-redirects": "ವಿಶೇಷ ಪುಟಗಳನ್ನು ಪುನರ್ನಿರ್ದೇಶಿಸಲಾಗುತ್ತಿದೆ",
        "blankpage": "ಖಾಲಿ ಪುಟ",
-       "tag-filter": "[[ವಿಶà³\87ಷ:ತಳà³\81à²\95à³\81à²\97ಳà³\81|ತಳà³\81à²\95à³\81]] ಶೋಧಕ:",
+       "tag-filter": "[[ವಿಶà³\87ಷ:à²\9fà³\8dಯಾà²\97à³\8dâ\80\8cà²\97ಳà³\81|à²\9fà³\8dಯಾà²\97à³\8d]] ಶೋಧಕ:",
        "tag-filter-submit": "ಶೋಧಕ",
+       "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|ಟ್ಯಾಗ್|ಟ್ಯಾಗ್‌ಗಳು}}]]: $2)",
        "tags-title": "ಅಂಕಿತಗಳು",
        "tags-tag": "ಅಂಕಿತ ನಾಮ",
        "tags-active-header": "ಸಕ್ರಿಯ?",
        "htmlform-selectorother-other": "ಇತರ",
        "htmlform-no": "ಇಲ್ಲ",
        "htmlform-yes": "ಹೌದು",
+       "logentry-delete-delete": "$1 {{GENDER:$2|ಅಳಿಸಲಾಯಿತು}} ಪುಟ $3",
        "revdelete-restricted": "ನಿರ್ವಾಹಕರಿಗೆ ನಿಬಂಧನೆಗಳನ್ನು ಅನ್ವಯಿಸಲಾಯಿತು",
        "revdelete-unrestricted": "ನಿರ್ವಾಹಕರ ನಿಬಂಧನೆಗಳನ್ನು ತೆಗೆಯಲಾಯಿತು",
+       "logentry-move-move": "$1 $3 ಪುಟವನ್ನು $4 ಕ್ಕೆ {{GENDER:$2|ಸರಿಸಿದ್ದಾರೆ}}",
+       "logentry-newusers-create": "ಬಳಕೆದಾರ ಖಾತೆ $1 ನ್ನು {{GENDER:$2|ಸೃಷ್ಟಿಸಲಾಯಿತು}}",
+       "logentry-upload-upload": "$1 {{GENDER:$2|ಅಪ್ಲೋಡ್ ಮಾಡಿದ್ದಾರೆ}} $3",
        "rightsnone": "(ಯಾವೂ ಇಲ್ಲ)",
        "revdelete-summary": "ಸಂಪಾದನೆಯ ತಾತ್ಪರ್ಯ",
        "feedback-subject": "ವಿಷಯ:",
        "feedback-message": "ಸಂದೇಶ:",
+       "searchsuggest-search": "ಹುಡುಕು",
        "duration-seconds": "$1 {{PLURAL:$1|ಕ್ಷಣ|ಕ್ಷಣಗಳು}}",
        "duration-minutes": "$1 {{PLURAL:$1|ನಿಮಿಷ|ನಿಮಿಷಗಳು}}",
        "duration-hours": "$1 {{PLURAL:$1|ಘಂಟೆ|ಘಂಟೆಗಳು}}",
index 6444df3..e6746bf 100644 (file)
        "recentchanges-label-plusminus": "바이트로 표기된 바뀐 문서 크기",
        "recentchanges-legend-heading": "'''범례:'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|새 문서 목록]]도 보세요)",
-       "recentchanges-legend-plusminus": "(''±123'')",
+       "recentchanges-legend-plusminus": "(<em>±123</em>)",
        "rcnotefrom": "아래는 <strong>$3, $4</strong>부터 시작하는 {{PLURAL:$5|바뀜이 있습니다}}. (최대 <strong>$1</strong>개가 보여집니다)",
        "rclistfrom": "$3 $2부터 시작하는 새로 바뀐 문서 보기",
        "rcshowhideminor": "사소한 편집을 $1",
        "tooltip-preferences-save": "환경 설정 저장하기",
        "tooltip-summary": "짧은 요약을 적어주세요",
        "interlanguage-link-title": "$1 – $2",
-       "common.css": "/* 이 CSS 설정은 모든 스킨에 동일하게 적용됩니다 */",
+       "common.css": "/* 이 CSS 설정은 모든 스킨에 적용됩니다 */",
        "print.css": "/* 이 CSS 설정은 인쇄 출력 화면에 적용됩니다 */",
        "noscript.css": "/* 이 CSS 설정은 자바스크립트를 비활성화한 사용자에 적용됩니다 */",
        "group-autoconfirmed.css": "/* 이 CSS 설정은 자동 인증된 사용자에만 적용됩니다 */",
        "markaspatrolleddiff": "점검한 문서로 표시",
        "markaspatrolledtext": "이 문서를 점검한 것으로 표시",
        "markedaspatrolled": "점검한 문서로 표시",
-       "markedaspatrolledtext": "[[:$1]] ë¬¸ì\84\9cì\9d\98 ì\84 í\83\9dí\95\9c í\8c\90ì\9d\84 ì\88\9cì°°í\95\9c ê²\83ì\9c¼ë¡\9c í\91\9cì\8b\9cí\95\98ì\98\80습니다.",
+       "markedaspatrolledtext": "[[:$1]] ë¬¸ì\84\9cì\9d\98 ì\84 í\83\9dí\95\9c í\8c\90ì\9d\84 ì \90ê²\80í\95\9c ê²\83ì\9c¼ë¡\9c í\91\9cì\8b\9cí\96\88습니다.",
        "rcpatroldisabled": "최근 바뀜 점검 기능 비활성화됨",
        "rcpatroldisabledtext": "최근 바뀜 점검 기능은 현재 비활성화되어 있습니다.",
        "markedaspatrollederror": "점검한 것으로 표시할 수 없습니다.",
        "exif-compression-4": "CCITT 그룹-4 팩스 인코딩",
        "exif-compression-6": "JPEG (오래됨)",
        "exif-compression-8": "수축 (Adobe)",
-       "exif-compression-32773": "PackBits (매킨토시 RLE)",
+       "exif-compression-32773": "PackBits (Macintosh RLE)",
        "exif-compression-32946": "수축 (PKZIP)",
        "exif-copyrighted-true": "저작권의 보호를 받음",
        "exif-copyrighted-false": "저작권 상태를 설정하지 않음",
index 141312d..a8bbd27 100644 (file)
        "delete-toobig": "Бу бетни, $1 {{PLURAL:$1|1=версияла|версияла}} бла бек узун тарихи барды.\nБыллай бетлени кетерилиую, {{SITENAME}} сайтны бузмаз ючюн чекленгенди.",
        "delete-warning-toobig": "Бу бетни уллу тюрлендириу тарихи барды, $1 {{PLURAL:$1|1=версиядан|версиядан}} артыкъ.\nБуну кетериу {{SITENAME}} ишлеулени асхатыргъа боллукъду;\nэсгере андан ары ишлегиз.",
        "rollback": "Тюрлендириулени ызына ал",
-       "rollback_short": "Ызына ал",
        "rollbacklink": "ызына къайтарыу",
        "rollbacklinkcount": "$1 {{PLURAL:$1|тюрлендириуню ызына|тюрлендириуню ызларына}} тёнгерет",
        "rollbacklinkcount-morethan": "$1 тюрлендириуден кёбню {{PLURAL:$1|ызларына}} тёнгерет",
        "import-logentry-interwiki": "$1 трансвикиленди",
        "import-logentry-interwiki-detail": "$2 бетден  $1 {{PLURAL:$1|версия}}",
        "javascripttest": "JavaScript тинтилиую",
-       "javascripttest-title": "$1 тинтиле турады",
        "tooltip-pt-userpage": "Къошулуучу бетигиз",
        "tooltip-pt-anonuserpage": "Сизни IP-адресигиз ючюн къошулуучу бет",
        "tooltip-pt-mytalk": "Сизни сюзюу бетигиз",
        "hebrew-calendar-m6-gen": "Адар",
        "hebrew-calendar-m6a-gen": "Адар I",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|сюзюу]])",
-       "unknown_extension_tag": "Къошакъны билинмеген \"$1\" теги",
        "duplicate-defaultsort": "'''Эсгериу:''' Бар саналгъан \"$2\" сыныфлама ачхыч, аллындагъы \"$1\" сыныфлама ачхычны джараусуз этеди.",
        "version": "Версия",
        "version-extensions": "Салыннган кенгертиуле",
        "version-parser-function-hooks": "Синтаксис анализаторну функцияларын тутуучула",
        "version-hook-name": "Тутуучуну аты",
        "version-hook-subscribedby": "Абонент болгъан",
-       "version-version": "(Версия $1)",
+       "version-version": "($1)",
        "version-license": "MediaWiki'ни лицензиясы",
        "version-ext-colheader-name": "Кенгериу",
        "version-ext-colheader-description": "Ачыкълау",
index 407eca6..f74650d 100644 (file)
@@ -24,6 +24,7 @@
        "tog-watchdefault": "Donn Sigge beim Ändere automattesch för ming Oppaßlėß vörschlonn",
        "tog-watchmoves": "Donn Sigge beim Ömnänne automattesch för ming Oppaßlėß vörschlonn",
        "tog-watchdeletion": "Donn Sigge beim Fottschmiiße automattesch för ming Oppaßlėß vörschlonn",
+       "tog-watchrollback": "Donn Sigge beim schtantepee retuur Nämme vun Änderonge automattesch för ming Oppaßlėß vörschlonn",
        "tog-minordefault": "Dun all ming Änderunge jedes Mol als klein Mini-Änderunge vürschlage",
        "tog-previewontop": "Zeisch de Vör-Aanseesch övver däm Fäld för der Täx enzejävve aan.",
        "tog-previewonfirst": "Zeich de Vör-Aansich tirek för et eetste Mol beim Bearbeide aan",
@@ -36,8 +37,8 @@
        "tog-fancysig": "Donn de „Ungerschreff“ als Wiki-Tex behandelle (ohne enne automattesche Lengk)",
        "tog-uselivepreview": "Vör-Aansesch övver AJAX zeije",
        "tog-forceeditsummary": "Froch noh, wann en däm Feld „Koot zosammejefass, Quell“ beim Avspeichere nix dren steiht",
-       "tog-watchlisthideown": "Dun ming eije Änderunge <strong>nit</strong> en minger Oppassliss aanzeije",
-       "tog-watchlisthidebots": "Dun jedes Mol dä Bots ehr Änderunge <strong>nit</strong> en minger Oppassliss zeije",
+       "tog-watchlisthideown": "Don ming eije Änderonge <strong>nit</strong> en minger Oppaßleß aanzeije",
+       "tog-watchlisthidebots": "Dun jedes Mohl dä Bots ehr Änderonge <strong>nit</strong> en minger Oppaßleß zeije",
        "tog-watchlisthideminor": "Dun jedes Mol de klein Mini-Änderunge <strong>nit</strong> en minger Oppassliss zeije",
        "tog-watchlisthideliu": "Enjeloggte Metmaacher ier Änderunge jedesmol <strong>nit</strong> en minger Oppassliss aanzeije",
        "tog-watchlisthideanons": "Namelose Metmaacher ier Änderunge jedesmol <strong>nit</strong> en minger Oppassliss aanzeije",
        "pool-timeout": "Zick zem Waade affjeloufe, diweil mer op en Sperr am Waade wohre",
        "pool-queuefull": "De Schlang zom Waade op ene freie Prozäß zom Beärbeide es vull",
        "pool-errorunknown": "Dä Fähler kenne mer nit",
+       "pool-servererror": "Dä <i lang=\"en\" xml:lang=\"en\">pool counter</i> Deens schteiht nit zor Verföhjong ($1).",
        "poolcounter-usage-error": "Fähler beim Aanwände: $1",
        "aboutsite": "Övver {{GRAMMAR:Akkusativ|{{ucfirst:{{SITENAME}}}}}}",
        "aboutpage": "Project:Övver {{GRAMMAR:Akkusativ|{{ucfirst:{{SITENAME}}}}}}",
        "readonly_lag": "De Daatebank es för en koote Zigg automattesch jesperrt, för de Daate vun de ongerjeodente Rääschner mem Houprääschner avzejliiche.",
        "internalerror": "De Wiki-Soffwär hät ene Fähler jefunge",
        "internalerror_info": "Enne ennere Fäähler en de ẞoffwäer es opjetrodde: $1",
+       "internalerror-fatal-exception": "Ene schlemme Fähler vun dä Zoot „$1“ es opjetrodde.",
        "filecopyerror": "Kunnt de Datei „$1“ nit noh „$2“ kopeere.",
        "filerenameerror": "Kunnt de Datei „$1“ nit op „$2“ ömdäufe.",
        "filedeleteerror": "Kunnt de Datei „$1“ nit fottschmieße.",
        "createaccount-text": "Einer hät Desch als Medmaacher „$2“ {{GRAMMAR:em|{{SITENAME}}}} aanjemelldt.\nDat es e Wiki, un De fengks et onger däm URL:\n $4\nDat Passwoot „$3“ hät sesch dat Wiki för Disch usjewörfelt.\nDon jlisch enlogge un donn et ändere.\n\nWann Dat all böömesch Dörver för Desch sin, da fojeß heh di\ne-mail eijfach. Wann De en däm Wikki nit metmaache wells, och.",
        "login-throttled": "Do häs zo öff, zo vill, un zo lang en de letzde Zick probeet, ennzelogge.\nWaad e Wielsche ävver $1, ih dat De et wider versöhks.",
        "login-abort-generic": "Dat Enlogge hät nit jeflup.",
+       "login-migrated-generic": "Dinge Zohjang zom Wikki es verändert woode un Dinge Metmaacher_Nahme jidd_et heh nit mieh.",
        "loginlanguagelabel": "Schprohch: $1",
        "suspicious-userlogout": "Do bes '''nit''' ußjelogg.\nEt süht us, wi wann ene kappodde Brauser udder <i lang=\"en\">proxy</i>ẞööver met Zwescheschpeischer noh däm Ußlogge jefrooch hät.",
        "createacct-another-realname-tip": "Dä reschteje Nahme kam_mer fott lohße.\n\nWann dä aanjejovve es, weet_e jebruch, öm öffentlesch de Schriiver för Beidrääsch ze nänne.",
        "postedit-confirmation-saved": "Ding Änderunge sin nit faßjehallde.",
        "edit-already-exists": "Kunnt kei neu Sigg aanlääje. Di Sigg jidd_et ald.",
        "defaultmessagetext": "Dä standaadmäßije Tex",
-       "content-failed-to-parse": "Et wohr nit müjjelesch, dä Enhalld met däm <i lang=\"en\">MIME-Typ</i> $2 för en Dattei met $1 dren ze verwooschte: $3.",
+       "content-failed-to-parse": "Et wohr nit müjjelesch, dä Enhalld met däm <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\" title=\"Multi-Purpose Internet Mail Extensions\">MIME</i>-Tüpp <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\" >$2</code> för en Dattei met $1 dren ze verwooschte: $3.",
        "invalid-content-data": "Di Daate en dä Sigg sen onjöltesch.",
        "content-not-allowed-here": "Ene Enhalld vun dä Zoot „$1“ es op dä Sigg „[[$2]]“ nit zohjelohße.",
        "editwarning-warning": "Wann de vun hee dä Sigg fott jeihß, doh künnte all Ding Änderonge aan dä Sigg verschött jonn.\nDo kanns heh di Warnung affschallde, wann de aanjemelldt un enjelogg bes, dann kriß de se nieh mieh wider. Jangk doför en dä Afschnett „{{int:prefs-editing}}“ en Dinge Enschtellonge.",
        "searchdisabled": "Dat Söhke hee {{GRAMMAR:en|{{SITENAME}}}} es em Momang avjeschalt.\nDat weed op dänne ẞööver ad ens jemaat, domet de Lass op inne nit ze jroß weed,\nun winnischsdens dat normale Sigge Oprofe flöck jenoch jeiht.\n\nEhr künnt esu lang övver en Söhkmaschin vun usserhalv emmer noch\nSigge us {{GRAMMAR:Dative|{{ucfirst:{{SITENAME}}}}}} finge.\nEt es nit jesaht,\ndat dänne ehr Daate topaktoell sin,\nävver et es bäßer wi jaa_nix.",
        "search-error": "An error has occurred while searching: $1",
        "preferences": "ming Enstellunge",
-       "mypreferences": "Enstellunge",
+       "mypreferences": "Enschtällonge",
        "prefs-edits": "Aanzahl Änderunge am Wiki:",
        "prefsnologintext2": "Donn ennlogge, öm Ding Enschtällonge ze verändere.",
        "prefs-skin": "Et Ussinn",
        "right-override-export-depth": "Beim Sigge Expoteere de Sigge metnämme, woh Lingks drop jon — beß fönef Schredde wigk",
        "right-sendemail": "<i lang=\"en\">e-mail</i> aan ander Metmaacher schecke",
        "right-passwordreset": "De <i lang=\"en\">e-mails</i> vum Paßwoot neu Säze aanloore",
-       "right-managechangetags": "[[Special:Tags|Kännzeijsche: $2)]] en de Dahtebangk aanlähje udder fottschmiiße",
+       "right-managechangetags": "[[Special:Tags|Kännzeijsche]] en de Dahtebangk aanlähje udder fottschmiiße",
        "newuserlogpage": "Logboch för neu Metmaachere",
        "newuserlogpagetext": "He sin de Metmaacher opjelėßß, di sesh nöü aanjemäldt han.",
        "rightslog": "Logboch för Änderunge aan Metmaacher-Räächde",
        "enhancedrc-history": "Väsjohne",
        "recentchanges": "Neuste Änderonge",
        "recentchanges-legend": "Enstellunge",
-       "recentchanges-summary": "Op dä Sigg hee sin de neuste Änderunge am Wiki opjeliss.",
+       "recentchanges-summary": "Op dä Sigg heh sin de neuste Änderonge aam Wikki opjeleß.",
        "recentchanges-noresult": "Nit verändert en dä Zigg met de aanjejovve Beschrängkonge.",
        "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-newpage": "Di Sigg es neu dobei jekumme met dä Änderong",
        "recentchanges-label-minor": "Heh dat es en Mini-Änderung",
        "recentchanges-label-bot": "Di Änderung es fun enem Bot jemaat woode",
-       "recentchanges-label-unpatrolled": "Heh di Änderung es noch nit nohjeloort",
-       "recentchanges-label-plusminus": "Der Ömvang vun dä Sigg hät sesch öm di Aanzahl Bytes verändert.",
-       "recentchanges-legend-heading": "'''Lejänd:'''",
+       "recentchanges-label-unpatrolled": "Heh di Änderong es noch nit nohjelohrt",
+       "recentchanges-label-plusminus": "Der Ömvang vun dä Sigg hät sesch öm di Aanzahl <i lang=\"en\" xml:lang=\"en\" dir=\"ltr\">Bytes</i> verändert.",
+       "recentchanges-legend-heading": "'''Lejänd:&nbsp;'''",
        "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (Loor och noh de [[Special:NewPages|Leß met de neue Sigge]])",
        "recentchanges-legend-plusminus": "(''±123'')",
        "rcnotefrom": "Hee {{PLURAL:$5|es ein|sin bes op <strong>$1</strong>|es keine}} fun de Änderunge zick dem <strong>$3</strong> öm <strong>$4</strong> Uhr opjelėß.",
-       "rclistfrom": "Zeich de Änderunge vum $3 $2 aan",
-       "rcshowhideminor": "$1 klein Mini-Änderunge",
-       "rcshowhideminor-show": "Zeisch",
-       "rcshowhideminor-hide": "Verschteihsch",
-       "rcshowhidebots": "$1 de Bots ehr Änderunge",
-       "rcshowhidebots-show": "Zeisch",
-       "rcshowhidebots-hide": "Verschteihsch",
-       "rcshowhideliu": "De aanjemeldte Metmaacher ehr Änderunge: $1",
-       "rcshowhideliu-show": "Zeisch",
-       "rcshowhideliu-hide": "Verschteihsch",
-       "rcshowhideanons": "$1 de namenlose Metmaacher ehr Änderunge",
-       "rcshowhideanons-show": "Zeisch",
-       "rcshowhideanons-hide": "Verschteihsch",
-       "rcshowhidepatr": "$1 de nohjeluurte Änderunge",
-       "rcshowhidepatr-show": "Zeisch",
-       "rcshowhidepatr-hide": "Verschteihsch",
-       "rcshowhidemine": "$1 ming eije Änderunge",
-       "rcshowhidemine-show": "Zeisch",
-       "rcshowhidemine-hide": "Verschteihsch",
-       "rclinks": "Zeich de letzte {{int:pipe-separator}}$1{{int:pipe-separator}} Änderunge us de letzte {{int:pipe-separator}}$2{{int:pipe-separator}} Däch, un dun {{int:pipe-separator}}$3",
+       "rclistfrom": "Zeisch de Änderonge aff dämm $3 öm $2 Uhr aan",
+       "rcshowhideminor": "de klein Mini-Änderonge $1",
+       "rcshowhideminor-show": "aanzeije",
+       "rcshowhideminor-hide": "verschteihsche",
+       "rcshowhidebots": "de Bots ehr Änderonge $1",
+       "rcshowhidebots-show": "aanzeije",
+       "rcshowhidebots-hide": "verschteihsche",
+       "rcshowhideliu": "de aanjemällte Metmaacher ehr Änderonge $1",
+       "rcshowhideliu-show": "aanzeije",
+       "rcshowhideliu-hide": "verschteihsche",
+       "rcshowhideanons": "de nahmelohse Metmaacher ehr Änderonge $1",
+       "rcshowhideanons-show": "aanzeije",
+       "rcshowhideanons-hide": "verschteihsche",
+       "rcshowhidepatr": "de nohjeluurte Änderonge $1",
+       "rcshowhidepatr-show": "aanzeije",
+       "rcshowhidepatr-hide": "verschteihsche",
+       "rcshowhidemine": "ming eije Änderonge $1",
+       "rcshowhidemine-show": "aanzeije",
+       "rcshowhidemine-hide": "verschteihsche",
+       "rclinks": "Zeisch de läzde {{int:pipe-separator}}$1{{int:pipe-separator}} Änderonge us de läzde {{int:pipe-separator}}$2{{int:pipe-separator}} Däch, un dun {{int:pipe-separator}} $3.",
        "diff": "Ungerscheid",
        "hist": "Versione",
        "hide": "Ußblände!",
        "pageswithprop-text": "Heh di Sigg zeisch Sigge, di en beschtemmpte Eijeschaff han.",
        "pageswithprop-prop": "Dä name vun dä Eijeschaff:",
        "pageswithprop-submit": "Lohß Jonn!",
+       "pageswithprop-prophidden-long": "en Eijeschaff med enem janz lange Täx als Wäät weed nit aanjezeisch ($1)",
+       "pageswithprop-prophidden-binary": "en Eijeschaff med enem benähre Wäät weed nit aanjezeisch ($1)",
        "doubleredirects": "Ömleitunge op Ömleitunge",
        "doubleredirectstext": "Hee fings De en jede Reih ene Link op de iertste un de zweite Ömleitung, donoh ene Link op de Sigg, wo de\nzweite Ömleitung hin jeiht. För jewöhnlich es dat dann och de richtije Sigg, wo de iertste Ömleitung ald hen jonn sullt.\n<del>Ußjeshtreshe</del> Reije sin ald äleedesh.\nMet däm „(Ändere)“-Link kanns De de eetste Sigg tirek aanpacke.\nTipp: Merk Der dä Tittel vun dä Sigg dovör.",
        "double-redirect-fixed-move": "Di Sigg [[$1]] es ömjenannt un längk jäz autmattesch öm op di Sigg [[$2]].",
        "unusedimages": "Dateie, die nit en Sigge dren stäche",
        "wantedcategories": "Saachjruppe, die mer noch nit han, die noch jebruch wääde",
        "wantedpages": "Sigge, die mer noch nit han, die noch jebruch wääde",
-       "wantedpages-summary": "He sin Sigge opjeliss, die et noch nit jitt, wo ävver Hyperlinks vun andere Sigge drop jon.",
+       "wantedpages-summary": "He sin Sigge opjeliss, die et noch nit jitt, wo ävver Hyperlinks vun andere Sigge drop jon. en leß met Sigge met Ömleidonge drop fengk mer op dä Sigg [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Ene onjöltijje Tittel för en Sigg: $1",
        "wantedfiles": "Dateie, di onß noch fähle",
        "wantedfiletext-cat": "Heh di Datteije sin nit doh. Se wääde ävver jebruch, wi wann se doh wööre.\nDatteije uß frembde Sammlonge künne heh opjeleß sin, och wann et se jitt.\nDi sin dann <del>dorschjeschtresche</del>. \nSigge, woh Datteije jebruch wääde sulle, die mer jaa nit han, fengk mer och en dä [[:$1]].",
        "delete-confirm": "„$1“ fottschmieße",
        "delete-legend": "Fottschmieße",
        "historywarning": "<strong>Opjepass:</strong> Die Sigg, di De fott schmiiße wells, hät {{PLURAL:$1|ein ällder Väsjohn|ald $1 ällder Väsjohne|jaa kein ällder Väsjohne}}.",
-       "confirmdeletetext": "Do bes koot dovör, en Sigg för iwich fottzeschmieße. Dobei verschwind och de janze Verjangenheit vun dä Sigg us de Daatebank, met all ehr Änderunge un Metmaacher Name, un all dä Opwand, dä do dren stich. Do muss heh jetz bestätije, dat de versteihs, wat dat bedügg, un dat De weiß, wat Do do mähs.\n<strong>Dun et nor, wann dat met de [[{{MediaWiki:Policy-url}}|Rejelle]] wirklich zosamme jeiht!</strong>",
+       "confirmdeletetext": "Do bes koot dovör, en Sigg för iiwich fottzeschmiiße. Dobei verschwind och de janze Verjangeheit vun dä Sigg us de Dahtebangk, met all ehr Änderonge un Metmaacher Nahme, un all dä Opwand, dä do dren stich. Do moß heh jäz beschtähteje, dat de verschteihs, wat dat bedügg, un dat De weiß, wat Do do mähs.\n<strong>Dun et blohß, wann dat met de [[{{MediaWiki:Policy-url}}|Rääjelle]] verhaftech zosamme jeiht!</strong>",
        "actioncomplete": "Jedonn!",
        "actionfailed": "Dat es donevve jejange",
        "deletedtext": "De Sigg „$1“ es jetz fottjeschmesse woode. Luur Der „$2“ aan, do häs De en Liss met de Neuste fottjeschmesse Sigge.",
        "undeletebtn": "Zeröckholle!",
        "undeletelink": "aanloore odder widder zeröckholle",
        "undeleteviewlink": "aanloore",
-       "undeleteinvert": "De Ußwahl ömdrije",
+       "undeleteinvert": "De Ußwahl ömdrihje",
        "undeletecomment": "Jrond (för en et Logboch):",
        "undeletedrevisions": "{{PLURAL:$1|ein Version|$1 Versione}} zeröckjehollt",
        "undeletedrevisions-files": "Zesammejenomme {{PLURAL:$1|Ein Version|<strong>$1</strong> Versione|<strong>Kein</strong> Version}} vun {{PLURAL:$2|eine Datei|<strong>$2</strong> Dateie|<strong>nix</strong>}} zeröckjehollt",
        "undelete-error-long": "Mer wollte en Datei widder zeröckholle, ävver dobei sin_er Fääler opjefalle:\n\n$1",
        "undelete-show-file-confirm": "Wells De dä Datei „<nowiki>$1</nowiki>“ ier fottjeschmesse Version vum $2 öm $3 Uhr verhaftesch sinn?",
        "undelete-show-file-submit": "Jo",
-       "namespace": "Appachtemeng:",
-       "invert": "dun de Uswahl ömdrije",
+       "namespace": "Appachtemang:",
+       "invert": "don di Ußwahl ömdrihje",
        "tooltip-invert": "Maach e Höhksche, öm Änderonge aan Sigge en däm ußjewählte Appachtemang — un däm, wat doh zohjehööt, wann doh och e Höhksche es — nit aanzezeije, ävver doför uß all de andre Appachtemangs.",
        "tooltip-whatlinkshere-invert": "Maach heh e Höhksche, öm de Lengks ze verschteische, di vun de Sigge en dämm usjesöhkte Appachtemang ußjonn.",
-       "namespace_association": "mem zohjehüüreje Appachtemang",
+       "namespace_association": "mem zohjehühreje Appachtemang",
        "tooltip-namespace_association": "Maach e Höhksche, öm dat Appachtemang, wat zom ußjewählte Appachtemang doh zohjehööt — entweeder de Klaafsigge udder de nomaale Sigge — zohsäzlesch ußzewähle.",
        "blanknamespace": "(Atikkele)",
        "contributions": "{{GENDER:$1|Däm Metmaacher|Däm|Däm Metmaacher|Dä Metmaacherėn|Däm}} $1 {{GENDER:$1|singe|singe|singe|iere|singe}} Beidräch",
        "exportcuronly": "Bloß de aktuelle Version usjevve (un <strong>nit</strong> de janze ahle Versione onoch met dobei dun)",
        "exportnohistory": "----\n<strong>Opjepass:</strong> de janze Versione Exporteere es heh em Wiki avjeschalt. Schad, ävver et wör en\nzo jroße Lass för dä ẞööver.",
        "exportlistauthors": "Donn en kumpläte Lėß met dä Schriiver för en Sigg dobei",
-       "export-submit": "Loss_Jonn!",
+       "export-submit": "Lohß Jonn!",
        "export-addcattext": "Sigge dobei donn us dä Saachjrupp:",
        "export-addcat": "Dobei donn",
        "export-addnstext": "Sigge dobei donn uß dämm Appachtemang:",
        "thumbnail_image-missing": "Di Datei schingk nit doh ze sin: <code>$1</code>",
        "thumbnail_image-failure-limit": "Mieh wi {{PLURAL:$1|eine Versohch|$1 Versohche|keine Versohch}} dat Minnibelldsche ze zeije. Versöhg_et schpääder widder.",
        "import": "Sigge Emporteere",
-       "importinterwiki": "Trans Wiki Emport",
-       "import-interwiki-text": "Wähl en Wiki un en Sigg zem Emporteere us.\nEt Datum vun de Versione un de Metmaacher Name vun de Schriever wääde dobei metjenomme.\nAll de Trans Wiki Emporte wääde em [[Special:Log/import|Emport_Logboch]] fassjehallde.",
+       "importinterwiki": "Empottehre uss_enem andere Wikki",
+       "import-interwiki-text": "Wähl e Wikki un en Sigg zem Emportehre uß.\nEt Dattum vun de Väsiohne un de Metmaacher_Nahme vun de Schriever wähde dobei metjenomme.\nAll de Empochte vun andere Wikkis wähde em [[Special:Log/import|Logbohch vum Empottehre]] faßjehallde.",
        "import-interwiki-sourcewiki": "Vum Wikki:",
        "import-interwiki-sourcepage": "Vun dä Sigg:",
        "import-interwiki-history": "All de Versione vun dä Sigg heh kopeere",
        "importcantopen": "Kunnt op de Datei för dä Emport nit zojriefe",
        "importbadinterwiki": "Verkihrte Interwiki Link",
        "importsuccess": "Dat Emporteere hät jeflupp!",
-       "importnosources": "Heh es kein Quell för dä Tikek-Emport vun ander Wikis enjerich.\nDat ahle Versione Huhlade es avjeschalt, un es nit müjjelich.",
+       "importnosources": "Heh es kein Wikki för_enne tiräkte Empoot enjereesch.\nÄllder Väsjohne huhzelade es nit zohjelohße.",
        "importnofile": "Et wood kein Datei huhjelade för ze Emporteere.",
        "importuploaderrorsize": "De Import-Datei huhzelade jingk scheif, weil dat Denge jrößer wi äloup es.",
        "importuploaderrorpartial": "De Import-Datei huhzelade jingk scheif, weil dat Denge nit komplett zo eng transpotteet woode es. Do fäählt jet.",
        "tooltip-watchlistedit-raw-submit": "Oppassliss neu fasshallde",
        "tooltip-recreate": "En fottjeschmesse Sigg widder zeröckholle",
        "tooltip-upload": "Mem Dattei-Huhlaade loßlääje",
-       "tooltip-rollback": "Nemmp alle Änderunge zeröck, di dä Läzde jemaat hät, dä aan dä Sigg övverhoup jet jedonn hät. Deit nimmieh frore un määd ene automattesche Endraach en „{{int:Summary}}“",
+       "tooltip-rollback": "Nemmp alle Änderonge zeröck, di dä Läzde jemaat hät, dä aan dä heh Sigg övverhoup jet jedonn hät. Deiht nimmieh frohre, un mähd automattesch ene Endraach onger „{{int:Summary}}“ en et Logbohch eren.",
        "tooltip-undo": "„{{UCfirst:{{int:editundo}}}}“ määt der förije Zostand\nfun dä Sigg op, zom Beärbeide un widder Afspeichere.\nEsu kam_mer noch en Aanmärkong en „{{int:summary}}“ maache.",
        "tooltip-preferences-save": "Enstellunge faßhallde",
        "tooltip-summary": "Jif en koote Zesammefassung en",
        "bitrate-exabits": "$1&nbsp;Ebps",
        "bitrate-zetabits": "$1&nbsp;Zbps",
        "bitrate-yottabits": "$1&nbsp;Ybps",
-       "lag-warn-normal": "Änderunge us de letzte {{PLURAL:$1|Sekund|$1 Sekunde|knappe Sekund}} sin en dä Leß wall noch nit opjenomme.",
-       "lag-warn-high": "Dä Datebankßööver hät jrad vill ze donn.\nÄnderunge us de letzte {{PLURAL:$1|Sekund|$1 Sekunde|knappe Sekund}} sin dröm en dä Leß heh wall noch nit opjenomme.",
+       "lag-warn-normal": "Änderonge uß de läzde {{PLURAL:$1|Sekond|$1 Sekuode|knappe Sekond}} sin en dä Leß wall noch nit opjenomme.",
+       "lag-warn-high": "Dä Datebankßööver hät jrad vill ze donn.\nÄnderonge uß de läzde {{PLURAL:$1|Sekond|$1 Sekonde|knappe Sekond}} sin dröm en dä Leß heh wall noch nit opjenomme.",
        "watchlistedit-normal-title": "Oppassliss beärbeijde",
        "watchlistedit-normal-legend": "Titell uß de Oppassliss eruß lohße",
        "watchlistedit-normal-explain": "Dat sin de Endräsch en Dinge Oppaßleß.\nÖm einzel Titelle loßß ze wääde, don Hökche en de Kässjer nevve inne maache, un dann deuß De dä Knopp „{{int:watchlistedit-normal-submit}}“.\nDo kanns Ding Oppassleß och [[Special:EditWatchlist/raw|en rüh beärbeide]].",
        "version-parser-function-hooks": "Parserfunktione",
        "version-hook-name": "De Schnettstelle ier Name",
        "version-hook-subscribedby": "Opjeroofe vun",
-       "version-version": "(Väsjohn $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[keine Nahme]",
        "version-license": "MediaWiki sing Lėzänz",
        "version-ext-license": "‎Lėzänz",
        "intentionallyblankpage": "Op dä Sigg es med Afseesh nix drop.",
        "external_image_whitelist": "# Donn aan dä Reih heh nix ändere<pre>\n# Onge künne Brochstöke fun rejolähre Ußdrök aanjejovve wäde,\n# alsu dä Deil zwesche / und /\n# Noh em Verjliische met däm URL vun ene Datei fun ußerhallef:\n# Treffer: De Datei weed jezeich odder enjebonge.\n# Söns: ene Link weed aanjezeich.\n# Wam_mer et nit ömschtällt, es Jruß- un Kleinschrevv_ejaal.\n# Reije met # am Aanfang, sen bloß Kommenta\n# Donn de Brochstöck heh noh endrare, un di Reihe bes hee nit ändere</pre>",
        "tags": "De jöltijje Makeerunge för Änderunge",
-       "tag-filter": "[[Special:Tags|Makeerunge]] ußsöke:",
+       "tag-filter": "[[Special:Tags|Makehronge]] ußsöhke:",
        "tag-filter-submit": "Beschränke!",
        "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Ein|$1|Kein}} Kännzeijsche]]: $2)",
        "tags-title": "Makeeronge",
        "revdelete-uname-unhid": "der Name vum Metmaacher öffentlesh jemaat",
        "revdelete-restricted": ", och för de Wiki-Köbesse",
        "revdelete-unrestricted": ", och för de Wiki-Köbesse",
-       "logentry-merge-merge": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät di Sigg „$3“ met dä Sigg „$4“ zersamme jelaat &emdash; Väsjohne bes  $5",
+       "logentry-block-block": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät {{GENDER:$4|dä|dat|dä Metmaacher|de|dat}} $3 för en Zigg vun $5 jeschpächt. $6",
+       "logentry-block-unblock": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät {{GENDER:$4|däm|däm|däm Metmaacher|dä|däm}} $3 {{GENDER:$3|sing|sing|sing|ier|sing}} sing Schpärr opjehovve.",
+       "logentry-block-reblock": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät {{GENDER:$4|däm|däm|däm Metmaacher|dä|däm}} $3 {{GENDER:$3|sing|sing|sing|ier|sing}} sing Schpärr för di Zigg vun $5 verändert. $6",
+       "logentry-suppress-block": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät {{GENDER:$4|dä|dat|dä Metmaacher|de|dat}} $3 för en Zigg vun $5 jespächt. $6",
+       "logentry-suppress-reblock": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät {{GENDER:$4|däm|däm|däm Metmaacher|dä|däm}} $3 {{GENDER:$3|sing|sing|sing|ier|sing}} sing Schpärr för di Zigg vun $5 verändert. $6",
+       "logentry-merge-merge": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät di Sigg „$3“ met dä Sigg „$4“ zersamme jelaat, jenou jenumme de Väsjohne bes $5",
        "logentry-move-move": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hätt di Sigg „$3“ en „$4“ ömjenannt.",
        "logentry-move-move-noredirect": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hätt di Sigg „$3“ en „$4“ ömjenannt un derbei kein Ömleidong aanjelaat.",
        "logentry-move-move_redir": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hätt di Sigg „$3“ en „$4“ ömjenannt un derbei en ahle Ömleindongßsigg fottjeschmeße.",
        "log-name-managetags": "Logbohch vun de Kännzeijsche_Verwaldong",
        "log-description-managetags": "Heh sin de Veränderonge em Zersammehang vun de [[Special:Tags|Kännzeijsche]] faßjehallde. En däm Logbohch schteiht blohß de Wikki_Köhbeße händesch jedonn han. Kännzeijsche künne och vum Wikki automattesch aanjelaat un fott jemaat wääde, un douche dann heh nit op.",
        "logentry-managetags-create": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät dat Kännzeijsche „$4“ aanjelaat.",
-       "logentry-managetags-delete": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät dat Kännzeijsche „$4“ fottjeschmeße un derbei vun {{PLURAL:$5|eine Väsjohn udder einem Enndraach|$5 Väsjohne udder $5 Enndrähsch||keine Väsjohn udder keinem Enndraach}} vum Logbohch eruß jenumme.",
+       "logentry-managetags-delete": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät dat Kännzeijsche „$4“ fottjeschmeße un derbei uß {{PLURAL:$5|eine Väsjohn udder einem Enndraach|$5 Väsjohne udder $5 Enndrähsch|keine Väsjohn udder keinem Enndraach}} vum Logbohch eruß jenumme.",
        "logentry-managetags-activate": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät dat Kännzeijsche „$4“ aanjeschalldt för de Metmaacher un de Bots.",
        "logentry-managetags-deactivate": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät dat Kännzeijsche „$4“ för de Metmaacher un de Bots afjeschalldt.",
        "rightsnone": "(nix)",
        "api-error-overwrite": "En Dattei ze övverschrieve es nit zohjelohße.",
        "api-error-stashfailed": "Fähler: Dä ẞööver hät kein Datteije zweschejeschpeischert.",
        "api-error-publishfailed": "Ene Fähler es em ẞööver opjetrodde. En zweschejescheischerte Dattei kunnt nit öffentlesch jemaat wääde.",
+       "api-error-stasherror": "Ene Fähler es opjetrodd, wi mer di Dattei en der <i lang=\"en\" xml:lang=\"en\">stash</i> huh aam lahde wohre.",
+       "api-error-stashedfilenotfound": "Di Dattei wohd em <i lang=\"en\" xml:lang=\"en\">stash</i> nit jefonge, wi mer se vun doh huh lahde wullte.",
+       "api-error-stashpathinvalid": "Di Dattei wohd em <i lang=\"en\" xml:lang=\"en\">stash</i> nit jefonge, weil dä Pad do hen nit jeschtemmp hät.",
+       "api-error-stashfilestorage": "Ene Fähler es opjetrodd, wi mer di Dattei en der <i lang=\"en\" xml:lang=\"en\">stash</i> donn wullte.",
+       "api-error-stashzerolength": "Dä ẞööver kunnt di Dattei nit en der <i lang=\"en\" xml:lang=\"en\">stash</i> donn, weil en dä Dattei nix dren schtund.",
+       "api-error-stashnotloggedin": "Do moß enjelogg sin, öm en Dattei en der <i lang=\"en\" xml:lang=\"en\">stash</i> huh ze lahde.",
+       "api-error-stashwrongowner": "Di Dattei em <i lang=\"en\" xml:lang=\"en\">stash</i> woh De draan wells, jehürt Der nit.",
+       "api-error-stashnosuchfilekey": "Di Dattei em <i lang=\"en\" xml:lang=\"en\">stash</i> woh De draan wells, jidd_et nit.",
        "api-error-timeout": "Dä ẞööver hät en dä jewennde Zick nit jeantwoot.",
        "api-error-unclassified": "Ene Fähler es opjetrodde, der mer nit kenne.",
        "api-error-unknown-code": "Nit bekannte Fähler: „$1“",
        "log-name-pagelang": "Logbooch vum Tuusche vun Sige iehr Schprohche",
        "log-description-pagelang": "Dat heh es et Logbohch vun de Veränderonge aan de Schprohch vun de Sigge.",
        "logentry-pagelang-pagelang": "{{GENDER:$2|Dä|Dat|Dä Metmaacher|De|Dat}} $1 hät de Schprohch vun dä Sigg „$3“ vun $4 op $5 verändert.",
+       "default-skin-not-found": "De schtandattmähßejje Bedehnbovverfläsch <code>$1</code> för et Wikki es nit ze fenge. Se weed övver dä Enndraach <code lang=\"en\" xml:lang=\"en\">$wgDefaultSkin</code> en dä Dattei <code lang=\"en\" xml:lang=\"en\">LocalSettings.php</code> om ẞööver faßjelaat.\n\nHeh di Bedehnbovverfläsche sin doh:\n\n$2\n\nLohr och en et [https://www.mediawiki.org/wiki/Manual:Skin_configuration/de Handbohch övver et Enschtälle vun Bedehnbovverfläsche].\n\n*'''Falls dat heh e fresch enjereesch MeedijaWikki es:'''\n*: MeedijaWikki wood velleisch övver <i lang=\"en\" xml:lang=\"en\">Git</i> eschtallehrt, udder der Quälltäx wood tiräk obb_en ander Manier eschtallehrt. Met däm Problehm heh wohr ze rääschne. Donn winneschßdens eine vun dä Bovverfläsche uss_em [https://www.mediawiki.org/wiki/Category:All_skins Verzeischneß vun de Bedehnbovverfläsche vum MeedijaWikki] enschtallehre. Dat jeihd, endämm dat De:\n*:* einzel veröffentleschte Bovverfläsche us [https://www.mediawiki.org/wiki/Special:SkinDistributor MediaWiki.org] erongerlähds un en et Verzeischneß <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">skins/</code> vun dä MeedijaWikki_Enschtallazuhn holls,\n*:* winneschsdens eins vun dä Verzeischneße us <code lang=\"en\" xml:lang=\"en\">mediawiki/skins/*</code> met <i lang=\"en\" xml:lang=\"en\">Git</i> en et Verzeischneß <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">skins/</code> vun Dinge MeedijaWikki_Enschtallazuhn holls,\n*:* de [https://www.mediawiki.org/wiki/Download Dattei vum MeedijaWikki] erongerlähds, woh ongerscheidlejje Bedehnbovverfläsche dren sin un Zohsäz derzoh. Uß däm Verzeischneß doh dren kam_mer Saache en et Verzeischneß <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">skins/</code> vun dä MeedijaWikki_Enschtallazuhn holle.\n*: Dat sullt sesch nit met Dingem <i lang=\"en\" xml:lang=\"en\">git</i>-Verzeischneß schtühre, falls De och ene Äntweckler vum MeedijaWikki bes.\n*'''Falls dat MeedijaWikki heh jrahd obb ene neue Schtand jebraht wood:'''\n*: Bei MeedijaWikki en dä Väsjohn 1.24 un hüüter wääde de enschtallehrte Bedehnbovverfläsche nit mieh automattesch alle aanjemaat; süsch och em [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Handbohch] derhoh. Do kanns heh di Reihje e de Dattei <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">LocalSettings.php</code> eren koppehre, öm alle enschtallehrte Bedehnbovverfläsche aanzemaache:\n*:<pre lang=\"en\" xml:lang=\"en\" dir=\"ltr\">$3</pre>\n* '''Falls de jrahd aan dä Dattei <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">LocalSettings.php</code> jät geändert häs:'''\n*: Donn de Nahme vun de Bedehnbovverfläsche en dä Dattei pröhve. Se künnte verhehrt jeschrevve sin.",
+       "default-skin-not-found-no-skins": "De schtandattmähßejje Bedehnbovverfläsch <code>$1</code> för et Wikki es nit ze fenge. Se weed övver dä Enndraach <code lang=\"en\" xml:lang=\"en\">$wgDefaultSkin</code> en dä Dattei <code lang=\"en\" xml:lang=\"en\">LocalSettings.php</code> om ẞööver faßjelaat.\n\nEt sinn_er kein Bedehnbovverfläsche doh.\n\n*'''Falls dat heh e fresch enjereesch MeedijaWikki, es udder jrahd obb ene neue Schtand jebraht wood:'''\n*: MeedijaWikki wood velleisch övver <i lang=\"en\" xml:lang=\"en\">Git</i> eschtallehrt, udder der Quälltäx wood tiräk obb_en ander Manier eschtallehrt. Met däm Problehm heh wohr ze rääschne. Bei MeedijaWikki en dä Väsjohn 1.24 un hüüter sin kein Bedehnbovverfläsche mieh automattesch derbei. Donn winneschßdens eine vun dä Bovverfläsche uss_em [https://www.mediawiki.org/wiki/Category:All_skins Verzeischneß vun de Bedehnbovverfläsche] enschtallehre. Dat jeihd, endämm dat De:\n*:* winneschsdens eins vun dä Verzeischneße us <code lang=\"en\" xml:lang=\"en\">mediawiki/skins/*</code> met <i lang=\"en\" xml:lang=\"en\">Git</i> en et Verzeischneß <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">skins/</code> vun Dinge MeedijaWikki_Enschtallazuhn holls,\n*:* einzel veröffentleschte Bovverfläsche us [https://www.mediawiki.org/wiki/Special:SkinDistributor MediaWiki.org] erongerlähds un en et Verzeischneß <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">skins/</code> vun Dinge MeedijaWikki_Enschtallazuhn holls,\n*:* de [https://www.mediawiki.org/wiki/Download Dattei vum MeedijaWikki] erongerlähds, woh ongerscheidlejje Bedehnbovverfläsche dren sin un Zohsäz dder derzoh. Uß däm Verzeischneß doh dren kam_mer Saache en et Verzeischneß <code lang=\"en\" xml:lang=\"en\" dir=\"ltr\">skins/</code> vun Dinge vun dä MeedijaWikki_Enschtallazuhn holle.\n*: Dat sullt sesch nit met Dingem <i lang=\"en\" xml:lang=\"en\">Git</i>-Verzeischneß schtühre, falls De och ene Äntweckler vum MeedijaWikki bes. Loor em [https://www.mediawiki.org/wiki/Manual:Skin_configuration Handbohch] derhoh, wi mer Bedehnbovverfläsche aanmääd un ene Schtandatt faßlähsch.",
        "default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (enjeschalldt)",
        "default-skin-not-found-row-disabled": "* <code>$1</code> / $2 ('''ußjeschalldt''')",
        "mediastatistics": "Schtateßteke övver de Meedije",
index bd25d62..db2a0ee 100644 (file)
        "version": "Versiyon",
        "version-specialpages": "Rûpelên taybet",
        "version-other": "yên din",
-       "version-version": " (Verzîyon $1)",
+       "version-version": "($1)",
        "version-license": "Destûr",
        "version-software-product": "Berhem",
        "version-software-version": "Guherto",
index cfb0f45..94f5b4b 100644 (file)
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|keskows]])",
        "version": "Versyon",
        "version-other": "Aral",
-       "version-version": "(Versyon $1)",
+       "version-version": "($1)",
        "fileduplicatesearch-filename": "Hanow an restren:",
        "fileduplicatesearch-submit": "Hwilas",
        "specialpages": "Folennow arbennek",
index 2d3df3a..e5b4a42 100644 (file)
        "import-logentry-upload-detail": "$1 {{PLURAL:$1|версия}}",
        "import-logentry-interwiki": "«$1» — уики аралык импорту",
        "javascripttest": "JavaScript'ти текшерүү",
-       "javascripttest-title": "$1 үчүн текшерүү жүргүзүлүп жатат",
        "tooltip-pt-userpage": "Колдонуучу барагыңыз",
        "tooltip-pt-mytalk": "Баарлашуу барагыңыз",
        "tooltip-pt-anontalk": "Бул IP дарекке арналган талкуулоо барагы",
        "version-specialpages": "Кызматтык барактар",
        "version-variables": "Өзгөрмөлөр",
        "version-other": "Башка",
-       "version-version": "(Версия $1)",
+       "version-version": "($1)",
        "version-license": "Лицензия",
        "version-software": "Орнотулган программалык камсыздоо",
        "version-software-product": "Продукт",
index 975de0a..badb87d 100644 (file)
@@ -21,7 +21,8 @@
                        "UV",
                        "Žekřil71pl",
                        "לערי ריינהארט",
-                       "아라"
+                       "아라",
+                       "Lesgles"
                ]
        },
        "tog-underline": "Versores linea denotandi:",
        "summary": "Summarium:",
        "subject": "Res/titulus:",
        "minoredit": "Haec est recensio minor",
-       "watchthis": "Custodire hanc paginam",
+       "watchthis": "Observare hanc paginam",
        "savearticle": "Servare hanc rem",
        "preview": "Praevidere",
        "showpreview": "Monstrare praevisum",
        "prefs-user-pages": "Paginae usoris",
        "prefs-personal": "Minutiae rationis",
        "prefs-rc": "Nuper mutata",
-       "prefs-watchlist": "Paginae custoditae",
+       "prefs-watchlist": "Paginae observatae",
        "prefs-watchlist-days": "Numerus dierum displicandus in paginis tuis custoditis:",
        "prefs-watchlist-days-max": "Numerus maximus: $1 {{PLURAL:$1|dies|dies}}",
        "prefs-watchlist-edits": "Numerus recensionum displicandus in paginis tuis custoditis extensis:",
        "recentchangeslinked-feed": "Nuper mutata annexorum",
        "recentchangeslinked-toolbox": "Nuper mutata annexorum",
        "recentchangeslinked-title": "Nuper mutata in paginis quibus pagina \"$1\" nectit",
-       "recentchangeslinked-summary": "Ecce mutationes recentissimas commentationum quae aut paginae cuidam adnectuntur, aut in categoria quadam includuntur. Paginae a [[Special:Watchlist|te custoditae]] '''litteris pinguibus''' monstrantur.",
+       "recentchangeslinked-summary": "Ecce mutationes recentissimas commentationum quae aut paginae cuidam adnectuntur, aut in categoria quadam includuntur. Paginae a [[Special:Watchlist|te observatae]] '''litteris pinguibus''' monstrantur.",
        "recentchangeslinked-page": "Titulus paginae:",
        "recentchangeslinked-to": "Mutationes commentationum quae huic paginae adnectuntur monstrare",
        "upload": "Fasciculum imponere",
        "sourcefilename": "Fasciculi imponendi nomen:",
        "destfilename": "Nomen fasciculi petitum:",
        "upload-maxfilesize": "Maxima fasciculi magnitudo: $1",
-       "watchthisupload": "Custodire hunc fasciculum",
+       "watchthisupload": "Observare hunc fasciculum",
        "upload-success-subj": "Impositum est perfectum",
        "upload-proto-error": "Protocollum incorrectum",
        "upload-file-error": "Erratum internum",
        "emailsenttext": "Nuntium tuum missum est.",
        "emailuserfooter": "Has litteras electronicas $1 ad $2 misit per \"Litteras electronicas usori mittere\" in {{grammar:ablative|{{SITENAME}}}}.",
        "usermessage-editor": "Nuntius systematis",
-       "watchlist": "Paginae custoditae",
-       "mywatchlist": "Paginae custoditae",
+       "watchlist": "Paginae observatae",
+       "mywatchlist": "Paginae observatae",
        "watchlistfor2": "Pro $1 $2",
        "nowatchlist": "Nullas paginas custodis.",
        "watchlistanontext": "Necesse est $1 ad indicem paginarum custoditarum inspiciendum vel recensendum.",
        "watchnologin": "Conventum non est apertum",
        "addedwatchtext": "Pagina \"[[:$1]]\" in [[Special:Watchlist|paginas tuas custoditas]] addita est.\nMutationes posthac huic paginae et paginae disputationis ibi notabuntur.",
        "removedwatchtext": "Pagina \"[[:$1]]\" ex [[Special:Watchlist|indice paginarum custoditarum]] remota est.",
-       "watch": "Custodire",
-       "watchthispage": "Custodire hanc paginam",
+       "watch": "Observare",
+       "watchthispage": "Observare hanc paginam",
        "unwatch": "Decustodire",
        "unwatchthispage": "Abrogare custoditum",
        "notanarticle": "Res non est",
        "ipbsubmit": "Obstruere hunc locum",
        "ipbother": "Exitus alius:",
        "ipboptions": "2 horas:2 hours,1 diem:1 day,3 dies:3 days,1 hebdomadem:1 week,2 hebdomades:2 weeks,1 mensem:1 month,3 menses:3 months,6 menses:6 months,1 annum:1 year,infinite:infinite",
-       "ipbwatchuser": "Paginam usoris disputationisque huius usoris custodire",
+       "ipbwatchuser": "Paginam usoris disputationisque huius usoris observare",
        "ipb-change-block": "Obstructionem usoris modificare",
        "badipaddress": "Locus IP male formatus",
        "blockipsuccesssub": "Locus prospere obstructus est",
        "cant-move-user-page": "Tibi non licet paginas usorum movere (solum eorum subpaginas).",
        "cant-move-to-user-page": "Tibi non licet paginam ad paginam usoris movere (solum ad paginae usoris subpaginam).",
        "newtitle": "Ad titulum novum:",
-       "move-watch": "Hanc paginam custodire",
+       "move-watch": "Observare et titulum veterem et titulum novum",
        "movepagebtn": "Paginam movere",
        "pagemovedsub": "Pagina mota est",
        "movepage-moved": "'''\"$1\" mota est ad \"$2\"'''",
        "tooltip-pt-userpage": "Pagina usoris tua",
        "tooltip-pt-mytalk": "Pagina disputationis tua",
        "tooltip-pt-preferences": "Praeferentiae tuae",
-       "tooltip-pt-watchlist": "Paginae quas custodis ut earum mutationes facilius videas",
+       "tooltip-pt-watchlist": "Paginae quas observas ut earum mutationes facilius videas",
        "tooltip-pt-mycontris": "Index conlationum tuarum",
        "tooltip-pt-login": "Te conventum aperire hortamur, non autem requisitum",
        "tooltip-pt-logout": "Conventum concludere",
        "tooltip-ca-delete": "Delere hanc paginam",
        "tooltip-ca-undelete": "Restituere emendationes huic paginae conlatas antequam haec pagina deleta esset",
        "tooltip-ca-move": "Movere hanc paginam",
-       "tooltip-ca-watch": "Addere hanc paginam tuis paginis custoditis",
-       "tooltip-ca-unwatch": "Removere hanc paginam ex tuis paginis custoditis",
+       "tooltip-ca-watch": "Addere hanc paginam tuis paginis observatis",
+       "tooltip-ca-unwatch": "Removere hanc paginam ex tuis paginis observatis",
        "tooltip-search": "Quaerere aliquid in {{grammar:ablative|{{SITENAME}}}}",
        "tooltip-search-go": "I ad paginam cum hoc titulo exacto, si est",
        "tooltip-search-fulltext": "Hunc textum in paginis quaerere",
        "tooltip-preview": "Praevidere mutationes tuas, quaesumus hoc utere antequam servas!",
        "tooltip-diff": "Monstrare mutationes textui tuas",
        "tooltip-compareselectedversions": "Videre dissimilitudinem inter ambas emendationes selectas huius paginae",
-       "tooltip-watch": "Addere hanc paginam tuis paginis custoditis",
+       "tooltip-watch": "Addere hanc paginam tuis paginis observatis",
        "tooltip-recreate": "Recreare hanc paginam etiamsi deleta est",
        "tooltip-upload": "Incipere imponere",
        "tooltip-rollback": "\"Revertere\" omnes ultimi editoris in hac pagina recensiones statim revertit",
index a8ba550..a2b0295 100644 (file)
        "version": "Versión",
        "version-specialpages": "Pajinas espesiales",
        "version-other": "Otros",
-       "version-version": "(Versión $1)",
+       "version-version": "($1)",
        "version-ext-colheader-credits": "Otores",
        "version-poweredby-others": "otros",
        "version-software-version": "Versión",
index 50db3ef..0e3c814 100644 (file)
        "version-parser-function-hooks": "Parser-Funktiounen",
        "version-hook-name": "Numm vun der Klamer",
        "version-hook-subscribedby": "Opruff vum",
-       "version-version": "(Versioun $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[keen Numm]",
        "version-license": "MediaWiki-Lizenz",
        "version-ext-license": "Lizenz",
index b9d66ee..17b837b 100644 (file)
        "watchlisttools-edit": "Vide e edita la lista de pajes oservada",
        "watchlisttools-raw": "Edita la lista rua de pajes oservada",
        "version": "Varia",
-       "version-version": "(Varia $1)",
+       "version-version": "($1)",
        "fileduplicatesearch-submit": "Xerca",
        "specialpages": "Pajes spesial",
        "expand_templates_ok": "Oce"
index 13620dd..a876795 100644 (file)
@@ -14,7 +14,8 @@
                        "Remember the dot",
                        "Tibor",
                        "לערי ריינהארט",
-                       "아라"
+                       "아라",
+                       "Robin0van0der0vliet"
                ]
        },
        "tog-underline": "Links óngersjtriepe",
        "cancel": "Aafbraeke",
        "moredotdotdot": "Miè...",
        "mypage": "Mien gebroekerspagina",
-       "mytalk": "Mien euverlèkpagina",
+       "mytalk": "Euverlèk",
        "anontalk": "Euverlèk veur dit IP adres",
        "navigation": "Navigatie",
        "and": "&#32;en",
        "virus-unknownscanner": "onbekeng antivirus:",
        "logouttext": "'''De bis noe aafgemeld.'''\n\nDe kèns {{SITENAME}} noe anoniem (mit vermeljing van IP-adres) gebroeke, of <span class='plainlinks'>[$1 opnuuj aanmelde]</span> ónger dezelfde of 'ne angere naam.\nMäögelik waert nog 'n deil pagina's getuind esofs te nog aangemeld bis pès te de cache van diene browser laeg maaks.",
        "yourname": "Diene gebroekersnaam",
+       "userlogin-yourname": "Gebroekersnaam",
        "yourpassword": "Die wachwaord",
+       "userlogin-yourpassword": "Wachwaord",
        "yourpasswordagain": "Wachwaord opnuuj intype",
        "remembermypassword": "Mien wachwaord onthouwe veur later sessies (hoegstens $1 {{PLURAL:$1|daag|daag}})",
        "yourdomainname": "Die domein",
        "login-abort-generic": "Doe bös neet aangemèldj - Aafgebraoke",
        "loginlanguagelabel": "Taol: $1",
        "suspicious-userlogout": "Dien verzeuk óm aaf te melde is genegeerd, ómdet 't liek esof 't verzeuk is versjik door 'ne browser of cacheproxy dae kepot is.",
+       "pt-login": "Aanmèlde",
+       "pt-login-button": "Aanmèlde",
+       "pt-userlogout": "Aafmelde",
        "php-mail-error-unknown": "Dao haet ziech 'n ónbekénde fout veurgedaon in de mail()-functie van PHP",
        "user-mail-no-addy": "Perbeerdjes 'ne mail te sjikke zónger 'n adres",
        "changepassword": "Wachwaord verangere",
        "search-external": "Extern zeuke",
        "searchdisabled": "Zeuke op {{SITENAME}} is oetgesjakeld vanweige gebrek aan servercapaciteit.\nZoelang as de servers nog neet sjterk genog zunt kins e zeuke bie Google.\nMèrk op dat hun indexe van {{SITENAME}} content e bietje gedatierd kint zien.",
        "preferences": "Veurkäöre",
-       "mypreferences": "Mien veurkäöre",
+       "mypreferences": "Veurkäöre",
        "prefs-edits": "Aantal bewèrkinge:",
        "prefs-skin": "{{SITENAME}}-uterlik",
        "skin-preview": "Veurbesjouwing",
        "action-siteadmin": "de database aaf te sloete of aope te stelle",
        "action-sendemail": "Sjik e-mails",
        "nchanges": "$1 {{PLURAL:$1|bewerking|bewerkinge}}",
+       "enhancedrc-history": "historie",
        "recentchanges": "Lètste verangeringe",
        "recentchanges-legend": "Opties veur recènte verangeringe",
        "recentchanges-summary": "Volg de recènste bewirkinge op deze wiki op dees pagina.",
        "querypage-disabled": "Dees speciaal pagina steit oet veur performanceredene.",
        "booksources": "Bookwinkele",
        "booksources-search-legend": "Zeuk informatie euver 'n book",
+       "booksources-search": "Zeuk",
        "booksources-text": "Hiej onger stuit 'n lies met koppelinge nao anger websites die nuuje of gebroekde beuk verkoupe, en die wellich meer informatie euver 't book detse zeuks höbbe:",
        "booksources-invalid-isbn": "t Ingegaeve ISBN liek neet geldig te zeen.\nControleer of se wellich n fout höbs gemaak bie de inveur.",
        "specialloguserlabel": "Oetveurder:",
        "delete-toobig": "Dees pazjena haet 'ne lange bewerkingsgesjiedenis, mieë es $1 {{PLURAL:$1|versie|versies}}. 't Wisse van dit saort pazjena's is mit rech beperk óm 't próngelök versteure van de werking van {{SITENAME}} te veurkómme.",
        "delete-warning-toobig": "Dees pazjena haet 'ne lange bewerkingsgesjiedenis, mieë es $1 {{PLURAL:$1|versie|versies}}. 't Wisse van dees pazjena kan de werking van de database van {{SITENAME}} versteure. Bön veurzichtig.",
        "rollback": "Verangering ongedaon gemaak",
-       "rollback_short": "Trökdrèjje",
        "rollbacklink": "Trökdrieje",
        "rollbackfailed": "Ongedaon make van wieziginge mislùk.",
        "cantrollback": "Trökdrejje van verangeringe neet meugelik: Dit artikel haet mer einen auteur.",
        "blanknamespace": "(hoofnaamruumde)",
        "contributions": "Biedrages per gebroeker",
        "contributions-title": "Biedrage van $1",
-       "mycontris": "Mien biedrage",
+       "mycontris": "Biedrage",
        "contribsub2": "Veur $1 ($2)",
        "nocontribs": "Gein wijzigingen gevonden die aan de gestelde criteria voldoen.",
        "uctop": "(lèste verangering)",
        "import-logentry-interwiki": "transwiki veur $1 geslaag",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|versie|versies}} van $2",
        "javascripttest": "Tes JavaScript",
-       "javascripttest-title": "Veur tes oet veur $1",
        "javascripttest-pagetext-noframework": "Dees pagina is gerizzerveerd veur 't oetveure van JavaScriptteste.",
        "javascripttest-pagetext-unknownframework": "Ónbekèndje testframework \"$1\".",
        "javascripttest-pagetext-frameworks": "Kees ein vanne volgende tesframeworks: $1",
        "javascripttest-pagetext-skins": "Kees 'n oeterlik óm de teste op te laote loupe:",
        "javascripttest-qunit-intro": "Zuuch de [$1 tesdocumentatie] op mediawiki.org.",
-       "javascripttest-qunit-heading": "QUnit tessuite veur MediaWiki JavaScript",
        "tooltip-pt-userpage": "Dien gebroekerspagina",
        "tooltip-pt-anonuserpage": "De gebroekerspazjena veur dit IP adres",
        "tooltip-pt-mytalk": "Dien euverlèkpagina",
        "watchlisttools-edit": "Volglies bekieke en bewirke",
        "watchlisttools-raw": "Roew volglies bewirke",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|euverlègk]])",
-       "unknown_extension_tag": "Ónbekindje tag \"$1\"",
        "duplicate-defaultsort": "Waarsjuwing: De standaardsortering \"$2\" krieg veurrang veur de sortering \"$1\".",
        "version": "Versie",
        "version-extensions": "Geïnstalleerde oetbreijinge",
        "version-parser-function-hooks": "Parserfunctieheuk",
        "version-hook-name": "Hooknaam",
        "version-hook-subscribedby": "Geabonneerd door",
-       "version-version": "(Versie $1)",
+       "version-version": "($1)",
        "version-license": "Licentie",
        "version-poweredby-credits": "Deze wiki weurt aangedreve door '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "anger",
        "specialpages-group-wiki": "Wikigegaeves en -hölpmiddele",
        "specialpages-group-redirects": "Doorverwiezende speciaal pazjena's",
        "specialpages-group-spam": "Spamhölpmiddele",
+       "specialpages-group-developer": "Hölpmiddele veur óntwikkeleers",
        "blankpage": "Laeg pazjena",
        "intentionallyblankpage": "Deze pagina is bewus laeg gelaote en wurt gebroek veur benchmarks, enzovoort.",
        "external_image_whitelist": " #Laot deze regel onveranderd<pre>\n#Zèt hierónger reguliere expressiefragmente (allein 't deil det tusse de // steit)\n#Deze waere gehaaje taenge de URL's van externe (gehotlinkte) aafbeeldinge\n#Es de reguliere expressie van toegang is, wurd 'n aafbeelding weergegaeve, anges wurd allein 'n verwiezing weergegaeve\n#Regels die beginne met \"#\" waere es opmerking behanjeld\n#Regels in de witte lies zeen neet hooflettergeveulig.\n\n#Zet alle reguliere expressiefragmenten baove deze regel. Laot deze regel onveranderd</pre>",
index 350f703..9f56b15 100644 (file)
        "version-parser-function-hooks": "Analizatoriaus funkciniai gaudliai",
        "version-hook-name": "Gaudlio pavadinimas",
        "version-hook-subscribedby": "Užsakyta",
-       "version-version": "(Versija $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[be pavadinimo]",
        "version-license": "MediaWiki licencija",
        "version-ext-license": "Licencija",
index efbf6bb..09d487e 100644 (file)
        "version-other": "Cita",
        "version-hooks": "Aizķeres",
        "version-hook-name": "Aizķeres nosaukums",
-       "version-version": "(Versija $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[bez nosaukuma]",
        "version-license": "MediaWiki licence",
        "version-ext-license": "Licence",
index 7636ee2..f0d436a 100644 (file)
@@ -15,7 +15,9 @@
                        "LNDDYL",
                        "Jason924tw",
                        "灰太狼Wolffy55",
-                       "RalfX"
+                       "RalfX",
+                       "Davidzdh",
+                       "Nemo bis"
                ]
        },
        "tog-underline": "鏈墊線:",
        "tog-hidepatrolled": "隱近巡",
        "tog-newpageshidepatrolled": "隱新巡",
        "tog-extendwatchlist": "展列見變",
-       "tog-usenewrc": "青出近易(JavaScript)",
+       "tog-usenewrc": "青出近易",
        "tog-numberheadings": "生章數",
-       "tog-showtoolbar": "多寶列見(JavaScript)",
+       "tog-showtoolbar": "多寶列見",
        "tog-editondblclick": "雙擊以纂頁",
-       "tog-editsectiononrightclick": "纂段右擊標(JavaScript)",
+       "tog-editsectiononrightclick": "纂段右擊標",
        "tog-watchcreations": "哨己撰",
        "tog-watchdefault": "哨己纂",
        "tog-watchmoves": "派哨予吾遷之頁",
@@ -42,7 +44,7 @@
        "tog-shownumberswatching": "放哨有",
        "tog-oldsig": "覽原署名:",
        "tog-fancysig": "署以本碼待之(免自連)",
-       "tog-uselivepreview": "即覽嚐鮮(JavaScript)",
+       "tog-uselivepreview": "即覽嚐鮮",
        "tog-forceeditsummary": "漏概醒之",
        "tog-watchlisthideown": "不哨己文",
        "tog-watchlisthidebots": "不哨僕文",
        "newwindow": "啟窗",
        "cancel": "捨",
        "moredotdotdot": "見逾",
-       "morenotlisted": "示未出之項",
+       "morenotlisted": "列未成。",
        "mypage": "寒舍",
        "mytalk": "書房",
        "anontalk": "與(IP)私議",
        "permalink": "恆通",
        "print": "印",
        "view": "察",
+       "view-foreign": "觀於$1",
        "edit": "纂",
        "create": "立",
        "editthispage": "纂",
        "hidetoc": "藏",
        "collapsible-collapse": "摺",
        "collapsible-expand": "展",
+       "confirmable-confirm": "{{GENDER:$1|汝}}無悔?",
        "confirmable-yes": "是",
        "confirmable-no": "否",
        "thisisdeleted": "還$1或閱之?",
        "missingarticle-diff": "(異:$1,$2)",
        "internalerror": "家誤",
        "internalerror_info": "家誤:$1",
-       "filecopyerror": "\"$1\"謄\"$2\",未可為也。",
+       "filecopyerror": "謄\"$1\"至\"$2\",未可為也。",
        "filerenameerror": "\"$2\"替\"$1\"名,未可為也。",
        "filedeleteerror": "\"$1\"未可刪也。",
        "directorycreateerror": "立目\"$1\",未可為也。",
        "boteditletter": "僕",
        "number_of_watching_users_pageview": "[放有$1哨]",
        "rc_categories_any": "任",
+       "rc-change-size-new": "既纂,本文有$1字節",
        "newsectionsummary": "/* $1 */ 新節",
        "rc-enhanced-expand": "示細(要 JavaScript)",
        "rc-enhanced-hide": "藏細",
        "tooltip-pt-mycontris": "刻勛功、追作續、慰苦勞",
        "tooltip-pt-login": "設書齋、錄功績、廣放哨",
        "tooltip-pt-logout": "凡事盡,乘雲飄",
+       "tooltip-pt-createaccount": "勸君增簿以登,然非必須之舉",
        "tooltip-ca-talk": "求異見、辯是非、妥紛擾",
        "tooltip-ca-edit": "拓文意、校誤謬、潤辭藻",
        "tooltip-ca-addsection": "有言議,添新要",
        "version-parser-function-hooks": "語函鈎",
        "version-hook-name": "鈎名",
        "version-hook-subscribedby": "用於",
-       "version-version": "(版 $1)",
+       "version-version": "($1)",
        "version-license": "牌",
        "version-poweredby-credits": "此 Wiki 以 '''[https://www.mediawiki.org/ MediaWiki]''' 之驅,權 © 2001-$1 $2。",
        "version-poweredby-others": "其他",
        "specialpages-group-wiki": "Wiki訊與器",
        "specialpages-group-redirects": "轉之特查",
        "specialpages-group-spam": "反垃圾之器",
+       "specialpages-group-developer": "造紙者之器",
        "blankpage": "白頁",
        "intentionallyblankpage": "此頁為白也,試速之用",
        "external_image_whitelist": " #同留<pre>\n#下(中之//)乃正表式\n#乃外(連)圖配之\n#配乃成像,非配則成連\n#有 # 之為注\n#無為大小之異也\n\n#入正表式。同留</pre>",
        "revdelete-summary": "摘",
        "searchsuggest-search": "尋",
        "pagelang-language": "語",
+       "default-skin-not-found": "嚄!君於<code dir=\"ltr\">$wgDefaultSkin</code>所設之膚無以用也。君所用版本,似需含膚下者也。可於MediaWiki之官網[https://www.mediawiki.org/wiki/Manual:Skin_configuration “設膚”]之冊,以知啟而許膚之法。\n\n$2\n\n; 若君安MediaWiki未幾:\n: 君或安自git庫。或以他法徑安自源始碼,若如此甚善。汝可試下者之法,自[https://www.mediawiki.org/wiki/Category:All_skins mediawiki.org之膚庫]安膚些許:\n:* 載下[https://www.mediawiki.org/wiki/Download/lzh 群安之器]。若依此道,則將预安膚與拓器些許。君可謄而貼<code>skins/</code>于焉。\n:* 自[https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org]獨載下安膚包。\n:* 以git徑謄自<code>mediawiki/skins/*</code>儲物库,至君MediaWiki副本之<code dir=\"ltr\">skins/</code>。\n: 若君MediaWiki開發者也,則為之應擾不及君之git儲物庫。\n\n; 若君MediaWiki新矣:\n: 自MediaWiki 1.24版本始,已安之膚不復自啟(見[https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery 冊])。君可謄而貼字下者,至君圍紀之<code>LocalSettings.php</code>以啟膚已安者:\n\n<pre dir=\"ltr\">$3</pre>\n\n; 若君已改<code>LocalSettings.php</code>:\n: 请再查膚名,以保之無誤。",
        "mediastatistics-header-unknown": "未知",
        "mediastatistics-header-video": "映像",
        "json-error-syntax": "語法有誤"
index abbd91b..cac7490 100644 (file)
        "version-parser-function-hooks": "विभाजक प्रकार्य खुट्टी",
        "version-hook-name": "खुट्टीक नाम",
        "version-hook-subscribedby": "ई सदस्यता लेलनि",
-       "version-version": "(संस्करण $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[कोनो नाम नै]",
        "version-license": "अधिकार",
        "version-ext-license": "अधिकार",
index 3307c93..46f6d38 100644 (file)
        "delete-toobig": "Тя лопать кувака петнемань историясь, $1 {{PLURAL:$1|верзиеда|верзиеда}} лама. Тяфтама лопатнень нардамась кардаф {{SITENAME}}-нь уф учсеви колавомада араламать туфталонкса.",
        "delete-warning-toobig": "Тя лопать кувака петнемань историясь, $1 {{PLURAL:$1|верзиеда|верзиеда}} лама. Сонь нардамаста, улема, лиси {{SITENAME}}-нь датабаза якаманц колавомась; тик тянь инголе арьсезь.",
        "rollback": "Потафтомс петнематне",
-       "rollback_short": "Потафтома",
        "rollbacklink": "потафтомс",
        "rollbackfailed": "Потафтомась изь лисе",
        "cantrollback": "Аш кода петнемать потафтомс; мекольце путысь ульсь тя лопать анцек фкя тиикс.",
        "watchlisttools-view": "Няфтемс полафнематне лувомастонь лопапотмова",
        "watchlisttools-edit": "Няфтемс эди петнемс мельгеваномать",
        "watchlisttools-raw": "Петнемс казяма мельгеваномать",
-       "unknown_extension_tag": "Аф содаф келептема тяштькссь \"$1\"",
        "duplicate-defaultsort": "Инголе мярьгома: Апак полафтт сортонь панжема \"$2\" апак полафтт сортонь панжема \"$1\"да вяре.",
        "version": "MediaWiki-ть верзиец",
        "version-extensions": "Нолдаф тевс келепнематне",
        "version-parser-function-hooks": "Синтаксонь анализаторть функциензон кярьмодихне",
        "version-hook-name": "Кярьмодинь лемоц",
        "version-hook-subscribedby": "Сёрматфтсь",
-       "version-version": "(Верзие $1)",
+       "version-version": "($1)",
        "version-license": "Лицензие",
        "version-software": "Нолдаф програпне",
        "version-software-product": "Нолдафкс",
index 5811a61..e63929f 100644 (file)
        "youhavenewmessagesmanyusers": "Sanak mandapek $1 dari banyak pangguno ($2)",
        "newmessageslinkplural": "{{PLURAL:$1|pasan baru}}",
        "newmessagesdifflinkplural": "{{PLURAL:$1|parubahan}} taakhia",
-       "youhavenewmessagesmulti": "Sanak mandapek pasan baru pado $1",
+       "youhavenewmessagesmulti": "Sanak ado pasan baru pado $1",
        "editsection": "suntiang",
        "editold": "suntiang",
        "viewsourceold": "caliak sumber",
        "login-abort-generic": "Proses masuak Sanak indak barasil - Dibatalan",
        "loginlanguagelabel": "Baso: $1",
        "suspicious-userlogout": "Pamintaan Sanak untuak kalua log ditulak karano tampaknyo dikirim oleh paramban nan rusak atau proksi panyinggah.",
+       "pt-userlogout": "Kalua log",
        "php-mail-error-unknown": "Kasalahan nan indak jaleh dalam fungsi mail() PHP",
        "user-mail-no-addy": "Mancubo mangirim surel tanpa alamaik surel.",
        "user-mail-no-body": "Mancubo mangirim surel kosong atau pasan talalu pendek",
        "deleteotherreason": "Alasan lain/tambahan:",
        "deletereasonotherlist": "Alasan lain",
        "rollback": "Baliakan suntiangan",
-       "rollback_short": "Baliakan",
        "rollbacklink": "baliakan",
        "rollbacklinkcount": "baliakan $1 {{PLURAL:$1|suntiangan}}",
        "rollbacklinkcount-morethan": "baliakan labiah dari $1 {{PLURAL:$1|suntiangan}}",
        "watchlisttools-edit": "Tunjuakan sarato suntiang daftar pantau",
        "watchlisttools-raw": "Suntiang pantauan mantah",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|maota]])",
-       "unknown_extension_tag": "Tag ekstensi \"$1\" indak tau",
        "duplicate-defaultsort": "'''Peringatan:''' Kunci panguruitan default \"$2\" sabalunnyo mangabaikan kunci panguruitan default \"$1\".",
        "version": "Versi",
        "version-extensions": "Ekstensi tarinstal",
        "version-variables": "Variabel",
        "version-antispam": "Pancagahan spam",
        "version-other": "Lain-lain",
-       "version-version": "(Versi $1)",
+       "version-version": "($1)",
        "version-license": "Lisensi",
        "version-poweredby-credits": "Wiki ko didukuang jo '''[https://www.mediawiki.org/ MediaWiki]''', hak cipta © 2001-$1 $2.",
        "version-poweredby-others": "lainnyo",
index 2d59fa7..c6e20ec 100644 (file)
        "readonly_lag": "Базата е автоматски заклучена додека помошните опслужувачи не се усогласат",
        "internalerror": "Внатрешна грешка",
        "internalerror_info": "Внатрешна грешка: $1",
+       "internalerror-fatal-exception": "Кобен исклучок на типот „$1“",
        "filecopyerror": "Не можeв да ја ископирам податотеката „$1“ во „$2“.",
        "filerenameerror": "Не можев да ја преименувам податотеката „$1“ во „$2“.",
        "filedeleteerror": "Не може да се избрише податотеката „$1“.",
        "unusedimages": "Неискористени слики",
        "wantedcategories": "Потребни категории",
        "wantedpages": "Потребни страници",
+       "wantedpages-summary": "Список на непостоечки страници со највеќе врски што водат до нив, исклучувајќи страниците до кои водат само пренасочувања. Список на непостоечки страници до кои водат пренасочувања ќе најдете на [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Невалиден наслов во резултатите: $1",
        "wantedfiles": "Потребни податотеки",
        "wantedfiletext-cat": "Следниве податотеки се користат, но не постојат. Податотеките од други складишта може да се наведени дури и ако постојат. Таквите ќе бидат <del>поништени</del> од списокот. Покрај ова, страниците што содржат податотеки кои не постојат се наведени на [[:$1]].",
        "thumbnail_image-missing": "Изгледа дека податотеката недостасува: $1",
        "thumbnail_image-failure-limit": "Направив премногу обиди ($1 или повеќе) за да ја прикажам минијатурава. Обидете се подоцна.",
        "import": "Увезување на страници",
-       "importinterwiki": "Ð\9cеÑ\93Ñ\83вики Ñ\83воз",
-       "import-interwiki-text": "Избери вики и наслов на страница за увоз.\nДатумите и имињата на уредниците ќе бидат зачувани.\nСите постапки при увозот од другото вики се заведуваат во [[Special:Log/import|дневникот на увезувања]].",
+       "importinterwiki": "Увези Ð¾Ð´ Ð´Ñ\80Ñ\83го Ð²Ð¸ÐºÐ¸",
+       "import-interwiki-text": "Избери вики и наслов на страница за увоз.\nДатумите и имињата на уредниците ќе бидат зачувани.\nСите увози од други викија се заведуваат во [[Special:Log/import|дневникот на увезувања]].",
        "import-interwiki-sourcewiki": "Изворно вики:",
        "import-interwiki-sourcepage": "Изворна страница:",
        "import-interwiki-history": "Копирај ги сите постари верзии за оваа страница",
        "importcantopen": "Не може да се отвори увезената податотека",
        "importbadinterwiki": "Лоша меѓувики-врска",
        "importsuccess": "Увезувањето е завршено!",
-       "importnosources": "Ð\9dема Ð¾Ð¿Ñ\80еделено Ð¼ÐµÑ\93Ñ\83вики-извоÑ\80и Ð·Ð° увоз и непосредните подигања на историја се оневозможени.",
+       "importnosources": "Ð\9dема Ð²Ð¸ÐºÐ¸Ñ\98а Ð¾Ð´ ÐºÐ¾Ð¸ Ð±Ð¸ Ñ\81е Ð¸Ð·Ð²Ñ\80Ñ\88ил увоз и непосредните подигања на историја се оневозможени.",
        "importnofile": "Нема подигнато увозна податотека.",
        "importuploaderrorsize": "Подигањето на увозната податотека не успеа.\nПодатотеката ја надминува допуштената големина.",
        "importuploaderrorpartial": "Подигањето на увозна податотека не успеа.\nПодатотеката е само делумно подигната.",
        "version-parser-function-hooks": "Куки на расчленувачки функции",
        "version-hook-name": "Име на кука",
        "version-hook-subscribedby": "Претплатено од",
-       "version-version": "(Верзија $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[нема име]",
        "version-svn-revision": "прер. $1",
        "version-license": "Лиценца на МедијаВики",
index dc2cd22..7fe9c72 100644 (file)
        "delete-warning-toobig": "Энэ хуудасны засварын түүх маш том байгаа бөгөөд {{PLURAL:$1| гаруй засвар| гаруй засварууд}} байна.\nУстгавал {{SITENAME}}-н мэдээллийн сангийн үйл ажиллагаанд нөлөөлж магадгүй тул та анхаарна уу.",
        "deleteprotected": "Энэ хуудас хамгаалалттай тул устгаж болохгүй.",
        "rollback": "Засваруудыг буцаах",
-       "rollback_short": "Буцаах",
        "rollbacklink": "буцаах",
        "rollbackfailed": "Буцааж чадсангүй",
        "cantrollback": "Засварласан хэсгийг хуучин төлөвт шилжүүлж чадсангүй;\nсүүлчийн засварыг хийгч нь энэ хуудасны цорын ганц бичигч байна.",
        "import-logentry-interwiki": "$1-г транс-викидлээ",
        "import-logentry-interwiki-detail": "$2-с авсан $1 засвар",
        "javascripttest": "JavaScript туршилт",
-       "javascripttest-title": "$1 теёт хийж байна",
        "javascripttest-pagetext-noframework": "Уг хуудсыг JavaScript тест хийхэд ашиглана.",
        "javascripttest-pagetext-unknownframework": "\"$1\" мэдэхгүй тест фреймворк байна.",
        "tooltip-pt-userpage": "Таны хэрэглэгчийн хуудас",
        "watchlisttools-view": "Холбогдох өөрчлөлтүүдийг үзэх",
        "watchlisttools-edit": "Хянаж буй хуудсуудын жагсаалтаа үзэж засварлах",
        "watchlisttools-raw": "Хянаж буй хуудсуудын жагсаалтаа текстээр засварлах",
-       "unknown_extension_tag": "Үл мэдэгдэх өргөтгөл таг: \"$1\"",
        "duplicate-defaultsort": "'''Анхаар:''' \"$2\" гэсэн default sort key нь \"$1\" гэсэн өмнөх key-н дээгүүр бичигдэх болж байна.",
        "version": "Хувилбар",
        "version-extensions": "Суулгасан өргөтгөлүүд",
        "version-parser-function-hooks": "Парсер функцийн тагууд",
        "version-hook-name": "Хүүкийн нэр",
        "version-hook-subscribedby": "Захиалсан:",
-       "version-version": "(Хувилбар $1)",
+       "version-version": "($1)",
        "version-license": "Лиценз",
        "version-poweredby-credits": "Энэхүү викиг '''[https://www.mediawiki.org/ MediaWiki]''' програмаар ажиллуулдаг, зохиогчийн эрх © 2001-$1 $2.",
        "version-poweredby-others": "бусад",
index 1518d9f..00743ad 100644 (file)
        "version-parser-function-hooks": "Penyangkuk fungsi penghurai",
        "version-hook-name": "Nama penyangkuk",
        "version-hook-subscribedby": "Dilanggan oleh",
-       "version-version": "(Versi $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[tiada nama]",
        "version-license": "Lesen MediaWiki",
        "version-ext-license": "Lesen",
index 4215b6b..ed9281c 100644 (file)
        "delete-toobig": "Din il-paġna għandha kronoloġija ta' modifikar kbira, l-fuq minn $1 {{PLURAL:$1|reviżjoni|reviżjonijiet}}.\nTħassir ta' dawn il-paġni huwa limitat sabiex tnaqqas il-ħolqien aċċidentalment ta' problemi fil-funżjoni tad-database ta' {{SITENAME}}.",
        "delete-warning-toobig": "Din il-paġna għandha kronoloġija ta' modifikar kbira, l-fuq minn $1 {{PLURAL:$1|reviżjoni|reviżjonijiet}}.\nTħassara tista' toħloq problema ta' funżjoni fid-database ta' {{SITENAME}}; moħħok hemm.",
        "rollback": "Ħassar il-modifiki",
-       "rollback_short": "Rollback",
        "rollbacklink": "rollback",
        "rollbackfailed": "Rollback ma ħadmitx",
        "cantrollback": "Impossibli tħassar il-modifiki; l-utent li wettaqhom huwa l-unika li għamel kontributi lil din il-paġna.",
        "version-parser-function-hooks": "''Hooks'' għal funzjonijiet tal-''parser''",
        "version-hook-name": "Isem tal-hook",
        "version-hook-subscribedby": "Reġistrat minn",
-       "version-version": "(Verżjoni $1)",
+       "version-version": "($1)",
        "version-license": "Liċenzja",
        "version-poweredby-credits": "Din il-wiki hija operata minn '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "oħrajn",
index a570164..32852fb 100644 (file)
        "deletereason-dropdown": "*Нардамонь сех вастневиця тувталтнэ\n** Теицянть вешемазо\n** Теицянь видечинть коламозо\n** Вандализма",
        "delete-edit-reasonlist": "Витнемс-петнемс нардамонь тувталтнэнь",
        "rollback": "Кевердемс витнематнень-петнематнень мекев",
-       "rollback_short": "Мекев кевердема",
        "rollbacklink": "кевердемс",
        "rollbackfailed": "Мекев кевердемась эзь лисе",
        "protectlogpage": "Ванстомань совамо-кемекстамо",
        "version-hooks": "Кечказт",
        "version-hook-name": "Кечказонть лемезэ",
        "version-hook-subscribedby": "Сёрмадстызе",
-       "version-version": "(Версия $1)",
+       "version-version": "($1)",
        "version-license": "Лицензия",
        "version-software": "Нолдань программат",
        "version-software-product": "Шкавкс-нолдавкс",
index e9974f6..74a44dd 100644 (file)
        "readonly_lag": "'O database s'è bloccato automaticamente pe' tramente ca 'e servers 'e database schiave sincronizzano c' 'o server masto.",
        "internalerror": "Errore 'nterno",
        "internalerror_info": "Errore 'nterno: $1",
+       "internalerror-fatal-exception": "Errore irreversibbele 'e tipo \"$1\"",
        "filecopyerror": "Nun se può copiare 'o file \"$1\" int'a \"$2\".",
        "filerenameerror": "Nun se può rinnummenare 'o file \"$1\" into \"$2\".",
        "filedeleteerror": "Nun se pô scancellà 'o file \"$1\"",
        "unusedimages": "File ca nun s'ausano",
        "wantedcategories": "Categurìe addimannate",
        "wantedpages": "Paggene cchiù addemannate",
+       "wantedpages-summary": "Elenco 'e paggene nun esistente ca teneno na parte assaje d' 'e link ca spuntassero a chiste. Pe' na lista 'e paggene nun esistente ca teneno redirect ca spuntassero a chiste, vide [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Titolo invalido mmiez' 'o nzieme 'e risultate: $1",
        "wantedfiles": "File addimannate",
        "wantedfiletext-cat": "Chisti file s'ausano ma nun esisteno. 'E file ca veneno 'e n'archivio 'e fore s'alencano ccà senza cuntrullà l'esistenza suja. Sti fauze pusitive sarranno <del>nzignate</del>. 'E paggene ca teneno sti file ca nun esisteno song'alencate dint'a [[:$1]].",
        "thumbnail_image-missing": "'O file pare ca nun se trova: $1",
        "thumbnail_image-failure-limit": "Se so' fatte troppe tentative senza ngarrata ($1 o cchiù) 'a generà sta miniatura. Pruvate n'ata vota cchiù tarde.",
        "import": "Mpurta paggene",
-       "importinterwiki": "Mpurtazione transkwiki",
-       "import-interwiki-text": "Scigliete na wiki e nu titolo 'e paggena 'a mpurtà.\n'E date e l'editore s'astiparranno.\nTutte l'aziune 'e mpurtaziune nfra 'e wiki songo riggistrate dint' 'e [[Special:Log/import|riggistre 'e mpurtazione]].",
+       "importinterwiki": "Carreca paggene 'a n'ata wiki",
+       "import-interwiki-text": "Scigliete na wiki e nu titolo 'e paggena 'a mpurtà.\n'E date e l'editore s'astiparranno.\nTutt' 'e mpurtaziune 'a n'ati wiki songo riggistrate dint' 'e [[Special:Log/import|riggistre 'e mpurtazione]].",
        "import-interwiki-sourcewiki": "Wiki d'origgene:",
        "import-interwiki-sourcepage": "Paggena d'origgene:",
        "import-interwiki-history": "Copia tutt' 'a storia d' 'e verziune 'e sta paggena",
        "importcantopen": "Nun se può arapì 'o file 'e mpurtaziona",
        "importbadinterwiki": "Cullegamiento interwiki errato",
        "importsuccess": "Mpurtaziona fernuta!",
-       "importnosources": "Nisciuna fonte p' 'a mpurtaziona transwiki è stata definita; 'e carreche dirette 'e cronologgia nun songo attivate.",
+       "importnosources": "Nisciuna wiki, d' 'a quale s'avess'a mpurtà, è stata definita; 'e carreche dirette 'e cronologgia nun songo attivate.",
        "importnofile": "Nisciunu file 'e mpurtazione è stato carrecato.",
        "importuploaderrorsize": "'A carreca d' 'o file 'e mpurtazione nun è riuscita.\n'O file è cchiù gruosso d' 'a dimenziona massima 'e carreca.",
        "importuploaderrorpartial": "'A carreca d' 'o file mpurtato è fallita.\nNa parta d' 'o file file è stata carrecata ma nun a nu piezzo sano sano.",
        "revdelete-uname-unhid": "nomme utente fatto avvedè",
        "revdelete-restricted": "restriziune apprecate a ll'ammenistrature",
        "revdelete-unrestricted": "restriziune luvate a ll'ammenistrature",
+       "logentry-block-block": "$1 {{GENDER:$2|ave bluccato}} {{GENDER:$4|$3}} cu na scadenza 'e $5 $6",
+       "logentry-block-unblock": "$1 {{GENDER:$2|ave sbluccato}} {{GENDER:$4|$3}}",
+       "logentry-block-reblock": "$1 {{GENDER:$2|ave cagnato}} 'e mpustaziune 'e blocco pe' {{GENDER:$4|$3}} cu na scadenza 'e $5 $6",
+       "logentry-suppress-block": "$1 {{GENDER:$2|ave bluccato}} {{GENDER:$4|$3}} cu na scadenza 'e $5 $6",
+       "logentry-suppress-reblock": "$1 {{GENDER:$2|cagnaje}} 'e mpustaziune 'e blocco 'e {{GENDER:$4|$3}} ch' 'ammaturasse a nu $5 $6",
        "logentry-merge-merge": "$1 {{GENDER:$2|aunito|aunita}} $3 int' 'a $4 (verziune nzin' 'a $5)",
        "logentry-move-move": "$1 {{GENDER:$2|muvette}} paggena $3 a $4",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|muvette}} paggena $3 a $4 senza lassà nu redirezionamiento",
index 11325a9..93064cc 100644 (file)
        "version-parser-function-hooks": "Parserfunksjoner",
        "version-hook-name": "Navn",
        "version-hook-subscribedby": "Brukes av",
-       "version-version": "(versjon $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[uten navn]",
        "version-license": "Lisens",
        "version-ext-license": "Lisens",
index 090503a..0086fd6 100644 (file)
        "version-parser-function-hooks": "Parserfunksiehoeken",
        "version-hook-name": "Hooknaam",
        "version-hook-subscribedby": "In-eschreven deur",
-       "version-version": "(Versie $1)",
+       "version-version": "($1)",
        "version-license": "MediaWiki-lisensie",
        "version-ext-colheader-version": "Versie",
        "version-ext-colheader-license": "Lisensie",
index 6e349e3..6848d71 100644 (file)
        "version-parser-function-hooks": "Parser-Funkschonen",
        "version-hook-name": "Hook-Naam",
        "version-hook-subscribedby": "Opropen vun",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-license": "Lizenz",
        "version-poweredby-credits": "Dit Wiki bruukt '''[https://www.mediawiki.org/ MediaWiki]''', Copyright © 2001–$1 $2.",
        "version-poweredby-others": "annere",
index fd2f490..a7c311e 100644 (file)
        "version-parser-function-hooks": "पार्सर फङ्सन हुक",
        "version-hook-name": "हुक नाम",
        "version-hook-subscribedby": "ग्राह्यता गर्ने",
-       "version-version": "(संस्करण $1)",
+       "version-version": "($1)",
        "version-svn-revision": "(r$2)",
        "version-license": "इजाजतपत्र",
        "version-poweredby-credits": "यो विकी '''[https://www.mediawiki.org/ मिडियाविकि]''' द्वारा सशक्तिकरण गरिएको छ, copyright © सन् २००१-$1 $2.",
index bc314fc..aa4b6d9 100644 (file)
        "readonly_lag": "De database is automatisch vergrendeld terwijl de ondergeschikte databaseservers synchroniseren met de hoofdserver.",
        "internalerror": "Interne fout",
        "internalerror_info": "Interne fout: $1",
+       "internalerror-fatal-exception": "Fatale fout van type \"$1\"",
        "filecopyerror": "Bestand \"$1\" kon niet naar \"$2\" gekopieerd worden.",
        "filerenameerror": "\"$1\" kon niet hernoemd worden naar \"$2\".",
        "filedeleteerror": "Bestand \"$1\" kon niet verwijderd worden.",
        "uploaderror": "Uploadfout",
        "upload-recreate-warning": "'''Waarschuwing: er is een bestand met deze naam verwijderd of hernoemd.'''\n\nHieronder worden het verwijderingslogboek en het hernoemingslogboek voor deze pagina weergegeven:",
        "uploadtext": "Gebruik het onderstaande formulier om bestanden te uploaden.\nOm eerder toegevoegde bestanden te bekijken of te zoeken kunt u naar de [[Special:FileList|bestandslijst]] gaan.\nUploads en bestanden die na verwijdering opnieuw worden toegevoegd zijn na te zien in het [[Special:Log/upload|uploadlogboek]].\nVerwijderde bestanden worden bijgehouden in het [[Special:Log/delete|verwijderingslogboek]].\n\nOm het bestand in te voegen in een pagina kunt u een van de volgende vormen gebruiken, al naar gelang het bestandsformaat dat van toepassing is:\n* '''<nowiki>[[</nowiki>{{ns:file}}<nowiki>:Bestand.jpg]]</nowiki>''' om de volledige versie van het bestand te gebruiken;\n* '''<nowiki>[[</nowiki>{{ns:file}}<nowiki>:Bestand.png|200px|thumb|left|alternatieve tekst]]</nowiki>''' om een 200-pixels brede afbeelding links weer te geven met een rand en met \"alternatieve tekst\" als beschrijving;\n* '''<nowiki>[[</nowiki>{{ns:media}}<nowiki>:Bestand.ogg]]</nowiki>''' om naar het bestand te verwijzen zonder het weer te geven.",
-       "upload-permitted": "Toegelaten bestandstypes: $1.",
-       "upload-preferred": "Aangewezen bestandstypes: $1.",
-       "upload-prohibited": "Verboden bestandstypes: $1.",
+       "upload-permitted": "Toegelaten {{PLURAL:$2|bestandstype|bestandstypes}}: $1.",
+       "upload-preferred": "Aangewezen {{PLURAL:$2|bestandstype|bestandstypes}}: $1.",
+       "upload-prohibited": "Verboden {{PLURAL:$2|bestandstype|bestandstypes}}: $1.",
        "uploadlogpage": "Uploadlogboek",
        "uploadlogpagetext": "Hieronder staan de nieuwste bestanden.\nZie de [[Special:NewFiles|galerij met nieuwe bestanden]] voor een visueler overzicht.",
        "filename": "Bestandsnaam",
        "thumbnail_image-missing": "Het bestand lijkt niet aanwezig te zijn: $1",
        "thumbnail_image-failure-limit": "Het maken van een miniatuurafbeelding is te vaak mislukt ($1 keer of vaker). Probeer het later nog eens.",
        "import": "Pagina's importeren",
-       "importinterwiki": "Transwiki-import",
-       "import-interwiki-text": "Selecteer een wiki en paginanaam om te importeren.\nVersie- en auteursgegevens blijven hierbij bewaard.\nAlle transwiki-importhandelingen worden opgeslagen in het [[Special:Log/import|importlogboek]].",
+       "importinterwiki": "Pagina's importeren vanuit een andere wiki",
+       "import-interwiki-text": "Selecteer een wiki en paginanaam om te importeren.\nVersie- en auteursgegevens blijven hierbij bewaard.\nAlle importhandelingen worden opgeslagen in het [[Special:Log/import|importlogboek]].",
        "import-interwiki-sourcewiki": "Bronwiki:",
        "import-interwiki-sourcepage": "Bronpagina:",
        "import-interwiki-history": "Volledige geschiedenis van deze pagina ook kopiëren",
        "importcantopen": "Kon het importbestand niet openen",
        "importbadinterwiki": "Verkeerde interwikikoppeling",
        "importsuccess": "Import afgerond!",
-       "importnosources": "Er zijn geen transwiki-importbronnen gedefinieerd en directe geschiedenis-uploads zijn uitgeschakeld.",
+       "importnosources": "Er zijn geen wiki's van waaruit geïmporteerd kan worden vastgelegd. Directe geschiedenis-uploads zijn uitgeschakeld.",
        "importnofile": "Er is geen importbestand geüpload.",
        "importuploaderrorsize": "Upload van het importbestand in mislukt.\nHet bestand is groter dan de ingestelde limiet.",
        "importuploaderrorpartial": "Upload van het importbestand in mislukt.\nHet bestand is slechts gedeeltelijk aangekomen.",
        "javascripttest": "JavaScript testen",
        "javascripttest-pagetext-noframework": "Deze pagina is gereserveerd voor het uitvoeren van JavaScripttesten.",
        "javascripttest-pagetext-unknownframework": "Onbekend testframework \"$1\".",
+       "javascripttest-pagetext-unknownaction": "Onbekende actie \"$1\".",
        "javascripttest-pagetext-frameworks": "Kies een van de volgende testframeworks: $1",
        "javascripttest-pagetext-skins": "Kies een vormgeving om de tests mee uit te voeren:",
        "javascripttest-qunit-intro": "Zie de [$1 testdocumentatie] op mediawiki.org.",
        "tags-hitcount": "$1 {{PLURAL:$1|wijziging|wijzigingen}}",
        "tags-manage-no-permission": "U hebt geen rechten om labels te beheren.",
        "tags-create-heading": "Een nieuw label aanmaken",
+       "tags-create-explanation": "Standaard worden nieuw aangemaakte labels beschikbaar gesteld voor gebruik door gebruikers en bots.",
        "tags-create-tag-name": "Labelnaam:",
        "tags-create-reason": "Reden:",
        "tags-create-submit": "Aanmaken",
+       "tags-create-no-name": "U moet een labelnaam opgeven.",
        "tags-create-already-exists": "Het label \"$1\" bestaat al.",
        "tags-delete-title": "Label verwijderen",
        "tags-delete-reason": "Reden:",
        "logentry-rights-rights": "$1 {{GENDER:$2|heeft}} groepslidmaatschap voor $3 gewijzigd van $4 naar $5",
        "logentry-rights-rights-legacy": "$1 {{GENDER:$2|heeft}} het groepslidmaatschap gewijzigd voor $3",
        "logentry-rights-autopromote": "$1 {{GENDER:$2|is}} automatisch gepromoveerd van $4 naar $5",
-       "logentry-upload-upload": "$1 heeft $3 {{GENDER:$2|geupload}}",
+       "logentry-upload-upload": "$1 heeft $3 {{GENDER:$2|geüpload}}",
        "logentry-upload-overwrite": "$1 {{GENDER:$2|heeft}} een nieuwe versie van $3 geüpload",
        "logentry-upload-revert": "$1 heeft $3 {{GENDER:$2|geupload}}",
        "logentry-managetags-create": "$1 heeft het label \"$4\" {{GENDER:$2|aangemaakt}}",
index b667237..ae69662 100644 (file)
        "version-parser-function-hooks": "Parserfunksjonstillegg",
        "version-hook-name": "Namn på tillegg",
        "version-hook-subscribedby": "Brukt av",
-       "version-version": "(versjon $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[utan namn]",
        "version-license": "MediaWiki-lisens",
        "version-ext-license": "Lisens",
index 1e1748a..d50067a 100644 (file)
        "unusedimages": "Imatges orfanèls",
        "wantedcategories": "Categorias mai demandadas",
        "wantedpages": "Paginas mai demandadas",
+       "wantedpages-summary": "Aquesta pagina compta totes los ligams, encluses los inserits via de modèls de navigacion. Per una lista dels articles mai demandats, vejatz articles mai demandats, que comptabiliza pas que las referéncias que provenon de l'espaci de nom dels articles. Vejatz tanben lo '''articles mai demandats'''.",
        "wantedpages-badtitle": "Títol invalid dins los resultats : $1",
        "wantedfiles": "Fichièrs desirats",
        "wantedfiletext-cat": "Los fichièrs seguents son utilizats, mas existisson pas localament. Se se tròban sus un depaus partejat, pòdon èsser listats aicí, mentre que sián, de fach, ja disponibles. Totes aqueles falses positius seràn <del>raiats</del>. Amai, las paginas qu'intègran de fichièrs qu'existisson pas son repertoriadas dins [[:$1]].",
        "version-parser-function-hooks": "Croquets de las foncions del parser",
        "version-hook-name": "Nom del croquet",
        "version-hook-subscribedby": "Definit per",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[sens nom]",
        "version-license": "Licéncia de MediaWiki",
        "version-ext-license": "Licéncia",
index cce25e5..3247b50 100644 (file)
        "deleteprotected": "ଏହି ପୃଷ୍ଠାଟି କିଳାଯାଇଥିବାରୁ ଆପଣ ଏହାକୁ ଲିଭାଇପାରିବେ ନାହିଁ ।",
        "deleting-backlinks-warning": "''' ଚେତାବନୀ:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|ବାକି ପୃଷ୍ଠା]] ଆପଣ ଲିଭାଇବାକୁ ଯାଉଥିବା ପୃଷ୍ଠାଟି ସହିତ ଲିଙ୍କ କରନ୍ତୁ କିମ୍ବା ତାହାକୁ କାଢ଼ନ୍ତୁ ।",
        "rollback": "ପୁରାପୁରି ପଛକୁ ଫେରିବା ବଦଳ",
-       "rollback_short": "ପୂରାପୂରି ପଛକୁ ଫେରିଯିବେ",
        "rollbacklink": "ପୂରାପୂରି ପଛକୁ ଫେରିଯିବେ",
        "rollbacklinkcount": "{{PLURAL:$1|edit|edits}} $1 ପଛକୁ ଫେରାଇବେ",
        "rollbacklinkcount-morethan": "{{PLURAL:$1|edit|edits}} $1ରୁ ଅଧିକ ପଛକୁ ଫେରାଇବେ",
        "import-logentry-interwiki": "$1 କୁ ଟ୍ରାନ୍ସଉଇକି କରାଗଲା",
        "import-logentry-interwiki-detail": "$2ରୁ $1 {{PLURAL:$1|ଗୋଟି ସଂସ୍କରଣ|ଗୋଟି ସଂସ୍କରଣ}} ଅଣାଗଲା",
        "javascripttest": "ଜାଭାସ୍କ୍ରିପ୍ଟ ପରଖ",
-       "javascripttest-title": "ଚାଲୁଥିବା $1 ପରଖଗୁଡିକ",
        "javascripttest-pagetext-noframework": "ଏହି ପୃଷ୍ଠାଟି ଜାଭାସ୍କ୍ରିପ୍ଟ ପରଖ ପାଇଁ ସଂରକ୍ଷଣ କରି ରଖାଯାଇଛି ।",
        "javascripttest-pagetext-unknownframework": "\"$1\" ଅଜଣା ପରଖ ଗତିବିଧି ।",
        "javascripttest-pagetext-frameworks": "ଦୟାକରି ନିମ୍ନରେ ଥିବା ଏକ ପରଖ ପ୍ରକ୍ରିୟାକୁ ବାଛନ୍ତୁ :$1",
        "javascripttest-pagetext-skins": "ଏହି ପରଖକୁ ଚାଲୁ କରିବା ପାଇଁ ଏକ ଆବରଣ ବାଛନ୍ତୁ ।",
        "javascripttest-qunit-intro": "mediawiki.orgରେ [$1 testing documentation]କୁ ଦେଖନ୍ତୁ ।",
-       "javascripttest-qunit-heading": "ମେଡିଆଉଇକି ଜାଭାସ୍କ୍ରିପ୍ଟ Qunit ପରଖ ପ୍ରକ୍ରିୟା",
        "tooltip-pt-userpage": "ଆପଣଙ୍କ ବ୍ୟବହାରକାରୀ ପୃଷ୍ଠା",
        "tooltip-pt-anonuserpage": "ଆପଣ ଯେଉଁ IP ଠିକଣାର ବ୍ୟବହାରକାରୀ ପୃଷ୍ଠାଟି ବଦଳାଇବା ପାଇଁ ଚେଷ୍ଟା କରୁଛନ୍ତି",
        "tooltip-pt-mytalk": "ଆପଣଙ୍କ ଆଲୋଚନା ପୃଷ୍ଠା",
        "version-parser-function-hooks": "ପାର୍ସର କାମ ହୁକ",
        "version-hook-name": "ହୁକ ନାମ",
        "version-hook-subscribedby": "କାହା ଦେଇ ମଗାଯାଇଛି",
-       "version-version": "(ଭାଗ $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[କୌଣସି ନାମ ନାହିଁ]",
        "version-license": "ମିଡ଼ିଆଉଇକି ସ୍ୱତ୍ୱ",
        "version-ext-license": "ଲାଇସେନ୍ସ",
index 392fee0..b004f40 100644 (file)
        "version": "Фæлтæр",
        "version-skins": "Цъар",
        "version-other": "Æндæр",
-       "version-version": "(Фæлтæр $1)",
+       "version-version": "($1)",
        "version-license": "Лицензи",
        "version-poweredby-credits": "Ацы викийæн тых радта '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "æндæртæ",
index a7245dc..7baf518 100644 (file)
        "version": "Bersion",
        "version-specialpages": "Bulung a makabukud",
        "version-other": "Aliwa",
-       "version-version": "(Bersion $1)",
+       "version-version": "($1)",
        "version-license": "Lisensia",
        "version-software-product": "Produktu",
        "version-software-version": "Bersion",
index 5157220..0ca450f 100644 (file)
@@ -5,7 +5,8 @@
                        "Krinkle",
                        "Shirayuki",
                        "Xqt",
-                       "לערי ריינהארט"
+                       "לערי ריינהארט",
+                       "아라"
                ]
        },
        "tog-underline": "Gleecher unnerleine:",
        "version-specialpages": "Besunnere Bledder",
        "version-other": "Anneres",
        "version-mediahandlers": "Media-Haendlers",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-poweredby-others": "annere",
        "version-software-version": "Version",
        "fileduplicatesearch-filename": "Feilnaame:",
index baf36fa..1daa7d7 100644 (file)
                        "아라"
                ]
        },
-       "tog-underline": "Lingg unnaschdraische",
-       "tog-hideminor": "Vaschdegg klääne Bearwaidunge",
-       "tog-hidepatrolled": "Vaschdegg gsischdede Ännarunge",
-       "tog-extendwatchlist": "Zaisch alle Ännarunge unn ned nur die ledschde",
-       "tog-showtoolbar": "Wergzaisch fas Schaffe zaische",
-       "tog-previewontop": "Vorbligg owwahalwb vum Beaawaidungsfenschda zaische",
-       "tog-previewonfirst": "Zaischen Vorbligg baim erschdemol Schaffe",
+       "tog-underline": "Ling'g unnaschdraische",
+       "tog-hideminor": "Vaschdeggl klääne Beawaidunge vunde „Ledschde Ännarunge“",
+       "tog-hidepatrolled": "Vaschdeggl gsischdede Ännarunge inde „Ledschde Ännarunge“",
+       "tog-extendwatchlist": "Zaisch alle Ännarunge unn nedd nua die ledschde",
+       "tog-showtoolbar": "Weagzaisch fas Schaffe zaische",
+       "tog-previewontop": "VoAbligg owwahalwb vum Beawaidungsfenschda zaische",
+       "tog-previewonfirst": "Zaischn VoAbligg baim erschdemol Schaffe",
        "tog-oldsig": "Voahonneni Unnaschrifd",
        "tog-uselivepreview": "Uuvazeschada Vorbligg (vasugswais)",
        "tog-showhiddencats": "Zaisch vaschdeglde Grubbe",
@@ -31,7 +31,7 @@
        "wednesday": "Middwoch",
        "thursday": "Dunnaschdaach",
        "friday": "Fraidaach",
-       "saturday": "Sõmschdaach",
+       "saturday": "Soamschdaach",
        "sun": "Su",
        "mon": "Mo",
        "tue": "Di",
        "qbpageoptions": "Die Said",
        "qbmyoptions": "Moi Saide",
        "faq": "Ofd gschdeldi Froche",
-       "actions": "Maßnõhme",
-       "namespaces": "Nõmensreum",
+       "actions": "Maßnoahme",
+       "namespaces": "Noamensreum",
        "variants": "Tibbe",
+       "navigation-heading": "Nawigadzionsmeni",
        "errorpagetitle": "Irrdumm",
        "returnto": "Zrick zu $1.",
        "tagline": "Vun {{SITENAME}}",
        "searcharticle": "Ausfiare",
        "history": "Gschischd vunde Said",
        "history_short": "Gschischd",
-       "printableversion": "Drugg-Õsischd",
+       "printableversion": "Drugg-Oasischd",
        "permalink": "Schdendischa Lingg",
        "print": "Drugge",
-       "view": "Ogugge",
+       "view": "Oagugge",
+       "view-foreign": "Uff $1 oagugge",
        "edit": "Schaffe",
        "edit-local": "Gugg uff $1",
-       "create": "Õleesche",
+       "create": "Oaleesche",
        "editthispage": "Onde Said schaffe",
        "create-this-page": "Mach die Said",
        "delete": "Lesche",
        "newpage": "Naiji Said",
        "talkpage": "Iwwa die Said dischbediere",
        "talkpagelinktext": "Dischbediere",
-       "specialpage": "Schbezielli Said",
+       "specialpage": "Schbezjelli Said",
        "personaltools": "Persenlischs Wergzaisch",
-       "articlepage": "Inhald õgugge",
+       "articlepage": "Inhald oagugge",
        "talk": "Dischbediere",
        "views": "Uffruf",
-       "toolbox": "Wergzaisch",
-       "userpage": "Middawaidasaid õgugge",
-       "projectpage": "Brojegdsaid õgugge",
-       "imagepage": "Dadaisaid õgugge",
-       "mediawikipage": "Nochrischd õgugge",
-       "templatepage": "Voalach õgugge",
-       "viewhelppage": "Hilf õgugge",
+       "toolbox": "Weagzaisch",
+       "userpage": "Middawaidasaid oagugge",
+       "projectpage": "Brojegdsaid oagugge",
+       "imagepage": "Dadaisaid oagugge",
+       "mediawikipage": "Nochrischd oagugge",
+       "templatepage": "Voalach oagugge",
+       "viewhelppage": "Hilf oagugge",
        "categorypage": "Zaisch die Kadegorie",
        "viewtalkpage": "Zaischs Gbabbl",
-       "otherlanguages": "In õnnare Schbroche",
+       "otherlanguages": "In oannare Schbroche",
        "redirectedfrom": "(Nochgschiggd worre vun $1)",
        "redirectpagesub": "Nochschigg-Said",
-       "lastmodifiedat": "Die Said ischs ledschde Mol gännad worre õm $1, õm $2.",
+       "lastmodifiedat": "Die Said ischs ledschde Mol gännad worre oam $1, oam $2.",
        "viewcount": "Die Said isch bis jedz {{PLURAL:$1|ämol1|$1 mol}} uffgrufe worre.",
        "protectedpage": "Said schidze",
        "jumpto": "Hubs uff:",
        "youhavenewmessagesmulti": "Do hoschd ä Nochrischd grischd: $1",
        "editsection": "schaffe",
        "editold": "schaffe",
-       "viewsourceold": "Gwelltegschd õgugge",
+       "viewsourceold": "Gwelltegschd oagugge",
        "editlink": "schaffe",
-       "viewsourcelink": "Gwell õgugge",
+       "viewsourcelink": "Gwell oagugge",
        "editsectionhint": "Deel ännare: $1",
        "toc": "Inhald",
        "showtoc": "zaische",
        "hidetoc": "vaschdeggle",
        "collapsible-collapse": "Oiglabbe",
        "collapsible-expand": "Uffglabbe",
-       "thisisdeleted": "$1 õgugge odda widdaheaschdelle?",
+       "confirmable-yes": "Ja",
+       "confirmable-no": "Nä",
+       "thisisdeleted": "$1 oagugge odda widdaheaschdelle?",
        "viewdeleted": "$1 zaische?",
        "restorelink": "{{PLURAL:$1|ä gleschdi Ännarung|$1 gleschde Ännarunge}}",
        "site-rss-feed": "$1 RSS-Feed",
        "cannotdelete-title": "\"$1\" komma nedd lesche",
        "badtitle": "Schleschde Didl",
        "badtitletext": "De Tidl vunde õgfordad Said isch nedd gildisch, lea, oddan nedd gildische Lingg vunem õnnare Wiki.\nS konn soi, dasses ä odda mea Zaische drin hodd, wu im Tidl vunde Said nedd gbrauchd werre dirfn.",
-       "viewsource": "Gwelltegschd õgugge",
-       "viewsource-title": "D'Tegschd vun $1 õgugge",
-       "viewsourcetext": "Konschdas õgugge un abschraiwe",
-       "viewyourtext": "Konschda doi Eawed uff de Said õgugge un abschraiwe:",
-       "ns-specialprotected": "Do komma nedd drõ schaffe",
-       "exception-nologin": "Bischd nedd õgmeld",
+       "viewsource": "Gwelltegschd oagugge",
+       "viewsource-title": "D'Tegschd vun $1 oagugge",
+       "viewsourcetext": "Konschdas oagugge un abschraiwe",
+       "viewyourtext": "Konschda <strong>doi Eawed</strong> uffde Said oagugge un abschraiwe:",
+       "ns-specialprotected": "Do komma nedd droa schaffe",
+       "exception-nologin": "Bischd nedd oagmeld",
        "virus-unknownscanner": "Uubekonnda Viresucha:",
        "welcomeuser": "Willkumme, $1!",
-       "yourname": "Middawaidanõme:",
+       "yourname": "Middawaidanoame:",
        "userlogin-yourname": "Middawaida",
        "userlogin-yourname-ph": "Gebb doin Nome oi",
        "createacct-another-username-ph": "Middawaida",
        "createacct-yourpasswordagain": "Password bschdedische",
        "createacct-yourpasswordagain-ph": "Bschdedisch doi Password",
        "remembermypassword": "Moi Kennword uffm Brausa merge (hegschdns fa $1 {{PLURAL:$1|Daach|Daach}})",
-       "login": "Õmelde",
-       "nav-login-createaccount": "Õmelde / Kondo õleesche",
-       "userlogin": "Õmelde / Kondo õleesche",
+       "login": "Oamelde",
+       "nav-login-createaccount": "Oamelde / Kondo oaleesche",
+       "userlogin": "Oamelde / Kondo oaleesche",
        "userloginnocreate": "Oilogge",
        "logout": "Uffhere",
        "userlogout": "Uffhere",
        "userlogin-noaccount": "Hoschd kä Kondo?",
+       "userlogin-joinproject": "Bai {{SITENAME}} oamelde",
        "nologin": "Hoschd noch kä Kondo? $1",
-       "nologinlink": "E Kondo õleesche",
-       "createaccount": "Kondo õleesche",
+       "nologinlink": "Ä Kondo oaleesche",
+       "createaccount": "Kondo oaleesche",
        "gotaccount": "Hoschd schun ä Kondo? $1",
-       "gotaccountlink": "Õmelde",
+       "gotaccountlink": "Oamelde",
        "userlogin-resetlink": "Hoschd doi Daade vagesse?",
+       "userlogin-resetpassword-link": "Hoschd doi Kennwoad vagesse?",
+       "userlogin-helplink2": "Hilf baim Oamelde",
+       "createacct-emailoptional": "E-Mail-Adresse (fraiwillisch)",
+       "createacct-email-ph": "Gewb doi E-Mail-Adress oi",
        "createaccountreason": "Grund:",
+       "createacct-captcha": "Sischahaidsbriefung",
+       "createacct-submit": "Leschda ä Kondo oa",
+       "createacct-benefit-body1": "{{PLURAL:$1|B'waidung|B'waidunge}}",
+       "createacct-benefit-body2": "{{PLURAL:$1|Said|Saide}}",
        "badretype": "Kennword bassd nedd",
        "userexists": "De Middawaida hodds schun.\nNemmen onnare.",
-       "loginerror": "Irrdumm baim Õmelde",
+       "loginerror": "Irrdumm baim Oamelde",
        "createaccounterror": "Kondo $1 komma nedd mache",
        "loginsuccesstitle": "Konschd schaffe",
        "login-userblocked": "De Middawaida deaf do nemme schaffe.",
        "wrongpasswordempty": "Hoschds Kennword vagesse. Mags nomol.",
        "passwordtooshort": "Kennword muss {{PLURAL:$1|1 Zaische|$1 Zaische}} hawe.",
        "password-name-match": "Doi Kennword deaf nedd so heese wie du.",
-       "password-login-forbidden": "De Nõme uns Kennword sinn fabode.",
+       "password-login-forbidden": "De Noame uns Kennword sinn fabode.",
        "mailmypassword": "Kennword zriggsedze",
-       "accountcreated": "Kondo õgleeschd",
+       "accountcreated": "Kondo oagleeschd",
        "login-abort-generic": "Hodd nedd gklabbd - Abgbroche",
        "loginlanguagelabel": "Schbrooch: $1",
+       "pt-login": "Logg oi",
+       "pt-login-button": "Oilogge",
+       "pt-createaccount": "Kondo oaleesche",
+       "pt-userlogout": "Uffhere",
        "oldpassword": "Alds Kennword",
        "newpassword": "Naijes Kennword",
        "retypenew": "Naijes Kennword nomol oigewe:",
        "italic_sample": "Schebbi Schrifd",
        "italic_tip": "Schebbi Schrifd",
        "link_sample": "Schdischwoad",
-       "link_tip": "Inderna Lingg",
+       "link_tip": "Inderna Ling'g",
        "extlink_sample": "http://www.example.com Linggtegschd",
        "extlink_tip": "Exderna Lingg (uff http:// uffbasse)",
        "headline_sample": "Schlaachzail",
        "nowiki_tip": "Wiki-Formatierunge ned beachde",
        "image_tip": "Bildvawais",
        "media_tip": "Dadailingg",
-       "sig_tip": "Doi Unnaschrifd midena Zaidõgawb",
-       "hr_tip": "Waagreschdi Linje (schbaasõm vawende)",
+       "sig_tip": "Doi Unnaschrifd midena Zaidoagawb",
+       "hr_tip": "Waagreschdi Linje (schbaasoam vawende)",
        "summary": "Iwwabligg:",
        "subject": "Bedreff:",
        "minoredit": "Des ische glänni Beawaidung",
        "preview": "Voaschau",
        "showpreview": "Voaschau zaische",
        "showdiff": "Ännarunge zaische",
-       "anoneditwarning": "'''Baßma uff:''' Du bischd ned õgemeld. Doi IP-Adress werd inde Gschischd vum Adiggl gschbaischad.",
+       "anoneditwarning": "'''Baßma uff:''' Du bischd ned õgemeld. Doi IP-Adress werd inde Gschischd vum Adiggl gschbaischad, wonn schaffe duschd. Wonn<strong>[$1 oilogschd]</strong> oddan <strong>[$2 Account magschd]</strong>, werren doi Eawede unna doim Benudzanoame gzaischd, newe onnare Voadel.",
+       "anonpreviewwarning": "''Du bischd nedd oagmeld. Baim Schbaischare wead doi IP-Adress inde Gschischd vameagd.''",
        "summary-preview": "Iwwabligg:",
        "blockedtitle": "Middawaida isch gschbead",
        "blockednoreason": "s'hod kän Grund",
        "whitelistedittext": "Mugschd disch $1 fas schaffe",
        "loginreqtitle": "Mugschd disch õmelde",
-       "loginreqlink": "Õmelde",
+       "loginreqlink": "Oamelde",
        "loginreqpagetext": "Mugschd disch $1 fas õgugge.",
        "accmailtitle": "Kennword gschiggd",
        "newarticle": "(Naij)",
        "updated": "(Gännad)",
        "note": "'''Hiwes:'''",
        "previewnote": "'''Deng'g drõõ, dasses nua e Vorschau isch.'''\nDoi Ännarunge sinn noch nedd gschbaischadd worre!",
-       "editing": "Õm $1 schaffe",
+       "editing": "Oam $1 schaffe",
        "creating": "Magsch $1",
        "editingsection": "$1 schaffe (Deel)",
        "editingcomment": "$1 schaffe (Deel)",
        "post-expand-template-inclusion-category": "Saide mid Vorlache, wu die Greeß iwwaschridde worre isch",
        "post-expand-template-argument-warning": "'''Baßma uff:''' Die Said hodd wenigschdns ä Vorlach midä Kenngreeß, wu groß werre dud. Die Kenngreeß wead do nedd õgeguggd.",
        "post-expand-template-argument-category": "Saide, wu wegfallene Vorlachewead hawen.",
-       "viewpagelogs": "Lochbischa fa die Said õgugge",
+       "cantcreateaccounttitle": "Konn kä Kondo mache",
+       "viewpagelogs": "Lochbischa fa die Said oagugge",
+       "nohistory": "Vunde Said hodds kä Gschischd.",
        "currentrev": "Ledschdi Änarung",
        "currentrev-asof": "Agduell Ausgab vun $1",
        "revisionasof": "Iwwaawaidung vun $1",
        "histlast": "naijschde",
        "historyempty": "(lea)",
        "history-feed-title": "Ännarungsgschischd",
+       "history-feed-description": "Gschischd vunde Said uff {{SITENAME}}",
        "history-feed-item-nocomment": "$1 õm $2",
+       "rev-deleted-comment": "(Zsommefassung gleschd)",
+       "rev-deleted-user": "(Middawaidnoame gleschd)",
+       "rev-deleted-event": "(Logbuchänzlhaid gleschd)",
+       "rev-deleted-user-contribs": "[Middawaid- odda IP-Adress gleschd – Bawaidung aus Baidräch vaschdeggd]",
        "rev-delundel": "zaisch/vaschdeggl",
        "rev-showdeleted": "zaische",
        "revisiondelete": "Lesche/Heaschdelle vun Ännarunge",
        "revdelete-show-file-submit": "Ja",
+       "revdelete-text-text": "Gleschdi Ännarunge blaiwen inde Gschischd, awwa Deel dvu sinn fa die Effendlischkaid vaschdeggld.",
+       "revdelete-text-file": "Gleschde Ännarunge blaiwen inde Gschischd, awwa Deel dvu sinn fa die Effendlischkaid vaschdeggld.",
        "revdelete-hide-image": "Vaschdegglde Inhald",
        "revdelete-hide-name": "Vaschdeggls",
        "revdelete-hide-comment": "Ännas Resimee",
        "revdel-restore": "Sischdbakaid ännare",
        "pagehist": "Gschischd vunde Said",
        "deletedhist": "Gleschde Gschischde",
-       "revdelete-reasonotherlist": "Õnnare Grund",
-       "mergehistory": "Gschischde zõmmefiere",
+       "revdelete-reasonotherlist": "Oannare Grund",
+       "mergehistory": "Gschischde zoammefiere",
+       "mergehistory-header": "Midde Said konschd Gschischde vunna Said innä onnari Said bringe. Bass uff, dass die Gschischd vunde Said rischdisch isch.",
+       "mergehistory-box": "Gschischde vun ywee Saide zsommefiare:",
+       "mergehistory-list": "Gschischde, wuma zsommebringe konn",
        "mergehistory-go": "Zaisch, wasma vaoinische konn",
        "mergehistory-submit": "Gschischde zõmmefiere",
+       "mergehistory-fail": "Gschischde zsommebringen hodd nedd gklabd, gugg nomol uffde Saide unn uffde Zaidoagawe.",
+       "mergehistory-fail-toobig": "S'Zsommefiare vunde Saide konn nedd klabbe, sunschd deedn mea als {{PLURAL:$1|eine Version|$1 Gschischde}} vaschowe werre.",
        "mergehistory-reason": "Grund:",
        "revertmerge": "Zõmmefiehrung rigggängisch mache",
+       "mergelogpagetext": "Unne hoddsä Lischd midde ledschde Zsommefiarunge vun Gschischde.",
        "history-title": "Ännarungsgschischd vun \"$1\"",
        "lineno": "Zail $1:",
        "compareselectedversions": "Ausgawe midnonna vaglaische",
        "searchprofile-advanced": "Foadgschridde",
        "searchprofile-articles-tooltip": "In $1 gugge",
        "searchprofile-images-tooltip": "Gugg noch Bilda",
-       "searchprofile-everything-tooltip": "Such iwwaraal (a wuma dischbedierd)",
-       "searchprofile-advanced-tooltip": "Gugg in õnnare Nõmensreum",
+       "searchprofile-everything-tooltip": "Such iwwaraal (a wuma dischbediead)",
+       "searchprofile-advanced-tooltip": "Gugg in oannare Noamensreum",
        "search-result-size": "$1 ({{PLURAL:$2|1 Word|$2 Wärda}})",
        "search-result-category-size": "{{PLURAL:$1|1 Said|$1 Saide}} ({{PLURAL:$2|1 Sachgrubb|$2 Sachgrubbe}}, {{PLURAL:$3|1 Dadai|$3 Dadaije}})",
        "search-redirect": "(Waidalaidung $1)",
        "search-relatedarticle": "Vawond",
        "searchrelated": "vawond",
        "searchall": "alle",
-       "search-nonefound": "Kä Eagewnis vunde Õfroch.",
+       "search-showingresults": "{{PLURAL:$4|Resuldad <strong>$1</strong> vun <strong>$3</strong>|Resuldad <strong>$1 - $2</strong> vun <strong>$3</strong>}}",
+       "search-nonefound": "Kä Eagewnis vunde Oafroch.",
        "powersearch-legend": "Erwaiterte Such",
        "powersearch-ns": "In de Namensraim suche:",
        "powersearch-togglelabel": "Wehl:",
        "preferences": "Obzione",
        "mypreferences": "Oischdellunge",
        "datedefault": "Kä Oischdellunge",
+       "prefs-user-pages": "Middawaidasaides",
+       "prefs-rc": "Ledschdi Ännarunge",
        "prefs-watchlist": "Beowachdungslischd",
-       "prefs-watchlist-edits-max": "Hegschdi Õzahl: 1000",
+       "prefs-watchlist-edits-max": "Hegschdi Oazahl: 1000",
        "prefs-misc": "Schunschdisches",
        "prefs-rendering": "Uffdridd",
        "saveprefs": "Oischdellunge schbaischere",
        "columns": "Schbalde",
        "searchresultshead": "Nochgugge",
        "stub-threshold-disabled": "Abgschdeld",
+       "recentchangesdays": "Oazahl vunde Daach inde ledschde Ännarunge:",
        "guesstimezone": "Aus em Browser iwwernemme",
        "timezoneregion-africa": "Afrika",
-       "timezoneregion-america": "Õmerika",
-       "timezoneregion-antarctica": "Õngdagdika",
+       "timezoneregion-america": "Oamerika",
+       "timezoneregion-antarctica": "Oangdaagdika",
        "timezoneregion-arctic": "Aadigk",
        "timezoneregion-asia": "Asije",
-       "timezoneregion-atlantic": "Adlõndischa Ozeõn",
+       "timezoneregion-atlantic": "Adloendischa Ozean",
        "timezoneregion-australia": "Auschdralije",
        "timezoneregion-europe": "Oirobba",
-       "timezoneregion-indian": "Indischa Ozeõn",
-       "timezoneregion-pacific": "Pazifischa Ozeõn",
+       "timezoneregion-indian": "Indischa Ozean",
+       "timezoneregion-pacific": "Pazifischa Ozean",
        "prefs-searchoptions": "Nochgugge",
        "default": "Schdondad",
        "youremail": "E-Mail:",
        "username": "{{GENDER:$1|Middawaida}}:",
        "prefs-memberingroups": "{{GENDER:$2|Middglied}} vun {{PLURAL:$1|Grubb|Grubbe}}:",
-       "yourrealname": "Birschalischa Nõme:",
+       "yourrealname": "Birschalischa Noame:",
        "yourlanguage": "Schbrooch:",
        "yournick": "Naiji Unnaschfrid",
        "yourgender": "Wasfa'ä Gschleschd bischdn?",
        "group-bureaucrat-member": "{{GENDER:$1|Birokrad}}",
        "grouppage-sysop": "{{ns:project}}:Adminischtratore",
        "right-read": "Saide leese",
-       "right-edit": "Õnde Saide schaffe",
+       "right-edit": "Oande Saide schaffe",
        "right-createpage": "Saide mache",
        "right-createtalk": "Dischbediersaide mache",
        "right-move": "Said bwesche",
        "right-movefile": "Saide vaschiewe",
        "right-upload": "Dadaije nufflade",
        "right-upload_by_url": "Dadaije vunna Address nufflaade",
+       "right-writeapi": "Vawendung vum API fas Schraiwe",
        "right-delete": "Saide lesche",
+       "right-deletedhistory": "Glesche Ännarunge inde Gschischd ohne Tegschd oagugge",
        "right-undelete": "Said widdaheaschdelle",
-       "newuserlogpage": "Naijõmeldungs-Logbuch",
+       "right-unblockself": "Enschberr Disch",
+       "right-mergehistory": "Gschischde vun Saide zsommefiare",
+       "newuserlogpage": "Naijoameldungs-Logbuch",
        "rightslog": "Middawaidareschd-Logbuch",
        "action-edit": "onde Said schaffe",
+       "action-history": "Guggda die Gschischd vunde Said oa",
+       "action-deletedhistory": "guggda die gleschd Gschischd vunde Said oa",
+       "action-mergehistory": "Gschisch vunde Said zsommefiere",
        "nchanges": "$1 {{PLURAL:$1|Ännarung|Ännarunge}}",
+       "enhancedrc-history": "gschischd",
        "recentchanges": "Ledschdi Ännarunge",
-       "recentchanges-legend": "Wehl ä Õzaisch fa die ledschde Ännarunge",
+       "recentchanges-legend": "Wehl ä Oazaisch fa die ledschde Ännarunge",
+       "recentchanges-summary": "Do konschd die ledschde Ännarunge vunde {{SITENAME}} vafolsche.",
        "recentchanges-feed-description": "Ledschde Ännarunge vun {{SITENAME}} im Feed oigewwe.",
        "recentchanges-label-newpage": "Domid magschd ä naiji Said",
        "recentchanges-label-minor": "S'ische glenni Beawaidung",
        "recentchanges-label-bot": "Ännarunge duaschn Bod",
        "recentchanges-label-unpatrolled": "Die Ännarung isch noch nedd iwwabriefd worre",
+       "recentchanges-label-plusminus": "Ännarung vunde Saidegreeß in Bytes",
+       "recentchanges-legend-heading": "'''Bildtegschd:'''",
+       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (gugg a uff [[Special:NewPages|Lischd vun naije Saide]])",
        "rcnotefrom": "Unne sinn Ännarunge said <strong>$2<-strong> (bis <strong>$1<-strong>).",
        "rclistfrom": "Zaisch die ledschde Ännarunge ab $3 $2",
        "rcshowhideminor": "Glenni Ännarunge $1",
+       "rcshowhideminor-show": "Zaische",
+       "rcshowhideminor-hide": "Vaschdegle",
        "rcshowhidebots": "Bots $1",
-       "rcshowhideliu": "Õgmelde Middawaida $1",
-       "rcshowhideanons": "Ned õgmelda Middawaida $1",
+       "rcshowhidebots-show": "Zaische",
+       "rcshowhidebots-hide": "Vaschdeggle",
+       "rcshowhideliu": "Oagmelde Middawaida $1",
+       "rcshowhideliu-hide": "Vaschdegle",
+       "rcshowhideanons": "Ned oagmelda Middawaida $1",
+       "rcshowhideanons-show": "Zaische",
+       "rcshowhideanons-hide": "Vaschdegle",
        "rcshowhidepatr": "$1 iwabriefde Ännarunge",
        "rcshowhidemine": "Moi Beawaidunge $1",
+       "rcshowhidemine-show": "Zaische",
+       "rcshowhidemine-hide": "Vaschdegle",
        "rclinks": "Zaisch die ledschde $1 Ännarunge inde ledschde $2 Daach<br />$3",
        "diff": "Unnaschied",
        "hist": "Gschischd",
        "boteditletter": "B",
        "rc_categories": "Oigschrengd uff Sachgrubbe (abgdeeld middm \"|\")",
        "rc_categories_any": "Ebbes",
+       "rc-change-size-new": "$1 {{PLURAL:$1|Byte}} nochde Ännarung",
        "rc-enhanced-expand": "Änzlhaide zaische",
-       "rc-enhanced-hide": "Õgawe vaschdeggle",
-       "recentchangeslinked": "Was õn valinggde Saide gännad worre isch",
+       "rc-enhanced-hide": "Oagawe vaschdeggle",
+       "recentchangeslinked": "Was oan valinggde Saide gännad worre isch",
        "recentchangeslinked-feed": "Ännarunge on valinggde Saide",
        "recentchangeslinked-toolbox": "Ännarunge uff verlingde Saide",
-       "recentchangeslinked-title": "Ännarunge õn Saide, wu „$1“ druff verlinggd",
+       "recentchangeslinked-title": "Ännarunge oan Saide, wu „$1“ druff verlinggd",
        "recentchangeslinked-summary": "Die Lischd zaischd ledschdi Ännarunge, vunna bschdimmde Said, wu do valinggd isch (odda ä Midglied vunna bschdimmde Sachgrubb isch).\nSaide uff [[Special:Watchlist|Doina Beowachdungslischd]] sinn '''fedd'''.",
        "recentchangeslinked-page": "Saide:",
        "recentchangeslinked-to": "Zaisch Ännarunge uff Saide, wu do her valinggd sinn",
        "uploadlogpage": "Dadaije-Logbuch",
        "filedesc": "Iwwabligg",
        "fileuploadsummary": "Iwwabligg:",
+       "file-deleted-duplicate": "Ä Dadai, wu glaisch isch wie die do ([[:$1]]), hoddma schunmol gleschd kabd. Guggdas Logbuch oa, bvoase nufflaade duschd.",
        "savefile": "Dadai schbaischere",
        "lockmanager-notlocked": "„$1“ hod ned uffgmachd were kenne, s'isch ganed gschberd gwesd.",
        "lockmanager-fail-closelock": "Die gbscherd Dadai „$1“ hod ned gschlosse were kenne.",
        "lockmanager-fail-releaselock": "„$1“ konn ned fraigewe werre.",
        "license": "Bwillischung",
        "license-header": "Bwillischung",
+       "listfiles-delete": "lesche",
        "listfiles_name": "Nome",
+       "listfiles_user": "Middawaida",
        "listfiles_size": "Greeß",
        "listfiles_count": "Versione",
+       "listfiles-latestversion-yes": "Ja",
+       "listfiles-latestversion-no": "Nä",
        "file-anchor-link": "Dadai",
        "filehist": "Dadaigschischd",
-       "filehist-help": "Drigg uffn Zaidpunggd zum õzaische, wies dord ausgseje hodd.",
+       "filehist-help": "Drigg uffn Zaidpunggd zum oazaische, wies doad ausgseje hodd.",
        "filehist-deleteall": "alles lesche",
        "filehist-deleteone": "lesche",
        "filehist-revert": "zriggsedze",
        "sharedupload": "Die Datei isch vun $1 un s kann sai, dass se ach vun annere Projekt gebraucht werd.",
        "sharedupload-desc-here": "Die Dadai isch vun $1 un konn a wuonaschda bnuzd werre.\nÄ Bschraiwung finschd [$2 Dadaibschraiwungssaid] unne.",
        "uploadnewversion-linktext": "E naiere Version vun derre Datei hochlade",
+       "upload-disallowed-here": "Du konschd do nix iwwaschraiwe.",
        "filedelete": "Lesch $1",
        "filedelete-legend": "Dadai lesche",
+       "filedelete-intro": "Du bischd drummunndroa die Said '''„[[Media:$1|$1]]“''' midde Gschischd zu lesche.",
        "filedelete-submit": "Lesche",
        "filedelete-success": "'''$1''' isch gleschd worre.",
        "filedelete-maintenance-title": "Dadai konnned gleschd werre",
        "wantedpages": "Gwinschde Saide",
        "mostlinkedcategories": "Nizlischi Sachgrubbe",
        "mostlinkedtemplates": "Niylischi Vorlache",
-       "mostcategories": "Saide midd õm maigschde Sachgrubbe",
+       "mostcategories": "Saide midd oam maigschde Sachgrubbe",
        "prefixindex": "Alle Saide (midd Voasilw)",
        "listusers-editsonly": "Zaisch bloß Bnudza mid Baidräsch",
        "usercreated": "{{GENDER:$3|Gmachd}} vun $1 om $2",
        "pager-older-n": "{{PLURAL:$1|vorisch 1|vorische $1}}",
        "booksources": "Buchgwelle",
        "booksources-search-legend": "Noch Buchgwelle gugge",
+       "booksources-search": "Gugg",
        "log": "Logbischa",
        "allpages": "Alle Saide",
        "prevpage": "Voriche Said ($1)",
        "allpagessubmit": "Zaische",
        "categories": "Sachgrubbe",
        "categoriespagetext": "Folschndi {{PLURAL:$1|Sachgrubb hodd|Sachgrubbe hawen}} Saide odda Dadaije. [[Special:UnusedCategories|Ubnudze Sachgrubbe]] werren do nedd gzaischd. Gugg a uffde [[Special:WantedCategories|gwinschde Sachgrubbe]].",
-       "categoriesfrom": "Zaisch Sachgrubbe õgfonge middt:",
+       "categoriesfrom": "Zaisch Sachgrubbe oagfonge middt:",
        "sp-deletedcontributions-contribs": "Baidräsch",
        "linksearch": "Exderne Lings",
        "linksearch-pat": "Suchmuschda",
        "listusers-blocked": "(gschberd)",
        "listgrouprights-group": "Grubb",
        "listgrouprights-members": "(Midgliedalischd)",
-       "emailuser": "E-Mail õnde Middawaida",
-       "emailusername": "Middawaidanõme:",
+       "emailuser": "E-Mail oande Middawaida",
+       "emailusername": "Middawaidanoame:",
        "emailfrom": "Vum:",
        "emailto": "Fa:",
        "emailsubject": "Bdreff:",
        "deletepage": "Said lesche",
        "confirm": "Beschdedische",
        "delete-legend": "Lesche",
+       "historywarning": "<strong>Bassma uff:</strong> Die Said, wu lesche wilschd, hoddä Gschischd midd {{PLURAL:$1|äna Ännarung|$1 Ännarunge}}:",
        "confirmdeletetext": "Du bisch debai e Said z lesche mid alle Versione.\nBitte du bstätiche, dass Du des wllscht du, dass Du verstehsch, was des hääßt, un dass Du des machscht in Iwweraistimmung mit de [[{{MediaWiki:Policy-url}}|Richtline]].",
        "actioncomplete": "Maßnohm ferdisch",
        "actionfailed": "Maßnohm gschaidad",
        "deletecomment": "Grund:",
        "deleteotherreason": "Annere/zusätzliche Grund:",
        "deletereasonotherlist": "Annere Grund",
+       "delete-toobig": "Die Said hodd midd mea als $1 {{PLURAL:$1|Ännarung|Ännarunge}} ä longi Gschischd. S'Lesche vun denne Saide isch bschrengd, domidd de Seava nedd aus Vaseje zsommekrache dud.",
+       "delete-warning-toobig": "Die Said hodd midd mea als $1 {{PLURAL:$1|Ännarung|Ännarunge}} ä longi Gschischd. S'Lesche konn zu Schderunge inde Daadebong'g fiare.",
        "rollbacklink": "Zriggsedze",
+       "rollbacklinkcount": "{{PLURAL:$1|Ä Ännarung|$1 Ännarunge}} z'riggsedze",
        "protectlogpage": "Saideschudz-Logbuch",
        "protectedarticle": "hodd \"[[$1]]\" gschizd",
        "modifiedarticleprotection": "hot de Schutzstatus vun \"[[$1]]\" gännert",
        "protect-cascadeon": "Die Said isch gschizd, wail se {{PLURAL:$1|zu derre Said kead|zu denne Saide kead}}, wuä Kaskadeschberrung gild.\nÄnnarunge vum Saideschudz hodd awwa kän Oifluß uff die Kaskadeschberrung.",
        "protect-default": "Alle Middawaida erlauwe",
        "protect-fallback": "Bloß fa Laid mid \"$1\" Bereschdischung",
-       "protect-level-autoconfirmed": "Naiji un nedd õgmeld Middawaida schberre",
+       "protect-level-autoconfirmed": "Naiji un nedd oagmeld Middawaida schberre",
        "protect-level-sysop": "Bloß fa Adminischdradore",
        "protect-summary-cascade": "Kaskade",
        "protect-expiring": "bis $1 (UTC)",
        "restriction-edit": "Schaffe",
        "restriction-move": "Verschiewe",
        "undelete": "Widderherschdelle",
+       "undeleteextrahelp": "Domidd die Said kombledd midde Gschischd widdaheagschdeld werre konn, gligg alles weg un gligg uff <strong<em>{{int:undeletebtn}}</em></strong>.\nDomidd bschdimmdi Ännarunge zriggkrische duschd, gliggschd die endschbreschende Käschde oa unn glischd donn uff <strong><em>{{int:undeletebtn}}</em></strong>.",
+       "undeleterevisions": "$1 {{PLURAL:$1|Ännarung|Ännarunge}} aschiviad",
+       "undeletehistory": "Wonn die Said zriggholschd, kummen alle Ännarunge midd.\nWonnä naiji Said middm selwe Noame oageleschd wead, saidse gleschd worre isch, easchoinen die Ännarunge middm Zrigghole inde Gschischd.",
        "undeletebtn": "Widderherschdelle",
-       "undeletelink": "õgugge/widda herschdelle",
-       "undeleteviewlink": "Õgugge",
+       "undeletelink": "oagugge/widda herschdelle",
+       "undeleteviewlink": "Oagugge",
        "undelete-show-file-submit": "Ja",
-       "namespace": "Nõmensraum",
+       "namespace": "Noamensraum",
        "invert": "Wahl dausche",
+       "tooltip-invert": "Gligg uffs Auswahlkaschde, um Ännarunge im gwehlde Noamensraum unn, wonns gwehld hoschd, em endschbreschende zukehrische Noamensraum zum Vaschwinde zu bringe",
+       "namespace_association": "Zukehrische Noamensraum",
+       "tooltip-namespace_association": "De Kaschde oagligge, um a's Dischbediere vum zukearisch Noamensraum zu krische.",
        "blanknamespace": "(Schdadsaid)",
        "contributions": "{{GENDER:$1|Wassa gemachd hodd}}",
        "contributions-title": "Middawaidabaidräsch vun $1",
        "sp-contributions-logs": "Logbischa",
        "sp-contributions-talk": "Dischbediere",
        "sp-contributions-search": "Noch Baidräsch gugge",
-       "sp-contributions-username": "IP-Adress odda Middawaidanõme:",
+       "sp-contributions-username": "IP-Adress odda Middawaidanoame:",
        "sp-contributions-toponly": "Bloß agduelli Ännarunge zaische",
        "sp-contributions-submit": "Gugge",
        "whatlinkshere": "Was doher zaische dud",
        "ipbsubmit": "Middawaida bloggiere",
        "ipboptions": "2 Schdunne:2 hours,1 Daach:1 day,3 Daach:3 days,1 Woch:1 week,2 Woche:2 weeks,1 Monad:1 month,3 Monad:3 months,6 Monad:6 months,1 Johr:1 year,Fa imma:infinite",
        "ipusubmit": "Die Adreß fraigewwe",
-       "ipblocklist": "Gschberrdi IP-Adress un Middawaidanõme",
+       "ipblocklist": "Gschberrdi IP-Adress un Middawaidanoame",
        "infiniteblock": "ubgrensd",
-       "blocklink": "schberre",
+       "blocklink": "schbeare",
        "unblocklink": "Sperr uffhewe",
        "change-blocklink": "Schberr ännare",
        "contribslink": "Baidräsch",
        "blocklogpage": "Schberrlogbuch",
        "blocklogentry": "hodd [[$1]] gschberrd fa'n Zaidraum vun $2 $3",
        "unblocklogentry": "hot d Sperr vun $1 uffghowwe",
-       "block-log-flags-nocreate": "Õleesche vun Konde isch gschberrd",
-       "lockbtn": "Dadebongg schberre",
-       "unlockbtn": "Dadebongg fraigewwe",
+       "block-log-flags-nocreate": "Oaleesche vun Konde isch gschberrd",
+       "lockbtn": "Dadebong'g schberre",
+       "unlockbtn": "Dadebong'g fraigewwe",
        "move-page-legend": "Said vaschiewe",
        "movepagetext": "Midm Formad konnschd ä Said en naije Nome gewwe, debai werrem alli alde Ausgawe uffde nai Nome vaschowe.\nAusm alde Nome werd e Waidalaidungssaid zum naije Nome.\nWaidalaidungssaide, wu uffde ald Nome umlaide dun, konnschd vun allä uffde naischde Schdond bringe.\nWonndes ned willschd, guggschd uff [[Special:DoubleRedirects|dobbldi]] odda [[Special:BrokenRedirects|kabuddi Waidalaidunge]].\nSoasch dfia, dass Linggs waida uffdie rischdische Saide fiehan.\n\nGebb Achd, dass die Said '''ned''' vaschowe werd, wonns schunä Said midm naije Nome hod, außa wonnse lea isch odda e Waidalaidung.\nDes heeßd, Du konnschd ke Said, wus schun gibbd, iwwaschraiwe.\n\n'''BAßMAUFF!'''\nDes isch e wischdischi Ännarung fa e Said un konn zimlisch uuerwaaded soi fa wischdischi Saide;\nmach des bloß, wonn die Folsche vunde Maßnohm a abschedze konnschd.",
+       "movepagetext-noredirectfixer": "Middm Foamula unne koschd die Said nai bnenne, wonnse midde gonse Gschischd uffn naije Noame bwesche duschd.\nDe ald Tidl weadä Said midd änna Waidalaidung uff die Said werre.\nBass uff unn gugg uff [[Special:DoubleRedirects|dobbelde]] odda [[Special:BrokenRedirects|kabudde Waidalaidunge]]. Du bischd dvoa vaondwoadlisch, dass Ling'gs uffs rischdische zaische dun.\n\nBass uff, die Said wead <strong>nedd</strong> vaschowe, wonns schun ä Said gewwe dud, wude selwe Noame hodd, aussa, s'isch ä Waidalaidung ohne Gschischd.\nDes heesd, wonnän Fehla gmschd hoschd, konschd ä Said zrigg. Awwa konschd kä Said iwwaschraiwe, wus schun hodd.\n\n<strong>Bassma uff, Beaschl!</strong>\nDes konn schlimme Folsche fa b'liewde Saide hawwe. Saida wiaglisch sischa, dass a alles was do due wilschd, a vaschdonne hoschd. Odda losses sunschd bessa soi.",
        "movepagetalktext": "D Dischbediersaid werd ach mid verschowe, '''ausser:'''\n* Du verschiebsch die Saide in e annere Namensraum, odder\n* s gebbt schun e Dischbediersaid mi dem Name, orrer\n* Du wählsch unne d Option, se nid z verschiewe.\n\nIn denne Fäll misst mer d Dischbediersaid vun Hand kopiere.",
        "movearticle": "Said vaschiewe:",
        "newtitle": "Zum naije Didl:",
        "export": "Saide rausgewe",
        "export-submit": "Saide exbordiere",
        "export-addcattext": "Saide vunde Sachgrubb dzufiesche:",
-       "allmessagesname": "Nõme",
-       "allmessagesdefault": "Vorgewene Tegschd",
+       "allmessagesname": "Noame",
+       "allmessagesdefault": "Voagewene Tegschd",
        "allmessages-filter-modified": "Vaännad",
        "thumbnail-more": "Mags greßa",
        "thumbnail_error": "Baim Voaschaubild ischwas falsch glaafe: $1",
        "tooltip-pt-preferences": "Doi Oischdellunge",
        "tooltip-pt-watchlist": "Lischd vun Saide, wu beowachde duschd",
        "tooltip-pt-mycontris": "Lischd vun doine Baidräsch",
-       "tooltip-pt-login": "Du konnschd disch õmelde, awwa mugschd ned",
+       "tooltip-pt-login": "Du konnschd disch oamelde, awwa mugschd ned",
        "tooltip-pt-logout": "Uffhere",
+       "tooltip-pt-createaccount": "Bischd eamudischd da ä Middawaidkondo oayuleesche un disch oazumelde. Mugschd awwa nedd.",
        "tooltip-ca-talk": "Iwwa d Inhaldssaid dischbediere",
        "tooltip-ca-edit": "Du konnschd onde Said schaffe.\nBidde nemmde Vorschau-Gnobb vorm Schbaischare",
-       "tooltip-ca-addsection": "N'naije Abschnidd õleche",
-       "tooltip-ca-viewsource": "Die Said isch gschizd. Du konnschdda de Gwelltegschd õgugge.",
+       "tooltip-ca-addsection": "N'naije Abschnidd oaleche",
+       "tooltip-ca-viewsource": "Die Said isch gschizd. Du konnschdda de Gwelltegschd oagugge.",
        "tooltip-ca-history": "Ledschdi Ausgawe vunde Said",
        "tooltip-ca-protect": "Die Said schidze",
        "tooltip-ca-delete": "Die Said lesche",
        "tooltip-ca-watch": "Die Said zu doina Beowachdungslischd dzufiesche",
        "tooltip-ca-unwatch": "Die Said vun doina Beowachdunschlischd wegnemme",
        "tooltip-search": "Gugg uff {{SITENAME}} fa",
-       "tooltip-search-go": "Geh zude Said midm Nõme, wonnses hodd",
+       "tooltip-search-go": "Geh zude Said midm Noame, wonnses hodd",
        "tooltip-search-fulltext": "Gugg inde Said nochm Tegschd",
        "tooltip-p-logo": "Schdadsaid",
        "tooltip-n-mainpage": "Uff d'Schdadsaid geje",
-       "tooltip-n-mainpage-description": "Haubdsaid õgugge",
+       "tooltip-n-mainpage-description": "Haubdsaid oagugge",
        "tooltip-n-portal": "Iwwas Brojegd, wu mache konnschd, wu ebbes finne duschd",
        "tooltip-n-currentevents": "Finn Auskinfd iwwas Naijischde",
        "tooltip-n-recentchanges": "Lischd vunde ledschde Ännarunge im Wiki",
        "tooltip-t-recentchangeslinked": "Ledschdi Ännarunge in Saide, wu vun do verlinggd sinn",
        "tooltip-feed-rss": "RSS feed fer die Said",
        "tooltip-feed-atom": "Atom-Feed fa die Said",
-       "tooltip-t-contributions": "Ledschdi Baidräsch vum Middawaida õgugge",
+       "tooltip-t-contributions": "Ledschdi Baidräsch vum Middawaida oagugge",
        "tooltip-t-emailuser": "Dem Middawaida e E-Mail schigge",
        "tooltip-t-upload": "Dadaije nufflade",
        "tooltip-t-specialpages": "Lischd vunde Schbezialsaide",
        "tooltip-t-print": "Druggausgab vunde Said",
        "tooltip-t-permalink": "N'dauwahafde Lingg uff die Ausgab vunde Said",
-       "tooltip-ca-nstab-main": "Inhald õgugge",
-       "tooltip-ca-nstab-user": "Middawaidasaid õgugge",
+       "tooltip-ca-nstab-main": "Inhald oagugge",
+       "tooltip-ca-nstab-user": "Middawaidasaid oagugge",
        "tooltip-ca-nstab-special": "Des isch e Spezialsaid, du konnschd d Said selwaschd nedd ännare",
-       "tooltip-ca-nstab-project": "Brojegdsaid õgugge",
-       "tooltip-ca-nstab-image": "Dadaisaid õgugge",
-       "tooltip-ca-nstab-template": "Vorlach õgugge",
-       "tooltip-ca-nstab-category": "Sachgrubbsaid õgugge",
+       "tooltip-ca-nstab-project": "Brojegdsaid oagugge",
+       "tooltip-ca-nstab-image": "Dadaisaid oagugge",
+       "tooltip-ca-nstab-template": "Vorlach oagugge",
+       "tooltip-ca-nstab-category": "Sachgrubbsaid oagugge",
        "tooltip-minoredit": "Als gleeni Ännarung makiere",
        "tooltip-save": "Doi Ännarunge schbaischare",
-       "tooltip-preview": "Guggda doi Ännarunge inde Vorschau õ, bvor uff Schbaischare drigschd!",
+       "tooltip-preview": "Guggda doi Ännarunge inde Vorschau oa, bvor uff Schbaischare drigschd!",
        "tooltip-diff": "Gugg, welschi Ännarunge im Tegschd gmachd hoschd",
        "tooltip-compareselectedversions": "D Unnaschied zwische denne zwee gwehlde Ausgawe õgugge",
        "tooltip-watch": "Die Said zu doina Beowachdunglischd zufiesche",
        "tooltip-rollback": "„Zriggsedze“ machd alli Beawaidunge vum ledschde Middawaida rigg'gängisch",
        "tooltip-undo": "„Zrigg“ machd nua die Ännarung rigg'gängich un zaischd ä Vorschau õ.\nKonnschdn Grund inde Zommefassung õgewwe.",
        "tooltip-summary": "Gebä koaz Resimee",
+       "simpleantispam-label": "Schbamschudzpriefung.\nDo <strong>NIX</strong> oidraache!",
        "pageinfo-hidden-categories": "{{PLURAL:$1|Vaschdeggldi Sachgrubb|Vaschdegglde Sachgrubbe}} ($1)",
-       "pageinfo-category-info": "Sachgrubb-Õgawe",
-       "pageinfo-category-subcats": "Õzahl vun Unnagrubbe",
+       "pageinfo-toolboxlink": "Auskinfd zude Said",
+       "pageinfo-contentpage-yes": "Ja",
+       "pageinfo-protect-cascading-yes": "Ja",
+       "pageinfo-category-info": "Sachgrubb-Oagawe",
+       "pageinfo-category-subcats": "Oazahl vun Unnagrubbe",
        "previousdiff": "← Äldari Beawaidung",
        "nextdiff": "Naijari Beawaidung →",
        "file-info-size": "$1 × $2 Pixels, Dadaigreß: $3, MIME-Type: $4",
        "file-nohires": "Ke heheri Ufflesung vafieschba.",
        "svg-long-desc": "SVG-Datei, Grundgreß $1 × $2 Pixels, Dadaigreß: $3",
        "show-big-image": "Uaschbringlischi Dadai",
+       "show-big-image-preview": "Greeß vunde Voaschau: $1.",
+       "show-big-image-other": "Waidari {{PLURAL:$2|Uffleesung|Uffleesunge}}: $1.",
+       "show-big-image-size": "$1 × $2 Pixl",
        "ilsubmit": "Such",
        "bad_image_list": "Uffbau: bloß Zaile, wu midm * õfonge werren briggsischdischd.\nDe erschd Lingg mussn Lingg zu änna uuerwinschde Dadai soi.\nÕnnare Linggs inde glaische Zail werren als Ausnõhm gnumme, des heesd, Saide, wu inde Dadai vorkumme dirfn.",
        "metadata": "Medadaade",
        "metadata-expand": "Erwaiterte Details aazaiche",
        "metadata-collapse": "Erwaiterte Details versteckeln",
        "metadata-fields": "Die EXIF-Medadaade werren inde Bild-Bschraiwung a õgzaischd, wonn die Medadaade-Tabell vaschdegld isch.\nÕnnare Medadaade sinn noamalawais vaschdegld.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+       "exif-orientation": "Kamaraausrischdung",
+       "exif-xresolution": "Waagreschdi Ufflesung",
+       "exif-yresolution": "Seng'greschdi Ufflesung",
+       "exif-software": "Sofdwaa",
+       "exif-colorspace": "Fawe",
+       "exif-datetimeoriginal": "Zaidpungd vunde Eafassung",
+       "exif-datetimedigitized": "Yaidpungd vunde Digidalisierung",
        "exif-iimcategory": "Sachgrubb",
        "exif-iimsupplementalcategory": "Ergenzndi Sachgrubbe",
+       "exif-orientation-1": "Noamal",
        "exif-gaincontrol-0": "Kään",
        "namespacesall": "alle",
        "monthsall": "alle",
-       "watchlisttools-view": "Die wischdische Ännarunge õgugge",
-       "watchlisttools-edit": "Beowachdunglischd õgugge un drõ schaffe",
-       "watchlisttools-raw": "Im große Tegschdfeld schaffe",
+       "watchlisttools-view": "Die wischdische Ännarunge oagugge",
+       "watchlisttools-edit": "Beowachdunglischd oagugge un droa schaffe",
+       "watchlisttools-raw": "Im große Tegschdkaschde schaffe",
+       "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|Gbabbl]])",
        "duplicate-defaultsort": "'''Baßma uff:''' De Schlissl \"$2\" dudde frijare Schlissl \"$1\" iwwaschraiwe.",
        "specialpages": "Schbezialsaide",
        "specialpages-group-other": "Onare bsundare Saide",
        "specialpages-group-wiki": "Daade un Wergzaisch",
        "external_image_whitelist": " #Loss die Zail wiese isch.<pre>\n#Geb unne Deel vunde regulere Ausdrigg (de Deel zwischede //) oi.\n#Die werren midde URLs vun aissare Bilda vaglische.\n#Die wu passen werren gzaischd un schunschd sieschdn n'Ling'g.\n#Zaile, wu midd # ofongen sinnen Kommenda.\n#Glä- odda Großschraiwung isch do egal.\n\n#Deel vun regulere Ausdrigg nochde Zeil oidrache. Loss die Zail do uuvaännad.</pre>",
        "tag-filter": "[[Special:Tags|Bschildarungs]]-Filda:",
+       "tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Tag}}]]: $2)",
+       "tags-active-yes": "Ja",
+       "tags-active-no": "Nä",
        "tags-edit": "bearwaide",
+       "htmlform-no": "Nä",
+       "htmlform-yes": "Ja",
+       "logentry-delete-delete": "$1 {{GENDER:$2|hodd}} Said $3 gleschd",
+       "logentry-move-move": "$1 {{GENDER:$2|vaschob}} die Said $3 noch $4",
+       "logentry-newusers-create": "Middawaidakondo $1 isch {{GENDER:$2|easchdelld}} worre",
+       "logentry-upload-upload": "$1 {{GENDER:$2|hodd}} $3 nuffg'laade",
        "rightsnone": "(-)",
        "feedback-close": "Erledischd",
        "searchsuggest-search": "Suche",
index 3146f1e..e88da5e 100644 (file)
        "thumbnail_image-missing": "Chyba brakuje pliku $1",
        "thumbnail_image-failure-limit": "Ostatnio było zbyt wielu nieudanych prób ($1 lub więcej) utworzenia miniaturki. Spróbuj ponownie później.",
        "import": "Import stron",
-       "importinterwiki": "Import transwiki",
+       "importinterwiki": "Import z innej wiki",
        "import-interwiki-text": "Wybierz wiki i nazwę strony do importowania.\nDaty oraz nazwy autorów zostaną zachowane.\nWszystkie operacje importu transwiki są odnotowywane w [[Special:Log/import|rejestrze importu]].",
        "import-interwiki-sourcewiki": "Źródłowa wiki:",
        "import-interwiki-sourcepage": "Strona źródłowa:",
        "version-parser-function-hooks": "Funkcje haków analizatora składni (ang. parser function hooks)",
        "version-hook-name": "Nazwa haka (ang. hook name)",
        "version-hook-subscribedby": "Zapotrzebowany przez",
-       "version-version": "(Wersja $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[bez nazwy]",
        "version-license": "Licencja MediaWiki",
        "version-ext-license": "Licencja",
index c02cfe5..8e10064 100644 (file)
        "readonly_lag": "La base ëd dat a l'é staita blocà n'automàtich antramentr che le màchine dël sircùit secondari as buto an pari con cole dël prinsipal",
        "internalerror": "Eror intern",
        "internalerror_info": "Eror antern: $1",
+       "internalerror-fatal-exception": "Ecession fatal ëd tipo «$1»",
        "filecopyerror": "A l'é pa stàit possìbil copié l'archivi «$1» coma «$2».",
        "filerenameerror": "A l'é pa podusse cangeje nòm a l'archivi «$1» an «$2».",
        "filedeleteerror": "A l'é pa podusse scancelé l'archivi «$1».",
        "unusedimages": "Figure nen dovrà",
        "wantedcategories": "Categorìe dont a fa da manca",
        "wantedpages": "Artìcoj pì ciamà",
+       "wantedpages-summary": "Lista ëd pàgine nen esistente con ël pi grand nùmer ëd liure vers ëd lor, gavà le pàgine vers le quaj a ponto mach dle ridiression. Për na lista dle pàgine nen esistente a le quaj a ponto dle ridiression, vëdde [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Tìtol nen vàlid ant l'ansema dj'arzultà: $1",
        "wantedfiles": "Archivi pì ciamà",
        "wantedfiletext-cat": "J'archivi ch'a ven-o a son dovrà ma a esisto pa. J'archivi dai sò depòsit estern a peulo esse listà sensa consideré l'esistensa. Chèich fàuss positiv a saran <del>sganfà</del>. An pi, le pàgine ch'a conten-o dj'archivi ch'a esisto pa a son listà an [[:$1]].",
        "thumbnail_image-missing": "L'archivi a smija ch'a manca: $1",
        "thumbnail_image-failure-limit": "A-i son ëstaje ëd recent tròpi tentativ falì ($1 o pi) ëd rende costa plancia. Për piasì, ch'a preuva torna pi tard.",
        "import": "Amportassion ëd pàgine",
-       "importinterwiki": "Amportassion da wiki diferente",
-       "import-interwiki-text": "Che a selession-a na wiki e ël tìtol dla pàgina da amporté.\nDate dle revision e stranòm dj'editor a resteran piàjit sù 'cò lor.\nTute j'amportassion antra wiki diferente a resto marcà ant ël [[Special:Log/import|Registr dj'amportassion]].",
+       "importinterwiki": "Amportassion da n'àutra wiki",
+       "import-interwiki-text": "Che a selession-a na wiki e ël tìtol dla pàgina da amporté.\nDate dle revision e stranòm dj'editor a resteran piàjit sù 'cò lor.\nTute j'amportassion da d'àutre wiki a resto marcà ant ël [[Special:Log/import|Registr dj'amportassion]].",
        "import-interwiki-sourcewiki": "Wiki sorgiss:",
        "import-interwiki-sourcepage": "Pàgina sorgiss:",
        "import-interwiki-history": "Copié tute le revision ëd la stòria ëd costa pàgina",
        "importcantopen": "L'archivi da amporté a l'é pa podusse deurbe",
        "importbadinterwiki": "Liura antra wiki diferente cioca",
        "importsuccess": "Amportassion finìa!",
-       "importnosources": "A l'é pa stàita definìa gnun-a sorgiss d'amportassion da na wiki diferenta, e carié mach le stòrie as peul nen.",
+       "importnosources": "A l'é stàita definìa gnun-a wiki da la qual amporté, e carié mach le stòrie as peul nen.",
        "importnofile": "Pa gnun archivi d'amportassion carià.",
        "importuploaderrorsize": "A l'é falìe la caria dl'archivi d'amporté. L'archivi a resta pì gròss che lòn ch'as peul cariesse.",
        "importuploaderrorpartial": "A l'é falìe la caria dl'archivi d'amporté. L'archivi a resta carià mach për un tòch.",
        "tags-delete-submit": "Eliminé costa tichëtta ëd fasson ireversìbil",
        "tags-delete-not-allowed": "Le tichëtte definìe da n'estension a peulo nen esse dëscancelà, gavà che l'estension a lo permëtta ëd fasson esplìssita.",
        "tags-delete-not-found": "La tichëtta «$1» a esist pa.",
+       "tags-delete-too-many-uses": "La tichëtta «$1» a l'é aplicà a pi che $2 {{PLURAL:$2|revision}}, lòn ch'a veul dì ch'a peul nen esse eliminà.",
+       "tags-delete-warnings-after-delete": "La tichëtta «$1» a l'é stàita eliminà për da bin, ma {{PLURAL:$2|a l'é rancontrasse l'|as son rancontrasse j'}}avis sì-dapress:",
+       "tags-activate-title": "Ativé la tichëtta",
+       "tags-activate-question": "A l'é a brus d'ativé la tichëtta «$1».",
+       "tags-activate-reason": "Rason:",
+       "tags-activate-not-allowed": "A l'é nen possìbil ativé la tichëtta «$1».",
+       "tags-activate-not-found": "La tichëtta «$1» a esist nen.",
+       "tags-activate-submit": "Ativé",
+       "tags-deactivate-title": "Disativé la tichëtta",
+       "tags-deactivate-question": "A sta për disativé la tichëtta «$1».",
+       "tags-deactivate-reason": "Rason:",
+       "tags-deactivate-not-allowed": "A l'é nen possìbil disativé la tichëtta «$1».",
+       "tags-deactivate-submit": "Disativé",
        "comparepages": "Confronté dle pàgine",
        "compare-page1": "Pàgina 1",
        "compare-page2": "Pàgina 2",
        "revdelete-uname-unhid": "stranòm dëscoatà",
        "revdelete-restricted": "restrission aplicà a j'aministrator",
        "revdelete-unrestricted": "restrission për j'aministrator gavà",
+       "logentry-block-block": "$1 {{GENDER:$2|a l'ha blocà}} {{GENDER:$4|$3}} për na durà ëd $5 $6",
+       "logentry-block-unblock": "$1 {{GENDER:$2|a l'ha dësblocà}} {{GENDER:$4|$3}}",
+       "logentry-block-reblock": "$1 {{GENDER:$2|a l'ha modificà}} ij paràmeter ëd blocagi për {{GENDER:$4|$3}} con na durà ëd $5 $6",
+       "logentry-suppress-block": "$1 {{GENDER:$2|a l'ha blocà}} {{GENDER:$4|$3}} për na durà ëd $5 $6",
+       "logentry-suppress-reblock": "$1 {{GENDER:$2|a l'ha modificà}} ij paràmeter ëd blocagi për {{GENDER:$4|$3}} con na durà ëd $5 $6",
        "logentry-merge-merge": "$1 {{GENDER:$2|a l'ha gionzù}} $3 an $4 (revision fin-a a $5)",
        "logentry-move-move": "$1 {{GENDER:$2|a l'ha tramudà}} la pàgina $3 a $4",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|a l'ha tramudà}} la pàgina $3 a $4 sensa lassé na ridiression",
        "logentry-upload-upload": "$1 {{GENDER:$2|a l'ha carià}} $3",
        "logentry-upload-overwrite": "$1 {{GENDER:$2|a l'ha carià}} na neuva version ëd $3",
        "logentry-upload-revert": "$1 {{GENDER:$2|a l'ha carià}} $3",
+       "log-name-managetags": "Argistr dle modìfiche ëd tichëtte",
+       "log-description-managetags": "Costa pàgina a lista ij travaj ëd manutension gropà a le [[Special:Tags|tichëtte]]. L'argistr a conten mach j'assion fàite a man da n'aministrator; le tichëtte a peulo esse creà o eliminà dal programa wiki sensa che l'assion a sia marcà an s'argistr.",
+       "logentry-managetags-create": "$1 {{GENDER:$2|a l'ha creà}} la tichëtta « $4 ».",
+       "logentry-managetags-delete": "$1 {{GENDER:$2|a l'ha dëscancelà}} la tichëtta « $4 » (gavà da {{PLURAL:$5|na revision o vos d'argistr|$5 revision o vos d'argistr}})",
+       "logentry-managetags-activate": "$1 {{GENDER:$2|a l'ha ativà}} la tichëtta \"$4\" për l’usagi dj'utent e dij trigomiro",
+       "logentry-managetags-deactivate": "$1 {{GENDER:$2|a l'ha disativà}} la tichËtta « $4 » pour l’usagi dj'utent e dij trigomiro",
        "rightsnone": "(gnun)",
        "revdelete-summary": "resumé dla modìfica",
        "feedback-bugornote": "S'a l'é pront a descrive un problema técnich an detaj, për piasì ch'a [$1 signala un bigat]. \nDësnò, a peul dovré ël formolari semplificà sì-sota. Sò coment a sarà giontà a la pàgina «[$3 $2]», con sò stranòm.",
        "json-error-utf8": "Caràter UTF-8 mal formà, miraco mal codificà",
        "json-error-recursion": "Un-a o pi rëspondense ant ël valor da codifiché",
        "json-error-inf-or-nan": "Un o pi valor NAN o INF ant ël valor da codifiché",
-       "json-error-unsupported-type": "A l'é stàit dàit un valor ëd na sòrt ch'a peul nen esse codificà"
+       "json-error-unsupported-type": "A l'é stàit dàit un valor ëd na sòrt ch'a peul nen esse codificà",
+       "headline-anchor-title": "Liura a sta session"
 }
index 9a79230..f391e4c 100644 (file)
@@ -7,7 +7,8 @@
                        "Rachitrali",
                        "Reedy",
                        "ZaDiak",
-                       "아라"
+                       "아라",
+                       "Amire80"
                ]
        },
        "tog-underline": "حوڑ تھلے لین:",
        "mytalk": "میریاں گلاں",
        "anontalk": "اس آئی پی آسطے گل کرو",
        "navigation": "کھوج",
-       "and": "&#32;and",
+       "and": "&#32;تے",
        "qbfind": "کھوج",
        "qbbrowse": "لبو",
        "qbedit": "لکھو",
        "delete-toobig": "ایس صفے دی اک لمبی تبدیلی دی تریخ اے $1 توں ود {{PLURAL:$1|ریوین|ریویناں}}\nایے صفیاں دے مٹان تے کج روک اے {{SITENAME }} دی اچانک خرابی توں بچن لئی۔",
        "delete-warning-toobig": "ایس صفے دی تبدیلی دی اک لمی تریخ اے۔ $1 توں ود {{PLURAL:$1|ریوین|ریویناں}}۔\nاینوں مٹان تے {{SITENAME}} دے ڈیٹا اوپریشنز چ مسلہ بن سکدا اے۔\nسوچ سمج کے اگے ودو۔",
        "rollback": "لکھائیاں واپس کرو",
-       "rollback_short": "واپس کرو",
        "rollbacklink": "واپس",
        "rollbackfailed": "واپس کرن ناکام",
        "cantrollback": "تبدیلی واپس نئیں ہوسکدی؛\nآخری لکھاری ای ایدا اکو لکھاری سی۔",
        "import-logentry-interwiki": "ٹرانسوکیڈ  $1",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|ریوین|ریویناں }} $2 توں",
        "javascripttest": "JavaScript ٹیسٹنگ",
-       "javascripttest-title": "ٹیسٹ  $1 چلدا اے۔",
        "javascripttest-pagetext-noframework": "ایہ صفہ JavaScript  ٹیسٹاں لئی بچایا گیا اے۔",
        "javascripttest-pagetext-unknownframework": "\"$1\" انجانا ٹیسٹنگ فریمورک۔",
        "javascripttest-pagetext-frameworks": "مہربانی کرکے تھلے دتے گۓ ٹیسٹ فریمورکاں چوں اک چنو : $1",
        "javascripttest-pagetext-skins": "اپنی پسند دا کوئی نمونہ چنو جیدے تے ٹیسٹ چلن:",
        "javascripttest-qunit-intro": "mediawiki.org تے [$1 ٹسٹنگ ڈوکومنٹیشن] ویکھو۔",
-       "javascripttest-qunit-heading": "MediaWiki JavaScript QUnit test suite",
        "tooltip-pt-userpage": "میرا صفہ",
        "tooltip-pt-anonuserpage": "ورتن صفہ IP  پتے لئی تسی تبدیل کر رۓ او۔۔۔",
        "tooltip-pt-mytalk": "میریاں گلاں",
        "watchlisttools-edit": "اکھ تھلے رکھے ہوۓ صفحیاں نوں ویکھو تے تبدیل کرو",
        "watchlisttools-raw": "کچی اکھ تھلے رکھی ہوئی نو تبدیل کرو",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|talk]])",
-       "unknown_extension_tag": "انجان ایکسٹنشن ٹیگ \"$1\"",
        "duplicate-defaultsort": "'''خبردار:''' ڈیفالٹ چابی \"$2\" پہلی ڈیفالٹ چابی \"$1\" دے اتے لگ گئی اے۔",
        "version": "ورژن",
        "version-extensions": "انسٹالڈ کیتیاں گیاں ایکسٹنشن",
        "version-parser-function-hooks": "پاسر فنکشن ہکز",
        "version-hook-name": "ہک ناں",
        "version-hook-subscribedby": "جینے لئی",
-       "version-version": "(ورین $1)",
+       "version-version": "($1)",
        "version-license": "لائیسنس",
        "version-poweredby-credits": "ایس وکی نوں '''[https://www.mediawiki.org/ میڈیاوکی]''', copyright © 2001-$1 $2. چلاندا اے۔",
        "version-poweredby-others": "دوجے",
index 3c36073..d0b33ea 100644 (file)
        "delete-edit-reasonlist": "Redigīs āupausinsenes brewīnslins",
        "delete-toobig": "Šin pāusan turri spārtai ilgan istōrijan stēisan redigīsenin, kīrsa $1 {{PLURAL:$1|kitawīdisnan|kitawīdisnans}}.\nTenesse āupausinsenins mazīlai dīlintun ārdisenins en dīlasnan stesse {{SITENAME}} be pastāi arāikintan.",
        "rollback": "Etwārtai wartinnais redigīsenin",
-       "rollback_short": "Etwārtai wartinnais",
        "rollbacklink": "etwārtai wartinnais",
        "rollbackfailed": "Kitawīdisnas etwārtai wartīnsna ni izpalla",
        "cantrollback": "Ni mazīngi etwārtai wartīntun redigīsenin, beggi ast tēr aīna šisse pāusas wersiōni.",
        "version-parser-extensiontags": "Parseras plattinsenes zentlitajai",
        "version-parser-function-hooks": "Parseras funkciōnis ānsai",
        "version-hook-name": "Ānsas pabilisnā",
-       "version-version": "(Wersiōni $1)",
+       "version-version": "($1)",
        "version-license": "Licēnci",
        "version-software": "Instalītas prōgraminis",
        "version-software-version": "Wersiōni",
index 19c56c6..2013bc9 100644 (file)
        "nospecialpagetext": "<strong>تاسې د يو ناسم ځانگړي مخ غوښتنه کړې.</strong>\n\nتاسې کولای شی چې د سمو ځانگړو مخونو لړليک په [[Special:SpecialPages|{{int:specialpages}}]] کې ومومۍ.",
        "error": "تېروتنه",
        "databaseerror": "د ډاټابېز تېروتنه",
+       "databaseerror-query": "تپوس: $1",
+       "databaseerror-function": "کړنه: $1",
        "databaseerror-error": "تېروتنه: $1",
        "laggedslavemode": "'''گواښنه:''' په دې مخ کې کېدای شي تازه اوسمهالېدنې نه وي.",
        "readonly": "توکبنسټ تړل شوی",
        "edit-gone-missing": "د دې مخ اوسمهالول و نه کړای شول.\nداسې ښکاري چې دا مخ ړنگ شوی.",
        "edit-conflict": "د سمولو خنډ",
        "edit-no-change": "ستاسې سمون بابېزه وګڼل شو، دا ځکه چې تاسې په متن کې کوم بدلون نه دی راوستلی.",
+       "postedit-confirmation-created": "مخ جوړ شوی.",
+       "postedit-confirmation-restored": "مخ بيازېرمل شوی.",
        "postedit-confirmation-saved": "ستاسې سمون خوندي شو.",
        "edit-already-exists": "په دې نوم يو نوی مخ جوړ نه شو.\nپدې نوم د پخوا نه يو مخ شته.",
        "defaultmessagetext": "تلواليزه پيغام متن",
        "mergehistory-invalid-source": "د سرچينې مخ بايد يو سم سرليک وي.",
        "mergehistory-invalid-destination": "د موخې مخ بايد يو سم سرليک وي.",
        "mergehistory-reason": "سبب:",
+       "mergelog": "د اخږلو يادښت",
        "revertmerge": "بېلول",
        "history-title": "د \"$1\" د مخليدنې پېښليک",
        "difference-title": "د \"$1\" د بڼو تر مېنځ توپير",
+       "difference-title-multipage": "د \"$1\" او \"$2\" مخونو تر مېنځ توپير",
        "difference-multipage": "(د مخونو تر مېنځ توپير)",
        "lineno": "$1 کرښه:",
        "compareselectedversions": "ټاکلې بڼې سره پرتلل",
        "search-redirect": "(د $1 مخ ګرځونه)",
        "search-section": "(برخه $1)",
        "search-category": "(وېشنيزه $1)",
+       "search-file-match": "(د دوتنو مېنځپانگې سره ورته دي)",
        "search-suggest": "آيا همدا مو موخه وه: $1",
        "search-interwiki-caption": "خورلڼې پروژې",
        "search-interwiki-default": "پايلې له $1 څخه:",
        "searchrelated": "اړونده",
        "searchall": "ټول",
        "showingresults": "دلته لاندې تر {{PLURAL:$1|'''1''' پايله|'''$1''' پايلې}} ښکاره شوي پيل له #'''$2''' شوی.",
+       "search-showingresults": "{{PLURAL:$4|پايله <strong>$1</strong> of <strong>$3</strong>|پايلې<strong>$1 - $2</strong> of <strong>$3</strong>}}",
        "search-nonefound": "ستاسې دغوښتنې اړونده پايلې و نه موندل شوې.",
        "powersearch-legend": "ژوره پلټنه",
        "powersearch-ns": "په نوم-تشيالونو کې پلټنه:",
        "right-minoredit": "سمونونه واړه په نخښه کول",
        "right-move": "مخونه لېږدول",
        "right-move-subpages": "مخونه د خپلو څېرمه مخونو سره لېږدول",
+       "right-move-categorypages": "د وېشنيزې مخونه لېږدول",
        "right-movefile": "دوتنې لېږدول",
        "right-upload": "دوتنې پورته کول",
        "right-upload_by_url": "د يو URL نه دوتنې پورته کول",
        "action-createaccount": "دا گڼون جوړول",
        "action-minoredit": "دا سمون وړوکی په نخښه کول",
        "action-move": "همدا مخ لېږدول",
+       "action-move-categorypages": "د وېشنيزې مخونه لېږدول",
        "action-movefile": "همدا دوتنه لېږدول",
        "action-upload": "همدا دوتنه پورته کول",
        "action-upload_by_url": "دا دوتنه له يوه URL نه پورته کول",
        "uploadnologintext": "د دوتنې پورته کولو لپاره بايد $1",
        "uploaderror": "د پورته کولو ستونزه",
        "uploadtext": "د دوتنې د پورته کېدو لپاره لاندينی چوکاټ وکاروۍ.\nکه چېرته د پخونيو پورته شويو دوتنو کتل او پلټل غواړۍ نو [[Special:FileList|د پورته شويو دوتنو لړليک]] ته ورشۍ، [[Special:Log/upload|د (بيا) پورته شويو دوتنو يادښتونه]] او [[Special:Log/delete|د ړنگېدو يادښتونه]] هم کتلای شی.\n\nددې لپاره چې يوه مخ ته انځور ورواچوی، نو بيا پدې ډول تړنې (لېنک) وکاروی\n* د يوې دوتنې د بشپړې بڼې د کارولو په موخه د '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' کوډ وکاروۍ.\n* د '۲۰۰ پېکسل' په کچه د 'بټنوک' په توگه د يوې دوتنې کارول چې د مخ کيڼې څنډې کې او ترلاندې 'د انځور څرگندونې' ولري، نو د دې موخې لپاره د '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|بټنوک|کيڼ|د انځور څرگندونې]]</nowiki></code>''' کوډ وکاروۍ.\n* د انځور د ښودلو نه پرته، د دوتنې سره د سيخې تړنې لپاره د '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' کوډ وکاروۍ.",
-       "upload-permitted": "د Ù¾Ø±Û\90Ú\9aÙ\88دÙ\84Ù\88 Ø¯Ù\88تÙ\86Ù\88 Ú\89Ù\88Ù\84Ù\88Ù\86Ù\87: $1.",
+       "upload-permitted": "د Ù¾Ø±Û\90Ú\9aÙ\84Û\90 {{PLURAL:$2|دÙ\88تÙ\86Û\90 Ú\89Ù\88Ù\84|دÙ\88تÙ\86Ù\88 Ú\89Ù\88Ù\84Ù\88Ù\86Ù\87}}: $1.",
        "upload-preferred": "د غوره {{PLURAL:$2|دوتنې ډول|دوتنو ډول}}: $1.",
-       "upload-prohibited": "د Ù\85Ù\86ع Ø´Ù\88Ù\8aÙ\88 Ø¯Ù\88تÙ\86Ù\88 Ú\89Ù\88Ù\84Ù\88Ù\86Ù\87: $1.",
+       "upload-prohibited": "د Ù\86اپرÛ\90Ú\9aÙ\84Û\90 {{PLURAL:$2|دÙ\88تÙ\86Û\90 Ú\89Ù\88Ù\84|دÙ\88تÙ\86Ù\88 Ú\89Ù\88Ù\84Ù\88Ù\86Ù\87}}: $1.",
        "uploadlogpage": "د پورته شويو دوتنو يادښت",
        "uploadlogpagetext": "دا لاندې د نوو پورته شوو دوتنو لړليک دی.",
        "filename": "د دوتنې نوم",
        "illegal-filename": "د دوتنې نوم نه دی پرېښل شوی.",
        "unknown-error": "يوه ناڅرګنده تېروتنه رامېنځته شوه.",
        "tmp-create-error": "لنډمهاله دوتنه جوړېدای نه شي",
-       "fileexists": "د پخوا نه پدې نوم يوه دوتنه شته، که تاسو ډاډه نه ياست او يا هم که تاسو غواړۍ چې بدلون پکې راولۍ، لطفاً <strong>[[:$1]]</strong> وگورۍ.\n[[$1|بټنوک]]",
-       "fileexists-extension": "په همدې نوم يوه بله دوتنه د پخوا نه شته: [[$2|thumb]]\n* د پورته کېدونکې دوتنې نوم: <strong>[[:$1]]</strong>\n* د پخوا نه شته دوتنه: <strong>[[:$2]]</strong>\nلطفاً يو داسې نوم وټاکی چې د پخوانۍ دوتنې سره توپير ولري.",
+       "fileexists": "د پخوا څخه پدې نوم يوه دوتنه شته، که {{GENDER:|تاسې}} پرې ډاډمن نه ياست چې بدلون پکې راولۍ، نو لطفاً <strong>[[:$1]]</strong> وگورئ.\n[[$1|بټنوک]]",
+       "fileexists-extension": "په دې نوم يوه بله دوتنه د پخوا څخه شته: [[$2|بټنوک]]\n* د پورته کېدونکې دوتنې نوم: <strong>[[:$1]]</strong>\n* د پخوانۍ موجودې دوتنې نوم: <strong>[[:$2]]</strong>\nآيا تاسې غواړۍ چې يو داسې بېل نوم ټاکۍ چې د پخوانۍ دوتنې سره توپير ولري؟",
        "fileexists-forbidden": "د پخوا نه پدې نوم يوه دوتنه شته، او په دې نوم بله دوتنه نه پورته کېږي.\nکه تاسې بيا هم د خپلې دوتنې پورته کول غواړۍ، نو لطفاً بېرته وګرځۍ او همدغه دوتنه بيا په يوه نوي نوم پورته کړی.\n[[File:$1|thumb|center|$1]]",
        "file-exists-duplicate": "همدا دوتنه د {{PLURAL:$1|لاندينۍ دوتنې|لاندينيو دوتنو}} غبرگه لمېسه ده:",
        "uploadwarning": "د پورته کولو گواښ",
        "license-header": "منښتليک:",
        "nolicense": "هېڅ نه دي ټاکل شوي",
        "license-nopreview": "(مخليدنه نشته)",
-       "upload_source_file": "(ستاسو په کمپيوټر کې يوه دوتنه)",
+       "upload_source_file": "(ستاسې کمپيوټر کې ستاسې ټاکلې دوتنه)",
        "listfiles-delete": "ړنگول",
        "listfiles-summary": "همدا ځانگړی مخ ټولې پورته شوې دوتنې ښکاره کوي.",
        "listfiles_search_for": "د رسنۍ نوم پلټنه:",
        "tooltip-pt-mycontris": "ستاسې د ونډو لړليک",
        "tooltip-pt-login": "تاسې ته په غونډال کې د ننوتلو سپارښتنه کوو، که څه هم چې دا يو اړين کار نه دی.",
        "tooltip-pt-logout": "وتل",
+       "tooltip-pt-createaccount": "تاسې ته د يو گڼون د جوړولو او بيا غونډال کې ورننوتلو سپارښتنه کېږي؛ که څه هم چې دا يو اړين کار نه دی",
        "tooltip-ca-talk": "د مخ د مېنځپانگې په اړه خبرې اترې",
        "tooltip-ca-edit": "تاسې همدا مخ سمولای شی. لطفاً د ليکنې د خوندي کولو دمخه، د همدې ليکنې مخليدنه وگورۍ.",
        "tooltip-ca-addsection": "يوه نوې برخه پيلول",
        "svg-long-desc": "SVG دوتنه، نومېنلي $1 × $2 پېکسل، د دوتنې کچه: $3",
        "show-big-image": "آرنۍ دوتنه",
        "show-big-image-preview": "د همدې ليدنې کچه: $1.",
+       "show-big-image-other": "{{PLURAL:$2|بل ژورليد|نورې ژورليدنې}}: $1.",
        "show-big-image-size": "$1 × $2 پېکسل",
        "file-info-gif-frames": "$1 {{PLURAL:$1|چوکاټ|چوکاټونه}}",
        "file-info-png-repeat": "$1 {{PLURAL:$1|ځل|ځله}} وغږېده",
        "metadata-fields": "د انځور مېټاډاټا ډگرونه چې لړليک يې په همدې پيغام کې په لاندې توگه راغلی د انځور مخ په ښکارېدنه کې به هغه وخت ورگډ شي کله چې د مېټاډاټا لښتيال غځېږي.\nنور څه به په تلواليزه توگه پټ پاتې وي.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
        "exif-imagewidth": "سوروالی",
        "exif-imagelength": "لوړوالی",
+       "exif-orientation": "لورموندنه",
+       "exif-xresolution": "څنډيز ژورليد",
+       "exif-yresolution": "ولاړيز ژورليد",
        "exif-stripoffsets": "د انځور مالوماتځی",
        "exif-datetime": "د دوتنې د بدلون وخت او نېټه",
        "exif-imagedescription": "انځور سرليک",
        "exif-software": "کارېدلې ساوترۍ",
        "exif-artist": "ليکوال",
        "exif-copyright": "د رښتو خاوند",
+       "exif-exifversion": "Exif بڼه",
        "exif-colorspace": "رنگ تشيال",
        "exif-pixelydimension": "د انځور سور",
        "exif-pixelxdimension": "د انځور جگوالی",
        "exif-usercomment": "د کارن تبصرې",
        "exif-relatedsoundfile": "اړونده غږيزه دوتنه",
+       "exif-datetimeoriginal": "د اومتوک د جوړېدنې وخت او نېټه",
        "exif-datetimedigitized": "د گڼياليز کېدنې وخت او نېټه",
        "exif-fnumber": "F شمېره",
        "exif-lightsource": "د رڼا سرچينه",
        "version-other": "بل",
        "version-hooks": "کونډۍ",
        "version-hook-name": "کونډۍ نوم",
-       "version-version": "(بڼه $1)",
+       "version-version": "($1)",
        "version-license": "مېډياويکي منښتليک",
        "version-ext-license": "منښتليک",
        "version-skin-colheader-name": "پوښۍ",
        "tags-actions-header": "کړنې",
        "tags-active-yes": "هو",
        "tags-active-no": "نه",
+       "tags-source-none": "نور نه کارېږي",
        "tags-edit": "سمول",
        "tags-delete": "ړنگول",
        "tags-activate": "فعالول",
index 0bbcb07..c4af86c 100644 (file)
        "currentrevisionlink": "Revisão atual",
        "cur": "atu",
        "next": "prox",
-       "last": "ult",
+       "last": "ant",
        "page_first": "primeira",
        "page_last": "última",
        "histlegend": "Como selecionar: marque as caixas de seleção das versões que deseja comparar e pressione enter ou clique no botão na parte inferior do formulário.<br />\nLegenda: '''({{int:cur}})''' = diferenças em relação a última versão, '''({{int:last}})''' = diferenças em relação a versão anterior, '''{{int:minoreditletter}}''' = edição menor.",
        "nextn-title": "{{PLURAL:$1|próximo|próximos}} $1 {{PLURAL:$1|resultado|resultados}}",
        "shown-title": "Mostrar $1 {{PLURAL:$1|resultado|resultados}} por página",
        "viewprevnext": "Ver ($1 {{int:pipe-separator}} $2) ($3).",
-       "searchmenu-exists": "<strong>Há uma página com o nome \"[[:$1]]\" neste wiki.</strong> {{PLURAL:$2|0=|Veja também os outros resultados da pesquisa encontrados.}}",
+       "searchmenu-exists": "<strong>Há uma página com o nome \"[[:$1]]\" nesta wiki.</strong> {{PLURAL:$2|0=|Veja também os outros resultados da pesquisa encontrados.}}",
        "searchmenu-new": "<strong>Criar a página \"[[:$1]]\" nesta wiki!</strong>{{PLURAL:$2|0=| Veja também a página encontrada com sua pesquisa.|Veja também os resultados das pesquisas encontradas.}}",
        "searchprofile-articles": "Páginas de conteúdo",
        "searchprofile-images": "Multimídia",
        "userrights-lookup-user": "Administrar grupos de usuários",
        "userrights-user-editname": "Forneça um nome de usuário:",
        "editusergroup": "Editar grupos de usuários",
-       "editinguser": "Modificando privilégios do usuário '''[[User:$1|$1]]''' $2",
+       "editinguser": "Modificando privilégios d{{GENDER:$1|o usuário|a usuária|o(a) usuário(a)}} '''[[User:$1|$1]]''' $2",
        "userrights-editusergroup": "Editar grupos do usuário",
        "saveusergroups": "Salvar grupos do usuário",
        "userrights-groupsmember": "Membro de:",
        "group-user-member": "{{GENDER:$1|usuário|usuária}}",
        "group-autoconfirmed-member": "{{GENDER:$1|usuário autoconfirmado|usuária autoconfirmada}}",
        "group-bot-member": "robô",
-       "group-sysop-member": "{{GENDER:$1|administrador|administradora}}",
+       "group-sysop-member": "{{GENDER:$1|administrador|administradora|administrador(a)}}",
        "group-bureaucrat-member": "burocrata",
        "group-suppress-member": "{{GENDER:$1|supressor|supressora}}",
        "grouppage-user": "{{ns:project}}:Usuários",
        "isimage": "link para o arquivo",
        "whatlinkshere-prev": "{{PLURAL:$1|anterior|$1 anteriores}}",
        "whatlinkshere-next": "{{PLURAL:$1|próximo|próximos $1}}",
-       "whatlinkshere-links": "← links",
+       "whatlinkshere-links": "← afluentes",
        "whatlinkshere-hideredirs": "$1 redirecionamentos",
        "whatlinkshere-hidetrans": "$1 transclusões",
        "whatlinkshere-hidelinks": "$1 links",
        "table_pager_prev": "Página anterior",
        "table_pager_first": "Primeira página",
        "table_pager_last": "Última página",
-       "table_pager_limit": "Mostrar $1 items por página",
+       "table_pager_limit": "Mostrar $1 itens por página",
        "table_pager_limit_label": "Itens por página:",
        "table_pager_limit_submit": "Ir",
        "table_pager_empty": "Sem resultados",
        "version-parser-function-hooks": "Funções \"hooks\" de \"parser\"",
        "version-hook-name": "Nome do hook",
        "version-hook-subscribedby": "Subscrito por",
-       "version-version": "(Versão $1)",
+       "version-version": "($1)",
        "version-license": "Licença do MediaWiki",
        "version-ext-license": "Licença",
        "version-ext-colheader-name": "Extensão",
index c965e3f..dd9d6f0 100644 (file)
        "right-reupload-shared": "Sobrescrever localmente ficheiros no repositório partilhado de imagens",
        "right-upload_by_url": "Carregar um ficheiro de um endereço URL",
        "right-purge": "Limpar a ''cache'' de uma página no servidor sem confirmação",
-       "right-autoconfirmed": "Editar páginas semi-protegidas",
+       "right-autoconfirmed": "Não ser afetado pelos limites de frequência baseados no número de IP",
        "right-bot": "Ser tratado como um processo automatizado",
        "right-nominornewtalk": "Não despoletar o aviso de mensagens novas ao fazer edições menores a páginas de discussão",
        "right-apihighlimits": "Usar limites superiores nas consultas ''(queries)'' via API",
        "isimage": "ligação para ficheiro",
        "whatlinkshere-prev": "{{PLURAL:$1|anterior|$1 anteriores}}",
        "whatlinkshere-next": "{{PLURAL:$1|próximo|próximos $1}}",
-       "whatlinkshere-links": "← ligações",
+       "whatlinkshere-links": "← afluentes",
        "whatlinkshere-hideredirs": "$1 redirecionamentos",
        "whatlinkshere-hidetrans": "$1 transclusões",
        "whatlinkshere-hidelinks": "$1 ligações",
        "thumbnail_image-missing": "Ficheiro em falta: $1",
        "thumbnail_image-failure-limit": "Ocorreram demasiadas tentativas recentes ($1 ou mais) de criação desta miniatura. Tente novamente mais tarde, por favor.",
        "import": "Importar páginas",
-       "importinterwiki": "Importação transwikis",
-       "import-interwiki-text": "Selecione uma wiki e um título de página a importar.\nAs datas das edições e os seus editores serão mantidos.\nTodas as ações de importação transwikis são registadas no [[Special:Log/import|Registo de importações]].",
+       "importinterwiki": "Importar de uma outra wiki",
+       "import-interwiki-text": "Selecione uma wiki e um título de página a importar.\nAs datas das edições e os seus editores serão mantidos.\nTodas as ações de importação a partir de outras wikis são registadas no [[Special:Log/import|registo de importações]].",
        "import-interwiki-sourcewiki": "Wiki de origem:",
        "import-interwiki-sourcepage": "Página de origem:",
        "import-interwiki-history": "Copiar todo o histórico de revisões desta página",
        "version-parser-function-hooks": "''Hooks'' das funções do analisador sintático",
        "version-hook-name": "Nome do hook",
        "version-hook-subscribedby": "Subscrito por",
-       "version-version": "(Versão $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[sem nome]",
        "version-license": "Licença do MediaWiki",
        "version-ext-license": "Licença",
        "revdelete-uname-unhid": "utilizador desocultado",
        "revdelete-restricted": "restrições a administradores aplicadas",
        "revdelete-unrestricted": "restrições a administradores removidas",
+       "logentry-block-block": "$1 {{GENDER:$2|bloqueou}} {{GENDER:$4|$3}} com expiração a $5 $6",
+       "logentry-block-unblock": "$1 {{GENDER:$2|desbloqueou}} {{GENDER:$4|$3}}",
+       "logentry-block-reblock": "$1 {{GENDER:$2|modificou}} parâmetros de bloqueio de {{GENDER:$4|$3}} com expiração a $5 $6",
+       "logentry-suppress-block": "$1 {{GENDER:$2|bloqueou}} {{GENDER:$4|$3}} com expiração a $5 $6",
+       "logentry-suppress-reblock": "$1 {{GENDER:$2|modificou}} parâmetros de bloqueio de {{GENDER:$4|$3}} com expiração a $5 $6",
        "logentry-merge-merge": "$1 {{GENDER:$2|fundiu}} $3 com $4 (edições até $5)",
        "logentry-move-move": "$1 moveu a página $3 para $4",
        "logentry-move-move-noredirect": "$1 moveu a página $3 para $4 sem deixar um redirecionamento",
index 021b865..6253fc9 100644 (file)
        "revdelete-uname-unhid": "Used on\n* {{msg-mw|logentry-delete-event}}\n* {{msg-mw|logentry-delete-revision}}\n* {{msg-mw|logentry-suppress-event}}\n* {{msg-mw|logentry-suppress-event}}",
        "revdelete-restricted": "Used as <code>$4</code> in the following messages when setting visibility restrictions for administrators:\n* {{msg-mw|Logentry-delete-event}}\n* {{msg-mw|Logentry-delete-revision}}\n* {{msg-mw|Logentry-suppress-event}}\n* {{msg-mw|Logentry-suppress-event}}",
        "revdelete-unrestricted": "Used as <code>$4</code> in the following messages when setting visibility restrictions for administrators:\n* {{msg-mw|Logentry-delete-event}}\n* {{msg-mw|Logentry-delete-revision}}\n* {{msg-mw|Logentry-suppress-event}}\n* {{msg-mw|Logentry-suppress-event}}",
-       "logentry-block-block": "{{Logentry|[[Special:Log/block]]}}\n* $4 - user name for gender or empty string for autoblocks\n* $5 - the block duration, localized and formatted with the english tooltip\n* $6 - block detail flags or empty string",
-       "logentry-block-unblock": "{{Logentry|[[Special:Log/block]]}}\n* $4 - user name for gender or empty string for autoblocks",
-       "logentry-block-reblock": "{{Logentry|[[Special:Log/block]]}}\n* $4 - user name for gender or empty string for autoblocks\n* $5 - the block duration, localized and formatted with the english tooltip\n* $6 - block detail flags or empty string",
+       "logentry-block-block": "{{Logentry|[[Special:Log/block]]}}\n* $4 - user name for gender or empty string for autoblocks\n* $5 - the block duration, localized and formatted with the english tooltip\n* $6 - block detail flags or empty string\n\nCf. {{msg-mw|Blocklogentry}}",
+       "logentry-block-unblock": "{{Logentry|[[Special:Log/block]]}}\n* $4 - user name for gender or empty string for autoblocks\n\nCf. {{msg-mw|Unblocklogentry}}",
+       "logentry-block-reblock": "{{Logentry|[[Special:Log/block]]}}\n* $4 - user name for gender or empty string for autoblocks\n* $5 - the block duration, localized and formatted with the english tooltip\n* $6 - block detail flags or empty string\n\nCf. {{msg-mw|Reblock-logentry}}",
        "logentry-suppress-block": "{{Logentry}}\n* $4 - user name for gender or empty string for autoblocks\n* $5 - the block duration, localized and formatted with the english tooltip\n* $6 - block detail flags or empty string",
        "logentry-suppress-reblock": "{{Logentry}}\n* $4 - user name for gender or empty string for autoblocks\n* $5 - the block duration, localized and formatted with the english tooltip\n* $6 - block detail flags or empty string",
        "logentry-merge-merge": "{{Logentry|[[Special:Log/merge]]}}\n* $4 - the page into which the content is merged\n* $5 - a timestamp of limit\n\nThe log and its associated special page 'MergeHistory' is not enabled by default.\n\nPlease note that the parameters in a log entry will appear in the log only in the default language of the wiki. View [[Special:Log]] for examples on translatewiki.net with English default language.",
index 32a6b1c..3f1eb6f 100644 (file)
        "delete-toobig": "Kay p'anqaqa ancha wiñay kawsaysapa, $1-manta aswan {{PLURAL:$1|musuqchasqayuq|musuqchasqayuq}}. Kay hina p'anqakunata qulluyqa saywachasqam, {{SITENAME}}ta mana waqllinapaq.",
        "delete-warning-toobig": "Kay p'anqaqa ancha wiñay kawsaysapa, $1-manta aswan {{PLURAL:$1|musuqchasqayuq|musuqchasqayuq}}. Kay hina p'anqata qulluspaykiqa, {{SITENAME}}ta waqllinkimanchá. Kay ruraymanta anchata yuyaychakuspa hamut'ay.",
        "rollback": "Hukchasqakunata kutichiy",
-       "rollback_short": "Kutichiy",
        "rollbacklink": "Kutichiy",
        "rollbacklinkcount": "$1 {{PLURAL:$1|hukchasqata}} kutichiy",
        "rollbacklinkcount-morethan": "$1-manta aswan {{PLURAL:$1|hukchasqakunata}} kutichiy",
        "import-logentry-interwiki": "huk wikimanta chaskisqa $1",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|hukchasqa|hukchasqakuna}} $2-manta",
        "javascripttest": "JavaScript llanchiy",
-       "javascripttest-title": "$1 llanchiykunam richkan",
        "javascripttest-pagetext-noframework": "Kay p'anqaqa JavaScript llanchina purichinallapaqmi kachun.",
        "javascripttest-pagetext-unknownframework": "Mana riqsisqa \"$1\" nisqa llanchina inchu ruray",
        "javascripttest-pagetext-frameworks": "Ama hina kaspa, kay qatiq llanchina inchu ruraykunamanta hukta akllay: $1",
        "javascripttest-pagetext-skins": "Qarata akllay llanchiykunata paywan purichinaykipaq:",
        "javascripttest-qunit-intro": "Qhaway [$1 llanchina yachachinapi], mediawiki.org nisqapi kaq.",
-       "javascripttest-qunit-heading": "MediaWiki JavaScript QUnit llanchina",
        "tooltip-pt-userpage": "Qampa ruraqpa p'anqayki",
        "tooltip-pt-anonuserpage": "IP huchhaykipaq ruraqpa p'anqan",
        "tooltip-pt-mytalk": "Rimanakuy p'anqayki",
        "watchlisttools-edit": "Watiqana sutisuyuta qhawaspa llamk'apuy",
        "watchlisttools-raw": "Chawa watiqana sutisuyuta llamk'apuy",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|rimanakuy]])",
-       "unknown_extension_tag": "Mana riqsisqa \"$1\" mast'arina k'askana",
        "duplicate-defaultsort": "Paqtataq: Kikinmanta allinchana llawi «$2» ñawpaq kikinmanta allinchana llawitam «$1» huknachan.",
        "version": "Musuqchasqa",
        "version-extensions": "Tiyachisqa mast'arinakuna",
        "version-parser-function-hooks": "T'ikrana rurana ch'iwinakuna",
        "version-hook-name": "Ch'iwinap sutin",
        "version-hook-subscribedby": "Kay runap mañaykusqan:",
-       "version-version": "(Musuqchasqa $1)",
+       "version-version": "($1)",
        "version-license": "Saqillay",
        "version-ext-license": "Saqillay",
        "version-ext-colheader-name": "Mast'ariy",
index 983b819..eeaef1f 100644 (file)
@@ -8,7 +8,8 @@
                        "Shirayuki",
                        "Urhixidur",
                        "לערי ריינהארט",
-                       "Davent"
+                       "Davent",
+                       "아라"
                ]
        },
        "tog-underline": "Suttastritgar colliaziuns:",
        "version-parser-function-hooks": "Hooks per funcziuns dal parser",
        "version-hook-name": "Num dal hook",
        "version-hook-subscribedby": "Abonnà da",
-       "version-version": "(Versiun $1)",
+       "version-version": "($1)",
        "version-license": "Licenza",
        "version-poweredby-credits": "Questa wiki utilisescha '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "auters",
index 2a7d860..b6fcb4a 100644 (file)
        "readonly_lag": "Baza de date a fost închisă automatic în timp ce serverele secundare ale bazei de date îl urmează pe cel principal.",
        "internalerror": "Eroare internă",
        "internalerror_info": "Eroare internă: $1",
+       "internalerror-fatal-exception": "Excepție fatală pentru tipul „$1”",
        "filecopyerror": "Fișierul \"$1\" nu a putut fi copiat la \"$2\".",
        "filerenameerror": "Fișierul \"$1\" nu a putut fi mutat la \"$2\".",
        "filedeleteerror": "Fișierul \"$1\" nu a putut fi șters.",
        "thumbnail_image-missing": "Fișierul următor nu poate fi găsit: $1",
        "thumbnail_image-failure-limit": "Recent au existat prea multe încercări nereușite ($1 sau mai multe) pentru a randa această miniatură. Încercați din nou mai târziu.",
        "import": "Importare pagini",
-       "importinterwiki": "Import transwiki",
-       "import-interwiki-text": "Selectează un wiki și titlul paginii care trebuie importate. Datele reviziilor și numele editorilor vor fi salvate. Toate acțiunile de import transwiki pot fi găsite la [[Special:Log/import|log import]]",
+       "importinterwiki": "Importare din alt wiki",
+       "import-interwiki-text": "Selectați un wiki și titlul paginii care trebuie importate.\nData și ora versiunilor, precum și numele editorilor vor fi păstrate.\nToate acțiunile de importare din alte wikiuri se găsesc în [[Special:Log/import|jurnalul de importare]].",
        "import-interwiki-sourcewiki": "Wikiul sursă:",
        "import-interwiki-sourcepage": "Pagina sursă:",
        "import-interwiki-history": "Copiază toate versiunile istoricului acestei pagini",
        "importcantopen": "Fișierul importat nu a putut fi deschis",
        "importbadinterwiki": "Legătură interwiki greșită",
        "importsuccess": "Import reușit!",
-       "importnosources": "Nici o sursă de import transwiki a fost definită și încărcările directe ale istoricului sunt oprite.",
+       "importnosources": "Nu a fost definită nici o sursă de import din alt wiki; încărcarea directă a istoricului este dezactivată.",
        "importnofile": "Nici un fișier pentru import nu a fost încărcat.",
        "importuploaderrorsize": "Încărcarea fișierului a eșuat.\nFișierul are o mărime mai mare decât limita de încărcare permisă.",
        "importuploaderrorpartial": "Încărcarea fișierului a eșuat.\nFișierul a fost incărcat parțial.",
index 876012d..4f2382a 100644 (file)
        "version-parser-function-hooks": "Funziune hook de l'analizzatore",
        "version-hook-name": "Nome de l'hook",
        "version-hook-subscribedby": "Sottoscritte da",
-       "version-version": "(Versione $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[nisciune nome]",
        "version-svn-revision": "(r$2)",
        "version-license": "Licenze",
index d2106c1..448959f 100644 (file)
        "readonly_lag": "База данных автоматически заблокирована от изменений на время, пока вторичные сервера базы данных не синхронизируются с первичным.",
        "internalerror": "Внутренняя ошибка",
        "internalerror_info": "Внутренняя ошибка: $1",
+       "internalerror-fatal-exception": "Неустранимое исключение типа «$1»",
        "filecopyerror": "Невозможно скопировать файл «$1» в «$2».",
        "filerenameerror": "Невозможно переименовать файл «$1» в «$2».",
        "filedeleteerror": "Невозможно удалить файл «$1».",
        "thumbnail_image-missing": "По-видимому, отсутствует файл $1",
        "thumbnail_image-failure-limit": "Было сделано слишком много неудачных попыток ($1 или больше) формирования этого эскиза. Пожалуйста, повторите попытку позже.",
        "import": "Импортирование страниц",
-       "importinterwiki": "Ð\9cежвики Ð¸Ð¼Ð¿Ð¾Ñ\80Ñ\82",
-       "import-interwiki-text": "УкажиÑ\82е Ð²Ð¸ÐºÐ¸ Ð¸ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ð¸Ð¼Ð¿Ð¾Ñ\80Ñ\82иÑ\80Ñ\83емой Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\8b.\nÐ\94аÑ\82Ñ\8b Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ Ð¸ Ð¸Ð¼ÐµÐ½Ð° Ð°Ð²Ñ\82оÑ\80ов Ð±Ñ\83дÑ\83Ñ\82 Ñ\81оÑ\85Ñ\80аненÑ\8b.\nÐ\92Ñ\81е Ð¾Ð¿ÐµÑ\80аÑ\86ии Ð¼ÐµÐ¶Ð²Ð¸ÐºÐ¸ Ð¸Ð¼Ð¿Ð¾Ñ\80Ñ\82а Ñ\80егиÑ\81Ñ\82Ñ\80иÑ\80Ñ\83Ñ\8eÑ\82Ñ\81Ñ\8f Ð² [[Special:Log/import|Ñ\81ооÑ\82веÑ\82Ñ\81Ñ\82вÑ\83Ñ\8eÑ\89ем Ð¶Ñ\83Ñ\80нале]].",
+       "importinterwiki": "Ð\98мпоÑ\80Ñ\82 Ð¸Ð· Ð´Ñ\80Ñ\83гой Ð²Ð¸ÐºÐ¸",
+       "import-interwiki-text": "УкажиÑ\82е Ð²Ð¸ÐºÐ¸ Ð¸ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ Ð¸Ð¼Ð¿Ð¾Ñ\80Ñ\82иÑ\80Ñ\83емой Ñ\81Ñ\82Ñ\80аниÑ\86Ñ\8b.\nÐ\94аÑ\82Ñ\8b Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ Ð¸ Ð¸Ð¼ÐµÐ½Ð° Ð°Ð²Ñ\82оÑ\80ов Ð±Ñ\83дÑ\83Ñ\82 Ñ\81оÑ\85Ñ\80аненÑ\8b.\nÐ\92Ñ\81е Ð¾Ð¿ÐµÑ\80аÑ\86ии Ð¸Ð¼Ð¿Ð¾Ñ\80Ñ\82а Ð¸Ð· Ð´Ñ\80Ñ\83гиÑ\85 Ð²Ð¸ÐºÐ¸ Ñ\80егиÑ\81Ñ\82Ñ\80иÑ\80Ñ\83Ñ\8eÑ\82Ñ\81Ñ\8f Ð² [[Special:Log/import|жÑ\83Ñ\80нале Ð¸Ð¼Ð¿Ð¾Ñ\80Ñ\82а]].",
        "import-interwiki-sourcewiki": "Исходный вики-проект:",
        "import-interwiki-sourcepage": "Исходная страница:",
        "import-interwiki-history": "Копировать всю историю изменений этой страницы",
        "importcantopen": "Невозможно открыть импортируемый файл",
        "importbadinterwiki": "Неправильная интервики-ссылка",
        "importsuccess": "Импортирование выполнено!",
-       "importnosources": "Не был выбран источник межвики-импорта, прямая загрузка истории изменений отключена.",
+       "importnosources": "Не была выбрана вики, из которой должен быть произведён импорт, и прямая загрузка истории изменений отключена.",
        "importnofile": "Файл для импорта не был загружен.",
        "importuploaderrorsize": "Не удалось загрузить или импортировать файл. Размер файла превышает установленный предел.",
        "importuploaderrorpartial": "Не удалось загрузить или импортировать файл. Он был загружен лишь частично.",
        "version-parser-function-hooks": "Перехватчики функций синтаксического анализатора",
        "version-hook-name": "Имя перехватчика",
        "version-hook-subscribedby": "Подписан на",
-       "version-version": "(Версия $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[без названия]",
        "version-license": "Лицензия MediaWiki",
        "version-ext-license": "Лицензия",
        "tags-activate": "активировать",
        "tags-deactivate": "отключить",
        "tags-hitcount": "$1 {{PLURAL:$1|изменение|изменения|изменений}}",
+       "tags-manage-no-permission": "У вас нет прав на управление изменениями меток.",
        "tags-create-heading": "Создать новую метку",
+       "tags-create-explanation": "Вновь созданные метки по умолчанию будут созданы доступными для использования участниками и ботами.",
        "tags-create-tag-name": "Название метки:",
        "tags-create-reason": "Причина:",
        "tags-create-submit": "Создать",
        "tags-create-no-name": "Вы должны указать имя метки.",
+       "tags-create-invalid-chars": "Имена меток не должны содержать запятые (<code>,</code>) или символы косой черты (<code>/</code>).",
+       "tags-create-invalid-title-chars": "Имена меток не должны содержать символы, которые не могут быть использованы в заголовках страниц.",
        "tags-create-already-exists": "Метка «$1» уже существует.",
+       "tags-create-warnings-above": "При попытке создать метку «$1» обнаружен{{PLURAL:$2|о следующее предупреждение|ы следующие предупреждения}}:",
        "tags-create-warnings-below": "Вы хотите продолжить создание метки?",
        "tags-delete-title": "Удалить метку",
        "tags-delete-explanation-initial": "Вы собираетесь удалить метку «$1» из базы данных.",
        "tags-delete-reason": "Причина:",
+       "tags-delete-not-found": "Метка «$1» не существует.",
        "tags-activate-title": "Активировать метку",
        "tags-activate-question": "Вы собираетесь активировать метку «$1».",
        "tags-activate-reason": "Причина:",
        "tags-activate-not-found": "Метка «$1» не существует.",
        "tags-activate-submit": "Активировать",
        "tags-deactivate-title": "Отключить метку",
+       "tags-deactivate-question": "Вы собираетесь отключить метку «$1».",
        "tags-deactivate-reason": "Причина:",
+       "tags-deactivate-not-allowed": "Невозможно отключить метку «$1».",
        "tags-deactivate-submit": "Отключить",
        "comparepages": "Сравнение страниц",
        "compare-page1": "Первая страница",
        "revdelete-uname-unhid": "имя участника раскрыто",
        "revdelete-restricted": "ограничения применяются к администраторам",
        "revdelete-unrestricted": "ограничения сняты для администраторов",
+       "logentry-block-block": "$1 заблокировал{{GENDER:$2||а}} {{GENDER:$4|$3}} до $5 $6",
+       "logentry-block-unblock": "$1 разблокировал{{GENDER:$2||а}} {{GENDER:$4|$3}}",
        "logentry-merge-merge": "$1 объедининил{{GENDER:$2||а}} $3 в $4 (версии до $5)",
        "logentry-move-move": "$1 {{GENDER:$2|переименовал|переименовала}} страницу $3 в $4",
        "logentry-move-move-noredirect": "$1 {{GENDER:$2|переименовал|переименовала}} страницу $3 в $4 без оставления перенаправления",
        "json-error-utf8": "Некорректные символы UTF-8, возможно, неверная кодировка",
        "json-error-recursion": "Должны быть закодированы одна или несколько рекурсивных ссылок в значении",
        "json-error-inf-or-nan": "Должны быть закодированы одно или несколько NAN- или INF-значений",
-       "json-error-unsupported-type": "Было указано значение типа, который не может быть закодирован"
+       "json-error-unsupported-type": "Было указано значение типа, который не может быть закодирован",
+       "headline-anchor-title": "Ссылка на этот раздел"
 }
index 52949b0..a538c1a 100644 (file)
@@ -8,7 +8,8 @@
                        "Nemo bis",
                        "Reedy",
                        "Tkalyn",
-                       "아라"
+                       "아라",
+                       "Dicto23456"
                ]
        },
        "tog-underline": "Підкреслёвати одказы:",
        "otherlanguages": "Іншыма языками",
        "redirectedfrom": "(Напрямленый з $1)",
        "redirectpagesub": "Сторінка-напрямлїня",
+       "redirectto": "Напрямлїня на:",
        "lastmodifiedat": "Послїдня зміна той сторінкы: $2, $1.",
        "viewcount": "Сторінка была зображена  {{PLURAL:$1|раз|$1разы|$1раз}}.",
        "protectedpage": "Замкнута сторінка",
        "version-parser-function-hooks": "Функціа парсера",
        "version-hook-name": "Назва припойного пункту",
        "version-hook-subscribedby": "Підписаный на",
-       "version-version": "(Верзія $1)",
+       "version-version": "($1)",
        "version-license": "Ліценція",
        "version-ext-license": "Ліценція",
        "version-ext-colheader-name": "Росшырїня",
index e830e18..f2ad2ad 100644 (file)
        "version-parser-function-hooks": "विन्यासकलापस्य आलम्बाः ।",
        "version-hook-name": "आलम्बस्य नाम ।",
        "version-hook-subscribedby": "सदस्यत्वम् अनेन प्राप्तम् ।",
-       "version-version": "(आवृत्तिः$1)",
+       "version-version": "($1)",
        "version-license": "अनुज्ञापत्रम्",
        "version-poweredby-credits": "इयं विकिः अनेन सञ्चालिता '''[https://www.mediawiki.org/ MediaWiki]''', स्वामित्वम् © 2001 - $1  $2 ।",
        "version-poweredby-others": "अन्य",
index d43ca7d..c1c1c47 100644 (file)
        "version-parser-function-hooks": "Синтаксииһы анаалыстыыр тэрил функциятын перехватчиктара",
        "version-hook-name": "Перехватчик аата",
        "version-hook-subscribedby": "Суруттарыыта:",
-       "version-version": "(Торум $1)",
+       "version-version": "($1)",
        "version-license": "MediaWiki лиссиэнсийэтэ",
        "version-ext-license": "Лиссиэнсийэ",
        "version-ext-colheader-name": "Кэтирэтии",
index 3c5c6fe..323650e 100644 (file)
        "version": "Versione",
        "version-specialpages": "Pàginas ispetziales",
        "version-other": "Àteru",
-       "version-version": "(Versione $1)",
+       "version-version": "($1)",
        "version-license": "Licèntzia MediaWiki",
        "version-ext-license": "Licèntzia",
        "version-ext-colheader-version": "Versione",
index 8401963..da3ecf5 100644 (file)
        "uploaderror": "Erruri ntô carricamentu",
        "upload-recreate-warning": "<strong>Accura: Nu file cu' ddu nomu fu' cancillatu o spustatu.</strong>\n\nPi' cummudità ccassutta cci su' li riggistra dî cancillazzioni e dî spustamenti di sta pàggina:",
        "uploadtext": "Usa lu mòdulu ccà sutta pi carricari file novi. Pi vìdiri o circari li file già carricati, talìa lu [[Special:FileList|log dî file carricati]]. Carricamenti di file e di virsioni novi di file sunnu riggistrati ntô [[Special:Log/upload|log di l'upload]], li cancillazzioni di file sunnu\nriggistrati [[Special:Log/delete|ccà]].\n\nPi nziriri nu file nta na pàggina, fai nu lijami accussì:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' p'usari la virsioni ntera dû file\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|testu altirnativu]]</nowiki></code>''' p'usari na virsioni làrica 200 pixel nziruta nta nu box, alliniata a manu manca e cu 'testu altirnativu' comu didascalìa\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' pi culligari direttamenti a lu file senza vidìrilu.",
-       "upload-permitted": "Tipi di file cunsintuti: $1.",
-       "upload-preferred": "Tipi di file cunsigghiati: $1.",
-       "upload-prohibited": "Tipi di file prüibbiti: $1.",
+       "upload-permitted": "{{PLURAL:$2|Tipu|tipi}} di file {{PLURAL:$2|cunsintutu|cunsintuti}}: $1.",
+       "upload-preferred": "{{PLURAL:$2|Tipu|tipi}} di file {{PLURAL:$2|cunsigghiatu|cunsigghiati}}: $1.",
+       "upload-prohibited": "{{PLURAL:$2|Tipu|tipi}} di file {{PLURAL:$2|prüibbutu|prüibbuti}}: $1.",
        "uploadlogpage": "Riggistru dî file carricati",
        "uploadlogpagetext": "Ccà sutta cc'è la lista di l'ùrtimi file carricati.\nTalìa la [[Special:NewFiles|gallarìa dî file novi]] pûn risucuntu cchiu' visuali.",
        "filename": "Nomu dû file",
        "thumbnail_image-missing": "Pari èssiri mancanti lu file: $1",
        "thumbnail_image-failure-limit": "Cc'hannu statu troppu tintativi ($1 o cchiu' ssai) di ginirari sta miniatura. Pi' favuri prova n'autra vota cchiu' tardu.",
        "import": "Mporta pàggini",
-       "importinterwiki": "Mpurtazzioni transwiki",
-       "import-interwiki-text": "Silizziunari un pruggettu wiki e lu tìtulu dâ pàggina a mpurtari. Li dati di pubbricazzioni e li noma di l'autura dî vari virsioni sunnu sarvati. Tutti l'opirazzioni di mpurtazzioni trans-wiki sunnu riggistrati ntô [[Special:Log/import|log di mpurtazzioni]].",
+       "importinterwiki": "Mpurtazzioni di n'autra wiki",
+       "import-interwiki-text": "Silizziunari na wiki e lu tìtulu di na pàggina a' mpurtari.\nLi dati dî virsioni e li nomi di l'autura sarannu mantinuti.\nTutti li mpurtazzioni di autri wiki vènunu riggistrati ntô [[Special:Log/import|riggistru dî mpurtazzioni]].",
        "import-interwiki-sourcewiki": "Wiki surgenti:",
        "import-interwiki-sourcepage": "Pàggina surgenti:",
        "import-interwiki-history": "Copia la ntera cronoluggìa di sta pàggina",
        "importcantopen": "Mpussìbbili grapiri lu file di mpurtazzioni",
        "importbadinterwiki": "Culligamentu inter-wiki erratu",
        "importsuccess": "Mpurtazzioni arrinisciuta.",
-       "importnosources": "Nun hà statu difinita na fonti pi la mpurtazzioni transwiki; la mpurtazzioni diretta dâ cronoluggìa nun Ã¨ attiva.",
+       "importnosources": "Nun hâ statu difinuta nudda wiki d'unni mpurtari e li carricamenti diretti dâ cronuluggìa sunnu disattivati.",
        "importnofile": "Nun hà statu carrcatu nuddu file pi la mpurtazzioni.",
        "importuploaderrorsize": "Caricamentu dû file pi la mpurtazzioni non arrinisciutu. Lu file è cchiù granni di li diminzioni màssimi cunzentiti pi l'upload.",
        "importuploaderrorpartial": "Caricamentu dû file pi la mpurtazzioni non arrinisciutu. Sulamenti na parti dû file vinni caricatu.",
        "version-parser-function-hooks": "Hook pi funzioni dû parser",
        "version-hook-name": "Nomu di l'hook",
        "version-hook-subscribedby": "Suttascrizzioni",
-       "version-version": "(Virsioni $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[nuddu nomu]",
        "version-license": "Licenza di MediaWiki",
        "version-ext-license": "Licenza",
index 50073d8..afb83b9 100644 (file)
        "delete-toobig": "Ova stranica ima veliku historiju promjena, preko $1 {{PLURAL:$1|revizije|revizija}}.\nBrisanje takvih stranica nije dopušteno da bi se spriječilo slučajno preopterećenje servera na kojem je {{SITENAME}}.",
        "delete-warning-toobig": "Ova stranica ima veliku historiju izmjena, preko $1 {{PLURAL:$1|izmjene|izmjena}}.\nNjeno brisanje može dovesti do opterećenja operacione baze na {{SITENAME}};\nnastavite s oprezom.",
        "rollback": "Vrati izmjene",
-       "rollback_short": "Vrati",
        "rollbacklink": "vrati",
        "rollbacklinkcount": "vrati $1 {{PLURAL:$1|izmjenu|izmjene|izmjena}}",
        "rollbacklinkcount-morethan": "vrati više od $1 {{PLURAL:$1|izmjene|izmjene|izmjena}}",
        "version-parser-function-hooks": "Kuke parserske funkcije",
        "version-hook-name": "Naziv kuke",
        "version-hook-subscribedby": "Pretplaćeno od",
-       "version-version": "(Verzija $1)",
+       "version-version": "($1)",
        "version-license": "Licenca",
        "version-poweredby-credits": "Ova wiki je zasnovana na '''[https://www.mediawiki.org/ MediaWiki]''', autorska prava zadržana © 2001-$1 $2.",
        "version-poweredby-others": "ostali",
index fb15742..5d76707 100644 (file)
        "version-parser-function-hooks": "වයාකරණ විග්‍රහක ශ්‍රිත හසුරු",
        "version-hook-name": "හසුරු නම",
        "version-hook-subscribedby": "දායකවී ඇත්තේ",
-       "version-version": "(අනුවාදය $1)",
+       "version-version": "($1)",
        "version-license": "වරපත",
        "version-poweredby-credits": "මෙම විකිය '''[https://www.mediawiki.org/ MediaWiki]''' මගින් බලගන්වා ඇත, copyright © 2001-$1 $2.",
        "version-poweredby-others": "අනෙකුත්",
index 13e3d1b..0f10fe1 100644 (file)
        "delete-toobig": "Táto stránka má veľkú históriu úprav, viac ako $1 {{PLURAL:$1|revíziu|revízie|revízií}}. Mazanie takýchto stránok bolo obmedzené, aby sa zabránilo náhodnému poškodeniu {{GRAMMAR:genitív|{{SITENAME}}}}.",
        "delete-warning-toobig": "Táto stránka má veľkú históriu úprav, viac ako $1 {{PLURAL:$1|revíziu|revízie|revízií}}. Jej zmazanie by mohlo narušiť databázové operácie {{GRAMMAR:genitív|{{SITENAME}}}}; postupujte opatrne.",
        "rollback": "Vrátiť späť úpravy",
-       "rollback_short": "Vrátiť",
        "rollbacklink": "vrátiť",
        "rollbacklinkcount": "vrátenie $1 {{PLURAL:$1|úpravy|úprav}}",
        "rollbacklinkcount-morethan": "vrátiť viac ako $1 {{PLURAL:$1|úpravu|úprav}}",
        "import-logentry-interwiki": "Transwiki import $1 úspešný",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$1|revízia|revízie|revízií}} z $2",
        "javascripttest": "Testovanie JavaScriptu",
-       "javascripttest-title": "Beží $1 testov",
        "javascripttest-pagetext-noframework": "Táto stránka je vyhradená pre testy JavaScriptu.",
        "javascripttest-pagetext-unknownframework": "Neznáma testovacia platfoma „$1“.",
        "javascripttest-pagetext-frameworks": "Prosím vyberte jednu z nasledovných testovacích platforiem: $1",
        "javascripttest-pagetext-skins": "Vyberte tému vzhľadu, na ktorej chcete spustiť testy:",
        "javascripttest-qunit-intro": "Pozri [$1 dokumentácia testovania] na mediawiki.org.",
-       "javascripttest-qunit-heading": "Testovacia sada QUnit JavaScriptu MediaWiki",
        "tooltip-pt-userpage": "Vaša používateľská stránka",
        "tooltip-pt-anonuserpage": "Používateľská stránka pre ip adresu, ktorú upravujete ako",
        "tooltip-pt-mytalk": "Vaša diskusná stránka",
        "version-parser-function-hooks": "Prípojné body funkcií syntaktického analyzátora",
        "version-hook-name": "Názov prípojného bodu",
        "version-hook-subscribedby": "Pripojené",
-       "version-version": "(Verzia $1)",
+       "version-version": "($1)",
        "version-license": "Licencia",
        "version-ext-license": "Licencia",
        "version-ext-colheader-name": "Rozšírenie",
index 8f5acaa..f4c851f 100644 (file)
        "readonly_lag": "Podatkovna zbirka se je samodejno zaklenila, dokler se podrejeni strežniki ne uskladijo z glavnim.",
        "internalerror": "Notranja napaka",
        "internalerror_info": "Notranja napaka: $1",
+       "internalerror-fatal-exception": "Usodna izjema vrste »$1«",
        "filecopyerror": "Datoteke »$1« ni mogoče prepisati v »$2«.",
        "filerenameerror": "Datoteke »$1« ni mogoče preimenovati v »$2«.",
        "filedeleteerror": "Datoteke »$1« ni mogoče izbrisati.",
        "right-override-export-depth": "Izvoz strani, vključno s povezaimi straneh do globine 5",
        "right-sendemail": "Pošiljanje e-pošte drugim uporabnikom",
        "right-passwordreset": "Ogled e-pošt ponastavitve gesel",
+       "right-managechangetags": "Ustvarjanje in brisanje [[Special:Tags|oznak]] iz zbirke podatkov",
        "newuserlogpage": "Dnevnik registracij uporabnikov",
        "newuserlogpagetext": "Prikazan je dnevnik nedavnih registracij novih uporabnikov.",
        "rightslog": "Dnevnik uporabniških pravic",
        "action-viewmyprivateinfo": "ogled svojih zasebnih informacij",
        "action-editmyprivateinfo": "urejanje svojih zasebnih informacij",
        "action-editcontentmodel": "urejanje vsebinskega modela strani",
+       "action-managechangetags": "ustvarjanje in brisanje oznak iz zbirke podatkov",
        "nchanges": "$1 {{PLURAL:$1|sprememba|spremembi|spremembe|sprememb|sprememb}}",
        "enhancedrc-since-last-visit": "$1 {{PLURAL:$1|od zadnjega obiska}}",
        "enhancedrc-history": "zgodovina",
        "unusedimages": "Osirotele datoteke",
        "wantedcategories": "Želene kategorije",
        "wantedpages": "Želene strani",
+       "wantedpages-summary": "Seznam neobstoječih strani z največ povezavami, ki kažejo na njih, izključujoč preusmeritve. Za seznam neobstoječih strani, ki so ciljne strani preusmeritev, glejte [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Neveljaven naslov v končnem nizu: $1",
        "wantedfiles": "Želene datoteke",
        "wantedfiletext-cat": "Naslednje datoteke so uporabljene, vendar ne obstajajo. Navedene so morda tudi datoteke iz zunanjih hramb, čeprav obstajajo. Vsi takšni lažni pozitivi bodo <del>prečrtani</del>. Poleg tega so strani, ki vključujejo neobstoječe datoteke, navedene na [[:$1]].",
        "thumbnail_image-missing": "Kaže, da datoteka manjka: $1",
        "thumbnail_image-failure-limit": "Nedavno je bilo preveč spodletelih poskusov ($1 ali več) izdelave sličice. Prosimo, poskusite znova pozneje.",
        "import": "Uvoz strani",
-       "importinterwiki": "Uvoz transwiki",
-       "import-interwiki-text": "Izberite wiki in naslov strani za uvoz.\nDatumi in imena urejevalcev redakcij bodo ohranjena.\nVsi uvozi med wikiji so zabeleženi v [[Special:Log/import|dnevniku uvozov]].",
+       "importinterwiki": "Uvoz z drugega wikija",
+       "import-interwiki-text": "Izberite wiki in naslov strani za uvoz.\nDatumi in imena urejevalcev redakcij bodo ohranjena.\nVsi uvozi z drugih wikijev so zabeleženi v [[Special:Log/import|dnevniku uvozov]].",
        "import-interwiki-sourcewiki": "Izvorni wiki:",
        "import-interwiki-sourcepage": "Izvorna stran:",
        "import-interwiki-history": "Kopiraj vse dosedanje redakcije te strani",
        "importcantopen": "Neuspešno odpiranje uvožene datoteke",
        "importbadinterwiki": "Slaba jezikovna povezava",
        "importsuccess": "Uspešno uvoženo!",
-       "importnosources": "Na tem wikiju je ta možnost onemogočena.",
+       "importnosources": "Naveden ni noben wiki za uvažanje in neposredno nalaganje zgodovine je onemogočeno.",
        "importnofile": "Uvožena ni bila nobena datoteka.",
        "importuploaderrorsize": "Nalaganje datoteke za uvoz ni uspelo.\nDatoteka je večja od dovoljene velikosti nalaganja.",
        "importuploaderrorpartial": "Nalaganje datoteke za uvoz ni uspelo.\nDatoteka je bila prenesena samo delno.",
        "version-parser-function-hooks": "Funkcije razširitev razčlenjevalnika",
        "version-hook-name": "Ime razširitve",
        "version-hook-subscribedby": "Naročen s strani",
-       "version-version": "(Različica $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[brez imena]",
        "version-license": "Dovoljenje MediaWiki",
        "version-ext-license": "Dovoljenje",
        "tags-tag": "Ime oznake",
        "tags-display-header": "Prikaz na seznamu sprememb",
        "tags-description-header": "Polni opis pomena",
+       "tags-source-header": "Vir",
        "tags-active-header": "Dejavno?",
        "tags-hitcount-header": "Etiketirane spremembe",
+       "tags-actions-header": "Dejanja",
        "tags-active-yes": "Da",
        "tags-active-no": "Ne",
+       "tags-source-extension": "Opredeljuje jo razširitev",
+       "tags-source-manual": "Ročno jo uporabljajo uporabniki in boti",
+       "tags-source-none": "Se ne uporablja več",
        "tags-edit": "uredi",
+       "tags-delete": "izbriši",
+       "tags-activate": "aktiviraj",
+       "tags-deactivate": "dezaktiviraj",
        "tags-hitcount": "$1 {{PLURAL:$1|sprememba|spremembi|spremembe|sprememb|sprememb}}",
+       "tags-manage-no-permission": "Nimate dovoljenja za upravljanje z oznakami sprememb.",
+       "tags-create-heading": "Ustvari novo oznako",
+       "tags-create-explanation": "Privzeto bodo novo ustvarjene oznake na voljo uporabnikom in botom.",
+       "tags-create-tag-name": "Ime oznake:",
+       "tags-create-reason": "Razlog:",
+       "tags-create-submit": "Ustvari",
+       "tags-create-no-name": "Določiti morate ime oznake.",
+       "tags-create-invalid-chars": "Imena oznak ne smejo vsebovati vejic (<code>,</code>) ali desnih poševnic (<code>/</code>).",
+       "tags-create-invalid-title-chars": "Imena oznak ne smejo vsebovati znakov, ki jih ni mogoče uporabiti v naslovih strani.",
+       "tags-create-already-exists": "Oznaka »$1« že obstaja.",
+       "tags-create-warnings-above": "Pri poskusu ustvarjanja oznake »$1« smo naleteli na {{PLURAL:$2|naslednje opozorilo|naslednji opozorili|naslednja opozorila}}:",
+       "tags-create-warnings-below": "Želite nadaljevati z ustvarjanjem oznake?",
+       "tags-delete-title": "Izbriši oznako",
+       "tags-delete-explanation-initial": "Nameravate izbrisati oznako »$1« iz zbirke podatkov.",
+       "tags-delete-explanation-in-use": "Odstranjena bo iz {{PLURAL:$2|$2 redakcije ali dnevniškega vnosa|vseh $2 redakcij in/ali dnevniških vnosov}}, ki jo trenutno uporabljajo.",
+       "tags-delete-explanation-warning": "Dejanje je <strong>nepovratno</strong> in <strong>ga ni mogoče razveljaviti</strong>; tega ne morejo storiti niti upravljavci zbirke podatkov. Prepričajte se, da oznako zares želite izbrisati.",
+       "tags-delete-explanation-active": "<strong>Oznaka »$1« je že vedno aktivna in bo uporabljana tudi v bodoče.</strong> Da to preprečite, pojdite na mesto, kjer je oznaka določena za uporabo, in jo tam onemogočite.",
+       "tags-delete-reason": "Razlog:",
+       "tags-delete-submit": "Nepovratno izbriši oznako",
+       "tags-delete-not-allowed": "Oznak, ki jih določijo razširitve, ni mogoče izbrisati, razen če razširitve to izrecno dovolijo.",
+       "tags-delete-not-found": "Oznaka »$1« ne obstaja.",
+       "tags-delete-too-many-uses": "Oznaka »$1« je uporabljena pri več kot $2 {{PLURAL:$2|redakciji|redakcijah}}, kar pomeni, da je ni mogoče izbrisati.",
+       "tags-delete-warnings-after-delete": "Oznako »$1« smo uspešno izbrisali, vendar smo naleteli na {{PLURAL:$2|naslednjo težavo|naslednji težavi|naslednje težave}}:",
+       "tags-activate-title": "Aktiviraj oznako",
+       "tags-activate-question": "Aktivirali boste oznako »$1«.",
+       "tags-activate-reason": "Razlog:",
+       "tags-activate-not-allowed": "Oznake »$1« ni možno aktivirati.",
+       "tags-activate-not-found": "Oznaka »$1« ne obstaja.",
+       "tags-activate-submit": "Aktiviraj",
+       "tags-deactivate-title": "Dezaktiviraj oznako",
+       "tags-deactivate-question": "Dezaktivirali boste oznako »$1«.",
+       "tags-deactivate-reason": "Razlog:",
+       "tags-deactivate-not-allowed": "Oznake »$1« ni možno dezaktivirati.",
+       "tags-deactivate-submit": "Dezaktiviraj",
        "comparepages": "Primerjaj strani",
        "compare-page1": "Stran 1",
        "compare-page2": "Stran 2",
        "revdelete-uname-unhid": "uporabniško ime je ponovno prikazano",
        "revdelete-restricted": "uveljavljene omejitve administratorjev",
        "revdelete-unrestricted": "odstranjene omejitve administratorjev",
+       "logentry-block-block": "$1 je {{GENDER:$2|blokiral|blokirala|blokiral(-a)}} {{GENDER:$4|$3}} s časom poteka $5 $6",
+       "logentry-block-unblock": "$1 je {{GENDER:$2|odblokiral|odblokirala|odblokiral(-a)}} {{GENDER:$4|$3}}",
+       "logentry-block-reblock": "$1 je {{GENDER:$2|spremenil|spremenila|spremenil(-a)}} nastavitve blokade za {{GENDER:$4|$3}} s časomspremenil poteka $5 $6",
+       "logentry-suppress-block": "$1 je {{GENDER:$2|blokiral|blokirala|blokiral(-a)}} {{GENDER:$4|$3}} s časom poteka $5 $6",
+       "logentry-suppress-reblock": "$1 je {{GENDER:$2|spremenil|spremenila|spremenil(-a)}} nastavitve blokade za {{GENDER:$4|$3}} s časom poteka $5 $6",
        "logentry-merge-merge": "$1 je {{GENDER:$2|združil|združila|združil(-a)}} $3 z $4 (redakcije do $5)",
        "logentry-move-move": "$1 je {{GENDER:$2|premaknil|premaknila|premaknil(-a)}} stran $3 na $4",
        "logentry-move-move-noredirect": "$1 je {{GENDER:$2|prestavil|prestavila|prestavil(-a)}} stran $3 na $4 brez preusmeritve",
        "logentry-upload-upload": "$1 je {{GENDER:$2|naložil|naložila|naložil(-a)}} $3",
        "logentry-upload-overwrite": "$1 je {{GENDER:$2|naložil|naložila|naložil(-a)}} novo različico $3",
        "logentry-upload-revert": "$1 je {{GENDER:$2|naložil|naložila|naložil(-a)}} $3",
+       "log-name-managetags": "Dnevnik upravljanja oznak",
+       "log-description-managetags": "Stran navaja opravila upravljanja, povezana z [[Special:Tags|oznakami]]. Dnevnik vsebuje samo dejanja, ki so jih ročno izvedli administratorji; oznake je lahko ustvarilo ali izbrisalo tudi programje wiki brez zabeleženega vnosa v tem dnevniku.",
+       "logentry-managetags-create": "$1 je {{GENDER:$2|ustvaril|ustvarila|ustvaril(-a)}} oznako »$4«",
+       "logentry-managetags-delete": "$1 je {{GENDER:$2|izbrisal|izbrisala|izbrisal(-a)}} oznako »$4« (odstranjena iz $5 {{PLURAL:$5|redakcije ali dnevniškega vnosa|redakcij in/ali dnevniških vnosov}})",
+       "logentry-managetags-activate": "$1 je {{GENDER:$2|aktiviral|aktivirala|aktiviral(-a)}} oznako »$4« za uporabnike in bote",
+       "logentry-managetags-deactivate": "$1 je {{GENDER:$2|dezaktiviral|dezaktivirala|dezaktiviral(-a)}} oznako »$4« za uporabnike in bote",
        "rightsnone": "(nobeno)",
        "revdelete-summary": "povzetek urejanja",
        "feedback-bugornote": "Če ste pripravljeni podrobno opisati tehnično težavo, vložite [$1 poročilo o hrošču].\nV nasprotnem primeru lahko uporabite preprost obrazec spodaj. Vašo pripombo bomo dodali na stran »[$3 $2]«, skupaj z vašim uporabniškim imenom in podatkom o brskalniku, ki ga uporabljate.",
        "json-error-utf8": "Nepravilno oblikovani znaki UTF-8; morda so nepravilno zakodirani",
        "json-error-recursion": "En ali več rekurzivnih sklicev v vrednosti za zakodirati",
        "json-error-inf-or-nan": "Ena ali več vrednosti NAN ali INF v vrednosti za zakodirati",
-       "json-error-unsupported-type": "Podana je bila vrsta, ki je ni mogoče zakodirati"
+       "json-error-unsupported-type": "Podana je bila vrsta, ki je ni mogoče zakodirati",
+       "headline-anchor-title": "Povezava na razdelek"
 }
index c566705..9c1dc3a 100644 (file)
        "thu": "Enj",
        "fri": "Pr",
        "sat": "Sht",
-       "january": "Janar",
-       "february": "Shkurt",
-       "march": "Mars",
-       "april": "Prill",
+       "january": "janar",
+       "february": "shkurt",
+       "march": "mars",
+       "april": "prill",
        "may_long": "Maj",
-       "june": "Qershor",
-       "july": "Korrik",
-       "august": "Gusht",
-       "september": "Shtator",
-       "october": "Tetor",
-       "november": "Nëntor",
-       "december": "Dhjetor",
-       "january-gen": "Janar",
-       "february-gen": "Shkurt",
-       "march-gen": "Mars",
-       "april-gen": "Prill",
-       "may-gen": "Maj",
-       "june-gen": "Qershor",
+       "june": "qershor",
+       "july": "korrik",
+       "august": "gusht",
+       "september": "shtator",
+       "october": "tetor",
+       "november": "nëntor",
+       "december": "dhjetor",
+       "january-gen": "janar",
+       "february-gen": "shkurt",
+       "march-gen": "mars",
+       "april-gen": "prill",
+       "may-gen": "maj",
+       "june-gen": "qershor",
        "july-gen": "korrik",
-       "august-gen": "Gusht",
-       "september-gen": "Shtator",
-       "october-gen": "Tetor",
-       "november-gen": "Nëntor",
-       "december-gen": "Dhjetor",
+       "august-gen": "gusht",
+       "september-gen": "shtator",
+       "october-gen": "tetor",
+       "november-gen": "nëntor",
+       "december-gen": "dhjetor",
        "jan": "Jan",
        "feb": "Shku",
        "mar": "Mar",
        "apr": "Pri",
-       "may": "Maj",
+       "may": "maj",
        "jun": "Qer",
        "jul": "Korr",
        "aug": "Gush",
        "oct": "Tet",
        "nov": "Nën",
        "dec": "Dhje",
-       "january-date": "$1 Janar",
-       "february-date": "Shkurt, <span class=\"notranslate\" translate=\"asnjë\">$1</span>",
-       "march-date": "Mars <span class=\"notranslate\" translate=\"asnjë\">$1</span>",
-       "april-date": "Prill <span class=\"notranslate\" translate=\"asnjë\">$1</span>",
-       "may-date": "$1 Maj",
-       "june-date": "$1 Qershor",
-       "july-date": "$1 Korrik",
-       "august-date": "$1 Gusht",
-       "september-date": "$1 Shtator",
-       "october-date": "$1 Tetor",
-       "november-date": "$1 Nëntor",
-       "december-date": "$1 Dhjetor",
+       "january-date": "$1 janar",
+       "february-date": "$1 shkurt",
+       "march-date": "$1 mars",
+       "april-date": "$1 prill",
+       "may-date": "$1 maj",
+       "june-date": "$1 qershor",
+       "july-date": "$1 korrik",
+       "august-date": "$1 gusht",
+       "september-date": "$1 shtator",
+       "october-date": "$1 tetor",
+       "november-date": "$1 nëntor",
+       "december-date": "$1 dhjetor",
        "pagecategories": "{{PLURAL:$1|Kategoria|Kategoritë}}",
        "category_header": "Artikuj në kategorinë \"$1\"",
        "subcategories": "Nën-kategori",
        "delete-toobig": "Kjo faqe ka një historik të madh redaktimesh, më shumë se $1 {{PLURAL:$1|version|versione}}.\nGrisja e faqeve të tilla ka qenë kufizuar për të parandaluar përçarjen aksidentale të {{SITENAME}}.",
        "delete-warning-toobig": "Kjo faqe ka një historik të madh redaktimesh, më shumë se $1 {{PLURAL:$1|version|versione}}.\nGrisja e saj mund të ndërpresë operacionet e bazës së të dhënave të {{SITENAME}};\nvazhdoni me kujdes.",
        "rollback": "Riktheji mbrapsh redaktimet",
-       "rollback_short": "Riktheje",
        "rollbacklink": "riktheje",
        "rollbacklinkcount": "riktheni $1 {{PLURAL:$1|ndryshimin|ndryshiemt}}",
        "rollbacklinkcount-morethan": "riktheni më tepër $1 {{PLURAL:$1|ndryshim|ndryshime}}",
        "import-logentry-interwiki": "transwikoji $1",
        "import-logentry-interwiki-detail": "$1 {{PLURAL:$!1|version|versione}} nga $2",
        "javascripttest": "Duke testuar JavaScript",
-       "javascripttest-title": "Duke kryer testet $1",
        "javascripttest-pagetext-noframework": "Kjo faqe është rezervuar për kryerjen e testimeve JavaScript.",
        "javascripttest-pagetext-unknownframework": "Kornizë pune e panjohur testuese \"$1\".",
        "javascripttest-pagetext-frameworks": "Ju lutemi zgjidhni njërën nga kornizat vijuese punuese të testimit: $1",
        "javascripttest-pagetext-skins": "Zgjidhni një mostër për t'i kryer testimet:",
        "javascripttest-qunit-intro": "Shiko [$1 dokumentacionin e testimit] në mediawiki.org.",
-       "javascripttest-qunit-heading": "Platforma testuese JavaScript QUnit",
        "tooltip-pt-userpage": "Faqja juaj e përdoruesit",
        "tooltip-pt-anonuserpage": "Faqja e përdoruesve anonim nga kjo adresë IP",
        "tooltip-pt-mytalk": "Faqja juaj e diskutimeve",
        "version-parser-function-hooks": "Parser goditjet e funksionit",
        "version-hook-name": "Emri i goditjes",
        "version-hook-subscribedby": "Abonuar nga",
-       "version-version": "(Versioni $1)",
+       "version-version": "($1)",
        "version-license": "Licensa",
        "version-poweredby-credits": "Ky wiki është mundësuar nga '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "të tjerë",
index 9d2c85e..91605ac 100644 (file)
        "rev-suppressed-unhide-diff": "Једна од измена ове разлике је '''сакривена'''.\nДетаљи се налазе у [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} историји сакривања].\nИпак можете да [$1 видите ову разлику] ако желите да наставите.",
        "rev-deleted-diff-view": "Једна од измена ове разлике је '''обрисана'''.\nИпак можете да видите ову разлику; више детаља можете наћи у [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} историји брисања].",
        "rev-suppressed-diff-view": "Једна од измена ове разлике је '''сакривена'''.\nИпак можете да видите ову разлику; више детаља можете наћи у [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} историји сакривања].",
-       "rev-delundel": "пÑ\80икажи/Ñ\81акÑ\80иÑ\98",
+       "rev-delundel": "пÑ\80омени Ð²Ð¸Ð´Ñ\99ивоÑ\81Ñ\82",
        "rev-showdeleted": "прикажи",
        "revisiondelete": "Обриши/врати измене",
        "revdelete-nooldid-title": "Нема тражене измене",
        "uploaderror": "Грешка при отпремању",
        "upload-recreate-warning": "'''Упозорење: датотека с тим називом је обрисана или премештена.'''\n\nИсторија брисања и премештања се налази испод:",
        "uploadtext": "Користите образац испод да бисте отпремили датотеке.\nЗа преглед или претрагу постојећих датотека, погледајте [[Special:FileList|списак отпремљених датотека]], поновна отпремања су наведена у [[Special:Log/upload|дневнику отпремања]], а брисања у [[Special:Log/delete|дневнику брисања]].\n\nДатотеку додајете на жељену страницу користећи следеће обрасце:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Слика.jpg]]</nowiki></code>''' за верзију слике у пуној величини\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Слика.png|200п|мини|лево|опис]]</nowiki></code>''' за верзију слике с величином од 200 пиксела која је приказана у засебном оквиру, заједно с описом.\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Датотека.ogg]]</nowiki></code>''' за директно повезивање с датотеком без њеног приказивања",
-       "upload-permitted": "Дозвољени типови датотека: $1.",
-       "upload-preferred": "Препоручени типови датотека: $1.",
-       "upload-prohibited": "Забрањени типови датотека: $1.",
+       "upload-permitted": "Дозвољени {{PLURAL:$2|тип|типови}} датотека: $1.",
+       "upload-preferred": "Препоручени {{PLURAL:$2|тип|типови}} датотека: $1.",
+       "upload-prohibited": "Забрањени {{PLURAL:$2|тип|типови}} датотека: $1.",
        "uploadlogpage": "Дневник отпремања",
        "uploadlogpagetext": "Испод је списак скорашњих слања.\nПогледајте [[Special:NewFiles|галерију нових датотека]] за лепши преглед.",
        "filename": "Назив датотеке",
        "wantedtemplates": "Тражени шаблони",
        "mostlinked": "Странице с највише веза",
        "mostlinkedcategories": "Категорије с највише веза",
-       "mostlinkedtemplates": "Шаблони с највише веза",
+       "mostlinkedtemplates": "СÑ\82Ñ\80аниÑ\86е с највише веза",
        "mostcategories": "Странице с највише категорија",
        "mostimages": "Датотеке с највише веза",
        "mostinterwikis": "Странице са највише међувикија",
        "creditspage": "Аутори странице",
        "nocredits": "Не постоје подаци о аутору ове странице.",
        "spamprotectiontitle": "Филтер за заштиту од непожељних порука",
-       "spamprotectiontext": "СÑ\82Ñ\80аниÑ\86а ÐºÐ¾Ñ\98Ñ\83 Ð¶ÐµÐ»Ð¸Ñ\82е Ð´Ð° Ñ\81аÑ\87Ñ\83ваÑ\82е Ñ\98е Ð±Ð»Ð¾ÐºÐ¸Ñ\80ана Ð¾Ð´ Ñ\84илÑ\82еÑ\80а Ð¿Ñ\80оÑ\82ив Ð½ÐµÐ¿Ð¾Ð¶ÐµÑ\99ниÑ\85 Ð¿Ð¾Ñ\80Ñ\83ка.\nОво је вероватно изазвано везом до спољашњег сајта који се налази на црној листи.",
-       "spamprotectionmatch": "СледеÑ\9bи Ñ\82екÑ\81Ñ\82 Ñ\98е Ð¸Ð·Ð°Ð·Ð²ао наш филтер за нежељене поруке: $1",
+       "spamprotectiontext": "ФилÑ\82еÑ\80а Ð¿Ñ\80оÑ\82ив Ð½ÐµÐ¶ÐµÑ\99ениÑ\85 Ð¿Ð¾Ñ\80Ñ\83ка Ñ\98е Ð±Ð»Ð¾ÐºÐ¸Ñ\80ао Ñ\87Ñ\83ваÑ\9aе Ð¾Ð²Ðµ Ñ\81Ñ\82Ñ\80аниÑ\86е.\nОво је вероватно изазвано везом до спољашњег сајта који се налази на црној листи.",
+       "spamprotectionmatch": "СледеÑ\9bи Ñ\82екÑ\81Ñ\82 Ñ\98е Ð°ÐºÑ\82ивиÑ\80ао наш филтер за нежељене поруке: $1",
        "spambot_username": "Чишћење непожељних порука у Медијавикији",
        "spam_reverting": "Враћам на последњу измену која не садржи везе до $1",
        "spam_blanking": "Све измене садрже везе до $1. Чистим",
        "version-parser-function-hooks": "Куке",
        "version-hook-name": "Назив куке",
        "version-hook-subscribedby": "Пријављено од",
-       "version-version": "(издање $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[нема имена]",
        "version-svn-revision": "(изм. $2)",
        "version-license": "Медијавики лиценца",
        "tags-edit": "уреди",
        "tags-hitcount": "$1 {{PLURAL:$1|измена|измене|измена}}",
        "tags-create-heading": "Нова ознака",
+       "tags-create-reason": "Разлог:",
        "tags-create-already-exists": "Ознака „$1“ већ постоји.",
        "tags-create-warnings-below": "Правите нову ознаку, желите ли да наставите?",
        "tags-delete-title": "Брисање ознака",
        "tags-activate-not-allowed": "Није могуће активирати ознаку „$1“.",
        "tags-activate-not-found": "Ознака „$1“ не постоји.",
        "tags-deactivate-title": "Деактивирање ознака",
+       "tags-deactivate-reason": "Разлог:",
+       "tags-deactivate-not-allowed": "Није могуће деактивирати ознаку „$1“.",
        "comparepages": "Упоређивање страница",
        "compare-page1": "Страница 1",
        "compare-page2": "Страница 2",
        "revdelete-uname-unhid": "корисничко име је откривено",
        "revdelete-restricted": "примењена ограничења за администраторе",
        "revdelete-unrestricted": "уклоњена ограничења за администраторе",
+       "logentry-block-block": "$1 је {{GENDER:$2|блокирао|блокирала}} {{GENDER:$4|$3}} с роком истицања од $5 $6",
+       "logentry-block-unblock": "$1 је {{GENDER:$2|деблокирао|деблокирала}} {{GENDER:$4|$3}}",
+       "logentry-block-reblock": "$1  је {{GENDER:$2|променио|променила}} подешавања за блокирање {{GENDER:$4|корисника|кориснице}} {{GENDER:$4|$3}} с роком истицања од $5 $6",
+       "logentry-suppress-block": "$1 је {{GENDER:$2|блокирао|блокирала}} {{GENDER:$4|$3}} с роком истицања од $5 $6",
+       "logentry-suppress-reblock": "$1  је {{GENDER:$2|променио|променила}} подешавања за блокирање {{GENDER:$4|корисника|кориснице}} {{GENDER:$4|$3}} с роком истицања од $5 $6",
        "logentry-merge-merge": "$1 је {{GENDER:$2|спојио|спојила}} $3 у $4 (све до измене $5)",
        "logentry-move-move": "$1 је {{GENDER:$2|преместио|преместила}} страницу $3 на $4",
        "logentry-move-move-noredirect": "$1 је {{GENDER:$2|преместио|преместила}} страницу $3 на $4 без остављања преусмерења",
        "pagelang-select-lang": "Изабери језик",
        "right-pagelang": "мењање језика странице",
        "action-pagelang": "промену језика странице",
+       "logentry-pagelang-pagelang": "$1 је {{GENDER:$2|променио|променила}} језик странице $3 из $4 у $5.",
        "mediastatistics": "Статистика датотека",
        "mediastatistics-summary": "Статистике о типовима послатих датотека. Овде су урачунате само најновије верзије датотека. Старе или обрисане верзије нису урачунате.",
        "mediastatistics-table-mimetype": "MIME тип",
index d0342f1..ca523e9 100644 (file)
        "uploaderror": "Greška pri otpremanju",
        "upload-recreate-warning": "'''Upozorenje: datoteka s tim nazivom je obrisana ili premeštena.'''\n\nIstorija brisanja i premeštanja se nalazi ispod:",
        "uploadtext": "Koristite obrazac ispod da biste otpremili datoteke.\nZa pregled ili pretragu postojećih datoteka, pogledajte [[Special:FileList|spisak otpremljenih datoteka]], ponovna otpremanja su navedena u [[Special:Log/upload|dnevniku otpremanja]], a brisanja u [[Special:Log/delete|dnevniku brisanja]].\n\nDatoteku dodajete na željenu stranicu koristeći sledeće obrasce:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Slika.jpg]]</nowiki></code>''' za verziju slike u punoj veličini\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Slika.png|200p|mini|levo|opis]]</nowiki></code>''' za verziju slike s veličinom od 200 piksela koja je prikazana u zasebnom okviru, zajedno s opisom.\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Datoteka.ogg]]</nowiki></code>''' za direktno povezivanje s datotekom bez njenog prikazivanja",
-       "upload-permitted": "Dozvoljeni tipovi datoteka: $1.",
-       "upload-preferred": "Preporučeni tipovi datoteka: $1.",
-       "upload-prohibited": "Zabranjeni tipovi datoteka: $1.",
+       "upload-permitted": "Dozvoljeni {{PLURAL:$2|tip|tipovi}} datoteka: $1.",
+       "upload-preferred": "Preporučeni {{PLURAL:$2|tip|tipovi}} datoteka: $1.",
+       "upload-prohibited": "Zabranjeni {{PLURAL:$2|tip|tipovi}} datoteka: $1.",
        "uploadlogpage": "Dnevnik otpremanja",
        "uploadlogpagetext": "Ispod je spisak skorašnjih slanja.\nPogledajte [[Special:NewFiles|galeriju novih datoteka]] za lepši pregled.",
        "filename": "Naziv datoteke",
        "wantedtemplates": "Traženi šabloni",
        "mostlinked": "Stranice s najviše veza",
        "mostlinkedcategories": "Kategorije s najviše veza",
-       "mostlinkedtemplates": "Šabloni s najviše veza",
+       "mostlinkedtemplates": "Stranice s najviše veza",
        "mostcategories": "Stranice s najviše kategorija",
        "mostimages": "Datoteke s najviše veza",
        "mostinterwikis": "Stranice sa najviše međuvikija",
        "creditspage": "Autori stranice",
        "nocredits": "Ne postoje podaci o autoru ove stranice.",
        "spamprotectiontitle": "Filter za zaštitu od nepoželjnih poruka",
-       "spamprotectiontext": "Stranica koju želite da sačuvate je blokirana od filtera protiv nepoželjnih poruka.\nOvo je verovatno izazvano vezom do spoljašnjeg sajta koji se nalazi na crnoj listi.",
-       "spamprotectionmatch": "Sledeći tekst je izazvao naš filter za neželjene poruke: $1",
+       "spamprotectiontext": "Filtera protiv neželjenih poruka je blokirao čuvanje ove stranice.\nOvo je verovatno izazvano vezom do spoljašnjeg sajta koji se nalazi na crnoj listi.",
+       "spamprotectionmatch": "Sledeći tekst je aktivirao naš filter za neželjene poruke: $1",
        "spambot_username": "Čišćenje nepoželjnih poruka u Medijavikiji",
        "spam_reverting": "Vraćam na poslednju izmenu koja ne sadrži veze do $1",
        "spam_blanking": "Sve izmene sadrže veze do $1. Čistim",
        "version-parser-function-hooks": "Kuke",
        "version-hook-name": "Naziv kuke",
        "version-hook-subscribedby": "Prijavljeno od",
-       "version-version": "(izdanje $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[nema imena]",
        "version-svn-revision": "(izm. $2)",
        "version-license": "Medijaviki licenca",
index 5563bfd..2e483ca 100644 (file)
        "delete-toobig": "Disse Siede häd mäd moor as $1 {{PLURAL:$1|Version|Versionen}} ne gjucht loange Versionsgeskichte. Dät Läskjen fon sukke Sieden wuud ienskränkt, uum ne toufällige Uurlastenge fon {{SITENAME}} tou ferhinnerjen.",
        "delete-warning-toobig": "Disse Siede häd mäd moor as $1 {{PLURAL:$1|Version|Versione}} ne gjucht loange Versionsgeskichte. Dät Läskjen kon tou Stöörengen in {{SITENAME}} fiere.",
        "rollback": "Touräächsätten fon do Annerengen",
-       "rollback_short": "Touräächsätte",
        "rollbacklink": "touräächsätte",
        "rollbackfailed": "Touräächsätten misglukked",
        "cantrollback": "Disse Annerenge kon nit touräächstoald wäide; deer et naan fröieren Autor rakt.",
        "watchlisttools-view": "Beooboachtengslieste: Annerengen",
        "watchlisttools-edit": "normoal beoarbaidje",
        "watchlisttools-raw": "Liestenformoat beoarbaidje (Import/Export)",
-       "unknown_extension_tag": "Uunbekoanden Extension-Tag „$1“",
        "duplicate-defaultsort": "Paas ap: Die Sortierengskoai „$2“ uurskrift dän toufoarne ferwoanden Koai „$1“.",
        "version": "Version",
        "version-extensions": "Installierde Ärwiederengen",
        "version-parser-function-hooks": "Parser-Funktione",
        "version-hook-name": "Snitsteedennoome",
        "version-hook-subscribedby": "Aproup fon",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-license": "Lizenz",
        "version-poweredby-credits": "Disse Website nutset '''[https://www.mediawiki.org/wiki/MediaWiki/de MediaWiki]''', Copyright © 2001–$1 $2.",
        "version-poweredby-others": "uur",
        "specialpages-group-wiki": "Systemdoaten un Reewen",
        "specialpages-group-redirects": "Fäärelaitjende Spezioalsieden",
        "specialpages-group-spam": "Spam-Reewen",
+       "specialpages-group-developer": "Äntwiklerreewen",
        "blankpage": "Loose Siede",
        "intentionallyblankpage": "Disse Siede is apsichtelk sunner Inhoold. Ju wäd foar Benchmarks ferwoand.",
        "external_image_whitelist": "#Disse Riege nit ferannerje<pre>\n#Unnerstoundend konnen Fragmente fon reguläre Uutdrukke (die Deel twiske do //) ienroat wäide.\n#Disse wäide mäd do URLs fon Bielden uut externe Wällen ferglieked\n#N positiven Fergliek fiert tou Anwiesenge fon ju Bielde, uurs wäd ju Bielde bloot as Link anwiesd\n#Riegen, do der mäd n # ounfange, wäide as Kommentoar behonneld\n#Der wäd nit twiske Groot- un Littikskrieuwenge unnerskat\n\n#Fragmente fon reguläre Uutdrukke ätter disse Riege iendreege. Disse Riege nit ferannerje</pre>",
index 6253392..09e4a2d 100644 (file)
        "svg-long-desc": "Koropak SVG, nominalna $1 × $2 piksel, ukuranana $3",
        "show-big-image": "Berkas asli",
        "show-big-image-preview": "Ukuran ieu pramidang: $1.",
-       "show-big-image-other": "Résolusi lianna: $1.",
+       "show-big-image-other": "{{PLURAL:$2|Resolusi}} lianna: $1.",
        "show-big-image-size": "$1 × $2 pixel",
        "newimages": "Galeri gambar anyar",
        "imagelisttext": "Di handap ieu daptar '''$1''' {{PLURAL:$1|gambar|gambar}} nu disusun $2.",
        "version-parser-extensiontags": "Tag éksténsi parser",
        "version-hook-name": "Ngaran kait",
        "version-hook-subscribedby": "Didaptarkeun ku",
-       "version-version": "(Vérsi $1)",
+       "version-version": "($1)",
        "version-license": "Lisénsi MediaWiki",
        "version-poweredby-translators": "darmamurcaya translatewiki.net",
        "version-software": "Sopwér nu geus diinstal",
index b4852eb..7620dee 100644 (file)
        "readonly_lag": "Databasen har automatiskt skrivskyddats medan slavdatabasservrarna synkroniseras med huvudservern.",
        "internalerror": "Internt fel",
        "internalerror_info": "Internt fel: $1",
+       "internalerror-fatal-exception": "Allvarligt undantag av typen \"$1\"",
        "filecopyerror": "Kunde inte kopiera filen \"$1\" till \"$2\".",
        "filerenameerror": "Kunde inte byta namn på filen \"$1\" till \"$2\".",
        "filedeleteerror": "Kunde inte radera filen \"$1\".",
        "diff-multi-sameuser": "({{PLURAL:$1|En mellanliggande version|$1 mellanliggande versioner}} av samma användare visas inte)",
        "diff-multi-otherusers": "({{PLURAL:$1|En mellanliggande version|$1 mellanliggande versioner}} av {{PLURAL:$2|en annan användare|$2 användare}} visas inte)",
        "diff-multi-manyusers": "({{PLURAL:$1|En mellanliggande version|$1 mellanliggande versioner}} av mer än $2 användare visas inte)",
-       "difference-missing-revision": "{{PLURAL:$2|En version|$2 versioner}} av denna skillnad ($1) kunde inte hittas.\n\nDetta orsakas vanligtvis av att följa en utgången difflänk till en sida som har raderats.\nDetaljer kan hittas i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} raderingsloggen].",
+       "difference-missing-revision": "Det gick inte att hitta {{PLURAL:$2|en version|$2 versioner}} av den här differensen ($1).\n\nDetta beror oftast på att du har försökt följa en utgången difflänk till en sida som har raderats.\nMer detaljerad information finns i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} raderingsloggen].",
        "searchresults": "Sökresultat",
        "searchresults-title": "Sökresultat för \"$1\"",
        "titlematches": "Träffar i sidtitlar",
        "unusedimages": "Oanvända filer",
        "wantedcategories": "Önskade kategorier",
        "wantedpages": "Önskade sidor",
+       "wantedpages-summary": "Lista över obefintliga sidor som är mest länkade, exklusive sidor som endast är länkade med omdirigeringar. För en lista över obefintliga sidor som endast är länkade med omdirigeringar, se [[{{#special:BrokenRedirects}}]].",
        "wantedpages-badtitle": "Ogiltig titel bland resultaten: $1",
        "wantedfiles": "Önskade filer",
        "wantedfiletext-cat": "Följande filer används men finns inte. Filer från utländska databaser kan vara listade trots att de inte finns. Sådana falska realiteter kommer att <del>tas bort</del>. Sidor som bäddar in filer som inte finns listas upp på [[:$1]].",
        "thumbnail_image-missing": "Fil verkar saknas: $1",
        "thumbnail_image-failure-limit": "Det har nyligen förekommit alltför många misslyckade ($1 eller fler) försök skapa den här miniatyrbilden. Försök igen senare.",
        "import": "Importera sidor",
-       "importinterwiki": "Transwiki-import",
-       "import-interwiki-text": "Välj en wiki och sidtitel att importera.\nVersionshistorik (datum och redaktörer) kommer att bevaras.\nAll överföring mellan wikier (transwiki) listas i  [[Special:Log/import|importloggen]].",
+       "importinterwiki": "Importera från en annan wiki",
+       "import-interwiki-text": "Välj en wiki och sidtitel att importera.\nVersionshistorikens datum och redigerare kommer att bevaras.\nAll importering från andra wikis listas i [[Special:Log/import|importloggen]].",
        "import-interwiki-sourcewiki": "Källwiki:",
        "import-interwiki-sourcepage": "Källsida:",
        "import-interwiki-history": "Kopiera hela versionshistoriken för denna sida",
        "version-parser-function-hooks": "Parserfunktioner",
        "version-hook-name": "Namn på hook",
        "version-hook-subscribedby": "Används av",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[inget namn]",
        "version-license": "MediaWiki-licens",
        "version-ext-license": "Licens",
index be5d21c..146177a 100644 (file)
        "delete-toobig": "Ukurasa huu una historia ya kuhariri ndefu sana, yenye {{PLURAL:$1|badiliko|mabadiliko}} zaidi na $1.\nUfutaji wa kurasa hizi moja kwa moja umezuluiwa ili {{SITENAME}} isivurugwe kwa bahati mbaya.",
        "delete-warning-toobig": "Ukurasa huu unao mapitio mengi, zaida ya {{PLURAL:$1|pitio|mapitio}} $1.\nUkiufuta labda itavuruga uendeshaji wa hifadhidata ya {{SITENAME}};\nendelea kwa uangalifu.",
        "rollback": "Rejesha masahihisho",
-       "rollback_short": "Rejesha",
        "rollbacklink": "rejesha",
        "rollbackfailed": "Haikufaulu kurejesha",
        "cantrollback": "Haiwezekana kujesha sahihisho;\nukurasa huu una mhariri mmoja tu.",
        "version-specialpages": "Kurasa maalum",
        "version-variables": "Vibadili",
        "version-other": "Zingine",
-       "version-version": "(Toleo $1)",
+       "version-version": "($1)",
        "version-license": "Ruhusa",
        "version-ext-colheader-description": "Ufafanuzi",
        "version-poweredby-credits": "Wiki hii inaendeshwa na bidhaa pepe ya '''[https://www.mediawiki.org/ MediaWiki]''', hakimiliki © 2001-$1 $2.",
index 30cd690..16a5a19 100644 (file)
        "version-parser-function-hooks": "Fůnkcyje hokůw analizatora skuadńi (ang. parser function hooks)",
        "version-hook-name": "Mjano haka (ang. hook name)",
        "version-hook-subscribedby": "Zapotřebowany bez",
-       "version-version": "(Wersjo $1)",
+       "version-version": "($1)",
        "version-license": "Licencjo",
        "version-software": "Zainstalowane uoprůgramowańy",
        "version-software-product": "Mjano",
index 68d08aa..227cc9b 100644 (file)
        "delete-toobig": "இப்பக்கம் அதிகமான திருத்தங்களை கொண்டுள்ளது, குறிப்பாக $1 {{PLURAL:$1|திருத்தத்திற்கு|திருத்தங்களிற்கு}} மேல்.\n{{SITENAME}} தளத்தின் தரவுகள் தற்செயலாக அழிந்துப்போவதை தடுப்பதற்க்காக இவ்வாறான பக்கங்கள் நீக்கப்படுவது முடக்கப்பட்டுள்ளது.",
        "delete-warning-toobig": "இப்பக்கம் அதிகமான திருத்தங்களை கொண்டுள்ளது, குறிப்பாக $1 {{PLURAL:$1|திருத்தத்திற்கு|திருத்தங்களிற்கு}} மேல்.\nஇப்பக்கத்தை நீக்குவது {{SITENAME}} தளத்தின் தரவுவழங்கனின் செயற்பாட்டை பாதிக்கலாம்;\nகவனத்துடன் முன்னெடுக்கவும்.",
        "rollback": "முன்நிலையாக்கத் தொகுப்புகள்",
-       "rollback_short": "முன்நிலையாக்கு",
        "rollbacklink": "முன்நிலையாக்கு",
        "rollbacklinkcount": "$1 {{PLURAL:$1|தொகுப்பை|தொகுப்புகளை}} முன்நிலையாக்குக",
        "rollbacklinkcount-morethan": "$1-க்கும் மேற்பட்ட {{PLURAL:$1|தொகுப்பை|தொகுப்புகளை}} முன்நிலையாக்குக",
        "import-logentry-interwiki": "transwikied$1",
        "import-logentry-interwiki-detail": "$2 இலிருந்து {{PLURAL:$1|ஒரு திருத்தம்|$1 திருத்தங்கள்}}",
        "javascripttest": "சாவாநிரல் சோதனை நடக்கின்றது",
-       "javascripttest-title": "$1 சோதனைகள் நடக்கின்றன",
        "javascripttest-pagetext-noframework": "இந்த பக்கம் JavaScript பரிசோதனை ஓட்டத்திற்காக ஒதுக்கப்பட்டுள்ளது",
        "javascripttest-pagetext-skins": "சோதனைகளை நடத்த முகப்புறை ஒன்றைத் தேர்வுசெய்:",
        "tooltip-pt-userpage": "உங்கள் பயனர் பக்கம்",
        "version-parser-function-hooks": "இலக்கணப் பாகுபடுத்தி செயற்பாட்டு கொக்கிகள்",
        "version-hook-name": "கொக்கியின் பெயர்",
        "version-hook-subscribedby": "பயன்பாடு",
-       "version-version": "(பதிப்பு $1)",
+       "version-version": "($1)",
        "version-license": "மீடியாவிக்கி உரிமம்",
        "version-poweredby-credits": "இந்த் விக்கி '''[https://www.mediawiki.org/ MediaWiki]''' இதன் மூலம் வழங்கப்படுகிறது, காப்புரிமை © 2001-$1 $2.",
        "version-poweredby-others": "பிறர்",
index 4fbfa96..a90d3ef 100644 (file)
@@ -20,7 +20,8 @@
                        "לערי ריינהארט",
                        "రహ్మానుద్దీన్",
                        "రాకేశ్వర",
-                       "వైజాసత్య"
+                       "వైజాసత్య",
+                       "아라"
                ]
        },
        "tog-underline": "లంకె క్రీగీత:",
        "version-parser-function-hooks": "పార్సరుకు కొక్కాలు",
        "version-hook-name": "కొక్కెం పేరు",
        "version-hook-subscribedby": "ఉపయోగిస్తున్నవి",
-       "version-version": "(కూర్పు $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[పేరు లేదు]",
        "version-license": "MediaWiki లైసెన్సు",
        "version-ext-license": "లైసెన్సు",
index e60a27d..5687b5c 100644 (file)
@@ -3,7 +3,8 @@
                "authors": [
                        "MF-Warburg",
                        "Nemo bis",
-                       "Reedy"
+                       "Reedy",
+                       "아라"
                ]
        },
        "tog-underline": "Subliña ligasaun sira:",
        "version": "Versaun",
        "version-specialpages": "Pájina espesiál",
        "version-other": "Seluk",
-       "version-version": "(Versaun $1)",
+       "version-version": "($1)",
        "version-license": "Lisensa",
        "version-poweredby-others": "ema seluk",
        "version-software-product": "Produtu",
index 22b84d5..0197a72 100644 (file)
        "delete-toobig": "Ин саҳифа таърихчаи бузурге дорад, ки шомили беш аз $1 вироиш аст. Ҳазфи ин гуна саҳифаҳо барои пешгири аз шикастани тасодуфӣ дар {{SITENAME}} маҳдуд шудааст.",
        "delete-warning-toobig": "Ин саҳифа таърихи бузурге дорад, ки шомили беш аз $1 вироиш аст. Ҳазфи ин саҳифа метавонад ихтилол ба амалгари пойгоҳи додаи {{SITENAME}} бишавад; лутфан бо эҳтиёт иқдом кунед.",
        "rollback": "Вогардонии вироишҳо",
-       "rollback_short": "Вогард",
        "rollbacklink": "вогардони",
        "rollbackfailed": "Вогардони нашуд",
        "cantrollback": "Наметавон вироишро вогардонд; охирин ҳиссагузор танҳо муаллифи ин мақола аст.",
        "iranian-calendar-m10": "Ҷадӣ",
        "iranian-calendar-m11": "Далв",
        "iranian-calendar-m12": "Ҳут",
-       "unknown_extension_tag": "Бачасби ношиноси афзунаи \"$1\"",
        "version": "Нусхаи Медиавики",
        "version-extensions": "Афзунаҳои насбшуда",
        "version-specialpages": "Саҳифаҳои вижа",
        "version-parser-function-hooks": "Қолабҳои амалгарҳои таҷзеҳгар",
        "version-hook-name": "Номи қолаб",
        "version-hook-subscribedby": "Воридшуда тавассути",
-       "version-version": "(Нусха $1)",
+       "version-version": "($1)",
        "version-license": "Иҷозатномаи МедиаВики",
        "version-ext-colheader-license": "Иҷозатнома",
        "version-ext-colheader-credits": "Муаллифон",
        "specialpages-group-pagetools": "Абзорҳои саҳифа",
        "specialpages-group-wiki": "Додаҳо ва абзорҳо",
        "specialpages-group-redirects": "Дар ҳоли тағйири масири саҳифаҳои вижа",
+       "specialpages-group-developer": "Абзорҳои тавсиядиҳандагон",
        "blankpage": "Саҳифаи холӣ",
        "tag-filter": "Филтри [[Special:Tags|барчасбҳо]]:",
        "tags-active-header": "Фаъол?",
index 76ef9bd..c3dff49 100644 (file)
        "deletereason-dropdown": "*Dalelhoi umumiji hazf\n** Darxosti korbar\n** Naqzi haqqi taksir\n** Xarobkorī",
        "delete-edit-reasonlist": "Viroiş hazf dalelho",
        "rollback": "Vogardoniji viroişho",
-       "rollback_short": "Vogard",
        "rollbacklink": "vogardoni",
        "rollbackfailed": "Vogardoni naşud",
        "cantrollback": "Nametavon viroişro vogardond; oxirin hissaguzor tanho muallifi in maqola ast.",
        "iranian-calendar-m10": "Çadī",
        "iranian-calendar-m11": "Dalv",
        "iranian-calendar-m12": "Hut",
-       "unknown_extension_tag": "Bacasbi noşinosi afzunai \"$1\"",
        "version": "Nusxai Mediaviki",
        "version-extensions": "Afzunahoi nasbşuda",
        "version-specialpages": "Sahifahoi viƶa",
        "version-parser-function-hooks": "Qolabhoi amalgarhoi taçzehgar",
        "version-hook-name": "Nomi qolab",
        "version-hook-subscribedby": "Voridşuda tavassuti",
-       "version-version": "(Nusxa $1)",
+       "version-version": "($1)",
        "version-license": "Içozatnoma",
        "version-software": "Nusxai nasbşuda",
        "version-software-product": "Mahsul",
        "specialpages-group-pagetools": "Abzorhoi sahifa",
        "specialpages-group-wiki": "Viki dodaho va abzorho",
        "specialpages-group-redirects": "Dar holi taƣjiri masiri sahifahoi viƶa",
+       "specialpages-group-developer": "Abzorhoi tavsijadihandagon",
        "blankpage": "Sahifai xolī",
        "tags-edit": "viroiş",
        "dberr-info": "(Imkoni barqarori irtibot bo pojgohi doda vuçud nadorad: $1)",
index c4e7449..917f0c2 100644 (file)
@@ -20,7 +20,8 @@
                        "לערי ריינהארט",
                        "จักรกฤช วงศ์สระหลวง (Jakkrit Vongsraluang) / PaePae",
                        "วรากร อึ้งวิเชียร (Varakorn Ungvichian)",
-                       "아라"
+                       "아라",
+                       "Pphongpan355"
                ]
        },
        "tog-underline": "การขีดเส้นใต้ลิงก์:",
        "site-atom-feed": "ฟีดอะตอม $1",
        "page-rss-feed": "ฟีดอาร์เอสเอส \"$1\"",
        "page-atom-feed": "ฟีดอะตอม \"$1\"",
-       "red-link-title": "$1 (หà¸\99à¹\89าà¸\99ีà¹\89à¹\84มà¹\88มี)",
+       "red-link-title": "$1 (à¹\84มà¹\88มีหà¸\99à¹\89า)",
        "sort-descending": "เรียงจากมากไปน้อย",
        "sort-ascending": "เรียงจากน้อยไปมาก",
        "nstab-main": "หน้า",
        "media_tip": "เชื่อมโยงไฟล์",
        "sig_tip": "ลายเซ็นของคุณพร้อมตราเวลา",
        "hr_tip": "เส้นนอน (ใช้อย่างจำกัด)",
-       "summary": "à¸\84ำอà¸\98ิà¸\9aายà¹\82à¸\94ยย่อ:",
+       "summary": "à¸\84ำอà¸\98ิà¸\9aายอยà¹\88าà¸\87ย่อ:",
        "subject": "เรื่อง/พาดหัว:",
        "minoredit": "เป็นการแก้ไขเล็กน้อย",
        "watchthis": "เฝ้าดูหน้านี้",
        "recentchangeslinked-title": "การปรับปรุงที่โยงกับ \"$1\"",
        "recentchangeslinked-summary": "นี่คือรายการเปลี่ยนแปลงล่าสุดของหน้าที่ถูกลิงก์จากหน้าเฉพาะ (หรือไปสมาชิกของหมวดหมู่เฉพาะ)\nหน้าใน[[Special:Watchlist|รายการเฝ้าดู]]แสดงเป็น<strong>ตัวหนา</strong>",
        "recentchangeslinked-page": "ชื่อหน้า:",
-       "recentchangeslinked-to": "à¹\81สà¸\94à¸\87à¸\81ารà¹\80à¸\9bลีà¹\88ยà¸\99à¹\81à¸\9bลà¸\87à¹\84à¸\9bยัà¸\87หà¸\99à¹\89าà¸\97ีà¹\88à¹\80à¸\8aืà¹\88อมà¹\82ยà¸\87มายัà¸\87หน้าที่ระบุแทน",
+       "recentchangeslinked-to": "à¹\81สà¸\94à¸\87à¸\81ารà¹\80à¸\9bลีà¹\88ยà¸\99à¹\81à¸\9bลà¸\87à¹\84à¸\9bหà¸\99à¹\89าà¸\8bึà¹\88à¸\87à¹\82ยà¸\87à¹\84à¸\9bหน้าที่ระบุแทน",
        "upload": "อัปโหลดไฟล์",
        "uploadbtn": "อัปโหลดไฟล์",
        "reuploaddesc": "ยกเลิกการอัปโหลดและกลับไปยังแบบอัปโหลด",
        "tooltip-pt-anonuserpage": "หน้าผู้ใช้ของเลขที่อยู่ไอพีที่คุณกำลังใช้แก้ไข",
        "tooltip-pt-mytalk": "หน้าพูดคุยของคุณ",
        "tooltip-pt-anontalk": "อภิปรายเกี่ยวกับการแก้ไขจากเลขที่อยู่ไอพีนี้",
-       "tooltip-pt-preferences": "à¸\95ัà¹\89à¸\87à¸\84à¹\88าà¸\81ารà¹\83à¸\8aà¹\89à¸\87าà¸\99สà¹\88วà¸\99à¸\95ัว",
+       "tooltip-pt-preferences": "à¸\81ารà¸\95ัà¹\89à¸\87à¸\84à¹\88าà¸\82อà¸\87à¸\84ุà¸\93",
        "tooltip-pt-watchlist": "รายการหน้าที่คุณเฝ้าดูการแก้ไข",
        "tooltip-pt-mycontris": "รายการหน้าที่คุณเขียน",
-       "tooltip-pt-login": "ไม่จำเป็นต้องล็อกอินในการแก้ไข แต่แนะนำอย่างยิ่งให้ล็อกอิน",
+       "tooltip-pt-login": "ไม่จำเป็นต้องล็อกอิน แต่แนะนำอย่างยิ่งให้ล็อกอิน",
        "tooltip-pt-logout": "ล็อกเอาต์",
        "tooltip-pt-createaccount": "สนับสนุนให้คุณสร้างบัญชีและล็อกอิน แต่ไม่บังคับ",
        "tooltip-ca-talk": "อภิปรายเกี่ยวกับหน้าเนื้อหา",
        "tooltip-ca-watch": "เพิ่มหน้านี้เข้ารายการเฝ้าดู",
        "tooltip-ca-unwatch": "นำหน้านี้ออกจากรายการเฝ้าดู",
        "tooltip-search": "ค้นหา {{SITENAME}}",
-       "tooltip-search-go": "à¸\95รà¸\87à¹\84à¸\9bยัà¸\87หน้าที่ตรงกับชื่อนี้ (ถ้ามี)",
+       "tooltip-search-go": "à¹\84à¸\9bหน้าที่ตรงกับชื่อนี้ (ถ้ามี)",
        "tooltip-search-fulltext": "ค้นหาหน้าที่มีข้อความนี้",
        "tooltip-p-logo": "เยี่ยมชมหน้าหลัก",
        "tooltip-n-mainpage": "เยี่ยมชมหน้าหลัก",
        "tooltip-ca-nstab-project": "ดูหน้าโครงการ",
        "tooltip-ca-nstab-image": "ดูหน้าภาพไฟล์",
        "tooltip-ca-nstab-mediawiki": "ดูข้อความระบบ",
-       "tooltip-ca-nstab-template": "à¸\94ูหà¸\99à¹\89าà¹\81มà¹\88à¹\81à¸\9aà¸\9a",
+       "tooltip-ca-nstab-template": "ดูแม่แบบ",
        "tooltip-ca-nstab-help": "ดูหน้าคำอธิบาย",
        "tooltip-ca-nstab-category": "ดูหน้าหมวดหมู่",
        "tooltip-minoredit": "ทำเครื่องหมายเป็นการแก้ไขเล็กน้อย",
-       "tooltip-save": "บันทึกการแก้ไข",
+       "tooltip-save": "บันทึกการแก้ไขของคุณ",
        "tooltip-preview": "แสดงตัวอย่างการเปลี่ยนแปลงของคุณ กรุณาใช้คำสั่งนี้ก่อนบันทึก!",
        "tooltip-diff": "แสดงการเปลี่ยนการต่อข้อความ",
        "tooltip-compareselectedversions": "แสดงความแตกต่างระหว่างสองรุ่นที่เลือกของหน้านี้",
        "tooltip-recreate": "สร้างหน้านี้อีกครั้งแม้เคยถูกลบ",
        "tooltip-upload": "เริ่มอัปโหลด",
        "tooltip-rollback": "\"ย้อนกลับฉุกเฉิน\" ใช้ย้อนการแก้ไขในหน้านี้ของผู้เขียนคนล่าสุดในคลิกเดียว",
-       "tooltip-undo": "\"ยà¹\89อà¸\99\" ย้อนการแก้ไขนี้และเปิดแบบแก้ไขในภาวะตัวอย่าง เปิดให้เพิ่มเหตุผลในคำอธิบาย",
+       "tooltip-undo": "\"à¸\81ารà¸\97ำà¸\81ลัà¸\9a\" ย้อนการแก้ไขนี้และเปิดแบบแก้ไขในภาวะตัวอย่าง เปิดให้เพิ่มเหตุผลในคำอธิบาย",
        "tooltip-preferences-save": "บันทึกการตั้งค่า",
-       "tooltip-summary": "à¹\83สà¹\88à¸\84ำอà¸\98ิà¸\9aายอยà¹\88าà¸\87ยà¹\88อสั้น ๆ",
+       "tooltip-summary": "à¹\83สà¹\88สรุà¸\9bสั้น ๆ",
        "common.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ทุกสกิน */",
        "print.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ข้อมูลส่งออกเป็นสิ่งพิมพ์ */",
        "noscript.css": "/* สไตล์ชีตในหน้านี้จะส่งผลแก่ผู้ใช้ที่ปิดการใช้งานจาวาสคริปต์ */",
        "file-info-size-pages": "$1 × $2 พิกเซล, ขนาดไฟล์: $3, ประเภท MIME: $4, $5 {{PLURAL:$5|หน้า|หน้า}}",
        "file-nohires": "ไม่มีความละเอียดสูงกว่านี้",
        "svg-long-desc": "ไฟล์ SVG, $1 × $2 พิกเซล พอเป็นพิธี, ขนาดไฟล์: $3",
+       "svg-long-desc-animated": "ไฟล์ SVG ขนาด $1 x $2 ขนาดไฟล์ $3",
        "svg-long-error": "ไฟล์ SVG ไม่ถูกต้อง: $1",
        "show-big-image": "ไฟล์ต้นฉบับ",
-       "show-big-image-other": "อื่นๆ {{PLURAL:$2|resolution|resolutions}}: $1.",
+       "show-big-image-preview": "ขนาดของตัวอย่างนี้คือ $1",
+       "show-big-image-other": "{{PLURAL:$2|ขนาด|ขนาด}}อื่น ๆ: $1",
        "show-big-image-size": "$1 × $2 พิกเซล",
        "file-info-gif-looped": "วนซ้ำ",
        "file-info-gif-frames": "$1 {{PLURAL:$1|เฟรม|เฟรม}}",
        "exif-primarychromaticities": "โครมาติกของไพรมาริตี",
        "exif-ycbcrcoefficients": "สัมประสิทธิเมทริกซ์การเปลียนแปลงของสเปซสี",
        "exif-referenceblackwhite": "คู่จุดสีขาวและดำสำหรับอ้างอิง",
-       "exif-datetime": "วัà¸\99à¸\97ีà¹\88à¹\81ละà¹\80วลาà¸\9bรัà¸\9aà¸\9bรุà¸\87",
+       "exif-datetime": "วัà¸\99à¸\97ีà¹\88à¹\81ละà¹\80วลาà¹\80à¸\9bลีà¹\88ยà¸\99à¹\84à¸\9fลà¹\8c",
        "exif-imagedescription": "ชื่อภาพ",
        "exif-make": "ผู้ผลิตกล้อง",
        "exif-model": "รุ่นกล้อง",
        "exif-pixelxdimension": "ความสูงของภาพ",
        "exif-usercomment": "ความเห็นผู้ใช้",
        "exif-relatedsoundfile": "ไฟล์เสียงที่เกี่ยวข้อง",
-       "exif-datetimeoriginal": "วัà¸\99à¸\97ีà¹\88à¹\81ละà¹\80วลาà¸\97ีà¹\88สรà¹\89าà¸\87",
+       "exif-datetimeoriginal": "วัà¸\99à¸\97ีà¹\88à¹\81ละà¹\80วลาà¸\81ารà¸\81à¹\88อà¸\81ำà¹\80à¸\99ิà¸\94à¸\82à¹\89อมูล",
        "exif-datetimedigitized": "วันที่และเวลาที่ดิจิไทซ์",
        "exif-subsectime": "เสี้ยววินาที วันที่ เวลา",
        "exif-subsectimeoriginal": "เสี้ยววินาที วันที่ เวลาต้นฉบับ",
        "version-parser-function-hooks": "ฮุกที่มีฟังก์ชันตัวแจงส่วน",
        "version-hook-name": "ชื่อฮุก",
        "version-hook-subscribedby": "สนับสนุนโดย",
-       "version-version": "(รุ่น $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[ไม่มีชื่อ]",
        "version-license": "สัญญาอนุญาตมีเดียวิกิ",
        "version-poweredby-credits": "วิกินี้จัดทำโดย '''[https://www.mediawiki.org/ MediaWiki]''', สงวนลิขสิทธิ์ © 2001-$1 โดย $2",
index d90b67e..ce14aea 100644 (file)
        "delete-toobig": "Bu sahypanyň $1 {{PLURAL:$1|wersiýadan|wersiýadan}} agdyk uly özgerdiş geçmişi bar.\n{{SITENAME}} saýtynyň atdanlykda bökdelmegine ýol bermezlik maksady bilen beýle sahypalaryň öçürilmegi çäklendirilýär.",
        "delete-warning-toobig": "Bu sahypanyň $1 {{PLURAL:$1|wersiýadan|wersiýadan}} agdyk uly özgerdiş geçmişi bar.\nMuny öçürmek {{SITENAME}} maglumat bazasynyň amallaryna päsgel berip biler;\nseresaplyk bilen hereket ediň.",
        "rollback": "Özgerdişleri öňki katdyna getir",
-       "rollback_short": "Öňki katdyna getir",
        "rollbacklink": "öňki katdyna getir",
        "rollbackfailed": "Öňki katdyna getirmeklik şowsuz",
        "cantrollback": "Özgerdişi yzyna getirip bolmaýar;\niň soňky goşant goşan ulanyjy bu sahypanyň ýeke-täk awtory bolup durýar.",
        "watchlisttools-view": "Degişli üýtgeşmeleri görkez",
        "watchlisttools-edit": "Gözegçilik sanawyna göz aýla we redaktirle",
        "watchlisttools-raw": "Işlenmedik gözegçilik sanawyny redaktirle",
-       "unknown_extension_tag": "Näbelli giňeltme belligi \"$1\"",
        "duplicate-defaultsort": "'''Duýduryş''': Gaýybana \"$2\" sortlaýyş açary mundan ozalky \"$1\" sortlaýyş açaryny aradan aýyrýar.",
        "version": "Wersiýa",
        "version-extensions": "Gurulgy giňeltmeler",
        "version-parser-function-hooks": "Analizator funsiýasynyň ilgençekleri",
        "version-hook-name": "Ilgençegiň ady",
        "version-hook-subscribedby": "Abuna ýazylan",
-       "version-version": "(Wersiýa $1)",
+       "version-version": "($1)",
        "version-license": "Ygtyýarnama",
        "version-poweredby-credits": "Bu wiki '''[https://www.mediawiki.org/ MediaWiki]''' arkaly üpjün edilýär, awtorlyk hukugy © 2001-$1 $2.",
        "version-poweredby-others": "beýlekiler",
        "specialpages-group-wiki": "Wiki maglumatlar we gurallar",
        "specialpages-group-redirects": "Gönükdirmeli ýörite sahypalar",
        "specialpages-group-spam": "Spam gurallary",
+       "specialpages-group-developer": "Ösdürimçi gurallary",
        "blankpage": "Boş sahypa",
        "intentionallyblankpage": "Bu sahypa ýörite boş goýuldy.",
        "external_image_whitelist": "#Bu setiri bolşy ýaly goýuň<pre>\n#Tertipli aňlatma fragmentlerini (diňe // aralygyndaky bölegi) aşak goşuň\n#Bular daşarky (hotlink) suratlaryň URL-leri bilen deňeşdiriljekdir\n#Deň gelenler surat bolup görüner, galanlary bolsa diňe suratyň çykgydy hökmünde görkeziler\n# # bilen başlaýan setirler teswir hasap ediljekdir\n#Setirler baş we setir harplara duýgur däldir\n\n#Ähli tertipli aňlatma fragmentlerini bu setiriň üstüne goşuň. Bu setiri bolşy ýaly goýuň</pre>",
index d026c49..7c119c1 100644 (file)
        "version-parser-function-hooks": "Mga pangkawit ng/sa tungkuling pambanghay (''parser'')",
        "version-hook-name": "Pangalan ng pangkawit",
        "version-hook-subscribedby": "Sinuskribi ng/ni/nina",
-       "version-version": "(Bersyon $1)",
+       "version-version": "($1)",
        "version-svn-revision": "(r$2)",
        "version-license": "Lisensiya",
        "version-poweredby-credits": "Ang wiking ito ay pinapatakbo ng '''[https://www.mediawiki.org/ MediaWiki]''', karapatang-ari © 2001-$1 $2.",
index 5153a89..fee88fb 100644 (file)
        "version-parser-function-hooks": "Derleyici fonksiyon çengelleri",
        "version-hook-name": "Çengel adı",
        "version-hook-subscribedby": "Abone olan",
-       "version-version": "($1 sürümü)",
+       "version-version": "($1)",
        "version-no-ext-name": "[isim yok]",
        "version-license": "MediaWiki Lisansı",
        "version-ext-license": "Lisans",
index 4fd905f..bd1e1a9 100644 (file)
@@ -7,7 +7,8 @@
                        "Reedy",
                        "Urhixidur",
                        "לערי ריינהארט",
-                       "아라"
+                       "아라",
+                       "Amire80"
                ]
        },
        "tog-underline": "Sıltamalarnıñ astına sızu:",
        "mytalk": "Bäxäsem",
        "anontalk": "Bu IP adresı öçen bäxäs bite",
        "navigation": "Küçü",
-       "and": " häm",
+       "and": "&#32;häm",
        "qbfind": "Ezläw",
        "qbbrowse": "Qaraw",
        "qbedit": "Üzgärtü",
        "deletereasonotherlist": "Başqa säbäp",
        "deletereason-dropdown": "* Beterüneñ säbäpläre\n** vandallıq\n** avtor sorawı buyınça\n** avtor xoquqların bozu",
        "delete-edit-reasonlist": "Säbäplär isemlegen üzgärtü",
-       "rollback_short": "Kire qaytaru",
        "rollbacklink": "kire qaytaru",
        "editcomment": "Üzgärtü öçen taswir: \"''$1''\".",
        "revertpage": "[[Special:Contributions/$2|$2]] üzgärtüläre ([[User talk:$2|bäxäs]])  [[User:$1|$1]] yuramasına kire qaytarıldı",
index 86973bf..849def9 100644 (file)
@@ -2,7 +2,8 @@
        "@metadata": {
                "authors": [
                        "Nemo bis",
-                       "Rberchie"
+                       "Rberchie",
+                       "MF-Warburg"
                ]
        },
        "sun": "Kwasiada",
@@ -37,7 +38,7 @@
        "searchprofile-everything": "Biribiara",
        "searchprofile-articles-tooltip": "Hwehwe wo dola baako mu",
        "searchall": "Biribiara",
-       "diff": "NSONSOE",
+       "diff": "nsonsoe",
        "hide": "Fa sie",
        "watch": "Hwe",
        "undeleteviewlink": "Hwe",
index 902c9c1..64aa1e6 100644 (file)
        "delete-toobig": "بۇ بەتنىڭ بەك كۆپ تەھرىرلەش تارىخى بار، {{PLURAL:$1|تۈزىتىلگەن نەشرى|تۈزىتىلگەن نەشرى}} قېتىمدىن ئارتۇق. {{SITENAME}} قالايمىقانچىلىقنىڭ ئالدىنى ئېلىش ئۈچۈن بۇ خىل بەتلەرنى ئۆچۈرۈش مەشغۇلاتى چەكلەندى.",
        "delete-warning-toobig": "بۇ بەتنىڭ تەھرىرلەش تارىخى بەك كۆپ، {{PLURAL:$1|تۈزىتىلگەن نەشرى|تۈزىتىلگەن نەشرى}} قېتىمدىن ئارتۇق.\nبۇ بەت ئۆچۈرۈلسە {{SITENAME}} ساندانىنىڭ مەشغۇلاتىنى قالايمىقانلاشتۇرۇۋېتىشى مۇمكىن؛\nبۇ مەشغۇلاتنى داۋاملاشتۇرۇشتىن ئىلگىرى ئېھتىيات قىلىڭ.",
        "rollback": "تەھرىر ئەسلىگە قايتۇر",
-       "rollback_short": "ئەسلىگە قايتۇر",
        "rollbacklink": "ئەسلىگە قايتۇر",
        "rollbacklinkcount": "$1 {{PLURAL:$1|تەھرىر}}نى ئەسلىگە قايتۇر",
        "rollbacklinkcount-morethan": "$1 دىن كۆپ {{PLURAL:$1|تەھرىر}}نى ئەسلىگە قايتۇر",
        "import-logentry-interwiki": "wiki ھالقىغان $1",
        "import-logentry-interwiki-detail": "$2 دىن كەلگەن $1 {{PLURAL:$1|تۈزىتىش|تۈزىتىش}}",
        "javascripttest": "JavaScript سىناش",
-       "javascripttest-title": "$1 نى تەكشۈرۈش يۈرگۈزۈۋاتىدۇ",
        "javascripttest-pagetext-noframework": "بۇ بەت JavaScript ئىجرا قىلىپ سىناشقا قالدۇرۇلغان.",
        "javascripttest-pagetext-unknownframework": "يوچۇن سىناق قۇرۇلما \"$1\".",
        "javascripttest-pagetext-frameworks": "تۆۋەندىكى قۇرۇلمىدىن بىرنى تاللاڭ: $1",
        "javascripttest-pagetext-skins": "بىر تېرە تاللاپ سىناقنى ئىجرا قىلىڭ:",
        "javascripttest-qunit-intro": "mediawiki.org دىكى [$1 سىناش قوللانمىسى]نى كۆرۈڭ.",
-       "javascripttest-qunit-heading": "MediaWiki JavaScript QUnit سىناش يۈرۈشلۈكى",
        "tooltip-pt-userpage": "ئىشلەتكۈچى بېتىڭىز",
        "tooltip-pt-anonuserpage": "بۇ بېكەتنى تەھرىرلىگەندە ئىشلەتكەن IP ماس كەلگەن ئىشلەتكۈچى بېتى",
        "tooltip-pt-mytalk": "مۇنازىرە بېتىڭىز",
        "watchlisttools-edit": "كۆزەت تىزىملىكىنى كۆرۈپ تەھرىرلەش",
        "watchlisttools-raw": "ئەسلى كۆزەت تىزىملىك تەھرىرى",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|سۆزلىشىش]])",
-       "unknown_extension_tag": "نامەلۇم كېڭەيتىلگەن خەتكۈچ \"$1\"",
        "duplicate-defaultsort": "'''ئاگاھلاندۇرۇش:''' كۆڭۈلدىكى تەرتىپلەش كۇنۇپكىسى \"$2\" ئىلگىرىكى كۆڭۈلدىكى تەرتىپلەش كۇنۇپكىسى \"$1\" نى قاپلىۋېتىدۇ.",
        "version": "نەشرى",
        "version-extensions": "قاچىلانغان كېڭەيتىلمە",
        "version-parser-function-hooks": "تەھلىلچى فونكسىيە ئىلمىكى",
        "version-hook-name": "ئىلمەك ئاتى",
        "version-hook-subscribedby": "ئىمزا قويغۇچى",
-       "version-version": "(نەشرى $1)",
+       "version-version": "($1)",
        "version-license": "ئىجازەتنامە",
        "version-poweredby-credits": "بۇ ۋىكىنى '''[https://www.mediawiki.org/ MediaWiki]''' تېخنىكىلىق قوللايدۇ، نەشر ھوقۇقى © 2001-$1 $2",
        "version-poweredby-others": "باشقا",
index 1f7f5aa..cdd2b3c 100644 (file)
        "tuesday": "вівторок",
        "wednesday": "середа",
        "thursday": "четвер",
-       "friday": "пятниця",
+       "friday": "п'ятниця",
        "saturday": "субота",
        "sun": "Нд",
        "mon": "Пн",
        "continue-editing": "Продовжити редагування",
        "previewconflict": "Цей попередній перегляд відображає текст з верхнього вікна редагування так, як він буде виглядати, якщо ви вирішите зберегти його.",
        "session_fail_preview": "'''Система не може зберегти ваші редагування, оскільки втрачені дані сеансу. Будь ласка, повторіть вашу спробу.\nЯкщо помилка буде повторюватись, спробуйте [[Special:UserLogout|вийти з системи]] і увійти знову.'''",
-       "session_fail_preview_html": "<strong>Вибачте! Неможливо зберегти ваші зміни через втрату даних HTML-сесії.</strong>\n\n''Оскільки {{SITENAME}} дозволяє використовувати чистий HTML, попередній перегляд відключено, щоб попередити JavaScript-атаки.''\n\n<strong>Якщо це легітимна спроба редагування, будь ласка, спробуйте ще раз. Якщо не вийде знову, - спробуйте [[Special:UserLogout|завершити сеанс роботи]] й ще раз ввійти до системи.</strong>",
+       "session_fail_preview_html": "<strong>Вибачте! Неможливо зберегти ваші зміни через втрату даних HTML-сесії.</strong>\n\n''Оскільки {{SITENAME}} дозволяє використовувати чистий HTML, попередній перегляд відключено, щоб попередити JavaScript-атаки.''\n\n<strong>Якщо це легітимна спроба редагування, будь ласка, спробуйте ще раз. Якщо не вийде знову,  спробуйте [[Special:UserLogout|завершити сеанс роботи]] й ще раз ввійти до системи.</strong>",
        "token_suffix_mismatch": "'''Ваше редагування було відхилене, оскільки ваша програма неправильно обробляє знаки пунктуації у вікні редагування. Редагування було скасоване для запобігання спотворенню тексту статті.\nПодібні проблеми можуть виникати при використанні анонімізуючих веб-проксі, що містять помилки.'''",
        "edit_form_incomplete": "'''Частина даних із форми редагування не досягла сервера. Уважно перевірте, чи не пошкоджені ваші правки і спробуйте ще раз.'''",
        "editing": "Редагування $1",
        "gender-unknown": "Не визначена",
        "gender-male": "Чоловіча",
        "gender-female": "Жіноча",
-       "prefs-help-gender": "Задання цього параметру - необов'язкове. Застосовується рушієм у тих звертаннях до користувача, які залежать від статі.\nЦя інформація загальнодоступна.",
+       "prefs-help-gender": "Задання цього параметру  необов'язкове. Застосовується рушієм у тих звертаннях до користувача, які залежать від статі.\nЦя інформація загальнодоступна.",
        "email": "Електронна пошта",
        "prefs-help-realname": "Справжнє ім'я вказувати необов'язково.\nЯкщо ви його зазначите, то саме з ним може бути пов'язаний увесь ваш доробок.",
        "prefs-help-email": "Адреса електронної пошти не є обов'язковою, але необхідна для скидання пароля, якщо ви його забудете.",
        "watchthisupload": "Спостерігати за цим файлом",
        "filewasdeleted": "Файл з такою назвою вже існував, але був вилучений.\nВам слід перевірити $1 перед повторним завантаженням.",
        "filename-bad-prefix": "Назва завантажуваного файлу починається на '''«$1»''' і, можливо, є шаблонною назвою, яку цифрова фотокамера дає знімкам. Будь ласка, виберіть назву, яка краще описуватиме вміст файлу.",
-       "filename-prefix-blacklist": " #<!-- Ð½Ðµ Ð¼Ñ\96нÑ\8fйÑ\82е Ñ\86ей Ñ\80Ñ\8fдок --> <pre>\n# Ð¡Ð¸Ð½Ñ\82акÑ\81иÑ\81 Ñ\82акий:\n#   * Ð\92Ñ\81е, Ñ\89о Ð¿Ð¾Ñ\87инаÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð· Ñ\81имволÑ\83 Â«#» Ð²Ð²Ð°Ð¶Ð°Ñ\94Ñ\82Ñ\8cÑ\81Ñ\8f ÐºÐ¾Ð¼ÐµÐ½Ñ\82аÑ\80ем (до ÐºÑ\96нÑ\86Ñ\8f Ñ\80Ñ\8fдка)\n#   * Ð\9aожен Ð½ÐµÐ¿Ð¾Ñ\80ожнÑ\96й Ñ\80Ñ\8fдок - Ð¿Ñ\80еÑ\84Ñ\96кÑ\81 Ñ\81Ñ\82андаÑ\80Ñ\82ноÑ\97 Ð½Ð°Ð·Ð²Ð¸ Ñ\84айлÑ\83, Ñ\8fкÑ\83 Ð·Ð°Ð·Ð²Ð¸Ñ\87ай Ð´Ð°Ñ\94 Ñ\86иÑ\84Ñ\80ова ÐºÐ°Ð¼ÐµÑ\80а\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # Ð´ÐµÑ\8fкÑ\96 Ð¼Ð¾Ð±Ñ\96лÑ\8cнÑ\96 Ñ\82елеÑ\84они\nIMG # Ð·Ð°Ð³Ð°Ð»Ñ\8cне\nJD # Jenoptik\nMGP # Pentax\nPICT # Ñ\80Ñ\96знÑ\96\n #</pre> <!-- Ð½Ðµ Ð¼Ñ\96нÑ\8fйте цей рядок -->",
+       "filename-prefix-blacklist": " #<!-- Ð½Ðµ Ð·Ð¼Ñ\96нÑ\8eйÑ\82е Ñ\86ей Ñ\80Ñ\8fдок --> <pre>\n# Ð¡Ð¸Ð½Ñ\82акÑ\81иÑ\81 Ñ\82акий:\n#   * Ð\92Ñ\81е, Ñ\89о Ð¿Ð¾Ñ\87инаÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð· Ñ\81имволÑ\83 Â«#» Ð²Ð²Ð°Ð¶Ð°Ñ\94Ñ\82Ñ\8cÑ\81Ñ\8f ÐºÐ¾Ð¼ÐµÐ½Ñ\82аÑ\80ем (до ÐºÑ\96нÑ\86Ñ\8f Ñ\80Ñ\8fдка)\n#   * Ð\9aожен Ð½ÐµÐ¿Ð¾Ñ\80ожнÑ\96й Ñ\80Ñ\8fдок â\80\94 Ð¿Ñ\80еÑ\84Ñ\96кÑ\81 Ñ\81Ñ\82андаÑ\80Ñ\82ноÑ\97 Ð½Ð°Ð·Ð²Ð¸ Ñ\84айлÑ\83, Ñ\8fкÑ\83 Ð·Ð°Ð·Ð²Ð¸Ñ\87ай Ð´Ð°Ñ\94 Ñ\86иÑ\84Ñ\80ова ÐºÐ°Ð¼ÐµÑ\80а\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # Ð´ÐµÑ\8fкÑ\96 Ð¼Ð¾Ð±Ñ\96лÑ\8cнÑ\96 Ñ\82елеÑ\84они\nIMG # Ð·Ð°Ð³Ð°Ð»Ñ\8cне\nJD # Jenoptik\nMGP # Pentax\nPICT # Ñ\80Ñ\96знÑ\96\n #</pre> <!-- Ð½Ðµ Ð·Ð¼Ñ\96нÑ\8eйте цей рядок -->",
        "upload-success-subj": "Завантаження успішно завершено",
        "upload-success-msg": "Ваше завантаження з [$2] було успішним. Воно доступне тут: [[:{{ns:file}}:$1]]",
        "upload-failure-subj": "Проблема із завантаженням",
        "listredirects": "Список перенаправлень",
        "listduplicatedfiles": "Список файлів з дублікатами",
        "listduplicatedfiles-summary": "Це список файлів, де остання версія файлу вважається дублікатом останньої версії деяких інших файлів. Враховуються тільки локальні файли.",
-       "listduplicatedfiles-entry": "У файлу [[:File:$1|$1]] - [[$3|{{PLURAL:$2|один дублікат|$2 дублікатів|$2 дублікат}}]].",
+       "listduplicatedfiles-entry": "У файлу [[:File:$1|$1]]  [[$3|{{PLURAL:$2|один дублікат|$2 дублікатів|$2 дублікат}}]].",
        "unusedtemplates": "Шаблони, що не використовуються",
        "unusedtemplatestext": "На цій сторінці показані всі сторінки простору назв «{{ns:template}}», які не включені до інших сторінок. Не забувайте перевірити відсутність інших посилань на шаблон, перш ніж вилучити його.",
        "unusedtemplateswlh": "інші посилання",
        "emailuser-title-notarget": "Надіслати електронного листа користувачеві",
        "emailpage": "Лист користувачеві",
        "emailpagetext": "Заповнивши наведену нижче форму, можна надіслати повідомлення {{GENDER:$1|цьому користувачу|цій користувачці}}.\nЕлектронна адреса, яку Ви зазначили у [[Special:Preferences|своїх налаштуваннях]], буде зазначена в полі «Від кого» листа, тому одержувач матиме можливість відповісти безпосередньо вам.",
-       "defemailsubject": "{{SITENAME}} - електронний лист від користувача \" $1 \"",
+       "defemailsubject": "{{SITENAME}} — електронний лист від користувача «$1»",
        "usermaildisabled": "Електронне листування між користувачами вимкнене",
        "usermaildisabledtext": "Ви не можете надсилати електронні листи іншим користувачам цієї вікі",
        "noemailtitle": "Відсутня адреса електронної пошти",
        "thumbnail_image-missing": "Очевидно, відсутній файл $1",
        "thumbnail_image-failure-limit": "Там було дуже багато недавніх невдалих спроб ($1 або більше) для візуалізації цього ескізу. Будь ласка, спробуйте ще раз пізніше.",
        "import": "Імпорт статей",
-       "importinterwiki": "Ð\9cÑ\96жвÑ\96кÑ\96 Ñ\96мпоÑ\80Ñ\82",
-       "import-interwiki-text": "Вкажіть вікі й назву імпортованої сторінки.\nДати змін й імена авторів буде збережено.\nУсі операції міжвікі-імпорту реєструються в [[Special:Log/import|відповідному протоколі]].",
+       "importinterwiki": "Ð\86мпоÑ\80Ñ\82Ñ\83ваÑ\82и Ð· Ñ\96нÑ\88оÑ\97 Ð²Ñ\96кÑ\96",
+       "import-interwiki-text": "Вкажіть вікі й назву імпортованої сторінки.\nДати змін й імена авторів буде збережено.\nУсі імпорти з інших вікі реєструються у [[Special:Log/import|відповідному журналі]].",
        "import-interwiki-sourcewiki": "Джерело вікі:",
        "import-interwiki-sourcepage": "Вихідна сторінка:",
        "import-interwiki-history": "Копіювати всю історію змін цієї сторінки",
index c508fed..1b95994 100644 (file)
@@ -21,7 +21,8 @@
                        "아라",
                        "Calak",
                        "عرفان ارشد",
-                       "Obaid Raza"
+                       "Obaid Raza",
+                       "عثمان خان شاہ"
                ]
        },
        "tog-underline": "ربط کی خط کشیدگی:",
        "history_short": "تاریخچہ",
        "updatedmarker": "میری آخری آمد تک جدید",
        "printableversion": "قابل طبع نسخہ",
-       "permalink": "مستقل کڑی",
+       "permalink": "مستقل ربط",
        "print": "طباعت",
        "view": "منظر",
        "view-foreign": "$1 پر دیکھیں",
        "pool-errorunknown": "نامعلوم خطا",
        "poolcounter-usage-error": "استعمال میں خامی: $1",
        "aboutsite": "تعارف {{SITENAME}}",
-       "aboutpage": "Project:تعارف",
+       "aboutpage": "منصوبہ:تعارف",
        "copyright": "تمام مواد $1 کے تحت میسر ہے، جب تک کوئی دوسری وجہ نا ہو۔",
        "copyrightpage": "{{ns:project}}:حقوق تصانیف",
        "currentevents": "حالیہ واقعات",
        "virus-unknownscanner": "انجان ضدوائرس:",
        "logouttext": "'''اب آپ خارج ہوچکے ہیں'''\n\nآپ گمنام طور پر {{SITENAME}}  کا استعمال جاری رکھ سکتے ہیں، یا دوبارہ اسی نام یا مختلف نام سے <span class='plainlinks'>[$1 دوبارہ داخلِ نوشتہ]</span> بھی ہو سکتے ہیں۔  یہ یاد آوری کرلیجیۓ کہ کچھ صفحات ایسے نظر آتے رہیں گے کہ جیسے ابھی آپ خارج نہیں ہوئے ، جب تک آپ اپنے متصفح کا ابطن صاف نہ کردیں۔",
        "yourname": "اسمِ رکنیت",
+       "userlogin-yourname": "صارف نام",
+       "userlogin-yourname-ph": "اپنا صارف نام درج کریں",
        "yourpassword": "کلمۂ شناخت",
+       "userlogin-yourpassword": "کلمۂ شناخت",
+       "userlogin-yourpassword-ph": "اپنا کلمہ شناخت دیں",
        "createacct-yourpassword-ph": "ایک پاس ورڈ داخل کریں",
        "yourpasswordagain": "کلمۂ شناخت دوبارہ لکھیں",
        "createacct-yourpasswordagain": "کلمۂ اجازت تصدیق کریں",
        "createacct-yourpasswordagain-ph": "پاس ورڈ پھر داخل کریں",
        "remembermypassword": "اِس متصفح پر میرے داخلِ نوشتگی معلومات یاد رکھو (زیادہ سے زیادہ $1 {{PLURAL:$1|دِن|ایام}} کیلئے)",
+       "userlogin-remembermypassword": "مجھے داخل رکھے",
        "yourdomainname": "آپکا ڈومین",
        "password-change-forbidden": "آپ اس ویکی پر پارلفظ (پاس روڈ) تبدیل نہیں کر سکتے",
        "externaldberror": "یا تو توثیقی ڈیٹابیس میں خطا واقع ہوئی اور یا آپ کو بیرونی کھاتہ بتاریخ کرنے کی اِجازت نہیں ہے.",
        "logout": "اخراج",
        "userlogout": "خارج ہوجائیں",
        "notloggedin": "داخلہ نہیں ہوا",
+       "userlogin-noaccount": "کیا آپ نے کھاتہ نہیں بنایا ہوا؟",
+       "userlogin-joinproject": "منسلک ہو {{SITENAME}} سے",
        "nologin": "کیا آپ نے کھاتہ نہیں بنایا ہوا؟ '''$1'''۔",
        "nologinlink": "کھاتا بنائیں",
        "createaccount": "کھاتہ کھولیں",
        "gotaccount": "پہلے سے کھاتہ بنا ہوا ہے? '''$1'''.",
        "gotaccountlink": "داخل ہوجائیے",
        "userlogin-resetlink": "داخلِ نوشتہ ہونے کی تفاصیل بھول گئے ہیں؟",
+       "userlogin-resetpassword-link": "کلمہ شناخت بھول گئے؟",
        "createacct-emailrequired": "ای میل پتہ",
        "createacct-emailoptional": "ای میل ایڈریس (اختیاری)",
        "createacct-email-ph": "اپنا برقی پتہ لکھیں",
        "createacct-reason": "وجہ",
        "createacct-captcha": "حفاظتی تدبیر",
        "createacct-imgcaptcha-ph": "آپ اوپر دیکھ متن داخل کریں",
+       "createacct-submit": "آپ کا کھاتا بنائیں",
        "createacct-benefit-heading": "{{SITENAME}} آپ جیسے لوگوں کی طرف سے بنایا گیا ہے ۔",
        "createacct-benefit-body1": "ترمیم",
-       "createacct-benefit-body2": "صفحات",
+       "createacct-benefit-body2": "$1 {{PLURAL:$1|صفحہ|صفحات}}",
        "createacct-benefit-body3": "شرکت کرنے والے اس ماہ کے",
        "badretype": "درج شدہ کلمۂ شناخت اصل سے مطابقت نہیں رکھتا۔",
        "userexists": "داخل کردہ اسم صارف پہلے سے مستعمل ہے۔\nبراہِ کرم! کوئی دوسرا اسم منتخب کیجئے۔",
        "createaccount-text": "کسی نے {{SITENAME}} ($4) پر \"$2\" کے نام سے اور \"$3\" پارلفظ کے ساتھ آپ کا برقی پتہ استعمال کرتے ہوئے کھاتہ بنایا ہے.\nآپ کو چاہئے کہ ابھی داخلِ نوشتہ ہوکر اپنا پارلفظ تبدیل کردیں.\n\nاگر یہ کھاتہ غلطی سے بنا تھا تو آپ یہ پیغام نظرانداز کرسکتے ہیں.",
        "login-throttled": "آپ نے داخلِ نوشتہ ہونے کیلئے بہت زیادہ حالیہ کوششیں کیں.\nدوبارہ کوشش کرنے سے پہلے انتظار فرمائیے.",
        "loginlanguagelabel": "زبان: $1",
+       "pt-login": "داخل ہوجائیے",
+       "pt-login-button": "داخل ہو",
+       "pt-createaccount": "کھاتا بنائیں",
+       "pt-userlogout": "خارج ہوجائیں",
        "user-mail-no-addy": "برقی ڈاک بھیجنے کی کوشش بغیر برقی ڈاک پتہ",
        "changepassword": "کلمۂ شناخت تبدیل کریں",
        "resetpass_announce": "آپ ایک برقی ارسال کردہ عارضی رمز کے ساتھ داخل ہوئے ہیں.\nداخلِ نوشتہ کے عمل کو مکمل کرنے کیلئے آپ کو یہاں نیا پارلفظ متعین کرنا ہوگا:",
        "previewnote": "'''یاد رکھیں، یہ صرف نمائش ہے ۔آپ کی ترامیم ابھی محفوظ نہیں کی گئیں۔'''",
        "session_fail_preview": "معاف کیجئے! نشست کے مواد میں خامی کی وجہ سے آپکی  ترمیم پر عمل نہیں کیا جاسکا.\nبرائے مہربانی دوبارہ کوشش کیجئے.\nاگر آپکو پھر بھی مشکل پیش آرہی ہے تو [[Special:UserLogout|خارجِ نوشتہ]] ہوکر واپس داخلِ نوشتہ ہوجایئے.",
        "editing": "آپ \"$1\" میں ترمیم کر رہے ہیں۔",
+       "creating": "زیر تخلیق $1",
        "editingsection": "$1 کے قطعہ کی تدوین",
        "editingcomment": "زیرترمیم $1 (تبصرہ)",
        "editconflict": "تنازعہ ترمیم:$1",
        "shown-title": "فی صفحہ $1 {{PLURAL:$1|نتیجہ|نتائج}} دِکھاؤ",
        "viewprevnext": "دیکھیں($1 {{int:pipe-separator}} $2) ($3)۔",
        "searchmenu-exists": "'''اِس ویکی پر \"[[:$1]]\" نامی ایک صفحہ موجود ہے'''",
-       "searchmenu-new": "'''اِس ویکی پر صفحہ \"[[:$1]]\" تخلیق کیجئے!'''",
+       "searchmenu-new": "<strong>صفحہ \"[[:$1]]\" کو اس ویکی پر تخلیق کریں</strong> {{PLURAL:$2|0=|وہ صفحہ بھی دیکھے جو ٓپ کے تلاش میں پایا گیا|ان نتائج کو بھی دیکھے جو پائے گئے}}",
        "searchprofile-articles": "مشمولاتی صفحات",
        "searchprofile-images": "کثیرالوسیط",
        "searchprofile-everything": "سب کچھ",
        "grouppage-sysop": "{{ns:project}}:منتظمین",
        "grouppage-bureaucrat": "بیورو کریٹ",
        "right-upload": "ملفات زبراثقال (اپ لوڈ) کریں",
+       "right-writeapi": "اے پی آئی لکھائی کا استعمال",
        "right-delete": "صفحات حذف کریں",
        "right-sendemail": "دیگر صارفین کو برقی ڈاک بھیجیں",
        "newuserlogpage": "نوشتۂ آمد صارف",
        "rightslogtext": "یہ صارفی اختیارات میں تبدیلیوں کا نوشتہ ہے۔",
        "action-edit": "اس صفحہ میں ترمیم کریں",
        "nchanges": "$1 {{PLURAL:$1|تبدیلی|تبدیلیاں}}",
+       "enhancedrc-history": "تاریخچہ",
        "recentchanges": "حالیہ تبدیلیاں",
        "recentchanges-legend": "اِختیاراتِ حالیہ تبدیلیاں",
        "recentchanges-summary": "اس صفحے پر ویکی میں ہونے والی تازہ تریں تبدیلیوں کا مشاہدہ کیجیۓ۔",
        "recentchanges-label-minor": "یہ ایک معمولی ترمیم ہے",
        "recentchanges-label-bot": "یہ ایک روبالہ سے سرانجام شدہ ترمیم ہے",
        "recentchanges-label-unpatrolled": "اس ترمیم کی اب تک مراجعت نہیں کی گئی",
+       "recentchanges-label-plusminus": "صفحہ کا حجم تبدیل شدہ بلحاظ بائٹ مقدار",
        "rcnotefrom": "ذیل میں '''$2''' سے کی گئی تبدیلیاں ہیں ('''$1''' تبدیلیاں دکھائی جارہی ہیں)۔",
        "rclistfrom": "$3 $2 سےنئی تبدیلیاں دکھانا شروع کریں",
        "rcshowhideminor": "معمولی ترامیم $1",
+       "rcshowhideminor-show": "دکھائیں",
+       "rcshowhideminor-hide": "چھپائیں",
        "rcshowhidebots": "خودکار صارف $1",
+       "rcshowhidebots-show": "دکھائیں",
+       "rcshowhidebots-hide": "چھپائیں",
        "rcshowhideliu": "داخل شدہ صارف $1",
        "rcshowhideliu-show": "دکھاؤ",
        "rcshowhideliu-hide": "چھپائیں",
        "recentchangeslinked-feed": "متعلقہ تبدیلیاں",
        "recentchangeslinked-toolbox": "متعلقہ تبدیلیاں",
        "recentchangeslinked-title": "\"$1\" سے متعلقہ تبدیلیاں",
-       "recentchangeslinked-summary": "یہ ان تبدیلیوں کی فہرست ہے جو حال ہی میں کسی مخصوص صفحہ سے مربوط صفحات (یا مخصوص زمرہ کے اراکین) میں کی گئی ہیںـ \n\n[[SpecialWatchlist | آپ کی زیر نظر فہرست]] میں یہ صفحات متجل (bold) نظر آئیں گےـ",
+       "recentchangeslinked-summary": "یہ ان تبدیلیوں کی فہرست ہے جو حال ہی میں کسی مخصوص صفحہ سے مربوط صفحات (یا مخصوص زمرہ کے اراکین) میں کی گئی ہیںـ \n\n[[Special:Watchlist | آپ کی زیر نظر فہرست]] میں یہ صفحات متجل (bold) نظر آئیں گےـ",
        "recentchangeslinked-page": "صفحۂ منصوبہ دیکھئے",
        "upload": "فائل اثقال",
        "uploadbtn": "زبراثقال ملف (اپ لوڈ فائل)",
        "watchthisupload": "یہ صفحہ زیر نظر کریں",
        "license": "اجازہ:",
        "license-header": "اجازہ کاری",
+       "imgfile": "ملف",
        "listfiles": "فہرست فائل",
        "listfiles_date": "تاریخ",
        "listfiles_name": "نام",
        "listfiles-latestversion": "موجودہ ورژن",
        "listfiles-latestversion-yes": "ہاں",
        "listfiles-latestversion-no": "نہیں",
-       "file-anchor-link": "مسل",
+       "file-anchor-link": "ملف",
        "filehist": "ملف کی تاریخ",
        "filehist-help": "یہ دیکھنے کیلئے کہ کسی خاص وقت پر ملف کس طرح ظاہر ہوتا تھا اُس تاریخ یا وقت پر طق کیجئے۔",
        "filehist-deleteall": "سب حذف",
        "imagelinks": "ملف کا استعمال",
        "linkstoimage": "اِس ملف کے ساتھ درج ذیل {{PLURAL:$1|صفحہ مربوط ہے|$1 صفحات مربوط ہیں}}",
        "nolinkstoimage": "ایسے کوئی صفحات نہیں جو اس ملف (فائل) سے رابطہ رکھتے ہوں۔",
+       "upload-disallowed-here": "آپ اوپر چھڑا کر اس ملف کو نہیں لکھ سکتے۔",
        "filedelete-comment": "وجہ:",
        "filedelete-submit": "حذف کریں",
        "filedelete-success": " (\"اقدام مکمل ہوا\")۔",
        "undeleteviewlink": "دکھاؤ",
        "undeleteinvert": "انتخاب بالعکس",
        "undeletecomment": "وجہ:",
-       "namespace": "جاۓ نام:",
+       "namespace": "فضائے نام:",
        "invert": "انتخاب بالعکس",
+       "namespace_association": "متعلقہ فضا",
        "blanknamespace": "(مرکز)",
-       "contributions": "صارف کا حصہ",
+       "contributions": "{{جنس:$1|صارف}} شراکتیں",
        "contributions-title": "مساہماتِ صارف برائے $1",
        "mycontris": "میرا حصہ",
        "contribsub2": "براۓ $1 ($2)",
        "tooltip-pt-mycontris": "آپ کی شراکت کی فہرست",
        "tooltip-pt-login": "آپ کیلئے داخلِ نوشتہ ہونا اچھا ہے؛ تاہم، یہ ضروری نہیں",
        "tooltip-pt-logout": "خارجِ نوشتہ ہوجائیں",
+       "tooltip-pt-createaccount": "آپ کو مدعو کیا جاتا ہے کہ کھاتہ بنائیں۔تاہم کھاتہ بنانا لازم نہیں۔",
        "tooltip-ca-talk": "مضمون بارے تبادلۂ خیال",
        "tooltip-ca-edit": "آپ اس صفحہ میں ترمیم کرسکتے ہیں.\nبرائے مہربانی! اپنی ترمیمات محفوظ کرنے سے پہلے نمائش کا بٹن استعمال کیجئے",
        "tooltip-ca-addsection": "نیا قطعہ شروع کیجئے",
        "tooltip-search-fulltext": "اس متن کیلئے صفحات تلاش کریں",
        "tooltip-p-logo": "سرورق پر جائیے",
        "tooltip-n-mainpage": "اصل صفحہ پر جائیے",
-       "tooltip-n-mainpage-description": "اصÙ\84 ØµÙ\81Ø­Û\81 پر جائیے",
+       "tooltip-n-mainpage-description": "صÙ\81Ø­Û\81 Ø§Ù\88Ù\84 پر جائیے",
        "tooltip-n-portal": "منصوبہ کے متعلق، آپ کیا کرسکتے ہیں، چیزیں کہاں ڈھونڈنی ہیں",
        "tooltip-n-currentevents": "حالیہ واقعات پر پس منظری معلومات دیکھیئے",
        "tooltip-n-recentchanges": "ویکی میں حالیہ تبدیلیوں کی فہرست",
        "tooltip-summary": "مختصر خلاصہ درج کریں",
        "anonymous": "{{SITENAME}} گمنام صارف",
        "others": "دیگر",
+       "pageinfo-toolboxlink": "معلومات صفحہ",
        "markaspatrolledtext": "اس صفحہ کو بطور مراجعت شدہ نشان زد کریں",
        "deletedrevision": "حذف شدہ پرانی ترمیم $1۔",
        "previousdiff": "← پُرانی تدوین",
        "nextdiff": "صفحہ کا نام:",
        "file-info-size": "\n$1 × $2 عکصر (پکسلز)، حجم ملف: $3، MIME قسم: $4",
        "file-nohires": "اس سے بڑی تصمیم دستیاب نہیں۔",
-       "show-big-image": "مکمل تصمیم",
+       "show-big-image": "اصل ملف",
+       "show-big-image-preview": "اس نمائش کا حجم:$1",
+       "show-big-image-size": "$1 × $2 pixels",
        "newimages": "نئی فائلوں کی گیلری",
        "ilsubmit": "تلاش",
        "bydate": "بالحاظ تاریخ",
        "bad_image_list": "شکلبند درج ذیل ہے:\n\nصرف فہرستی عناصر (* سے شروع ہونے والی لکیری) شامل کی جاتی ہیں۔\nکسی لکیر میں پہلا ربط کوئی خراب ملف کا ہونا چاہئے۔\nاُسی لکیر میں باقی آنے والے ربط کو مستثنیٰ قرار دیا جاتا ہے، مثلاً صفحات جہاں ملف لکیر کے وسط میں آسکتا ہے۔",
        "metadata": "میٹا ڈیٹا",
        "metadata-collapse": "طویل تفاصیل چھپاؤ",
+       "exif-orientation": "پیشکش",
+       "exif-xresolution": "چھوڑاوی دکھاوت",
+       "exif-yresolution": "لمباوی دکھاوت",
+       "exif-datetime": "ملف کے تبدیلی کا تاریخ او وقت",
+       "exif-make": "کیمرے کا صانع",
+       "exif-model": "کیمرے کا ماڈل",
+       "exif-software": "سافٹویئر استعمال",
+       "exif-exifversion": "اکزیف ورژن",
+       "exif-colorspace": "رنگ فضا",
+       "exif-datetimeoriginal": "ڈیٹا بنانے کا تاریخ اور وقت",
+       "exif-datetimedigitized": "معددی کا تاریخ اور وقت",
+       "exif-orientation-1": "عام",
        "exif-meteringmode-0": "نامعلوم",
        "namespacesall": "تمام",
        "monthsall": "تمام",
        "hijri-calendar-m12": "ذوالحجہ",
        "version": "ورژن",
        "specialpages": "خصوصی صفحات",
+       "tag-filter": "[[Special:Tags|لوحہ]] فلٹر:",
+       "logentry-delete-delete": "$1 {{GENDER:$2|حذف کیا گیا}} صفحہ $3",
+       "logentry-newusers-create": "صارف کھاتہ $1 {{GENDER:$2|بنایا گیا}}",
        "rightsnone": "(کچھ نہیں)",
        "revdelete-summary": "خلاصۂ تدوین",
        "searchsuggest-search": "تلاش",
index d0b29db..b930c03 100644 (file)
        "delete-toobig": "La cronologia de sta pagina la xe longa assè (oltre $1 {{PLURAL:$1|revision|revisioni}}). La so scancelazion la xe stà limità par evitar de crear acidentalmente dei problemi de funzionamento al database de {{SITENAME}}.",
        "delete-warning-toobig": "La cronologia de sta pagina le xe longa assè (oltre $1 {{PLURAL:$1|revision|revisioni}}). La so scancelazion la pode crear dei problemi de funzionamento al database de {{SITENAME}}; procedi con cautela.",
        "rollback": "Anuła łe modifighe",
-       "rollback_short": "Rollback",
        "rollbacklink": "tira indrìo i canbiamenti",
        "rollbacklinkcount": "rollback de {{PLURAL:$1|na modifega|$1 modifeghe}}",
        "rollbacklinkcount-morethan": "rollback de pì de {{PLURAL:$1|na modifega|$1 modifeghe}}",
        "import-logentry-interwiki": "gà trasferìo da altra wiki ła pàxena $1",
        "import-logentry-interwiki-detail": "{{PLURAL:$1|una revixion importà|$1 revixion importae}} da $2",
        "javascripttest": "Sperimentasion JavaScript",
-       "javascripttest-title": "In execusion test par $1",
        "javascripttest-pagetext-noframework": "Sta pàjina ła xe riservà a l'execusion de test de JavaScript.",
        "javascripttest-pagetext-unknownframework": "Framework de test sconosùo \"$1\".",
        "javascripttest-pagetext-frameworks": "Par piasere, siełi uno de i seguenti framework pa' i test: $1",
        "javascripttest-pagetext-skins": "Siełi na skin có cui exeguir i test:",
        "javascripttest-qunit-intro": "Varda so mediawiki.org ła [$1 documentasion rivardante i test].",
-       "javascripttest-qunit-heading": "Suite de test de JavaScript par QUnit in MediaWiki",
        "tooltip-pt-userpage": "La to pagina utente",
        "tooltip-pt-anonuserpage": "La pàxena utente de sto indirizo IP",
        "tooltip-pt-mytalk": "La to pagina de discussion",
        "version-parser-function-hooks": "Hook par funzioni del parser",
        "version-hook-name": "Nome de l'hook",
        "version-hook-subscribedby": "Sotoscrizioni",
-       "version-version": "(Version $1)",
+       "version-version": "($1)",
        "version-license": "Licensa MediaWiki",
        "version-ext-license": "Licensa",
        "version-ext-colheader-name": "Estension",
index bd9b398..9c2cb03 100644 (file)
        "delete-toobig": "Necil lehtpolel om avar redaktiruinadan istorii - enamba {{PLURAL:$1|versii|versijad}}.\nMugoižiden lehtpoliden čudand om kel'tud, miše sait radaiži normaližikš.",
        "delete-warning-toobig": "Necil lehtpolel om avar redaktiruinadan istorii - enamba $1 {{PLURAL:$1|versii|versijad}}.\nMugoižiden lehtpoliden čudand voiži telustada {{SITENAME}}-saitan andmuzbazan normaližele radole.\nTehkat kaik varumujandanke!",
        "rollback": "Endištada toižetused",
-       "rollback_short": "Endištuz",
        "rollbacklink": "Endištada",
        "rollbackfailed": "Endištuz om keskustadud petusen tagut.",
        "cantrollback": "Ei voi endištada toižetusid;\nJäl'gmäine toižetai om üksjäižen lehtpolen avtoran.",
        "hijri-calendar-m1": "Muharram",
        "hijri-calendar-m2": "Safar",
        "hijri-calendar-m3": "Rabi al-aual",
-       "unknown_extension_tag": "Tundmatoi \"$1\"-ližanvirg",
        "duplicate-defaultsort": "'''Varutuz:''' Sortiruindan avadim äugotižjärgendusen mödhe \"$2\" toižetab edeližen avadimen äugotižjärgendusen mödhe \"$1\".",
        "version": "Versii",
        "version-extensions": "Seižutadud ližad",
        "version-parser-function-hooks": "Sintaksižen analizatoran funkcijoiden sabutajad",
        "version-hook-name": "Sabustajan nimi",
        "version-hook-subscribedby": "Ezipakitoitajad",
-       "version-version": "(Versii $1)",
+       "version-version": "($1)",
        "version-license": "Licenzii",
        "version-poweredby-others": "toižed",
        "version-software": "Seižutadud programmišt",
index 76b05b3..57b76fd 100644 (file)
        "version-parser-function-hooks": "Hook cho hàm cú pháp trong bộ xử lý",
        "version-hook-name": "Tên hook",
        "version-hook-subscribedby": "Được theo dõi bởi",
-       "version-version": "(Phiên bản $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[không tên]",
        "version-license": "Giấy phép MediaWiki",
        "version-ext-license": "Giấy phép",
index 7541c02..680badc 100644 (file)
        "version-hooks": "Huköms",
        "version-hook-name": "Hukömanem",
        "version-hook-subscribedby": "Pagebon fa",
-       "version-version": "(Fomam $1)",
+       "version-version": "($1)",
        "version-license": "Dälazöt",
        "version-poweredby-others": "votikans",
        "version-software": "Programs pestitöl",
index e4c02cf..a65ac57 100644 (file)
        "watchlisttools-raw": "Toimõndaq lätteteedüstüt",
        "duplicate-defaultsort": "'''Hoiatus:''' Sortmisvõti \"$2\" tühistäs ärq innembädse sortmisvõtmõ \"$1\".",
        "version": "Kujo",
-       "version-version": "(Kujo $1)",
+       "version-version": "($1)",
        "version-software-version": "Kujo",
        "fileduplicatesearch-filename": "Teedüstünimi:",
        "fileduplicatesearch-submit": "Otsiq",
index ad7f250..e76c71c 100644 (file)
        "deletereason-dropdown": "*Agsob nga rason hin pagpara\n** Spam\n** Bandalismo\n** Pagtalapas ha katungod hin pagtatag-iya (''copyright'')\n** Tugon han manunurat\n** Utod nga redirek",
        "delete-edit-reasonlist": "Igliwat an mga rason han pagpara",
        "rollback": "Mga libot-pabalik nga pagliwat",
-       "rollback_short": "Libot-pabalik",
        "rollbacklink": "libot-pabalik",
        "rollbackfailed": "Diri malinamposon an paglibot-pabalik",
        "revertpage": "Ginpabalik an ginliwat ni [[Special:Contributions/$2|$2]] ([[User talk:$2|hiruhimangraw]]) ngadto ha urhi nga pagliwat ni [[User:$1|$1]]",
        "version-mediahandlers": "Mga nakapot han medya",
        "version-hooks": "Mga kawil",
        "version-hook-name": "Ngaran han kawil",
-       "version-version": "(Bersion $1)",
+       "version-version": "($1)",
        "version-license": "MediaWiki nga Lisensya",
        "version-poweredby-credits": "Ini nga wiki in pinapaandar han '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "mga iba",
index cb5406e..03b7754 100644 (file)
        "right-editmyusercss": "רעדאקטירע אײַערע אייגענע באניצער CSS טעקעס",
        "right-editmyuserjs": "רעדאקטירן אײַערע אייגענע באניצער JavaScript טעקעס",
        "right-viewmywatchlist": "באקוקן אייער אייגענע אויפפאסונג ליסטע",
-       "right-editmywatchlist": "רעדאקטירן אייער אייגענע אויפפאסונג ליסטער. טייל פעולות וועלן דאך צולייגן בלעטער אפילו אן דעם רעכט.",
+       "right-editmywatchlist": "רעדאקטירן אייער אייגענע אויפפאסונג ליסטע. טייל פעולות וועלן דאך צולייגן בלעטער אפילו אן דעם רעכט.",
        "right-viewmyprivateinfo": "באקוקן אײַער אייגענע פריוואטע דאטן (צ\"ב ע־פאסט אדרעס, אמתער נאמען)",
        "right-editmyprivateinfo": "רעדאקטירן אײַער אייגענע פריוואטע דאטן (צ\"ב ע־פאסט אדרעס, אמתער נאמען)",
        "right-editmyoptions": "רעדאקטירן אײַערע אייגענע פרעפערענצן",
        "thumbnail_gd-library": "אומפולשטענדיקע קאנפיגוראציע פאר דער GD-ביבליאטעק: פונקציע $1 פעלט",
        "thumbnail_image-missing": "טעקע פֿעלט אייגנטלעך: $1",
        "import": "אימפארטירן בלעטער",
-       "importinterwiki": "×\90ר×\99×\91ער×\95×\95×\99ק×\99 ×\90×\99×\9eפ×\90ר×\98",
-       "import-interwiki-text": "ק×\9c×\95×\99×\91×\98 ×\90×\95×\99ס ×\90 ×\95×\95×\99ק×\99 ×\90×\95×\9f ×\90×\9f ×\90ר×\98×\99ק×\9c ×§×¢×¤×\9c ×¦×\95 ×\90×\99×\9eפ×\90ר×\98×\99ר×\9f.\n×\93×\99 ×\93×\90×\98עס ×\90×\95×\9f ×\93×\99 × ×¢×\9e×¢×\9f ×¤×\95×\9f ×\93×\99 ×¨×¢×\93×\90ק×\98×\90ר×\9f ×\95×\95×¢×\98 ×\95×\95ער×\9f ×\92×¢×\94×\99×\98×\9f.\n×\90×\9c×¢ ×¦×\95×\95×\99שנ×\95×\95×\99ק×\99 ×\90×\99×\9eפ×\90ר×\98 ×\90קצ×\99×¢ס ווערן פארשריבן אינעם   [[Special:Log/import|אימפארט לאג]].",
+       "importinterwiki": "×\90×\99×\9eפ×\90ר×\98×\99ר×\9f ×¤Ö¿×\95×\9f ×\90Ö·×\9f ×\90Ö·× ×\93ער ×\95×\95×\99ק×\99",
+       "import-interwiki-text": "ק×\9c×\95×\99×\91×\98 ×\90×\95×\99ס ×\90 ×\95×\95×\99ק×\99 ×\90×\95×\9f ×\90×\9f ×\90ר×\98×\99ק×\9c ×§×¢×¤×\9c ×¦×\95 ×\90×\99×\9eפ×\90ר×\98×\99ר×\9f.\n×\93×\99 ×\93×\90×\98עס ×\90×\95×\9f ×\93×\99 × ×¢×\9e×¢×\9f ×¤×\95×\9f ×\93×\99 ×¨×¢×\93×\90ק×\98×\90ר×\9f ×\95×\95×¢×\98 ×\95×\95ער×\9f ×\92×¢×\94×\99×\98×\9f.\n×\90×\9c×¢ ×\90×\99×\9eפ×\90ר×\98×\9f ×¤×\95×\9f ×\90× ×\93ערע ×\95×\95×\99ק×\99ס ווערן פארשריבן אינעם   [[Special:Log/import|אימפארט לאג]].",
        "import-interwiki-sourcewiki": "מקור וויקי:",
        "import-interwiki-sourcepage": "מקור בלאַט:",
        "import-interwiki-history": "קאפירן אלע היסטאריע ווערסיעס פאר דעם בלאט",
        "importcantopen": "נישט געקענט עפֿענען אימפארט טעקע",
        "importbadinterwiki": "שלעכטע אינטערוויקי לינק",
        "importsuccess": "!אימפארט אדורכגעפירט מיט דערפאלג!",
-       "importnosources": "ק×\99×\99×\9f ×\9eק×\95ר×\95ת ×¤Ö¿×\90ַר ×¦×\95×\95×\99ש×\9fÖ¾×\95×\95×\99ק×\99 ×\90×\99×\9eפ×\90רט, און דירעקט היסטאריע אַרויפֿלאָדן איז נישט דערמעגלעכט אַצינד.",
+       "importnosources": "ק×\99×\99×\9f ×\95×\95×\99ק×\99ס ×¤Ö¿×\95×\9f ×\95×\95×¢×\9e×¢×\9f ×¦×\95 ×\90×\99×\9eפ×\90ר×\98×\99ר×\9f ×\96×¢× ×¢×\9f ×\93עפ×\99× ×\99רט, און דירעקט היסטאריע אַרויפֿלאָדן איז נישט דערמעגלעכט אַצינד.",
        "importnofile": "קיין אימפארט טעקע איז נישט ארויפֿגעלאדן.",
        "importuploaderrorsize": "אַרויפֿלאָדן פֿון אימפארט טעקע דורכגעפֿאלן.\nדי טעקע איז גרעסער פֿון דער דערלויבטער אַרויפֿלאָדן גרייס.",
        "importuploaderrorpartial": "אַרויפֿלאָדן פֿון אימפארט טעקע דורכגעפֿאלן.\nדי טעקע איז נאר טיילווייז אַרויפֿגעלאָדן.",
        "tooltip-pt-mycontris": "ליסטע פון אייערע ביישטייערונגען",
        "tooltip-pt-login": "עס איז רעקאָמענדירט זיך אײַנשרײַבן; ס'איז אבער נישט קיין פֿליכט",
        "tooltip-pt-logout": "ארויסלאגירן",
+       "tooltip-pt-createaccount": "איר ווערט דערמוטיגט צו שאפן א קאנטע און אריינלאגירן; ס'איז אביר נישט אבליגאטאריש",
        "tooltip-ca-talk": "שמועס וועגן דעם אינהאַלט בלאַט",
        "tooltip-ca-edit": "איר קענט ענדערן דעם בלאט. ביטע באניצט דעם ''פֿארויסקוק'' קנעפל בעפֿארן אפהיטן",
        "tooltip-ca-addsection": "אָנהייבן א נײַע אָפטיילונג",
        "version-hooks": "Hook סטרוקטורן",
        "version-parser-extensiontags": "פארזער פארברייטערן טאַגן",
        "version-hook-name": "נאמען פון hook",
-       "version-version": "(ווערסיע $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[קיין נאמען]",
        "version-license": "מעדיעוויקי ליצענץ",
        "version-ext-license": "ליצענץ",
index 21dc246..4c0af82 100644 (file)
        "delete-toobig": "Ojúewé yìí ní ìtàn àtúnṣe tótóbi, ó pọ̀ ju {{PLURAL:$1|àtúnyẹ̀wò}} $1 lọ.\nÌparẹ́ irú àwọn ojúewé báyìí ti jẹ́ dídílọ́nà láti dènà àsìṣe ìdílọ́wọ́ sí {{SITENAME}}.",
        "delete-warning-toobig": "Ojúewé yìí ní ìtàn àtúnṣe tótóbi, ó pọ̀ ju {{PLURAL:$1|àtúnyẹ̀wò}} $1 lọ.\nÌparẹ́ rẹ̀ le dí ìsiṣẹ́ ibùdó dátà lọ́wọ́ lórí {{SITENAME}}; ẹ ṣè fura.",
        "rollback": "Yí àwọn àtúnṣe sẹ́yìn",
-       "rollback_short": "Yísẹ́yìn",
        "rollbacklink": "yísẹ́yìn",
        "rollbacklinkcount": "ìyíṣẹ́yìn {{PLURAL:$1|àtúnṣe|àtúnṣe}} $1",
        "rollbacklinkcount-morethan": "ìyíṣẹ́yìn {{PLURAL:$1|àtúnṣe|àtúnṣe}} tó ju $1 lọ",
        "import-logentry-interwiki": "mú $1 wá láti inú wiki míràn",
        "import-logentry-interwiki-detail": "{{PLURAL:$1|Àtúnyẹ̀wò|Àwọn àtúnyẹ̀wò}} $1 láti $2",
        "javascripttest": "Ìdánwò JavaScript",
-       "javascripttest-title": "Únṣe ìdánwò $1",
        "javascripttest-pagetext-noframework": "Ojúewé yìí jẹ́ dídásílẹ̀ fún ṣíṣe ìdánwò JavaScript.",
        "javascripttest-pagetext-skins": "Ẹ mú irú ojú ara tí ẹ fẹ́ lò láti ṣe àdánwò náà:",
        "javascripttest-qunit-intro": "Ẹ wo [$1 ìwé aṣàlàyé ìdánwò] ní mediawiki.org.",
-       "javascripttest-qunit-heading": "Ibi ìdánwò QUnit JavaScript MediaWiki",
        "tooltip-pt-userpage": "Ojúewé oníṣe yín",
        "tooltip-pt-anonuserpage": "Ojúewé oníṣe fún àdírẹ́ẹ̀sì IP tí ẹ únlò láti ṣàtúnṣe",
        "tooltip-pt-mytalk": "Ojúewé ọ̀rọ̀ yín",
        "watchlisttools-edit": "Ìwò àti àtúnṣe ìmójútó",
        "watchlisttools-raw": "Ẹ ṣ'àtúnṣe àkójọ ìmójútó látìbẹ̀rẹ̀",
        "signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|ọ̀rọ̀]])",
-       "unknown_extension_tag": "Àlẹ̀mọ́ ìfàgùn àìdámọ̀ \"$1\"",
        "duplicate-defaultsort": "'''Ìkìlọ̀:''' Bọ́tìnì ìtò àkọ́kọ́ṣe \"$2\" dípò Bọ́tìnì ìtò àkọ́kọ́ṣe \"$1\" tẹ́lẹ̀.",
        "version": "Àtẹ̀jáde",
        "version-extensions": "Àwọn ìfàgùn kíkànsínú",
        "version-other": "Òmíràn",
        "version-hooks": "Àwọn hook",
        "version-hook-name": "Orúkọ hook",
-       "version-version": "(Àtẹ̀jáde $1)",
+       "version-version": "($1)",
        "version-license": "Ìwé àṣẹ",
        "version-poweredby-credits": "Agbára ìṣiṣẹ́ wiki yìí wá látọwọ́ '''[https://www.mediawiki.org/ MediaWiki]''', copyright © 2001-$1 $2.",
        "version-poweredby-others": "àwọn mìíràn",
index 0924acb..b03a2b2 100644 (file)
        "version-parser-function-hooks": "語法函數鈎",
        "version-hook-name": "鈎名",
        "version-hook-subscribedby": "利用於",
-       "version-version": "(版本 $1)",
+       "version-version": "($1)",
        "version-license": "牌照",
        "version-poweredby-credits": "呢個 Wiki 係由 '''[https://www.mediawiki.org/ MediaWiki]''' 驅動,版權所有 © 2001-$1 $2。",
        "version-poweredby-others": "其他",
index 42d4ba1..285afdf 100644 (file)
@@ -3,7 +3,8 @@
                "authors": [
                        "NJ",
                        "Ooswesthoesbes",
-                       "아라"
+                       "아라",
+                       "Robin0van0der0vliet"
                ]
        },
        "tog-underline": "Lienks onderstreepn:",
        "cancel": "Afbreke",
        "moredotdotdot": "Meêr …",
        "mypage": "Mien gebrukerspagina",
-       "mytalk": "Mien overleg",
+       "mytalk": "Overleg",
        "anontalk": "Discussie vò dit IP-adres",
        "navigation": "Navigaotie",
        "and": "&#32;en",
        "titleprotected": "'t Anmaeken van deêze pagina is beveiligd deur [[User:$1|$1]].\nDe heheven reeën is ''$2''.",
        "logouttext": "'''Je bin noe ofemeld.'''\n\nJe kan {{SITENAME}} noe anoniem gebruken of wee anmelden as dezelven of een aore gebruker.\nMeuhlijk worn nog een antal pagina's weereheven asof a je anemeld bin totda je de cache van je browser leeg.",
        "yourname": "Gebrukersnaem",
+       "userlogin-yourname": "Gebrukersnaem",
        "yourpassword": "Wachtwoôrd",
+       "userlogin-yourpassword": "Wachtwoôrd",
        "yourpasswordagain": "Heef je wachtwoôrd opnieuw in:",
        "remembermypassword": "Anmeldhehevens ontouwen (maximaal $1 {{PLURAL:$1|dag|daege}})",
        "yourdomainname": "Je domein:",
        "createaccount-title": "Gebrukers anmaeken voe {{SITENAME}}",
        "createaccount-text": "Iemand ei een gebruker op {{SITENAME}} ($4) anemikt mie de naem \"$2\" en joen e-mailadres. 't Wachtwoôrd voe \"$2\" is \"$3\". Mel jen eihen an en wiezig je wachtwoôrd.\n\nNeheer dit bericht as deêze gebruker zonder joe medeweten is anemikt.",
        "loginlanguagelabel": "Taele: $1",
+       "pt-login": "Anmelden",
+       "pt-login-button": "Anmelden",
+       "pt-userlogout": "Ofmelden",
        "changepassword": "Wachtwoôrd wiezigen",
        "resetpass_announce": "Je bin anemeld mie een tiedelijke code die a je per e-mail is toe-ezon'n. Voer een nieuw wachtwoôrd in om 't anmelden te voltooien:",
        "resetpass_header": "Wachtwoôrd herinstell'n",
        "search-external": "Extern zoeken",
        "searchdisabled": "Zoeken in {{SITENAME}} is nie meuhlijk.\nJe kan gebruuk maeken van Google.\nDe hehevens over {{SITENAME}} zien meuhlijk nie bie'ewerkt.",
        "preferences": "Vòkeuren",
-       "mypreferences": "Mien vòkeuren",
+       "mypreferences": "Vòkeuren",
        "prefs-edits": "Antal bewerkiengen:",
        "prefs-skin": "Vurmhevieng",
        "skin-preview": "Voevertoônienge",
        "watchthisupload": "Volg deêze bladzie",
        "license": "Licentie:",
        "license-header": "Licentie",
+       "imgfile": "bestand",
        "file-anchor-link": "Bestand",
        "filehist": "Bestandsgeschiedenisse",
        "filehist-help": "Klik op 'n datum/tied om 't bestand te zien zoas 't van d'r tied woas.",
        "emailuser": "E-mail deêze gebruker",
        "emailpage": "E-mail gebruker",
        "watchlist": "Volglieste",
-       "mywatchlist": "Mien volglieste",
+       "mywatchlist": "Volglieste",
        "watchlistfor2": "Vò $1 $2",
        "watchnologin": "Je bin nie angemolde.",
        "addedwatchtext": "De bladzie \"[[:$1]]\" is an je [[Special:Watchlist|Volglieste]] toegevoegd.\nVeranderiengen an deêze bladzie en de overlegbladzie die-a d'rbie oort zulle ierop zichtbaer ore\nen de bladzie komt '''vet''' te staen in de [[Special:RecentChanges|lieste van wat-a juust veranderd is]], daermee 't makkeliker te vinden is.\nA je de bladzie laeter weêr van je volglieste afaele wil, klik dan op \"nie meêr volge\" bovenan de bladzie.",
        "blanknamespace": "(Artikels)",
        "contributions": "Biedraegen gebruker",
        "contributions-title": "Biedraen van $1",
-       "mycontris": "Mien biedraegen",
+       "mycontris": "Biedraegen",
        "contribsub2": "Vò $1 ($2)",
        "uctop": "(laetste wiezigieng)",
        "month": "Von maend (en eêder):",
        "file-nohires": "Hin 'oôgere resolutie beschikbaer",
        "svg-long-desc": "SVG-bestand, nominaal $1 × $2 pixels, bestandshroôtte: $3",
        "show-big-image": "Volledige resolutie",
+       "show-big-image-size": "$1 × $2 pixels",
        "bad_image_list": "De opmaek is as vogt:\n\nAlleên regels in 'n lieste (regels die beginn'n mè *) worr'n verwarkt.\nDe eêste verwiezienge op 'n regel moe 'n verwiezienge zin nir 'n ongewenst bestand.\nAolle voggende verwieziengen die op dezelfde regel staen, worr'n behandeld as uutzonderienge, zoas bievòbild pagina's wirop 't bestand in de tekst is opgenaem'n.",
        "metadata": "Metadata",
        "metadata-help": "Dit bestand bevat anvullende informaotie, die deur 'n fotocaomera, scanner of fotobewarkiengsprogramma toegevoegd kan zien. As 't bestand angepast is, kommen details mogelijk nie overeên mei 't gewiezigde bestand.",
        "revdelete-restricted": "ei beperkiengen an beheêrders opeleid",
        "revdelete-unrestricted": "ei beperkiengen voe beheêrders opeheven",
        "rightsnone": "(hin)",
-       "revdelete-summary": "saemenvattieng bewerken"
+       "revdelete-summary": "saemenvattieng bewerken",
+       "searchsuggest-search": "Zoek"
 }
index b232841..d19049c 100644 (file)
@@ -80,7 +80,8 @@
                        "Duolaimi",
                        "TianyinLee",
                        "NigelSoft",
-                       "Zhuyifei1999"
+                       "Zhuyifei1999",
+                       "Davidzdh"
                ]
        },
        "tog-underline": "链接下划线:",
        "readonly_lag": "附属数据库服务器正在将缓存更新到主服务器上,数据库已被自动锁定",
        "internalerror": "内部错误",
        "internalerror_info": "内部错误:$1",
+       "internalerror-fatal-exception": "类型“$1”的致命错误",
        "filecopyerror": "无法将文件“$1”复制到“$2”。",
        "filerenameerror": "无法将文件“$1”重命名为“$2”。",
        "filedeleteerror": "无法删除文件“$1”。",
        "showpreview": "显示预览",
        "showdiff": "显示更改",
        "blankarticle": "<strong>警告</strong>:您创建的页面是空白的。如果您再次点击“{{int:savearticle}}”,您将真的创建没有任何内容的页面。",
-       "anoneditwarning": "<strong>警告:</strong>您没有登录。您做出任何编辑后您的IP地址会公开可见。如果您<strong>[$1 登陆]</strong>或<strong>[$2 注册]</strong>一个账户,您的编辑将归属于您的用户名,以及有其他好处。",
+       "anoneditwarning": "<strong>警告:</strong>您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您<strong>[$1 登陆]</strong>或<strong>[$2 创建]</strong>一个账户,您的编辑将归属于您的用户名,且将享受其他好处。",
        "anonpreviewwarning": "<em>你没有登录。保存会记录你的IP地址于该页面的编辑历史中。</em>",
        "missingsummary": "'''提示:'''你没有提供编辑摘要。如果你再次点击“{{int:savearticle}}”,你的编辑将不带编辑摘要保存。",
        "selfredirect": "<strong>警告:</strong>您正在将此页面重定向至它自己。\n您可能指定了错误的重定向目标,或者您正在编辑错误的页面。\n如果您再次点击“{{int:savearticle}}”,重定向将无论如何被创建。",
        "number_of_watching_users_pageview": "[$1个关注用户]",
        "rc_categories": "分类限制(用“|”分隔)",
        "rc_categories_any": "任意",
-       "rc-change-size-new": "更改后$1字节",
+       "rc-change-size-new": "更改后$1字节",
        "newsectionsummary": "/* $1 */ 新段落",
        "rc-enhanced-expand": "显示细节",
        "rc-enhanced-hide": "隐藏细节",
        "unusedimages": "未使用文件",
        "wantedcategories": "需要的分类",
        "wantedpages": "需要的页面",
+       "wantedpages-summary": "被链接最多次的不存在页面的列表,除了只链接到这些页面的重定向页面。关于链接到不存在页面的重定向页面列表,参见[[{{#special:BrokenRedirects}}]]。",
        "wantedpages-badtitle": "在结果组上的无效标题:$1",
        "wantedfiles": "需要的文件",
        "wantedfiletext-cat": "以下文件被使用,但并不存在。来自外部库的文件即使存在也可能被列出。任何这类误报会用<del>删除线</del>标记。另外,插入不存在的文件的页面列于[[:$1]]。",
        "thumbnail_image-missing": "文件可能丢失:$1",
        "thumbnail_image-failure-limit": "近期尝试生成此缩略图失败太多次($1次或更多)。请稍后再试。",
        "import": "导入页面",
-       "importinterwiki": "wiki导入",
-       "import-interwiki-text": "选择要导入的wiki和页面标题,导入版本的日期和编辑者名称会被保存。所有的跨wiki导入操作都将记录到[[Special:Log/import|导入日志]]。",
+       "importinterwiki": "从其他wiki导入",
+       "import-interwiki-text": "选择要导入的wiki和页面标题,导入版本的日期和编辑者名称会被保存。所有从其他wiki的导入都记录在[[Special:Log/import|导入日志]]中。",
        "import-interwiki-sourcewiki": "来源wiki:",
        "import-interwiki-sourcepage": "来源页面:",
        "import-interwiki-history": "复制此页的所有历史版本",
        "importcantopen": "无法打开导入文件",
        "importbadinterwiki": "无效的跨wiki链接",
        "importsuccess": "导入完成!",
-       "importnosources": "跨Wiki导入源没有定义,同时不允许直接的历史上传。",
+       "importnosources": "没有定义导入的来源wiki,且直接的历史上传被禁用。",
        "importnofile": "没有上传导入文件。",
        "importuploaderrorsize": "上传导入文件失败。文件大于可以允许的上传大小。",
        "importuploaderrorpartial": "上传导入文件失败。文件只有部份已经上传。",
        "tooltip-pt-preferences": "你的设置",
        "tooltip-pt-watchlist": "你正在监视更改的页面的列表",
        "tooltip-pt-mycontris": "你的贡献的列表",
-       "tooltip-pt-login": "我们鼓励您登录,不过这不是强制的",
+       "tooltip-pt-login": "建议您登录,但并非强制",
        "tooltip-pt-logout": "退出登录",
-       "tooltip-pt-createaccount": "我们鼓励您创建一个账户并登录;然而这不是强制的",
+       "tooltip-pt-createaccount": "建议您创建一个账户并登录,但这不是强制的",
        "tooltip-ca-talk": "关于内容页面的讨论",
        "tooltip-ca-edit": "你可以编辑本页面。请在保存前使用预览按钮",
        "tooltip-ca-addsection": "开始新段落",
        "tooltip-ca-delete": "删除本页",
        "tooltip-ca-undelete": "将这个页面恢复到被删除以前的状态",
        "tooltip-ca-move": "移动本页",
-       "tooltip-ca-watch": "添加本页面至您的监视列表",
+       "tooltip-ca-watch": "将本页面添加至您的监视列表",
        "tooltip-ca-unwatch": "从你的监视列表删除本页面",
        "tooltip-search": "搜索{{SITENAME}}",
-       "tooltip-search-go": "如果相同的标题存在的话便直接前往该页面",
+       "tooltip-search-go": "若相同标题存在,则直接前往该页面",
        "tooltip-search-fulltext": "搜索含这些文字的页面",
        "tooltip-p-logo": "访问首页",
        "tooltip-n-mainpage": "访问首页",
        "tooltip-n-mainpage-description": "访问首页",
-       "tooltip-n-portal": "关于本项目,你可以做什么,在哪里找到你需要的事物",
+       "tooltip-n-portal": "关于本项目,你可做的事,何处找到你所需",
        "tooltip-n-currentevents": "查看当前事件的背景信息",
        "tooltip-n-recentchanges": "本wiki最近更改的列表",
        "tooltip-n-randompage": "载入一个随机页面",
        "tooltip-watchlistedit-raw-submit": "更新监视列表",
        "tooltip-recreate": "重建该页面,无论是否被删除。",
        "tooltip-upload": "开始上传",
-       "tooltip-rollback": "单击“回退”恢复最后贡献者对该页面的编辑",
+       "tooltip-rollback": "单击“回退”恢复最后一位贡献者对该页面的编辑",
        "tooltip-undo": "“撤销”可以恢复该编辑并在预览模式下打开编辑表单。它允许在摘要中加入原因。",
        "tooltip-preferences-save": "保存系统设置",
        "tooltip-summary": "请输入简短的摘要",
        "version-parser-function-hooks": "解析器函数钩",
        "version-hook-name": "钩名",
        "version-hook-subscribedby": "署名",
-       "version-version": "(版本 $1)",
+       "version-version": "($1)",
        "version-no-ext-name": "[无名称]",
        "version-license": "MediaWiki协议",
        "version-ext-license": "许可协议",
index e88450d..5ba0a9a 100644 (file)
        "createacct-emailoptional": "電子郵件地址(選填)",
        "createacct-email-ph": "輸入您的電子郵件地址",
        "createacct-another-email-ph": "輸入電子郵件位址",
-       "createaccountmail": "使用臨時的隨機密碼,並將它傳送到指定的電子郵件址",
+       "createaccountmail": "使用臨時的隨機密碼,並將它傳送到指定的電子郵件址",
        "createacct-realname": "真實姓名 (選填)",
        "createaccountreason": "原因:",
        "createacct-reason": "原因",
        "emailnotauthenticated": "您的電子郵件位址尚未確認,\n尚不會寄出以下功能的電子郵件給您。",
        "noemailprefs": "在您的偏好設定中設定電子郵件位址,讓您可以使用這些功能。",
        "emailconfirmlink": "確認您的電子郵件位址",
-       "invalidemailaddress": "無法接受格式不正確的電子郵件位址,\n請輸入正確的電子郵件位址格式或略過填寫該欄位。",
+       "invalidemailaddress": "無法接受格式不正確的電子郵件地址,\n請輸入正確的電子郵件地址格式或略過填寫該欄位。",
        "cannotchangeemail": "此 Wiki 不允許更改帳號的電子郵件位址。",
        "emaildisabled": "此網站不能傳送電子郵件。",
        "accountcreated": "已建立帳號",
        "passwordreset-emailsent": "已寄出重設密碼的電子郵件。",
        "passwordreset-emailsent-capture": "已寄出重設密碼的電子郵件,並於下方顯示。",
        "passwordreset-emailerror-capture": "下列為重設密碼的電子郵件內容,傳送給{{GENDER:$2|使用者}}失敗:$1",
-       "changeemail": "變更電子郵件址",
-       "changeemail-text": "完成此表單以修改您的電子郵件址,您需要輸入您的密碼來確認此次變更。",
+       "changeemail": "變更電子郵件址",
+       "changeemail-text": "完成此表單以修改您的電子郵件址,您需要輸入您的密碼來確認此次變更。",
        "changeemail-no-info": "您必須登入方可直接存取此頁面。",
        "changeemail-oldemail": "目前的電子郵件位址:",
        "changeemail-newemail": "新的電子郵件位址:",
        "accmailtitle": "密碼已寄出",
        "accmailtext": "[[User talk:$1|$1]] 的隨機密碼已經寄送至 $2,可登入後至 <em>[[Special:ChangePassword|變更密碼]] 頁面更改</em>。",
        "newarticle": "(新)",
-       "newarticletext": "æ\82¨æ­£é\80£çµ\90è\87³ä¸\80é \81ä¸\8då­\98å\9c¨é \81é\9d¢ã\80\82\nè¦\81建ç«\8b該é \81é\9d¢ï¼\8cè«\8bå\9c¨ä¸\8bæ\96¹ç\9a\84編輯æ¡\86中輸å\85¥å\85§å®¹ (詳æ\83\85è«\8bå\8f\83è\80\83 [$1 èª¬æ\98\8eé \81é\9d¢])。\n如果您是不小心來到此頁面,請點選瀏覽器的 <strong>返回</strong> 按鈕。",
+       "newarticletext": "æ\82¨æ­£é\80£çµ\90è\87³ä¸\80é \81ä¸\8då­\98å\9c¨é \81é\9d¢ã\80\82\nè¦\81建ç«\8b該é \81é\9d¢ï¼\8cè«\8bå\9c¨ä¸\8bæ\96¹ç\9a\84編輯æ\96¹å¡\8a中輸å\85¥å\85§å®¹ ï¼\88詳æ\83\85è«\8bå\8f\83è\80\83 [$1 èª¬æ\98\8eé \81é\9d¢]ï¼\89。\n如果您是不小心來到此頁面,請點選瀏覽器的 <strong>返回</strong> 按鈕。",
        "anontalkpagetext": "----\n<em>此討論頁面是給尚未建立帳號的匿名使用者使用</em>\n因此我們必須使用 IP 位址來辨識身份,但相同的 IP 位址可能由許多不同的使用者所共用。\n如果您是匿名使用者並且覺得評論的內容與您無關,請 [[Special:UserLogin/signup|建立新帳號]] 或 [[Special:UserLogin|登入]] 避免與其他匿名使用者混淆。",
        "noarticletext": "此頁面目前沒有內容,您可以在其它頁面中[[Special:Search/{{PAGENAME}}|搜尋此頁面標題]]、<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜尋相關日誌]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 編輯此頁]</span>。",
        "noarticletext-nopermission": "此頁面目前沒有內容,\n您可以在其它頁面中 [[Special:Search/{{PAGENAME}}|搜尋此頁面標題]],或 <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜尋相關日誌]</span>,但您沒有權限建立此頁面。",
        "expensive-parserfunction-category": "使用了太多消耗系統資源的分析函數的頁面",
        "post-expand-template-inclusion-warning": "<strong>警告:</strong>引用樣板後大小超出限制。\n部份樣板內容將不會被使用。",
        "post-expand-template-inclusion-category": "引用樣板後大小超出限制的頁面",
-       "post-expand-template-argument-warning": "<strong>è­¦å\91\8aï¼\9a</strong>æ­¤é \81é\9d¢æ\9c\89ä¸\80å\80\8b以ä¸\8aç\9a\84樣板參數過長。\n過長的參數會被直接忽略。",
+       "post-expand-template-argument-warning": "<strong>è­¦å\91\8aï¼\9a</strong>æ­¤é \81é\9d¢æ\9c\89ä¸\80å\80\8b以ä¸\8aç\9a\84模板參數過長。\n過長的參數會被直接忽略。",
        "post-expand-template-argument-category": "樣板參數有部份被忽略的頁面",
        "parser-template-loop-warning": "偵測到樣板遞迴:[[$1]]",
        "parser-template-recursion-depth-warning": "超出樣板遞迴深度限制 ($1)",
        "listgrouprights-rights": "權限",
        "listgrouprights-helppage": "Help:Group rights",
        "listgrouprights-members": "(成員清單)",
-       "listgrouprights-addgroup": "加入{{PLURAL:$2|群組|群組}}:$1",
+       "listgrouprights-addgroup": "加入{{PLURAL:$2|群組}}:$1",
        "listgrouprights-removegroup": "移除{{PLURAL:$2|群組|群組}}:$1",
        "listgrouprights-addgroup-all": "加入所有群組",
        "listgrouprights-removegroup-all": "移除所有群組",
        "usermaildisabled": "使用者電子郵件已停用",
        "usermaildisabledtext": "您不能傳送信件到這個 Wiki 上的其他使用者",
        "noemailtitle": "沒有電子郵件位址",
-       "noemailtext": "此使用者尚未指定一個有效的電子郵件址。",
+       "noemailtext": "此使用者尚未指定一個有效的電子郵件址。",
        "nowikiemailtext": "此使用者選擇不接收其他使用者的信件。",
        "emailnotarget": "收件人不存在或無效的使用者名稱。",
        "emailtarget": "輸入收件人使用者名稱",
        "limitreport-expansiondepth": "最高展開深度",
        "limitreport-expensivefunctioncount": "高消耗解析器函數次數",
        "expandtemplates": "展開模板",
-       "expand_templates_intro": "æ\9c¬ç\89¹æ®\8aé \81é\9d¢æ\9c\83å°\87æ\96\87å­\97中ç\9a\84樣板展開,可以包含支援的解析器語法,如 <code><nowiki>{{</nowiki>#language:…}}</code> 與變數如 <code><nowiki>{{</nowiki>CURRENTDAY}}</code>。\n實際上,絕大部分在雙括號中的內容都會被展開。",
+       "expand_templates_intro": "æ\9c¬ç\89¹æ®\8aé \81é\9d¢æ\9c\83å°\87æ\96\87å­\97中ç\9a\84模板展開,可以包含支援的解析器語法,如 <code><nowiki>{{</nowiki>#language:…}}</code> 與變數如 <code><nowiki>{{</nowiki>CURRENTDAY}}</code>。\n實際上,絕大部分在雙括號中的內容都會被展開。",
        "expand_templates_title": "上下文標題,用於 {{FULLPAGENAME}} 等:",
        "expand_templates_input": "輸入文字:",
        "expand_templates_output": "結果",
index 457ca9a..a9dbf3a 100644 (file)
@@ -157,12 +157,12 @@ $specialPageAliases = array(
        'Specialpages'              => array( 'Махсус_битләр' ),
        'Statistics'                => array( 'Статистика' ),
        'Tags'                      => array( 'Теглар' ),
-       'Uncategorizedcategories'   => array( 'Үзләштерелмәгән__бүлекләр' ),
+       'Uncategorizedcategories'   => array( 'Үзләштерелмәгән_бүлекләр' ),
        'Uncategorizedimages'       => array( 'Үзләштерелмәгән_файллар' ),
        'Uncategorizedpages'        => array( 'Үзләштерелмәгән_битләр' ),
-       'Uncategorizedtemplates'    => array( 'Үзләштерелмәгән__үрнәкләр' ),
+       'Uncategorizedtemplates'    => array( 'Үзләштерелмәгән_үрнәкләр' ),
        'Unusedcategories'          => array( 'Кулланылмаган_төркемнәр' ),
-       'Unusedimages'              => array( 'Кулланылмаучы__файллар' ),
+       'Unusedimages'              => array( 'Кулланылмаучы_файллар' ),
        'Upload'                    => array( 'Йөкләү' ),
        'Userlogin'                 => array( 'Кулланучы_исеме' ),
        'Userlogout'                => array( 'Чыгу' ),
index af14bb3..a0ffcb2 100644 (file)
@@ -696,6 +696,9 @@ abstract class Maintenance {
                                        }
                                        $options[$option] = $param;
                                }
+                       } elseif ( $arg == '-' ) {
+                               # Lonely "-", often used to indicate stdin or stdout.
+                               $args[] = $arg;
                        } elseif ( substr( $arg, 0, 1 ) == '-' ) {
                                # Short options
                                $argLength = strlen( $arg );
index 0c2f722..b2f7497 100644 (file)
@@ -262,10 +262,7 @@ class RefreshLinks extends Maintenance {
                wfWaitForSlaves();
 
                $dbw = wfGetDB( DB_MASTER );
-
-               $lb = wfGetLBFactory()->newMainLB();
-               $dbr = $lb->getConnection( DB_SLAVE );
-               $dbr->bufferResults( false );
+               $dbr = wfGetDB( DB_SLAVE );
 
                $linksTables = array( // table name => page_id field
                        'pagelinks' => 'pl_from',
@@ -282,38 +279,36 @@ class RefreshLinks extends Maintenance {
                foreach ( $linksTables as $table => $field ) {
                        $this->output( "Retrieving illegal entries from $table... " );
 
-                       // SELECT DISTINCT( $field ) FROM $table LEFT JOIN page ON $field=page_id WHERE page_id IS NULL;
-                       $results = $dbr->select(
-                               array( $table, 'page' ),
-                               $field,
-                               array( 'page_id' => null ),
-                               __METHOD__,
-                               'DISTINCT',
-                               array( 'page' => array( 'LEFT JOIN', "$field=page_id" ) )
-                       );
-
+                       $start = 0;
                        $counter = 0;
-                       $list = array();
                        $this->output( "0.." );
-                       foreach ( $results as $row ) {
-                               $counter++;
-                               $list[] = $row->$field;
-                               if ( ( $counter % $batchSize ) == 0 ) {
-                                       wfWaitForSlaves();
-                                       $dbw->delete( $table, array( $field => $list ), __METHOD__ );
 
+                       do {
+                               $ids = $dbr->selectFieldValues(
+                                       $table,
+                                       $field,
+                                       array(
+                                               "$field >= {$dbr->addQuotes( $start )}",
+                                               "$field NOT IN ({$dbr->selectSQLText( 'page', 'page_id' )})",
+                                       ),
+                                       __METHOD__,
+                                       array( 'DISTINCT', 'ORDER BY' => $field, 'LIMIT' => $batchSize )
+                               );
+
+                               $numIds = count( $ids );
+                               if ( $numIds ) {
+                                       $counter += $numIds;
+                                       wfWaitForSlaves();
+                                       $dbw->delete( $table, array( $field => $ids ), __METHOD__ );
                                        $this->output( $counter . ".." );
-                                       $list = array();
+                                       $start = $ids[$numIds - 1] + 1;
                                }
-                       }
-                       $this->output( $counter );
-                       if ( count( $list ) > 0 ) {
-                               $dbw->delete( $table, array( $field => $list ), __METHOD__ );
-                       }
+
+                       } while ( $numIds >= $batchSize );
+
                        $this->output( "\n" );
                        wfWaitForSlaves();
                }
-               $lb->closeAll();
        }
 }
 
index 5758152..40b3dde 100644 (file)
@@ -38,7 +38,7 @@ Then add the following to the bottom of this file:
 class MyLocalSettingsGenerator extends LocalSettingsGenerator {
        function getText() {
                // Modify an existing setting
-               $this->values['wgResourceLoaderMaxQueryLength'] = 512;
+               $this->values['wgDefaultSkin'] = 'vector';
                // add a new setting
                $ls = parent::getText();
                return $ls . "\n\$wgUseTex = true;\n";
index cc8fdf5..ff739d7 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.8.0
+ * OOjs UI v0.8.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2015 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2015-02-19T01:33:21Z
+ * Date: 2015-02-27T18:02:41Z
  */
 .oo-ui-progressBarWidget-slide-frames from {
        margin-left: -40%;
 }
 .oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label {
        padding: 0.5em;
+       padding-left: 1em;
 }
 .oo-ui-fieldLayout.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-field {
        padding: 0.5em 0;
        padding: 0.5em 0.75em;
        line-height: 1.5em;
 }
-.oo-ui-fieldsetLayout + .oo-ui-fieldsetLayout {
+.oo-ui-fieldsetLayout + .oo-ui-fieldsetLayout,
+.oo-ui-fieldsetLayout + .oo-ui-formLayout {
        margin-top: 2em;
 }
 .oo-ui-fieldsetLayout > .oo-ui-labelElement-label {
 .oo-ui-fieldsetLayout > .oo-ui-popupButtonWidget:last-child {
        margin-right: 0;
 }
+.oo-ui-formLayout + .oo-ui-fieldsetLayout,
+.oo-ui-formLayout + .oo-ui-formLayout {
+       margin-top: 2em;
+}
 .oo-ui-gridLayout {
        position: absolute;
        top: 0;
 }
 .oo-ui-radioOptionWidget {
        cursor: default;
-       padding: 0.25em 0;
+       padding: 0;
        background-color: transparent;
 }
 .oo-ui-radioOptionWidget .oo-ui-radioInputWidget,
 .oo-ui-radioOptionWidget.oo-ui-optionWidget-highlighted {
        background-color: transparent;
 }
+.oo-ui-radioOptionWidget.oo-ui-labelElement .oo-ui-labelElement-label {
+       padding: 0.25em;
+       padding-left: 1em;
+}
+.oo-ui-radioOptionWidget .oo-ui-radioInputWidget {
+       margin-right: 0;
+}
 .oo-ui-labelWidget {
        display: inline-block;
 }
 }
 .oo-ui-checkboxInputWidget input[type="checkbox"] {
        opacity: 0;
-       position: relative;
        z-index: 1;
+       position: relative;
        margin: 0;
        width: 1.6em;
        height: 1.6em;
 }
 .oo-ui-checkboxInputWidget input[type="checkbox"] + span {
        cursor: pointer;
-       margin: 0 0.2em;
-}
-.oo-ui-checkboxInputWidget input[type="checkbox"] + span::before {
        -webkit-transition: background-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
           -moz-transition: background-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            -ms-transition: background-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
             -o-transition: background-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
                transition: background-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
-       content: "";
        -webkit-box-sizing: border-box;
           -moz-box-sizing: border-box;
                box-sizing: border-box;
        background-origin: border-box;
        background-size: 0 0;
 }
-.oo-ui-checkboxInputWidget input[type="checkbox"]:checked + span::before {
+.oo-ui-checkboxInputWidget input[type="checkbox"]:checked + span {
        background-size: 100% 100%;
 }
-.oo-ui-checkboxInputWidget input[type="checkbox"]:active + span::before {
+.oo-ui-checkboxInputWidget input[type="checkbox"]:active + span {
        background-color: #dddddd;
        border-color: #dddddd;
 }
-.oo-ui-checkboxInputWidget input[type="checkbox"]:focus + span::before {
+.oo-ui-checkboxInputWidget input[type="checkbox"]:focus + span {
        border-width: 2px;
 }
-.oo-ui-checkboxInputWidget input[type="checkbox"]:focus:hover + span::before,
-.oo-ui-checkboxInputWidget input[type="checkbox"]:hover + span::before {
+.oo-ui-checkboxInputWidget input[type="checkbox"]:focus:hover + span,
+.oo-ui-checkboxInputWidget input[type="checkbox"]:hover + span {
        border-bottom-width: 3px;
 }
-.oo-ui-checkboxInputWidget input[type="checkbox"]:disabled + span::before {
+.oo-ui-checkboxInputWidget input[type="checkbox"]:disabled + span {
        cursor: default;
        background-color: #eeeeee;
        border-color: #eeeeee;
 }
-.oo-ui-checkboxInputWidget input[type="checkbox"]:disabled:checked + span::before {
+.oo-ui-checkboxInputWidget input[type="checkbox"]:disabled:checked + span {
        background-image: url("themes/mediawiki/images/icons/check-invert.png");
        background-image: -webkit-linear-gradient(transparent, transparent), /* @embed */ url("themes/mediawiki/images/icons/check-invert.svg");
        background-image:         linear-gradient(transparent, transparent), /* @embed */ url("themes/mediawiki/images/icons/check-invert.svg");
 }
 .oo-ui-radioInputWidget input[type="radio"] {
        opacity: 0;
-       position: relative;
        z-index: 1;
+       position: relative;
        margin: 0;
        width: 1.6em;
        height: 1.6em;
 }
 .oo-ui-radioInputWidget input[type="radio"] + span {
        cursor: pointer;
-       margin: 0 0.2em;
-}
-.oo-ui-radioInputWidget input[type="radio"] + span::before {
        -webkit-transition: background-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
           -moz-transition: background-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            -ms-transition: background-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
             -o-transition: background-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
                transition: background-size 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
-       content: "";
        -webkit-box-sizing: border-box;
           -moz-box-sizing: border-box;
                box-sizing: border-box;
        background-origin: border-box;
        background-size: 0 0;
 }
-.oo-ui-radioInputWidget input[type="radio"]:checked + span::before {
+.oo-ui-radioInputWidget input[type="radio"]:checked + span {
        background-size: 100% 100%;
 }
-.oo-ui-radioInputWidget input[type="radio"]:active + span::before {
+.oo-ui-radioInputWidget input[type="radio"]:active + span {
        background-color: #dddddd;
        border-color: #dddddd;
 }
-.oo-ui-radioInputWidget input[type="radio"]:focus + span::before {
+.oo-ui-radioInputWidget input[type="radio"]:focus + span {
        border-width: 2px;
 }
-.oo-ui-radioInputWidget input[type="radio"]:focus:hover + span::before,
-.oo-ui-radioInputWidget input[type="radio"]:hover + span::before {
+.oo-ui-radioInputWidget input[type="radio"]:focus:hover + span,
+.oo-ui-radioInputWidget input[type="radio"]:hover + span {
        border-bottom-width: 3px;
 }
-.oo-ui-radioInputWidget input[type="radio"]:disabled + span::before {
+.oo-ui-radioInputWidget input[type="radio"]:disabled + span {
        cursor: default;
        background-color: #eeeeee;
        border-color: #eeeeee;
 }
-.oo-ui-radioInputWidget input[type="radio"]:disabled:checked + span::before {
+.oo-ui-radioInputWidget input[type="radio"]:disabled:checked + span {
        background-image: url("themes/mediawiki/images/icons/circle-invert.png");
        background-image: -webkit-linear-gradient(transparent, transparent), /* @embed */ url("themes/mediawiki/images/icons/circle-invert.svg");
        background-image:         linear-gradient(transparent, transparent), /* @embed */ url("themes/mediawiki/images/icons/circle-invert.svg");
        top: 0;
        height: 100%;
        background-repeat: no-repeat;
-       cursor: pointer;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
 }
+.oo-ui-textInputWidget.oo-ui-widget-enabled > .oo-ui-iconElement-icon,
+.oo-ui-textInputWidget.oo-ui-widget-enabled > .oo-ui-indicatorElement-indicator {
+       cursor: pointer;
+}
 .oo-ui-textInputWidget.oo-ui-labelElement > .oo-ui-labelElement-label {
        display: block;
 }
        border-color: #dddddd;
        background-color: #f3f3f3;
 }
+.oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-iconElement-icon,
+.oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-indicatorElement-indicator {
+       opacity: 0.2;
+}
+.oo-ui-textInputWidget.oo-ui-widget-disabled .oo-ui-labelElement-label {
+       color: #dddddd;
+       text-shadow: 0 1px 1px #ffffff;
+}
 .oo-ui-textInputWidget.oo-ui-pendingElement-pending input,
 .oo-ui-textInputWidget.oo-ui-pendingElement-pending textarea {
        background-color: transparent;
index 3be2d1b..2793806 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.8.0
+ * OOjs UI v0.8.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2015 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2015-02-19T01:33:11Z
+ * Date: 2015-02-27T18:02:31Z
  */
 /**
  * @class
index 0ad88fe..8bb14ec 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.8.0
+ * OOjs UI v0.8.2
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2015 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2015-02-19T01:33:11Z
+ * Date: 2015-02-27T18:02:31Z
  */
 ( function ( OO ) {
 
@@ -326,9 +326,9 @@ OO.ui.PendingElement.prototype.popPending = function () {
  *
  *     ProcessDialog.prototype.initialize = function () {
  *         ProcessDialog.super.prototype.initialize.apply( this, arguments );
- *         this.panel1 = new OO.ui.PanelLayout( { $: this.$, padded: true, expanded: false } );
+ *         this.panel1 = new OO.ui.PanelLayout( { padded: true, expanded: false } );
  *         this.panel1.$element.append( '<p>This dialog uses an action set (continue, help, cancel, back) configured with modes. This is edit mode. Click \'help\' to see help mode. </p>' );
- *         this.panel2 = new OO.ui.PanelLayout( { $: this.$, padded: true, expanded: false } );
+ *         this.panel2 = new OO.ui.PanelLayout( { padded: true, expanded: false } );
  *         this.panel2.$element.append( '<p>This is help mode. Only the \'back\' action widget is configured to be visible here. Click \'back\' to return to \'edit\' mode</p>' );
  *         this.stackLayout= new OO.ui.StackLayout( {
  *             items: [ this.panel1, this.panel2 ]
@@ -788,11 +788,18 @@ OO.ui.ActionSet.prototype.organize = function () {
  *
  * @constructor
  * @param {Object} [config] Configuration options
- * @cfg {string[]} [classes] CSS class names to add
- * @cfg {string} [id] HTML id attribute
+ * @cfg {string[]} [classes] The names of the CSS classes to apply to the element. CSS styles are added
+ *  to the top level (e.g., the outermost div) of the element. See the [OOjs UI documentation on MediaWiki][2]
+ *  for an example.
+ *  [2]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Buttons_and_Switches#cssExample
+ * @cfg {string} [id] The HTML id attribute used in the rendered tag.
  * @cfg {string} [text] Text to insert
- * @cfg {jQuery} [$content] Content elements to append (after text)
- * @cfg {Mixed} [data] Element data
+ * @cfg {Array} [content] An array of content elements to append (after #text).
+ *  Strings will be html-escaped; use an OO.ui.HtmlSnippet to append raw HTML.
+ *  Instances of OO.ui.Element will have their $element appended.
+ * @cfg {jQuery} [$content] Content elements to append (after #text)
+ * @cfg {Mixed} [data] Custom data of any type or combination of types (e.g., string, number, array, object).
+ *  Data can also be specified with the #setData method.
  */
 OO.ui.Element = function OoUiElement( config ) {
        // Configuration initialization
@@ -800,8 +807,10 @@ OO.ui.Element = function OoUiElement( config ) {
 
        // Properties
        this.$ = $;
+       this.visible = true;
        this.data = config.data;
-       this.$element = $( document.createElement( this.getTagName() ) );
+       this.$element = config.$element ||
+               $( document.createElement( this.getTagName() ) );
        this.elementGroup = null;
        this.debouncedUpdateThemeClassesHandler = this.debouncedUpdateThemeClasses.bind( this );
        this.updateThemeClassesPending = false;
@@ -816,7 +825,25 @@ OO.ui.Element = function OoUiElement( config ) {
        if ( config.text ) {
                this.$element.text( config.text );
        }
+       if ( config.content ) {
+               // The `content` property treats plain strings as text; use an
+               // HtmlSnippet to append HTML content.  `OO.ui.Element`s get their
+               // appropriate $element appended.
+               this.$element.append( config.content.map( function ( v ) {
+                       if ( typeof v === 'string' ) {
+                               // Escape string so it is properly represented in HTML.
+                               return document.createTextNode( v );
+                       } else if ( v instanceof OO.ui.HtmlSnippet ) {
+                               // Bypass escaping.
+                               return v.toString();
+                       } else if ( v instanceof OO.ui.Element ) {
+                               return v.$element;
+                       }
+                       return v;
+               } ) );
+       }
        if ( config.$content ) {
+               // The `$content` property treats plain strings as HTML.
                this.$element.append( config.$content );
        }
 };
@@ -828,9 +855,9 @@ OO.initClass( OO.ui.Element );
 /* Static Properties */
 
 /**
- * HTML tag name.
+ * The name of the HTML tag used by the element.
  *
- * This may be ignored if #getTagName is overridden.
+ * The static value may be ignored if the #getTagName method is overridden.
  *
  * @static
  * @inheritable
@@ -1239,6 +1266,34 @@ OO.ui.Element.static.reconsiderScrollbars = function ( el ) {
 
 /* Methods */
 
+/**
+ * Toggle visibility of an element.
+ *
+ * @param {boolean} [show] Make element visible, omit to toggle visibility
+ * @fires visible
+ * @chainable
+ */
+OO.ui.Element.prototype.toggle = function ( show ) {
+       show = show === undefined ? !this.visible : !!show;
+
+       if ( show !== this.isVisible() ) {
+               this.visible = show;
+               this.$element.toggleClass( 'oo-ui-element-hidden', !this.visible );
+               this.emit( 'toggle', show );
+       }
+
+       return this;
+};
+
+/**
+ * Check if element is visible.
+ *
+ * @return {boolean} element is visible
+ */
+OO.ui.Element.prototype.isVisible = function () {
+       return this.visible;
+};
+
 /**
  * Get element data.
  *
@@ -1430,7 +1485,6 @@ OO.ui.Widget = function OoUiWidget( config ) {
        OO.EventEmitter.call( this );
 
        // Properties
-       this.visible = true;
        this.disabled = null;
        this.wasDisabled = null;
 
@@ -1467,15 +1521,6 @@ OO.ui.Widget.prototype.isDisabled = function () {
        return this.disabled;
 };
 
-/**
- * Check if widget is visible.
- *
- * @return {boolean} Widget is visible
- */
-OO.ui.Widget.prototype.isVisible = function () {
-       return this.visible;
-};
-
 /**
  * Set the disabled state of the widget.
  *
@@ -1501,25 +1546,6 @@ OO.ui.Widget.prototype.setDisabled = function ( disabled ) {
        return this;
 };
 
-/**
- * Toggle visibility of widget.
- *
- * @param {boolean} [show] Make widget visible, omit to toggle visibility
- * @fires visible
- * @chainable
- */
-OO.ui.Widget.prototype.toggle = function ( show ) {
-       show = show === undefined ? !this.visible : !!show;
-
-       if ( show !== this.isVisible() ) {
-               this.visible = show;
-               this.$element.toggleClass( 'oo-ui-element-hidden', !this.visible );
-               this.emit( 'toggle', show );
-       }
-
-       return this;
-};
-
 /**
  * Update the disabled state, in case of changes in parent widget.
  *
@@ -1859,25 +1885,6 @@ OO.ui.Window.prototype.getTeardownProcess = function () {
        return new OO.ui.Process();
 };
 
-/**
- * Toggle visibility of window.
- *
- * @param {boolean} [show] Make window visible, omit to toggle visibility
- * @fires toggle
- * @chainable
- */
-OO.ui.Window.prototype.toggle = function ( show ) {
-       show = show === undefined ? !this.visible : !!show;
-
-       if ( show !== this.isVisible() ) {
-               this.visible = show;
-               this.$element.toggleClass( 'oo-ui-element-hidden', !this.visible );
-               this.emit( 'toggle', show );
-       }
-
-       return this;
-};
-
 /**
  * Set the window manager.
  *
@@ -2733,7 +2740,7 @@ OO.ui.WindowManager.prototype.getWindow = function ( name ) {
                                        'Cannot auto-instantiate window: symbolic name is unrecognized by the factory'
                                ) );
                        } else {
-                               win = this.factory.create( name, this );
+                               win = this.factory.create( name );
                                this.addWindows( [ win ] );
                                deferred.resolve( win );
                        }
@@ -2915,7 +2922,7 @@ OO.ui.WindowManager.prototype.addWindows = function ( windows ) {
                        }
                        list[ name ] = windows[ i ];
                }
-       } else if ( $.isPlainObject( windows ) ) {
+       } else if ( OO.isPlainObject( windows ) ) {
                list = windows;
        }
 
@@ -3078,7 +3085,13 @@ OO.ui.WindowManager.prototype.destroy = function () {
  * @cfg {boolean} [recoverable=true] Error is recoverable
  * @cfg {boolean} [warning=false] Whether this error is a warning or not.
  */
-OO.ui.Error = function OoUiElement( message, config ) {
+OO.ui.Error = function OoUiError( message, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( message ) && config === undefined ) {
+               config = message;
+               message = config.message;
+       }
+
        // Configuration initialization
        config = config || {};
 
@@ -3132,6 +3145,114 @@ OO.ui.Error.prototype.getMessageText = function () {
        return this.message instanceof jQuery ? this.message.text() : this.message;
 };
 
+/**
+ * Wraps an HTML snippet for use with configuration values which default
+ * to strings.  This bypasses the default html-escaping done to string
+ * values.
+ *
+ * @class
+ *
+ * @constructor
+ * @param {string} [content] HTML content
+ */
+OO.ui.HtmlSnippet = function OoUiHtmlSnippet( content ) {
+       // Properties
+       this.content = content;
+};
+
+/* Setup */
+
+OO.initClass( OO.ui.HtmlSnippet );
+
+/* Methods */
+
+/**
+ * Render into HTML.
+ *
+ * @return {string} Unchanged HTML snippet.
+ */
+OO.ui.HtmlSnippet.prototype.toString = function () {
+       return this.content;
+};
+
+/**
+ * Reconstitute a JavaScript object corresponding to a widget created
+ * by the PHP implementation.
+ *
+ * @member OO.ui
+ * @param {string|HTMLElement|jQuery} idOrNode
+ *   A DOM id (if a string) or node for the widget to infuse.
+ * @return {OO.ui.Element}
+ *   The `OO.ui.Element` corresponding to this (infusable) document node.
+ *   For `Tag` objects emitted on the HTML side (used occasionally for content)
+ *   the value returned is a newly-created Element wrapping around the existing
+ *   DOM node.
+ */
+OO.ui.infuse = function ( idOrNode, dontReplace ) {
+       // look for a cached result of a previous infusion.
+       var id, $elem, data, cls, obj;
+       if ( typeof idOrNode === 'string' ) {
+               id = idOrNode;
+               $elem = $( document.getElementById( id ) );
+       } else {
+               $elem = $( idOrNode );
+               id = $elem.attr( 'id' );
+       }
+       data = $elem.data( 'ooui-infused' );
+       if ( data ) {
+               // cached!
+               if ( data === true ) {
+                       throw new Error( 'Circular dependency! ' + id );
+               }
+               return data;
+       }
+       if ( !$elem.length ) {
+               throw new Error( 'Widget not found: ' + id );
+       }
+       data = $elem.attr( 'data-ooui' );
+       if ( !data ) {
+               throw new Error( 'No infusion data found: ' + id );
+       }
+       try {
+               data = $.parseJSON( data );
+       } catch ( _ ) {
+               data = null;
+       }
+       if ( !( data && data._ ) ) {
+               throw new Error( 'No valid infusion data found: ' + id );
+       }
+       if ( data._ === 'Tag' ) {
+               // Special case: this is a raw Tag; wrap existing node, don't rebuild.
+               return new OO.ui.Element( { $element: $elem } );
+       }
+       cls = OO.ui[data._];
+       if ( !cls ) {
+               throw new Error( 'Unknown widget type: ' + id );
+       }
+       $elem.data( 'ooui-infused', true ); // prevent loops
+       data.id = id; // implicit
+       data = OO.copy( data, null, function deserialize( value ) {
+               if ( OO.isPlainObject( value ) ) {
+                       if ( value.tag ) {
+                               return OO.ui.infuse( value.tag, 'rebuilding' );
+                       }
+                       if ( value.html ) {
+                               return new OO.ui.HtmlSnippet( value.html );
+                       }
+               }
+       } );
+       // jscs:disable requireCapitalizedConstructors
+       obj = new cls( data ); // rebuild widget
+       // now replace old DOM with this new DOM.
+       if ( !dontReplace ) {
+               $elem.replaceWith( obj.$element );
+       }
+       obj.$element.data( 'ooui-infused', obj );
+       // set the 'data-ooui' attribute so we can identify infused widgets
+       obj.$element.attr( 'data-ooui', '' );
+       return obj;
+};
+
 /**
  * A list of functions, called in sequence.
  *
@@ -3501,7 +3622,30 @@ OO.ui.Theme.prototype.updateElementClasses = function ( element ) {
 };
 
 /**
- * Element supporting "sequential focus navigation" using the 'tabindex' attribute.
+ * The TabIndexedElement class is an attribute mixin used to add additional functionality to an
+ * element created by another class. The mixin provides a ‘tabIndex’ property, which specifies the
+ * order in which users will navigate through the focusable elements via the "tab" key.
+ *
+ *     @example
+ *     // TabIndexedElement is mixed into the ButtonWidget class
+ *     // to provide a tabIndex property.
+ *     var button1 = new OO.ui.ButtonWidget( {
+ *         label : 'fourth',
+ *         tabIndex : 4
+ *     } );
+ *     var button2 = new OO.ui.ButtonWidget( {
+ *         label : 'second',
+ *         tabIndex : 2
+ *     } );
+ *     var button3 = new OO.ui.ButtonWidget( {
+ *         label : 'third',
+ *         tabIndex : 3
+ *     } );
+ *     var button4 = new OO.ui.ButtonWidget( {
+ *         label : 'first',
+ *         tabIndex : 1
+ *     } );
+ *     $( 'body' ).append( button1.$element, button2.$element, button3.$element, button4.$element );
  *
  * @abstract
  * @class
@@ -3594,6 +3738,7 @@ OO.ui.TabIndexedElement.prototype.updateTabIndex = function () {
 /**
  * Handle disable events.
  *
+ * @private
  * @param {boolean} disabled Element is disabled
  */
 OO.ui.TabIndexedElement.prototype.onDisable = function () {
@@ -4169,15 +4314,21 @@ OO.initClass( OO.ui.DraggableElement );
 
 /**
  * @event dragstart
- * @param {OO.ui.DraggableElement} item Dragging item
+ *
+ * A dragstart event is emitted when the user clicks and begins dragging an item.
+ * @param {OO.ui.DraggableElement} item The item the user has clicked and is dragging with the mouse.
  */
 
 /**
  * @event dragend
+ * A dragend event is emitted when the user drags an item and releases the mouse,
+ * thus terminating the drag operation.
  */
 
 /**
  * @event drop
+ * A drop event is emitted when the user drags an item and then releases the mouse button
+ * over a valid target.
  */
 
 /* Static Properties */
@@ -4191,6 +4342,8 @@ OO.ui.DraggableElement.static.cancelButtonMouseDownEvents = false;
 
 /**
  * Respond to dragstart event.
+ *
+ * @private
  * @param {jQuery.Event} event jQuery event
  * @fires dragstart
  */
@@ -4216,6 +4369,8 @@ OO.ui.DraggableElement.prototype.onDragStart = function ( e ) {
 
 /**
  * Respond to dragend event.
+ *
+ * @private
  * @fires dragend
  */
 OO.ui.DraggableElement.prototype.onDragEnd = function () {
@@ -4225,6 +4380,8 @@ OO.ui.DraggableElement.prototype.onDragEnd = function () {
 
 /**
  * Handle drop event.
+ *
+ * @private
  * @param {jQuery.Event} event jQuery event
  * @fires drop
  */
@@ -4236,6 +4393,8 @@ OO.ui.DraggableElement.prototype.onDrop = function ( e ) {
 /**
  * In order for drag/drop to work, the dragover event must
  * return false and stop propogation.
+ *
+ * @private
  */
 OO.ui.DraggableElement.prototype.onDragOver = function ( e ) {
        e.preventDefault();
@@ -4244,6 +4403,8 @@ OO.ui.DraggableElement.prototype.onDragOver = function ( e ) {
 /**
  * Set item index.
  * Store it in the DOM so we can access from the widget drag event
+ *
+ * @private
  * @param {number} Item index
  */
 OO.ui.DraggableElement.prototype.setIndex = function ( index ) {
@@ -4255,6 +4416,8 @@ OO.ui.DraggableElement.prototype.setIndex = function ( index ) {
 
 /**
  * Get item index
+ *
+ * @private
  * @return {number} Item index
  */
 OO.ui.DraggableElement.prototype.getIndex = function () {
@@ -4519,11 +4682,29 @@ OO.ui.DraggableGroupElement.prototype.isDragging = function () {
  *
  * @constructor
  * @param {Object} [config] Configuration options
- * @cfg {jQuery} [$icon] Icon node, assigned to #$icon, omit to use a generated `<span>`
- * @cfg {Object|string} [icon=''] Symbolic icon name, or map of icon names keyed by language ID;
- *  use the 'default' key to specify the icon to be used when there is no icon in the user's
- *  language
- * @cfg {string} [iconTitle] Icon title text or a function that returns text
+ * @cfg {jQuery} [$icon] The icon element created by the class. If this configuration is omitted,
+ *  the icon element will use a generated `<span>`. To use a different HTML tag, or to specify that
+ *  the icon element be set to an existing icon instead of the one generated by this class, set a
+ *  value using a jQuery selection. For example:
+ *
+ *      // Use a <div> tag instead of a <span>
+ *     $icon: $("<div>")
+ *     // Use an existing icon element instead of the one generated by the class
+ *     $icon: this.$element
+ *     // Use an icon element from a child widget
+ *     $icon: this.childwidget.$element
+ * @cfg {Object|string} [icon=''] The symbolic name of the icon (e.g., ‘remove’ or ‘menu’), or a map of
+ *  symbolic names.  A map is used for i18n purposes and contains a `default` icon
+ *  name and additional names keyed by language code. The `default` name is used when no icon is keyed
+ *  by the user's language.
+ *
+ *  Example of an i18n map:
+ *
+ *     { default: 'bold-a', en: 'bold-b', de: 'bold-f' }
+ *  See the [OOjs UI documentation on MediaWiki] [2] for a list of icons included in the library.
+ * [2]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Icons,_Indicators,_and_Labels#Icons
+ * @cfg {string|Function} [iconTitle] A text string used as the icon title, or a function that returns title
+ *  text. The icon title is displayed when users move the mouse over the icon.
  */
 OO.ui.IconElement = function OoUiIconElement( config ) {
        // Configuration initialization
@@ -4578,9 +4759,10 @@ OO.ui.IconElement.static.iconTitle = null;
 /* Methods */
 
 /**
- * Set the icon element.
- *
- * If an element is already set, it will be cleaned up before setting up the new element.
+ * Set the icon element. This method is used to retarget an icon mixin so that its functionality
+ * applies to the specified icon element instead of the one created by the class. If an icon
+ * element is already set, the mixin’s effect on that element is removed. Generated CSS classes
+ * and mixin methods will no longer affect the element.
  *
  * @param {jQuery} $icon Element to use as icon
  */
@@ -4600,11 +4782,12 @@ OO.ui.IconElement.prototype.setIconElement = function ( $icon ) {
 };
 
 /**
- * Set icon name.
+ * Set icon by symbolic name (e.g., ‘remove’ or ‘menu’). Use `null` to remove an icon.
+ * The icon parameter can also be set to a map of icon names. See the #icon config setting
+ * for an example.
  *
- * @param {Object|string|null} icon Symbolic icon name, or map of icon names keyed by language ID;
- *  use the 'default' key to specify the icon to be used when there is no icon in the user's
- *  language, use null to remove icon
+ * @param {Object|string|null} icon A symbolic icon name, a {@link #icon map of icon names} keyed
+ *  by language code, or `null` to remove the icon.
  * @chainable
  */
 OO.ui.IconElement.prototype.setIcon = function ( icon ) {
@@ -4630,10 +4813,10 @@ OO.ui.IconElement.prototype.setIcon = function ( icon ) {
 };
 
 /**
- * Set icon title.
+ * Set the icon title. Use `null` to remove the title.
  *
- * @param {string|Function|null} icon Icon title text, a function that returns text or null
- *  for no icon title
+ * @param {string|Function|null} iconTitle A text string used as the icon title,
+ *  a function that returns title text, or `null` for no title.
  * @chainable
  */
 OO.ui.IconElement.prototype.setIconTitle = function ( iconTitle ) {
@@ -4656,7 +4839,7 @@ OO.ui.IconElement.prototype.setIconTitle = function ( iconTitle ) {
 };
 
 /**
- * Get icon name.
+ * Get the symbolic name of the icon.
  *
  * @return {string} Icon name
  */
@@ -4665,7 +4848,7 @@ OO.ui.IconElement.prototype.getIcon = function () {
 };
 
 /**
- * Get icon title.
+ * Get the icon title. The title text is displayed when a user moves the mouse over the icon.
  *
  * @return {string} Icon title text
  */
@@ -4692,10 +4875,15 @@ OO.ui.IconElement.prototype.getIconTitle = function () {
  *
  * @constructor
  * @param {Object} [config] Configuration options
- * @cfg {jQuery} [$indicator] Indicator node, assigned to #$indicator, omit to use a generated
- *   `<span>`
- * @cfg {string} [indicator] Symbolic indicator name
- * @cfg {string} [indicatorTitle] Indicator title text or a function that returns text
+ * @cfg {jQuery} [$indicator] The indicator element created by the class. If this
+ *  configuration is omitted, the indicator element will use a generated `<span>`.
+ * @cfg {string} [indicator] Symbolic name of the indicator (e.g., ‘alert’ or  ‘down’).
+ *  See the [OOjs UI documentation on MediaWiki][2] for a list of indicators included
+ *  in the library.
+ * [2]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Icons,_Indicators,_and_Labels#Indicators
+ * @cfg {string|Function} [indicatorTitle] A text string used as the indicator title,
+ *  or a function that returns title text. The indicator title is displayed when users move
+ *  the mouse over the indicator.
  */
 OO.ui.IndicatorElement = function OoUiIndicatorElement( config ) {
        // Configuration initialization
@@ -4719,21 +4907,22 @@ OO.initClass( OO.ui.IndicatorElement );
 /* Static Properties */
 
 /**
- * indicator.
+ * Symbolic name of the indicator (e.g., ‘alert’ or  ‘down’).
+ * The static property will be overridden if the #indicator configuration is used.
  *
  * @static
  * @inheritable
- * @property {string|null} Symbolic indicator name
+ * @property {string|null}
  */
 OO.ui.IndicatorElement.static.indicator = null;
 
 /**
- * Indicator title.
+ * A text string used as the indicator title, a function that returns title text, or `null`
+ * for no title. The static property will be overridden if the #indicatorTitle configuration is used.
  *
  * @static
  * @inheritable
- * @property {string|Function|null} Indicator title text, a function that returns text or null for no
- *  indicator title
+ * @property {string|Function|null}
  */
 OO.ui.IndicatorElement.static.indicatorTitle = null;
 
@@ -4833,16 +5022,25 @@ OO.ui.IndicatorElement.prototype.getIndicatorTitle = function () {
 };
 
 /**
- * Element containing a label.
+ * LabelElement is often mixed into other classes to generate a label, which
+ * helps identify the function of an interface element.
+ * See the [OOjs UI documentation on MediaWiki] [1] for more information.
+ *
+ * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Icons,_Indicators,_and_Labels#Labels
  *
  * @abstract
  * @class
  *
  * @constructor
  * @param {Object} [config] Configuration options
- * @cfg {jQuery} [$label] Label node, assigned to #$label, omit to use a generated `<span>`
- * @cfg {jQuery|string|Function} [label] Label nodes, text or a function that returns nodes or text
- * @cfg {boolean} [autoFitLabel=true] Whether to fit the label or not.
+ * @cfg {jQuery} [$label] The label element created by the class. If this
+ *  configuration is omitted, the label element will use a generated `<span>`.
+ * @cfg {jQuery|string|Function} [label] The label text. The label can be specified as a plaintext string,
+ *  a jQuery selection of elements, or a function that will produce a string in the future. See the
+ *  [OOjs UI documentation on MediaWiki] [2] for examples.
+ *  [2]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Icons,_Indicators,_and_Labels#Labels
+ * @cfg {boolean} [autoFitLabel=true] Fit the label to the width of the parent element.
+ *  The label will be truncated to fit if necessary.
  */
 OO.ui.LabelElement = function OoUiLabelElement( config ) {
        // Configuration initialization
@@ -4872,12 +5070,13 @@ OO.initClass( OO.ui.LabelElement );
 /* Static Properties */
 
 /**
- * Label.
+ * The label text. The label can be specified as a plaintext string, a function that will
+ * produce a string in the future, or `null` for no label. The static value will
+ * be overridden if a label is specified with the #label config option.
  *
  * @static
  * @inheritable
- * @property {string|Function|null} Label text; a function that returns nodes or text; or null for
- *  no label
+ * @property {string|Function|null}
  */
 OO.ui.LabelElement.static.label = null;
 
@@ -4905,13 +5104,13 @@ OO.ui.LabelElement.prototype.setLabelElement = function ( $label ) {
  * An empty string will result in the label being hidden. A string containing only whitespace will
  * be converted to a single `&nbsp;`.
  *
- * @param {jQuery|string|Function|null} label Label nodes; text; a function that returns nodes or
+ * @param {jQuery|string|OO.ui.HtmlSnippet|Function|null} label Label nodes; text; a function that returns nodes or
  *  text; or null for no label
  * @chainable
  */
 OO.ui.LabelElement.prototype.setLabel = function ( label ) {
        label = typeof label === 'function' ? OO.ui.resolveMsg( label ) : label;
-       label = ( typeof label === 'string' && label.length ) || label instanceof jQuery ? label : null;
+       label = ( ( typeof label === 'string' && label.length ) || label instanceof jQuery || label instanceof OO.ui.HtmlSnippet ) ? label : null;
 
        this.$element.toggleClass( 'oo-ui-labelElement', !!label );
 
@@ -4966,6 +5165,8 @@ OO.ui.LabelElement.prototype.setLabelContent = function ( label ) {
                } else {
                        this.$label.text( label );
                }
+       } else if ( label instanceof OO.ui.HtmlSnippet ) {
+               this.$label.html( label.toString() );
        } else if ( label instanceof jQuery ) {
                this.$label.empty().append( label );
        } else {
@@ -5357,9 +5558,10 @@ OO.ui.PopupElement.prototype.getPopup = function () {
  *
  * @constructor
  * @param {Object} [config] Configuration options
- * @cfg {string|string[]} [flags] Flags describing importance and functionality, e.g. 'primary',
- *   'safe', 'progressive', 'destructive' or 'constructive'
- * @cfg {jQuery} [$flagged] Flagged node, assigned to #$flagged, omit to use #$element
+ * @cfg {string|string[]} [flags] The name or names of the flags (e.g., 'constructive' or 'primary') to apply.
+ *  Please see the [OOjs UI documentation on MediaWiki] [2] for more information about available flags.
+ *  [2]: https://www.mediawiki.org/wiki/OOjs_UI/Elements/Flagged
+ * @cfg {jQuery} [$flagged] Flagged node, assigned to $flagged, omit to use $element
  */
 OO.ui.FlaggedElement = function OoUiFlaggedElement( config ) {
        // Configuration initialization
@@ -5378,8 +5580,12 @@ OO.ui.FlaggedElement = function OoUiFlaggedElement( config ) {
 
 /**
  * @event flag
- * @param {Object.<string,boolean>} changes Object keyed by flag name containing boolean
- *   added/removed properties
+ * A flag event is emitted when the #clearFlags or #setFlags methods are used. The `changes`
+ * parameter contains the name of each modified flag and indicates whether it was
+ * added or removed.
+ *
+ * @param {Object.<string,boolean>} changes Object keyed by flag name. A Boolean `true` indicates
+ * that the flag was added, `false` that the flag was removed.
  */
 
 /* Methods */
@@ -5518,19 +5724,29 @@ OO.ui.FlaggedElement.prototype.setFlags = function ( flags ) {
 };
 
 /**
- * Element with a title.
+ * TitledElement is mixed into other classes to provide a `title` attribute.
+ * Titles are rendered by the browser and are made visible when the user moves
+ * the mouse over the element. Titles are not visible on touch devices.
  *
- * Titles are rendered by the browser and are made visible when hovering the element. Titles are
- * not visible on touch devices.
+ *     @example
+ *     // TitledElement provides a 'title' attribute to the
+ *     // ButtonWidget class
+ *     var button = new OO.ui.ButtonWidget( {
+ *         label : 'Button with Title',
+ *         title : 'I am a button'
+ *     } );
+ *     $( 'body' ).append( button.$element );
  *
  * @abstract
  * @class
  *
  * @constructor
  * @param {Object} [config] Configuration options
- * @cfg {jQuery} [$titled] Titled node, assigned to #$titled, omit to use #$element
- * @cfg {string|Function} [title] Title text or a function that returns text. If not provided, the
- *    static property 'title' is used.
+ * @cfg {jQuery} [$titled] The element to which the `title` attribute is applied.
+ *  If this config is omitted, the title functionality is applied to $element, the
+ *  element created by the class.
+ * @cfg {string|Function} [title] The title text or a function that returns text. If
+ *  this config is omitted, the value of the static `title` property is used.
  */
 OO.ui.TitledElement = function OoUiTitledElement( config ) {
        // Configuration initialization
@@ -5552,11 +5768,12 @@ OO.initClass( OO.ui.TitledElement );
 /* Static Properties */
 
 /**
- * Title.
+ * The title text, a function that returns text, or `null` for no title. The value of the static property
+ * is overridden if the #title config option is used.
  *
  * @static
  * @inheritable
- * @property {string|Function} Title text or a function that returns text
+ * @property {string|Function|null}
  */
 OO.ui.TitledElement.static.title = null;
 
@@ -5833,6 +6050,12 @@ OO.ui.ClippableElement.prototype.clip = function () {
  * @cfg {string|Function} [title] Title text or a function that returns text
  */
 OO.ui.Tool = function OoUiTool( toolGroup, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( toolGroup ) && config === undefined ) {
+               config = toolGroup;
+               toolGroup = config.toolGroup;
+       }
+
        // Configuration initialization
        config = config || {};
 
@@ -6095,6 +6318,13 @@ OO.ui.Tool.prototype.destroy = function () {
  * @cfg {boolean} [shadow] Add a shadow below the toolbar
  */
 OO.ui.Toolbar = function OoUiToolbar( toolFactory, toolGroupFactory, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( toolFactory ) && config === undefined ) {
+               config = toolFactory;
+               toolFactory = config.toolFactory;
+               toolGroupFactory = config.toolGroupFactory;
+       }
+
        // Configuration initialization
        config = config || {};
 
@@ -6311,6 +6541,12 @@ OO.ui.Toolbar.prototype.getToolAccelerator = function () {
  * @cfg {Array|string} [demote=[]] List of tools to demote to the end
  */
 OO.ui.ToolGroup = function OoUiToolGroup( toolbar, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( toolbar ) && config === undefined ) {
+               config = toolbar;
+               toolbar = config.toolbar;
+       }
+
        // Configuration initialization
        config = config || {};
 
@@ -7031,12 +7267,10 @@ OO.ui.ProcessDialog.prototype.attachActions = function () {
                this.$primaryActions.append( special.primary.$element );
                special.primary.toggleFramed( true );
        }
-       if ( others.length ) {
-               for ( i = 0, len = others.length; i < len; i++ ) {
-                       other = others[ i ];
-                       this.$otherActions.append( other.$element );
-                       other.toggleFramed( true );
-               }
+       for ( i = 0, len = others.length; i < len; i++ ) {
+               other = others[ i ];
+               this.$otherActions.append( other.$element );
+               other.toggleFramed( true );
        }
        if ( special.safe ) {
                this.$safeActions.append( special.safe.$element );
@@ -7149,6 +7383,12 @@ OO.ui.ProcessDialog.prototype.hideErrors = function () {
  * @cfg {string} [help] Explanatory text shown as a '?' icon.
  */
 OO.ui.FieldLayout = function OoUiFieldLayout( fieldWidget, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( fieldWidget ) && config === undefined ) {
+               config = fieldWidget;
+               fieldWidget = config.fieldWidget;
+       }
+
        var hasInputWidget = fieldWidget instanceof OO.ui.InputWidget;
 
        // Configuration initialization
@@ -7284,6 +7524,13 @@ OO.ui.FieldLayout.prototype.setAlignment = function ( value ) {
  * @cfg {string} [help] Explanatory text shown as a '?' icon.
  */
 OO.ui.ActionFieldLayout = function OoUiActionFieldLayout( fieldWidget, buttonWidget, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( fieldWidget ) && config === undefined ) {
+               config = fieldWidget;
+               fieldWidget = config.fieldWidget;
+               buttonWidget = config.buttonWidget;
+       }
+
        // Configuration initialization
        config = $.extend( { align: 'left' }, config );
 
@@ -7376,12 +7623,14 @@ OO.mixinClass( OO.ui.FieldsetLayout, OO.ui.GroupElement );
  *
  * @class
  * @extends OO.ui.Layout
+ * @mixins OO.ui.GroupElement
  *
  * @constructor
  * @param {Object} [config] Configuration options
  * @cfg {string} [method] HTML form `method` attribute
  * @cfg {string} [action] HTML form `action` attribute
  * @cfg {string} [enctype] HTML form `enctype` attribute
+ * @cfg {OO.ui.FieldsetLayout[]} [items] Items to add
  */
 OO.ui.FormLayout = function OoUiFormLayout( config ) {
        // Configuration initialization
@@ -7390,6 +7639,9 @@ OO.ui.FormLayout = function OoUiFormLayout( config ) {
        // Parent constructor
        OO.ui.FormLayout.super.call( this, config );
 
+       // Mixin constructors
+       OO.ui.GroupElement.call( this, $.extend( {}, config, { $group: this.$element } ) );
+
        // Events
        this.$element.on( 'submit', this.onFormSubmit.bind( this ) );
 
@@ -7401,16 +7653,24 @@ OO.ui.FormLayout = function OoUiFormLayout( config ) {
                        action: config.action,
                        enctype: config.enctype
                } );
+       if ( Array.isArray( config.items ) ) {
+               this.addItems( config.items );
+       }
 };
 
 /* Setup */
 
 OO.inheritClass( OO.ui.FormLayout, OO.ui.Layout );
+OO.mixinClass( OO.ui.FormLayout, OO.ui.GroupElement );
 
 /* Events */
 
 /**
+ * The HTML form was submitted. If the submission is handled, call `e.preventDefault()` to prevent
+ * HTML form submission.
+ *
  * @event submit
+ * @param {jQuery.Event} e Submit event
  */
 
 /* Static Properties */
@@ -7425,9 +7685,8 @@ OO.ui.FormLayout.static.tagName = 'form';
  * @param {jQuery.Event} e Submit event
  * @fires submit
  */
-OO.ui.FormLayout.prototype.onFormSubmit = function () {
-       this.emit( 'submit' );
-       return false;
+OO.ui.FormLayout.prototype.onFormSubmit = function ( e ) {
+       this.emit( 'submit', e );
 };
 
 /**
@@ -7444,6 +7703,12 @@ OO.ui.FormLayout.prototype.onFormSubmit = function () {
  * @cfg {number[]} [heights] Heights of rows as ratios
  */
 OO.ui.GridLayout = function OoUiGridLayout( panels, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( panels ) && config === undefined ) {
+               config = panels;
+               panels = config.panels;
+       }
+
        var i, len, widths;
 
        // Configuration initialization
@@ -8284,6 +8549,12 @@ OO.inheritClass( OO.ui.PanelLayout, OO.ui.Layout );
  * @param {Object} [config] Configuration options
  */
 OO.ui.PageLayout = function OoUiPageLayout( name, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( name ) && config === undefined ) {
+               config = name;
+               name = config.name;
+       }
+
        // Configuration initialization
        config = $.extend( { scrollable: true }, config );
 
@@ -8586,6 +8857,12 @@ OO.ui.StackLayout.prototype.updateHiddenState = function ( items, selectedItem )
  * @param {Object} [config] Configuration options
  */
 OO.ui.BarToolGroup = function OoUiBarToolGroup( toolbar, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( toolbar ) && config === undefined ) {
+               config = toolbar;
+               toolbar = config.toolbar;
+       }
+
        // Parent constructor
        OO.ui.BarToolGroup.super.call( this, toolbar, config );
 
@@ -8623,6 +8900,12 @@ OO.ui.BarToolGroup.static.name = 'bar';
  * @cfg {string} [header] Text to display at the top of the pop-up
  */
 OO.ui.PopupToolGroup = function OoUiPopupToolGroup( toolbar, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( toolbar ) && config === undefined ) {
+               config = toolbar;
+               toolbar = config.toolbar;
+       }
+
        // Configuration initialization
        config = config || {};
 
@@ -8794,6 +9077,12 @@ OO.ui.PopupToolGroup.prototype.setActive = function ( value ) {
  * @cfg {boolean} [expanded=false] Whether the collapsible tools are expanded by default
  */
 OO.ui.ListToolGroup = function OoUiListToolGroup( toolbar, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( toolbar ) && config === undefined ) {
+               config = toolbar;
+               toolbar = config.toolbar;
+       }
+
        // Configuration initialization
        config = config || {};
 
@@ -8913,6 +9202,12 @@ OO.ui.ListToolGroup.prototype.updateCollapsibleState = function () {
  * @param {Object} [config] Configuration options
  */
 OO.ui.MenuToolGroup = function OoUiMenuToolGroup( toolbar, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( toolbar ) && config === undefined ) {
+               config = toolbar;
+               toolbar = config.toolbar;
+       }
+
        // Configuration initialization
        config = config || {};
 
@@ -8970,6 +9265,12 @@ OO.ui.MenuToolGroup.prototype.onUpdateState = function () {
  * @param {Object} [config] Configuration options
  */
 OO.ui.PopupTool = function OoUiPopupTool( toolbar, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( toolbar ) && config === undefined ) {
+               config = toolbar;
+               toolbar = config.toolbar;
+       }
+
        // Parent constructor
        OO.ui.PopupTool.super.call( this, toolbar, config );
 
@@ -9127,6 +9428,12 @@ OO.ui.ItemWidget.prototype.setElementGroup = function ( group ) {
  * @cfg {jQuery} [$container=input.$element] Element to render menu under
  */
 OO.ui.LookupInputWidget = function OoUiLookupInputWidget( input, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( input ) && config === undefined ) {
+               config = input;
+               input = config.input;
+       }
+
        // Configuration initialization
        config = config || {};
 
@@ -9434,6 +9741,12 @@ OO.ui.LookupInputWidget.prototype.getLookupCacheItemFromData = function () {
  * @param {Object} [config] Configuration options
  */
 OO.ui.OutlineControlsWidget = function OoUiOutlineControlsWidget( outline, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( outline ) && config === undefined ) {
+               config = outline;
+               outline = config.outline;
+       }
+
        // Configuration initialization
        config = $.extend( { icon: 'add' }, config );
 
@@ -10022,7 +10335,22 @@ OO.ui.ActionWidget.prototype.toggle = function () {
 };
 
 /**
- * Button that shows and hides a popup.
+ * PopupButtonWidgets toggle the visibility of a contained {@link OO.ui.PopupWidget PopupWidget},
+ * which is used to display additional information or options.
+ *
+ *     @example
+ *     // Example of a popup button.
+ *     var popupButton = new OO.ui.PopupButtonWidget( {
+ *         label: 'Popup button with options',
+ *         icon: 'menu',
+ *         popup: {
+ *             $content: $( '<p>Additional options here.</p>' ),
+ *             padded: true,
+ *             align: 'left'
+ *         }
+ *     } );
+ *     // Append the button to the DOM.
+ *     $( 'body' ).append( popupButton.$element );
  *
  * @class
  * @extends OO.ui.ButtonWidget
@@ -10057,6 +10385,8 @@ OO.mixinClass( OO.ui.PopupButtonWidget, OO.ui.PopupElement );
 
 /**
  * Handle the button action being triggered.
+ *
+ * @private
  */
 OO.ui.PopupButtonWidget.prototype.onAction = function () {
        this.popup.toggle();
@@ -10600,6 +10930,7 @@ OO.ui.ButtonInputWidget = function OoUiButtonInputWidget( config ) {
 
        // Properties (must be set before parent constructor, which calls #setValue)
        this.useInputTag = config.useInputTag;
+       this.type = config.type;
 
        // Parent constructor
        OO.ui.ButtonInputWidget.super.call( this, config );
@@ -10683,6 +11014,18 @@ OO.ui.ButtonInputWidget.prototype.setValue = function ( value ) {
        return this;
 };
 
+/**
+ * @inheritdoc
+ */
+OO.ui.ButtonInputWidget.prototype.onClick = function ( e ) {
+       var ret = OO.ui.ButtonElement.prototype.onClick.call( this, e );
+       if ( this.type === 'submit' ) {
+               // Never prevent default action (form submission)
+               return true;
+       }
+       return ret;
+};
+
 /**
  * Checkbox input widget.
  *
@@ -11014,7 +11357,7 @@ OO.ui.TextInputWidget = function OoUiTextInputWidget( config ) {
        }
 
        this.setValidation( config.validate );
-       this.setPosition( config.labelPosition );
+       this.setLabelPosition( config.labelPosition );
 
        // Events
        this.$input.on( {
@@ -11313,12 +11656,20 @@ OO.ui.TextInputWidget.prototype.isValid = function () {
  * @param {string} labelPosition Label position, 'before' or 'after'
  * @chainable
  */
-OO.ui.TextInputWidget.prototype.setPosition = function ( labelPosition ) {
+OO.ui.TextInputWidget.prototype.setLabelPosition = function ( labelPosition ) {
        this.labelPosition = labelPosition;
        this.updatePosition();
        return this;
 };
 
+/**
+ * Deprecated alias of #setLabelPosition
+ *
+ * @deprecated Use setLabelPosition instead.
+ */
+OO.ui.TextInputWidget.prototype.setPosition =
+       OO.ui.TextInputWidget.prototype.setLabelPosition;
+
 /**
  * Update the position of the inline label.
  *
@@ -11404,6 +11755,10 @@ OO.ui.ComboBoxWidget = function OoUiComboBoxWidget( config ) {
                },
                config.input
        ) );
+       this.input.$input.eq( 0 ).attr( {
+               role: 'combobox',
+               'aria-autocomplete': 'list'
+       } );
        this.menu = new OO.ui.TextInputMenuSelectWidget( this.input, $.extend(
                {
                        widget: this,
@@ -11599,7 +11954,12 @@ OO.ui.LabelWidget.prototype.onClick = function () {
 };
 
 /**
- * Generic option widget for use with OO.ui.SelectWidget.
+ * OptionWidgets are special elements that can be selected and configured with data. The
+ * data is often unique for each option, but it does not have to be. OptionWidgets are used
+ * with OO.ui.SelectWidget to create a selection of mutually exclusive options. For more information
+ * and examples, please see the [OOjs UI documentation on MediaWiki][1].
+ *
+ * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Selects_and_Options
  *
  * @class
  * @extends OO.ui.Widget
@@ -11654,7 +12014,7 @@ OO.ui.OptionWidget.static.scrollIntoViewOnSelect = false;
 /* Methods */
 
 /**
- * Check if option can be selected.
+ * Check if the option can be selected.
  *
  * @return {boolean} Item is selectable
  */
@@ -11663,7 +12023,9 @@ OO.ui.OptionWidget.prototype.isSelectable = function () {
 };
 
 /**
- * Check if option can be highlighted.
+ * Check if the option can be highlighted. A highlight indicates that the option
+ * may be selected when a user presses enter or clicks. Disabled items cannot
+ * be highlighted.
  *
  * @return {boolean} Item is highlightable
  */
@@ -11672,7 +12034,8 @@ OO.ui.OptionWidget.prototype.isHighlightable = function () {
 };
 
 /**
- * Check if option can be pressed.
+ * Check if the option can be pressed. The pressed state occurs when a user mouses
+ * down on an item, but has not yet let go of the mouse.
  *
  * @return {boolean} Item is pressable
  */
@@ -11681,7 +12044,7 @@ OO.ui.OptionWidget.prototype.isPressable = function () {
 };
 
 /**
- * Check if option is selected.
+ * Check if the option is selected.
  *
  * @return {boolean} Item is selected
  */
@@ -11690,7 +12053,8 @@ OO.ui.OptionWidget.prototype.isSelected = function () {
 };
 
 /**
- * Check if option is highlighted.
+ * Check if the option is highlighted. A highlight indicates that the
+ * item may be selected when a user presses enter or clicks.
  *
  * @return {boolean} Item is highlighted
  */
@@ -11699,7 +12063,9 @@ OO.ui.OptionWidget.prototype.isHighlighted = function () {
 };
 
 /**
- * Check if option is pressed.
+ * Check if the option is pressed. The pressed state occurs when a user mouses
+ * down on an item, but has not yet let go of the mouse. The item may appear
+ * selected, but it will not be selected until the user releases the mouse.
  *
  * @return {boolean} Item is pressed
  */
@@ -11708,7 +12074,9 @@ OO.ui.OptionWidget.prototype.isPressed = function () {
 };
 
 /**
- * Set selected state.
+ * Set the option’s selected state. In general, all modifications to the selection
+ * should be handled by the SelectWidget’s {@link OO.ui.SelectWidget#selectItem selectItem( [item] )}
+ * method instead of this method.
  *
  * @param {boolean} [state=false] Select option
  * @chainable
@@ -11728,7 +12096,10 @@ OO.ui.OptionWidget.prototype.setSelected = function ( state ) {
 };
 
 /**
- * Set highlighted state.
+ * Set the option’s highlighted state. In general, all programmatic
+ * modifications to the highlight should be handled by the
+ * SelectWidget’s {@link OO.ui.SelectWidget#highlightItem highlightItem( [item] )}
+ * method instead of this method.
  *
  * @param {boolean} [state=false] Highlight option
  * @chainable
@@ -11743,7 +12114,10 @@ OO.ui.OptionWidget.prototype.setHighlighted = function ( state ) {
 };
 
 /**
- * Set pressed state.
+ * Set the option’s pressed state. In general, all
+ * programmatic modifications to the pressed state should be handled by the
+ * SelectWidget’s {@link OO.ui.SelectWidget#pressItem pressItem( [item] )}
+ * method instead of this method.
  *
  * @param {boolean} [state=false] Press option
  * @chainable
@@ -11792,9 +12166,12 @@ OO.mixinClass( OO.ui.OptionWidget, OO.ui.IconElement );
 OO.mixinClass( OO.ui.OptionWidget, OO.ui.IndicatorElement );
 
 /**
- * Option widget that looks like a button.
+ * ButtonOptionWidget is a special type of {@link OO.ui.ButtonElement button element} that
+ * can be selected and configured with data. The class is
+ * used with OO.ui.ButtonSelectWidget to create a selection of button options. Please see the
+ * [OOjs UI documentation on MediaWiki] [1] for more information.
  *
- * Use together with OO.ui.ButtonSelectWidget.
+ * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Selects_and_Options#Button_selects_and_options
  *
  * @class
  * @extends OO.ui.DecoratedOptionWidget
@@ -11850,9 +12227,11 @@ OO.ui.ButtonOptionWidget.prototype.setSelected = function ( state ) {
 };
 
 /**
- * Option widget that looks like a radio button.
+ * RadioOptionWidget is an option widget that looks like a radio button.
+ * The class is used with OO.ui.RadioSelectWidget to create a selection of radio options.
+ * Please see the [OOjs UI documentation on MediaWiki] [1] for more information.
  *
- * Use together with OO.ui.RadioSelectWidget.
+ * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Selects_and_Options#Button_selects_and_option
  *
  * @class
  * @extends OO.ui.OptionWidget
@@ -11861,12 +12240,15 @@ OO.ui.ButtonOptionWidget.prototype.setSelected = function ( state ) {
  * @param {Object} [config] Configuration options
  */
 OO.ui.RadioOptionWidget = function OoUiRadioOptionWidget( config ) {
-       // Parent constructor
-       OO.ui.RadioOptionWidget.super.call( this, config );
+       // Configuration initialization
+       config = config || {};
 
-       // Properties
+       // Properties (must be done before parent constructor which calls #setDisabled)
        this.radio = new OO.ui.RadioInputWidget( { value: config.data, tabIndex: -1 } );
 
+       // Parent constructor
+       OO.ui.RadioOptionWidget.super.call( this, config );
+
        // Initialization
        this.$element
                .addClass( 'oo-ui-radioOptionWidget' )
@@ -11901,7 +12283,22 @@ OO.ui.RadioOptionWidget.prototype.setSelected = function ( state ) {
 };
 
 /**
- * Item of an OO.ui.MenuSelectWidget.
+ * @inheritdoc
+ */
+OO.ui.RadioOptionWidget.prototype.setDisabled = function ( disabled ) {
+       OO.ui.RadioOptionWidget.super.prototype.setDisabled.call( this, disabled );
+
+       this.radio.setDisabled( this.isDisabled() );
+
+       return this;
+};
+
+/**
+ * MenuOptionWidget is an option widget that looks like a menu item. The class is used with
+ * OO.ui.MenuSelectWidget to create a menu of mutually exclusive options. Please see
+ * the [OOjs UI documentation on MediaWiki] [1] for more information.
+ *
+ * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Selects_and_Options#Menu_selects_and_options
  *
  * @class
  * @extends OO.ui.DecoratedOptionWidget
@@ -12616,7 +13013,10 @@ OO.ui.SearchWidget.prototype.getResults = function () {
  *
  * @constructor
  * @param {Object} [config] Configuration options
- * @cfg {OO.ui.OptionWidget[]} [items] Options to add
+ * @cfg {OO.ui.OptionWidget[]} [items] An array of options to add to the select.
+ *  Options are created with {@link OO.ui.OptionWidget OptionWidget} classes. See
+ *  the [OOjs UI documentation on MediaWiki] [2] for examples.
+ *  [2]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Selects_and_Options
  */
 OO.ui.SelectWidget = function OoUiSelectWidget( config ) {
        // Configuration initialization
@@ -12663,16 +13063,26 @@ OO.mixinClass( OO.ui.SelectWidget, OO.ui.GroupWidget );
 
 /**
  * @event highlight
+ *
+ * A `highlight` event is emitted when the highlight is changed with the #highlightItem method.
+ *
  * @param {OO.ui.OptionWidget|null} item Highlighted item
  */
 
 /**
  * @event press
+ *
+ * A `press` event is emitted when the #pressItem method is used to programmatically modify the
+ * pressed state of an option.
+ *
  * @param {OO.ui.OptionWidget|null} item Pressed item
  */
 
 /**
  * @event select
+ *
+ * A `select` event is emitted when the selection is modified programmatically with the #selectItem method.
+ *
  * @param {OO.ui.OptionWidget|null} item Selected item
  */
 
@@ -12683,12 +13093,19 @@ OO.mixinClass( OO.ui.SelectWidget, OO.ui.GroupWidget );
 
 /**
  * @event add
+ *
+ * An `add` event is emitted when options are added to the select with the #addItems method.
+ *
  * @param {OO.ui.OptionWidget[]} items Added items
- * @param {number} index Index items were added at
+ * @param {number} index Index of insertion point
  */
 
 /**
  * @event remove
+ *
+ * A `remove` event is emitted when options are removed from the select with the #clearItems
+ * or #removeItems methods.
+ *
  * @param {OO.ui.OptionWidget[]} items Removed items
  */
 
@@ -12811,6 +13228,7 @@ OO.ui.SelectWidget.prototype.onMouseLeave = function () {
 /**
  * Handle key down events.
  *
+ * @protected
  * @param {jQuery.Event} e Key down event
  */
 OO.ui.SelectWidget.prototype.onKeyDown = function ( e ) {
@@ -12944,11 +13362,10 @@ OO.ui.SelectWidget.prototype.togglePressed = function ( pressed ) {
 };
 
 /**
- * Highlight an item.
- *
- * Highlighting is mutually exclusive.
+ * Highlight an option. If the `item` param is omitted, no options will be highlighted
+ * and any existing highlight will be removed. The highlight is mutually exclusive.
  *
- * @param {OO.ui.OptionWidget} [item] Item to highlight, omit to deselect all
+ * @param {OO.ui.OptionWidget} [item] Item to highlight, omit for no highlight
  * @fires highlight
  * @chainable
  */
@@ -12971,7 +13388,8 @@ OO.ui.SelectWidget.prototype.highlightItem = function ( item ) {
 };
 
 /**
- * Select an item.
+ * Programmatically select an option by its reference. If the `item` parameter is omitted,
+ * all options will be deselected.
  *
  * @param {OO.ui.OptionWidget} [item] Item to select, omit to deselect all
  * @fires select
@@ -13038,11 +13456,14 @@ OO.ui.SelectWidget.prototype.chooseItem = function ( item ) {
 };
 
 /**
- * Get an item relative to another one.
+ * Get an option by its position relative to the specified item (or to the start of the option array,
+ * if item is `null`). The direction in which to search through the option array is specified with a
+ * number: -1 for reverse (the default) or 1 for forward. The method will return an option, or
+ * `null` if there are no options in the array.
  *
- * @param {OO.ui.OptionWidget|null} item Item to start at, null to get relative to list start
- * @param {number} direction Direction to move in, -1 to move backward, 1 to move forward
- * @return {OO.ui.OptionWidget|null} Item at position, `null` if there are no items in the menu
+ * @param {OO.ui.OptionWidget|null} item Item to describe the start position, or `null` to start at the beginning of the array.
+ * @param {number} direction Direction to move in: -1 to move backward, 1 to move forward
+ * @return {OO.ui.OptionWidget|null} Item at position, `null` if there are no items in the select
  */
 OO.ui.SelectWidget.prototype.getRelativeSelectableItem = function ( item, direction ) {
        var currentIndex, nextIndex, i,
@@ -13069,7 +13490,8 @@ OO.ui.SelectWidget.prototype.getRelativeSelectableItem = function ( item, direct
 };
 
 /**
- * Get the next selectable item.
+ * Get the next selectable item or `null` if there are no selectable items.
+ * Disabled options and menu-section markers and breaks are not selectable.
  *
  * @return {OO.ui.OptionWidget|null} Item, `null` if there aren't any selectable items
  */
@@ -13087,7 +13509,8 @@ OO.ui.SelectWidget.prototype.getFirstSelectableItem = function () {
 };
 
 /**
- * Add items.
+ * Add an array of options to the select. Optionally, an index number can be used to
+ * specify an insertion point.
  *
  * @param {OO.ui.OptionWidget[]} items Items to add
  * @param {number} [index] Index to insert items after
@@ -13105,9 +13528,9 @@ OO.ui.SelectWidget.prototype.addItems = function ( items, index ) {
 };
 
 /**
- * Remove items.
- *
- * Items will be detached, not removed, so they can be used later.
+ * Remove the specified array of options from the select. Options will be detached
+ * from the DOM, not removed, so they can be reused later. To remove all options from
+ * the select, you may wish to use the #clearItems method instead.
  *
  * @param {OO.ui.OptionWidget[]} items Items to remove
  * @fires remove
@@ -13133,9 +13556,9 @@ OO.ui.SelectWidget.prototype.removeItems = function ( items ) {
 };
 
 /**
- * Clear all items.
- *
- * Items will be detached, not removed, so they can be used later.
+ * Clear all options from the select. Options will be detached from the DOM, not removed,
+ * so that they can be reused later. To remove a subset of options from the select, use
+ * the #removeItems method.
  *
  * @fires remove
  * @chainable
@@ -13155,9 +13578,38 @@ OO.ui.SelectWidget.prototype.clearItems = function () {
 };
 
 /**
- * Select widget containing button options.
+ * ButtonSelectWidget is a {@link OO.ui.SelectWidget select widget} that contains
+ * button options and is used together with
+ * OO.ui.ButtonOptionWidget. The ButtonSelectWidget provides an interface for
+ * highlighting, choosing, and selecting mutually exclusive options. Please see
+ * the [OOjs UI documentation on MediaWiki] [1] for more information.
  *
- * Use together with OO.ui.ButtonOptionWidget.
+ *     @example
+ *     // Example: A ButtonSelectWidget that contains three ButtonOptionWidgets
+ *     var option1 = new OO.ui.ButtonOptionWidget( {
+ *         data: 1,
+ *         label: 'Option 1',
+ *         title:'Button option 1'
+ *     } );
+ *
+ *     var option2 = new OO.ui.ButtonOptionWidget( {
+ *         data: 2,
+ *         label: 'Option 2',
+ *         title:'Button option 2'
+ *     } );
+ *
+ *     var option3 = new OO.ui.ButtonOptionWidget( {
+ *         data: 3,
+ *         label: 'Option 3',
+ *         title:'Button option 3'
+ *     } );
+ *
+ *     var buttonSelect=new OO.ui.ButtonSelectWidget( {
+ *         items: [option1, option2, option3]
+ *     } );
+ *     $('body').append(buttonSelect.$element);
+ *
+ * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Selects_and_Options
  *
  * @class
  * @extends OO.ui.SelectWidget
@@ -13189,9 +13641,34 @@ OO.inheritClass( OO.ui.ButtonSelectWidget, OO.ui.SelectWidget );
 OO.mixinClass( OO.ui.ButtonSelectWidget, OO.ui.TabIndexedElement );
 
 /**
- * Select widget containing radio button options.
+ * RadioSelectWidget is a {@link OO.ui.SelectWidget select widget} that contains radio
+ * options and is used together with OO.ui.RadioOptionWidget. The RadioSelectWidget provides
+ * an interface for adding, removing and selecting options.
+ * Please see the [OOjs UI documentation on MediaWiki][1] for more information.
  *
- * Use together with OO.ui.RadioOptionWidget.
+ *     @example
+ *     // A RadioSelectWidget with RadioOptions.
+ *     var option1 = new OO.ui.RadioOptionWidget( {
+ *         data: 'a',
+ *         label: 'Selected radio option'
+ *     } );
+ *
+ *     var option2 = new OO.ui.RadioOptionWidget( {
+ *         data: 'b',
+ *         label: 'Unselected radio option'
+ *     } );
+ *
+ *     var radioSelect=new OO.ui.RadioSelectWidget( {
+ *         items: [option1, option2]
+ *      } );
+ *
+ *     // Select 'option 1' using the RadioSelectWidget's selectItem() method.
+ *     radioSelect.selectItem( option1 );
+ *
+ *     $('body').append(radioSelect.$element);
+ *
+ * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Selects_and_Options
+
  *
  * @class
  * @extends OO.ui.SelectWidget
@@ -13223,12 +13700,24 @@ OO.inheritClass( OO.ui.RadioSelectWidget, OO.ui.SelectWidget );
 OO.mixinClass( OO.ui.RadioSelectWidget, OO.ui.TabIndexedElement );
 
 /**
- * Overlaid menu of options.
+ * MenuSelectWidget is a {@link OO.ui.SelectWidget select widget} that contains options and
+ * is used together with OO.ui.MenuOptionWidget. See {@link OO.ui.DropdownWidget DropdownWidget} and
+ * {@link OO.ui.ComboBoxWidget ComboBoxWidget} for examples of interfaces that contain menus.
+ * MenuSelectWidgets themselves are not designed to be instantiated directly, rather subclassed
+ * and customized to be opened, closed, and displayed as needed.
+ *
+ * By default, menus are clipped to the visible viewport and are not visible when a user presses the
+ * mouse outside the menu.
+ *
+ * Menus also have support for keyboard interaction:
  *
- * Menus are clipped to the visible viewport. They do not provide a control for opening or closing
- * the menu.
+ * - Enter/Return key: choose and select a menu option
+ * - Up-arrow key: highlight the previous menu option
+ * - Down-arrow key: highlight the next menu option
+ * - Esc key: hide the menu
  *
- * Use together with OO.ui.MenuOptionWidget.
+ * Please see the [OOjs UI documentation on MediaWiki][1] for more information.
+ * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Selects_and_Options
  *
  * @class
  * @extends OO.ui.SelectWidget
@@ -13279,6 +13768,7 @@ OO.mixinClass( OO.ui.MenuSelectWidget, OO.ui.ClippableElement );
 /**
  * Handles document mouse down events.
  *
+ * @protected
  * @param {jQuery.Event} e Key down event
  */
 OO.ui.MenuSelectWidget.prototype.onDocumentMouseDown = function ( e ) {
@@ -13468,11 +13958,17 @@ OO.ui.MenuSelectWidget.prototype.toggle = function ( visible ) {
  * @extends OO.ui.MenuSelectWidget
  *
  * @constructor
- * @param {OO.ui.TextInputWidget} input Text input widget to provide menu for
+ * @param {OO.ui.TextInputWidget} inputWidget Text input widget to provide menu for
  * @param {Object} [config] Configuration options
  * @cfg {jQuery} [$container=input.$element] Element to render menu under
  */
-OO.ui.TextInputMenuSelectWidget = function OoUiTextInputMenuSelectWidget( input, config ) {
+OO.ui.TextInputMenuSelectWidget = function OoUiTextInputMenuSelectWidget( inputWidget, config ) {
+       // Allow passing positional parameters inside the config object
+       if ( OO.isPlainObject( inputWidget ) && config === undefined ) {
+               config = inputWidget;
+               inputWidget = config.inputWidget;
+       }
+
        // Configuration initialization
        config = config || {};
 
@@ -13480,8 +13976,8 @@ OO.ui.TextInputMenuSelectWidget = function OoUiTextInputMenuSelectWidget( input,
        OO.ui.TextInputMenuSelectWidget.super.call( this, config );
 
        // Properties
-       this.input = input;
-       this.$container = config.$container || this.input.$element;
+       this.inputWidget = inputWidget;
+       this.$container = config.$container || this.inputWidget.$element;
        this.onWindowResizeHandler = this.onWindowResize.bind( this );
 
        // Initialization
index 0b61721..cf5a616 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs v1.1.4 optimised for jQuery
+ * OOjs v1.1.5 optimised for jQuery
  * https://www.mediawiki.org/wiki/OOjs
  *
  * Copyright 2011-2015 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: 2015-01-23T20:11:25Z
+ * Date: 2015-02-26T01:51:06Z
  */
 ( function ( global ) {
 
@@ -301,8 +301,12 @@ oo.compare = function ( a, b, asymmetrical ) {
        a = a || {};
        b = b || {};
 
+       if ( typeof a.nodeType === 'number' && typeof a.isEqualNode === 'function' ) {
+               return a.isEqualNode( b );
+       }
+
        for ( k in a ) {
-               if ( !hasOwn.call( a, k ) || a[k] === undefined ) {
+               if ( !hasOwn.call( a, k ) || a[k] === undefined || a[k] === b[k] ) {
                        // Support es3-shim: Without the hasOwn filter, comparing [] to {} will be false in ES3
                        // because the shimmed "forEach" is enumerable and shows up in Array but not Object.
                        // Also ignore undefined values, because there is no conceptual difference between
@@ -319,7 +323,7 @@ oo.compare = function ( a, b, asymmetrical ) {
                                ( aType === 'string' || aType === 'number' || aType === 'boolean' ) &&
                                aValue !== bValue
                        ) ||
-                       ( aValue === Object( aValue ) && !oo.compare( aValue, bValue, asymmetrical ) ) ) {
+                       ( aValue === Object( aValue ) && !oo.compare( aValue, bValue, true ) ) ) {
                        return false;
                }
        }
@@ -622,11 +626,11 @@ oo.isPlainObject = $.isPlainObject;
         */
        oo.EventEmitter.prototype.once = function ( event, listener ) {
                var eventEmitter = this,
-                       listenerWrapper = function () {
-                               eventEmitter.off( event, listenerWrapper );
-                               listener.apply( eventEmitter, Array.prototype.slice.call( arguments, 0 ) );
+                       wrapper = function () {
+                               eventEmitter.off( event, wrapper );
+                               return listener.apply( this, arguments );
                        };
-               return this.on( event, listenerWrapper );
+               return this.on( event, wrapper );
        };
 
        /**
index e4ccf2b..7e7fe91 100644 (file)
                        }
                        request = api.post( postData );
                        request.done( function ( response ) {
-                               var li, newList, $next, $parent, $list;
+                               var li, newList, $content, $parent, $list;
                                if ( response.parse.modules ) {
                                        mw.loader.load( response.parse.modules.concat(
                                                response.parse.modulescripts,
                                }
 
                                if ( response.parse.text['*'] ) {
-                                       $next = $wikiPreview.next();
-                                       // If there is no next node, use parent instead.
-                                       // Only query parent if needed, false otherwise.
-                                       $parent = !$next.length && $wikiPreview.parent();
-
-                                       $wikiPreview
+                                       $content = $wikiPreview.children( '.mw-content-ltr,.mw-content-rtl' );
+                                       $content
                                                .detach()
                                                .html( response.parse.text['*'] );
 
-                                       mw.hook( 'wikipage.content' ).fire( $wikiPreview );
+                                       mw.hook( 'wikipage.content' ).fire( $content );
 
                                        // Reattach
-                                       if ( $parent ) {
-                                               $parent.append( $wikiPreview );
-                                       } else {
-                                               $next.before( $wikiPreview );
-                                       }
+                                       $wikiPreview.append( $content );
+
                                        $wikiPreview.show();
 
                                }
index 90b8503..2e78c1c 100644 (file)
                 */
                loader: ( function () {
 
+                       /**
+                        * Fired via mw.track on various resource loading errors.
+                        *
+                        * @event resourceloader_exception
+                        * @param {Error|Mixed} e The error that was thrown. Almost always an Error
+                        *   object, but in theory module code could manually throw something else, and that
+                        *   might also end up here.
+                        * @param {string} [module] Name of the module which caused the error. Omitted if the
+                        *   error is not module-related or the module cannot be easily identified due to
+                        *   batched handling.
+                        * @param {string} source Source of the error. Possible values:
+                        *   - style: stylesheet error (only affects old IE where a special style loading method
+                        *     is used)
+                        *   - load-callback: exception thrown by user callback
+                        *   - module-execute: exception thrown by module code
+                        */
+
                        /**
                         * Mapping of registered modules.
                         *
                                                                styleEl.styleSheet.cssText += cssText;
                                                        } catch ( e ) {
                                                                log( 'Stylesheet error', e );
+                                                               mw.track( 'resourceloader.exception', { exception: e, source: 'stylesheet' } );
                                                        }
                                                } else {
                                                        styleEl.appendChild( document.createTextNode( cssText ) );
                                                        // A user-defined callback raised an exception.
                                                        // Swallow it to protect our state machine!
                                                        log( 'Exception thrown by user callback', e );
+                                                       mw.track( 'resourceloader.exception',
+                                                               { exception: e, module: module, source: 'load-callback' } );
                                                }
                                        }
                                }
                                                // and not in debug mode, such as when a symbol that should be global isn't exported
                                                log( 'Exception thrown by ' + module, e );
                                                registry[module].state = 'error';
+                                               mw.track( 'resourceloader.exception', { exception: e, module: module, source: 'module-execute' } );
                                                handlePending( module );
                                        }
                                }
index 1a8fe0a..c2a6f3a 100644 (file)
@@ -1,45 +1,45 @@
 /* Anchors for section headings */
 .mw-headline-anchor {
-    font-weight: normal;
-    margin-left: -14px;
-    width: 14px;
-    filter: alpha(opacity=0);
-    opacity: 0;
-    position: absolute;
-    text-align: center;
-    text-decoration: none;
-    -moz-user-select: none;
-    -webkit-user-select: none;
-    user-select: none;
+       font-weight: normal;
+       margin-left: -14px;
+       width: 14px;
+       filter: alpha(opacity=0);
+       opacity: 0;
+       position: absolute;
+       text-align: center;
+       text-decoration: none;
+       -moz-user-select: none;
+       -webkit-user-select: none;
+       user-select: none;
 }
 
 /* @noflip */
 .mw-content-ltr .mw-headline-anchor,
 .mw-content-rtl .mw-content-ltr .mw-headline-anchor {
-    margin-left: -14px;
-    margin-right: 0;
+       margin-left: -14px;
+       margin-right: 0;
 }
 
 /* @noflip */
 .mw-content-rtl .mw-headline-anchor,
 .mw-content-ltr .mw-content-rtl .mw-headline-anchor {
-    margin-left: 0;
-    margin-right: -14px;
+       margin-left: 0;
+       margin-right: -14px;
 }
 
 .mw-headline-anchor,
 .mw-headline-anchor:visited {
-    color: #888;
+       color: #888;
 }
 
 .mw-headline-anchor:hover,
 .mw-headline-anchor:focus {
-    color: #555;
-    text-decoration: none;
+       color: #555;
+       text-decoration: none;
 }
 
 .mw-headline-anchor:active {
-    color: #000;
+       color: #000;
 }
 
 .mw-body h1:hover .mw-headline-anchor,
@@ -54,6 +54,6 @@
 .mw-body h4:focus .mw-headline-anchor,
 .mw-body h5:focus .mw-headline-anchor,
 .mw-body h6:focus .mw-headline-anchor {
-    filter: alpha(opacity=100);
-    opacity: 1;
+       filter: alpha(opacity=100);
+       opacity: 1;
 }
index a7695cc..33443c9 100644 (file)
@@ -1,4 +1,4 @@
 /* Hide section anchor from print media */
 .mw-headline-anchor {
-    display: none;
+       display: none;
 }
index b85516c..32c7a39 100644 (file)
@@ -425,11 +425,11 @@ a
 <p>a
 </p><p><br />
 </p>
-<h1><a href="#b" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="b">b</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: b">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h1><a href="#b" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="b">b</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: b">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
 <p><a href="/index.php?title=A&amp;action=edit&amp;redlink=1" class="new" title="A (page does not exist)">a</a>
 </p><p><br />
 </p>
-<h1><a href="#b_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="b_2">b</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: b">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h1><a href="#b_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="b_2">b</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: b">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
 
 !! end
 
@@ -442,7 +442,7 @@ Extra newlines between heading and content are swallowed
 
 [[a]]
 !! html
-<h1><a href="#b" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="b">b</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: b">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h1><a href="#b" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="b">b</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: b">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
 <p><a href="/index.php?title=A&amp;action=edit&amp;redlink=1" class="new" title="A (page does not exist)">a</a>
 </p>
 !! end
@@ -2861,7 +2861,7 @@ File:foobar.jpg
 !! html
  a <ul class="gallery mw-gallery-traditional">
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
                        </div>
                </div></li>
@@ -2873,7 +2873,7 @@ File:foobar.jpg
 <li class="gallerybox" style="width: 155px">
 <div style="width: 155px">
 <div class="thumb" style="width: 150px;">
-<div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div>
+<div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div>
 </div>
 <div class="gallerytext"></div>
 </div>
@@ -3966,19 +3966,31 @@ Definition Lists: colons occurring in tags
 ;<i>a:b</i>
 ;<span>a:b</span>
 ;<div>a:b</div>
+;<div>a
+:b</div>
 ;{{echo|a:b}}
 ;{{echo|''a:b''}}
-!! html
-<dl><dt>a</dt>
+!! html+tidy
+<dl>
+<dt>a</dt>
 <dd>b</dd>
 <dt><b>a:b</b></dt>
 <dt><i>a:b</i></dt>
 <dt><span>a:b</span></dt>
-<dt><div>a:b</div></dt>
+<dd>
+<div>a:b</div>
+</dd>
+<dd>
+<div>a
+<dl>
+<dd>b</dd>
+</dl>
+</div>
+</dd>
 <dt>a</dt>
 <dd>b</dd>
-<dt><i>a:b</i></dt></dl>
-
+<dt><i>a:b</i></dt>
+</dl>
 !! end
 
 !! test
@@ -6226,6 +6238,27 @@ parsoid=html2wt
 |}
 !! end
 
+!!test
+Testing serialization after deletion of table cells
+!!options
+parsoid={
+  "modes": ["wt2wt"],
+  "changes": [
+    ["#x", "remove"]
+  ]
+}
+!!wikitext
+{|
+!h1 !!h2 !!h3
+| id="x" |c1 {{!}}{{!}}{{!}}c2 |||c3
+|}
+!! wikitext/edited
+{|
+!h1 !!h2 !!h3
+|c2 |||c3
+|}
+!!end
+
 ###
 ### Internal links
 ###
@@ -8052,7 +8085,7 @@ List interrupted by empty line or heading
 !! html
 <ul><li> foo</li></ul>
 <ul><li><ul><li> bar</li></ul></li></ul>
-<h2><a href="#A_heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="A_heading">A heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: A heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#A_heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="A_heading">A heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: A heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <ul><li> Another list item</li></ul>
 
 !!end
@@ -9760,8 +9793,8 @@ Bug 6563: Edit link generation for section shown by <includeonly>
 !! wikitext
 {{includeonly section}}
 !! html
-<h2><a href="#Includeonly_section" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Includeonly_section">Includeonly section</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Includeonly_section&amp;action=edit&amp;section=T-1" title="Template:Includeonly section">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Section_T-1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_T-1">Section T-1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Includeonly_section&amp;action=edit&amp;section=T-2" title="Template:Includeonly section">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Includeonly_section" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Includeonly_section">Includeonly section</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Includeonly_section&amp;action=edit&amp;section=T-1" title="Template:Includeonly section">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_T-1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_T-1">Section T-1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Includeonly_section&amp;action=edit&amp;section=T-2" title="Template:Includeonly section">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -9787,7 +9820,7 @@ Bug 6563: Edit link generation for section suppressed by <includeonly>
 </includeonly>
 ==Section 1==
 !! html
-<h2><a href="#Section_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Section 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Section 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -9824,12 +9857,12 @@ some
 <includeonly>can have stuff</includeonly>=== here ===
 
 !! html/php
-<h2><a href="#hu" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="hu">hu</span></h2>
+<h2><a href="#hu" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="hu">hu</span></h2>
 <p>some
 </p>
 <ul><li> stuff</li>
 <li> here</li></ul>
-<h3><a href="#here" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="here">here</span></h3>
+<h3><a href="#here" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="here">here</span></h3>
 
 !! html/parsoid
 <!-- comment --><meta typeof="mw:Includes/NoInclude" data-parsoid='{"src":"&lt;noinclude>"}'/><!-- comment --><meta typeof="mw:Includes/NoInclude/End" data-parsoid='{"src":"&lt;/noinclude>"}'/><!-- comment --><h2> hu </h2>
@@ -13239,13 +13272,13 @@ More
 ===Smaller headline===
 Blah blah
 !! html
-<h2><a href="#Headline_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Headline_1">Headline 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Headline 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Headline_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_1">Headline 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Headline 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>Some text
 </p>
-<h2><a href="#Headline_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Headline_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Headline_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>More
 </p>
-<h3><a href="#Smaller_headline" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Smaller_headline">Smaller headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Smaller headline">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h3><a href="#Smaller_headline" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Smaller_headline">Smaller headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Smaller headline">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
 <p>Blah blah
 </p>
 !! end
@@ -13285,14 +13318,14 @@ Some text
 </ul>
 </div>
 
-<h2><a href="#Headline_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Headline_1">Headline 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Headline 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h3><a href="#Subheadline_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Subheadline_1">Subheadline 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Subheadline 1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
-<h5><a href="#Skipping_a_level" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Skipping_a_level">Skipping a level</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Skipping a level">edit</a><span class="mw-editsection-bracket">]</span></span></h5>
-<h6><a href="#Skipping_a_level_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Skipping_a_level_2">Skipping a level</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Skipping a level">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
-<h2><a href="#Headline_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Headline_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Headline_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_1">Headline 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Headline 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h3><a href="#Subheadline_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Subheadline_1">Subheadline 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Subheadline 1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h5><a href="#Skipping_a_level" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Skipping_a_level">Skipping a level</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Skipping a level">edit</a><span class="mw-editsection-bracket">]</span></span></h5>
+<h6><a href="#Skipping_a_level_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Skipping_a_level_2">Skipping a level</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Skipping a level">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
+<h2><a href="#Headline_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>Some text
 </p>
-<h3><a href="#Another_headline" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Another_headline">Another headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: Another headline">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h3><a href="#Another_headline" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Another_headline">Another headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: Another headline">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
 
 !! end
 
@@ -13314,10 +13347,10 @@ __FORCETOC__
 </ul>
 </div>
 
-<h2><a href="#Headline_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Headline_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Headline" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Headline">Headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Headline">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Headline_2_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Headline_2_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Headline_3" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Headline_3">Headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Headline">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Headline_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Headline" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline">Headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Headline">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Headline_2_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_2_2">Headline 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Headline 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Headline_3" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_3">Headline</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Headline">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -13366,16 +13399,16 @@ Handling of sections up to level 6 and beyond
 </ul>
 </div>
 
-<h1><a href="#Level_1_Heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Level_1_Heading">Level 1 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Level 1 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
-<h2><a href="#Level_2_Heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Level_2_Heading">Level 2 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Level 2 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h3><a href="#Level_3_Heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Level_3_Heading">Level 3 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Level 3 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
-<h4><a href="#Level_4_Heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Level_4_Heading">Level 4 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Level 4 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
-<h5><a href="#Level_5_Heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Level_5_Heading">Level 5 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Level 5 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h5>
-<h6><a href="#Level_6_Heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Level_6_Heading">Level 6 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: Level 6 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
-<h6><a href="#.3D_Level_7_Heading.3D" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id=".3D_Level_7_Heading.3D">= Level 7 Heading=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=7" title="Edit section: = Level 7 Heading=">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
-<h6><a href="#.3D.3D_Level_8_Heading.3D.3D" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id=".3D.3D_Level_8_Heading.3D.3D">== Level 8 Heading==</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=8" title="Edit section: == Level 8 Heading==">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
-<h6><a href="#.3D.3D.3D_Level_9_Heading.3D.3D.3D" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id=".3D.3D.3D_Level_9_Heading.3D.3D.3D">=== Level 9 Heading===</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=9" title="Edit section: === Level 9 Heading===">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
-<h6><a href="#.3D.3D.3D.3D_Level_10_Heading.3D.3D.3D.3D" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id=".3D.3D.3D.3D_Level_10_Heading.3D.3D.3D.3D">==== Level 10 Heading====</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=10" title="Edit section: ==== Level 10 Heading====">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
+<h1><a href="#Level_1_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_1_Heading">Level 1 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Level 1 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h2><a href="#Level_2_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_2_Heading">Level 2 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Level 2 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h3><a href="#Level_3_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_3_Heading">Level 3 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Level 3 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h4><a href="#Level_4_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_4_Heading">Level 4 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Level 4 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
+<h5><a href="#Level_5_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_5_Heading">Level 5 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Level 5 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h5>
+<h6><a href="#Level_6_Heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Level_6_Heading">Level 6 Heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: Level 6 Heading">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
+<h6><a href="#.3D_Level_7_Heading.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D_Level_7_Heading.3D">= Level 7 Heading=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=7" title="Edit section: = Level 7 Heading=">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
+<h6><a href="#.3D.3D_Level_8_Heading.3D.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D.3D_Level_8_Heading.3D.3D">== Level 8 Heading==</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=8" title="Edit section: == Level 8 Heading==">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
+<h6><a href="#.3D.3D.3D_Level_9_Heading.3D.3D.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D.3D.3D_Level_9_Heading.3D.3D.3D">=== Level 9 Heading===</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=9" title="Edit section: === Level 9 Heading===">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
+<h6><a href="#.3D.3D.3D.3D_Level_10_Heading.3D.3D.3D.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D.3D.3D.3D_Level_10_Heading.3D.3D.3D.3D">==== Level 10 Heading====</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=10" title="Edit section: ==== Level 10 Heading====">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
 
 !! end
 
@@ -13409,12 +13442,12 @@ TOC regression (bug 9764)
 </ul>
 </div>
 
-<h2><a href="#title_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_1">title 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: title 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h3><a href="#title_1.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_1.1">title 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: title 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
-<h4><a href="#title_1.1.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_1.1.1">title 1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: title 1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
-<h3><a href="#title_1.2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_1.2">title 1.2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: title 1.2">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
-<h2><a href="#title_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_2">title 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: title 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h3><a href="#title_2.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_2.1">title 2.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: title 2.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h2><a href="#title_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1">title 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: title 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h3><a href="#title_1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.1">title 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: title 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h4><a href="#title_1.1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.1.1">title 1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: title 1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
+<h3><a href="#title_1.2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.2">title 1.2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: title 1.2">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h2><a href="#title_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_2">title 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: title 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h3><a href="#title_2.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_2.1">title 2.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: title 2.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
 
 !! end
 
@@ -13446,12 +13479,12 @@ wgMaxTocLevel=3
 </ul>
 </div>
 
-<h2><a href="#title_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_1">title 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: title 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h3><a href="#title_1.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_1.1">title 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: title 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
-<h4><a href="#title_1.1.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_1.1.1">title 1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: title 1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
-<h3><a href="#title_1.2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_1.2">title 1.2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: title 1.2">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
-<h2><a href="#title_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_2">title 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: title 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h3><a href="#title_2.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_2.1">title 2.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: title 2.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h2><a href="#title_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1">title 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: title 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h3><a href="#title_1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.1">title 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: title 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h4><a href="#title_1.1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.1.1">title 1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: title 1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
+<h3><a href="#title_1.2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.2">title 1.2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: title 1.2">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h2><a href="#title_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_2">title 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: title 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h3><a href="#title_2.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_2.1">title 2.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: title 2.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
 
 !! end
 
@@ -13477,11 +13510,11 @@ wgMaxTocLevel=3
 </ul>
 </div>
 
-<h2><a href="#Section_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Section 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h3><a href="#Section_1.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_1.1">Section 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Section 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
-<h4><a href="#Section_1.1.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_1.1.1">Section 1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Section 1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
-<h4><a href="#Section_1.1.1.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_1.1.1.1">Section 1.1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Section 1.1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
-<h2><a href="#Section_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Section 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Section 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h3><a href="#Section_1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1.1">Section 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Section 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h4><a href="#Section_1.1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1.1.1">Section 1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Section 1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
+<h4><a href="#Section_1.1.1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1.1.1.1">Section 1.1.1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Section 1.1.1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
+<h2><a href="#Section_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Section 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -13492,8 +13525,8 @@ Resolving duplicate section names
 == Foo bar ==
 == Foo bar ==
 !! html
-<h2><a href="#Foo_bar" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Foo_bar">Foo bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Foo bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Foo_bar_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Foo_bar_2">Foo bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Foo bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Foo_bar" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_bar">Foo bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Foo bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Foo_bar_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_bar_2">Foo bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Foo bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -13503,8 +13536,8 @@ Resolving duplicate section names with differing case (bug 10721)
 == Foo bar ==
 == Foo Bar ==
 !! html
-<h2><a href="#Foo_bar" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Foo_bar">Foo bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Foo bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Foo_Bar_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar_2">Foo Bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Foo_bar" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_bar">Foo bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Foo bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Foo_Bar_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar_2">Foo Bar</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -13523,10 +13556,10 @@ __NOTOC__
 {{sections}}
 ==Section 4==
 !! html
-<h2><a href="#Section_0" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_0">Section 0</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Section 0">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h3><a href="#Section_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Sections&amp;action=edit&amp;section=T-1" title="Template:Sections">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
-<h2><a href="#Section_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Sections&amp;action=edit&amp;section=T-2" title="Template:Sections">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Section_4" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_4">Section 4</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Section 4">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_0" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_0">Section 0</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Section 0">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h3><a href="#Section_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Sections&amp;action=edit&amp;section=T-1" title="Template:Sections">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h2><a href="#Section_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Template:Sections&amp;action=edit&amp;section=T-2" title="Template:Sections">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_4" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_4">Section 4</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Section 4">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -13537,8 +13570,8 @@ __NOEDITSECTION__
 ==Section 1==
 ==Section 2==
 !! html
-<h2><a href="#Section_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span></h2>
-<h2><a href="#Section_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span></h2>
+<h2><a href="#Section_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span></h2>
+<h2><a href="#Section_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span></h2>
 
 !! end
 
@@ -13547,7 +13580,7 @@ Link inside a section heading
 !! wikitext
 ==Section with a [[Main Page|link]] in it==
 !! html
-<h2><a href="#Section_with_a_link_in_it" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_with_a_link_in_it">Section with a <a href="/wiki/Main_Page" title="Main Page">link</a> in it</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Section with a link in it">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_with_a_link_in_it" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_with_a_link_in_it">Section with a <a href="/wiki/Main_Page" title="Main Page">link</a> in it</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Section with a link in it">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -13570,9 +13603,9 @@ __TOC__
 </ul>
 </div>
 
-<h2><a href="#title_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_1">title 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: title 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h3><a href="#title_1.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_1.1">title 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: title 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
-<h2><a href="#title_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="title_2">title 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: title 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#title_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1">title 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: title 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h3><a href="#title_1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_1.1">title 1.1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: title 1.1">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h2><a href="#title_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="title_2">title 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: title 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -13596,10 +13629,10 @@ The line above must have a trailing space!
 --> <!-- -->
 But just in case it doesn't...
 !! html
-<h1><a href="#.3D" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id=".3D">=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: =">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h1><a href="#.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D">=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: =">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
 <p>The line above must have a trailing space!
 </p>
-<h1><a href="#.3D_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id=".3D_2">=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: =">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h1><a href="#.3D_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3D_2">=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: =">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
 <p>But just in case it doesn't...
 </p>
 !! end
@@ -13636,19 +13669,19 @@ section 5
 </ul>
 </div>
 
-<h2><a href="#text_.3E_text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="text_.3E_text">text &gt; text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: text > text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#text_.3E_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="text_.3E_text">text &gt; text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: text > text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 1
 </p>
-<h2><a href="#text_.3C_text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="text_.3C_text">text &lt; text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: text &lt; text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#text_.3C_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="text_.3C_text">text &lt; text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: text &lt; text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 2
 </p>
-<h2><a href="#text_.26_text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="text_.26_text">text &amp; text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: text &amp; text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#text_.26_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="text_.26_text">text &amp; text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: text &amp; text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 3
 </p>
-<h2><a href="#text_.27_text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="text_.27_text">text ' text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: text ' text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#text_.27_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="text_.27_text">text ' text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: text ' text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 4
 </p>
-<h2><a href="#text_.22_text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="text_.22_text">text " text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: text &quot; text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#text_.22_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="text_.22_text">text " text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: text &quot; text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 5
 </p>
 !! end
@@ -13696,22 +13729,22 @@ section 6
 </ul>
 </div>
 
-<h2><a href="#Space_between_Text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Space_between_Text">Space between Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Space between Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Space_between_Text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Space_between_Text">Space between Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Space between Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 1
 </p>
-<h2><a href="#Space-Entity_between_Text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Space-Entity_between_Text">Space-Entity&#32;between&#32;Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Space-Entity between Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Space-Entity_between_Text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Space-Entity_between_Text">Space-Entity&#32;between&#32;Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Space-Entity between Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 2
 </p>
-<h2><a href="#Plus.2Bbetween.2BText" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Plus.2Bbetween.2BText">Plus+between+Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Plus+between+Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Plus.2Bbetween.2BText" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Plus.2Bbetween.2BText">Plus+between+Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Plus+between+Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 3
 </p>
-<h2><a href="#Plus-Entity.2Bbetween.2BText" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Plus-Entity.2Bbetween.2BText">Plus-Entity&#43;between&#43;Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Plus-Entity+between+Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Plus-Entity.2Bbetween.2BText" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Plus-Entity.2Bbetween.2BText">Plus-Entity&#43;between&#43;Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Plus-Entity+between+Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 4
 </p>
-<h2><a href="#Underscore_between_Text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Underscore_between_Text">Underscore_between_Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Underscore between Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Underscore_between_Text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Underscore_between_Text">Underscore_between_Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Underscore between Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 5
 </p>
-<h2><a href="#Underscore-Entity_between_Text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Underscore-Entity_between_Text">Underscore-Entity&#95;between&#95;Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: Underscore-Entity_between_Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Underscore-Entity_between_Text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Underscore-Entity_between_Text">Underscore-Entity&#95;between&#95;Text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: Underscore-Entity_between_Text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>section 6
 </p><p><a href="#Space_between_Text">#Space between Text</a>
 <a href="#Space-Entity_between_Text">#Space-Entity&#32;between&#32;Text</a>
@@ -13740,10 +13773,10 @@ Headers with excess '=' characters
 </ul>
 </div>
 
-<h1><a href="#foo.3D" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="foo.3D">foo=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: foo=">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
-<h1><a href="#.3Dfoo" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id=".3Dfoo">=foo</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: =foo">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
-<h1><a href="#italic_heading.3D" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="italic_heading.3D"><i>italic</i> heading=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: italic heading=">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
-<h1><a href="#.3Ditalic_heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id=".3Ditalic_heading">=<i>italic</i> heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: =italic heading">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h1><a href="#foo.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="foo.3D">foo=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: foo=">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h1><a href="#.3Dfoo" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3Dfoo">=foo</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: =foo">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h1><a href="#italic_heading.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="italic_heading.3D"><i>italic</i> heading=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: italic heading=">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h1><a href="#.3Ditalic_heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".3Ditalic_heading">=<i>italic</i> heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: =italic heading">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
 
 !! end
 
@@ -13778,12 +13811,12 @@ __NOEDITSECTION__
 </ul>
 </div>
 
-<h1><a href="#Header_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Header_1">Header 1</span></h1>
-<h2><a href="#Header_1.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Header_1.1">Header 1.1</span></h2>
-<h2><a href="#Header_1.2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Header_1.2">Header 1.2</span></h2>
-<h1><a href="#Header_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Header_2">Header 2</span></h1>
-<h2><a href="#Header_2.1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Header_2.1">Header 2.1</span></h2>
-<h2><a href="#Header_2.2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Header_2.2">Header 2.2</span></h2>
+<h1><a href="#Header_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_1">Header 1</span></h1>
+<h2><a href="#Header_1.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_1.1">Header 1.1</span></h2>
+<h2><a href="#Header_1.2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_1.2">Header 1.2</span></h2>
+<h1><a href="#Header_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_2">Header 2</span></h1>
+<h2><a href="#Header_2.1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_2.1">Header 2.1</span></h2>
+<h2><a href="#Header_2.2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Header_2.2">Header 2.2</span></h2>
 
 !! end
 
@@ -13798,9 +13831,9 @@ parsoid=wt2html,wt2wt
 c2
 c3-->
 !! html
-<h2><a href="#foo" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="foo">foo</span></h2>
-<h2><a href="#bar" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="bar">bar</span></h2>
-<h2><a href="#baz" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="baz">baz</span></h2>
+<h2><a href="#foo" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="foo">foo</span></h2>
+<h2><a href="#bar" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="bar">bar</span></h2>
+<h2><a href="#baz" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="baz">baz</span></h2>
 
 !! end
 
@@ -15381,7 +15414,7 @@ Fuzz testing: Parser14
 == onmouseover= ==
 http://__TOC__
 !! html
-<h2><a href="#onmouseover.3D" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="onmouseover.3D">onmouseover=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: onmouseover=">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#onmouseover.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="onmouseover.3D">onmouseover=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: onmouseover=">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 http://<div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
 <ul>
 <li class="toclevel-1 tocsection-1"><a href="#onmouseover.3D"><span class="tocnumber">1</span> <span class="toctext">onmouseover=</span></a></li>
@@ -15390,7 +15423,7 @@ http://<div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
 
 
 !! html+tidy
-<h2><a href="#onmouseover.3D" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="onmouseover.3D">onmouseover=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: onmouseover=">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#onmouseover.3D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="onmouseover.3D">onmouseover=</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: onmouseover=">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p>http://</p>
 <div id="toc" class="toc">
 <div id="toctitle">
@@ -15408,13 +15441,13 @@ Fuzz testing: Parser14-table
 ==a==
 {| STYLE=__TOC__
 !! html
-<h2><a href="#a" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="a">a</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: a">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#a" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="a">a</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: a">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <table style="&#95;_TOC&#95;_">
 <tr><td></td></tr>
 </table>
 
 !! html+tidy
-<h2><a href="#a" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="a">a</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: a">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#a" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="a">a</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: a">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <table style="__TOC__">
 <tr>
 <td></td>
@@ -16809,19 +16842,19 @@ image:foobar.jpg|Blabla|alt=This is a foo-bar.|blabla.
                        </div>
                </div></li>
                <li class="gallerybox" style="width: 105px"><div style="width: 105px">
-                       <div class="thumb" style="width: 100px;"><div style="margin:31px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg" width="70" height="8" /></a></div></div>
+                       <div class="thumb" style="width: 100px;"><div style="margin:31px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg" width="70" height="8" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/105px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/140px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
 <p>some <b>caption</b> <a href="/wiki/Main_Page" title="Main Page">Main Page</a>
 </p>
                        </div>
                </div></li>
                <li class="gallerybox" style="width: 105px"><div style="width: 105px">
-                       <div class="thumb" style="width: 100px;"><div style="margin:31px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg" width="70" height="8" /></a></div></div>
+                       <div class="thumb" style="width: 100px;"><div style="margin:31px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg" width="70" height="8" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/105px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/140px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
                        </div>
                </div></li>
                <li class="gallerybox" style="width: 105px"><div style="width: 105px">
-                       <div class="thumb" style="width: 100px;"><div style="margin:31px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="This is a foo-bar." src="http://example.com/images/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg" width="70" height="8" /></a></div></div>
+                       <div class="thumb" style="width: 100px;"><div style="margin:31px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="This is a foo-bar." src="http://example.com/images/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg" width="70" height="8" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/105px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/140px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
 <p>Blabla|blabla.
 </p>
@@ -16842,17 +16875,17 @@ image:foobar.jpg|link=Main Page#section|caption
 !! html
 <ul class="gallery mw-gallery-traditional">
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/Main_Page"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/Main_Page"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
                        </div>
                </div></li>
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/Main_Page#section"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/Main_Page#section"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
                        </div>
                </div></li>
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/Main_Page#section"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/Main_Page#section"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
 <p>caption
 </p>
@@ -16872,14 +16905,14 @@ File:foobar.jpg|{{Test|unamedParam|alt=param}}|alt=galleryalt
 !! html
 <ul class="gallery mw-gallery-traditional">
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
 <p><a href="/wiki/File:Foobar.jpg" class="image" title="desc"><img alt="inneralt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/20px-Foobar.jpg" width="20" height="2" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/30px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/40px-Foobar.jpg 2x" /></a>
 </p>
                        </div>
                </div></li>
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
 <p>This is a test template
 </p>
@@ -16916,7 +16949,7 @@ caption
                        </div>
                </div></li>
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
 <p><a href="/wiki/File:Foobar.jpg" title="File:Foobar.jpg">Foobar.jpg</a><br />
 some <b>caption</b> <a href="/wiki/Main_Page" title="Main Page">Main Page</a>
@@ -16924,7 +16957,7 @@ some <b>caption</b> <a href="/wiki/Main_Page" title="Main Page">Main Page</a>
                        </div>
                </div></li>
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
 <p><a href="/wiki/File:Foobar.jpg" title="File:Foobar.jpg">Foobar.jpg</a><br />
 </p>
@@ -16956,12 +16989,12 @@ foobar.jpg
                        </div>
                </div></li>
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
                        </div>
                </div></li>
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
                        </div>
                </div></li>
@@ -17423,7 +17456,7 @@ Inclusion of !userCanEdit() content
 !! wikitext
 {{MediaWiki:Fake}}
 !! html
-<h2><a href="#header" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="header">header</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=MediaWiki:Fake&amp;action=edit&amp;section=T-1" title="MediaWiki:Fake">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#header" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="header">header</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=MediaWiki:Fake&amp;action=edit&amp;section=T-1" title="MediaWiki:Fake">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -17455,12 +17488,12 @@ Out-of-order TOC heading levels
 </ul>
 </div>
 
-<h2><a href="#2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="2">2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h6><a href="#6" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="6">6</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: 6">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
-<h3><a href="#3" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="3">3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: 3">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
-<h1><a href="#1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="1">1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: 1">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
-<h5><a href="#5" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="5">5</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: 5">edit</a><span class="mw-editsection-bracket">]</span></span></h5>
-<h2><a href="#2_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="2_2">2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="2">2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h6><a href="#6" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="6">6</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: 6">edit</a><span class="mw-editsection-bracket">]</span></span></h6>
+<h3><a href="#3" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="3">3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: 3">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
+<h1><a href="#1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="1">1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: 1">edit</a><span class="mw-editsection-bracket">]</span></span></h1>
+<h5><a href="#5" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="5">5</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: 5">edit</a><span class="mw-editsection-bracket">]</span></span></h5>
+<h2><a href="#2_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="2_2">2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=6" title="Edit section: 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -17567,7 +17600,7 @@ anchorencode encodes like the TOC generator: (bug 18431)
 {{anchorencode: _ +:.3A%3A&&amp;]] }}
 __NOEDITSECTION__
 !! html
-<h3><a href="#.2B:.3A.253A.26.26.5D.5D" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id=".2B:.3A.253A.26.26.5D.5D">_ +:.3A%3A&amp;&amp;]]</span></h3>
+<h3><a href="#.2B:.3A.253A.26.26.5D.5D" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".2B:.3A.253A.26.26.5D.5D">_ +:.3A%3A&amp;&amp;]]</span></h3>
 <p>.2B:.3A.253A.26.26.5D.5D
 </p>
 !! end
@@ -17817,7 +17850,7 @@ language=sr variant=sr-ec
 !! wikitext
 == -{Naslov}- ==
 !! html
-<h2><a href="#-.7BNaslov.7D-" class="mw-headline-anchor" title="Линк то тхис сецтион">§</a><span class="mw-headline" id="-.7BNaslov.7D-">Naslov</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Уредите одељак „Naslov“">уреди</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#-.7BNaslov.7D-" class="mw-headline-anchor" aria-hidden="true" title="Линк то тхис сецтион">§</a><span class="mw-headline" id="-.7BNaslov.7D-">Naslov</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Уредите одељак „Naslov“">уреди</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -18207,7 +18240,7 @@ Morwen/13: Unclosed link followed by heading
 !! html
 <p>[[link
 </p>
-<h2><a href="#heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="heading">heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="heading">heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -18219,7 +18252,7 @@ HHP2.1: Heuristics for headings in preprocessor parenthetical structures
 !! html
 <p>{{foo|
 </p>
-<h1><a href="#heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="heading">heading</span></h1>
+<h1><a href="#heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="heading">heading</span></h1>
 
 !! end
 
@@ -18231,7 +18264,7 @@ HHP2.2: Heuristics for headings in preprocessor parenthetical structures
 !! html
 <p>{{foo|
 </p>
-<h2><a href="#heading" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="heading">heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#heading" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="heading">heading</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: heading">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -19115,7 +19148,7 @@ __TOC__
 </ul>
 </div>
 
-<h2><a href="#Lost_episodes" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Lost_episodes"><i>Lost</i> episodes</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Lost episodes">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Lost_episodes" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Lost_episodes"><i>Lost</i> episodes</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Lost episodes">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -19133,7 +19166,7 @@ __TOC__
 </ul>
 </div>
 
-<h2><a href="#should_be_bold_then_normal_text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="should_be_bold_then_normal_text"><b>should be bold</b> then normal text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: should be bold then normal text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#should_be_bold_then_normal_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="should_be_bold_then_normal_text"><b>should be bold</b> then normal text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: should be bold then normal text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -19151,7 +19184,7 @@ __TOC__
 </ul>
 </div>
 
-<h2><a href="#Image" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Image">Image <a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Image">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Image" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Image">Image <a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Image">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -19169,7 +19202,7 @@ __TOC__
 </ul>
 </div>
 
-<h2><a href="#Quote" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Quote"><blockquote>Quote</blockquote></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Quote">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Quote" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Quote"><blockquote>Quote</blockquote></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Quote">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! html+tidy
 <div id="toc" class="toc">
@@ -19180,7 +19213,7 @@ __TOC__
 <li class="toclevel-1 tocsection-1"><a href="#Quote"><span class="tocnumber">1</span> <span class="toctext">Quote</span></a></li>
 </ul>
 </div>
-<h2><a href="#Quote" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Quote"></span></h2>
+<h2><a href="#Quote" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Quote"></span></h2>
 <blockquote>
 <p><span class="mw-headline" id="Quote">Quote</span></p>
 </blockquote>
@@ -19203,7 +19236,7 @@ QED
 </ul>
 </div>
 
-<h2><a href="#Proof:_2_.3C_3" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Proof:_2_.3C_3">Proof: 2 &lt; 3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Proof: 2 &lt; 3">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Proof:_2_.3C_3" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Proof:_2_.3C_3">Proof: 2 &lt; 3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Proof: 2 &lt; 3">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 <p><small>Hanc marginis exiguitas non caperet.</small>
 QED
 </p>
@@ -19224,8 +19257,8 @@ __TOC__
 </ul>
 </div>
 
-<h2><a href="#Foo_Bar" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar"><i>Foo</i> <b>Bar</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Foo_Bar_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar_2"><i>Foo</i> <blockquote>Bar</blockquote></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Foo_Bar" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar"><i>Foo</i> <b>Bar</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Foo_Bar_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar_2"><i>Foo</i> <blockquote>Bar</blockquote></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! html+tidy
 <div id="toc" class="toc">
@@ -19237,8 +19270,8 @@ __TOC__
 <li class="toclevel-1 tocsection-2"><a href="#Foo_Bar_2"><span class="tocnumber">2</span> <span class="toctext"><i>Foo</i> Bar</span></a></li>
 </ul>
 </div>
-<h2><a href="#Foo_Bar" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar"><i>Foo</i> <b>Bar</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Foo_Bar_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar_2"><i>Foo</i></span></h2>
+<h2><a href="#Foo_Bar" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar"><i>Foo</i> <b>Bar</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Foo Bar">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Foo_Bar_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Foo_Bar_2"><i>Foo</i></span></h2>
 <blockquote>
 <p><span class="mw-headline" id="Foo_Bar_2">Bar</span></p>
 </blockquote>
@@ -19260,8 +19293,8 @@ __TOC__
 </ul>
 </div>
 
-<h2><a href="#Hello" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Hello"><sup class="in-h2">Hello</sup></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Hello">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#b.22.3EEvilbye" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="b.22.3EEvilbye"><sup> b"&gt;Evilbye</sup></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: b&quot;>Evilbye">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Hello" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Hello"><sup class="in-h2">Hello</sup></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Hello">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#b.22.3EEvilbye" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="b.22.3EEvilbye"><sup> b"&gt;Evilbye</sup></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: b&quot;>Evilbye">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -19289,11 +19322,11 @@ __TOC__
 </ul>
 </div>
 
-<h2><a href="#C.2B.2B" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="C.2B.2B"><span dir="ltr">C++</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: C++">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#.D7.96.D7.91.D7.A0.D7.92.21" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id=".D7.96.D7.91.D7.A0.D7.92.21"><span dir="rtl">זבנג!</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: זבנג!">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#The_attributes_on_these_span_tags_must_be_deleted_from_the_TOC" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="The_attributes_on_these_span_tags_must_be_deleted_from_the_TOC"><span style="font-style: italic">The attributes on these span tags must be deleted from the TOC</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: The attributes on these span tags must be deleted from the TOC">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#All_attributes_on_these_span_tags_must_be_deleted_from_the_TOC" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="All_attributes_on_these_span_tags_must_be_deleted_from_the_TOC"><span style="font-style: italic" dir="ltr">All attributes on these span tags must be deleted from the TOC</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: All attributes on these span tags must be deleted from the TOC">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Attributes_after_dir_on_these_span_tags_must_be_deleted_from_the_TOC" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Attributes_after_dir_on_these_span_tags_must_be_deleted_from_the_TOC"><span dir="ltr" style="font-style: italic">Attributes after dir on these span tags must be deleted from the TOC</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Attributes after dir on these span tags must be deleted from the TOC">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#C.2B.2B" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="C.2B.2B"><span dir="ltr">C++</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: C++">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#.D7.96.D7.91.D7.A0.D7.92.21" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id=".D7.96.D7.91.D7.A0.D7.92.21"><span dir="rtl">זבנג!</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: זבנג!">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#The_attributes_on_these_span_tags_must_be_deleted_from_the_TOC" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="The_attributes_on_these_span_tags_must_be_deleted_from_the_TOC"><span style="font-style: italic">The attributes on these span tags must be deleted from the TOC</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: The attributes on these span tags must be deleted from the TOC">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#All_attributes_on_these_span_tags_must_be_deleted_from_the_TOC" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="All_attributes_on_these_span_tags_must_be_deleted_from_the_TOC"><span style="font-style: italic" dir="ltr">All attributes on these span tags must be deleted from the TOC</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: All attributes on these span tags must be deleted from the TOC">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Attributes_after_dir_on_these_span_tags_must_be_deleted_from_the_TOC" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Attributes_after_dir_on_these_span_tags_must_be_deleted_from_the_TOC"><span dir="ltr" style="font-style: italic">Attributes after dir on these span tags must be deleted from the TOC</span></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Attributes after dir on these span tags must be deleted from the TOC">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -19309,7 +19342,7 @@ __TOC__
 </ul>
 </div>
 
-<h2><a href="#test" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="test"><bdi>test</bdi></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: test">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#test" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="test"><bdi>test</bdi></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: test">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -19326,7 +19359,7 @@ title=[[Main Page]]
 !! wikitext
 {{int:Bug32057}}
 !! html
-<h2><a href="#Headline_text" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Headline_text">Headline text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Headline text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Headline_text" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Headline_text">Headline text</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Main_Page&amp;action=edit&amp;section=1" title="Edit section: Headline text">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -19441,7 +19474,7 @@ nowiki inside link inside heading (bug 18295)
 !! wikitext
 ==[[foo|x<nowiki>y</nowiki>z]]==
 !! html
-<h2><a href="#xyz" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="xyz"><a href="/wiki/Foo" title="Foo">xyz</a></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: xyz">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#xyz" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="xyz"><a href="/wiki/Foo" title="Foo">xyz</a></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: xyz">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -19482,7 +19515,7 @@ File:foobar.jpg|caption|alt=galleryalt|link=InterWikiLink
 !! html
 <ul class="gallery mw-gallery-traditional">
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/InterWikiLink"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/InterWikiLink"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
 <p>caption
 </p>
@@ -19501,7 +19534,7 @@ File:foobar.jpg|caption|alt=galleryalt|link=http://www.example.org
 !! html
 <ul class="gallery mw-gallery-traditional">
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="http://www.example.org"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="http://www.example.org"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
 <p>caption
 </p>
@@ -19520,7 +19553,7 @@ File:foobar.jpg|caption|alt=galleryalt|link=" onclick="alert('malicious javascri
 !! html
 <ul class="gallery mw-gallery-traditional">
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/%22_onclick%3D%22alert(%27malicious_javascript_code!%27);"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/%22_onclick%3D%22alert(%27malicious_javascript_code!%27);"><img alt="galleryalt" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
 <p>caption
 </p>
@@ -19539,7 +19572,7 @@ File:foobar.jpg|link=<
 !! html
 <ul class="gallery mw-gallery-traditional">
                <li class="gallerybox" style="width: 155px"><div style="width: 155px">
-                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" /></a></div></div>
+                       <div class="thumb" style="width: 150px;"><div style="margin:68px auto;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg" width="120" height="14" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/240px-Foobar.jpg 2x" /></a></div></div>
                        <div class="gallerytext">
                        </div>
                </div></li>
@@ -19626,11 +19659,11 @@ Lead
 <p>Lead
 </p>
 
-<h2><a href="#Section_1" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Section 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Section_2" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Section 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Section_3" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_3">Section 3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Section 3">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Section_4" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_4">Section 4</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Section 4">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
-<h2><a href="#Section_5" class="mw-headline-anchor" title="Link to this section">§</a><span class="mw-headline" id="Section_5">Section 5</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Section 5">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_1" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_1">Section 1</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=1" title="Edit section: Section 1">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_2" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_2">Section 2</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=2" title="Edit section: Section 2">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_3" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_3">Section 3</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=3" title="Edit section: Section 3">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_4" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_4">Section 4</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=4" title="Edit section: Section 4">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
+<h2><a href="#Section_5" class="mw-headline-anchor" aria-hidden="true" title="Link to this section">§</a><span class="mw-headline" id="Section_5">Section 5</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Parser_test&amp;action=edit&amp;section=5" title="Edit section: Section 5">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
 
 !! end
 
@@ -19720,13 +19753,13 @@ B <ref name="x">foo</ref>
 C <ref name="y" />
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-x_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"x"}}'><a href="#cite_note-x-2">[2]</a></span>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
+B <span about="#mwt4" class="reference" id="cite_ref-x_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-2"},"attrs":{"name":"x"}}'><a href="#cite_note-x-2">[2]</a></span>
 C <span about="#mwt6" class="reference" id="cite_ref-y_3-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"y"}}'><a href="#cite_note-y-3">[3]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo</li>
-<li id="cite_note-x-2"><span rel="mw:referencedBy"><a href="#cite_ref-x_2-0">↑</a></span> foo</li>
-<li id="cite_note-y-3"><span rel="mw:referencedBy"><a href="#cite_ref-y_3-0">↑</a></span></li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
+<li about="#cite_note-x-2" id="cite_note-x-2"><span rel="mw:referencedBy"><a href="#cite_ref-x_2-0">↑</a></span> <span id="mw-reference-text-cite_note-x-2" class="mw-reference-text">foo</span></li>
+<li about="#cite_note-y-3" id="cite_note-y-3"><span rel="mw:referencedBy"><a href="#cite_ref-y_3-0">↑</a></span> <span id="mw-reference-text-cite_note-y-3" class="mw-reference-text"></span></li>
 </ol>
 !!end
 
@@ -19739,10 +19772,10 @@ A <ref name="x">foo</ref>
 B <ref name="x" />
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-1"},"attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
 B <span about="#mwt4" class="reference" id="cite_ref-x_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-x-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-x_1-0">1.0</a> <a href="#cite_ref-x_1-1">1.1</a></span> foo</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-x-1" id="cite_note-x-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-x_1-0">1.0</a> <a href="#cite_ref-x_1-1">1.1</a></span> <span id="mw-reference-text-cite_note-x-1" class="mw-reference-text">foo</span></li>
 </ol>
 !!end
 
@@ -19756,11 +19789,11 @@ B <ref name=" x " />
 C <ref name= x  />
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-x_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-x-1"},"attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
 B <span about="#mwt4" class="reference" id="cite_ref-x_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span>
 C <span about="#mwt6" class="reference" id="cite_ref-x_1-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"x"}}'><a href="#cite_note-x-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-x-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-x_1-0">1.0</a> <a href="#cite_ref-x_1-1">1.1</a> <a href="#cite_ref-x_1-2">1.2</a></span> foo</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-x-1" id="cite_note-x-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-x_1-0">1.0</a> <a href="#cite_ref-x_1-1">1.1</a> <a href="#cite_ref-x_1-2">1.2</a></span> <span id="mw-reference-text-cite_note-x-1" class="mw-reference-text">foo</span></li>
 </ol>
 !!end
 
@@ -19773,9 +19806,9 @@ parsoid
 A <ref name="constructor">foo</ref>
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-constructor_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"constructor"}}'><a href="#cite_note-constructor-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-constructor-1"><span rel="mw:referencedBy"><a href="#cite_ref-constructor_1-0">↑</a></span> foo</li>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-constructor_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-constructor-1"},"attrs":{"name":"constructor"}}'><a href="#cite_note-constructor-1">[1]</a></span></p>
+<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-constructor-1" id="cite_note-constructor-1"><span rel="mw:referencedBy"><a href="#cite_ref-constructor_1-0">↑</a></span> <span id="mw-reference-text-cite_note-constructor-1" class="mw-reference-text">foo</span></li>
 </ol>
 !!end
 
@@ -19790,11 +19823,11 @@ A <ref>
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"This is a &lt;b data-parsoid=&#39;{\"dsr\":[19,40,3,3]}&#39;>&lt;a rel=\"mw:WikiLink\" href=\"./Bolded_link\" title=\"Bolded link\" data-parsoid=&#39;{\"stx\":\"simple\",\"a\":{\"href\":\"./Bolded_link\"},\"sa\":{\"href\":\"bolded link\"},\"dsr\":[22,37,2,2]}&#39;>bolded link&lt;/a>&lt;/b> and this is a &lt;span about=\"#mwt3\" typeof=\"mw:Transclusion\" data-parsoid=&#39;{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[55,76,null,null]}&#39; data-mw=&#39;{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"transclusion\"}},\"i\":0}}]}&#39;>transclusion&lt;/span>\n"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
 
 <ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> This is a <b><a rel="mw:WikiLink" href="./Bolded_link" title="Bolded link">bolded link</a></b> and this is a <span about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"transclusion"}},"i":0}}]}'>transclusion</span>
-</li>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">This is a <b><a rel="mw:WikiLink" href="Bolded_link" title="Bolded link">bolded link</a></b> and this is a <span about="#mwt3" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"transclusion"}},"i":0}}]}'>transclusion</span>
+</span></li>
 </ol>
 !!end
 
@@ -19811,13 +19844,13 @@ A <ref>
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo\n bar\n baz\n"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
 
 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo
  bar
  baz
-</li>
+</span></li>
 </ol>
 !!end
 
@@ -19841,10 +19874,10 @@ booz
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo\n\nbar\n\n\nbaz\n\n\n\nbooz\n"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
 
 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo
 
 bar
 
@@ -19854,7 +19887,7 @@ baz
 
 
 booz
-</li>
+</span></li>
 </ol>
 !!end
 
@@ -19867,9 +19900,9 @@ A <ref> foo {{echo|</ref> B C}}
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo &lt;span typeof=\"mw:Nowiki\" data-parsoid=&#39;{\"src\":\"{{\",\"dsr\":[12,14,0,0]}&#39;>{{&lt;/span>echo|"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C<span typeof="mw:Nowiki">}}</span></p>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C<span typeof="mw:Nowiki">}}</span></p>
 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo <span typeof="mw:Nowiki">{{</span>echo|</li>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <span typeof="mw:Nowiki" data-parsoid='{"src":"{{","dsr":[12,14,0,0]}'>{{</span>echo|</span></li>
 </ol>
 !!end
 
@@ -19881,9 +19914,9 @@ parsoid
 A <ref> foo <!--</ref> B C
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo &lt;!---->"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C</p>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C</p>
 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo <!----></li>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <!----></span></li>
 </ol>
 !!end
 
@@ -19896,11 +19929,11 @@ A <ref> <b> foo </ref> B C
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"&lt;b data-parsoid=&#39;{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[8,16,3,0]}&#39;> foo &lt;/b>"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C</p>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B C</p>
 
 
 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <b data-parsoid='{"stx":"html","autoInsertedEnd":true}'> foo </b></li>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"><b data-parsoid='{"stx":"html","autoInsertedEnd":true}'> foo </b></span></li>
 </ol>
 !!end
 
@@ -19913,11 +19946,11 @@ A <ref>foo</ref> B
 C <ref>bar</ref> D
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B
-C <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{}}'><a href="#cite_note-2">[2]</a></span> D</p>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo</li>
-<li id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> bar</li>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B
+C <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[2]</a></span> D</p>
+<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
+<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
 </ol>
 !!end
 
 <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{}}'><a href="#cite_note-2">[2]</a></span></p>
 
 <p>c</p>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span></li>
-<li id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span></li>
-</ol>
+<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"></span></li>
+<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text"></span></li></ol>
 !!end
 
 !!test
@@ -19957,11 +19989,12 @@ parsoid
 </ref> B
 <references />
 !! html
-<p><span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> A
-<span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"bar\n"},"attrs":{}}'><a href="#cite_note-2">[2]</a></span> B</p>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo</li>
-<li id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> bar</li>
+<p><span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> A
+<span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[2]</a></span> B</p>
+<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
+<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar
+</span></li>
 </ol>
 !!end
 
@@ -19974,10 +20007,10 @@ parsoid
 
 <references />
 !! html
-<p><span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo &amp;lt;ref>bar&amp;lt;/ref> baz"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
-
+<p><span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
+</p>
 <ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo &lt;ref>bar&lt;/ref> baz</li>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo &lt;ref>bar&lt;/ref> baz</span></li>
 </ol>
 !!end
 
@@ -19991,10 +20024,10 @@ B1 <ref name="b" /> B2 <ref name="b">bar</ref>
 
 <references />
 !! html
-<p>A1 <span about="#mwt3" class="reference" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span> A2 <span about="#mwt4" class="reference" id="cite_ref-a_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span>
-B1 <span about="#mwt7" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span> B2 <span about="#mwt8" class="reference" id="cite_ref-b_2-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span></p>
+<p>A1 <span about="#mwt3" class="reference" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a-1"},"attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span> A2 <span about="#mwt4" class="reference" id="cite_ref-a_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span>
+B1 <span about="#mwt7" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span> B2 <span about="#mwt8" class="reference" id="cite_ref-b_2-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-b-2"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-a_1-0">1.0</a> <a href="#cite_ref-a_1-1">1.1</a></span> foo</li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy">↑ <a href="#cite_ref-b_2-0">2.0</a> <a href="#cite_ref-b_2-1">2.1</a></span> bar</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-a_1-0">1.0</a> <a href="#cite_ref-a_1-1">1.1</a></span> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy">↑ <a href="#cite_ref-b_2-0">2.0</a> <a href="#cite_ref-b_2-1">2.1</a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
 </ol>
 !!end
 
@@ -20008,10 +20041,9 @@ A <ref >foo</ref >
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
-
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo</li></ol>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
 !!end
 
 !!test
@@ -20023,11 +20055,12 @@ parsoid
 
 <references />
 !!html
-<p><span class="reference" id="cite_ref-a_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"a b"}}'><a href="#cite_note-a_b-1">[1]</a></span>
+<p><span class="reference" id="cite_ref-a_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a_b-1"},"attrs":{"name":"a b"}}'><a href="#cite_note-a_b-1">[1]</a></span>
 </p>
 
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-a_b-1"><span rel="mw:referencedBy"><a href="#cite_ref-a_b_1-0">↑</a></span> foo</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-a_b-1" id="cite_note-a_b-1"><span rel="mw:referencedBy"><a href="#cite_ref-a_b_1-0">↑</a></span> <span id="mw-reference-text-cite_note-a_b-1" class="mw-reference-text">foo</span></li>
+</ol>
 !!end
 
 !!test
@@ -20039,11 +20072,12 @@ parsoid
 
 <references />
 !!html
-<p><span class="reference" id="cite_ref-.7B.7Becho.7Ca.7D.7D_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"{{echo|a}}"}}'><a href="#cite_note-.7B.7Becho.7Ca.7D.7D-1">[1]</a></span>
+<p><span class="reference" id="cite_ref-.7B.7Becho.7Ca.7D.7D_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-.7B.7Becho.7Ca.7D.7D-1"},"attrs":{"name":"{{echo|a}}"}}'><a href="#cite_note-.7B.7Becho.7Ca.7D.7D-1">[1]</a></span>
 </p>
 
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-.7B.7Becho.7Ca.7D.7D-1"><span rel="mw:referencedBy"><a href="#cite_ref-.7B.7Becho.7Ca.7D.7D_1-0">↑</a></span> foo</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-.7B.7Becho.7Ca.7D.7D-1" id="cite_note-.7B.7Becho.7Ca.7D.7D-1"><span rel="mw:referencedBy"><a href="#cite_ref-.7B.7Becho.7Ca.7D.7D_1-0">↑</a></span> <span id="mw-reference-text-cite_note-.7B.7Becho.7Ca.7D.7D-1" class="mw-reference-text">foo</span></li>
+</ol>
 !!end
 
 !!test
@@ -20055,9 +20089,29 @@ parsoid
 
 <references />
 !! html
-<p>1 <span about="#mwt3" class="reference" id="cite_ref-a_.26_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"name":"a &amp; b"}}'><a href="#cite_note-a_.26_b-1">[1]</a></span> 2 <span about="#mwt4" class="reference" id="cite_ref-a_.26_b_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a &amp;amp; b"}}'><a href="#cite_note-a_.26_b-1">[1]</a></span>
+<p>1 <span about="#mwt3" class="reference" id="cite_ref-a_.26_b_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-a_.26_b-1"},"attrs":{"name":"a &amp; b"}}'><a href="#cite_note-a_.26_b-1">[1]</a></span> 2 <span about="#mwt4" class="reference" id="cite_ref-a_.26_b_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a &amp;amp; b"}}'><a href="#cite_note-a_.26_b-1">[1]</a></span>
+</p>
+<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-a_.26_b-1" id="cite_note-a_.26_b-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-a_.26_b_1-0">1.0</a> <a href="#cite_ref-a_.26_b_1-1">1.1</a></span> <span id="mw-reference-text-cite_note-a_.26_b-1" class="mw-reference-text">foo</span></li>
+</ol>
+!!end
+
+!!test
+Ref: 20. ref-tags with identical names but different content should keep it
+!!options
+parsoid
+!! wikitext
+A <ref name="foo">Foo one</ref>
+B <ref name="foo">Foo two</ref>
+C <ref name="foo" />
+
+<references />
+!! html
+<p>A <span about="#mwt2" class="reference" id="cite_ref-foo_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-foo-1"},"attrs":{"name":"foo"}}'><a href="#cite_note-foo-1">[1]</a></span>
+B <span about="#mwt4" class="reference" id="cite_ref-foo_1-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"Foo two"},"attrs":{"name":"foo"}}'><a href="#cite_note-foo-1">[1]</a></span>
+C <span about="#mwt6" class="reference" id="cite_ref-foo_1-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"foo"}}'><a href="#cite_note-foo-1">[1]</a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-a_.26_b-1" id="cite_note-a_.26_b-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-a_.26_b_1-0">1.0</a> <a href="#cite_ref-a_.26_b_1-1">1.1</a></span> foo</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-foo-1" id="cite_note-foo-1"><span rel="mw:referencedBy">↑ <a href="#cite_ref-foo_1-0">1.0</a> <a href="#cite_ref-foo_1-1">1.1</a> <a href="#cite_ref-foo_1-2">1.2</a></span> <span id="mw-reference-text-cite_note-foo-1" class="mw-reference-text">Foo one</span></li>
 </ol>
 !!end
 
@@ -20068,7 +20122,7 @@ parsoid
 !! wikitext
 <references />
 !! html
-<ol about="#mwt2" class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'></ol>
+<ol class="references" typeof="mw:Extension/references" about="#mwt2" data-mw='{"name":"references","attrs":{}}'></ol>
 !!end
 
 !!test
@@ -20084,16 +20138,18 @@ C <ref>baz</ref>
 <references />
 <references group="b" />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{"group":"a"}}'><a href="#cite_note-1">[a 1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{"group":"b"}}'><a href="#cite_note-2">[b 1]</a></span>
-C <span class="reference" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"baz"},"attrs":{}}'><a href="#cite_note-3">[1]</a></span></p>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{"group":"a"}}'><a href="#cite_note-1">[a 1]</a></span>
+B <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{"group":"b"}}'><a href="#cite_note-2">[b 1]</a></span>
+C <span class="reference" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-3"},"attrs":{}}'><a href="#cite_note-3">[1]</a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"group":"a"}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{"group":"a"}}'>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
 </ol>
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-3" id="cite_note-3"><span rel="mw:referencedBy"><a href="#cite_ref-3">↑</a></span> baz</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-3" id="cite_note-3"><span rel="mw:referencedBy"><a href="#cite_ref-3">↑</a></span> <span id="mw-reference-text-cite_note-3" class="mw-reference-text">baz</span></li>
 </ol>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{"group":"b"}}'>
-<li id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> bar</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt12" data-mw='{"name":"references","attrs":{"group":"b"}}'>
+<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
 </ol>
 !!end
 
@@ -20110,14 +20166,15 @@ B <ref>bar</ref>
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
 </ol>
 
-<p>B <span about="#mwt6" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{}}'><a href="#cite_note-2">[1]</a></span></p>
+<p>B <span about="#mwt6" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[1]</a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> bar</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
 </ol>
 !!end
 
@@ -20135,15 +20192,15 @@ C <ref>cfoo</ref>
 
 <references />
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"afoo"},"attrs":{"group":"a"}}'><a href="#cite_note-1">[a 1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"bfoo"},"attrs":{}}'><a href="#cite_note-2">[1]</a></span></p>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{"group":"a"}}'><a href="#cite_note-1">[a 1]</a></span>
+B <span about="#mwt4" class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{}}'><a href="#cite_note-2">[1]</a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"group":"a"}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> afoo</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"group":"a"}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">afoo</span></li>
 </ol>
 
-<p>C <span about="#mwt8" class="reference" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"cfoo"},"attrs":{}}'><a href="#cite_note-3">[2]</a></span></p>
+<p>C <span about="#mwt8" class="reference" id="cite_ref-3" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-3"},"attrs":{}}'><a href="#cite_note-3">[2]</a></span></p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> bfoo</li><li about="#cite_note-3" id="cite_note-3"><span rel="mw:referencedBy"><a href="#cite_ref-3">↑</a></span> cfoo</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt10" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bfoo</span></li><li about="#cite_note-3" id="cite_note-3"><span rel="mw:referencedBy"><a href="#cite_ref-3">↑</a></span> <span id="mw-reference-text-cite_note-3" class="mw-reference-text">cfoo</span></li>
 </ol>
 !!end
 
@@ -20161,10 +20218,10 @@ This should just get lost.
 </references>
 !! html
 <p>A <span about="#mwt2" class="reference" id="cite_ref-a_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"name":"a"}}'><a href="#cite_note-a-1">[1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span></p>
+B <span about="#mwt4" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-b-2"},"attrs":{"name":"b"}}'><a href="#cite_note-b-2">[2]</a></span></p>
 
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","body":{"extsrc":"&lt;ref name=\"a\">foo&lt;/ref>\nThis should just get lost.","html":"\n&lt;span about=\"#mwt8\" class=\"reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"src\":\"&amp;lt;ref name=\\\"a\\\">foo&amp;lt;/ref>\",\"dsr\":[59,82,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"html\":\"foo\"},\"attrs\":{\"name\":\"a\"}}&#39;>&lt;a href=\"#cite_note-a-1\">[1]&lt;/a>&lt;/span>\n"},"attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy"><a href="#cite_ref-a_1-0">↑</a></span> foo</li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="#cite_ref-b_2-0">↑</a></span> bar</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","body":{"extsrc":"&lt;ref name=\"a\">foo&lt;/ref>\nThis should just get lost.","html":"\n&lt;span about=\"#mwt8\" class=\"reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[59,82,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-a-1\"},\"attrs\":{\"name\":\"a\"}}&#39;>&lt;a href=\"#cite_note-a-1\">[1]&lt;/a>&lt;/span>\n"},"attrs":{}}'><li about="#cite_note-a-1" id="cite_note-a-1"><span rel="mw:referencedBy"><a href="#cite_ref-a_1-0">↑</a></span> <span id="mw-reference-text-cite_note-a-1" class="mw-reference-text">foo</span></li><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="#cite_ref-b_2-0">↑</a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">bar</span></li>
 </ol>
 !!end
 
@@ -20175,7 +20232,8 @@ parsoid
 !! wikitext
 <ref>Foo</ref> {{echo|<references />}}
 !! html
-<p><span about="#mwt3" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"Foo"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p> <ol class="references" typeof="mw:Extension/references mw:Transclusion" about="#mwt4" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;references />"}},"i":0}}]}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> Foo</li></ol>
+<p><span about="#mwt3" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p> <ol class="references" typeof="mw:Extension/references mw:Transclusion" about="#mwt4" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;references />"}},"i":0}}]}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">Foo</span></li>
+</ol>
 !!end
 
 !! test
@@ -20192,12 +20250,17 @@ B <ref group="X" name="b" />
 <ref name="b">foo</ref>
 </references>
 !! html
-<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo bar for a"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
-B <span about="#mwt4" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"group":"X","name":"b"}}'><a href="#cite_note-b-2">[X 1]</a></span></p>
+<p>A <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
+B <span about="#mwt4" class="reference" id="cite_ref-b_2-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","attrs":{"group":"X","name":"b"}}'><a href="#cite_note-b-2">[X 1]</a></span>
+</p>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo bar for a</li></ol>
+<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo bar for a</span></li>
+</ol>
 
-<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","body":{"extsrc":"&lt;ref name=\"b\">foo&lt;/ref>","html":"\n&lt;span about=\"#mwt10\" class=\"reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"src\":\"&amp;lt;ref name=\\\"b\\\">foo&amp;lt;/ref>\",\"dsr\":[96,119,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"html\":\"foo\"},\"attrs\":{\"name\":\"b\"}}&#39;>&lt;a href=\"#cite_note-b-2\">[X 1]&lt;/a>&lt;/span>\n"},"attrs":{"group":"X"}}'><li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="#cite_ref-b_2-0">↑</a></span> foo</li></ol>
+<ol class="references" typeof="mw:Extension/references" about="#mwt8" data-mw='{"name":"references","body":{"extsrc":"&lt;ref name=\"b\">foo&lt;/ref>","html":"\n&lt;span about=\"#mwt10\" class=\"reference\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" data-parsoid=&#39;{\"dsr\":[96,119,14,6]}&#39; data-mw=&#39;{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-b-2\"},\"attrs\":{\"name\":\"b\"}}&#39;>&lt;a href=\"#cite_note-b-2\">[X 1]&lt;/a>&lt;/span>\n"},"attrs":{"group":"X"}}'>
+<li about="#cite_note-b-2" id="cite_note-b-2"><span rel="mw:referencedBy"><a href="#cite_ref-b_2-0">↑</a></span> <span id="mw-reference-text-cite_note-b-2" class="mw-reference-text">foo</span></li>
+</ol>
 !! end
 
 !! test
@@ -20209,7 +20272,8 @@ X{{echo|<ref>foo {{echo|<b>bar</b>}} and {{echo|baz}} boo</ref>}}
 <references />
 !! html
 <p>X<span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Transclusion  mw:Extension/ref" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"&lt;ref>foo {{echo|&lt;b>bar&lt;/b>}} and {{echo|baz}} boo&lt;/ref>"}},"i":0}}]}'><a href="#cite_note-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo <b data-parsoid='{"stx":"html"}'>bar</b> and baz boo</li></ol>
+<ol class="references" typeof="mw:Extension/references" about="#mwt7" data-mw='{"name":"references","attrs":{}}'><li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo <b data-parsoid='{"stx":"html"}'>bar</b> and baz boo</span></li>
+</ol>
 !!end
 
 # This test only works in wt2html now as the <references /> are always generated
@@ -20224,12 +20288,12 @@ parsoid
 A <ref>foo</ref>
 B <ref group="inexistent">bar</ref>
 !! html
-<p>A <span class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B <span class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"bar"},"attrs":{"group":"inexistent"}}'><a href="#cite_note-2">[inexistent 1]</a></span></</p>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo</li>
+<p>A <span class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span> B <span class="reference" id="cite_ref-2" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-2"},"attrs":{"group":"inexistent"}}'><a href="#cite_note-2">[inexistent 1]</a></span></p>
+<ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li>
 </ol>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{"group":"inexistent"}}'>
-<li id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> bar</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt6" data-mw='{"name":"references","attrs":{"group":"inexistent"}}'>
+<li about="#cite_note-2" id="cite_note-2"><span rel="mw:referencedBy"><a href="#cite_ref-2">↑</a></span> <span id="mw-reference-text-cite_note-2" class="mw-reference-text">bar</span></li>
 </ol>
 !! end
 
@@ -20241,9 +20305,9 @@ parsoid
 <ref name="test &amp; me">hi</ref>
 <references />
 !! html
-<p><span about="#mwt2" class="reference" id="cite_ref-test_.26_me_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"hi"},"attrs":{"name":"test &amp;amp; me"}}'><a href="#cite_note-test_.26_me-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-test_.26_me-1"><span rel="mw:referencedBy"><a href="#cite_ref-test_.26_me_1-0">↑</a></span> hi</li>
+<p><span about="#mwt2" class="reference" id="cite_ref-test_.26_me_1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-test_.26_me-1"},"attrs":{"name":"test &amp;amp; me"}}'><a href="#cite_note-test_.26_me-1">[1]</a></span></p>
+<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-test_.26_me-1" id="cite_note-test_.26_me-1"><span rel="mw:referencedBy"><a href="#cite_ref-test_.26_me_1-0">↑</a></span> <span id="mw-reference-text-cite_note-test_.26_me-1" class="mw-reference-text">hi</span></li>
 </ol>
 !! end
 
@@ -20258,11 +20322,9 @@ a<ref>foo</ref>
 
 <references>
 !! html
-<p>a<span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"foo"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
-
-
+<p>a<span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
 <ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
-<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> foo</li></ol>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text">foo</span></li></ol>
 !! end
 
 !! test
@@ -20283,11 +20345,11 @@ Empty LI and TR nodes should be stripped from template content
 {{EmptyLITest}}
 {{EmptyTRTest}}
 !!html/parsoid
-<ul typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"EmptyLITest","href":"./Template:EmptyLITest"},"params":{},"i":0}}]}'>
+<ul about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"EmptyLITest","href":"./Template:EmptyLITest"},"params":{},"i":0}}]}'>
 <li>a</li>
 <li>b</li>
 </ul>
-<table typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"EmptyTRTest","href":"./Template:EmptyTRTest"},"params":{},"i":0}}]}'>
+<table about="#mwt2" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"EmptyTRTest","href":"./Template:EmptyTRTest"},"params":{},"i":0}}]}'>
 <tbody>
 <tr>
 <td>foo</td>
@@ -20331,7 +20393,7 @@ Empty TR nodes should not be stripped if they have any attributes set
 !!wikitext
 {{EmptyTRWithHTMLAttrTest}}
 !!html/parsoid
-<table typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"EmptyTRWithHTMLAttrTest","href":"./Template:EmptyTRWithHTMLAttrTest"},"params":{},"i":0}}]}'>
+<table about="#mwt1" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"EmptyTRWithHTMLAttrTest","href":"./Template:EmptyTRWithHTMLAttrTest"},"params":{},"i":0}}]}'>
 <tr align="center"></tr>
 <tr><td>foo</td></tr>
 <tr align="center"></tr>
@@ -21531,11 +21593,11 @@ parsoid=html2wt,wt2wt
 <i>a'</i> foo <i><a rel="mw:WikiLink" href="Bar" title="Bar">bar</a></i>
 <i>a'</i> foo <b><a rel="mw:WikiLink" href="Bar" title="Bar" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[bar]]"}},"i":0}}]}'>bar</a></b>
 <a rel="mw:WikiLink" href="Foo" title="Foo">foo</a> x'<i><a href="Bar" rel="mw:WikiLink" title="Bar">bar</a></i>
-'<i>foo</i> <span class="reference" id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"test"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
+'<i>foo</i> <span class="reference" id="cite_ref-1-0" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span>
 '<i>foo</i> <div title="name">test</div>
 '<i>foo</i> and <br data-parsoid='{"stx":"html","noClose":true}'/> bar
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> test</li>
+<ol class="references" typeof="mw:Extension/references" about="#mwt5" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text" data-parsoid="{}">test</span></li>
 </ol>
 !! end
 
@@ -21652,9 +21714,10 @@ foo <ref>''a''
  b</ref>
 <references />
 !! html
-<p>foo <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"html":"&lt;i data-parsoid=&#39;{\"dsr\":[9,14,2,2]}&#39;>a&lt;/i>\n b"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
-<ol class="references" typeof="mw:Extension/references" data-mw='{"name":"references","attrs":{}}'>
-<li id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <i>a</i> b</li>
+<p>foo <span about="#mwt2" class="reference" id="cite_ref-1" rel="dc:references" typeof="mw:Extension/ref" data-mw='{"name":"ref","body":{"id":"mw-reference-text-cite_note-1"},"attrs":{}}'><a href="#cite_note-1">[1]</a></span></p>
+<ol class="references" typeof="mw:Extension/references" about="#mwt4" data-mw='{"name":"references","attrs":{}}'>
+<li about="#cite_note-1" id="cite_note-1"><span rel="mw:referencedBy"><a href="#cite_ref-1">↑</a></span> <span id="mw-reference-text-cite_note-1" class="mw-reference-text"><i data-parsoid='{"dsr":[9,14,2,2]}'>a</i>
+ b</span></li>
 </ol>
 !! end
 
@@ -21742,12 +21805,14 @@ parsoid
 !! test
 2. other tags
 !! wikitext
-<nowiki><div>foo</div>
-<div style="color:red">foo</div></nowiki>
+* <nowiki><div>foo</div></nowiki>
+* <nowiki><div style="color:red">foo</div></nowiki>
+* <nowiki><td></nowiki>
 !! html
-<p>&lt;div&gt;foo&lt;/div&gt;
-&lt;div style=&quot;color:red&quot;&gt;foo&lt;/div&gt;
-</p>
+<ul><li> &lt;div&gt;foo&lt;/div&gt;</li>
+<li> &lt;div style=&quot;color:red&quot;&gt;foo&lt;/div&gt;</li>
+<li> &lt;td&gt;</li></ul>
+
 !! end
 
 !! test
index c3cb193..860529e 100644 (file)
@@ -332,8 +332,8 @@ class UserTest extends MediaWikiTestCase {
        public function testGetCanonicalName( $name, $expectedArray, $msg ) {
                foreach ( $expectedArray as $validate => $expected ) {
                        $this->assertEquals(
-                               User::getCanonicalName( $name, $validate === 'false' ? false : $validate ),
                                $expected,
+                               User::getCanonicalName( $name, $validate === 'false' ? false : $validate ),
                                $msg . ' (' . $validate . ')'
                        );
                }
@@ -341,7 +341,7 @@ class UserTest extends MediaWikiTestCase {
 
        public static function provideGetCanonicalName() {
                return array(
-                       array( ' trailing space ', array( 'creatable' => 'Trailing space' ), 'Trailing spaces' ),
+                       array( ' Trailing space ', array( 'creatable' => 'Trailing space' ), 'Trailing spaces' ),
                        // @todo FIXME: Maybe the creatable name should be 'Talk:Username' or false to reject?
                        array( 'Talk:Username', array( 'creatable' => 'Username', 'usable' => 'Username',
                                'valid' => 'Username', 'false' => 'Talk:Username' ), 'Namespace prefix' ),
index fe46f2c..e660e09 100644 (file)
@@ -89,65 +89,4 @@ class ParserOutputTest extends MediaWikiTestCase {
                $this->assertArrayNotHasKey( 'foo', $properties );
        }
 
-       /**
-        * @covers ParserOutput::hasCustomDataUpdates
-        * @covers ParserOutput::addSecondaryDataUpdate
-        */
-       public function testHasCustomDataUpdates() {
-               $po = new ParserOutput();
-               $this->assertFalse( $po->hasCustomDataUpdates() );
-
-               $dataUpdate = $this->getMock( 'DataUpdate' );
-               $po->addSecondaryDataUpdate( $dataUpdate );
-               $this->assertTrue( $po->hasCustomDataUpdates() );
-       }
-
-       /**
-        * @covers ParserOutput::getSecondaryDataUpdates
-        * @covers ParserOutput::addSecondaryDataUpdate
-        */
-       public function testGetSecondaryDataUpdates() {
-               // NOTE: getSecondaryDataUpdates always returns a LinksUpdate object
-               // in addition to the DataUpdates registered via addSecondaryDataUpdate().
-
-               $title = Title::makeTitle( NS_MAIN, 'Dummy' );
-               $title->resetArticleID( 7777777 );
-
-               $po = new ParserOutput();
-               $this->assertCount( 1, $po->getSecondaryDataUpdates( $title ) );
-
-               $dataUpdate = $this->getMock( 'DataUpdate' );
-               $po->addSecondaryDataUpdate( $dataUpdate );
-               $this->assertCount( 2, $po->getSecondaryDataUpdates( $title ) );
-
-               // Test Fallback to getTitleText
-               $this->insertPage( 'Project:ParserOutputTestDummyPage' );
-               $po->setTitleText( 'Project:ParserOutputTestDummyPage' );
-               $this->assertCount( 2, $po->getSecondaryDataUpdates() );
-       }
-
-       /**
-        * @covers ParserOutput::getSecondaryDataUpdates
-        * @covers ParserOutput::__sleep
-        */
-       public function testGetSecondaryDataUpdates_serialization() {
-               $title = Title::makeTitle( NS_MAIN, 'Dummy' );
-               $title->resetArticleID( 7777777 );
-
-               $po = new ParserOutput();
-
-               // Serializing is fine with no custom DataUpdates.
-               $po = unserialize( serialize( $po ) );
-               $this->assertCount( 1, $po->getSecondaryDataUpdates( $title ) );
-
-               // If there are custom DataUpdates, getSecondaryDataUpdates
-               // should fail after serialization.
-               $dataUpdate = $this->getMock( 'DataUpdate' );
-               $po->addSecondaryDataUpdate( $dataUpdate );
-               $po = unserialize( serialize( $po ) );
-
-               $this->setExpectedException( 'MWException' );
-               $po->getSecondaryDataUpdates( $title );
-       }
-
 }
diff --git a/tests/phpunit/includes/site/HashSiteStoreTest.php b/tests/phpunit/includes/site/HashSiteStoreTest.php
new file mode 100644 (file)
index 0000000..caa33fb
--- /dev/null
@@ -0,0 +1,106 @@
+<?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
+ * @since 1.25
+ *
+ * @ingroup Site
+ * @group Site
+ *
+ * @licence GNU GPL v2+
+ * @author Katie Filbert < aude.wiki@gmail.com >
+ */
+class HashSiteStoreTest extends MediaWikiTestCase {
+
+       /**
+        * @covers HashSiteStore::getSites
+        */
+       public function testGetSites() {
+               $expectedSites = array();
+
+               foreach( TestSites::getSites() as $testSite ) {
+                       $siteId = $testSite->getGlobalId();
+                       $expectedSites[$siteId] = $testSite;
+               }
+
+               $siteStore = new HashSiteStore( $expectedSites );
+
+               $this->assertEquals( new SiteList( $expectedSites ), $siteStore->getSites() );
+       }
+
+       /**
+        * @covers HashSiteStore::saveSite
+        * @covers HashSiteStore::getSite
+        */
+       public function testSaveSite() {
+               $store = new HashSiteStore();
+
+               $site = new Site();
+               $site->setGlobalId( 'dewiki' );
+
+               $this->assertCount( 0, $store->getSites(), '0 sites in store' );
+
+               $store->saveSite( $site );
+
+               $this->assertCount( 1, $store->getSites(), 'Store has 1 sites' );
+               $this->assertEquals( $site, $store->getSite( 'dewiki' ), 'Store has dewiki' );
+       }
+
+       /**
+        * @covers HashSiteStore::saveSites
+        */
+       public function testSaveSites() {
+               $store = new HashSiteStore();
+
+               $sites = array();
+
+               $site = new Site();
+               $site->setGlobalId( 'enwiki' );
+               $site->setLanguageCode( 'en' );
+               $sites[] = $site;
+
+               $site = new MediaWikiSite();
+               $site->setGlobalId( 'eswiki' );
+               $site->setLanguageCode( 'es' );
+               $sites[] = $site;
+
+               $this->assertCount( 0, $store->getSites(), '0 sites in store' );
+
+               $store->saveSites( $sites );
+
+               $this->assertCount( 2, $store->getSites(), 'Store has 2 sites' );
+               $this->assertTrue( $store->getSites()->hasSite( 'enwiki' ), 'Store has enwiki' );
+               $this->assertTrue( $store->getSites()->hasSite( 'eswiki' ), 'Store has eswiki' );
+       }
+
+       /**
+        * @covers HashSiteStore::clear
+        */
+       public function testClear() {
+               $store = new HashSiteStore();
+
+               $site = new Site();
+               $site->setGlobalId( 'arwiki' );
+               $store->saveSite( $site );
+
+               $this->assertCount( 1, $store->getSites(), '1 site in store' );
+
+               $store->clear();
+               $this->assertCount( 0, $store->getSites(), '0 sites in store' );
+       }
+}