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 ===
<?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.
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 ) {
} 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 );
}
}
$blocks = array();
foreach ( $rows as $row ) {
$block = self::newFromRow( $row );
- if ( !$block->deleteIfExpired() ) {
+ if ( !$block->deleteIfExpired() ) {
$blocks[] = $block;
}
}
'category' => array( 'LEFT JOIN', array(
'cat_title = page_title',
'page_namespace' => NS_CATEGORY
- ))
+ ) )
)
);
}
if ( in_array( 'escape', $options, true ) ) {
- $string = htmlspecialchars ( $string );
+ $string = htmlspecialchars( $string );
} elseif ( in_array( 'escapenoentities', $options, true ) ) {
$string = Sanitizer::escapeHtmlAllowEntities( $string );
}
$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'] ) ) {
} 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" ) . ' ' .
} else {
$wgResourceLoaderMaxQueryLength = 2000;
}
- unset($suhosinMaxValueLength);
+ unset( $suhosinMaxValueLength );
}
/**
}
// 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();
) {
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 );
$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();
}
}
!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." );
}
}
}
!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'] ) ) {
// 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
);
}
}
+ ApiResult::setArrayType( $data, 'BCarray' );
ApiResult::setIndexedTagName( $data, 'ns' );
return $this->getResult()->addValue( 'query', $property, $data );
$groups = array_intersect( $rights[$group], $allGroups );
if ( $groups ) {
$arr[$type] = $groups;
+ ApiResult::setArrayType( $arr[$type], 'BCarray' );
ApiResult::setIndexedTagName( $arr[$type], 'group' );
}
}
'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' );
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 );
global $wgParser;
$wgParser->firstCallInit();
$hooks = $wgParser->getFunctionHooks();
+ ApiResult::setArrayType( $hooks, 'BCarray' );
ApiResult::setIndexedTagName( $hooks, 'h' );
return $this->getResult()->addValue( 'query', $property, $hooks );
public function appendVariables( $property ) {
$variables = MagicWord::getVariableIDs();
+ ApiResult::setArrayType( $variables, 'BCarray' );
ApiResult::setIndexedTagName( $variables, 'v' );
return $this->getResult()->addValue( 'query', $property, $variables );
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 );
'subscribers' => array_map( array( 'SpecialVersion', 'arrayToString' ), $subscribers ),
);
+ ApiResult::setArrayType( $arr['subscribers'], 'BCarray' );
ApiResult::setIndexedTagName( $arr['subscribers'], 's' );
$data[] = $arr;
}
"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.",
"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": "כותרת ראשונה להשוואה.",
"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.",
*/
protected $mLoadedLanguages = array();
+ /**
+ * @var bool $mInParser
+ */
+ protected $mInParser = false;
+
+ /** @var BagOStuff */
+ protected $mMemc;
+ /** @var WANObjectCache */
+ protected $wanCache;
+
/**
* Singleton instance
*
*/
private static $instance;
- /**
- * @var bool $mInParser
- */
- protected $mInParser = false;
-
/**
* Get the signleton instance of this class
*
$this->mMemc = $memCached;
$this->mDisable = !$useDB;
$this->mExpiry = $expiry;
+
+ $this->wanCache = ObjectCache::getMainWANInstance();
}
/**
# Loading code starts
$success = false; # Keep track of success
$staleCache = false; # a cache array with expired data, or false if none has been loaded
+ $hashExpired = false; # whether the cluster-local validation hash is stale
$where = array(); # Debug info, delayed to avoid spamming debug log too much
- $cacheKey = wfMemcKey( 'messages', $code ); # Key in memc for messages
# Local cache
# Hash of the contents is stored in memcache, to detect if local cache goes
# out of date (e.g. due to replace() on some other server)
if ( $wgUseLocalMessageCache ) {
- $hash = $this->mMemc->get( wfMemcKey( 'messages', $code, 'hash' ) );
+ list( $hash, $hashExpired ) = $this->getValidationHash( $code );
if ( $hash ) {
$cache = $this->getLocalCache( $hash, $code );
if ( !$cache ) {
} elseif ( $this->isCacheExpired( $cache ) ) {
$where[] = 'local cache is expired';
$staleCache = $cache;
+ } elseif ( $hashExpired ) {
+ $where[] = 'local cache validation key is expired';
+ $staleCache = $cache;
} else {
$where[] = 'got from local cache';
$success = true;
}
if ( !$success ) {
+ $cacheKey = wfMemcKey( 'messages', $code ); # Key in memc for messages
# Try the global cache. If it is empty, try to acquire a lock. If
# the lock can't be acquired, wait for the other thread to finish
# and then try the global cache a second time.
for ( $failedAttempts = 0; $failedAttempts < 2; $failedAttempts++ ) {
- $cache = $this->mMemc->get( $cacheKey );
- if ( !$cache ) {
- $where[] = 'global cache is empty';
- } elseif ( $this->isCacheExpired( $cache ) ) {
- $where[] = 'global cache is expired';
- $staleCache = $cache;
+ if ( $hashExpired && $staleCache ) {
+ # Do not bother fetching the whole cache blob to avoid I/O.
+ # Instead, just try to get the non-blocking $statusKey lock
+ # below, and use the local stale value if it was not acquired.
+ $where[] = 'global cache is presumed expired';
} else {
- $where[] = 'got from global cache';
- $this->mCache[$code] = $cache;
- $this->saveToCaches( $cache, 'local-only', $code );
- $success = true;
+ $cache = $this->mMemc->get( $cacheKey );
+ if ( !$cache ) {
+ $where[] = 'global cache is empty';
+ } elseif ( $this->isCacheExpired( $cache ) ) {
+ $where[] = 'global cache is expired';
+ $staleCache = $cache;
+ } else {
+ $where[] = 'got from global cache';
+ $this->mCache[$code] = $cache;
+ $this->saveToCaches( $cache, 'local-only', $code );
+ $success = true;
+ }
}
if ( $success ) {
break;
}
- # We need to call loadFromDB. Limit the concurrency to a single
- # process. This prevents the site from going down when the cache
- # expires.
- $statusKey = wfMemcKey( 'messages', $code, 'status' );
- $acquired = $this->mMemc->add( $statusKey, 'loading', MSG_LOAD_TIMEOUT );
- if ( $acquired ) {
- # Unlock the status key if there is an exception
- $that = $this;
- $statusUnlocker = new ScopedCallback( function () use ( $that, $statusKey ) {
- $that->mMemc->delete( $statusKey );
- } );
-
- # Now let's regenerate
- $where[] = 'loading from database';
-
- # Lock the cache to prevent conflicting writes
- # If this lock fails, it doesn't really matter, it just means the
- # write is potentially non-atomic, e.g. the results of a replace()
- # may be discarded.
- if ( $this->lock( $cacheKey ) ) {
- $mainUnlocker = new ScopedCallback( function () use ( $that, $cacheKey ) {
- $that->unlock( $cacheKey );
- } );
- } else {
- $mainUnlocker = null;
- $where[] = 'could not acquire main lock';
- }
-
- $cache = $this->loadFromDB( $code );
- $this->mCache[$code] = $cache;
- $success = true;
- $saveSuccess = $this->saveToCaches( $cache, 'all', $code );
-
- # Unlock
- ScopedCallback::consume( $mainUnlocker );
- ScopedCallback::consume( $statusUnlocker );
-
- if ( !$saveSuccess ) {
- # Cache save has failed.
- # There are two main scenarios where this could be a problem:
- #
- # - The cache is more than the maximum size (typically
- # 1MB compressed).
- #
- # - Memcached has no space remaining in the relevant slab
- # class. This is unlikely with recent versions of
- # memcached.
- #
- # Either way, if there is a local cache, nothing bad will
- # happen. If there is no local cache, disabling the message
- # cache for all requests avoids incurring a loadFromDB()
- # overhead on every request, and thus saves the wiki from
- # complete downtime under moderate traffic conditions.
- if ( !$wgUseLocalMessageCache ) {
- $this->mMemc->set( $statusKey, 'error', 60 * 5 );
- $where[] = 'could not save cache, disabled globally for 5 minutes';
- } else {
- $where[] = "could not save global cache";
- }
- }
-
+ # We need to call loadFromDB. Limit the concurrency to one process.
+ # This prevents the site from going down when the cache expires.
+ if ( $this->loadFromDBWithLock( $code, $where ) ) {
# Load from DB complete, no need to retry
+ $success = true;
break;
} elseif ( $staleCache ) {
# Use the stale cache while some other thread constructs the new one
$where[] = "could not acquire status key.";
break;
} else {
+ $statusKey = wfMemcKey( 'messages', $code, 'status' );
$status = $this->mMemc->get( $statusKey );
if ( $status === 'error' ) {
# Disable cache
# All good, just record the success
$this->mLoadedLanguages[$code] = true;
}
+
$info = implode( ', ', $where );
wfDebugLog( 'MessageCache', __METHOD__ . ": Loading $code... $info\n" );
return $success;
}
+ /**
+ * @param string $code
+ * @param array $where List of wfDebug() comments
+ * @return bool Lock acquired and loadFromDB() called
+ */
+ protected function loadFromDBWithLock( $code, array &$where ) {
+ global $wgUseLocalMessageCache;
+
+ $memCache = $this->mMemc;
+
+ $statusKey = wfMemcKey( 'messages', $code, 'status' );
+ if ( !$memCache->add( $statusKey, 'loading', MSG_LOAD_TIMEOUT ) ) {
+ return false; // could not acquire lock
+ }
+
+ # Unlock the status key if there is an exception
+ $statusUnlocker = new ScopedCallback( function () use ( $memCache, $statusKey ) {
+ $memCache->delete( $statusKey );
+ } );
+
+ # Now let's regenerate
+ $where[] = 'loading from database';
+
+ $cacheKey = wfMemcKey( 'messages', $code );
+ # Lock the cache to prevent conflicting writes
+ # If this lock fails, it doesn't really matter, it just means the
+ # write is potentially non-atomic, e.g. the results of a replace()
+ # may be discarded.
+ if ( $this->lock( $cacheKey ) ) {
+ $that = $this;
+ $mainUnlocker = new ScopedCallback( function () use ( $that, $cacheKey ) {
+ $that->unlock( $cacheKey );
+ } );
+ } else {
+ $mainUnlocker = null;
+ $where[] = 'could not acquire main lock';
+ }
+
+ $cache = $this->loadFromDB( $code );
+ $this->mCache[$code] = $cache;
+ $saveSuccess = $this->saveToCaches( $cache, 'all', $code );
+
+ # Unlock
+ ScopedCallback::consume( $mainUnlocker );
+ ScopedCallback::consume( $statusUnlocker );
+
+ if ( !$saveSuccess ) {
+ # Cache save has failed.
+ # There are two main scenarios where this could be a problem:
+ #
+ # - The cache is more than the maximum size (typically
+ # 1MB compressed).
+ #
+ # - Memcached has no space remaining in the relevant slab
+ # class. This is unlikely with recent versions of
+ # memcached.
+ #
+ # Either way, if there is a local cache, nothing bad will
+ # happen. If there is no local cache, disabling the message
+ # cache for all requests avoids incurring a loadFromDB()
+ # overhead on every request, and thus saves the wiki from
+ # complete downtime under moderate traffic conditions.
+ if ( !$wgUseLocalMessageCache ) {
+ $memCache->set( $statusKey, 'error', 60 * 5 );
+ $where[] = 'could not save cache, disabled globally for 5 minutes';
+ } else {
+ $where[] = "could not save global cache";
+ }
+ }
+
+ return true;
+ }
+
/**
* Loads cacheable messages from the database. Messages bigger than
* $wgMaxMsgCacheEntrySize are assigned a special value, and are loaded
# Update caches
$this->saveToCaches( $this->mCache[$code], 'all', $code );
$this->unlock( $cacheKey );
+ $this->wanCache->touchCheckKey( wfMemcKey( 'messages', $code ) );
// Also delete cached sidebar... just in case it is affected
$codes = array( $code );
$codes = array_keys( Language::fetchLanguageNames() );
}
- $cache = ObjectCache::getMainWANInstance();
foreach ( $codes as $code ) {
$sidebarKey = wfMemcKey( 'sidebar', $code );
- $cache->delete( $sidebarKey, 5 );
+ $this->wanCache->delete( $sidebarKey, 5 );
}
// Update the message in the message blob store
protected function saveToCaches( $cache, $dest, $code = false ) {
global $wgUseLocalMessageCache;
- $cacheKey = wfMemcKey( 'messages', $code );
-
if ( $dest === 'all' ) {
+ $cacheKey = wfMemcKey( 'messages', $code );
$success = $this->mMemc->set( $cacheKey, $cache );
} else {
$success = true;
if ( $wgUseLocalMessageCache ) {
$serialized = serialize( $cache );
$hash = md5( $serialized );
- $this->mMemc->set( wfMemcKey( 'messages', $code, 'hash' ), $hash );
+ $this->setValidationHash( $code, $hash );
$this->saveToLocal( $serialized, $hash, $code );
}
return $success;
}
+ /**
+ * Get the md5 used to validate the local disk cache
+ *
+ * @param string $code
+ * @return array (hash or false, bool expiry status)
+ */
+ protected function getValidationHash( $code ) {
+ $curTTL = null;
+ $value = $this->wanCache->get(
+ wfMemcKey( 'messages', $code, 'hash' ),
+ $curTTL,
+ array( wfMemcKey( 'messages', $code ) )
+ );
+ $expired = ( $curTTL === null || $curTTL < 0 );
+
+ return array( $value, $expired );
+ }
+
+ /**
+ * Set the md5 used to validate the local disk cache
+ *
+ * @param string $code
+ * @param string $hash
+ */
+ protected function setValidationHash( $code, $hash ) {
+ $this->wanCache->set(
+ wfMemcKey( 'messages', $code, 'hash' ),
+ $hash,
+ WANObjectCache::TTL_NONE
+ );
+ }
+
/**
* Represents a write lock on the messages key.
*
function clear() {
$langs = Language::fetchLanguageNames( null, 'mw' );
foreach ( array_keys( $langs ) as $code ) {
- # Global cache
- $this->mMemc->delete( wfMemcKey( 'messages', $code ) );
- # Invalidate all local caches
- $this->mMemc->delete( wfMemcKey( 'messages', $code, 'hash' ) );
+ # Global and local caches
+ $this->wanCache->touchCheckKey( wfMemcKey( 'messages', $code ) );
}
+
$this->mLoadedLanguages = array();
}
} 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'] ) ) {
$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' ),
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' ),
protected function doPurge() {
return true;
}
-}
\ No newline at end of file
+}
$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] : '';
$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;
}
) );
}
- // Get the last edit not by this guy...
+ // Get the last edit not by this person...
// Note: these may not be public values
$user = intval( $current->getUser( Revision::RAW ) );
$user_text = $dbw->addQuotes( $current->getUserText( Revision::RAW ) );
return array( array( 'notvisiblerev' ) );
}
- // Set patrolling and bot flag on the edits, which gets rollbacked.
- // This is done before the rollback edit to have patrolling also on failure (bug 62157).
- $set = array();
- if ( $bot && $guser->isAllowed( 'markbotedits' ) ) {
- // Mark all reverted edits as bot
- $set['rc_bot'] = 1;
- }
-
- if ( $wgUseRCPatrol ) {
- // Mark all reverted edits as patrolled
- $set['rc_patrolled'] = 1;
- }
-
- if ( count( $set ) ) {
- $dbw->update( 'recentchanges', $set,
- array( /* WHERE */
- 'rc_cur_id' => $current->getPage(),
- 'rc_user_text' => $current->getUserText(),
- 'rc_timestamp > ' . $dbw->addQuotes( $s->rev_timestamp ),
- ), __METHOD__
- );
- }
-
// Generate the edit summary if necessary
$target = Revision::newFromId( $s->rev_id, Revision::READ_LATEST );
if ( empty( $summary ) ) {
$guser
);
+ // Set patrolling and bot flag on the edits, which gets rollbacked.
+ // This is done even on edit failure to have patrolling in that case (bug 62157).
+ $set = array();
+ if ( $bot && $guser->isAllowed( 'markbotedits' ) ) {
+ // Mark all reverted edits as bot
+ $set['rc_bot'] = 1;
+ }
+
+ if ( $wgUseRCPatrol ) {
+ // Mark all reverted edits as patrolled
+ $set['rc_patrolled'] = 1;
+ }
+
+ if ( count( $set ) ) {
+ $dbw->update( 'recentchanges', $set,
+ array( /* WHERE */
+ 'rc_cur_id' => $current->getPage(),
+ 'rc_user_text' => $current->getUserText(),
+ 'rc_timestamp > ' . $dbw->addQuotes( $s->rev_timestamp ),
+ ),
+ __METHOD__
+ );
+ }
+
if ( !$status->isOK() ) {
return $status->getErrorsArray();
}
'-' => '',
' ' => '',
'x' => 'X',
- ));
+ ) );
$titleObj = SpecialPage::getTitleFor( 'Booksources', $num );
return '<a href="' .
htmlspecialchars( $titleObj->getLocalURL() ) .
# 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.
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 */ );
}
// 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 ) {
array( 'DeadendPagesPage', 'Deadendpages' ),
array( 'DoubleRedirectsPage', 'DoubleRedirects' ),
array( 'FileDuplicateSearchPage', 'FileDuplicateSearch' ),
- array( 'ListDuplicatedFilesPage', 'ListDuplicatedFiles'),
+ array( 'ListDuplicatedFilesPage', 'ListDuplicatedFiles' ),
array( 'LinkSearchPage', 'LinkSearch' ),
array( 'ListredirectsPage', 'Listredirects' ),
array( 'LonelyPagesPage', 'Lonelypages' ),
// 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() {
'mw-mediastats-table-' . strtolower( $mediaType ),
'sortable',
'wikitable'
- ))
+ ) )
)
);
$this->getOutput()->addHTML( $this->getTableHeaderRow() );
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,
if ( $remove ) {
foreach ( $remove as $index => $group ) {
if ( !$user->removeGroup( $group ) ) {
- unset($remove[$index]);
+ unset( $remove[$index] );
}
}
$newGroups = array_diff( $newGroups, $remove );
if ( $add ) {
foreach ( $add as $index => $group ) {
if ( !$user->addGroup( $group ) ) {
- unset($add[$index]);
+ unset( $add[$index] );
}
}
$newGroups = array_merge( $newGroups, $add );
case 'xmn':
$usedHijriMonth = true;
if ( !$hijri ) {
- $hijri = self::tsToHijri ( $ts );
+ $hijri = self::tsToHijri( $ts );
}
$num = $hijri[1];
break;
// 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 );
*/
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 ) {
);
$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;
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] ) ) {
"uploaded-animate-svg": "У загружаным SVG-файле знойдзены тэг «animate», які можа зьмяняць спасылку з дапамогай атрыбуту «from» <code><$1 $2=\"$3\"></code>.",
"uploaded-setting-event-handler-svg": "Усталёўка атрыбутаў апрацоўкі падзеяў заблякаваная, у загружаным SVG-файле знойдзены код <code><$1 $2=\"$3\"></code>.",
"uploaded-setting-href-svg": "Выкарыстаньне тэгу «set» для дадаваньня атрыбуту «href» у бацькоўскі элемэнт заблякаванае.",
+ "uploaded-wrong-setting-svg": "Ужываньне тэгу «set» для дадаваньня ў якасьці мэты аддаленага адрасу/зьвестак/сцэнару для любога атрыбуту заблякаванае. У загружаным SVG-файле знойдзена <code><set to=\"$1\"></code>.",
"uploadscriptednamespace": "Гэты SVG-файл утрымлівае няслушную прастору назваў «$1»",
"uploadinvalidxml": "Не атрымалася прааналізаваць XML у загружаным файле.",
"uploadvirus": "Файл утрымлівае вірус! Падрабязнасьці: $1",
"redirectedfrom": "(ДӀасахьажийна кху $1)",
"redirectpagesub": "АгӀо-дӀасахьажорг",
"redirectto": "ДӀасахьажор тӀе:",
- "lastmodifiedat": "ХӀокху агӀон тӀаьххьаралера хийцам: $2, $1.",
+ "lastmodifiedat": "ХӀокху агӀон тӀаьххьаралера хийцам: $1, $2.",
"viewcount": "ХӀокху агӀонг хьовсийна $1 {{PLURAL:$1|за}}.",
"protectedpage": "ГӀароллийца йолу агӀо",
"jumpto": "Дехьа гӀо:",
"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.",
"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|फाइल|फाइलहरू}} नकल प्रति बनाउन्या"
}
"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"
}
"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": "dé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"
}
"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}}",
"mypage": "Akon Panid",
"mytalk": "Paghisayranay",
"anontalk": "Paghisayranay sang sining IP address",
- "navigation": "Nabigasyon",
+ "navigation": "Paglayag",
"and": " 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",
"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“ პატრულირებულად მოინიშნა.",
--- /dev/null
+{
+ "@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": "جستن"
+}
"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": "आन्तरिक समस्याः फाइल तान्दा केही कुरा गलत भएछ ।",
"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.",
"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}}",
"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": "Искусство, культура и развлечения",
"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><$1 $2=\"$3\"></code> 使用非本地的目標 (例如 http://, javascript:, 等)。",
+ "uploaded-href-attribute-svg": "不允許在 SVG 檔案中的 href 屬性 <code><$1 $2=\"$3\"></code> 使用非本地的目標 (例如 http://, javascript:, 等)。",
"uploaded-href-unsafe-target-svg": "於已上傳的 SVG 檔案中找到 href 連結至不安全的目標 <code><$1 $2=\"$3\"></code>。",
"uploaded-animate-svg": "於已上傳的 SVG 檔案中找到 \"animate\" 標籤可能會使用 \"from\" 屬性 <code><$1 $2=\"$3\"></code> 更改 href。",
"uploaded-setting-event-handler-svg": "於已上傳的 SVG 檔案中找到 <code><$1 $2=\"$3\"></code>,已禁止設定 event-handler 屬性。",
*
*/
-$fallback = 'aeb-arab';
\ No newline at end of file
+$fallback = 'aeb-arab';
$fallback = 'ar';
-$rtl = true;
\ No newline at end of file
+$rtl = true;
}
$maintClass = 'CheckComposerLockUpToDate';
-require_once RUN_MAINTENANCE_IF_MAIN;
\ No newline at end of file
+require_once RUN_MAINTENANCE_IF_MAIN;
$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 );
$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;
}
. 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 );
),
'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(
'dependencies' => array(
'mediawiki.api',
'mediawiki.Title',
- 'user.tokens',
),
'targets' => array( 'desktop', 'mobile' ),
),
'scripts' => 'resources/src/mediawiki.api/mediawiki.api.watch.js',
'dependencies' => array(
'mediawiki.api',
- 'user.tokens',
),
),
'mediawiki.content.json' => array(
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( '',
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
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=*' ),
);
WikiPage::factory( $oldTitle )->getRevision()
);
$this->assertNotNull(
- WikiPage::factory( $newTitle)->getRevision()
+ WikiPage::factory( $newTitle )->getRevision()
);
}
}
'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
* 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() {
}
);
$status = new Status();
- $status->warning( new Message( 'fooBar!', array( 'foo', 'bar' ) ) );
+ $status->warning( new Message( 'fooBar!', array( 'foo', 'bar' ) ) );
$testCases['1MessageWarning'] = array(
$status,
"<fooBar!>",
// );
$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' ),
* @expectedException UsageException
* @expectedExceptionMessage The token parameter must be set
*/
- public function testBlockingActionWithNoToken( ) {
+ public function testBlockingActionWithNoToken() {
$this->doApiRequest(
array(
'action' => 'block',
'section' => 'new',
'text' => 'test',
'summary' => 'header',
- ));
+ ) );
$this->assertEquals( 'Success', $re['edit']['result'] );
// Check the page text is correct
'section' => 'new',
'text' => 'test',
'summary' => 'header',
- ));
+ ) );
$this->assertEquals( 'Success', $re2['edit']['result'] );
$text = WikiPage::factory( Title::newFromText( $name ) )
/**
* @expectedException UsageException
*/
- public function testWithNoToken( ) {
+ public function testWithNoToken() {
$this->doApiRequest(
array(
'action' => 'unblock',
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' );
'<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">"' .
'<script>alert("evil!")</script>"' .
'</td></tr></tbody></table>',
array( 'Tables_in_' => 'view2' ),
array( 'Tables_in_' => 'myview' ),
false # no more rows
- ));
+ ) );
return $db;
}
/**
$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 ),
$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'"
array(),
array( 1 => 1 ),
array( 1 ),
- array( 1 => 1),
+ array( 1 => 1 ),
),
array(
array(),
*/
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,
*/
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] );
$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 );
}
$t4 = $this->cache->getCheckKeyTime( $key );
$this->assertEquals( $t3, $t4, 'Check key time did not change' );
}
-}
\ No newline at end of file
+}
* @covers ResourceLoaderFileModule::getStyles
* @covers ResourceLoaderFileModule::getStyleFiles
*/
- public function testMixedCssAnnotations( ) {
+ public function testMixedCssAnnotations() {
$basePath = __DIR__ . '/../../data/css';
$testModule = new ResourceLoaderFileModule( array(
'localBasePath' => $basePath,
},
),
'wgResourceLoaderLESSImportPaths' => array(
- dirname( dirname( __DIR__ ) ) . '/data/less/common',
+ dirname( dirname( __DIR__ ) ) . '/data/less/common',
),
'wgResourceLoaderLESSVars' => array(
'foo' => '2px',
$this->assertEquals( $expectedText, $title->getText() );
}
- public function testUnknownNamespaceCheck( ) {
+ public function testUnknownNamespaceCheck() {
$title = new ForeignTitle( null, 'this', 'that' );
$this->assertEquals( false, $title->isNamespaceIdKnown() );
$this->assertEquals( 'that', $title->getText() );
}
- public function testUnknownNamespaceError( ) {
+ public function testUnknownNamespaceError() {
$this->setExpectedException( 'MWException' );
$title = new ForeignTitle( null, 'this', 'that' );
$title->getNamespaceId();
function ( TitleValue $title ) {
return str_replace( '_', ' ', "$title" );
}
- ));
+ ) );
$renderer = new MediaWikiPageLinkRenderer( $formatter, '/' );
$actual = $renderer->renderWikitextLink( $title, $text );
public static function provideNumber() {
return array(
- array( '1.234.567', '1234567'),
+ array( '1.234.567', '1234567' ),
array( '-12,89', -12.89 ),
);
}
*/
function testBufferSizeSetting( $expected, $size, $msg ) {
$dumper = new TextPassDumperAccessor( array( "--buffersize=" . $size ) );
- $this->assertEquals( $expected, $dumper->getBufferSize(), $msg);
+ $this->assertEquals( $expected, $dumper->getBufferSize(), $msg );
}
/**
* @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" );
}
$imsUnix = strtotime( $imsString );
MediaWiki\restoreWarnings();
if ( wfTimestamp( TS_UNIX, $img->getTimestamp() ) <= $imsUnix ) {
- HttpStatus::header( 304 );
+ HttpStatus::header( 304 );
return;
}
}