* Added RecentChangesPurgeRows hook to allow extensions to purge data that
depends on the recentchanges table.
* Added JS config values wgDiffOldId/wgDiffNewId to the output of diff pages.
+* (T2424) Added direct unwatch links to entries in Special:Watchlist (if the
+ 'watchlistunwatchlinks' preference option is enabled). With JavaScript
+ enabled, these links toggle so the user can also re-watch pages that have
+ just been unwatched.
+* Added $wgParserTestMediaHandlers, where mock media handlers can be passed to
+ MediaHandlerFactory for parser tests.
=== Languages updated in 1.30 ===
nothing and is deprecated.
* mw.util.escapeId() was deprecated, use escapeIdForAttribute() or
escapeIdForLink().
+* MagicWord::replaceMultiple() (deprecated in 1.25) was removed.
== Compatibility ==
MediaWiki 1.30 requires PHP 5.5.9 or later. There is experimental support for
"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;
}
*/
$wgMediaHandlers = [];
+/**
+ * Media handler overrides for parser tests (they don't need to generate actual
+ * thumbnails, so a mock will do)
+ */
+$wgParserTestMediaHandlers = [
+ 'image/jpeg' => 'MockBitmapHandler',
+ 'image/png' => 'MockBitmapHandler',
+ 'image/gif' => 'MockBitmapHandler',
+ 'image/tiff' => 'MockBitmapHandler',
+ 'image/webp' => 'MockBitmapHandler',
+ 'image/x-ms-bmp' => 'MockBitmapHandler',
+ 'image/x-bmp' => 'MockBitmapHandler',
+ 'image/x-xcf' => 'MockBitmapHandler',
+ 'image/svg+xml' => 'MockSvgHandler',
+ 'image/vnd.djvu' => 'MockDjVuHandler',
+];
+
/**
* Plugins for page content model handling.
* Each entry in the array maps a model id to a class name or callback
'watchlisthidepatrolled' => 0,
'watchlisthidecategorization' => 1,
'watchlistreloadautomatically' => 0,
+ 'watchlistunwatchlinks' => 0,
'watchmoves' => 0,
'watchrollback' => 0,
'wllimit' => 250,
// 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 ) {
return $this->mModified;
}
- /**
- * $magicarr is an associative array of (magic word ID => replacement)
- * This method uses the php feature to do several replacements at the same time,
- * thereby gaining some efficiency. The result is placed in the out variable
- * $result. The return value is true if something was replaced.
- * @deprecated since 1.25, unused
- *
- * @param array $magicarr
- * @param string $subject
- * @param string $result
- *
- * @return bool
- */
- public function replaceMultiple( $magicarr, $subject, &$result ) {
- wfDeprecated( __METHOD__, '1.25' );
- $search = [];
- $replace = [];
- foreach ( $magicarr as $id => $replacement ) {
- $mw = self::get( $id );
- $search[] = $mw->getRegex();
- $replace[] = $replacement;
- }
-
- $result = preg_replace( $search, $replace, $subject );
- return $result !== $subject;
- }
-
/**
* 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 ) {
$pieces[] = $this->buildExemptModules();
$pieces = array_merge( $pieces, array_values( $this->getHeadLinksArray() ) );
$pieces = array_merge( $pieces, array_values( $this->mHeadItems ) );
+
+ $min = ResourceLoader::inDebugMode() ? '' : '.min';
+ // Use an IE conditional comment to serve the script only to old IE
+ $pieces[] = '<!--[if lt IE 9]>' .
+ Html::element( 'script', [
+ 'src' => self::transformResourcePath(
+ $this->getConfig(),
+ "/resources/lib/html5shiv/html5shiv{$min}.js"
+ ),
+ ] ) .
+ '<![endif]-->';
+
$pieces[] = Html::closeElement( 'head' );
$bodyClasses = [];
* 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();
'section' => 'watchlist/advancedwatchlist',
'label-message' => 'tog-watchlistreloadautomatically',
];
+ $defaultPreferences['watchlistunwatchlinks'] = [
+ 'type' => 'toggle',
+ 'section' => 'watchlist/advancedwatchlist',
+ 'label-message' => 'tog-watchlistunwatchlinks',
+ ];
if ( $config->get( 'RCWatchCategoryMembership' ) ) {
$defaultPreferences['watchlisthidecategorization'] = [
/**
* @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 ) {
* Revision::FOR_PUBLIC to be displayed to all users
* Revision::FOR_THIS_USER to be displayed to the given user
* Revision::RAW get the ID regardless of permissions
- * @param User $user User object to check for, only if FOR_THIS_USER is passed
+ * @param User|null $user User object to check for, only if FOR_THIS_USER is passed
* to the $audience parameter
* @return int
*/
* Revision::FOR_PUBLIC to be displayed to all users
* Revision::FOR_THIS_USER to be displayed to the given user
* Revision::RAW get the text regardless of permissions
- * @param User $user User object to check for, only if FOR_THIS_USER is passed
+ * @param User|null $user User object to check for, only if FOR_THIS_USER is passed
* to the $audience parameter
* @return string
*/
* Revision::FOR_PUBLIC to be displayed to all users
* Revision::FOR_THIS_USER to be displayed to the given user
* Revision::RAW get the text regardless of permissions
- * @param User $user User object to check for, only if FOR_THIS_USER is passed
+ * @param User|null $user User object to check for, only if FOR_THIS_USER is passed
* to the $audience parameter
* @return string
*/
* 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
*/
"apihelp-block-param-autoblock": "منع آخر عنوان IP مستخدم تلقائيا، وأية عناوين IP لاحقة حاولت الدخول من خلاله.",
"apihelp-block-param-noemail": "منع المستخدم من إرسال البريد الإلكتروني من خلال الويكي. (يتطلب صلاحية <code>blockemail</code>).",
"apihelp-block-param-hidename": "إخفاء اسم المستخدم من سجل المنع. (يتطلب صلاحية <code>hideuser</code>).",
- "apihelp-block-param-allowusertalk": "تسمح للمستخدم لتحرير صفحة النقاش الخاصة (يعتمد على <var>[[mw:Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
+ "apihelp-block-param-allowusertalk": "تسمح للمستخدم بتحرير صفحة النقاش الخاصة (يعتمد على <var>[[mw:Special:MyLanguage/Manual:$wgBlockAllowsUTEdit|$wgBlockAllowsUTEdit]]</var>).",
"apihelp-block-param-watchuser": "مشاهدة صفحة المستخدم ونقاش IP.",
"apihelp-block-example-ip-simple": "منع عنوان IP <kbd>192.0.2.5</kbd> لمدة ثلاثة أيام بسبب >المخالفة الأولى</kbd>.",
"apihelp-block-example-user-complex": "منع المستخدم <kbd>المخرب</kbd> لأجل غير مسمى بسبب <kbd>التخريب</kbd>، ومنع إنشاء حساب جديد وإرسال بريد إلكتروني.",
"apihelp-opensearch-param-search": "سطر البحث",
"apihelp-opensearch-param-limit": "الحد الأقصى للنتائج المُرجعة",
"apihelp-opensearch-param-namespace": "النطاقات للبحث.",
- "apihelp-opensearch-param-suggest": "لا تفعل شيئا إذا كان <var>[[mw:Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> خاطئا.",
+ "apihelp-opensearch-param-suggest": "لا تفعل شيئا إذا كان <var>[[mw:Special:MyLanguage/Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest]]</var> خاطئا.",
"apihelp-opensearch-param-format": "شكل الإخراج.",
"apihelp-opensearch-param-warningsaserror": "إذا تم رفع التحذيرات ب<kbd>format=json</kbd>, أعد أخطاء API بدلا من تجاهلها.",
"apihelp-opensearch-example-te": "العثور على صفحات تبدأ ب<kbd>Te</kbd>.",
"apihelp-parse-paramvalue-prop-externallinks": "يعطي الوصلات الخارجية في تحليل نصوص الويكي.",
"apihelp-parse-paramvalue-prop-sections": "يعطي الأقسام في تحليل نصوص الويكي.",
"apihelp-parse-paramvalue-prop-displaytitle": "يضيف العنوان في تحليل نصوص الويكي.",
- "apihelp-parse-paramvalue-prop-headitems": "<span class=\"apihelp-deprecated\">Deprecated.</span> يعطي عناصر لوضعها في <code><head></code> الصفحة.",
+ "apihelp-parse-paramvalue-prop-headitems": "يعطي عناصر لوضعها في <code><head></code> الصفحة.",
"apihelp-parse-paramvalue-prop-headhtml": "يعطي تحليل <code><head></code> الصفحة.",
"apihelp-parse-paramvalue-prop-jsconfigvars": "يعطي متغيرات تكوين جافا سكريبت الخاصة بهذه الصفحة. للتطبيق; استخدم <code>mw.config.set()</code>.",
"apihelp-parse-paramvalue-prop-encodedjsconfigvars": "يعطي متغيرات تكوين جافا سكريبت الخاصة بهذه الصفحة كسلسلة JSON.",
"apihelp-query+blocks-example-simple": "قائمة المنع.",
"apihelp-query+imageinfo-paramvalue-prop-userid": "إضافة هوية المستخدم الذي قام بتحميل كل إصدار ملف.",
"apihelp-query+prefixsearch-param-offset": "عدد النتائج المراد تخطيها.",
- "apierror-offline": "لم يمكن المتابعة بسبب مشاكل توصيل بالشبكة. تأكد من أنه لديك توصيل بالإنترنت وحاول مرة أخرى.",
- "apierror-timeout": "لم يستجب الخادم في الوقت المتوقع.",
+ "apierror-offline": "لم يمكن المتابعة بسبب مشاكل في الاتصال بالشبكة; تأكد من أنه لديك اتصال بالإنترنت وحاول مرة أخرى.",
+ "apierror-timeout": "لم يستجب الخادم ضمن الوقت المتوقع.",
"api-feed-error-title": "خطأ ($1)"
}
"apihelp-compare-summary": "קבלת ההבדל בין 2 דפים.",
"apihelp-compare-extended-description": "יש להעביר מספר גרסה, כותרת דף או מזהה דף גם ל־\"from\" וגם ל־\"to\".",
"apihelp-compare-param-fromtitle": "כותרת ראשונה להשוואה.",
- "apihelp-compare-param-fromid": "×\9eס׳ ×\96×\99×\94×\95×\99 ש×\9c ×\94×¢×\9e×\95×\93 הראשון להשוואה.",
+ "apihelp-compare-param-fromid": "×\9eס׳ ×\96×\99×\94×\95×\99 ש×\9c ×\94×\93×£ הראשון להשוואה.",
"apihelp-compare-param-fromrev": "גרסה ראשונה להשוואה.",
"apihelp-compare-param-fromtext": "להשתמש בטקסט הזה במקום תוכן הגרסה שהוגדרה על־ידי <var dir=\"ltr\">fromtitle</var>, <var dir=\"ltr\">fromid</var> או <var dir=\"ltr\">fromrev</var>.",
"apihelp-compare-param-frompst": "לעשות התמרה לפני שמירה ב־<var>fromtext</var>.",
"apihelp-compare-param-fromcontentmodel": "מודל התוכן של <var>fromtext</var>. אם זה לא סופק, ייעשה ניחוש על סמך פרמטרים אחרים.",
"apihelp-compare-param-fromcontentformat": "תסדיר הסדרת תוכן של <var>fromtext</var>.",
"apihelp-compare-param-totitle": "כותרת שנייה להשוואה.",
- "apihelp-compare-param-toid": "×\9eס׳ ×\9e×\96×\94×\94 ש×\9c ×\94×¢×\9e×\95×\93 השני להשוואה.",
+ "apihelp-compare-param-toid": "×\9eס׳ ×\9e×\96×\94×\94 ש×\9c ×\94×\93×£ השני להשוואה.",
"apihelp-compare-param-torev": "גרסה שנייה להשוואה.",
"apihelp-compare-param-torelative": "להשתמש בגרסה יחסית לגרסה שהוסקה מ<var dir=\"ltr\">fromtitle</var>, <var dir=\"ltr\">fromid</var> או <var dir=\"ltr\">fromrev</var>. לכל אפשריות ה־\"to\" האחרות לא תהיה השפעה.",
"apihelp-compare-param-totext": "להשתמש בטקסט הזה במקום התוכן של הגרסה שהוגדר ב־<var dir=\"ltr\">totitle</var>, <var dir=\"ltr\">toid</var> or <var dir=\"ltr\">torev</var>.",
"apihelp-cspreport-param-reportonly": "לסמן בתור דיווח ממדיניות מנטרת, לא מדיניות כפויה",
"apihelp-cspreport-param-source": "מה ייצר את כותרת ה־CSP שייצרה את הדו״ח הזה",
"apihelp-delete-summary": "מחיקת דף.",
- "apihelp-delete-param-title": "×\9b×\95תרת ×\94×¢×\9e×\95×\93 למחיקה. לא ניתן להשתמש בשילוב עם <var>$1pageid</var>.",
- "apihelp-delete-param-pageid": "×\9eס׳ ×\94×\96×\99×\94×\95×\99 ש×\9c ×\94×¢×\9e×\95×\93 למחיקה. לא ניתן להשתמש בשילוב עם <var>$1title</var>.",
+ "apihelp-delete-param-title": "×\9b×\95תרת ×\94×\93×£ למחיקה. לא ניתן להשתמש בשילוב עם <var>$1pageid</var>.",
+ "apihelp-delete-param-pageid": "×\9eס׳ ×\94×\96×\99×\94×\95×\99 ש×\9c ×\94×\93×£ למחיקה. לא ניתן להשתמש בשילוב עם <var>$1title</var>.",
"apihelp-delete-param-reason": "סיבת המחיקה. אם לא הוגדרה, תתווסף סיבה שנוצרה אוטומטית.",
"apihelp-delete-param-tags": "תגי שינוי שיחולו על העיול ביומן המחיקה.",
- "apihelp-delete-param-watch": "×\94×\95ספת ×\94×¢×\9e×\95×\93 לרשימת המעקב של המשתמש הנוכחי.",
+ "apihelp-delete-param-watch": "×\94×\95ספת ×\94×\93×£ לרשימת המעקב של המשתמש הנוכחי.",
"apihelp-delete-param-watchlist": "הוספה או הסרה של הדף ללא תנאי מרשימת המעקב של המשתמש הנוכחי, להשתמש בהעדפות או לא לשנות את המעקב.",
"apihelp-delete-param-unwatch": "הסרת הדף מרשימת המעקב של של המשתמש הנוכחי.",
"apihelp-delete-param-oldimage": "שם התמונה הישנה למחיקה כפי שסופק ל־[[Special:ApiHelp/query+imageinfo|action=query&prop=imageinfo&iiprop=archivename]].",
"apihelp-edit-param-recreate": "לעקוב את כל הטעויות על כך שהדף נמחק בינתיים.",
"apihelp-edit-param-createonly": "לא לערוך את הדף אם הוא כבר קיים.",
"apihelp-edit-param-nocreate": "לזרוק שגיאה אם הדף אינו קיים.",
- "apihelp-edit-param-watch": "×\94×\95ספת ×\94×¢×\9e×\95×\93 לרשימת המעקב של המשתמש הנוכחי.",
+ "apihelp-edit-param-watch": "×\94×\95ספת ×\94×\93×£ לרשימת המעקב של המשתמש הנוכחי.",
"apihelp-edit-param-unwatch": "הסרת הדף מרשימת המעקב של של המשתמש הנוכחי.",
"apihelp-edit-param-watchlist": "להוסיף את הדף לרשימת המעקב של המשתמש הנוכחי או להסיר אותו משם, להשתמש בהעדפות, או לא לשנות את מצב המעקב.",
"apihelp-edit-param-md5": "גיבוב MD5 של הפרמטר $1text או צירוף של הפטמטרים $1prependtext ו־$1appendtext. אם זה מוגדר, העריכה לא תיעשה אלא אם כן הגיבוב נכון.",
"apihelp-edit-param-contentmodel": "מודל התוכן של התוכן החדש.",
"apihelp-edit-param-token": "האסימון תמיד צריך להישלח בתור הפרמטר האחרון, או לפחות אחרי הפרמטר $1text parameter.",
"apihelp-edit-example-edit": "עריכת דף",
- "apihelp-edit-example-prepend": "×\94×\95ספת <kbd>__NOTOC__</kbd> ×\9cת×\97×\99×\9cת ×\94×¢×\9e×\95×\93.",
+ "apihelp-edit-example-prepend": "×\94×\95ספת <kbd>__NOTOC__</kbd> ×\9cת×\97×\99×\9cת ×\94×\93×£.",
"apihelp-edit-example-undo": "ביטול גרסאות מ־13579 עד 13585 עם תקציר אוטומטי.",
"apihelp-emailuser-summary": "שליחת דוא\"ל למשתמש.",
"apihelp-emailuser-param-target": "לאיזה משתמש לשלוח דוא\"ל.",
"apihelp-expandtemplates-paramvalue-prop-wikitext": "קוד הוויקי המורחב.",
"apihelp-expandtemplates-paramvalue-prop-categories": "קטגוריות כלשהן שקיימות בקלט ואינן מיוצגות בפלט הוויקיטקסט.",
"apihelp-expandtemplates-paramvalue-prop-properties": "מאפייני דף המוגדרים במילות קסם מורחבות בקוד ויקי.",
- "apihelp-expandtemplates-paramvalue-prop-volatile": "×\94×\90×\9d ×\94פ×\9c×\98 ×\94×\95×\90 × ×\93×\99×£ ×\95×\90×\99×\9f ×\9c×\94שת×\9eש ×\91×\95 ×\91×\9eק×\95×\9d ×\90×\97ר ×\91×¢×\9e×\95×\93.",
+ "apihelp-expandtemplates-paramvalue-prop-volatile": "×\94×\90×\9d ×\94פ×\9c×\98 ×\94×\95×\90 × ×\93×\99×£ ×\95×\9c×\90 ×\9e×\99×\95×¢×\93 ×\9cש×\99×\9e×\95ש ×\91×\9eק×\95×\9d ×\90×\97ר ×\91×\93×£.",
"apihelp-expandtemplates-paramvalue-prop-ttl": "הזמן המרבי שאחריו המטמונים של התוצאה צריכים לפוג.",
"apihelp-expandtemplates-paramvalue-prop-modules": "כל יחידות ה־ResourceLoader שפונקציות מפענח ביקשו לוסיף לפלט. יש לבקש את <kbd>jsconfigvars</kbd> או את <kbd>encodedjsconfigvars</kbd> יחד עם <kbd>modules</kbd>.",
"apihelp-expandtemplates-paramvalue-prop-jsconfigvars": "נותן משתני הגדרות של JavaScript שייחודיים לדף הזה.",
}
/**
- * @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 );
protected $rclistOpen;
protected $rcMoveIndex;
+ /** @var callable */
+ protected $changeLinePrefixer;
+
/** @var BagOStuff */
protected $watchMsgCache;
*
* @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)
*
* @return array of classes
*/
protected function getHTMLClasses( $rc, $watched ) {
- $classes = [];
+ $classes = [ self::CSS_CLASS_PREFIX . 'line' ];
$logType = $rc->mAttribs['rc_log_type'];
if ( $logType ) {
+ $classes[] = self::CSS_CLASS_PREFIX . 'log';
$classes[] = Sanitizer::escapeClass( self::CSS_CLASS_PREFIX . 'log-' . $logType );
} else {
+ $classes[] = self::CSS_CLASS_PREFIX . 'edit';
$classes[] = Sanitizer::escapeClass( self::CSS_CLASS_PREFIX . 'ns' .
$rc->mAttribs['rc_namespace'] . '-' . $rc->mAttribs['rc_title'] );
$classes[] = Sanitizer::escapeClass( self::CSS_CLASS_PREFIX . 'ns-' .
}
/**
- * @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;
}
return $attrs;
}
+
+ /**
+ * Sets the callable that generates a change line prefix added to the beginning of each line.
+ *
+ * @param callable $prefixer Callable to run that generates the change line prefix.
+ * Takes three parameters: a RecentChange object, a ChangesList object,
+ * and whether the current entry is a grouped entry.
+ */
+ public function setChangeLinePrefixer( callable $prefixer ) {
+ $this->changeLinePrefixer = $prefixer;
+ }
}
}
/**
- * @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)
*
$recentChangesFlags = $this->getConfig()->get( 'RecentChangesFlags' );
# Add the namespace and title of the block as part of the class
- $tableClasses = [ 'mw-collapsible', 'mw-collapsed', 'mw-enhanced-rc' ];
+ $tableClasses = [ 'mw-collapsible', 'mw-collapsed', 'mw-enhanced-rc', 'mw-changeslist-line' ];
if ( $block[0]->mAttribs['rc_log_type'] ) {
# Log entry
+ $tableClasses[] = 'mw-changeslist-log';
$tableClasses[] = Sanitizer::escapeClass( 'mw-changeslist-log-'
. $block[0]->mAttribs['rc_log_type'] );
} else {
+ $tableClasses[] = 'mw-changeslist-edit';
$tableClasses[] = Sanitizer::escapeClass( 'mw-changeslist-ns'
. $block[0]->mAttribs['rc_namespace'] . '-' . $block[0]->mAttribs['rc_title'] );
}
implode( $this->message['semicolon-separator'], $users )
)->escaped();
+ $prefix = '';
+ if ( is_callable( $this->changeLinePrefixer ) ) {
+ $prefix = call_user_func( $this->changeLinePrefixer, $block[0], $this, true );
+ }
+
$templateParams = [
'articleLink' => $articleLink,
'charDifference' => $charDifference,
'lines' => $lines,
'logText' => $logText,
'numberofWatchingusers' => $numberofWatchingusers,
+ 'prefix' => $prefix,
'rev-deleted-event' => $revDeletedMsg,
'tableClasses' => $tableClasses,
'timestamp' => $block[0]->timestamp,
$type = $rcObj->mAttribs['rc_type'];
$data = [];
- $lineParams = [];
+ $lineParams = [ 'targetTitle' => $rcObj->getTitle() ];
$classes = [ 'mw-enhanced-rc' ];
if ( $rcObj->watched
if ( $logType ) {
# Log entry
+ $classes[] = 'mw-changeslist-log';
$classes[] = Sanitizer::escapeClass( 'mw-changeslist-log-' . $logType );
} else {
+ $classes[] = 'mw-changeslist-edit';
$classes[] = Sanitizer::escapeClass( 'mw-changeslist-ns' .
$rcObj->mAttribs['rc_namespace'] . '-' . $rcObj->mAttribs['rc_title'] );
}
return $key === 'class' || Sanitizer::isReservedDataAttribute( $key );
} );
+ $prefix = '';
+ if ( is_callable( $this->changeLinePrefixer ) ) {
+ $prefix = call_user_func( $this->changeLinePrefixer, $rcObj, $this, false );
+ }
+
$line = Html::openElement( 'table', $attribs ) . Html::openElement( 'tr' );
- $line .= '<td class="mw-enhanced-rc"><span class="mw-enhancedchanges-arrow-space"></span>';
+ $line .= Html::rawElement( 'td', [], '<span class="mw-enhancedchanges-arrow-space"></span>' );
+ $line .= Html::rawElement( 'td', [ 'class' => 'mw-changeslist-line-prefix' ], $prefix );
+ $line .= '<td class="mw-enhanced-rc">';
if ( isset( $data['recentChangesFlags'] ) ) {
$line .= $this->recentChangesFlags( $data['recentChangesFlags'] );
$line .= ' ' . $data['timestampLink'];
unset( $data['timestampLink'] );
}
- $line .= ' </td><td>';
+ $line .= ' </td>';
+ $line .= Html::openElement( 'td', [
+ 'class' => 'mw-changeslist-line-inner',
+ // Used for reliable determination of the affiliated page
+ 'data-target-page' => $rcObj->getTitle(),
+ ] );
// everything else: makes it easier for extensions to add or remove data
$line .= implode( '', $data );
/**
* 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;
$html .= ' ' . $this->numberofWatchingusers( $rc->numberofWatchingusers );
}
+ $html = Html::rawElement( 'span', [
+ 'class' => 'mw-changeslist-line-inner',
+ 'data-target-page' => $rc->getTitle(), // Used for reliable determination of the affiliated page
+ ], $html );
+ if ( is_callable( $this->changeLinePrefixer ) ) {
+ $prefix = call_user_func( $this->changeLinePrefixer, $rc, $this, false );
+ $html = Html::rawElement( 'span', [ 'class' => 'mw-changeslist-line-prefix' ], $prefix ) . $html;
+ }
+
return $html;
}
}
* @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
*/
'envCheckUploadsDirectory',
'envCheckLibicu',
'envCheckSuhosinMaxValueLength',
+ 'envCheck64Bit',
];
/**
$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' ) );
}
return true;
}
+ /**
+ * Checks if we're running on 64 bit or not. 32 bit is becoming increasingly
+ * hard to support, so let's at least warn people.
+ *
+ * @return bool
+ */
+ protected function envCheck64Bit() {
+ if ( PHP_INT_SIZE == 4 ) {
+ $this->showMessage( 'config-using-32bit' );
+ }
+
+ return true;
+ }
+
/**
* Convert a hex string representing a Unicode code point to that code point.
* @param string $c
* 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-postgres-old": "PostgreSQL $1 أو لاحق مطلوب. لديك $2.",
"config-mssql-old": "خادم Microsoft SQL $1 أو لاحق مطلوب. لديك $2.",
"config-sqlite-mkdir-error": "خطأ في إنشاء دليل البيانات \"$1\". تحقق من الموقع وحاول مرة أخرى.",
- "config-sqlite-connection-error": "1$.\nتحقق من اسم دليل البيانات وقواعد البيانات أدناه وحاول مرة أخرى.",
+ "config-sqlite-connection-error": "$1.\nتحقق من اسم دليل البيانات وقواعد البيانات أدناه وحاول مرة أخرى.",
"config-sqlite-readonly": "الملف <code>$1</code> غير قابل للكتابة.",
"config-sqlite-cant-create-db": "لا يمكن إنشاء ملف قاعدة البيانات <code>$1</code>.",
"config-can-upgrade": "هناك جداول ميدياويكي في قاعدة البيانات هذه. للارتقاء بها إلى ميدياويكي $1; انقر على <strong>متابعة</strong>.",
"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-no-cli-uploads-check": "'''Warnung''': Das Standardverzeichnis für hochgeladene Dateien (<code>$1</code>) wird, während der Installation über die Kommandozeile, nicht auf Sicherheitsanfälligkeiten hinsichtlich willkürlicher Skriptausführungen geprüft.",
"config-brokenlibxml": "Das System nutzt eine Kombination aus PHP- und libxml2-Versionen, die fehleranfällig ist und versteckte Datenfehler bei MediaWiki und anderen Webanwendungen verursachen kann.\nAktualisiere auf libxml2 2.7.3 oder später, um das Problem zu lösen. Installationsabbruch ([https://bugs.php.net/bug.php?id=45996 siehe hierzu die Fehlermeldung bei PHP]).",
"config-suhosin-max-value-length": "Suhosin ist installiert und beschränkt die Länge des GET-Parameters auf $1 Bytes.\nDer ResouceLoader von MediaWiki wird zwar unter diesen Bedingungen funktionieren, allerdings nur mit verminderter Leistungsfähigkeit.\nSofern möglich, sollte der Parameter <code>suhosin.get.max_value_length</code> in der Datei <code>php.ini</code> auf 1024 oder höher festgelegt werden.\nGleichzeitig muss der Parameter <code>$wgResourceLoaderMaxQueryLength</code> in der Datei <code>LocalSettings.php</code> auf den selben Wert eingestellt werden.",
+ "config-using-32bit": "<strong>Warnung:</strong> Es scheint, als ob dein System mit 32-Bit-Ganzzahlen läuft. Dies wird [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit nicht empfohlen].",
"config-db-type": "Datenbanksystem:",
"config-db-host": "Datenbankserver:",
"config-db-host-help": "Sofern sich die Datenbank auf einem anderen Server befindet, ist hier der Servername oder die entsprechende IP-Adresse anzugeben.\n\nSofern ein gemeinschaftlich genutzter Server verwendet wird, sollte der Hoster den zutreffenden Servernamen in seiner Dokumentation angegeben haben.\n\nSofern auf einem Windows-Server installiert und MySQL genutzt wird, funktioniert der Servername „localhost“ voraussichtlich nicht. Wenn nicht, sollte „127.0.0.1“ oder die lokale IP-Adresse angegeben werden.\n\nSofern PostgresQL genutzt wird, muss dieses Feld leer gelassen werden, um über ein Unix-Socket zu verbinden.",
"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-no-cli-uploads-check": "<strong>Warning:</strong> Your default directory for uploads (<code>$1</code>) is not checked for vulnerability\nto arbitrary script execution during the CLI install.",
"config-brokenlibxml": "Your system has a combination of PHP and libxml2 versions that is buggy and can cause hidden data corruption in MediaWiki and other web applications.\nUpgrade to libxml2 2.7.3 or later ([https://bugs.php.net/bug.php?id=45996 bug filed with PHP]).\nInstallation aborted.",
"config-suhosin-max-value-length": "Suhosin is installed and limits the GET parameter <code>length</code> to $1 bytes.\nMediaWiki's ResourceLoader component will work around this limit, but that will degrade performance.\nIf at all possible, you should set <code>suhosin.get.max_value_length</code> to 1024 or higher in <code>php.ini</code>, and set <code>$wgResourceLoaderMaxQueryLength</code> to the same value in <code>LocalSettings.php</code>.",
+ "config-using-32bit": "<strong>Warning:</strong> your system appears to be running with 32-bit integers. This is [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit not advised].",
"config-db-type": "Database type:",
"config-db-host": "Database host:",
"config-db-host-help": "If your database server is on different server, enter the host name or IP address here.\n\nIf you are using shared web hosting, your hosting provider should give you the correct host name in their documentation.\n\nIf you are installing on a Windows server and using MySQL, using \"localhost\" may not work for the server name. If it does not, try \"127.0.0.1\" for the local IP address.\n\nIf you are using PostgreSQL, leave this field blank to connect via a Unix socket.",
"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://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 איך להיאבק נגד ספאם באתר הוויקי שלך]"
}
"संजीव कुमार",
"Sahilrathod",
"Shyamal",
- "Sfic"
+ "Sfic",
+ "Sachinkatiyar"
]
},
"config-desc": "साँचा लिए इंस्टॉलर",
"config-apc": "[http://www.php.net/apc एपीसी] स्थापित है।",
"config-apcu": "[http://www.php.net/apcu एपीसीयू] स्थापित है।",
"config-wincache": "[http://www.iis.net/download/WinCacheForPhp विनकैश] स्थापित है।",
+ "config-using-32bit": "<विशेष>चेतावनी:</विशेष> आपका सिस्टम 32-बिट पूर्णांक के साथ चल रहा है यह [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit विवेचित नहीं है]।",
"config-db-type": "डेटाबेस प्रकार:",
"config-db-host": "डेटाबेस होस्ट:",
"config-db-host-oracle": "डेटाबेस टीएनएस:",
"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-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 미디어위키 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-no-cli-uploads-check": "'''Предупредување:''' Вашата основна папка за подигања (<code>$1</code>) не е проверена дали е подложна\nпроизволно извршување на скрипти во текот на воспоставката на посредникот на повикувачко ниво (CLI).",
"config-brokenlibxml": "Вашиот систем има комбинација од PHP и libxml2 верзии и затоа има грешки и може да предизвика скриено расипување на податоците кај МедијаВики и други мрежни програми.\nНадградете го на libxml2 2.7.3 или нивни понови верзии! ([https://bugs.php.net/bug.php?id=45996 грешката е заведена во PHP]). Воспоставката е откажана.",
"config-suhosin-max-value-length": "Suhosin е воспоставен и ја ограничува должината на параметарот GET на $1 бајти. Делот ResourceLoader на МедијаВики ќе ја заобиколува ова граница, но со тоа ќе се влоши делотворноста. Ако е воопшто можно, на <code>suhosin.get.max_value_length</code> треба да го наместите на 1024 или повеќе во <code>php.ini</code>, и да му ја зададете истата вредност на <code>$wgResourceLoaderMaxQueryLength</code> во <code>LocalSettings.php</code>.",
+ "config-using-32bit": "<strong>Предупредување:</strong> вашиот систем работи на 32-битни цели броеви. Ова [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-не се препорачува].",
"config-db-type": "Тип на база:",
"config-db-host": "Домаќин на базата:",
"config-db-host-help": "Ако вашата база е на друг опслужувач, тогаш тука внесете го името на домаќинот или IP-адресата.\n\nАко користите заедничко (споделено) вдомување, тогаш вашиот вдомител треба да го наведе точното име на домаќинот во неговата документација.\n\nАко воспоставувате на опслужувач на Windows и користите MySQL, можноста „localhost“ може да не функционира за опслужувачкото име. Во тој случај, обидете се со внесување на „127.0.0.1“ како месна IP-адреса.\n\nАко користите PostgreSQL, оставете го полево празно за да се поврзете преку Unix-приклучок.",
"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-no-cli-uploads-check": "CLI = [[w:Command-line interface|command-line interface]] (i.e. the installer runs as a command-line script, not using HTML interface via an internet browser)",
"config-brokenlibxml": "Status message in the MediaWiki installer environment checks.",
"config-suhosin-max-value-length": "{{doc-important|Do not translate \"length\", \"suhosin.get.max_value_length\", \"php.ini\", \"$wgResourceLoaderMaxQueryLength\" and \"LocalSettings.php\".}}\nMessage shown when PHP parameter <code>suhosin.get.max_value_length</code> is between 0 and 1023 (that max value is hard set in MediaWiki software).",
+ "config-using-32bit": "Warning message shown when installing on a 32-bit system.",
"config-db-type": "Field label in the MediaWiki installer followed by possible database types.",
"config-db-host": "Used as label.\n\nAlso used in {{msg-mw|Config-missing-db-host}}.",
"config-db-host-help": "{{doc-singularthey}}",
"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 {{msg-mw|config-screenshot}}.",
+ "config-screenshot": "Link text for the link in {{msg-mw|config-skins-screenshot}}\n{{Identical|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 Узнайте, как бороться со спамом в вашей вики]"
}
"config-no-cli-uploads-check": "'''Varning:''' Din standardkatalog för uppladdningar (<code>$1</code>) har inte kontrollerats för sårbarhet från körning av godtyckliga skript under CLI-installationen.",
"config-brokenlibxml": "Ditt system har en kombination av PHP och libxml2 som är buggigt och kan orsaka datakorruption i MediaWiki och andra webbprogram.\nUppgradera till libxml2 2.7.3 eller senare ([https//bugs.php.net/bug.php?id=45996 buggfil med PHP]).\nInstallationen avbröts.",
"config-suhosin-max-value-length": "Suhosin är installerat och begränsar GET-parametern <code>length</code> till $1 bytes.\nMediaWikis ResourceLoader-komponent kommer att arbeta runt denna begränsning, men det kommer att försämra prestandan.\nOm möjligt bör du sätta <code>suhosin.get.max_value_length</code> till 1024 eller högre i <code>php.ini</code>, och sätta <code>$wgResourceLoaderMaxQueryLength</code> till samma värde som i <code>LocalSettings.php</code>.",
+ "config-using-32bit": "<strong>Varning:</strong> ditt system verkar vara en 32-bitarsversion. Detta [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:32-bit rekommenderas inte].",
"config-db-type": "Databastyp:",
"config-db-host": "Databasvärd:",
"config-db-host-help": "Om din databasserver är på en annan server, ange då värdnamnet eller IP-adressen här.\n\nOm du använder ett delat webbhotell, bör din leverantör ge dig rätt värdnamn i deras dokumentation.\n\nOm du installerar på en Windowsserver och använder MySQL, kanske \"localhost\" inte fungerar för servernamnet. Om det inte gör det försök med \"127.0.0.1\" som den lokala IP-adressen.\n\nOm du använder PostgreSQL, lämna detta fält blankt för att ansluta via en Unix-socket.",
"config-help-tooltip": "klicka för att expandera",
"config-nofile": "Filen \"$1\" kunde inte hittas. Har den raderats?",
"config-extension-link": "Visste du att din wiki stödjer [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Extensions tillägg]?\n\nDu kan bläddra [https://www.mediawiki.org/wiki/Special:MyLanguage/Category:Extensions_by_category tillägg efter kategori].",
+ "config-skins-screenshots": "$1 (skärmbilder: $2)",
+ "config-screenshot": "skärmbild",
"mainpagetext": "<strong>MediaWiki har installerats utan problem.</strong>",
"mainpagedocfooter": "Information om hur wiki-programvaran används finns i [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents användarguiden].\n\n== Att komma igång ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Lista över konfigurationsinställningar]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce E-postlista för nya versioner av MediaWiki]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Lokalisera MediaWiki för ditt språk]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Läs om hur du bekämpar spam på din wiki]"
}
"config-help-tooltip": "单击展开",
"config-nofile": "找不到文件“$1”。它是否已被删除?",
"config-extension-link": "您是否知道您的wiki支持[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 用户指导]以获取使用本wiki软件的信息!\n\n== 入门 ==\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings MediaWiki配置设置列表]\n* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ/zh-hans 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 了解如何在您的wiki上打击破坏]"
}
/**
* @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
protected $wiki;
/** @var string|bool Read only rationale (or false if r/w) */
protected $readOnlyReason;
+ /** @var bool Whether the wiki is not recognized in configuration */
+ protected $invalidWiki = false;
/** @var array Map of (bucket => (queue => JobQueue, types => list of types) */
protected $coalescedQueues;
* @return JobQueueGroup
*/
public static function singleton( $wiki = false ) {
+ global $wgLocalDatabases;
+
$wiki = ( $wiki === false ) ? wfWikiID() : $wiki;
+
if ( !isset( self::$instances[$wiki] ) ) {
self::$instances[$wiki] = new self( $wiki, wfConfiguredReadOnlyReason() );
+ // Make sure jobs are not getting pushed to bogus wikis. This can confuse
+ // the job runner system into spawning endless RPC requests that fail (T171371).
+ if ( $wiki !== wfWikiID() && !in_array( $wiki, $wgLocalDatabases ) ) {
+ self::$instances[$wiki]->invalidWiki = true;
+ }
}
return self::$instances[$wiki];
public function push( $jobs ) {
global $wgJobTypesExcludedFromDefaultQueue;
+ if ( $this->invalidWiki ) {
+ // Do not enqueue job that cannot be run (T171371)
+ $e = new LogicException( "Domain '{$this->wiki}' is not recognized." );
+ MWExceptionHandler::logException( $e );
+ return;
+ }
+
$jobs = is_array( $jobs ) ? $jobs : [ $jobs ];
if ( !count( $jobs ) ) {
return;
* @since 1.26
*/
public function lazyPush( $jobs ) {
+ if ( $this->invalidWiki ) {
+ // Do not enqueue job that cannot be run (T171371)
+ throw new LogicException( "Domain '{$this->wiki}' is not recognized." );
+ }
+
if ( PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg' ) {
$this->push( $jobs );
return;
* 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 File associated with this thumbnail
* @param array $params Array with scaler params
*
- * @return MediaTransformError Error object if error occurred, false (=no error) otherwise
+ * @return MediaTransformError|bool Error object if error occurred, false (=no error) otherwise
*/
protected function transformImageMagick( $image, $params ) {
# use ImageMagick
* @param File $image File associated with this thumbnail
* @param array $params Array with scaler params
*
- * @return MediaTransformError Error object if error occurred, false (=no error) otherwise
+ * @return MediaTransformError Error|bool object if error occurred, false (=no error) otherwise
*/
protected function transformImageMagickExt( $image, $params ) {
global $wgSharpenReductionThreshold, $wgSharpenParameter, $wgMaxAnimatedGifArea,
* @param File $image File associated with this thumbnail
* @param array $params Array with scaler params
*
- * @return MediaTransformError Error object if error occurred, false (=no error) otherwise
+ * @return MediaTransformError Error|bool object if error occurred, false (=no error) otherwise
*/
protected function transformCustom( $image, $params ) {
# Use a custom convert command
* @param File $image File associated with this thumbnail
* @param array $params Array with scaler params
*
- * @return MediaTransformError Error object if error occurred, false (=no error) otherwise
+ * @return MediaTransformError|bool Error object if error occurred, false (=no error) otherwise
*/
protected function transformGd( $image, $params ) {
# Use PHP's builtin GD library functions.
/**
* @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 ) {
if ( is_int( $from ) ) {
list( $index, $opts ) = DBAccessObjectUtils::getDBOptions( $from );
$data = $this->pageDataFromTitle( wfGetDB( $index ), $this->mTitle, $opts );
+ $loadBalancer = MediaWikiServices::getInstance()->getDBLoadBalancer();
if ( !$data
&& $index == DB_REPLICA
- && wfGetLB()->getServerCount() > 1
- && wfGetLB()->hasOrMadeRecentMasterChanges()
+ && $loadBalancer->getServerCount() > 1
+ && $loadBalancer->hasOrMadeRecentMasterChanges()
) {
$from = self::READ_LATEST;
list( $index, $opts ) = DBAccessObjectUtils::getDBOptions( $from );
* @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 /* ... */ ) {
];
break;
case 'LANGUAGES':
- if ( $this->data['language_urls'] ) {
+ if ( $this->data['language_urls'] !== false ) {
$msgObj = $this->getMsg( 'otherlanguages' );
$boxes[$boxName] = [
'id' => 'p-lang',
'header' => $msgObj->exists() ? $msgObj->text() : 'otherlanguages',
'generated' => false,
- 'content' => $this->data['language_urls'],
+ 'content' => $this->data['language_urls'] ?: [],
];
}
break;
/**
* @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 ) {
'mediawiki.special.changeslist.visitedstatus',
'mediawiki.special.watchlist',
] );
+ $output->addModuleStyles( [ 'mediawiki.special.watchlist.styles' ] );
$mode = SpecialEditWatchlist::getMode( $request, $subpage );
if ( $mode !== false ) {
}
/**
- * @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
$list = ChangesList::newFromContext( $this->getContext(), $this->filterGroups );
$list->setWatchlistDivs();
$list->initChangesListRows( $rows );
+ if ( $user->getOption( 'watchlistunwatchlinks' ) ) {
+ $list->setChangeLinePrefixer( function ( RecentChange $rc, ChangesList $cl, $grouped ) {
+ // Don't show unwatch link if the line is a grouped log entry using EnhancedChangesList,
+ // since EnhancedChangesList groups log entries by performer rather than by target article
+ if ( $rc->mAttribs['rc_type'] == RC_LOG && $cl instanceof EnhancedChangesList &&
+ $grouped ) {
+ return '';
+ } else {
+ return $this->getLinkRenderer()
+ ->makeKnownLink( $rc->getTitle(),
+ $this->msg( 'watchlist-unwatch' )->text(), [
+ 'class' => 'mw-unwatch-link',
+ 'title' => $this->msg( 'tooltip-ca-unwatch' )->text()
+ ], [ 'action' => 'unwatch' ] ) . ' ';
+ }
+ } );
+ }
$dbr->dataSeek( $rows, 0 );
if ( $this->getConfig()->get( 'RCShowWatchingUsers' )
// 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;
}
<td>
<span class="mw-collapsible-toggle mw-collapsible-arrow mw-enhancedchanges-arrow mw-enhancedchanges-arrow-space"></span>
</td>
+ <td class="mw-changeslist-line-prefix">{{{ prefix }}}</td>
<td class="mw-enhanced-rc">{{{ collectedRcFlags }}} {{ timestamp }} </td>
- <td>
+ <td class="mw-changeslist-line-inner">
{{# rev-deleted-event }}<span class="history-deleted">{{{ . }}}</span>{{/ rev-deleted-event }}
{{{ articleLink }}}{{{ languageDirMark }}}{{{ logText }}}
<span class="mw-changeslist-separator">. .</span>
</tr>
{{# lines }}
<tr class="{{# classes }}{{ . }} {{/ classes }}"{{{ attribs }}}>
+ <td></td>
<td></td>
<td class="mw-enhanced-rc">{{{ recentChangesFlags }}} </td>
- <td class="mw-enhanced-rc-nested">
+ <td class="mw-enhanced-rc-nested" data-target-page="{{ targetTitle }}">
{{# timestampLink }}
<span class="mw-enhanced-rc-time">{{{ . }}}</span>
{{/ timestampLink }}
$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": "فروق",
+ "diff-form-submit": "أظهر الفروق",
"dberr-problems": "عذرا! هذا الموقع يعاني من صعوبات تقنية.",
"dberr-again": "جرب الانتظار بضع دقائق وإعادة التحميل.",
"dberr-info": "(لا يمكن الوصول إلى خادوم قاعدة البيانات: $1)",
"tog-shownumberswatching": "Amosar el númberu d'usuarios que tán vixilando la páxina",
"tog-oldsig": "La to firma actual:",
"tog-fancysig": "Tratar la firma como testu wiki (ensin enllaz automáticu)",
- "tog-uselivepreview": "Usar vista previa en tiempu real",
+ "tog-uselivepreview": "Amosar les vistes previes ensin recargar la páxina",
"tog-forceeditsummary": "Avisame cuando grabe col resume d'edición en blanco",
"tog-watchlisthideown": "Anubrir les mios ediciones na llista de siguimientu",
"tog-watchlisthidebots": "Anubrir les ediciones de bots na llista de siguimientu",
"permissionserrorstext-withaction": "Nun tien permisu pa $2 {{PLURAL:$1|pol siguiente motivu|polos siguientes motivos}}:",
"contentmodelediterror": "Nun ye posible editar esta revisión porque'l so modelu de conteníu ye <code>$1</code>, que ye distintu del modelu de conteníu actual de la páxina, <code>$2</code>.",
"recreate-moveddeleted-warn": "'''Avisu: Tas volviendo a crear una páxina que se desanició anteriormente.'''\n\nHabríes considerar si ye afechisco siguir editando esta páxina.\nEquí tienes el rexistru de desanicios y tresllaos d'esta páxina:",
- "moveddeleted-notice": "Esta páxina se desanició.\nComo referencia, embaxo s'ufre'l rexistru de desanicios y tresllaos de la páxina.",
- "moveddeleted-notice-recent": "Esta páxina desanicióse apocayá (dientro de les postreres 24 hores).\nLos rexistros de desaniciu y treslláu de la páxina amuésense de siguío como referencia.",
+ "moveddeleted-notice": "Esta páxina se desanició.\nComo referencia, embaxo s'ufre'l rexistru de desanicios, proteiciones y tresllaos de la páxina.",
+ "moveddeleted-notice-recent": "Esta páxina desanicióse apocayá (dientro de les postreres 24 hores).\nEl rexistru de desanicios, proteiciones y tresllaos de la páxina amuésense de siguío como referencia.",
"log-fulllog": "Ver el rexistru ensembre",
"edit-hook-aborted": "Edición albortada pol enganche.\nNun dio esplicación.",
"edit-gone-missing": "Nun se pudo actualizar la páxina.\nPaez que se desanició.",
"prefs-editwatchlist-clear": "Llimpiar la to llista de siguimientu",
"prefs-watchlist-days": "Númberu de díes qu'amosar na llista de siguimientu:",
"prefs-watchlist-days-max": "Máximo $1 {{PLURAL:$1|día|díes}}",
- "prefs-watchlist-edits": "Númberu máximu d'ediciones qu'amosar na llista de siguimientu espandida:",
+ "prefs-watchlist-edits": "Númberu máximu de cambios qu'amosar na llista de siguimientu:",
"prefs-watchlist-edits-max": "Númberu máximu: 1000",
"prefs-watchlist-token": "Pase de la llista de siguimientu:",
"prefs-misc": "Varios",
"recentchanges-submit": "Amosar",
"rcfilters-legend-heading": "<strong>Llista d'abreviatures:</strong>",
"rcfilters-other-review-tools": "<strong>Otres ferramientes de revisión</strong>",
+ "rcfilters-group-results-by-page": "Agrupar resultancies per páxina",
+ "rcfilters-grouping-title": "Agrupamientu",
"rcfilters-activefilters": "Filtros activos",
"rcfilters-advancedfilters": "Filtros avanzaos",
"rcfilters-limit-title": "Cambios a amosar",
- "rcfilters-limit-shownum": "Amosar los últimos $1 cambios",
+ "rcfilters-limit-shownum": "Amosar {{PLURAL:$1|l'últimu cambiu|los últimos $1 cambios}}",
"rcfilters-days-title": "Últimos díes",
"rcfilters-hours-title": "Últimes hores",
"rcfilters-days-show-days": "$1 {{PLURAL:$1|día|díes}}",
"rcfilters-savedqueries-new-name-label": "Nome",
"rcfilters-savedqueries-new-name-placeholder": "Describe'l propósitu del filtru",
"rcfilters-savedqueries-apply-label": "Crear un filtru",
+ "rcfilters-savedqueries-apply-and-setdefault-label": "Crear filtru predetermináu",
"rcfilters-savedqueries-cancel-label": "Encaboxar",
"rcfilters-savedqueries-add-new-title": "Guardar les preferencies de filtru actuales",
"rcfilters-restore-default-filters": "Restaurar los filtros predeterminaos",
"rcfilters-clear-all-filters": "Borrar tolos filtros",
+ "rcfilters-show-new-changes": "Ver los cambeos más recién",
+ "rcfilters-previous-changes-label": "Cambeos vistos anteriormente",
"rcfilters-search-placeholder": "Filtriar los cambeos recién (restola o empieza a escribir)",
"rcfilters-invalid-filter": "Filtru inválidu",
"rcfilters-empty-filter": "Nun hai filtros activos. Amuésense toles contribuciones.",
"rcfilters-tag-prefix-namespace-inverted": "<strong>:non</strong> $1",
"rcfilters-exclude-button-off": "Torgar los seleicionaos",
"rcfilters-exclude-button-on": "Torgando los seleicionaos",
+ "rcfilters-view-advanced-filters-label": "Filtros avanzaos",
"rcfilters-view-tags": "Ediciones etiquetaes",
"rcfilters-view-namespaces-tooltip": "Filtriar los resultaos por espaciu de nomes",
"rcfilters-view-tags-tooltip": "Filtriar los resultaos usando les etiquetes d'edición",
"rcfilters-view-return-to-default-tooltip": "Volver al menú principal de filtros",
"rcfilters-liveupdates-button": "Anovamientos nel intre",
+ "rcfilters-liveupdates-button-title-on": "Apagar anovamientos en direuto",
+ "rcfilters-liveupdates-button-title-off": "Amosar los cambeos de la qu'asoceden",
"rcnotefrom": "Abaxo {{PLURAL:$5|tá'l cambiu|tan los cambios}} dende'l <strong>$3</strong>, a les <strong>$4</strong> (s'amuesen un máximu de <strong>$1</strong>).",
"rclistfromreset": "Reaniciar la seleición de data",
"rclistfrom": "Amosar los nuevos cambios dende'l $3 a les $2",
"pageswithprop-legend": "Páxines con una propiedá de páxina",
"pageswithprop-text": "Esta páxina llista les páxines qu'usen una propiedá de páxina determinada.",
"pageswithprop-prop": "Nome de la propiedá:",
+ "pageswithprop-reverse": "Ordenar a la inversa",
+ "pageswithprop-sortbyvalue": "Ordenar por valor de propiedá",
"pageswithprop-submit": "Dir",
"pageswithprop-prophidden-long": "valor de propiedá de testu llargu tapecíu ($1)",
"pageswithprop-prophidden-binary": "valor de propiedá binaria tapecíu ($1)",
"enotif_lastdiff": "Pa ver esti cambiu mira en $1",
"enotif_anon_editor": "usuariu anónimu $1",
"enotif_body": "Estimáu $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nResume del editor: $PAGESUMMARY $PAGEMINOREDIT\n\nPa comunicate col editor:\ncorréu: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nEn casu de producise más actividá, nun habrá más notificaciones a nun ser que visites esta páxina teniendo sesión aniciada. Tamién podríes reaniciar na to llista de siguimientu los marcadores de notificación de toles páxines que sigues.\n\nEl to abertable sistema de notificación de {{SITENAME}}\n\n--\nPa camudar les preferencies d'avisos per corréu, visita\n{{canonicalurl:{{#special:Preferences}}}}\n\nPa camudar la configuración de la to llista de siguimientu, visita\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nPa desaniciar la páxina de la to llista de siguimientu, visita\n$UNWATCHURL\n\nMás ayuda y sofitu:\n$HELPPAGE",
+ "enotif_minoredit": "Esta ye una edición menor",
"created": "creada",
"changed": "camudada",
"deletepage": "Esborrar páxina",
"import-nonewrevisions": "Nun s'importó denguna revision (o yá taben toes presentes, o se saltaron por errores).",
"xml-error-string": "$1 na llinia $2, col $3 (byte $4): $5",
"import-upload": "Xubir datos XML",
- "import-token-mismatch": "Perda de datos de la sesión.\n\nSeique zarróse la sesión. <strong>Comprueba si tienes abierta la sesión y vuelve a intentalo</strong>.\nSi inda nun funcionara, tenta [[Special:UserLogout|colar]] y volver a aniciar sesión y comprueba que'l restolador permite les cookies d'esti sitiu.",
+ "import-token-mismatch": "Perda de datos de la sesión.\n\nSeique zarróse la sesión. '''Comprueba si tienes abierta la sesión y tenta nuevamente'''.\nSi entá nun funciona, tenta [[Special:UserLogout|colar]] y volver a aniciar sesión y comprueba que'l restolador permite les cookies d'esti sitiu.",
"import-invalid-interwiki": "Nun se puede importar d'esi wiki.",
"import-error-edit": "La páxina «$1» nun s'importó porque nun tienes permisu pa editala.",
"import-error-create": "La páxina «$1» nun s'importó porque nun tienes permisu pa creala.",
"fileduplicatesearch-noresults": "Nun s'alcontró dengún ficheru nomáu «$1».",
"specialpages": "Páxines especiales",
"specialpages-note-top": "Lleenda",
+ "specialpages-note-restricted": "* Páxines especiales normales.\n* <span class=\"mw-specialpagerestricted\">Páxines especiales restrinxíes.</span>",
"specialpages-group-maintenance": "Informes de mantenimientu",
"specialpages-group-other": "Otres páxines especiales",
"specialpages-group-login": "Entrar / crear cuenta",
"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": "Diferencies",
+ "diff-form-oldid": "Antiguu identificador de revisión (opcional)",
+ "diff-form-revid": "Identificador de revisión de la diferencia",
+ "diff-form-submit": "Amosar les diferencies",
+ "permanentlink": "Enllaz permanente",
+ "permanentlink-revid": "ID de la revisión",
+ "permanentlink-submit": "Dir a la revisión",
"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": "Таҙартыу",
+ "apisandbox-multivalue-all-namespaces": "$1 (Барлыҡ исемдәр яланы)",
+ "apisandbox-multivalue-all-values": "$1 (барлыҡ мәғәнәләр)",
"booksources": "Китап сығанаҡтары",
"booksources-search-legend": "Китап сығанаҡтарын эҙлә",
"booksources-search": "Эҙләү",
"booksources-text": "Түбәндәге исемлектә — китаптар һатыу менән шөғөлләнеүсе сайттарға һәм китапханаларҙың эҙләү системаларына һылтанмалар, һәм уларҙа һеҙ эҙләгән китаптар тураһында өҫтәмә мәғлүмәт булыуы мөмкин.",
"booksources-invalid-isbn": "Күрһәтелгән ISBN номерҙа хата булырға тейеш. Зинһар, номерҙы сығанаҡтан дөрөҫ күсереүегеҙҙе тикшерегеҙ.",
+ "magiclink-tracking-rfc": "RFC һылтанмаһы булған биттәр",
+ "magiclink-tracking-rfc-desc": "Был бит RFC һылтанмаһын ҡуллана. Ҡара [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] - нисек күсереү тураһында.",
+ "magiclink-tracking-pmid": "PMID серле һылтанмаһын ҡулланған биттәр",
+ "magiclink-tracking-pmid-desc": "Был бит PMID серле һылтанмаһын ҡуллана. Ҡара [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] нисек күсереү тураһында.",
+ "magiclink-tracking-isbn": "ISBN серле һылтанмаһын ҡулланған биттәр",
"specialloguserlabel": "Башҡарыусы:",
"speciallogtitlelabel": "Маҡсат (исем йәки ҡулланыусы {{ns:user}}):",
"log": "Журналдар",
"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)",
"tog-watchlisthideminor": "Kleine Bearbeitungen in der Beobachtungsliste ausblenden",
"tog-watchlisthideliu": "Bearbeitungen angemeldeter Benutzer in der Beobachtungsliste ausblenden",
"tog-watchlistreloadautomatically": "Sofern ein Filter geändert wurde, die Beobachtungsliste automatisch neu laden (erfordert JavaScript)",
+ "tog-watchlistunwatchlinks": "Direkte Links zum (Ent-)Beobachten bei Einträgen in der Beobachtungsliste hinzufügen (für diese Funktion ist JavaScript erforderlich)",
"tog-watchlisthideanons": "Bearbeitungen anonymer Benutzer (IP-Adressen) in der Beobachtungsliste ausblenden",
"tog-watchlisthidepatrolled": "Kontrollierte Änderungen in der Beobachtungsliste ausblenden",
"tog-watchlisthidecategorization": "Kategorisierungen von Seiten in der Beobachtungsliste ausblenden",
"watching": "Beobachten …",
"unwatching": "Nicht mehr beobachten …",
"watcherrortext": "Beim Ändern der Beobachtungslisteneinstellungen für „$1“ ist ein Fehler aufgetreten.",
+ "watchlist-unwatch": "×",
+ "watchlist-unwatch-undo": "+",
"enotif_reset": "Alle Seiten als besucht markieren",
"enotif_impersonal_salutation": "{{SITENAME}}-Benutzer",
"enotif_subject_deleted": "{{SITENAME}}-Seite $1 wurde von {{GENDER:$2|$2}} gelöscht",
"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)",
"GR",
"Thodoris",
"Ftsalamp",
- "Kostas20142"
+ "Kostas20142",
+ "Nikosgranturismogt"
]
},
"tog-underline": "Υπογράμμιση συνδέσμων:",
"prefs-labs": "Λειτουργίες των Labs",
"prefs-user-pages": "Σελίδες του χρήστη",
"prefs-personal": "Στοιχεία χρήστη",
- "prefs-rc": "Πρόσφατες αλλαγές και εμφάνιση πολύ σύντομων άρθρων",
+ "prefs-rc": "Πρόσφατες αλλαγές",
"prefs-watchlist": "Λίστα παρακολούθησης",
"prefs-editwatchlist": "Επεξεργασία λίστας παρακολούθησης",
"prefs-editwatchlist-label": "Επεξεργασία καταχωρίσεων στη λίστα παρακολούθησής σας:",
"recentchanges-legend-plusminus": "(<em>±123</em>)",
"recentchanges-submit": "Προβολή",
"rcfilters-activefilters": "Ενεργά φίλτρα",
+ "rcfilters-advancedfilters": "Σύνθετα Φίλτρα",
+ "rcfilters-limit-title": "Αλλαγές για εμφάνιση",
+ "rcfilters-days-title": "Πρόσφατες ημέρες",
+ "rcfilters-hours-title": "Πρόσφατες ώρες",
+ "rcfilters-days-show-days": "$1 {{PLURAL:$1|μέρα|μέρες}}",
+ "rcfilters-days-show-hours": "$1 {{PLURAL:$1|ώρα|ώρες}}",
+ "rcfilters-quickfilters": "Αποθηκευμένα φίλτρα",
"rcfilters-savedqueries-rename": "Μετονομασία",
"rcfilters-savedqueries-setdefault": "Ορισμός ως προεπιλογή",
+ "rcfilters-savedqueries-remove": "Αφαίρεση",
+ "rcfilters-savedqueries-new-name-label": "Όνομα",
"rcfilters-restore-default-filters": "Επαναφορά προεπιλεγμένων φίλτρων",
"rcfilters-clear-all-filters": "Εκκαθάριση όλων των φίλτρων",
"rcfilters-search-placeholder": "Φιλτράρισμα πρόσφατων αλλαγών (περιηγηθείτε ή αρχίστε να πληκτρολογείτε)",
"compare-invalid-title": "Ο τίτλος που καθορίσατε δεν είναι έγκυρος.",
"compare-title-not-exists": "Ο τίτλος που καθορίσατε δεν υπάρχει.",
"compare-revision-not-exists": "Η αναθεώρηση που καθορίσατε δεν υπάρχει.",
+ "diff-form": "μια '''φόρμα'''",
"dberr-problems": "Λυπούμαστε! Αυτός ο ιστότοπος αντιμετωπίζει τεχνικές δυσκολίες.",
"dberr-again": "Δοκιμάστε να περιμενένετε λίγα λεπτά και να ανανεώσετε.",
"dberr-info": "(Δεν είναι δυνατή η πρόσβαση στη βάση δεδομένων: $1)",
"tog-watchlisthideminor": "Hide minor edits from the watchlist",
"tog-watchlisthideliu": "Hide edits by logged in users from the watchlist",
"tog-watchlistreloadautomatically": "Reload the watchlist automatically whenever a filter is changed (JavaScript required)",
+ "tog-watchlistunwatchlinks": "Add direct unwatch/watch links to watchlist entries (JavaScript required for toggle functionality)",
"tog-watchlisthideanons": "Hide edits by anonymous users from the watchlist",
"tog-watchlisthidepatrolled": "Hide patrolled edits from the watchlist",
"tog-watchlisthidecategorization": "Hide categorization of pages",
"watching": "Watching...",
"unwatching": "Unwatching...",
"watcherrortext": "An error occurred while changing your watchlist settings for \"$1\".",
+ "watchlist-unwatch": "×",
+ "watchlist-unwatch-undo": "+",
"enotif_reset": "Mark all pages visited",
"enotif_impersonal_salutation": "{{SITENAME}} user",
"enotif_subject_deleted": "{{SITENAME}} page $1 has been {{GENDER:$2|deleted}} by $2",
"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)",
"permissionserrorstext-withaction": "شما اجازهٔ $2 را به این {{PLURAL:$1|دلیل|دلایل}} ندارید:",
"contentmodelediterror": "امکان ویرایش این نسخه برای شما نیست چون نوع محتوای آن <code>$1</code> است که متفاوت است با نوع محتوای کنونی صفحه <code>$2</code> است.",
"recreate-moveddeleted-warn": "<strong>هشدار: شما در حال ایجاد صفحهای هستید که قبلاً حذف شدهاست.</strong>\n\nدر نظر داشته باشید که آیا ادامهٔ ویرایش این صفحه کار درستیاست یا نه.\nسیاههٔ حذف و انتقال این صفحه در زیر نشان داده شدهاست:",
- "moveddeleted-notice": "این صفحه حذف شدهاست.\nدر زیر سیاههٔ حذف و انتقال این صفحه نمایش داده شدهاست.",
- "moveddeleted-notice-recent": "متاسفانه صفحه قبلا حذف شدهاست (در ۲۴ ساعت اخیر) \nدلیل حذف و سیاههٔ انتقال در پائین موجود است.",
+ "moveddeleted-notice": "این صفحه حذف شدهاست.\nدر زیر سیاههٔ حذف، محافظت، و انتقال این صفحه نمایش داده شدهاست.",
+ "moveddeleted-notice-recent": "متاسفانه صفحه قبلا حذف شدهاست (در ۲۴ ساعت اخیر) \nدلیل حذف و سیاههٔ انتقال، و حفاظت در پائین موجود است.",
"log-fulllog": "مشاهدهٔ سیاههٔ کامل",
"edit-hook-aborted": "ویرایش توسط قلاب لغو شد.\nتوضیحی در این مورد داده نشد.",
"edit-gone-missing": "امکان بهروز کردن صفحه وجود ندارد.\nبه نظرمیرسد که صفحه حذف شده باشد.",
"delete-warning-toobig": "این صفحه تاریخچهٔ ویرایشی بزرگی دارد، که شامل بیش از $1 {{PLURAL:$1|نسخه|نسخه}} است.\nحذف آن ممکن است که عملکرد پایگاه دادهٔ {{SITENAME}} را مختل کند;\nبا احتیاط ادامه دهید.",
"deleteprotected": "شما نمیتوانید این صفحه را پاک کنید چون که از آن محافظت شدهاست.",
"deleting-backlinks-warning": "<strong>هشدار:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|صفحههای دیگری]] هستند که به صفحهای که شما در حال حذف آن هستید پیوند دارند یا آن را تراگنجانیدهاند.",
+ "deleting-subpages-warning": "<strong>هشدار:</strong> صفحهای که شما میخواهید حذف کنید [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|یک زیرصفحه|$1 زیرصفحه|51=بیش از پنجاه زیرصفحه}}]] دارد.",
"rollback": "واگردانی ویرایشها",
"rollbacklink": "واگردانی",
"rollbacklinkcount": "واگردانی $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)",
"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 oletuksena",
"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)",
"tog-shownumberswatching": "Nochd àireamh nan cleachdaichean a tha a' cumail sùil air",
"tog-oldsig": "An t-earr-sgrìobhadh làithreach agad:",
"tog-fancysig": "Làimhsich an t-earr-sgrìobhadh mar wikitext (gun cheangal leis fhèin)",
- "tog-uselivepreview": "Cleachd an ro-shealladh beò",
+ "tog-uselivepreview": "Seall ro-sheallaidhean gun a bhith ag ath-luchdadh na duilleige",
"tog-forceeditsummary": "Cuir ceist nuair a dh'fhàgas mi gearr-chunntas an deasachaidh bàn",
"tog-watchlisthideown": "Falaich mo mhùthaidhean fhèin air mo chlàr-faire",
"tog-watchlisthidebots": "Falaich mùthaidhean nam bot air mo chlàr-faire",
"tog-watchlisthideminor": "Falaich mùthaidhean beaga air mo chlàr-faire",
"tog-watchlisthideliu": "Falaich mùthaidhean le cleachdaichean a tha air logadh a-steach air mo chlàr-faire",
"tog-watchlistreloadautomatically": "Ath-luchdaich an liosta-fhaire gu fèin-obrachail uair sam bith a thèid criathrag atharrachadh (feum air JavaScript)",
+ "tog-watchlistunwatchlinks": "Cuir ceanglaichean neo-fhaire/faire ri innteartan na liosta-faire (feum airson JavaScript airson a thoglachadh)",
"tog-watchlisthideanons": "Falaich mùthaidhean le cleachdaichean gun ainm air mo chlàr-faire",
"tog-watchlisthidepatrolled": "Falaich mùthaidhean air duilleagan fo fhreiceadan air a' chlàr-fhaire agam",
"tog-watchlisthidecategorization": "Falaich roinnean nan duilleagan",
"anontalk": "Deasbaireachd",
"navigation": "Seòladh",
"and": " agus",
- "qbfind": "Lorg",
- "qbbrowse": "Brabhsaich",
- "qbedit": "Deasaich",
- "qbpageoptions": "An duilleag seo",
- "qbmyoptions": "Na duilleagan agam",
"faq": "CÀBHA",
- "faqpage": "Project:CÀBHA",
"actions": "Gnìomhan",
"namespaces": "Ainm-spàsan",
"variants": "Tionndaidhean",
"edit-local": "Deasaich an tuairisgeul ionadail",
"create": "Cruthaich",
"create-local": "Cuir tuairisgeul ionadail ris",
- "editthispage": "Deasaich an duilleag seo",
- "create-this-page": "Cruthaich an duilleag seo",
"delete": "Sguab às",
- "deletethispage": "Sguab às an duilleag seo",
- "undeletethispage": "Neo-dhèan sguabadh às na duilleige seo",
"undelete_short": "Neo-dhèan an sguabadh às air $1 {{PLURAL:$1|deasachadh|dheasachadh|deasachaidhean|deasachadh}}",
"viewdeleted_short": "Seall $1 {{PLURAL:$1|deasachadh|dheasachadh|deasachaidhean|deasachadh}} a chaidh a sguabadh às",
"protect": "Dìon",
"protect_change": "mùth",
- "protectthispage": "Dìon an duilleag seo",
"unprotect": "Atharraich an dìon",
- "unprotectthispage": "Atharraich dìon na duilleige seo",
"newpage": "Duilleag ùr",
- "talkpage": "Dèan deasbad mun duilleag seo",
"talkpagelinktext": "Deasbaireachd",
"specialpage": "Duilleag shònraichte",
"personaltools": "Innealan pearsanta",
- "articlepage": "Seall duilleag na susbainte",
"talk": "Deasbaireachd",
"views": "Tadhalan",
"toolbox": "Innealan",
"tool-link-userrights": "Atharraich buidhnean nan {{GENDER:$1|cleachdaichean}}",
"tool-link-userrights-readonly": "Seall buidhnean nan {{GENDER:$1|cleachdaichean}}",
"tool-link-emailuser": "Cuir post gun {{GENDER:$1|chleachdaiche}} seo",
- "userpage": "Seall duilleag a' chleachdaiche",
- "projectpage": "Seall duilleag a' phròiseict",
"imagepage": "Seall duilleag an fhaidhle",
"mediawikipage": "Seall duilleag na teachdaireachd",
"templatepage": "Seall duilleag na teamplaide",
"redirectedfrom": "(Air ath-sheòladh o $1)",
"redirectpagesub": "Ath-sheòl an duilleag",
"redirectto": "Dèan ath-stiùireadh gu:",
- "lastmodifiedat": "Chaidh an duilleag seo a mhùthadh $1 aig $2 turas mu dheireadh.",
+ "lastmodifiedat": "Chaidh an duilleag seo a dheasachadh $1 aig $2 turas mu dheireadh.",
"viewcount": "Chaidh inntrigeadh a dhèanamh dhan duilleag seo $1 {{PLURAL:$1|turas|thuras|tursan|turas}}.",
"protectedpage": "Duilleag fo dhìon",
"jumpto": "Gearr leum gu:",
"databaseerror-query": "Ceist: $1",
"databaseerror-function": "Foincsean: $1",
"databaseerror-error": "Mearachd: $1",
+ "transaction-duration-limit-exceeded": "Airson replication lag àrd a sheachnadh, sguireadh dhen tar-chur seo nuair a chaidh faid an sgrìobhaidh ($1) seachad air a’ chrìoch dhe $2.",
"laggedslavemode": "<strong>Rabhadh:</strong> Faodaidh nach eil ùrachaidhean a rinneadh o chionn ghoirid a' nochdadh san duilleag.",
"readonly": "Stòr-dàta glaiste",
"enterlockreason": "Cuir a-steach adhbhar a' ghlais, a' gabhail a-steach tuairmeas air fuasgladh a' ghlais.",
"missingarticle-rev": "(mùthadh#: $1)",
"missingarticle-diff": "(Diofar: $1, $2)",
"readonly_lag": "Chaidh an stòr-dàta a ghlasadh leis fhèin fhad 's a tha frithealaichean nan stòr-dàta tràilleach air dheireadh a' mhaighstir",
+ "nonwrite-api-promise-error": "Chaidh am bann-cinn HTTP Promise-Non-Write-API-Action a chur ach is ann do mhòideal sgrìobhadh API a bha an t-iarrtas.",
"internalerror": "Ion-mhearachd",
"internalerror_info": "Ion-mhearachd: $1",
"internalerror-fatal-exception": "Eisgeachd mharbhtach dhen t-seòrsa \"$1\"",
"no-null-revision": "Cha b' urrainn dhuinn mùthadh neoinitheach ùr a chruthachadh dhan duilleag \"$1\"",
"badtitle": "Droch thiotal",
"badtitletext": "Bha an duilleag a dh'iarr thu mì-dhligheach, falamh no le tiotal eadar-chànanach no eadar-uicidh air a dhroch cheangal.\nFaodaidh gu bheil aon no barrachd charactairean ann nach urrainn dhut a chleachdadh ann an tiotalan.",
+ "title-invalid-empty": "Tha an duilleag a chaidh iarraidh falamh no chan eil ann ach ainm namespace.",
+ "title-invalid-utf8": "Tha sreath UTF-8 mì-dhligheach ann an tiotal na duilleige a dh’iarr thu.",
+ "title-invalid-interwiki": "Tha ceangal interwiki ann an tiotal na duilleige a dh’iarr thu nach gabh a chleachdadh ann an tiotalan.",
+ "title-invalid-talk-namespace": "Tha reifreans air duilleag deasbaireachd nach eil ann an an tiotal na duilleige a dh’iarr thu.",
+ "title-invalid-characters": "Tha caractaran mì-dhligheach ann an tiotal na duilleige a dh’iarr thu: “$1”.",
+ "title-invalid-relative": "Tha slighe dhàimheach aig an tiotal. Tha tiotalan dhuilleagan dàimheach (./, ../) mì-dhligheach a chionn ’s nach ruigear iad gu tric nuair a bhios brabhsair a’ chleachdaiche ’gan làimhseachadh.",
+ "title-invalid-magic-tilde": "Tha ceithir tuinn ann an tiotal na duilleige a dh’iarr thu agus chan eil sin dligheachd (<nowiki>~~~</nowiki>).",
+ "title-invalid-too-long": "Tha tiotal na duilleige a dh’iarr thu ro fhada. Chan fhaod e a bhith nas fhaide na $1 {{PLURAL:$1|byte}} ann an còdachadh UTF-8.",
+ "title-invalid-leading-colon": "Tha còilean nach eil ceadaichte aig toiseach na duilleige a dh’iarr thu.",
"perfcached": "Chaidh an dàta a leanas a thasgadh 's faodaidh gu bheil e air dheireadh. Tha {{PLURAL:$1|$1 toradh|$1 thoradh|$1 toraidhean|$1 toradh}} ri fhaighinn san tasgadan air a' char as motha.",
"perfcachedts": "Chaidh an dàta a leanas a thasgadh agus chaidh ùrachadh $1 turas mu dheireadh. Tha {{PLURAL:$4|$4 toradh|$4 thoradh|$4 toraidhean|$4 toradh}} ri fhaighinn san tasgadan air a' char as motha.",
"querypage-no-updates": "Tha ùrachadh air a chur à comas air an duilleag seo an-dràsta.\nCha dèid an dàta an-seo ùrachadh aig an àm seo.",
"virus-scanfailed": "dh'fhàillig an sganadh (còd $1)",
"virus-unknownscanner": "sganair bhìorasan neo-aithnichte:",
"logouttext": "<strong>Chaidh do logadh a-mach.</strong>\n\nThoir an aire gum bi coltas air cuid dhe na duilleagan mar gum biodh tu air logadh a-steach gus am falamhaich thu tasgadan a' bhrabhsair agad.",
+ "cannotlogoutnow-title": "Cha ghabh clàradh a-mach an-dràsta fhèin",
+ "cannotlogoutnow-text": "Chan ghabh clàradh a-mach nuair a chleachdar $1.",
"welcomeuser": "Fàilte ort, $1",
"welcomecreation-msg": "Chaidh an cunntas agad a chruthachadh.\nNa dìochuimhnich na [[Special:Preferences|roghainnean agad air {{SITENAME}}]] a ghleusadh dhut fhèin.",
"yourname": "Ainm-cleachdaiche:",
"createacct-yourpasswordagain-ph": "Cuir a-steach am facal-faire a-rithist",
"userlogin-remembermypassword": "Cum air logadh a-steach mi",
"userlogin-signwithsecure": "Cleachd ceangal tèarainte",
+ "cannotlogin-title": "Cha ghabh clàradh a-steach",
+ "cannotlogin-text": "Cha ghabh clàradh a-steach.",
+ "cannotloginnow-title": "Cha ghabh clàradh a-steach an-dràsta fhèin",
+ "cannotloginnow-text": "Chan ghabh clàradh a-steachnuair a chleachdar $1.",
+ "cannotcreateaccount-title": "Cha ghabh na cunntasan a chruthachadh",
+ "cannotcreateaccount-text": "Chan eil cruthachadh dìreach de chunntasan an comas air an uici seo.",
"yourdomainname": "An àrainn-lìn agad:",
"password-change-forbidden": "Chan urrainn dhut faclan-faire atharrachadh air an uicipeid seo.",
"externaldberror": "Thachair mearachd le dearbhadh an stòir-dhàta air neo chan eil cead agad an cunntas agad air an taobh a-muigh ùrachadh.",
"login": "Log a-steach",
+ "login-security": "Dearbh cò thusa",
"nav-login-createaccount": "Log a-steach / cruthaich cunntas",
"logout": "Log a-mach",
"userlogout": "Log a-mach",
"userlogin-resetpassword-link": "Na dhìochuimhnich thu am facal-faire agad?",
"userlogin-helplink2": "Taic le logadh a-steach",
"userlogin-loggedin": "Chaidh do logadh a-steach mar $1 mu thràth.\nCleachd am foirm gu h-ìosal airson logadh a-steach mar chleachdaiche eile.",
+ "userlogin-reauth": "Feumaidh tu clàradh a-steach às ùr a dhearbhadh gur tusa $1.",
"userlogin-createanother": "Cruthaich cunntas eile",
"createacct-emailrequired": "Seòladh puist-d",
"createacct-emailoptional": "Seòladh puist-d (roghainneil)",
"createacct-email-ph": "Cuir a-steach an seòladh puist-d agad",
"createacct-another-email-ph": "Cuir a-steach seòladh puist-d",
"createaccountmail": "Cleachd facal-faire sealach air thuaiream agus cuir e dhan phost-d a tha 'ga shònrachadh gu h-ìosal",
+ "createaccountmail-help": "Gabhaidh seo a chleachdadh airson cunntas a chruthachadh do neach eile gun fhiosta dè am facal-faire.",
"createacct-realname": "Fìor-ainm (roghainneil)",
"createacct-reason": "Adhbhar",
"createacct-reason-ph": "Carson a tha thu a' cruthachadh cunntas eile?",
+ "createacct-reason-help": "An teachdaireachd a thèid a shealltainn ann an loga cruthachadh a’ chunntais",
"createacct-submit": "Cruthaich an cunntas agad",
"createacct-another-submit": "Cruthaich cunntas",
+ "createacct-continue-submit": "Lean air cruthachadh a’ chunntais",
+ "createacct-another-continue-submit": "Lean air cruthachadh a’ chunntais",
"createacct-benefit-heading": "Tha {{SITENAME}} 'ga chruthachadh le daoine mar thu fhèin.",
"createacct-benefit-body1": "{{PLURAL:$1|deasachadh|deasachaidhean}}",
"createacct-benefit-body2": "{{PLURAL:$1|duilleag|duilleagan}}",
"createacct-benefit-body3": "{{PLURAL:$1|deasaiche|deasaichean}} o chionn goirid",
"badretype": "Chan eil an dà fhacal-faire a chuir thu a-steach a' freagairt ri chèile.",
+ "usernameinprogress": "Tha cunntas eile ’ga chruthachadh dhan ainm-chleachdaiche seo mu thràth. Fuirich ort.",
"userexists": "Tha an t-ainm-cleachdaiche a chuir thu a-steach 'ga chleachdadh mu thràth.\nNach tagh thu ainm eile?",
"loginerror": "Mearachd log a-steach",
"createacct-error": "Mearachd le cruthachadh a' chunntais",
"permissionserrorstext": "Chan eil cead agad sin a dhèanamh air sgàth {{PLURAL:$1|an adhbhair|nan adhbharan}} a leanas:",
"permissionserrorstext-withaction": "Chan eil cead agad airson \"$2\" air sgàth {{PLURAL:$1|an adhbhair|nan adhbharan}} a leanas:",
"recreate-moveddeleted-warn": "<strong>Rabhadh: Tha thu gu bhith ath-chruthachadh duilleag a chaidh a sguabadh às roimhe.</strong>\n\nSaoil am bu chòir dhut leantainn air adhart le deasachadh na duilleige?.\nSeo dhut loga an sguabaidh às agus a' ghluasaid mar fhiosrachadh dhut:",
- "moveddeleted-notice": "Chaidh an duilleag seo a sguabadh às.\nChì thu loga an sguabaidh às agus a' ghluasaid gu h-ìosal mar fhiosrachadh dhut.",
+ "moveddeleted-notice": "Chaidh an duilleag seo a sguabadh às.\nChì thu loga an sguabaidh às, an dìon agus a’ ghluasaid gu h-ìosal mar fhiosrachadh dhut.",
"log-fulllog": "Seall an loga slàn",
"edit-hook-aborted": "Sguireadh dhen deasachadh ri linn dubhan.\nCha deach adhbhar a thoirt seachad.",
"edit-gone-missing": "Cha b' urrainn dhuinn an duilleag ath-nuadhachadh.\nTha coltas gun deach a sguabadh às.",
"page_first": "Toiseach",
"page_last": "Deireadh",
"histlegend": "Taghadh nan diofar: comharraich bogsaichean rèidio nam mùthaidhean gus coimeas a dhèanamh agus put Enter no am putan gu h-ìosal.<br />\nTreòir: <strong>({{int:cur}})</strong> = an diofar eadar e 's am mùthadh as ùire, <strong>({{int:last}})</strong> = an diofar eadar e 's am mùthadh roimhe, <strong>{{int:minoreditletter}}</strong> = deasachadh beag.",
- "history-fieldset-title": "An eachdraidh brabhsaidh",
+ "history-fieldset-title": "Lorg lèirmheasan",
"history-show-deleted": "Na chaidh sguabadh às a-mhàin",
"histfirst": "as sine",
"histlast": "as ùire",
"fileduplicatesearch-noresults": "Cha deach faidhle air a bheil \"$1\" a lorg.",
"specialpages": "Duilleagan sònraichte",
"specialpages-note-top": "Treòir",
- "specialpages-note": "* Duilleagan sònraichte coitcheann.\n* <span class=\"mw-specialpagerestricted\">Duilleagan sònraichte cuingichte.</span>",
"specialpages-group-maintenance": "Aithrisean na h-obrach-glèidhidh",
"specialpages-group-other": "Duilleagan sònraichte eile",
"specialpages-group-login": "Log a-steach / cruthaich cunntas",
"htmlform-cloner-delete": "Thoir air falbh",
"htmlform-cloner-required": "Tha luach a dhìth.",
"logentry-delete-delete": "Sguab $1 às duilleag $3",
- "logentry-delete-restore": "Dh'aisig $1 duilleag $3",
+ "logentry-delete-restore": "Dh’aisig $1 duilleag $3 ($4)",
"logentry-delete-event": "Dh'atharraich $1 an fhaicsinneachd aig $5 {{PLURAL:$5|tachartas|thachartas|tachartasan|tachartas}} an loga air $3: $4",
"logentry-delete-revision": "Dh'atharraich $1 an fhaicsinneachd aig $5 {{PLURAL:$5|mhùthadh|mhùthadh|mùthaidhean|mùthadh}} air $3: $4",
"logentry-delete-event-legacy": "Dh'atharraich $1 an fhaicsinneachd aig tachartasan an loga air $3",
"special-characters-group-bangla": "Bangla",
"special-characters-group-telugu": "Telugu",
"special-characters-group-sinhala": "Sinhala",
- "special-characters-group-gujarati": "Gujarati"
+ "special-characters-group-gujarati": "Gujarati",
+ "randomrootpage": "Duilleag root air thuaiream"
}
"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)",
"showdiff": "ફેરફારો દર્શાવો",
"anoneditwarning": "<strong>ચેતવણી:</strong> તમે તમારા સભ્ય નામથી પ્રવેશ કર્યો નથી.\nઆ પાનાનાં ઇતિહાસમાં તમારૂં આઇ.પી. (IP) એડ્રેસ નોંધવામાં આવશે અને તમારૂં આઈ.પી. લોકો જાહેર રીતે જોઈ શકશે. માટે <strong>[$1 પ્રવેશ કરો]</strong> અથવા તમે <strong>[$2 ખાતું બનાવો]</strong> તો ફેરફારો તમારા સભ્યનામ હેઠળ થશે અને અન્ય ફાયદાઓ પણ મળશે.",
"anonpreviewwarning": "તમે સભ્યનામથી પ્રવેશ કર્યો નથી,આ પાનું ઈતિહાસમાંતમારા IP સરનામાના નામે સાચવવામાં આવશે",
- "missingsummary": "<strong>ચેતવણી:</strong> તમે ફેરફારોનો સારાંશ આપ્યો\nજો તમે \"$1\" પર ફરી ક્લિક કરશો તો તમારા ફેરફારો સાચવવામાં આવશે.",
+ "missingsummary": "<strong>ચેતવણી:</strong> તમે ફેરફારોનો સારાંશ આપ્યો નથી.\nજો તમે \"$1\" પર ફરી ક્લિક કરશો તો, તમારા ફેરફારો સારાંશ વગર સાચવવામાં આવશે.",
"missingcommenttext": "કૃપા કરી નીચે ટીપ્પણી લખો.",
- "missingcommentheader": "'''યાદ દેવડાવું:'''તમે તમારી ટિપ્પણી ને શીર્ષક/મથાળુ આપ્યું નથી. \nજો તમે \"$1\" પર ફરીથી ક્લિક કરશો, તો તમારા ફેરરારો મથાળા વગર સચવાશે.",
+ "missingcommentheader": "<strong>ચેતવણી:</strong> તમે તમારી ટિપ્પણી ને શીર્ષક/મથાળુ આપ્યું નથી.\nજો તમે \"$1\" પર ફરીથી ક્લિક કરશો, તો તમારા ફેરફારો મથાળા વગર સચવાશે.",
"summary-preview": "સંપાદન સારાંશ પૂર્વાવલોકન:",
"subject-preview": "વિષયનું પૂર્વાવલોકન:",
"blockedtitle": "સભ્ય પ્રતિબંધિત છે",
"note": "'''નોંધ:'''",
"previewnote": "<strong>ધ્યાનમાં રાખો કે આ ફક્ત પૂર્વાવલોકન છે.</strong>\nતમારા ફેરફારો હજુ સાચવવામાં આવ્યા નથી!",
"continue-editing": "ફેરફાર કરવાનું ચાલુ રાખો",
- "previewconflict": "àª\9cà«\8b તમà«\87 àª\86 પાનà«\81àª\82 સાàª\9aવશà«\8b તà«\8b àª\86 પà«\8dરિવà«\8dયà«\81માàª\82 દà«\87àª\96ાય àª\9bà«\87 તà«\87વà«\81àª\82 સàª\9aવાશે.",
+ "previewconflict": "àª\86 પà«\82રà«\8dવદરà«\8dશન તમનà«\87 પાનà«\81àª\82 સàª\9aવાયા પàª\9bà«\80 àª\95à«\87વà«\81àª\82 દà«\87àª\96ાશà«\87 તà«\87 બતાવà«\87 àª\9bે.",
"session_fail_preview": "'''અફસોસ છે! સત્ર માહિતી ખોઇ દેવાને કારણે અમે તમારું કાર્ય સાચવી ન શક્યાં.'''\nકૃપયા ફરી પ્રયત્ન કરો.\nતેમ છતાં પણ સાચવી ન શકો તો [[Special:UserLogout|logging out]] કરી ફરી પ્રવેશ કરો.",
"session_fail_preview_html": "'''અફસોસ છે! સત્ર માહિતીનો નાશ થવાથી તમે કરેલ ફેરફાર અમે સાચવી ન શક્યાં .'''\n\n''કેમકે {{SITENAME}} માં કાચી HTML સક્રીય છે, JavaScript ના હુમલા સામેના રક્ષણ માટે ઝલક પર રોક લગાવી છે .''\n\n'''જો આ ગંભીર પ્રયત્ન હતો તો ફરી પ્રયત્ન કરો .'''\nઅનેતમા છતાં કમા ના કરેતો [[Special:UserLogout|logging out]] કરી ફરી લોગ ઇન કરો.",
"token_suffix_mismatch": "'''તમારા ફેરફારો કેમકે તમારા ગ્રાહકએ ફેરફાર નાકામાં વિરામચિન્હો અસ્ત વ્યસ્ત કરી દેતા.'''\nઆ પાનાને ખરાબ થતો અટકાવવા આ ફેરફાર રદ્દ કરાયો છે. \nજ્યારે તમે વેબ આધારિત અજ્ઞાત પ્રોક્સી વાપરતા હોવ ત્યારે આવું બની શકે છે.",
"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": "માત્ર પ્રબંધકોને માન્ય રાખો",
"tog-watchlisthideminor": "הסתרת עריכות משניות ברשימת המעקב",
"tog-watchlisthideliu": "הסתרת עריכות של משתמשים רשומים ברשימת המעקב",
"tog-watchlistreloadautomatically": "רענון אוטומטי של רשימת המעקב בכל פעם שמסנן משתנה (דרוש JavaScript)",
+ "tog-watchlistunwatchlinks": "הוספת קישורי הפסקת/הפעלת מעקב לערכים ברשימת המעקב (דרוש JavaScript כדי שהקישור יתעדכן בעת לחיצה עליו)",
"tog-watchlisthideanons": "הסתרת עריכות של משתמשים אנונימיים ברשימת המעקב",
"tog-watchlisthidepatrolled": "הסתרת עריכות בדוקות ברשימת המעקב",
"tog-watchlisthidecategorization": "הסתרת שינויים בקטגוריות",
"changeemail-throttled": "ביצעתם ניסיונות רבים מדי להיכנס לחשבון זה.\nאנא המתינו $1 לפני שתנסו שוב.",
"changeemail-nochange": "יש להקליד כתובת דוא\"ל חדשה שונה.",
"resettokens": "איפוס אסימונים",
- "resettokens-text": "×\91×¢×\9e×\95×\93 זה ניתן לאפס אסימונים שמאפשרים גישה לנתונים פרטיים של החשבון שלך.\n\nרצוי לעשות זאת אם שיתפת אותם בטעות עם אחרים או אם חשבונך נפרץ.",
+ "resettokens-text": "×\91×\93×£ ×\94זה ניתן לאפס אסימונים שמאפשרים גישה לנתונים פרטיים של החשבון שלך.\n\nרצוי לעשות זאת אם שיתפת אותם בטעות עם אחרים או אם חשבונך נפרץ.",
"resettokens-no-tokens": "אין אסימונים לאיפוס.",
"resettokens-tokens": "אסימונים:",
"resettokens-token-label": "$1 (ערך נוכחי: $2)",
"watching": "בהוספה לרשימת המעקב...",
"unwatching": "בהסרה מרשימת המעקב...",
"watcherrortext": "אירעה שגיאה בעת שינוי הגדרות רשימת המעקב של \"$1\".",
+ "watchlist-unwatch": "×",
+ "watchlist-unwatch-undo": "+",
"enotif_reset": "סימון כל הדפים כאילו נצפו",
"enotif_impersonal_salutation": "משתמש ב{{GRAMMAR:תחילית|{{SITENAME}}}}",
"enotif_subject_deleted": "הדף \"$1\" ב{{grammar:תחילית|{{SITENAME}}}} נמחק על־ידי $2",
"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)",
"recentchanges-legend-heading": "<strong>कुंजी:</strong>",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} ([[Special:NewPages|नए पन्नों की सूची]] को भी देखें)",
"recentchanges-submit": "दिखाएँ",
+ "rcfilters-other-review-tools": "<strong>दूसरे समीक्षा उपकरण</strong>",
"rcfilters-activefilters": "सक्रिय फिल्टर",
+ "rcfilters-limit-title": "दिखाने के लिए बदलाव",
"rcfilters-limit-shownum": "पिछले $1 बदलाव दिखायें",
"rcfilters-days-title": "कुछ दिनों के",
"rcfilters-hours-title": "कुछ घंटों के",
"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)",
"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",
"Luigi.delia",
"Samuele2002",
"Kaspo",
- "Pequod76"
+ "Pequod76",
+ "Greis"
]
},
"tog-underline": "Sottolinea i collegamenti:",
"editfont-style": "Stile del carattere nella casella di modifica:",
"editfont-default": "Predefinito del browser",
"editfont-monospace": "Carattere a larghezza fissa",
- "editfont-sansserif": "Carattere sans-serif",
- "editfont-serif": "Carattere serif",
+ "editfont-sansserif": "Carattere Sans-serif",
+ "editfont-serif": "Carattere Serif",
"sunday": "domenica",
"monday": "lunedì",
"tuesday": "martedì",
"oct": "ott",
"nov": "nov",
"dec": "dic",
- "january-date": "{{PLURAL:$1|1°|$1}} gennaio",
- "february-date": "{{PLURAL:$1|1°|$1}} febbraio",
- "march-date": "{{PLURAL:$1|1°|$1}} marzo",
- "april-date": "{{PLURAL:$1|1°|$1}} aprile",
- "may-date": "{{PLURAL:$1|1°|$1}} maggio",
- "june-date": "{{PLURAL:$1|1°|$1}} giugno",
- "july-date": "{{PLURAL:$1|1°|$1}} luglio",
- "august-date": "{{PLURAL:$1|1°|$1}} agosto",
- "september-date": "{{PLURAL:$1|1°|$1}} settembre",
- "october-date": "{{PLURAL:$1|1°|$1}} ottobre",
- "november-date": "{{PLURAL:$1|1°|$1}} novembre",
- "december-date": "{{PLURAL:$1|1°|$1}} dicembre",
+ "january-date": "$1 gennaio",
+ "february-date": "$1 febbraio",
+ "march-date": "$1 marzo",
+ "april-date": "$1 aprile",
+ "may-date": "$1 maggio",
+ "june-date": "$1 giugno",
+ "july-date": "$1 luglio",
+ "august-date": "$1 agosto",
+ "september-date": "$1 settembre",
+ "october-date": "$1 ottobre",
+ "november-date": "$1 novembre",
+ "december-date": "$1 dicembre",
"period-am": "AM",
"period-pm": "PM",
"pagecategories": "{{PLURAL:$1|Categoria|Categorie}}",
"searchbutton": "Ricerca",
"go": "Vai",
"searcharticle": "Vai",
- "history": "Versioni precedenti",
+ "history": "Cronologia della pagina",
"history_short": "Cronologia",
"history_small": "cronologia",
"updatedmarker": "modificata dalla mia ultima visita",
"userlogin-yourpassword": "Password",
"userlogin-yourpassword-ph": "Inserisci la tua password",
"createacct-yourpassword-ph": "Inserisci una password",
- "yourpasswordagain": "Ripeti la password:",
+ "yourpasswordagain": "Riscrivi la password:",
"createacct-yourpasswordagain": "Conferma password",
"createacct-yourpasswordagain-ph": "Inserisci nuovamente la password",
"userlogin-remembermypassword": "Mantienimi collegato",
"pt-login-button": "Entra",
"pt-login-continue-button": "Continua l'accesso",
"pt-createaccount": "Registrati",
- "pt-userlogout": "esci",
+ "pt-userlogout": "Esci",
"php-mail-error-unknown": "Errore sconosciuto nella funzione PHP mail()",
"user-mail-no-addy": "Hai cercato di inviare una e-mail senza un indirizzo.",
"user-mail-no-body": "Tentato di inviare una e-mail con un testo vuoto o estremamente breve.",
"watchthis": "Aggiungi agli osservati speciali",
"savearticle": "Salva la pagina",
"savechanges": "Salva le modifiche",
- "publishpage": "Pubblica pagina",
- "publishchanges": "Pubblica modifiche",
+ "publishpage": "Pubblica la pagina",
+ "publishchanges": "Pubblica le modifiche",
"preview": "Anteprima",
"showpreview": "Visualizza anteprima",
"showdiff": "Mostra modifiche",
"loginreqtitle": "Accesso richiesto",
"loginreqlink": "effettuare l'accesso",
"loginreqpagetext": "Per vedere altre pagine è necessario $1.",
- "accmailtitle": "Password inviata.",
+ "accmailtitle": "Password inviata",
"accmailtext": "Una password generata casualmente per [[User talk:$1|$1]] è stata inviata a $2. Questa password può essere modificata nella pagina per ''[[Special:ChangePassword|cambiare la password]]'' subito dopo l'accesso.",
"newarticle": "(Nuovo)",
"newarticletext": "Il collegamento appena seguito corrisponde ad una pagina non ancora esistente.\nSe vuoi creare la pagina ora, basta cominciare a scrivere il testo nella casella qui sotto (vedi la [$1 pagina di aiuto] per maggiori informazioni).\nSe il collegamento è stato aperto per errore, è sufficiente fare clic sul pulsante <strong>Indietro</strong> del proprio browser.",
"recentchanges-legend-plusminus": "(''±123'')",
"recentchanges-submit": "Mostra",
"rcfilters-legend-heading": "<strong>Elenco di abbreviazioni:</strong>",
+ "rcfilters-other-review-tools": "<strong>Altri strumenti di revisione</strong>",
"rcfilters-grouping-title": "Raggruppamento",
"rcfilters-activefilters": "Filtri attivi",
"rcfilters-advancedfilters": "Filtri avanzati",
"rcfilters-savedqueries-add-new-title": "Salva le impostazioni attuali del filtro",
"rcfilters-restore-default-filters": "Ripristina i filtri predefiniti",
"rcfilters-clear-all-filters": "Pulisci tutti i filtri",
+ "rcfilters-show-new-changes": "Visualizza le modifiche più recenti",
+ "rcfilters-previous-changes-label": "Modifiche visualizzate precedentemente",
"rcfilters-search-placeholder": "Filtra le ultime modifiche (naviga o inizia a digitare)",
"rcfilters-invalid-filter": "Filtro non valido",
"rcfilters-empty-filter": "Nessun filtro attivo. Sono mostrati tutti i contributi.",
"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",
+ "diff-form-submit": "Mostra le differenze",
+ "permanentlink": "Link permanente",
"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)",
"newwindow": "(新しいウィンドウで開きます)",
"cancel": "取り消し",
"moredotdotdot": "続き...",
- "morenotlisted": "この一覧はおそらく完全ではありません。",
+ "morenotlisted": "この一覧は不完全かもしれません。",
"mypage": "ページ",
"mytalk": "トーク",
"anontalk": "トーク",
"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)",
"edithelp": "Tallalt deg ubeddel",
"helppage-top-gethelp": "Tallelt",
"mainpage": "Asebter agejdan",
- "mainpage-description": "Asebter amenzawi",
+ "mainpage-description": "Asebter agejdan",
"policy-url": "Project:Ilugan",
"portal": "Awwur n timetti",
"portal-url": "Project:Awwur n timetti",
"img-auth-public": "Tasɣent n img_auth.php tella i ubeqqeḍ n ifuyla n yiwen wiki uslig.\nWiki agi yesɣwer am wiki azayez.\nI taɣellist tameqqṛant, img_auth.php yensa.",
"img-auth-noread": "Aseqdac ur yesɛa ara azref deg taɣuri ɣef « $1 ».",
"http-invalid-url": "URL ur teɣbel ara : $1",
- "http-invalid-scheme": "URL s uzenziɣ « $1 » ur ɣbelen ara d-agi.",
+ "http-invalid-scheme": "Tansiwin URL s uzenziɣ \"$1\" ur ttusefraken ara d-agi.",
"http-request-error": "Anezri warisem deg uceggaɛ n tuttra.",
"http-read-error": "Anezri n taɣuri HTTP.",
"http-timed-out": "Tuttra HTTP teneffeṛ.",
"tooltip-invert": "Sekcem amidag deg tankult agi iwakken ad ffereḍ ibeddilen n isebtar deg tallunt n isemawen yettwafren (dɣa tallunt n isemawen yeqqnen ma yella amidag deg tankult)",
"namespace_association": "Tallunt n isemawen yeqqenen",
"tooltip-namespace_association": "Sekcem amidag deg tankult agi iwakken ad rnuḍ daɣen tallunt n isemawen n umyannan yeqqnen ar tallunt n isemawen yettwafren",
- "blanknamespace": "(Amenzawi)",
+ "blanknamespace": "(Agejdan)",
"contributions": "Ittekkiyen n {{GENDER:$1|umseqdac|tamseqdact}}",
"contributions-title": "Umuɣ n tikkin n umseqdac $1",
"mycontris": "Ittekkiyen",
"tooltip-search": "Nadi {{SITENAME}}",
"tooltip-search-go": "Ṛuḥ ɣer usebter i sɛan isem agi ma yella.",
"tooltip-search-fulltext": "Nadi isebtar i sɛan aḍris agi",
- "tooltip-p-logo": "Asebter amenzawi",
+ "tooltip-p-logo": "Rzu ar usebter agejdan",
"tooltip-n-mainpage": "Rzu ar usebter agejdan",
- "tooltip-n-mainpage-description": "Rzu asebter amenzawi",
+ "tooltip-n-mainpage-description": "Rzu asebter agejdan",
"tooltip-n-portal": "Ɣef usenfar, ayen tzemrḍ ad txedmeḍ, anda tafeḍ tiɣawsiwin",
"tooltip-n-currentevents": "Af ayen yeḍran tura",
"tooltip-n-recentchanges": "Umuɣ n yibeddlen imaynuten deg wiki.",
"tog-watchlisthideminor": "주시문서 목록에서 사소한 편집을 숨기기",
"tog-watchlisthideliu": "주시문서 목록에서 로그인한 사용자의 편집을 숨기기",
"tog-watchlistreloadautomatically": "필터가 수정될 때마다 주시문서 목록 자동으로 새로 고치기 (자바스크립트 필요)",
+ "tog-watchlistunwatchlinks": "주시 목록으로의 주시/해제 링크를 추가합니다 (토글을 하기 위해서 JS가 필요합니다)",
"tog-watchlisthideanons": "주시문서 목록에서 익명 사용자의 편집을 숨기기",
"tog-watchlisthidepatrolled": "주시문서 목록에서 점검한 편집을 숨기기",
"tog-watchlisthidecategorization": "페이지 분류 숨기기",
"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|일}}",
"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": "이름공간으로 결과 필터",
"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:",
"watching": "주시 추가 중…",
"unwatching": "주시 해제 중…",
"watcherrortext": "\"$1\" 문서에 대한 주시 여부를 바꾸는 중 오류가 발생했습니다.",
+ "watchlist-unwatch": "×",
+ "watchlist-unwatch-undo": "+",
"enotif_reset": "모든 문서를 방문한 것으로 표시하기",
"enotif_impersonal_salutation": "{{SITENAME}} 사용자",
"enotif_subject_deleted": "{{SITENAME}} $1 문서를 $2님이 {{GENDER:$2|삭제했습니다}}",
"compare-invalid-title": "입력한 제목이 잘못되었습니다.",
"compare-title-not-exists": "입력한 문서가 존재하지 않습니다.",
"compare-revision-not-exists": "지정한 판이 없습니다.",
+ "diff-form": "차이",
+ "diff-form-oldid": "오래된 판 ID (선택사항)",
+ "diff-form-revid": "다른 버전의 ID",
+ "diff-form-submit": "차이 보기",
+ "permanentlink": "고유 링크",
+ "permanentlink-revid": "판 ID",
+ "permanentlink-submit": "판으로 이동",
"dberr-problems": "죄송합니다! 이 사이트에 기술적인 문제가 발생하고 있습니다.",
"dberr-again": "잠시 기다리고 나서 다시 불러오세요.",
"dberr-info": "(데이터베이스 서버에 연결할 수 없습니다: $1)",
"tog-shownumberswatching": "D'Zuel vun de Benotzer déi dës Säit iwwerwaache weisen",
"tog-oldsig": "Är Aktuell Ënnerschrëft:",
"tog-fancysig": "Ënnerschrëft als Wiki-Text behandelen (Ouni automatesche Link)",
- "tog-uselivepreview": "Live-Preview benotzen",
+ "tog-uselivepreview": "Live-Preview benotzen ouni d'Säit ze lueden",
"tog-forceeditsummary": "Warnen, wa beim Späicheren de Resumé feelt",
"tog-watchlisthideown": "Meng Ännerungen op menger Iwwerwaachungslëscht verstoppen",
"tog-watchlisthidebots": "Ännerunge vu Botten op menger Iwwerwaachungslëscht verstoppen",
"contentmodelediterror": "Dir kënnt dës Versioun net ännere well hiren Inhaltsmodell <code>$1</code> ass dee verschidde vum aktuellen Inhaltsmodell vun der Säit <code>$2</code> ass.",
"recreate-moveddeleted-warn": "'''Opgepasst: Dir sidd am Gaang eng Säit unzeleeën déi schonn eng Kéier geläscht gouf.'''\n\nFrot Iech ob et wierklech sënnvoll ass dës Säit nees nei ze schafen.\nFir Iech z'informéieren fannt Dir hei d'Logbuch vum Läsche mam Grond:",
"moveddeleted-notice": "Dës Säit gouf geläscht.\nDen Extrait aus dem Logbuch vum Réckelen a Läsche fir déi Säit fannt Dir hei drënner als Referenz.",
- "moveddeleted-notice-recent": "Leider gouf dëse Säit rezent (bannent de leschte 24 Stonnen) geläscht. D'Logbuch vum Läschen a Réckele vun dëser Säit fannt Dir fir Ar Informatioun hei drënner.",
+ "moveddeleted-notice-recent": "Leider gouf dëse Säit rezent (bannent de leschte 24 Stonnen) geläscht. De Logg vum Läschen, Spären a Réckele vun dëser Säit fannt Dir fir Är Informatioun hei drënner.",
"log-fulllog": "Dat ganzt Logbuch weisen",
"edit-hook-aborted": "D'Ännerung gouf ouni Erklärung vun enger Schnëttstell (hook) ofgebrach.",
"edit-gone-missing": "D'Säit konnt net aktualiséiert ginn.\nSi gouf anscheinend geläscht.",
"rcfilters-filter-lastrevision-label": "Lescht Versioun",
"rcfilters-filter-lastrevision-description": "Nëmmen déi lescht Ännerung op enger Säit.",
"rcfilters-filter-previousrevision-label": "Net déi lescht Versioun",
- "rcfilters-filter-previousrevision-description": "All Ännerungen, déi net déi rezenst Ännerung vun enger Säit sinn.",
+ "rcfilters-filter-previousrevision-description": "All Ännerungen, déi net déi 'rezentst Versioun' vun enger Säit sinn.",
"rcfilters-filter-excluded": "Ausgeschloss",
"rcfilters-tag-prefix-namespace-inverted": "<strong>:net</strong> $1",
"rcfilters-view-advanced-filters-label": "Erweidert Filteren",
"watching": "Iwwerwaachen …",
"unwatching": "Net méi iwwerwaachen …",
"watcherrortext": "Beim Ännere vun den Astellunge vun der Iwwerwaachungslëscht fir \"$1\" ass e Feeler geschitt.",
+ "watchlist-unwatch": "×",
+ "watchlist-unwatch-undo": "+",
"enotif_reset": "All Säiten als besicht markéieren",
"enotif_impersonal_salutation": "{{SITENAME}}-Benotzer",
"enotif_subject_deleted": "D'{{SITENAME}}-Säit $1 gouf vum {{gender:$2|$2}} geläscht",
"import-nonewrevisions": "Et goufe keng Versiounen importéiert (se waren al entweder scho virdrun importéiert ginn oder se goufen iwwersprong well Feeler dra waren).",
"xml-error-string": "$1 an der Zeil $2, Spalt $3, (Byte $4): $5",
"import-upload": "XML-Daten importéieren",
- "import-token-mismatch": "D'Date vun ärer Sessioun si verluer gaang.\n\nDir sidd eventuell ausgeloggt ginn. <strong>Kuckt w.e.g. no ob Dir nach ageloggt sidd a probéiert nach eng Kéier</strong>.\nWann et dann nach net geet, probéiert [[Special:UserLogout|Iech auszeloggen]] an duerno nees anzeloggen a kuckt no ob Äre Browser Cookië vun dësem Site akzeptéiert.",
+ "import-token-mismatch": "D'Date vun ärer Sessioun si verluer gaangen.\n\nDir sidd eventuell ausgeloggt ginn. '''Kuckt w.e.g. no ob Dir nach ageloggt sidd a probéiert nach eng Kéier'''.\nWann et dann nach net geet, probéiert [[Special:UserLogout|Iech auszeloggen]] an duerno nees anzeloggen a kuckt no ob Äre Browser Cookië vun dësem Site akzeptéiert.",
"import-invalid-interwiki": "Aus der Wiki déi Dir uginn hutt kann näischt importéiert ginn.",
"import-error-edit": "D'Säit \"$1\" gouf net importéiert well Dir se net änneren däerft.",
"import-error-create": "D'Säit \"$1\" gouf net importéiert well Dir se net uleeën däerft.",
"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": "Ënnerscheeder",
+ "diff-form-submit": "Ënnerscheeder weisen.",
"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": "爾之值為非整數也。",
"tog-watchlisthideminor": "Скриј ги ситните уредувања во набљудуваните",
"tog-watchlisthideliu": "Скриј ги уредувањата на најавените корисници во набљудуваните",
"tog-watchlistreloadautomatically": "Превчитувај ги набљудувањата автоматски кога ќе се смени филтерот (бара JavaScript)",
+ "tog-watchlistunwatchlinks": "Додај непосредни врски до набљудуваните (бара JavaScript)",
"tog-watchlisthideanons": "Скриј ги уредувањата од анонимни корисници во набљудуваните",
"tog-watchlisthidepatrolled": "Скриј испатролирани уредувања од мојот список на набљудувања",
"tog-watchlisthidecategorization": "Сокриј ја категоризацијата на страниците",
"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": "Неважечки филтер",
"watching": "Набљудување...",
"unwatching": "Отстранувам од набљудувани...",
"watcherrortext": "Се појави грешка при менувањето на вашите нагодувања набљудуваните за „$1“.",
+ "watchlist-unwatch": "×",
+ "watchlist-unwatch-undo": "+",
"enotif_reset": "Означи ги сите страници како посетени",
"enotif_impersonal_salutation": "Википедија корисник",
"enotif_subject_deleted": "Страницата $1 на {{SITENAME}} е избришана од {{gender:$2|$2}}",
"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)",
"mediastatistics-header-text": "Текстуални",
"mediastatistics-header-executable": "Извршни",
"mediastatistics-header-archive": "Збиени формати",
+ "mediastatistics-header-3d": "3Д",
"mediastatistics-header-total": "Сите податотеки",
"json-warn-trailing-comma": "{{PLURAL:$1|Отстранета е една завршна запирка|Отстранети се $1 завршни запирки}} од JSON",
"json-error-unknown": "Се јави проблем со JSON. Грешка: $1.",
"permissionserrorstext-withaction": "तुम्हाला $2 क्रियेची परवानगी नाही, खालील {{PLURAL:$1|कारणासाठी|कारणांसाठी}}:",
"contentmodelediterror": "ही आवृत्ती आपण संपादू शकत नाही कारण त्याचा आशय-आराखडा (कंटेन्ट मॉडेल)<code>$1</code> आहे व सध्याच्या <code>$2</code> पानाचा आशय आराखडा वेगळा आहे.",
"recreate-moveddeleted-warn": "'''सूचना: पूर्वी वगळलेला लेख तुम्ही पुन्हा बनवित आहात.'''\n\nआपण याचा विचार करा कि या पानाचे संपादन यापुढे करणे योग्य आहे काय.या पानाच्या वगळण्याच्या व स्थानांतराच्या नोंदी आपल्या (कामाच्या) सुलभतेसाठी दिलेल्या आहेत:",
- "moveddeleted-notice": "हà¥\87 पान वà¤\97ळणà¥\8dयात à¤\86लà¥\87लà¥\87 à¤\86हà¥\87.\nसà¤\82दरà¥\8dà¤à¤¾à¤¸à¤¾à¤ à¥\80, वà¤\97ळणà¥\8dयाà¤\9aà¥\80 व सà¥\8dथानाà¤\82तराà¤\9aà¥\80 नà¥\8bà¤\82द à¤\96ालà¥\80 दिलà¥\87लà¥\80 à¤\86हà¥\87.",
- "moveddeleted-notice-recent": "माफ करा,हे पान अलीकडेच (मागील २४ तासात) वगळल्या गेले आहे.हा पानाच्या वगळण्याचा व हलविण्याचा लॉग संदर्भासाठी खाली दिला आहे.",
+ "moveddeleted-notice": "हà¥\87 पान वà¤\97ळणà¥\8dयात à¤\86लà¥\87लà¥\87 à¤\86हà¥\87.\nया पानाà¤\9aà¥\87 वà¤\97ळणà¥\8dयाà¤\9aà¥\87,व सà¥\8dथानाà¤\82तरणाà¤\9aà¥\87 लà¥\89à¤\97 सà¤\82दरà¥\8dà¤à¤¾à¤¸à¤¾à¤ à¥\80 à¤\96ालà¥\80 दिलà¥\87 à¤\86हà¥\87त.",
+ "moveddeleted-notice-recent": "माफ करा,हे पान अलीकडेच (मागील २४ तासात) वगळल्या गेले आहे.\nया पानाचे वगळण्याचे,व स्थानांतरणाचे लॉग संदर्भासाठी खाली दिले आहेत.",
"log-fulllog": "पूर्ण नोंदी पहा",
"edit-hook-aborted": "हूकद्वारे संपादन रद्द.\nकारण दिलेले नाही.",
"edit-gone-missing": "नविन पृष्ठ अद्यतन करता आले नाही. ते वगळले असण्याची शक्यता आहे.",
"prefs-editwatchlist-clear": "आपली निरीक्षणसूची साफ(क्लिअर) करा",
"prefs-watchlist-days": "निरीक्षणसूचीमध्ये दिसणाऱ्या दिवसांची संख्या:",
"prefs-watchlist-days-max": "जास्तीत जास्त $1 {{PLURAL:$1|दिवस|दिवस}}",
- "prefs-watchlist-edits": "वाढà¥\80व निरà¥\80à¤\95à¥\8dषणसà¥\82à¤\9aà¥\80मधà¥\8dयà¥\87 दिसणाऱà¥\8dया सà¤\82पादनाà¤\82à¤\9aà¥\80 संख्या:",
+ "prefs-watchlist-edits": "निरà¥\80à¤\95à¥\8dषणसà¥\82à¤\9aà¥\80मधà¥\8dयà¥\87 दिसणाऱà¥\8dया सà¤\82पादनाà¤\82à¤\9aà¥\80 महतà¥\8dतम संख्या:",
"prefs-watchlist-edits-max": "अधिकतम अंक: १०००.",
"prefs-watchlist-token": "निरीक्षणसूचीचा बिल्ला:",
"prefs-misc": "किरकोळ",
"rcfilters-invalid-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": "शिकाऊ",
"fileduplicatesearch-noresults": "\"$1\" या नावाची संचिका सापडली नाही.",
"specialpages": "विशेष पृष्ठे",
"specialpages-note-top": "विवरण",
- "specialpages-note": "* सर्वसाधारण विशेष पृष्ठे.\n* <span class=\"mw-specialpagerestricted\">प्रतिबंधित विशेष पृष्ठे.</span>",
"specialpages-group-maintenance": "व्यवस्थापन अहवाल",
"specialpages-group-other": "इतर विशेष पृष्ठे",
"specialpages-group-login": "प्रवेश / नवीन सदस्य नोंदणी",
"permissionserrorstext": "အောက်ပါ {{PLURAL:$1|အကြောင်းပြချက်|အကြောင်းပြချက်များ}}ကြောင့် ထိုအရာအတွက် ခွင့်ပြုချက်မရှိပါ -",
"permissionserrorstext-withaction": "အောက်ပါ အကြောင်းပြချက် {{PLURAL:$1|ခု|ခု}} ကြောင့် $2 အတွက် ခွင့်ပြုချက်မရှိပါ -",
"recreate-moveddeleted-warn": "'''သတိပေးချက်။ သင်သည် ယခင်က ဖျက်ထားသော စာမျက်နှာတစ်ခုကို ပြန်လည်ဖန်တီးနေသည်။'''\n\nသင့်အနေနှင့် ဤစာမျက်နှာကို ဆက်လက်တည်းဖြတ်ရန် သင့်တော်မည် မသင့်တော်မည်ကို စဉ်းစားသင့်သည်။\nဖျက်ထားခြင်း နှင့် ရွှေ့ထားခြင်းတို့၏ မှတ်တမ်းကို သင့်အတွက် အလွယ်တကူ ကိုးကားနိုင်ရန် ဖော်ပြထားသည်။",
- "moveddeleted-notice": "ဤစာမျက်နှာကို ဖျက်ထားသည်။\nဖျက်ထားခြင်း ရွှေ့ဆိုင်းထားခြင်းတို့နှင့် ပတ်သက်သော မှတ်တမ်းကို ကိုးကားနိုင်ရန် အောက်တွင် ဖော်ပြထားသည်။",
+ "moveddeleted-notice": "ဤစာမျက်နှာကို ဖျက်ထားသည်။\nဖျက်ထားခြင်း၊ ကာကွယ်ထားခြင်းနှင့် ရွှေ့ပြောင်းထားခြင်းတို့နှင့် ပတ်သက်သော မှတ်တမ်းကို ကိုးကားနိုင်ရန် အောက်တွင် ဖော်ပြထားသည်။",
"log-fulllog": "မှတ်တမ်းအပြည့်အစုံကြည့်ရန်",
"edit-gone-missing": "စာမျက်နှာကို အပ်ဒိတ်မလုပ်နိုင်ပါ။\nအဖျက်ခံလိုက်ရပုံပေါ်သည်။",
"edit-conflict": "အငြင်းပွားမှုကို တည်းဖြတ်ရန်။",
"fileduplicatesearch-filename": "ဖိုင်အမည် -",
"fileduplicatesearch-submit": "ရှာဖွေရန်",
"specialpages": "အထူး စာမျက်နှာများ",
- "specialpages-note": "* ပုံမှန် အထူးစာမျက်နှာများ။\n* <span class=\"mw-specialpagerestricted\">ကန့်သတ်ထားသော အထူးစာမျက်နှာများ။</span>",
+ "specialpages-note-restricted": "* ပုံမှန် အထူးစာမျက်နှာများ။\n* <span class=\"mw-specialpagerestricted\">ကန့်သတ်ထားသော အထူးစာမျက်နှာများ။</span>",
"specialpages-group-maintenance": "ထိန်းသိမ်းမှု အစီရင်ခံချက်များ",
"specialpages-group-other": "အခြားအထူးစာမျက်နှာများ",
"specialpages-group-login": "Log in ဝင်ရန်/ အကောင့် ဖန်တီးရန်",
"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)",
"revdelete-unrestricted": "fjerna avgrensingar for administratorar",
"logentry-block-block": "$1 {{GENDER:$2|blokkerte}} {{GENDER:$4|$3}} for $5 $6",
"logentry-suppress-reblock": "$1 {{GENDER:$2|endra}} blokkeringsinnstillingar for {{GENDER:$4|$3}} med opphøyrstid $5 $6",
+ "logentry-merge-merge": "$1 {{GENDER:$2|flette}} $3 inn i $4 (versjonar til og med $5)",
"logentry-move-move": "$1 {{GENDER:$2|flytte}} sida $3 til $4",
"logentry-move-move-noredirect": "$1 {{GENDER:$2|flytte}} sida $3 til $4 utan å lata etter ei omdirigering",
"logentry-move-move_redir": "$1 {{GENDER:$2|flytte}} sida $3 til $4 over ei omdirigering",
"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)",
"tog-watchlisthideminor": "Ocultar edições menores da lista de páginas vigiadas",
"tog-watchlisthideliu": "Ocultar edições de usuários autenticados da lista de páginas vigiadas",
"tog-watchlistreloadautomatically": "Recarregar a lista de páginas vigiadas automaticamente sempre que um filtro for alterado (requer JavaScript)",
+ "tog-watchlistunwatchlinks": "Adicione links diretos de despertar/assistir a entradas da lista de observação (JavaScript necessário para a funcionalidade de alternância)",
"tog-watchlisthideanons": "Ocultar edições de usuários anônimos da lista de páginas vigiadas",
"tog-watchlisthidepatrolled": "Ocultar edições patrulhadas da lista de páginas vigiadas",
"tog-watchlisthidecategorization": "Ocultar a categorização das páginas",
"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.",
"watching": "Vigiando...",
"unwatching": "Deixando de vigiar...",
"watcherrortext": "Ocorreu um erro ao alterar a configuração da sua lista de páginas vigiadas para \"$1\".",
+ "watchlist-unwatch": "×",
+ "watchlist-unwatch-undo": "+",
"enotif_reset": "Marcar todas as páginas como visitadas",
"enotif_impersonal_salutation": "Usuário do projeto \"{{SITENAME}}\"",
"enotif_subject_deleted": "A página $1 da {{SITENAME}} foi eliminada por {{gender:$2|$2}}",
"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": "Diferenças",
+ "diff-form-oldid": "ID de revisão antiga (opcional)",
+ "diff-form-revid": "ID de revisão da diferença",
+ "diff-form-submit": "Mostrar diferenças",
+ "permanentlink": "Ligação permanente",
+ "permanentlink-revid": "ID da revisão",
+ "permanentlink-submit": "Ir para revisão",
"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)",
"tog-watchlisthidebots": "[[Special:Preferences]], tab 'Watchlist'. Offers user to hide bot edits from watchlist. {{Gender}}\n\n{{Related|Preferences-watchlistrc-toggle}}",
"tog-watchlisthideminor": "[[Special:Preferences]], tab 'Watchlist'. Offers user to hide minor edits from watchlist. {{Gender}}\n\n{{Related|Preferences-watchlistrc-toggle}}",
"tog-watchlisthideliu": "Option in tab 'Watchlist' of [[Special:Preferences]]. {{Gender}}\n\n{{Related|Preferences-watchlistrc-toggle}}",
- "tog-watchlistreloadautomatically": "[[Special:Preferences]], tab 'Watchlist'. Offers user to to automatically refresh the watchlist page, when a filter is changed.",
+ "tog-watchlistreloadautomatically": "[[Special:Preferences]], tab 'Watchlist'. Offers user to automatically refresh the watchlist page, when a filter is changed.",
+ "tog-watchlistunwatchlinks": "[[Special:Preferences]], tab 'Watchlist'. Offers user to add an unwatch/watch toggle link to watchlist entries.",
"tog-watchlisthideanons": "Option in tab 'Watchlist' of [[Special:Preferences]]. {{Gender}}\n\n{{Related|Preferences-watchlistrc-toggle}}",
"tog-watchlisthidepatrolled": "Option in Watchlist tab of [[Special:Preferences]]. {{Gender}}\n\n{{Related|Preferences-watchlistrc-toggle}}",
"tog-watchlisthidecategorization": "Option in Watchlist tab of [[Special:Preferences]]. Offers user to hide/show categorization of pages. Appears next to checkboxes with labels such as {{msg-mw|tog-watchlisthideminor}}.",
"watching": "Text displayed when clicked on the watch tab: {{msg-mw|Watch}}. It means the wiki is adding that page to your watchlist.",
"unwatching": "Text displayed when clicked on the unwatch tab: {{msg-mw|Unwatch}}. It means the wiki is removing that page from your watchlist.",
"watcherrortext": "When a user clicked the watch/unwatch tab and the action did not succeed, this message is displayed.\n\nThis message is used raw and should not contain wikitext.\n\nParameters:\n* $1 - ...\nSee also:\n* {{msg-mw|Addedwatchtext}}",
+ "watchlist-unwatch": "Symbol used for the link to unwatch a page from the watchlist.",
+ "watchlist-unwatch-undo": "Symbol used for the link to re-watch a page that has been unwatched from the watchlist.",
"enotif_reset": "Used in [[Special:Watchlist]].\n\nThis should be translated as \"Mark all pages '''as''' visited\".\n\nSee also:\n* {{msg-mw|Watchlist-options|fieldset}}\n* {{msg-mw|Watchlist-details|watchlist header}}\n* {{msg-mw|Wlheader-enotif|watchlist header}}",
"enotif_impersonal_salutation": "Used for impersonal e-mail notifications, suitable for bulk mailing.\n{{Identical|User}}",
"enotif_subject_deleted": "Email notification subject for deleted pages. Parameters:\n* $1 - page title\n* $2 - username who has deleted the page, can be used for GENDER",
"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]]\n{{Identical|Difference}}",
+ "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)",
"unprotectedarticle": "снята защита с «[[$1]]»",
"movedarticleprotection": "перенёс настройки защиты с «[[$2]]» на «[[$1]]»",
"protectedarticle-comment": "Защитил{{GENDER:$2||а}} «[[$1]]»",
- "modifiedarticleprotection-comment": "Изменил{{GENDER:$2||а}} уровень защиты «[[$1]]»",
+ "modifiedarticleprotection-comment": "Изменил{{GENDER:$2||а}} уровень защиты [[$1]]",
"unprotectedarticle-comment": "Cнял{{GENDER:$2||а}} защиту с «[[$1]]»",
"protect-title": "Установка уровня защиты для «$1»",
"protect-title-notallowed": "Просмотр уровня защиты «$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": "प्रविश्यताम् / लेखा सृज्यताम्",
"tog-shownumberswatching": "ڏسندڙ يوزرس جو انگ ڏيکاريو",
"tog-oldsig": "توھان جو موجوده دستخط:",
"tog-fancysig": "صحيح کي وڪيٽيڪسٽ سمجھو (ڪنھن خوڪار ڳنڍڻي کانسواءِ)",
- "tog-uselivepreview": "سÚ\8cÙ\8a سÙ\86ئÙ\8aÙ\86 Ù¾Ù\8aØ´ Ù\86گاھÛ\81 استعÙ\85اÙ\84 Úªريو",
+ "tog-uselivepreview": "صÙ\81ØÙ\8a Ú©Ù\8a Ù»Ù\8aھر اتارڻ سÙ\88اءÙ\90 Ù¾Ù\8aØ´ Ù\86گاھ Ú\8fÙ\8aکاريو",
"tog-watchlisthideown": "نظر ۾ فھرست مان منھنجون ترميمون لڪايو",
"tog-watchlisthidebots": "نظر ۾ فھرست تان بوٽ جون ترميمون لڪايو",
"tog-watchlisthideminor": "نظر ۾ فھرست تان معمولي ترميمون لڪايو",
"permissionserrorstext": "هيٺين {{PLURAL:$1|سبب|سببن}} ڪري، توهان کي اهو ڪرڻ جي اجازت حاصل ڪانهي.",
"permissionserrorstext-withaction": "ھيٺين {{PLURAL:$1|سبب|سببن}} ڪري، توھان کي $2 جي اجازت ڪانھي.",
"recreate-moveddeleted-warn": "'''خبردار: توھان اھڙو صفحو نئين سِر سرجي رھيا آھيو جيڪو اڳ ڊاٺو ويو آھي.'''\n\nبھتر ٿيندو تہ توھان سوچي وٺو تہ ڇا ان صفحي کي سنوارڻ چڱو ٿيندو.\nتوهان جي سھولت خاطر ھتي ان صفحي جو ڊاٺ لاگ ميسر ڪجي ٿو:",
- "moveddeleted-notice": "ھيءُ صفحو ڊھي چڪو آهي. \nحوالي طور ڊاٺ ۽ چور لاگ ھيٺ ڏجن ٿا.",
- "moveddeleted-notice-recent": "معاف ڪندا، هيءُ صفحو تازو ئي ڊاٺو ويو آهي (پوين 24 ڪلاڪن اندر). حوالي طور ڊاٺ ۽ چور لاگ هيٺ پيش ڪجي ٿو:",
+ "moveddeleted-notice": "ھيءُ صفحو ڊھي چڪو آهي. \nحوالي طور صفحي جا ڊاھ، حفاظت ۽ چورڻ لاگ ھيٺ ڏنل آھن.",
+ "moveddeleted-notice-recent": "معاف ڪجو، هيءُ صفحو تازو ئي ڊاٺو ويو ھو (پوين 24 ڪلاڪن اندر). حوالي طور صفحي جا ڊاھ، حفاظت ۽ چورڻ لاگ ھيٺ ڏنل آھن.",
"log-fulllog": "پُورو لاگ ڏسو",
"edit-conflict": "سنوار تڪرار",
"postedit-confirmation-created": "هيءُ صفحو سرجي چڪو آهي.",
"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": "رنگ چݨو",
"tmp-write-error": "Napaka pri pisanju začasne datoteke",
"large-file": "Priporočeno je, da datoteke niso večje od $1; ta datoteka je $2.",
"largefileserver": "Velikost datoteke presega strežnikove nastavitve.",
- "emptyfile": "Kaže, da je aložena datoteka prazna.\nDo tega bi lahko prišlo zaradi tipkarske napake v imenu.\nAli datoteko resnično želite naložiti?",
+ "emptyfile": "Kaže, da je naložena datoteka prazna.\nDo tega bi lahko prišlo zaradi tipkarske napake v imenu.\nAli resnično želite datoteko naložiti?",
"windows-nonascii-filename": "Ta wiki ne podpira imen datotek s posebnimi znaki.",
"fileexists": "Datoteka s tem imenom že obstaja. Preden jo {{GENDER:|povozite}}, preverite stran <strong>[[:$1]]</strong>.\n[[$1|thumb]]",
"filepageexists": "Opisna stran za to datoteko je bila že ustvarjena na <strong>[[:$1]]</strong>, vendar datoteka s tem imenom trenutno ne obstaja.\nPovzetek, ki ste ga vnesli, se ne bo prikazal na opisni strani.\nDa tam prikažete povzetek, morate stran urediti ročno.\n[[$1|thumb]]",
"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)",
"rcfilters-other-review-tools": "<strong>Остали алати за преглед</strong>",
"rcfilters-grouping-title": "Груписање",
"rcfilters-activefilters": "Активни филтери",
+ "rcfilters-advancedfilters": "Напредни филтери",
"rcfilters-limit-title": "Приказати измјена",
"rcfilters-limit-shownum": "Прикажи посљедњих $1 измјена",
"rcfilters-days-show-days": "$1 {{PLURAL:$1|дан|дана}}",
"rcfilters-filter-lastrevision-description": "Само најновија измена на страници.",
"rcfilters-filter-previousrevision-label": "Раније измене",
"rcfilters-filter-previousrevision-description": "Све измене које нису најскорашњије измене странице.",
+ "rcfilters-view-advanced-filters-label": "Напредни филтери",
"rcfilters-view-namespaces-tooltip": "Филтер резултата према именском простору",
+ "rcfilters-view-tags-tooltip": "Филтер резултата према ознаци измјене",
"rcnotefrom": "Испод {{PLURAL:$5|је измена|су измене}} од <strong>$3, $4</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)",
"rcfilters-legend-heading": "<strong>Spisak skraćenica:</strong>",
"rcfilters-other-review-tools": "<strong>Ostali alati za pregled:</strong>",
"rcfilters-activefilters": "Aktivni filteri",
+ "rcfilters-advancedfilters": "Napredni filteri",
"rcfilters-limit-title": "Prikazati izmjena",
"rcfilters-limit-shownum": "Prikaži posljednjih $1 izmjena",
"rcfilters-days-show-days": "$1 {{PLURAL:$1|dana|dana}}",
"rcfilters-filter-newpages-label": "Stvaranje stranica",
"rcfilters-filter-newpages-description": "Izmjene kojima se stvaraju nove stranice.",
"rcfilters-filter-logactions-label": "Radnje zabilježene u dnevnicima",
+ "rcfilters-view-advanced-filters-label": "Napredni filteri",
"rcfilters-view-namespaces-tooltip": "Filter rezultata prema imenskom prostoru",
+ "rcfilters-view-tags-tooltip": "Filter rezultata prema oznaci izmjene",
"rcnotefrom": "Ispod {{PLURAL:$5|je izmena|su izmene}} od <strong>$3, $4</strong> (do <strong>$1</strong> prikazano).",
"rclistfrom": "Prikaži nove izmene počev od $2 $3",
"rcshowhideminor": "$1 manje izmene",
"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)",
"permissionserrorstext-withaction": "Du har inte behörighet att $2, av följande {{PLURAL:$1|anledning|anledningar}}:",
"contentmodelediterror": "Du kan inte redigera den här sidversionen eftersom dess innehållsmodell är <code>$1</code> som skiljer sig från sidans aktuella innehållsmodell <code>$2</code>.",
"recreate-moveddeleted-warn": "'''Varning: Du återskapar en sida som tidigare raderats.'''\n\nDu bör överväga om det är lämpligt att fortsätta redigera den här sidan.\nRaderings- och sidflyttningsloggen för den här sidan visas här som hjälp:",
- "moveddeleted-notice": "Den här sidan har raderats.\nRaderings- och sidflyttningsloggen för sidan visas nedan som referens.",
- "moveddeleted-notice-recent": "Tyvärr, denna sida raderades nyligen (inom de senaste 24 timmarna).\nLoggen för radering och flyttning av sidan visas nedan som referens.",
+ "moveddeleted-notice": "Den här sidan har raderats.\nRaderings-, skydd- och sidflyttningsloggen för sidan visas nedan som referens.",
+ "moveddeleted-notice-recent": "Tyvärr, denna sida raderades nyligen (inom de senaste 24 timmarna).\nLoggen för radering, skydd och flyttning av sidan visas nedan som referens.",
"log-fulllog": "Visa fullständig logg",
"edit-hook-aborted": "Redigering avbruten av hook.\nDen gav ingen förklaring.",
"edit-gone-missing": "Kunde inte uppdatera sidan.\nDet verkar som att den har raderats.",
"watching": "Bevakar...",
"unwatching": "Avbevakar...",
"watcherrortext": "Ett fel inträffade när du ändrade dina bevakningsinställningarna för \"$1\".",
+ "watchlist-unwatch": "×",
+ "watchlist-unwatch-undo": "+",
"enotif_reset": "Markera alla sidor som besökta",
"enotif_impersonal_salutation": "{{SITENAME}}användare",
"enotif_subject_deleted": "{{SITENAME}}sidan $1 har raderats av {{gender:$2|$2}}",
"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": "Skillnader",
+ "diff-form-oldid": "Gammalt versions-ID (valfritt)",
+ "diff-form-revid": "Versions-ID för diff",
+ "diff-form-submit": "Visa differenser",
+ "permanentlink": "Permanent länk",
+ "permanentlink-revid": "Sidversions-ID",
+ "permanentlink-submit": "Gå till sidversion",
"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)",
"Stranger195",
"Emem.calist",
"Asmen",
- "MJPCubelo"
+ "MJPCubelo",
+ "Blakegripling ph"
]
},
"tog-underline": "Pagsasalungguhit ng link:",
"minoredit": "Ito ay isang munting pagbabago",
"watchthis": "Bantayan ang pahinang ito",
"savearticle": "Itala ang pahina",
+ "publishpage": "Ilimbag ang pahina",
"preview": "Paunang tingin",
"showpreview": "Paunang tingin",
"showdiff": "Ipakita ang mga pagbabago",
"tooltip-ca-nstab-category": "Tingnan ang pahina ng kategorya",
"tooltip-minoredit": "Tandaan ito bilang isang maliit na pagbabago",
"tooltip-save": "Sagipin ang iyong mga pagbabago",
+ "tooltip-publish": "Ilimbag ang pagbabago",
"tooltip-preview": "Paunang-tingnan ang mga pagbabago mo, pakigamit muna ito bago sagipin o magtala!",
"tooltip-diff": "Ipakita ang mga pagbabagong ginawa mo sa teksto.",
"tooltip-compareselectedversions": "Tingnan ang pagkakaiba sa pagitan ng dalawang napiling bersyon ng pahinang ito.",
"fileduplicatesearch-result-n": "Ang talaksan na \"$1\" ay may {{PLURAL:$2|1 kapareho|$2 mga kapareho}}.",
"fileduplicatesearch-noresults": "Walang natagpuang talaksan na may pangalang \"$1\".",
"specialpages": "Mga natatanging pahina",
- "specialpages-note": "* Normal na natatanging mga pahina.\n* <span class=\"mw-specialpagerestricted\">Pinaghihigpitang natatanging mga pahina.</span>",
"specialpages-group-maintenance": "Mga pagpapanatiling ulat",
"specialpages-group-other": "Iba pang natatanging mga pahina",
"specialpages-group-login": "Mag-login / lumikha ng account",
"compare-invalid-title": "Hindi katanggap-tanggap ang tinukoy mong pamagat.",
"compare-title-not-exists": "Hindi umiiral ang tinukoy mong pamagat.",
"compare-revision-not-exists": "Hindi umiiral ang tinukoy mong rebisyon.",
+ "diff-form": "isang '''pormularyo'''",
"dberr-problems": "Paumanhin! Dumaranas ng mga kahirapang teknikal ang sityong ito.",
"dberr-again": "Subuking maghintay ng ilang mga minuto at muling magkarga.",
"dberr-info": "(Hindi makaugnay sa tagapaghain ng kalipunan ng dato: $1)",
"searchsuggest-containing": "naglalaman ng ...",
"api-error-badtoken": "Panloob na kamalian: masamang kahalip.",
"api-error-emptypage": "Lumilikha ng bago, hindi pinapayagan ang mga pahinang walang laman.",
+ "api-error-publishfailed": "Kamaliang panloob: nabigo ang tagapaghain na magtabi ng pansamantalang talaksan.",
"api-error-stashfailed": "Panloob na kamalian: nabigo ang tagapaghain na magtabi ng pansamantalang talaksan.",
"api-error-unknown-warning": "Hindi nalalamang babala: $1",
"api-error-unknownerror": "Hindi malamang kamalian: \"$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|ئەزا}} گۇرۇپپىسىنى ئۆزگەرتىش",
+ "tool-link-userrights-readonly": "{{GENDER:$1|ئەزا}} گۇرۇپپىسىنى كۆرۈش",
+ "tool-link-emailuser": "بۇ {{ئىشلەتكۈچى|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": "تەھرىرلەش ياردىمى",
+ "helppage-top-gethelp": "ياردەم",
"mainpage": "باش بەت",
"mainpage-description": "باش بەت",
"policy-url": "Project:تاكتىكا",
"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 ئۆچۈرۈلگەن نەشرى}}",
"readonly_lag": "قوشۇمچە ساندان مۇلازىمىتىر غەملەكنى ئاساسىي مۇلازىمىتىرغا يېڭىلاۋاتىدۇ، ساندان ئۆزلۈكىدىن قۇلۇپلاندى",
"internalerror": "ئىچكى خاتالىق",
"internalerror_info": "ئىچكى خاتالىق: $1",
+ "internalerror-fatal-exception": "تىپ \"$1\" نىڭ ئەجەللىك خاتالىقى",
"filecopyerror": "\"$1\" ھۆججەتنى\"$2\" غا كۆچۈرەلمىدى.",
"filerenameerror": "\"$1\" ھۆججەتنىڭ ئاتىنى \"$2\" غا ئۆزگەرتەلمىدى.",
"filedeleteerror": "\"$1\" ھۆججەتنى ئۆچۈرەلمىدى.",
"directorycreateerror": "\"$1\" مۇندەرىجىنى قۇرالمىدى.",
+ "directoryreadonlyerror": "مۇندەرىجە \"$1\" پەقەت ئوقۇشچان.",
+ "directorynotreadableerror": "مۇندەرىجە \"$1\" نى ئوقۇغىلى بولمىدى.",
"filenotfound": "\"$1\" ھۆججەتنى تاپالمىدى.",
"unexpected": "كۈتۈلمىگەن قىممەت: \"$1\"=\"$2\".",
"formerror": "خاتالىق: جەدۋەلنى يوللىيالمىدى",
"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": "بىخەتەر ئۇلىنىشنى ئىشلەت",
+ "cannotlogin-title": "ھازىر كىرگىلى بولمايدۇ",
+ "cannotlogin-text": "كىرگىلى بولمايدۇ.",
+ "cannotloginnow-title": "ھازىر كىرگىلى بولمايدۇ",
+ "cannotcreateaccount-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-realname": "ھەقىقى ئىسمىڭىز (ئىختىيارى)",
"createacct-reason": "سەۋەبى",
"createacct-reason-ph": "نېمىشقا باشقا ھېسابات قۇرماقچى بولدىڭىز",
+ "createacct-reason-help": "ئاككونت قۇرۇش خاتىرىسىدە كۆرۈنىدىغان ئۇچۇر",
"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-disabled": "ماشىنا ئادەم پارولى چەكلەنگەن.",
+ "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-bad-appid": "ماشىنا ئادەم نامى \"$1\" ئىناۋەتسىز.",
+ "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ئۇ بايىلا ئۆچۈرۈلگەن بولۇشى مۇمكىن.",
"edit-conflict": "تەھرىر توقۇنۇشى.",
"edit-no-change": "تەھرىرلىگىنىڭىزگە پەرۋا قىلىنمىدى، چۈنكى تېكستتە ئۆزگىرىش بولمىدى.",
+ "postedit-confirmation-created": "بەت قۇرۇلدى.",
+ "postedit-confirmation-restored": "بەت ئەسلىگە كەلدى.",
"postedit-confirmation-saved": "تەھرىرلىگىنىڭىز ساقلاندى.",
"edit-already-exists": "يېڭى بەت قۇرالمىدى.\nبەت بۇرۇندىن مەۋجۇد.",
"defaultmessagetext": "كۆڭۈلدىكى ئۇچۇر تېكستى",
"invalid-content-data": "مەزمۇن سانلىق مەلۇماتى ئىناۋەتسىز",
"content-not-allowed-here": "[[$2]] بەتتە \"$1\" مەزمۇنغا يول قويۇلمايدۇ",
"editwarning-warning": "بەتتىن ئايرىلغاندا بەلكىم بارلىق تەھرىرلىگىنىڭىز بېكار بولۇپ كېتىشى مۇمكىن.\nئەگەر تىزىمغا كىرسىڭىز، مايىللىق بېتىڭىزنىڭ «{{int:prefs-editing}}» بۆلىكىدە، بۇ ئەسكەرتمىنى ئىناۋەتسىز قىلالايسىز.",
+ "editpage-invalidcontentmodel-title": "مەزمۇن ئەندىزىسىنى قوللىمىدى.",
+ "editpage-invalidcontentmodel-text": "مەزمۇن مودېلى “$1” نى قوللىمىدى.",
"editpage-notsupportedcontentformat-title": "مەزمۇن ئەندىزىسىنى قوللىمىدى.",
"editpage-notsupportedcontentformat-text": "مەزمۇن قېلىپى $2 نى مەزمۇن ئەندىزىسى $1 نى قوللىمىدى.",
"content-model-wikitext": "ۋىكىتېكىست",
"content-model-text": "ساپ تېكىست",
"content-model-javascript": "JavaScript",
"content-model-css": "CSS",
+ "content-json-empty-object": "قۇرۇق ئوبېكىت",
+ "content-json-empty-array": "قۇرۇق سانلار گۇرۇپپىسى",
"expensive-parserfunction-warning": "'''ئاگاھلاندۇرۇش:''' بۇ بەت ناھايىتى كۆپ يۇقىرى سەرپىياتتىكى گىرامماتىكىلىق ئىقتىدارنى چاقىرغان.\\n\n\\n\nئۇ {{PLURAL:$2|قېتىم|قېتىم}} دىن ئاز چاقىرىشى لازىم، ھازىر {{PLURAL:$1| $1 قېتىم| $1 قېتىم}} چاقىرىلغان.",
"expensive-parserfunction-category": "بەتتە يۇقىرى سەرپىياتتىكى گرامماتىكىلىق ئىقتىدار چاقىرىلغان.",
"post-expand-template-inclusion-warning": "'''ئاگاھلاندۇرۇش:''' ئۆز ئىچىگە ئالغان قېلىپ بەك چوڭ.\nبەزى قېلىپنى ئۆز ئىچىگە ئالمايدۇ.",
"post-expand-template-argument-warning": "'''ئاگاھلاندۇرۇش:''' بۇ بەتتە ئاز دېگەندە بىر پارامېتىر كېڭەيتىلگەن يۇقىرى قىممەتنى ئۆز ئىچىگە ئالغان.\nبۇ پارامېتىرلار ئېتىبارغا ئېلىنمايدۇ.",
"post-expand-template-argument-category": "ئېتىبارغا ئېلىنمىغان قېلىپ پارامېتىرىنى ئۆز ئىچىگە ئالغان بەت",
"parser-template-loop-warning": "قېلىپ دەۋرىيلىكى بايقالدى: [[$1]]",
+ "template-loop-category": "قېلىپ دەۋرىيلىنىدىغان بەت بار",
"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": "ئەڭ يېڭى",
"history-feed-description": "مەزكۇر بەتنىڭ بۇ بېكەتتىكى ئۆزگەرتىش تارىخى",
"history-feed-item-nocomment": "$2 دىكى $1",
"history-feed-empty": "ئىلتىماس قىلغان بەت مەۋجۇد ئەمەس\nئۇ ئۆچۈرۈلگەن ياكى ئاتى ئۆزگەرتىلگەن بولۇشى مۇمكىن\n [[Special:Search|wiki دىن ئىزدە]] نى سىناپ مۇناسىۋەتلىك يېڭى بەتكە ئېرىشىڭ.",
+ "history-edit-tags": "تاللانغان ئۆزگەرتىلگەن نەشىرىنىڭ خەتكۈچىنى تەھرىرلەش",
"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": "يوشۇرۇن",
"mergehistory-empty": "بىرلەشتۈرگىلى بولىدىغان تۈزىتىلگەن نەشرى يوق.",
"mergehistory-done": "$1 نىڭ {{PLURAL:$3|قېتىملىق|قېتىملىق}} تۈزىتىلگەن نەشرى مۇۋەپپەقىيەتلىك ھالدا [[:$2]] غا بىرلەشتۈرۈلدى.",
"mergehistory-fail": "تارىخنى بىرلەشتۈرگىلى بولمايدۇ، بۇ بەت ۋە ۋاقىت پارامېتىرىنى قايتا تەكشۈرۈڭ.",
+ "mergehistory-fail-bad-timestamp": "ۋاقىت ئوقى ئىناۋەتسىز.",
+ "mergehistory-fail-invalid-source": "مەنبە بەت ئىناۋەتسىز.",
+ "mergehistory-fail-invalid-dest": "نىشان بەت ئىناۋەتسىز.",
"mergehistory-no-source": "مەنبە بەت $1 مەۋجۇد ئەمەس.",
"mergehistory-no-destination": "نىشان بەت $1 مەۋجۇد ئەمەس.",
"mergehistory-invalid-source": "مەنبە بەتنىڭ چوقۇم ئىناۋەتلىك ماۋزۇسى بولۇشى لازىم.",
"notextmatches": "ماس كېلىدىغان بەت مەزمۇنى يوق",
"prevn": "ئالدى {{PLURAL:$1|$1}}",
"nextn": "كەينى {{PLURAL:$1|$1}}",
+ "prev-page": "ئالدىنقى بەت",
+ "next-page": "كېيىنكى بەت",
"prevn-title": "ئالدىنقى $1 {{PLURAL:$1|نەتىجە|نەتىجە}}",
"nextn-title": "كېيىكى $1 {{PLURAL:$1|نەتىجە|نەتىجە}}",
"shown-title": "ھەر بىر بەتتە $1 {{PLURAL:$1|نەتىجە |نەتىجە }} كۆرسەت",
"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 نەتىجە:",
+ "search-interwiki-default": "$1 دىكى نەتىجە:",
"search-interwiki-more": "(تېخىمۇ كۆپ)",
+ "search-interwiki-more-results": "تېخىمۇ كۆپ نەتىجە",
"search-relatedarticle": "ئالاقىدار",
"searchrelated": "ئالاقىدار",
"searchall": "ھەممىسى",
"search-error": "ئىزدەش جەريانىدا بىر خاتالىق يۈز بەردى: $1",
"preferences": "مايىللىق",
"mypreferences": "مايىللىق",
- "prefs-edits": "تەھرىر سانى:",
+ "prefs-edits": "تەھرىرلەش قېتىم سانى:",
"prefsnologintext2": "مايىللىقىڭىزنى ئۆزگەرتىش ئۈچۈن $1.",
"prefs-skin": "تېرە",
"skin-preview": "ئالدىن كۆزەت",
"prefs-personal": "ئىشلەتكۈچى سەپلىمە ھۆججىتى",
"prefs-rc": "ئاخىرقى ئۆزگەرتىشلەر",
"prefs-watchlist": "كۆزەت تىزىملىكى",
+ "prefs-editwatchlist": "كۆزەت تىزىملىكىنى تەھرىرلەش",
+ "prefs-editwatchlist-raw": "ئەسلى كۆزەت تىزىملىكىنى تەھرىرلەش",
+ "prefs-editwatchlist-clear": "كۆزىتىش تىزىملىكىنى تازىلاش",
"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-resetpass": "پارولنى ئۆزگەرتىش",
- "prefs-changeemail": "ئېلخەت ئۆزگەرت",
+ "prefs-changeemail": "ئېلخەت ئۆزگەرتىش ياكى چىقىرۋېتىش",
"prefs-setemail": "ئېلخەت ئادرېس تەڭشەك",
"prefs-email": "ئېلخەت تاللانما",
"prefs-rendering": "كۆرۈنۈش",
"saveprefs": "ساقلا",
"restoreprefs": "بارلىق كۆڭۈلدىكى تەڭشەكنى ئەسلىگە كەلتۈر (بارلىق بۆلەكلەردە)",
- "prefs-editing": "تەھرىر",
+ "prefs-editing": "تەھرىرلەش",
"searchresultshead": "ئىزدە",
"stub-threshold": "<a href=\"#\" class=\"stub\">قىسقا بەت ئۇلانمىسى</a> فورمات چەك قىممىتى (بايت) :",
"stub-threshold-disabled": "چەكلەنگەن",
"username": "{{GENDER:$1|ئىشلەتكۇچى ئىسمى}}:",
"prefs-memberingroups": "{{PLURAL:$1|گۇرۇپپا}} دىكى{{GENDER:$2| ئەزا}}:",
"prefs-memberingroups-type": "$1",
+ "group-membership-link-with-expiry": "$1 (غىچە $2)",
"prefs-registration": "خەتلەتكەن ۋاقىت:",
"prefs-registration-date-time": "$1",
"yourrealname": "ھەقىقىي ئىسىم:",
"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": "ئىشلەتكۈچى گۇرۇپپىسى ساقلا",
"userrights-changeable-col": "سىز ئۆزگەرتەلەيدىغان گۇرۇپپا",
"userrights-unchangeable-col": "سىز ئۆزگەرتەلمەيدىغان گۇرۇپپا",
"userrights-irreversible-marker": "$1*",
+ "userrights-expiry-current": "$1 دا توختاش",
+ "userrights-expiry-none": "توختىتىلمايدۇ",
+ "userrights-expiry": "قەرەلى:",
+ "userrights-expiry-othertime": "باشقا ۋاقىت:",
"group": "گۇرۇپپا:",
"group-user": "ئىشلەتكۈچىلەر",
"group-autoconfirmed": "ئۆزلۈكىدىن جەزملەنگەن ئىشلەتكۈچىلەر",
"right-move": "بەت يۆتكە",
"right-move-subpages": "بەتنى تاماق بەتلىرى بىلەن قوشۇپ يۆتكە",
"right-move-rootuserpages": "غول ئىشلەتكۈچى بېتىنى يۆەتكە",
+ "right-move-categorypages": "تۈر بېتىنى يۆتكەش",
"right-movefile": "ھۆججەت يۆتكە",
"right-suppressredirect": "ھۆججەت يۈتكىگەندە مەنبە بەتنىڭ قايتا نىشان بەلگىلىنىشىنى قۇرما.",
"right-upload": "ھۆججەتلەرنى يۈكلە",
"right-reupload": "مەۋجۇد ھۆججەتنى قاپلا",
"right-reupload-own": "ئوخشاش بىر ئادەم يوللىغان ھۆججەتنى قاپلىۋەت",
"right-reupload-shared": "ئېتىبارغا ئېلىنمايدىغان يەرلىك ھەمبەھىر كۆپ ۋاسىتە ئامبىرىدىكى ھۆججەت",
- "right-upload_by_url": "URL دىن ھۆججەت يۈكلە",
+ "right-upload_by_url": "URL دىن ھۆججەت يۈكلەش",
"right-purge": "جەزملەشنى سورىمايلا تور بېكەت غەملىكىنى تازىلا",
"right-autoconfirmed": "يېرىم قوغدالغان بەت تەھرىر",
"right-bot": "ئاپتوماتىك جەريان دەپ قارىلىدۇ",
"right-siteadmin": "ساندان قۇلۇپلا ۋە قۇلۇپ ئاچ",
"right-override-export-depth": "بەت قەۋەتلىك ئۇلىنىشى بار بەتنى چىقار",
"right-sendemail": "باشقا ئىشلەتكۈچىگە ئېلخەت يوللا",
+ "grant-group-email": "ئېلخەت يوللاش",
+ "grant-createaccount": "ھېسابات قۇرۇش",
+ "grant-editmywatchlist": "كۈزىتىش تىزىملىكىڭىزنى تەھرىرلەڭ",
+ "grant-editpage": "مەۋجۇت بەتنى تەھرىرلەش",
+ "grant-editprotected": "قوغدىلىدىغان بەتنى تەھرىرلەش",
+ "grant-highvolume": "چوڭ مىقدارلىق تەھرىرلەش",
+ "grant-uploadfile": "يېڭى ھۆججەت يۈكلەش",
+ "grant-basic": "ئاساسىي ھوقۇق",
+ "grant-viewmywatchlist": "كۈزىتىش تىزىملىكىڭىزنى كۆرۈڭ",
"newuserlogpage": "ئىشلەتكۈچى قۇرغان خاتىرە",
"newuserlogpagetext": "(چەكلەنگەن)",
"rightslog": "ئىشلەتكۈچى ھوقۇق خاتىرىسى",
"rightslogtext": "ئىشلەتكۈچى ھوقۇق خاتىرىسى",
"action-read": "بۇ بەتنى ئوقۇ",
"action-edit": "بۇ بەتنى تەھرىرلە",
- "action-createpage": "بۇ بەتنى قۇر",
- "action-createtalk": "مۇنازىرە بېتى قۇر",
+ "action-createpage": "بۇ بەتنى قۇرۇش",
+ "action-createtalk": "بۇ مۇنازىرە بېتىنى قۇرۇش",
"action-createaccount": "بۇ ئىشلەتكۈچى ھېساباتىنى قۇر",
"action-minoredit": "بۇنىڭغا ئازراقلا تەھرىر بەلگىسى قوي",
"action-move": "بۇ بەتنى يۆتكە",
"action-move-subpages": "بۇ بەتنىڭ تارماق بەتلىرىنى قوشۇپ يۆتكە",
"action-move-rootuserpages": "غول ئىشلەتكۈچى بېتىنى يۆتكە",
+ "action-move-categorypages": "تۈر بېتىنى يۆتكەش",
"action-movefile": "بۇ ھۆججەتنى يۆتكە",
"action-upload": "بۇ ھۆججەتنى يۈكلە",
"action-reupload": "مەۋجۇد ھۆججەتنى قاپلا",
"action-upload_by_url": "بۇ ھۆججەتنى URL دىن يۈكلە",
"action-writeapi": "API يېزىشقا ئىشلىتىلىدۇ",
"action-delete": "بۇ بەتنى ئۆچۈر",
- "action-deleterevision": "بۇ تۈزىتىلگەن نەشرىنى ئۆچۈر",
- "action-deletedhistory": "بۇ بەتنىڭ ئۆچۈرۈش تارىخىنى كۆرسەت",
+ "action-deleterevision": "تۈزىتىلگەن نەشرىنى ئۆچۈرۈش",
+ "action-deletelogentry": "كۈندىلىك خاتىرىنى ئۆچۈرۈش",
+ "action-deletedhistory": "بۇ بەتنىڭ ئۆچۈرۈش تارىخىنى كۆرسىتىش",
"action-browsearchive": "ئۆچۈرۈلگەن بەتنى ئىزدە",
- "action-undelete": " بۇ بەتنى ئەسلىگە كەلتۈر",
+ "action-undelete": "بەتنى ئەسلىگە كەلتۈرۈش",
"action-suppressrevision": "بۇ يوشۇرۇلغان تۈزىتىلگەن نەشرىنى قايتا كۆرۈپ ئەسلىگە كەلتۈر",
"action-suppressionlog": "بۇ شەخسىي خاتىرىنى كۆرسەت",
"action-block": "بۇ ئىشلەتكۈچىنىڭ تەھرىرىنى چەكلە",
"action-sendemail": "ئېلخەت يوللا",
"action-editmywatchlist": "كۈزىتىش تىزىملىكىڭىزنى تەھرىرلەڭ",
"action-viewmywatchlist": "كۈزىتىش تىزىملىكىڭىزنى كۆرۈڭ",
+ "action-purge": "بۇ بەتنى يېڭىلاش",
"nchanges": "$1 {{PLURAL:$1|ئۆزگەرتىش|ئۆزگەرتىش}}",
"enhancedrc-history": "تارىخ",
"recentchanges": "يېقىنقى ئۆزگەرتىشلەر",
"recentchanges-label-minor": "بۇ ئازراقلا تەھرىرلەش",
"recentchanges-label-bot": "بۇ تەھرىرنى ماشىنا ئادەم ئېلىپ بارغان",
"recentchanges-label-unpatrolled": "بۇ تەھرىر تېخى كۆزىتىلمىگەن",
+ "recentchanges-legend-heading": "<strong>ئىزاھات:</strong>",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (بۇنىڭغىمۇ قاراڭ [[Special:NewPages|يېڭى بەتلەر تىزىملىگى]])",
+ "recentchanges-submit": "كۆرسىتىش",
+ "rcfilters-legend-heading": "<strong>قىسقارتىپ يېزىلىش تىزىملىكى:</strong>",
+ "rcfilters-other-review-tools": " <strong>باشقا تەكشۈرۈش قوراللىرى</strong>",
+ "rcfilters-grouping-title": "گۇرۇپپىلىنىۋاتىدۇ",
+ "rcfilters-activefilters": "قوزغىتىلىغان سۈزگۈچلەر",
+ "rcfilters-days-title": "يېقىنقى بىر نەچچە كۈن",
+ "rcfilters-hours-title": "يېقىنقى بىر نەچچە سائەت",
+ "rcfilters-quickfilters": "سۈزگۈچ ساقلاندى",
+ "rcfilters-quickfilters-placeholder-title": "ئۇلىنىش ساقلانمىدى",
+ "rcfilters-savedqueries-defaultlabel": "سۈزگۈچ ساقلاندى",
+ "rcfilters-savedqueries-rename": "ئىسىم ئۆزگەرتىش",
+ "rcfilters-savedqueries-remove": "چىقىرىۋىتىش",
+ "rcfilters-savedqueries-new-name-label": "نامى",
+ "rcfilters-savedqueries-apply-label": "سۈزگۈچ قۇرۇش",
+ "rcfilters-savedqueries-apply-and-setdefault-label": "ئەسلىدىكى سۈزگۈچنى قۇرۇش",
+ "rcfilters-savedqueries-cancel-label": "چېكىنىش",
+ "rcfilters-filterlist-title": "سۈزگۈچلەر",
+ "rcfilters-filterlist-whatsthis": "بۇلار قانداق خىزمەت قىلىدۇ؟",
+ "rcfilters-highlightmenu-title": "رەڭ تاللاش",
+ "rcfilters-filterlist-noresults": "سۈزگۈچ تېپىلمىدى",
+ "rcfilters-filter-editsbyself-label": "سىز ئۆزگەرتكەن",
+ "rcfilters-filter-editsbyself-description": "ئۆزىڭىزنىڭ تۆھپىسى.",
+ "rcfilters-filter-editsbyother-label": "باشقىلار ئۆزگەرتكەن",
+ "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-newcomer-label": "يېڭى كەلداخۇن",
+ "rcfilters-filter-user-experience-level-learner-label": "يېڭى ئۆگەنچى",
+ "rcfilters-filter-bots-label": "ماشىنا ئادەم",
+ "rcfilters-filtergroup-reviewstatus": "رازۋىتكا ھالىتى",
+ "rcfilters-filter-patrolled-label": "چارلاندى",
+ "rcfilters-filter-minor-label": "كىچىك تەھرىرلەش",
+ "rcfilters-filter-major-label": "كىچىك تەھرىرلەش ئەمەس",
+ "rcfilters-filter-watchlist-watched-label": "كۆزىتىش تىزىملىكىدە",
+ "rcfilters-filter-newpages-label": "بەت قۇرۇلدى",
+ "rcfilters-filter-categorization-label": "تۈر ئۆزگەرتىلدى",
+ "rcfilters-filtergroup-lastRevision": "ئاخىرقى نەشىرلىرى",
+ "rcfilters-filter-lastrevision-label": "ئاخىرقى نەشىرى",
+ "rcfilters-view-tags": "بەلگە قويۇلغان تەھرىرلەش",
"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 كۆزىتىلگەن تەھرىرلەش",
+ "rcshowhidepatr-show": "كۆرسىتىش",
+ "rcshowhidepatr-hide": "يوشۇرۇش",
"rcshowhidemine": "$1 مېنىڭ تەھرىرىم",
+ "rcshowhidemine-show": "كۆرسىتىش",
+ "rcshowhidemine-hide": "يوشۇرۇش",
+ "rcshowhidecategorization-show": "كۆرسىتىش",
+ "rcshowhidecategorization-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": "پەرقلەر",
+ "permanentlink": "مەڭگۈلۈك ئۇلانما",
+ "permanentlink-revid": "تۈزىتىلگەن نەشرى ID",
"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": "خالىغان غول بەت"
}
"tog-shownumberswatching": "Показувати число користувачів, які додали сторінку до свого списку спостереження",
"tog-oldsig": "Ваш поточний підпис:",
"tog-fancysig": "Сприймати підпис як вікітекст (без автоматичного посилання)",
- "tog-uselivepreview": "Ð\92икоÑ\80иÑ\81Ñ\82овÑ\83ваÑ\82и Ñ\88видкий попеÑ\80еднÑ\96й пеÑ\80еглÑ\8fд",
+ "tog-uselivepreview": "Ð\9fоказÑ\83ваÑ\82и попеÑ\80еднÑ\96й пеÑ\80еглÑ\8fд без пеÑ\80езаванÑ\82аженнÑ\8f Ñ\81Ñ\82оÑ\80Ñ\96нки",
"tog-forceeditsummary": "Попереджати, коли не зазначений короткий опис редагування",
"tog-watchlisthideown": "Приховати мої редагування у списку спостереження",
"tog-watchlisthidebots": "Приховати редагування ботів у списку спостереження",
"permissionserrorstext-withaction": "У Вас нема дозволу на $2 з {{PLURAL:$1|1=такої причини|таких причин}}:",
"contentmodelediterror": "Ви не можете редагувати цю версію, оскільки модель його змісту — <code>$1</code>, відрізняється від теперішньої моделі змісту сторінки — <code>$2</code>.",
"recreate-moveddeleted-warn": "'''Попередження: Ви намагаєтеся створити сторінку, яка раніше вже була вилучена.'''\n\nПеревірте, чи Вам справді потрібно створювати цю сторінку.\nНижче, для зручності, наведений журнал вилучень і перейменувань:",
- "moveddeleted-notice": "ЦÑ\8f Ñ\81Ñ\82оÑ\80Ñ\96нка бÑ\83ла вилÑ\83Ñ\87ена.\nÐ\94лÑ\8f довÑ\96дки нижÑ\87е наведенÑ\96 вÑ\96дповÑ\96днÑ\96 запиÑ\81и з жÑ\83Ñ\80налÑ\96в вилÑ\83Ñ\87енÑ\8c Ñ\96 пеÑ\80ейменÑ\83ванÑ\8c.",
- "moveddeleted-notice-recent": "На жаль, ця сторінка нещодавно була вилучена (протягом останніх 24 годин). Для довідки нижче наведені відповідні записи з журналів вилучень і перейменувань.",
+ "moveddeleted-notice": "ЦÑ\8e Ñ\81Ñ\82оÑ\80Ñ\96нкÑ\83 бÑ\83ло вилÑ\83Ñ\87ено.\nÐ\94лÑ\8f довÑ\96дки нижÑ\87е наведенÑ\96 вÑ\96дповÑ\96днÑ\96 запиÑ\81и з жÑ\83Ñ\80налÑ\96в вилÑ\83Ñ\87енÑ\8c, заÑ\85иÑ\81Ñ\82Ñ\83 й пеÑ\80ейменÑ\83ванÑ\8c Ñ\86Ñ\96Ñ\94Ñ\97 Ñ\81Ñ\82оÑ\80Ñ\96нки.",
+ "moveddeleted-notice-recent": "На жаль, ця сторінка нещодавно була вилучена (протягом останніх 24 годин). Для довідки нижче наведені відповідні записи з журналів вилучень, захисту й перейменувань цієї сторінки.",
"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": "Ð\9aÑ\96лÑ\8cкÑ\96Ñ\81Ñ\82Ñ\8c Ñ\80едагÑ\83ванÑ\8c длÑ\8f вÑ\96добÑ\80аженнÑ\8f Ñ\83 Ñ\80озÑ\88иÑ\80еному списку спостереження:",
+ "prefs-watchlist-edits": "Ð\9cакÑ\81ималÑ\8cна кÑ\96лÑ\8cкÑ\96Ñ\81Ñ\82Ñ\8c змÑ\96н, Ñ\8fкÑ\83 можна виводиÑ\82и у списку спостереження:",
"prefs-watchlist-edits-max": "Максимально: 1000",
"prefs-watchlist-token": "Мітка списку спостереження:",
"prefs-misc": "Інші налаштування",
"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (див. також [[Special:NewPages|список нових сторінок]])",
"recentchanges-legend-plusminus": "(''±123'')",
"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|$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-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-show-new-changes": "Переглянути найновіші зміни",
+ "rcfilters-previous-changes-label": "Раніше переглянуті зміни",
"rcfilters-search-placeholder": "Фільтруйте нові редагування (переглядайте або почніть вводити)",
"rcfilters-invalid-filter": "Недійсний фільтр",
"rcfilters-empty-filter": "Без фільтрів. Показано всі зміни.",
"rcfilters-filter-editsbyself-description": "Ваш власний внесок.",
"rcfilters-filter-editsbyother-label": "Зміни, здійснені іншими",
"rcfilters-filter-editsbyother-description": "Усі зміни, за винятком Ваших власних.",
- "rcfilters-filtergroup-userExpLevel": "Рівень досвіду (тільки для зареєстрованих користувачів)",
+ "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": "Ð\9cенÑ\88е ніж 10 редагувань і 4 дні активності.",
+ "rcfilters-filter-user-experience-level-newcomer-description": "Ð\97аÑ\80еÑ\94Ñ\81Ñ\82Ñ\80ованÑ\96 Ñ\80едакÑ\82оÑ\80и, Ñ\8fкÑ\96 маÑ\8eÑ\82Ñ\8c менÑ\88 ніж 10 редагувань і 4 дні активності.",
"rcfilters-filter-user-experience-level-learner-label": "Учні",
- "rcfilters-filter-user-experience-level-learner-description": "Ð\91Ñ\96лÑ\8cÑ\88е доÑ\81вÑ\96дÑ\83, нÑ\96ж Ñ\83 «новаÑ\87кÑ\96в», але менÑ\88е, нÑ\96ж Ñ\83 «доÑ\81вÑ\96дÑ\87ениÑ\85 коÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87Ñ\96в».",
+ "rcfilters-filter-user-experience-level-learner-description": "Ð\97аÑ\80еÑ\94Ñ\81Ñ\82Ñ\80ованÑ\96 Ñ\80едакÑ\82оÑ\80и, Ñ\80Ñ\96венÑ\8c доÑ\81вÑ\96дÑ\83 Ñ\8fкиÑ\85 пеÑ\80ебÑ\83ваÑ\94 мÑ\96ж «новаÑ\87ками» Ñ\82а «доÑ\81вÑ\96дÑ\87еними коÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87ами».",
"rcfilters-filter-user-experience-level-experienced-label": "Досвідчені користувачі",
- "rcfilters-filter-user-experience-level-experienced-description": "Ð\91Ñ\96лÑ\8cÑ\88е 30 днÑ\96в акÑ\82ивноÑ\81Ñ\82Ñ\96 Ñ\96 понад 500 Ñ\80едагÑ\83ванÑ\8c.",
+ "rcfilters-filter-user-experience-level-experienced-description": "Ð\97аÑ\80еÑ\94Ñ\81Ñ\82Ñ\80ованÑ\96 Ñ\80едакÑ\82оÑ\80и, Ñ\8fкÑ\96 маÑ\8eÑ\82Ñ\8c понад 500 Ñ\80едагÑ\83ванÑ\8c Ñ\96 30 днÑ\96в акÑ\82ивноÑ\81Ñ\82Ñ\96.",
"rcfilters-filtergroup-automated": "Автоматизовані редагування",
"rcfilters-filter-bots-label": "Бот",
"rcfilters-filter-bots-description": "Редагування, зроблені з допомогою автоматизованих засобів.",
"rcfilters-hideminor-conflicts-typeofchange-global": "Фільтр «Незначні редагування» конфліктує з одним або більше фільтрів за типом змін, оскільки певні типи змін не можна позначити як «незначні». Конфліктні фільтри позначені в ділянці активних фільтрів угорі.",
"rcfilters-hideminor-conflicts-typeofchange": "Певні типи змін не можна позначити як «незначні», тож цей фільтр конфліктує з такими фільтрами за типом змін: $1",
"rcfilters-typeofchange-conflicts-hideminor": "Цей фільтр за типом змін конфліктує з фільтром «Незначні редагування». Певні типи змін не можна позначати як «незначні».",
- "rcfilters-filtergroup-lastRevision": "Ð\9fоÑ\82оÑ\87на веÑ\80Ñ\81Ñ\96Ñ\8f",
+ "rcfilters-filtergroup-lastRevision": "Ð\9eÑ\81Ñ\82аннÑ\96 веÑ\80Ñ\81Ñ\96Ñ\97",
"rcfilters-filter-lastrevision-label": "Поточна версія",
- "rcfilters-filter-lastrevision-description": "Ð\9eстання зміна на сторінці.",
- "rcfilters-filter-previousrevision-label": "Ð\9fопеÑ\80еднÑ\96 веÑ\80Ñ\81Ñ\96Ñ\97",
- "rcfilters-filter-previousrevision-description": "Усі зміни, які не є поточною версією сторінки.",
+ "rcfilters-filter-lastrevision-description": "Ð\9bиÑ\88е остання зміна на сторінці.",
+ "rcfilters-filter-previousrevision-label": "Ð\9dе оÑ\81Ñ\82аннÑ\8f веÑ\80Ñ\81Ñ\96Ñ\8f",
+ "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": "Нижче знаходяться {{PLURAL:$5|редагування}} з <strong>$3, $4</strong> (відображено до <strong>$1</strong>).",
"rclistfromreset": "Скинути вибір дати",
"rclistfrom": "Показати редагування починаючи з $3 $2.",
"pageswithprop-legend": "Сторінки з перевизначеними властивостями",
"pageswithprop-text": "Тут перераховані сторінки, у яких були вручну перевизначені окремі властивості.",
"pageswithprop-prop": "Назва властивості:",
+ "pageswithprop-reverse": "Сортувати у зворотньому порядку",
+ "pageswithprop-sortbyvalue": "Сортувати за значенням властивості",
"pageswithprop-submit": "Перейти",
"pageswithprop-prophidden-long": "довге значення текстової властивості приховано ($1)",
"pageswithprop-prophidden-binary": "двійкове значення властивості приховано ($1)",
"enotif_lastdiff": "Щоб переглянути цю зміну, див. $1",
"enotif_anon_editor": "анонімний користувач $1",
"enotif_body": "Шановний $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE\n\nКороткий опис змін: $PAGESUMMARY $PAGEMINOREDIT\n\nЗвернутись до редагувальника:\nелектронною поштою: $PAGEEDITOR_EMAIL\nчерез вікі: $PAGEEDITOR_WIKI\n\nЯкщо ви не відвідаєте цю сторінку під своїм обліковим записом, то в подальшому не будете отримувати сповіщень про наступні дії. Ви також можете вимкнути налаштування сповіщень для усіх сторінок зі списку спостереження.\n\nВаша дружня система сповіщення {{grammar:genitive|{{SITENAME}}}}\n\n--\nЗміна налаштувань повідомлень електронною поштою\n{{canonicalurl:{{#special:Preferences}}}}\n\nЩоб змінити налаштування списку спостереження, перейдіть за посиланням\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nЩоб вилучити сторінку зі списку спостереження, відвідайте сторінку\n$UNWATCHURL\n\nЗворотній зв'язок і допомога:\n$HELPPAGE",
+ "enotif_minoredit": "Це незначна зміна",
"created": "створена",
"changed": "змінена",
"deletepage": "Вилучити сторінку",
"delete-warning-toobig": "У цієї сторінки дуже довга історія редагувань, більше $1 {{PLURAL:$1|версії|версій|версій}}.\nЇї вилучення може призвести до порушень у роботі бази даних сайту {{SITENAME}};\nдійте обережно.",
"deleteprotected": "Ви не можете видалити цю сторінку, тому що вона захищена.",
"deleting-backlinks-warning": "<strong>Попередження:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|інші сторінки]] посилаються або містять сторінку, яку Ви маєте намір видалити.",
+ "deleting-subpages-warning": "<strong>Попередження:</strong> Сторінка, яку Ви маєте намір вилучити, має [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|$1 підсторінку|$1 підсторінки|$1 підсторінок|51=понад 50 підсторінок}}]].",
"rollback": "Відкинуто редагування",
"rollbacklink": "відкинути",
"rollbacklinkcount": "відкинути $1 {{PLURAL:$1|редагування|редагування|редагувань}}",
"undelete-search-title": "Пошук видалених сторінок",
"undelete-search-box": "Пошук вилучених сторінок",
"undelete-search-prefix": "Показати сторінки, що починаються з:",
+ "undelete-search-full": "Показати назви сторінок, які містять:",
"undelete-search-submit": "Знайти",
"undelete-no-results": "Не знайдено потрібних сторінок серед вилучених.",
"undelete-filename-mismatch": "Неможливо відновити версію файлу з відміткою часу $1: невідповідність назви файлу",
"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» не було імпортовано, оскільки Вам не дозволено її створювати.",
"fileduplicatesearch-noresults": "Файл з назвою «$1» не знайдено.",
"specialpages": "Спеціальні сторінки",
"specialpages-note-top": "Легенда",
+ "specialpages-note-restricted": "* Звичайні спеціальні сторінки.\n* <span class=\"mw-specialpagerestricted\">Спеціальні сторінки з обмеженим доступом.</span>",
"specialpages-group-maintenance": "Технічні звіти",
"specialpages-group-other": "Інші",
"specialpages-group-login": "Вхід до системи / реєстрація",
"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)",
"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)",
"tog-watchlisthideminor": "隐藏监视列表中的小编辑",
"tog-watchlisthideliu": "隐藏监视列表中的登录用户的编辑",
"tog-watchlistreloadautomatically": "当一条过滤器规则被更改时,自动重新加载监视列表(需要JavaScript)",
+ "tog-watchlistunwatchlinks": "添加监视列表条目的直接(取消)监视链接(需要JavaScript才能打开功能)",
"tog-watchlisthideanons": "隐藏监视列表中的匿名用户的编辑",
"tog-watchlisthidepatrolled": "隐藏监视列表中的已巡查编辑",
"tog-watchlisthidecategorization": "隐藏对页面的分类",
"watching": "正在监视...",
"unwatching": "正在取消监视...",
"watcherrortext": "更改“$1”的监视列表设置时出错。",
+ "watchlist-unwatch": "×",
+ "watchlist-unwatch-undo": "+",
"enotif_reset": "标记所有页面为已访问",
"enotif_impersonal_salutation": "{{SITENAME}}用户",
"enotif_subject_deleted": "{{SITENAME}}页面$1已被$2删除",
"import-mapping-subpage": "作为以下页面的子页面导入:",
"import-upload-filename": "文件名:",
"import-comment": "注释:",
- "importtext": "请使用[[Special:Export|导出功能]]从源 wiki 导出文件,\n保存到您的电脑并上传到这里。",
+ "importtext": "请使用[[Special:Export|导出功能]]从源wiki导出文件,保存到您的电脑并上传到这里。",
"importstart": "正在导入页面...",
"import-revision-count": "$1个版本",
"importnopages": "没有导入的页面。",
"compare-invalid-title": "您指定的标题无效。",
"compare-title-not-exists": "您指定的标题不存在。",
"compare-revision-not-exists": "指定的版本不存在。",
+ "diff-form": "差异",
+ "diff-form-oldid": "旧修订版本ID(可选)",
+ "diff-form-revid": "差异的修订版本ID",
+ "diff-form-submit": "显示差异",
+ "permanentlink": "固定链接",
+ "permanentlink-revid": "修订版本ID",
+ "permanentlink-submit": "前往修订版本",
"dberr-problems": "抱歉!本网站出现了一些技术问题。",
"dberr-again": "请等待几分钟后重试。",
"dberr-info": "(无法访问数据库:$1)",
"confirm-purge-title": "清除此頁快取",
"confirm_purge_button": "確定",
"confirm-purge-top": "要清除此頁面的快取嗎?",
- "confirm-purge-bottom": "刷新頁面會清空頁面的快取記錄並強制顯示最近的頁面修訂。",
+ "confirm-purge-bottom": "清除頁面會清除快取紀錄並強制顯示最近的頁面修訂。",
"confirm-watch-button": "確定",
"confirm-watch-top": "新增此頁面至您的監視清單?",
"confirm-unwatch-button": "確定",
"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>
'mediawiki.diff.styles',
'mediawiki.util',
'mediawiki.jqueryMsg',
+ 'oojs-ui-core',
],
'messages' => [
// Keep the uses message keys in sync with EditPage#setHeaders
],
'mediawiki.special.watchlist' => [
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.watchlist.js',
+ 'messages' => [
+ 'addedwatchtext',
+ 'addedwatchtext-talk',
+ 'removedwatchtext',
+ 'removedwatchtext-talk',
+ 'tooltip-ca-watch',
+ 'tooltip-ca-unwatch',
+ 'watchlist-unwatch',
+ 'watchlist-unwatch-undo',
+ ],
'dependencies' => [
- 'mediawiki.api',
+ 'mediawiki.api.watch',
+ 'mediawiki.jqueryMsg',
+ 'mediawiki.Title',
+ 'mediawiki.util',
'oojs-ui-core',
'user.options',
- ]
+ ],
+ ],
+ 'mediawiki.special.watchlist.styles' => [
+ 'styles' => 'resources/src/mediawiki.special/mediawiki.special.watchlist.css',
],
'mediawiki.special.version' => [
'styles' => 'resources/src/mediawiki.special/mediawiki.special.version.css',
--- /dev/null
+/**
+* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
+;(function(window, document) {
+/*jshint evil:true */
+ /** version */
+ var version = '3.7.3';
+
+ /** Preset options */
+ var options = window.html5 || {};
+
+ /** Used to skip problem elements */
+ var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
+
+ /** Not all elements can be cloned in IE **/
+ var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
+
+ /** Detect whether the browser supports default html5 styles */
+ var supportsHtml5Styles;
+
+ /** Name of the expando, to work with multiple documents or to re-shiv one document */
+ var expando = '_html5shiv';
+
+ /** The id for the the documents expando */
+ var expanID = 0;
+
+ /** Cached data for each document */
+ var expandoData = {};
+
+ /** Detect whether the browser supports unknown elements */
+ var supportsUnknownElements;
+
+ (function() {
+ try {
+ var a = document.createElement('a');
+ a.innerHTML = '<xyz></xyz>';
+ //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
+ supportsHtml5Styles = ('hidden' in a);
+
+ supportsUnknownElements = a.childNodes.length == 1 || (function() {
+ // assign a false positive if unable to shiv
+ (document.createElement)('a');
+ var frag = document.createDocumentFragment();
+ return (
+ typeof frag.cloneNode == 'undefined' ||
+ typeof frag.createDocumentFragment == 'undefined' ||
+ typeof frag.createElement == 'undefined'
+ );
+ }());
+ } catch(e) {
+ // assign a false positive if detection fails => unable to shiv
+ supportsHtml5Styles = true;
+ supportsUnknownElements = true;
+ }
+
+ }());
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * Creates a style sheet with the given CSS text and adds it to the document.
+ * @private
+ * @param {Document} ownerDocument The document.
+ * @param {String} cssText The CSS text.
+ * @returns {StyleSheet} The style element.
+ */
+ function addStyleSheet(ownerDocument, cssText) {
+ var p = ownerDocument.createElement('p'),
+ parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
+
+ p.innerHTML = 'x<style>' + cssText + '</style>';
+ return parent.insertBefore(p.lastChild, parent.firstChild);
+ }
+
+ /**
+ * Returns the value of `html5.elements` as an array.
+ * @private
+ * @returns {Array} An array of shived element node names.
+ */
+ function getElements() {
+ var elements = html5.elements;
+ return typeof elements == 'string' ? elements.split(' ') : elements;
+ }
+
+ /**
+ * Extends the built-in list of html5 elements
+ * @memberOf html5
+ * @param {String|Array} newElements whitespace separated list or array of new element names to shiv
+ * @param {Document} ownerDocument The context document.
+ */
+ function addElements(newElements, ownerDocument) {
+ var elements = html5.elements;
+ if(typeof elements != 'string'){
+ elements = elements.join(' ');
+ }
+ if(typeof newElements != 'string'){
+ newElements = newElements.join(' ');
+ }
+ html5.elements = elements +' '+ newElements;
+ shivDocument(ownerDocument);
+ }
+
+ /**
+ * Returns the data associated to the given document
+ * @private
+ * @param {Document} ownerDocument The document.
+ * @returns {Object} An object of data.
+ */
+ function getExpandoData(ownerDocument) {
+ var data = expandoData[ownerDocument[expando]];
+ if (!data) {
+ data = {};
+ expanID++;
+ ownerDocument[expando] = expanID;
+ expandoData[expanID] = data;
+ }
+ return data;
+ }
+
+ /**
+ * returns a shived element for the given nodeName and document
+ * @memberOf html5
+ * @param {String} nodeName name of the element
+ * @param {Document|DocumentFragment} ownerDocument The context document.
+ * @returns {Object} The shived element.
+ */
+ function createElement(nodeName, ownerDocument, data){
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ if(supportsUnknownElements){
+ return ownerDocument.createElement(nodeName);
+ }
+ if (!data) {
+ data = getExpandoData(ownerDocument);
+ }
+ var node;
+
+ if (data.cache[nodeName]) {
+ node = data.cache[nodeName].cloneNode();
+ } else if (saveClones.test(nodeName)) {
+ node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
+ } else {
+ node = data.createElem(nodeName);
+ }
+
+ // Avoid adding some elements to fragments in IE < 9 because
+ // * Attributes like `name` or `type` cannot be set/changed once an element
+ // is inserted into a document/fragment
+ // * Link elements with `src` attributes that are inaccessible, as with
+ // a 403 response, will cause the tab/window to crash
+ // * Script elements appended to fragments will execute when their `src`
+ // or `text` property is set
+ return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
+ }
+
+ /**
+ * returns a shived DocumentFragment for the given document
+ * @memberOf html5
+ * @param {Document} ownerDocument The context document.
+ * @returns {Object} The shived DocumentFragment.
+ */
+ function createDocumentFragment(ownerDocument, data){
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ if(supportsUnknownElements){
+ return ownerDocument.createDocumentFragment();
+ }
+ data = data || getExpandoData(ownerDocument);
+ var clone = data.frag.cloneNode(),
+ i = 0,
+ elems = getElements(),
+ l = elems.length;
+ for(;i<l;i++){
+ clone.createElement(elems[i]);
+ }
+ return clone;
+ }
+
+ /**
+ * Shivs the `createElement` and `createDocumentFragment` methods of the document.
+ * @private
+ * @param {Document|DocumentFragment} ownerDocument The document.
+ * @param {Object} data of the document.
+ */
+ function shivMethods(ownerDocument, data) {
+ if (!data.cache) {
+ data.cache = {};
+ data.createElem = ownerDocument.createElement;
+ data.createFrag = ownerDocument.createDocumentFragment;
+ data.frag = data.createFrag();
+ }
+
+
+ ownerDocument.createElement = function(nodeName) {
+ //abort shiv
+ if (!html5.shivMethods) {
+ return data.createElem(nodeName);
+ }
+ return createElement(nodeName, ownerDocument, data);
+ };
+
+ ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
+ 'var n=f.cloneNode(),c=n.createElement;' +
+ 'h.shivMethods&&(' +
+ // unroll the `createElement` calls
+ getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
+ data.createElem(nodeName);
+ data.frag.createElement(nodeName);
+ return 'c("' + nodeName + '")';
+ }) +
+ ');return n}'
+ )(html5, data.frag);
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * Shivs the given document.
+ * @memberOf html5
+ * @param {Document} ownerDocument The document to shiv.
+ * @returns {Document} The shived document.
+ */
+ function shivDocument(ownerDocument) {
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ var data = getExpandoData(ownerDocument);
+
+ if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
+ data.hasCSS = !!addStyleSheet(ownerDocument,
+ // corrects block display not defined in IE6/7/8/9
+ 'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
+ // adds styling not present in IE6/7/8/9
+ 'mark{background:#FF0;color:#000}' +
+ // hides non-rendered elements
+ 'template{display:none}'
+ );
+ }
+ if (!supportsUnknownElements) {
+ shivMethods(ownerDocument, data);
+ }
+ return ownerDocument;
+ }
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * The `html5` object is exposed so that more elements can be shived and
+ * existing shiving can be detected on iframes.
+ * @type Object
+ * @example
+ *
+ * // options can be changed before the script is included
+ * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
+ */
+ var html5 = {
+
+ /**
+ * An array or space separated string of node names of the elements to shiv.
+ * @memberOf html5
+ * @type Array|String
+ */
+ 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',
+
+ /**
+ * current version of html5shiv
+ */
+ 'version': version,
+
+ /**
+ * A flag to indicate that the HTML5 style sheet should be inserted.
+ * @memberOf html5
+ * @type Boolean
+ */
+ 'shivCSS': (options.shivCSS !== false),
+
+ /**
+ * Is equal to true if a browser supports creating unknown/HTML5 elements
+ * @memberOf html5
+ * @type boolean
+ */
+ 'supportsUnknownElements': supportsUnknownElements,
+
+ /**
+ * A flag to indicate that the document's `createElement` and `createDocumentFragment`
+ * methods should be overwritten.
+ * @memberOf html5
+ * @type Boolean
+ */
+ 'shivMethods': (options.shivMethods !== false),
+
+ /**
+ * A string to describe the type of `html5` object ("default" or "default print").
+ * @memberOf html5
+ * @type String
+ */
+ 'type': 'default',
+
+ // shivs the document according to the specified `html5` object options
+ 'shivDocument': shivDocument,
+
+ //creates a shived element
+ createElement: createElement,
+
+ //creates a shived documentFragment
+ createDocumentFragment: createDocumentFragment,
+
+ //extends list of elements
+ addElements: addElements
+ };
+
+ /*--------------------------------------------------------------------------*/
+
+ // expose html5
+ window.html5 = html5;
+
+ // shiv the document
+ shivDocument(document);
+
+ if(typeof module == 'object' && module.exports){
+ module.exports = html5;
+ }
+
+}(typeof window !== "undefined" ? window : this, document));
--- /dev/null
+/**
+* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
+!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
\ No newline at end of file
return true;
}
}, function ( key, value ) {
- mw.log.deprecate( $, key, value );
+ mw.log.deprecate( $, key, value, null, '$.' + key );
} );
mw.log.deprecate( $, 'escapeRE', function ( str ) {
return str.replace( /([\\{}()|.?*+\-^$\[\]])/g, '\\$1' ); // eslint-disable-line no-useless-escape
- }, 'Use mediawiki.RegExp instead.' );
+ }, 'Use mediawiki.RegExp instead.', '$.escapeRE' );
}( jQuery, mediaWiki ) );
config = $( table ).data( 'tablesorter' ).config,
cellIndex,
nodeValue,
+ nextRow = false,
// Start with 1 because 0 is the fallback parser
i = 1,
lastRowIndex = -1,
if ( nodeValue !== '' ) {
if ( parsers[ i ].is( nodeValue, table ) ) {
concurrent++;
- rowIndex++;
+ nextRow = true;
if ( concurrent >= needed ) {
// Confirmed the parser for multiple cells, let's return it
return parsers[ i ];
}
+ } else if ( parsers[ i ].id.match( /isoDate/ ) && /^\D*(\d{1,4}) ?(\[.+\])?$/.test( nodeValue ) ) {
+ // For 1-4 digits and maybe reference(s) parser "isoDate" or "number" is possible, check next row
+ empty++;
+ nextRow = true;
} else {
// Check next parser, reset rows
i++;
rowIndex = 0;
concurrent = 0;
empty = 0;
+ nextRow = false;
}
} else {
// Empty cell
empty++;
+ nextRow = true;
+ }
+
+ if ( nextRow ) {
+ nextRow = false;
rowIndex++;
if ( rowIndex >= rows.length ) {
- if ( concurrent >= rows.length - empty ) {
+ if ( concurrent > 0 && concurrent >= rows.length - empty ) {
// Confirmed the parser for all filled cells
return parsers[ i ];
}
new RegExp( /(https?|ftp|file):\/\// )
],
isoDate: [
- new RegExp( /^([-+]?\d{1,4})-([01]\d)-([0-3]\d)([T\s]((([01]\d|2[0-3])(:?[0-5]\d)?|24:?00)?(:?([0-5]\d|60))?([.,]\d+)?)([zZ]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?/ ),
- new RegExp( /^([-+]?\d{1,4})-([01]\d)-([0-3]\d)/ )
+ new RegExp( /^[^-\d]*(-?\d{1,4})-(0\d|1[0-2])(-([0-3]\d))?([T\s]([01]\d|2[0-4]):?(([0-5]\d):?(([0-5]\d|60)([.,]\d{1,3})?)?)?([zZ]|([-+])([01]\d|2[0-3]):?([0-5]\d)?)?)?/ ),
+ new RegExp( /^[^-\d]*(-?\d{1,4})-?(\d\d)?(-?(\d\d))?([T\s](\d\d):?((\d\d)?:?((\d\d)?([.,]\d{1,3})?)?)?([zZ]|([-+])(\d\d):?(\d\d)?)?)?/ )
],
usLongDate: [
new RegExp( /^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/ )
return ts.rgx.isoDate[ 0 ].test( s );
},
format: function ( s ) {
- var isodate, matches;
- if ( !Date.prototype.toISOString ) {
- // Old browsers don't understand iso, Fallback to US date parsing and ignore the time part.
- matches = $.trim( s ).match( ts.rgx.isoDate[ 1 ] );
- if ( !matches ) {
- return $.tablesorter.formatFloat( 0 );
+ var match, i, isodate, ms, hOffset, mOffset;
+ match = s.match( ts.rgx.isoDate[ 0 ] );
+ if ( match === null ) {
+ // Otherwise a signed number with 1-4 digit is parsed as isoDate
+ match = s.match( ts.rgx.isoDate[ 1 ] );
+ }
+ if ( !match ) {
+ return 0;
+ }
+ // Month and day
+ for ( i = 2; i <= 4; i += 2 ) {
+ if ( !match[ i ] || match[ i ].length === 0 ) {
+ match[ i ] = 1;
}
- isodate = new Date( matches[ 2 ] + '/' + matches[ 3 ] + '/' + matches[ 1 ] );
- } else {
- matches = s.match( ts.rgx.isoDate[ 0 ] );
- if ( !matches ) {
- return $.tablesorter.formatFloat( 0 );
+ }
+ // Time
+ for ( i = 6; i <= 15; i++ ) {
+ if ( !match[ i ] || match[ i ].length === 0 ) {
+ match[ i ] = '0';
}
- isodate = new Date( $.trim( matches[ 0 ] ) );
}
- return $.tablesorter.formatFloat( ( isodate !== undefined ) ? isodate.getTime() : 0 );
+ ms = parseFloat( match[ 11 ].replace( /,/, '.' ) ) * 1000;
+ hOffset = $.tablesorter.formatInt( match[ 13 ] + match[ 14 ] );
+ mOffset = $.tablesorter.formatInt( match[ 13 ] + match[ 15 ] );
+
+ isodate = new Date( 0 );
+ // Because Date constructor changes year 0-99 to 1900-1999, use setUTCFullYear()
+ isodate.setUTCFullYear( match[ 1 ], match[ 2 ] - 1, match[ 4 ] );
+ isodate.setUTCHours( match[ 6 ] - hOffset, match[ 8 ] - mOffset, match[ 10 ], ms );
+ return isodate.getTime();
},
type: 'numeric'
} );
*/
( function ( mw, $ ) {
+ var oojsuieditform;
+
/**
* @ignore
* @param {jQuery.Event} e
*/
function doLivePreview( e ) {
- var isDiff, api, parseRequest, diffRequest, postData, copySelectors, section,
+ var isDiff, api, parseRequest, diffRequest, postData, copySelectors, section, summary,
$wikiPreview, $wikiDiff, $editform, $textbox, $summary, $copyElements, $spinner, $errorBox;
isDiff = ( e.target.name === 'wpDiff' );
$wikiDiff = $( '#wikiDiff' );
$editform = $( '#editform' );
$textbox = $editform.find( '#wpTextbox1' );
- $summary = $editform.find( '#wpSummary' );
+
+ if ( oojsuieditform ) {
+ summary = OO.ui.infuse( $( '#wpSummaryWidget' ) );
+ } else {
+ $summary = $editform.find( '#wpSummary' );
+ }
+
$spinner = $( '.mw-spinner-preview' );
$errorBox = $( '.errorbox' );
section = $editform.find( '[name="wpSection"]' ).val();
formatversion: 2,
action: 'parse',
title: mw.config.get( 'wgPageName' ),
- summary: $summary.textSelection( 'getContents' ),
+ summary: oojsuieditform ? summary.getValue() : $summary.val(),
prop: ''
};
}
$( function () {
+ oojsuieditform = $( '#editform' ).hasClass( 'mw-editform-ooui' );
+
// Do not enable on user .js/.css pages, as there's no sane way of "previewing"
// the scripts or styles without reloading the page.
if ( $( '#mw-userjsyoucanpreview' ).length || $( '#mw-usercssyoucanpreview' ).length ) {
}
if ( !$( '.mw-summary-preview' ).length ) {
- $( '#wpSummary' ).after(
+ $( oojsuieditform ? '#wpSummaryWidget' : '#wpSummary' ).after(
$( '<div>' ).addClass( 'mw-summary-preview' )
);
}
$.each( [ 'write', 'writeln' ], function ( idx, method ) {
mw.log.deprecate( document, method, function () {
$( 'body' ).append( $.parseHTML( Array.prototype.join.call( arguments, '' ) ) );
- }, 'Use jQuery or mw.loader.load instead.' );
+ }, 'Use jQuery or mw.loader.load instead.', 'document.' + method );
} );
}( mediaWiki, jQuery ) );
}
.mw-search-createlink,
.mw-search-nonefound,
- .mw-search-results {
+ .mw-search-results,
+ .mw-search-interwiki-header {
float: left;
width: 60%;
clear: left;
--- /dev/null
+/*!
+ * Styling for elements generated by JavaScript on Special:Watchlist
+ */
+.mw-changelist-line-inner-unwatched {
+ text-decoration: line-through;
+ opacity: 0.5;
+}
+
+span.mw-changeslist-line-prefix {
+ display: inline-block;
+}
+/* This can be either a span or a table cell */
+.mw-changeslist-line-prefix {
+ width: 1.25em;
+}
*/
( function ( mw, $, OO ) {
$( function () {
- var $progressBar, $resetForm = $( '#mw-watchlist-resetbutton' );
+ var api = new mw.Api(), $progressBar, $resetForm = $( '#mw-watchlist-resetbutton' );
// If the user wants to reset their watchlist, use an API call to do so (no reload required)
// Adapted from a user script by User:NQ of English Wikipedia
if ( !$progressBar ) {
$progressBar = new OO.ui.ProgressBarWidget( { progress: false } ).$element;
$progressBar.css( {
- position: 'absolute',
- width: '100%'
+ position: 'absolute', width: '100%'
} );
}
// Show progress bar
// Use action=setnotificationtimestamp to mark all as visited,
// then set all watchlist lines accordingly
- new mw.Api().postWithToken( 'csrf', {
- formatversion: 2,
- action: 'setnotificationtimestamp',
- entirewatchlist: true
+ api.postWithToken( 'csrf', {
+ formatversion: 2, action: 'setnotificationtimestamp', entirewatchlist: true
} ).done( function () {
// Enable button again
$button.prop( 'disabled', false );
$( '#mw-watchlist-form' ).submit();
} );
}
+
+ if ( mw.user.options.get( 'watchlistunwatchlinks' ) ) {
+ // Watch/unwatch toggle link:
+ // If a page is on the watchlist, a '×' is shown which, when clicked, removes the page from the watchlist.
+ // After unwatching a page, the '×' becomes a '+', which if clicked re-watches the page.
+ // Unwatched page entries are struck through and have lowered opacity.
+ $( '.mw-unwatch-link, .mw-watch-link' ).click( function ( event ) {
+ var $unwatchLink = $( this ), // EnhancedChangesList uses <table> for each row, while OldChangesList uses <li> for each row
+ $watchlistLine = $unwatchLink.closest( 'li, table' )
+ .find( '[data-target-page]' ),
+ pageTitle = $watchlistLine.data( 'targetPage' ),
+ isTalk = mw.Title.newFromText( pageTitle ).getNamespaceId() % 2 === 1;
+
+ // Utility function for looping through each watchlist line that matches
+ // a certain page or its associated page (e.g. Talk)
+ function forEachMatchingTitle( title, callback ) {
+
+ var titleObj = mw.Title.newFromText( title ),
+ pageNamespaceId = titleObj.getNamespaceId(),
+ isTalk = pageNamespaceId % 2 === 1,
+ associatedTitle = mw.Title.makeTitle( isTalk ? pageNamespaceId - 1 : pageNamespaceId + 1,
+ titleObj.getMainText() ).getPrefixedText();
+ $( '.mw-changeslist-line' ).each( function () {
+ var $this = $( this ), $row, $unwatchLink;
+
+ $this.find( '[data-target-page]' ).each( function () {
+ var $this = $( this ), rowTitle = $this.data( 'targetPage' );
+ if ( rowTitle === title || rowTitle === associatedTitle ) {
+
+ // EnhancedChangesList groups log entries by performer rather than target page. Therefore...
+ // * If using OldChangesList, use the <li>
+ // * If using EnhancedChangesList and $this is part of a grouped log entry, use the <td> sub-entry
+ // * If using EnhancedChangesList and $this is not part of a grouped log entry, use the <table> grouped entry
+ $row =
+ $this.closest(
+ 'li, table.mw-collapsible.mw-changeslist-log td[data-target-page], table' );
+ $unwatchLink = $row.find( '.mw-unwatch-link, .mw-watch-link' );
+
+ callback( rowTitle, $row, $unwatchLink );
+ }
+ } );
+ } );
+ }
+
+ // Depending on whether we are watching or unwatching, for each entry of the page (and its associated page i.e. Talk),
+ // change the text, tooltip, and non-JS href of the (un)watch button, and update the styling of the watchlist entry.
+ if ( $unwatchLink.hasClass( 'mw-unwatch-link' ) ) {
+ api.unwatch( pageTitle )
+ .done( function () {
+ forEachMatchingTitle( pageTitle,
+ function ( rowPageTitle, $row, $rowUnwatchLink ) {
+ $rowUnwatchLink
+ .text( mw.msg( 'watchlist-unwatch-undo' ) )
+ .attr( 'title', mw.msg( 'tooltip-ca-watch' ) )
+ .attr( 'href',
+ mw.util.getUrl( rowPageTitle, { action: 'watch' } ) )
+ .removeClass( 'mw-unwatch-link loading' )
+ .addClass( 'mw-watch-link' );
+ $row.find(
+ '.mw-changeslist-line-inner, .mw-enhanced-rc-nested' )
+ .addBack( '.mw-enhanced-rc-nested' ) // For matching log sub-entry
+ .addClass( 'mw-changelist-line-inner-unwatched' );
+ } );
+
+ mw.notify(
+ mw.message( isTalk ? 'removedwatchtext-talk' : 'removedwatchtext',
+ pageTitle ), { tag: 'watch-self' } );
+ } );
+ } else {
+ api.watch( pageTitle )
+ .then( function () {
+ forEachMatchingTitle( pageTitle,
+ function ( rowPageTitle, $row, $rowUnwatchLink ) {
+ $rowUnwatchLink
+ .text( mw.msg( 'watchlist-unwatch' ) )
+ .attr( 'title', mw.msg( 'tooltip-ca-unwatch' ) )
+ .attr( 'href',
+ mw.util.getUrl( rowPageTitle, { action: 'unwatch' } ) )
+ .removeClass( 'mw-watch-link loading' )
+ .addClass( 'mw-unwatch-link' );
+ $row.find( '.mw-changelist-line-inner-unwatched' )
+ .addBack( '.mw-enhanced-rc-nested' )
+ .removeClass( 'mw-changelist-line-inner-unwatched' );
+ } );
+
+ mw.notify(
+ mw.message( isTalk ? 'addedwatchtext-talk' : 'addedwatchtext',
+ pageTitle ), { tag: 'watch-self' } );
+ } );
+ }
+
+ event.preventDefault();
+ event.stopPropagation();
+ $unwatchLink.blur();
+ } );
+ }
} );
-}( mediaWiki, jQuery, OO ) );
+}( mediaWiki, jQuery, OO )
+);
// Expose API publicly
// @deprecated since MW 1.29
- mw.log.deprecate( mw, 'toolbar', toolbar );
+ mw.log.deprecate( mw, 'toolbar', toolbar, null, 'mw.toolbar' );
$( function () {
var i, button;
+#toc.tochidden,
.toc.tochidden,
.toctoggle {
display: none;
*/
rawurlencode: rawurlencode,
- /**
- * Encode the string like Sanitizer::escapeId() in PHP
- * @deprecated since 1.30 use escapeIdForAttribute() or escapeIdForLink()
- *
- * @param {string} str String to be encoded.
- * @return {string} Encoded string
- */
- escapeId: function ( str ) {
- return escapeIdInternal( str, 'legacy' );
- },
-
/**
* Encode string into HTML id compatible form suitable for use in HTML
* Analog to PHP Sanitizer::escapeIdForAttribute()
* @inheritdoc #getUrl
* @deprecated since 1.23 Use #getUrl instead.
*/
- mw.log.deprecate( util, 'wikiGetlink', util.getUrl, 'Use mw.util.getUrl instead.' );
+ mw.log.deprecate( util, 'wikiGetlink', util.getUrl, 'Use mw.util.getUrl instead.', 'mw.util.wikiGetlink' );
/**
* Add the appropriate prefix to the accesskey shown in the tooltip.
}
$nodes.updateTooltipAccessKeys();
- }, 'Use jquery.accessKeyLabel instead.' );
+ }, 'Use jquery.accessKeyLabel instead.', 'mw.util.updateTooltipAccessKeys' );
/**
* Add a little box at the top of the screen to inform the user of
}
mw.notify( message, { autoHide: true, tag: 'legacy' } );
return true;
- }, 'Use mw.notify instead.' );
+ }, 'Use mw.notify instead.', 'mw.util.jsMessage' );
+
+ /**
+ * Encode the string like Sanitizer::escapeId() in PHP
+ *
+ * @method escapeId
+ * @deprecated since 1.30 use escapeIdForAttribute() or escapeIdForLink()
+ * @param {string} str String to be encoded.
+ * @return {string} Encoded string
+ */
+ mw.log.deprecate( util, 'escapeId', function ( str ) {
+ return escapeIdInternal( str, 'legacy' );
+ }, 'Use mw.util.escapeIdForAttribute or mw.util.escapeIdForLink instead.', 'mw.util.escapeId' );
/**
* Initialisation of mw.util.$content
'MockImageHandler' => "$testDir/phpunit/mocks/media/MockImageHandler.php",
'MockSvgHandler' => "$testDir/phpunit/mocks/media/MockSvgHandler.php",
'MockDjVuHandler' => "$testDir/phpunit/mocks/media/MockDjVuHandler.php",
- 'MockOggHandler' => "$testDir/phpunit/mocks/media/MockOggHandler.php",
- 'MockMediaHandlerFactory' => "$testDir/phpunit/mocks/media/MockMediaHandlerFactory.php",
'MockChangesListFilter' => "$testDir/phpunit/mocks/MockChangesListFilter.php",
'MockChangesListFilterGroup' => "$testDir/phpunit/mocks/MockChangesListFilterGroup.php",
'MockWebRequest' => "$testDir/phpunit/mocks/MockWebRequest.php",
MediaWikiServices::getInstance()->disableService( 'MediaHandlerFactory' );
MediaWikiServices::getInstance()->redefineService(
'MediaHandlerFactory',
- function () {
- return new MockMediaHandlerFactory();
+ function ( MediaWikiServices $services ) {
+ $handlers = $services->getMainConfig()->get( 'ParserTestMediaHandlers' );
+ return new MediaHandlerFactory( $handlers );
}
);
$teardown[] = function () {
* @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' );
<?php
+use MediaWiki\MediaWikiServices;
+
/**
* @group GlobalFunctions
* @covers ::wfThumbIsStandard
* @dataProvider provideThumbParams
*/
public function testIsStandard( $message, $expected, $params ) {
- $this->setService( 'MediaHandlerFactory', new MockMediaHandlerFactory() );
+ $handlers = MediaWikiServices::getInstance()->getMainConfig()->get( 'ParserTestMediaHandlers' );
+ $this->setService( 'MediaHandlerFactory', new MediaHandlerFactory( $handlers ) );
$this->assertSame(
$expected,
- wfThumbIsStandard( new FakeDimensionFile( [ 2000, 1800 ] ), $params ),
+ wfThumbIsStandard( new FakeDimensionFile( [ 2000, 1800 ], 'image/jpeg' ), $params ),
$message
);
}
}
/**
- * @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' => [
$this->assertEquals( '', $html );
}
+ public function testRecentChangesPrefix() {
+ $mockContext = $this->getMockBuilder( RequestContext::class )
+ ->setMethods( [ 'getTitle' ] )
+ ->getMock();
+ $mockContext->method( 'getTitle' )
+ ->will( $this->returnValue( Title::newFromText( 'Expected Context Title' ) ) );
+
+ // One group of two lines
+ $enhancedChangesList = $this->newEnhancedChangesList();
+ $enhancedChangesList->setContext( $mockContext );
+ $enhancedChangesList->setChangeLinePrefixer( function ( $rc, $changesList ) {
+ // Make sure RecentChange and ChangesList objects are the same
+ $this->assertEquals( 'Expected Context Title', $changesList->getContext()->getTitle() );
+ $this->assertTrue( $rc->getTitle() == 'Cat' || $rc->getTitle() == 'Dog' );
+ return 'Hello world prefix';
+ } );
+ $enhancedChangesList->beginRecentChangesList();
+
+ $recentChange = $this->getEditChange( '20131103092153' );
+ $enhancedChangesList->recentChangesLine( $recentChange );
+ $recentChange = $this->getEditChange( '20131103092154' );
+ $enhancedChangesList->recentChangesLine( $recentChange );
+
+ $html = $enhancedChangesList->endRecentChangesList();
+
+ $this->assertRegExp( '/Hello world prefix/', $html );
+
+ // Two separate lines
+ $enhancedChangesList->beginRecentChangesList();
+
+ $recentChange = $this->getEditChange( '20131103092153' );
+ $enhancedChangesList->recentChangesLine( $recentChange );
+ $recentChange = $this->getEditChange( '20131103092154', 'Dog' );
+ $enhancedChangesList->recentChangesLine( $recentChange );
+
+ $html = $enhancedChangesList->endRecentChangesList();
+
+ preg_match_all( '/Hello world prefix/', $html, $matches );
+ $this->assertCount( 2, $matches[0] );
+ }
+
public function testCategorizationLineFormatting() {
$html = $this->createCategorizationLine(
$this->getCategorizationChange( '20150629191735', 0, 0 )
$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 );
preg_match_all( '/td class="mw-enhanced-rc-nested"/', $html, $matches );
$this->assertCount( 2, $matches[0] );
+ preg_match_all( '/data-target-page="Cat"/', $html, $matches );
+ $this->assertCount( 2, $matches[0] );
+
$recentChange3 = $this->getLogChange();
$enhancedChangesList->recentChangesLine( $recentChange3, false );
$html = $enhancedChangesList->endRecentChangesList();
$this->assertContains( 'data-mw-logaction="foo/bar"', $html );
$this->assertContains( 'data-mw-logid="25"', $html );
+ $this->assertContains( 'data-target-page="Title"', $html );
}
/**
/**
* @return RecentChange
*/
- private function getEditChange( $timestamp ) {
+ private function getEditChange( $timestamp, $pageTitle = 'Cat' ) {
$user = $this->getMutableTestUser()->getUser();
$recentChange = $this->testRecentChangesHelper->makeEditRecentChange(
- $user, 'Cat', 0, 5, 191, $timestamp, 0, 0
+ $user, $pageTitle, 0, 5, 191, $timestamp, 0, 0
);
return $recentChange;
$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() {
$this->assertRegExp( "/watchlist-0-Cat/", $line );
}
+ public function testRecentChangesLine_dataAttribute() {
+ $oldChangesList = $this->getOldChangesList();
+ $oldChangesList->setWatchlistDivs( true );
+
+ $recentChange = $this->getEditChange();
+ $line = $oldChangesList->recentChangesLine( $recentChange, false, 1 );
+ $this->assertRegExp( '/data-target-page=\"Cat\"/', $line );
+
+ $recentChange = $this->getLogChange( 'delete', 'delete' );
+ $line = $oldChangesList->recentChangesLine( $recentChange, false, 1 );
+ $this->assertRegExp( '/data-target-page="Abc"/', $line );
+ }
+
+ public function testRecentChangesLine_prefix() {
+ $mockContext = $this->getMockBuilder( RequestContext::class )
+ ->setMethods( [ 'getTitle' ] )
+ ->getMock();
+ $mockContext->method( 'getTitle' )
+ ->will( $this->returnValue( Title::newFromText( 'Expected Context Title' ) ) );
+
+ $oldChangesList = $this->getOldChangesList();
+ $oldChangesList->setContext( $mockContext );
+ $recentChange = $this->getEditChange();
+
+ $oldChangesList->setChangeLinePrefixer( function ( $rc, $changesList ) {
+ // Make sure RecentChange and ChangesList objects are the same
+ $this->assertEquals( 'Expected Context Title', $changesList->getContext()->getTitle() );
+ $this->assertEquals( 'Cat', $rc->getTitle() );
+ return 'I am a prefix';
+ } );
+ $line = $oldChangesList->recentChangesLine( $recentChange );
+ $this->assertRegExp( "/I am a prefix/", $line );
+ }
+
private function getNewBotEditChange() {
$user = $this->getMutableTestUser()->getUser();
*/
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();
*/
class FakeDimensionFile extends File {
public $mustRender = false;
+ public $mime;
+ public $dimensions;
- public function __construct( $dimensions ) {
+ public function __construct( $dimensions, $mime = 'unknown/unknown' ) {
parent::__construct( Title::makeTitle( NS_FILE, 'Test' ),
new NullRepo( null ) );
$this->dimensions = $dimensions;
+ $this->mime = $mime;
}
public function getWidth( $page = 1 ) {
public function getPath() {
return '';
}
+
+ public function getMimeType() {
+ return $this->mime;
+ }
}
/**
* @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' ] ],
'watchlisthidepatrolled' => 0,
'watchlisthidecategorization' => 1,
'watchlistreloadautomatically' => 0,
+ 'watchlistunwatchlinks' => 0,
]
);
}
$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
*/
+++ /dev/null
-<?php
-/**
- * Media-handling base classes and generic functionality.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @ingroup Media
- */
-
-/**
- * Replace all media handlers with a mock. We do not need to generate
- * actual thumbnails to do parser testing, we only care about receiving
- * a ThumbnailImage properly initialized.
- *
- * @since 1.28
- */
-class MockMediaHandlerFactory extends MediaHandlerFactory {
-
- private static $overrides = [
- 'image/svg+xml' => MockSvgHandler::class,
- 'image/vnd.djvu' => MockDjVuHandler::class,
- 'application/ogg' => MockOggHandler::class,
- ];
-
- public function __construct() {
- // override parent
- }
-
- protected function getHandlerClass( $type ) {
- if ( isset( self::$overrides[$type] ) ) {
- return self::$overrides[$type];
- }
-
- return MockBitmapHandler::class;
- }
-
-}
+++ /dev/null
-<?php
-/**
- * Fake handler for Ogg videos.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- * @file
- * @ingroup Media
- */
-
-class MockOggHandler extends OggHandlerTMH {
- function doTransform( $file, $dstPath, $dstUrl, $params, $flags = 0 ) {
- # Important or height handling is wrong.
- if ( !$this->normaliseParams( $file, $params ) ) {
- return new TransformParameterError( $params );
- }
-
- $srcWidth = $file->getWidth();
- $srcHeight = $file->getHeight();
-
- // Audio should not be transformed by size, give it a default width and height
- if ( $this->isAudio( $file ) ) {
- $srcWidth = 220;
- $srcHeight = 23;
- }
-
- $params['width'] = isset( $params['width'] ) ? $params['width'] : $srcWidth;
-
- // if height overtakes width use height as max:
- $targetWidth = $params['width'];
- $targetHeight = $srcWidth == 0 ? $srcHeight : round( $params['width'] * $srcHeight / $srcWidth );
- if ( isset( $params['height'] ) && $targetHeight > $params['height'] ) {
- $targetHeight = $params['height'];
- $targetWidth = round( $params['height'] * $srcWidth / $srcHeight );
- }
- $options = [
- 'file' => $file,
- 'length' => $this->getLength( $file ),
- 'offset' => $this->getOffset( $file ),
- 'width' => $targetWidth,
- 'height' => $targetHeight,
- 'isVideo' => !$this->isAudio( $file ),
- 'thumbtime' => isset(
- $params['thumbtime']
- ) ? $params['thumbtime'] : intval( $file->getLength() / 2 ),
- '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
- ];
-
- // No thumbs for audio
- if ( !$options['isVideo'] ) {
- return new TimedMediaTransformOutput( $options );
- }
-
- // Setup pointer to thumb arguments
- $options[ 'thumbUrl' ] = $dstUrl;
- $options[ 'dstPath' ] = $dstPath;
- $options[ 'path' ] = $dstPath;
-
- return new TimedMediaTransformOutput( $options );
- }
-
- function getLength( $file ) {
- if ( $this->isAudio( $file ) ) {
- return 0.99875;
- }
- return 4.3666666666667;
- }
-
- function getBitRate( $file ) {
- if ( $this->isAudio( $file ) ) {
- return 41107;
- }
- return 590013;
- }
-
- function getWebType( $file ) {
- if ( $this->isAudio( $file ) ) {
- return "audio/ogg; codecs=\"vorbis\"";
- }
- return "video/ogg; codecs=\"theora\"";
- }
-
- function getFramerate( $file ) {
- if ( $this->isAudio( $file ) ) {
- return 0;
- }
- return 30;
- }
-}
}, {}, {});
",
- '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 () {}, {}, {});
",
];
parserTest( 'Y Dates', 'date', YDates );
ISODates = [
- [ '2000', false, 0, 'Plain 4-digit year' ],
- [ '2000-01', false, 0, 'Year with month' ],
- [ '2000-01-01', true, 946684800000, 'Year with month and day' ],
- [ '2000-13-01', true, -Infinity, 'Non existant month' ],
- [ '2000-01-32', true, -Infinity, 'Non existant day' ],
+ [ '2000', false, 946684800000, 'Plain 4-digit year' ],
+ [ '2000-01', true, 946684800000, 'Year with month' ],
+ [ '2000-01-01', true, 946684800000, 'Year with month and day' ],
+ [ '2000-13-01', false, 978307200000, 'Non existant month' ],
+ [ '2000-01-32', true, 949363200000, 'Non existant day' ],
+ [ '2000-01-01T12:30:30', true, 946729830000, 'Date with a time' ],
[ '2000-01-01T12:30:30Z', true, 946729830000, 'Date with a UTC+0 time' ],
- [ '2000-01-01T24:30:30Z', true, -Infinity, 'Date with invalid hours' ],
- [ '2000-01-01T12:60:30Z', true, -Infinity, 'Date with invalid minutes' ],
+ [ '2000-01-01T24:30:30Z', true, 946773030000, 'Date with invalid hours' ],
+ [ '2000-01-01T12:60:30Z', true, 946728000000, 'Date with invalid minutes' ],
+ [ '2000-01-01T12:30:61Z', true, 946729800000, 'Date with invalid amount of seconds, drops seconds' ],
[ '2000-01-01T23:59:59Z', true, 946771199000, 'Edges of time' ],
[ '2000-01-01T12:30:30.111Z', true, 946729830111, 'Date with milliseconds' ],
[ '2000-01-01T12:30:30.11111Z', true, 946729830111, 'Date with too high precision' ],
- [ '2000-01-01T12:30:30,111Z', true, -Infinity, 'Date with milliseconds and , separator' ],
+ [ '2000-01-01T12:30:30,111Z', true, 946729830111, 'Date with milliseconds and , separator' ],
[ '2000-01-01T12:30:30+01:00', true, 946726230000, 'Date time in UTC+1' ],
[ '2000-01-01T12:30:30+01:30', true, 946724430000, 'Date time in UTC+1:30' ],
[ '2000-01-01T12:30:30-01:00', true, 946733430000, 'Date time in UTC-1' ],
[ '2000-01-01T12:30:30-01:30', true, 946735230000, 'Date time in UTC-1:30' ],
[ '2000-01-01T12:30:30.111+01:00', true, 946726230111, 'Date time and milliseconds in UTC+1' ],
[ '2000-01-01Postfix', true, 946684800000, 'Date with appended postfix' ],
- [ '2000-01-01 Postfix', true, 946684800000, 'Date with separate postfix' ]
- /* Disable testcases, because behavior is browser dependant */
- /*
- [ '2000-11-31', true, 0, '31 days in 30 day month' ],
- [ '50-01-01', false, -60589296000000, 'Year with just two digits' ],
- [ '-1000-01-01', true, -93724128000000, 'Year BC' ],
- [ '+1000-01-01', true, -30610224000000, 'Date with +sign' ],
- [ '2000-01-01 12:30:30Z', true, 0, 'Date and time with no T marker' ],
+ [ '2000-01-01 Postfix', true, 946684800000, 'Date with separate postfix' ],
+ [ '2 Postfix', false, -62104060800000, 'One digit with separate postfix' ],
+ [ 'ca. 2', false, -62104060800000, 'Three digit with separate prefix' ],
+ [ '~200', false, -55855785600000, 'Three digit with appended prefix' ],
+ [ 'ca. 200[1]', false, -55855785600000, 'Three digit with separate prefix and postfix' ],
+ [ '2000-11-31', true, 975628800000, '31 days in 30 day month' ],
+ [ '50-01-01', true, -60589296000000, 'Year with just two digits' ],
+ [ '2', false, -62104060800000, 'Year with one digit' ],
+ [ '02-01', true, -62104060800000, 'Year with one digit and leading zero' ],
+ [ ' 2-01', true, -62104060800000, 'Year with one digit and leading space' ],
+ [ '-2-10', true, -62206704000000, 'Year BC with month' ],
+ [ '-9999', false, -377705116800000, 'max. Year BC' ],
+ [ '+9999-12', true, 253399622400000, 'max. Date with +sign' ],
+ [ '2000-01-01 12:30:30Z', true, 946729830000, 'Date and time with no T marker' ],
[ '2000-01-01T12:30:60Z', true, 946729860000, 'Date with leap second' ],
- [ '2000-01-01T12:30:30-24:00', true, 946816230000, 'Date time in UTC-24' ],
- [ '2000-01-01T12:30:30+24:00', true, 946643430000, 'Date time in UTC+24' ],
- [ '2000-01-01T12:30:30+0100', true, 946726230000, 'Time without separator in timezone offset' ]
- // No "Z", uses local timezone:
- [ '2000-01-01T12:30:30', true, 946729830000, 'Date with a time' ],
- [ '2000-01-01T12:30:61Z', true, 946729800000, 'Date with invalid amount of seconds, drops seconds' ],
- */
+ [ '2000-01-01T12:30:30-23:59', true, 946816170000, 'Date time in UTC-23:59' ],
+ [ '2000-01-01T12:30:30+23:59', true, 946643490000, 'Date time in UTC+23:59' ],
+ [ '2000-01-01T123030+0100', true, 946726230000, 'Time without separators' ],
+ [ '20000101T123030+0100', false, 946726230000, 'All without separators' ]
];
parserTest( 'ISO Dates', 'isoDate', ISODates );
],
isoDateSortingSorted = [
[ '2009' ],
- [ '2009-12-25T12:30:45' ],
[ '2009-12-25T12:30:45+01:00' ],
+ [ '2009-12-25T12:30:45' ],
[ '2009-12-25T12:30:45.001Z' ],
[ '2009-12-25T12:30:45.111' ],
[ '2010-01-31' ],