"jakub-onderka/php-parallel-lint": "0.9.2",
"jetbrains/phpstorm-stubs": "dev-master#1b9906084d6635456fcf3f3a01f0d7d5b99a578a",
"justinrainbow/json-schema": "~5.2",
- "mediawiki/mediawiki-codesniffer": "0.10.1",
+ "mediawiki/mediawiki-codesniffer": "0.11.0",
"monolog/monolog": "~1.22.1",
"nikic/php-parser": "2.1.0",
"nmred/kafka-php": "0.1.5",
/**
* Modify options in the login template.
*
- * @param BaseTemplate $template
- * @param string $type 'signup' or 'login'. Added in 1.16.
+ * @param BaseTemplate &$template
+ * @param string &$type 'signup' or 'login'. Added in 1.16.
*/
public function modifyUITemplate( &$template, &$type ) {
# Override this!
*
* @deprecated since 1.26, use the UserLoggedIn hook instead. And assigning
* a different User object to $user is no longer supported.
- * @param User $user
+ * @param User &$user
* @return bool
*/
public function updateUser( &$user ) {
*
* @deprecated since 1.26, use the UserLoggedIn hook instead. And assigning
* a different User object to $user is no longer supported.
- * @param User $user
+ * @param User &$user
* @param bool $autocreate True if user is being autocreated on login
*/
public function initUser( &$user, $autocreate = false ) {
/**
* Get an instance of a User object
*
- * @param User $user
+ * @param User &$user
*
* @return AuthPluginUser
*/
/**
* @deprecated since 1.28, use SessionManager::invalidateSessionForUser() instead.
+ * @return bool
*/
public function resetAuthToken() {
# Override this!
return $id;
}
$hmac = MWCryptHash::hmac( $id, $secretKey, false );
- $cookieValue = $id . '!' . $hmac;
+ $cookieValue = $id . '!' . $hmac;
return $cookieValue;
}
// Long term limit. We need to balance the risk
// of somebody using this as a DoS attack to lock someone
// out of their account, and someone doing a brute force attack.
- [ 'count' => 150, 'seconds' => 60*60*48 ],
+ [ 'count' => 150, 'seconds' => 60 * 60 * 48 ],
];
/**
/**
* This function collects the form data and uses it to populate various member variables.
- * @param WebRequest $request
+ * @param WebRequest &$request
* @throws ErrorPageError
*/
public function importFormData( &$request ) {
* this method should be overridden and return the page text that will be used
* for saving, preview parsing and so on...
*
- * @param WebRequest $request
+ * @param WebRequest &$request
* @return string|null
*/
protected function importContentFormData( &$request ) {
/**
* Make sure the form isn't faking a user's credentials.
*
- * @param WebRequest $request
+ * @param WebRequest &$request
* @return bool
* @private
*/
/**
* Attempt submission
- * @param array|bool $resultDetails See docs for $result in internalAttemptSave
+ * @param array|bool &$resultDetails See docs for $result in internalAttemptSave
* @throws UserBlockedError|ReadOnlyError|ThrottledError|PermissionsError
* @return Status The resulting status object.
*/
/**
* Attempt submission (no UI)
*
- * @param array $result Array to add statuses to, currently with the
+ * @param array &$result Array to add statuses to, currently with the
* possible keys:
* - spam (string): Spam string from content if any spam is detected by
* matchSpamRegex.
* Returns an array of html code of the following checkboxes old style:
* minor and watch
*
- * @param int $tabindex Current tabindex
+ * @param int &$tabindex Current tabindex
* @param array $checked See getCheckboxesDefinition()
* @return array
*/
* Returns an array of html code of the following checkboxes:
* minor and watch
*
- * @param int $tabindex Current tabindex
+ * @param int &$tabindex Current tabindex
* @param array $checked Array of checkbox => bool, where bool indicates the checked
* status of the checkbox
*
$newPage = !$this->mTitle->exists();
if ( $labelAsPublish ) {
- $buttonLabelKey = $newPage ? 'publishpage' : 'publishchanges';
+ $buttonLabelKey = $newPage ? 'publishpage' : 'publishchanges';
} else {
$buttonLabelKey = $newPage ? 'savearticle' : 'savechanges';
}
* Returns an array of html code of the following buttons:
* save, diff and preview
*
- * @param int $tabindex Current tabindex
+ * @param int &$tabindex Current tabindex
*
* @return array
*/
/**
* @since 1.26
- * @param string $name Unprefixed name of the cookie to set
+ * @param string $key Unprefixed name of the cookie to set
* @param string|null $value Value of the cookie to set
* @param string|null $prefix Cookie prefix. Defaults to $wgCookiePrefix
*/
/**
* @since 1.25
+ * @param string $url
*/
public function setRequestURL( $url ) {
$this->requestUrl = $url;
/**
* @since 1.25 MWException( "getRequestURL not implemented" )
* no longer thrown.
+ * @return string
*/
public function getRequestURL() {
if ( $this->requestUrl === null ) {
/**
* Really delete the file
*
- * @param Title $title
- * @param File $file
- * @param string $oldimage Archive name
+ * @param Title &$title
+ * @param File &$file
+ * @param string &$oldimage Archive name
* @param string $reason Reason of the deletion
* @param bool $suppress Whether to mark all deleted versions as restricted
* @param User $user User object performing the request
* value was provided, does it correspond to an
* existing, local, old version of this file?
*
- * @param File $file
- * @param File $oldfile
+ * @param File &$file
+ * @param File &$oldfile
* @param File $oldimage
* @return bool
*/
* @param string|int $key
* @param mixed $value
* @param mixed $default
- * @param array $changed Array to alter
+ * @param array &$changed Array to alter
* @throws MWException
*/
function wfAppendToArrayIfNotDefault( $key, $value, $default, &$changed ) {
* If source is NULL, it just returns the value, it doesn't set the variable
* If force is true, it will set the value even if source is NULL
*
- * @param mixed $dest
+ * @param mixed &$dest
* @param mixed $source
* @param bool $force
* @return mixed
/**
* As for wfSetVar except setting a bit
*
- * @param int $dest
+ * @param int &$dest
* @param int $bit
* @param bool $state
*
* (https://bugs.php.net/bug.php?id=26285) and the locale problems on Linux in
* PHP 5.2.6+ (bug backported to earlier distro releases of PHP).
*
- * @param string ... strings to escape and glue together, or a single array of strings parameter
+ * @param string $args,... strings to escape and glue together,
+ * or a single array of strings parameter
* @return string
*/
function wfEscapeShellArg( /*...*/ ) {
* @param string $old
* @param string $mine
* @param string $yours
- * @param string $result
+ * @param string &$result
* @return bool
*/
function wfMerge( $old, $mine, $yours, &$result ) {
}
/**
- * @param array $list
+ * @param array &$list
* @param array $path
* @param mixed $item
*/
* @since 1.16.3
* @deprecated since 1.28, use MediaWiki\Linker\LinkRenderer instead
* @see Linker::link
+ * @param Title $target
+ * @param string $html
+ * @param array $customAttribs
+ * @param array $query
+ * @param string|array $options
* @return string
*/
public static function linkKnown(
/**
* @param Title $contextTitle
* @param string $target
- * @param string $text
+ * @param string &$text
* @return string
*/
public static function normalizeSubpageLink( $contextTitle, $target, &$text ) {
* Returns true if the text matches the word, and alters the
* input string, removing all instances of the word
*
- * @param string $text
+ * @param string &$text
*
* @return bool
*/
}
/**
- * @param string $text
+ * @param string &$text
* @return bool
*/
public function matchStartAndRemove( &$text ) {
*
* @param array $magicarr
* @param string $subject
- * @param string $result
+ * @param string &$result
*
* @return bool
*/
* Adds all the synonyms of this MagicWord to an array, to allow quick
* lookup in a list of magic words
*
- * @param array $array
+ * @param array &$array
* @param string $value
*/
public function addToArray( &$array, $value ) {
* Returns an associative array, ID => param value, for all items that match
* Removes the matched items from the input string (passed by reference)
*
- * @param string $text
+ * @param string &$text
*
* @return array
*/
* Return false if no match found and $text is not modified.
* Does not match parameters.
*
- * @param string $text
+ * @param string &$text
*
* @return int|bool False on failure
*/
*
* @since 1.17
*
- * @param mixed ... Parameters as strings or arrays from
+ * @param mixed $args,... Parameters as strings or arrays from
* Message::numParam() and the like, or a single array of parameters.
*
* @return Message $this
$logEntry->setComment( $reason );
$logEntry->setParameters( [
'4::target' => $nt->getPrefixedText(),
- '5::noredir' => $redirectContent ? '0': '1',
+ '5::noredir' => $redirectContent ? '0' : '1',
] );
$formatter = LogFormatter::newFromEntry( $logEntry );
* @param bool $filter Whether to filter out insufficiently trustworthy modules
* @param string|null $position If not null, only return modules with this position
* @param string $param
+ * @param string $type
* @return array Array of module names
*/
public function getModules( $filter = false, $position = null, $param = 'mModules',
* Add one or more head items to the output
*
* @since 1.28
- * @param string|string[] $value Raw HTML
+ * @param string|string[] $values Raw HTML
*/
public function addHeadItems( $values ) {
$this->mHeadItems = array_merge( $this->mHeadItems, (array)$values );
* Add wikitext with a custom Title object
*
* @param string $text Wikitext
- * @param Title $title
+ * @param Title &$title
* @param bool $linestart Is this the start of a line?
*/
public function addWikiTextWithTitle( $text, &$title, $linestart = true ) {
* Add wikitext with a custom Title object and tidy enabled.
*
* @param string $text Wikitext
- * @param Title $title
+ * @param Title &$title
* @param bool $linestart Is this the start of a line?
*/
function addWikiTextTitleTidy( $text, &$title, $linestart = true ) {
/**
* Add the output of a QuickTemplate to the output buffer
*
- * @param QuickTemplate $template
+ * @param QuickTemplate &$template
*/
public function addTemplate( &$template ) {
$this->addHTML( $template->getHTML() );
}
/**
- * @param $maxage
+ * @param int $maxage
* @deprecated since 1.27 Use setCdnMaxage() instead
*/
public function setSquidMaxage( $maxage ) {
// Use an IE conditional comment to serve the script only to old IE
$pieces[] = '<!--[if lt IE 9]>' .
Html::element( 'script', [
- 'src' => OutputPage::transformResourcePath(
+ 'src' => self::transformResourcePath(
$this->getConfig(),
"/resources/lib/html5shiv/html5shiv{$min}.js"
),
* Caller is responsible for ensuring the file exists. Emits a PHP warning otherwise.
*
* @since 1.27
- * @param string $remotePath URL path prefix that points to $localPath
+ * @param string $remotePathPrefix URL path prefix that points to $localPath
* @param string $localPath File directory exposed at $remotePath
* @param string $file Path to target file relative to $localPath
* @return string URL
'ctype_digit' => 'ctype',
'json_decode' => 'json',
'iconv' => 'iconv',
+ 'mime_content_type' => 'fileinfo',
);
/**
/**
* Returns an error page, which is suitable for output to the end user via a web browser.
*
- * @param $title
- * @param $longHtml
- * @param $shortText
+ * @param string $title
+ * @param string $longHtml
+ * @param string $shortText
* @return string
*/
function getIndexErrorOutput( $title, $longHtml, $shortText ) {
* @throws MWException
* @param User $user
* @param IContextSource $context
- * @param array $defaultPreferences Array to load values for
+ * @param array &$defaultPreferences Array to load values for
* @return array|null
*/
static function loadPreferenceValues( $user, $context, &$defaultPreferences ) {
/**
* @param User $user
* @param IContextSource $context
- * @param array $defaultPreferences
+ * @param array &$defaultPreferences
* @return void
*/
static function profilePreferences( $user, IContextSource $context, &$defaultPreferences ) {
/**
* @param User $user
* @param IContextSource $context
- * @param array $defaultPreferences
+ * @param array &$defaultPreferences
* @return void
*/
static function skinPreferences( $user, IContextSource $context, &$defaultPreferences ) {
/**
* @param User $user
* @param IContextSource $context
- * @param array $defaultPreferences
+ * @param array &$defaultPreferences
*/
static function filesPreferences( $user, IContextSource $context, &$defaultPreferences ) {
# # Files #####################################
/**
* @param User $user
* @param IContextSource $context
- * @param array $defaultPreferences
+ * @param array &$defaultPreferences
* @return void
*/
static function datetimePreferences( $user, IContextSource $context, &$defaultPreferences ) {
/**
* @param User $user
* @param IContextSource $context
- * @param array $defaultPreferences
+ * @param array &$defaultPreferences
*/
static function renderingPreferences( $user, IContextSource $context, &$defaultPreferences ) {
# # Diffs ####################################
/**
* @param User $user
* @param IContextSource $context
- * @param array $defaultPreferences
+ * @param array &$defaultPreferences
*/
static function editingPreferences( $user, IContextSource $context, &$defaultPreferences ) {
# # Editing #####################################
/**
* @param User $user
* @param IContextSource $context
- * @param array $defaultPreferences
+ * @param array &$defaultPreferences
*/
static function rcPreferences( $user, IContextSource $context, &$defaultPreferences ) {
$config = $context->getConfig();
/**
* @param User $user
* @param IContextSource $context
- * @param array $defaultPreferences
+ * @param array &$defaultPreferences
*/
static function watchlistPreferences( $user, IContextSource $context, &$defaultPreferences ) {
$config = $context->getConfig();
/**
* @param User $user
* @param IContextSource $context
- * @param array $defaultPreferences
+ * @param array &$defaultPreferences
*/
static function searchPreferences( $user, IContextSource $context, &$defaultPreferences ) {
foreach ( MWNamespace::getValidNamespaces() as $n ) {
/**
* Dummy, kept for backwards-compatibility.
+ * @param User $user
+ * @param IContextSource $context
+ * @param array &$defaultPreferences
*/
static function miscPreferences( $user, IContextSource $context, &$defaultPreferences ) {
}
/**
* Show protection long extracts for this page
*
- * @param OutputPage $out
+ * @param OutputPage &$out
* @access private
*/
function showLogExtract( &$out ) {
* data is compressed, and 'utf-8' if we're saving in UTF-8
* mode.
*
- * @param mixed $text Reference to a text
+ * @param mixed &$text Reference to a text
* @return string
*/
public static function compressRevisionText( &$text ) {
}
public function key() {
- return $this->res ? $this->res->key(): 0;
+ return $this->res ? $this->res->key() : 0;
}
public function valid() {
$text = preg_replace_callback(
self::CHAR_REFS_REGEX,
[ 'Sanitizer', 'decodeCharReferencesCallback' ],
- $text, /* limit */ -1, $count );
+ $text,
+ -1, //limit
+ $count
+ );
if ( $count ) {
return $wgContLang->normalize( $text );
# Not usually allowed, but may be used for extension-style hooks
# such as <math> when it is rasterized, or if $wgAllowImageTag is
# true
- 'img' => array_merge( $common, [ 'alt', 'src', 'width', 'height' ] ),
+ 'img' => array_merge( $common, [ 'alt', 'src', 'width', 'height', 'srcset' ] ),
'video' => array_merge( $common, [ 'poster', 'controls', 'preload', 'width', 'height' ] ),
'source' => array_merge( $common, [ 'type', 'src' ] ),
# https://www.w3.org/TR/REC-MathML/
'math' => [ 'class', 'style', 'id', 'title' ],
+ // HTML 5 section 4.5
+ 'figure' => $common,
+ 'figcaption' => $common,
+
# HTML 5 section 4.6
'bdi' => $common,
// (ie: validateTag rejects tags missing the attributes needed for Microdata)
// So we don't bother including $common attributes that have no purpose.
'meta' => [ 'itemprop', 'content' ],
- 'link' => [ 'itemprop', 'href' ],
+ 'link' => [ 'itemprop', 'href', 'title' ],
];
return $whitelist;
* @param string $setting ID of the setting name to retrieve
* @param string $wiki Wiki ID of the wiki in question.
* @param string $suffix The suffix of the wiki in question.
- * @param array $var Reference The variable to insert the value into.
+ * @param array &$var Reference The variable to insert the value into.
* @param array $params List of parameters. $.'key' is replaced by $value in all returned data.
* @param array $wikiTags The tags assigned to the wiki.
*/
* infinite loop when unstubbing an object or to avoid reference parameter
* breakage.
*
- * @param object $obj Object to check.
+ * @param object &$obj Object to check.
* @return void
*/
public static function unstub( &$obj ) {
* protocol-relative, the URL will be expanded to http://
*
* @see self::getLocalURL for the arguments.
+ * @param string $query
+ * @param string|bool $query2
* @return string The URL
*/
public function getInternalURL( $query = '', $query2 = false ) {
* Returns true if ok, or a getUserPermissionsErrors()-like array otherwise
*
* @deprecated since 1.25, use MovePage's methods instead
- * @param Title $nt The new title
+ * @param Title &$nt The new title
* @param bool $auth Whether to check user permissions (uses $wgUser)
* @param string $reason Is the log summary of the move, used for spam checking
* @return array|bool True on success, getUserPermissionsErrors()-like array on failure
* Move a title to a new location
*
* @deprecated since 1.25, use the MovePage class instead
- * @param Title $nt The new title
+ * @param Title &$nt The new title
* @param bool $auth Indicates whether $wgUser's permissions
* should be checked
* @param string $reason The reason for the move
/**
* Logs successful or failed authentication.
- * @param string|AuthenticationResponse $result Response or error message
* @param string $event Event type (e.g. 'accountcreation')
+ * @param string|AuthenticationResponse $result Response or error message
*/
public function logAuthenticationResult( $event, $result ) {
if ( is_string( $result ) ) {
/**
* Fetch the standard parameters this helper recognizes
* @param string $action AuthManager action
- * @param string $param... Parameters to use
+ * @param string $param,... Parameters to use
* @return array
*/
public static function getStandardParams( $action, $param /* ... */ ) {
/**
* Set the continuation manager
- * @param ApiContinuationManager|null
+ * @param ApiContinuationManager|null $manager
*/
public function setContinuationManager( $manager ) {
// Main module has setContinuationManager() method overridden
* Validate the value against the minimum and user/bot maximum limits.
* Prints usage info on failure.
* @param string $paramName Parameter name
- * @param int $value Parameter value
+ * @param int &$value Parameter value
* @param int|null $min Minimum value
* @param int|null $max Maximum value for users
* @param int $botMax Maximum value for sysops/bots
/**
* Truncate an array to a certain length.
- * @param array $arr Array to truncate
+ * @param array &$arr Array to truncate
* @param int $limit Maximum length
* @return bool True if the array was truncated, false otherwise
*/
/**
* Log CSP report, with a different severity depending on $flags
- * @param $flags Array Flags for this report
- * @param $logLine String text of log entry
- * @param $context Array logging context
+ * @param array $flags Flags for this report
+ * @param string $logLine text of log entry
+ * @param array $context logging context
*/
private function logReport( $flags, $logLine, $context ) {
if ( in_array( 'false-positive', $flags ) ) {
/**
* Get extra notes about the report.
*
- * @param $report Array The CSP report
- * @return Array
+ * @param array $report The CSP report
+ * @return array
*/
private function getFlags( $report ) {
$reportOnly = $this->getParameter( 'reportonly' );
$req = $this->getRequest();
$contentType = $req->getHeader( 'content-type' );
if ( $contentType !== 'application/json'
- && $contentType !=='application/csp-report'
+ && $contentType !== 'application/csp-report'
) {
$this->error( 'wrongformat', __METHOD__ );
}
/**
* Get text of log line.
*
- * @param $flags Array of additional markers for this report
- * @param $report Array the csp report
- * @return String Text to put in log
+ * @param array $flags of additional markers for this report
+ * @param array $report the csp report
+ * @return string Text to put in log
*/
private function generateLogLine( $flags, $report ) {
$flagText = '';
/**
* Stop processing the request, and output/log an error
*
- * @param $code String error code
- * @param $method String method that made error
+ * @param string $code error code
+ * @param string $method method that made error
* @throws ApiUsageException Always
*/
private function error( $code, $method ) {
*
* @param Page|WikiPage $page Page or WikiPage object to work on
* @param User $user User doing the action
- * @param string|null $reason Reason for the deletion. Autogenerated if null
+ * @param string|null &$reason Reason for the deletion. Autogenerated if null
* @param array $tags Tags to tag the deletion with
* @return Status
*/
* @param Page $page Object to work on
* @param User $user User doing the action
* @param string $oldimage Archive name
- * @param string $reason Reason for the deletion. Autogenerated if null.
+ * @param string &$reason Reason for the deletion. Autogenerated if null.
* @param bool $suppress Whether to mark all deleted versions as restricted
* @param array $tags Tags to tag the deletion with
* @return Status
/**
* Set the continuation manager
- * @param ApiContinuationManager|null
+ * @param ApiContinuationManager|null $manager
*/
public function setContinuationManager( $manager ) {
if ( $manager !== null ) {
}
/**
- * @param array $res Result array
+ * @param array &$res Result array
* @param string $key Result key
* @param Message[] $msgs
* @param bool $joinLists
/**
* Add information (title and namespace) about a Title object to a
* result array
- * @param array $arr Result array à la ApiResult
+ * @param array &$arr Result array à la ApiResult
* @param Title $title
* @param string $prefix Module prefix
*/
*/
private static function getProperties( $modulePrefix = '' ) {
return [
- 'timestamp' => ' timestamp - Adds timestamp for the uploaded version',
- 'user' => ' user - Adds the user who uploaded the image version',
- 'userid' => ' userid - Add the user ID that uploaded the image version',
- 'comment' => ' comment - Comment on the version',
- 'parsedcomment' => ' parsedcomment - Parse the comment on the version',
+ 'timestamp' => ' timestamp - Adds timestamp for the uploaded version',
+ 'user' => ' user - Adds the user who uploaded the image version',
+ 'userid' => ' userid - Add the user ID that uploaded the image version',
+ 'comment' => ' comment - Comment on the version',
+ 'parsedcomment' => ' parsedcomment - Parse the comment on the version',
'canonicaltitle' => ' canonicaltitle - Adds the canonical title of the image file',
- 'url' => ' url - Gives URL to the image and the description page',
- 'size' => ' size - Adds the size of the image in bytes, ' .
+ 'url' => ' url - Gives URL to the image and the description page',
+ 'size' => ' size - Adds the size of the image in bytes, ' .
'its height and its width. Page count and duration are added if applicable',
- 'dimensions' => ' dimensions - Alias for size', // B/C with Allimages
- 'sha1' => ' sha1 - Adds SHA-1 hash for the image',
- 'mime' => ' mime - Adds MIME type of the image',
- 'thumbmime' => ' thumbmime - Adds MIME type of the image thumbnail' .
+ 'dimensions' => ' dimensions - Alias for size', // B/C with Allimages
+ 'sha1' => ' sha1 - Adds SHA-1 hash for the image',
+ 'mime' => ' mime - Adds MIME type of the image',
+ 'thumbmime' => ' thumbmime - Adds MIME type of the image thumbnail' .
' (requires url and param ' . $modulePrefix . 'urlwidth)',
- 'mediatype' => ' mediatype - Adds the media type of the image',
- 'metadata' => ' metadata - Lists Exif metadata for the version of the image',
+ 'mediatype' => ' mediatype - Adds the media type of the image',
+ 'metadata' => ' metadata - Lists Exif metadata for the version of the image',
'commonmetadata' => ' commonmetadata - Lists file format generic metadata ' .
'for the version of the image',
- 'extmetadata' => ' extmetadata - Lists formatted metadata combined ' .
+ 'extmetadata' => ' extmetadata - Lists formatted metadata combined ' .
'from multiple sources. Results are HTML formatted.',
- 'archivename' => ' archivename - Adds the file name of the archive ' .
+ 'archivename' => ' archivename - Adds the file name of the archive ' .
'version for non-latest versions',
- 'bitdepth' => ' bitdepth - Adds the bit depth of the version',
- 'uploadwarning' => ' uploadwarning - Used by the Special:Upload page to ' .
+ 'bitdepth' => ' bitdepth - Adds the bit depth of the version',
+ 'uploadwarning' => ' uploadwarning - Used by the Special:Upload page to ' .
'get information about an existing file. Not intended for use outside MediaWiki core',
];
}
/**
* @deprecated since 1.25 Use LogFormatter::formatParametersForApi instead
* @param ApiResult $result
- * @param array $vals
+ * @param array &$vals
* @param string $params
* @param string $type
* @param string $action
$title = $result->getTitle();
ApiQueryBase::addTitleInfo( $vals, $title );
+ $vals['pageid'] = $title->getArticleID();
if ( isset( $prop['size'] ) ) {
$vals['size'] = $result->getByteSize();
$watchedItemQuery = MediaWikiServices::getInstance()->getWatchedItemQueryService();
$items = $watchedItemQuery->getWatchedItemsWithRecentChangeInfo( $wlowner, $options, $startFrom );
- foreach ( $items as list ( $watchedItem, $recentChangeInfo ) ) {
+ foreach ( $items as list( $watchedItem, $recentChangeInfo ) ) {
/** @var WatchedItem $watchedItem */
if ( is_null( $resultPageSet ) ) {
$vals = $this->extractOutputData( $watchedItem, $recentChangeInfo );
/**
* @deprecated Do not use. This only exists here because UsageException is in
* the inheritance chain for backwards compatibility.
- * @inheritdoc
+ * @inheritDoc
*/
public function getCodeString() {
wfDeprecated( __METHOD__, '1.29' );
/**
* @deprecated Do not use. This only exists here because UsageException is in
* the inheritance chain for backwards compatibility.
- * @inheritdoc
+ * @inheritDoc
*/
public function getMessageArray() {
wfDeprecated( __METHOD__, '1.29' );
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function getMessageObject() {
return $this->status->getMessage();
$defaultProfile = null;
foreach ( $profiles as $profile ) {
$types[] = $profile['name'];
- if ( isset ( $profile['desc-message'] ) ) {
+ if ( isset( $profile['desc-message'] ) ) {
$helpMessages[$profile['name']] = $profile['desc-message'];
}
if ( !empty( $profile['default'] ) ) {
* one ( to support the continue parameter )
* - namespace: mandatory
* - search engine profiles defined by SearchApi::getSearchProfileParams()
- * @param string[]|null API request params (must be sanitized by
+ * @param string[]|null $params API request params (must be sanitized by
* ApiBase::extractRequestParams() before)
* @return SearchEngine the search engine
*/
}
/**
- * @inheritdoc
+ * @inheritDoc
* @note Override this if it makes sense to support more than one instance
*/
public function getUniqueId() {
}
/**
- * @inheritdoc
+ * @inheritDoc
* @note Reimplement this if you do anything other than
* User::getCanonicalName( $req->username ) to determine the user being
* authenticated.
}
/**
- * @inheritdoc
+ * @inheritDoc
* @note Reimplement this if self::getAuthenticationRequests( AuthManager::ACTION_REMOVE )
* doesn't return requests that will revoke all access for the user.
*/
}
/**
- * @inheritdoc
+ * @inheritDoc
* @note Reimplement this if self::getAuthenticationRequests( AuthManager::ACTION_REMOVE )
* doesn't return requests that will revoke all access for the user.
*/
const TYPE_NONE = 'none';
/**
- * {@inheritdoc}
+ * @inheritDoc
*
* Of the requests returned by this method, exactly one should have
* {@link AuthenticationRequest::$required} set to REQUIRED.
* Do the query and add the results to a given LinkCache object
* Return an array mapping PDBK to ID
*
- * @param LinkCache $cache
+ * @param LinkCache &$cache
* @return array Remaining IDs
*/
protected function executeInto( &$cache ) {
/**
* @param string $code
- * @param array $where List of wfDebug() comments
+ * @param array &$where List of wfDebug() comments
* @param integer $mode Use MessageCache::FOR_UPDATE to use DB_MASTER
* @return bool|string True on success or one of ("cantacquire", "disabled")
*/
* exists, the data array is returned, otherwise false is returned.
*
* @param string $code
- * @param array $deps
+ * @param array &$deps
* @return array
*/
protected function readSourceFilesAndRegisterDeps( $code, &$deps ) {
* Merge two localisation values, a primary and a fallback, overwriting the
* primary value in place.
* @param string $key
- * @param mixed $value
+ * @param mixed &$value
* @param mixed $fallbackValue
*/
protected function mergeItem( $key, &$value, $fallbackValue ) {
}
/**
- * @param mixed $value
+ * @param mixed &$value
* @param mixed $fallbackValue
*/
protected function mergeMagicWords( &$value, $fallbackValue ) {
* otherwise.
* @param array $codeSequence
* @param string $key
- * @param mixed $value
+ * @param mixed &$value
* @param mixed $fallbackValue
* @return bool
*/
/**
* Generate the feed items given a row from the database, printing the feed.
* @param object $rows IDatabase resource with recentchanges rows
- * @param ChannelFeed $feed
+ * @param ChannelFeed &$feed
*/
public static function generateFeed( $rows, &$feed ) {
$items = self::buildItems( $rows );
*
* @since 1.27
*
- * @param RecentChange $rc Passed by reference
+ * @param RecentChange &$rc Passed by reference
* @param bool $watched (default false)
* @param int $linenumber (default null)
*
}
/**
- * @param string $s HTML to update
+ * @param string &$s HTML to update
* @param mixed $rc_timestamp
*/
public function insertDateHeader( &$s, $rc_timestamp ) {
}
/**
- * @param string $s HTML to update
+ * @param string &$s HTML to update
* @param Title $title
* @param string $logtype
*/
}
/**
- * @param string $s HTML to update
- * @param RecentChange $rc
+ * @param string &$s HTML to update
+ * @param RecentChange &$rc
* @param bool|null $unpatrolled Unused variable, since 1.27.
*/
public function insertDiffHist( &$s, &$rc, $unpatrolled = null ) {
}
/**
- * @param string $s Article link will be appended to this string, in place.
+ * @param string &$s Article link will be appended to this string, in place.
* @param RecentChange $rc
* @param bool $unpatrolled
* @param bool $watched
}
/**
- * @param RecentChange $rc
+ * @param RecentChange &$rc
* @param bool $unpatrolled
* @param bool $watched
* @return string HTML
/**
* Insert time timestamp string from $rc into $s
*
- * @param string $s HTML to update
+ * @param string &$s HTML to update
* @param RecentChange $rc
*/
public function insertTimestamp( &$s, $rc ) {
/** Inserts a rollback link
*
- * @param string $s
- * @param RecentChange $rc
+ * @param string &$s
+ * @param RecentChange &$rc
*/
public function insertRollback( &$s, &$rc ) {
if ( $rc->mAttribs['rc_type'] == RC_EDIT
}
/**
- * @param string $s
- * @param RecentChange $rc
- * @param array $classes
+ * @param string &$s
+ * @param RecentChange &$rc
+ * @param array &$classes
*/
public function insertTags( &$s, &$rc, &$classes ) {
if ( empty( $rc->mAttribs['ts_tags'] ) ) {
/**
* @param RecentChange $rc
- * @param array $classes
+ * @param array &$classes
* @return string
* @since 1.26
*/
switch ( $type ) {
case RecentChange::SRC_EDIT:
case RecentChange::SRC_NEW:
- $attrs[ 'data-mw-revid' ] = $rc->mAttribs['rc_this_oldid'];
+ $attrs['data-mw-revid'] = $rc->mAttribs['rc_this_oldid'];
break;
case RecentChange::SRC_LOG:
- $attrs[ 'data-mw-logid' ] = $rc->mAttribs['rc_logid'];
- $attrs[ 'data-mw-logaction' ] = $rc->mAttribs['rc_log_type'] . '/' . $rc->mAttribs['rc_log_action'];
+ $attrs['data-mw-logid'] = $rc->mAttribs['rc_logid'];
+ $attrs['data-mw-logaction'] =
+ $rc->mAttribs['rc_log_type'] . '/' . $rc->mAttribs['rc_log_action'];
break;
}
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function displaysOnUnstructuredUi() {
return !!$this->showHide;
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function isFeatureAvailableOnStructuredUi() {
return $this->isReplacedInStructuredUi ||
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function getJsData() {
$output = parent::getJsData();
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function isSelected( FormOptions $opts ) {
return !$opts[ $this->getName() ] &&
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function createFilter( array $filterDefinition ) {
return new ChangesListBooleanFilter( $filterDefinition );
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function isPerGroupRequestParameter() {
return false;
$this->title = $groupDefinition['title'];
}
- if ( isset ( $groupDefinition['whatsThisHeader'] ) ) {
+ if ( isset( $groupDefinition['whatsThisHeader'] ) ) {
$this->whatsThisHeader = $groupDefinition['whatsThisHeader'];
$this->whatsThisBody = $groupDefinition['whatsThisBody'];
$this->whatsThisUrl = $groupDefinition['whatsThisUrl'];
'messageKeys' => [ $this->title ]
];
- if ( isset ( $this->whatsThisHeader ) ) {
+ if ( isset( $this->whatsThisHeader ) ) {
$output['whatsThisHeader'] = $this->whatsThisHeader;
$output['whatsThisBody'] = $this->whatsThisBody;
$output['whatsThisUrl'] = $this->whatsThisUrl;
*/
class ChangesListStringOptionsFilter extends ChangesListFilter {
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function displaysOnUnstructuredUi() {
return false;
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function isSelected( FormOptions $opts ) {
$option = $opts[ $this->getGroup()->getName() ];
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function isPerGroupRequestParameter() {
return true;
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function createFilter( array $filterDefinition ) {
return new ChangesListStringOptionsFilter( $filterDefinition );
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function getJsData() {
$output = parent::getJsData();
/**
* Format a line for enhanced recentchange (aka with javascript and block of lines).
*
- * @param RecentChange $rc
+ * @param RecentChange &$rc
* @param bool $watched
* @param int $linenumber (default null)
*
/**
* Format a line using the old system (aka without any javascript).
*
- * @param RecentChange $rc Passed by reference
+ * @param RecentChange &$rc Passed by reference
* @param bool $watched (default false)
* @param int $linenumber (default null)
*
if ( $rc->mAttribs['rc_log_type'] ) {
$logtitle = SpecialPage::getTitleFor( 'Log', $rc->mAttribs['rc_log_type'] );
$this->insertLog( $html, $logtitle, $rc->mAttribs['rc_log_type'] );
- $flags = $this->recentChangesFlags( [ 'unpatrolled' =>$unpatrolled,
+ $flags = $this->recentChangesFlags( [ 'unpatrolled' => $unpatrolled,
'bot' => $rc->mAttribs['rc_bot'] ], '' );
if ( $flags !== '' ) {
$html .= ' ' . $flags;
* @since 1.22
* @deprecated since 1.29 Use RCFeed::factory() instead
* @param string $uri URI to get the engine object for
+ * @param array $params
* @return RCFeedEngine The engine object
* @throws MWException
*/
* Makes an entry in the database corresponding to an edit
*
* @param string $timestamp
- * @param Title $title
+ * @param Title &$title
* @param bool $minor
- * @param User $user
+ * @param User &$user
* @param string $comment
* @param int $oldId
* @param string $lastTimestamp
* Note: the title object must be loaded with the new id using resetArticleID()
*
* @param string $timestamp
- * @param Title $title
+ * @param Title &$title
* @param bool $minor
- * @param User $user
+ * @param User &$user
* @param string $comment
* @param bool $bot
* @param string $ip
/**
* @param string $timestamp
- * @param Title $title
- * @param User $user
+ * @param Title &$title
+ * @param User &$user
* @param string $actionComment
* @param string $ip
* @param string $type
/**
* @param string $timestamp
- * @param Title $title
- * @param User $user
+ * @param Title &$title
+ * @param User &$user
* @param string $actionComment
* @param string $ip
* @param string $type
* if you had ORDER BY foo_timestamp DESC, you will now need GROUP BY foo_timestamp, foo_id
* ORDER BY foo_timestamp DESC, foo_id DESC.
*
- * @param string|array $tables Table names, see Database::select
- * @param string|array $fields Fields used in query, see Database::select
- * @param string|array $conds Conditions used in query, see Database::select
- * @param array $join_conds Join conditions, see Database::select
- * @param string|array $options Options, see Database::select
+ * @param string|array &$tables Table names, see Database::select
+ * @param string|array &$fields Fields used in query, see Database::select
+ * @param string|array &$conds Conditions used in query, see Database::select
+ * @param array &$join_conds Join conditions, see Database::select
+ * @param string|array &$options Options, see Database::select
* @param string|array $filter_tag Tag(s) to select on
*
* @throws MWException When unable to determine appropriate JOIN condition for tagging
*
* @see listSoftwareDefinedTags
* @deprecated since 1.28
+ * @return array
*/
public static function listExtensionDefinedTags() {
wfDeprecated( __METHOD__, '1.28' );
* @note This assumes $alphabet does not contain U+F3000-U+F303F
*
* @param array $alphabet Sorted array of uppercase characters.
- * @param Language $language What language for number sorting.
+ * @param Language $lang What language for number sorting.
*/
public function __construct( array $alphabet, Language $lang ) {
// It'd be trivial to extend this past 64, you'd just
private $digitTransformLang;
/**
- * @param $lang Language How to convert digits.
+ * @param Language $lang How to convert digits.
* For example, if given language "my" than ၇ is treated like 7.
*
* It is expected that usually this is given $wgContLang.
*
* based on Language::parseFormattedNumber but without commas.
*
- * @param $string String sortkey to unlocalize digits of
- * @return String Sortkey with all localized digits replaced with ASCII digits.
+ * @param string $string sortkey to unlocalize digits of
+ * @return string Sortkey with all localized digits replaced with ASCII digits.
*/
private function convertDigits( $string ) {
$table = $this->digitTransformLang->digitTransformTable();
/**
* Returns true if the string is _definitely_ in NFC.
* Returns false if not or uncertain.
- * @param string $string a UTF-8 string, altered on output to be valid UTF-8 safe for XML.
+ * @param string &$string a UTF-8 string, altered on output to be valid UTF-8 safe for XML.
* @return bool
*/
static function quickIsNFCVerify( &$string ) {
/**
* Add new field definition to array.
- * @param SearchIndexField[] $fields
+ * @param SearchIndexField[] &$fields
* @param SearchEngine $engine
* @param string $name
* @param int $type
/**
* @param string $text JSON
+ * @param string $modelId
*/
public function __construct( $text, $modelId = CONTENT_MODEL_JSON ) {
parent::__construct( $text, $modelId );
* @param int $revId
* @param ParserOptions $options
* @param bool $generateHtml
- * @param ParserOutput $output
+ * @param ParserOutput &$output
*/
protected function fillParserOutput( Title $title, $revId,
ParserOptions $options, $generateHtml, ParserOutput &$output
* changes.
*
* @since 1.28
- * @param $text
+ * @param string $text
* @return string
*/
public static function normalizeLineEndings( $text ) {
* @param int $revId Revision ID (for {{REVISIONID}})
* @param ParserOptions $options Parser options
* @param bool $generateHtml Whether or not to generate HTML
- * @param ParserOutput $output The output object to fill (reference).
+ * @param ParserOutput &$output The output object to fill (reference).
*/
protected function fillParserOutput( Title $title, $revId,
ParserOptions $options, $generateHtml, ParserOutput &$output
* @since 1.18
* @param string|string[]|MessageSpecifier $key Message key, or array of keys,
* or a MessageSpecifier.
- * @param mixed ...
+ * @param mixed $args,...
* @return Message
*/
public function msg( $key /* $args */ ) {
*
* @param string|string[]|MessageSpecifier $key Message key, or array of keys,
* or a MessageSpecifier.
- * @param mixed ...
+ * @param mixed $args,...
* @return Message
*/
public function msg( $key ) {
}
/**
- * @param IDatabase $db
+ * @param IDatabase &$db
* @param resource $stmt A valid OCI statement identifier
* @param bool $unique
*/
*/
class BufferHandler extends BaseBufferHandler {
/**
- * {@inheritDoc}
+ * @inheritDoc
*/
public function handle( array $record ) {
if ( !$this->initialized ) {
}
/**
- * {@inheritDoc}
+ * @inheritDoc
*/
protected function write( array $record ) {
if ( $record['formatted'] !== null ) {
}
/**
- * {@inheritDoc}
+ * @inheritDoc
*/
public function handleBatch( array $batch ) {
$channels = [];
}
/**
- * {@inheritdoc}
+ * @inheritDoc
*/
public function format( array $record ) {
// Drop the 'private' flag from the context
}
/**
- * @param string $sql
+ * @param string &$sql
* @param string $field
* @param int $delta
*/
* @param int $xlen
* @param int $ybeg
* @param int $ylen
- * @param array $edits
+ * @param array &$edits
*
* @throws MWException If the edit type is not known.
*/
*/
class WordLevelDiff extends \Diff {
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected $bailoutComplexity = 40000000; // Roughly 6K x 6K words changed
protected $sendingThisPage;
/**
- * @param DumpOutput $sink
+ * @param DumpOutput &$sink
*/
function __construct( &$sink ) {
$this->sink =& $sink;
public $namespaces = [];
/**
- * @param DumpOutput $sink
+ * @param DumpOutput &$sink
* @param array $param
* @throws MWException
*/
* various row objects and XML output for filtering. Filters
* can be chained or used as callbacks.
*
- * @param DumpOutput $sink
+ * @param DumpOutput &$sink
*/
public function setOutputSink( &$sink ) {
$this->sink =& $sink;
/**
* @param string $cond
+ * @param bool $orderRevs
* @throws MWException
* @throws Exception
*/
protected function getMasterDB() {
if ( !$this->dbw ) {
// Get a separate connection in autocommit mode
- $lb = MediaWikiServices::getInstance()->getDBLoadBalancerFactory()->newMainLB();
+ $lb = MediaWikiServices::getInstance()->getDBLoadBalancerFactory()->newMainLB();
$this->dbw = $lb->getConnection( DB_MASTER, [], $this->wiki );
$this->dbw->clearFlag( DBO_TRX );
}
*
* Used by a subclass to insert extra high resolution images.
* @param MediaTransformOutput $thumb The thumbnail
- * @param array $imageParameters Array of options
+ * @param array &$imageParameters Array of options
*/
protected function adjustImageParameters( $thumb, &$imageParameters ) {
}
* Construct a HTMLForm object for given display type. May return a HTMLForm subclass.
*
* @param string $displayFormat
- * @param mixed $arguments... Additional arguments to pass to the constructor.
+ * @param mixed $arguments,... Additional arguments to pass to the constructor.
* @return HTMLForm
*/
public static function factory( $displayFormat/*, $arguments...*/ ) {
* @since 1.23
*
* @param string $fieldname Name of the field
- * @param array $descriptor Input Descriptor, as described above
+ * @param array &$descriptor Input Descriptor, as described above
*
* @throws MWException
* @return string Name of a HTMLFormField subclass
* @param string $path
* @param string $mode
* @param array $options
- * @param string $opened_path
+ * @param string &$opened_path
* @return bool
*/
function stream_open( $path, $mode, $options, &$opened_path ) {
/**
* Alternate per-revision callback, for debugging.
- * @param WikiRevision $revision
+ * @param WikiRevision &$revision
*/
public function debugRevisionHandler( &$revision ) {
$this->debug( "Got revision:" );
}
// Set up the default skins
- $skins = $this->findExtensions( 'skins' );
+ $skins = array_keys( $this->findExtensions( 'skins' ) );
$this->setVar( '_Skins', $skins );
if ( $skins ) {
protected $holdContentHandlerUseDB = true;
/**
- * @param Database $db To perform updates on
+ * @param Database &$db To perform updates on
* @param bool $shared Whether to perform updates on shared tables
* @param Maintenance $maintenance Maintenance object which created us
*/
$this->parserTitle = Title::newFromText( 'Installer' );
$this->parserOptions = new ParserOptions( $wgUser ); // language will be wrong :(
$this->parserOptions->setEditSection( false );
+ $this->parserOptions->setWrapOutputClass( false );
// Don't try to access DB before user language is initialised
$this->setParserLanguage( Language::factory( 'en' ) );
}
* Reasonable values for $directory include 'extensions' (the default) and 'skins'.
*
* @param string $directory Directory to search in
- * @return array
+ * @return array [ $extName => [ 'screenshots' => [ '...' ] ]
*/
public function findExtensions( $directory = 'extensions' ) {
if ( $this->getVar( 'IP' ) === null ) {
}
// extensions -> extension.json, skins -> skin.json
- $jsonFile = substr( $directory, 0, strlen( $directory ) -1 ) . '.json';
+ $jsonFile = substr( $directory, 0, strlen( $directory ) - 1 ) . '.json';
$dh = opendir( $extDir );
$exts = [];
continue;
}
if ( file_exists( "$extDir/$file/$jsonFile" ) || file_exists( "$extDir/$file/$file.php" ) ) {
- $exts[] = $file;
+ // Extension exists. Now see if there are screenshots
+ $exts[$file] = [];
+ if ( is_dir( "$extDir/$file/screenshots" ) ) {
+ $paths = glob( "$extDir/$file/screenshots/*.png" );
+ foreach ( $paths as $path ) {
+ $exts[$file]['screenshots'][] = str_replace( $extDir, "../$directory", $path );
+ }
+
+ }
}
}
closedir( $dh );
// 1.30
[ 'modifyField', 'image', 'img_media_type', 'patch-add-3d.sql' ],
+ [ 'addTable', 'ip_changes', 'patch-ip_changes.sql' ],
];
}
}
/**
- * @param $dir
- * @param $db
+ * @param string $dir
+ * @param string $db
* @return Status
*/
protected function makeStubDBFile( $dir, $db ) {
}
/**
- * @param Status $status
+ * @param Status &$status
* @return Status
*/
public function setupSearchIndex( &$status ) {
// 1.30
[ 'modifyField', 'image', 'img_media_type', 'patch-add-3d.sql' ],
+ [ 'addTable', 'ip_changes', 'patch-ip_changes.sql' ],
];
}
$skins = $this->parent->findExtensions( 'skins' );
$skinHtml = $this->getFieldsetStart( 'config-skins' );
- $skinNames = array_map( 'strtolower', $skins );
+ $skinNames = array_map( 'strtolower', array_keys( $skins ) );
$chosenSkinName = $this->getVar( 'wgDefaultSkin', $this->parent->getDefaultSkin( $skinNames ) );
if ( $skins ) {
'value' => $chosenSkinName,
] );
- foreach ( $skins as $skin ) {
+ foreach ( $skins as $skin => $info ) {
+ if ( isset( $info['screenshots'] ) ) {
+ $screenshotText = $this->makeScreenshotsLink( $skin, $info['screenshots'] );
+ } else {
+ $screenshotText = htmlspecialchars( $skin );
+ }
$skinHtml .=
'<div class="config-skins-item">' .
$this->parent->getCheckBox( [
'var' => "skin-$skin",
- 'rawtext' => $skin,
+ 'rawtext' => $screenshotText,
'value' => $this->getVar( "skin-$skin", true ), // all found skins enabled by default
] ) .
'<div class="config-skins-use-as-default">' . $radioButtons[strtolower( $skin )] . '</div>' .
if ( $extensions ) {
$extHtml = $this->getFieldsetStart( 'config-extensions' );
- foreach ( $extensions as $ext ) {
+ foreach ( $extensions as $ext => $info ) {
$extHtml .= $this->parent->getCheckBox( [
'var' => "ext-$ext",
'rawtext' => $ext,
return null;
}
+ private function makeScreenshotsLink( $name, $screenshots ) {
+ global $wgLang;
+ if ( count( $screenshots ) > 1 ) {
+ $links = [];
+ $counter = 1;
+ foreach ( $screenshots as $shot ) {
+ $links[] = Html::element(
+ 'a',
+ [ 'href' => $shot ],
+ $wgLang->formatNum( $counter++ )
+ );
+ }
+ return wfMessage( 'config-skins-screenshots' )
+ ->rawParams( $name, $wgLang->commaList( $links ) )
+ ->escaped();
+ } else {
+ $link = Html::element(
+ 'a',
+ [ 'href' => $screenshots[0] ],
+ wfMessage( 'config-screenshot' )->text()
+ );
+ return wfMessage( 'config-skins-screenshot', $name )->rawParams( $link )->escaped();
+ }
+ }
+
/**
* @return string
*/
* @return bool
*/
public function submitSkins() {
- $skins = $this->parent->findExtensions( 'skins' );
+ $skins = array_keys( $this->parent->findExtensions( 'skins' ) );
$this->parent->setVar( '_Skins', $skins );
if ( $skins ) {
$this->setVar( 'wgRightsIcon', '' );
}
- $skinsAvailable = $this->parent->findExtensions( 'skins' );
+ $skinsAvailable = array_keys( $this->parent->findExtensions( 'skins' ) );
$skinsToInstall = [];
foreach ( $skinsAvailable as $skin ) {
$this->parent->setVarsFromRequest( [ "skin-$skin" ] );
$retVal = false;
}
- $extsAvailable = $this->parent->findExtensions();
+ $extsAvailable = array_keys( $this->parent->findExtensions() );
$extsToInstall = [];
foreach ( $extsAvailable as $ext ) {
$this->parent->setVarsFromRequest( [ "ext-$ext" ] );
"config-help-tooltip": "націсьніце, каб разгарнуць",
"config-nofile": "Файл «$1» ня знойдзены. Ці быў ён выдалены?",
"config-extension-link": "Ці ведаеце вы, што вашая вікі падтрымлівае [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions пашырэньні]?\n\nВы можаце праглядзець [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category пашырэньні паводле катэгорыяў] або [https://www.mediawiki.org/wiki/Extension_Matrix матрыцу пашырэньняў], каб пабачыць поўны сьпіс.",
+ "config-skins-screenshots": "$1 (здымкі экрану: $2)",
"mainpagetext": "<strong>MediaWiki была ўсталяваная.</strong>",
"mainpagedocfooter": "Глядзіце [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents дапаможнік карыстальніка] для атрыманьня інфармацыі па карыстаньні вікі-праграмамі.\n\n== З чаго пачаць ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Сьпіс парамэтраў канфігурацыі]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Частыя пытаньні MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка паведамленьняў пра зьяўленьне новых вэрсіяў MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Пераклад MediaWiki на вашую мову]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Даведайцеся, як змагацца з спамам у вашай вікі]"
}
"config-install-mainpage-exists": "প্রধান পাতা ইতিমধ্যেই বিদ্যমান, এডিয়ে যাওয়া হচ্ছে",
"config-help": "সাহায্য",
"config-help-tooltip": "প্রসারিত করতে ক্লিক করুন",
+ "config-skins-screenshots": "$1 (স্ক্রিনশট: $2)",
+ "config-screenshot": "স্ক্রিনশট",
"mainpagetext": "<strong>মিডিয়াউইকি ইনস্টল করা হয়েছে।</strong>",
"mainpagedocfooter": "কীভাবে উইকি সফটওয়্যারটি ব্যবহারকার করবেন, তা জানতে [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents ব্যবহারকারী সহায়িকা] দেখুন।\n\n== কোথা থেকে শুরু করবেন ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings কনফিগারেশন সেটিং তালিকা]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ প্রশ্নোত্তরে মিডিয়াউইকি]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce মিডিয়াউইকি মুক্তির মেইলিং লিস্ট]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources আপনার ভাষার জন্য মিডিয়াউইকি স্থানীয়করণ করুন]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam আপনার উইকিতে স্প্যামের সাথে লড়াই করার উপায় সম্পর্কে জানুন]"
}
"config-help-tooltip": "Zum Expandieren klicken",
"config-nofile": "Die Datei „$1“ konnte nicht gefunden werden. Wurde sie gelöscht?",
"config-extension-link": "Wusstest du, dass dein Wiki die Nutzung von [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions Erweiterungen] unterstützt?\n\nDu kannst die [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category Erweiterungen nach Kategorie] anzeigen oder die [https://www.mediawiki.org/wiki/Extension_Matrix Erweiterungs-Matrix] aufrufen, um eine vollständige Liste der Erweiterungen zu sehen.",
+ "config-skins-screenshots": "$1 (Bildschirmfotos: $2)",
+ "config-screenshot": "Bildschirmfoto",
"mainpagetext": "<strong>MediaWiki wurde installiert.</strong>",
"mainpagedocfooter": "Hilfe zur Benutzung und Konfiguration der Wiki-Software findest du im [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Benutzerhandbuch].\n\n== Starthilfen ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Liste der Konfigurationsvariablen]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki-FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Übersetze MediaWiki für deine Sprache]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Erfahre, wie du Spam auf deinem Wiki bekämpfen kannst]"
}
"config-help-tooltip": "click to expand",
"config-nofile": "File \"$1\" could not be found. Has it been deleted?",
"config-extension-link": "Did you know that your wiki supports [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensions]?\n\nYou can browse [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensions by category] or the [https://www.mediawiki.org/wiki/Extension_Matrix Extension Matrix] to see the full list of extensions.",
+ "config-skins-screenshots": "$1 (screenshots: $2)",
+ "config-skins-screenshot": "$1 ($2)",
+ "config-screenshot": "screenshot",
"mainpagetext": "<strong>MediaWiki has been installed.</strong>",
"mainpagedocfooter": "Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software.\n\n== Getting started ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]"
}
"config-help-tooltip": "стиснете да расклопите",
"config-nofile": "Податотеката „$1“ не е пронајдена. Да не е избришана?",
"config-extension-link": "Дали сте знаеле дека вашето вики поддржува [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions додатоци]?\n\nМожете да ги прелистате [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category по категории]",
+ "config-skins-screenshots": "$1 (екр. снимки: $2)",
+ "config-screenshot": "екранска снимка",
"mainpagetext": "<strong>МедијаВики е успешно воспоставен.</strong>",
"mainpagedocfooter": "Погледнете го [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Упатството за корисници] за подетални информации како се користи вики-програмот.\n\n==Од каде да почнете==\n* [https://meta.wikimedia.org/wiki/Manual:Configuration_settings Список на нагодувања]\n* [https://meta.wikimedia.org/wiki/Manual:FAQ ЧПП (често поставувани прашања) за МедијаВики].\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Поштенски список на МедијаВики за нови верзии]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Локализирајте го МедијаВики на вашиот јазик]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Дознајте како да се борите против спам на вашето вики]"
}
"config-help-tooltip": "klikk for å utvide",
"config-nofile": "Filen \"$1\" ble ikke funnet. Kan den være blitt slettet?",
"config-extension-link": "Visste du at wikien din kan brukes sammen med en mengde [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions utvidelser]?\n\nDu kan sjekke gjennom [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category utvidelser per kategori] eller [https://www.mediawiki.org/wiki/Extension_Matrix utvidelsesmatrisen] for å se den komplette listen av utvidelser.",
+ "config-skins-screenshots": "$1 (skjermbilder: $2)",
+ "config-screenshot": "skjermbilde",
"mainpagetext": "<strong>MediaWiki har blitt installert.</strong>",
"mainpagedocfooter": "Sjekk [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents brukerveiledningen] for å få informasjon om hvordan du bruker wiki-programvaren.\n\n==Hvordan komme igang==\n*[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Innstillingsliste]\n*[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Ofte stilte spørsmål om MediaWiki]\n*[https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki e-postliste]\n*[https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Tilpass MediaWiki for ditt språk]\n*[https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Lær deg å beskytte deg mot spam på wikien din]"
}
]
},
"config-desc": "O instalador do MediaWiki",
- "config-title": "Instalação da MediaWiki $1",
+ "config-title": "Instalação do MediaWiki $1",
"config-information": "Informação",
"config-localsettings-upgrade": "Foi detetado um ficheiro <code>LocalSettings.php</code>.\nPara atualizar esta instalação, por favor introduza o valor de <code>$wgUpgradeKey</code> na caixa abaixo.\nEncontra este valor em <code>LocalSettings.php</code>.",
"config-localsettings-cli-upgrade": "Foi detetado um ficheiro <code>LocalSettings.php</code>.\nPara atualizar esta instalação, execute o <code>update.php</code>, por favor",
"config-help": "ajuda",
"config-help-tooltip": "clique para expandir",
"config-nofile": "Não foi possível encontrar o ficheiro \"$1\". Terá sido apagado?",
- "config-extension-link": "Sabia que a sua wiki suporta [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensões]?\n\nPode procurar [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensões por categoria].",
- "mainpagetext": "<strong>MediaWiki instalado.</strong>",
+ "config-extension-link": "Sabia que a sua wiki suporta [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions extensões]?\n\nPode consultar as [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category extensões por categoria] ou a [https://www.mediawiki.org/wiki/Extension_Matrix Matriz de Extensões] para ver a lista completa de extensões.",
+ "config-skins-screenshots": "$1 (capturas de ecrã: $2)",
+ "config-screenshot": "captura de ecrã",
+ "mainpagetext": "<strong>O MediaWiki foi instalado.</strong>",
"mainpagedocfooter": "Consulte a [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Ajuda do MediaWiki] para informações sobre o uso do software wiki.\n\n== Onde começar ==\n\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista de opções de configuração]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ Perguntas e respostas frequentes sobre o MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Subscreva a lista de divulgação de novas versões do MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Regionalize o MediaWiki para a sua língua]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Aprenda a combater <i>spam</i> na sua wiki]"
}
"Umherirrender",
"Waldir",
"Jdforrester",
- "Liuxinyu970226"
+ "Liuxinyu970226",
+ "Metalhead64"
]
},
"config-desc": "Short description of the installer.",
"config-help-tooltip": "Tooltip for the 'help' links ({{msg-mw|config-help}}), to make it clear they'll expand in place rather than open a new page",
"config-nofile": "Used as failure message. Parameters:\n* $1 - filename",
"config-extension-link": "Shown on last page of installation to inform about possible extensions.\n{{Identical|Did you know}}",
+ "config-skins-screenshots": "Radio button text, $1 is the skin name, and $2 is a list of links to screenshots of that skin",
+ "config-skins-screenshot": "Radio button text, $1 is the skin name, and $2 is a link to a screenshot of that skin, where the link text is {{mw-msg|config-screenshot}}.",
+ "config-screenshot": "Link text for the link in {{msg-mw|config-skins-screenshot}}",
"mainpagetext": "Along with {{msg-mw|mainpagedocfooter}}, the text you will see on the Main Page when your wiki is installed.",
"mainpagedocfooter": "Along with {{msg-mw|mainpagetext}}, the text you will see on the Main Page when your wiki is installed.\nThis might be a good place to put information about <nowiki>{{GRAMMAR:}}</nowiki>. See [[{{NAMESPACE}}:{{BASEPAGENAME}}/fi]] for an example. For languages having grammatical distinctions and not having an appropriate <nowiki>{{GRAMMAR:}}</nowiki> software available, a suggestion to check and possibly amend the messages having <nowiki>{{SITENAME}}</nowiki> may be valuable. See [[{{NAMESPACE}}:{{BASEPAGENAME}}/ksh]] for an example."
}
"config-help-tooltip": "нажмите, чтобы развернуть",
"config-nofile": "Файл \"$1\" не удается найти. Он был удален?",
"config-extension-link": "Знаете ли вы, что ваш вики-проект поддерживает [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions расширения]?\n\nВы можете просмотреть [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category расширения по категориям] или [https://www.mediawiki.org/wiki/Extension_Matrix матрицу расширений], чтобы увидеть их полный список.",
+ "config-skins-screenshots": "$1 (скриншоты: $2)",
+ "config-screenshot": "скриншот",
"mainpagetext": "<strong>MediaWiki успешно установлена.</strong>",
"mainpagedocfooter": "Информацию по работе с этой вики можно найти в [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents справочном руководстве].\n\n== Некоторые полезные ресурсы ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Список возможных настроек];\n* [https://www.mediawiki.org/wiki/Manual:FAQ/ru Часто задаваемые вопросы и ответы по MediaWiki];\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Рассылка уведомлений о выходе новых версий MediaWiki].\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Перевод MediaWiki на свой язык]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Узнайте, как бороться со спамом в вашей вики]"
}
/**
* @param array $jobs
- * @param HashRing $partitionRing
+ * @param HashRing &$partitionRing
* @param int $flags
* @throws JobQueueError
* @return array List of Job object that could not be inserted
* justification for breaking compatibility with installations
* compiled with ./configure --disable-hash.
*
- * @param array $array Array to sort
+ * @param array &$array Array to sort
* @param string $key
* @param string $separator A separator used to delimit the array elements and the
* key. This can be chosen to provide backwards compatibility with
/**
* Returns a variant of $url which will pass isUrlExtensionBad() but has the
* same GET parameters, or false if it can't figure one out.
- * @param $url
- * @param $extWhitelist array
+ * @param string $url
+ * @param array $extWhitelist
* @return bool|string
*/
public static function fixUrlForIE6( $url, $extWhitelist = [] ) {
* or a specification in the style of a User-Agent header, such as
* "Apache/1.3.34 (Unix) mod_ssl/2.8.25 OpenSSL/0.9.8a PHP/4.4.2"
*
- * @param $serverSoftware
+ * @param string $serverSoftware
* @return bool
*/
public static function haveUndecodedRequestUri( $serverSoftware ) {
*
* Like MemoizedCallable::invokeArgs(), but variadic.
*
- * @param mixed ...$params Parameters for memoized function or method.
+ * @param mixed $params,... Parameters for memoized function or method.
* @return mixed The memoized callable's return value.
*/
public function invoke() {
}
/**
- * @param array $req HTTP request map
+ * @param array &$req HTTP request map
* @param array $opts
* - connTimeout : default connection timeout
* - reqTimeout : default request timeout
/**
* Register a logger
*
- * @param LoggerInterface
+ * @param LoggerInterface $logger
*/
public function setLogger( LoggerInterface $logger ) {
$this->logger = $logger;
'type' => $installed['type'],
'licenses' => isset( $installed['license'] ) ? $installed['license'] : [],
'authors' => isset( $installed['authors'] ) ? $installed['authors'] : [],
- 'description' => isset( $installed['description'] ) ? $installed['description']: '',
+ 'description' => isset( $installed['description'] ) ? $installed['description'] : '',
];
}
'type' => $installed['type'],
'licenses' => isset( $installed['license'] ) ? $installed['license'] : [],
'authors' => isset( $installed['authors'] ) ? $installed['authors'] : [],
- 'description' => isset( $installed['description'] ) ? $installed['description']: '',
+ 'description' => isset( $installed['description'] ) ? $installed['description'] : '',
];
}
* - StatusValue::newGood() if this method is called without parameters
* - StatusValue::newFatal() with all parameters to this method if passed in
*
- * @param ... string
+ * @param string $args,...
* @return StatusValue
*/
final protected function newStatus() {
/**
* @see FileBackendStore::__construct()
- * Additional $config params include:
+ * @param array $config Params include:
* - swiftAuthUrl : Swift authentication server URL
* - swiftUser : Swift user used by MediaWiki (account:username)
* - swiftKey : Swift authentication key for the above user
*
* @param string $fullCont Resolved container name
* @param string $dir Resolved storage directory with no trailing slash
- * @param string|null $after Resolved container relative path to list items after
+ * @param string|null &$after Resolved container relative path to list items after
* @param int $limit Max number of items to list
* @param array $params Parameters for getDirectoryList()
* @return array List of container relative resolved paths of directories directly under $dir
*
* @param string $fullCont Resolved container name
* @param string $dir Resolved storage directory with no trailing slash
- * @param string|null $after Resolved container relative path of file to list items after
+ * @param string|null &$after Resolved container relative path of file to list items after
* @param int $limit Max number of items to list
* @param array $params Parameters for getDirectoryList()
* @return array List of resolved container relative paths of files under $dir
*
* @param string $container Resolved container name
* @param string $dir Resolved path relative to container
- * @param string $after
+ * @param string &$after
* @param int $limit
* @param array $params
* @return Traversable|array
* This must update $predicates for each path that the op can change
* except when a failing StatusValue object is returned.
*
- * @param array $predicates
+ * @param array &$predicates
* @return StatusValue
*/
final public function precheck( array &$predicates ) {
}
/**
- * @param array $predicates
+ * @param array &$predicates
* @return StatusValue
*/
protected function doPrecheck( array &$predicates ) {
* This is useful for early release of locks before function scope is destroyed.
* This is the same as setting the lock object to null.
*
- * @param ScopedLock $lock
+ * @param ScopedLock &$lock
* @since 1.21
*/
public static function release( ScopedLock &$lock = null ) {
/**
* Translate a MIME type from IE's idiosyncratic private types into
* more commonly understood type strings
- * @param $type
+ * @param string $type
* @return string
*/
public function translateMimeType( $type ) {
/**
* Get the MIME type for a given named version
- * @param $version
- * @param $fileName
- * @param $chunk
- * @param $proposed
+ * @param string $version
+ * @param string $fileName
+ * @param string $chunk
+ * @param string $proposed
* @return bool|string
*/
protected function getMimeTypeForVersion( $version, $fileName, $chunk, $proposed ) {
/**
* Check for text headers at the start of the chunk
* Confirmed same in 5 and 7.
- * @param $version
- * @param $chunk
+ * @param string $version
+ * @param string $chunk
* @return bool|string
*/
private function checkTextHeaders( $version, $chunk ) {
/**
* Check for binary headers at the start of the chunk
* Confirmed same in 5 and 7.
- * @param $version
- * @param $chunk
+ * @param string $version
+ * @param string $chunk
* @return bool|string
*/
private function checkBinaryHeaders( $version, $chunk ) {
/**
* Do heuristic checks on the bulk of the data sample.
* Search for HTML tags.
- * @param $version
- * @param $chunk
+ * @param string $version
+ * @param string $chunk
* @return array
*/
protected function sampleData( $version, $chunk ) {
}
/**
- * @param $version
- * @param $type
+ * @param string $version
+ * @param string|null $type
* @return int|string
*/
protected function getDataFormat( $version, $type ) {
/**
* Get all of the attributes for an XMLReader's current node
- * @param $r XMLReader
+ * @param XMLReader $r
* @return array of attributes
*/
private function getAttributesArray( XMLReader $r ) {
}
/**
- * @param $name element or attribute name, maybe with a full or short prefix
- * @param $namespaceURI the namespaceURI
+ * @param string $name element or attribute name, maybe with a full or short prefix
+ * @param string $namespaceURI the namespaceURI
* @return string the name prefixed with namespaceURI
*/
private function expandNS( $name, $namespaceURI ) {
}
/**
- * @param $name
- * @param $attribs
+ * @param string $name
+ * @param string $attribs
*/
private function elementOpen( $name, $attribs ) {
$this->elementDataContext[] = [ $name, $attribs ];
}
/**
- * @param $data
+ * @param string $data
*/
private function elementData( $data ) {
// Collect any data here, and we'll run the callback in elementClose
}
/**
- * @param $target
- * @param $data
+ * @param string $target
+ * @param string $data
*/
private function processingInstructionHandler( $target, $data ) {
$callbackReturn = false;
*
* If there is an error parsing the dtd, sets wellFormed to false.
*
- * @param $dtd string
+ * @param string $dtd
* @return array Possibly containing keys publicid, systemid, type and internal.
*/
private function parseDTD( $dtd ) {
* @note: This method is only needed if merge() uses mergeViaCas()
*
* @param string $key
- * @param mixed $casToken
+ * @param mixed &$casToken
* @param integer $flags Bitfield of BagOStuff::READ_* constants [optional]
* @return mixed Returns false on failure and if the item does not exist
* @throws Exception
* Make a global cache key.
*
* @since 1.27
- * @param string ... Key component (variadic)
+ * @param string $keys,... Key component
* @return string
*/
public function makeGlobalKey() {
* Make a cache key, scoped to this instance's keyspace.
*
* @since 1.27
- * @param string ... Key component (variadic)
+ * @param string $keys,... Key component
* @return string
*/
public function makeKey() {
* @param integer $count
* @param bool $asyncWrites
* @param string $method
- * @param mixed ...
+ * @param mixed $args,...
* @return bool
*/
protected function doWrite( $count, $asyncWrites, $method /*, ... */ ) {
* That method has cache slam avoiding features for hot/expensive keys.
*
* @param string $key Cache key
- * @param mixed $curTTL Approximate TTL left on the key if present/tombstoned [returned]
+ * @param mixed &$curTTL Approximate TTL left on the key if present/tombstoned [returned]
* @param array $checkKeys List of "check" keys
* @param float &$asOf UNIX timestamp of cached value; null on failure [returned]
* @return mixed Value of cache key or false on failure
* @see WANObjectCache::get()
*
* @param array $keys List of cache keys
- * @param array $curTTLs Map of (key => approximate TTL left) for existing keys [returned]
+ * @param array &$curTTLs Map of (key => approximate TTL left) for existing keys [returned]
* @param array $checkKeys List of check keys to apply to all $keys. May also apply "check"
* keys to specific cache keys only by using cache keys as keys in the $checkKeys array.
* @param float[] &$asOfs Map of (key => UNIX timestamp of cached value; null on failure)
/**
* @see BagOStuff::makeKey()
- * @param string ... Key component
+ * @param string $keys,... Key component
* @return string
* @since 1.27
*/
/**
* @see BagOStuff::makeGlobalKey()
- * @param string ... Key component
+ * @param string $keys,... Key component
* @return string
* @since 1.27
*/
* With conflicting expectations, the most narrow ones will be used
*
* @param array $expects Map of (event => limit)
- * @param $fname
+ * @param string $fname
* @since 1.26
*/
public function setExpectations( array $expects, $fname ) {
}
/**
- * @param $sql
+ * @param string $sql
* @return string|null
*/
protected function getQueryVerb( $sql ) {
* @see WANObjectCache::getWithSetCallback()
*
* @param IDatabase $db1
- * @param IDatabase ...
+ * @param IDatabase $dbs,...
* @return array Map of values:
* - lag: highest lag of any of the DBs or false on error (e.g. replication stopped)
* - since: oldest UNIX timestamp of any of the DB lag estimates
}
/**
- * @param string $sql
- * @param string $newLine
+ * @param string &$sql
+ * @param string &$newLine
* @return bool
*/
public function streamStatementEnd( &$sql, &$newLine ) {
protected $mData;
/**
- * @param $data string
+ * @param string $data
*/
public function __construct( $data ) {
$this->mData = $data;
}
/**
- * @inheritdoc
+ * @inheritDoc
* @since 1.29
*/
public function getMessageObject() {
*
* Sub-classes will extend the required keys in $conf with additional parameters
*
- * @param $conf $params Array with keys:
+ * @param array $conf Array with keys:
* - localDomain: A DatabaseDomain or domain ID string.
* - readOnlyReason : Reason the master DB is read-only if so [optional]
* - srvCache : BagOStuff object for server cache [optional]
* Sets sampling rate for all items in $data.
* The sample rate specified in a StatsdData entity overrides the sample rate specified here.
*
- * {@inheritDoc}
+ * @inheritDoc
*/
public function appendSampleRate( $data, $sampleRate = 1 ) {
$samplingRates = $this->samplingRates;
}
/**
- * {@inheritDoc}
+ * @inheritDoc
*/
protected function throwException( Exception $exception ) {
if ( !$this->getFailSilently() ) {
*
* @param IContextSource|Skin $context Context to use; formerly it was
* a Skin object. Use of Skin is deprecated.
- * @param LinkRenderer|null $linkRenderer, previously unused
+ * @param LinkRenderer|null $linkRenderer previously unused
* @param int $flags Can be a combination of self::NO_ACTION_LINK,
* self::NO_EXTRA_USER_LINKS or self::USE_CHECKBOXES.
*/
/**
* Show log extract. Either with text and a box (set $msgKey) or without (don't set $msgKey)
*
- * @param OutputPage|string $out By-reference
+ * @param OutputPage|string &$out
* @param string|array $types Log types to show
* @param string|Title $page The page title to show log entries for
* @param string $user The user who made the log entries
* @param string $type
* @param Language|null $lang
* @param Title $title
- * @param array $params
+ * @param array &$params
* @return string
*/
protected static function getTitleLink( $type, $lang, $title, &$params ) {
* @param MailAddress $from Sender's email
* @param string $subject Email's subject.
* @param string $body Email's text or Array of two strings to be the text and html bodies
- * @param array $options:
+ * @param array $options Keys:
* 'replyTo' MailAddress
* 'contentType' string default 'text/plain; charset=UTF-8'
* 'headers' array Extra headers to set
* @param MailAddress $from Sender's email
* @param string $subject Email's subject.
* @param string $body Email's text or Array of two strings to be the text and html bodies
- * @param array $options:
+ * @param array $options Keys:
* 'replyTo' MailAddress
* 'contentType' string default 'text/plain; charset=UTF-8'
* 'headers' array Extra headers to set
/**
* @param File $image
- * @param array $params
+ * @param array &$params
* @return bool
*/
function normaliseParams( $image, &$params ) {
/**
* @param File $image
- * @param array $params
+ * @param array &$params
* @return bool
*/
function normaliseParams( $image, &$params ) {
*
* @param File $file File to use
* @param array $extendedMetadata
- * @param int $maxCacheTime Hook handlers might use this parameter to override cache time
+ * @param int &$maxCacheTime Hook handlers might use this parameter to override cache time
*
* @return array [<property name> => ['value' => <value>]], or [] on error
* @since 1.23
/**
* Takes an array returned by the getExtendedMetadata* functions,
* and resolves multi-language values in it.
- * @param array $metadata
+ * @param array &$metadata
* @since 1.23
*/
protected function resolveMultilangMetadata( &$metadata ) {
/**
* Takes an array returned by the getExtendedMetadata* functions,
* and turns all fields into single-valued ones by dropping extra values.
- * @param array $metadata
+ * @param array &$metadata
* @since 1.25
*/
protected function discardMultipleValues( &$metadata ) {
/**
* Makes sure the given array is a valid API response fragment
- * @param array $arr
+ * @param array &$arr
*/
protected function sanitizeArrayForAPI( &$arr ) {
if ( !is_array( $arr ) ) {
/**
* @param File $image
- * @param array $params
+ * @param array &$params
* @return bool
*/
function normaliseParams( $image, &$params ) {
/**
* Validate thumbnail parameters and fill in the correct height
*
- * @param int $width Specified width (input/output)
- * @param int $height Height (output only)
+ * @param int &$width Specified width (input/output)
+ * @param int &$height Height (output only)
* @param int $srcWidth Width of the source image
* @param int $srcHeight Height of the source image
* @param string $mimeType Unused
}
/**
- * {@inheritdoc}
+ * @inheritDoc
*/
protected function transformImageMagick( $image, $params ) {
global $wgUseTinyRGBForJPGThumbnails;
* Should be idempotent.
* Returns false if the parameters are unacceptable and the transform should fail
* @param File $image
- * @param array $params
+ * @param array &$params
*/
abstract function normaliseParams( $image, &$params );
}
/**
- * @deprecated since 1.30, use MediaHandler::getContentHeaders instead
- */
+ * @deprecated since 1.30, use MediaHandler::getContentHeaders instead
+ * @param array $metadata
+ * @return array
+ */
public function getStreamHeaders( $metadata ) {
wfDeprecated( __METHOD__, '1.30' );
return $this->getContentHeaders( $metadata );
*
* @see LocalFile::purgeThumbnails
*
- * @param array $files
+ * @param array &$files
* @param array $options Purge options. Currently will always be
* an array with a single key 'forThumbRefresh' set to true.
*/
}
/**
- * Get useful response headers for GET/HEAD requests for a file with the given metadata
- * @param $metadata Array Contains this handler's unserialized getMetadata() for a file
- * @return Array
- * @since 1.30
- */
+ * Get useful response headers for GET/HEAD requests for a file with the given metadata
+ * @param array $metadata Contains this handler's unserialized getMetadata() for a file
+ * @return array
+ * @since 1.30
+ */
public function getContentHeaders( $metadata ) {
return [];
}
/**
* @param File $image
- * @param array $params
+ * @param array &$params
* @return bool
*/
function normaliseParams( $image, &$params ) {
// https://git.gnome.org/browse/librsvg/commit/?id=f01aded72c38f0e18bc7ff67dee800e380251c8e
$tmpDir = wfTempDir() . '/svg_' . wfRandomString( 24 );
$lnPath = "$tmpDir/" . basename( $srcPath );
- $ok = mkdir( $tmpDir, 0771 ) && symlink( $srcPath, $lnPath );
+ $ok = mkdir( $tmpDir, 0771 );
+ if ( !$ok ) {
+ wfDebugLog( 'thumbnail',
+ sprintf( 'Thumbnail failed on %s: could not create temporary directory %s',
+ wfHostname(), $tmpDir ) );
+ return new MediaTransformError( 'thumbnail_error',
+ $params['width'], $params['height'],
+ wfMessage( 'thumbnail-temp-create' )->text()
+ );
+ }
+ $ok = symlink( $srcPath, $lnPath );
/** @noinspection PhpUnusedLocalVariableInspection */
$cleaner = new ScopedCallback( function () use ( $tmpDir, $lnPath ) {
MediaWiki\suppressWarnings();
abstract class TransformationalImageHandler extends ImageHandler {
/**
* @param File $image
- * @param array $params Transform parameters. Entries with the keys 'width'
+ * @param array &$params Transform parameters. Entries with the keys 'width'
* and 'height' are the respective screen width and height, while the keys
* 'physicalWidth' and 'physicalHeight' indicate the thumbnail dimensions.
* @return bool
* Runs the 'BitmapHandlerCheckImageArea' hook.
*
* @param File $file
- * @param array $params
+ * @param array &$params
* @return bool
* @since 1.25
*/
/**
* Extracts the image size and WebP type from a file
*
- * @param string $chunks Chunks as extracted by RiffExtractor
+ * @param string $filename
* @return array|bool Header data array with entries 'compression', 'width' and 'height',
* where 'compression' can be 'lossy', 'lossless', 'animated' or 'unknown'. False if
* file is not a valid WebP file.
/**
* Extracts the image size and WebP type from a file based on the chunk list
* @param array $chunks Chunks as extracted by RiffExtractor
+ * @param string $filename
* @return array Header data array with entries 'compression', 'width' and 'height', where
* 'compression' can be 'lossy', 'lossless', 'animated' or 'unknown'
*/
}
/**
- * @param $file
+ * @param File $file
* @return bool True, not all browsers support WebP
*/
public function mustRender( $file ) {
}
/**
- * @param $file
+ * @param File $file
* @return bool False if we are unable to render this image
*/
public function canRender( $file ) {
/**
* Render files as PNG
*
- * @param $ext
- * @param $mime
- * @param $params
+ * @param string $ext
+ * @param string $mime
+ * @param array|null $params
* @return array
*/
public function getThumbType( $ext, $mime, $params = null ) {
* On typical message and page data, this can provide a 3X decrease
* in storage requirements.
*
- * @param mixed $data
+ * @param mixed &$data
* @return string
*/
protected function serialize( &$data ) {
/**
* @param array $limit
* @param array $expiry
- * @param bool $cascade
+ * @param bool &$cascade
* @param string $reason
* @param User $user
* @return Status
/**
* @param array $limit
* @param string $reason
- * @param int $cascade
+ * @param int &$cascade
* @param array $expiry
* @return bool
*/
* @param bool $suppress
* @param int $u1 Unused
* @param bool $u2 Unused
- * @param string $error
+ * @param string &$error
* @return bool
*/
public function doDeleteArticle(
* @param string $summary
* @param string $token
* @param bool $bot
- * @param array $resultDetails
+ * @param array &$resultDetails
* @param User|null $user
* @return array
*/
* @param string $fromP
* @param string $summary
* @param bool $bot
- * @param array $resultDetails
+ * @param array &$resultDetails
* @param User|null $guser
* @return array
*/
}
/**
- * @param bool $hasHistory
+ * @param bool &$hasHistory
* @return mixed
*/
public function generateReason( &$hasHistory ) {
/**
* Make the text under the image to say what size preview
*
- * @param $params array parameters for thumbnail
- * @param $sizeLinkBigImagePreview HTML for the current size
+ * @param array $params parameters for thumbnail
+ * @param string $sizeLinkBigImagePreview HTML for the current size
* @return string HTML output
*/
private function getThumbPrevText( $params, $sizeLinkBigImagePreview ) {
* @param string $token Rollback token.
* @param bool $bot If true, mark all reverted edits as bot.
*
- * @param array $resultDetails Array contains result-specific array of additional values
+ * @param array &$resultDetails Array contains result-specific array of additional values
* 'alreadyrolled' : 'current' (rev)
* success : 'summary' (str), 'current' (rev), 'target' (rev)
*
* @param string $summary Custom summary. Set to default summary if empty.
* @param bool $bot If true, mark all reverted edits as bot.
*
- * @param array $resultDetails Contains result-specific array of additional values
+ * @param array &$resultDetails Contains result-specific array of additional values
* @param User $guser The user performing the rollback
* @param array|null $tags Change tags to apply to the rollback
* Callers are responsible for permission checks
/**
* Replace <!--LINK--> link placeholders with actual links, in the buffer
*
- * @param string $text
+ * @param string &$text
*/
public function replace( &$text ) {
$this->replaceInternal( $text );
/**
* Replace internal links
- * @param string $text
+ * @param string &$text
*/
protected function replaceInternal( &$text ) {
if ( !$this->internals ) {
/**
* Replace interwiki links
- * @param string $text
+ * @param string &$text
*/
protected function replaceInterwiki( &$text ) {
if ( empty( $this->interwikis ) ) {
/**
* Modify $this->internals and $colours according to language variant linking rules
- * @param array $colours
+ * @param array &$colours
*/
protected function doVariants( &$colours ) {
global $wgContLang;
*
* @param array $elements List of element names. Comments are always extracted.
* @param string $text Source text string.
- * @param array $matches Out parameter, Array: extracted tags
+ * @param array &$matches Out parameter, Array: extracted tags
* @param string|null $uniq_prefix
* @return string Stripped text
* @since 1.26 The uniq_prefix argument is deprecated.
/**
* Process [[ ]] wikilinks (RIL)
- * @param string $s
+ * @param string &$s
* @throws MWException
* @return LinkHolderArray
*
# string or an array containing the string and any flags. This mungs
# things around to match what this method should return.
if ( !is_array( $result ) ) {
- $result =[
+ $result = [
'found' => true,
'text' => $result,
];
* Do not reuse this parser instance after calling getUserSig(),
* as it may have changed if it's the $wgParser.
*
- * @param User $user
+ * @param User &$user
* @param string|bool $nickname Nickname to use or false to use user's default nickname
* @param bool|null $fancySig whether the nicknname is the complete signature
* or null to use default value
* Replace "<!--LINK-->" link placeholders with actual links, in the buffer
* Placeholders created in Linker::link()
*
- * @param string $text
+ * @param string &$text
* @param int $options
*/
public function replaceLinkHolders( &$text, $options = 0 ) {
* Callback from the Sanitizer for expanding items found in HTML attribute
* values, so they can be safely tested and escaped.
*
- * @param string $text
+ * @param string &$text
* @param bool|PPFrame $frame
* @return string
*/
* is it allowed in the specific case of parsing this page.
* @see self::getAllowUnsafeRawHtml()
* @since 1.29
- * @param bool|null Value to set or null to get current value
+ * @param bool|null $x Value to set or null to get current value
* @return bool Current value for allowUnsafeRawHtml
*/
public function setAllowUnsafeRawHtml( $x ) {
'speculativeRevIdCallback' => null,
];
+ // @codingStandardsIgnoreStart Squiz.WhiteSpace.OperatorSpacing.NoSpaceAfterAmp
Hooks::run( 'ParserOptionsRegister', [
&self::$defaults,
&self::$inCacheKey,
&self::$lazyOptions,
] );
+ // @codingStandardsIgnoreEnd
ksort( self::$inCacheKey );
}
$curLen = strlen( $curChar );
$count = ( $curLen > 1 ) ?
# allow the final character to repeat
- strspn( $text, $curChar[$curLen-1], $i+1 ) + 1 :
+ strspn( $text, $curChar[$curLen - 1], $i + 1 ) + 1 :
strspn( $text, $curChar, $i );
# we need to add to stack only if opening brace count is enough for one of the rules
$curLen = strlen( $curChar );
$count = ( $curLen > 1 ) ?
# allow the final character to repeat
- strspn( $text, $curChar[$curLen-1], $i+1 ) + 1 :
+ strspn( $text, $curChar[$curLen - 1], $i + 1 ) + 1 :
strspn( $text, $curChar, $i );
# we need to add to stack only if opening brace count is enough for one of the rules
abstract public function scopedProfileIn( $section );
/**
- * @param SectionProfileCallback $section
+ * @param SectionProfileCallback &$section
*/
public function scopedProfileOut( SectionProfileCallback &$section = null ) {
$section = null;
}
/**
- * @param ScopedCallback $section
+ * @param ScopedCallback &$section
*/
public function scopedProfileOut( ScopedCallback &$section ) {
$section = null;
/* Find all items under this entry */
$level = $stack[$max][1];
$working = [];
- for ( $i = $max -1; $i >= 0; $i-- ) {
+ for ( $i = $max - 1; $i >= 0; $i-- ) {
if ( $stack[$i][1] > $level ) {
$working[] = $stack[$i];
} else {
protected function calltreeCount( $stack, $start ) {
$level = $stack[$start][1];
$count = 0;
- for ( $i = $start -1; $i >= 0 && $stack[$i][1] > $level; $i-- ) {
+ for ( $i = $start - 1; $i >= 0 && $stack[$i][1] > $level; $i-- ) {
$count ++;
}
return $count;
*
* @since 1.26
* @param ResourceLoaderContext $context
- * @param string[] $modules List of known module names
+ * @param string[] $moduleNames List of known module names
* @return string Hash
*/
public function getCombinedVersion( ResourceLoaderContext $context, array $moduleNames ) {
* @since 1.27
* @param string|string[]|MessageSpecifier $key Message key, or array of keys,
* or a MessageSpecifier.
- * @param mixed ...
+ * @param mixed $args,...
* @return Message
*/
public function msg( $key ) {
*/
class ResourceLoaderMediaWikiUtilModule extends ResourceLoaderFileModule {
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function getScript( ResourceLoaderContext $context ) {
return ResourceLoader::makeConfigSetScript(
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function supportsURLLoading() {
return false;
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
public function enableModuleContentVersion() {
return true;
/**
* A hook for setVisibility(): do any necessary updates post-commit.
* STUB
- * @param array [id => ['oldBits' => $oldBits, 'newBits' => $newBits], ... ]
+ * @param array $visibilityChangeMap [id => ['oldBits' => $oldBits, 'newBits' => $newBits], ... ]
* @return Status
*/
public function doPostCommitUpdates( array $visibilityChangeMap ) {
* @param int $field The bitmask describing the single option.
* @param int $diff The xor of the old and new bitfields.
* @param int $new The new bitfield
- * @param array $arr The array to update.
+ * @param array &$arr The array to update.
*/
protected static function checkItem( $desc, $field, $diff, $new, &$arr ) {
if ( $diff & $field ) {
/**
* Check if flag is set.
- * @param $flag
+ * @param int $flag
* @return int 0 if unset, !=0 if set
*/
public function checkFlag( $flag ) {
}
/**
- * {@inheritDoc}
+ * @inheritDoc
*/
public function getEngineHints( SearchEngine $engine ) {
return [];
* @return mixed the feature value or null if unset
*/
public function getFeatureData( $feature ) {
- if ( isset ( $this->features[$feature] ) ) {
+ if ( isset( $this->features[$feature] ) ) {
return $this->features[$feature];
}
return null;
/**
* Process completion search results.
* Resolves the titles and rescores.
+ * @param string $search
* @param SearchSuggestionSet $suggestions
* @return SearchSuggestionSet
*/
* to not be in the results or be lower down the list.
* @param string $search the query
* @param int[] $namespaces the namespaces
- * @param int $limit the max number of results to return
* @param string[] $srchres results
+ * @param int $limit the max number of results to return
* @return string[] munged results
*/
public function rescore( $search, $namespaces, $srchres, $limit ) {
/**
* @warning If you pass false to this constructor, then
* the caller is responsible for HTML escaping.
+ * @param bool $cleanupWikitext
*/
function __construct( $cleanupWikitext = true ) {
$this->mCleanWikitext = $cleanupWikitext;
/**
* Split text into lines and add it to extracts array
*
- * @param array $extracts Index -> $line
- * @param int $count
+ * @param array &$extracts Index -> $line
+ * @param int &$count
* @param string $text
*/
function splitAndAdd( &$extracts, &$count, $text ) {
* @param string $text
* @param int $start
* @param int $end
- * @param int $posStart (out) actual start position
- * @param int $posEnd (out) actual end position
+ * @param int &$posStart (out) actual start position
+ * @param int &$posEnd (out) actual end position
* @return string
*/
function extract( $text, $start, $end, &$posStart = null, &$posEnd = null ) {
*
* @param string $pattern Regexp for matching lines
* @param array $extracts Extracts to search
- * @param int $linesleft Number of extracts to make
- * @param int $contextchars Length of snippet
- * @param array $out Map for highlighted snippets
- * @param array $offsets Map of starting points of snippets
+ * @param int &$linesleft Number of extracts to make
+ * @param int &$contextchars Length of snippet
+ * @param array &$out Map for highlighted snippets
+ * @param array &$offsets Map of starting points of snippets
* @protected
*/
function process( $pattern, $extracts, &$linesleft, &$contextchars, &$out, &$offsets ) {
public function setFlag( $flag, $unset = false );
/**
* Check if flag is set.
- * @param $flag
+ * @param int $flag
* @return int 0 if unset, !=0 if set
*/
public function checkFlag( $flag );
/**
* Check if flag is set.
- * @param $flag
+ * @param int $flag
* @return int 0 if unset, !=0 if set
*/
public function checkFlag( $flag ) {
}
/**
- * {@inheritDoc}
+ * @inheritDoc
*/
public function getEngineHints( SearchEngine $engine ) {
return [];
/**
* Add special conditions
- * @param array $query
+ * @param array &$query
* @since 1.18
*/
protected function queryFeatures( &$query ) {
/**
* Add namespace conditions
- * @param array $query
+ * @param array &$query
* @since 1.18 (changed)
*/
function queryNamespaces( &$query ) {
/**
* Add limit options
- * @param array $query
+ * @param array &$query
* @since 1.18
*/
protected function limitResult( &$query ) {
$searchChars = parent::legalSearchChars( $type );
if ( $type === self::CHARS_ALL ) {
// " for phrase, * for wildcard
- $searchChars = "\"*" . $searchChars;
+ $searchChars = "\"*" . $searchChars;
}
return $searchChars;
}
/**
* Construct a new suggestion
* @param float $score the suggestion score
- * @param string $text|null the suggestion text
+ * @param string|null $text the suggestion text
* @param Title|null $suggestedTitle the suggested title
* @param int|null $suggestedTitleID the suggested title ID
*/
* @private Use self::install().
* @param SessionManager $manager
* @param BagOStuff $store
- * @param LoggerInterface $store
+ * @param LoggerInterface $logger
*/
public function setManager(
SessionManager $manager, BagOStuff $store, LoggerInterface $logger
* reset whatever token it does use here.
*
* @protected For use by \MediaWiki\Session\SessionManager only
- * @param User $user;
+ * @param User $user
*/
public function invalidateSessionsForUser( User $user ) {
}
* be able to extract the timestamp.
*
* @param string $token
- * @param int|null
+ * @return int|null
*/
public static function getTimestamp( $token ) {
$suffixLen = strlen( self::SUFFIX );
*/
public function getLinkPath() {
$type = $this->getLinkPathType();
- return $type === null ? null: $this->getPath( $type );
+ return $type === null ? null : $this->getPath( $type );
}
/**
/**
* @param DOMElement $element
- * @param $name
+ * @param string $name
* @param string|null|bool $default
*
* @return null|string
* Get a Message object with its context set
*
* @param string $name Message name
- * @param ... $params Message params
+ * @param mixed $params,... Message params
* @return Message
*/
public function getMsg( $name /* ... */ ) {
/**
* @param string $name
- * @param mixed $value
+ * @param mixed &$value
*/
public function setRef( $name, &$value ) {
$this->data[$name] =& $value;
}
/**
- * @param MediaWikiI18N $t
+ * @param MediaWikiI18N &$t
*/
public function setTranslator( &$t ) {
$this->translator = &$t;
* "<body>" tag, skins can override it if they have a need to add in any
* body attributes or classes of their own.
* @param OutputPage $out
- * @param array $bodyAttrs
+ * @param array &$bodyAttrs
*/
function addToBodyAttributes( $out, &$bodyAttrs ) {
// does nothing by default
/**
* make sure we have some title to operate on
*
- * @param Title $title
+ * @param Title &$title
* @param string $name
*/
static function checkTitle( &$title, $name ) {
*
* This is just a wrapper around addToSidebarPlain() for backwards compatibility
*
- * @param array $bar
+ * @param array &$bar
* @param string $message
*/
public function addToSidebar( &$bar, $message ) {
/**
* Add content from plain text
* @since 1.17
- * @param array $bar
+ * @param array &$bar
* @param string $text
* @return array
*/
* @param AuthenticationRequest[] $requests
* @param array $fieldInfo Field information array (union of all
* AuthenticationRequest::getFieldInfo() responses).
- * @param array $formDescriptor HTMLForm descriptor. The special key 'weight' can be set to
+ * @param array &$formDescriptor HTMLForm descriptor. The special key 'weight' can be set to
* change the order of the fields.
* @param string $action Authentication type (one of the AuthManager::ACTION_* constants)
* @return bool
/**
* Submit handler callback for HTMLForm
* @private
- * @param $data array Submitted data
+ * @param array $data Submitted data
* @return Status
*/
public function handleFormSubmit( $data ) {
/**
* Adds a sequential tabindex starting from 1 to all form elements. This way the user can
* use the tab key to traverse the form without having to step through all links and such.
- * @param $formDescriptor
+ * @param array &$formDescriptor
*/
protected function addTabIndex( &$formDescriptor ) {
$i = 1;
* Sort the fields of a form descriptor by their 'weight' property. (Fields with higher weight
* are shown closer to the bottom; weight defaults to 0. Negative weight is allowed.)
* Keep order if weights are equal.
- * @param array $formDescriptor
+ * @param array &$formDescriptor
* @return array
*/
protected static function sortFormDescriptorFields( array &$formDescriptor ) {
/**
* Load basic request parameters for this Special page.
- * @param $subPage
+ * @param string $subPage
*/
private function loadRequestParameters( $subPage ) {
if ( $this->mLoadedRequest ) {
// Don't show a "create account" link if the user can't.
if ( $this->showCreateAccountLink() ) {
// link to the other action
- $linkTitle = $this->getTitleFor( $this->isSignup() ? 'Userlogin' :'CreateAccount' );
+ $linkTitle = $this->getTitleFor( $this->isSignup() ? 'Userlogin' : 'CreateAccount' );
$linkq = $this->getReturnToQueryStringFragment();
// Pass any language selection on to the mode switch link
if ( $this->mLanguage ) {
/**
* Adds fields provided via the deprecated UserLoginForm / UserCreateForm hooks
- * @param $fieldDefinitions array
+ * @param array $fieldDefinitions
* @param FakeAuthTemplate $template
* @return array
*/
/**
* Returns a string that can be appended to the URL (without encoding) to preserve the
* return target. Does not include leading '?'/'&'.
+ * @return string
*/
protected function getReturnToQueryStringFragment() {
$returnto = '';
}
/**
- * @param array $formDescriptor
+ * @param array &$formDescriptor
+ * @param array $requests
*/
protected function postProcessFormDescriptor( &$formDescriptor, $requests ) {
// Pre-fill username (if not creating an account, T46775).
/**
* Extensions (AntiSpoof and TitleBlacklist) call this in response to
* UserCreateForm hook to add checkboxes to the create account form.
+ * @param string $name
+ * @param string $value
+ * @param string $type
+ * @param string $msg
+ * @param string|bool $helptext
*/
public function addInputItem( $name, $value, $type, $msg, $helptext = false ) {
// use the same indexes as UserCreateForm just in case someone adds an item manually
/**
* @deprecated since 1.27 - call LoginHelper::getValidErrorMessages instead.
+ * @return array
*/
public static function getValidErrorMessages() {
return LoginHelper::getValidErrorMessages();
/**
* @deprecated since 1.27 - don't use LoginForm, use AuthManager instead
+ * @param string $username
+ * @return array|false
*/
public static function incrementLoginThrottle( $username ) {
wfDeprecated( __METHOD__, "1.27" );
/**
* @deprecated since 1.27 - don't use LoginForm, use AuthManager instead
+ * @param string $username
+ * @return bool|int
*/
public static function incLoginThrottle( $username ) {
wfDeprecated( __METHOD__, "1.27" );
/**
* @deprecated since 1.27 - don't use LoginForm, use AuthManager instead
+ * @param string $username
+ * @return void
*/
public static function clearLoginThrottle( $username ) {
wfDeprecated( __METHOD__, "1.27" );
/**
* @deprecated since 1.27 - don't use LoginForm, use AuthManager instead
+ * @return string
*/
public static function getCreateaccountToken() {
wfDeprecated( __METHOD__, '1.27' );
return $redirect;
} else {
- $class = static::class;
- throw new MWException( "RedirectSpecialPage $class doesn't redirect!" );
+ $this->showNoRedirectPage();
}
}
public function personallyIdentifiableTarget() {
return false;
}
+
+ protected function showNoRedirectPage() {
+ $class = static::class;
+ throw new MWException( "RedirectSpecialPage $class doesn't redirect!" );
+ }
}
/**
* Returns a title object if the page is redirected, false if there was no such special
* page, and true if it was successful.
*
- * @param Title $title
- * @param IContextSource $context
+ * @param Title &$title
+ * @param IContextSource &$context
* @param bool $including Bool output is being captured for use in {{special:whatever}}
* @param LinkRenderer|null $linkRenderer (since 1.28)
*
/**
* If the user has already been blocked with similar settings, load that block
* and change the defaults for the form fields to match the existing settings.
- * @param array $fields HTMLForm descriptor array
+ * @param array &$fields HTMLForm descriptor array
* @return bool Whether fields were altered (that is, whether the target is
* already blocked)
*/
$this->mAddedRedirectParams['oldid'] = $parts[0];
$this->mAddedRedirectParams['diff'] = $parts[1];
} else {
- // Wrong number of parameters, bail out
- $this->addHelpLink( 'Help:Diff' );
- throw new ErrorPageError( 'nopagetitle', 'nopagetext' );
+ return false;
}
return true;
}
+
+ protected function showNoRedirectPage() {
+ $this->addHelpLink( 'Help:Diff' );
+ $this->setHeaders();
+ $this->outputHeader();
+ $this->showForm();
+ }
+
+ private function showForm() {
+ $form = HTMLForm::factory( 'ooui', [
+ 'oldid' => [
+ 'name' => 'oldid',
+ 'type' => 'int',
+ 'label-message' => 'diff-form-oldid',
+ ],
+ 'diff' => [
+ 'name' => 'diff',
+ 'class' => 'HTMLTextField',
+ 'label-message' => 'diff-form-revid',
+ ],
+ ], $this->getContext(), 'diff-form' );
+ $form->setSubmitTextMsg( 'diff-form-submit' );
+ $form->setSubmitCallback( [ $this, 'onFormSubmit' ] );
+ $form->show();
+ }
+
+ public function onFormSubmit( $formData ) {
+ $params = [];
+ if ( $formData['oldid'] ) {
+ $params[] = $formData['oldid'];
+ }
+ if ( $formData['diff'] ) {
+ $params[] = $formData['diff'];
+ }
+ $title = $this->getPageTitle( $params ? implode( '/', $params ) : null );
+ $url = $title->getFullUrlForRedirect();
+ $this->getOutput()->redirect( $url );
+ }
+
+ public function getDescription() {
+ // 'diff' message is in lowercase, using own message
+ return $this->msg( 'diff-form' )->text();
+ }
+
+ public function getName() {
+ return 'diff-form';
+ }
+
+ public function isListed() {
+ return true;
+ }
+
+ protected function getGroupName() {
+ return 'redirects';
+ }
}
// That does save the bulk of the query cost, but now we need to
// get a little more detail about each individual entry quickly
// using the filter of reallyGetQueryInfo.
- if ( $result && !isset( $result->b_namespace ) ) {
- $dbr = wfGetDB( DB_REPLICA );
- $qi = $this->reallyGetQueryInfo(
- $result->namespace,
- $result->title
- );
- $res = $dbr->select(
- $qi['tables'],
- $qi['fields'],
- $qi['conds'],
- __METHOD__
- );
-
- if ( $res ) {
- $result = $dbr->fetchObject( $res );
+ $deep = false;
+ if ( $result ) {
+ if ( isset( $result->b_namespace ) ) {
+ $deep = $result;
+ } else {
+ $dbr = wfGetDB( DB_REPLICA );
+ $qi = $this->reallyGetQueryInfo(
+ $result->namespace,
+ $result->title
+ );
+ $res = $dbr->select(
+ $qi['tables'],
+ $qi['fields'],
+ $qi['conds'],
+ __METHOD__
+ );
+
+ if ( $res ) {
+ $deep = $dbr->fetchObject( $res ) ?: false;
+ }
}
}
$titleA = Title::makeTitle( $result->namespace, $result->title );
$linkRenderer = $this->getLinkRenderer();
- if ( !$result ) {
+ if ( !$deep ) {
return '<del>' . $linkRenderer->makeLink( $titleA, null, [], [ 'redirect' => 'no' ] ) . '</del>';
}
[ 'redirect' => 'no' ]
);
- $titleB = Title::makeTitle( $result->b_namespace, $result->b_title );
+ $titleB = Title::makeTitle( $deep->b_namespace, $deep->b_title );
$linkB = $linkRenderer->makeKnownLink(
$titleB,
null,
);
$titleC = Title::makeTitle(
- $result->c_namespace,
- $result->c_title,
- $result->c_fragment,
- $result->c_interwiki
+ $deep->c_namespace,
+ $deep->c_title,
+ $deep->c_fragment,
+ $deep->c_interwiki
);
$linkC = $linkRenderer->makeKnownLink( $titleC, $titleC->getFullText() );
$formDescriptor += [
'wpDownload' => [
'type' => 'check',
- 'name' =>'wpDownload',
+ 'name' => 'wpDownload',
'id' => 'wpDownload',
'default' => $request->wasPosted() ? $request->getCheck( 'wpDownload' ) : true,
'label-message' => 'export-download',
/**
* Implement by redirecting through Special:Redirect/file.
*
- * @param string|null $subpage
+ * @param string|null $par
* @return Title
*/
public function getRedirect( $par ) {
* come out of querycache table is the order they went in. Which is hacky.
* However, other special pages like Special:Deadendpages and
* Special:BrokenRedirects also rely on this.
+ * @return array
*/
public function getQueryInfo() {
$dbr = wfGetDB( DB_REPLICA );
*
* @param string $mime mime type (e.g. image/jpeg)
* @param int $count Number of images of this type
- * @param int $totalBytes Total space for images of this type
+ * @param int $bytes Total space for images of this type
*/
protected function outputTableRow( $mime, $count, $bytes ) {
$mimeSearch = SpecialPage::getTitleFor( 'MIMEsearch', $mime );
$row .= Html::rawElement(
'td',
// Make sure js sorts it in numeric order
- [ 'data-sort-value' => $bytes ],
+ [ 'data-sort-value' => $bytes ],
$this->msg( 'mediastatistics-nbytes' )
->numParams( $bytes )
->sizeParams( $bytes )
* Output the start of the table
*
* Including opening <table>, and first <tr> with column headers.
+ * @param string $mediaType
*/
protected function outputTableStart( $mediaType ) {
$this->getOutput()->addHTML(
public function getRedirect( $subpage ) {
$subpage = intval( $subpage );
if ( $subpage === 0 ) {
- # throw an error page when no subpage was given
- throw new ErrorPageError( 'nopagetitle', 'nopagetext' );
+ return false;
}
$this->mAddedRedirectParams['oldid'] = $subpage;
return true;
}
+
+ protected function showNoRedirectPage() {
+ $this->setHeaders();
+ $this->outputHeader();
+ $this->showForm();
+ }
+
+ private function showForm() {
+ $form = HTMLForm::factory( 'ooui', [
+ 'revid' => [
+ 'type' => 'int',
+ 'name' => 'revid',
+ 'label-message' => 'permanentlink-revid',
+ ],
+ ], $this->getContext(), 'permanentlink' );
+ $form->setSubmitTextMsg( 'permanentlink-submit' );
+ $form->setSubmitCallback( [ $this, 'onFormSubmit' ] );
+ $form->show();
+ }
+
+ public function onFormSubmit( $formData ) {
+ $revid = $formData['revid'];
+ $title = $this->getPageTitle( $revid ?: null );
+ $url = $title->getFullUrlForRedirect();
+ $this->getOutput()->redirect( $url );
+ }
+
+ public function isListed() {
+ return true;
+ }
+
+ protected function getGroupName() {
+ return 'redirects';
+ }
}
$user = $this->getUser();
}
- $htmlForm = Preferences::getFormObject( $user, $this->getContext() );
+ $htmlForm = $this->getFormObject( $user, $this->getContext() );
$htmlForm->setSubmitCallback( [ 'Preferences', 'tryUISubmit' ] );
$sectionTitles = $htmlForm->getPreferenceSections();
$htmlForm->show();
}
+ /**
+ * Get the preferences form to use.
+ * @param User $user The user.
+ * @param IContextSource $context The context.
+ * @return PreferencesForm|HtmlForm
+ */
+ protected function getFormObject( $user, IContextSource $context ) {
+ return Preferences::getFormObject( $user, $context );
+ }
+
private function showResetForm() {
if ( !$this->getUser()->isAllowed( 'editmyoptions' ) ) {
throw new PermissionsError( 'editmyoptions' );
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function transformFilterDefinition( array $filterDefinition ) {
if ( isset( $filterDefinition['showHideSuffix'] ) ) {
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function registerFilters() {
parent::registerFilters();
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function buildQuery( &$tables, &$fields, &$conds,
&$query_options, &$join_conds, FormOptions $opts
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function doMainQuery( $tables, $fields, $conds, $query_options,
$join_conds, FormOptions $opts
/**
* Filter $rows by categories set in $opts
*
- * @param ResultWrapper $rows Database rows
+ * @param ResultWrapper &$rows Database rows
* @param FormOptions $opts
*/
function filterByCategories( &$rows, FormOptions $opts ) {
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function doMainQuery( $tables, $select, $conds, $query_options,
$join_conds, FormOptions $opts
'success' => 'revdelete-success',
'failure' => 'revdelete-failure',
'text' => 'revdelete-text-text',
- 'selected'=> 'revdelete-selected-text',
+ 'selected' => 'revdelete-selected-text',
],
'archive' => [
'check-label' => 'revdelete-hide-text',
'success' => 'revdelete-success',
'failure' => 'revdelete-failure',
'text' => 'revdelete-text-text',
- 'selected'=> 'revdelete-selected-text',
+ 'selected' => 'revdelete-selected-text',
],
'oldimage' => [
'check-label' => 'revdelete-hide-image',
'success' => 'revdelete-success',
'failure' => 'revdelete-failure',
'text' => 'revdelete-text-file',
- 'selected'=> 'revdelete-selected-file',
+ 'selected' => 'revdelete-selected-file',
],
'filearchive' => [
'check-label' => 'revdelete-hide-image',
'success' => 'revdelete-success',
'failure' => 'revdelete-failure',
'text' => 'revdelete-text-file',
- 'selected'=> 'revdelete-selected-file',
+ 'selected' => 'revdelete-selected-file',
],
'logging' => [
'check-label' => 'revdelete-hide-name',
* Extract "power search" namespace settings from the request object,
* returning a list of index numbers to search.
*
- * @param WebRequest $request
+ * @param WebRequest &$request
* @return array
*/
protected function powerSearch( &$request ) {
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function transformFilterDefinition( array $filterDefinition ) {
if ( isset( $filterDefinition['showHideSuffix'] ) ) {
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function registerFilters() {
parent::registerFilters();
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function buildQuery( &$tables, &$fields, &$conds, &$query_options,
&$join_conds, FormOptions $opts
}
/**
- * @inheritdoc
+ * @inheritDoc
*/
protected function doMainQuery( $tables, $fields, $conds, $query_options,
$join_conds, FormOptions $opts
// default string representation, for example, and would confuse comparisons.
// Misleadingly, the 'days' option supports hours too.
- $days = array_map( 'strval', [ 1/24, 2/24, 6/24, 12/24, 1, 3, 7 ] );
+ $days = array_map( 'strval', [ 1 / 24, 2 / 24, 6 / 24, 12 / 24, 1, 3, 7 ] );
$userWatchlistOption = (string)$this->getUser()->getOption( 'watchlistdays' );
// add the user preference, if it isn't available already
// Allow modification of redirect behavior
Hooks::run( 'PostLoginRedirect', [ &$returnTo, &$returnToQuery, &$type ] );
- $returnToTitle = Title::newFromText( $returnTo ) ?: Title::newMainPage();
+ $returnToTitle = Title::newFromText( $returnTo ) ?: Title::newMainPage();
if ( $wgSecureLogin && !$stickHTTPS ) {
$options = [ 'http' ];
/**
* @param SpecialProtectedpages $form
* @param array $conds
- * @param $type
- * @param $level
- * @param $namespace
+ * @param string $type
+ * @param string $level
+ * @param int $namespace
* @param string $sizetype
* @param int $size
* @param bool $indefonly
function getPageHeader() {
list( $self ) = explode( '/', $this->getTitle()->getPrefixedDBkey() );
- $groupOptions = [ $this->msg( 'group-all' )->text() => '' ];
+ $groupOptions = [ $this->msg( 'group-all' )->text() => '' ];
foreach ( $this->getAllGroups() as $group => $groupText ) {
$groupOptions[ $groupText ] = $group;
}
$furthestBlock = null;
$furthestBlockIndex = -1;
$stackLength = $this->length();
- for ( $i = $index+1; $i < $stackLength; $i++ ) {
+ for ( $i = $index + 1; $i < $stackLength; $i++ ) {
if ( $this->node( $i )->isA( BalanceSets::$specialSet ) ) {
$furthestBlock = $this->node( $i );
$furthestBlockIndex = $i;
// Let the common ancestor be the element immediately above
// the formatting element in the stack of open elements.
- $ancestor = $this->node( $index-1 );
+ $ancestor = $this->node( $index - 1 );
// Let a bookmark note the position of the formatting
// element in the list of active formatting elements
return $this->insertToken( $token, $value, $attribs, $selfClose );
}
// "Any other start tag"
- $adjusted = ( $this->fragmentContext && $this->stack->length()===1 ) ?
+ $adjusted = ( $this->fragmentContext && $this->stack->length() === 1 ) ?
$this->fragmentContext : $this->stack->currentNode;
$this->stack->insertForeignElement(
$adjusted->namespaceURI, $value, $attribs
private function switchMode( $mode ) {
Assert::parameter(
- substr( $mode, -4 )==='Mode', '$mode', 'should end in Mode'
+ substr( $mode, -4 ) === 'Mode', '$mode', 'should end in Mode'
);
$oldMode = $this->parseMode;
$this->parseMode = $mode;
switch ( $node->localName ) {
case 'select':
$stackLength = $this->stack->length();
- for ( $j = $i + 1; $j < $stackLength-1; $j++ ) {
- $ancestor = $this->stack->node( $stackLength-$j-1 );
+ for ( $j = $i + 1; $j < $stackLength - 1; $j++ ) {
+ $ancestor = $this->stack->node( $stackLength - $j - 1 );
if ( $ancestor->isHtmlNamed( 'template' ) ) {
break;
}
/**
* Create a form of UploadBase depending on wpSourceType and initializes it
*
- * @param WebRequest $request
+ * @param WebRequest &$request
* @param string|null $type
* @return null|UploadBase
*/
/**
* Initialize from a WebRequest. Override this in a subclass.
*
- * @param WebRequest $request
+ * @param WebRequest &$request
*/
abstract public function initializeFromRequest( &$request );
* @param string $type PUBLIC or SYSTEM
* @param string $publicId The well-known public identifier for the dtd
* @param string $systemId The url for the external dtd
+ * @return bool|array
*/
public static function checkSvgExternalDTD( $type, $publicId, $systemId ) {
// This doesn't include the XHTML+MathML+SVG doctype since we don't
* @todo Replace this with a whitelist filter!
* @param string $element
* @param array $attribs
+ * @param array $data
* @return bool
*/
public function checkSvgScriptCallback( $element, $attribs, $data = null ) {
}
/**
- * {@inheritdoc}
+ * @inheritDoc
*/
public function tryStashFile( User $user, $isPartial = false ) {
try {
}
/**
- * {@inheritdoc}
+ * @inheritDoc
* @throws UploadChunkVerificationException
* @deprecated since 1.28 Use tryStashFile() instead
*/
}
/**
- * {@inheritdoc}
+ * @inheritDoc
* @throws UploadChunkVerificationException
* @deprecated since 1.28
*/
}
/**
- * {@inheritdoc}
+ * @inheritDoc
* @throws UploadChunkVerificationException
* @deprecated since 1.28
*/
protected $mUpload = null;
/**
- * @param WebRequest $request
+ * @param WebRequest &$request
*/
function initializeFromRequest( &$request ) {
$upload = $request->getUpload( 'wpUploadFile' );
}
/**
- * @param WebRequest $request
+ * @param WebRequest &$request
*/
public function initializeFromRequest( &$request ) {
// sends wpSessionKey as a default when wpFileKey is missing
/**
* Entry point for SpecialUpload
- * @param WebRequest $request
+ * @param WebRequest &$request
*/
public function initializeFromRequest( &$request ) {
$desiredDestName = $request->getText( 'wpDestFile' );
/**
* Check if user is allowed to access a feature / make an action
*
- * @param string ... Permissions to test
+ * @param string $permissions,... Permissions to test
* @return bool True if user is allowed to perform *any* of the given actions
*/
public function isAllowedAny() {
/**
*
- * @param string ... Permissions to test
+ * @param string $permissions,... Permissions to test
* @return bool True if the user is allowed to perform *all* of the given actions
*/
public function isAllowedAll() {
* If e-notif e-mails are on, they will receive notification mails on
* the next change of the page if it's watched etc.
* @note If the user doesn't have 'editmywatchlist', this will do nothing.
- * @param Title $title Title of the article to look at
+ * @param Title &$title Title of the article to look at
* @param int $oldid The revision id being viewed. If not given or 0, latest revision is assumed.
*/
public function clearNotification( &$title, $oldid = 0 ) {
/**
* Accepts the next token in an expect sequence
*
- * @param array
+ * @param array $token
*/
protected function tryEndExpect( $token ) {
switch ( $this->startToken[0] ) {
$iwIconUrl = $parsed['scheme'] .
$parsed['delimiter'] .
$parsed['host'] .
- ( isset ( $parsed['port'] ) ? ':' . $parsed['port'] : '' ) .
+ ( isset( $parsed['port'] ) ? ':' . $parsed['port'] : '' ) .
'/favicon.ico';
$iwIcon = new OOUI\IconWidget( [
}
return Html::rawElement( 'div', [ 'class' => 'iw-result__title' ], $link . ' ' . $redirect ) .
- Html::rawElement( 'div', [ 'class'=> 'iw-result__content' ], $snippet );
+ Html::rawElement( 'div', [ 'class' => 'iw-result__content' ], $snippet );
}
}
/**
* Create a language object for a given language code
* @param string $code
- * @param $fallback boolean Whether we're going through language fallback chain
+ * @param bool $fallback Whether we're going through language fallback chain
* @throws MWException
* @return Language
*/
* @return int[]
*/
private static function tsToIranian( $ts ) {
- $gy = substr( $ts, 0, 4 ) -1600;
- $gm = substr( $ts, 4, 2 ) -1;
- $gd = substr( $ts, 6, 2 ) -1;
+ $gy = substr( $ts, 0, 4 ) - 1600;
+ $gm = substr( $ts, 4, 2 ) - 1;
+ $gd = substr( $ts, 6, 2 ) - 1;
# Days passed from the beginning (including leap years)
$gDayNo = 365 * $gy
(int)( ( 275 * $zm ) / 9 ) + $zd + 1729777;
}
- $zl = $zjd -1948440 + 10632;
+ $zl = $zjd - 1948440 + 10632;
$zn = (int)( ( $zl - 1 ) / 10631 );
$zl = $zl - 10631 * $zn + 354;
$zj = ( (int)( ( 10985 - $zl ) / 5316 ) ) * ( (int)( ( 50 * $zl ) / 17719 ) ) +
if ( $start < 0 ) {
$start = 0;
}
- $groupedNumber = substr( $number, $start, $end -$start ) . $groupedNumber;
+ $groupedNumber = substr( $number, $start, $end - $start ) . $groupedNumber;
$end = $start;
if ( $numMatches > 1 ) {
// use the last pattern for the rest of the number
* @ingroup Language
*/
class LanguageCode {
+ /**
+ * Mapping of deprecated language codes that were used in previous
+ * versions of MediaWiki to up-to-date, current language codes.
+ *
+ * @var array Mapping from language code to language code
+ *
+ * @since 1.30
+ */
+ private static $deprecatedLanguageCodeMapping = [
+ // Note that als is actually a valid ISO 639 code (Tosk Albanian), but it
+ // was previously used in MediaWiki for Alsatian, which comes under gsw
+ 'als' => 'gsw',
+ 'bat-smg' => 'sgs',
+ 'be-x-old' => 'be-tarask',
+ 'fiu-vro' => 'vro',
+ 'roa-rup' => 'rup',
+ 'zh-classical' => 'lzh',
+ 'zh-min-nan' => 'nan',
+ 'zh-yue' => 'yue',
+ ];
+
/**
* Returns a mapping of deprecated language codes that were used in previous
* versions of MediaWiki to up-to-date, current language codes.
* MediaWiki's localisation system.
*
* @return string[]
+ *
+ * @since 1.29
*/
public static function getDeprecatedCodeMapping() {
- return [
- // Note that als is actually a valid ISO 639 code (Tosk Albanian), but it
- // was previously used in MediaWiki for Alsatian, which comes under gsw
- 'als' => 'gsw',
- 'bat-smg' => 'sgs',
- 'be-x-old' => 'be-tarask',
- 'fiu-vro' => 'vro',
- 'roa-rup' => 'rup',
- 'zh-classical' => 'lzh',
- 'zh-min-nan' => 'nan',
- 'zh-yue' => 'yue',
- ];
+ return self::$deprecatedLanguageCodeMapping;
+ }
+
+ /**
+ * Replace deprecated language codes that were used in previous
+ * versions of MediaWiki to up-to-date, current language codes.
+ * Other values will returned unchanged.
+ *
+ * @param string $code Old language code
+ * @return string New language code
+ *
+ * @since 1.30
+ */
+ public static function replaceDeprecatedCodes( $code ) {
+ if ( isset( self::$deprecatedLanguageCodeMapping[$code] ) ) {
+ return self::$deprecatedLanguageCodeMapping[$code];
+ }
+ return $code;
}
}
* Translates text into Pig Latin. This allows developers to test the language variants
* functionality and user interface without having to switch wiki language away from default.
*
- * @param $text string
- * @param $toVariant string
+ * @param string $text
+ * @param string $toVariant
* @return string
*/
function translate( $text, $toVariant ) {
$ret = '';
foreach ( $matches as $m ) {
- $ret .= substr( $text, $mstart, $m[1] -$mstart );
+ $ret .= substr( $text, $mstart, $m[1] - $mstart );
$ret .= $this->regsConverter( $m[0], $toVariant );
$mstart = $m[1] + strlen( $m[0] );
}
$ret = $this->mTables[$toVariant]->replace( $m[0] );
$mstart = $m[1] + strlen( $m[0] );
foreach ( $matches as $m ) {
- $ret .= substr( $text, $mstart, $m[1] -$mstart );
+ $ret .= substr( $text, $mstart, $m[1] - $mstart );
$ret .= parent::translate( $m[0], $toVariant );
$mstart = $m[1] + strlen( $m[0] );
}
'nl' => 'Nederlands', # Dutch
'nl-informal' => "Nederlands (informeel)\xE2\x80\x8E", # Dutch (informal address ("je"))
'nn' => 'norsk nynorsk', # Norwegian (Nynorsk)
- 'no' => 'norsk bokmål', # Norwegian (falls back to nb).
+ 'no' => 'norsk', # Norwegian macro language (falls back to nb).
'nov' => 'Novial', # Novial
'nrm' => 'Nouormand', # Norman
'nso' => 'Sesotho sa Leboa', # Northern Sotho
"permissionserrorstext-withaction": "لا تملك الصلاحيات ل$2، لل{{PLURAL:$1||سبب التالي|سببين التاليين|أسباب التالية}}:",
"contentmodelediterror": "أنت لا يمكنك تعديل هذه المراجعة لأن موديل محتواها هو <code>$1</code>، والذي يختلف عن موديل المحتوى الحالي للصفحة <code>$2</code>.",
"recreate-moveddeleted-warn": "'''تحذير: أنت تعيد إنشاء صفحة سبق حذفها.'''\n\nيجب عليك التيقن من أن الاستمرار بتحرير هذه الصفحة ملائم.\nسجلا الحذف والنقل لهذه الصفحة معروضان هنا للتيسير:",
- "moveddeleted-notice": "Ù\87Ø°Ù\87 اÙ\84صÙ\81ØØ© تÙ\85 ØØ°Ù\81Ù\87ا.\nسجÙ\84ا اÙ\84ØØ°Ù\81 Ù\88اÙ\84Ù\86Ù\82Ù\84 Ù\84لصفحة معروضان بالأسفل كمرجع.",
- "moveddeleted-notice-recent": "عذراØ\8c Ù\87Ø°Ù\87 اÙ\84صÙ\81ØØ© تÙ\85 ØØ°Ù\81Ù\87ا Ù\85ؤخرا (Ù\81Ù\8a آخر 24 ساعة).\nسجÙ\84ا اÙ\84ØØ°Ù\81 Ù\88اÙ\84Ù\86Ù\82Ù\84 Ù\84لصفحة معروضان بالأسفل كمرجع.",
+ "moveddeleted-notice": "Ù\87Ø°Ù\87 اÙ\84صÙ\81ØØ© تÙ\85 ØØ°Ù\81Ù\87ا.\nسجÙ\84ا ØØ°Ù\81 Ù\88Ù\86Ù\82Ù\84 الصفحة معروضان بالأسفل كمرجع.",
+ "moveddeleted-notice-recent": "عذراØ\8c Ù\87Ø°Ù\87 اÙ\84صÙ\81ØØ© تÙ\85 ØØ°Ù\81Ù\87ا Ù\85ؤخرا (Ù\81Ù\8a آخر 24 ساعة).\nسجÙ\84ا ØØ°Ù\81 Ù\88Ù\86Ù\82Ù\84 الصفحة معروضان بالأسفل كمرجع.",
"log-fulllog": "أظهر السجل الكامل",
"edit-hook-aborted": "التعديل تم تركه بواسطة الخطاف.\nلم يعط تفسيرا.",
"edit-gone-missing": "لم يمكن تحديث الصفحة.\nيبدو أنه تم حذفها.",
"compare-invalid-title": "العنوان الذي حددته غير متاح.",
"compare-title-not-exists": "العنوان الذي حددته غير موجود.",
"compare-revision-not-exists": "المراجعة التي حددتها غير موجودة.",
+ "diff-form": "'''استمارة'''",
"dberr-problems": "عذرا! هذا الموقع يعاني من صعوبات تقنية.",
"dberr-again": "جرب الانتظار بضع دقائق وإعادة التحميل.",
"dberr-info": "(لا يمكن الوصول إلى خادوم قاعدة البيانات: $1)",
"compare-invalid-title": "El títulu que conseñasti nun ye válidu.",
"compare-title-not-exists": "El títulu que conseñasti nun esiste.",
"compare-revision-not-exists": "La revisión que conseñasti nun esiste.",
+ "diff-form": "un '''formulariu'''",
"dberr-problems": "¡Sentímoslo! Esti sitiu ta esperimentando dificultaes téuniques.",
"dberr-again": "Tenta esperar dellos minutos y recargar.",
"dberr-info": "(Nun se pue entrar na base de datos: $1)",
"searcharticle": "Күсеү",
"history": "Бит тарихы",
"history_short": "Тарих",
+ "history_small": "тарихы",
"updatedmarker": "һуңғы инеүемдән һуң яңыртылған",
"printableversion": "Баҫтырыу өлгөһө",
"permalink": "Даими һылтанма",
"permissionserrorstext-withaction": "«'''$2'''» ғәмәлен башҡара алмайһығыҙ. {{PLURAL:$1|1=Сәбәбе|Сәбәптәре}}:",
"contentmodelediterror": "Был версияны мөхәррирләй алмайһығыҙ — <code>$1</code>, моделе ғәмәлдәге — <code>$2</code> моделенан айырыла.",
"recreate-moveddeleted-warn": "'''Иғтибар: Һеҙ, элек юйылған битте яңынан яһарға теләйһегеҙ.'''\n\nҺеҙгә был битте яңынан яһау кәрәклеген яңынан уйлап ҡарағыҙ.\nТүбәндә биттең юйыу һәм исем үҙгәртеү яҙмалары килтерелә:",
- "moveddeleted-notice": "Был бит юйылған.\nБелешмә өсөн киләһе юйыу һәм исем үҙгәртеү яҙмалары килтерелә.",
- "moveddeleted-notice-recent": "Үкенескә ҡаршы бит бит юйылған (һуүғы 24 сәғәт эсендә). Түбәндә юйыуҙар журналы һәм был журналға күсереүҙәр бирелгән.",
+ "moveddeleted-notice": "Был бит юйылған.\nБелешмә өсөн түбәндә был биттең юйыу, һаҡлау һәм үҙгәртеү яҙмалары килтерелә.",
+ "moveddeleted-notice-recent": "Үкенескә ҡаршы был бит юйылған (һуңғы 24 сәғәт эсендә). Түбәндә, мәғлүмәт өсөн, был биткә тәғәйен юйыуҙар, һаҡлау һәм күсереп ҡуйыуҙарҙың журналы күрһәтелгән.",
"log-fulllog": "Бар яҙмаларҙы ҡарарға",
"edit-hook-aborted": "Үҙгәртеүҙе ҡармаҡ-процедура кире ҡаҡты.\nӨҫтәмә аңлатма килтерелмәй.",
"edit-gone-missing": "Битте яңыртып булмай.\nБәлки ул юйылғандыр.",
"userrights-nodatabase": "$1 базаһы юҡ йәки урындағы (локаль) база түгел.",
"userrights-changeable-col": "Һеҙ үҙгәртә алған төркөмдәр",
"userrights-unchangeable-col": "Һеҙ үҙгәртә алмаған төркөмдәр",
+ "userrights-expiry-current": "$1 мөҙҙәте сығып килә",
"userrights-expiry-none": "Сикләүһеҙ",
+ "userrights-expiry": "Тамамлана:",
"userrights-expiry-existing": "Әлеге ваҡыт сыға:$2, $3",
+ "userrights-expiry-othertime": "Башҡа ваҡыт:",
"userrights-expiry-options": "1 көн:1 day,1 аҙна:1 week,1 ай:1 mopnth, 3 ай:3 months,6 ай:6 months,1 йыл:1 year",
"userrights-invalid-expiry": "«$1» төркөмө өсөн ваҡыт бөтөүе яңылыш бирелгән",
"userrights-expiry-in-past": "Время истечения для группы «$1» задано в прошлом.\n«$1» төркөмө өсөн ваҡыт бөтөүе үткән ваҡытта бирелгән.",
"rcfilters-limit-shownum": "{{PLURAL:$1|һуңғы үҙгәреш|$1 һуңғы үҙгәрештәр|$1 һуңғы үҙгәрештәрҙе}} күрһәтергә",
"rcfilters-days-title": "Аҙаҡҡы көндәр",
"rcfilters-hours-title": "Аҙаҡҡы сәғәттәр",
+ "rcfilters-days-show-days": "$1 {{PLURAL:$1|көн|көндәр}}",
+ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|сәғәт|сәғәттән}}",
"rcfilters-quickfilters": "Һаҡланған фильтрҙар",
"rcfilters-quickfilters-placeholder-title": "Һаҡланған ссылкалар әлегә юҡ",
"rcfilters-quickfilters-placeholder-description": "Фильтрҙың көйләүҙәрен һаҡлар һәм аҙаҡтан уларҙы яңынан ҡулланыу өсөн аҫтағы \"Әүҙем фильтр\" төймәһенә сиртегеҙ.",
+ "rcfilters-savedqueries-defaultlabel": "Һаҡланған фильтрҙар",
+ "rcfilters-savedqueries-rename": "Исемен үҙгәрт",
"rcfilters-savedqueries-setdefault": "Һүҙһеҙ үтәлешкә ҡуйырға",
"rcfilters-savedqueries-unsetdefault": "һүҙһеҙ үтәлеште юйырға",
+ "rcfilters-savedqueries-remove": "Юйырға",
+ "rcfilters-savedqueries-new-name-label": "Исеме",
"rcfilters-savedqueries-new-name-placeholder": "Фильтрҙың маҡсатын яҙығыҙ",
"rcfilters-savedqueries-apply-label": "Фильтр ҡуйырға",
"rcfilters-savedqueries-apply-and-setdefault-label": "Һүҙһеҙ үтәлгән фильтрҙы ҡуйырға",
+ "rcfilters-savedqueries-cancel-label": "Кире алыу",
"rcfilters-savedqueries-add-new-title": "Фильтрҙың әлеге көйләүҙәрен һаҡларға",
"rcfilters-restore-default-filters": "Фильтрҙарҙың һүҙһеҙ үтәлгәнен кире ҡуйырға",
"rcfilters-clear-all-filters": "Бөтә фильтрҙарҙы ла таҙартырға",
"rcfilters-search-placeholder": "Фильтрҙарҙың һуңғы үҙгәрештәре (ҡарап сығығыҙ йәки индерә башлағыҙ)",
"rcfilters-invalid-filter": "Ярамаған фильтр",
"rcfilters-empty-filter": "Әүҙем фильтрҙар юҡ. Бөтә үҙгәртеүҙәр ҙә күрһәтелә.",
+ "rcfilters-filterlist-title": "Фильтрҙар",
"rcfilters-filterlist-whatsthis": "Был нисек эшләй?",
"rcfilters-filterlist-feedbacklink": "Яңы (бета) фильтрҙар тураһында фекер яҙығыҙ",
"rcfilters-highlightbutton-title": "Һөҙөмтәләрҙе билдәләгеҙ",
"rcfilters-highlightmenu-title": "Төҫөн һайлағыҙ",
"rcfilters-highlightmenu-help": "Был сифатты белгертеү өсөн төҫ һайлағыҙ",
"rcfilters-filterlist-noresults": "Фильтрҙар табылманы",
+ "rcfilters-noresults-conflict": "Эҙләү критерийҙары ҡаршылыҡлы булған өсөн яуабы табылманы",
"rcfilters-state-message-subset": "Фильтр һөҙөмтәһеҙ буласаҡ, сөнки уның һөҙөмтәһе {{PLURAL:$2|киләһе киңерәк фильтр}} индерелгән (айырыу өсөн төҫ биреп ҡарағыҙ):$1",
"rcfilters-state-message-fullcoverage": "Төркөмдәге барлыҡ фильтрҙы ла һайлау бер нимәне лә һайламау менән бер, шуға ла был фильтрҙың әһәмиәте булмаясаҡ. Бәйләнгән төркөмдәр:$1",
"rcfilters-filtergroup-authorship": "Авторлыҡты мөхәррирләү",
"rcfilters-filter-editsbyother-label": "Башҡа ҡатнашыусылар индергән үҙгәртеүҙәр",
"rcfilters-filter-editsbyother-description": "Һинән башҡа барһының да үҙгәртеүҙәре",
"rcfilters-filtergroup-userExpLevel": "Ҡатнашыусыны теркәү һәм уның тәжрибәһе",
+ "rcfilters-filter-user-experience-level-registered-label": "Теркәлгән",
"rcfilters-filter-user-experience-level-registered-description": "Теркәлгән мөхәррирҙәр",
"rcfilters-filter-user-experience-level-unregistered-label": "Теркәлмәгән",
"rcfilters-filter-user-experience-level-unregistered-description": "Системаға инмәгән мөхәррирҙәр",
"rcfilters-filter-watchlist-watched-label": "Күҙәтеү теҙмәһендә",
"rcfilters-filter-watchlist-watched-description": "Һинең күҙәтеү теҙмәһендә биттәрҙең үҙгәрештәре",
"rcfilters-filter-watchlist-watchednew-label": "Күҙәтеү теҙмәһендәге яңы үҙгәрештәр",
+ "rcfilters-filter-watchlist-watchednew-description": "Һеҙ үҙгәреш индергән мәлдән алып ҡарамаған биттәрҙәге үҙгәрештәр.",
+ "rcfilters-filter-watchlist-notwatched-label": "Күҙәтеү теҙмәһендә юҡ",
+ "rcfilters-filter-watchlist-notwatched-description": "Һеҙ һылтанған биттән башҡа барлыҡ үҙгәрештәр.",
+ "rcfilters-filtergroup-changetype": "Үҙгәреш төрө",
+ "rcfilters-filter-pageedits-label": "Биттәрҙе мөхәррирләү",
+ "rcfilters-filter-pageedits-description": "Вики йөкмәткеһен, фекерләшеү, категориялар яҙмаһын мөхәррирләү...",
+ "rcfilters-filter-newpages-label": "Бит төҙөү",
+ "rcfilters-filter-newpages-description": "Яңы бит булдырыуға килтергән мөхәррирләү",
+ "rcfilters-filter-categorization-label": "Категорияларҙы үҙгәртеү",
+ "rcfilters-filter-categorization-description": "Категориларҙан алынған йәки өҫтәлгән биттәрҙәге яҙыуҙар",
+ "rcfilters-filter-logactions-label": "Теркәлгән эш-хәрәкәттәр",
+ "rcfilters-filter-logactions-description": "Административ эш-хәрәкәттәр, аккаунттар булдырыу, биттәрҙе юйыу, тейәү...",
+ "rcfilters-hideminor-conflicts-typeofchange-global": "\"Аҙ ғына үҙгәртеүҙәр\" фильтры башҡа бер йәки бер нисә фильтр менән талаша, сөнки билдәләнгән төр үҙгәрештәр \"аҙ ғына\" була алмай. Талашҡан фильтрҙар \"Әүҙем фильтрҙар\" өлкәһендә өҫтә күрһәтелгән.",
+ "rcfilters-hideminor-conflicts-typeofchange": "Билдәләнгән үҙгәрештәр \"аҙ ғына\" тип атала алмай, шуға был фильтр үҙгәртеүҙәрҙең $1 фильтры менән талаша.",
+ "rcfilters-typeofchange-conflicts-hideminor": "Был төҙәтеү һымаҡ фильтр \"аҙ ғына төҙәтеү\" фильтрҙары менән талаша. Билдәләнгән был төҙәтеүҙәр \"аҙ ғына\" була алмай.",
+ "rcfilters-filtergroup-lastRevision": "Һуңғы версиялар",
+ "rcfilters-filter-lastrevision-label": "Ағымдағы версия",
+ "rcfilters-filter-lastrevision-description": "Биттәге иң һуңғы үҙгәртеү генә",
+ "rcfilters-filter-previousrevision-label": "Һуңғы версия түгел",
+ "rcfilters-filter-previousrevision-description": "\"Һуңғы версия\" булмаған барлыҡ төҙәтеүҙәр",
+ "rcfilters-filter-excluded": "Рөхсәт юҡ",
+ "rcfilters-tag-prefix-namespace-inverted": "<Strong>: </strong> $1 түгел",
+ "rcfilters-exclude-button-off": "Һайланғанды алып ташларға",
+ "rcfilters-exclude-button-on": "Һайланғанды алып ташалу",
+ "rcfilters-view-advanced-filters-label": "Киңәйтелгән фильтрҙар",
+ "rcfilters-view-tags": "Тегтары булған үҙгәртеүҙәр",
+ "rcfilters-view-namespaces-tooltip": "Фильтрҙың исемдәр яланындағы һөҙөмтәһе",
+ "rcfilters-view-tags-tooltip": "Үҙгәртеү билдәләрен ҡулланған фильтрҙың һөҙөмтәһе",
+ "rcfilters-view-return-to-default-tooltip": "Фильтрҙың төп менюһына ҡайтыу",
+ "rcfilters-liveupdates-button": "Автоматик яңыртыу",
+ "rcfilters-liveupdates-button-title-on": "Автоматик яңыртыуҙы һүндереү",
+ "rcfilters-liveupdates-button-title-off": "Яңы үҙгәрештәрҙе килеп сығыу менән күрһәтергә",
"rcnotefrom": "Аҫта <strong>$3, $4</strong> ҡарата {{PLURAL:$5|үҙгәртеүҙәр күрһәтелгән}} (<strong>$1</strong> күберәк түгел).",
+ "rclistfromreset": "Дата һайлауҙы һүндереү",
"rclistfrom": "$3 $2 алып яңы үҙгәртеүҙәрҙе күрһәт.",
"rcshowhideminor": "бәләкәй төҙәтеүҙәрҙе $1",
"rcshowhideminor-show": "Күрһәтергә",
"file-thumbnail-no": "Файлдың исеме <strong>$1</strong> менән башлана.\nБәлки, ул рәсемдең бәләкәйтелгән өлгөһөлөр ''(шартлы рәсем)''.\nӘгәр һеҙҙә был рәсемдең ҙур өлгөһө булһа, зинһар, уны керетегеҙ йәки файлдың исемен үҙгәртегеҙ.",
"fileexists-forbidden": "Бындай исемле файл бар инде һәм ул үҙгәртелә алмай.\nӘгәр һеҙ шулай ҙа был файлды тейәргә теләһәгеҙ, зинһар, кире ҡайтығыҙ һәм уны икенсе исем аҫтында тейәгеҙ.\n[[File:$1|thumb|center|$1]]",
"fileexists-shared-forbidden": "Бындай исемле файл дөйөм файл һаҡлағыста бар инде.\nӘгәр һеҙ шулай ҙа был файлды тейәргә теләһәгеҙ, зинһар, кире ҡайтығыҙ һәм яңы исем һайлағыҙ.\n[[File:$1|thumb|center|$1]]",
+ "fileexists-no-change": "Был тейәү файлдың ағымдағы версияһы <strong>[[:$1]]</strong> там ише",
+ "fileexists-duplicate-version": "Был тейәү <strong>[[:$1]]</strong> файлының {{PLURAL:$2|иҫкерәк версияһының|иҫкерәк версияларының}} там ише булып тора.",
"file-exists-duplicate": "Был файл түбәндәге {{PLURAL:$1|1=файл|файлдар}} менән тап килә:",
"file-deleted-duplicate": "Оҡшаш файл ([[:$1]]) юйылғайны инде. Уны ҡайтанан тейәр алдынан, зинһар, файлды юйыу тарихын ҡарағыҙ.",
"file-deleted-duplicate-notitle": "Ошоға оҡшаған файл юйылған,ә исеме тыйылған булған. Яңынан тейәү алдынан администратор хоҡуғы булған кешенән тыйылған файлдарҙы ҡарап сығыуын һорарға кәрәк.",
"php-uploaddisabledtext": "Файлдар тейәү PHP көйләүҙәрендә рөхсәт ителмәй. Зинһар, file_uploads көйләүен тикшерегеҙ.",
"uploadscripted": "Файлда булған HTML-кодты йәки скриптты браузер дөрөҫ эшкәртмәүе мөмкин.",
"upload-scripted-pi-callback": "XML стилендәге таблицаны эшкәртеү инструкцияһы булған файлды тейеп булмай.",
+ "upload-scripted-dtd": "Ят DTD-белдереүе булған SVG-файлдарҙы тейәп булмай.",
"uploaded-script-svg": "Тейәлгән SVG-файлында хәүефле «$1» элементы табылды.",
"uploaded-hostile-svg": "Тейәлгән SVG-файлда хәүефле CSS-код табылды.",
"uploaded-event-handler-on-svg": "SVG-файлдары өсөн <code>$1=\"$2\"</code> атрибуты ҡуйыу рөхсәт ителмәй.",
"upload-http-error": "HTTP хата килеп сыҡты: $1",
"upload-copy-upload-invalid-domain": "Был доменға ҡараған сайттарҙан файл күсереү асыҡ түгел",
"upload-foreign-cant-upload": "Вики ситтәге репозиторийға файл тейәргә көйләнмәгән.",
+ "upload-foreign-cant-load-config": "Файлдарҙы тейәү юлын тыштағы файл-һаҡлағысҡа тейәп булманы.",
+ "upload-dialog-disabled": "Был вики-сайтта файлдарҙы диалог тәҙрәһе ярҙамында тейәү мөмкинлеге һүндерелгән.",
"upload-dialog-title": "Файлды тейәргә",
"upload-dialog-button-cancel": "Кире алырға",
+ "upload-dialog-button-back": "Артҡа",
"upload-dialog-button-done": "Әҙер",
"upload-dialog-button-save": "Һаҡларға",
"upload-dialog-button-upload": "Тейәргә",
"uploadstash-errclear": "Файлдарҙы таҙартып булманы.",
"uploadstash-refresh": "Файлдар исемлеген яңыртырға",
"uploadstash-thumbnail": "һүрәттәрҙе ҡарау",
+ "uploadstash-exception": "Тейәлгәнде ваҡытлыса һаҡлауыста ($1):«$2» һаҡлап булманы.",
"invalid-chunk-offset": "Ҡабул ителмәгән фрагмент шылыуы",
"img-auth-accessdenied": "Керергә рөхсәт ителмәй",
"img-auth-nopathinfo": "PATH_INFO юҡ.\nҺеҙҙең сервер был мәғлүмәтте ебәреү өсөн көйләнмәгән.\nУның CGI нигеҙендә эшләүе һәм img_auth ҡулланмауы мөмкин.\nТулыраҡ мәғлүмәт: https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Image_Authorization",
"filerevert-submit": "Кире алырға",
"filerevert-success": "'''[[Media:$1|$1]]''' [$2 $3 булдырылған $4 өлгөһөнә] ҡайтарылды.",
"filerevert-badversion": "Файлдың күрһәтелгән ваҡыт билдәһе менән алдағы урындағы өлгөһө юҡ.",
+ "filerevert-identical": "Ағымдағы версия һайланғаны менән бер иш.",
"filedelete": "$1 юйырға",
"filedelete-legend": "Файлды юйырға",
"filedelete-intro": "Һеҙ '''[[Media:$1|$1]]''' файлын бөтә тарихы менән бергә юйырға йыйынаһығыҙ.",
"pageswithprop-legend": "Үҙенсәлектәре ҡайтанан билдәләнгән биттәр",
"pageswithprop-text": "Бында айырым үҙенсәлектәре ҡулдан яңыртып билдәләнгән биттәр һанала.",
"pageswithprop-prop": "Үҙенсәлектең атамаһы:",
+ "pageswithprop-reverse": "Кире тәртиптә айырыу.",
+ "pageswithprop-sortbyvalue": "Сифаты буйынса айырыу",
"pageswithprop-submit": "Табырға",
"pageswithprop-prophidden-long": "Текст үҙенсәлегенең оҙон мәғәнәһе йәшерелгән ($1)",
"pageswithprop-prophidden-binary": "ике тармаҡлы үҙенсәлектең мәғәнәһе йәшерелгән ($1)",
"uncategorizedcategories": "Категорияланмаған категориялар",
"uncategorizedimages": "Категорияланмаған файлдар",
"uncategorizedtemplates": "Категорияланмаған ҡалыптар",
+ "uncategorized-categories-exceptionlist": "# Бында Special:UncategorizedCategories телгә алынырға тейеш булмаған категориялар теҙмәһе бар. Берәр юллап, «*» тамғаһынан башлап. Башҡа тамға (ара ҡалдырыуҙы ла ҡушып) менән башланған юлдар кире ҡағыла. Фекерҙәрегеҙ өсөн «#» ҡулланығыҙ.",
"unusedcategories": "Ҡулланылмаған категориялар",
"unusedimages": "Ҡулланылмаған файлдар",
"wantedcategories": "Кәрәкле категориялар",
"apisandbox-sending-request": "API-ғариза ебәреү",
"apisandbox-loading-results": "API-яуап алыу",
"apisandbox-results-error": " API-яуап алғанда хата китте: $1.",
+ "apisandbox-results-login-suppressed": "Был һорау теркәлмәгән ҡулланыусынан килгән тип ҡаралған. Сөнки һорау браузерҙағы домен ҡағиҙәһенә тап кимәүе ихтимал. Иғтибар, API ҡомлоҡтоң токендарын автоматик эшкәртеү бындай һорауҙарҙа яңылыша; зинһар, ҡулдан яҙып тултырығыҙ.",
+ "apisandbox-request-selectformat-label": "Һорауҙың билдәләрен шулай күрһәтергә:",
+ "apisandbox-request-format-url-label": "URL-һорау юлы",
"apisandbox-request-url-label": "Һоратыуҙың URL-адресы:",
+ "apisandbox-request-json-label": "JSON-ды һорап алырға:",
"apisandbox-request-time": "Мөрәжәғәт ваҡыты:{{PLURAL:$1|$1 мс}}",
"apisandbox-results-fixtoken": "Токенды төҙөтегеҙ, ебәреүҙе ҡабатлағыҙ",
"apisandbox-results-fixtoken-fail": " «$1» токенына инеп булманы",
"apisandbox-alert-page": "Был биттә ҡайһы бер ҡырҙар дөрөҫ түгел.",
"apisandbox-alert-field": "Был ҡыр дәүмәле ярамай.",
+ "apisandbox-continue": "Дауам итергә",
+ "apisandbox-continue-clear": "Таҙартыу",
"booksources": "Китап сығанаҡтары",
"booksources-search-legend": "Китап сығанаҡтарын эҙлә",
"booksources-search": "Эҙләү",
"import-nonewrevisions": "Бөтә өлгөләр бығаса тейәлгән булған.",
"xml-error-string": "$2 юлда, $3 урында ($4 байт) $1: $5",
"import-upload": "XML-мәғлүмәт тейәргә",
- "import-token-mismatch": "Сессия мәғлүмәттәре юғалған.\nЗинһар, тағы ҡабатлап ҡарағыҙ. [[Special:UserLogout|системанан сығырға]]",
+ "import-token-mismatch": "Сессия мәғлүмәттәре юғалған.\nҺеҙ эш сеансын бөтөргәнһегеҙ. '''Ултырыш идентификаторығыҙҙы тикшереп, ҡабатлап ҡарағыҙ.'''\nБарыбер килеп сыҡмаһа, [[Special:UserLogout|системанан сығып]], яңынан инегеҙ, шулай уҡ браузер был сайттың cookies ҡабул итеү мөмкинлеген тикшерегеҙ.",
"import-invalid-interwiki": "Күрһәтелгән вики проекттан тейәү мөмкин түгел.",
"import-error-edit": "«$1» битен импортлап булманы, сөнки һеҙгә ул битте мөхәррирләү тыйылған.",
"import-error-create": "«$1» битен импортлап булманы, сөнки һеҙгә ул битте яһау тыйылған.",
"compare-invalid-title": "Керетелгән исем дөрөҫ түгел.",
"compare-title-not-exists": "Һеҙ күрһәткән исем юҡ.",
"compare-revision-not-exists": "Һеҙ күрһәткән версия юҡ.",
+ "diff-form": "Айырмалар",
"dberr-problems": "Ғәфү итегеҙ! Был сайтта техник ҡыйынлыҡтар тыуҙы.",
"dberr-again": "Битте бер нисә минуттан яңыртып ҡарағыҙ.",
"dberr-info": "(Мәғлүмәттәр базаһы серверы менән тоташтырылып булмай: $1)",
"rcfilters-view-tags-tooltip": "Фільтар вынікаў з дапамогай метак правак",
"rcfilters-view-return-to-default-tooltip": "Вярнуцца да галоўнага мэню фільтраў",
"rcfilters-liveupdates-button": "Імгненныя абнаўленьні",
+ "rcfilters-liveupdates-button-title-on": "Адключыць аўтаматычнае абнаўленьне",
+ "rcfilters-liveupdates-button-title-off": "Паказваць новыя зьмены як толькі яны адбываюцца",
"rcnotefrom": "Ніжэй {{PLURAL:$5|знаходзіцца зьмена|знаходзяцца зьмены}} з <strong>$4 $3</strong> (да <strong>$1</strong> на старонку).",
"rclistfromreset": "Скінуць выбар даты",
"rclistfrom": "Паказаць зьмены з $2 $3",
"compare-invalid-title": "Пазначаная няслушная назва.",
"compare-title-not-exists": "Пазначаная старонка не існуе.",
"compare-revision-not-exists": "Пазначаная вэрсія не існуе.",
+ "diff-form": "Адрозьненьні",
"dberr-problems": "Прабачце! На гэтым сайце ўзьніклі тэхнічныя цяжкасьці.",
"dberr-again": "Паспрабуйце пачакаць некалькі хвілінаў і абнавіць.",
"dberr-info": "(Немагчыма злучыцца з базай зьвестак: $1)",
"compare-invalid-title": "আপনার প্রদেয় শিরোনামটি সঠিক নয়।",
"compare-title-not-exists": "আপনার কাঙ্ক্ষিত শিরোনামটি নেই।",
"compare-revision-not-exists": "আপনার কাঙ্ক্ষিত সংস্করণটি নেই।",
+ "diff-form": "একটি '''ফরম'''",
+ "permanentlink-submit": "এই সংশোধনে যান",
"dberr-problems": " দুঃখিত! এই সাইটটি বর্তমানে কারীগরী অসুবিধার মুখোমুখি হয়েছে।",
"dberr-again": "কয়েক মিনিট পর পুনরায় পরিদর্শনের চেষ্টা করুন।",
"dberr-info": "(ডেটাবেজ প্রবেশ করা সম্ভব হয়নি: $1)",
"compare-invalid-title": "Naslov koji ste unijeli je nevaljan.",
"compare-title-not-exists": "Naslov koji ste naveli ne postoji.",
"compare-revision-not-exists": "Izmjena koji ste naveli ne postoji.",
+ "diff-form": "'''obrazac'''",
"dberr-problems": "Žao nam je! Ova stranica ima određene tehničke poteškoće.",
"dberr-again": "Pokušajte pričekati par minuta i zatim osvježiti.",
"dberr-info": "(ne može se pristupiti bazi podataka: $1)",
"compare-invalid-title": "El títol que heu especificat no és vàlid.",
"compare-title-not-exists": "El títol que heu especificat no existeix.",
"compare-revision-not-exists": "La revisió que heu especificat no existeix.",
+ "diff-form": "un '''formulari'''",
"dberr-problems": "Ho sentim. Aquest lloc web està experimentant dificultats tècniques.",
"dberr-again": "Intenteu esperar uns minuts i tornar a carregar.",
"dberr-info": "(No es pot accedir a la base de dades: $1)",
"permissionserrorstext-withaction": "Z {{PLURAL:$1|následujícího důvodu|následujících důvodů}} nemáte oprávnění $2:",
"contentmodelediterror": "Tuto revizi nemůžete editovat, protože model jejího obsahu je <code>$1</code>, což se liší od aktuálního modelu obsahu této stránky, kterým je <code>$2</code>.",
"recreate-moveddeleted-warn": "'''Upozornění: Pokoušíte se znovuzaložit stránku, která byla v minulosti smazána.'''\n\nZvažte, zda je vhodné v editaci této stránky pokračovat.\nNíže vidíte soupis přesunů a smazání této stránky:",
- "moveddeleted-notice": "Tato stránka byla smazána.\nPodrobnosti si můžete prohlédnout v níže zobrazeném seznamu provedených přesunů a smazání této stránky.",
- "moveddeleted-notice-recent": "Omlouváme se, ale tato stránka byla nedávno (v posledních 24 hodinách) smazána. Pro úplnost je níže zobrazen soupis přesunů a smazání této stránky.",
+ "moveddeleted-notice": "Tato stránka byla smazána.\nPodrobnosti si můžete prohlédnout v níže zobrazeném seznamu provedených smazání, zamčení a přesunů této stránky.",
+ "moveddeleted-notice-recent": "Omlouváme se, ale tato stránka byla nedávno (v posledních 24 hodinách) smazána. Pro úplnost je níže zobrazen soupis smazání, zamčení a přesunů této stránky.",
"log-fulllog": "Zobrazit všechny záznamy",
"edit-hook-aborted": "Editace byla bez bližšího vysvětlení zrušena přípojným bodem.",
"edit-gone-missing": "Stránku se nepodařilo aktualizovat.\nZřejmě byla smazána.",
"recentchanges-submit": "Zobrazit",
"rcfilters-legend-heading": "<strong>Seznam zkratek:</strong>",
"rcfilters-group-results-by-page": "Seskupit výsledky podle stránky",
+ "rcfilters-grouping-title": "Seskupování",
"rcfilters-activefilters": "Aktivní filtry",
"rcfilters-advancedfilters": "Pokročilé filtry",
"rcfilters-limit-title": "Zobrazit změny",
"rcfilters-restore-default-filters": "Obnovit výchozí filtry",
"rcfilters-clear-all-filters": "Zrušit všechny filtry",
"rcfilters-show-new-changes": "Zobrazit nejnovější změny",
+ "rcfilters-previous-changes-label": "Dříve prohlédnuté změny",
"rcfilters-search-placeholder": "Filtrovat nedávné změny (prohlížejte nebo začněte psát)",
"rcfilters-invalid-filter": "Neplatný filtr",
"rcfilters-empty-filter": "Žádné aktivní filtry. Zobrazeny jsou všechny příspěvky.",
"rcfilters-tag-prefix-namespace-inverted": "<strong>:ne</strong> $1",
"rcfilters-exclude-button-off": "Vynechat vybrané",
"rcfilters-exclude-button-on": "Vybrané vynechány",
+ "rcfilters-view-advanced-filters-label": "Pokročilé filtry",
"rcfilters-view-tags": "Označené editace",
"rcfilters-view-namespaces-tooltip": "Filtrovat výsledky podle jmenného prostoru",
"rcfilters-view-tags-tooltip": "Filtrovat výsledky pomocí značek editací",
"rcfilters-view-return-to-default-tooltip": "Vrátit se do hlavního filtrovacího menu",
"rcfilters-liveupdates-button": "Živé aktualizace",
+ "rcfilters-liveupdates-button-title-on": "Vypnout živé aktualizace",
+ "rcfilters-liveupdates-button-title-off": "Zobrazovat nové změny, jakmile jsou zveřejněny",
"rcnotefrom": "Níže {{PLURAL:$5|je změna|jsou změny}} od <strong>$3, $4</strong> ({{PLURAL:$1|zobrazena|zobrazeny|zobrazeno}} nejvýše <strong>$1</strong>).",
"rclistfromreset": "Obnovit výběr data",
"rclistfrom": "Ukázat nové změny, počínaje od $2, $3",
"compare-invalid-title": "Zadaný název je neplatný.",
"compare-title-not-exists": "Zadaný název neexistuje.",
"compare-revision-not-exists": "Zadaná revize neexistuje.",
+ "diff-form": "Rozdíly",
+ "diff-form-oldid": "ID staré revize (nepovinné)",
+ "diff-form-submit": "Zobrazit rozdíly",
+ "permanentlink": "Trvalý odkaz",
+ "permanentlink-revid": "ID revize",
+ "permanentlink-submit": "Přejít na revizi",
"dberr-problems": "Promiňte! Tento server má v tuto chvíli technické problémy.",
"dberr-again": "Zkuste několik minut počkat a poté znovu načíst stránku.",
"dberr-info": "(Nelze se připojit k databázi: $1)",
"compare-invalid-title": "Der angegebene Seitenname ist ungültig.",
"compare-title-not-exists": "Der angegebene Seitenname ist nicht vorhanden.",
"compare-revision-not-exists": "Die angegebene Version ist nicht vorhanden.",
+ "diff-form": "Unterschiede",
+ "diff-form-oldid": "Alte Versionskennung (optional)",
+ "diff-form-revid": "Versionskennung des Unterschieds",
+ "diff-form-submit": "Unterschiede anzeigen",
+ "permanentlink": "Permanenter Link",
+ "permanentlink-revid": "Versionskennung",
+ "permanentlink-submit": "Gehe zu Version",
"dberr-problems": "Entschuldigung. Diese Seite hat momentan technische Schwierigkeiten.",
"dberr-again": "Warte einige Minuten und versuche dann neu zu laden.",
"dberr-info": "(Auf die Datenbank konnte nicht zugegriffen werden: $1)",
"compare-invalid-title": "The title you specified is invalid.",
"compare-title-not-exists": "The title you specified does not exist.",
"compare-revision-not-exists": "The revision you specified does not exist.",
+ "diff-form": "Differences",
+ "diff-form-oldid": "Old revision ID (optional)",
+ "diff-form-revid": "Revision ID of difference",
+ "diff-form-submit": "Show differences",
+ "diff-form-summary": "",
+ "permanentlink": "Permanent link",
+ "permanentlink-revid": "Revision ID",
+ "permanentlink-submit": "Go to revision",
+ "permanentlink-summary": "",
"dberr-problems": "Sorry! This site is experiencing technical difficulties.",
"dberr-again": "Try waiting a few minutes and reloading.",
"dberr-info": "(Cannot access the database: $1)",
"compare-invalid-title": "El título especificado es inválido.",
"compare-title-not-exists": "El título especificado no existe.",
"compare-revision-not-exists": "La revisión especificada no existe.",
+ "diff-form": "un '''formulario'''",
"dberr-problems": "Lo sentimos. Este sitio está experimentando dificultades técnicas.",
"dberr-again": "Prueba a recargar dentro de unos minutos.",
"dberr-info": "(No se puede acceder a la base de datos: $1)",
"compare-invalid-title": "عنوان تعیینشده نامعتبر است.",
"compare-title-not-exists": "عنوان مشخص شده وجود ندارد.",
"compare-revision-not-exists": "پالایهٔ مشخص شده وجود ندارد.",
+ "diff-form": "یک '''فرم'''",
"dberr-problems": "شرمنده! این تارنما از مشکلات فنی رنج میبرد.",
"dberr-again": "چند دقیقه صبر کنید و دوباره صفحه را بارگیری کنید.",
"dberr-info": "(امکان برقراری ارتباط با پایگاه داده وجود ندارد: $1)",
"BiscuitMan",
"Alluk.",
"Tumm1",
- "4shadoww"
+ "4shadoww",
+ "Pahkiqaz"
]
},
"tog-underline": "Linkkien alleviivaus:",
"contentmodelediterror": "Et voi muokata tätä versiota, koska sen sisältömalli on <code>$1</code> ja tämä poikkeaa sivun nykyisestä sisältömallista, joka on <code>$2</code>.",
"recreate-moveddeleted-warn": "'''Varoitus: Olet luomassa sellaista sivua, joka on aikaisemmin poistettu.'''\n\nHarkitse, kannattaako tätä sivua luoda uudelleen. \nAlla on tämän sivun poisto- ja siirtohistoria:",
"moveddeleted-notice": "Tämä sivu on poistettu. \nAlla on sivun poisto-, suojaus- ja siirtohistoria.",
- "moveddeleted-notice-recent": "Valitettavasti tämä sivu on poistettu aivan äskettäin (viimeisen 24 tunnin aikana).\nAlla on sivun poisto-, suojaus- ja siirtohistoria.",
+ "moveddeleted-notice-recent": "Valitettavasti tämä sivu on poistettu äskettäin (viimeisen 24 tunnin aikana).\nAlla on sivun poisto-, suojaus- ja siirtohistoria.",
"log-fulllog": "Näytä loki kokonaan",
"edit-hook-aborted": "Laajennuskoodi esti muokkauksen antamatta syytä.",
"edit-gone-missing": "Sivun päivitys ei onnistunut.\nSe on ilmeisesti poistettu.",
"rcfilters-savedqueries-defaultlabel": "Tallennetut suodattimet",
"rcfilters-savedqueries-rename": "Nimeä uudelleen",
"rcfilters-savedqueries-setdefault": "Aseta oletukseksi",
- "rcfilters-savedqueries-unsetdefault": "Poista oletus",
+ "rcfilters-savedqueries-unsetdefault": "Poista oletksena",
"rcfilters-savedqueries-remove": "Poista",
"rcfilters-savedqueries-new-name-label": "Nimi",
"rcfilters-savedqueries-apply-label": "Luo suodatin",
"compare-invalid-title": "Antamasi sivun nimi on virheellinen.",
"compare-title-not-exists": "Määrittämääsi sivua ei ole.",
"compare-revision-not-exists": "Määrittämääsi versiota ei ole.",
+ "diff-form": "Eroavaisuudet",
"dberr-problems": "Tällä sivustolla on teknisiä ongelmia.",
"dberr-again": "Odota hetki ja lataa sivu uudelleen.",
"dberr-info": "(Tietokantaan ei saada yhteyttä: $1)",
"compare-invalid-title": "Le titre que vous avez spécifié n’est pas valide.",
"compare-title-not-exists": "Le titre que vous avez spécifié n’existe pas.",
"compare-revision-not-exists": "La révision que vous avez spécifiée n’existe pas.",
+ "diff-form": "Différences",
+ "diff-form-oldid": "ID de l’ancienne révision (facultatif)",
+ "diff-form-revid": "ID de la révision à comparer",
+ "diff-form-submit": "Afficher les différences",
+ "permanentlink": "Lien permanent",
+ "permanentlink-revid": "ID de la révision",
+ "permanentlink-submit": "Aller à la révision",
"dberr-problems": "Désolé ! Ce site rencontre des difficultés techniques.",
"dberr-again": "Essayez d'attendre quelques minutes et rechargez.",
"dberr-info": "(Accès à la base de données impossible : $1)",
"contentmodelediterror": "Non pode editar esta revisión porque o seu modelo de contido é \"<code>$1</code>\", o cal difire do modelo de contido \"<code>$2</code>\", que é o actual da páxina.",
"recreate-moveddeleted-warn": "'''Atención: Vai volver crear unha páxina que xa foi eliminada anteriormente.'''\n\nDebería considerar se é apropiado continuar a editar esta páxina.\nVelaquí están o rexistro de borrados e mais o de traslados desta páxina, por se quere consultalos:",
"moveddeleted-notice": "Esta páxina foi borrada.\nA continuación pódese ver o rexistro de borrados e traslados desta páxina, por se quere consultalos.",
- "moveddeleted-notice-recent": "Sentímolo, borrouse esta páxina recentemente (nas últimas 24 horas).\nVelaquí están o rexistro de borrados e traslados da páxina, por se os quere consultar.",
+ "moveddeleted-notice-recent": "Sentímolo, borrouse esta páxina recentemente (nas últimas 24 horas).\nVelaquí están o rexistro de borrados, proteccións e traslados da páxina, por se os quere consultar.",
"log-fulllog": "Ver o rexistro completo",
"edit-hook-aborted": "A edición foi abortada polo asociador.\nEste non deu ningunha explicación.",
"edit-gone-missing": "Non se pode actualizar a páxina.\nSemella que foi borrada.",
"compare-invalid-title": "O título que especificou non é válido.",
"compare-title-not-exists": "O título que especificou non existe.",
"compare-revision-not-exists": "A revisión que especificou non existe.",
+ "diff-form": "Diferenzas",
+ "diff-form-oldid": "Identificador de revisión antigo (opcional)",
+ "diff-form-revid": "Identificador de revisión da diferenza",
+ "diff-form-submit": "Mostrar as diferenzas",
+ "permanentlink": "Ligazón permanente",
+ "permanentlink-revid": "ID da revisión",
+ "permanentlink-submit": "Ir á revisión",
"dberr-problems": "Sentímolo! Este sitio está experimentando dificultades técnicas.",
"dberr-again": "Por favor, agarde uns minutos e logo probe a cargar de novo a páxina.",
"dberr-info": "(Non se pode acceder ao servidor da base de datos: $1)",
"permissionserrorstext": "તમને નીચેનાં {{PLURAL:$1|કારણ|કારણો}} સર આ કાર્ય કરવાની પરવાનગીનથી.",
"permissionserrorstext-withaction": "$2 પરવાનગી તમને નીચેનાં {{PLURAL:$1|કારણ|કારણો}} સર નથી:",
"recreate-moveddeleted-warn": "'''ચેતવણી: તમે જે પાનું નવું બનાવવા જઇ રહ્યાં છો તે પહેલાં દૂર કરવામાં આવ્યું છે.'''\n\nઆ પાનું સંપાદિત કરતા પહેલાં ગંભીરતાપૂર્વક વિચારજો અને જો તમને લાગે કે આ પાનું ફરી વાર બનાવવું ઉચિત છે, તો જ અહીં ફેરફાર કરજો.\nપાનું હટાવ્યાં પહેલાનાં બધા ફેરફારોની સૂચિ તમારી અનુકૂળતા માટે અહીં આપી છે:",
- "moveddeleted-notice": "àª\86 પાનà«\81àª\82 àªà«\82àª\82સà«\80 દà«\87વાયà«\81àª\82 àª\9bà«\87.\nતમારા સàª\82દરà«\8dઠમાàª\9fà«\87 àªà«\82àª\82સà«\87લા àª\85નà«\87 હàª\9fાવà«\87લા પાનાની સૂચિ આપેલી છે.",
+ "moveddeleted-notice": "àª\86 પાનà«\81àª\82 દà«\82ર àª\95રવામાàª\82 àª\86વà«\8dયà«\81àª\82 àª\9bà«\87.\nતમારા સàª\82દરà«\8dઠમાàª\9fà«\87 દà«\82ર àª\95રà«\87લા, સà«\81રàª\95à«\8dષિત àª\95રà«\87લા àª\85નà«\87 àª\96સà«\87ડà«\87લા પાનાàª\82ની સૂચિ આપેલી છે.",
"log-fulllog": "પૂર્ણ લોગ જુઓ",
"edit-hook-aborted": "ખૂંટા દ્વારા રદ્દ કરાયું.\nકોઇ કારણ નથી અપાયું",
"edit-gone-missing": "આ પાને અધ્યતન ન બનાવી શકાયું \nલાગે છે કોઇએ આ પાનું હટાવી દીધું છે",
"recentchanges-legend-heading": "<strong>કળ:</strong>",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|નવા પાનાઓની યાદી]] પણ જુઓ)",
"recentchanges-submit": "બતાવો",
+ "rcfilters-other-review-tools": "<strong>અન્ય ચકાસણી સાધનો</strong>",
+ "rcfilters-savedqueries-cancel-label": "રદ કરો",
"rcnotefrom": "નીચે <strong>$3, $4</strong> થી {{PLURAL:$5|ફેરફાર|ફેરફારો}} દર્શાવેલ છે (<strong>$1</strong> સુધી દર્શાવેલ છે).",
"rclistfrom": "$3 $2 બાદ થયેલા નવા ફેરફારો બતાવો",
"rcshowhideminor": "નાના ફેરફારો $1",
"recentchangeslinked-feed": "આની સાથે જોડાયેલા ફેરફાર",
"recentchangeslinked-toolbox": "આની સાથે જોડાયેલા ફેરફાર",
"recentchangeslinked-title": "\"$1\" ને લગતા ફેરફારો",
- "recentchangeslinked-summary": "આ એવા ફેરફારોની યાદી છે જે આ ચોક્કસ પાના (કે શ્રેણીનાં સભ્ય પાનાઓ) સાથે જોડાયેલા પાનાઓમાં તાજેતરમાં કરવામાં આવ્યા હોય.\n<br />[[Special:Watchlist|તમારી ધ્યાનસૂચિમાં]] હોય તેવા પાનાં '''ઘાટા અક્ષર'''માં વર્ણવ્યાં છે",
+ "recentchangeslinked-summary": "આ એવા ફેરફારોની યાદી છે જે આ ચોક્કસ પાના (કે શ્રેણીનાં સભ્ય પાનાઓ) સાથે જોડાયેલા પાનાઓમાં તાજેતરમાં કરવામાં આવ્યા હોય.\n[[Special:Watchlist|તમારી ધ્યાનસૂચિમાં]] હોય તેવા પાનાં '''ઘાટા અક્ષર'''માં વર્ણવ્યાં છે.",
"recentchangeslinked-page": "પાનાનું નામ:",
"recentchangeslinked-to": "આને બદલે આપેલા પાનાં સાથે જોડાયેલા લેખોમાં થયેલા ફેરફારો શોધો",
"upload": "ફાઇલ ચડાવો",
"apisandbox-examples": "ઉદાહરણો",
"apisandbox-results": "પરિણામો",
"booksources": "પુસ્તક સ્રોત",
- "booksources-search-legend": "પુસ્તક સ્રોત શોધો",
+ "booksources-search-legend": "પà«\81સà«\8dતàª\95 સà«\8dરà«\8bત માàª\9fà«\87 શà«\8bધà«\8b",
"booksources-isbn": "આઇએસબીએન:",
"booksources-search": "શોધ",
"booksources-text": "નીચે દર્શાવેલ યાદી એ કડીઓ બતાવે છે જેઓ નવા અને જૂના પુસ્તકો વેચે છે , અને તમે માંગેલ વસ્તુ સંબંધિ વધુ મહિતી પણ ધરાવી શકે છે.",
"protect-locked-dblock": "માહિતી સંચ બંધ હોવાથી સંરક્ષણ સ્તર બદલી નહીં શકાય્\nઆ પાનાના હાલના સુરક્ષા સ્તર : $1",
"protect-locked-access": "તમને પાનાની સુરક્ષાનાં સ્તરમાં ફેરફાર કરવાની પરવાનગી નથી.\nપાનાં '''$1'''નું હાલનું સેટીંગ અહિં જોઈ શકો છો:",
"protect-cascadeon": "આ પાનું હાલમાં સંરક્ષિત છે કારણકે તે {{PLURAL:$1|પાનું,|પાનાઓ,}} જેમાં ધોધાકાર સંરક્ષણ ચાલુ છે, તેમાં છે.\n\nતમે આ પાનાઓનું સંરક્ષણ સ્તર બદલી શકો છો, પરંતુ તેની અસર ધોધાકાર સંરક્ષણ પર પડવી જોઇએ નહીં.",
- "protect-default": "બધા સભ્યોને પરવાનગી",
+ "protect-default": "બધા સભ્યોને પરવાનગી આપો",
"protect-fallback": "માત્ર \"$1\" પરવાનગી સાથેના સભ્યોને માન્ય રાખો",
"protect-level-autoconfirmed": "માત્ર આપમેળે ખાતરી થયેલા સભ્યોને માન્ય રાખો",
"protect-level-sysop": "માત્ર પ્રબંધકોને માન્ય રાખો",
"compare-invalid-title": "שם הדף שציינת אינו תקין.",
"compare-title-not-exists": "הדף שציינת אינו קיים.",
"compare-revision-not-exists": "הגרסה שציינת אינה קיימת.",
+ "diff-form": "הבדלים",
+ "diff-form-oldid": "מספר הגרסה הישנה (אופציונלי)",
+ "diff-form-revid": "מספר הגרסה החדשה",
+ "diff-form-submit": "הצגת ההבדלים",
+ "permanentlink": "קישור קבוע",
+ "permanentlink-revid": "מספר הגרסה",
+ "permanentlink-submit": "מעבר לגרסה",
"dberr-problems": "מצטערים! קיימת בעיה טכנית באתר זה.",
"dberr-again": "נסו להמתין מספר שניות ולהעלות מחדש את הדף.",
"dberr-info": "(לא ניתן לגשת לבסיס הנתונים: $1)",
"compare-invalid-title": "आपके द्वारा निर्दिष्ट शीर्षक अमान्य है।",
"compare-title-not-exists": "आपके द्वारा निर्दिष्ट शीर्षक मौजूद नहीं है।",
"compare-revision-not-exists": "आपके द्वारा निर्दिष्ट संशोधन मौजूद नहीं है।",
+ "diff-form": "एक '''पर्चा'''",
"dberr-problems": "क्षमा करें! इस जालस्थल को कुछ तकनीकी परेशानियों का सामना करना पड़ रहा है।",
"dberr-again": "कुछ मिनट रुकने के बाद फिर से चढ़ाएँ।",
"dberr-info": "(डाटाबेस से संपर्क नहीं हो पा रहा: $1)",
"compare-invalid-title": "Naslov koji ste naveli nije valjan.",
"compare-title-not-exists": "Naslov koji ste naveli ne postoji.",
"compare-revision-not-exists": "Navedena izmjena stranice ne postoji.",
+ "diff-form": "'''form'''",
"dberr-problems": "Ispričavamo se! Ova stranica ima tehničkih poteškoća.",
"dberr-again": "Pričekajte nekoliko minuta i ponovno učitajte.",
"dberr-info": "(Ne mogu pristupiti bazi podataka: $1)",
"tog-shownumberswatching": "A lapot figyelő szerkesztők számának megjelenítése",
"tog-oldsig": "A jelenlegi aláírásod:",
"tog-fancysig": "Az aláírás wikiszöveg (nem lesz automatikusan hivatkozásba rakva)",
- "tog-uselivepreview": "Élő előnézet használata",
+ "tog-uselivepreview": "Előnézetek megjelenítése az oldal újratöltése nélkül",
"tog-forceeditsummary": "Figyelmeztessen, ha nem adok meg szerkesztési összefoglalót",
"tog-watchlisthideown": "Saját szerkesztések elrejtése",
"tog-watchlisthidebots": "Robotok szerkesztéseinek elrejtése",
"contentmodelediterror": "Nem szerkesztheted ezt a változatot, mert a tartalommodellje <code>$1</code>, ami eltér a jelenlegitől (<code>$2</code>).",
"recreate-moveddeleted-warn": "'''Figyelem! Olyan lapot készülsz létrehozni, amit már legalább egyszer töröltek.'''\n\nMielőtt létrehoznád, nézd meg, miért törölték a lap korábbi tartalmát, és győződj meg róla, hogy a törlés indoka érvényes-e még. A törlési és átnevezési naplókban az érintett lapról az alábbi bejegyzések szerepelnek:",
"moveddeleted-notice": "Az oldal korábban törölve lett.\nA lap törlési és átnevezési naplója alább olvasható.",
- "moveddeleted-notice-recent": "Sajnáljuk, az oldalt nemrég törölték (az elmúlt 24 órában).\nA részletekért lásd lentebb a törlési és átnevezési naplót.",
+ "moveddeleted-notice-recent": "Sajnáljuk, az oldalt nemrég törölték (az elmúlt 24 órában).\nA részletekért lásd lentebb a törlési, védelmi és átnevezési naplót.",
"log-fulllog": "Teljes napló megtekintése",
"edit-hook-aborted": "A szerkesztés meg lett szakítva egy hook által.\nNem lett magyarázat csatolva.",
"edit-gone-missing": "Nem lehet frissíteni a lapot.\nÚgy tűnik, hogy törölve lett.",
"rcfilters-advancedfilters": "Haladó szűrők",
"rcfilters-limit-title": "Megjelenítendő változtatások",
"rcfilters-limit-shownum": "Utolsó $1 változtatás megjelenítése",
+ "rcfilters-days-title": "Legutóbbi napok",
+ "rcfilters-hours-title": "Legutóbbi órák",
"rcfilters-days-show-days": "$1 nap",
"rcfilters-days-show-hours": "$1 óra",
"rcfilters-quickfilters": "Mentett szűrők",
"rcfilters-filter-previousrevision-description": "Minden változtatás a legutóbbiak kivételével",
"rcfilters-filter-excluded": "Kizárva",
"rcfilters-tag-prefix-namespace-inverted": "<strong>:nem</strong> $1",
+ "rcfilters-view-advanced-filters-label": "Haladó szűrők",
"rcfilters-view-tags": "Megjelölt szerkesztések",
"rcfilters-view-namespaces-tooltip": "Találatok szűrése névtér szerint",
"rcfilters-view-tags-tooltip": "Találatok szűrése címkék használatával",
"enotif_lastdiff": "Ezen változtatás megtekintéséhez lásd: $1",
"enotif_anon_editor": "$1 névtelen felhasználó",
"enotif_body": "Kedves $WATCHINGUSERNAME!\n\n$PAGEINTRO $NEWPAGE\n\nA szerkesztési összefoglaló a következő volt: $PAGESUMMARY $PAGEMINOREDIT\n\nA szerkesztő elérhetősége:\ne-mail küldése: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nAmíg nem keresed fel az oldalt bejelentkezve, addig nem érkeznek újabb értesítések az oldal változásaival kapcsolatban. A figyelőlistádon is beállíthatod, hogy újból kapj értesítéseket, az összes lap után.\n\nBaráti üdvözlettel: a(z) {{SITENAME}} értesítő rendszere\n\n--\nAz e-mail értesítéseid módosításához keresd fel a \n{{canonicalurl:{{#special:Preferences}}}} címet\n\nA figyelőlistád módosításához keresd fel a\n{{canonicalurl:{{#special:EditWatchlist}}}} címet\n\nA lap figyelőlistádról való törléséhez keresd fel a\n$UNWATCHURL címet\n\nVisszajelzés és további segítség:\n$HELPPAGE",
+ "enotif_minoredit": "Ez egy apró szerkesztés",
"created": "létrehozta",
"changed": "megváltoztatta",
"deletepage": "Lap törlése",
"compare-invalid-title": "A megadott cím érvénytelen.",
"compare-title-not-exists": "A megadott cím nem létezik.",
"compare-revision-not-exists": "A megadott lapváltozat nem létezik.",
+ "diff-form": "egy '''űrlap'''",
"dberr-problems": "Sajnáljuk, de az oldallal technikai problémák vannak.",
"dberr-again": "Várj néhány percet, majd frissítsd az oldalt.",
"dberr-info": "(Nem sikerült kapcsolódni az adatbázishoz: $1)",
"logentry-import-upload-details": "$1 {{GENDER:$2|importálta}} a(z) $3 lapot fájlfeltöltéssel ($4 lapváltozat).",
"logentry-import-interwiki": "$1 {{GENDER:$2|importálta}} $3 lapot egy másik wikiből",
"logentry-import-interwiki-details": "$1 {{GENDER:$2|importálta}} a(z) $3 lapot a(z) $5 wikiről ($4 lapváltozat).",
- "logentry-merge-merge": "$1 {{GENDER:$2|összevonta}} $3 lapot $4 lappal ($5 változtig)",
+ "logentry-merge-merge": "$1 {{GENDER:$2|összevonta}} $3 lapot $4 lappal ($5 változatig)",
"logentry-move-move": "$1 átnevezte a(z) $3 lapot a következő névre: $4",
"logentry-move-move-noredirect": "$1 átnevezte a(z) $3 lapot $4 lapra átirányítás nélkül",
"logentry-move-move_redir": "$1 átnevezte a(z) $3 lapot $4 lapra az átirányítást felülírva",
"compare-invalid-title": "Il titolo che hai specificato non è valido.",
"compare-title-not-exists": "Il titolo che hai specificato non esiste.",
"compare-revision-not-exists": "La versione che hai specificato non esiste.",
+ "diff-form": "Differenze",
"dberr-problems": "Questo sito sta avendo dei problemi tecnici.",
"dberr-again": "Prova ad attendere qualche minuto e ricaricare.",
"dberr-info": "(Impossibile accedere al server del database: $1)",
"compare-invalid-title": "指定したページ名は無効です。",
"compare-title-not-exists": "指定したページは存在しません。",
"compare-revision-not-exists": "指定した版は存在しません。",
+ "diff-form": "'''フォーム'''",
"dberr-problems": "申し訳ありません! このウェブサイトに技術的な障害が発生しています。",
"dberr-again": "数分間待った後、もう一度読み込んでください。",
"dberr-info": "(データベース $1 にアクセスできません)",
"previousrevision": "← Owahan sadurungé",
"nextrevision": "Owahan sabanjuré →",
"currentrevisionlink": "Owahan wekasan",
- "cur": "sai",
+ "cur": "saiki",
"next": "sabanjuré",
- "last": "sadurung",
+ "last": "sadurungé",
"page_first": "kapisan",
"page_last": "pungkasan",
- "histlegend": "Kanggo nandhingaké: tandhani kothak radhio révisi-révisi sing arep dibandhingaké lan pencèt ''Enter'' utawa tombol sing ana ing ngisor.<br />\nLegéndha: <strong>({{int:cur}})</strong> = béda karo révisi pungkasan, <strong>({{int:last}})</strong> = béda karo révisi sadurungé, <strong>{{int:minoreditletter}}</strong> = besutan cilik.",
+ "histlegend": "Kanggo mbandhingaké: Tandhani kothak radhioning révisi-révisi sing arep dibandhingaké lan pencèt ''Enter'' utawa tombol ing ngisor.<br />\nLegéndhah: <strong>({{int:cur}})</strong> = bédané karo révisi pungkasan, <strong>({{int:last}})</strong> = bédané karo révisi sadurungé, <strong>{{int:minoreditletter}}</strong> = besutan cilik.",
"history-fieldset-title": "Golèk owahan",
"history-show-deleted": "Mligi owahan sing dibusak",
"histfirst": "lawas dhéwé",
"compare-invalid-title": "Sesirah sing kokawèhaké ora sah.",
"compare-title-not-exists": "Sesirah sing kokawèhaké ora ana.",
"compare-revision-not-exists": "Benahan sing Sampéyan jaluk ora ana.",
+ "diff-form": "sawijining '''formulir'''",
"dberr-problems": "Nyuwun ngapura! Situs iki ngalami masalah tèknis.",
"dberr-again": "Coba nunggu sawetara menit lan unggahna manèh.",
"dberr-info": "(Ora bisa nggayut basis dhata: $1)",
"recentchanges-submit": "보기",
"rcfilters-legend-heading": "<strong>약어 목록:</strong>",
"rcfilters-other-review-tools": "<strong>다른 검토 도구</strong>",
+ "rcfilters-group-results-by-page": "문서별로 묶음",
+ "rcfilters-grouping-title": "묶기",
"rcfilters-activefilters": "사용 중인 필터",
"rcfilters-advancedfilters": "고급 필터",
- "rcfilters-limit-title": "표시할 변경사항",
- "rcfilters-limit-shownum": "최근 {{PLURAL:$1개의 변경사항}} 표시",
+ "rcfilters-limit-title": "표시할 변경사항 수",
+ "rcfilters-limit-shownum": "최근 {{PLURAL:$1|$1개의 변경사항}} 표시",
"rcfilters-days-title": "최근 날",
"rcfilters-hours-title": "최근 시간",
"rcfilters-days-show-days": "$1{{PLURAL:$1|일}}",
"compare-invalid-title": "입력한 제목이 잘못되었습니다.",
"compare-title-not-exists": "입력한 문서가 존재하지 않습니다.",
"compare-revision-not-exists": "지정한 판이 없습니다.",
+ "diff-form": "'''양식'''",
"dberr-problems": "죄송합니다! 이 사이트에 기술적인 문제가 발생하고 있습니다.",
"dberr-again": "잠시 기다리고 나서 다시 불러오세요.",
"dberr-info": "(데이터베이스 서버에 연결할 수 없습니다: $1)",
"compare-invalid-title": "Den Titel deen Dir uginn hutt ass net valabel.",
"compare-title-not-exists": "Den Titel deen Dir uginn hutt gëtt et net.",
"compare-revision-not-exists": "D'Versioun déi Dir uginn hutt gëtt et net.",
+ "diff-form": "ein '''Formulair'''",
"dberr-problems": "Pardon! Dëse Site huet technesch Schwieregkeeten.",
"dberr-again": "Versicht e puer Minutten ze waarden an dann nei ze lueden.",
"dberr-info": "(D'Datebank kann net erreecht ginn: $1)",
"grant-createaccount": "Maak gebroekers aan",
"grant-createeditmovepage": "Maak, bewirk en verplaats pagina's",
"grant-delete": "Wösj pagina's, bewirkinge en logbookregele",
+ "grant-editmycssjs": "Bewirk diene CSS/JavaScript",
+ "grant-editmyoptions": "Bewirk dien veurkäöre",
+ "grant-editmywatchlist": "Bewirk dien volglies",
+ "grant-editpage": "Bewirk bestäöndje pagina's",
+ "grant-editprotected": "Bewirk besjurmde pagina's",
"grant-basic": "Basisrechte",
"newuserlogpage": "Logbook nuuj gebroekers",
"newuserlogpagetext": "Hiej ónger saton de nuuj ingesjreve gebroekers.",
"compare-invalid-title": "De opgegaeve pazjenanaam is óngeljig.",
"compare-title-not-exists": "Aangegaeve titel besteit neet.",
"compare-revision-not-exists": "Aangegaeve versie besteit neet.",
+ "diff-form": "'n '''formulier'''",
"dberr-problems": "Os excuses. Deze site ongervindj op t moment technische probleme.",
"dberr-again": "Wach n aantal minute en probeer t daonao opnuuj.",
"dberr-info": "(Kan gein verbinjing make mit de databaseserver: $1)",
"compare-rev1": "審一",
"compare-rev2": "審二",
"compare-submit": "較",
+ "diff-form": "表",
"htmlform-invalid-input": "爾之輸問也",
"htmlform-select-badoption": "爾之值為非效之。",
"htmlform-int-invalid": "爾之值為非整數也。",
"permissionserrorstext-withaction": "Немате дозвола за $2, од {{PLURAL:$1|следнава причина|следниве причини}}:",
"contentmodelediterror": "Не можете да ја измените оваа преработка бидејќи нејзиниот содржински модел е <code>$1</code>, што се разликува од тековниот содржински модел на страницата <code>$2</code>.",
"recreate-moveddeleted-warn": "Внимание: Повторно создавате страница што претходно била бришена.'''\n\nРазмислете дали е правилно да продолжите со уредување на оваа страница.\nПодолу е прикажан дневникот на бришења и преместувања на оваа страница:",
- "moveddeleted-notice": "Ð\9eваа Ñ\81Ñ\82Ñ\80аниÑ\86а била пÑ\80еÑ\82Ñ\85одно бÑ\80иÑ\88ена.\nÐ\94невникоÑ\82 на бÑ\80иÑ\88еÑ\9aа и пÑ\80емеÑ\81Ñ\82Ñ\83ваÑ\9aа за оваа Ñ\81Ñ\82Ñ\80аниÑ\86а е пÑ\80икажан подолÑ\83 за ваÑ\88е дополниÑ\82елно инÑ\84оÑ\80миÑ\80аÑ\9aе.",
- "moveddeleted-notice-recent": "Ð\97а жал, Ñ\81Ñ\82Ñ\80аниÑ\86ава беÑ\88е неодамна избÑ\80иÑ\88ана (во поÑ\81ледниве 24 Ñ\87аÑ\81а).\nÐ\9fодолÑ\83 можеÑ\82е да го погледаÑ\82е дневникоÑ\82 на бÑ\80иÑ\88еÑ\9aе и пÑ\80емеÑ\81Ñ\82Ñ\83ваÑ\9aе.",
+ "moveddeleted-notice": "Ð\9eваа Ñ\81Ñ\82Ñ\80аниÑ\86а е избÑ\80иÑ\88ана.\nÐ\94невникоÑ\82 на бÑ\80иÑ\88еÑ\9aа и пÑ\80емеÑ\81Ñ\82Ñ\83ваÑ\9aа за оваа Ñ\81Ñ\82Ñ\80аниÑ\86а е пÑ\80икажан подолÑ\83.",
+ "moveddeleted-notice-recent": "Ð\97а жал, Ñ\81Ñ\82Ñ\80аниÑ\86ава беÑ\88е неодамна избÑ\80иÑ\88ана (во поÑ\81ледниве 24 Ñ\87аÑ\81а).\nÐ\9fодолÑ\83 можеÑ\82е да го погледаÑ\82е дневникоÑ\82 на бÑ\80иÑ\88еÑ\9aа, заÑ\88Ñ\82иÑ\82и и пÑ\80емеÑ\81Ñ\82Ñ\83ваÑ\9aа.",
"log-fulllog": "Преглед на целиот дневник",
"edit-hook-aborted": "Уредувањето е прекинато со пресретник.\nНе е дадено никакво образложение.",
"edit-gone-missing": "Не можев да ја подновам страницата.\nВеројатно е избришана.",
"prefs-editwatchlist-clear": "Исчисти набљудувани",
"prefs-watchlist-days": "Број на денови за приказ во набљудуваните",
"prefs-watchlist-days-max": "Највеќе $1 {{PLURAL:$1|ден|дена}}",
- "prefs-watchlist-edits": "Ð\9dаÑ\98веÑ\9cе пÑ\80икажани пÑ\80омени во пÑ\80оÑ\88иÑ\80ениоÑ\82 Ñ\81пиÑ\81ок на набÑ\99Ñ\83дÑ\83ваÑ\9aа:",
+ "prefs-watchlist-edits": "Ð\9dаÑ\98веÑ\9cе пÑ\80икажани пÑ\80омени во набÑ\99Ñ\83дÑ\83ваÑ\9aаÑ\82а:",
"prefs-watchlist-edits-max": "Највеќе: 1000",
"prefs-watchlist-token": "Шифра на набљудувањата:",
"prefs-misc": "Други нагодувања",
"rcfilters-savedqueries-add-new-title": "Зачувај тековни филтерски поставки",
"rcfilters-restore-default-filters": "Поврати основни филтри",
"rcfilters-clear-all-filters": "Тргни ги сите филтри",
- "rcfilters-show-new-changes": "Прикажи нови промени",
+ "rcfilters-show-new-changes": "Погл. најнови промени",
"rcfilters-previous-changes-label": "Претходно прегледани промени",
"rcfilters-search-placeholder": "Филтрирај скорешни промени (прелстајте или почнете да пишувате)",
"rcfilters-invalid-filter": "Неважечки филтер",
"import-nonewrevisions": "Не увезов ниедна преработка (сите се веќе присутни или изоставени поради грешки)",
"xml-error-string": "$1 во ред $2, колона $3 (бајт $4): $5",
"import-upload": "Подигни XML податоци",
- "import-token-mismatch": "Загубени седничките податоци.\n\nМоже да сте биле одјавени. <strong>Проверете дали сè уште сте најавени и обидете се повторно</strong>.\nАко проблемот продолжи да се јавува, [[Special:UserLogout|одјавете се]] и повторно најавете се, и проверете дали прелистувачот дозволува колачиња од ова мрежно место.",
+ "import-token-mismatch": "Загубени седничките податоци.\n\nМоже да сте биле одјавени. '''Проверете дали сè уште сте најавени и обидете се повторно'''.\nАко проблемот продолжи да се јавува, [[Special:UserLogout|одјавете се]] и повторно најавете се, и проверете дали прелистувачот дозволува колачиња од ова мрежно место.",
"import-invalid-interwiki": "Не можам да увезам од наведеното вики.",
"import-error-edit": "Страницата „$1“ не е увезена бидејќи не ви е дозволено да ја уредувате.",
"import-error-create": "Страницата „$1“ не е увезена бидејќи не ви е дозволено да ја создадете.",
"compare-invalid-title": "Наведениот наслов е неважечки.",
"compare-title-not-exists": "Наведениот наслов не постои.",
"compare-revision-not-exists": "Наведената преработка не постои.",
+ "diff-form": "Разлики",
+ "diff-form-oldid": "Назнака на старата преработка (незадолж.)",
+ "diff-form-revid": "Назнака на преработката на разликата",
+ "diff-form-submit": "Прик. разлики",
+ "permanentlink": "Постојана врска",
+ "permanentlink-revid": "Назнака на преработката",
+ "permanentlink-submit": "Оди на преработката",
"dberr-problems": "Жалиме! Ова мрежно место се соочува со технички потешкотии.",
"dberr-again": "Почекајте неколку минути и обидете се повторно.",
"dberr-info": "(Не можам да пристапам кон базата: $1)",
"permissionserrorstext-withaction": "Du har ikke tillatelse til å $2 {{PLURAL:$1|fordi|av følgende grunner}}:",
"contentmodelediterror": "Du kan ikke redigere denne revisjonen fordi innholdsmodellen er <code>$1</code>, som avviker fra den nåværende innholdsmodellen til siden <code>$2</code>.",
"recreate-moveddeleted-warn": "Advarsel: Du er i ferd med å opprette en side som tidligere har blitt slettet.'''\n\nDu bør vurdere om det er passende å fortsette å redigere denne siden.\nSlette- og flytteloggen for denne siden gjengis her:",
- "moveddeleted-notice": "Denne siden har blitt slettet.\nSlette- og flytteloggen vises nedenfor.",
- "moveddeleted-notice-recent": "Beklager, denne siden er nylig blitt slettet (i løpet av de siste 24 timer)\nSlette- og flytteloggen for siden er angitt nedenfor for referanse.",
+ "moveddeleted-notice": "Denne siden har blitt slettet.\nSlette-, beskyttelses- og flytteloggen vises nedenfor.",
+ "moveddeleted-notice-recent": "Beklager, denne siden er nylig blitt slettet (i løpet av de siste 24 timer)\nSlette-, beskyttelses- og flytteloggen for siden er angitt nedenfor for referanse.",
"log-fulllog": "Vis hele loggen",
"edit-hook-aborted": "Redigering avbrutt av en funksjon, uten forklaring.",
"edit-gone-missing": "Kunne ikke oppdatere siden fordi den har blitt slettet.",
"compare-invalid-title": "Tittelen du oppga er ugyldig.",
"compare-title-not-exists": "Tittelen du oppga eksisterer ikke.",
"compare-revision-not-exists": "Versjonen du oppga eksisterer ikke.",
+ "diff-form": "Forskjeller",
+ "diff-form-oldid": "Gammel revisjons-ID (valgfritt)",
+ "diff-form-revid": "Revisjons-ID for diffen",
+ "diff-form-submit": "Vis forskjeller",
+ "permanentlink": "Permanent lenke",
+ "permanentlink-revid": "Revisjons-ID",
+ "permanentlink-submit": "Gå til revisjon",
"dberr-problems": "Siden har tekniske problemer.",
"dberr-again": "Prøv å oppdatere siden om noen minutter.",
"dberr-info": "(Kan ikke kontakte databasetjeneren: $1)",
"compare-invalid-title": "तपाईंले खुलाउनु भएको शिर्षक अमान्य छ।",
"compare-title-not-exists": "तपाईंले खुलाउनु भएको शिर्षक उपलब्ध छैन ।",
"compare-revision-not-exists": "तपाईंले खुलाउनु भएको संस्करण उपलब्ध छैन ।",
+ "diff-form": "एक '''फारम'''",
"dberr-problems": "क्षमा पाउँ! यो साइटमा तकनीकी गड़बड़ी आइपरेकोछ।",
"dberr-again": "केही समय पर्खिएर पुन: लोड हुन दिनुहोस् ।",
"dberr-info": "(डेटाबेस सर्भर: $1 सँग सम्पर्क स्थापित गर्न सकिएन)",
"compare-invalid-title": "De opgegeven pagina is ongeldig.",
"compare-title-not-exists": "De titel die u hebt opgegeven bestaat niet.",
"compare-revision-not-exists": "De versie die u hebt opgegeven bestaat niet.",
+ "diff-form": "Wijzigingen",
+ "diff-form-revid": "Versienummer van de wijziging",
+ "diff-form-submit": "Verschillen weergeven",
+ "permanentlink": "Permanente koppeling",
+ "permanentlink-revid": "Versienummer",
+ "permanentlink-submit": "Naar versie gaan",
"dberr-problems": "Onze excuses. Deze site ondervindt op het moment technische problemen.",
"dberr-again": "Wacht een aantal minuten en probeer het daarna opnieuw.",
"dberr-info": "(Kan geen toegang krijgen tot de database: $1)",
"rcfilters-filter-previousrevision-description": "Alle endringar som ikkje er den siste versjonen.",
"rcfilters-filter-excluded": "Utelate",
"rcfilters-exclude-button-off": "Utelat dei valde",
+ "rcfilters-view-advanced-filters-label": "Avanserte filter",
"rcfilters-view-tags": "Endringar med merke",
"rcfilters-view-namespaces-tooltip": "Filtrer resultat etter namnerom",
"rcfilters-view-tags-tooltip": "Filtrer resultat etter endringsmerke",
"compare-invalid-title": "Tittelen du oppgav er ugild.",
"compare-title-not-exists": "Tittelen du oppgav finst ikkje.",
"compare-revision-not-exists": "Versjonen du oppgav finst ikkje.",
+ "diff-form": "eit '''skjema'''",
"dberr-problems": "Nettstaden har tekniske problem.",
"dberr-again": "Venta nokre minutt og last sida inn på nytt.",
"dberr-info": "(Kan ikkje kontakta databasetenaren: $1)",
"permissionserrorstext-withaction": "Nie masz uprawnień do $2 z {{PLURAL:$1|następującego powodu|następujących powodów}}:",
"contentmodelediterror": "Nie możesz edytować tej wersji, ponieważ model jej zawartości (<code>$1</code>) różni się od obecnego modelu zawartości strony (<code>$2</code>).",
"recreate-moveddeleted-warn": "'''Uwaga! Zamierzasz utworzyć stronę, która została wcześniej usunięta.'''\n\nUpewnij się, czy ponowne utworzenie tej strony jest uzasadnione.\nPoniżej znajduje się rejestr usunięć i zmian nazwy tej strony:",
- "moveddeleted-notice": "Ta strona została usunięta.\nRejestr usunięć i zmian nazwy tej strony jest pokazany poniżej.",
- "moveddeleted-notice-recent": "Przepraszamy, ale ta strona została niedawno (w ciągu ostatnich 24 godzin) usunięta. Poniżej znajduje się rejestr usunięć i zmian nazwy tej strony.",
+ "moveddeleted-notice": "Ta strona została usunięta.\nRejestr usunięć, zabezpieczeń i zmian nazwy tej strony jest pokazany poniżej.",
+ "moveddeleted-notice-recent": "Przepraszamy, ale ta strona została niedawno (w ciągu ostatnich 24 godzin) usunięta. Poniżej znajduje się rejestr usunięć, zabezpieczeń i zmian nazwy tej strony.",
"log-fulllog": "Pokaż cały rejestr",
"edit-hook-aborted": "Edycja zatrzymana z powodu haka.\nWystąpił z nieokreślonej przyczyny.",
"edit-gone-missing": "Nie udało się zaktualizować strony.\nZdaje się, że została skasowana.",
"compare-invalid-title": "Tytuł jest nieprawidłowy.",
"compare-title-not-exists": "Podany tytuł nie istnieje.",
"compare-revision-not-exists": "Wybrana wersja nie istnieje.",
+ "diff-form": "Różnice",
+ "diff-form-oldid": "ID starej wersji",
+ "diff-form-revid": "ID wersji ze zmianą",
+ "diff-form-submit": "Pokaż różnice",
+ "permanentlink": "Link trwały do wersji",
+ "permanentlink-revid": "ID wersji",
+ "permanentlink-submit": "Przejdź do wersji",
"dberr-problems": "Przepraszamy! Witryna ma problemy techniczne.",
"dberr-again": "Spróbuj przeładować stronę za kilka minut.",
"dberr-info": "(Błąd łączności z bazą danych: $1)",
"permissionserrorstext-withaction": "Você não possui permissão para $2, {{PLURAL:$1|pelo seguinte motivo|pelos motivos a seguir}}:",
"contentmodelediterror": "Você não pode editar essa revisão pois seu modelo de conteúdo é <code>$1</code>, que difere do modelo de conteúdo atual da página <code>$2</code>.",
"recreate-moveddeleted-warn": "'''Atenção: Você está recriando uma página já eliminada em outra ocasião.'''\n\nConsidere se é realmente adequado continuar editando esta página.\nOs registros de eliminação e de movimentação desta página são exibidos a seguir, para sua comodidade:",
- "moveddeleted-notice": "Esta página foi eliminada.\nOs registros de eliminação e de movimentação para esta página estão disponibilizados abaixo, para referência.",
- "moveddeleted-notice-recent": "Desculpe, esta página foi eliminada recentemente (nos últimos 24 horas). A eliminação e se mover para a página de log são fornecidos abaixo para referência.",
+ "moveddeleted-notice": "Esta página foi eliminada.\nOs registros de eliminação, proteção e de movimentação para esta página estão disponibilizados abaixo, para referência.",
+ "moveddeleted-notice-recent": "Desculpe, esta página foi eliminada recentemente (nas últimas 24 horas). Os registros de eliminação, proteção e de movimentação para esta página estão disponibilizados abaixo, para referência.",
"log-fulllog": "Ver registro detalhado",
"edit-hook-aborted": "Edição abortada por ''hook''.\nEle não deu nenhuma explicação.",
"edit-gone-missing": "Não foi possível atualizar a página.\nEla parece ter sido eliminada.",
"compare-invalid-title": "O título que você especificou é inválido.",
"compare-title-not-exists": "O título que você especificou não existe.",
"compare-revision-not-exists": "A revisão que você especificou não existe.",
+ "diff-form": "um '''formulário'''",
"dberr-problems": "Desculpe! Este sítio está passando por dificuldades técnicas.",
"dberr-again": "Experimente esperar alguns minutos e atualizar.",
"dberr-info": "(Não pode acessar a base de dados: $1)",
"permissionserrorstext-withaction": "Não possui permissão para $2, {{PLURAL:$1|pelo seguinte motivo|pelos seguintes motivos}}:",
"contentmodelediterror": "Não pode editar esta revisão porque o modelo de conteúdo é <code>$1</code>, que é diferente do modelo atual da página <code>$2</code>.",
"recreate-moveddeleted-warn": "<strong>Aviso: Está a recriar uma página anteriormente eliminada.</strong>\n\nVerifique se é apropriado continuar a editar esta página.\nPara sua conveniência, é apresentado abaixo o registo de eliminação e movimentação da página:",
- "moveddeleted-notice": "Esta página foi eliminada.\nPara sua referência, é apresentado abaixo o registo de eliminação e movimentação da página.",
- "moveddeleted-notice-recent": "Desculpe, esta página foi eliminada recentemente (nas últimas 24 horas).\nA exclusão e registo de movimentação para a página são fornecidos abaixo para referência.",
+ "moveddeleted-notice": "Esta página foi eliminada.\nPara sua referência, é apresentado abaixo o registo de eliminação, proteção e movimentação da página.",
+ "moveddeleted-notice-recent": "Desculpe, esta página foi eliminada recentemente (nas últimas 24 horas).\nPara sua referência é apresentado abaixo o registo de eliminação, proteção e movimentação da página.",
"log-fulllog": "Ver registo detalhado",
"edit-hook-aborted": "A edição foi abortada por um hook.\nNão foi dada nenhuma explicação.",
"edit-gone-missing": "Não foi possível atualizar a página.\nEla parece ter sido eliminada.",
"prefs-editwatchlist-clear": "Limpar lista de páginas vigiadas",
"prefs-watchlist-days": "Dias a mostrar nas mudanças às páginas vigiadas:",
"prefs-watchlist-days-max": "Máximo: $1 {{PLURAL:$1|dia|dias}}",
- "prefs-watchlist-edits": "Número de edições a mostrar na listagem expandida:",
+ "prefs-watchlist-edits": "Número máximo de edições a mostrar na lista de vigiadas:",
"prefs-watchlist-edits-max": "Máximo: 1000",
"prefs-watchlist-token": "Chave secreta da lista de páginas vigiadas:",
"prefs-misc": "Diversos",
"compare-invalid-title": "O título que especificou é inválido.",
"compare-title-not-exists": "O título que especificou não existe.",
"compare-revision-not-exists": "A revisão que especificou não existe.",
+ "diff-form": "Diferenças",
+ "diff-form-oldid": "Identificador de revisão antigo (opcional)",
+ "diff-form-revid": "Identificador de revisão da diferença",
+ "diff-form-submit": "Mostrar diferenças",
+ "permanentlink": "Link permanente",
+ "permanentlink-revid": "Identificador de revisão",
+ "permanentlink-submit": "Ir para a revisão",
"dberr-problems": "Desculpe! Este site está com dificuldades técnicas.",
"dberr-again": "Experimente esperar alguns minutos e atualizar.",
"dberr-info": "(Não foi possível aceder ao servidor da base de dados: $1)",
"compare-invalid-title": "Used as error message in [[Special:ComparePages]].",
"compare-title-not-exists": "Used as error message in [[Special:ComparePages]].",
"compare-revision-not-exists": "Used as error message in [[Special:ComparePages]].",
+ "diff-form": "The title of [[Special:Diff]]",
+ "diff-form-oldid": "Label for the field of the old revision in the comparison for [[Special:Diff]]",
+ "diff-form-revid": "Label for the field of the new revision in the comparison for [[Special:Diff]]",
+ "diff-form-submit": "Submit button on [[Special:Diff]]",
+ "diff-form-summary": "{{doc-specialpagesummary|diff}}",
+ "permanentlink": "The title of [[Special:PermanentLink]]",
+ "permanentlink-revid": "Label for the field for the revision ID in [[Special:PermanentLink]]",
+ "permanentlink-submit": "Submit button on [[Special:PermanentLink]]",
+ "permanentlink-summary": "{{doc-specialpagesummary|permanentlink}}",
"dberr-problems": "This message does not allow any wiki nor html markup.",
"dberr-again": "This message does not allow any wiki nor html markup.",
"dberr-info": "This message does not allow any wiki nor html markup. Parameters:\n* $1 - database server name\nSee also:\n* {{msg-mw|Dberr-info-hidden}} - hides database server name",
"underline-always": "ⵍⴱⴷⴰ",
"sunday": "ⴰⵙⴰⵎⴰⵙ",
"monday": "ⴰⵢⵏⴰⵙ",
- "tuesday": "Asinas (Ettřata)",
+ "tuesday": "ⴰⵙⵉⵏⴰⵙ",
"wednesday": "Akṛas (Řarbeɛ)",
"thursday": "ⴰⴽⵡⴰⵙ",
"friday": "ⴰⵙⵉⵎⵡⴰⵙ",
"november-date": "$1 ⵏⵓⵡⴰⵏⴱⵉⵔ",
"december-date": "$1 ⴷⵓⵊⴰⵏⴱⵉⵔ",
"pagecategories": "{{PLURAL:$1|ⴰⵙⵎⵉⵍ|ⵉⵙⵎⵉⵍⵏ}}",
- "category_header": "âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f â´³ ⵜⴰⴳⴳⴰⵢⵜ \"$1\"",
+ "category_header": "âµ\9câ´°âµ\99âµ\8fâµ\89ⵡâµ\89âµ\8f â´·âµ\89 ⵜⴰⴳⴳⴰⵢⵜ \"$1\"",
"subcategories": "ⵉⴷⵓⵙⵎⵉⵍⵏ",
"category-media-header": "Media di category \"$1\"",
"category-empty": "''Taggayt a war dags bu ca n Tasna niɣ ca n umedia.''",
"mypage": "ⵜⴰⵙⵏⴰ",
"mytalk": "ⴰⵎⵙⴰⵡⴰⵍ",
"anontalk": "ⴰⵎⵙⴰⵡⴰⵍ",
- "navigation": "Tagriwa",
+ "navigation": "ⴰⵙⵜⴰⵔⴰ",
"and": " ⴷ",
"actions": "ⵜⵉⴳⴰⵡⵉⵏ",
"errorpagetitle": "ⵜⴰⵣⴳⵍⵜ",
"returnto": "Dwl ghar $1.",
- "tagline": "Zi {{SITENAME}}",
+ "tagline": "ⵣⵉ {{SITENAME}}",
"help": "ⵜⵉⵡⵉⵙⵉ",
"search": "ⵔⵣⵓ",
"searchbutton": "ⵔⵣⵓ",
"printableversion": "Tanghelt n usiggez",
"permalink": "Tamghunt iqqimen",
"edit": "ⵙⵏⴼⵍ",
- "create": "Egg",
+ "create": "ⵙⵏⵓⵍⴼⵓ",
"delete": "ⴽⴽⵙ",
"protect": "Mstn",
"protect_change": "ⵙⵏⴼⵍ",
"talkpagelinktext": "ⴰⵎⵙⴰⵡⴰⵍ",
"personaltools": "Imassen inu",
"talk": "ⴰⵎⵙⴰⵡⴰⵍ",
- "views": "Timmeẓṛa",
+ "views": "ⵜⴰⵏⵏⴰⵢⵉⵏ",
"toolbox": "ⵉⵎⴰⵙⵙⵏ",
- "otherlanguages": "S tutlayin nneḍni",
+ "otherlanguages": "ⵙ ⵜⵓⵜⵍⴰⵢⵉⵏ ⵏⵏⵉⴹⵏ",
"redirectedfrom": "(Itwasnnmd-d zi $1)",
"redirectpagesub": "Tasna n (Redirect)",
"jumpto": "Nḍu ghar:",
- "jumptonavigation": "tagriwa",
+ "jumptonavigation": "ⴰⵙⵜⴰⵔⴰ",
"jumptosearch": "ⵔⵣⵓ",
"aboutsite": "ⵅⴼ {{SITENAME}}",
"aboutpage": "Project:ⵅⴼ",
"group-bot": "ⵉⵔⵓⴱⵓⵜⵏ",
"group-sysop": "Indbaln",
"group-all": "(ⵎⴰⵔⵔⴰ)",
+ "grouppage-bot": "{{ns:project}}:ⵉⵔⵓⴱⵓⵜⵏ",
"grouppage-sysop": "{{ns:project}}:inedbalen",
"right-read": "ⵖⵔ ⵜⴰⵙⵏⵉⵡⵉⵏ",
"right-edit": "ⵙⵏⴼⵍ ⵜⴰⵙⵏⵉⵡⵉⵏ",
"enhancedrc-history": "ⴰⵎⵣⵔⵓⵢ",
"recentchanges": "ⵉⵙⵏⴼⵉⵍⵏ ⵉⵏⴳⴳⵓⵔⴰ",
"recentchanges-feed-description": "Bbar tiẓṛigin timayutin n wiki deg usudem(feed) a .",
+ "recentchanges-label-newpage": "ⵉⵙⵏⵓⵍⴼⴰ ⵓⵙⵏⴼⵍ ⴰ ⵉⵛⵜ ⵏ ⵜⴰⵙⵏⴰ ⵜⴰⵎⴰⵢⵏⵓⵜ",
"recentchanges-label-minor": "ⵡⴰ ⴷ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ",
"recentchanges-label-bot": "ⴰⵙⵏⴼⵍ ⴰ ⵉⴳⴳⴰ ⵜ ⵉⵊⵊ ⵏ ⵓⵔⵓⴱⵓ",
"rcfilters-savedqueries-new-name-label": "ⵉⵙⵎ",
"rclinks": "Ẓar $1 tiẓṛigin tinggura di $2 n ussan inggura",
"diff": "ⴰⵎⵣⴰⵔⴰⵢ",
"hist": "ⴰⵎⵣⵔⵓⵢ",
- "hide": "Snuffar",
+ "hide": "ⵙⵏⵓⴼⴼⵔ",
"show": "semmel-d",
"minoreditletter": "ⵎⵥⵢ",
"newpageletter": "ⵎⵢⵏ",
"download": "ⴰⴳⵎ",
"listredirects": "Ẓar (redirects)",
"unusedtemplates": "Timudmiwin war twasexedment",
- "randompage": "Tasna mamec ma tella",
+ "randompage": "ⵜⴰⵙⵏⴰ ⵜⴰⴷⵀⵎⴰⵙⵜ",
"randomincategory-category": "ⴰⵙⵎⵉⵍ:",
"randomincategory-submit": "Raḥ ɣa",
"randomredirect": "(redirect) zi ṭṭarf",
- "statistics": "tisiḍanin",
+ "statistics": "ⵉⵙⵉⴹⵏⴻⵏ",
"statistics-articles": "ⵜⴰⵙⵏⵉⵡⵉⵏ ⵏ ⵜⵓⵎⴰⵢⵜ",
"statistics-pages": "ⵜⴰⵙⵏⵉⵡⵉⵏ",
"doubleredirects": "(redirects) ɛɛawdent",
"sp-contributions-newbies-sub": "i imiḍan imaynuten",
"sp-contributions-blocklog": "sbdd tabdart n talghut",
"sp-contributions-talk": "ⵎⵙⴰⵡⵍ",
- "sp-contributions-search": "Arzu x tiggawin",
+ "sp-contributions-search": "ⵔⵣⵓ ⵅ ⵜⵓⵎⵓⵜⵉⵏ",
"sp-contributions-username": "Tansa IP d isem useqdac:",
"sp-contributions-submit": "ⵔⵣⵓ",
"whatlinkshere": "ⵎⵉⵏ ⵉⵇⵇⵏⴻⵏ ⵖⵔ ⴷⴰ",
"whatlinkshere-hidelinks": "$1 timqqan",
"blockip": "Sbdd asqdac a",
"ipbreason": "ⵜⴰⵎⵏⵜⵉⵍⵜ:",
- "ipboptions": "2 âµ\9câµ\99âµ\94â´°â´³âµ\89âµ\8f:2 hours,1 ⵡⴰâµ\99âµ\99:1 day,3 ⵡâµ\93âµ\99âµ\99â´°âµ\8f:3 days,1 âµ\89âµ\8eâ´°âµ\8dâ´°âµ\99âµ\99:1 week,2 âµ\89âµ\8eâ´°âµ\8dâ´°âµ\99âµ\99âµ\8f:2 weeks,1 ⵡⴰⵢⵢâµ\93âµ\93âµ\94:1 month,3 ⵡⴰⵢⵢâµ\93âµ\94âµ\8f:3 months,6 ⵡⴰⵢⵢâµ\93âµ\94âµ\8f:6 months,1 âµ\93âµ\99ⴳⴳⵯⴰâµ\99:1 year,âµ\8dⴱⴷⴰ:infinite",
+ "ipboptions": "2 ⵜⵙⵔⴰⴳⵉⵏ:2 hours,1 ⵡⴰⵙⵙ:1 day,3 ⵡⵓⵙⵙⴰⵏ:3 days,1 ⵉⵎⴰⵍⴰⵙⵙ:1 week,2 ⵉⵎⴰⵍⴰⵙⵙⵏ:2 weeks,1 ⵡⴰⵢⵢⵓⵔ:1 month,3 ⵡⴰⵢⵢⵓⵔⵏ:3 months,6 ⵡⴰⵢⵢⵓⵔⵏ:6 months,1 ⵓⵙⴳⴳⵯⴰⵙ:1 year,ⵍⴱⴷⴰ:infinite",
"autoblocklist-submit": "ⵔⵣⵓ",
"ipblocklist": "Tabdart n tansiwin IP d isemawen n iseqdacen ig iteblukan",
"blocklist-reason": "ⵜⴰⵎⵏⵜⵉⵍⵜ",
"tooltip-ca-unwatch": "Kkes Tasna ya zi Tabdart uḥṭṭu inec",
"tooltip-search": "ⵔⵣⵓ ⴳ {{SITENAME}}",
"tooltip-search-go": "Uyur ghar tasna s yizwel a s imant nnes malla tella",
- "tooltip-search-fulltext": "Rzu di tasniwin xef waḍṛis a",
+ "tooltip-search-fulltext": "ⵔⵣⵓ ⴷⵉ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵅⴼ ⵓⴹⵔⵉⵙ ⴰ",
"tooltip-p-logo": "Tasbtirt Tamzwarut",
"tooltip-n-mainpage": "Adef ɣar tasna tamezwarut",
"tooltip-n-mainpage-description": "Adef ghar tasna tamezwarut",
"tooltip-n-portal": "Xef usenfar, mayen tzemmared ad tegged, mani ɣa tafed tiɣawsiwin",
"tooltip-n-currentevents": "Af tilgha n ugilal xf tmsarin titurawin",
- "tooltip-n-recentchanges": "Tabdart n isenfilen imaynuten di Wiki.",
+ "tooltip-n-recentchanges": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵙⵏⴼⵉⵍⵏ ⵉⵏⴳⴳⵓⵔⴰ ⴷⴳ ⵓⵡⵉⴽⵉ",
"tooltip-n-randompage": "Zdem ict tasna d tagacurant",
"tooltip-n-help": "Mani gha tessned",
"tooltip-t-whatlinkshere": "Tabdart n marra tasniwin n Wiki i d-iteqqnen da",
- "tooltip-t-recentchangeslinked": "Isenfilen n drus zggwami di tasniwin i yetwaqqnen zi tasna ya",
+ "tooltip-t-recentchangeslinked": "ⵉⵙⵏⴼⵉⵍⵏ ⵉⵏⴳⴳⵓⵔⴰ ⴷⵉ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵇⵇⵏⴻⵏ ⵣⵉ ⵜⴰⵙⵏⴰ ⴰ",
"tooltip-t-contributions": "Ẓar Tabdart n tiggawin n useqdac a",
"tooltip-t-emailuser": "Sekk e-mail i bnadem a",
"tooltip-t-upload": "ⵙⴽⵜⵔ ⵉⴼⴰⵢⵍⵓⵜⵏ",
- "tooltip-t-specialpages": "Tabdart n marra tasniwin tinemmezrayin",
+ "tooltip-t-specialpages": "ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵎⴰⵔⵔⴰ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵉⵥⵍⵉⵏ",
"tooltip-t-print": "Tanghelt usiggez n tasna ya",
"tooltip-ca-nstab-main": "Ẓeṛ tasna n ukettur",
"tooltip-ca-nstab-user": "Ẓar Tasna n user",
"tooltip-ca-nstab-template": "Ẓṛ tamudmt",
"tooltip-ca-nstab-help": "Ẓar Tasna n tallalt",
"tooltip-ca-nstab-category": "Ẓṛ tasna n taggayt",
- "tooltip-minoredit": "egg-itt d taẓṛigt tamẓyant",
+ "tooltip-minoredit": "ⴳⴳ ⵉⵜ ⴷ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ",
"tooltip-save": "Xmml isnfiln nnk",
"tooltip-preview": "Ẓṛ mayn turid, zzat i t gha txmmld!",
"tooltip-diff": "Ẓar tiẓṛigin i teggid deg uḍṛiṣ a.",
"tooltip-compareselectedversions": "Ẓar imsebeḍiyen jar tunɣilin n Tasna ya.",
"tooltip-watch": "Arni Tasna ya ɣa Tabdart uḥṭṭu inec",
+ "pageinfo-header-edits": "ⴰⵎⵣⵔⵓⵢ ⵏ ⵓⵙⵏⴼⵍ",
"pageinfo-language": "ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵜⵓⵎⴰⵢⵜ ⵏ ⵜⴰⵙⵏⴰ",
"pageinfo-contentpage-yes": "ⵢⴰⵀ",
"pageinfo-protect-cascading-yes": "ⵢⴰⵀ",
"compare-invalid-title": "Titlul specificat nu este corect.",
"compare-title-not-exists": "Titlul specificat nu există.",
"compare-revision-not-exists": "Versiunea specificată nu există.",
+ "diff-form": "un '''formular'''",
"dberr-problems": "Ne cerem scuze! Acest site întâmpină dificultăți tehnice.",
"dberr-again": "Așteptați câteva minute și încercați din nou.",
"dberr-info": "(Nu se poate accesa baza de date: $1)",
"authprovider-resetpass-skip-label": "Omite",
"linkaccounts-submit": "Leagă conturile",
"unlinkaccounts": "Dezleagă conturile",
- "unlinkaccounts-success": "Contul a fost dezlegat"
+ "unlinkaccounts-success": "Contul a fost dezlegat",
+ "userjsispublic": "Atenție: subpaginile JavaScript nu trebuie să conțină date confidențiale, întrucât ele sunt vizibile altor utilizatori."
}
"compare-invalid-title": "'U titele ca è specificate jè invalide.",
"compare-title-not-exists": "'U titele ca è specificate non g'esiste.",
"compare-revision-not-exists": "'A revisione ca è specificate non g'esiste.",
+ "diff-form": "'nu '''form'''",
"dberr-problems": "Sime spiacende! Stu site stè 'ngondre de le difficoltà tecniche.",
"dberr-again": "Aspitte quacche minute e pò recareche.",
"dberr-info": "(Non ge riuscime a trasè sus a'u server d'u database: $1)",
"compare-invalid-title": "Указанное вами название недопустимо.",
"compare-title-not-exists": "Не существует указанного вами названия.",
"compare-revision-not-exists": "Указанной вами версии не существует.",
+ "diff-form": "Различия",
+ "diff-form-oldid": "Старый идентификатор версии (необязательно)",
+ "diff-form-submit": "Показать отличия",
+ "permanentlink": "Постоянная ссылка",
+ "permanentlink-revid": "Идентификатор правки",
+ "permanentlink-submit": "Перейти к версии",
"dberr-problems": "Извините! На данном сайте возникли технические трудности.",
"dberr-again": "Попробуйте обновить страницу через несколько минут.",
"dberr-info": "(Нет доступа к базе данных: $1)",
"tog-hideminor": "सद्योजातानां परिवर्तनानां लघूनि सम्पादनानि गोप्यन्ताम्",
"tog-hidepatrolled": "सद्योजातानां परिवर्तनानां परिशीलितानि सम्पादनानि गोप्यन्ताम्",
"tog-newpageshidepatrolled": "नूतनपृष्ठानाम् आवलेः परिशीलितानि पृष्ठानि गोप्यन्त्ताम्",
+ "tog-hidecategorization": "पृष्ठानां श्रेणीविभाजनं न दर्श्यताम् ।",
"tog-extendwatchlist": "न केवलं सद्योजातानि अपि तु निरीक्षासूचेः सर्वाणि परिवर्तनानि दृश्यन्ताम्",
"tog-usenewrc": "सद्यः परिवर्तनावल्यां, निरीक्षासूचौ च पृष्ठानि विभागानुसारं प्रदर्श्यन्ताम् (जावा-लिपिः अपेक्ष्यते)",
"tog-numberheadings": "शीर्षकाणि स्वयमेव यथाक्रमं करोतु",
"tog-watchdefault": "मया सम्पादितानि पृष्ठानि मम निरीक्षासूचौ योज्यन्ताम्।",
"tog-watchmoves": "मया चालितानि पृष्ठानि मम निरीक्षासूचौ योज्यन्ताम्।",
"tog-watchdeletion": "मया अपाकृतानि पृष्ठानि मम निरीक्षासूचौ योज्यन्ताम्।",
+ "tog-watchuploads": "मया आरोपिताः नूतनसञ्चिकाः मम निरीक्षासूच्यां योजनीयाः ।",
"tog-watchrollback": "मया प्रत्यापन्नानि (rollback) पृष्ठानि मम निरीक्षासूचौ योज्यताम् ।",
"tog-minordefault": "मम सर्वाणि सम्पादनानि लघुत्वेन प्रदर्श्यन्ताम् ।",
"tog-previewontop": "सम्पादनात् पूर्वं प्राग्दृश्यं दर्श्यताम् ।",
"anontalk": "सम्भाषणम्",
"navigation": "सञ्चरणम्",
"and": " तथा च",
- "qbfind": "अन्विष्यताम्",
- "qbbrowse": "अन्विष्यताम्",
- "qbedit": "सम्पाद्यताम्",
- "qbpageoptions": "इदं पृष्ठम्",
- "qbmyoptions": "मम पृष्ठानि",
"faq": "सामान्यजिज्ञासाः (FAQ)",
- "faqpage": "Project:सामान्यजिज्ञासाः(FAQ)",
"actions": "क्रियाः",
"namespaces": "नामाकाशाः",
"variants": "पाठभेदाः",
"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": "फलकपृष्ठं दृश्यताम्",
"fileduplicatesearch-noresults": "\"$1\" इति नाम्ना सञ्चिका न दृष्टा ।",
"specialpages": "विशिष्टपृष्ठानि",
"specialpages-note-top": "तालिका",
- "specialpages-note": "* विशिष्टपृष्ठानि । \n* <span class=\"mw-specialpagerestricted\"> प्रतिबन्धितानि विशिष्टपृष्ठानि ।</span>",
"specialpages-group-maintenance": "निर्वहणवृत्तानि ।",
"specialpages-group-other": "अन्यविशेषपुटानि ।",
"specialpages-group-login": "प्रविश्यताम् / लेखा सृज्यताम्",
"watchthis": "ⴹⴼⵓⵔ ⵜⴰⵙⵏⴰ ⴰⴷ",
"savearticle": "Ẓṛig d tḥbut",
"preview": "Iẓṛi amzwaru",
- "showpreview": "Iẓṛi amzwaru",
- "showdiff": "Mel imbddln lli ifttun",
+ "showpreview": "ⵎⵍ ⵜⴰⵎⵓⵖⵍⵉ",
+ "showdiff": "ⵎⵍ ⵉⵙⵏⴼⵉⵍⵏ",
"anoneditwarning": "Han ''' ur ttuyssant ''' rad ibayn IP nk ɣ umzrut n tasna yad, ur sul iḥba tamagit nk",
"anonpreviewwarning": "ur ittuyssan mat tgit. Iɣ tgdl tawuri nk, tansa nk IP rad tbayn ɣ umzruy n imbdln n tasna yad.",
"missingsummary": "'''Adakt nskti :''' ur ta tfit awal imun n imbddln nk.\nIɣ tklikkit tiklit yaḍn f tjrrayt « $1 », aẓṛig rad ittuyskar blla tsnt",
"nextn": "Tallid yuckan {{PLURAL:$1|$1}}",
"prevn-title": "$1 {{PLURAL:$1|Askfa amzaru|Iskfatn imzwura}}",
"nextn-title": "$1 {{PLURAL:$1|ⵜⵢⴰⴼⵓⵜ ⵜⵓⴹⴼⵉⵔⵜ|ⵜⵢⴰⴼⵓⵜⵉⵏ ⵜⵓⴹⴼⵉⵔⵉⵏ}}",
- "shown-title": "Fsr $1 tayafut{{PLURAL:$1||s}} s tasna",
+ "shown-title": "ⵎⵍ $1 {{PLURAL:$1|ⵜⵢⴰⴼⵓⵜ|ⵜⵢⴰⴼⵓⵜⵉⵏ}} ⵉ ⵜⴰⵙⵏⴰ",
"viewprevnext": "Mel ($1 {{int:pipe-separator}} $2) ($3)",
"searchmenu-exists": "\"'Tlla yat tasna lli ilan assaɣ « [[:$1]] » ɣ wiki yad",
"searchmenu-new": "<strong>ⵙⵏⵓⵍⴼⵓ ⵜⴰⵙⵏⴰ \"[[:$1]]\" ⴳ ⵓⵡⵉⴽⵉ ⴰⴷ!</strong> {{PLURAL:$2|0=|See also the page found with your search.|See also the search results found.}}",
"rcfilters-savedqueries-new-name-label": "ⵉⵙⵎ",
"rcfilters-filterlist-whatsthis": "ⵎⴰⵜⵜⴰ ⵓⵢⴰ?",
"rcfilters-filter-bots-label": "ⴱⵓⵜ",
- "rcnotefrom": "Had imbddln lli ittuyskarn z '''$2''' ('''$1''' ɣ uggar).",
- "rclistfrom": "Mel imbdeltn imaynutn z $3 $2",
+ "rcnotefrom": "ⴷⴷⴰⵡ ⴰⵙ {{PLURAL:$5|ⴰⵙⵏⴼⵍ|ⵉⵙⵏⴼⵉⵍⵏ}} ⵣⵖ <strong>$3, $4</strong> (ⴰⵔ <strong>$1</strong> ⴰⴷ ⵉⴱⴰⵢⵏⴻⵏ ⵙ ⵉⴳⴳⵓⵜ).",
+ "rclistfrom": "ⵎⵍ ⵉⵙⵏⴼⵉⵍⵏ ⵉⵎⴰⵢⵏⵓⵜⵏ ⵣⵖ $3 ⵖ $2",
"rcshowhideminor": "$1 ⵉⵙⵏⴼⵉⵍⵏ ⵓⵎⵥⵉⵢⵏ",
"rcshowhideminor-hide": "ⵙⵙⵏⵜⵍ",
"rcshowhidebots": "$1 ⵉⵔⵓⴱⵓⵜⵏ",
+ "rcshowhidebots-show": "ⵎⵍ",
"rcshowhidebots-hide": "ⵙⵙⵏⵜⵍ",
"rcshowhideliu": "$1 ⵉⵙⵎⵔⴰⵙⵏ ⵣⵎⵎⴻⵎⵏⵉⵏ",
+ "rcshowhideliu-show": "ⵎⵍ",
"rcshowhideliu-hide": "ⵙⵙⵏⵜⵍ",
"rcshowhideanons": "$1 midn ur ttuyssan nin",
+ "rcshowhideanons-show": "ⵎⵍ",
"rcshowhideanons-hide": "ⵙⵙⵏⵜⵍ",
"rcshowhidepatr": "$1 ⵉⵙⵏⴼⵉⵍⵏ ⵜⵜⵡⴰⵃⴹⴰⵏⵉⵏ",
"rcshowhidepatr-hide": "ⵙⵙⵏⵜⵍ",
"rcshowhidemine": "$1 ⵉⵙⵏⴼⵉⵍⵏ ⵉⵏⵓ",
+ "rcshowhidemine-show": "ⵎⵍ",
"rcshowhidemine-hide": "ⵙⵙⵏⵜⵍ",
"rcshowhidecategorization-hide": "ⵙⵙⵏⵜⵍ",
"rclinks": "Ml id $1 n imbddltn immgura li ittuyskarn n id $2 ussan ad gguranin",
"diff": "ⴰⵎⵣⴰⵔⴰⵢ",
"hist": "ⴰⵎⵣⵔⵓⵢ",
"hide": "ⵙⵙⵏⵜⵍ",
- "show": "Mel",
+ "show": "ⵎⵍ",
"minoreditletter": "ⵎⵥⵢ",
"newpageletter": "ⵎⵢⵏ",
"boteditletter": "ⴱ",
"recentchangeslinked-title": "ⵉⵙⵏⴼⵉⵍⵏ ⵇⵇⵏⵏⵉⵏ ⵙ \"$1\"",
"recentchangeslinked-summary": "Ɣid umuɣ iymbddeln li ittyskarnin tigira yad ɣ tisniwin li ittuyzdayn d kra n tasna (ulla i igmamn n kra taggayt ittuyzlayn). Tisniwin ɣ [[Special:Watchlist|Umuɣ n tisniwin li ttsaggat]].",
"recentchangeslinked-page": "ⵉⵙⵎ ⵏ ⵜⴰⵙⵏⴰ:",
- "recentchangeslinked-to": "Afficher les changements vers les pages liées au lieu de la page donnée\nMel imbddeln z tisniwin li ittuyzdayni bla tasna li trit.",
+ "recentchangeslinked-to": "ⵎⵍ ⵉⵙⵏⴼⵉⵍⵏ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ ⵇⵇⵏⵏⵉⵏ ⵙ ⵜⴰⵙⵏⴰ instead",
"upload": "ⵙⴽⵜⵔ ⴽⵔⴰ ⵏ ⵓⴼⴰⵢⵍⵓ",
"uploadbtn": "ⵙⴽⵜⵔ ⴰⴼⴰⵢⵍⵓ",
"reuploaddesc": "Sbidd asrbu d turrit",
"listfiles-latestversion-no": "ⵓⵀⵓ",
"file-anchor-link": "ⴰⴼⴰⵢⵍⵓ",
"filehist": "ⴰⵎⵣⵔⵓⵢ ⵏ ⵓⴼⴰⵢⵍⵓ",
- "filehist-help": "Adr i asakud/tizi bac attżrt manik as izwar usddaw ɣ tizi yad",
+ "filehist-help": "ⴽⵍⵉⴽⵉ ⴼ ⴽⵔⴰ ⵏ ⵓⵙⴰⴽⵓⴷ/ⴰⴽⵓⴷ ⴰⴷ ⵜⵥⵔⵜ ⴰⴼⴰⵢⵍⵓ ⵎⴽⵍⵍⵉ ⵜⵜ ⵉⵏⵏ ⵉⴽⴽⴰ ⵖ ⵜⵉⵣⵉ ⴰⵏⵏ.",
"filehist-deleteone": "ⴽⴽⵙ",
"filehist-revert": "Sgadda daɣ",
"filehist-current": "ⴰⵎⵉⵔⴰⵏ",
"linkstoimage": "Tasna yad {{PLURAL:$1|izdayn n tasna|$1 azday n tasniwin}} s usdaw:",
"nolinkstoimage": "Ḥtta kra n tasna ur tra asdaw ad",
"sharedupload": "Asdawad z $1 tẓḍart at tsxdmt gr iswirn yaḍnin",
- "sharedupload-desc-here": "â´°âµ\99ⴷⴰⵡ â´°â´· âµ\89ⴽⴽⴰⴷ âµ£ : $1. âµ\9cⵥⴹⴰâµ\94âµ\9c â´°âµ\99âµ\99âµ\89 âµ\9câµ\99ⵡⵡâµ\93âµ\94 âµ\96 âµ\9câµ\89ⵡâµ\93âµ\94âµ\89ⵡâµ\89âµ\8f âµ\9câ´°â´¹âµ\8f.\nâµ\93ⴳⴳⴰâµ\94 â´¼âµ\8dâµ\8dâ´°âµ\99 âµ\8dâµ\8dâ´°âµ\8f âµ\96 [$2 âµ\9câ´°âµ\99âµ\8fâ´° âµ\8f âµ\89âµ\8eâµ\8dâµ\93ⵣⵣâµ\93âµ\9câµ\8f] âµ\8dâµ\8dâµ\89 âµ\89âµ\8dâµ\8dâ´°âµ\8f âµ\96âµ\89â´·.",
+ "sharedupload-desc-here": "ⴰⴼⴰⵢâµ\8dâµ\93 â´°â´· âµ\89ⴽⴽⴰ â´· $1 â´· âµ\89ⵥⴹⴰâµ\94 â´°â´· âµ¢âµ\89âµ\8dâµ\89 âµ\89âµ\9câµ\9cⵢⴰⵡâµ\99âµ\85â´·â´°âµ\8e âµ\96 âµ\89âµ\99âµ\8fⴼⴰâµ\94âµ\8f ⵢⴰⴹâµ\8f.\nâ´°â´³âµ\8dâ´°âµ\8e âµ\89âµ\8dâµ\8dâ´°âµ\8f âµ\96 [$2 âµ\9câ´°âµ\99âµ\8fâ´° âµ\8fâµ\8fâµ\99 âµ\8f âµ\93â´³âµ\8dâ´°âµ\8e] âµ\80â´° âµ\9c ⴷⴷⴰⵡ â´°âµ\99.",
"uploadnewversion-linktext": "ⵙⴽⵜⵔ ⴽⵔⴰ ⵏ ⵜⵓⵏⵖⵉⵍⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ ⵏ ⵓⴼⴰⵢⵍⵓ ⴰⴷ",
"filedelete": "ⴽⴽⵙ $1",
"filedelete-legend": "ⴽⴽⵙ ⴰⴼⴰⵢⵍⵓ",
"watchthispage": "ⴹⴼⵓⵔ ⵜⴰⵙⵏⴰ ⴰⴷ",
"unwatch": "ⵙⴱⴷⴷ ⴰⴹⴼⴼⵓⵔ",
"watchlist-details": "{{PLURAL:$1|$1 ⵜⴰⵙⵏⴰ|$1 ⵜⴰⵙⵏⵉⵡⵉⵏ}} ⴳ ⵜⵍⴳⴰⵎⵜ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}} ⵏ ⵓⴹⴼⴼⵓⵔ, not separately counting talk pages.",
- "wlshowlast": "Ml ikudan imggura $1 , ussan imggura $2 niɣd",
+ "wlshowlast": "ⵎⵍ $1 ⵜⵙⵔⴰⴳⵉⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ, $2 ⵡⵓⵙⵙⴰⵏ ⴳⴳⵯⵔⴰⵏⵉⵏ",
"watchlist-hide": "ⵙⵙⵏⵜⵍ",
"wlshowhidebots": "ⵉⴷ ⴱⵓⵜ",
"watchlist-options": "ⵜⵉⵙⵖⴰⵍ ⵏ ⵜⵍⴳⴰⵎⵜ ⵏ ⵓⴹⴼⴼⵓⵔ",
"uctop": "(ⵜⴰⵎⵉⵔⴰⵏⵜ)",
"month": "Z usggas (d urbur):",
"year": "Z usggas (d urbur):",
- "sp-contributions-newbies": "Ad ur tmlt abla tiwuriwin n wiyyaḍ",
+ "sp-contributions-newbies": "ⵎⵍ ⵖⴰⵔ ⵜⵓⵎⵓⵜⵉⵏ ⵏ ⵉⵎⵉⴹⴰⵏⴻⵏ ⵉⵎⴰⵢⵏⵓⵜⵏ",
"sp-contributions-newbies-sub": "Z imiḍan (comptes) imaynutn",
"sp-contributions-newbies-title": "Tiwuriwin n umqdac z imḍan imaynutn",
"sp-contributions-blocklog": "Tinɣmas n willi ttuyqqanin (blocage)",
"sp-contributions-blocked-notice-anon": "Tansa yad IP ttuysbddad. Maf ittuysbddad illa ɣ uɣmmis n n willi n sbid. Mayad ɣ trit ad tsnt maɣ",
"sp-contributions-search": "ⵙⵉⴳⴳⵍ ⵜⵓⵎⵓⵜⵉⵏ",
"sp-contributions-username": "Tansa IP niɣ assaɣ nu umsqdac:",
- "sp-contributions-toponly": "Ad urtmlt adla mat ittuyẓran tigira yad",
+ "sp-contributions-toponly": "ⵎⵍ ⵖⴰⵔ ⵉⵙⵏⴼⵉⵍⵏ ⴳⴰⵏⵉⵏ ⵜⵓⵏⵖⵉⵍⵉⵏ ⵜⵉⵎⵉⵔⴰⵏⵉⵏ",
+ "sp-contributions-newonly": "ⵎⵍ ⵖⴰⵔ ⵉⵙⵏⴼⵉⵍⵏ ⴳⴰⵏⵉⵏ ⵉⵙⵏⵓⵍⴼⵓⵜⵏ ⵏ ⵜⴰⵙⵏⵉⵡⵉⵏ",
"sp-contributions-submit": "ⵙⵉⴳⴳⵍ",
"sp-contributions-explain": "↓",
"whatlinkshere": "ⵎⴰⴷ ⵉⵇⵇⵏⴻⵏ ⵙ ⵖⵉⴷ",
"tooltip-minoredit": "ⵔⵛⵎ ⴰⵢⴰ ⵎⴰⵙ ⵉⴳⴰ ⴰⵙⵏⴼⵍ ⵓⵎⵥⵉⵢ",
"tooltip-save": "Ḥbu imbddel nek",
"tooltip-preview": "Mel(fsr) imbddeln nek, urat tḥibit matskert",
- "tooltip-diff": "Mel (fsr) imbddeln li tskert u-ṭṛiṣ",
+ "tooltip-diff": "ⵎⵍ ⵎⴰⵏ ⵉⵙⵏⴼⵉⵍⵏ ⴰⴷ ⵜⵙⴽⵔⵜ ⵉ ⵓⴹⵔⵉⵙ",
"tooltip-compareselectedversions": "Ẓr inaḥyatn gr sin lqimat li ttuystaynin ɣ tasna yad.",
"tooltip-watch": "ⵔⵏⵓ ⵜⴰⵙⵏⴰ ⴰⴷ ⵉ ⵜⵍⴳⴰⵎⵜ {{GENDER:|ⵏⵏⴽ|ⵏⵏⵎ}} ⵏ ⵓⴹⴼⴼⵓⵔ",
"tooltip-recreate": "Als askr n tasna yad waxxa ttuwḥiyyad",
"tooltip-undo": "\"Sglb\" ḥiyd ambdl ad t mmurẓmt tasatmt n umbdl ɣ umuḍ tiẓri tamzwarut.",
"tooltip-summary": "Skcm yat tayafut imẓẓin",
"pageinfo-header-edits": "ⴰⵎⵣⵔⵓⵢ ⵏ ⵓⵙⵏⴼⵍ",
+ "pageinfo-length": "ⵜⵉⴷⴷⵉ ⵏ ⵜⴰⵙⵏⴰ (ⵙ ⵉⴷ ⴱⴰⵢⵜ)",
"pageinfo-language": "ⵜⵓⵜⵍⴰⵢⵜ ⵏ ⵜⵓⵎⴰⵢⵜ ⵏ ⵜⴰⵙⵏⴰ",
"pageinfo-language-change": "ⵙⵏⴼⵍ",
"pageinfo-content-model-change": "ⵙⵏⴼⵍ",
"pageinfo-firsttime": "ⴰⵙⴰⴽⵓⴷ ⵏ ⵓⵙⵏⵓⵍⴼⵓ ⵏ ⵜⴰⵙⵏⴰ",
"pageinfo-lastuser": "ⴰⵎⵙⵏⴼⵍ ⵉⴳⴳⵯⵔⴰⵏ",
- "pageinfo-lasttime": "ⴰⵙⴰⴽⵓⴷ ⵏ ⵓⵙⵏⴼⵍ ⵉⴳⴳⵯⵔⴰⵏ",
+ "pageinfo-lasttime": "â´°âµ\99â´°â´½âµ\93â´· âµ\8f âµ\93âµ\99âµ\8fâ´¼âµ\8d ⴰⴽⴽⵯ âµ\89ⴳⴳⵯâµ\94â´°âµ\8f",
"pageinfo-hidden-categories": "{{PLURAL:$1|ⴰⵙⵎⵉⵍ ⵉⵏⵜⵍⵏ|ⵉⵙⵎⵉⵍⵏ ⵏⵜⵍⵏⵉⵏ}} ($1)",
"pageinfo-contentpage-yes": "ⵢⴰⵀ",
"pageinfo-protect-cascading-yes": "ⵢⴰⵀ",
"variantname-shi-latn": "Tašlḥiyt",
"variantname-shi": "disable",
"metadata": "ⵎⵉⵜⴰⴷⴰⵜⴰ",
- "metadata-help": "Asdaw ad llan gis inɣmisn yaḍnin lli tfl lkamira tuṭunit niɣd aṣfḍ n uxddam lliɣ ay sgadda asdaw ad",
+ "metadata-help": "ⵢⵓⵙⵢ ⵓⴼⴰⵢⵍⵓ ⴰⴷ ⵓⵎⵍⴰⵏ , lli tfl lkamira tuṭunit niɣd aṣfḍ n uxddam lliɣ ay sgadda asdaw ad.\nⵉⵖ ⵉⵏⴼⵍ ⵓⴼⴰⵢⵍⵓ ⵣⵖ ⴰⴷⴷⴰⴷ ⵏⵏⵙ ⴰⵏⵚⵍⵉ, .",
"metadata-expand": "Ml ifruriyn lluzzanin",
"metadata-collapse": "Aḥbu n ifruriyn lluzzanin",
"metadata-fields": "Igran n isfkan n metadata li illan ɣ tabratad ran ilin ɣ tawlaf n tasna iɣ mzzin tiflut n isfka n mita\nWiyyaḍ raggis ḥbun s ɣiklli sttin kkan gantn.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude",
"exif-orientation": "ⴰⵙⵡⴰⵍⴰ",
+ "exif-datetime": "ⴰⵙⴰⴽⵓⴷ ⴷ ⵡⴰⴽⵓⴷ ⵏ ⵓⵙⵏⴼⵍ ⵏ ⵓⴼⴰⵢⵍⵓ",
"exif-flash": "ⴼⵍⴰⵛ",
"exif-source": "ⴰⵙⴰⴳⵎ",
"exif-languagecode": "ⵜⵓⵜⵍⴰⵢⵜ",
"permissionserrorstext-withaction": "ၸဝ်ႈၵဝ်ႇဢမ်ႇမီးသုၼ်ႇ တႃႇ $2, တွၼ်ႈတႃႇ ၸိူဝ်း ဢၼ်ပဵၼ် {{PLURAL:$1|reason|လွင်ႈတၢင်း}}:",
"contentmodelediterror": "ၸဝ်ႈၵဝ်ႇတေဢမ်ႇၸၢင်ႈ မႄးထတ်း ၵၢၼ်ၶူၼ်ႉၶႆႈၼႆႉ၊ ယွၼ်ႉပိူဝ်ႈဝႃႈ ၽၢင်တူဝ် ၶေႃႈၶဝ်ႈပႃး မၼ်းၼႆႉပဵၼ် <code>$1</code>, ဢၼ် ပႅၵ်ႇပိူင်ႈၵၼ်တၢင်း ၽၢင်တူဝ် ၶေႃႈၶဝ်ႈပႃး ၶွင်ႈၼႃႈလိၵ်ႈ <code>$2</code> ၼႆႉ။",
"recreate-moveddeleted-warn": "<strong>ၶေႃႈၽၢင်ႉပၼ် : ၸဝ်ႈၵဝ်ႇ ၶိုၼ်းၵေႃႇသၢင်ႈ ၼႃႈလိၵ်ႈ ဢၼ်လႆႈ မွတ်ႇပႅတ်ႈၵႂႃႇဝႆႉၼၼ်ႉ။</strong>\n\nၸဝ်ႈၵဝ်ႇ ထုၵ်ႇလီဝူၼ်ႉတူၺ်းဝႃႈ ၸွင်ႇမၼ်းသၢင်ႇထုၵ်ႇ တွၼ်ႈတႃႇတေသိုပ်ႇ မႄးထတ်း ၼႃႈလိၵ်ႈၼႆႉဢၼ်ဝႃႈၼၼ်ႉ။\nသဵၼ်ႈလၢႆ မွတ်ႇပႅတ်ႈလႄႈ ၶၢႆႉဢွင်ႈ တွၼ်ႈတႃႇၼႃႈလိၵ်ႈၼႆႉ ၵမ်ႉထႅမ်ဝႆႉပၼ် ၵႃႈတီႈၼႆႈ တွၼ်ႈတႃႇ ႁႂ်းငၢႆႈလူမ်ၸႂ် :",
- "moveddeleted-notice": "á\81¼á\82\83á\82\88á\80\9cá\80á\81µá\80ºá\82\88á\81¼á\82\86á\82\89 á\80\99á\80½á\80\90á\80ºá\82\87á\80\95á\82\85á\80\90á\80ºá\82\88á\81µá\82\82á\82\83á\82\87á\80\9aá\80\9dá\80ºá\82\89á\81\8b á\80\9cá\80½á\80\84á\80ºá\82\88á\80\99á\80½á\80\90á\80ºá\82\87á\80\95á\82\85á\80\90á\80ºá\82\88á\80\9cá\82\84á\82\88 á\80\9cá\80½á\80\84á\80ºá\82\88á\81¶á\81¢á\82\86á\82\89á\80\9eá\81¢á\82\86á\80\99á\81¢á\82\86 á\80\90á\80½á\81¼á\80ºá\82\88á\80\90á\82\83á\82\87 á\81¼á\82\83á\82\88á\80\9cá\80á\81µá\80ºá\82\88á\81¼á\82\86á\82\89 á\81µá\80\99á\80ºá\82\89á\80\91á\82\85á\80\99á\80ºá\80\9dá\82\86á\82\89á\80\95á\81¼á\80º á\81¼á\80\84á\80ºá\82\87á\80\95á\82\83á\82\88á\80\90á\82\82á\80ºá\82\88á\81¼á\82\86á\82\89á\80\9aá\80°á\82\87á\81\8b á\80\99á\81¼á\80ºá\80¸ပဵၼ် တွၼ်ႈတႃႇ ႁဵတ်းၽိုၼ်ဢိင်ယဝ်ႉ။",
+ "moveddeleted-notice": "á\81¼á\82\83á\82\88á\80\9cá\80á\81µá\80ºá\82\88á\81¼á\82\86á\82\89 á\80\99á\80½á\80\90á\80ºá\82\87á\80\95á\82\85á\80\90á\80ºá\82\88á\81µá\82\82á\82\83á\82\87á\80\9aá\80\9dá\80ºá\82\89á\81\8b á\80\9cá\80½á\80\84á\80ºá\82\88á\80\99á\80½á\80\90á\80ºá\82\87á\80\95á\82\85á\80\90á\80ºá\82\88á\81\8a á\80\9cá\80½á\80\84á\80ºá\82\88á\82\81á\82\84á\82\89á\81µá\80\84á\80ºá\82\88 á\80\9cá\82\84á\82\88 á\80\9eá\81¢á\82\86á\80\99á\81¢á\82\86á\80\9cá\80½á\80\84á\80ºá\82\88á\81¶á\81¢á\82\86á\82\89 á\80\90á\80½á\81¼á\80ºá\82\88á\80\90á\82\83á\82\87 á\81¼á\82\83á\82\88á\80\9cá\80á\81µá\80ºá\82\88á\81¼á\82\86á\82\89 á\81µá\80\99á\80ºá\82\89á\80\91á\82\85á\80\99á\80ºá\80\9dá\82\86á\82\89á\80\95á\81¼á\80º á\81¼á\80\84á\80ºá\82\87á\80\95á\82\83á\82\88á\80\90á\82\82á\80ºá\82\88á\81¼á\82\86á\82\89 ပဵၼ် တွၼ်ႈတႃႇ ႁဵတ်းၽိုၼ်ဢိင်ယဝ်ႉ။",
"moveddeleted-notice-recent": "ယိၼ်းၶီၸွမ်ႈယူႇ၊ ၼႃႈလိၵ်ႈၼႆႉ တိုၵ်ႉႁႃထုၵ်ႇမွတ်ႇပႅတ်ႈ (ၼႂ်းၶၢဝ်းတၢင်း မိူဝ်ႈပူၼ်ႉမႃး 24 ၸူဝ်ႈမူင်း) ၼႆႉၵူၺ်း။ သဵၼ်ႈမၢႆ မွတ်ႇပႅတ်ႈ လႄႈ ၶၢႆႉဢွင်ႈတီႈ ၸိူဝ်းၼၼ်ႉ လႆႈၵမ်ႉထႅမ်ဝႆႉပၼ်ၼင်ႇၽၢႆႇတႂ်ႈ ႁႂ်ႈၸၢင်ႈပဵၼ် ၵၢၼ်ၽိုၼ်ဢိင်။",
"log-fulllog": "တူၺ်း သဵၼ်ႈမၢႆဢၼ်တဵမ်ထူၼ်ႈ",
"edit-hook-aborted": "ၵၢၼ်မႄးထတ်း ထုၵ်ႇလူတ်းပႅတ်တင်းၶေႃၵွင်ႉ။\nမၼ်းဢမ်ႇပၼ်ဝႆႉ ၶေႃႈသပ်းလႅင်းသင်။",
"editundo": "ၶိုၼ်ၶိုၼ်း",
"diff-empty": "(ဢမ်ႇမီးလွင်ႈပႅၵ်ႇပိူင်ႈ)",
"diff-multi-sameuser": "({{PLURAL:$1|လွင်ႈၶူၼ်ႉၶႆႈ ပၢၼ်ၵၢင် |$1 လွင်ႈၶူၼ်ႉၶႆႈ ပၢၼ်ၵၢင်}} ပေႃးတႃႇ ၽူႈၸႂ်တိုဝ်းမိူၼ်ၵၼ် တေဢမ်ႇၼႄပၼ်)",
+ "diff-multi-otherusers": "({{PLURAL:$1|လွင်ႈၶူၼ်ႉၶႆႈမႄးၶိုၼ်း ပၢၼ်ၵၢင် |$1 လွင်ႈၶူၼ်ႉၶႆႈမႄးၶိုၼ်း ပၢၼ်ၵၢင်}} \n{{PLURAL:$2|ၽူႈၸႂ်ႉတိုဝ်း ထႅင်ႈၵေႃႉၼိုင်ႈ|$2 ၽူႈၸႂ်ႉတိုဝ်း}} ဢမ်ႇၼႄဝႆႉ)",
"searchresults": "ၶူၼ်ႉႁႃၺႃး",
"searchresults-title": "ၶူၼ်ႉႁႃၺႃးတွၼ်ႈတႃႇ \"$1\"",
"titlematches": "ႁူဝ်ၶေႃႈ ၼႃႈလိၵ်ႈ ၶူပ်းၵၼ်ယူႇ",
"searchprofile-everything-tooltip": "သွၵ်ႈႁႃလမ်းၼႂ်းတင်းမူတ်း (ဢိၵ်ႇပႃးၼႃႈလိၵ်ႈ ဢုပ်ႇဢူဝ်း)",
"searchprofile-advanced-tooltip": "သွၵ်ႈႁႃတီႈၼႂ်း ဢွင်ႈတီႈၸိုဝ်ႈႁင်းတူဝ်",
"search-result-size": "$1 ({{PLURAL:$2|1 ၶေႃႈ|$2 ၶေႃႈ}})",
+ "search-result-category-size": "{{PLURAL:$1|1 ၽူႈၶဝ်ႈၸုမ်း|$1 ၽူႈၶဝ်ႈၸုမ်း}} ({{PLURAL:$2|1 ၵၼ်ၽႄ|$2 ၵၼ်ၽႄ}}, {{PLURAL:$3|1 ၾၢႆႇ|$3 ၾၢႆႇ}})",
"search-redirect": "(ပိၼ်ႇဝၢႆႇမႃးတီႈ $1)",
"search-section": "(တွၼ်ႈၵၼ် $1)",
"search-category": "(တွၼ်ႈၵၼ် $1)",
+ "search-file-match": "(လမ်းၼႂ်းၾၢႆႇဢၼ်မႅၼ်ႈၵၼ်)",
"search-suggest": "ၶႂ်ႈဝႃႈ $1 - ၼႆႁႃႉ",
"search-interwiki-caption": "ၽွၼ်းလႆႈ ၵႃႈတီႈ ၼႃႈၵၢၼ် ပီႈၼွင်ႉၵၼ်",
"search-interwiki-default": "ၽွၼ်းလႆႈ ၵႃႈတီႈ $1 :",
"rcfilters-empty-filter": "ဢမ်ႇမီးတူဝ်ထွင် ဢၼ်တူင်ႉၼိုင်။ ၵၢၼ်ၶဝ်ႈႁူမ်ႈတၢင်းသဵင်ႈၵေႃႈၼႄဝႆႉယူႇ။",
"rcfilters-filterlist-title": "တူဝ်ထွင်",
"rcfilters-filterlist-noresults": "ဢမ်ႇႁၼ်မီးတူဝ်ထွင်",
- "rcfilters-filtergroup-registration": "လွင်ႈတၢင်ႇမၢႆၽၢင် ၽူႈၸႂ်ႉတိုဝ်း",
- "rcfilters-filter-registered-label": "တၢင်ႇမၢႆၾၢင်ဝႆႉယဝ်ႉ",
- "rcfilters-filter-registered-description": "ၽူႈမႄးထတ်းၶဝ် ၶဝ်ႈလွၵ်ႉဢိၼ်ႇဝႆႉ",
- "rcfilters-filter-unregistered-label": "ဢမ်ႇလႆႈတၢင်ႇမၢႆႇၽၢင်ဝႆႉ",
- "rcfilters-filter-unregistered-description": "ၽူႈမႄးထတ်း ၸိူဝ်းဢမ်ႇလႆႈၶဝ်ႈ လွၵ်ႉဢိၼ်ႇဝႆႉ",
"rcfilters-filtergroup-authorship": "လွင်ႈၶဝ်ႈႁူမ်ႈ ၸဝ်ႈပၢႆၵမ်",
"rcfilters-filter-editsbyself-label": "လွင်ႈလႅၵ်ႈလၢႆႈ ၸဝ်ႈၵဝ်ႇႁဵတ်း",
"rcfilters-filter-editsbyself-description": "လွင်ႈၶဝ်ႈႁူမ်ႈ ၶွင်တူဝ်ၸဝ်ႈၵဝ်ႇ",
"rcfilters-filter-editsbyother-label": "လွင်ႈလႅၵ်ႈလၢႆႈ တၢင်ႇၵေႃႉႁဵတ်း",
"rcfilters-filter-editsbyother-description": "လွင်ႈလႅၵ်ႈလၢႆႈတၢင်းသဵင် လိူဝ်သေၶွင်တူဝ်ၸဝ်ႈၵဝ်ႇ",
"rcfilters-filtergroup-userExpLevel": "ၸၼ်ႉထၢၼ်ႈ တူဝ်ထူပ်း (တွၼ်ႈတႃႈ ၽူႈၸႂ်ႉတိုဝ်း ၸိူဝ်းတၢင်ႇဝႆႉ မႆၽၢင်ၵူၺ်း)",
+ "rcfilters-filter-user-experience-level-registered-label": "တၢင်ႇမၢႆၾၢင်ဝႆႉယဝ်ႉ",
+ "rcfilters-filter-user-experience-level-registered-description": "ၽူႈမႄးထတ်းၶဝ် ၶဝ်ႈလွၵ်ႉဢိၼ်ႇဝႆႉ",
+ "rcfilters-filter-user-experience-level-unregistered-label": "ဢမ်ႇလႆႈတၢင်ႇမၢႆႇၽၢင်ဝႆႉ",
+ "rcfilters-filter-user-experience-level-unregistered-description": "ၽူႈမႄးထတ်း ၸိူဝ်းဢမ်ႇလႆႈၶဝ်ႈ လွၵ်ႉဢိၼ်ႇဝႆႉ",
"rcfilters-filter-user-experience-level-newcomer-label": "ၵူၼ်းၼႃႈမႂ်ႇ",
"rcfilters-filter-user-experience-level-newcomer-description": "ဢေႇလိူဝ် ၵၢၼ်မႄးထတ်း ႑႐ ဢၼ် လႄႈ လွင်ႈတူင်ႉၼိုင် တႃႇသီႇဝၼ်း",
"rcfilters-filter-user-experience-level-learner-label": "ၽူႈလဵပ်ႈႁဵၼ်း",
"allinnamespace": "ၼႃႈလိၵ်ႈတင်းမူတ်း ($1 ဢွင်ႈၸိုဝ်ႈ)",
"allpagessubmit": "သိုပ်ႇၵႂႃႇ",
"allpagesprefix": "ၼႃးလိၵ်ႈဢၼ်ၼႄ ဢိၵ်ႇတင်း ၶေႃႈလူင်ႈၼႃႈ",
+ "allpages-hide-redirects": "သိူင်ႇ ၸိူဝ်းတူဝ်ပိၼ်ႇၸီႉ",
"categories": "လိူင်ႈ",
"sp-deletedcontributions-contribs": "လွင်ႈၶဝ်ႈႁူမ်ႈ",
"linksearch": "သွၵ်ႈႁႃ ႁဵင်းၵွင်ႉၽၢႆႇၼွၵ်ႈ",
"watchnologin": "ဢမ်ႇလႆႈၶဝ်ႈလွၵ်ႉဢိၼ်ႇဝႆ့",
"addwatch": "ထႅမ်သႂ်ႇၸူး သဵၼ်ႈမၢႆ ပႂ်ႉတူၺ်း",
"watch": "ပႂ်ႉတူၺ်း",
+ "unwatch": "ဢမ်ႇတူၺ်း",
+ "wlshowlast": "ၼႄ ၶၢဝ်းယၢမ်းလိုၼ်းသုတ်း $1 မူင်း $2 ဝၼ်း",
"watchlist-hide": "သိူင်ႇ",
"watchlist-submit": "ၼႄ",
"wlshowtime": "ပွင်ႈၶၢဝ်းယၢမ်း တွၼ်ႈတႃႇ ဢွၵ်ႇၼႄ:",
"watchlist-options": "ၵၼ်လိူၵ်ႈသၢင်ႈ တူဝ်ပႂ်ႉတူၺ်း",
"watching": "တိုၵ်ႉတူၺ်းယူႇ...",
"unwatching": "ဢမ်ႇတူၺ်းဝႆႉ...",
+ "enotif_reset": "ႁဵတ်းၼႃႈလိၵ်ႈတင်းသဵင်ႈ ၼင်ႇဢႅဝ်ႇဝႆႉယဝ်ႉ",
"enotif_impersonal_salutation": "{{SITENAME}} ၽူႈၸႂ်ႉတိုဝ်း",
"enotif_subject_deleted": "ၼႃႈလိၵ်ႈ {{SITENAME}} $1 ၼႆႉ ထုၵ်ႇ $2 ၵေႃႉ {{GENDER:$2|မူတ်ႇပႅတ်ႈ}} ဢေႃႈ။",
"enotif_subject_created": "ၼႃႈလိၵ်ႈ {{SITENAME}} $1 ၼႆႉ ထုၵ်ႇ $2 ၵေႃႉ {{GENDER:$2|ၵေႃႇသၢင်ႈဝႆႉ}} ဢေႃႈ",
"logentry-contentmodel-change-revertlink": "ပိၼ်ႈၶိုၼ်း",
"logentry-contentmodel-change-revert": "ပိၼ်ႈၶိုၼ်း",
"protectlogpage": "မၢႆတမ်း ၵၢၼ်ႁေႉၵင်ႈ",
+ "protectedarticle": "ႁႄႉၵင်ႈဝႆႉ \"[[$1]]\"",
+ "modifiedarticleprotection": "ၸၼ်ႉထၢၼ်ႈလွင်ႈႁႄႉၵင်ႈ ဢၼ်လႅၵ်ႈလၢႆႈဝႆႉတႃႇ \"[[$1]]\"",
"protect-default": "ၶႂၢင်းပၼ် ၽူႈၸႂ်ႉတိုဝ်း တၢင်းသဵင်ႈ",
"protect-fallback": "ၶႂၢင်းပၼ် ၽူႈၸႂ်ႉတိုဝ်း ဢၼ်တင်း လွင်ႈၶႂၢင်းပၼ် \"$1\" ၼၼ်ႉၵူၺ်း",
"protect-level-autoconfirmed": "ၶႂၢင်းပၼ် ၽူႈၸႂ်ႉတိုဝ်း ဢၼ်ၼႄႉၼွၼ်းႁင်းၵူၺ်းၼၼ်ႉ ၵူၺ်း",
"tooltip-namespace_association": "လိူၵ်ႈပၼ် လွၵ်းၼႆႉ တႃႇတေႁႂ်ႈပႃး ၶေႃႈဢုပ်ႇဢူဝ်း ဢမ်ႇၼၼ် ၸိုဝ်ႈႁူဝ်ၶေႃႈ ဢၼ်ၵပ်းၵၢႆႇလူၺ်ႈ ႁူဝ်ၶေႃႈ ဢၼ်လိူၵ်ႈဝႆႉၼၼ်ႉ။",
"blanknamespace": "ႁူဝ်ႁႅၵ်ႇ",
"contributions": "{{GENDER:$1|User}} ၶဝ်ႈႁူမ်ႈပႃး",
+ "contributions-title": "လွင်ႈၶဝ်ႈႁူမ်ႈၽူႈၸႂ်ႉတိုဝ်း တွၼ်ႈတႃႇ $1",
"mycontris": "လွင်ႈၶဝ်ႈႁူမ်ႈ",
"anoncontribs": "လွင်ႈၶဝ်ႈႁူမ်ႈ",
+ "contribsub2": "တွၼ်ႈတႃႇ {{GENDER:$3|$1}} ($2)",
"uctop": "(ယၢမ်းလဵဝ်)",
"month": "တႄႇဢဝ်လိူၼ် (လႄႈ ဢၼ်ပူၼ်ႉမႃး):",
"year": "တႄႇဢဝ်ပီ (လႄႈ ဢၼ်ပူၼ်ႉမႃး):",
+ "sp-contributions-newbies": "ၼႄပၼ်လွင်ႈၶဝ်ႈႁူမ်ႈ ၶွင် ဢၶွင်ႉဢၼ်မႂ်ႇလၢႆလၢႆၵူၺ်းလႄႈ",
"sp-contributions-newbies-sub": "တွၼ်ႈတႃႇဢၶွင်ႉ ဢၼ်မႂ်ႇ",
"sp-contributions-blocklog": "မၢႆတမ်းၵၢၼ်ႁေႉတတ်း",
"sp-contributions-suppresslog": "လွင်ႈၶဝ်ႈႁူမ်ႈ {{GENDER:$1|ၽူႈၸႂ်ႉတိုဝ်း}} ဢၼ်ႁူမ်ႇလပ်ႉဝႆႉ",
"ipb_hide_invalid": "ဢမ်ႇၸၢင်ႈႁူမ်ႇလပ်ႉဝႆႉ ဢၶွင်ႉဢၼ်ၼႆႉ; မၼ်းမီးလိူဝ်ဝႆႉ {{PLURAL:$1|လွင်ႈမႄးထတ်း ဢၼ်ၼိုင်ႈ|$1 လွင်ႈမႄးထတ်းတင်းၼမ်}}။",
"ipb_already_blocked": "\"$1\" ၼႆႉ ထုၵ်ႇ ႁႄႉတတ်းဝႆႉယဝ်ႉ။",
"ipb-needreblock": "$1 ၼႆႉ ထုၵ်ႇႁႄႉတတ်းဝႆႉယဝ်ႉ။ ၸွင်ႇၸဝ်ႈၵဝ်ႇ ၶႂ်ႈလႅၵ်ႈလၢႆႈ ၵၼ်တင်ႈႁိုဝ်?",
+ "proxyblocker": "တူဝ်ႁႄႉတတ်း ပရၢဝ်ႇသီႇ",
"ipbnounblockself": "ၸဝ်ႈၵဝ်ႇ ဢမ်ႇမီးသုၼ်ႇ တွၼ်ႈတႃႇ ပိုတ်ႇသေႃးၶိုၼ်းတႃႇၸဝ်ႈၵဝ်ႇ။",
"lockdb": "ၶတ်းယွင်ၶေႃႈမုၼ်း",
"unlockdb": "ပိုတ်ႇသေႃး ယွင်ၶေႃႈမုၼ်း",
"lastmodifiedatby": "ၼႃႈလိၵ်ႈဢၼ်ၼႆႉ ထုၵ်ႇ $3 ၵေႃႉမူၼ်ႉမႄးဝႆႉမိူဝ်ႈ $2, $1။",
"spam_reverting": "လွင်ႈပိၼ်ႈၶိုၼ်း လွင်ႈၶူၼ်ႉၶႆႈ ၵမ်းလိုၼ်းသုတ်းၼၼ်ႉ မၼ်းဢမ်ႇၶဝ်ႈပႃးဝႆႉ ႁဵင်းၵွင်ႉ ဢၼ်ၵွင်ႉၸူး $1",
"simpleantispam-label": "ၵူတ်ႇထတ်း Anti-spam.\n<strong>ယႃႇပေ</strong>ထႅမ်ဢၼ်ၼႆႉသႂ်ႇ!",
+ "pageinfo-title": "လွၼ်ႉၶၢဝ်ႇ တွၼ်ႈတႃႇ \"$1\"",
"pageinfo-header-basic": "�လွၼ်ႉၶၢဝ်ႈ ပိုၼ်ႉထၢၼ်",
"pageinfo-header-edits": "ပိုၼ်းမႄးထတ်း",
"pageinfo-header-restrictions": "လွင်ႈႁႄႉၵင်ႈၼႃႈလိၵ်ႈ",
"pageinfo-language-change": "လႅၵ်ႈလၢႆႈ",
"pageinfo-content-model": "ပိူင်ၵေႃႇသၢင်ႈ လမ်းၼႂ်း ၼႃႈလိၵ်ႈ",
"pageinfo-content-model-change": "လႅၵ်ႈလၢႆႈ",
+ "pageinfo-robot-policy": "လွင်ႈ ၶိူင်ႈၸၢၵ်ႈၵေႃႉ ၸီႉၼႄပၼ်",
"pageinfo-robot-index": "ၶႂၢင်းပၼ်ဝႆႉ",
"pageinfo-robot-noindex": "ဢမ်ႇၶႂၢင်းပၼ်ဝႆႉ",
"pageinfo-watchers": "တၢင်းၼမ် ၽူႈတူၺ်းၼႃႈလိၵ်ႈ",
"pageinfo-visiting-watchers": "တၢင်းၼမ်ၽူႈၶဝ်ႈတူၺ်း ၼႃႈလိၵ်ႈ ၵေႃႉဢၼ် တိုၵ်ႉႁႃၶဝ်ႈဢႅဝ်တီႈ လွင်ႈမႄးထတ်း ၸိူဝ်းပႆႇပေႃးႁိုင်",
"pageinfo-few-watchers": "ဢေႇလိူဝ်သေ $1 {{PLURAL:$1|ၽူႈၶဝ်ႈတူၺ်း}}",
+ "pageinfo-redirects-name": "တၢင်းၼမ် လွင်ႈပိၼ်ႇၽၢႆႇ ၸူး ၼႃႈလိၵ်ႈဢၼ်ၼႆႉ",
+ "pageinfo-subpages-name": "တၢင်းၼမ် ၼႃႈလိၵ်ႈၽႄ ၶွင်ႈၼႃႈလိၵ်ႈဢၼ်ၼႆႉ",
"pageinfo-firstuser": "ၽူႈၵေႃႇသၢင်ႈ ၼႃႈလိၵ်ႈ",
"pageinfo-firsttime": "ဝၼ်းထီႉ လွင်ႈၵေႃႇသၢင်ႈ ၼႃႈလိၵ်ႈ",
"pageinfo-lastuser": "ၽူႈမႄးထတ်း ၵေႃႉလိုၼ်းသုတ်း",
"pageinfo-authors": "ႁူဝ်ႁုပ်ႈတၢင်းၼမ် ၽူႈတႅမ်ႈလိၵ်ႈ ပႅၵ်ႇပိူင်ႈ",
"pageinfo-recent-edits": "တၢင်းၼမ်လွင်ႈမႄးထတ်း ၸိူဝ်းပႆႇပေႃးႁိုင် (တီႈၼႂ်း ၶၢဝ်းပူၼ်ႉမႃး $1)",
"pageinfo-recent-authors": "တၢင်းၼမ် ၽူႈတႅမ်ႈလိၵ်ႈ ပႅၵ်ႇပိူင်ႈ ၸိူဝ်းဢၼ်ပႆႇပေႃးႁိုင်",
+ "pageinfo-magic-words": " {{PLURAL:$1|ၶေႃႈၵႂၢမ်း|ၶေႃႈၵႂၢမ်းၸိူဝ်း}} ($1) မေႃၽၢမ်း",
"pageinfo-hidden-categories": "သိူင်ႇဝႆႉ {{PLURAL:$1|လိူင်ႈ|လိူင်ႈ(ၼမ်)}} ($1)",
+ "pageinfo-templates": "{{PLURAL:$1|ပိူင်တမ်း|ၸိူဝ်းပိူင်တမ်း}} ($1) ဢၼ်ႁဵတ်းဝႆႉ Transclude",
"pageinfo-toolboxlink": "လွၼ်ႉၶၢဝ်ႇၼႃႈလိၵ်ႈ",
"pageinfo-redirectsto": "ဝိၼ်ႇၵႂႃႇၸူး",
"pageinfo-redirectsto-info": "လွၼ်ႉၶၢဝ်ႇ",
"markaspatrolleddiff": "မၢႆဝႆႉၼင်ႇ ပႂ်ႉယၢမ်း",
"markaspatrolledtext": "မၢႆဝႆႉၼႃႈလိၵ်ႈၼင်ႇ ပႂ်ႉယၢမ်း",
"markedaspatrolled": "မၢႆဝႆႉၼင်ႇ ပႂ်ႉယၢမ်း",
+ "patrol-log-page": "သဵၼ်ႈမၢႆ လွင်ႈပႂ်ႉၵူတ်ႇထတ်း",
"previousdiff": "ၵၢၼ်မႄးထတ်း ဢၼ်ၵဝ်ႇ",
"nextdiff": "ထတ်းသၢင်ႈဢၼ်မႂ်ႇမႂ်ႇ",
+ "widthheightpage": "$1 × $2, $3 {{PLURAL:$3|ၼႃႈလိၵ်ႈ|ၼႃႈလိၵ်ႈ။}}",
"file-info-size": "$1 × $2 pixels, တၢင်းလဵၵ်ႉတၢင်းယႂ်ႇ ၾၢႆႇ: $3, ယိူင်ႈ MIME: $4",
"file-info-size-pages": "$1 × $2 pixels, သႅၼ်းၾၢႆႇ: $3, ၸုပ်ႈ MIME: $4, $5 {{PLURAL:$5|ၼႃႈ|ၼႃႈ(ၼမ်)}}",
"file-nohires": "ဢမ်ႇမီး ဢၼ်ႁႅင်းၸိုၼ်ႈသႂ်ႇမၼ်း သုင်သုင်",
"version-extensions": "သၢႆလင် ၸိူဝ်းဢူၼ်းသႂ်ႇဝႆႉ�",
"version-skins": "ၽိဝ်ၼင် ၸိူဝ်းဢူၼ်းသႂ်ႇဝႆႉ�",
"version-specialpages": "�ၼႃႈလိၵ်ႈ ၶိုၵ်ႉတွၼ်း",
+ "redirect": "ၶိုၼ်းပိၼ်ႇၽၢႆ ၼင်ႇ ၾၢႆႇ၊ ၽူႈၸႂ်ႉတိုဝ်း၊ ၼႃႈလိၵ်ႈ၊ လွင်ႈမႄးၶိုၼ်း ဢမ်ႇၼၼ် မၢႆၽၢင် သဵၼ်ႈမၢႆ",
+ "redirect-submit": "သိုပ်ႇၵႂႃႇ",
+ "redirect-lookup": "ပိုတ်ႇတူၺ်း:",
+ "redirect-value": "ၵႃႈၶၼ်:",
+ "redirect-user": "ၽၢႆၽၢင် ၽူႈၸႂ်ႉတိုဝ်း",
+ "redirect-page": "မၢႆၽၢင် ၼႃႈလိၵ်ႈ",
+ "redirect-revision": "လွင်ႈမႄးၶိုၼ်းၼႃႈလိၵ်ႈ",
+ "redirect-file": "ၸိုဝ်ႈၾၢႆႇ",
"specialpages": "ၼႃႈလိၵ်ႈ ၶိုၵ်ႉတွၼ်း",
"tag-filter": "ၶတ်းလိူၵ်ႈဢဝ်[[Special:Tags|Tag]]:",
"tag-list-wrapper": "([[Special:Tags|{{PLURAL:$1|Tag|Tags}}]]: $2)",
+ "tags-active-yes": "ၸႂ်ႈယဝ်ႉ",
+ "tags-active-no": "ဢမ်ႇ",
+ "tags-hitcount": "$1 {{PLURAL:$1|လႅၵ်ႈလၢႆႈ|ၸိူဝ်းလႅၵ်ႈလၢႆႈ}}",
"logentry-delete-delete": "$1 {{GENDER:$2|မွတ်ႇယဝ်ႉ}} ၼႃႈလိၵ်ႈ $3",
"logentry-delete-restore": "$1 {{GENDER:$2|ဢဝ်ၶိုၼ်း}} ၼႃႈလိၵ်ႈ $3 ($4)",
+ "logentry-delete-revision": "$1 {{GENDER:$2|လႅၵ်ႈလၢႆႈဝႆႉ}} လွင်ႈႁၼ်လႆႈၶွင် {{PLURAL:$5|လွင်ႈၶူၼ်ႉမႄးၶိုၼ်း|$5 လွင်ႈၶူၼ်ႉမႄးၶိုၼ်း}} တီႈၼိူဝ် ၼႃႈလိၵ်ႈ $3: $4",
+ "revdelete-content-hid": "လမ်းၼႂ်း ဢၼ်သိူင်ႇဝႆႉ",
"logentry-move-move": "$1 {{GENDER:$2|ၶၢႆႉယဝ်ႉ}} ၼႃႈလိၵ်ႈ $3 တေႃႇ $4",
+ "logentry-move-move-noredirect": "ဢမ်ႇဢွၵ်ႇယၢၼ် လွင်ႈပိၼ်ႇၽၢႆႇေသ $1 {{GENDER:$2|ၶၢႆႉဝႆႉ}} ၼႃႈလိၵ်ႈ $3 တေႃႇ $4",
+ "logentry-move-move_redir": "တၢင်ႇၼိူဝ် လွင်ႈပိၼ်ႇၽၢႆႇ သေ $1 {{GENDER:$2|ၶၢႆႉ}} ၼႃႈလိၵ်ႈ $3 တေႃႇ $4",
"logentry-newusers-create": "ဢၶွင်ႉၽူႈၸႂ်ႉတိုဝ်း $1 ၼႆႉ လႆႈ {{GENDER:$2|ၵေႃႇသၢင်ႈယဝ်ႉ}}",
+ "logentry-newusers-autocreate": "ဢၶွင်ႉ ၽူႈၸႂ်ႉတိုဝ်း $1 ၼႆႉ ထုၵ်ႇ {{GENDER:$2|ၵေႃႇသၢင်ႈၵႂႃႇ}} ႁင်းမၼ်းယဝ်ႉ။",
"logentry-upload-upload": "$1 {{GENDER:$2|လူတ်ႇၶိုၼ်ႈၵႂႃႇယဝ်ႉ}} $3",
+ "logentry-upload-overwrite": "$1 {{GENDER:$2|လူတ်ႇၶိုၼ်ႈဝႆႉ}} မၢႆဢွၵ်ႇဢၼ်မႂ်ႇ ၶွင် $3",
"searchsuggest-search": "ၶူၼ်ႉႁႃ {{SITENAME}}",
+ "duration-days": "$1 {{PLURAL:$1|ဝၼ်း|ဝၼ်း။}}",
"mw-widgets-dateinput-no-date": "ပႆႇလိူၵ်ႈဝၼ်းယၢမ်း",
+ "randomrootpage": "ၼႃႈလိၵ်ႈငဝ်ႈႁၢၵ်ႈ ၵမ်ႉသၢင်ႇတေႃႇ",
"revid": "ၶူၼ်ႉၶႆႈ $1",
"pageid": "မၢႆၽၢင် ၽိုၼ်လိၵ်ႈ $1"
}
"permissionserrorstext": "Na to nemáte povolenie z {{PLURAL:$1|nasledujúceho dôvodu|nasledujúcich dôvodov}}:",
"permissionserrorstext-withaction": "Nemáte oprávnenie $2 z {{PLURAL:$1|nasledovného dôvodu|nasledovných dôvodov}}:",
"recreate-moveddeleted-warn": "'''Upozornenie: Opätovne vytvárate stránku, ktorá bola predtým zmazaná.'''\n\nMali by ste zvážiť, či je vhodné pokračovať v úpravách tejto stránky.\nĎalšie informácie si môžete pozrieť v zázname zmazaní a presunutí:",
- "moveddeleted-notice": "Táto stránka bola zmazaná.\nĎalšie informácie si môžete pozrieť v zázname zmazaní a presunutí.",
+ "moveddeleted-notice": "Táto stránka bola zmazaná.\nĎalšie informácie si môžete pozrieť v zázname zmazaní, zamknutí a presunutí.",
+ "moveddeleted-notice-recent": "Ospravedlňujeme sa, ale táto stránka bola zmazaná (počas posledným 24 hodín).\nĎalšie informácie si môžete pozrieť v zázname zmazaní, zamknutí a presunutí.",
"log-fulllog": "Zobraziť úplný záznam",
"edit-hook-aborted": "Úpravu zrušila prídavná funkcia (prípojný bod syntaktického analyzátora).\nNeudala vysvetlenie.",
"edit-gone-missing": "Nebolo možné aktualizovať stránku.\nZdá sa, že bola zmazaná.",
"version-libraries-license": "Licencia",
"version-libraries-description": "Popis",
"version-libraries-authors": "Autori",
- "redirect": "Presmerovanie podľa súboru, používateľa alebo ID revízie",
- "redirect-summary": "Táto špeciálna stránka presmerováva na súbor (podľa názvu), stránku (podľa ID stránky alebo revízie) alebo používateľa (podľa číselného ID). Použitie: [[{{#Special:Redirect}}/file/Test.jpg]], [[{{#Special:Redirect}}/revision/328429]], resp. [[{{#Special:Redirect}}/user/101]].",
+ "redirect": "Presmerovanie podľa súboru, používateľa, ID revízie alebo ID protokolového záznamu.",
+ "redirect-summary": "Táto špeciálna stránka presmerováva na súbor (podľa názvu), stránku (podľa ID stránky alebo revízie), používateľa (podľa číselného ID) alebo protokolový záznam (podľa ID záznamu). Použitie: [[{{#Special:Redirect}}/file/Test.jpg]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], resp. [[{{#Special:Redirect}}/logid/186]].",
"redirect-submit": "Ísť",
"redirect-lookup": "Vyhľadať:",
"redirect-value": "Hodnota:",
"fileduplicatesearch-noresults": "Súbor s názvom „$1“ nebol nájdený.",
"specialpages": "Špeciálne stránky",
"specialpages-note-top": "Legenda",
- "specialpages-note": "* Bežné špeciálne stránky.\n* <strong class=\"mw-specialpagerestricted\">Špeciálne stránky s obmedzeným prístupom.</strong>",
"specialpages-group-maintenance": "Údržbové správy",
"specialpages-group-other": "Iné špeciálne stránky",
"specialpages-group-login": "Prihlásenie / registrácia",
"compare-invalid-title": "Názov, ktorý ste zadali nie je platný.",
"compare-title-not-exists": "Názov, ktorý ste zadali neexistuje.",
"compare-revision-not-exists": "Revízia, ktorú ste zadali, neexistuje.",
+ "diff-form": "'''formulár'''",
"dberr-problems": "Prepáčte! Táto stránka má práve technické problémy.",
"dberr-again": "Skúste niekoľko minút počkať a potom opäť načítať stránku.",
"dberr-info": "(Spojenie s databázovým serverom neúspešné: $1)",
"htmlform-datetime-placeholder": "RRRR-MM-DD HH:MM:SS",
"logentry-delete-delete": "$1 zmazal stránku $3",
"logentry-delete-delete_redir": "$1 {{GENDER:$2|zmazal|zmazala}} presunom presmerovanie $3",
- "logentry-delete-restore": "$1 obnovil stránku $3",
+ "logentry-delete-restore": "$1 {{GENDER:$2|obnovil|obnovila}} stránku $3 ($4)",
"logentry-delete-event": "$1 zmenil viditeľnosť {{PLURAL:$5|záznamu udalostí|$5 záznamov udalostí}} k stránke $3: $4",
"logentry-delete-revision": "$1 {{GENDER:$2|zmenil|zmenila}} viditeľnosť {{PLURAL:$5|revízie|$5 revízií}} na stránke $3: $4",
"logentry-delete-event-legacy": "$1 {{GENDER:$2|zmenil|zmenila}} viditeľnosť záznamov udalostí k stránke $3",
"logentry-rights-rights-legacy": "$1 zmenil členstvo $3 v skupinách",
"logentry-rights-autopromote": "$1 bol automaticky povýšený z $4 na $5",
"logentry-upload-upload": "$1 {{GENDER:$2|pridal|pridala}} $3",
+ "logentry-upload-overwrite": "$1 {{GENDER:$2|nahral|nahrala}} novú verziu $3",
"log-name-managetags": "Záznam správy značiek",
"log-description-managetags": "Táto stránka obsahuje zoznam správcovských úkonov týkajúcich sa [[Special:Tags|značiek]]. Záznam obsahuje len akcie, zrealizované manuálne správcom. Značky môže vytvárať a mazať aj priamo softvér wiki, bez zmienky v tomto zázname.",
"log-name-tag": "Záznam značiek",
"loginlanguagelabel": "زبان: $1",
"pt-login": "لاگ ان تھیوو",
"pt-login-button": "لاگ ان تھیوو",
+ "pt-login-continue-button": "لاگ ان جاری رکھو",
"pt-createaccount": "کھاتہ کھولو",
"pt-userlogout": "لاگ آؤٹ",
"changepassword": "پاس ورڈ تبدیل کرو",
"prefs-advancedsearchoptions": "اعلیٰ اختیارات",
"prefs-advancedwatchlist": "اعلیٰ اختیارات",
"prefs-tokenwatchlist": "ٹوکن",
+ "prefs-diffs": "فرق",
"userrights-reason": "سبب:",
"userrights-expiry": "مُکسی:",
"userrights-expiry-othertime": "ٻیا ویلا:",
"action-edit": "ایں ورقے تے لکھو",
"action-createpage": "ایہ ورقہ بݨاؤ",
"action-createaccount": "ایہ ورتݨ آلا کھاتہ کھولو",
+ "action-move": "ایہ ورقہ ٹورو",
+ "action-movefile": "ایہ فائل ٹورو",
"action-delete": "ایہ ورقہ مٹاؤ",
"action-sendemail": "ای میلاں بھیجو",
"enhancedrc-history": "پچھلا کم",
"rcfilters-savedqueries-unsetdefault": "ݙیفالٹ توں ہٹاؤ",
"rcfilters-savedqueries-remove": "مٹاؤ",
"rcfilters-savedqueries-new-name-label": "ناں",
+ "rcfilters-savedqueries-apply-label": "نتارا بݨاؤ",
"rcfilters-savedqueries-cancel-label": "منسوخ",
"rcfilters-filterlist-title": "نتارے",
"rcfilters-highlightmenu-title": "رنگ چݨو",
"compare-invalid-title": "Navedeni naslov ni veljaven.",
"compare-title-not-exists": "Navedeni naslov ne obstaja.",
"compare-revision-not-exists": "Navedena redakcija ne obstaja.",
+ "diff-form": "Razlike",
+ "diff-form-oldid": "ID stare redakcije (izbirno)",
+ "diff-form-revid": "ID redakcije razlike",
+ "diff-form-submit": "Prikaži razlike",
+ "permanentlink": "Trajna povezava",
+ "permanentlink-revid": "ID redakcije",
+ "permanentlink-submit": "Pojdi na redakcijo",
"dberr-problems": "Oprostite! Ta stran se sooča s tehničnimi težavami.",
"dberr-again": "Poskusite počakati nekaj minut in ponovno naložite stran.",
"dberr-info": "(Ne morem dostopati do zbirke podatkov: $1)",
"compare-invalid-title": "Titulli që keni specifikuar është i pavlefshëm",
"compare-title-not-exists": "Titulli që keni specifikuar nuk ekziston.",
"compare-revision-not-exists": "Rishikimi që ju specifikuat nuk ekziston",
+ "diff-form": "'''formë'''",
"dberr-problems": "Na vjen keq! Kjo faqe po has vështirësi teknike.",
"dberr-again": "Pritni disa minuta dhe provoni të ringarkoni faqen.",
"dberr-info": "(Nuk mund të qaset në bazën e të dhënave: $1)",
"compare-invalid-title": "Наведени наслов је неисправан.",
"compare-title-not-exists": "Наведени наслов не постоји.",
"compare-revision-not-exists": "Наведена измена не постоји.",
+ "diff-form": "'''форма'''",
"dberr-problems": "Дошло је до техничких проблема.",
"dberr-again": "Сачекајте неколико минута и поново учитајте страницу.",
"dberr-info": "(Не могу приступити бази података: $1)",
"compare-invalid-title": "Navedeni naslov je neispravan.",
"compare-title-not-exists": "Navedeni naslov ne postoji.",
"compare-revision-not-exists": "Navedena izmena ne postoji.",
+ "diff-form": "'''forma'''",
"dberr-problems": "Došlo je do tehničkih problema.",
"dberr-again": "Sačekajte nekoliko minuta i ponovo učitajte stranicu.",
"dberr-info": "(Ne mogu pristupiti bazi podataka: $1)",
"compare-invalid-title": "Titeln du angav är ogiltig.",
"compare-title-not-exists": "Titeln du angav finns inte.",
"compare-revision-not-exists": "Versionen du angav finns inte.",
+ "diff-form": "ett '''formulär'''",
"dberr-problems": "Ursäkta! Denna sajt har just nu tekniska problem.",
"dberr-again": "Pröva med att vänta några minuter och ladda om.",
"dberr-info": "(Kan inte komma åt databasen: $1)",
"compare-invalid-title": "మీరు ఇచ్చిన శీర్షిక చెల్లనిది.",
"compare-title-not-exists": "మీరు పేర్కొన్న శీర్షిక లేనే లేదు.",
"compare-revision-not-exists": "మీరు పేర్కొన్న కూర్పు లేనే లేదు.",
+ "diff-form": "ఒక '''ఫారం'''",
"dberr-problems": "క్షమించండి! ఈ సైటు సాంకేతిక సమస్యలని ఎదుర్కొంటుంది.",
"dberr-again": "కొన్ని నిమిషాలాగి మళ్ళీ ప్రయత్నించండి.",
"dberr-info": "(డేటాబేసును చేరలేకున్నాం: $1)",
"compare-invalid-title": "ชื่อเรื่องที่คุณระบุไม่ถูกต้อง",
"compare-title-not-exists": "ชื่อเรื่องที่คุณระบุไม่มีอยู่",
"compare-revision-not-exists": "รุ่นที่คุณระบุไม่มีอยู่",
+ "diff-form": "'''แบบฟอร์ม'''",
"dberr-problems": "ขออภัย เว็บไซต์นี้กำลังพบกับข้อผิดพลาดทางเทคนิค",
"dberr-again": "กรุณารอสักครู่แล้วจึงโหลดใหม่",
"dberr-info": "(ไม่สามารถเข้าถึงฐานข้อมูล: $1)",
"compare-invalid-title": "Belirttiğiniz başlık geçersiz.",
"compare-title-not-exists": "Belirttiğiniz başlık mevcut değil.",
"compare-revision-not-exists": "Belirttiğiniz sürüm mevcut değil.",
+ "diff-form": "bir '''form'''",
"dberr-problems": "Üzgünüz! Bu site teknik zorluklar yaşıyor.",
"dberr-again": "Bir kaç dakika bekleyip tekrar yüklemeyi deneyin.",
"dberr-info": "(Veritabanı sunucusuyla irtibat kurulamıyor: $1)",
"아라",
"Macofe",
"Matma Rex",
- "Amire80"
+ "Amire80",
+ "Uzdil"
]
},
"tog-underline": "ئۇلانما ئاستى سىزىقى:",
- "tog-hideminor": "يېقىنقى ئۆزگەرتىشتە ئازراقلا تەھرىرنى يوشۇر",
- "tog-hidepatrolled": "يېقىنقى ئۆزگەرتىشتە كۆزەتكەن تەھرىرنى يوشۇر",
- "tog-newpageshidepatrolled": "يېڭى بەت تىزىملىكىدە كۆزەتكەن تەھرىرنى يوشۇر",
- "tog-extendwatchlist": "كۈچەيتىلگەن كۆزەت تىزىملىكىدە يېقىنقى ئۆزگەرتىشنىلا كۆرسەتمەي بەلكى ھەممە ئۆزگەرتىشنى كۆرسەت",
- "tog-usenewrc": "يېقىنقى ئۆزگەرتىش ۋە كۆزەت تىزىملىلىگىدىكى بەتلەر ئۆزگىرىشىگە ئاساسەن گۇرۇپپىلا",
+ "tog-hideminor": "يېقىنقى ئۆزگەرتىشىكى كىچىك تەھرىرلەشنى يوشۇرۇش",
+ "tog-hidepatrolled": "يېقىنقى ئۆزگەرتىشتە تەكشۈرۈلگەن تەھرىرلەشنى يوشۇرۇش",
+ "tog-newpageshidepatrolled": "يېڭى بەت تىزىملىكىدە كۆزەتكەن تەھرىرنى يوشۇرۇش",
+ "tog-hidecategorization": "بەت تۈرىنى يوشۇرۇش",
+ "tog-extendwatchlist": "كۆزىتىش تىزىملىكىدە يېقىنقى ئۆزگەرتىشنىلا كۆرسەتمەي بەلكى ھەممە ئۆزگەرتىشنى كۆرسىتىش",
+ "tog-usenewrc": "يېقىنقى ئۆزگەرتىش ۋە كۆزەت تىزىملىلىگىدىكى بەتلەر ئۆزگىرىشىگە ئاساسەن گۇرۇپپىلاش",
"tog-numberheadings": "ماۋزۇغا ئۆزلۈكىدىن تەرتىپ نومۇرى قوش",
"tog-showtoolbar": "تەھرىر قورال بالداقنى كۆرسەت",
"tog-editondblclick": "قوش چەككەندە بەت تەھرىرلە",
"tog-watchdefault": "مەن تەھرىرلىگەن بەت ۋە ھۆججەتنى كۆزەت تىزىملىكىمگە قوش",
"tog-watchmoves": "مەن يۆتكىگەن بەت ۋە ھۆججەتنى كۆزەت تىزىملىكىمگە قوش",
"tog-watchdeletion": "مەن ئۆچۈرگەن بەت ۋە ھۆججەتنى كۆزەت تىزىملىكىمگە قوش",
+ "tog-watchuploads": "يوللىغان يېڭى ھۆججەتلىرىمنى نازارەت تىزىملىكىگە قوشىمەن",
+ "tog-watchrollback": "قايتقان بەتلەرنى نازارەت تىزىملىكىمگە قوشىمەن",
"tog-minordefault": "ھەممە تەھرىرلەشنى ئازراقلا تەھرىرگە تەڭشە",
"tog-previewontop": "تەھرىر رامكىسىنىڭ ئۈستىدە ئالدىن كۆزىتىشنى كۆرسەت",
"tog-previewonfirst": "تۇنجى قېتىم تەھرىرلىگەندە ئالدىن كۆزىتىشنى كۆرسەت",
"tog-shownumberswatching": "بۇ بەتنى كۆزىتىۋاتقان ئىشلەتكۈچى سانىنى كۆرسەت",
"tog-oldsig": "نۆۋەتتىكى ئىمزا:",
"tog-fancysig": "ئىمزاغا wiki تېكستى سۈپىتىدە مۇئامىلە قىل (ئۆزلۈكىدىن ئۇلانما ھاسىل بولمايدۇ)",
- "tog-uselivepreview": "جاÙ\86Ù\84Ù\89Ù\82 ئاÙ\84دÙ\89Ù\86 Ù\83Û\86زÙ\89تÙ\89Ø´Ù\86Ù\89 ئÙ\89Ø´Ù\84Û\95ت (سÙ\89Ù\86اÙ\82)",
+ "tog-uselivepreview": "بÛ\95تÙ\86Ù\89 Ù\82اÚ\86Ù\89Ù\84Ù\89Ù\85اÙ\8a تÛ\87رÛ\87Ù¾ ئاÙ\84دÙ\89Ù\86 Ù\83Û\86رÛ\88Ø´Ù\86Ù\89 Ù\83Û\86رسÙ\89تÙ\89Ø´",
"tog-forceeditsummary": "ئۈزۈندە كىرگۈزمىگەندە مېنى ئەسكەرت",
- "tog-watchlisthideown": "كۆزەت تىزىملىكىدىن مېنىڭ تەھرىرلىگىنىمنى يوشۇر",
- "tog-watchlisthidebots": "كۆزەت تىزىملىكىدىن ماشىنا ئادەم تەھرىرلىگەننى يوشۇر",
- "tog-watchlisthideminor": "كۆزەت تىزىملىكىدىن ئازراقلا تەھرىرلىگەننى يوشۇر",
- "tog-watchlisthideliu": "كۆزەت تىزىملىكىدە تىزىمغا كىرگەن ئىشلەتكۈچىلەرنى يوشۇر",
- "tog-watchlisthideanons": "كۆزەت تىزىملىكىدە ئىمزاسىز ئىشلەتكۈچىلەرنى يوشۇر",
- "tog-watchlisthidepatrolled": "كۆزەت تىزىملىكىدىن كۆزىتىلگەن تەھرىرنى يوشۇر",
+ "tog-watchlisthideown": "كۆزىتىش تىزىملىكىدىن تەھرىرلىگىنىمنى يوشۇرىمەن",
+ "tog-watchlisthidebots": "كۆزىتىش تىزىملىكىدىن ماشىنا ئادەم تەھرىرلىگەننى يوشۇرۇش",
+ "tog-watchlisthideminor": "كۆزىتىش تىزىملىكىدىن ئازراقلا تەھرىرلىگەننى يوشۇرۇش",
+ "tog-watchlisthideliu": "كۆزىتىش تىزىملىكىدە تىزىمغا كىرگەن ئىشلەتكۈچىلەرنىڭ تەھرىرىنى يوشۇرۇش",
+ "tog-watchlisthideanons": "كۆزەت تىزىملىكىدە ئىمزاسىز ئابونتلارنى يوشۇرۇش",
+ "tog-watchlisthidepatrolled": "كۆزىتىش تىزىملىكىدىن كۆزىتىلگەن تەھرىرنى يوشۇرۇش",
+ "tog-watchlisthidecategorization": "بەت تۈرىنى يوشۇرۇش",
"tog-ccmeonemails": "مەن باشقىلارغا يوللىغان ئېلخەتنى ئۆزەمگىمۇ بىر نۇسخا يوللا",
"tog-diffonly": "تۈزىتىلگەن ئىككى نەشرىنىڭ پەرقىنى سېلىشتۇرغاندا بەت مەزمۇنىنى كۆرسەتمە",
"tog-showhiddencats": "يوشۇرۇن تۈرلەرنى كۆرسەت",
"tog-norollbackdiff": "قايتۇرۇشنى ئىجرا قىلغاندىن كېيىن پەرقنى كۆرسەتمە",
"tog-useeditwarning": "بىر تەھرىرلىگەن بەتنى ساقلىماي چېكىنگەندە مېنى ئەسكەرت",
- "tog-prefershttps": "تىزىمغا كىرگەندە دائىم بىخەتەر ئۇلىنىشنى ئىشلەت",
+ "tog-prefershttps": "تىزىمغا كىرگەندە دائىم بىخەتەر ئۇلىنىشنى ئىشلىتىمەن",
"underline-always": "دائىم",
"underline-never": "ھەرگىز",
"underline-default": "تېرە ياكى توركۆرگۈ كۆڭۈلدىكىسى",
"october-date": "$1- ئۆكتەبىر",
"november-date": "$1- نويابىر",
"december-date": "$1- دىكابىر",
+ "period-am": "چۈشتىن بۇرۇن",
+ "period-pm": "چۈشتىن كېيىن",
"pagecategories": "{{PLURAL:$1|تۈر|تۈرلەر}}",
"category_header": "\"$1\" تۈردىكى بەتلەر",
"subcategories": "تارماق تۈر",
"morenotlisted": "بۇ تىزىملىك تولۇق ئەمەس.",
"mypage": "بەت",
"mytalk": "مۇنازىرە بېتىم",
- "anontalk": "بۇ IP نىڭ مۇنازىرە بېتى",
+ "anontalk": "مۇنازىرە",
"navigation": "يولباشچى",
"and": " ۋە",
- "qbfind": "ئىزدە:",
- "qbbrowse": "كۆز يۈگۈرت",
- "qbedit": "تەھرىر",
- "qbpageoptions": "بۇ بەت",
- "qbmyoptions": "بەتلەرىم",
"faq": "كۆپ كۆرۈلىدىغان مەسىلىلەر",
- "faqpage": "Project:كۆپ كۆرۈلىدىغان مەسىلىلەر",
"actions": "مەشغۇلات",
"namespaces": "ئات بوشلۇقى",
"variants": "ۋارىيانتلار",
"help": "ياردەم",
"search": "ئىزدە",
"searchbutton": "ئىزدە",
- "go": "يۆتكەل",
- "searcharticle": "يۆتكەل",
+ "go": "يۆتكىلىش",
+ "searcharticle": "يۆتكىلىش",
"history": "بەتنىڭ تارىخى",
"history_short": "تارىخ",
+ "history_small": "تارىخ",
"updatedmarker": "مەن ئالدىنقى قېتىم زىيارەت قىلغاندىن بۇيانقى يېڭىلانغىنى",
- "printableversion": "باسÙ\82Ù\89Ù\84Ù\89 بÙ\88Ù\84Ù\89دÙ\89غاÙ\86 Ù\86Û\95شرى",
+ "printableversion": "باسÙ\85ا Ù\86Û\87سخÙ\89سى",
"permalink": "مەڭگۈلۈك ئۇلانما",
"print": "باس",
"view": "كۆرۈنۈش",
- "edit": "تەھرىر",
+ "view-foreign": "$1 دە كۆرۈش",
+ "edit": "تەھرىرلەش",
+ "edit-local": "يەرلىك ئىزاھاتنى تەھرىرلەش",
"create": "قۇر",
- "editthispage": "بۇ بەتنى تەھرىرلە",
- "create-this-page": "بۇ بەتنى قۇر",
+ "create-local": "يەرلىك ئىزاھات قوشۇش",
"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": "قۇرۇلۇش بېتىنى كۆرسەت",
+ "tool-link-userrights": "{{GENDER:$1|ئەزا}} گۇرۇپپىسىنى ئۆزگەرتىش",
"imagepage": "ھۆججەت بېتىنى كۆرسەت",
"mediawikipage": "ئۇچۇر بېتىنى كۆرسەت",
"templatepage": "قېلىپ بېتىنى كۆرسەت",
"otherlanguages": "باشقا تىلاردا",
"redirectedfrom": "(قايتا نىشان بەلگىلەش ئورنى $1)",
"redirectpagesub": "قايتا نىشان بەلگىلەنگەن بەت",
+ "redirectto": "قايتا نىشانلاش:",
"lastmodifiedat": "بۇ بەتنى $1 ئاخىرقى قېتىم $2 دا ئۆزگەرتكەن.",
"viewcount": "بۇ بەت {{PLURAL:$1|بىر قېتىم|$1 قېتىم}} زىيارەت قىلىندى.",
"protectedpage": "قوغدالغان بەت",
"pool-timeout": "قۇلۇپنى ساقلاش ۋاقىت ھالقىدى",
"pool-queuefull": "قاچا ئۆچرىتى توشتى",
"pool-errorunknown": "نامەلۇم خاتالىق",
+ "poolcounter-usage-error": "ئىشلىتىش خاتالىقى: $1",
"aboutsite": "{{SITENAME}} ھەققىدە",
"aboutpage": "Project:ھەققىدە",
"copyright": "خاتىرىلەنگەندىن باشقا تېكست مەزمۇنى $1 ماددىسىغا ئاساسەن تەمىنلىنىدۇ.",
"copyrightpage": "{{ns:project}}:نەشر ھوقۇقى",
"currentevents": "نۆۋەتتىكى ھادىسە",
"currentevents-url": "Project:نۆۋەتتىكى ھادىسە",
- "disclaimers": "ئاگاھلاندۇرۇشلار",
+ "disclaimers": "ھوقۇق باياناتى",
"disclaimerpage": "Project:ئومۇمىي ئاگاھلاندۇرۇش",
"edithelp": "تەھرىرلەش ياردىمى",
"mainpage": "باش بەت",
"newmessageslinkplural": "{{PLURAL:$1|بىر يېڭى ئۇچۇر|999=يېڭى ئۇچۇرلار}}",
"newmessagesdifflinkplural": "ئاخىرقى {{PLURAL:$1|ئۆزگەرتىش|999=ئۆزگەرتىشلەر}}",
"youhavenewmessagesmulti": "$1 دە يېڭى ئۇچۇرىڭىز بار",
- "editsection": "تەھرىر",
- "editold": "تەھرىر",
+ "editsection": "تەھرىرلەش",
+ "editold": "تەھرىرلەش",
"viewsourceold": "مەنبەنى كۆرسەت",
- "editlink": "تەھرىر",
+ "editlink": "تەھرىرلەش",
"viewsourcelink": "مەنبەنى كۆرسەت",
- "editsectionhint": "ئابزاس تەھرىر: $1",
+ "editsectionhint": "ئابزاس تەھرىرلەش: $1",
"toc": "مەزمۇنى",
"showtoc": "كۆرسەت",
- "hidetoc": "يوشۇر",
- "collapsible-collapse": "ئابزاس ئايرىمىسى يوشۇر",
+ "hidetoc": "يوشۇرۇش",
+ "collapsible-collapse": "قاتلاش",
"collapsible-expand": "ياي",
+ "confirmable-yes": "ھەئە",
+ "confirmable-no": "ياق",
"thisisdeleted": "كۆرسەت ياكى ئەسلىگە كەلتۈر $1 ؟",
"viewdeleted": "$1 كۆرسەت؟",
"restorelink": "{{PLURAL:$1|بىر ئۆچۈرۈلگەن نەشرى|$1 ئۆچۈرۈلگەن نەشرى}}",
"actionthrottled": "مەشغۇلات چەكلەندى",
"actionthrottledtext": "ئەخلەتكە قارشى تۇرۇش ئۆلچىمىگە ئاساسەن، سىز بۇ بىر بۆلۈك قىسقا ۋاقىتتا بۇ مەشغۇلاتنى ئېلىپ بېرىشىڭىزنى چەكلىدى، ئەمما سىز بۇ چەكتىن ئېشىپ كەتتىڭىز.\n\nبىر قانچە مىنۇتتىن كېيىن قايتا سىناڭ.",
"protectedpagetext": "بۇ بەت تەھرىرلەشنىڭ ئالدىنى ئېلىش ئۈچۈن قۇلۇپلانغان.",
- "viewsourcetext": "سÙ\89ز بÛ\87 بÛ\95تÙ\86Ù\89 ئÛ\95سÙ\84Ù\89 Ù\83Ù\88دÙ\89Ù\86Ù\89 Ù\83Û\86رÛ\95Ù\84Û\95Ù\8aسÙ\89ز Û\8bÛ\95 Ù\83Û\86Ú\86Û\88رÛ\95Ù\84Û\95Ù\8aسÙ\89ز:",
+ "viewsourcetext": "بÛ\87 بÛ\95تÙ\86Ù\89Ú Ø¦Û\95سÙ\84Ù\89 Ù\83Ù\88دÙ\89Ù\86Ù\89 Ù\83Û\86رÛ\95Ù\84Û\95Ù\8aسÙ\89ز Û\8bÛ\95 Ù\83Û\86Ú\86Û\88رÛ\95Ù\84Û\95Ù\8aسÙ\89ز.",
"viewyourtext": "بۇ بەتتىكى '''تەھرىرلىگەنلىرىڭىز'''نىڭ ئەسلى كودىنى كۆرۈپ كۆچۈرەلەيسىز.",
"protectedinterface": "بۇ بەت يۇمشاق دېتالنىڭ كۆرۈنۈش تېكستىنى تەمىنلىگەن، خالىغانچە تەھرىرلەشتىن ساقلىنىش ئۈچۈن قۇلۇپلانغان.\nمەسىلەن ئەگەر تەرجىمە قىلسىڭىز [https://translatewiki.net/wiki/Main_Page?setlang=ug translatewiki.net] ئۇنداقتا MediaWiki يەرلىكلەشتۈرۈش پىلانىنى ئىشلىتىشنى ئويلىشىڭ.",
"editinginterface": "'''ئاگاھلاندۇرۇش:''' سىز تەھرىرلەۋاتقان بەت يۇمشاق دېتالنىڭ كۆرۈنۈش تېكستىگە ئىشلىتىلىدۇ.\n\nبۇ بەت ئۆزگەرتىلسە باشقا ئىشلەتكۈچىلەرنىڭ كۆرۈنۈش ئۇسلۇبىغا تەسىر كۆرسىتىدۇ.\n\nمەسىلەن ئەگەر تەرجىمە قىلسىڭىز [https://translatewiki.net/wiki/Main_Page?setlang=ug translatewiki.net] ئۇنداقتا MediaWiki يەرلىكلەشتۈرۈش پىلانىنى ئىشلىتىشنى ئويلىشىڭ.",
"virus-scanfailed": "تەكشۈرۈش مەغلۇپ بولدى (كودى $1)",
"virus-unknownscanner": "نامەلۇم ۋىرۇسخور",
"logouttext": "'''ھازىر تىزىمدىن چىقتىڭىز.'''\n\nدىققەت، بەزى بەتلەر توركۆرگۈنىڭ غەملىكى تازىلانمىغۇچە يەنىلا سىزنى تىزىمغا كىرگەن ھالەتتە كۆرسىتىشى مۇمكىن.",
+ "cannotlogoutnow-title": "ھازىر چېكىنگىلى بولمايدۇ",
"welcomeuser": "$1، خۇش كەپسىز!",
"welcomecreation-msg": "ھېساباتىڭىز قۇرۇلدى.\n\n[[Special:Preferences|{{SITENAME}} تەڭشىكىڭىزنى تەڭشەشنى ئۇنتۇپ قالماڭ]].",
"yourname": "ئىشلەتكۈچى نامى:",
"createacct-yourpasswordagain-ph": "پارولنى قايتا كىرگۈزۈڭ",
"userlogin-remembermypassword": "مېنى ئەستە ساقلا",
"userlogin-signwithsecure": "بىخەتەر ئۇلىنىشنى ئىشلەت",
+ "cannotloginnow-title": "ھازىر كىرگىلى بولمايدۇ",
"yourdomainname": "دائىرە نامىڭىز:",
"password-change-forbidden": "بۇ ۋىكىدىكى پارولنى ئۆزگەرتەلمەيسىز.",
"externaldberror": "بۇ سانداننى دەلىللەش خاتالىقى ياكى سىرتقى ھېساباتىڭىزنى يېڭىلاشنى چەكلىگەنلىكتىن بولغان بولۇشى مۇمكىن.",
"login": "تىزىمغا كىر",
+ "login-security": "سالاھيىتىڭىزنى جەزىملەشتۈرۈڭ",
"nav-login-createaccount": "تىزىمغا كىر/ھېسابات قۇر",
- "logout": "تىزىمدىن چىق",
- "userlogout": "تىزىمدىن چىق",
+ "logout": "چېكىنىش",
+ "userlogout": "چېكىنىش",
"notloggedin": "تىزىمغا كىرمىدى",
"userlogin-noaccount": "ھېساباتىڭىز يوقمۇ؟",
"userlogin-joinproject": "{{SITENAME}} قا ئەزا بولۇڭ",
"createaccount": "ھېسابات قۇر",
"userlogin-resetpassword-link": "پارولىڭىزنى ئۇنتۇپ قالدىڭىزمۇ؟",
+ "userlogin-helplink2": "كىرىشتىن ياردەم",
"userlogin-loggedin": "سىز ئاللىقاچان {{GENDER:$1|$1}} ھالىتىدە تىزىمغا كىرىپ بولدىڭىز. تۆۋەندىكىلەرنى تولدۇرۇپ باشقا ئىشلەتكۈچى ھالىتىدە تىزىمغا كىرىڭ.",
"userlogin-createanother": "باشقا ھېسابات قۇرىمەن",
"createacct-emailrequired": "ئېلخەت ئادرېسى",
"createacct-reason": "سەۋەبى",
"createacct-reason-ph": "نېمىشقا باشقا ھېسابات قۇرماقچى بولدىڭىز",
"createacct-submit": "ھېساباتىڭىزنى قۇرۇڭ",
- "createacct-another-submit": "باشقا ھېسابات قۇرىمەن",
+ "createacct-another-submit": "ھېسابات قۇرۇش",
+ "createacct-continue-submit": "ئاككونت قۇرۇشنى داۋاملاشتۇرۇش",
+ "createacct-another-continue-submit": "ئاككونت قۇرۇشنى داۋاملاشتۇرۇش",
"createacct-benefit-heading": "{{SITENAME}} سىزگە ئوخشاش كىشىلەر تەرىپىدىن قۇرۇلغان.",
"createacct-benefit-body1": "{{PLURAL:$1|قېتىم}} تەھرىرلەنگەن",
"createacct-benefit-body2": "{{PLURAL:$1|بەت}}",
"nocookiesfornew": "ئىشلەتكۈچى ھېساباتى قۇرۇلمىدى، ئۇنىڭ مەنبەسىنى جەزملىيەلمەيمىز.\ncookies نى قوزغاتقانلىقىڭىزنى جەزملەڭ، بۇ بەتنى قايتا يۈكلەپ ئاندىن قايتا سىناڭ.",
"nocookiesforlogin": "{{int:nocookieslogin}}",
"noname": "سىز تېخى ئىناۋەتلىك ئىشلەتكۈچى نامىنى بەلگىلىمىدىڭىز.",
- "loginsuccesstitle": "تىزىمغا كىرىش مۇۋەپپەقىيەتلىك",
+ "loginsuccesstitle": "تىزىمغا كىردىڭىز",
"loginsuccess": "'''سىز {{SITENAME}} غا \"$1\" سالاھىيىتىدە كىردىڭىز.'''",
"nosuchuser": "\"$1\" ناملىق ئىشلەتكۈچىنى تاپالمىدى.\nئىشلەتكۈچى نامىنى تەكشۈرۈڭ.\nياكى [[Special:CreateAccount|يېڭى ھېسابات قۇرۇڭ]].",
"nosuchusershort": "\"$1\" ناملىق ئىشلەتكۈچى يوق.\nكىرگۈزگىنىڭىزنى تەكشۈرۈڭ.",
"suspicious-userlogout": "تىزىمدىن چىقىش ئىلتىماسىڭىز رەت قىلىندى، چۈنكى ئۇ بەلكىم بۇزۇلغان توركۆرگۈ ياكى غەملەك ۋاكالەتچىسى يوللىغان بولۇشى مۇمكىن.",
"createacct-another-realname-tip": "ھەقىقىي ئىسمىڭىز ئىختىيارى.\nئەگەر تەمىنلەشنى تاللىسىڭىز، ئۇ سىزنىڭ تۆھپىڭىزنىڭ ئىمزاسى بولىدۇ.",
"pt-login": "تىزىمغا كىرىڭ",
+ "pt-login-button": "كىرىش",
+ "pt-login-continue-button": "داۋاملىق كىرىش",
"pt-createaccount": "ھېسابات قۇر",
+ "pt-userlogout": "چېكىنىش",
"php-mail-error-unknown": "PHP نىڭ mail() فونكسىيەسىدىكى يوچۇن خاتالىق",
"user-mail-no-addy": "ئېلخەت ئادرېسسىز خەت يوللاشنى سىنىدى.",
"user-mail-no-body": "بوش ياكى مەزمۇنى قىسقا مۇۋاپىق بولمىغان تورخەت ئەۋەتىشنى سىنىدى.",
"changepassword": "پارولنى ئۆزگەرتىش",
- "resetpass_announce": "سىز ۋاقىتلىق ئېلخەت جەزملەش كودىدا تىزىمغا كىرگەن.\nتىزىمغا كىرىشنى تاماملاشتا، بۇ جايدا يېڭى ئىم بەلگىلىشىڭىز لازىم:",
+ "resetpass_announce": "كىرىشنى تاماملاشتا، چوقۇم يېڭى پارول بەلگىلەيسىز.",
"resetpass_text": "<!-- بۇ يەرگە تېكست قوشۇڭ -->",
"resetpass_header": "ھېسابات ئىمنى ئۆزگەرت",
"oldpassword": "كونا پارول:",
"resetpass_submit": "پارول بەلگىلەپ تىزىمغا كىرىڭ",
"changepassword-success": "پارولىڭىز ئوڭۇشلۇق ئۆزگەرتىلدى!",
"changepassword-throttled": "سىز بۇ ھېساباتتا تىزىمغا كىرىشنى كۆپ قېتىم سىنىدىڭىز.\n$1 ساقلاپ، ئاندىن قايتا سىناڭ.",
+ "botpasswords": "ماشىنا ئادەم پارولى",
+ "botpasswords-existing": "نۆۋەتتە بار ماشىنا ئادەم پارولى",
+ "botpasswords-createnew": "يېڭى ماشىنا ئادەم پارولى قۇرۇش",
+ "botpasswords-label-appid": "ماشىنا ئادەم نامى:",
+ "botpasswords-label-create": "قۇرۇش",
+ "botpasswords-label-update": "يېڭىلاش",
+ "botpasswords-label-cancel": "قالدۇرۇش",
+ "botpasswords-label-delete": "ئۆچۈرۈلگەن",
+ "botpasswords-label-resetpassword": "پارولنى ئەسلىگە قايتۇرماق",
+ "botpasswords-label-grants": "قوللىنىش ھوقۇقى:",
+ "botpasswords-label-grants-column": "ھوقۇقلۇق",
+ "botpasswords-created-title": "ماشىنا ئادەم پارولى قۇرۇلدى",
+ "botpasswords-updated-title": "ماشىنا ئادەم پارولى يېڭىلاندى",
+ "botpasswords-deleted-title": "ماشىنا ئادەم پارولى ئۆچۈرۈلدى",
"resetpass_forbidden": "پارولنى ئۆزگەرتەلمىدى",
+ "resetpass_forbidden-reason": "پارولنى ئۆزگەرتەلمىدى: $1",
"resetpass-no-info": "سىز تىزىمغا كىرگەندىن كېيىن بىۋاسىتە بۇ بەتكە كىرىشىڭىز لازىم.",
"resetpass-submit-loggedin": "پارولنى ئۆزگەرتىش",
"resetpass-submit-cancel": "ۋاز كەچ",
"passwordreset-emailtext-user": "{{SITENAME}} دىكى ئىشلەتكۈچى $1 بېكەت {{SITENAME}} ($4) دىكى پارولىڭىزنى قايتا بېكىتىشنى ئىلتىماس قىلدى .\nتۆۋەندىكى ئىشلەتكۈچىنىڭ {{PLURAL:$3|ھېسابات|ھېسابات}}($4)ى مۇشۇ ئېلخەتكە باغلانغان:\n\n$2\n\n{{PLURAL:$3|بۇ ۋاقىتلىق پارول|بۇ ۋاقىتلىق پارول}} {{PLURAL:$5|بىر كۈن|$5 كۈن}}دە ۋاقتى ئۆتىدۇ. ئەگەر بۇ مەشغۇلاتنى سىز ئىلتىماس قىلغان بولسىڭىز، دەرھال تىزىمغا كىرىپ يېڭى پارولدىن بىرنى تاللاڭ.\nسىز بەلگىلىگەن يېڭى پارول {{PLURAL:$5|كۈن|$5 كۈن}}دە ۋاقتى توشىدۇ. ئەگەر باشقىلار ئىلتىماس قىلغان بولسا ياكى ئۆزىڭىز بەلگىلىگەن پارول ئېسىڭىزگە كېلىپ ئۇنى ئۆزگەرتمىسىڭىز، \nبۇ ئۇچۇرغا پەرۋا قىلماي ئۆزىڭىزنىڭ كونا پارولىنى ئىشلىتىۋېرىڭ.",
"passwordreset-emailelement": "ئىشلەتكۈچى نامى: \n$1\n\nۋاقىتلىق پارول: \n$2",
"passwordreset-emailsentemail": "پارولنى قايتا بېكىتىش ئېلخېتى يوللاندى.",
+ "passwordreset-nocaller": "چوقۇم بىر يۆتكەپ ئىشلەتكۈچى تەمىنلەڭ",
+ "passwordreset-nosuchcaller": "يۆتكەپ ئىشلەتكۈچى تەرەپ مەۋجۇت ئەمەس: $1",
+ "passwordreset-invalidemail": "ئىناۋەتسىز ئېلخەت ئادرېسى",
"changeemail": "ئېلخەت ئادرېس ئۆزگەرت",
"changeemail-header": "ھېساباتنىڭ ئېلخەت ئادرېسىنى ئۆزگەرت",
"changeemail-no-info": "سىز تىزىمغا كىرگەندىن كېيىن بىۋاسىتە بۇ بەتكە كىرىشىڭىز لازىم.",
"sig_tip": "ۋاقىت تامغىلىق ئىمزايىڭىز",
"hr_tip": "توغرىسىغا سىزىق (ئېھتىيات بىلەن ئىشلىتىڭ)",
"summary": "ئۈزۈندە",
- "subject": "تېما/ماۋزۇ:",
+ "subject": "ماۋزۇ:",
"minoredit": "بۇ ئازراقلا تەھرىرلەش",
- "watchthis": "بۇ بەتنى كۆزەت",
+ "watchthis": "بۇ بەتنى كۆزىتىش",
"savearticle": "بەت ساقلا",
+ "savechanges": "ئۆزگەرتىشنى ساقلاش",
+ "publishpage": "بەتنى ئېلان قىلىش",
+ "publishchanges": "يوللىغاننى ئۆزگەرتىش",
"preview": "ئالدىن كۆزەت",
"showpreview": "ئالدىن كۆزىتىشنى كۆرسەت",
"showdiff": "ئۆزگەرتىشنى كۆرسەت",
"missingsummary": "'''ئەسكەرتىش:''' سىز تەھرىرلەش ئۈزۈندىسى تەمىنلىمىدىڭىز. .\nئەگەر ساقلانى يەنە بىر قېتىم چەكسىڭىز، تەھرىرلىگىنىڭىزنى ئۈزۈندە يوق ھالەتتە ساقلايدۇ.",
"missingcommenttext": "تۆۋەندە ئىزاھات كىرگۈزۈڭ.",
"missingcommentheader": "'''ئەسكەرتىش:''' سىز ئىزاھاتقا ماۋزۇ تەمىنلىمىدىڭىز.\nئەگەر \"$1\"نى يەنە بىر قېتىم چەكسىڭىز، تەھرىرلىگىنىڭىزنى ماۋزۇسىز ھالەتتە ساقلايدۇ.",
- "summary-preview": "ئۈزۈندە ئالدىن كۆزىتىش:",
- "subject-preview": "تېما/ماۋزۇنى ئالدىن كۆزەت:",
+ "summary-preview": "ئۈزۈندىنى ئالدىن كۆزىتىش:",
+ "subject-preview": "ماۋزۇنى ئالدىن كۆرۈش:",
"blockedtitle": "ئىشلەتكۈچى چەكلەنگەن",
"blockedtext": "'''ئىشلەتكۈچى ئاتىڭىز ياكى IP ئادرېسىڭىزنى $1 چەكلىگەن .'''\n\n بۇنى $1 چەكلىگەن.\nسەۋەبى ''$2''.\n\n* چەكلەش باشلانغان ۋاقىت: $8\n* چەكلەش ئاخىرلىشىدىغان ۋاقىت: $6\n* چەكلەنگۈچى: $7\n\n $1 بىلەن ئالاقىلىشىڭ ياكى باشقا [[{{MediaWiki:Grouppage-sysop}}|باشقۇرغۇچى]] بىلەن بۇ قېتىملىق چەكلەشنى سۆزلىشىشڭ.\nسىز [[Special:Preferences|ھېسابات مايىللىقى]] تەڭشىكىڭىزدە ئىناۋەتلىك ئېلخەت ئادرېسى بەلگىلىمىگەن بولسىڭىز، 'بۇ ئىشلەتكۈچىگە ئېلخەت يوللا' ئىقتىدارىنى ئىشلىتەلمەيسىز. ئىناۋەتلىك ئېلخەتتىن بىرنى بەلگىلىگەندىن كېيىن، بۇ ئىقتىدار چەكلەنمەيدۇ.\nسىزنىڭ نۆۋەتتىكى IP ئادرېسىڭىز $3، چەكلەنگەن كىملىك #$5.\nسوئالىڭىزدا يۇقىرىقى بارلىق ماتېرىياللارنى ئىزاھلاڭ.",
"autoblockedtext": "IP ئادرېسىڭىز ئاپتوماتىك چەكلەنگەن، چۈنكى ئىلگىرى باشقا بىر ئىشلەتكۈچىنى $1 چەكلىگەن.\nچەكلەش سەۋەبى:\n\n''$2''.\n\n* چەكلەش باشلانغان ۋاقىت: $8\n* چەكلەش ئاخىرلىشىدىغان ۋاقىت: $6\n* چەكلەنگۈچى: $7\n\n $1 بىلەن ئالاقىلىشىڭ ياكى باشقا [[{{MediaWiki:Grouppage-sysop}}|باشقۇرغۇچى]] بىلەن بۇ قېتىملىق چەكلەشنى سۆزلىشىشڭ.\nسىز [[Special:Preferences|ھېسابات مايىللىقى]] تەڭشىكىڭىزدە ئىناۋەتلىك ئېلخەت ئادرېسى بەلگىلىمىگەن بولسىڭىز، 'بۇ ئىشلەتكۈچىگە ئېلخەت يوللا' ئىقتىدارىنى ئىشلىتەلمەيسىز. ئىناۋەتلىك ئېلخەتتىن بىرنى بەلگىلىگەندىن كېيىن، بۇ ئىقتىدار چەكلەنمەيدۇ.\nسىزنىڭ نۆۋەتتىكى IP ئادرېسىڭىز $3، چەكلەنگەن كىملىك #$5.\nسوئالىڭىزدا يۇقىرىقى بارلىق ماتېرىياللارنى ئىزاھلاڭ.",
"updated": "(يېڭىلاندى)",
"note": "'''ئىزاھات:'''",
"previewnote": "'''ئېسىڭىزدە بولسۇنكى بۇ پەقەتلا ئالدىن كۆزىتىش.'''\nئۆزگەرتكەن مەزمۇنىڭىز تېخى ساقلانمىدى!",
- "continue-editing": "تەھرىرلەشكە يۆتكەل",
+ "continue-editing": "تەھرىرلەش رايونىغا كۆچۈش",
"previewconflict": "بۇ ئالدىن كۆزىتىشتە ئۈستىدىكى تېكست تەھرىرلەش رايونىدىكى مەزمۇننى كۆرسەتتى. ئۇ ساقلانى تاللىغاندىن كېيىن كۆرۈنىدۇ.",
"session_fail_preview": "'''كەچۈرۈڭ! سىزنىڭ جەريان سانلىق مەلۇماتىڭىز يوقاپ كەتكەندە ئېلىپ بارغان تەھرىرىڭىزنى بىر تەرەپ قىلالمايمىز.'''\nقايتا سىناڭ.\nئەگەر يەنىلا مەغلۇپ بولسا، [[Special:UserLogout|تىزىمدىن چىق]]قاندىن كېيىن قايتا تىزىمغا كىرىڭ.",
"session_fail_preview_html": "'''كەچۈرۈڭ! سىزنىڭ جەريان سانلىق مەلۇماتىڭىز يوقاپ كەتكەندە ئېلىپ بارغان تەھرىرىڭىزنى بىر تەرەپ قىلالمايمىز.'''\n\n''چۈنكى {{SITENAME}} بېكىتى ئەسلى HTML ئىشلىتىشكە يول قويىدۇ، JavaScript ھۇجۇمىنىڭ ئالدىنى ئېلىش ئۈچۈن، ئالدىن كۆزىتىش يوشۇرۇلدى.''\n\n'''ئەگەر بۇ قانۇنلۇق تەھرىرلەش بولسا قايتا سىناڭ'''\nئەگەر ئۇنداق بولمىسا [[Special:UserLogout|تىزىمدىن چىق]]ىپ قايتا تىزىمغا كىرىڭ.",
"permissionserrorstext": "تۆۋەندىكى {{PLURAL:$1|سەۋەپ|سەۋەپ}}: تۈپەيلىدىن تۆۋەندىكى مەشغۇلاتنى ئېلىپ بېرىش ھوقۇقىڭىز يوق.",
"permissionserrorstext-withaction": "{{PLURAL:$1|سەۋەب|سەۋەبلەر}} تۈپەيلىدىن $2 مەشغۇلاتى ئېلىپ بېرىش ھوقۇقىڭىز يوق:",
"recreate-moveddeleted-warn": "'''ئاگاھلاندۇرۇش: ئىلگىرى ئۆچۈرگەن ھۆججەتتىن بىرنى قۇرۇۋاتىسىز.'''\n\nبۇ ھۆججەتنى قايتا يۈكلەشنىڭ مۇۋاپىق ياكى ئەمەسلىكىنى ئويلىنىپ بېقىڭ.\nقولايلىق بولۇشى ئۈچۈن بۇ ھۆججەتنىڭ ئۆچۈرۈش خاتىرىسى تۆۋەندە تەمىنلەندى:",
- "moveddeleted-notice": "بۇ بەت ئۆچۈرۈلگەن.\nبۇ بەتنىڭ ئۆچۈرۈش ۋە يۆتكەش خاتىرىسى پايدىلىنىش ئۈچۈن تۆۋەندە كۆرسىتىلدى.",
+ "moveddeleted-notice": "بۇ بەت ئۆچۈرۈلدى.\nتۆۋەندە بۇ بەتنىڭ ئۆچۈرۈش، قوغداش ۋە يۆتكەش خاتىرىسى پايدىلىنىش ئۈچۈن تەمىنلەندى.",
"log-fulllog": "تولۇق خاتىرىنى كۆرسەت",
"edit-hook-aborted": "تەھرىر ئىلمەك تەرىپىدىن چېكىندۈرۈلدى\nئۇ سەۋەبىنى تەمىنلىمىدى.",
"edit-gone-missing": "بۇ بەتنى يېڭىلىيالمايدۇ.\nئۇ بايىلا ئۆچۈرۈلگەن بولۇشى مۇمكىن.",
"parser-template-recursion-depth-warning": "قايتىلانما ئىپادە چوڭقۇر چەكلىمىسىدىن ئېشىپ كەتتى ($1)",
"language-converter-depth-warning": "تىل ئالماشتۇرۇش چوڭقۇرلۇقى چەكتىن ئاشتى ($1)",
"node-count-exceeded-category": "بەتنىڭ نۇقتا سانى چەكتىن ئېشىپ كەتتى",
- "node-count-exceeded-warning": "بەت نۇقتا سانىدىن ئېشىپ كەتتى",
+ "node-count-exceeded-warning": "بەت نۇقتا چەكلىمە سانىدىن ئېشىپ كەتتى",
"expansion-depth-exceeded-category": "كېڭەيتىلگەن چوڭقۇرلۇق بەت چەكلىمىسىدىن ئېشىپ كەتتى",
"expansion-depth-exceeded-warning": "بەت كېڭەيتىلگەن چوڭقۇرلۇقتىن ئېشىپ كەتتى",
"parser-unstrip-loop-warning": "دەۋرىيلىك بايقالدى",
"page_first": "تۇنجى",
"page_last": "ئاخىرقى",
"histlegend": "پەرق تاللاش: سېلىشتۇرىدىغان ئۆزگەرتىلگەن نەشرىنىڭ يەككە تاللاش كۇنۇپكىسىغا بەلگە سېلىپ، ئاستىدىكى كۇنۇپكىنى چېكىپ سېلىشتۇرۇڭ. <br />\nچۈشەندۈرۈش: '''({{int:cur}})'' نۆۋەتتىكى نەشرى بىلەن سېلىشتۇرۇشنى كۆرسىتىدۇ.\n '''({{int:last}})''' ئالدىنقى ئۆزگەرتىلگەن نەشرى بىلەن سېلىشتۇرۇشنى كۆرسىتىدۇ.\n '''{{int:minoreditletter}}''' ئازراقلا ئۆزگەرتىش.",
- "history-fieldset-title": "تارÙ\89Ø®Ù\89Ù\86Ù\89 Ù\83Û\86رسÛ\95ت",
+ "history-fieldset-title": "ئÛ\86زگÛ\95رتÙ\89Ù\84Ú¯Û\95Ù\86 Ù\86Û\95Ø´Ù\89رÙ\89Ù\86Ù\89 ئÙ\89زدÛ\95Ø´",
"history-show-deleted": "ئۆچۈرۈلگەننىلا",
"histfirst": "ئەڭ كونا",
"histlast": "ئەڭ يېڭى",
"rev-deleted-comment": "(تەھرىرلەش ئۈزۈندىسى چىقىرىۋېتىلدى)",
"rev-deleted-user": "(ئىشلەتكۈچى نامى چىقىرىۋېتىلدى)",
"rev-deleted-event": "(خاتىرە مەشغۇلاتى چىقىرىۋېتىلدى)",
- "rev-deleted-user-contribs": "[ئىشلەتكۈچى نامى ياكى IP ئادرېس چىقىرىۋېتىلدى - تۆھپىدىن تەھرىرنى يوشۇر]",
+ "rev-deleted-user-contribs": "[ئىشلەتكۈچى نامى ياكى IP ئادرېس چىقىرىۋېتىلدى - تۆھپىە تەھرىرلەشكە يوشۇرۇلدى]",
"rev-deleted-text-permission": "'''ئاگاھلاندۇرۇش: بۇ بەتنىڭ تۈزىتىلگەن نەشرى'''ئۆچۈرۈلگەن'''\n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ئۆچۈرۈش خاتىرىسى]دىن تەپسىلىي ئۇچۇرنى تاپقىلى بولىدۇ.",
"rev-deleted-text-unhide": "بۇ بەتنىڭ تۈزىتىلگەن نەشرى '''ئۆچۈرۈلگەن'''.\n[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ئۆچۈرۈش خاتىرىسى]دىن تەپسىلىي ئۇچۇرنى تاپقىلى بولىدۇ.\nداۋاملاشتۇرماقچى بولسىڭىز يەنىلا [$1 بۇ نەشرىنى كۆرسەت]ەلەيسىز.",
"rev-suppressed-text-unhide": "بۇ بەتنىڭ تۈزىتىلگەن نەشرى '''نازارەتچى يوشۇرغان'''.\n[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} نازارەتچى يوشۇرۇش خاتىرىسى]دىن تەپسىلىي ئۇچۇرنى تاپقىلى بولىدۇ. ئەگەر داۋاملاشتۇرماقچى بولسىڭىز يەنىلا [$1 بۇ تۈزىتىلگەن نەشرىنى كۆرسەت]ەلەيسىز.",
"rev-suppressed-unhide-diff": "بۇ بەتنىڭ تۈزىتىلگەن نەشرى '''نازارەتچى يوشۇرغان'''.\n[{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} نازارەتچى يوشۇرۇش خاتىرىسى]دىن تەپسىلىي ئۇچۇرنى تاپقىلى بولىدۇ. ئەگەر داۋاملاشتۇرماقچى بولسىڭىز يەنىلا [$1 بۇ تۈزىتىلگەن نەشرىنى كۆرسەت]ەلەيسىز.",
"rev-deleted-diff-view": "بۇ بەتنىڭ بىر قېتىملىق تۈزىتىلگەن نەشرى '''ئۆچۈرۈلگەن'''\nبۇ پەرقنى كۆرەلەيسىز.: تەپسىلاتىنى [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ئۆچۈرۈش خاتىرىسى]دىن تاپالايسىز.",
"rev-suppressed-diff-view": "بۇ بەتنىڭ بىر قېتىملىق تۈزىتىلگەن نەشرى '''نازارەتچى يوشۇرغان'''.\nبۇ پەرقنى كۆرەلەيسىز.: تەپسىلاتىنى [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} نازارەتچى يوشۇرۇش خاتىرىسى]دىن تاپالايسىز.",
- "rev-delundel": "كۆرسەت/يوشۇر",
+ "rev-delundel": "كۆرسىتىش ھالىتىنى ئۆزگەرتىش",
"rev-showdeleted": "كۆرسەت",
"revisiondelete": "تۈزىتىلگەن نەشرىنى ئۆچۈر/ئەسلىگە كەلتۈر",
"revdelete-nooldid-title": "ئىناۋەتسىز نىشان تۈزىتىش نەشرى",
"revdelete-legend": "كۆرۈنۈشچانلىق چەكلىمە تەڭشىكى",
"revdelete-hide-text": "تۈزىتىلگەن تېكىست",
"revdelete-hide-image": "ھۆججەت مەزمۇنىنى يوشۇر",
- "revdelete-hide-name": "Ù\85Û\95شغÛ\87Ù\84ات Û\8bÛ\95 Ù\86Ù\89شاÙ\86Ù\86Ù\89 Ù\8aÙ\88Ø´Û\87ر",
+ "revdelete-hide-name": "Ù\86Ù\89شاÙ\86 Û\8bÛ\95 ساÙ\86Ù\84Ù\89Ù\82 ئÛ\87Ú\86Û\87رÙ\86Ù\89 Ù\8aÙ\88Ø´Û\87رÛ\87Ø´",
"revdelete-hide-comment": "تەھرىر ئىزاھاتىنى يوشۇر",
- "revdelete-hide-user": "تەھرىرلىگۈچىنىڭ نامى/IP ئادرېسىنى يوشۇر",
+ "revdelete-hide-user": "تەھرىرلىگۈچىنىڭ نامى/IP ئادرېسىنى يوشۇرۇش",
"revdelete-hide-restricted": "مەشغۇلاتچى ۋە باشقا ئىشلەتكۈچىنىڭ سانلىق مەلۇمات كۆرۈشىنىمۇ چەكلە",
"revdelete-radio-same": "(ئۆزگەرتمە)",
"revdelete-radio-set": "يوشۇرۇن",
"search-file-match": "(ھۆججەت مەزمۇنى ماس كەلگەن)",
"search-suggest": "ئىزدىمەكچى بولغىنىڭىز: $1",
"search-interwiki-caption": "ھەمشىرە قۇرۇلۇشلار",
- "search-interwiki-default": "$1 نەتىجە:",
+ "search-interwiki-default": "$1 دىكى نەتىجە:",
"search-interwiki-more": "(تېخىمۇ كۆپ)",
"search-relatedarticle": "ئالاقىدار",
"searchrelated": "ئالاقىدار",
"search-error": "ئىزدەش جەريانىدا بىر خاتالىق يۈز بەردى: $1",
"preferences": "مايىللىق",
"mypreferences": "مايىللىق",
- "prefs-edits": "تەھرىر سانى:",
+ "prefs-edits": "تەھرىرلەش قېتىم سانى:",
"prefsnologintext2": "مايىللىقىڭىزنى ئۆزگەرتىش ئۈچۈن $1.",
"prefs-skin": "تېرە",
"skin-preview": "ئالدىن كۆزەت",
"prefs-watchlist": "كۆزەت تىزىملىكى",
"prefs-watchlist-days": "كۆزەت تىزىملىكىدە كۆرۈنىدىغان كۈن سانى:",
"prefs-watchlist-days-max": "ئەڭ چوڭ 1$ {{PLURAL:$1|كۈن}}",
- "prefs-watchlist-edits": "Ù\83Û\88Ú\86Û\95Ù\8aتÙ\89Ù\84Ú¯Û\95Ù\86 Ù\83Û\86زÛ\95ت تÙ\89زÙ\89Ù\85Ù\84Ù\89Ù\83Ù\89دÛ\95 ئÛ\95Ú Ù\83Û\86Ù¾ ئÛ\86زگÛ\95رتÙ\89Ø´ ساÙ\86Ù\89:",
+ "prefs-watchlist-edits": "Ù\83Û\86زÙ\89تÙ\89Ø´ تÙ\89زÙ\89Ù\85Ù\84Ù\89Ù\83Ù\89دÛ\95 ئÛ\95Ú Ù\83Û\86Ù¾ ئÛ\86زگÛ\95رتÙ\89Ø´ ساÙ\86Ù\89Ù\86Ù\89 Ù\83Û\86رسÙ\89تÙ\89Ø´:",
"prefs-watchlist-edits-max": "ئەڭ كۆپ سانى: 1000",
"prefs-watchlist-token": "كۆزەت تىزىملىك نىشانى:",
"prefs-misc": "ئارىلاشما تۈر",
"prefs-rendering": "كۆرۈنۈش",
"saveprefs": "ساقلا",
"restoreprefs": "بارلىق كۆڭۈلدىكى تەڭشەكنى ئەسلىگە كەلتۈر (بارلىق بۆلەكلەردە)",
- "prefs-editing": "تەھرىر",
+ "prefs-editing": "تەھرىرلەش",
"searchresultshead": "ئىزدە",
"stub-threshold": "<a href=\"#\" class=\"stub\">قىسقا بەت ئۇلانمىسى</a> فورمات چەك قىممىتى (بايت) :",
"stub-threshold-disabled": "چەكلەنگەن",
"prefs-tokenwatchlist": "ئاچقۇچ",
"prefs-diffs": "پەرقلەر",
"prefs-help-prefershttps": "بۇ سەپلەك، سىز قايتا تىزىمغا كىرگەندە ئىشلەيدۇ.",
- "userrights": "ئىشلەتكۈچى ھوقۇقى باشقۇرۇش",
- "userrights-lookup-user": "ئىشلەتكۈچى گۇرۇپپىسى باشقۇرۇش",
+ "userrights": "ئابونت ھوقۇقى",
+ "userrights-lookup-user": "ئەزا تاللاڭ",
"userrights-user-editname": "ئىشلەتكۈچى ئاتى كىرگۈزۈڭ:",
- "editusergroup": "ئىشلەتكۈچى گۇرۇپپىسى تەھرىر",
+ "editusergroup": "ئىشلەتكۈچى گۇرۇپپىسى",
"editinguser": "ئىشلەتكۈچى '''[[User:$1|$1]]''' $2 نىڭ ھوقۇقىنى ئۆزگەرتىۋاتىدۇ",
"userrights-editusergroup": "ئىشلەتكۈچى گۇرۇپپىسى تەھرىر",
"saveusergroups": "ئىشلەتكۈچى گۇرۇپپىسى ساقلا",
"right-reupload": "مەۋجۇد ھۆججەتنى قاپلا",
"right-reupload-own": "ئوخشاش بىر ئادەم يوللىغان ھۆججەتنى قاپلىۋەت",
"right-reupload-shared": "ئېتىبارغا ئېلىنمايدىغان يەرلىك ھەمبەھىر كۆپ ۋاسىتە ئامبىرىدىكى ھۆججەت",
- "right-upload_by_url": "URL دىن ھۆججەت يۈكلە",
+ "right-upload_by_url": "URL دىن ھۆججەت يۈكلەش",
"right-purge": "جەزملەشنى سورىمايلا تور بېكەت غەملىكىنى تازىلا",
"right-autoconfirmed": "يېرىم قوغدالغان بەت تەھرىر",
"right-bot": "ئاپتوماتىك جەريان دەپ قارىلىدۇ",
"recentchanges-label-minor": "بۇ ئازراقلا تەھرىرلەش",
"recentchanges-label-bot": "بۇ تەھرىرنى ماشىنا ئادەم ئېلىپ بارغان",
"recentchanges-label-unpatrolled": "بۇ تەھرىر تېخى كۆزىتىلمىگەن",
+ "recentchanges-legend-heading": "<strong>ئىزاھات:</strong>",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (بۇنىڭغىمۇ قاراڭ [[Special:NewPages|يېڭى بەتلەر تىزىملىگى]])",
"rcnotefrom": "تۆۋەندىكىسى '''$2''' نىڭ ئۆزگەرتىشى (ئەڭ كۆپ بولغاندا '''$1''' كۆرسىتىدۇ )",
"rclistfrom": "$3 $2 دىن باشلانغان يېڭى ئۆزگەرتىشنى كۆرسەت",
- "rcshowhideminor": "$1 ئازراقلا تەھرىر",
+ "rcshowhideminor": "$1 ئازراقلا تەھرىرلەش",
+ "rcshowhideminor-show": "كۆرسىتىش",
+ "rcshowhideminor-hide": "يوشۇر",
"rcshowhidebots": "$1 ماشىنا ئادەمنىڭ تەھرىرى",
+ "rcshowhidebots-show": "كۆرسەت",
+ "rcshowhidebots-hide": "يوشۇرۇش",
"rcshowhideliu": "$1 خەتلەنگەن ئىشلەتكۈچى",
+ "rcshowhideliu-show": "كۆرسىتىش",
+ "rcshowhideliu-hide": "يوشۇرۇش",
"rcshowhideanons": "$1 ئىمزاسىز ئىشلەتكۈچى تەھرىرى",
- "rcshowhidepatr": "$1 كۆزىتىلگەن تەھرىر",
+ "rcshowhideanons-show": "كۆرسىتىش",
+ "rcshowhideanons-hide": "يوشۇر",
+ "rcshowhidepatr": "$1 كۆزىتىلگەن تەھرىرلەش",
"rcshowhidemine": "$1 مېنىڭ تەھرىرىم",
+ "rcshowhidemine-show": "كۆرسىتىش",
+ "rcshowhidemine-hide": "يوشۇرۇش",
"rclinks": "يېقىنقى $2 كۈن ئىچىدىكى ئەڭ يېڭى $1 قېتىملىق ئۆزگەرتىشنى كۆرسەت.",
"diff": "پەرق",
"hist": "تارىخ",
- "hide": "يوشۇر",
+ "hide": "يوشۇرۇش",
"show": "كۆرسەت",
"minoreditletter": "ئازراقلا",
"newpageletter": "يېڭى",
"unpatrolledletter": "!",
"number_of_watching_users_pageview": "[$1 {{PLURAL:$1|ئىشلەتكۈچى|ئىشلەتكۈچى}}كۆزىتىۋاتىدۇ]",
"rc_categories": "تۈر چېگرىسى (\"|\" بىلەن ئايرىلىدۇ )",
- "rc_categories_any": "خالىغان",
+ "rc_categories_any": "خالىغانچە تاللاش",
"rc-change-size": "$1",
"rc-change-size-new": "ئۆزگەرتكەندىن كېيىن $1 {{PLURAL:$1|بايت}}",
"newsectionsummary": "* $1 * يېڭى ئابزاس",
"rc-enhanced-expand": "تەپسىلاتىنى كۆرسەت",
- "rc-enhanced-hide": "تەپسىلاتىنى يوشۇر",
+ "rc-enhanced-hide": "تەپسىلاتىنى يوشۇرۇش",
"rc-old-title": "ئەڭ دەسلەپتە \"$1\" سۈپىتىدە قۇرۇلغان",
"recentchangeslinked": "مۇناسىۋەتلىك ئۆزگەرتىشلەر",
"recentchangeslinked-feed": "مۇناسىۋەتلىك ئۆزگەرتىشلەر",
"recentchangeslinked-summary": "بۇ ئالاھىدە بەت يۈزى كۆرسەتكەن بەتتىن ئۇلىنىپ چىققان يېقىنقى ئۆزگەرتىش تىزىملىكى (ياكى ئالاھىدە تۈرنىڭ ئەزاسى).\n [[Special:Watchlist|كۆزەت تىزىملىكىڭىز]] دىكى بەت يۈزى '''توم''' كۆرسىتىلىدۇ.",
"recentchangeslinked-page": "بەت نامى:",
"recentchangeslinked-to": "بېرىلگەن بەتكە ئۇلانغان ئۆزگەرتىشنى كۆرسەت",
- "upload": "ھۆججەت يۈكلە",
- "uploadbtn": "ھۆججەت يۈكلە",
+ "upload": "ھۆججەت يۈكلەش",
+ "uploadbtn": "ھۆججەت يۈكلەش",
"reuploaddesc": "يۈكلەشتىن ۋاز كېچىپ، يۈكلەش كۆزنىكىگە قايت",
"upload-tryagain": "ئۆزگەرتىلگەن ھۆججەت چۈشەندۈرۈشى يوللا",
"uploadnologin": "تىزىمغا كىرمىدى",
"uploaderror": "يۈكلەش خاتالىقى",
"upload-recreate-warning": "'''ئاگاھلاندۇرۇش: ئوخشاش ئاتلىق ھۆججەتتىن بىرى ئىلگىرى ئۆچۈرۈلگەن ياكى باشقا جايغا يۆتكەلگەن.'''\nپايدىلىنىش ئۈچۈن بۇ بەتنىڭ ئۆچۈرۈش ۋە يۆتكەش خاتىرىسى بۇ جايدا تەمىنلەندى:",
"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": "يول قويىدىغان ھۆججەت تىپى: $1",
- "upload-preferred": "تەۋسىيىلىك ھۆججەت تىپى: $1",
- "upload-prohibited": "چەكلەيدىغان ھۆججەت تىپى: $1",
+ "upload-permitted": "يول قويىدىغان ھۆججەت {{PLURAL:$2|تىپى}}: $1",
+ "upload-preferred": "تەۋسىيىلىك ھۆججەت {{PLURAL:$2|تىپى}}: $1",
+ "upload-prohibited": "چەكلەيدىغان ھۆججەت {{PLURAL:$2|تىپى}}: $1",
"uploadlogpage": "خاتىرە يۈكلە",
"uploadlogpagetext": "تۆۋەندىكىسى يېقىندا يوللانغان ھۆججەت تىزىملىكى.\\n\n [[Special:NewFiles|يېڭى ھۆججەت كارىدورى]]دىن تېخىمۇ كۆپ سۈرەتلەرنى كۆرۈڭ.",
"filename": "ھۆججەت ئاتى",
"nopagetext": "سىز بەلگىلىگەن نىشان بەت مەۋجۇد ئەمەس.",
"pager-newer-n": "{{PLURAL:$1|يېڭى 1|يېڭى $1}}",
"pager-older-n": "{{PLURAL:$1|كونا 1|كونا $1}}",
- "suppress": "نازارەتچى",
+ "suppress": "چەكلەش",
"querypage-disabled": "بۇ ئالاھىدە بەت ئۈنۈم سەۋەبىدىن چەكلەندى.",
"apisandbox": "API قۇم ساندۇقى",
"apisandbox-api-disabled": "مەزكۇر بېكەتتە API چەكلەندى.",
"apisandbox-submit": "ئىلتىماس يوللا",
"apisandbox-reset": "تازىلا",
"apisandbox-examples": "مىسال",
- "apisandbox-results": "نەتىجە",
+ "apisandbox-results": "نەتىجىسى",
"apisandbox-request-url-label": "تەلەپ قىلغان URL:",
"apisandbox-request-time": "ئىلتىماس ۋاقتى: $1",
"booksources": "كىتاب مەنبەسى",
"booksources-search-legend": "كىتاب مەنبەسى ئىزدە",
"booksources-isbn": "ISBN:",
+ "booksources-search": "ئىزدەش",
"booksources-text": "تۆۋەندىكىسى بىر قىسىم تور كىتابخانىلىرىنىڭ تىزىملىكى، ئىچىدە سىز ئىزدىمەكچى بولغان كىتابلارنىڭ تېخىمۇ كۆپ ئۇچۇرى بولۇشى مۇمكىن:",
"booksources-invalid-isbn": "تەمىنلىگەن ISBN نومۇرى توغرا ئەمەس. ئەسلى كۆچۈرگەن مەنبەدىكى نومۇردا خاتالىق بار يوقلۇقىنى تەكشۈرۈڭ.",
"specialloguserlabel": "ئىشلەتكۈچى:",
"alllogstext": "{{SITENAME}} بارلىق ئىشلەتكىلى بولىدىغان خاتىرىنى ئۇنىۋېرسال كۆرسىتىدۇ.\nسىز خاتىرە تىپى، ئىشلەتكۈچى ئاتى (چوڭ كىچىك يېزىلىشنى پەرقلەندۈرىدۇ) نى تاللىيالايسىز ياكى مۇناسىۋەتلىك بەت (چوڭ كىچىك يېزىلىشنى پەرقلەندۈرىدۇ) ئارقىلىق ئىزدەش دائىرىسىنى كىچىكلىتەلەيسىز.",
"logempty": "خاتىرىدە ماس كېلىدىغان تۈر يوق.",
"log-title-wildcard": "بۇ تېكست بىلەن باشلانغان ماۋزۇنى ئىزدە",
- "showhideselectedlogentries": "تالغان خاتىرىسى كۈرسەت / يوشۇر",
+ "showhideselectedlogentries": "تاللىغان خاتىرىنى كۆرسىتىش/يوشۇرۇش",
"allpages": "ھەممە بەت",
"nextpage": "كەينى بەت ($1)",
"prevpage": "ئالدىنقى بەت ($1)",
"allpagesto": "بۇ جايدىن ئاياغلاشقان بەتنى كۆرسەت:",
"allarticles": "ھەممە بەت",
"allinnamespace": "ئالدى بەت ($1)",
- "allpagessubmit": "يۆتكەل",
+ "allpagessubmit": "يوللاش",
"allpagesprefix": "ئالدى قوشۇلغۇچىسى بار بەتنى كۆرسەت:",
"allpagesbadtitle": "بېرىلگەن بەت ماۋزۇسى قانۇنسىز ياكى ئىچكى تىلغا ئىگە ياكى ئىچكى wiki نىڭ ئالدى قوشۇلغۇچىسى.\nئۇ ماۋزۇغا ئىشلەتكىلى بولمايدىغان بىر ياكى بىر قانچە ھەرپنى ئۆز ئىچىگە ئالغان بولۇشى مۇمكىن.",
"allpages-bad-ns": "{{SITENAME}} دا\\\"$1\" ئات بوشلۇقى يوق.",
- "allpages-hide-redirects": "قايتا نىشانلاشنى يوشۇر",
+ "allpages-hide-redirects": "قايتا نىشانلاشنى يوشۇرۇش",
"cachedspecial-viewing-cached-ttl": "سىز بۇ بەتنىڭ غەملەك نەشرىنى كۆرۈۋاتىسىز، ئەڭ كۆپ بولغاندا $1 كونىراق.",
"cachedspecial-viewing-cached-ts": "سىز بۇ بەتنىڭ غەملەك نەشرىنى كۆرۈۋاتىسىز، ئۇ ئەڭ يېڭى تولۇق نەشرى بولماسلىقى مۇمكىن.",
"cachedspecial-refresh-now": "يېقىنقىنى كۈرىشى.",
"delete-edit-reasonlist": "ئۆچۈرۈش سەۋەبى تەھرىر",
"delete-toobig": "بۇ بەتنىڭ بەك كۆپ تەھرىرلەش تارىخى بار، {{PLURAL:$1|تۈزىتىلگەن نەشرى|تۈزىتىلگەن نەشرى}} قېتىمدىن ئارتۇق. {{SITENAME}} قالايمىقانچىلىقنىڭ ئالدىنى ئېلىش ئۈچۈن بۇ خىل بەتلەرنى ئۆچۈرۈش مەشغۇلاتى چەكلەندى.",
"delete-warning-toobig": "بۇ بەتنىڭ تەھرىرلەش تارىخى بەك كۆپ، {{PLURAL:$1|تۈزىتىلگەن نەشرى|تۈزىتىلگەن نەشرى}} قېتىمدىن ئارتۇق.\nبۇ بەت ئۆچۈرۈلسە {{SITENAME}} ساندانىنىڭ مەشغۇلاتىنى قالايمىقانلاشتۇرۇۋېتىشى مۇمكىن؛\nبۇ مەشغۇلاتنى داۋاملاشتۇرۇشتىن ئىلگىرى ئېھتىيات قىلىڭ.",
- "rollback": "تەھرىر ئەسلىگە قايتۇر",
+ "rollback": "تەھرىرلەشكە قايتىش",
"rollbacklink": "ئەسلىگە قايتۇر",
"rollbacklinkcount": "$1 {{PLURAL:$1|تەھرىر}}نى ئەسلىگە قايتۇر",
"rollbacklinkcount-morethan": "$1 دىن كۆپ {{PLURAL:$1|تەھرىر}}نى ئەسلىگە قايتۇر",
"minimum-size": "ئەڭ كىچىك چوڭلۇقى",
"maximum-size": "ئەڭ چوڭ چوڭلۇقى:",
"pagesize": "(بايت)",
- "restriction-edit": "تەھرىر",
+ "restriction-edit": "تەھرىرلەش",
"restriction-move": "يۆتكە",
"restriction-create": "قۇر",
"restriction-upload": "يۈكلە",
"contributions": "{{GENDER:$1|ئىشلەتكۈچى}} تۆھپىسى",
"contributions-title": "$1 نىڭ ئىشلەتكۈچى تۆھپىسى",
"mycontris": "تۆھپە",
+ "anoncontribs": "تۆھپە",
"contribsub2": "{{GENDER:$3|$1}} ($2) ئۈچۈن",
"nocontribs": "بۇ ئۆلچەمگە ماس كېلىدىغان ئۆزگەرتىش تېپىلمىدى.",
"uctop": "(نۆۋەتتىكى)",
"sp-contributions-search": "تۆھپە ئىزدە",
"sp-contributions-username": "IP ئادرېس ياكى ئىشلەتكۈچى نامى:",
"sp-contributions-toponly": "ئەڭ يېڭى تۈزىتىلگەن نەشرىنىلا كۆرسەت",
+ "sp-contributions-newonly": "بەت قۇرۇش تەھرىرىنىلا كۆرسەت",
"sp-contributions-submit": "ئىزدە",
"whatlinkshere": "بۇ جايدىكى ئۇلانما",
"whatlinkshere-title": "\"$1\" بەتكە ئۇلانغان بەتلەر",
"whatlinkshere-prev": "{{PLURAL:$1|ئالدى|ئالدى $1}}",
"whatlinkshere-next": "{{PLURAL:$1|كەينى|كەينى $1}}",
"whatlinkshere-links": "→ ئۇلانما",
- "whatlinkshere-hideredirs": "$1 قايتا نىشان بەلگىلە",
+ "whatlinkshere-hideredirs": "$1 قايتا نىشان بەلگىلەش",
"whatlinkshere-hidetrans": "$1 ئۆز ئىچىگە ئالغان",
"whatlinkshere-hidelinks": "$1 ئۇلانما",
"whatlinkshere-hideimages": "$1 ھۆججەت ئۇلانما",
"ipblocklist": "چەكلەنگەن ئىشلەتكۈچىلەر",
"ipblocklist-legend": "چەكلەنگەن ئىشلەتكۈچىدىن بىرنى ئىزدە",
"blocklist-userblocks": "ھېسابات چەكلەشنى يوشۇر",
- "blocklist-tempblocks": "ۋاقىتلىق چەكلەشنى يوشۇر",
+ "blocklist-tempblocks": "ۋاقىتلىق چەكلەنمىنى يوشۇرۇش",
"blocklist-addressblocks": "يەككە IP چەكلەشنى يوشۇر",
- "blocklist-rangeblocks": "دائىرە چەكلىمىسىنى يوشۇر",
+ "blocklist-rangeblocks": "چەكلەنگەن IP بۆلىكىنى يوشۇرۇش",
"blocklist-timestamp": "ۋاقىت تامغاسى",
"blocklist-target": "نىشان",
"blocklist-expiry": "ۋاقتى ئۆتتى",
"allmessages-filter-modified": "ئۆزگەرتىلگەن",
"allmessages-prefix": "ئالدى قوشۇلغۇچى سۈزگۈچ:",
"allmessages-language": "تىل:",
- "allmessages-filter-submit": "يۆتكەل",
+ "allmessages-filter-submit": "يوللاش",
"thumbnail-more": "چوڭايت",
"filemissing": "ھۆججەت يوقالغان",
"thumbnail_error": "كىچىك رەسىم قۇرۇش خاتالىقى: $1",
"import-nonewrevisions": "ھەممە تۈزىتىش بايىلا ئەكىرىلگەن.",
"xml-error-string": "$2 قۇردىكى $1، ستون $3 ($4 بايت): $5",
"import-upload": "XML سانلىق مەلۇماتى يۈكلە",
- "import-token-mismatch": "جەريان سانلىق مەلۇماتى يوقالدى.\n قايتا سىناڭ.",
+ "import-token-mismatch": "جەريان سانلىق مەلۇماتى يوقالدى.\n\nسىز بەلكىم چېكىنىپ چىقتىڭىز. '''سېستىمىغا تىزىملىتىپ كىرگەنلىك ھالىتىڭىزنى تەكشۈرۈڭ، ھەم قايتا سىناڭ '''. ئەگەر داۋاملىق ئىشلىمىسە، [[Special:UserLogout|چېكىنىش]] نى سىناپ قايتا كىرىڭ، شۇنداقلا توركۆرگۈچىڭىزنىڭ تور بېكەت cookie نى قوللايدىغانلىقىنى تەكشۈرۈڭ.",
"import-invalid-interwiki": "بەلگىلەنگەن wiki دىن ئەكىرەلمىدى.",
"import-error-edit": "\"$1\" نى ئەكىرمىدى چۈنكى سىز ئۇنى تەھرىرلەشكە يول قويمىغان.",
"import-error-create": "\"$1\" نى ئەكىرمىدى چۈنكى سىز ئۇنى قۇرۇشقا يول قويمىغان.",
"import-logentry-interwiki-detail": "$2 دىن كەلگەن $1 {{PLURAL:$1|تۈزىتىش|تۈزىتىش}}",
"javascripttest": "JavaScript سىناش",
"javascripttest-qunit-intro": "mediawiki.org دىكى [$1 سىناش قوللانمىسى]نى كۆرۈڭ.",
- "tooltip-pt-userpage": "ئىشلەتكۈچى بېتىڭىز",
+ "tooltip-pt-userpage": "{{GENDER:|سىزنىڭ ئىشلەتكۈچى}} بېتىڭىز",
"tooltip-pt-anonuserpage": "بۇ بېكەتنى تەھرىرلىگەندە ئىشلەتكەن IP ماس كەلگەن ئىشلەتكۈچى بېتى",
- "tooltip-pt-mytalk": "مۇنازىرە بېتىڭىز",
+ "tooltip-pt-mytalk": "{{GENDER:|سىزنىڭ}} مۇنازىرە بېتىڭىز",
"tooltip-pt-anontalk": "مەزكۇر IP ئادرېستىن كەلگەن تەھرىرنىڭ مۇنازىرىسى",
- "tooltip-pt-preferences": "مايىللىق تەڭشىگىڭىز",
+ "tooltip-pt-preferences": "{{GENDER:|سىزنىڭ}} مايىللىق تەڭشىكىڭىز",
"tooltip-pt-watchlist": "سىز كۆزىتىۋاتقان بەتلەر تىزىملىگى",
- "tooltip-pt-mycontris": "تۆھپە تىزىملىكىڭىز",
+ "tooltip-pt-mycontris": "{{GENDER:|سىزنىڭ}} تۆھپە تىزىملىكىڭىز",
"tooltip-pt-login": "تىزىمغا كىرىشىڭىزنى تەۋسىيە قىلىمىز ئەمما مەجبۇرىي ئەمەس",
- "tooltip-pt-logout": "تىزىمدىن چىق",
+ "tooltip-pt-logout": "چېكىنىش",
"tooltip-pt-createaccount": "ھېساباتتىن بىرنى قۇرۇپ تىزىمغا كىرىشىڭىزنى تەۋسىيە قىلىمىز، ئەمما بۇ مەجبۇرىي ئەمەس.",
"tooltip-ca-talk": "بەت مەزمۇنى ھەققىدىكى مۇنازىرە",
- "tooltip-ca-edit": "بۇ بەتنى تەھرىرلىيەلەيسىز.\nساقلاشتىن ئىلگىرى ئالدىن كۆزەت كۇنۇپكىسىنى ئىشلىتىڭ",
+ "tooltip-ca-edit": "بۇ بەتنى تەھرىرلەش",
"tooltip-ca-addsection": "يېڭى بىر مۇنازىرە باشلاڭ",
"tooltip-ca-viewsource": "بۇ بەت قوغدالغان.\nمەنبە ھۆججىتىنى كۆرەلەيسىز",
"tooltip-ca-history": "بۇ بەتنىڭ بۇرۇنقى نەشرى",
"tooltip-ca-watch": "بۇ بەتنى كۆزەت تىزىملىكىگە قوش",
"tooltip-ca-unwatch": "بۇ بەتنى كۆزەت تىزىملىكىمدىن چىقىرىۋەت",
"tooltip-search": "{{SITENAME}} ئىزدە",
- "tooltip-search-go": "ئەگەر بۇ ئاتتىكى بەت مەۋجۇد بولسا شۇ بەتكە يۆتكەل",
+ "tooltip-search-go": "ئوخشاش ماۋزۇلۇق تېما بولسا، بىۋاستە بۇ بەتكە يۆتكىلىدۇ",
"tooltip-search-fulltext": "بۇ تېكست بار بەتنى ئىزدە",
"tooltip-p-logo": "باش بەتنى زىيارەت قىل",
"tooltip-n-mainpage": "باش بەتنى زىيارەت قىل",
"tooltip-feed-rss": "بۇ بەتنىڭ RSS قانىلى",
"tooltip-feed-atom": "بۇ بەتنىڭ Atom قانىلى",
"tooltip-t-contributions": "بۇ ئىشلەتكۈچىنىڭ تۆھپە تىزىملىكىنى كۆرسەت",
- "tooltip-t-emailuser": "بۇ ئىشلەتكۈچىگە ئېلخەت يوللا",
+ "tooltip-t-emailuser": "{{GENDER:$1|بۇ ئىشلەتكۈچىگە}} ئېلخەت يوللاش",
"tooltip-t-upload": "ھۆججەتلەرنى يۈكلە",
"tooltip-t-specialpages": "بارلىق ئالاھىدە بەتلەر تىزىملىكى",
- "tooltip-t-print": "بÛ\87 بÛ\95تÙ\86Ù\89Ú Ø¨Ø§Ø³Ù\82Ù\89Ù\84Ù\89 بÙ\88Ù\84Ù\89دÙ\89غاÙ\86 Ù\86Û\95شرى",
+ "tooltip-t-print": "بÛ\87 بÛ\95تÙ\86Ù\89Ú Ø¨Ø§Ø³Ù\85ا Ù\86Û\87سخÙ\89سى",
"tooltip-t-permalink": "ئۆزگەرتىلگەن نەشرىدىكى بۇ بەتنىڭ مەڭگۈلۈك ئۇلانمىسى",
"tooltip-ca-nstab-main": "مەزمۇن بېتىنى كۆرسەت",
"tooltip-ca-nstab-user": "ئىشلەتكۈچى بېتىنى كۆرسەت",
"pageinfo-length": "بەت چوڭلۇقى (بايت)",
"pageinfo-article-id": "بەت ID",
"pageinfo-language": "بەت مەزمۇن تىلى",
- "pageinfo-robot-policy": "ئىزدەش ماتور ھالىتى",
+ "pageinfo-content-model": "بەت مەزمۇنى تىپى",
+ "pageinfo-robot-policy": "ماشىنا ئادەمدە ئىنىدىكىسلاش",
"pageinfo-robot-index": "چەكلەنمىگەن",
"pageinfo-robot-noindex": "چەكلەنگەن",
"pageinfo-watchers": "بەت كۆزەتكۈچىلەر سانى",
"filedelete-old-unregistered": "بەلگىلەنگەن ھۆججەتنىڭ \"$1\" تۈزىتىلگەن نەشرى سانداندا يوق.",
"filedelete-current-unregistered": "بەلگىلەنگەن ھۆججەت \"$1\" سانداندا يوق.",
"filedelete-archive-read-only": "تور بەت مۇلازىمىتىرىدىكى ئارخىپ مۇندەرىجىسى \"$1\" گە يازغىلى بولمايدۇ.",
- "previousdiff": "→ ئالدىنقى تەھرىر",
+ "previousdiff": "→ ئالدىنقى تەھرىرلەش",
"nextdiff": "كېيىنكى تەھرىر ←",
"mediawarning": "'''ئاگاھلاندۇرۇش''': بۇ ھۆججەتتە زەھەرخەندە كود بولۇشى مۇمكىن، ئۇنى ئىجرا قىلسىڭىز سىستېمىڭىزغا خەۋپ ئېلىپ كېلىشى مۇمكىن.",
"imagemaxsize": "سۈرەت چوڭلۇق چەكلىمىسى: <br />''(ھۆججەت چۈشەندۈرۈش بېتى ئۈچۈن)''",
"confirm-unwatch-top": "بۇ بەتنى كۆزەت تىزىمىدىن چىقىرىۋېتەمسىز؟",
"imgmultipageprev": "← ئالدىنقى بەت",
"imgmultipagenext": "كېيىنكى بەت →",
- "imgmultigo": "يۆتكەل!",
- "imgmultigoto": "$1 بەتكە يۆتكەل",
+ "imgmultigo": "يوللاش!",
+ "imgmultigoto": "$1 .بەتكە يۆتكىلىش",
"ascending_abbrev": "ئۆسكۈچى",
"descending_abbrev": "كېمەيگۈچى",
"table_pager_next": "كېيىنكى بەت",
"table_pager_last": "ئەڭ ئاخىرقى بەت",
"table_pager_limit": "ھەر بىر بەتتە $1 تۈر كۆرسەت",
"table_pager_limit_label": "ھەر بەتتىكى تۈر سانى:",
- "table_pager_limit_submit": "يۆتكەل",
+ "table_pager_limit_submit": "يوللاش",
"table_pager_empty": "نەتىجە يوق",
"autosumm-blank": "بەتنى قۇرۇقدا",
"autosumm-replace": "ئالماشتۇرۇلغان مەزمۇن '$1'",
"watchlistedit-raw-done": "كۆزەت تىزىملىكىڭىز يېڭىلاندى.",
"watchlistedit-raw-added": "{{PLURAL:$1|1 ماۋزۇ|$1 ماۋزۇ}} قوشۇلدى:",
"watchlistedit-raw-removed": "{{PLURAL:$1|1 ماۋزۇ|$1 ماۋزۇ}} چىقىرىۋېتىلدى:",
+ "watchlisttools-clear": "كۆزىتىش تىزىملىكىنى تازىلاش",
"watchlisttools-view": "مۇناسىۋەتلىك ئۆزگەرتىشنى كۆرسەت",
"watchlisttools-edit": "كۆزەت تىزىملىكىنى كۆرۈپ تەھرىرلەش",
"watchlisttools-raw": "ئەسلى كۆزەت تىزىملىك تەھرىرى",
"version-entrypoints": "كىرىش نۇقتىسىنىڭ URL لىرى",
"version-entrypoints-header-entrypoint": "كىرىش نۇقتىسى",
"version-entrypoints-header-url": "URL",
+ "redirect-submit": "يوللاش",
+ "redirect-lookup": "تەكشۈرۈش:",
"redirect-value": "قىممىتى:",
+ "redirect-user": "ئابونت ID",
+ "redirect-page": "بەت ID",
+ "redirect-revision": "بەت نەشىرى",
"redirect-file": "ھۆججەت نامى",
"redirect-not-exists": "قىممىتى تېپىلمىدى",
"fileduplicatesearch": "تەكرار ھۆججەت ئىزدە",
"fileduplicatesearch-result-n": " \"$1\" ھۆججەتنىڭ تامامەن ئوخشاش {{PLURAL:$2|1 تەكرار|$2 تەكرار}} نۇسخىسى بار.",
"fileduplicatesearch-noresults": "\"$1\" ئاتلىق ھۆججەت تېپىلمىدى.",
"specialpages": "ئالاھىدە بەتلەر",
- "specialpages-note": "* ئادەتتىكى ئالاھىدە بەت.\n* <strong class=\"mw-specialpagerestricted\">چەكلىمىلىك ئالاھىدە بەتلەر.</strong>\n* <span class=\"mw-specialpagecached\">غەملەنگەن ئالاھىدە بەتلەر(ۋاقتى ئۆتكەن بولۇشى مۇمكىن).</span>",
"specialpages-group-maintenance": "ئاسراش دوكلاتى",
"specialpages-group-other": "باشقا ئالاھىدە بەتلەر",
"specialpages-group-login": "تىزىملىتىش / كىرىش",
"compare-invalid-title": "سىز بەلگىلىگەن تېما ئىناۋەتسىز.",
"compare-title-not-exists": "سىز بەلگىلىگەن تېما مەۋجۇت ئەمەس.",
"compare-revision-not-exists": "سىز بەلگىلىگەن تۈزىتىلگەن نەشرى مەۋجۇت ئەمەس.",
+ "diff-form": "'''جەدۋەل'''",
"dberr-problems": "كەچۈرۈڭ! بۇ بېكەتتە تېخنىكىلىق قىيىنچىلىق كۆرۈلدى.",
"dberr-again": "بىر قانچە مىنۇت كۈتۈپ ئاندىن قايتا يۈكلەڭ.",
"dberr-info": "(ساندان مۇلازىمىتىرىغا ئۇلىنالمىدى: $1)",
"logentry-patrol-patrol": "$3 بەتنىڭ $4 تۈزىتىلگەن نەشرىگە $1 چارلاش بەلگىسى سالدى",
"logentry-patrol-patrol-auto": "$3 بەتنىڭ $4 تۈزىتىلگەن نەشرىگە $1 چارلاش بەلگىسى ئاپتوماتىك سالدى",
"logentry-newusers-newusers": "ئەزا $1 قۇرۇلبولدى",
- "logentry-newusers-create": "ئەزا $1 قۇرۇلبولدى",
+ "logentry-newusers-create": "ئەزا ئاكونت $1 تىنى {{GENDER:$2|قۇرۇپ بولغان}}",
"logentry-newusers-create2": "ئىشلەتكۈچى ھېساباتى $3 نى $1 قۇردى",
"logentry-newusers-byemail": "ئىشلەتكۈچى ھېساباتى $3 نى $1 قۇردى ھەمدە ئىمنى تورخەتكە ئەۋەتتى",
- "logentry-newusers-autocreate": "ئىشلەتكۈچى $1 ئاپتوماتلىق قۇرۇلدى",
+ "logentry-newusers-autocreate": "ئىشلەتكۈچى ئاكونتى $1 نى {{GENDER:$2|ئاپتوماتىك قۇردى}}",
"logentry-rights-rights": "$3 نىڭ ئىشلەتكۈچى گۇرۇپپىسىنى $4 دىن $5 غا $1 ئالماشتۇردى",
"logentry-rights-rights-legacy": "$3 نىڭ ئىشلەتكۈچى گۇرۇپپىسىنى $1 ئۆزگەرتتى",
"logentry-rights-autopromote": "$1 نىڭ ئىشلەتكۈچى گۇرۇپپىسى ئۆزلۈكىدىن $4 دىن $5 غا يۈكسەلدى",
+ "logentry-upload-overwrite": "$1 يېڭى نەشىرى $3 نى {{GENDER:$2|يوللاش}}",
"rightsnone": "(يوق)",
"feedback-adding": "قايتۇرما ئىنكاسنى بەتكە قوشۇۋاتىدۇ…",
"feedback-bugcheck": "قالتىس! كەمتۈكنىڭ ئاللىبۇرۇن يوللانغان [$1 مەلۇملۇق كەمتۈك] ياكى ئەمەسلىكىنى تەكشۈرۈڭ.",
"feedback-subject": "تېما:",
"feedback-submit": "تاپشۇر",
"feedback-thanks": "كۆپ رەھمەت! قايتۇرما ئىنكاسىڭىز \"[$2 $1]\" بەتكە يوللاندى.",
- "searchsuggest-search": "ئىزدەش",
+ "searchsuggest-search": "{{SITENAME}} ئىزدەش",
"searchsuggest-containing": "ئىچىدە…",
"api-error-badtoken": "ئىچكى خاتالىق: سۆزلىشىش ئىناۋەتسىز.",
"api-error-emptypage": "يېڭىدىن قۇرۇش، قۇرۇق بەت يول قۇيۇلمايدۇ.",
"special-characters-group-devanagari": "سانسكرىتچە",
"special-characters-group-thai": "تايلاندچە",
"special-characters-group-lao": "لائوسچە",
- "special-characters-group-khmer": "كېخمېرچە"
+ "special-characters-group-khmer": "كېخمېرچە",
+ "randomrootpage": "خالىغان غول بەت"
}
"Nguyên Lê",
"Asmen",
"Stephanecbisson",
- "Quoclinh94"
+ "Quoclinh94",
+ "Tmp1109"
]
},
"tog-underline": "Gạch chân liên kết:",
"prefs-editwatchlist-clear": "Xóa sạch danh sách theo dõi của bạn",
"prefs-watchlist-days": "Số ngày hiển thị trong danh sách theo dõi:",
"prefs-watchlist-days-max": "Tối đa $1 ngày",
- "prefs-watchlist-edits": "Số lần sửa đổi tối đa trong danh sách theo dõi mở rộng:",
+ "prefs-watchlist-edits": "Số lần sửa đổi lớn nhất trong danh sách theo dõi mở rộng:",
"prefs-watchlist-edits-max": "Con số tối đa: 1.000",
"prefs-watchlist-token": "Dấu hiệu cho danh sách theo dõi:",
"prefs-misc": "Linh tinh",
"compare-invalid-title": "Tên trang chỉ định không hợp lệ.",
"compare-title-not-exists": "Tên trang chỉ định không tồn tại.",
"compare-revision-not-exists": "Phiên bản chỉ định không tồn tại.",
+ "diff-form": "'''biểu mẫu'''",
"dberr-problems": "Xin lỗi! Trang này đang gặp phải những khó khăn về kỹ thuật.",
"dberr-again": "Xin thử đợi vài phút rồi tải lại trang.",
"dberr-info": "(Không thể liên lạc với máy chủ cơ sở dữ liệu: $1)",
"compare-invalid-title": "דעם טיטל איר האט ספעציפֿירט איז אומגילטיק.",
"compare-title-not-exists": "דעם טיטל וואס איר האט ספעציפֿירט עקזיסטירט נישט",
"compare-revision-not-exists": "די רעוויזיע וואס איר האט ספעציפֿירט עקזיסטירט נישט.",
+ "diff-form": "א '''פארעם'''",
"dberr-problems": "אנטשולדיגט! דער דאזיקער סייט האט טעכנישע פראבלעמען.",
"dberr-again": "וואַרט א פאָר מינוט און לאָדנט אָן ווידער.",
"dberr-info": "(קען נישט צוקומען צו דער דאַטנבאַזע: $1)",
"compare-invalid-title": "您指定的标题无效。",
"compare-title-not-exists": "您指定的标题不存在。",
"compare-revision-not-exists": "指定的版本不存在。",
+ "diff-form": "'''表单'''元素",
"dberr-problems": "抱歉!本网站出现了一些技术问题。",
"dberr-again": "请等待几分钟后重试。",
"dberr-info": "(无法访问数据库:$1)",
"compare-invalid-title": "您所指定的標題無效。",
"compare-title-not-exists": "您所指定的標題不存在。",
"compare-revision-not-exists": "您所指定的修訂不存在。",
+ "diff-form": "表",
"dberr-problems": "抱歉!這個網站出現了一些技術上的問題。",
"dberr-again": "請稍後數分鐘後再試。",
"dberr-info": "(無法存取資料庫:$1)",
$dateFormats = [
'km time' => 'ម៉ោងH:i',
'km date' => 'l ទីd F ឆ្នាំY',
- 'km both' => 'ម៉ោងH:i l ទីd F ឆ្នាំY',
+ 'km both' => 'ម៉ោងH:i l ទីd F ឆ្នាំY',
];
$specialPageAliases = [
--- /dev/null
+--
+-- Every time an edit by a logged out user is saved,
+-- a row is created in ip_changes. This stores
+-- the IP as a hex representation so that we can more
+-- easily find edits within an IP range.
+--
+CREATE TABLE /*_*/ip_changes (
+ -- Foreign key to the revision table, also serves as the unique primary key
+ ipc_rev_id int unsigned NOT NULL PRIMARY KEY DEFAULT '0',
+
+ -- The timestamp of the revision
+ ipc_rev_timestamp binary(14) NOT NULL DEFAULT '',
+
+ -- Hex representation of the IP address, as returned by IP::toHex()
+ -- For IPv4 it will resemble: ABCD1234
+ -- For IPv6: v6-ABCD1234000000000000000000000000
+ -- BETWEEN is then used to identify revisions within a given range
+ ipc_hex varbinary(35) NOT NULL DEFAULT ''
+
+) /*$wgDBTableOptions*/;
+
+CREATE INDEX /*i*/ipc_rev_timestamp ON /*_*/ip_changes (ipc_rev_timestamp);
+CREATE INDEX /*i*/ipc_hex_time ON /*_*/ip_changes (ipc_hex,ipc_rev_timestamp);
print "Found " . count( $files ) . " files in " .
count( $dirs ) . " directories\n";
- $tmpDir = wfTempDir() . '/mw-make-repo' . mt_rand( 0, 1<<31 );
+ $tmpDir = wfTempDir() . '/mw-make-repo' . mt_rand( 0, 1 << 31 );
if ( !mkdir( $tmpDir ) ) {
$this->error( 'Unable to create temporary directory', 1 );
}
do {
$finalConds = $conds;
$timestamp = $dbr->addQuotes( $timestamp );
- $finalConds []=
+ $finalConds [] =
"(cl_timestamp > $timestamp OR (cl_timestamp = $timestamp AND cl_from > $lastId))";
$res = $dbr->select( [ 'page', 'categorylinks' ],
[ 'page_id', 'cl_timestamp' ],
--- /dev/null
+--
+-- Every time an edit by a logged out user is saved,
+-- a row is created in ip_changes. This stores
+-- the IP as a hex representation so that we can more
+-- easily find edits within an IP range.
+--
+CREATE TABLE /*_*/ip_changes (
+ -- Foreign key to the revision table, also serves as the unique primary key
+ ipc_rev_id int unsigned NOT NULL PRIMARY KEY DEFAULT '0',
+
+ -- The timestamp of the revision
+ ipc_rev_timestamp binary(14) NOT NULL DEFAULT '',
+
+ -- Hex representation of the IP address, as returned by IP::toHex()
+ -- For IPv4 it will resemble: ABCD1234
+ -- For IPv6: v6-ABCD1234000000000000000000000000
+ -- BETWEEN is then used to identify revisions within a given range
+ ipc_hex varbinary(35) NOT NULL DEFAULT ''
+
+) /*$wgDBTableOptions*/;
+
+CREATE INDEX /*i*/ipc_rev_timestamp ON /*_*/ip_changes (ipc_rev_timestamp);
+CREATE INDEX /*i*/ipc_hex_time ON /*_*/ip_changes (ipc_hex,ipc_rev_timestamp);
-- and is a logged-in user.
CREATE INDEX /*i*/page_user_timestamp ON /*_*/revision (rev_page,rev_user,rev_timestamp);
+--
+-- Every time an edit by a logged out user is saved,
+-- a row is created in ip_changes. This stores
+-- the IP as a hex representation so that we can more
+-- easily find edits within an IP range.
+--
+CREATE TABLE /*_*/ip_changes (
+ -- Foreign key to the revision table, also serves as the unique primary key
+ ipc_rev_id int unsigned NOT NULL PRIMARY KEY DEFAULT '0',
+
+ -- The timestamp of the revision
+ ipc_rev_timestamp binary(14) NOT NULL DEFAULT '',
+
+ -- Hex representation of the IP address, as returned by IP::toHex()
+ -- For IPv4 it will resemble: ABCD1234
+ -- For IPv6: v6-ABCD1234000000000000000000000000
+ -- BETWEEN is then used to identify revisions within a given range
+ ipc_hex varbinary(35) NOT NULL DEFAULT ''
+
+) /*$wgDBTableOptions*/;
+
+CREATE INDEX /*i*/ipc_rev_timestamp ON /*_*/ip_changes (ipc_rev_timestamp);
+CREATE INDEX /*i*/ipc_hex_time ON /*_*/ip_changes (ipc_hex,ipc_rev_timestamp);
+
--
-- Holds text of individual page revisions.
--
<ruleset name="MediaWiki">
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
<exclude name="Generic.ControlStructures.InlineControlStructure" />
- <!-- Rule will pass in 0.10.0 but update depends on T167168 -->
- <exclude name="MediaWiki.WhiteSpace.SpaceBeforeClassBrace.NoSpaceBeforeBrace" />
<!-- Disable rules added in 0.8.0 that don't pass yet -->
- <exclude name="MediaWiki.Commenting.FunctionComment.ExtraParamComment" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingParamComment" />
- <exclude name="MediaWiki.Commenting.FunctionComment.MissingParamName" />
- <exclude name="MediaWiki.Commenting.FunctionComment.MissingParamTag" />
- <exclude name="MediaWiki.Commenting.FunctionComment.MissingReturn" />
<exclude name="MediaWiki.Commenting.FunctionComment.Missing.Protected" />
<exclude name="MediaWiki.Commenting.FunctionComment.Missing.Public" />
- <exclude name="MediaWiki.Commenting.FunctionComment.ParamNameNoMatch" />
<exclude name="MediaWiki.Commenting.FunctionComment.SpacingAfter" />
<exclude name="MediaWiki.Commenting.FunctionComment.SpacingAfterParamName" />
<exclude name="MediaWiki.Commenting.FunctionComment.SpacingAfterParamType" />
<exclude-pattern>*/includes/StubObject.php</exclude-pattern>
</rule>
<file>.</file>
- <arg name="bootstrap" value="vendor/mediawiki/mediawiki-codesniffer/utils/bootstrap-ci.php"/>
<arg name="encoding" value="UTF-8"/>
<arg name="extensions" value="php,php5,inc,sample"/>
<exclude-pattern type="relative">^extensions/</exclude-pattern>
}
.mw-search-createlink,
.mw-search-nonefound,
- .mw-search-results {
+ .mw-search-results,
+ .mw-search-interwiki-header {
float: left;
width: 60%;
clear: left;
+#toc.tochidden,
.toc.tochidden,
.toctoggle {
display: none;
* @see staticSetup
*
* @param array $teardown The snippet array
- * @param ScopedCallback|null A ScopedCallback to consume
+ * @param ScopedCallback|null $nextTeardown A ScopedCallback to consume
* @return ScopedCallback
*/
protected function createTeardownObject( $teardown, $nextTeardown = null ) {
/**
* Add articles to the test DB.
*
- * @param $articles Article info array from TestFileReader
+ * @param array $articles Article info array from TestFileReader
*/
public function addArticles( $articles ) {
global $wgContLang;
'ConfigFactory',
self::makeTestConfigFactoryInstantiator(
$oldConfigFactory,
- [ 'main' => $bootstrapConfig ]
+ [ 'main' => $bootstrapConfig ]
)
);
$newServices->resetServiceForTesting( 'DBLoadBalancerFactory' );
}
/**
- * @param $mockDb
+ * @param PHPUnit_Framework_MockObject_MockObject|Database $mockDb
* @return PHPUnit_Framework_MockObject_MockObject|LoadBalancer
*/
private function getMockLoadBalancer( $mockDb ) {
}
/**
- * @param $text
+ * @param string $text
* @param int $ns
*
* @return PHPUnit_Framework_MockObject_MockObject|Title
* @dataProvider provideTestForAccountCreation
* @param string $msg
* @param Status|null $status
- * @param StatusValue Result
+ * @param StatusValue $result Result
*/
public function testTestForAccountCreation( $msg, $status, $result ) {
$this->hook( 'AbortNewAccount', $this->once() )
]
);
- $groupB = $this->getGroup(
+ $groupB = $this->getGroup(
[
'name' => 'groupB',
'filters' => [
$enhancedChangesList->recentChangesLine( $recentChange, false );
$html = $enhancedChangesList->endRecentChangesList();
- $this->assertRegExp( '/data-mw-revid="5" data-mw-ts="20131103092153" class="[^"]*mw-enhanced-rc[^"]*"/', $html );
+ $this->assertRegExp(
+ '/data-mw-revid="5" data-mw-ts="20131103092153" class="[^"]*mw-enhanced-rc[^"]*"/',
+ $html
+ );
$recentChange2 = $this->getEditChange( '20131103092253' );
$enhancedChangesList->recentChangesLine( $recentChange2, false );
$oldChangesList = $this->getOldChangesList();
$line = $oldChangesList->recentChangesLine( $recentChange, false, 1 );
- $this->assertRegExp( '/<li data-mw-revid="\d+" data-mw-ts="\d+" class="[\w\s-]*mw-tag-vandalism[\w\s-]*">/',
- $line );
- $this->assertRegExp( '/<li data-mw-revid="\d+" data-mw-ts="\d+" class="[\w\s-]*mw-tag-newbie[\w\s-]*">/',
- $line );
+ $this->assertRegExp(
+ '/<li data-mw-revid="\d+" data-mw-ts="\d+" class="[\w\s-]*mw-tag-vandalism[\w\s-]*">/',
+ $line
+ );
+ $this->assertRegExp(
+ '/<li data-mw-revid="\d+" data-mw-ts="\d+" class="[\w\s-]*mw-tag-newbie[\w\s-]*">/',
+ $line
+ );
}
public function testRecentChangesLine_numberOfWatchingUsers() {
*/
public function testConstructCacheSpec() {
$config = $this->createConfigMock( [ 'cache' => [
- 'class' => HashBagOStuff::class
+ 'class' => HashBagOStuff::class
] ] );
$config->expects( $this->once() )->method( 'fetchAllFromEtcd' )
->willReturn( [
/**
* Get parser output for Wiki text
- * @param $text
+ * @param string $text
* @return ParserOutput
*/
private function getParserOutput( $text ) {
/**
* Get WikitextStructure for given text
- * @param $text
+ * @param string $text
* @return WikiTextStructure
*/
private function getStructure( $text ) {
$lookup = new \MediaWiki\Interwiki\ClassicInterwikiLookup(
Language::factory( 'en' ),
WANObjectCache::newEmpty(),
- 60*60,
+ 60 * 60,
false,
3,
'en'
$lookup = new \MediaWiki\Interwiki\ClassicInterwikiLookup(
Language::factory( 'en' ),
WANObjectCache::newEmpty(),
- 60*60,
+ 60 * 60,
$cdbFile,
3,
'en'
$lookup = new \MediaWiki\Interwiki\ClassicInterwikiLookup(
Language::factory( 'en' ),
WANObjectCache::newEmpty(),
- 60*60,
+ 60 * 60,
$hash,
3,
'en'
use Wikimedia\TestingAccessWrapper;
-class WANObjectCacheTest extends PHPUnit_Framework_TestCase {
+class WANObjectCacheTest extends PHPUnit_Framework_TestCase {
/** @var WANObjectCache */
private $cache;
/**@var BagOStuff */
/**
* @dataProvider getWithSetCallback_versions_provider
* @param array $extOpts
- * @param $versioned
+ * @param bool $versioned
*/
public function testGetWithSetCallback_versions( array $extOpts, $versioned ) {
$cache = $this->cache;
* @group Media
* @covers XMPReader
*/
-class XMPTest extends PHPUnit_Framework_TestCase {
+class XMPTest extends PHPUnit_Framework_TestCase {
protected function setUp() {
parent::setUp();
/**
* @dataProvider getMergeCases
- * @param $t1
- * @param $n1
- * @param $t2
- * @param $n2
- * @param $result
+ * @param int $t1
+ * @param string $n1
+ * @param int $t2
+ * @param string $n2
+ * @param bool $result
*/
public function testMerge( $t1, $n1, $t2, $n2, $result ) {
$field1 =
[ 'days=3', [ 'days' => '3' ] ],
- [ 'days=0.25', [ 'days' => '0.25'] ],
+ [ 'days=0.25', [ 'days' => '0.25' ] ],
[ 'namespace=5', [ 'namespace' => '5' ] ],
$this->assertArrayNotHasKey( 'simple', $map );
}
+ public function testReplaceDeprecatedCodes() {
+ $this->assertEquals( 'gsw', LanguageCode::replaceDeprecatedCodes( 'als' ) );
+ $this->assertEquals( 'gsw', LanguageCode::replaceDeprecatedCodes( 'gsw' ) );
+ $this->assertEquals( null, LanguageCode::replaceDeprecatedCodes( null ) );
+ }
+
}
* WebRequest#response), then you might be able to use this mock to simplify
* your tests.
*/
-class MockWebRequest extends WebRequest
-{
+class MockWebRequest extends WebRequest {
/**
* @var WebResponse
*/
'length' => $this->getLength( $file ),
'offset' => $this->getOffset( $file ),
'width' => $targetWidth,
- 'height' => $targetHeight,
+ 'height' => $targetHeight,
'isVideo' => !$this->isAudio( $file ),
'thumbtime' => isset(
$params['thumbtime']
'start' => isset( $params['start'] ) ? $params['start'] : false,
'end' => isset( $params['end'] ) ? $params['end'] : false,
'fillwindow' => isset( $params['fillwindow'] ) ? $params['fillwindow'] : false,
- 'disablecontrols' => isset ( $params['disablecontrols'] ) ? $params['disablecontrols'] : false
+ 'disablecontrols' => isset( $params['disablecontrols'] ) ? $params['disablecontrols'] : false
];
// No thumbs for audio
}, {}, {});
",
- 'testSkipped' =>"
+ 'testSkipped' => "
mw.loader.implement( 'testSkipped', function () {
QUnit.ok( false, 'Module testSkipped was supposed to be skipped.' );
}, {}, {});
",
- 'testNotSkipped' =>"
+ 'testNotSkipped' => "
mw.loader.implement( 'testNotSkipped', function () {}, {}, {});
",
- 'testUsesSkippable' =>"
+ 'testUsesSkippable' => "
mw.loader.implement( 'testUsesSkippable', function () {}, {}, {});
",
];