Merge "ResourceLoaderImageModule: Fix incorrect documentation"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 17 Jun 2015 03:07:27 +0000 (03:07 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 17 Jun 2015 03:07:27 +0000 (03:07 +0000)
101 files changed:
RELEASE-NOTES-1.26
composer.json
docs/doxygen_first_page.php
includes/AjaxResponse.php
includes/Block.php
includes/CategoryViewer.php
includes/GlobalFunctions.php
includes/Setup.php
includes/StreamFile.php
includes/User.php
includes/api/ApiEditPage.php
includes/api/ApiExpandTemplates.php
includes/api/ApiParse.php
includes/api/ApiQuerySearch.php
includes/api/ApiQuerySiteinfo.php
includes/api/i18n/eu.json
includes/api/i18n/he.json
includes/api/i18n/pl.json
includes/changetags/ChangeTags.php
includes/debug/logger/LegacyLogger.php
includes/diff/DifferenceEngine.php
includes/installer/MssqlUpdater.php
includes/json/FormatJson.php
includes/media/XMP.php
includes/parser/Parser.php
includes/profiler/ProfilerFunctions.php
includes/search/SearchHighlighter.php
includes/specialpage/QueryPage.php
includes/specials/SpecialJavaScriptTest.php
includes/specials/SpecialMediaStatistics.php
includes/specials/SpecialTags.php
includes/specials/SpecialUserrights.php
languages/Language.php
languages/classes/LanguageEo.php
languages/classes/LanguageFi.php
languages/classes/LanguageKsh.php
languages/i18n/be-tarask.json
languages/i18n/ce.json
languages/i18n/cps.json
languages/i18n/dty.json
languages/i18n/eu.json
languages/i18n/fr.json
languages/i18n/gl.json
languages/i18n/hil.json
languages/i18n/ka.json
languages/i18n/luz.json [new file with mode: 0644]
languages/i18n/ne.json
languages/i18n/pl.json
languages/i18n/qqq.json
languages/i18n/ru.json
languages/i18n/zh-hant.json
maintenance/convertExtensionToRegistration.php
maintenance/validateRegistrationFile.php
resources/Resources.php
resources/lib/oojs-ui/i18n/ar.json
resources/lib/oojs-ui/i18n/hu.json
resources/lib/oojs-ui/i18n/it.json
resources/lib/oojs-ui/i18n/krc.json
resources/lib/oojs-ui/i18n/nl.json
resources/lib/oojs-ui/i18n/zh-hant.json
resources/lib/oojs-ui/oojs-ui-apex-noimages.css
resources/lib/oojs-ui/oojs-ui-apex.js
resources/lib/oojs-ui/oojs-ui-mediawiki-noimages.css
resources/lib/oojs-ui/oojs-ui-mediawiki.js
resources/lib/oojs-ui/oojs-ui.js
resources/lib/oojs-ui/themes/mediawiki/icons-moderation.json
resources/lib/oojs-ui/themes/mediawiki/icons.json
resources/lib/oojs-ui/themes/mediawiki/images/icons/check-destructive.png [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/check-destructive.svg [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-invert.png [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-invert.svg [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr.png [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr.svg [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-invert.png [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-invert.svg [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl.png [new file with mode: 0644]
resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl.svg [new file with mode: 0644]
tests/phpunit/includes/LinkFilterTest.php
tests/phpunit/includes/MovePageTest.php
tests/phpunit/includes/OutputPageTest.php
tests/phpunit/includes/StatusTest.php
tests/phpunit/includes/TitleTest.php
tests/phpunit/includes/api/ApiBlockTest.php
tests/phpunit/includes/api/ApiEditPageTest.php
tests/phpunit/includes/api/ApiUnblockTest.php
tests/phpunit/includes/config/HashConfigTest.php
tests/phpunit/includes/content/JsonContentTest.php
tests/phpunit/includes/db/DatabaseMysqlBaseTest.php
tests/phpunit/includes/diff/ArrayDiffFormatterTest.php
tests/phpunit/includes/exception/MWExceptionTest.php
tests/phpunit/includes/libs/ArrayUtilsTest.php
tests/phpunit/includes/libs/XhprofTest.php
tests/phpunit/includes/objectcache/WANObjectCacheTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderTest.php
tests/phpunit/includes/title/ForeignTitleTest.php
tests/phpunit/includes/title/MediaWikiPageLinkRendererTest.php
tests/phpunit/languages/classes/LanguageArqTest.php
tests/phpunit/maintenance/backupTextPassTest.php
tests/testHelpers.inc
thumb.php

index 3cc1d26..db560c6 100644 (file)
@@ -41,6 +41,10 @@ production.
   to be set. If they are both set, the value of rootpage= will be ignored.
 * prop=revision output in enum mode is now sorted by timestamp rather than
   revision ID. This usually won't make any difference.
+* (T102645) Namespace list from meta=siteinfo&siprop=namespaces is now an array
+  with formatversion=2.
+* Various other output from meta=siteinfo will now always be arrays instead of
+  sometimes being numerically-indexed objects with formatversion=2.
 
 === Action API internal changes in 1.26 ===
 
index ad6399c..257c195 100644 (file)
@@ -21,7 +21,7 @@
                "leafo/lessphp": "0.5.0",
                "liuggio/statsd-php-client": "1.0.12",
                "mediawiki/at-ease": "1.0.0",
-               "oojs/oojs-ui": "0.11.4",
+               "oojs/oojs-ui": "0.11.5",
                "php": ">=5.3.3",
                "psr/log": "1.0.0",
                "wikimedia/cdb": "1.0.1",
index 9949d13..77ae1dc 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-die("Not a valid entry point\n");
+die( "Not a valid entry point\n" );
 /**
  * This file does not hold any code. It is only there so we can generate
  * the doxygen documentation main page.
index 2984c33..6c2efc2 100644 (file)
@@ -166,12 +166,12 @@ class AjaxResponse {
                        HttpStatus::header( $n );
                }
 
-               header ( "Content-Type: " . $this->mContentType );
+               header( "Content-Type: " . $this->mContentType );
 
                if ( $this->mLastModified ) {
-                       header ( "Last-Modified: " . $this->mLastModified );
+                       header( "Last-Modified: " . $this->mLastModified );
                } else {
-                       header ( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
+                       header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
                }
 
                if ( $this->mCacheDuration ) {
@@ -193,20 +193,20 @@ class AjaxResponse {
 
                        } else {
                                # Let the client do the caching. Cache is not purged.
-                               header ( "Expires: " . gmdate( "D, d M Y H:i:s", time() + $this->mCacheDuration ) . " GMT" );
-                               header ( "Cache-Control: s-maxage={$this->mCacheDuration}," .
+                               header( "Expires: " . gmdate( "D, d M Y H:i:s", time() + $this->mCacheDuration ) . " GMT" );
+                               header( "Cache-Control: s-maxage={$this->mCacheDuration}," .
                                        "public,max-age={$this->mCacheDuration}" );
                        }
 
                } else {
                        # always expired, always modified
-                       header ( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );    // Date in the past
-                       header ( "Cache-Control: no-cache, must-revalidate" );  // HTTP/1.1
-                       header ( "Pragma: no-cache" );                          // HTTP/1.0
+                       header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );    // Date in the past
+                       header( "Cache-Control: no-cache, must-revalidate" );  // HTTP/1.1
+                       header( "Pragma: no-cache" );                          // HTTP/1.0
                }
 
                if ( $this->mVary ) {
-                       header ( "Vary: " . $this->mVary );
+                       header( "Vary: " . $this->mVary );
                }
        }
 
index d582201..85cfe59 100644 (file)
@@ -1109,7 +1109,7 @@ class Block {
                $blocks = array();
                foreach ( $rows as $row ) {
                        $block = self::newFromRow( $row );
-                       if ( !$block->deleteIfExpired()  ) {
+                       if ( !$block->deleteIfExpired() ) {
                                $blocks[] = $block;
                        }
                }
index 66079c0..e2c31a6 100644 (file)
@@ -329,7 +329,7 @@ class CategoryViewer extends ContextSource {
                                        'category' => array( 'LEFT JOIN', array(
                                                'cat_title = page_title',
                                                'page_namespace' => NS_CATEGORY
-                                       ))
+                                       ) )
                                )
                        );
 
index 7a9b27b..e2e0666 100644 (file)
@@ -1756,7 +1756,7 @@ function wfMsgExt( $key, $options ) {
        }
 
        if ( in_array( 'escape', $options, true ) ) {
-               $string = htmlspecialchars ( $string );
+               $string = htmlspecialchars( $string );
        } elseif ( in_array( 'escapenoentities', $options, true ) ) {
                $string = Sanitizer::escapeHtmlAllowEntities( $string );
        }
@@ -2758,7 +2758,7 @@ function wfShellExec( $cmd, &$retval = null, $environ = array(),
 
        $useLogPipe = false;
        if ( is_executable( '/bin/bash' ) ) {
-               $time = intval ( isset( $limits['time'] ) ? $limits['time'] : $wgMaxShellTime );
+               $time = intval( isset( $limits['time'] ) ? $limits['time'] : $wgMaxShellTime );
                if ( isset( $limits['walltime'] ) ) {
                        $wallTime = intval( $limits['walltime'] );
                } elseif ( isset( $limits['time'] ) ) {
@@ -2766,8 +2766,8 @@ function wfShellExec( $cmd, &$retval = null, $environ = array(),
                } else {
                        $wallTime = intval( $wgMaxShellWallClockTime );
                }
-               $mem = intval ( isset( $limits['memory'] ) ? $limits['memory'] : $wgMaxShellMemory );
-               $filesize = intval ( isset( $limits['filesize'] ) ? $limits['filesize'] : $wgMaxShellFileSize );
+               $mem = intval( isset( $limits['memory'] ) ? $limits['memory'] : $wgMaxShellMemory );
+               $filesize = intval( isset( $limits['filesize'] ) ? $limits['filesize'] : $wgMaxShellFileSize );
 
                if ( $time > 0 || $mem > 0 || $filesize > 0 || $wallTime > 0 ) {
                        $cmd = '/bin/bash ' . escapeshellarg( "$IP/includes/limit.sh" ) . ' ' .
index 8462f68..2fa9de1 100644 (file)
@@ -369,7 +369,7 @@ if ( $wgResourceLoaderMaxQueryLength === false ) {
        } else {
                $wgResourceLoaderMaxQueryLength = 2000;
        }
-       unset($suhosinMaxValueLength);
+       unset( $suhosinMaxValueLength );
 }
 
 /**
@@ -429,7 +429,7 @@ if ( !$wgHtml5Version && $wgAllowRdfaAttributes ) {
 }
 
 // Blacklisted file extensions shouldn't appear on the "allowed" list
-$wgFileExtensions = array_values( array_diff ( $wgFileExtensions, $wgFileBlacklist ) );
+$wgFileExtensions = array_values( array_diff( $wgFileExtensions, $wgFileBlacklist ) );
 
 if ( $wgInvalidateCacheOnLocalSettingsChange ) {
        MediaWiki\suppressWarnings();
index bac4db6..3f73ae3 100644 (file)
@@ -78,7 +78,7 @@ class StreamFile {
        ) {
                if ( !is_array( $info ) ) {
                        if ( $sendErrors ) {
-                               HttpStatus::header( 404  );
+                               HttpStatus::header( 404 );
                                header( 'Cache-Control: no-cache' );
                                header( 'Content-Type: text/html; charset=utf-8' );
                                $encFile = htmlspecialchars( $path );
index 10763ea..961520a 100644 (file)
@@ -330,7 +330,7 @@ class User implements IDBAccessObject {
         *
         * @param integer $flags User::READ_* constant bitfield
         */
-       public function load( $flags = self::READ_LATEST ) {
+       public function load( $flags = self::READ_NORMAL ) {
                if ( $this->mLoadedItems === true ) {
                        return;
                }
@@ -344,9 +344,13 @@ class User implements IDBAccessObject {
                                $this->loadDefaults();
                                break;
                        case 'name':
-                               // @TODO: this gets the ID from a slave, assuming renames
-                               // are rare. This should be controllable and more consistent.
-                               $this->mId = self::idFromName( $this->mName );
+                               // Make sure this thread sees its own changes
+                               if ( wfGetLB()->hasOrMadeRecentMasterChanges() ) {
+                                       $flags |= self::READ_LATEST;
+                                       $this->queryFlagsUsed = $flags;
+                               }
+
+                               $this->mId = self::idFromName( $this->mName, $flags );
                                if ( !$this->mId ) {
                                        // Nonexistent user placeholder object
                                        $this->loadDefaults( $this->mName );
@@ -380,21 +384,19 @@ class User implements IDBAccessObject {
                        return false;
                }
 
-               // Try cache
-               $cache = $this->loadFromCache();
-               if ( !$cache ) {
+               // Try cache (unless this needs to lock the DB).
+               // NOTE: if this thread called saveSettings(), the cache was cleared.
+               if ( ( $flags & self::READ_LOCKING ) || !$this->loadFromCache() ) {
                        wfDebug( "User: cache miss for user {$this->mId}\n" );
-                       // Load from DB
+                       // Load from DB (make sure this thread sees its own changes)
+                       if ( wfGetLB()->hasOrMadeRecentMasterChanges() ) {
+                               $flags |= self::READ_LATEST;
+                       }
                        if ( !$this->loadFromDatabase( $flags ) ) {
                                // Can't load from ID, user is anonymous
                                return false;
                        }
-                       if ( $flags & self::READ_LATEST ) {
-                               // Only save master data back to the cache to keep it consistent.
-                               // @TODO: save it anyway and have callers specifiy $flags and have
-                               // load() called as needed. That requires updating MANY callers...
-                               $this->saveToCache();
-                       }
+                       $this->saveToCache();
                }
 
                $this->mLoadedItems = true;
@@ -415,9 +417,8 @@ class User implements IDBAccessObject {
                        return false;
                }
 
-               $cache = ObjectCache::getMainWANInstance();
                $key = wfMemcKey( 'user', 'id', $this->mId );
-               $data = $cache->get( $key );
+               $data = ObjectCache::getMainWANInstance()->get( $key );
                if ( !is_array( $data ) || $data['mVersion'] < self::VERSION ) {
                        // Object is expired
                        return false;
@@ -448,15 +449,6 @@ class User implements IDBAccessObject {
                        return;
                }
 
-               $cache = ObjectCache::getMainWANInstance();
-
-               // The cache needs good consistency due to its high TTL, so the user
-               // should have been loaded from the master to avoid lag amplification.
-               if ( !( $this->queryFlagsUsed & self::READ_LATEST ) ) {
-                       wfWarn( "Cannot cache slave-loaded User object with ID '{$this->mId}'." );
-                       return;
-               }
-
                $data = array();
                foreach ( self::$mCacheVars as $name ) {
                        $data[$name] = $this->$name;
@@ -464,7 +456,7 @@ class User implements IDBAccessObject {
                $data['mVersion'] = self::VERSION;
                $key = wfMemcKey( 'user', 'id', $this->mId );
 
-               $cache->set( $key, $data );
+               ObjectCache::getMainWANInstance()->set( $key, $data, 3600 );
        }
 
        /** @name newFrom*() static factory methods */
@@ -598,9 +590,10 @@ class User implements IDBAccessObject {
        /**
         * Get database id given a user name
         * @param string $name Username
+        * @param integer $flags User::READ_* constant bitfield
         * @return int|null The corresponding user's ID, or null if user is nonexistent
         */
-       public static function idFromName( $name ) {
+       public static function idFromName( $name, $flags = self::READ_NORMAL ) {
                $nt = Title::makeTitleSafe( NS_USER, $name );
                if ( is_null( $nt ) ) {
                        // Illegal name
@@ -611,8 +604,11 @@ class User implements IDBAccessObject {
                        return self::$idCacheByName[$name];
                }
 
-               $dbr = wfGetDB( DB_SLAVE );
-               $s = $dbr->selectRow(
+               $db = ( $flags & self::READ_LATEST )
+                       ? wfGetDB( DB_MASTER )
+                       : wfGetDB( DB_SLAVE );
+
+               $s = $db->selectRow(
                        'user',
                        array( 'user_id' ),
                        array( 'user_name' => $nt->getText() ),
@@ -1141,7 +1137,6 @@ class User implements IDBAccessObject {
                }
 
                $proposedUser = User::newFromId( $sId );
-               $proposedUser->load( self::READ_LATEST );
                if ( !$proposedUser->isLoggedIn() ) {
                        // Not a valid ID
                        return false;
@@ -2336,10 +2331,9 @@ class User implements IDBAccessObject {
 
                if ( $this->mId ) {
                        if ( $this->mQuickTouched === null ) {
-                               $cache = ObjectCache::getMainWANInstance();
                                $key = wfMemcKey( 'user-quicktouched', 'id', $this->mId );
 
-                               $timestamp = $cache->getCheckKeyTime( $key );
+                               $timestamp = ObjectCache::getMainWANInstance()->getCheckKeyTime( $key );
                                if ( $timestamp ) {
                                        $this->mQuickTouched = wfTimestamp( TS_MW, (int)$timestamp );
                                } else {
@@ -3619,12 +3613,6 @@ class User implements IDBAccessObject {
                        return; // anon
                }
 
-               // This method is for updating existing users, so the user should
-               // have been loaded from the master to begin with to avoid problems.
-               if ( !( $this->queryFlagsUsed & self::READ_LATEST ) ) {
-                       wfWarn( "Attempting to save slave-loaded User object with ID '{$this->mId}'." );
-               }
-
                // Get a new user_touched that is higher than the old one.
                // This will be used for a CAS check as a last-resort safety
                // check against race conditions and slave lag.
@@ -3660,8 +3648,9 @@ class User implements IDBAccessObject {
                        // Maybe the problem was a missed cache update; clear it to be safe
                        $this->clearSharedCache();
                        // User was changed in the meantime or loaded with stale data
+                       $from = ( $this->queryFlagsUsed & self::READ_LATEST ) ? 'master' : 'slave';
                        MWExceptionHandler::logException( new MWException(
-                               "CAS update failed on user_touched for user ID '{$this->mId}';" .
+                               "CAS update failed on user_touched for user ID '{$this->mId}' (read from $from);" .
                                "the version of the user to be saved is older than the current version."
                        ) );
 
index aad71b9..6189f68 100644 (file)
@@ -246,7 +246,7 @@ class ApiEditPage extends ApiBase {
                                $titleObj->getNextRevisionID( $undoafterRev->getID() ) == $params['undo']
                        ) {
                                $params['summary'] = wfMessage( 'undo-summary' )
-                                       ->params ( $params['undo'], $undoRev->getUserText() )->inContentLanguage()->text();
+                                       ->params( $params['undo'], $undoRev->getUserText() )->inContentLanguage()->text();
                        }
                }
 
index 966af53..6112534 100644 (file)
@@ -162,7 +162,7 @@ class ApiExpandTemplates extends ApiBase {
                                        !isset( $prop['jsconfigvars'] ) && !isset( $prop['encodedjsconfigvars'] ) ) {
                                        $this->setWarning( "Property 'modules' was set but not 'jsconfigvars' " .
                                                "or 'encodedjsconfigvars'. Configuration variables are necessary " .
-                                               "for proper module usage.");
+                                               "for proper module usage." );
                                }
                        }
                }
index 1833434..fa6f30e 100644 (file)
@@ -376,7 +376,7 @@ class ApiParse extends ApiBase {
                        !isset( $prop['jsconfigvars'] ) && !isset( $prop['encodedjsconfigvars'] ) ) {
                        $this->setWarning( "Property 'modules' was set but not 'jsconfigvars' " .
                                "or 'encodedjsconfigvars'. Configuration variables are necessary " .
-                               "for proper module usage.");
+                               "for proper module usage." );
                }
 
                if ( isset( $prop['indicators'] ) ) {
index 90af15a..349e7fa 100644 (file)
@@ -238,7 +238,7 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
 
                                                // Add item to results and see whether it fits
                                                $fit = $apiResult->addValue(
-                                                       array( 'query', 'interwiki' . $this->getModuleName(), $result->getInterwikiPrefix()  ),
+                                                       array( 'query', 'interwiki' . $this->getModuleName(), $result->getInterwikiPrefix() ),
                                                        null,
                                                        $vals
                                                );
index 1dc9985..a112cf0 100644 (file)
@@ -297,6 +297,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                        }
                }
 
+               ApiResult::setArrayType( $data, 'BCarray' );
                ApiResult::setIndexedTagName( $data, 'ns' );
 
                return $this->getResult()->addValue( 'query', $property, $data );
@@ -511,6 +512,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                                        $groups = array_intersect( $rights[$group], $allGroups );
                                        if ( $groups ) {
                                                $arr[$type] = $groups;
+                                               ApiResult::setArrayType( $arr[$type], 'BCarray' );
                                                ApiResult::setIndexedTagName( $arr[$type], 'group' );
                                        }
                                }
@@ -682,6 +684,11 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                        'semiprotectedlevels' => $config->get( 'SemiprotectedRestrictionLevels' ),
                );
 
+               ApiResult::setArrayType( $data['types'], 'BCarray' );
+               ApiResult::setArrayType( $data['levels'], 'BCarray' );
+               ApiResult::setArrayType( $data['cascadinglevels'], 'BCarray' );
+               ApiResult::setArrayType( $data['semiprotectedlevels'], 'BCarray' );
+
                ApiResult::setIndexedTagName( $data['types'], 'type' );
                ApiResult::setIndexedTagName( $data['levels'], 'level' );
                ApiResult::setIndexedTagName( $data['cascadinglevels'], 'level' );
@@ -741,6 +748,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                global $wgParser;
                $wgParser->firstCallInit();
                $tags = array_map( array( $this, 'formatParserTags' ), $wgParser->getTags() );
+               ApiResult::setArrayType( $tags, 'BCarray' );
                ApiResult::setIndexedTagName( $tags, 't' );
 
                return $this->getResult()->addValue( 'query', $property, $tags );
@@ -750,6 +758,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                global $wgParser;
                $wgParser->firstCallInit();
                $hooks = $wgParser->getFunctionHooks();
+               ApiResult::setArrayType( $hooks, 'BCarray' );
                ApiResult::setIndexedTagName( $hooks, 'h' );
 
                return $this->getResult()->addValue( 'query', $property, $hooks );
@@ -757,6 +766,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
 
        public function appendVariables( $property ) {
                $variables = MagicWord::getVariableIDs();
+               ApiResult::setArrayType( $variables, 'BCarray' );
                ApiResult::setIndexedTagName( $variables, 'v' );
 
                return $this->getResult()->addValue( 'query', $property, $variables );
@@ -765,6 +775,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
        public function appendProtocols( $property ) {
                // Make a copy of the global so we don't try to set the _element key of it - bug 45130
                $protocols = array_values( $this->getConfig()->get( 'UrlProtocols' ) );
+               ApiResult::setArrayType( $protocols, 'BCarray' );
                ApiResult::setIndexedTagName( $protocols, 'p' );
 
                return $this->getResult()->addValue( 'query', $property, $protocols );
@@ -792,6 +803,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                                'subscribers' => array_map( array( 'SpecialVersion', 'arrayToString' ), $subscribers ),
                        );
 
+                       ApiResult::setArrayType( $arr['subscribers'], 'BCarray' );
                        ApiResult::setIndexedTagName( $arr['subscribers'], 's' );
                        $data[] = $arr;
                }
index 574bd2f..b418f1d 100644 (file)
@@ -29,6 +29,7 @@
        "apihelp-login-param-domain": "Domeinua (hautazkoa).",
        "apihelp-login-example-login": "Saioa hasi",
        "apihelp-move-description": "Orrialde bat mugitu",
+       "apihelp-options-example-reset": "Berrezarri hobespen guztiak.",
        "apihelp-protect-example-protect": "Orrialde bat babestu",
        "apihelp-query+allusers-param-witheditsonly": "Bakarrik zerrendatu aldaketak egin dituzten erabiltzaileak.",
        "apihelp-query+allusers-param-activeusers": "Bakarrik zerrendatu azken {{PLURAL:$1|eguneko|$1 egunetako}} erabiltzaile aktiboak.",
index 579ce32..87abc34 100644 (file)
@@ -19,7 +19,7 @@
        "apihelp-block-description": "חסימת משתמש.",
        "apihelp-block-param-user": "שם משתמש, כתובת IP, או טווח IP שהנך רוצה לחסום.",
        "apihelp-block-param-reason": "סיבה לחסימה.",
-       "apihelp-block-param-anononly": "×\97ס×\95×\9d ×\9eשת×\9eש×\99×\9d ×\90× ×\95× ×\99×\9e×\99×\99×\9d ×\91×\9c×\91×\93 (×\93×\94×\99×\99× ×\95, ×\94ש×\91תת ×¢×¨×\99×\9b×\95ת ×\90× ×\95× ×\99×\9e×\99×\95ת ×\9e×\9bת×\95×\91ת ×\94IP הזאת)",
+       "apihelp-block-param-anononly": "×\9c×\97ס×\95×\9d ×\9eשת×\9eש×\99×\9d ×\90×\9c×\9e×\95× ×\99×\99×\9d ×\91×\9c×\91×\93 (×\93×\94×\99×\99× ×\95, ×\94ש×\91תת ×¢×¨×\99×\9b×\95ת ×\90×\9c×\9e×\95× ×\99×\95ת ×\9e×\9bת×\95×\91ת ×\94Ö¾IP הזאת)",
        "apihelp-block-param-nocreate": "מניעת יצירת חשבונות",
        "apihelp-block-param-autoblock": "חסימה אוטומטית גם של כתובת ה־IP האחרונה שהשתמש בה ושל כל כתובת IP שינסה להשתמש בה בעתיד.",
        "apihelp-compare-param-fromtitle": "כותרת ראשונה להשוואה.",
index 1f2bace..e3683d6 100644 (file)
        "apihelp-query+alldeletedrevisions-paraminfo-useronly": "Może być użyte tylko z <var>$3user</var>.",
        "apihelp-query+alldeletedrevisions-param-from": "Zacznij nasłuchiwanie na tym tytule.",
        "apihelp-query+alldeletedrevisions-param-to": "Skończ nasłuchiwanie na tym tytule.",
-       "apihelp-query+alldeletedrevisions-param-tag": "Pokazuj tylko zmiany oznaczone tym tagiem.",
+       "apihelp-query+alldeletedrevisions-param-tag": "Pokazuj tylko zmiany oznaczone tym znacznikiem.",
        "apihelp-query+alldeletedrevisions-param-user": "Pokazuj tylko zmiany dokonane przez tego użytkownika.",
        "apihelp-query+alldeletedrevisions-param-excludeuser": "Nie pokazuj zmian dokonanych przez tego użytkownika.",
        "apihelp-query+alldeletedrevisions-param-namespace": "Listuj tylko strony z tej przestrzeni nazw.",
        "apihelp-query+prefixsearch-param-offset": "Liczba wyników do pominięcia.",
        "apihelp-query+protectedtitles-description": "Lista wszystkich tytułów zabezpieczonych przed tworzeniem.",
        "apihelp-query+protectedtitles-param-namespace": "Listuj tylko strony z tych przestrzeni nazw.",
-       "apihelp-query+protectedtitles-param-limit": "Łączna ilość stron do zwrócenia.",
+       "apihelp-query+protectedtitles-param-limit": "Łączna liczba stron do zwrócenia.",
        "apihelp-query+protectedtitles-example-simple": "Lista chronionych nagłówków",
        "apihelp-query+recentchanges-param-user": "Listuj tylko zmiany dokonane przez tego użytkownika.",
        "apihelp-query+recentchanges-param-excludeuser": "Nie listuj zmian dokonanych przez tego użytkownika.",
        "apihelp-query+recentchanges-param-tag": "Pokazuj tylko zmiany oznaczone tym tagiem.",
        "apihelp-query+recentchanges-example-simple": "Lista ostatnich zmian.",
        "apihelp-query+redirects-param-limit": "Ile przekierowań zwrócić.",
-       "apihelp-query+revisions+base-param-limit": "Ograniczenia na ilość wersji które będą zwrócone.",
+       "apihelp-query+revisions+base-param-limit": "Ograniczenie na liczbę wersji, które będą zwrócone.",
        "apihelp-query+search-description": "Wykonaj wyszukiwanie pełnotekstowe.",
        "apihelp-query+search-param-info": "Które metadane zwrócić.",
-       "apihelp-query+search-param-limit": "Łączna ilość stron do zwrócenia.",
+       "apihelp-query+search-param-limit": "Łączna liczba stron do zwrócenia.",
        "apihelp-query+search-param-interwiki": "Dołączaj wyniki wyszukiwań interwiki w wyszukiwarce, jeśli możliwe.",
        "apihelp-query+search-example-simple": "Szukaj <kbd>meaning</kbd>.",
        "apihelp-query+siteinfo-example-simple": "Pobierz informacje o stronie.",
index f712b26..99385c8 100644 (file)
@@ -1172,6 +1172,7 @@ class ChangeTags {
        /**
         * Returns a map of any tags used on the wiki to number of edits
         * tagged with them, ordered descending by the hitcount.
+        * This does not include tags defined somewhere that have never been applied.
         *
         * Keeps a short-term cache in memory, so calling this multiple times in the
         * same request should be fine.
@@ -1205,12 +1206,6 @@ class ChangeTags {
                                        $out[$row->ct_tag] = $row->hitcount;
                                }
 
-                               foreach ( ChangeTags::listDefinedTags() as $tag ) {
-                                       if ( !isset( $out[$tag] ) ) {
-                                               $out[$tag] = 0;
-                                       }
-                               }
-
                                return $out;
                        },
                        300,
index 71fc328..6bd6411 100644 (file)
@@ -181,7 +181,7 @@ class LegacyLogger extends AbstractLogger {
                } elseif ( $channel === 'profileoutput' ) {
                        // Legacy wfLogProfilingData formatitng
                        $forward = '';
-                       if ( isset( $context['forwarded_for'] )) {
+                       if ( isset( $context['forwarded_for'] ) ) {
                                $forward = " forwarded for {$context['forwarded_for']}";
                        }
                        if ( isset( $context['client_ip'] ) ) {
index 07a0522..ac29ae0 100644 (file)
@@ -1040,7 +1040,7 @@ class DifferenceEngine extends ContextSource {
                        $key = $title->quickUserCan( 'edit', $user ) ? 'editold' : 'viewsourceold';
                        $msg = $this->msg( $key )->escaped();
                        $editLink = $this->msg( 'parentheses' )->rawParams(
-                               Linker::linkKnown( $title, $msg, array( ), $editQuery ) )->escaped();
+                               Linker::linkKnown( $title, $msg, array(), $editQuery ) )->escaped();
                        $header .= ' ' . Html::rawElement(
                                'span',
                                array( 'class' => 'mw-diff-edit' ),
index 5eef335..164cfab 100644 (file)
@@ -41,7 +41,7 @@ class MssqlUpdater extends DatabaseUpdater {
                        array( 'addField', 'mwuser', 'user_password_expires', 'patch-user_password_expires.sql' ),
 
                        // 1.24
-                       array( 'addField', 'page', 'page_lang', 'patch-page-page_lang.sql'),
+                       array( 'addField', 'page', 'page_lang', 'patch-page-page_lang.sql' ),
 
                        // 1.25
                        array( 'dropTable', 'hitcounter' ),
index 095811f..f85ee92 100644 (file)
@@ -380,7 +380,7 @@ class FormatJson {
                $inComment = false;
                $multiline = false;
 
-               for ($idx = 0; $idx < $maxLen; $idx++) {
+               for ( $idx = 0; $idx < $maxLen; $idx++ ) {
                        switch ( $str[$idx] ) {
                                case '"':
                                        $lookBehind = ( $idx - 1 >= 0 ) ? $str[$idx - 1] : '';
index 3fb86ba..b9d0ae5 100644 (file)
@@ -415,7 +415,7 @@ class XMPReader implements LoggerAwareInterface {
                $len = unpack( 'Nlength/Noffset', substr( $content, 32, 8 ) );
 
                if ( !$len || $len['length'] < 4 || $len['offset'] < 0 || $len['offset'] > $len['length'] ) {
-                       $this->logger->info(  __METHOD__ . 'Error reading extended XMP block, invalid length or offset.' );
+                       $this->logger->info( __METHOD__ . 'Error reading extended XMP block, invalid length or offset.' );
 
                        return false;
                }
index 928c3a8..432e12a 100644 (file)
@@ -1438,7 +1438,7 @@ class Parser {
                                '-' => '',
                                ' ' => '',
                                'x' => 'X',
-                       ));
+                       ) );
                        $titleObj = SpecialPage::getTitleFor( 'Booksources', $num );
                        return '<a href="' .
                                htmlspecialchars( $titleObj->getLocalURL() ) .
@@ -1481,7 +1481,7 @@ class Parser {
                # Don't break a trailing HTML entity by moving the ; into $trail
                # This is in hot code, so use substr_compare to avoid having to
                # create a new string object for the comparison
-               if ( $numSepChars && substr_compare( $url, ";", -$numSepChars, 1 ) === 0) {
+               if ( $numSepChars && substr_compare( $url, ";", -$numSepChars, 1 ) === 0 ) {
                        # more optimization: instead of running preg_match with a $
                        # anchor, which can be slow, do the match on the reversed
                        # string starting at the desired offset.
index 4984e77..6c58453 100644 (file)
@@ -32,7 +32,7 @@
 function wfGetRusage() {
        if ( !function_exists( 'getrusage' ) ) {
                return false;
-       } elseif ( defined ( 'HHVM_VERSION' ) ) {
+       } elseif ( defined( 'HHVM_VERSION' ) ) {
                return getrusage( 2 /* RUSAGE_THREAD */ );
        } else {
                return getrusage( 0 /* RUSAGE_SELF */ );
index 5087e8d..7d5d38f 100644 (file)
@@ -218,7 +218,7 @@ class SearchHighlighter {
                        }
 
                        // calc by how much to extend existing snippets
-                       $targetchars = intval( ( $contextchars * $contextlines ) / count ( $snippets ) );
+                       $targetchars = intval( ( $contextchars * $contextlines ) / count( $snippets ) );
                }
 
                foreach ( $snippets as $index => $line ) {
index 92409cd..bd3b55b 100644 (file)
@@ -70,7 +70,7 @@ abstract class QueryPage extends SpecialPage {
                                array( 'DeadendPagesPage', 'Deadendpages' ),
                                array( 'DoubleRedirectsPage', 'DoubleRedirects' ),
                                array( 'FileDuplicateSearchPage', 'FileDuplicateSearch' ),
-                               array( 'ListDuplicatedFilesPage', 'ListDuplicatedFiles'),
+                               array( 'ListDuplicatedFilesPage', 'ListDuplicatedFiles' ),
                                array( 'LinkSearchPage', 'LinkSearch' ),
                                array( 'ListredirectsPage', 'Listredirects' ),
                                array( 'LonelyPagesPage', 'Lonelypages' ),
index e9639e1..d330b0e 100644 (file)
@@ -229,7 +229,7 @@ HTML;
                // writes a script tag (the one loading mediawiki.js). Script tags are synchronous, block
                // each other, and run in order. But they don't nest. The code appended after the startup
                // module runs before the added script tag is parsed and executed.
-               echo Xml::encodeJsCall( 'document.write', array( Html::inlineScript( $code  ) ) );
+               echo Xml::encodeJsCall( 'document.write', array( Html::inlineScript( $code ) ) );
        }
 
        private function plainQUnit() {
index 8f14a41..7a7979c 100644 (file)
@@ -236,7 +236,7 @@ class MediaStatisticsPage extends QueryPage {
                                        'mw-mediastats-table-' . strtolower( $mediaType ),
                                        'sortable',
                                        'wikitable'
-                               ))
+                               ) )
                        )
                );
                $this->getOutput()->addHTML( $this->getTableHeaderRow() );
@@ -275,7 +275,7 @@ class MediaStatisticsPage extends QueryPage {
                                array( 'class' => array(
                                        'mw-mediastats-mediatype',
                                        'mw-mediastats-mediatype-' . strtolower( $mediaType )
-                               )),
+                               ) ),
                                // for grep
                                // mediastatistics-header-unknown, mediastatistics-header-bitmap,
                                // mediastatistics-header-drawing, mediastatistics-header-audio,
index 64c2cf3..b2305b9 100644 (file)
  * @ingroup SpecialPage
  */
 class SpecialTags extends SpecialPage {
+
+       /**
+        * @var array List of explicitly defined tags
+        */
+       protected $explicitlyDefinedTags;
+
        /**
-        * @var array List of defined tags
+        * @var array List of extension defined tags
         */
-       public $definedTags;
+       protected $extensionDefinedTags;
+
        /**
-        * @var array List of active tags
+        * @var array List of extension activated tags
         */
-       public $activeTags;
+       protected $extensionActivatedTags;
 
        function __construct() {
                parent::__construct( 'Tags' );
@@ -69,9 +76,11 @@ class SpecialTags extends SpecialPage {
                $out->wrapWikiMsg( "<div class='mw-tags-intro'>\n$1\n</div>", 'tags-intro' );
 
                $user = $this->getUser();
+               $userCanManage = $user->isAllowed( 'managechangetags' );
+               $userCanEditInterface = $user->isAllowed( 'editinterface' );
 
                // Show form to create a tag
-               if ( $user->isAllowed( 'managechangetags' ) ) {
+               if ( $userCanManage ) {
                        $fields = array(
                                'Tag' => array(
                                        'type' => 'text',
@@ -108,40 +117,50 @@ class SpecialTags extends SpecialPage {
                        }
                }
 
-               // Whether to show the "Actions" column in the tag list
-               // If any actions added in the future require other user rights, add those
-               // rights here
-               $showActions = $user->isAllowed( 'managechangetags' );
+               // Used to get hitcounts for #doTagRow()
+               $tagStats = ChangeTags::tagUsageStatistics();
 
-               // Write the headers
-               $tagUsageStatistics = ChangeTags::tagUsageStatistics();
+               // Used in #doTagRow()
+               $this->explicitlyDefinedTags = array_fill_keys(
+                       ChangeTags::listExplicitlyDefinedTags(), true );
+               $this->extensionDefinedTags = array_fill_keys(
+                       ChangeTags::listExtensionDefinedTags(), true );
+
+               // List all defined tags, even if they were never applied
+               $definedTags = array_keys( array_merge(
+                       $this->explicitlyDefinedTags, $this->extensionDefinedTags ) );
 
                // Show header only if there exists atleast one tag
-               if ( !$tagUsageStatistics ) {
+               if ( !$tagStats && !$definedTags ) {
                        return;
                }
+
+               // Write the headers
                $html = Xml::tags( 'tr', null, Xml::tags( 'th', null, $this->msg( 'tags-tag' )->parse() ) .
                        Xml::tags( 'th', null, $this->msg( 'tags-display-header' )->parse() ) .
                        Xml::tags( 'th', null, $this->msg( 'tags-description-header' )->parse() ) .
                        Xml::tags( 'th', null, $this->msg( 'tags-source-header' )->parse() ) .
                        Xml::tags( 'th', null, $this->msg( 'tags-active-header' )->parse() ) .
                        Xml::tags( 'th', null, $this->msg( 'tags-hitcount-header' )->parse() ) .
-                       ( $showActions ?
+                       ( $userCanManage ?
                                Xml::tags( 'th', array( 'class' => 'unsortable' ),
                                        $this->msg( 'tags-actions-header' )->parse() ) :
                                '' )
                );
 
                // Used in #doTagRow()
-               $this->explicitlyDefinedTags = array_fill_keys(
-                       ChangeTags::listExplicitlyDefinedTags(), true );
-               $this->extensionDefinedTags = array_fill_keys(
-                       ChangeTags::listExtensionDefinedTags(), true );
                $this->extensionActivatedTags = array_fill_keys(
                        ChangeTags::listExtensionActivatedTags(), true );
 
-               foreach ( $tagUsageStatistics as $tag => $hitcount ) {
-                       $html .= $this->doTagRow( $tag, $hitcount, $showActions );
+               // Insert tags that have been applied at least once
+               foreach ( $tagStats as $tag => $hitcount ) {
+                       $html .= $this->doTagRow( $tag, $hitcount, $userCanManage, $userCanEditInterface );
+               }
+               // Insert tags defined somewhere but never applied
+               foreach ( $definedTags as $tag ) {
+                       if ( !isset( $tagStats[$tag] ) ) {
+                               $html .= $this->doTagRow( $tag, 0, $userCanManage, $userCanEditInterface );
+                       }
                }
 
                $out->addHTML( Xml::tags(
@@ -151,13 +170,12 @@ class SpecialTags extends SpecialPage {
                ) );
        }
 
-       function doTagRow( $tag, $hitcount, $showActions ) {
-               $user = $this->getUser();
+       function doTagRow( $tag, $hitcount, $showActions, $showEditLinks ) {
                $newRow = '';
                $newRow .= Xml::tags( 'td', null, Xml::element( 'code', null, $tag ) );
 
                $disp = ChangeTags::tagDescription( $tag );
-               if ( $user->isAllowed( 'editinterface' ) ) {
+               if ( $showEditLinks ) {
                        $disp .= ' ';
                        $editLink = Linker::link(
                                $this->msg( "tag-$tag" )->inContentLanguage()->getTitle(),
@@ -169,7 +187,7 @@ class SpecialTags extends SpecialPage {
 
                $msg = $this->msg( "tag-$tag-description" );
                $desc = !$msg->exists() ? '' : $msg->parse();
-               if ( $user->isAllowed( 'editinterface' ) ) {
+               if ( $showEditLinks ) {
                        $desc .= ' ';
                        $editDescLink = Linker::link(
                                $this->msg( "tag-$tag-description" )->inContentLanguage()->getTitle(),
@@ -209,10 +227,11 @@ class SpecialTags extends SpecialPage {
                $newRow .= Xml::tags( 'td', array( 'data-sort-value' => $hitcount ), $hitcountLink );
 
                // actions
-               $actionLinks = array();
-               if ( $showActions ) {
+               if ( $showActions ) { // we've already checked that the user had the requisite userright
+                       $actionLinks = array();
+
                        // delete
-                       if ( ChangeTags::canDeleteTag( $tag, $user )->isOK() ) {
+                       if ( ChangeTags::canDeleteTag( $tag )->isOK() ) {
                                $actionLinks[] = Linker::linkKnown( $this->getPageTitle( 'delete' ),
                                        $this->msg( 'tags-delete' )->escaped(),
                                        array(),
@@ -220,7 +239,7 @@ class SpecialTags extends SpecialPage {
                        }
 
                        // activate
-                       if ( ChangeTags::canActivateTag( $tag, $user )->isOK() ) {
+                       if ( ChangeTags::canActivateTag( $tag )->isOK() ) {
                                $actionLinks[] = Linker::linkKnown( $this->getPageTitle( 'activate' ),
                                        $this->msg( 'tags-activate' )->escaped(),
                                        array(),
@@ -228,7 +247,7 @@ class SpecialTags extends SpecialPage {
                        }
 
                        // deactivate
-                       if ( ChangeTags::canDeactivateTag( $tag, $user )->isOK() ) {
+                       if ( ChangeTags::canDeactivateTag( $tag )->isOK() ) {
                                $actionLinks[] = Linker::linkKnown( $this->getPageTitle( 'deactivate' ),
                                        $this->msg( 'tags-deactivate' )->escaped(),
                                        array(),
index 758e3c0..ab53951 100644 (file)
@@ -249,7 +249,7 @@ class UserrightsPage extends SpecialPage {
                if ( $remove ) {
                        foreach ( $remove as $index => $group ) {
                                if ( !$user->removeGroup( $group ) ) {
-                                       unset($remove[$index]);
+                                       unset( $remove[$index] );
                                }
                        }
                        $newGroups = array_diff( $newGroups, $remove );
@@ -257,7 +257,7 @@ class UserrightsPage extends SpecialPage {
                if ( $add ) {
                        foreach ( $add as $index => $group ) {
                                if ( !$user->addGroup( $group ) ) {
-                                       unset($add[$index]);
+                                       unset( $add[$index] );
                                }
                        }
                        $newGroups = array_merge( $newGroups, $add );
index 0a61be6..b1d88bc 100644 (file)
@@ -1336,7 +1336,7 @@ class Language {
                                case 'xmn':
                                        $usedHijriMonth = true;
                                        if ( !$hijri ) {
-                                               $hijri = self::tsToHijri ( $ts );
+                                               $hijri = self::tsToHijri( $ts );
                                        }
                                        $num = $hijri[1];
                                        break;
@@ -3444,7 +3444,7 @@ class Language {
                                // the string does not have any number part. Eg: .12345
                                return $sign . $groupedNumber;
                        }
-                       $start = $end = ($integerPart) ? strlen( $integerPart[0] ) : 0;
+                       $start = $end = ( $integerPart ) ? strlen( $integerPart[0] ) : 0;
                        while ( $start > 0 ) {
                                $match = $matches[0][$numMatches - 1];
                                $matchLen = strlen( $match );
index 15fc8c0..1b7dbfa 100644 (file)
@@ -61,7 +61,7 @@ class LanguageEo extends Language {
         */
        function iconv( $in, $out, $string ) {
                if ( strcasecmp( $in, 'x' ) == 0 && strcasecmp( $out, 'utf-8' ) == 0 ) {
-                       return preg_replace_callback (
+                       return preg_replace_callback(
                                '/([cghjsu]x?)((?:xx)*)(?!x)/i',
                                array( $this, 'strrtxuCallback' ), $string );
                } elseif ( strcasecmp( $in, 'UTF-8' ) == 0 && strcasecmp( $out, 'x' ) == 0 ) {
index 2379cac..a96b0a9 100644 (file)
@@ -149,10 +149,10 @@ class LanguageFi extends Language {
                );
 
                $final = '';
-               $tokens = explode ( ' ', $str );
+               $tokens = explode( ' ', $str );
                foreach ( $tokens as $item ) {
                        if ( !is_numeric( $item ) ) {
-                               if ( count ( explode( '-', $item ) ) == 3 && strlen( $item ) == 10 ) {
+                               if ( count( explode( '-', $item ) ) == 3 && strlen( $item ) == 10 ) {
                                        list( $yyyy, $mm, $dd ) = explode( '-', $item );
                                        $final .= ' ' . $this->date( "{$yyyy}{$mm}{$dd}000000" );
                                        continue;
index 6b6c95d..ddd866f 100644 (file)
@@ -91,7 +91,7 @@ class LanguageKsh extends Language {
        function convertGrammar( $word, $case ) {
                $lord = strtolower( $word );
                $gender = 'm'; // Nuutnaarel // default
-               if ( preg_match ( '/wiki$/', $lord ) ) {
+               if ( preg_match( '/wiki$/', $lord ) ) {
                        $gender = 'n';  // Dat xyz-wiki
                }
                if ( isset( self::$familygender[$lord] ) ) {
index b02bba2..4aefa63 100644 (file)
        "uploaded-animate-svg": "У загружаным SVG-файле знойдзены тэг «animate», які можа зьмяняць спасылку з дапамогай атрыбуту «from» <code>&lt;$1 $2=\"$3\"&gt;</code>.",
        "uploaded-setting-event-handler-svg": "Усталёўка атрыбутаў апрацоўкі падзеяў заблякаваная, у загружаным SVG-файле знойдзены код <code>&lt;$1 $2=\"$3\"&gt;</code>.",
        "uploaded-setting-href-svg": "Выкарыстаньне тэгу «set» для дадаваньня атрыбуту «href» у бацькоўскі элемэнт заблякаванае.",
+       "uploaded-wrong-setting-svg": "Ужываньне тэгу «set» для дадаваньня ў якасьці мэты аддаленага адрасу/зьвестак/сцэнару для любога атрыбуту заблякаванае. У загружаным SVG-файле знойдзена <code>&lt;set to=\"$1\"&gt;</code>.",
        "uploadscriptednamespace": "Гэты SVG-файл утрымлівае няслушную прастору назваў «$1»",
        "uploadinvalidxml": "Не атрымалася прааналізаваць XML у загружаным файле.",
        "uploadvirus": "Файл утрымлівае вірус! Падрабязнасьці: $1",
index 1103dbd..0ca3544 100644 (file)
        "redirectedfrom": "(ДӀасахьажийна кху $1)",
        "redirectpagesub": "АгӀо-дӀасахьажорг",
        "redirectto": "ДӀасахьажор тӀе:",
-       "lastmodifiedat": "ХӀокху агӀон тӀаьххьаралера хийцам: $2, $1.",
+       "lastmodifiedat": "ХӀокху агӀон тӀаьххьаралера хийцам: $1, $2.",
        "viewcount": "ХӀокху агӀонг хьовсийна $1 {{PLURAL:$1|за}}.",
        "protectedpage": "ГӀароллийца йолу агӀо",
        "jumpto": "Дехьа гӀо:",
index 4d4784c..8f376d5 100644 (file)
        "protectedpagetext": "Ginkandaduhan ang mini nga pahina para indi ma-islan.",
        "viewsourcetext": "Pwede mo makita kag makopya ang ginhalinan sang mini nga pahina:",
        "protectedinterface": "Nagahatag ang mini nga pahina sang teksto nga pangkatapusan (''interface'') para sa software, kag ikandado para mapunggan ang pag-abuso.",
-       "editinginterface": "'''Paandam:''' gin-islan mo ang pahina nga gina-usar nga nagahatag teksto sang interface sa sopwer.\nMakaapekto ang mga gin-islan sa mini nga pahina sa gwaan nga itsura ka interface sang manug-usar sa iban nga mga manug-usar.\nPara sa mga pagtransleyt, palihog konsidera gamit ang [http://translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], ang MediaWiki proyekto sa paglokalisa.",
+       "editinginterface": "'''Paandam:''' gin-islan mo ang pahina nga gina-usar nga nagahatag teksto sang interface sa sopwer.\nMakaapekto ang mga gin-islan sa mini nga pahina sa gwaan nga itsura ka interface sang manug-usar sa iban nga mga manug-usar.",
        "cascadeprotected": "Ginprotektahan ang mini nga pahina sa pagpangilis, tungod naupod ini sa mga gasunod nga {{PLURAL:$1|pahina, nga|mga pahina, nga}} protektado upod ang \"cascading\" nga pilili-an nga naga-andar:\n$2",
        "namespaceprotected": "Wala ka sang permiso nga magliwat sang mga pahina nga ara sa namespace nga '''$1'''.",
        "ns-specialprotected": "Indi pwede bag-uhon ang mga pinasahi nga pahina.",
index c500755..08a8e6e 100644 (file)
@@ -25,7 +25,7 @@
        "tog-minordefault": "सबै सम्पादनहरूलाई पहिल्लई निर्धारित रुपमी सामान्य चिनो लगाउन्या",
        "tog-previewontop": "सम्पादन बाकस अगि पहिलाकोरूप देखाउन्या",
        "tog-previewonfirst": "पैल्लीको सम्पादनमी झलक धेकाउन्या",
-       "tog-enotifwatchlistpages": "मà¥\87रा à¤§à¥\8dयान à¤¸à¥\82à¤\9aà¥\80मà¥\80 à¤°à¤¹à¥\87याà¤\95ा à¤ªà¤¾à¤¨à¤¾ à¤\85थवा à¤\9aितà¥\8dर à¤¬à¤¦à¤²à¤¿à¤\8fà¤\95ा मुलाई ई-मेल गरियोस्",
+       "tog-enotifwatchlistpages": "मà¥\87रा à¤§à¥\8dयान à¤¸à¥\82à¤\9aà¥\80मà¥\80 à¤°à¤¹à¥\8dयाà¤\95ा à¤ªà¤¾à¤¨à¤¾ à¤\85थवा à¤\9aितà¥\8dर à¤ªà¤°à¤¿à¤µà¤°à¥\8dतन à¤­à¤¯ा मुलाई ई-मेल गरियोस्",
        "tog-enotifusertalkpages": "मेरो कुरडी पानामी परिवर्तन भया मलाई इमेल पठाउन्या",
        "tog-enotifminoredits": "पानाहरू र फाइलहरूमी सामान्य सम्पादन भयालै मुइलाई ई-मेल गरियोस्",
        "tog-enotifrevealaddr": "जानकारी इ-मेलहरूमी मेरो इ-मेल खुलाउन्या",
        "category-subcat-count-limited": "यै श्रेणीमी निम्न {{PLURAL:$1|उपश्रेणी|$1 उपश्रेणीहरू}} छन् ।",
        "category-article-count": "{{PLURAL:$2|यै श्रेणीमी एक मात्र पानो रया छ।|कुल $2 मध्ये यै श्रेणीमी {{PLURAL:$1|पानो|$1 पानाहरू}} रहेका छन् । }}",
        "category-article-count-limited": "निम्न {{PLURAL:$1|पानो|$1 पानाहरू}} ये श्रेणीमी रया छ ।",
-       "category-file-count": "{{PLURAL:$2|यà¥\88 à¤¶à¥\8dरà¥\87णà¥\80मà¥\80 à¤\8fà¤\95 à¤®à¤¾à¤¤à¥\8dर à¤ªà¤¾à¤¨à¥\8b à¤°à¤¯à¤¾ à¤\9b।|à¤\95à¥\81ल $2 à¤®à¤§à¥\8dयà¥\87 à¤¯à¥\88 à¤¶à¥\8dरà¥\87णà¥\80मà¥\80 {{PLURAL:$1|पानà¥\8b|$1 à¤ªà¤¾à¤¨à¤¾हरू}} रहेका छन् । }}",
-       "category-file-count-limited": "निमà¥\8dन {{PLURAL:$1|पानà¥\8b|$1 à¤ªà¤¾à¤¨à¤¾à¤¹à¤°à¥\82}} à¤¯à¥\87 श्रेणीमी रया छ ।",
+       "category-file-count": "{{PLURAL:$2|यà¥\88 à¤¶à¥\8dरà¥\87णà¥\80मà¥\80 à¤\8fà¤\95 à¤®à¤¾à¤¤à¥\8dर à¤«à¤¾à¤\87ल à¤°à¤¯à¤¾ à¤\9b।|à¤\95à¥\81ल $2 à¤®à¤§à¥\8dयà¥\87 à¤¯à¥\88 à¤¶à¥\8dरà¥\87णà¥\80मà¥\80 {{PLURAL:$1|फाà¤\87ल|$1 à¤«à¤¾à¤\87लहरू}} रहेका छन् । }}",
+       "category-file-count-limited": "निमà¥\8dन {{PLURAL:$1|फाà¤\87ल|$1 à¤«à¤¾à¤\87लहरà¥\82}} à¤¯à¥\88 श्रेणीमी रया छ ।",
        "listingcontinuesabbrev": "निरन्तरता...",
        "index-category": "क्रमाङ्कित पानाहरू",
        "noindex-category": "क्रमाङ्कन नगरीयाका पानाहरू",
        "searchprofile-everything": "सबै थोक",
        "searchprofile-advanced": "उन्नत",
        "searchprofile-articles-tooltip": "$1 मी खोज्या",
-       "searchprofile-images-tooltip": "फाà¤\87लहरà¥\81 à¤\96à¥\8bज्या",
+       "searchprofile-images-tooltip": "फाà¤\87लहरà¥\82 à¤\96à¥\8bà¤\9cà¥\8dज्या",
        "searchprofile-everything-tooltip": "सबै सामग्री खोज्या (वार्तालाप लै )",
        "searchprofile-advanced-tooltip": "अनुकुल नेमस्पेसमा खोज्या",
        "search-result-size": "$1 ({{PLURAL:$2|1 शब्द|$2 शब्दहरू}})",
        "right-move-rootuserpages": "मूल(root) प्रयोगकर्ताको पानाहरू साद्या",
        "right-movefile": "फाइलहरूको नाम बदल्न्या",
        "right-upload": "फाइलहरू अपलोड गर्न्या",
+       "right-reupload-shared": "साझा मिडिया भण्डारमी स्थानियरुपमी फाइलहरू अधिक्रमण गर्न्या",
        "right-writeapi": "लेखन API प्रयोग गद्य्या",
        "right-bigdelete": "लामो इतिहास भयाका पानाहरू मेट्ट्या",
        "right-deleterevision": "खुलाइयाको पानाहरू मेटाउन्या र मेटायाको रद्द गद्या",
        "right-suppressionlog": "व्यक्तिगत लगहरू हेद्या",
        "right-block": "अरु प्रयोगकर्तानलाई सम्पादन गद्दाकी ब्लक गर",
        "right-editprotected": "\"{{int:protect-level-sysop}}\" को हैसियतले सुरक्षित पानाहरू सम्पादन गद्या",
+       "right-editusercssjs": "अन्य प्रयोगकर्ताको सी.एस.एस. रे जाभास्क्रिप्ट फाइलहरू सम्पादन गद्या",
+       "right-editusercss": "अन्य प्रयोगकर्ताको सी. एस. एस. फाइलहरू सम्पादन गद्या",
        "right-edituserjs": "अरु प्रयोकर्ताका जाभास्क्रिप्ट फाइलहरू सम्पादन गर्न्या",
        "right-rollback": "पछिल्लो प्रयोगकर्ताको सम्पादनहरूलाई छरितो रुपमी पछाडि पर्काउन्या",
        "right-markbotedits": "पछाडि फर्काउन्या सम्पादनहरूलाई बोट सम्पादनकारुपमी चिनो लगाउन्या",
        "recentchanges-label-unpatrolled": "यो सम्पादन यैलसम्म गस्ती गरियाको नाइथी",
        "recentchanges-label-plusminus": "यति बाइटहरू संख्याले पानाको आकार फेरबदल  भयाको छ",
        "recentchanges-legend-heading": "'''आदर्श वाक्य:'''",
-       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|list of new pages]] यैलाई लै हेरिदिय)",
+       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|नौला पानाको सूची]] यैलाई लै हेरिदिय)",
        "rclistfrom": "$3 $2 देखिका नयाँ परिवर्तनहरू देखाउन्या",
        "rcshowhideminor": "$1 सानतिनो सम्पादन",
        "rcshowhideminor-show": "धेकाइदिय",
        "recentchangeslinked-to": "यैको सट्टा यो पानासित जोडियाका पानानको परिवर्तन धेकाउन्या",
        "upload": "चित्र अपलोड गर",
        "uploadbtn": "फाइल अपलोड गर्न्या",
+       "upload-recreate-warning": "'''चेतावनी: त्यस नाममी रह्याका फाइलहरू सारियाको या हटायाको छ।'''\n\nयै पानाको सारियाको र हटायाको लग तमरो सहजताको लागि दियाको छ।",
        "filedesc": "सारांश:",
+       "large-file": "यो सिफारिस गर्याछकि फाइलहरूको आकार $1 भन्दा ठूला हुनु हुँदैन;\nयै फाइलको आकार $2 छ ।",
+       "uploadstash-nofiles": "तमरा कोइ पनि स्टाश गर्याका फाइलहरू नाइथिन् ।",
+       "uploadstash-refresh": "फाइलहरूको सूची ताजा गर्न्या",
        "license-header": "कोइ केइ नाइथिन",
+       "listfiles-summary": "यै खास पानाले अपलोड गर्याका सबै फाइलहरू धेकाउन्छ ।",
        "imgfile": "चित्र",
        "listfiles_count": "संस्करणहरू",
        "file-anchor-link": "फाइल",
        "nolinkstoimage": "यो चित्रसित लिंकभयाकि कोइ पाना नाइथी",
        "sharedupload-desc-here": "यो फाइल $1 बठे हो र और  परियोजनाहरू बठे पन प्रयोग गद्द सकिन्याछ । \nताखाइ यैको [$2 फ़ाइल विवरण पानो]मि रयाका विवरण तल्तिर दियाको छ।",
        "upload-disallowed-here": "तमलाई यो फाइल अधिलेखन गद्द नाइसक्का ।",
+       "filedelete-maintenance": "रखरखाव चलिरह्याको हुनाले अस्थायी रुपमी फाइलहरू मेट्ट्या र मेट्याकोलाई पुनर्बहाली गर्न निष्क्रिय गरियाकोछ।",
+       "mimesearch-summary": "MIME-प्रकार अनुसार फाइलहरू खोज्न यै पानाको प्रयोग गद्द सकिन्याछ ।\nइनपुट: फाइलको प्रकार/उपप्रकार, उदा. <code>image/jpeg</code>।",
        "randompage": "कोइ एक लेख",
        "statistics-header-pages": "पानानको तथ्याङ्क",
        "statistics-header-edits": "सम्पादनहरूको तथ्याङ्क",
        "undeletepage": "मेट्याका पानाहरू हेद्या र पूर्वरुपमी फर्काउन्या",
        "undeletehistory": "यदि कुनै पानालाई पुन: स्थापन गरायौ भण्या सम्पूर्ण संस्करणहरू इतिहासमी पुन:स्थापन हुन्याछन् ।\nयदि यै नामबठे  नयाँ पानो निर्माण भैसक्याको छ भण्या पुन: स्थापित संस्करणहरू पूर्व इतिहासको रुपमी स्थापित हुन्याछन् ।",
        "undeleterevdel": "यदि यो मल्लो पानो बणन्छ  या फाइल संस्करणहरू आंशिक मेटियाका छन् भण्या मेट्न्या काम रद्द गरिन्या छैन।\nत्यै अवस्थामी तमीले छनौटमी अन्तिम मेटियाको नयाँ संस्करण नलुकाउन्यामी चिनो लगाउनु पडन्छ ।",
+       "undeletedrevisions-files": "{{PLURAL:$1|एउटा संशोधन|$1 संशोधनहरू}} र {{PLURAL:$2|एउटा फाइल|$2 फाइलहरू}} पुनर्स्थापित गरियो",
        "undeletedfiles": "{{PLURAL:$1|१ फाइल|$1 फाइलहरू }} पूर्वस्थितिमी ल्याइयो",
        "undelete-header": "भर्खरै मेटायाका पानाहरू हेद्दाकीलाई [[Special:Log/delete|मेटायाका लग]]मी जाओ।",
        "undelete-search-prefix": "सुरुवाती शब्द अनुसार पानाहरू खोज",
        "show-big-image-preview": "यै पूर्व रुपको आकार: $1।",
        "show-big-image-other": "और {{PLURAL:$2|resolution|रिजोल्युशनहरु}}: $1।",
        "show-big-image-size": "$1 × $2 पिक्सल",
+       "newimages": "नौला फाइलहरूको ग्यालरी",
        "imagelisttext": " '''$1''' {{PLURAL:$1|फाइल|फाइलहरू}} को निम्न सुची ,क्रमवद्ध $2.",
+       "newimages-summary": "यै खास पानाले अन्तिम अपलोड गर्याका फाइलहरू धेकाउँन्छ ।",
        "days": "{{PLURAL:$1|$1 दिन|$1 दिनहरू}}",
        "metadata": "मेटाडेटा",
        "metadata-help": "यै फाइलमि अतिरिक्त जानकारीहरु छन्, यैलाई बनाउन सम्भवतः डिजिटल क्यामेरा और स्क्यानर प्रयोग गरियाको हुनसकन्छ । यदि यै फाइललाई खास अवस्थाबठे फेरबदल गरियाको हो भण्या यै फाइलले  सब्बै विवरण प्रतिबिम्बित गद्द सक्यानाइथी ।",
        "logentry-move-move": "$1 {{GENDER:$2|द्वारा}} $3 पृष्ठलाई $4 मि सारियो",
        "logentry-newusers-create": "प्रयोगकर्ता खाता $1 {{GENDER:$2|खोलियो}}",
        "logentry-upload-upload": "$1 ले $3 {{GENDER:$2|अपलोड अरेका छन्}}",
-       "searchsuggest-search": "खोज"
+       "searchsuggest-search": "खोज",
+       "api-error-duplicate": "यै साइटमी पहिलीबठे यस्तै सामग्री {{PLURAL:$1|भयाको [$2 अर्को फाइल छ]|भयाका  [$2 केहि अरु फाइलहरू छन्]}} ।",
+       "api-error-duplicate-archive": "यै साइटमी पहिलेबाट यस्तै सामग्री {{PLURAL:$1|भयाको [$2 अर्को फाइल थियो]|भयाका  [$2 केहि अरु फाइलहरू थिए]}} ।\nतर {{PLURAL:$1|यो मेट्याको थियो|यी मेटायाका थिए}} ।",
+       "api-error-duplicate-archive-popup-title": "पैल्ली  {{PLURAL:$1|मेट्याको फाइलको|मेट्याका फाइलहरूको}} नकल प्रति बनाउन्या।",
+       "api-error-duplicate-popup-title": "{{PLURAL:$1|फाइल|फाइलहरू}} नकल प्रति बनाउन्या"
 }
index 5cf94e5..5f9f1d6 100644 (file)
        "pager-older-n": "{{PLURAL:$1|zaharragoa den 1|zaharragoak diren $1}}",
        "suppress": "Gain-ikuspena",
        "querypage-disabled": "Orrialde berezi hau desgaituta dago funtzionamendu arrazoiengatik.",
+       "apihelp": "API laguntza",
        "apihelp-no-such-module": "Ez da \"$1\" modulua aurkitu.",
        "booksources": "Iturri liburuak",
        "booksources-search-legend": "Liburuen bilaketa",
        "mediastatistics-table-mimetype": "MIME mota",
        "mediastatistics-table-count": "Fitxategi kopurua",
        "mediastatistics-header-unknown": "Ezezaguna",
+       "mediastatistics-header-bitmap": "Bit-mapako irudiak",
+       "mediastatistics-header-drawing": "Marrazkiak (irudi bektorialak)",
        "mediastatistics-header-video": "Bideoak",
        "json-error-syntax": "Sintaxi-errorea",
        "special-characters-group-latin": "Latina",
        "special-characters-group-persian": "Persiera",
        "special-characters-group-hebrew": "Hebreera",
        "special-characters-group-bangla": "Bangla",
+       "special-characters-group-tamil": "Tamil",
        "special-characters-group-telugu": "Telugu",
        "special-characters-group-sinhala": "Sinhala",
        "special-characters-group-gujarati": "Guajarati",
        "special-characters-group-thai": "Thaiera",
        "special-characters-group-lao": "Laosera",
-       "special-characters-group-khmer": "Khmerrera"
+       "special-characters-group-khmer": "Khmerrera",
+       "special-characters-title-minus": "minus zeinua"
 }
index 724162c..b5fedf5 100644 (file)
        "special-characters-group-telugu": "télougou",
        "special-characters-group-sinhala": "cingalais",
        "special-characters-group-gujarati": "gujarâtî",
-       "special-characters-group-devanagari": "Devanagari",
+       "special-characters-group-devanagari": "vanagari",
        "special-characters-group-thai": "thaï",
        "special-characters-group-lao": "laotien",
        "special-characters-group-khmer": "khmer",
-       "special-characters-title-endash": "tiret anglais",
-       "special-characters-title-emdash": "tiret em",
+       "special-characters-title-endash": "tiret demi-cadratin",
+       "special-characters-title-emdash": "tiret cadratin",
        "special-characters-title-minus": "signe moins"
 }
index 311d190..340d1ed 100644 (file)
        "ok": "Aceptar",
        "retrievedfrom": "Traído desde \"$1\"",
        "youhavenewmessages": "{{PLURAL:$3|Ten}} $1 ($2).",
-       "youhavenewmessagesfromusers": "{{PLURAL:$4|Ten} $1 {{PLURAL:$3|doutro usuario|de $3 usuarios}} ($2).",
+       "youhavenewmessagesfromusers": "{{PLURAL:$4|Ten}} $1 {{PLURAL:$3|doutro usuario|de $3 usuarios}} ($2).",
        "youhavenewmessagesmanyusers": "Ten $1 de moitos usuarios ($2).",
        "newmessageslinkplural": "{{PLURAL:$1|unha mensaxe nova|999=mensaxes novas}}",
        "newmessagesdifflinkplural": "{{PLURAL:$1|última modificación|999=últimas modificacións}}",
index 2118f89..0e8f9fc 100644 (file)
        "mypage": "Akon Panid",
        "mytalk": "Paghisayranay",
        "anontalk": "Paghisayranay sang sining IP address",
-       "navigation": "Nabigasyon",
+       "navigation": "Paglayag",
        "and": "&#32;kag",
        "qbfind": "Pangita",
        "qbbrowse": "Magbasa-basa",
        "faq": "Mga masami pamangkoton",
        "faqpage": "Project:MMP",
        "actions": "Mga hulag",
-       "namespaces": "Hulut-ngalan",
+       "namespaces": "Mga Luang-ngalan",
        "variants": "Mga Sahi",
        "navigation-heading": "Pililian pangnabigasyon",
        "errorpagetitle": "Sala/Eror",
        "go": "Lakat",
        "searcharticle": "Kadto",
        "history": "Pahina historya",
-       "history_short": "Saysay",
+       "history_short": "Maragtas",
        "updatedmarker": "ginbag-o halin sang akon pinaka-ulihe nga pagbisita",
        "printableversion": "Balalhagon nga bersiyon",
-       "permalink": "Permanente nga tabid",
+       "permalink": "Dayon nga tabid",
        "print": "I-imprinta",
        "view": "Lantawon",
        "view-foreign": "Lantawon sa $1",
-       "edit": "Ilisan",
+       "edit": "Liwaton",
        "create": "Himuon",
        "editthispage": "Islan ini nga pahina",
        "create-this-page": "Himuon ang ini nga panid",
        "categorypage": "Lantawon ang panid sang categorya",
        "viewtalkpage": "Lantawon ang gina-istroyahan",
        "otherlanguages": "Sa iban nga pamulong",
-       "redirectedfrom": "(Gindirek liwat halin $1)",
+       "redirectedfrom": "(Nagpadulong halin sa $1)",
        "redirectpagesub": "I-direktahon ang pahina",
-       "lastmodifiedat": "Ang ini nga pahina na-islan lang sang nagligad nga $1, sa $2.",
+       "lastmodifiedat": "Ang ini nga panid nailisan sang nagligad nga $1, takna $2.",
        "viewcount": "Ang ini nga panid ginsudlan sang {{PLURAL:$1|maka-isa|ika-$1 nga beses}}.",
        "protectedpage": "Ginapangapinan nga panid",
        "jumpto": "Lumpat sa:",
-       "jumptonavigation": "nabigasyon",
+       "jumptonavigation": "paglayag",
        "jumptosearch": "pangitaa",
        "view-pool-error": "Nagapangayo kami sang pasaylo kay ang mga server tuman ka loaded sa sini nga tion.\nTuman ka damo nga manuggamit ang luyag makakita sang sini nga panid.\nPalihog maghulat sang malip-ot nga tini-on bag-o magsulod sa sini nga pahina liwat.\n\n$1",
        "pool-timeout": "Pag-untat nagahulat para sa kandado",
        "copyright": "Ang unod nga abeylabol nga naga paidalum $1.",
        "copyrightpage": "{{ns:project}}:Kapirayts",
        "currentevents": "Mga Hitabo Subong",
-       "currentevents-url": "Project:Nagakatabo sa karon nga tinion",
+       "currentevents-url": "Project:Mga hitabo subong",
        "disclaimers": "Mga Pagpahangup",
        "disclaimerpage": "Project:Kabilugan nga pagpahangup",
-       "edithelp": "Bulig sa pag Ilis",
+       "edithelp": "Bulig sa pagliwat",
        "mainpage": "Puno nga Panid",
-       "mainpage-description": "Mayor nga Panid",
+       "mainpage-description": "Puno nga panid",
        "policy-url": "Project:Patakaran",
-       "portal": "Portal sang Banwa",
-       "portal-url": "Project:Lulutsan sang banwa",
+       "portal": "Ganghaan sang banwa",
+       "portal-url": "Project:Ganghaan sang banwa",
        "privacy": "Pagsulundan sa pangkinaugalingon",
        "privacypage": "Project:Pagsulundan sa pangkinaugalingon",
        "badaccess": "Permiso sala/eror",
        "newmessagesdifflinkplural": "pinaka-ulihi nga {{PLURAL:$1|pagbag-o|mga pagbag-o}}",
        "youhavenewmessagesmulti": "May mga bag-ong mensahe ka sa $1",
        "editsection": "ilisan",
-       "editold": "ilisan",
+       "editold": "liwaton",
        "viewsourceold": "lantawon ang ginhalinan",
-       "editlink": "islan",
-       "viewsourcelink": "tan-awon ang ginhalinan",
-       "editsectionhint": "Ilisan ining bahin: $1",
+       "editlink": "liwaton",
+       "viewsourcelink": "lantawon ang ginhalinan",
+       "editsectionhint": "Liwaton ining bahin: $1",
        "toc": "Kaundan",
        "showtoc": "ipakita",
        "hidetoc": "pagatagu-on",
        "red-link-title": "$1 (wala pa nahimo ining panid)",
        "sort-descending": "Himuson nga nagapanaog",
        "sort-ascending": "Himuson nga nagapasaka",
-       "nstab-main": "Pahina",
+       "nstab-main": "Panid",
        "nstab-user": "Panid sang Manog-gamit",
        "nstab-media": "Panid sang medya",
-       "nstab-special": "Espesyal nga pahina",
+       "nstab-special": "Pinasahi nga mga panid",
        "nstab-project": "Pahina sang proyekto",
-       "nstab-image": "File",
+       "nstab-image": "Tangkas",
        "nstab-mediawiki": "Mensahe",
        "nstab-template": "Templeyt",
        "nstab-help": "Panid sang pagbulig",
        "hr_tip": "Gapahigda nga linya (gamiton laka lang)",
        "summary": "Kabilogan:",
        "subject": "Ginatukoy/Pangulong-dinalang:",
-       "minoredit": "Ini menor nga pag-ilis",
+       "minoredit": "Diutay lang ini nga pagliwat",
        "watchthis": "Bantayan ining panid",
        "savearticle": "Tiponon ining panid",
        "preview": "Ipakita subong",
        "showpreview": "Ipakita nga daan",
-       "showdiff": "Ipakita ang inislan",
+       "showdiff": "Ipakita ang pagbaylo",
        "blankarticle": "<strong>Pahibalo:</strong> Ang panid nga imo ginahimo wala sing unod. Kon imo tum-ukon liwat ang \"{{int:savearticle}}\", ang panid pagahimuon nga wala sing unod.",
        "anoneditwarning": "<strong>Pahibalo:</strong> Wala ka nakasulod. Kitaon sa publiko ang imo nga IP address kon ikaw maghimo sang pagbaylo. Kon ikaw <strong>[$ magsulod]</strong> ukon <strong>[$ maghimo sing account]</strong>, ang imo mga ginhimo nga pagbaylo ipahanungod sa imo nga username, kaupod sang iban pa nga kapuslanan.",
        "anonpreviewwarning": "''Wala ka pa nakasulod. Igasulat ang imo IP adres sa historya sini nga inislan na pahina.''",
        "session_fail_preview_html": "'''Nagapangayo kami sang pasaylo! Indi namon ma-proseso ang imo pag-ilis tungod sang pagkadula sang datos sang sesyon.'''\n\n''Kay ang {{SITENAME}} may ara sang hilaw nga HTML nga ginapasugtan, ang pagtan-aw gintago bilang pagpanghanda batok sa mga pag-atake sang JavaScript.''\n\n'''Kon ini lehitimo nga paghimakas, palihog tilawi liwat.'''\nKon indi man sa gihapon mag-gana, tilawi  [[Special:UserLogout|mag-guha]] kag magsulod liwat dayon.",
        "token_suffix_mismatch": "'''Ang imo pag-ilis wala ginbaton tungod nga ang imo kleyente nag-guba sang mga letra sa token sang pag-ilis.'''\nAng pag-ilis wala ginbaton agod to nga malikawan ang kalainan sang mga teksto sa panid.\nIni nagakatabo kon kaisa kon nagagamit ka sang nakabase sa web nga serbisyo proxy nga madamo sing lusot.",
        "edit_form_incomplete": "'''Ang iban nga bahin sang formas sa pag-ilis wala nakalab-ot sa serber; palihog verificar kon ang imo pag-ilis santo man sa gihapon kag tilawi liwat.'''",
-       "editing": "Gina-islan $1",
+       "editing": "Ginaliwat ang $1",
        "creating": "Ginabuhat ang $1",
-       "editingsection": "Gina-Islan $1 (seksiyon)",
+       "editingsection": "Ginaliwat ang $1 (bahin)",
        "editingcomment": "Gina-islan ang $1 (bag-o nga bahin)",
        "editconflict": "May pagpamatok sa pag-ilis: $1",
        "explainconflict": "May yara sang iban nga nag-ilis sang sini nga panid umpisa nga imo ini gin-ilisan.\nAng lugar sang ibabaw nga teksto may yara sang teksto sang panid kon ano ini karon naga-eksister.\nAng imo mga pagbag-o ginapakita sa may lugar sang idalom nga teksto.\nMahimo nga kinahanglan mo pa nga tabidon ang imo mga pagbag-o sa mga naga-eksiter nga nga teksto.\nAng mga teksto '''lamang''' nga yara sa lugar sang ibabaw nga teksto ang matipon kon imo pagatum-ukon ang \"{{int:savearticle}}\".",
        "nohistory": "Wala sang kasaysayan sang pag-ilis sang sini nga panid.",
        "currentrev": "Mga Inislan Subong",
        "currentrev-asof": "Bag-o nga rebisyon sang $1",
-       "revisionasof": "Ang Pagliwat sang $1",
+       "revisionasof": "Ginliwat sang $1",
        "revision-info": "Ang pag-ilis ni $1 halin sang $2",
-       "previousrevision": "← Daan nga rebisyon",
+       "previousrevision": "← Daan nga pagliwat",
        "nextrevision": "Mas bag-o nga rebisyon →",
        "currentrevisionlink": "Mga Inislan Subong",
        "cur": "karon",
        "difference-title": "Kinalain sang mga pagbag-o sa \"$1\"",
        "difference-title-multipage": "Kinalain sang mga panid nga \"$1\" kag \"$2\"",
        "difference-multipage": "(Kinala-in sang mga panid)",
-       "lineno": "Linya $1:",
+       "lineno": "Iras nga ika-$1:",
        "compareselectedversions": "I-kompara ang pinilian nga mga rebisyon",
        "showhideselectedversions": "Ipakita/taguon ang mga ginpili nga pagbag-o",
-       "editundo": "bawi-on ang pag ilis",
+       "editundo": "bawion ang ginbuhat",
        "diff-multi-manyusers": "({{PLURAL:$1|Isa ka tunga-tunga nga pagbag-o|$1 ka tunga-tunga nga mga pagbag-o}} sang masobra $2 ka {{PLURAL:$2|manuggamit|mga manuggamit}} nga wala ginpakita)",
        "difference-missing-revision": "May {{PLURAL:$2|isa ka pagbag-o|$2 ka mga pagbag-o}} san sini nga kinalain ($1) ang wala makita.\n\nIni kalabanan ginabuhat sang nagasunod nga wala na mabag-o nga link sang isa ka panid nga gindula na.\nAng mga detalye mahimo nga makita sa [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].",
-       "searchresults": "Resulta sang Pagpangita",
-       "searchresults-title": "Resulta sang Pagpangita para \"$1\"",
+       "searchresults": "Bunga sang pagpangita",
+       "searchresults-title": "Bunga sang pagpangita sing \"$1\"",
        "titlematches": "Mga pareho nga titulo sang panid",
        "textmatches": "Mga pareho nga teksto sang panid",
        "notextmatches": "Wala sang pahina nga parehas teksto",
        "nextn": "dasun {{PLURAL:$1|$1}}",
        "prevn-title": "Nagligad nga $1 {{PLURAL:$1|resulta|mga resulta}}",
        "nextn-title": "Madason nga $1 {{PLURAL:$1|resulta|mga resulta}}",
-       "shown-title": "Magpakita sing $1 ka {{PLURAL:$1|resulta|mga resulta}} kada panid",
+       "shown-title": "Magpakita sing $1 ka {{PLURAL:$1|resulta|mga resulta}} sa tagsa ka panid",
        "viewprevnext": "Tan-awon ($1 {{int:pipe-separator}} $2) ($3)",
        "searchmenu-exists": "'''May yara sang panid nga ginhingalanan nga \"[[:$1]]\" sa sini nga wiki.'''",
        "searchmenu-new": "<strong>Himua ang panid nga \"[[:$1]]\" sa ini nga wiki!</strong> {{PLURAL:$2|0=|Linglinga man ang panid nga nakit-an sa imo nga pagpanglaghap.|Linglinga man ang mga bunga-panglaghap nga nakit-an.}}",
-       "searchprofile-articles": "Mga panid sang unod",
+       "searchprofile-articles": "Mga panid sang kaundan",
        "searchprofile-images": "Multimedia",
        "searchprofile-everything": "Tanan-tanan",
-       "searchprofile-advanced": "Mas mauna",
+       "searchprofile-advanced": "Masanyog",
        "searchprofile-articles-tooltip": "Pangitaa sa $1",
-       "searchprofile-images-tooltip": "Mangita sang mga hilera",
-       "searchprofile-everything-tooltip": "Pangitaon ang tanan nga kaundan (dala na ang mga panid sang pag-estorya)",
-       "searchprofile-advanced-tooltip": "Pangitaon sa pahungod nga espasyo sang pangalan",
-       "search-result-size": "$1 ({{PLURAL:$2|1 pulong|$2 pulong}})",
+       "searchprofile-images-tooltip": "Magpangita sang mga tangkas",
+       "searchprofile-everything-tooltip": "Pangitaon ang tanan nga kaundan (dala na ang mga panid sang paghisayranay)",
+       "searchprofile-advanced-tooltip": "Pangitaon sa napili nga luang-ngalan",
+       "search-result-size": "$1 ({{PLURAL:$2|1 ka pulong|$2 ka pulong}})",
        "search-result-category-size": "{{PLURAL:$1|1 ka miyembro|$1 ka mga miyembro}} ({{PLURAL:$2|1 ka subcategoriya|$2 ka mga subcategoriya}}, {{PLURAL:$3|1 ka hilera|$3 ka mga hilera}})",
        "search-redirect": "(gindirekta liwat $1)",
        "search-section": "(seksiyon $1)",
        "recentchanges-legend": "Mga pililian sa bag-o lang na himo",
        "recentchanges-summary": "La-uton ang pina gid ka bag-o nga nahimo sa may wiki sa ini nga feed",
        "recentchanges-feed-description": "La-uton ang pina gid ka bag-o nga nahimo sa may wiki sa ini nga feed.",
-       "recentchanges-label-newpage": "Ang sini nga pagbag-o nakahimo sang bag-o nga panid",
-       "recentchanges-label-minor": "Diotay ilis ini",
-       "recentchanges-label-bot": "Ang sini nga pagbag-o ginubra sang isa ka bot",
-       "recentchanges-label-unpatrolled": "Ang sini nga pagbag-o indi pa ginbantayan",
+       "recentchanges-label-newpage": "Ang ini nga pagliwat naghimo sang bag-o nga panid",
+       "recentchanges-label-minor": "Diutay lang ini nga pagliwat",
+       "recentchanges-label-bot": "Ang ini nga pagliwat ginbuhat sang isa ka bot",
+       "recentchanges-label-unpatrolled": "Ang ini nga pagliwat wala pa ginabantayan",
        "rcnotefrom": "Yara sa idalum ang mga guinbag-o halin '''$2''' (tubtub '''$1''' ang ginpagwa).",
        "rclistfrom": "Ipakita ang bag-o lang nahimo halin sa $3 $2",
-       "rcshowhideminor": "$1 menor nga mga inislan",
+       "rcshowhideminor": "$1 ang mga diutay nga pagliwat",
        "rcshowhideminor-hide": "Itaguon",
        "rcshowhidebots": "$1 bots",
        "rcshowhidebots-show": "Ipakita",
        "rcshowhidemine": "$1 akon mga inislan",
        "rcshowhidemine-hide": "Itaguon",
        "rclinks": "Ipakita ang nagligad $1 nga nabag-o lang sang $2 adlaw<br />$3",
-       "diff": "diff",
-       "hist": "hist",
+       "diff": "knln",
+       "hist": "ngkltb",
        "hide": "Tago",
        "show": "Pakita",
        "minoreditletter": "m",
        "rc-old-title": "orihinal nga ginhimo bilang \"$1\"",
        "recentchangeslinked": "May labot nga pag-ilis",
        "recentchangeslinked-feed": "May labot nga pag-ilis",
-       "recentchangeslinked-toolbox": "May labot nga pag-ilis",
+       "recentchangeslinked-toolbox": "Sumuod nga pagbaylo",
        "recentchangeslinked-title": "Mga ginlain nga kapareho kay \"$1\"",
        "recentchangeslinked-summary": "Ini ang mga lista sang mga bag-o lang gid nga nahimo nga mga pahina nga gintabid halin sa gin klaro nga pahina (o mga katapo sa mga kategorya nga gin klaro).\nMga Pahina sa [[Special:Watchlist|imo lista-lantaw]] ay '''dukot'''.",
        "recentchangeslinked-page": "Ngalan ka Pahina:",
        "recentchangeslinked-to": "Ipakita ang mga naglain na pahina nga gin tabid sa nahatagan nga pahina",
-       "upload": "Uplod file",
+       "upload": "Ilulan ang tangkas",
        "uploadbtn": "Karga file",
        "reuploaddesc": "Kanselahon ang pag-karga kag magbalik sa porma sang pag-karga.",
        "upload-tryagain": "Ipasa ang ginlarawan nga ginbag-o nga file",
        "upload-file-error-text": "May nahitabo nga kasayupan sa sulod sing nagtinguha nga maghimo sang temporaryo nga file sa server.",
        "license": "Pagpanglisensya",
        "license-header": "Pagpanglisensya",
-       "file-anchor-link": "File",
-       "filehist": "Historya file",
-       "filehist-help": "I-klik sa may petsa/oras para makita ang file sa ina nga oras.",
+       "file-anchor-link": "Tangkas",
+       "filehist": "Maragtas sang tangkas",
+       "filehist-help": "Tum-uka ang petsa/takna agud makita ang tangkas sang sadto nga tinion.",
        "filehist-revert": "Ibalik",
        "filehist-current": "subong",
-       "filehist-datetime": "Petsa/Oras",
+       "filehist-datetime": "Petsa/Takna",
        "filehist-thumb": "Thumbnail",
-       "filehist-thumbtext": "Thumbnail para sa bersiyon sang $1",
+       "filehist-thumbtext": "Thumbnail sang bersiyon sadtong $1",
        "filehist-user": "Taggamit",
        "filehist-dimensions": "Tinaksan",
-       "filehist-comment": "Komentar",
-       "imagelinks": "Pagusar sang file",
+       "filehist-comment": "Magpanghinun-anon",
+       "imagelinks": "Paggamit sing tangkas",
        "linkstoimage": "Ang nagakasunod {{PLURAL:$1|pahina nga mga tabid|$1 mga pahina mga tabid}} sa sini nga file:",
        "nolinkstoimage": "Waay sing panid nga nakasugpon sa sini nga file.",
        "sharedupload": "Ini nga file gikan sa $1 kag pwede ma usar sang iban nga mga proyekto.",
-       "sharedupload-desc-here": "Ang sini nga file amo halin sa $1 kag pwede ini mausar sa lain nga mga proyekto. Ang ginalarawan sang iya nga [$2 panid sang paglarawan sang file] amo ang ginpagwa sa idalum.",
+       "sharedupload-desc-here": "Ang ini nga tangkas naghalin sa $1 kag basi ginagamit man sang iban nga mga proyekto. Ang paglarawan sa iya nga [$2 panid sang paglarawan sang tangkas] amo ang ginapakita sa idalum.",
        "uploadnewversion-linktext": "Uplod sang bag-o nga bersiyon sang sini nga file",
        "filedelete-submit": "Panason",
        "randompage": "Bisan ano nga panid",
        "allpagesfrom": "Ipakita ang mga pahina sugod sa:",
        "allpagesto": "Ipakita ang mga pahina nga nagakatapos sa:",
        "allarticles": "Tanan nga mga pahina",
-       "allpagessubmit": "Sige",
+       "allpagessubmit": "Kadto",
        "categories": "Mga kategorya",
        "linksearch": "Eksternal na mga tabid",
        "linksearch-ok": "Pangita-a",
        "undeletelink": "tan-aw/ginbalik",
        "undeleteviewlink": "Tan-awa",
        "undelete-search-submit": "Pangita-a",
-       "namespace": "Ngalan-espasyo:",
-       "invert": "Suli-on ang seleksiyon",
+       "namespace": "Luang-ngalan:",
+       "invert": "Sulion ang ginpili",
        "blanknamespace": "(Puno)",
        "contributions": "Mga kontribusyon sang {{GENDER:$1|naga-usar}}",
        "contributions-title": "Mga Kontribusyon sang Naga-Usar para $1",
        "blocklist-reason": "Rason:",
        "ipblocklist-submit": "Pangita-a",
        "emailblock": "Gintapna ang e-mail",
-       "blocklink": "harang",
+       "blocklink": "lambaton",
        "unblocklink": "di pagpugong",
        "change-blocklink": "pagbag-o sang pugong",
        "contribslink": "amot",
        "allmessages": "Mga mensahe sang sistema",
        "allmessagesname": "Ngalan",
        "allmessagesdefault": "Ang gindestino nga teksto",
-       "thumbnail-more": "Padaku-on",
+       "thumbnail-more": "Padakuon",
        "thumbnail_error": "May ara sala sa paghimo sang thumbnail: $1",
        "import-options-wrong": "Sala {{PLURAL:$2|pili|mga pagpilian}}: <nowiki>$1</nowiki>",
        "import-rootpage-invalid": "Ang ginhatag nga gingikanan nga panid indi mabaton ang iya nga titulo.",
        "tooltip-pt-preferences": "Akon pagpalabi",
        "tooltip-pt-watchlist": "Ang lista sang mga pahina nga imo ginabantayan para bag-ohon",
        "tooltip-pt-mycontris": "Lista sang imo kontribusyon",
-       "tooltip-pt-login": "Ginaabi-abi ikaw nga magsulod; apang, indi ini kinahanglanon",
+       "tooltip-pt-login": "Ginaagda ikaw nga magsulod; apang, indi ini kinahanglanon gid",
        "tooltip-pt-logout": "Mag guha",
        "tooltip-pt-createaccount": "Ginaagda ka nga maghimo sing akawnt kag magsulod; ugaling, indi ini kinahanglanon gid",
        "tooltip-ca-talk": "Paghisayranay nahanungod sini nga panid",
-       "tooltip-ca-edit": "Puede nimo islan ang unod sang sini nga panid. Palihog gamit sang preview button antes permanentehon ang gin ilisan.",
+       "tooltip-ca-edit": "Sarang mo maliwat ining panid. Palihog gamita ang pityong-tika bag-o pitakon",
        "tooltip-ca-addsection": "Magsugod sang bag-o nga seksiyon",
        "tooltip-ca-viewsource": "Naprotektahan ang ini nga pahina.\nPwede mo matan-aw ang iya ginhalinan",
-       "tooltip-ca-history": "Nagligad nga rebisyon sa sini nga pahina",
+       "tooltip-ca-history": "Nagligad nga pag-ilis sining panid",
        "tooltip-ca-protect": "Protektahan ini nga pahina",
        "tooltip-ca-unprotect": "Ilisan ang pagpangapin sa sini nga panid",
        "tooltip-ca-delete": "Panason ini nga pahina",
        "tooltip-ca-undelete": "Ibalik ang mga paglain nga ginhimo sa panid nga ini antes nga ini ginpanas.",
        "tooltip-ca-move": "Saylohon ining panid",
-       "tooltip-ca-watch": "I-dugang ini nga pahina sa imo listahan sang palangitaon",
+       "tooltip-ca-watch": "Idugang ining panid sa imo nga balantayan",
        "tooltip-ca-unwatch": "Kuhaon ini nga pahina sa imo lista sang ginabantayan",
        "tooltip-search": "Pangitaa sa {{SITENAME}}",
        "tooltip-search-go": "Kadto sa panid nga nagahingadlan sini kon nabuhat na",
-       "tooltip-search-fulltext": "Pangitaon ang mga panid nga nagaunod sini",
+       "tooltip-search-fulltext": "Pangitaon ang mga panid nga nagaunod sining sulat",
        "tooltip-p-logo": "Duawa ang puno nga panid",
-       "tooltip-n-mainpage": "Magdu-aw sa Mayor nga Panid",
-       "tooltip-n-mainpage-description": "Bisitahon ang Mayor nga Panid",
-       "tooltip-n-portal": "Nahanungod sa proyekto, kon ano ang imo mahimo, diin makapangita",
-       "tooltip-n-currentevents": "Pangita-on sa likod sang impormasyon sa bag-o lang nga nagkalatabo",
+       "tooltip-n-mainpage": "Duawa ang puno nga panid",
+       "tooltip-n-mainpage-description": "Duawa ang puno nga panid",
+       "tooltip-n-portal": "Nahanungod sa proyekto, kon ano ang imo mahimo, kon diin makapangita",
+       "tooltip-n-currentevents": "Magpangita sing hinun-anon angot sa mga hitabo subong",
        "tooltip-n-recentchanges": "Listahan sang mga pinakaulihi nga pag-ilis sa wiki",
-       "tooltip-n-randompage": "Mag-load sing bisan ano nga panid",
-       "tooltip-n-help": "Ang lugar agud makatukib",
-       "tooltip-t-whatlinkshere": "Listahan sang tanan nga panid sang wiki nga naga tabid diri",
-       "tooltip-t-recentchangeslinked": "Bag-o lang gid nahimo nga mga pahina nga gin tabid halin sa sini nga pahina",
+       "tooltip-n-randompage": "Magkarga sing bisan ano nga panid",
+       "tooltip-n-help": "Ang lugar agud makahibalo",
+       "tooltip-t-whatlinkshere": "Listahan sang tanan nga panid sang wiki nga nagatabid diri",
+       "tooltip-t-recentchangeslinked": "Mga pinakaulihi nga pagbaylo sa mga panid nga natabid sa ining panid",
        "tooltip-feed-rss": "RSS feed para sa ini nga pahina",
        "tooltip-feed-atom": "Atom feed para sa ini nga pahina",
        "tooltip-t-contributions": "Lantawon ang listahan sang mga nakontribyut sa sini nga naga-usar",
        "tooltip-t-emailuser": "Ipadala ang e-mail sa sini nga naga-usar",
-       "tooltip-t-upload": "Mag karga mga files",
+       "tooltip-t-upload": "Ilulan ang mga tangkas",
        "tooltip-t-specialpages": "Lista sang tanan nga pinasahi nga panid",
        "tooltip-t-print": "Balalhagon nga sahi sini nga panid",
-       "tooltip-t-permalink": "Permanente nga tabid sa sini nga rebisyon sang pahina",
-       "tooltip-ca-nstab-main": "Tan-awon ang unod sang pahina",
+       "tooltip-t-permalink": "Dayon nga tabid sa sining pagbaylo sang panid",
+       "tooltip-ca-nstab-main": "Lantawon ang panid sang kaundan",
        "tooltip-ca-nstab-user": "Tan-awon ang pahina sang naga-usar",
        "tooltip-ca-nstab-media": "Tan-awon ang panid sang midya.",
-       "tooltip-ca-nstab-special": "Espesyal ini nga pahina, indi mo ini ma islan sang iya kaugalingon nga pahina",
+       "tooltip-ca-nstab-special": "Pinasahi ining panid, indi mo sarang maliwat ang panid",
        "tooltip-ca-nstab-project": "Tan-awon ang pahina ka proyekto",
-       "tooltip-ca-nstab-image": "Tan-awon ang pahina sang file",
+       "tooltip-ca-nstab-image": "Lantawon ang panid sang tangkas",
        "tooltip-ca-nstab-mediawiki": "Tan-awon ang mensahe sang sistema",
        "tooltip-ca-nstab-template": "Tan-awon ang templeyt",
        "tooltip-ca-nstab-help": "Tan-awon ang panid sang bulig",
        "tooltip-watchlistedit-raw-submit": "Iupdate ang listahan sang mga ginatan-aw.",
        "tooltip-recreate": "Liwat nga himuon ang panid bisan ini napanas na",
        "tooltip-upload": "Sugdan ang pagkarga",
-       "tooltip-rollback": "\"Panumbalik\" ginabalik ang (mga) na-islan sa sini nga pahina sa pinaka ulihi nga kontributor sa isa lang ka klik",
-       "tooltip-undo": "\"Indi pag-obrahon\" ginabalik ang gin-islan kag gabukas sa isaln form sa may prebyu mode.\nGapasugot sa pagdugang sang rason sa kabilugan.",
+       "tooltip-rollback": "Ang \"Panumbalik\" nagabawi sing (mga) pagliwat sa sini nga panid sang pinakaulihi nga tag-amot sa isa lang ka tum-ok",
+       "tooltip-undo": "Ang \"Bawion\" nagabawi sang ginliwat kag ginabuksan ang liliwatan nga nagatulutika. Sarang makadugang sing kabangdanan sa bilidlan.",
        "tooltip-preferences-save": "kon pagpalabi",
        "tooltip-summary": "Maghatag sing diutay nga eksplikasyon",
        "anonymous": "Indi kilala {{PLURAL:$1|tagagamit|mga tagagamit}} sang {{SITENAME}}",
        "siteuser": "Tiggamit {{SITENAME}} sang $1",
-       "pageinfo-toolboxlink": "Tuhoy s sini nga panid",
-       "previousdiff": "← Mas daan nga na-islan",
-       "nextdiff": "Mas bag-o nga gin-islan →",
+       "pageinfo-toolboxlink": "Pagpahantup sang panid",
+       "previousdiff": "← Labing daan nga pagliwat",
+       "nextdiff": "Labing bag-o nga pagliwat →",
        "file-info-size": "$1 × $2 piksel, kadakuon sang file: $3, MIME type: $4",
        "file-nohires": "Wala sang yara na taas nga resolusyon.",
        "svg-long-desc": "SVG file, nominalya $1 × $2 piksels, kadakuon sang file: $3",
        "metadata-help": "Ang ini nga file may ara dugang nga impormasyon, posible nga gindugang halin sa kamera nga digital ukon skaner para mahimo siya ukon na digitayz siya.\nKung ang ini nga file ginliwat halin sa orihinal nga porma, basi indi gina pakita ang naliwat nga file sang iban nga mga detalye.",
        "metadata-expand": "Ipakita ang mga dugang nga detalye",
        "metadata-collapse": "Tagu-on ang mga dugang nga detalye",
-       "metadata-fields": "Ang mga imahen sang EXIF metadata fields nga nalista sa ini nga mensahe ay pagadal-on sa mga laragway nga gina pakita sa pahina kun ang metadata table ay narumpag.\nAng iban ay pagataguon sang default.\n* himo\n* modelo\n* datetimeoriginal\n* tyempo sang exposure\n* fnumber\n* isospeedratings\n* focallength\n* artista\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
+       "metadata-fields": "Ang mga metadata field sang mga dagway nga nalista sa ining mensahe igalakip sa dagay-panid sang dagway kon ang latok sang metadata maghabuyo.\nAng iban pagataguon dayon.\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-software": "Gingamit nga software",
        "exif-exifversion": "Bersyon sang Exif",
        "exif-lightsource": "Ginghalinan sang sanag",
index 18b18dd..6b17fd0 100644 (file)
        "markedaspatrolledtext": "არჩეული ვერსია [[:$1]] მონიშნულია როგორც პატრულირებული",
        "rcpatroldisabled": "ბოლო ცვლილებების პატრულირება აკრძალულია",
        "rcpatroldisabledtext": "ბოლო ცვლილებების პატრულირების შესაძლებლობა ამ მომენტისთვის გათიშულია",
-       "markedaspatrollederror": "შეუძლებელია ამ სტატიის მოhttp://translatewiki.net/w/i.php?title=MediaWiki:Markedaspatrollederror/ka&action=edit&loadgroup=core&loadtask=untranslatedნიშნვნა პატრულირებულად.",
+       "markedaspatrollederror": "შეუძლებელია ამ სტატიის მონიშნვნა პატრულირებულად.",
        "markedaspatrollederrortext": "თქვენ უნდა მონიშნოთ ვერსია, რომელიც პატრულირებულად ჩაითვლება.",
        "markedaspatrollederror-noautopatrol": "თქვენ ვერ მონიშნავთ თქვენივე შესწორებებს პატრულირებულად.",
        "markedaspatrollednotify": "ეს ცვლილება გვერდზე „$1“ პატრულირებულად მოინიშნა.",
diff --git a/languages/i18n/luz.json b/languages/i18n/luz.json
new file mode 100644 (file)
index 0000000..678465e
--- /dev/null
@@ -0,0 +1,662 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Bonevarluri",
+                       "علی ساکی لرستانی"
+               ]
+       },
+       "tog-underline": "لینکیا خط وه دومن",
+       "tog-hideminor": "قائم کردن ویرایشه یل کیچک مئن تغییره یل نو",
+       "tog-hidepatrolled": "قائم کردن ویرایشه یل کیچک مئن تغییره یل نو",
+       "tog-newpageshidepatrolled": "قائم کردن بلگه یل گشت مئنه لیست بلگه یل نو",
+       "tog-extendwatchlist": "گپ کردن بلگه یل  پیگیری یل سی نشو دائن تموم تغییره یل ، نه فقط هونو که جدید وابون",
+       "tog-usenewrc": "تغییره یل جمی توسط بلگه مئنه تغییره یل نو و نوم بلگه پیگیری",
+       "tog-numberheadings": "شماره وندن خودکار سی سرخط یل",
+       "tog-showtoolbar": "نشو دائن تولبار ویرایش",
+       "tog-editondblclick": "ویرایس بلگه یل با دو کلیژ",
+       "tog-editsectiononrightclick": "فعال کردن ویرایس قسمتل با یه کلیژ ری نوم او قسمت",
+       "tog-watchcreations": "وندن بلگه یلی ک مو ساختمه و فایلل ک مو بار کردمه مئنه نوم بلگه پیگیری",
+       "tog-watchdefault": "وندن بلگه یل و فایلل ک مو هونونه ساختمه مئنه نوم بلگه پیگیری",
+       "tog-watchmoves": "وندن بلگه یل و فایلل ک مو هونونه انتقال دامه مئنه نوم بلگه پیگیری",
+       "tog-watchdeletion": "وندن بلگه یل و فایلل ک مو هونونه حذف کردمه مئنه نوم بلگه پیگیری",
+       "tog-minordefault": "علامت دائن وه تغییره یل تموم نبیه",
+       "tog-previewontop": "نشو دائن پیش نمایش قبل یوکه جعبه یا کادر اصلاح وابوه",
+       "tog-previewonfirst": "نشو دائن پیش نمایش مئن اصلاح اول",
+       "tog-enotifwatchlistpages": "ایمیل و مو به یوکه یه بلگه یا فایل مئن نوم بلگه پیگیری مه تغییر کرد",
+       "tog-enotifusertalkpages": "ایمیل و مو به یوکه بلگه بحث مو تغییر کرد",
+       "tog-enotifminoredits": "ایمیل و مو به حتی سی اطلاحات تموم نبیه فایلل و بلگه یل",
+       "tog-enotifrevealaddr": "نشو دائن ایمیل مو مئن ایمیلل دونسمنی _ خه وری",
+       "tog-shownumberswatching": "نشو دائن شماره کاروران در حال تماشا",
+       "tog-oldsig": "هی دیسه امضا",
+       "tog-fancysig": " وا امضا چی ویکی متن برخورد کو ( بدون لینک اتوماتیک )",
+       "tog-uselivepreview": "زه پیش نمویش زه نَ استفاده کُ",
+       "tog-forceeditsummary": "و مو یادآوری سریع کُ هنگام اصلاح خالی و کوتاه",
+       "tog-watchlisthideown": "قائم کردن اصلاحات مو زه نوم بلگه پیگیری یل",
+       "tog-watchlisthidebots": "قائم کردن اصلاحات بوت زه نوم بلگه پیگیری یل",
+       "tog-watchlisthideminor": "قائم کردن اصلاحات کیچیک زه نوم بلگه پیگیری یل",
+       "tog-watchlisthideliu": "قائم کردن اصلاحاتی ک توسط کاوری یل داخل سیستم وابیده انجام وابیه زه نوم بلگه پیگیری یل",
+       "tog-watchlisthideanons": "قائم کردن اصلاحات انجام وابیه توسط کاروری یل داخل سیستم نوابیه زه نوم بلگه پیگیری",
+       "tog-watchlisthidepatrolled": "قائم کردن اصلاحات گشت زه نوم بلگه پیگیری",
+       "tog-ccmeonemails": "ارسال کوپی ایمیللی ک مو سی کاروری یل دیه ارسال کردم سی مو",
+       "tog-diffonly": "نشو نده بلگه ای که چیا متفاوت و زبر داره",
+       "tog-showhiddencats": "نشو دائن دسه بنی یل قائم وابیده",
+       "tog-norollbackdiff": "حذف تفاوت بدیکه عقبگرد انجام وابی",
+       "tog-useeditwarning": "منه هشدار بی وقتی که مو بلگه ای ک درحال ویرایش وابینه بدون ذخیره تغییرل ترک کردم",
+       "tog-prefershttps": "همیشه زه یه اتصال امن وقتی وارد وابی منه سیستم استفاده کو",
+       "underline-always": "همیشه",
+       "underline-never": "هیچ وقت",
+       "underline-default": "پوسته و یا مرورگر وطور پیش فرض",
+       "editfont-style": "ویرایس فونت استایل ولات",
+       "editfont-default": "مرورگر وطور پیش فرض",
+       "editfont-monospace": "فونت هم عرض",
+       "editfont-sansserif": "فونت بدون سریف",
+       "editfont-serif": "فونت سریف",
+       "sunday": "یه شمه",
+       "monday": "دوشمه",
+       "tuesday": "سه‌شمه",
+       "wednesday": "چار شمه",
+       "thursday": "پشمه",
+       "friday": "جومَ",
+       "saturday": "شَمه",
+       "sun": "یه شمه",
+       "mon": "دوشمه",
+       "tue": "سه‌شمه",
+       "wed": "چارشمه",
+       "thu": "پشمه",
+       "fri": "جومَ",
+       "sat": "شمه",
+       "january": "اول قهاره",
+       "february": "لرشگون",
+       "march": "ئنهزنون",
+       "april": "نوروزماه",
+       "may_long": "گلبارماه",
+       "june": "جورش",
+       "july": "میوه رسون",
+       "august": "مه گرمه",
+       "september": "شنیارون",
+       "october": "مالبارکنون",
+       "november": "آو سردکنون",
+       "december": "آو رجکنون",
+       "january-gen": "اول قهاره",
+       "february-gen": "لرشگون",
+       "march-gen": "ئنهزنون",
+       "april-gen": "نوروزماه",
+       "may-gen": "گلبارماه",
+       "june-gen": "جورش",
+       "july-gen": "میوه رسون",
+       "august-gen": "مه گرمه",
+       "september-gen": "شنیارون",
+       "october-gen": "مالبارکنون",
+       "november-gen": "آو سردکنون",
+       "december-gen": "آو رجکنون",
+       "jan": "ژانویه",
+       "feb": "فوریه",
+       "mar": "مارس",
+       "apr": "آوریل",
+       "may": "گلبار ماه",
+       "jun": "جورش",
+       "jul": "میوه رسون",
+       "aug": "اوت",
+       "sep": "سپتامبر",
+       "oct": "اکتبر",
+       "nov": "نوامبر",
+       "dec": "دسامبر",
+       "january-date": "ژانویه $1",
+       "february-date": "فوریه $1",
+       "march-date": "مارس $1",
+       "april-date": "آوریل $1",
+       "may-date": "می $1",
+       "june-date": "جون $1",
+       "july-date": "جولای $1",
+       "august-date": "اوت $1",
+       "september-date": "سپتامبر $1",
+       "october-date": "اکتبر $1",
+       "november-date": "نوامبر $1",
+       "december-date": "دسامبر $1",
+       "pagecategories": "{{PLURAL:$1|دسه|دسه یل}}",
+       "category_header": "بلگه یل مئن دسه \"$1\"",
+       "subcategories": "دسه یل فرعی",
+       "category-media-header": "مدیا مئن دسه \"$1\"",
+       "category-empty": "ای دسه الآن هیچ بلگه یا مدیا ناره",
+       "hidden-categories": "{{PLURAL:$1|دسه قائم|دسه یل قائم}}",
+       "hidden-category-category": "دسه بنی یل قائم",
+       "category-subcat-count": "{{PLURAL:$2|ای دسه فقط دسه یل فرعی دومنه داره.|ای دسه چیه یل دومنه داره {{PLURAL:$1|دسه فرعی|$1 دسه یل فرعی}}, بیشتر زه $2 کل.}}",
+       "category-subcat-count-limited": "ای دسه چیه یل دومنه داره {{PLURAL:$1|دسه فرعی|$1 دسه یل فرعی}}.",
+       "category-article-count": "{{PLURAL:$2|ای دسه فقط  بلگه یل دومنه داره .|دومن الذکر{{PLURAL:$1|بلگه هس|$1 بلگه هسن}} مئن ای دسه, بیشتر زه$2 کل.}}",
+       "category-article-count-limited": "دومن الذکر {{PLURAL:$1|بلگه هس|$1 بلگه هسن}} د او دسه جریانی.",
+       "category-file-count": "{{PLURAL:$2|ای دسه فقط فایلل دومنه داره.|دومن الذکر{{PLURAL:$1|فایل هس|$1 فایلل هسن}} دای دسه, بیشترزه$2 کل.}}",
+       "category-file-count-limited": "دومن الذکر {{PLURAL:$1|فایل هس|$1 فایلل هسن}} د او دسه جریانی.",
+       "listingcontinuesabbrev": "دنباله",
+       "index-category": "بلگه یل ایندکس وابیده",
+       "noindex-category": "بلگه یل ایندکس نوابیده",
+       "broken-file-category": "بلگه یل وا فایلل لینک اشکسه",
+       "about": "درباره",
+       "article": "بلگه محتوا",
+       "newwindow": "(د یه پنجره دیه وا کو )",
+       "cancel": "لغو",
+       "moredotdotdot": "بیشتر...",
+       "morenotlisted": "ای نوم بلگه کامل نی",
+       "mypage": "بلگه",
+       "mytalk": "گپ",
+       "anontalk": "سی ای آدرس آی پی گپ بزه",
+       "navigation": "هدایت کردن",
+       "qbfind": "سیل کردن",
+       "qbbrowse": "نوم بلگه",
+       "qbedit": "اصلاح",
+       "qbpageoptions": "ای بلگه",
+       "qbmyoptions": "بلگه مو",
+       "faq": "اف آی کیو \" سوالل متداول \"",
+       "faqpage": "Project:اف آی کیو \" سوالل متداول \"",
+       "actions": "عملیه یل",
+       "namespaces": "همدرنگل",
+       "variants": "انواع",
+       "navigation-heading": "منو ناو وری",
+       "errorpagetitle": "خطا",
+       "returnto": "بازگشت وه $1.",
+       "tagline": "از {{نوم جا}}",
+       "help": "هومیاری",
+       "search": "جستن",
+       "searchbutton": "جستن",
+       "go": "رو",
+       "searcharticle": "رو",
+       "history": "ویرگارل بلگه",
+       "history_short": "تاریخچه یل",
+       "updatedmarker": "بروز وابی تا موقع آخرین سیل کردن مو",
+       "printableversion": "ورژن سی چاپ بیئنی",
+       "permalink": "لینکل تا ابد",
+       "print": "چاپ",
+       "view": "نما",
+       "view-foreign": "نما مئن  $1",
+       "edit": "ویرایش",
+       "edit-local": "اصلاح توضیحتل محلی",
+       "create": "درست کردن",
+       "create-local": "وندن توضیحتل محلی",
+       "editthispage": "اصلاح ای بلگه",
+       "create-this-page": "درست کو ای بلگه نه",
+       "delete": "حذف",
+       "deletethispage": "حذف کو ای بلگه نه",
+       "undeletethispage": "حذف نکو ای بلگه نه",
+       "undelete_short": "ورگردونی {{PLURAL:$1|یه اصلاح|$1 اصلاحل}}",
+       "viewdeleted_short": "نما {{PLURAL:$1|یه اصلاح حذف وابیه|$1 اصلاحل حذف وابیه}}",
+       "protect": "حفاظت کردن",
+       "protect_change": "تغییر بی",
+       "protectthispage": "ای بلگنه حفاظت کو",
+       "unprotect": "تغییر دائن حالت حفاظت",
+       "unprotectthispage": "تغییر دائن حالت حفاظت ای بلگه",
+       "newpage": "بلگه نو",
+       "talkpage": "گپ زئن ای بلگه",
+       "talkpagelinktext": "گپ",
+       "specialpage": "بلگه مخصوص",
+       "personaltools": "اوزارگل سی خوت",
+       "articlepage": "سل کردن محتوا ای بلگه",
+       "talk": "قسه",
+       "views": "سلابل",
+       "toolbox": "اوزارگه",
+       "userpage": "دیئن بلگه کارور",
+       "projectpage": "دیئن بلگه پروجه",
+       "imagepage": "دیئن بلگه فایل",
+       "mediawikipage": "دیئن بلگه پیوم",
+       "templatepage": "دیئن بلگه قالب",
+       "viewhelppage": "دیئن بلگه هومیاری",
+       "categorypage": "دیئن بلگه دسه بنی",
+       "viewtalkpage": "دیئن گپل",
+       "otherlanguages": "مئن زوونه یل دیه",
+       "redirectedfrom": "(تصحیح مجدد زه $1)",
+       "redirectpagesub": "بلگه تصحیح و هدایت زه مجدد",
+       "redirectto": "تغییر دائن مسیر وه:",
+       "lastmodifiedat": "ای بلگه اخیرا تغییر واصلاح وابیه مئنه $1, مئنه $2.",
+       "viewcount": "ای بلگه قابل دسترسی وابیه {{PLURAL:$1|یه بار|$1 مدتل}}.",
+       "protectedpage": "بلگه حفاظت وابیه",
+       "jumpto": "پریدن وه:",
+       "jumptonavigation": "هدایت کردن",
+       "jumptosearch": "جستن",
+       "view-pool-error": "وبشید ، سرور بیش زه حد بارگیری وابیه .\nکارورل زیادی ایخن ای بلگنه سل کنن.\nلطفا یه لحظه واسیت قبلیکه به خیت ای بلگنه مجددا سل کیت.\n$1",
+       "generic-pool-error": "وبشید ، سرور بیش زه حد بارگیری وابیه .\nکارورل زیادی ایخن ای منوبنه سل کنن.\nلطفا یه لحظه واسیت قبلیکه به خیت ای منوبنه مجددا سل کیت.",
+       "pool-timeout": "پایان زمون اتنظار سی قفل",
+       "pool-queuefull": "صف استخر پر هسی",
+       "pool-errorunknown": "خطا ناشناخته",
+       "pool-servererror": "شمارنده سرویس استخر ور تیه نی ($1).",
+       "aboutsite": "پروجه : درباره",
+       "aboutpage": "Project:درباره",
+       "copyright": "مطلب دومن $ 1 هس نکه خلاف هونو ذکر وابی.",
+       "copyrightpage": "{{ns:project}}:کپی رایت",
+       "currentevents": "اتفاقل جاری",
+       "currentevents-url": "Project:اتفاقات جاری",
+       "disclaimers": "انکار کننده یل",
+       "disclaimerpage": "Project:انکار کاروران",
+       "edithelp": "هومیاری سی اصلاح",
+       "mainpage": "پیج اصلی",
+       "mainpage-description": "پیج اصلی",
+       "policy-url": "Project:خط مشی",
+       "portal": "درگاه کاروران",
+       "portal-url": "Project:درگاه کاروران",
+       "privacy": "خط مشی رازداری",
+       "privacypage": "Project:خط مشی رازداری",
+       "badaccess": "خطا دسترسی",
+       "badaccess-group0": "ایسا اجازه انجام کاری که ایخستیده ندارین",
+       "badaccess-groups": "او کاری که ایسا درخواست کردین فقط سی کارورانیه که مئنه ای  گروهن  {{PLURAL:$2|آن گروه|یکی زه گروه یل}}: $1.",
+       "versionrequired": "یه نسخه زه نیازمندی یل ویکی مدیا\n$1",
+       "versionrequiredtext": "یه نسخه زه ویکی مدیا($1) نیازمند ه وه استفاده زه ای بلگه\nبویین :[[مخصوص:نسخه|نسخه مخصوص]].",
+       "ok": "خووه",
+       "retrievedfrom": "بازیافت از\"$1\"",
+       "youhavenewmessages": "پیوم نو داری $1 ($2).",
+       "youhavenewmessagesfromusers": "{{PLURAL:$4|ایشا داریت}} $1 زه {{PLURAL:$3|یه کارور دیه|$3 کارورل}} ($2).",
+       "youhavenewmessagesmanyusers": "ایشا $1 زه کارورل دیه داریت ($2).",
+       "newmessageslinkplural": "{{PLURAL:$1|یه پیوم نو|999=پیومل نو}}",
+       "newmessagesdifflinkplural": "آخر {{PLURAL:$1|تغییر|999=تغییرل}}",
+       "youhavenewmessagesmulti": "ایشا پیوم نو داریت مئنه\n$1",
+       "editsection": "اصلاح",
+       "editold": "اصلاح",
+       "viewsourceold": "دیئن منبع",
+       "editlink": "اصلاح",
+       "viewsourcelink": "دیئن منبع",
+       "editsectionhint": "اصلاح یه قسمت: $1",
+       "toc": "محتوا یل",
+       "showtoc": "نمایش",
+       "hidetoc": "قائم",
+       "collapsible-collapse": "سقوط",
+       "collapsible-expand": "ببن",
+       "thisisdeleted": "دیئن یا ورگردوندن $1؟",
+       "viewdeleted": "دیئن$1؟",
+       "restorelink": " {{PLURAL:$1|یه اصلاح حذف وابیه|$1 اصلاحل حذف وابیه}}",
+       "feedlinks": "تغذیه:",
+       "feed-invalid": "اشتراک  زه راه  تایپ باطله",
+       "feed-unavailable": "فید پیوند ور تیه نی",
+       "site-rss-feed": "خبرخو RSS سی $1",
+       "site-atom-feed": "خبرخو Atom سی $1",
+       "page-rss-feed": "خبرخو RSS سی «$1»",
+       "page-atom-feed": "خبرخو Atom سی «$1»",
+       "red-link-title": "(بلگه وجود ناره) $1",
+       "sort-descending": "مرتب سازی وا صعودی",
+       "sort-ascending": "مرتب سازی وا صعودی",
+       "nstab-main": "پیج",
+       "nstab-user": "بلگه کارور",
+       "nstab-media": "بلگه مدیا",
+       "nstab-special": "پیجئل مخصوص",
+       "nstab-project": "بلگه پروجه",
+       "nstab-image": "فایل",
+       "nstab-mediawiki": "پیوم",
+       "nstab-template": "الگو",
+       "nstab-help": "بلگه هومیاری",
+       "nstab-category": "دسه",
+       "nosuchaction": "چنی دستوری موجود نی",
+       "nosuchspecialpage": "چنو بلگه مخصوصی نی",
+       "error": "خطا",
+       "databaseerror": "خطا دیتابیس",
+       "databaseerror-textcl": "خطا مئنه پرس  و جو پایگاه داده رخ دابی.",
+       "databaseerror-query": "سل کردن:$1",
+       "databaseerror-function": "عملکرد:$1",
+       "databaseerror-error": "خطا:$1",
+       "readonly": "پایگاه داده بسته وابی",
+       "enterlockreason": "یه دلیل سی قفل کردن وارد کو ، از جمله برآورد زمونی که قفل منتشر  خواهد وابی",
+       "missingarticle-rev": "(تجدید نظر#:$1)",
+       "missingarticle-diff": "(تفاوت:$1،$2)",
+       "internalerror": "خطا داخلی",
+       "internalerror_info": "خطا داخلی:$1",
+       "filecopyerror": "نیوا قایلنه کپی کی \"$1\" تا \"$2\"",
+       "filerenameerror": "نیوا نوم قایلنه تغییر بی \"$1\" به \"$2\"",
+       "filedeleteerror": "نیوا فایلنه حذف کی \"$1\"",
+       "directorycreateerror": "نیوا پوشه بسازی \"$1\"",
+       "filenotfound": "نیوا فایلنه پیداس کی \"$1\"",
+       "unexpected": "ارزش ناگهونی: \"$1\"=\"$2\"",
+       "formerror": "خطا:نیوا فرمنه ارسال کیت.",
+       "badarticleerror": "ای عمل نیوا ری ای بلگه اجرا وابی.",
+       "cannotdelete-title": "نیوا بلگنه حذف کی \"$1\"",
+       "badtitle": "عنوان بد",
+       "badtitletext": "عنوان درخواستی نامعتبر، خالی، یا عنوانی بین زوونی یا بین‌ویکی‌ای با پیوند نادرسته\nو ممکنه  یه یا چند کاراکتر داشته بوه که مئن عنوان مربوط نوا زش استفاده کنین",
+       "viewsource": "دیئن منبع",
+       "viewsource-title": "دیئن منبع سی $1",
+       "actionthrottled": "عمل متوقف وابی",
+       "protectedpagetext": "ای بلگه سیکه اصلاح یا دیهر عملل ریش انجام نبی محافظت وابیه",
+       "viewsourcetext": "ایشا ترین بوینین وکپی کنین منبع ای بلگنه:",
+       "mycustomcssprotected": "ایشا اجازه ناریت سی اصلاح کردن ای بلگه سی اس اس",
+       "mycustomjsprotected": "ایشا اجازه ناریت سی اصلاح کردن ای بلگه جاوا اسکریپت",
+       "myprivateinfoprotected": "ایشا اجازه ناریت سی اصلاح کردن اطلاعات شصخی خوتون",
+       "mypreferencesprotected": "ایشا اجازه ناریت سی اصلاح کردن تنظیمات خوتون",
+       "ns-specialprotected": "بلگه یل مخصوص نیوا اصلاح بوان",
+       "exception-nologin": "نوایته",
+       "exception-nologin-text-manual": "لطفا $1 تا بترید به ای بلگه یا عمل دسترسی پیدا کنیت",
+       "virus-scanfailed": "اسکن انجام نبی (کد $1)",
+       "virus-unknownscanner": "آنتی ویروس ناشناخته",
+       "welcomeuser": "خش اومیت، $1!",
+       "yourname": "نوم کارور:",
+       "userlogin-yourname": "نوم کارور",
+       "userlogin-yourname-ph": "نوم خوتونه وارد بکیت",
+       "createacct-another-username-ph": "نوم کارورنه وار بکیت",
+       "yourpassword": "رمز:",
+       "userlogin-yourpassword": "رمز",
+       "userlogin-yourpassword-ph": "رمز خوتونه وارد بکیت",
+       "createacct-yourpassword-ph": "رمزنه وارد بکیت",
+       "yourpasswordagain": "مجددا رمزنه تایپ بکیت",
+       "createacct-yourpasswordagain": "تایید رمز",
+       "createacct-yourpasswordagain-ph": "رمزنه مجددا وارد بکیت",
+       "userlogin-remembermypassword": "منه تو نگه دار",
+       "userlogin-signwithsecure": "د اتصال ایمن استفاده کو",
+       "yourdomainname": "دومین کارو:",
+       "password-change-forbidden": "ایشا نیتریت مئنه ای ویکی رمزه یلنه اصلاح بکیت",
+       "login": "اویدن وه سیستم",
+       "nav-login-createaccount": "اوییدن وه سیستم / درست کردن اکانت",
+       "userlogin": "اوییدن وه سیستم / درست کردن اکانت",
+       "userloginnocreate": "اویدن وه سیستم",
+       "logout": "رهدن زه سیستم",
+       "userlogout": "رهدن زه سیستم",
+       "notloggedin": "نوایته",
+       "userlogin-noaccount": "اکانت ناریت؟",
+       "userlogin-joinproject": "ملحق شو وه {{SITENAME}}",
+       "nologin": "اکانت ناریت؟ $1.",
+       "nologinlink": "راست کردن یه حساو کاروری",
+       "createaccount": "درست کردن اکانت",
+       "gotaccount": "اکانت داریت؟ $1.",
+       "gotaccountlink": "اویدن وه سیستم",
+       "userlogin-resetlink": "مشخصه یل ورود خوتونه نونیت؟",
+       "userlogin-resetpassword-link": "رمزتونه نونیت؟",
+       "userlogin-helplink2": "هومیاری وا اوییدن وه سیستم",
+       "userlogin-createanother": "یه اکانت دیه بساز",
+       "createacct-emailrequired": "آدرس ایمیل",
+       "createacct-emailoptional": "آدرس ایمیل (واخوتونی)",
+       "createacct-email-ph": "آدرس ایمیل خوتونه وارد بکیت",
+       "createacct-another-email-ph": "آدرس ایمیلنه وارد بکیت",
+       "createacct-realname": "نوم راسکی (واخوتونی)",
+       "createaccountreason": "دلیل:",
+       "createacct-reason": "دلیل",
+       "createacct-reason-ph": "سیچه داریت یه اکانت دیه ایسازیت",
+       "createacct-captcha": "چک کردن امنیتی",
+       "createacct-imgcaptcha-ph": "ای نشتنه ک دومن سیل کی وارد کو",
+       "createacct-submit": "اکانت خوتونه بسازیت",
+       "createacct-another-submit": "یه اکانت دیه بساز",
+       "createacct-benefit-heading": "{{SITENAME}} وا کسایی مث خوتون ساخته بیه",
+       "createacct-benefit-body1": "{{PLURAL:$1|اصلاح|اصلاحل}}",
+       "createacct-benefit-body2": "{{PLURAL:$1|بلگه|بلگه یل}}",
+       "createacct-benefit-body3": "اخیرا {{PLURAL:$1|هومیارنده|هومیارنده یل}}",
+       "badretype": "رمزنه ک وارد کیت وایک جور نیوان",
+       "userexists": "نوم کاروری ک وارد کیت الان در حال استفاده هسس\nلطفا یه نوم دیه انتخاب کیت",
+       "loginerror": "خطا ورود",
+       "createacct-error": "خطا حین ساختن اکانت",
+       "createaccounterror": "نیوا اکانتنه بسازیت: $1",
+       "noname": "ایشا یه نوم کارور معتبر مشخص نکردیته",
+       "loginsuccesstitle": "اویدن وا بخت وتوفیق وه سیستم",
+       "loginsuccess": "''' ایشا اویدن وه مئنه سایت {{SITENAME}} و عنوان \"$1\".'''",
+       "nosuchusershort": "کاروری وا ای نوم نی\"$1\".\nحروف نومنه چک کنین.",
+       "nouserspecified": "ایشا واسی یه نوم کارور مشخص کیت",
+       "login-userblocked": "ای کارور بسته وابید.اجازه ورود ناریت.",
+       "wrongpassword": "رمز وارد وابیده درست نی.\nلطفا دوباره سعی کنین.",
+       "wrongpasswordempty": "رمز وارد وابیده عقیم یامبهم بی.\nلطفا دوباره سعی کنین.",
+       "password-name-match": "ایشا واسی وا نوم کاروریت متفاوت وابی.",
+       "password-login-forbidden": "استفاده زه ای نوم کارور و رمز ممنوع وابی.",
+       "mailmypassword": "تعویض رمز",
+       "passwordremindertitle": "رمز موقتی تازه سی {{SITENAME}}",
+       "noemail": "آدرس ایمیلی ظبط نوابی سی کارور \"$1\".",
+       "noemailcreate": "ایشا واسی یه آدرس ایمیل معتبر آماده کیت.",
+       "passwordsent": "یه رمز تازه ارسال وابید وه نشانی ایمیل ثبت وابده سی \"$1\".\nلطفا بعد از دریافت آن داخل سیستم بوین.",
+       "mailerror": "خطا ارسال ایمیل: $1",
+       "emailauthenticated": "آدرس ایمی ایشا تایید وابی ری $2 مئنه $3",
+       "emailconfirmlink": "آدرس ایمیل خوتونه تایید بکیت",
+       "cannotchangeemail": "اکانت آدرسل ایمیلل نیوا تغییر وابی مئنه ای ویکی.",
+       "emaildisabled": "ای سایت نیتره ایمیل ارسا کنه.",
+       "accountcreated": "اکانت ساخته بی",
+       "createaccount-title": "اکانت سازی سی {{SITENAME}}",
+       "login-abort-generic": "ورود ایشا ناموفق وابی - سقط وابی",
+       "loginlanguagelabel": "زوون:$1",
+       "pt-login": "اویدن وه سیستم",
+       "pt-login-button": "اویدن وه سیستم",
+       "pt-createaccount": "درست کردن اکانت",
+       "pt-userlogout": "رهدن زه سیستم",
+       "changepassword": "تغییر رمز",
+       "resetpass_announce": "سی پایان ورود ، ایشا واسی یه رمز جدید سیخوت به ونی.",
+       "resetpass_header": "تغییر رمز اکانت",
+       "oldpassword": "رمز قبلی:",
+       "newpassword": "رمز نو:",
+       "retypenew": "تایپ دوباره رمز:",
+       "resetpass_submit": "وندن رمز و اوییدن وه سیستم",
+       "changepassword-success": "رمز ایشا وا موفقیت تغییر وابی",
+       "resetpass_forbidden": "رمزل نیوا تغییر کنن",
+       "resetpass-no-info": "ایشا واسی وارد بویت تا وه بلگه ای پوشه دسترسی داشته بوین.",
+       "resetpass-submit-loggedin": "تغییر رمز",
+       "resetpass-submit-cancel": "لغو",
+       "resetpass-recycled": "خواهشا رمز خوتونه مجددا وه چیکه زه ای رمز الانی تونه بنیت",
+       "resetpass-temp-password": "رمز جایگزین",
+       "resetpass-expired": "رمز ایشانه اعتبار ناره.لطفا یه رمز نو سیخوتون بونیت.",
+       "passwordreset": "تعویض رمز",
+       "bold_sample": "متن گپ نما",
+       "bold_tip": "متن گپ نما",
+       "italic_sample": "متن شکسته",
+       "italic_tip": "متن شکسته",
+       "link_sample": "عنوان لینک",
+       "link_tip": "لینک داخلی",
+       "extlink_sample": "http://www.example.com عنوان لینک",
+       "extlink_tip": "(به خاطر بسپار http:// prefix)\nلینک خارجی",
+       "headline_sample": "سرخط متن",
+       "headline_tip": "2سرخط یکسان",
+       "nowiki_sample": "متن شکل نداده یافرمت نوابیده را ایچو بنین",
+       "nowiki_tip": "زه فرمت کردن یا شکل دادن ویکی چشم پوشی کن",
+       "image_tip": "فایل محاط وابید",
+       "media_tip": "لینک فایل",
+       "sig_tip": "امضای ایسا و برچسب زمان",
+       "hr_tip": "خط افقی (کم استفاده کنین)",
+       "summary": "خلاصه:",
+       "minoredit": "ای یه اصلاح کچک وابی",
+       "watchthis": "پیگیری ای بلگه",
+       "savearticle": "بلگه ضبط بوه",
+       "showpreview": "پیش‌نمایش",
+       "showdiff": "نشودائن تغییرات",
+       "loginreqlink": "اویدن وه سیستم",
+       "editing": "درحال اصلاح $1",
+       "creating": "درست کردن $1",
+       "editingsection": "درحال اصلاح $1 (قسمت)",
+       "templatesused": "{{PLURAL:$1|قالب|قالبل}} اسفاده بیه مئنه ای بلگه:",
+       "template-protected": "(تحت حمایت)",
+       "template-semiprotected": "(نیمه حمایت وابیده)",
+       "permissionserrorstext-withaction": "ایشا اجازه ناریت که $2, سی ای {{PLURAL:$1|دلیل|دلیلل}}:",
+       "moveddeleted-notice": "ای بلگه حذف وابیده.\nحذف و انتقال سیاهه ای بلگه فراهم وابیده دومن سرچشمه.",
+       "viewpagelogs": "نشودائن نمایه ها سی ای بلگه",
+       "currentrev-asof": "آخرین نسخه تا $1",
+       "revisionasof": "اصلاح $1",
+       "previousrevision": "← اصلاح قبلی",
+       "nextrevision": "نسخه جدیدتر →",
+       "currentrevisionlink": "آخرین نسخه",
+       "cur": "فعلی",
+       "last": "قبلی",
+       "rev-delundel": "قابلیت تغییر دائن",
+       "history-title": "تاریخچه اصلاحل $1",
+       "difference-title": "تفاوت میان تجدید نطرل \"$1\"",
+       "lineno": "سطر $1:",
+       "editundo": "لغو",
+       "searchresults": "نتیجه یل جستن",
+       "searchresults-title": "نتایج جستن سی \"$1\"",
+       "prevn": "قبلی {{PLURAL:$1|$1}}",
+       "nextn": "بعدی {{PLURAL:$1|$1}}",
+       "nextn-title": "بعدی $1 {{PLURAL:$1|نتیجه|نتیجه یل}}",
+       "viewprevnext": "مشاهده ($1 {{int:pipe-separator}} $2) ($3)",
+       "searchprofile-articles": "بلگه محتوا",
+       "searchprofile-images": "چندرسانه ای",
+       "searchprofile-everything": "همه چیا",
+       "searchprofile-advanced": "پیشرفته",
+       "searchprofile-articles-tooltip": "جستن مئنه $1",
+       "searchprofile-images-tooltip": "جستن سی فایلل",
+       "searchprofile-everything-tooltip": "جستن سی محتوا(شامل بلگل گپ)",
+       "searchprofile-advanced-tooltip": "جستن مئنه همدرنگل سفارشی",
+       "search-redirect": "(تغییر مسیر $1)",
+       "search-section": "(قسمت $1)",
+       "search-suggest": "آیا منطور ایشا ای بی:$1",
+       "searchall": "همه",
+       "search-nonefound": "نتیجه ای مرتبط وا هونی که در خواست دیته نی.",
+       "mypreferences": "تنظیمات",
+       "right-writeapi": "استفاده د نوشتن به صورت API",
+       "newuserlogpage": "سیاهه درست کردن حسآو",
+       "enhancedrc-history": "سرچشمه یل",
+       "recentchanges": "تغییرل جدید",
+       "recentchanges-legend": "گزینه یل تغییرات اخیر",
+       "recentchanges-summary": "شیار تغییرات اخیر مئنه ای بلگه به ویکی .",
+       "recentchanges-label-newpage": "ای اصلاح یه بلگه نو ایسازه",
+       "recentchanges-label-minor": "ای یه اصلاح کچک وابی",
+       "recentchanges-label-bot": "ای اصلاح توسط یه روبات انجام وابیه",
+       "recentchanges-label-unpatrolled": "ای اصلاح هنو گشت نوابیده",
+       "recentchanges-label-plusminus": "اندازه بلگه وا ای تعداد بایت تغییر داده بیه",
+       "recentchanges-legend-heading": "'''آلشتیا ایسنی :'''",
+       "rclistfrom": "نشودادن تغییرات نو وا شروع زه $3 $2",
+       "rcshowhideminor": "اصلاحات کوچیک $1",
+       "rcshowhideminor-show": "نشو دائن",
+       "rcshowhideminor-hide": "قائم کردن",
+       "rcshowhidebots": "$1 ربات‌ل یا بوتل",
+       "rcshowhidebots-show": "نشو دائن",
+       "rcshowhidebots-hide": "قائم کردن",
+       "rcshowhideliu": "$1 حسآول وارد وابیده",
+       "rcshowhideliu-hide": "قائم کردن",
+       "rcshowhideanons": "$1 کاروران داخل نوابیده",
+       "rcshowhideanons-show": "نشو دائن",
+       "rcshowhideanons-hide": "قائم کردن",
+       "rcshowhidemine": "$1 اصلاحات مو",
+       "rcshowhidemine-show": "نشو دائن",
+       "rcshowhidemine-hide": "قائم کردن",
+       "rclinks": "نشودادن آخرین $1 تغییر در $2 روز اخیر؛ $3",
+       "diff": "تفاوت",
+       "hist": "گزارشت",
+       "hide": "قائم کردن",
+       "show": "نشو دائن",
+       "minoreditletter": "رز",
+       "newpageletter": "تا",
+       "boteditletter": "ر",
+       "recentchangeslinked": "تغییرل مربوط",
+       "recentchangeslinked-toolbox": "تغییرل مربوط",
+       "recentchangeslinked-title": "تغییرهای مرتبط با $1",
+       "recentchangeslinked-summary": " ای بلگه خاص تغییرات اخیر مئنه بلگل لینک وابیده وه ای بلگنه نشو اده.\nبلگلی که مئنه لیست پی‌گیری یل ایسا بون به شکل '''سیاه''' نشو داده ابون.",
+       "recentchangeslinked-page": "نوم بلگه:",
+       "recentchangeslinked-to": "نشو دائن تغییرات بلگلی که و بلگه داده بیه لینک داده شدنه به جای",
+       "upload": "بلم گیر کردن فایلل",
+       "filedesc": "خلاصه",
+       "license-header": "صدور مجوز",
+       "imgfile": "فایل",
+       "file-anchor-link": "فایل",
+       "filehist": "تاریخچه فایل",
+       "filehist-help": "رو تاریخ‌ها کلیک کنیت تا نسخه مرتبط را بینیت.",
+       "filehist-current": "جاری",
+       "filehist-datetime": "تاریخ/زمان",
+       "filehist-thumb": "کچک",
+       "filehist-user": "کارور",
+       "filehist-dimensions": "ابعاد",
+       "filehist-comment": "توضیح",
+       "imagelinks": "استفاده د فایل",
+       "linkstoimage": "ذیل الذکر {{PLURAL:$1|لینکل بلگه|$1 لینک بلگل}} به ای فایل:",
+       "nolinkstoimage": "بلگه یلی که وه ای فایل لینک دائنه نی.",
+       "upload-disallowed-here": "ایشا نیترید ای فایلنه بنویسید",
+       "randompage": "پیج اتفاقی",
+       "nbytes": "$1 {{PLURAL:$1|بایت|بایتل}}",
+       "nmembers": "$1 {{PLURAL:$1|عضو|اعضول}}",
+       "newpages": "پیجئل جدید",
+       "pager-older-n": "{{PLURAL:$1|قدیمی تر 1|قدیمی تر $1}}",
+       "booksources": "منوبع کتآو",
+       "booksources-search-legend": "جستن سی منوبع کتآو",
+       "booksources-search": "جستن",
+       "log": "نمایه ها",
+       "allarticles": "همه بلگل",
+       "allpagessubmit": "رو",
+       "categories": "دسه یل",
+       "mywatchlist": "فهرست پیگیری یل",
+       "watch": "پی‌گیری",
+       "dellogpage": "نمایه حذف",
+       "rollbacklink": "عقب گرد",
+       "protectlogpage": "نمایه حفاظت وحمایت",
+       "namespace": "همدرنگل:",
+       "invert": "انتخاب برعکس بوه",
+       "namespace_association": "همدرنگل مرتبط",
+       "blanknamespace": "(اصلی)",
+       "contributions": "{{GENDER:$1|کارور}} سهمل",
+       "mycontris": "مشارکتل",
+       "month": "در این ماه (و قبل زه آن):",
+       "year": "در ای سال (وقبل زه آن):",
+       "whatlinkshere": "لینک یل ای بلگه",
+       "whatlinkshere-title": "بلگل که لینک دائنه به \"$1\"",
+       "whatlinkshere-page": "بلگه",
+       "linkshere": "لینک بلگل ذیل الذکر به '''[[:$1]]''':",
+       "isredirect": "بلگه تغییر مسیر",
+       "istemplate": "استفاده‌ وابیده داخل بلگه",
+       "isimage": "لینک فایل",
+       "whatlinkshere-prev": "{{PLURAL:$1|قبلی |مورد قبلی$1}}",
+       "whatlinkshere-next": "{{PLURAL:$1|بعدی |مورد بعدی $1}}",
+       "whatlinkshere-links": "← لینکل",
+       "whatlinkshere-hideredirs": "$1 تغییرل مسیر",
+       "whatlinkshere-hidetrans": "$1 تراگنجایش",
+       "whatlinkshere-hidelinks": "$1 لینکل",
+       "whatlinkshere-filters": "فیلترل",
+       "blocklink": "بسه وابو",
+       "contribslink": "شراکتل",
+       "movelogpage": "نمایه جابجایی",
+       "export": "بلگل صادره یل",
+       "thumbnail-more": "گپ کردن",
+       "tooltip-pt-userpage": "حسآو کاروری ایشا",
+       "tooltip-pt-mytalk": "بلگه گپ ایشا",
+       "tooltip-pt-preferences": "اولویتل مو",
+       "tooltip-pt-watchlist": "لیست بلگلی که ایشا تغییرات هونونه  دنبال اکنین",
+       "tooltip-pt-mycontris": "لیست مشارکتل ایشا",
+       "tooltip-pt-login": "توصیه وابوه که وه سیستم داخل بوین. اما اجباری نیسس",
+       "tooltip-pt-logout": "رهدن زه سیستم",
+       "tooltip-pt-createaccount": "توصیه وابوه که حساب کاروری درست بکنیت یا وارد بوین. اما اجباری نیسس",
+       "tooltip-ca-talk": "صحبت د بلگه محتوا",
+       "tooltip-ca-edit": "ایسا ترین ای پیجنه ویرایش کنین.لطفا قبل ویرایش ای پیج از دکمه پیش نمایش استفاده کنین",
+       "tooltip-ca-addsection": "آغاز کردن یه قسمت نو",
+       "tooltip-ca-viewsource": "ای بلگه  تحت حمایته ایساترین منبعسه بوینین",
+       "tooltip-ca-history": "ویرگار",
+       "tooltip-ca-move": "جابجاکردن ای بلگه",
+       "tooltip-ca-watch": "اضاف کردن ای بلگه به لیست پیگیری یلت",
+       "tooltip-search": "جستن {{نوم جا}}",
+       "tooltip-search-go": "رو مئنه بلگه ای وا ای نوم ار هیسس",
+       "tooltip-search-fulltext": "جستن پیجئل هنه سی ای نشته",
+       "tooltip-p-logo": "رهدن د پیج اصلی",
+       "tooltip-n-mainpage": "رو د پیج اصلی",
+       "tooltip-n-mainpage-description": "رهدن د پیج اصلی",
+       "tooltip-n-portal": "درباره پروجه ، کارینه ک تری کنی ، ینه جا سی جستن چیزل",
+       "tooltip-n-currentevents": "پیداکردن اطلاعات زمینه یاسابقه اطلاعات در اتفاقات جاری",
+       "tooltip-n-recentchanges": "سیائل تغییرل آخری مئن ای ویکی",
+       "tooltip-n-randompage": "سوار کردن یه پیج اتفاقی",
+       "tooltip-n-help": "ینه جا سی فهمیدن",
+       "tooltip-t-whatlinkshere": "فهرست همه بلگه یل ویکی که ایچو لینک دارن",
+       "tooltip-t-recentchangeslinked": "تغییرل آخر مئن پیجئل ک لینک دانه و ای پیج",
+       "tooltip-feed-atom": "تغذیه کوچیک ترین جزء  ای بلگه",
+       "tooltip-t-contributions": "یه لیس ز مشارکت کننده یل و مقاله دهنده یل ای بلگه",
+       "tooltip-t-upload": "بلم گیر کردن فایلل",
+       "tooltip-t-specialpages": "ورقل ویجه",
+       "tooltip-t-print": "ورژن چاپ بینل ای پیج",
+       "tooltip-t-permalink": "لینکل تا ابد وه ای ورژن ای پیج",
+       "tooltip-ca-nstab-main": "سل کردن محتوا پیج",
+       "tooltip-ca-nstab-user": "دیئن بلگه کارور",
+       "tooltip-ca-nstab-special": "ای بلگه مخصوصه وایسا نترین خود ای بلگنه اصلاح کنین",
+       "tooltip-ca-nstab-project": "دیئن بلگه پروجه",
+       "tooltip-ca-nstab-image": "دیئن بلگه فایل",
+       "tooltip-ca-nstab-template": "دیئن قالب",
+       "tooltip-ca-nstab-category": "دیئن بلگه دسه بنی",
+       "tooltip-save": "ضبط کردن تغییراتت",
+       "tooltip-preview": " دیئن تغییرات ، لطفا قبل ضبط کردن د ای خدمت استفاده کنیت!",
+       "tooltip-diff": "دیدن تغییراتی که ایسا من ای متن انجام دادینه",
+       "tooltip-rollback": "\"اعاده\" برگرداندن به وضع اولیه سی ای بلگه که سی مشارکت  آخر اصلاح وابیده وا یک کلیک",
+       "tooltip-summary": "یه خلاصه کوچکی بنویس",
+       "pageinfo-toolboxlink": "اطلاعات بلگه",
+       "previousdiff": "← اصلاح قدیمی",
+       "nextdiff": "اصلاح جدیدتر→",
+       "file-info-size": "$1 × $2 پیکسل, اندازه فایل: $3, MIME نوع: $4",
+       "file-nohires": "قابلیت تفکیک بالاتری در دسترس نی.",
+       "svg-long-desc": "SVG فایل, تقریبا$1 × $2 پیکسل, اندازه فایل: $3",
+       "show-big-image": "اندازه اصلی",
+       "show-big-image-preview": "اندازه ای پیش نمایش:$1.",
+       "metadata": "فراداده",
+       "metadata-help": " ای فایل دارای اطلاعات اضافه‌ای هی که احتمالاً با دوربین دیجیتالی‌ یا پویشگری که سی ایجاد یا دیجیتالی‌کردن هو به کار رهده اضاف وابیده . ایر فایل زه وضعیت اولیه اس تغییر داده وابیده بوه ممکنه همه توضیحات موجود اطلاعات عکس را منعکس نکنه",
+       "exif-orientation": "گرایش",
+       "exif-xresolution": "تفکیک پذیری افقی",
+       "exif-yresolution": "تفکیک پذیری عمودی",
+       "exif-datetime": "تغییرات تاریخ و زمان فایل",
+       "exif-make": "کمپانی سازنده دوربین",
+       "exif-model": "مدل دوربین",
+       "exif-software": "نرم افزار مورد استفاده",
+       "exif-exifversion": "نسخه Exif",
+       "exif-colorspace": "فضای رنگ",
+       "exif-datetimeoriginal": "تاریخ و زمان تولید داده یل",
+       "exif-datetimedigitized": "تاریخ و زمان دیجیتالی وابیدن",
+       "exif-orientation-1": "عادی",
+       "namespacesall": "همه",
+       "monthsall": "همه",
+       "specialpages": "پیجئل مخصوص",
+       "tag-filter": "[[مخصوص:برچسبل|برچسب]فیلتر:",
+       "logentry-delete-delete": "$1 {{GENDER:$2|حذف وابیده}} بلگه $3",
+       "logentry-move-move": "$1 {{GENDER:$2|انتقال داده بیه}} بلگه $3 به $4",
+       "logentry-upload-upload": "$1 {{GENDER:$2|بارگذاری وابیده}} $3",
+       "searchsuggest-search": "جستن"
+}
index 655d130..edb6ab9 100644 (file)
@@ -40,7 +40,7 @@
        "tog-minordefault": "सबै सम्पादनहरूलाई पूर्वनिर्धारित रुपमा सामान्य चिनो लगाउने",
        "tog-previewontop": "सम्पादन सन्दुक अघि पूर्वरुप देखाउने",
        "tog-previewonfirst": "पहिलो सम्पादनमा पूर्वरुप देखाउने",
-       "tog-enotifwatchlistpages": "मà¥\87रà¥\8b à¤¨à¤¿à¤\97रानà¥\80 à¤¸à¥\82à¤\9aà¥\80मा à¤°à¤¹à¥\87à¤\95ा à¤ªà¥\83षà¥\8dठ à¤\85थवा à¤«à¤¾à¤\87लहरà¥\81 परिवर्तन भएपछी मलाई ई-मेल गरियोस्",
+       "tog-enotifwatchlistpages": "मà¥\87रà¥\8b à¤¨à¤¿à¤\97रानà¥\80 à¤¸à¥\82à¤\9aà¥\80मा à¤°à¤¹à¥\87à¤\95ा à¤ªà¥\83षà¥\8dठ à¤\85थवा à¤«à¤¾à¤\87लहरà¥\82 परिवर्तन भएपछी मलाई ई-मेल गरियोस्",
        "tog-enotifusertalkpages": "मेरो प्रयोगकर्ता वार्ता पृष्ठ परिवर्तन भएपछी मलाई ई-मेल गर्ने",
        "tog-enotifminoredits": "पृष्ठहरू र फाइलहरूमा सामान्य सम्पादन भएमा पनि मलाई ई-मेल गर्ने",
        "tog-enotifrevealaddr": "जानकारी इ-मेलहरूमा मेरो इ-मेल खुलाउने",
        "category-subcat-count-limited": "यो श्रेणीमा निम्न {{PLURAL:$1|उपश्रेणी|$1 उपश्रेणीहरू}} छन् ।",
        "category-article-count": "{{PLURAL:$2|यो श्रेणीमा एक मात्र पृष्ठरहेको छ।|कुल $2 मध्ये यो श्रेणीमा {{PLURAL:$1|पृष्ठ|$1 पृष्ठहरू}} रहेका छन् । }}",
        "category-article-count-limited": "निम्न {{PLURAL:$1|पृष्ठ|$1 पृष्ठहरू}} यस श्रेणीमा रहेको ।",
-       "category-file-count": "{{PLURAL:$2|यà¥\8b à¤¶à¥\8dरà¥\87णà¥\80मा à¤¨à¤¿à¤®à¥\8dन à¤«à¤¾à¤\87ल à¤®à¤¾à¤¤à¥\8dर à¤\9b à¥¤|निमà¥\8dन à¤¶à¥\8dरà¥\87णà¥\80मा {{PLURAL:$1|फाà¤\87ल|$1 à¤«à¤¾à¤\87लहरà¥\81}} , कुल  $2 मध्ये रहेको ।}}",
-       "category-file-count-limited": "निमà¥\8dन  {{PLURAL:$1|फाà¤\87ल|$1 à¤«à¤¾à¤\87लहरà¥\81}} यस श्रेणीमा रहेको ।",
+       "category-file-count": "{{PLURAL:$2|यà¥\8b à¤¶à¥\8dरà¥\87णà¥\80मा à¤¨à¤¿à¤®à¥\8dन à¤«à¤¾à¤\87ल à¤®à¤¾à¤¤à¥\8dर à¤\9b à¥¤|निमà¥\8dन à¤¶à¥\8dरà¥\87णà¥\80मा {{PLURAL:$1|फाà¤\87ल|$1 à¤«à¤¾à¤\87लहरà¥\82}} , कुल  $2 मध्ये रहेको ।}}",
+       "category-file-count-limited": "निमà¥\8dन  {{PLURAL:$1|फाà¤\87ल|$1 à¤«à¤¾à¤\87लहरà¥\82}} यस श्रेणीमा रहेको ।",
        "listingcontinuesabbrev": "निरन्तरता...",
        "index-category": "क्रमाङ्कित पृष्ठहरू",
        "noindex-category": "क्रमाङ्कन नगरिएका पृष्ठहरू",
        "searchprofile-everything": "सब थोक",
        "searchprofile-advanced": "उन्नत",
        "searchprofile-articles-tooltip": "$1 मा खोज्ने",
-       "searchprofile-images-tooltip": "फाà¤\87लहरà¥\81 खोज्ने",
+       "searchprofile-images-tooltip": "फाà¤\87लहरà¥\82 खोज्ने",
        "searchprofile-everything-tooltip": "सबै सामग्री खोज्ने (वार्तालाप समेत )",
        "searchprofile-advanced-tooltip": "अनुकुल नेमस्पेसमा खोज्ने",
        "search-result-size": "$1 ({{PLURAL:$2|1 शब्द|$2 शब्दहरू}})",
        "right-upload": "फाइलहरू उर्ध्वभरण गर्ने",
        "right-reupload": "रहेका फाइललाई अधिलेखन गर्ने",
        "right-reupload-own": "आफैले अपलोड  गर्नुभएको रहिआएको फाइल अधिलेखन गर्ने",
-       "right-reupload-shared": "साà¤\9dा à¤®à¤¿à¤¡à¤¿à¤¯à¤¾ à¤­à¤£à¥\8dडारमा à¤¸à¥\8dथानियरà¥\81पमा à¤«à¤¾à¤\87लहरà¥\81 अधिक्रमण गर्ने",
+       "right-reupload-shared": "साà¤\9dा à¤®à¤¿à¤¡à¤¿à¤¯à¤¾ à¤­à¤£à¥\8dडारमा à¤¸à¥\8dथानियरà¥\81पमा à¤«à¤¾à¤\87लहरà¥\82 अधिक्रमण गर्ने",
        "right-upload_by_url": "URL बाट फाइल उर्ध्वभरण गर्ने",
        "right-purge": "साइटको क्याश( cache) निश्चित नगरिकनै पर्ज(Purge) गर्ने",
        "right-autoconfirmed": "आइपी दर सीमाले असर नपार्ने",
        "right-editsemiprotected": "\"{{int:protect-level-autoconfirmed}}\" अनुरूप सुरक्षित गरिएको पृष्ठहरूलाई सम्पादन गर्नुहोस्",
        "right-editcontentmodel": "पृष्ठको सामग्री नमुना सम्पादन",
        "right-editinterface": "प्रयोगकर्ता अन्तरमोहडा सम्पादन गर्ने",
-       "right-editusercssjs": "पà¥\8dरयà¥\8bà¤\97à¤\95रà¥\8dताà¤\95à¥\8b CSS à¤° JS à¤«à¤¾à¤\87लहरà¥\81 सम्पादन गर्ने",
-       "right-editusercss": "पà¥\8dरयà¥\8bà¤\97à¤\95रà¥\8dताà¤\95à¥\8b CSS à¤«à¤¾à¤\87लहरà¥\81 सम्पादन गर्ने",
+       "right-editusercssjs": "à¤\85रà¥\81 à¤ªà¥\8dरयà¥\8bà¤\97à¤\95रà¥\8dताà¤\95à¥\8b CSS à¤° JS à¤«à¤¾à¤\87लहरà¥\82 सम्पादन गर्ने",
+       "right-editusercss": "à¤\85रà¥\81 à¤ªà¥\8dरयà¥\8bà¤\97à¤\95रà¥\8dताà¤\95à¥\8b CSS à¤«à¤¾à¤\87लहरà¥\82 सम्पादन गर्ने",
        "right-edituserjs": "अरु प्रयोकर्ताको जाभास्क्रिप्ट फाइलहरू सम्पादन गर्ने",
        "right-editmyusercss": "तपाईँको आफ्नो CSS फाइलहरू सम्पादन गर्नुहोस्",
        "right-editmyuserjs": "तपाईँको आफ्नो जाभा स्क्रिप्ट फाइलहरू सम्पादन गर्ने",
        "recentchanges-label-unpatrolled": "यो सम्पादन अहिले सम्म गस्ती गरिएको छैन",
        "recentchanges-label-plusminus": "यति बाइटहरू संख्याले पृष्ठको आकार परिवर्तन भएको छ",
        "recentchanges-legend-heading": "'''आदर्श वाक्य:'''",
-       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|list of new pages]] यो पनि हेर्नुहोस्)",
+       "recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|नयाँ पृष्ठहरूको सूची]] यो पनि हेर्नुहोस्)",
        "recentchanges-legend-plusminus": "(''±१२३'')",
        "rcnotefrom": "तल <strong>$2</strong> देखि (<strong>$1</strong> सम्म) {{PLURAL:$5|भएका परिवर्तनहरू देखाइएको छ|भएका परिवर्तनहरू देखाइन्छ}}।",
        "rclistfrom": "$3 $2 देखिका नयाँ परिवर्तनहरू देखाउनु",
        "upload_directory_missing": "उर्ध्वभरण डाइरेक्टरी ($1) हराइरहेको छ र वेवसर्भरले नयाँ डाइरेक्टरी निर्माणगर्न असमर्थ भयो ।",
        "upload_directory_read_only": "उर्ध्व भरण डाइरेक्टरी ($1) वेवसर्भर द्वारा लेख्य छैन ।",
        "uploaderror": "उर्ध्वभरण त्रुटि",
-       "upload-recreate-warning": "'''à¤\9aà¥\87तावनà¥\80: à¤¤à¥\8dयस à¤¨à¤¾à¤®à¤®à¤¾ à¤°à¤¹à¥\87à¤\95ा à¤«à¤¾à¤\87लहरà¥\81 à¤¸à¤¾à¤°à¤¿à¤\8fà¤\95à¥\8b à¤¯à¤¾ à¤¹à¤\9fाà¤\87à¤\8fà¤\95à¥\8b à¤\9b।'''\n\nयस à¤ªà¥\83षà¥\8dठà¤\95à¥\8b à¤¸à¤¾à¤°à¤¿à¤\8fà¤\95à¥\8b à¤° à¤¹à¤\9fाà¤\87à¤\8fà¤\95à¥\8b à¤²à¤\97 à¤¤à¤ªà¤¾à¤\88को सहजताको लागि दिइएको छ।",
+       "upload-recreate-warning": "'''à¤\9aà¥\87तावनà¥\80: à¤¤à¥\8dयस à¤¨à¤¾à¤®à¤®à¤¾ à¤°à¤¹à¥\87à¤\95ा à¤«à¤¾à¤\87लहरà¥\82 à¤¸à¤¾à¤°à¤¿à¤\8fà¤\95à¥\8b à¤¯à¤¾ à¤¹à¤\9fाà¤\87à¤\8fà¤\95à¥\8b à¤\9b।'''\n\nयस à¤ªà¥\83षà¥\8dठà¤\95à¥\8b à¤¸à¤¾à¤°à¤¿à¤\8fà¤\95à¥\8b à¤° à¤¹à¤\9fाà¤\87à¤\8fà¤\95à¥\8b à¤²à¤\97 à¤¤à¤ªà¤¾à¤\88à¤\82को सहजताको लागि दिइएको छ।",
        "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|thumb|left|alt text]]</nowiki></code>''' 200 पिक्सलको देब्रेपट्टि मार्जिन गरेर फाइलको बर्णनसहित प्रयोग गर्न\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' फाइल नदेखाई सिंधै फाइलसित लिङ्क गरी प्रयोग गर्न",
        "upload-permitted": "अनुमति पाएका फाइल {{PLURAL:$2|प्रकार|प्रकारहरू}}:$1।",
        "upload-preferred": "चाहिएका पाएका फाइल {{PLURAL:$2|प्रकार|प्रकारहरू}}:$1।",
        "unknown-error": "एउटा अज्ञात त्रुटि भयो।",
        "tmp-create-error": "अस्थायी फाइल सृजना गर्न सकिएन।",
        "tmp-write-error": "अस्थायी फाइल लेख्दै गर्दा त्रुटि।",
-       "large-file": "यà¥\8b à¤¸à¤¿à¤«à¤¾à¤°à¤¿à¤¸ à¤\97रिनà¥\8dà¤\9b à¤\95ि à¤«à¤¾à¤\87लहरà¥\81  $1 भन्दा ठूला हुनु हुँदैन;\nयो फाइल $2 छ।",
+       "large-file": "यà¥\8b à¤¸à¤¿à¤«à¤¾à¤°à¤¿à¤¸ à¤\97रिनà¥\8dà¤\9b à¤\95ि à¤«à¤¾à¤\87लहरà¥\82  $1 भन्दा ठूला हुनु हुँदैन;\nयो फाइल $2 छ।",
        "largefileserver": "उर्ध्वभरण गरिएको फाइल सर्भरमा निर्धारित सीमा भन्दा ठूलो छ।",
        "emptyfile": "तपाईले उर्ध्वभरण गर्नुभएको फाइल रित्तो छ।\nयो फाइलनाम गलत राखिएको कारणले भएको हुनसक्छ\nयो फाइल साच्चै उर्ध्वभरण गर्नेकुरामा निश्चित हुनुहोस् ।",
        "windows-nonascii-filename": "विशेष वर्ण सहितका फाइलनामहरु यस विकिद्वारा समर्थित छैनन् ।",
        "uploadstash": "उर्ध्वभरण स्टाश",
        "uploadstash-summary": "यो पृष्ठ ती फाइलहरूलाई पहुँच प्रदान गर्छ जुन अपलोड गरिएको छ ‍‌‍‌(वा अपलोड प्रक्रियामा रहेको छ) तर विकिमा अहिले पनि प्रकासित गरिएको छैन। यो फाइलहरू अपलोड गरेको प्रयोगकर्ता वाहेक कसैको लागि पनि उपलब्ध छैन।",
        "uploadstash-clear": "स्टाश गरिएका फाइल हटाउने",
-       "uploadstash-nofiles": "तपाà¤\88à¤\95ा à¤\95à¥\81नà¥\88 à¤ªà¤¨à¤¿ à¤¸à¥\8dà¤\9fाश à¤\97रिà¤\8fà¤\95ा à¤«à¤¾à¤\87लहरà¥\81 छैनन् ।",
+       "uploadstash-nofiles": "तपाà¤\88à¤\82à¤\95ा à¤\95à¥\81नà¥\88 à¤ªà¤¨à¤¿ à¤¸à¥\8dà¤\9fाश à¤\97रिà¤\8fà¤\95ा à¤«à¤¾à¤\87लहरà¥\82 छैनन् ।",
        "uploadstash-badtoken": "दिइएको कार्य असफलभयो , तपाईको सम्पादन अधिकार समाप्त भयो । पुन: प्रयास गर्नुहोस् ।",
        "uploadstash-errclear": "फाइल हटाउने कार्य असफल भयो ।",
-       "uploadstash-refresh": "फाà¤\87लहरà¥\81à¤\95à¥\8b à¤¸à¥\81à¤\9aà¥\80 à¤¤à¤¾à¤\9cा à¤ªर्ने",
+       "uploadstash-refresh": "फाà¤\87लहरà¥\82à¤\95à¥\8b à¤¸à¥\82à¤\9aà¥\80 à¤¤à¤¾à¤\9cा à¤\97र्ने",
        "invalid-chunk-offset": "अमान्य चंक अफसेट",
        "img-auth-accessdenied": "पहुँच अस्वीकार",
        "img-auth-nopathinfo": "PATH_INFO छैन। तपाईंको सर्भरले यो जानकारी पठाउन सेट गरिएको छैन। यो सिजिआइ-आधारित हुन् सक्छ र img_auth लाई स्वीकार गर्दैन। https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization हेर्नुहोस।",
        "upload_source_url": "(तपाईंद्वारा छानिएको फाइल एक मान्य, सार्वजनिक रूपले उपलब्ध युआरयलबाट)",
        "upload_source_file": "(तपाईँले आफ्नो कम्प्युटरबाट छानेको फाइल)",
        "listfiles-delete": "मेट्ने",
-       "listfiles-summary": "यस à¤µà¤¿à¤¶à¥\87ष à¤ªà¥\83षà¥\8dठलà¥\87 à¤\89रà¥\8dधà¥\8dवभरण à¤\97रिà¤\95ा à¤¸à¤¬à¥\88 à¤«à¤¾à¤\87लहरà¥\81 à¤¦à¥\87à¤\96ाà¤\89à¤\81à¤\9b।",
+       "listfiles-summary": "यस à¤µà¤¿à¤¶à¥\87ष à¤ªà¥\83षà¥\8dठलà¥\87 à¤\89रà¥\8dधà¥\8dवभरण à¤\97रिà¤\95ा à¤¸à¤¬à¥\88 à¤«à¤¾à¤\87लहरà¥\82 à¤¦à¥\87à¤\96ाà¤\89à¤\81à¤\9b ।",
        "listfiles_search_for": "मिडिया नामको लागि खोज्नुहोस:",
        "listfiles-userdoesnotexist": "प्रयोगकर्ता खाता \"$1\" दर्ता गरिएको छैन।",
        "imgfile": "फाइल",
        "filedelete-reason-otherlist": "अरु कारण",
        "filedelete-reason-dropdown": "*मेट्नुका सामान्य कारणहरु\n** कपी राइट उल्लघन\n** सारिएको फाइल",
        "filedelete-edit-reasonlist": "मेट्नका कारण संपादन गर्नुहोस्।",
-       "filedelete-maintenance": "रà¤\96रà¤\96ाव à¤\9aलिरहà¥\87à¤\95à¥\8b à¤¹à¥\81à¤\81दा à¤\85सà¥\8dथायà¥\80 à¤°à¥\81पमा à¤«à¤¾à¤\87लहरà¥\81 मेटाउने र मेटाइएकोलाई पुनर्बहाली गर्न निष्क्रिय गरिएकोछ।",
+       "filedelete-maintenance": "रà¤\96रà¤\96ाव à¤\9aलिरहà¥\87à¤\95à¥\8b à¤¹à¥\81à¤\81दा à¤\85सà¥\8dथायà¥\80 à¤°à¥\81पमा à¤«à¤¾à¤\87लहरà¥\82 मेटाउने र मेटाइएकोलाई पुनर्बहाली गर्न निष्क्रिय गरिएकोछ।",
        "filedelete-maintenance-title": "फाइल मेट्न सकिएन",
        "mimesearch": "MIME खोज",
-       "mimesearch-summary": "MIME-पà¥\8dरà¤\95ार à¤\85नà¥\81सार à¤«à¤¾à¤\87लहरà¥\81 खोज्न यस पृष्ठको प्रयोग गर्न सकिन्छ।\nइनपुट: फाइलको प्रकार/उपप्रकार, उदा. <code>image/jpeg</code>।",
+       "mimesearch-summary": "MIME-पà¥\8dरà¤\95ार à¤\85नà¥\81सार à¤«à¤¾à¤\87लहरà¥\82 खोज्न यस पृष्ठको प्रयोग गर्न सकिन्छ।\nइनपुट: फाइलको प्रकार/उपप्रकार, उदा. <code>image/jpeg</code>।",
        "mimetype": "MIME प्रकार:",
        "download": "डाउनलोड",
        "unwatchedpages": "ध्यान नदिइएका पृष्ठहरू",
        "undeleteinvert": " चयन उल्ट्याउने",
        "undeletecomment": "कारण :",
        "undeletedrevisions": "{{PLURAL:$1|एउटा संशोधन|$1 संशोधनहरु}} पुनर्स्थापित गरियो",
-       "undeletedrevisions-files": "{{PLURAL:$1|à¤\8fà¤\89à¤\9fा à¤¸à¤\82शà¥\8bधन|$1 à¤¸à¤\82शà¥\8bधनहरà¥\81}} à¤° {{PLURAL:$2|à¤\8fà¤\89à¤\9fा à¤«à¤¾à¤\87ल|$2 à¤«à¤¾à¤\87लहरà¥\81}} पुनर्स्थापित गरियो",
+       "undeletedrevisions-files": "{{PLURAL:$1|à¤\8fà¤\89à¤\9fा à¤¸à¤\82शà¥\8bधन|$1 à¤¸à¤\82शà¥\8bधनहरà¥\82}} à¤° {{PLURAL:$2|à¤\8fà¤\89à¤\9fा à¤«à¤¾à¤\87ल|$2 à¤«à¤¾à¤\87लहरà¥\82}} पुनर्स्थापित गरियो",
        "undeletedfiles": "{{PLURAL:$1|१ फाइल|$1 फाइलहरू }} पूर्वस्थितिमा ल्याइयो",
        "cannotundelete": "मेटाएको रद्द गर्ने काम असफल भयो:\n$1",
        "undeletedpage": "'''$1लाई पूर्वावस्थामा ल्याइयो'''\nभर्खरै मेटाइएको रिकर्डहरु र पुनर्स्थापनाहरु हेर्न [[Special:Log/delete|मेटाइएको लग]]मा जानुहोस्।",
        "file-info-png-frames": "$1 {{PLURAL:$1|फ्रेम|फ्रेमहरु}}",
        "file-no-thumb-animation": "<strong>टिप्पणी: प्राविधिक सीमाको कारण, यस फाइलको थम्बनेल एनिमेटेड गर्न सकिदैन।</strong>",
        "file-no-thumb-animation-gif": "<strong>सूचना:प्राविधिक समस्याहरूको कारण यस फाइल जस्तै अधिक रिजोल्युसन जीआइयफ चित्रहरूको थम्बनेल ऐनिमेटेड हुँदैन।</strong>",
-       "newimages": "नयाà¤\81 à¤«à¤¾à¤\87लहरà¥\81को ग्यालरी",
+       "newimages": "नयाà¤\81 à¤«à¤¾à¤\87लहरà¥\82को ग्यालरी",
        "imagelisttext": " '''$1''' {{PLURAL:$1|फाइल|फाइलहरू}} को निम्न सूची ,क्रमवद्ध $2.",
-       "newimages-summary": "यस à¤µà¤¿à¤¶à¥\87ष à¤ªà¥\83षà¥\8dठलà¥\87 à¤\85नà¥\8dतिम à¤\89रà¥\8dधà¥\8dवभरण à¤\97रिà¤\95ा à¤«à¤¾à¤\87लहरà¥\81 देखाउँछ ।",
+       "newimages-summary": "यस à¤µà¤¿à¤¶à¥\87ष à¤ªà¥\83षà¥\8dठलà¥\87 à¤\85नà¥\8dतिम à¤\89रà¥\8dधà¥\8dवभरण à¤\97रिà¤\8fà¤\95ा à¤«à¤¾à¤\87लहरà¥\82 देखाउँछ ।",
        "newimages-legend": "फिल्टर",
        "newimages-label": "फाइल अथवा (यसको एउटा अंश)को नाम:",
        "newimages-showbots": "बोटहरूद्वारा गरिएको अपलोड देखाउने",
        "api-error-badaccess-groups": "यस विकिमा तपाईंलाई फाइल अपलोड गर्ने अनुमति छैन।",
        "api-error-badtoken": "आन्तरिक समस्याः खराब टोकन ।",
        "api-error-copyuploaddisabled": "यस सर्वरमा URL द्वारा अपलोड गर्ने व्यवस्था निस्क्रिय गरिएकोछ।",
-       "api-error-duplicate": "यस à¤¸à¤¾à¤\87à¤\9fमा à¤ªà¤¹à¤¿à¤²à¥\87बाà¤\9f à¤¯à¤¸à¥\8dतà¥\88 à¤¸à¤¾à¤®à¤\97à¥\8dरà¥\80 {{PLURAL:$1|भà¤\8fà¤\95à¥\8b [$2 à¤\85रà¥\8dà¤\95à¥\8b à¤«à¤¾à¤\87ल à¤\9b]|भà¤\8fà¤\95ा  [$2 à¤\95à¥\87हि à¤\85रà¥\81 à¤«à¤¾à¤\87लहरà¥\81 छन्]}} ।",
-       "api-error-duplicate-archive": "यस à¤¸à¤¾à¤\87à¤\9fमा à¤ªà¤¹à¤¿à¤²à¥\87बाà¤\9f à¤¯à¤¸à¥\8dतà¥\88 à¤¸à¤¾à¤®à¤\97à¥\8dरà¥\80 {{PLURAL:$1|भà¤\8fà¤\95à¥\8b [$2 à¤\85रà¥\8dà¤\95à¥\8b à¤«à¤¾à¤\87ल à¤¥à¤¿à¤¯à¥\8b]|भà¤\8fà¤\95ा  [$2 à¤\95à¥\87हि à¤\85रà¥\81 à¤«à¤¾à¤\87लहरà¥\81 थिए]}} ।\nतर {{PLURAL:$1|यो मेटाइएको थियो|यी मेटाइएका थिए}} ।",
-       "api-error-duplicate-archive-popup-title": "पहिलà¥\87  {{PLURAL:$1|मà¥\87à¤\9fाà¤\87à¤\8fà¤\95à¥\8b à¤«à¤¾à¤\87लà¤\95à¥\8b|मà¥\87à¤\9fाà¤\87à¤\8fà¤\95ा à¤«à¤¾à¤\87लहरà¥\81को}} नकल प्रति बनाउने।",
-       "api-error-duplicate-popup-title": "{{PLURAL:$1|फाà¤\87ल|फाà¤\87लहरà¥\81}} नकल प्रति बनाउने",
+       "api-error-duplicate": "यस à¤¸à¤¾à¤\87à¤\9fमा à¤ªà¤¹à¤¿à¤²à¥\87बाà¤\9f à¤¯à¤¸à¥\8dतà¥\88 à¤¸à¤¾à¤®à¤\97à¥\8dरà¥\80 {{PLURAL:$1|भà¤\8fà¤\95à¥\8b [$2 à¤\85रà¥\8dà¤\95à¥\8b à¤«à¤¾à¤\87ल à¤\9b]|भà¤\8fà¤\95ा  [$2 à¤\95à¥\87हि à¤\85रà¥\81 à¤«à¤¾à¤\87लहरà¥\82 छन्]}} ।",
+       "api-error-duplicate-archive": "यस à¤¸à¤¾à¤\87à¤\9fमा à¤ªà¤¹à¤¿à¤²à¥\87बाà¤\9f à¤¯à¤¸à¥\8dतà¥\88 à¤¸à¤¾à¤®à¤\97à¥\8dरà¥\80 {{PLURAL:$1|भà¤\8fà¤\95à¥\8b [$2 à¤\85रà¥\8dà¤\95à¥\8b à¤«à¤¾à¤\87ल à¤¥à¤¿à¤¯à¥\8b]|भà¤\8fà¤\95ा  [$2 à¤\95à¥\87हि à¤\85रà¥\81 à¤«à¤¾à¤\87लहरà¥\82 थिए]}} ।\nतर {{PLURAL:$1|यो मेटाइएको थियो|यी मेटाइएका थिए}} ।",
+       "api-error-duplicate-archive-popup-title": "पहिलà¥\87  {{PLURAL:$1|मà¥\87à¤\9fाà¤\87à¤\8fà¤\95à¥\8b à¤«à¤¾à¤\87लà¤\95à¥\8b|मà¥\87à¤\9fाà¤\87à¤\8fà¤\95ा à¤«à¤¾à¤\87लहरà¥\82को}} नकल प्रति बनाउने।",
+       "api-error-duplicate-popup-title": "{{PLURAL:$1|फाà¤\87ल|फाà¤\87लहरà¥\82}} नकल प्रति बनाउने",
        "api-error-empty-file": "तपाईंले बुझाएको फाइल खालि छ।",
        "api-error-emptypage": "नयाँ तयार गर्दै, खाली पृष्ठ तयार गर्न अनुमति छैन ।",
        "api-error-fetchfileerror": "आन्तरिक समस्याः फाइल तान्दा केही कुरा गलत भएछ ।",
index fc32455..a83fec2 100644 (file)
        "directorynotreadableerror": "Ścieżka \"$1\" nie jest odczytywalna.",
        "filenotfound": "Nie można znaleźć pliku „$1”.",
        "unexpected": "Nieoczekiwana wartość „$1”=„$2”.",
-       "formerror": "Błąd: nie można wysłać formularza",
+       "formerror": "Błąd: nie można wysłać formularza.",
        "badarticleerror": "Dla tej strony ta operacja nie może być wykonana.",
        "cannotdelete": "Nie można usunąć strony lub pliku „$1”.\nMożliwe, że zostało to już zrobione przez kogoś innego.",
        "cannotdelete-title": "Strona „$1” nie może być usunięta.",
index cd2e0e2..cf3b9e4 100644 (file)
        "deletedarticle": "This is a ''logentry'' message. Parameters:\n* $1 - deleted page name\n{{Identical|Deleted}}",
        "suppressedarticle": "Part of a [[mw:Manual:RevisionDelete|RevisionDelete]] log entry. Parameters:\n* $1 - suppressed page name\n{{Identical|Suppressed}}",
        "undeletedarticle": "This is a ''logentry'' message. Parameters:\n* $1 - restored (undeleted) page name",
-       "patrol-log-line": "Text of notes on entries in the [http://translatewiki.net/w/i.php?title=Special%3ALog&type=patrol&user=&page=&year=&month=-1 patrol log].\nParameters:\n* $1 - the link whose text is {{msg-mw|patrol-log-diff}}\n* $2 - the name of the page\n* $3 - appears to be {{msg-mw|Patrol-log-auto}} (at least sometimes)\n\nThe message appears after the name of the patroller.",
+       "patrol-log-line": "Text of notes on entries in the [{{FULLURL:Special:Log|type=patrol}} patrol log].\nParameters:\n* $1 - the link whose text is {{msg-mw|patrol-log-diff}}\n* $2 - the name of the page\n* $3 - appears to be {{msg-mw|Patrol-log-auto}} (at least sometimes)\n\nThe message appears after the name of the patroller.",
        "patrol-log-auto": "Automated edit summary when patrolling.\n\n{{Identical|Automatic}}",
        "patrol-log-diff": "The text of the diff link in {{msg-mw|Patrol-log-line}} (inside <code>$1</code> there).\n\nParameters:\n* $1 - revision ID\n{{Identical|Revision}}",
        "1movedto2": "{{ignored}}This is ''logentry'' message only used on IRC. Parameters:\n* $1 - the original page name\n* $2 - the destination page name\nSee also:\n* {{msg-mw|1movedto2 redir}}",
index afeccc7..b06fe21 100644 (file)
        "cachedspecial-viewing-cached-ts": "Вы просматриваете кэшированную версию этой страницы, которая может серьёзно отличаться от текущей версии.",
        "cachedspecial-refresh-now": "Просмотреть последнюю версию.",
        "categories": "Категории",
-       "categoriespagetext": "{{PLURAL:$1|1=Следующая категория содержит|Следующие категории содержат}} страницы или медиа-файлы.\nЗдесь не показаны [[Special:UnusedCategories|неиспользуемые категории]].\nСм. также [[Special:WantedCategories|список требуемых категорий]].",
+       "categoriespagetext": "{{PLURAL:$1|1=Следующая категория содержит|Следующие категории содержат}} страницы или медиафайлы.\nЗдесь не показаны [[Special:UnusedCategories|неиспользуемые категории]].\nСм. также [[Special:WantedCategories|список требуемых категорий]].",
        "categoriesfrom": "Показать категории, начинающиеся с:",
        "special-categories-sort-count": "упорядочить по количеству",
        "special-categories-sort-abc": "упорядочить по алфавиту",
        "tooltip-t-permalink": "Постоянная ссылка на эту версию страницы",
        "tooltip-ca-nstab-main": "Просмотр основной страницы",
        "tooltip-ca-nstab-user": "Персональная страница участника",
-       "tooltip-ca-nstab-media": "Медиа-файл",
+       "tooltip-ca-nstab-media": "Медиафайл",
        "tooltip-ca-nstab-special": "Это служебная страница, она недоступна для редактирования",
        "tooltip-ca-nstab-project": "Страница проекта",
        "tooltip-ca-nstab-image": "Страница файла",
        "exif-ycbcrpositioning-1": "Центрированный",
        "exif-ycbcrpositioning-2": "CO-sited",
        "exif-dc-contributor": "Соавторы",
-       "exif-dc-coverage": "Пространственные или временные рамки медиа",
+       "exif-dc-coverage": "Пространственные или временные рамки медиафайлов",
        "exif-dc-date": "Дата(ы)",
        "exif-dc-publisher": "Издатель",
        "exif-dc-relation": "Связанные медиа",
        "exif-dc-rights": "Права",
-       "exif-dc-source": "Исходное медиа",
-       "exif-dc-type": "Тип медиа",
+       "exif-dc-source": "Исходный медиафайл",
+       "exif-dc-type": "Тип медиафайла",
        "exif-rating-rejected": "Отклонено",
        "exif-isospeedratings-overflow": "Более 65535",
        "exif-iimcategory-ace": "Искусство, культура и развлечения",
index 46d0f16..39f7b1e 100644 (file)
        "uploaddisabledtext": "已停用檔案上傳。",
        "php-uploaddisabledtext": "PHP 已停用檔案上傳。\n請檢查 file_uploads 設定。",
        "uploadscripted": "此檔案包含可能會被網頁瀏覽器錯誤執行的 HTML 或 Script。",
-       "upload-scripted-pi-callback": "無法上傳包含 xml-stylesheet 處理命令的檔案。",
+       "upload-scripted-pi-callback": "無法上傳包含 XML-stylesheet 處理命令的檔案。",
        "uploaded-script-svg": "於已上傳的 SVG 檔案中找到可程式的腳本標籤 \"$1\"。",
        "uploaded-hostile-svg": "於已上傳的 SVG 檔案的樣式標籤中找到不安全的 CSS。",
        "uploaded-event-handler-on-svg": "不允許在 SVG 檔案設定 event-handler 屬性 <code>$1=\"$2\"</code>。",
-       "uploaded-href-attribute-svg": "不允許在 SVG 檔案中的 Href 屬性 <code>&lt;$1 $2=\"$3\"&gt;</code> 使用非本地的目標  (例如 http://, javascript:, 等)。",
+       "uploaded-href-attribute-svg": "不允許在 SVG 檔案中的 href 屬性 <code>&lt;$1 $2=\"$3\"&gt;</code> 使用非本地的目標  (例如 http://, javascript:, 等)。",
        "uploaded-href-unsafe-target-svg": "於已上傳的 SVG 檔案中找到 href 連結至不安全的目標 <code>&lt;$1 $2=\"$3\"&gt;</code>。",
        "uploaded-animate-svg": "於已上傳的 SVG 檔案中找到 \"animate\" 標籤可能會使用 \"from\" 屬性 <code>&lt;$1 $2=\"$3\"&gt;</code> 更改 href。",
        "uploaded-setting-event-handler-svg": "於已上傳的 SVG 檔案中找到 <code>&lt;$1 $2=\"$3\"&gt;</code>,已禁止設定 event-handler 屬性。",
index 8adae2d..ce95e3a 100644 (file)
@@ -182,7 +182,7 @@ class ConvertExtensionToRegistration extends Maintenance {
                $this->json[$realName] = $out;
        }
 
-       protected function handleCredits( $realName, $value) {
+       protected function handleCredits( $realName, $value ) {
                $keys = array_keys( $value );
                $this->json['type'] = $keys[0];
                $values = array_values( $value );
index 08af11a..9cf7b2b 100644 (file)
@@ -18,7 +18,7 @@ class ValidateRegistrationFile extends Maintenance {
                        $this->error( "$path is not a valid JSON file.", 1 );
                }
                if ( !isset( $data->manifest_version ) ) {
-                       $this->output("Warning: No manifest_version set, assuming 1.\n" );
+                       $this->output( "Warning: No manifest_version set, assuming 1.\n" );
                        // For backwards-compatability assume 1
                        $data->manifest_version = 1;
                }
@@ -39,7 +39,7 @@ class ValidateRegistrationFile extends Maintenance {
                                . ExtensionRegistry::MANIFEST_VERSION . "\n" );
                }
                $retriever = new JsonSchema\Uri\UriRetriever();
-               $schema = $retriever->retrieve('file://' . $schemaPath );
+               $schema = $retriever->retrieve( 'file://' . $schemaPath );
 
                $validator = new JsonSchema\Validator();
                $validator->check( $data, $schema );
index 7c2a9df..c280770 100644 (file)
@@ -820,7 +820,10 @@ return array(
        ),
        'mediawiki.api' => array(
                'scripts' => 'resources/src/mediawiki.api/mediawiki.api.js',
-               'dependencies' => 'mediawiki.util',
+               'dependencies' => array(
+                       'mediawiki.util',
+                       'user.tokens',
+               ),
                'targets' => array( 'desktop', 'mobile' ),
        ),
        'mediawiki.api.category' => array(
@@ -835,7 +838,6 @@ return array(
                'dependencies' => array(
                        'mediawiki.api',
                        'mediawiki.Title',
-                       'user.tokens',
                ),
                'targets' => array( 'desktop', 'mobile' ),
        ),
@@ -856,7 +858,6 @@ return array(
                'scripts' => 'resources/src/mediawiki.api/mediawiki.api.watch.js',
                'dependencies' => array(
                        'mediawiki.api',
-                       'user.tokens',
                ),
        ),
        'mediawiki.content.json' => array(
index 058a149..493920d 100644 (file)
@@ -10,7 +10,8 @@
                        "زكريا",
                        "مشعل الحربي",
                        "ترجمان05",
-                       "Abanima"
+                       "Abanima",
+                       "محمد أحمد عبد الفتاح"
                ]
        },
        "ooui-outline-control-move-down": "انقل العنصر للأسفل",
@@ -24,5 +25,7 @@
        "ooui-dialog-process-error": "حدث خطأ",
        "ooui-dialog-process-dismiss": "أغلق",
        "ooui-dialog-process-retry": "حاول مرة أخرى",
-       "ooui-dialog-process-continue": "استمر"
+       "ooui-dialog-process-continue": "استمر",
+       "ooui-selectfile-not-supported": "تحديد الملفات غير مدعوم",
+       "ooui-selectfile-placeholder": "لم يختر أي ملف"
 }
index d50e62d..f0fae3c 100644 (file)
@@ -19,5 +19,6 @@
        "ooui-dialog-message-reject": "Mégse",
        "ooui-dialog-process-dismiss": "Elrejt",
        "ooui-dialog-process-retry": "Próbáld újra",
-       "ooui-dialog-process-continue": "Folytatás"
+       "ooui-dialog-process-continue": "Folytatás",
+       "ooui-selectfile-placeholder": "Nincs fájl kiválasztva"
 }
index 0ff8af8..387d736 100644 (file)
@@ -12,7 +12,8 @@
                        "Minerva Titani",
                        "Raoli",
                        "Una giornata uggiosa '94",
-                       "Ontsed"
+                       "Ontsed",
+                       "Alexmar983"
                ]
        },
        "ooui-outline-control-move-down": "Sposta in basso",
@@ -26,5 +27,7 @@
        "ooui-dialog-process-error": "Qualcosa è andato storto",
        "ooui-dialog-process-dismiss": "Nascondi",
        "ooui-dialog-process-retry": "Riprova",
-       "ooui-dialog-process-continue": "Continua"
+       "ooui-dialog-process-continue": "Continua",
+       "ooui-selectfile-not-supported": "La selezione del file non è supportata",
+       "ooui-selectfile-placeholder": "Nessun file è selezionato"
 }
index ef92e49..bc3cf0b 100644 (file)
@@ -15,5 +15,8 @@
        "ooui-dialog-process-error": "Не эсе да табсыз кетди",
        "ooui-dialog-process-dismiss": "Джаб",
        "ooui-dialog-process-retry": "Энтда сынаб кёр",
-       "ooui-dialog-process-continue": "Бардыр"
+       "ooui-dialog-process-continue": "Бардыр",
+       "ooui-selectfile-not-supported": "Файл сайлау тутулмайды",
+       "ooui-selectfile-placeholder": "Бир файл да сайланмагъанды",
+       "ooui-semicolon-separator": ";"
 }
index 7c7b176..8eba859 100644 (file)
@@ -31,5 +31,6 @@
        "ooui-dialog-process-error": "Er is iets misgegaan",
        "ooui-dialog-process-dismiss": "Sluiten",
        "ooui-dialog-process-retry": "Opnieuw proberen",
-       "ooui-dialog-process-continue": "Doorgaan"
+       "ooui-dialog-process-continue": "Doorgaan",
+       "ooui-selectfile-placeholder": "Er is geen bestand geselecteerd"
 }
index 3fd8d36..3f59200 100644 (file)
@@ -14,7 +14,8 @@
                        "Spring Roll Conan",
                        "Waihorace",
                        "Cwlin0416",
-                       "LNDDYL"
+                       "LNDDYL",
+                       "Shangkuanlc"
                ]
        },
        "ooui-outline-control-move-down": "項目下移",
@@ -28,5 +29,7 @@
        "ooui-dialog-process-error": "發生不明錯誤",
        "ooui-dialog-process-dismiss": "關閉",
        "ooui-dialog-process-retry": "再試一次",
-       "ooui-dialog-process-continue": "繼續"
+       "ooui-dialog-process-continue": "繼續",
+       "ooui-selectfile-not-supported": "無法支援所選擇的檔案",
+       "ooui-selectfile-placeholder": "沒有選擇檔案"
 }
index 13e9d27..34991fd 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.11.4
+ * OOjs UI v0.11.5
  * 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-06-09T22:03:21Z
+ * Date: 2015-06-17T00:59:03Z
  */
 @-webkit-keyframes oo-ui-progressBarWidget-slide {
        from {
 .oo-ui-buttonElement-frameless.oo-ui-labelElement > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        margin-left: 0.25em;
 }
+.oo-ui-buttonElement-frameless > input.oo-ui-buttonElement-button {
+       padding-left: 0.25em;
+       color: #333333;
+}
+.oo-ui-buttonElement-frameless > input.oo-ui-buttonElement-button:hover,
+.oo-ui-buttonElement-frameless > input.oo-ui-buttonElement-button:focus {
+       color: #000000;
+}
 .oo-ui-buttonElement-frameless.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        color: #087ecc;
 }
 .oo-ui-fieldLayout > .oo-ui-popupButtonWidget:last-child {
        margin-right: 0;
 }
-.oo-ui-fieldLayout-disabled .oo-ui-labelElement-label {
+.oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label {
        color: #cccccc;
 }
 .oo-ui-actionFieldLayout-input,
        display: inline-block;
        vertical-align: middle;
 }
+.oo-ui-buttonInputWidget > button,
+.oo-ui-buttonInputWidget > input {
+       border: 0;
+       padding: 0;
+       background-color: transparent;
+}
 .oo-ui-dropdownInputWidget {
        position: relative;
        vertical-align: middle;
index 9bdac7b..e19c127 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.11.4
+ * OOjs UI v0.11.5
  * 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-06-09T22:03:14Z
+ * Date: 2015-06-17T00:58:56Z
  */
 /**
  * @class
index 72cc1e3..76aeeac 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.11.4
+ * OOjs UI v0.11.5
  * 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-06-09T22:03:21Z
+ * Date: 2015-06-17T00:59:03Z
  */
 @-webkit-keyframes oo-ui-progressBarWidget-slide {
        from {
        margin-left: 0.25em;
        margin-right: 0.25em;
 }
+.oo-ui-buttonElement-frameless > input.oo-ui-buttonElement-button {
+       padding-left: 0.25em;
+       padding-right: 0.25em;
+       color: #333333;
+}
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled > input.oo-ui-buttonElement-button,
 .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        color: #555555;
 }
+.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > input.oo-ui-buttonElement-button,
 .oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-buttonElement-pressed > .oo-ui-buttonElement-button > .oo-ui-labelElement-label {
        color: #444444;
 }
 .oo-ui-fieldLayout > .oo-ui-popupButtonWidget:last-child {
        margin-right: 0;
 }
-.oo-ui-fieldLayout-disabled .oo-ui-labelElement-label {
+.oo-ui-fieldLayout-disabled > .oo-ui-fieldLayout-body > .oo-ui-labelElement-label {
        color: #cccccc;
 }
 .oo-ui-actionFieldLayout-input,
        display: inline-block;
        vertical-align: middle;
 }
+.oo-ui-buttonInputWidget > button,
+.oo-ui-buttonInputWidget > input {
+       border: 0;
+       padding: 0;
+       background-color: transparent;
+}
 .oo-ui-checkboxInputWidget {
        position: relative;
        line-height: 1.6em;
index db175a5..bb4e8a9 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.11.4
+ * OOjs UI v0.11.5
  * 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-06-09T22:03:14Z
+ * Date: 2015-06-17T00:58:56Z
  */
 /**
  * @class
index e824a8f..b4bb365 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.11.4
+ * OOjs UI v0.11.5
  * 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-06-09T22:03:14Z
+ * Date: 2015-06-17T00:58:56Z
  */
 ( function ( OO ) {
 
@@ -13724,7 +13724,6 @@ OO.ui.RadioSelectInputWidget = function OoUiRadioSelectInputWidget( config ) {
        this.setOptions( config.options || [] );
        this.$element
                .addClass( 'oo-ui-radioSelectInputWidget' )
-               .empty()
                .append( this.radioSelectWidget.$element );
 };
 
@@ -14477,6 +14476,14 @@ OO.ui.ComboBoxWidget.prototype.getMenu = function () {
        return this.menu;
 };
 
+/**
+ * Get the combobox's text input widget.
+ * @return {OO.ui.TextInputWidget} Text input widget
+ */
+OO.ui.ComboBoxWidget.prototype.getInput = function () {
+       return this.input;
+};
+
 /**
  * Handle input change events.
  *
@@ -16894,8 +16901,10 @@ OO.mixinClass( OO.ui.RadioSelectWidget, OO.ui.mixin.TabIndexedElement );
  * @cfg {OO.ui.TextInputWidget} [input] Text input used to implement option highlighting for menu items that match
  *  the text the user types. This config is used by {@link OO.ui.ComboBoxWidget ComboBoxWidget}
  *  and {@link OO.ui.mixin.LookupElement LookupElement}
- * @cfg {OO.ui.Widget} [widget] Widget associated with the menu’s active state. If the user clicks the mouse
- *  anywhere on the page outside of this widget, the menu is hidden.
+ * @cfg {OO.ui.Widget} [widget] Widget associated with the menu's active state. If the user clicks the mouse
+ *  anywhere on the page outside of this widget, the menu is hidden. For example, if there is a button
+ *  that toggles the menu's visibility on click, the menu will be hidden then re-shown when the user clicks
+ *  that button, unless the button (or its parent widget) is passed in here.
  * @cfg {boolean} [autoHide=true] Hide the menu when the mouse is pressed outside the menu.
  */
 OO.ui.MenuSelectWidget = function OoUiMenuSelectWidget( config ) {
index 1f12f2a..d4be285 100644 (file)
                        "ltr": "images/icons/lock-ltr.svg",
                        "rtl": "images/icons/lock-rtl.svg"
                }, "variants": [ "destructive" ] },
+               "ongoingConversation": { "file": {
+                       "ltr": "images/icons/ongoingConversation-ltr.svg",
+                       "rtl": "images/icons/ongoingConversation-rtl.svg"
+               } },
                "star": { "file": "images/icons/star.svg" },
                "trash": { "file": "images/icons/trash.svg" },
                "trashUndo": { "file": {
index d385eb1..a311de0 100644 (file)
@@ -25,7 +25,7 @@
                "advanced": { "file": "images/icons/advanced.svg" },
                "alert": { "file": "images/icons/alert.svg", "variants": [ "warning" ] },
                "cancel": { "file": "images/icons/cancel.svg" },
-               "check": { "file": "images/icons/check.svg", "variants": [ "constructive", "progressive" ] },
+               "check": { "file": "images/icons/check.svg", "variants": [ "constructive", "progressive", "destructive" ] },
                "circle": { "file": "images/icons/circle.svg", "variants": [ "constructive" ] },
                "close": { "file": {
                        "ltr": "images/icons/close-ltr.svg",
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-destructive.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-destructive.png
new file mode 100644 (file)
index 0000000..9577504
Binary files /dev/null and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-destructive.png differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-destructive.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/check-destructive.svg
new file mode 100644 (file)
index 0000000..7e09e65
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><style>* { fill: #D11D13 }</style>
+    <g id="check">
+        <path d="M17 7.5L9.5 15 6 11.5 4.5 13l5 5L20 7.5c-.706-.706-2.294-.706-3 0z"/>
+    </g>
+</svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-invert.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-invert.png
new file mode 100644 (file)
index 0000000..5db6cf8
Binary files /dev/null and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-invert.png differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-invert.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr-invert.svg
new file mode 100644 (file)
index 0000000..5385f32
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><style>* { fill: #FFFFFF }</style>
+    <g id="ongoing-conversation" fill-rule="evenodd">
+        <path d="M17.8 18.6H2.5l2.7-2.7V6h15.3v9.9c0 1.53-1.17 2.7-2.7 2.7zm-7.542-4.95c0 .405-.135.675-.405.945-.27.27-.607.405-.945.405-.405 0-.675-.135-.945-.405-.27-.27-.405-.607-.405-.945 0-.338.135-.675.405-.945.27-.27.608-.405.945-.405.338 0 .675.135.945.405.27.27.405.607.405.945zm4.05 0c0 .405-.135.675-.405.945-.27.27-.607.405-.945.405-.405 0-.675-.135-.945-.405-.27-.27-.405-.607-.405-.945 0-.338.135-.675.405-.945.27-.27.608-.405.945-.405.338 0 .675.135.945.405.27.27.405.607.405.945zm4.05 0c0 .405-.135.675-.405.945-.27.27-.607.405-.945.405-.405 0-.675-.135-.945-.405-.27-.27-.405-.607-.405-.945 0-.338.135-.675.405-.945.27-.27.608-.405.945-.405.338 0 .675.135.945.405.27.27.405.607.405.945z"/>
+    </g>
+</svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr.png
new file mode 100644 (file)
index 0000000..eff32eb
Binary files /dev/null and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr.png differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-ltr.svg
new file mode 100644 (file)
index 0000000..5d4b3ac
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+    <g id="ongoing-conversation" fill-rule="evenodd">
+        <path d="M17.8 18.6H2.5l2.7-2.7V6h15.3v9.9c0 1.53-1.17 2.7-2.7 2.7zm-7.542-4.95c0 .405-.135.675-.405.945-.27.27-.607.405-.945.405-.405 0-.675-.135-.945-.405-.27-.27-.405-.607-.405-.945 0-.338.135-.675.405-.945.27-.27.608-.405.945-.405.338 0 .675.135.945.405.27.27.405.607.405.945zm4.05 0c0 .405-.135.675-.405.945-.27.27-.607.405-.945.405-.405 0-.675-.135-.945-.405-.27-.27-.405-.607-.405-.945 0-.338.135-.675.405-.945.27-.27.608-.405.945-.405.338 0 .675.135.945.405.27.27.405.607.405.945zm4.05 0c0 .405-.135.675-.405.945-.27.27-.607.405-.945.405-.405 0-.675-.135-.945-.405-.27-.27-.405-.607-.405-.945 0-.338.135-.675.405-.945.27-.27.608-.405.945-.405.338 0 .675.135.945.405.27.27.405.607.405.945z"/>
+    </g>
+</svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-invert.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-invert.png
new file mode 100644 (file)
index 0000000..dd93100
Binary files /dev/null and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-invert.png differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-invert.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl-invert.svg
new file mode 100644 (file)
index 0000000..451f247
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><style>* { fill: #FFFFFF }</style>
+    <g id="ongoing-conversation" fill-rule="evenodd">
+        <path d="M5.2 18.6h15.3l-2.7-2.7V6H2.5v9.9c0 1.53 1.17 2.7 2.7 2.7zm7.542-4.95c0 .405.135.675.405.945.27.27.607.405.945.405.405 0 .675-.135.945-.405.27-.27.405-.607.405-.945 0-.337-.135-.675-.405-.945-.27-.27-.608-.405-.945-.405-.338 0-.675.135-.945.405-.27.27-.405.607-.405.945zm-4.05 0c0 .405.135.675.405.945.27.27.608.405.945.405.405 0 .675-.135.945-.405.27-.27.405-.607.405-.945 0-.337-.135-.675-.405-.945-.27-.27-.608-.405-.945-.405-.338 0-.675.135-.945.405-.27.27-.405.608-.405.945zm-4.05 0c0 .405.135.675.405.945.27.27.608.405.945.405.405 0 .675-.135.945-.405.27-.27.405-.607.405-.945 0-.337-.135-.675-.405-.945-.27-.27-.607-.405-.945-.405-.337 0-.675.135-.945.405-.27.27-.405.608-.405.945z"/>
+    </g>
+</svg>
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl.png b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl.png
new file mode 100644 (file)
index 0000000..9a22767
Binary files /dev/null and b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl.png differ
diff --git a/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl.svg b/resources/lib/oojs-ui/themes/mediawiki/images/icons/ongoingConversation-rtl.svg
new file mode 100644 (file)
index 0000000..9e5b7f6
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
+    <g id="ongoing-conversation" fill-rule="evenodd">
+        <path d="M5.2 18.6h15.3l-2.7-2.7V6H2.5v9.9c0 1.53 1.17 2.7 2.7 2.7zm7.542-4.95c0 .405.135.675.405.945.27.27.607.405.945.405.405 0 .675-.135.945-.405.27-.27.405-.607.405-.945 0-.337-.135-.675-.405-.945-.27-.27-.608-.405-.945-.405-.338 0-.675.135-.945.405-.27.27-.405.607-.405.945zm-4.05 0c0 .405.135.675.405.945.27.27.608.405.945.405.405 0 .675-.135.945-.405.27-.27.405-.607.405-.945 0-.337-.135-.675-.405-.945-.27-.27-.608-.405-.945-.405-.338 0-.675.135-.945.405-.27.27-.405.608-.405.945zm-4.05 0c0 .405.135.675.405.945.27.27.608.405.945.405.405 0 .675-.135.945-.405.27-.27.405-.607.405-.945 0-.337-.135-.675-.405-.945-.27-.27-.607-.405-.945-.405-.337 0-.675.135-.945.405-.27.27-.405.608-.405.945z"/>
+    </g>
+</svg>
index f2c9cb4..6808105 100644 (file)
@@ -76,7 +76,7 @@ class LinkFilterTest extends MediaWikiLangTestCase {
                        array( 'https://', '*.com', 'https://name:pass@secure.com/index.html' ),
                        array( 'http://', 'name:pass@test.com', 'http://test.com' ),
                        array( 'http://', 'test.com', 'http://name:pass@test.com' ),
-                       array( 'http://', '*.test.com', 'http://a.b.c.test.com/dir/dir/file?a=6'),
+                       array( 'http://', '*.test.com', 'http://a.b.c.test.com/dir/dir/file?a=6' ),
                        array( null, 'http://*.test.com', 'http://www.test.com' ),
                        array( 'mailto:', 'name@mail.test123.com', 'mailto:name@mail.test123.com' ),
                        array( '',
@@ -122,8 +122,8 @@ class LinkFilterTest extends MediaWikiLangTestCase {
                        array( '', 'git://github.com/prwef/abc-def.git', 'git://github.com/prwef/abc-def.git' ),
                        array( 'git://', 'github.com/', 'git://github.com/prwef/abc-def.git' ),
                        array( 'git://', '*.github.com/', 'git://a.b.c.d.e.f.github.com/prwef/abc-def.git' ),
-                       array( '', 'gopher://*.test.com/', 'gopher://gopher.test.com/0/v2/vstat'),
-                       array( 'telnet://', '*.test.com', 'telnet://shell.test.com/~home/'),
+                       array( '', 'gopher://*.test.com/', 'gopher://gopher.test.com/0/v2/vstat' ),
+                       array( 'telnet://', '*.test.com', 'telnet://shell.test.com/~home/' ),
 
                        //
                        // The following only work in PHP >= 5.3.7, due to a bug in parse_url which eats
@@ -243,10 +243,10 @@ class LinkFilterTest extends MediaWikiLangTestCase {
                        array( 'http://*.test.*' ),
                        array( 'http://*test.com' ),
                        array( 'https://*' ),
-                       array( '*://test.com'),
+                       array( '*://test.com' ),
                        array( 'mailto:name:pass@t*est.com' ),
-                       array( 'http://*:888/'),
-                       array( '*http://'),
+                       array( 'http://*:888/' ),
+                       array( '*http://' ),
                        array( 'test.com/*/index' ),
                        array( 'test.com/dir/index?arg=*' ),
                );
index 9501e45..0ef2fa6 100644 (file)
@@ -57,7 +57,7 @@ class MovePageTest extends MediaWikiTestCase {
                        WikiPage::factory( $oldTitle )->getRevision()
                );
                $this->assertNotNull(
-                       WikiPage::factory( $newTitle)->getRevision()
+                       WikiPage::factory( $newTitle )->getRevision()
                );
        }
 }
index 6c6d95e..7dddf77 100644 (file)
@@ -244,36 +244,36 @@ document.write("\u003Cscript src=\"http://127.0.0.1:8080/w/load.php?debug=false\
                        'test.foo' => new ResourceLoaderTestModule( array(
                                'script' => 'mw.test.foo( { a: true } );',
                                'styles' => '.mw-test-foo { content: "style"; }',
-                       )),
+                       ) ),
                        'test.bar' => new ResourceLoaderTestModule( array(
                                'script' => 'mw.test.bar( { a: true } );',
                                'styles' => '.mw-test-bar { content: "style"; }',
-                       )),
+                       ) ),
                        'test.baz' => new ResourceLoaderTestModule( array(
                                'script' => 'mw.test.baz( { a: true } );',
                                'styles' => '.mw-test-baz { content: "style"; }',
-                       )),
+                       ) ),
                        'test.quux' => new ResourceLoaderTestModule( array(
                                'script' => 'mw.test.baz( { token: 123 } );',
                                'styles' => '/* pref-animate=off */ .mw-icon { transition: none; }',
                                'group' => 'private',
-                       )),
+                       ) ),
                        'test.raw' => new ResourceLoaderTestModule( array(
                                'script' => 'mw.test.baz( { token: 123 } );',
                                'isRaw' => true,
-                       )),
+                       ) ),
                        'test.noscript' => new ResourceLoaderTestModule( array(
                                'styles' => '.mw-test-noscript { content: "style"; }',
                                'group' => 'noscript',
-                       )),
+                       ) ),
                        'test.group.bar' => new ResourceLoaderTestModule( array(
                                'styles' => '.mw-group-bar { content: "style"; }',
                                'group' => 'bar',
-                       )),
+                       ) ),
                        'test.group.foo' => new ResourceLoaderTestModule( array(
                                'styles' => '.mw-group-foo { content: "style"; }',
                                'group' => 'foo',
-                       )),
+                       ) ),
                ) );
                $links = $method->invokeArgs( $out, $args );
                // Strip comments to avoid variation due to wgDBname in WikiID and cache key
@@ -286,19 +286,19 @@ document.write("\u003Cscript src=\"http://127.0.0.1:8080/w/load.php?debug=false\
  * MessageBlobStore that doesn't do anything
  */
 class NullMessageBlobStore extends MessageBlobStore {
-       public function get ( ResourceLoader $resourceLoader, $modules, $lang ) {
+       public function get( ResourceLoader $resourceLoader, $modules, $lang ) {
                return array();
        }
 
-       public function insertMessageBlob ( $name, ResourceLoaderModule $module, $lang ) {
+       public function insertMessageBlob( $name, ResourceLoaderModule $module, $lang ) {
                return false;
        }
 
-       public function updateModule ( $name, ResourceLoaderModule $module, $lang ) {
+       public function updateModule( $name, ResourceLoaderModule $module, $lang ) {
                return;
        }
 
-       public function updateMessage ( $key ) {
+       public function updateMessage( $key ) {
        }
        public function clear() {
        }
index c013f4f..291ed31 100644 (file)
@@ -372,7 +372,7 @@ class StatusTest extends MediaWikiLangTestCase {
                );
 
                $status = new Status();
-               $status->warning( new Message( 'fooBar!', array( 'foo', 'bar' )  ) );
+               $status->warning( new Message( 'fooBar!', array( 'foo', 'bar' ) ) );
                $testCases['1MessageWarning'] = array(
                        $status,
                        "<fooBar!>",
@@ -449,7 +449,7 @@ class StatusTest extends MediaWikiLangTestCase {
 //             );
 
                $status = new Status();
-               $status->warning( new Message( 'fooBar!', array( 'foo', 'bar' )  ) );
+               $status->warning( new Message( 'fooBar!', array( 'foo', 'bar' ) ) );
                $testCases['1MessageWarning'] = array(
                        $status,
                        array( 'foo', 'bar' ),
index a8cffd1..a2c6f23 100644 (file)
@@ -145,7 +145,7 @@ class TitleTest extends MediaWikiTestCase {
                                        }
                                )
                        )
-               ));
+               ) );
        }
 
        /**
index d98eec6..880572b 100644 (file)
@@ -68,7 +68,7 @@ class ApiBlockTest extends ApiTestCase {
         * @expectedException UsageException
         * @expectedExceptionMessage The token parameter must be set
         */
-       public function testBlockingActionWithNoToken( ) {
+       public function testBlockingActionWithNoToken() {
                $this->doApiRequest(
                        array(
                                'action' => 'block',
index 865f1c2..fa528da 100644 (file)
@@ -218,7 +218,7 @@ class ApiEditPageTest extends ApiTestCase {
                        'section' => 'new',
                        'text' => 'test',
                        'summary' => 'header',
-               ));
+               ) );
 
                $this->assertEquals( 'Success', $re['edit']['result'] );
                // Check the page text is correct
@@ -235,7 +235,7 @@ class ApiEditPageTest extends ApiTestCase {
                        'section' => 'new',
                        'text' => 'test',
                        'summary' => 'header',
-               ));
+               ) );
 
                $this->assertEquals( 'Success', $re2['edit']['result'] );
                $text = WikiPage::factory( Title::newFromText( $name ) )
index 2c2370a..e9dff9f 100644 (file)
@@ -16,7 +16,7 @@ class ApiUnblockTest extends ApiTestCase {
        /**
         * @expectedException UsageException
         */
-       public function testWithNoToken( ) {
+       public function testWithNoToken() {
                $this->doApiRequest(
                        array(
                                'action' => 'unblock',
index 06973b0..4aa3e30 100644 (file)
@@ -30,7 +30,7 @@ class HashConfigTest extends MediaWikiTestCase {
        public function testGet() {
                $conf = new HashConfig( array(
                        'one' => '1',
-               ));
+               ) );
                $this->assertEquals( '1', $conf->get( 'one' ) );
                $this->setExpectedException( 'ConfigException', 'HashConfig::get: undefined option' );
                $conf->get( 'two' );
index cccfe7b..8a9d2ab 100644 (file)
@@ -138,7 +138,7 @@ class JsonContentTest extends MediaWikiLangTestCase {
                                '<tr><th>0</th><td class="value">"bar"</td></tr></tbody></table>'
                        ),
                        array(
-                               (object)array( '<script>alert("evil!")</script>'),
+                               (object)array( '<script>alert("evil!")</script>' ),
                                '<table class="mw-json"><tbody><tr><th>0</th><td class="value">"' .
                                '&lt;script>alert("evil!")&lt;/script>"' .
                                '</td></tr></tbody></table>',
index b4292a6..42ea58e 100644 (file)
@@ -181,7 +181,7 @@ class DatabaseMysqlBaseTest extends MediaWikiTestCase {
                                array( 'Tables_in_' => 'view2' ),
                                array( 'Tables_in_' => 'myview' ),
                                false  # no more rows
-                       ));
+                       ) );
                return $db;
        }
        /**
index 3bea9b3..a546bec 100644 (file)
@@ -69,11 +69,11 @@ class ArrayDiffFormatterTest extends MediaWikiTestCase {
 
                $otherTestCases = array();
                $otherTestCases[] = array(
-                       $this->getMockDiff( array( $this->getMockDiffOp( 'add', array( ), array( 'a1' ) ) ) ),
+                       $this->getMockDiff( array( $this->getMockDiffOp( 'add', array(), array( 'a1' ) ) ) ),
                        array( array( 'action' => 'add', 'new' => 'a1', 'newline' => 1 ) ),
                );
                $otherTestCases[] = array(
-                       $this->getMockDiff( array( $this->getMockDiffOp( 'add', array( ), array( 'a1', 'a2' ) ) ) ),
+                       $this->getMockDiff( array( $this->getMockDiffOp( 'add', array(), array( 'a1', 'a2' ) ) ) ),
                        array(
                                array( 'action' => 'add', 'new' => 'a1', 'newline' => 1 ),
                                array( 'action' => 'add', 'new' => 'a2', 'newline' => 2 ),
index ef0f2a9..f11fda3 100644 (file)
@@ -178,7 +178,7 @@ class MWExceptionTest extends MediaWikiTestCase {
                $this->setMwGlobals( array( 'wgLogExceptionBacktrace' => true ) );
 
                $json = json_decode(
-                       MWExceptionHandler::jsonSerializeException( new $exClass())
+                       MWExceptionHandler::jsonSerializeException( new $exClass() )
                );
                $this->assertObjectHasAttribute( $key, $json,
                        "JSON serialized exception is missing key '$key'"
index a91cc95..32b150c 100644 (file)
@@ -212,7 +212,7 @@ class ArrayUtilsTest extends PHPUnit_Framework_TestCase {
                                array(),
                                array( 1 => 1 ),
                                array( 1 ),
-                               array( 1 => 1),
+                               array( 1 => 1 ),
                        ),
                        array(
                                array(),
index 2440fc0..77b188c 100644 (file)
@@ -255,43 +255,43 @@ class XhprofTest extends PHPUnit_Framework_TestCase {
         */
        protected function getXhprofFixture( array $opts = array() ) {
                $xhprof = new Xhprof( $opts );
-               $xhprof->loadRawData( array (
-                       'foo==>bar' => array (
+               $xhprof->loadRawData( array(
+                       'foo==>bar' => array(
                                'ct' => 2,
                                'wt' => 57,
                                'cpu' => 92,
                                'mu' => 1896,
                                'pmu' => 0,
                        ),
-                       'foo==>strlen' => array (
+                       'foo==>strlen' => array(
                                'ct' => 2,
                                'wt' => 21,
                                'cpu' => 141,
                                'mu' => 752,
                                'pmu' => 0,
                        ),
-                       'bar==>bar@1' => array (
+                       'bar==>bar@1' => array(
                                'ct' => 1,
                                'wt' => 18,
                                'cpu' => 19,
                                'mu' => 752,
                                'pmu' => 0,
                        ),
-                       'main()==>foo' => array (
+                       'main()==>foo' => array(
                                'ct' => 1,
                                'wt' => 304,
                                'cpu' => 307,
                                'mu' => 4008,
                                'pmu' => 0,
                        ),
-                       'main()==>xhprof_disable' => array (
+                       'main()==>xhprof_disable' => array(
                                'ct' => 1,
                                'wt' => 8,
                                'cpu' => 10,
                                'mu' => 768,
                                'pmu' => 392,
                        ),
-                       'main()' => array (
+                       'main()' => array(
                                'ct' => 1,
                                'wt' => 353,
                                'cpu' => 351,
@@ -311,7 +311,7 @@ class XhprofTest extends PHPUnit_Framework_TestCase {
         */
        protected function assertArrayStructure( $struct, $actual, $label = null ) {
                $this->assertInternalType( 'array', $actual, $label );
-               $this->assertCount( count($struct), $actual, $label );
+               $this->assertCount( count( $struct ), $actual, $label );
                foreach ( $struct as $key => $type ) {
                        $this->assertArrayHasKey( $key, $actual );
                        $this->assertInternalType( $type, $actual[$key] );
index 284a67d..10dee83 100644 (file)
@@ -68,7 +68,7 @@ class WANObjectCacheTest extends MediaWikiTestCase {
                $key = wfRandomString();
                for ( $i=0; $i<3; ++$i ) {
                        $value = wfRandomString();
-                       $this->cache->set($key, $value, 3);
+                       $this->cache->set( $key, $value, 3 );
 
                        $this->assertEquals( $this->cache->get( $key ), $value );
                }
index 358d2a1..9d97b28 100644 (file)
@@ -158,7 +158,7 @@ class ResourceLoaderFileModuleTest extends ResourceLoaderTestCase {
         * @covers ResourceLoaderFileModule::getStyles
         * @covers ResourceLoaderFileModule::getStyleFiles
         */
-       public function testMixedCssAnnotations(  ) {
+       public function testMixedCssAnnotations() {
                $basePath = __DIR__ . '/../../data/css';
                $testModule = new ResourceLoaderFileModule( array(
                        'localBasePath' => $basePath,
index ca7307e..cc20e7f 100644 (file)
@@ -16,7 +16,7 @@ class ResourceLoaderTest extends ResourceLoaderTestCase {
                                },
                        ),
                        'wgResourceLoaderLESSImportPaths' => array(
-                               dirname( dirname( __DIR__  ) ) . '/data/less/common',
+                               dirname( dirname( __DIR__ ) ) . '/data/less/common',
                        ),
                        'wgResourceLoaderLESSVars' => array(
                                'foo'  => '2px',
index 599d2a3..10b7e28 100644 (file)
@@ -59,7 +59,7 @@ class ForeignTitleTest extends MediaWikiTestCase {
                $this->assertEquals( $expectedText, $title->getText() );
        }
 
-       public function testUnknownNamespaceCheck( ) {
+       public function testUnknownNamespaceCheck() {
                $title = new ForeignTitle( null, 'this', 'that' );
 
                $this->assertEquals( false, $title->isNamespaceIdKnown() );
@@ -67,7 +67,7 @@ class ForeignTitleTest extends MediaWikiTestCase {
                $this->assertEquals( 'that', $title->getText() );
        }
 
-       public function testUnknownNamespaceError( ) {
+       public function testUnknownNamespaceError() {
                $this->setExpectedException( 'MWException' );
                $title = new ForeignTitle( null, 'this', 'that' );
                $title->getNamespaceId();
index cd0d0b1..1e5f9d0 100644 (file)
@@ -158,7 +158,7 @@ class MediaWikiPageLinkRendererTest extends MediaWikiTestCase {
                                function ( TitleValue $title ) {
                                        return str_replace( '_', ' ', "$title" );
                                }
-                       ));
+                       ) );
 
                $renderer = new MediaWikiPageLinkRenderer( $formatter, '/' );
                $actual = $renderer->renderWikitextLink( $title, $text );
index 3fa56d7..71e0583 100644 (file)
@@ -18,7 +18,7 @@ class LanguageArqTest extends LanguageClassesTestCase {
 
        public static function provideNumber() {
                return array(
-                       array( '1.234.567', '1234567'),
+                       array( '1.234.567', '1234567' ),
                        array( '-12,89', -12.89 ),
                        );
        }
index 7fc9997..6c4839e 100644 (file)
@@ -633,7 +633,7 @@ class TextPassDumperDatabaselessTest extends MediaWikiLangTestCase {
         */
        function testBufferSizeSetting( $expected, $size, $msg ) {
                $dumper = new TextPassDumperAccessor( array( "--buffersize=" . $size ) );
-               $this->assertEquals( $expected, $dumper->getBufferSize(), $msg);
+               $this->assertEquals( $expected, $dumper->getBufferSize(), $msg );
        }
 
        /**
index 6d3ac2f..16f458b 100644 (file)
@@ -695,7 +695,7 @@ class DelayedParserTest {
         * @throws MWException
         */
        public function unleash( &$parserTest ) {
-               if ( !( $parserTest instanceof ParserTest || $parserTest instanceof NewParserTest )     ) {
+               if ( !( $parserTest instanceof ParserTest || $parserTest instanceof NewParserTest ) ) {
                        throw new MWException( __METHOD__ . " must be passed an instance of ParserTest or "
                                . "NewParserTest classes\n" );
                }
index 40f3754..c77cddc 100644 (file)
--- a/thumb.php
+++ b/thumb.php
@@ -235,7 +235,7 @@ function wfStreamThumb( array $params ) {
                $imsUnix = strtotime( $imsString );
                MediaWiki\restoreWarnings();
                if ( wfTimestamp( TS_UNIX, $img->getTimestamp() ) <= $imsUnix ) {
-                       HttpStatus::header( 304  );
+                       HttpStatus::header( 304 );
                        return;
                }
        }