prepended to the start of this array.
* $wgQueryPages has been removed. Query Pages should be added to by using the
wgQueryPages hook.
+* $wgHttpOnlyBlacklist has been removed.
+* $wgLicenseTerms has been removed as it was unused.
=== New features in 1.23 ===
* ResourceLoader can utilize the Web Storage API to cache modules client-side.
* Added BaseTemplateAfterPortlet hook to allow injecting html after portlets in skins.
* Support has been added for a JSON based localisation file format. The
installer has been updated to use it.
+* Changes to content typography (fonts, line-height, etc.). See
+ https://www.mediawiki.org/wiki/Typography_refresh for further information.
+* ResourceLoader: mw.loader.using() now implements a Promise interface.
=== Bug fixes in 1.23 ===
* (bug 41759) The "updated since last visit" markers (on history pages, recent
when the email address is already confirmed. Also, consistently use
"confirmed", rather than "authenticated", when messaging whether or not the
user has confirmed an email address.
+* (bug 19415) action=render no longer shows section edit links. This affects
+ behavior of several other features where (bogus) section edit links will
+ disappear, such as file description pages loaded via $wgUseInstantCommons or
+ pages transcluded cross-wiki via $wgEnableScaryTranscluding.
* (bug 56912) Show correct link color on cached result of Special:DeadendPages.
* Classes TitleListDependency and TitleDependency have been removed, as they
have been found unused in core and extensions for a long time.
* (bug 42026) Added ucshow={new,!new,top,!top} to list=usercontribs.
Also added newonly to action=feedcontributions.
* (bug 42026) Deprecated uctoponly in favor of ucshow=top.
+* list=search no longer has a "srredirects" parameter. Redirects are now
+ included in all searches.
=== Languages updated in 1.23 ===
regularly. Below only new and removed languages are listed, as well as
changes to languages because of Bugzilla reports.
+* Support was added for Algerian Spoken Arabic (arq).
+* Support was added for Riograndenser Hunsrückisch (hrx).
* Support was added for Northern Luri (lrc).
=== Other changes in 1.23 ===
us to extend parser tests to accommodate additional input/output
pairs, such as "!!html/parsoid" (for the output of the Parsoid
parser, where it differs from the PHP parser).
+* Special:Search no longer has an "include redirects" option on the advanced
+ tab. Redirects are now included in all searches.
==== Removed classes ====
* FakeMemCachedClient (deprecated in 1.18)
wfPHPVersionError( 'api.php' );
}
-// Initialise common code.
require __DIR__ . '/includes/WebStart.php';
wfProfileIn( 'api.php' );
<?php
/**
- * Version of api.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of api.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
*
* 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
* @file
*/
-require 'api.php';
+require './api.php';
return;
}
+ if ( $wgRequest->getCheck( 'download' ) ) {
+ header( 'Content-Disposition: attachment' );
+ }
+
// Stream the requested file
wfDebugLog( 'img_auth', "Streaming `" . $filename . "`." );
$repo->streamFile( $filename, array( 'Cache-Control: private', 'Vary: Cookie' ) );
<?php
/**
- * Version of img_auth.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of img_auth.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
*
* 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
* @ingroup Ajax
*/
class AjaxResponse {
-
/**
* Number of seconds to get the response cached by a proxy
* @var int $mCacheDuration
}
} else {
-
# Let the client do the caching. Cache is not purged.
header ( "Expires: " . gmdate( "D, d M Y H:i:s", time() + $this->mCacheDuration ) . " GMT" );
- header ( "Cache-Control: s-maxage={$this->mCacheDuration},public,max-age={$this->mCacheDuration}" );
+ header ( "Cache-Control: s-maxage={$this->mCacheDuration}," .
+ "public,max-age={$this->mCacheDuration}" );
}
} else {
wfDebug( "$fname: -- client send If-Modified-Since: " . $modsince . "\n", 'log' );
wfDebug( "$fname: -- we might send Last-Modified : $lastmod\n", 'log' );
- if ( ( $ismodsince >= $timestamp ) && $wgUser->validateCache( $ismodsince ) && $ismodsince >= $wgCacheEpoch ) {
+ if ( ( $ismodsince >= $timestamp )
+ && $wgUser->validateCache( $ismodsince ) &&
+ $ismodsince >= $wgCacheEpoch
+ ) {
ini_set( 'zlib.output_compression', 0 );
$this->setResponseCode( "304 Not Modified" );
$this->disable();
$this->mLastModified = $lastmod;
- wfDebug( "$fname: CACHED client: $ismodsince ; user: {$wgUser->getTouched()} ; page: $timestamp ; site $wgCacheEpoch\n", 'log' );
+ wfDebug( "$fname: CACHED client: $ismodsince ; user: {$wgUser->getTouched()} ; " .
+ "page: $timestamp ; site $wgCacheEpoch\n", 'log' );
return true;
} else {
- wfDebug( "$fname: READY client: $ismodsince ; user: {$wgUser->getTouched()} ; page: $timestamp ; site $wgCacheEpoch\n", 'log' );
+ wfDebug( "$fname: READY client: $ismodsince ; user: {$wgUser->getTouched()} ; " .
+ "page: $timestamp ; site $wgCacheEpoch\n", 'log' );
$this->mLastModified = $lastmod;
}
} else {
* Does *NOT* follow redirects.
*
* @protected
- * @note this is really internal functionality that should really NOT be used by other functions. For accessing
- * article content, use the WikiPage class, especially WikiBase::getContent(). However, a lot of legacy code
- * uses this method to retrieve page text from the database, so the function has to remain public for now.
+ * @note This is really internal functionality that should really NOT be
+ * used by other functions. For accessing article content, use the WikiPage
+ * class, especially WikiBase::getContent(). However, a lot of legacy code
+ * uses this method to retrieve page text from the database, so the function
+ * has to remain public for now.
*
* @return mixed string containing article contents, or false if null
* @deprecated in 1.21, use WikiPage::getContent() instead
/**
* Get text content object
* Does *NOT* follow redirects.
- * TODO: when is this null?
+ * @todo When is this null?
*
- * @note code that wants to retrieve page content from the database should use WikiPage::getContent().
+ * @note Code that wants to retrieve page content from the database should
+ * use WikiPage::getContent().
*
* @return Content|null|boolean false
*
}
} else {
if ( !$this->mPage->getLatest() ) {
- wfDebug( __METHOD__ . " failed to find page data for title " . $this->getTitle()->getPrefixedText() . "\n" );
+ wfDebug( __METHOD__ . " failed to find page data for title " .
+ $this->getTitle()->getPrefixedText() . "\n" );
wfProfileOut( __METHOD__ );
return false;
}
$this->mRevision = $this->mPage->getRevision();
if ( !$this->mRevision ) {
- wfDebug( __METHOD__ . " failed to retrieve current page, rev_id " . $this->mPage->getLatest() . "\n" );
+ wfDebug( __METHOD__ . " failed to retrieve current page, rev_id " .
+ $this->mPage->getLatest() . "\n" );
wfProfileOut( __METHOD__ );
return false;
}
// @todo FIXME: Horrible, horrible! This content-loading interface just plain sucks.
// We should instead work with the Revision object when we need it...
- $this->mContentObject = $this->mRevision->getContent( Revision::FOR_THIS_USER, $this->getContext()->getUser() ); // Loads if user is allowed
+ // Loads if user is allowed
+ $this->mContentObject = $this->mRevision->getContent(
+ Revision::FOR_THIS_USER,
+ $this->getContext()->getUser()
+ );
$this->mRevIdFetched = $this->mRevision->getId();
wfRunHooks( 'ArticleAfterFetchContentObject', array( &$this, &$this->mContentObject ) );
# Don't cache a dirty ParserOutput object
if ( $poolArticleView->getIsDirty() ) {
$outputPage->setSquidMaxage( 0 );
- $outputPage->addHTML( "<!-- parser cache is expired, sending anyway due to pool overload-->\n" );
+ $outputPage->addHTML( "<!-- parser cache is expired, " .
+ "sending anyway due to pool overload-->\n" );
}
$outputDone = true;
}
$contentHandler = $rev->getContentHandler();
- $de = $contentHandler->createDifferenceEngine( $this->getContext(), $oldid, $diff, $rcid, $purge, $unhide );
+ $de = $contentHandler->createDifferenceEngine(
+ $this->getContext(),
+ $oldid,
+ $diff,
+ $rcid,
+ $purge,
+ $unhide
+ );
// DifferenceEngine directly fetched the revision:
$this->mRevIdFetched = $de->mNewid;
$de->showDiffPage( $diffOnly );
- // Run view updates for the newer revision being diffed (and shown below the diff if not $diffOnly)
+ // Run view updates for the newer revision being diffed (and shown
+ // below the diff if not $diffOnly).
list( $old, $new ) = $de->mapDiffPrevNext( $oldid, $diff );
// New can be false, convert it to 0 - this conveniently means the latest revision
$this->mPage->doViewUpdates( $user, (int)$new );
* This is hooked by SyntaxHighlight_GeSHi to do syntax highlighting of these
* page views.
*
- * @param bool $showCacheHint whether to show a message telling the user to clear the browser cache (default: true).
+ * @param bool $showCacheHint whether to show a message telling the user
+ * to clear the browser cache (default: true).
*/
protected function showCssOrJsPage( $showCacheHint = true ) {
$outputPage = $this->getContext()->getOutput();
$dir = $this->getContext()->getLanguage()->getDir();
$lang = $this->getContext()->getLanguage()->getCode();
- $outputPage->wrapWikiMsg( "<div id='mw-clearyourcache' lang='$lang' dir='$dir' class='mw-content-$dir'>\n$1\n</div>",
- 'clearyourcache' );
+ $outputPage->wrapWikiMsg(
+ "<div id='mw-clearyourcache' lang='$lang' dir='$dir' class='mw-content-$dir'>\n$1\n</div>",
+ 'clearyourcache'
+ );
}
$this->fetchContentObject();
if ( $this->mContentObject ) {
// Give hooks a chance to customise the output
- if ( ContentHandler::runLegacyHooks( 'ShowRawCssJs', array( $this->mContentObject, $this->getTitle(), $outputPage ) ) ) {
+ if ( ContentHandler::runLegacyHooks(
+ 'ShowRawCssJs',
+ array( $this->mContentObject, $this->getTitle(), $outputPage ) )
+ ) {
$po = $this->mContentObject->getParserOutput( $this->getTitle() );
$outputPage->addHTML( $po->getText() );
}
public function showNamespaceHeader() {
if ( $this->getTitle()->isTalkPage() ) {
if ( !wfMessage( 'talkpageheader' )->isDisabled() ) {
- $this->getContext()->getOutput()->wrapWikiMsg( "<div class=\"mw-talkpageheader\">\n$1\n</div>", array( 'talkpageheader' ) );
+ $this->getContext()->getOutput()->wrapWikiMsg(
+ "<div class=\"mw-talkpageheader\">\n$1\n</div>",
+ array( 'talkpageheader' )
+ );
}
}
}
*/
public function showViewFooter() {
# check if we're displaying a [[User talk:x.x.x.x]] anonymous talk page
- if ( $this->getTitle()->getNamespace() == NS_USER_TALK && IP::isValid( $this->getTitle()->getText() ) ) {
+ if ( $this->getTitle()->getNamespace() == NS_USER_TALK
+ && IP::isValid( $this->getTitle()->getText() )
+ ) {
$this->getContext()->getOutput()->addWikiMsg( 'anontalkpagetext' );
}
$patrolFooterShown = $this->showPatrolFooter();
wfRunHooks( 'ArticleViewFooter', array( $this, $patrolFooterShown ) );
-
}
/**
$cache = wfGetMainCache();
$rc = false;
- if ( !$this->getTitle()->quickUserCan( 'patrol', $user ) || !( $wgUseRCPatrol || $wgUseNPPatrol ) ) {
+ if ( !$this->getTitle()->quickUserCan( 'patrol', $user )
+ || !( $wgUseRCPatrol || $wgUseNPPatrol )
+ ) {
// Patrolling is disabled or the user isn't allowed to
return false;
}
return false;
}
- if ( $this->mRevision && !RecentChange::isInRCLifespan( $this->mRevision->getTimestamp(), 21600 ) ) {
+ if ( $this->mRevision
+ && !RecentChange::isInRCLifespan( $this->mRevision->getTimestamp(), 21600 )
+ ) {
// The current revision is already older than what could be in the RC table
// 6h tolerance because the RC might not be cleaned out regularly
wfProfileOut( __METHOD__ );
__METHOD__
);
- if ( $oldestRevisionTimestamp && RecentChange::isInRCLifespan( $oldestRevisionTimestamp, 21600 ) ) {
+ if ( $oldestRevisionTimestamp
+ && RecentChange::isInRCLifespan( $oldestRevisionTimestamp, 21600 )
+ ) {
// 6h tolerance because the RC might not be cleaned out regularly
$rc = RecentChange::newFromConds(
array(
$validUserPage = false;
# Show info in user (talk) namespace. Does the user exist? Is he blocked?
- if ( $this->getTitle()->getNamespace() == NS_USER || $this->getTitle()->getNamespace() == NS_USER_TALK ) {
+ if ( $this->getTitle()->getNamespace() == NS_USER
+ || $this->getTitle()->getNamespace() == NS_USER_TALK
+ ) {
$parts = explode( '/', $this->getTitle()->getText() );
$rootPart = $parts[0];
$user = User::newFromName( $rootPart, false /* allow IP users*/ );
// the loop prepends the arrow image before the link, so the first case needs to be outside
- /**
- * @var $title Title
- */
+ /** @var $title Title */
$title = array_shift( $target );
if ( $forceKnown ) {
$nextRedirect = $wgStylePath . '/common/images/nextredirect' . $imageDir . '.png';
$alt = $lang->isRTL() ? '←' : '→';
- // Automatically append redirect=no to each link, since most of them are redirect pages themselves.
+
+ // Automatically append redirect=no to each link, since most of them are
+ // redirect pages themselves.
+ /** @var Title $rt */
foreach ( $target as $rt ) {
$link .= Html::element( 'img', array( 'src' => $nextRedirect, 'alt' => $alt ) );
if ( $forceKnown ) {
- $link .= Linker::linkKnown( $rt, htmlspecialchars( $rt->getFullText(), array(), array( 'redirect' => 'no' ) ) );
+ $link .= Linker::linkKnown(
+ $rt,
+ htmlspecialchars( $rt->getFullText(),
+ array(),
+ array( 'redirect' => 'no' )
+ )
+ );
} else {
- $link .= Linker::link( $rt, htmlspecialchars( $rt->getFullText() ), array(), array( 'redirect' => 'no' ) );
+ $link .= Linker::link(
+ $rt,
+ htmlspecialchars( $rt->getFullText() ),
+ array(),
+ array( 'redirect' => 'no' )
+ );
}
}
*/
public function render() {
$this->getContext()->getOutput()->setArticleBodyOnly( true );
+ $this->getContext()->getOutput()->enableSectionEditLinks( false );
$this->view();
}
try {
$reason = $this->generateReason( $hasHistory );
} catch ( MWException $e ) {
- # if a page is horribly broken, we still want to be able to delete it. so be lenient about errors here.
+ # if a page is horribly broken, we still want to be able to
+ # delete it. So be lenient about errors here.
wfDebug( "Error while building auto delete summary: $e" );
$reason = '';
}
if ( $this->mTitle->isBigDeletion() ) {
global $wgDeleteRevisionsLimit;
$this->getContext()->getOutput()->wrapWikiMsg( "<div class='error'>\n$1\n</div>\n",
- array( 'delete-warning-toobig', $this->getContext()->getLanguage()->formatNum( $wgDeleteRevisionsLimit ) ) );
+ array(
+ 'delete-warning-toobig',
+ $this->getContext()->getLanguage()->formatNum( $wgDeleteRevisionsLimit )
+ )
+ );
}
}
Xml::label( wfMessage( 'deletecomment' )->text(), 'wpDeleteReasonList' ) .
"</td>
<td class='mw-input'>" .
- Xml::listDropDown( 'wpDeleteReasonList',
+ Xml::listDropDown(
+ 'wpDeleteReasonList',
wfMessage( 'deletereason-dropdown' )->inContentLanguage()->text(),
- wfMessage( 'deletereasonotherlist' )->inContentLanguage()->text(), '', 'wpReasonDropDown', 1 ) .
+ wfMessage( 'deletereasonotherlist' )->inContentLanguage()->text(),
+ '',
+ 'wpReasonDropDown',
+ 1
+ ) .
"</td>
</tr>
<tr id=\"wpDeleteReasonRow\">
</tr>" .
Xml::closeElement( 'table' ) .
Xml::closeElement( 'fieldset' ) .
- Html::hidden( 'wpEditToken', $user->getEditToken( array( 'delete', $this->getTitle()->getPrefixedText() ) ) ) .
+ Html::hidden(
+ 'wpEditToken',
+ $user->getEditToken( array( 'delete', $this->getTitle()->getPrefixedText() ) )
+ ) .
Xml::closeElement( 'form' );
if ( $user->isAllowed( 'editinterface' ) ) {
/**
* Perform a deletion and output success or failure messages
- * @param $reason
- * @param $suppress bool
+ * @param string $reason
+ * @param bool $suppress
*/
public function doDelete( $reason, $suppress = false ) {
$error = '';
$outputPage = $this->getContext()->getOutput();
$status = $this->mPage->doDeleteArticleReal( $reason, $suppress, 0, true, $error );
+
if ( $status->isGood() ) {
$deleted = $this->getTitle()->getPrefixedText();
$outputPage->addWikiMsg( 'deletedtext', wfEscapeWikiText( $deleted ), $loglink );
$outputPage->returnToMain( false );
} else {
- $outputPage->setPageTitle( wfMessage( 'cannotdelete-title', $this->getTitle()->getPrefixedText() ) );
+ $outputPage->setPageTitle(
+ wfMessage( 'cannotdelete-title',
+ $this->getTitle()->getPrefixedText() )
+ );
+
if ( $error == '' ) {
$outputPage->addWikiText(
"<div class=\"error mw-error-cannotdelete\">\n" . $status->getWikiText() . "\n</div>"
if ( $this->mContext instanceof IContextSource ) {
return $this->mContext;
} else {
- wfDebug( __METHOD__ . " called and \$mContext is null. Return RequestContext::getMain(); for sanity\n" );
+ wfDebug( __METHOD__ . " called and \$mContext is null. " .
+ "Return RequestContext::getMain(); for sanity\n" );
return RequestContext::getMain();
}
}
* @param $user User
* @return Status
*/
- public function doUpdateRestrictions( array $limit, array $expiry, &$cascade, $reason, User $user ) {
+ public function doUpdateRestrictions( array $limit, array $expiry, &$cascade,
+ $reason, User $user
+ ) {
return $this->mPage->doUpdateRestrictions( $limit, $expiry, $cascade, $reason, $user );
}
* @param $expiry array
* @return bool
*/
- public function updateRestrictions( $limit = array(), $reason = '', &$cascade = 0, $expiry = array() ) {
+ public function updateRestrictions( $limit = array(), $reason = '',
+ &$cascade = 0, $expiry = array()
+ ) {
return $this->mPage->doUpdateRestrictions(
$limit,
$expiry,
* @param $error string
* @return bool
*/
- public function doDeleteArticle( $reason, $suppress = false, $id = 0, $commit = true, &$error = '' ) {
+ public function doDeleteArticle( $reason, $suppress = false, $id = 0,
+ $commit = true, &$error = ''
+ ) {
return $this->mPage->doDeleteArticle( $reason, $suppress, $id, $commit, $error );
}
'UserloginTemplate' => 'includes/templates/Userlogin.php',
'UsercreateTemplate' => 'includes/templates/Usercreate.php',
+ # includes/title
+ 'PageLinkRenderer' => 'includes/title/PageLinkRenderer.php',
+ 'TitleFormatter' => 'includes/title/TitleFormatter.php',
+ 'TitleParser' => 'includes/title/TitleParser.php',
+ 'TitleValue' => 'includes/title/TitleValue.php',
+ 'MalformedTitleException' => 'includes/title/MalformedTitleException.php',
+ 'MediaWikiPageLinkRenderer' => 'includes/title/MediaWikiPageLinkRenderer.php',
+ 'MediaWikiTitleCodec' => 'includes/title/MediaWikiTitleCodec.php',
+
# includes/upload
'UploadBase' => 'includes/upload/UploadBase.php',
'UploadFromFile' => 'includes/upload/UploadFromFile.php',
return in_array( 'bot', User::getGroupPermissions( $user->getGroups() ) );
default:
$result = null;
- wfRunHooks( 'AutopromoteCondition', array( $cond[0], array_slice( $cond, 1 ), $user, &$result ) );
+ wfRunHooks( 'AutopromoteCondition', array( $cond[0],
+ array_slice( $cond, 1 ), $user, &$result ) );
if ( $result === null ) {
throw new MWException( "Unrecognized condition {$cond[0]} for autopromotion!" );
}
* Update a block in the DB with new parameters.
* The ID field needs to be loaded first.
*
- * @return bool|array False on failure, array on success: ('id' => block ID, 'autoIds' => array of autoblock IDs)
+ * @return bool|array False on failure, array on success:
+ * ('id' => block ID, 'autoIds' => array of autoblock IDs)
*/
public function update() {
wfDebug( "Block::update; timestamp {$this->mTimestamp}\n" );
wfDebug( "Autoblocking {$this->getTarget()}@" . $autoblockIP . "\n" );
$autoblock->setTarget( $autoblockIP );
$autoblock->setBlocker( $this->getBlocker() );
- $autoblock->mReason = wfMessage( 'autoblocker', $this->getTarget(), $this->mReason )->inContentLanguage()->plain();
+ $autoblock->mReason = wfMessage( 'autoblocker', $this->getTarget(), $this->mReason )
+ ->inContentLanguage()->plain();
$timestamp = wfTimestampNow();
$autoblock->mTimestamp = $timestamp;
$autoblock->mAuto = 1;
# passed by some callers (bug 29116)
return null;
- } elseif ( in_array( $type, array( Block::TYPE_USER, Block::TYPE_IP, Block::TYPE_RANGE, null ) ) ) {
+ } elseif ( in_array(
+ $type,
+ array( Block::TYPE_USER, Block::TYPE_IP, Block::TYPE_RANGE, null ) )
+ ) {
$block = new Block();
$block->fromMaster( $fromMaster );
* @since 1.20
*/
interface ICacheHelper {
-
/**
* Sets if the cache should be enabled or not.
*
* @param integer $cacheExpiry
*/
function setExpiry( $cacheExpiry );
-
}
/**
* @since 1.20
*/
class CacheHelper implements ICacheHelper {
-
/**
* The time to live for the cache, in seconds or a unix timestamp indicating the point of expiry.
*
$itemKey = array_shift( $itemKey );
if ( !is_integer( $itemKey ) ) {
- wfWarn( "Attempted to get item with non-numeric key while the next item in the queue has a key ($itemKey) in " . __METHOD__ );
+ wfWarn( "Attempted to get item with non-numeric key while " .
+ "the next item in the queue has a key ($itemKey) in " . __METHOD__ );
} elseif ( is_null( $itemKey ) ) {
wfWarn( "Attempted to get an item while the queue is empty in " . __METHOD__ );
} else {
*/
public function saveCache() {
if ( $this->cacheEnabled && $this->hasCached === false && !empty( $this->cachedChunks ) ) {
- wfGetCache( CACHE_ANYTHING )->set( $this->getCacheKeyString(), $this->cachedChunks, $this->cacheExpiry );
+ wfGetCache( CACHE_ANYTHING )->set(
+ $this->getCacheKeyString(),
+ $this->cachedChunks,
+ $this->cacheExpiry
+ );
}
}
public function setOnInitializedHandler( $handlerFunction ) {
$this->onInitHandler = $handlerFunction;
}
-
}
* like to refresh link counts, the objects will be appropriately reinitialized.
* Member variables are lazy-initialized.
*
- * TODO: Move some stuff from CategoryPage.php to here, and use that.
+ * @todo Move some stuff from CategoryPage.php to here, and use that.
*/
class Category {
/** Name of the category, normalized to DB-key form */
if ( !$row ) {
# Okay, there were no contents. Nothing to initialize.
if ( $this->mTitle ) {
- # If there is a title object but no record in the category table, treat this as an empty category
+ # If there is a title object but no record in the category table,
+ # treat this as an empty category.
$this->mID = false;
$this->mName = $this->mTitle->getDBkey();
$this->mPages = 0;
/**
* Factory function, for constructing a Category object from a result set
*
- * @param $row result set row, must contain the cat_xxx fields. If the fields are null,
- * the resulting Category object will represent an empty category if a title object
- * was given. If the fields are null and no title was given, this method fails and returns false.
- * @param Title $title optional title object for the category represented by the given row.
- * May be provided if it is already known, to avoid having to re-create a title object later.
+ * @param $row Result set row, must contain the cat_xxx fields. If the
+ * fields are null, the resulting Category object will represent an empty
+ * category if a title object was given. If the fields are null and no
+ * title was given, this method fails and returns false.
+ * @param Title $title optional title object for the category represented by
+ * the given row. May be provided if it is already known, to avoid having
+ * to re-create a title object later.
* @return Category
*/
public static function newFromRow( $row, $title = null ) {
# but we can't know that here...
return false;
} else {
- $cat->mName = $title->getDBkey(); # if we have a title object, fetch the category name from there
+ # if we have a title object, fetch the category name from there
+ $cat->mName = $title->getDBkey();
}
$cat->mID = false;
* @param array $until An array with 3 keys for until of each section (since 1.17)
* @param $query Array
*/
- function __construct( $title, IContextSource $context, $from = array(), $until = array(), $query = array() ) {
+ function __construct( $title, IContextSource $context, $from = array(),
+ $until = array(), $query = array()
+ ) {
global $wgCategoryPagingLimit;
$this->title = $title;
$this->setContext( $context );
$countmsg = $this->getCountMessage( $rescnt, $dbcnt, 'file' );
$r .= "<div id=\"mw-category-media\">\n";
- $r .= '<h2>' . $this->msg( 'category-media-header', wfEscapeWikiText( $this->title->getText() ) )->text() . "</h2>\n";
+ $r .= '<h2>' .
+ $this->msg(
+ 'category-media-header',
+ wfEscapeWikiText( $this->title->getText() )
+ )->text() .
+ "</h2>\n";
$r .= $countmsg;
$r .= $this->getSectionPagingLinks( 'file' );
if ( $this->showGallery ) {
private function getSectionPagingLinks( $type ) {
if ( isset( $this->until[$type] ) && $this->until[$type] !== null ) {
return $this->pagingLinks( $this->nextPage[$type], $this->until[$type], $type );
- } elseif ( $this->nextPage[$type] !== null || ( isset( $this->from[$type] ) && $this->from[$type] !== null ) ) {
+ } elseif ( $this->nextPage[$type] !== null
+ || ( isset( $this->from[$type] ) && $this->from[$type] !== null )
+ ) {
return $this->pagingLinks( $this->from[$type], $this->nextPage[$type], $type );
} else {
return '';
static function shortList( $articles, $articles_start_char ) {
$r = '<h3>' . htmlspecialchars( $articles_start_char[0] ) . "</h3>\n";
$r .= '<ul><li>' . $articles[0] . '</li>';
- for ( $index = 1; $index < count( $articles ); $index++ ) {
+ $articleCount = count( $articles );
+ for ( $index = 1; $index < $articleCount; $index++ ) {
if ( $articles_start_char[$index] != $articles_start_char[$index - 1] ) {
$r .= "</ul><h3>" . htmlspecialchars( $articles_start_char[$index] ) . "</h3>\n<ul>";
}
*/
class ChangeTags {
-
/**
* Creates HTML for the given tags
*
* @param string $tags Comma-separated list of tags
* @param string $page A label for the type of action which is being displayed,
- * for example: 'history', 'contributions' or 'newpages'
- *
- * @return Array with two items: (html, classes)
- * - html: String: HTML for displaying the tags (empty string when param $tags is empty)
- * - classes: Array of strings: CSS classes used in the generated html, one class for each tag
- *
+ * for example: 'history', 'contributions' or 'newpages'
+ * @return array Array with two items: (html, classes)
+ * - html: String: HTML for displaying the tags (empty string when param $tags is empty)
+ * - classes: Array of strings: CSS classes used in the generated html, one class for each tag
*/
public static function formatSummaryRow( $tags, $page ) {
global $wgLang;
*
* @exception MWException when $rc_id, $rev_id and $log_id are all null
*/
- public static function addTags( $tags, $rc_id = null, $rev_id = null, $log_id = null, $params = null ) {
+ public static function addTags( $tags, $rc_id = null, $rev_id = null,
+ $log_id = null, $params = null
+ ) {
if ( !is_array( $tags ) ) {
$tags = array( $tags );
}
// Might as well look for rcids and so on.
if ( !$rc_id ) {
- $dbr = wfGetDB( DB_MASTER ); // Info might be out of date, somewhat fractionally, on slave.
+ // Info might be out of date, somewhat fractionally, on slave.
+ $dbr = wfGetDB( DB_MASTER );
if ( $log_id ) {
- $rc_id = $dbr->selectField( 'recentchanges', 'rc_id', array( 'rc_logid' => $log_id ), __METHOD__ );
+ $rc_id = $dbr->selectField(
+ 'recentchanges',
+ 'rc_id',
+ array( 'rc_logid' => $log_id ),
+ __METHOD__
+ );
} elseif ( $rev_id ) {
- $rc_id = $dbr->selectField( 'recentchanges', 'rc_id', array( 'rc_this_oldid' => $rev_id ), __METHOD__ );
+ $rc_id = $dbr->selectField(
+ 'recentchanges',
+ 'rc_id',
+ array( 'rc_this_oldid' => $rev_id ),
+ __METHOD__
+ );
}
} elseif ( !$log_id && !$rev_id ) {
- $dbr = wfGetDB( DB_MASTER ); // Info might be out of date, somewhat fractionally, on slave.
- $log_id = $dbr->selectField( 'recentchanges', 'rc_logid', array( 'rc_id' => $rc_id ), __METHOD__ );
- $rev_id = $dbr->selectField( 'recentchanges', 'rc_this_oldid', array( 'rc_id' => $rc_id ), __METHOD__ );
+ // Info might be out of date, somewhat fractionally, on slave.
+ $dbr = wfGetDB( DB_MASTER );
+ $log_id = $dbr->selectField(
+ 'recentchanges',
+ 'rc_logid',
+ array( 'rc_id' => $rc_id ),
+ __METHOD__
+ );
+ $rev_id = $dbr->selectField(
+ 'recentchanges',
+ 'rc_this_oldid',
+ array( 'rc_id' => $rc_id ),
+ __METHOD__
+ );
}
- $tsConds = array_filter( array( 'ts_rc_id' => $rc_id, 'ts_rev_id' => $rev_id, 'ts_log_id' => $log_id ) );
+ $tsConds = array_filter( array(
+ 'ts_rc_id' => $rc_id,
+ 'ts_rev_id' => $rev_id,
+ 'ts_log_id' => $log_id )
+ );
## Update the summary row.
$prevTags = $dbr->selectField( 'tag_summary', 'ts_tags', $tsConds, __METHOD__ );
* - if $fullForm is false: Array with
* - if $fullForm is true: String, html fragment
*/
- public static function buildTagFilterSelector( $selected = '', $fullForm = false, Title $title = null ) {
+ public static function buildTagFilterSelector( $selected = '',
+ $fullForm = false, Title $title = null
+ ) {
global $wgUseTagFilter;
if ( !$wgUseTagFilter || !count( self::listDefinedTags() ) ) {
return $fullForm ? '' : array();
}
- $data = array( Html::rawElement( 'label', array( 'for' => 'tagfilter' ), wfMessage( 'tag-filter' )->parse() ),
- Xml::input( 'tagfilter', 20, $selected, array( 'class' => 'mw-tagfilter-input', 'id' => 'tagfilter' ) ) );
+ $data = array(
+ Html::rawElement(
+ 'label',
+ array( 'for' => 'tagfilter' ),
+ wfMessage( 'tag-filter' )->parse()
+ ),
+ Xml::input(
+ 'tagfilter',
+ 20,
+ $selected,
+ array( 'class' => 'mw-tagfilter-input', 'id' => 'tagfilter' )
+ )
+ );
if ( !$fullForm ) {
return $data;
}
$html = implode( ' ', $data );
- $html .= "\n" . Xml::element( 'input', array( 'type' => 'submit', 'value' => wfMessage( 'tag-filter-submit' )->text() ) );
+ $html .= "\n" .
+ Xml::element(
+ 'input',
+ array( 'type' => 'submit', 'value' => wfMessage( 'tag-filter-submit' )->text() )
+ );
$html .= "\n" . Html::hidden( 'title', $title->getPrefixedText() );
- $html = Xml::tags( 'form', array( 'action' => $title->getLocalURL(), 'class' => 'mw-tagfilter-form', 'method' => 'get' ), $html );
+ $html = Xml::tags(
+ 'form',
+ array( 'action' => $title->getLocalURL(), 'class' => 'mw-tagfilter-form', 'method' => 'get' ),
+ $html
+ );
return $html;
}
*/
$wgCookieHttpOnly = true;
-/**
- * If the requesting browser matches a regex in this blacklist, we won't
- * send it cookies with HttpOnly mode, even if $wgCookieHttpOnly is on.
- */
-$wgHttpOnlyBlacklist = array(
- // Internet Explorer for Mac; sometimes the cookies work, sometimes
- // they don't. It's difficult to predict, as combinations of path
- // and expiration options affect its parsing.
- '/^Mozilla\/4\.0 \(compatible; MSIE \d+\.\d+; Mac_PowerPC\)/',
-);
-
/**
* A list of cookies that vary the cache (for use by extensions)
*/
* @since 1.20
*/
$wgGitRepositoryViewers = array(
- 'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' => 'https://git.wikimedia.org/commit/%r/%H',
- 'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)'
- => 'https://git.wikimedia.org/commit/%r/%H',
+ 'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
+ 'https://git.wikimedia.org/commit/%r/%H',
+ 'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
+ 'https://git.wikimedia.org/commit/%r/%H',
);
/** @} */ # End of maintenance }
*/
$wgRightsIcon = null;
-/**
- * Set to an array of metadata terms. Else they will be loaded based on $wgRightsUrl
- */
-$wgLicenseTerms = false;
-
/**
* Set this to some HTML to override the rights icon with an arbitrary logo
* @deprecated since 1.18 Use $wgFooterIcons['copyright']['copyright']
* headaches, which may be fatal.
*/
class EditPage {
-
/**
* Status: Article successfully updated
*/
}
# Try to add a custom edit intro, or use the standard one if this is not possible.
if ( !$this->showCustomIntro() && !$this->mTitle->exists() ) {
- $helpLink = Skin::makeInternalOrExternalUrl(
+ $helpLink = wfExpandUrl( Skin::makeInternalOrExternalUrl(
wfMessage( 'helppage' )->inContentLanguage()->text()
- );
+ ) );
if ( $wgUser->isLoggedIn() ) {
$wgOut->wrapWikiMsg(
// Suppress the external link icon, consider the help url an internal one
$wgOut->addReturnTo( $this->getContextTitle(), array( 'action' => 'edit' ) );
}
- /**
- * Format an anchor fragment as it would appear for a given section name
- * @param $text String
- * @return String
- * @private
- */
- function sectionAnchor( $text ) {
- global $wgParser;
- return $wgParser->guessSectionNameFromWikiText( $text );
- }
-
/**
* Check if the browser is on a blacklist of user-agents known to
* mangle UTF-8 data on form submission. Returns true if Unicode
* should make it through, false if it's known to be a problem.
* @return bool
- * @private
*/
- function checkUnicodeCompliantBrowser() {
+ private function checkUnicodeCompliantBrowser() {
global $wgBrowserBlackList, $wgRequest;
$currentbrowser = $wgRequest->getHeader( 'User-Agent' );
* Filter an input field through a Unicode de-armoring process if it
* came from an old browser with known broken Unicode editing issues.
*
- * @param $request WebRequest
- * @param $field String
- * @return String
- * @private
- */
- function safeUnicodeInput( $request, $field ) {
- $text = rtrim( $request->getText( $field ) );
- return $request->getBool( 'safemode' )
- ? $this->unmakesafe( $text )
- : $text;
- }
-
- /**
- * @param $request WebRequest
- * @param $text string
+ * @param WebRequest $request
+ * @param string $field
* @return string
*/
- function safeUnicodeText( $request, $text ) {
- $text = rtrim( $text );
+ protected function safeUnicodeInput( $request, $field ) {
+ $text = rtrim( $request->getText( $field ) );
return $request->getBool( 'safemode' )
- ? $this->unmakesafe( $text )
+ ? $this->unmakeSafe( $text )
: $text;
}
* Filter an output field through a Unicode armoring process if it is
* going to an old browser with known broken Unicode editing issues.
*
- * @param $text String
- * @return String
- * @private
+ * @param string $text
+ * @return string
*/
- function safeUnicodeOutput( $text ) {
+ protected function safeUnicodeOutput( $text ) {
global $wgContLang;
$codedText = $wgContLang->recodeForEdit( $text );
return $this->checkUnicodeCompliantBrowser()
? $codedText
- : $this->makesafe( $codedText );
+ : $this->makeSafe( $codedText );
}
/**
* Preexisting such character references will have a 0 added to them
* to ensure that round-trips do not alter the original data.
*
- * @param $invalue String
- * @return String
- * @private
+ * @param string $invalue
+ * @return string
*/
- function makesafe( $invalue ) {
+ private function makeSafe( $invalue ) {
// Armor existing references for reversibility.
$invalue = strtr( $invalue, array( "&#x" => "�" ) );
* back to UTF-8. Used to protect data from corruption by broken web browsers
* as listed in $wgBrowserBlackList.
*
- * @param $invalue String
- * @return String
- * @private
+ * @param string $invalue
+ * @return string
*/
- function unmakesafe( $invalue ) {
+ private function unmakeSafe( $invalue ) {
$result = "";
- for ( $i = 0; $i < strlen( $invalue ); $i++ ) {
+ $valueLength = strlen( $invalue );
+ for ( $i = 0; $i < $valueLength; $i++ ) {
if ( ( substr( $invalue, $i, 3 ) == "&#x" ) && ( $invalue[$i + 3] != '0' ) ) {
$i += 3;
$hexstring = "";
*
* @param $row object
* @return string
- * @access private
*/
- function openPage( $row ) {
+ public function openPage( $row ) {
$out = " <page>\n";
$title = Title::makeTitle( $row->page_namespace, $row->page_title );
$out .= ' ' . Xml::elementClean( 'title', array(), self::canonicalTitle( $title ) ) . "\n";
$page = WikiPage::factory( $title );
$redirect = $page->getRedirectTarget();
if ( $redirect instanceof Title && $redirect->isValidRedirectTarget() ) {
- $out .= ' ' . Xml::element( 'redirect', array( 'title' => self::canonicalTitle( $redirect ) ) ) . "\n";
+ $out .= ' ';
+ $out .= Xml::element( 'redirect', array( 'title' => self::canonicalTitle( $redirect ) ) );
+ $out .= "\n";
}
}
"" ) . "\n";
}
- if ( isset( $row->rev_sha1 ) && $row->rev_sha1 && !( $row->rev_deleted & Revision::DELETED_TEXT ) ) {
+ if ( isset( $row->rev_sha1 )
+ && $row->rev_sha1
+ && !( $row->rev_deleted & Revision::DELETED_TEXT )
+ ) {
$out .= " " . Xml::element( 'sha1', null, strval( $row->rev_sha1 ) ) . "\n";
} else {
$out .= " <sha1/>\n";
}
/**
- * @param $file File
+ * @param File $file
* @param $dumpContents bool
* @return string
*/
$be = $file->getRepo()->getBackend();
# Dump file as base64
# Uses only XML-safe characters, so does not need escaping
- # @TODO: too bad this loads the contents into memory (script might swap)
+ # @todo Too bad this loads the contents into memory (script might swap)
$contents = ' <contents encoding="base64">' .
chunk_split( base64_encode(
$be->getFileContents( array( 'src' => $file->getPath() ) ) ) ) .
* Use this for the last piece of a file written out
* at specified checkpoints (e.g. every n hours).
* @param $newname mixed File name. May be a string or an array with one element
- * @param bool $open If true, a new file with the old filename will be opened again for writing (default: false)
+ * @param bool $open If true, a new file with the old filename will be opened
+ * again for writing (default: false)
*/
function closeAndRename( $newname, $open = false ) {
}
* XXX: will not darn your socks for you.
*
* @deprecated since 1.22; use array_replace()
- * @param $array1 Array
- * @param [$array2, [...]] Arrays
- * @return Array
+ *
+ * @param array $array1 Initial array to merge.
+ * @param array [$array2,...] Variable list of arrays to merge.
+ * @return array
*/
-function wfArrayMerge( $array1/* ... */ ) {
+function wfArrayMerge( $array1 /*...*/ ) {
wfDeprecated( __FUNCTION__, '1.22' );
$args = func_get_args();
$args = array_reverse( $args, true );
* array( 'x' ),
* array( 'y' )
* )
- * @param varargs
- * @return Array
+ *
+ * @param array [$array1,...]
+ * @return array
*/
function wfMergeErrorArrays( /*...*/ ) {
$args = func_get_args();
* arrays. Of course, keys and values are urldecode()d.
*
* @param string $query query string
- * @return array Array version of input
+ * @return string[] Array version of input
*/
function wfCgiToArray( $query ) {
if ( isset( $query[0] ) && $query[0] == '?' ) {
* Append a query string to an existing URL, which may or may not already
* have query string parameters already. If so, they will be combined.
*
- * @param $url String
- * @param $query Mixed: string or associative array
+ * @param string $url
+ * @param string|string[] $query String or associative array
* @return string
*/
function wfAppendQuery( $url, $query ) {
* 3) Adds a "delimiter" element to the array, either '://', ':' or '//' (see (2)).
*
* @param string $url a URL to parse
- * @return Array: bits of the URL in an associative array, per PHP docs
+ * @return string[] Bits of the URL in an associative array, per PHP docs
*/
function wfParseUrl( $url ) {
global $wgUrlProtocols; // Allow all protocols defined in DefaultSettings/LocalSettings.php
*
* This function replaces all old wfMsg* functions.
*
- * @param $key \string Message key.
- * Varargs: normal message parameters.
+ * @param string $key Message key
+ * @param mixed [$params,...] Normal message parameters
* @return Message
+ *
* @since 1.17
+ *
+ * @see Message::__construct
*/
-function wfMessage( $key /*...*/) {
+function wfMessage( $key /*...*/ ) {
$params = func_get_args();
array_shift( $params );
if ( isset( $params[0] ) && is_array( $params[0] ) ) {
* This function accepts multiple message keys and returns a message instance
* for the first message which is non-empty. If all messages are empty then an
* instance of the first message key is returned.
- * @param varargs: message keys
+ *
+ * @param string|string[] [$keys,...] Message keys
* @return Message
+ *
* @since 1.18
+ *
+ * @see Message::newFallbackSequence
*/
function wfMessageFallback( /*...*/ ) {
$args = func_get_args();
* @deprecated since 1.18
*
* @param string $key key to get.
- * @param $args
- * @param $useDB Boolean
- * @param $forContent Mixed: Language code, or false for user lang, true for content lang.
- * @param $transform Boolean: Whether or not to transform the message.
- * @return String: the requested message.
+ * @param array $args
+ * @param bool $useDB
+ * @param string|bool $forContent Language code, or false for user lang, true for content lang.
+ * @param bool $transform Whether or not to transform the message.
+ * @return string The requested message.
*/
function wfMsgReal( $key, $args, $useDB = true, $forContent = false, $transform = true ) {
wfDeprecated( __METHOD__, '1.21' );
*
* @deprecated since 1.18
*
- * @param $key String
- * @param $useDB Bool
- * @param string $langCode Code of the language to get the message for, or
+ * @param string $key
+ * @param bool $useDB
+ * @param string|bool $langCode Code of the language to get the message for, or
* behaves as a content language switch if it is a boolean.
- * @param $transform Boolean: whether to parse magic words, etc.
+ * @param bool $transform Whether to parse magic words, etc.
* @return string
*/
function wfMsgGetKey( $key, $useDB = true, $langCode = false, $transform = true ) {
/**
* Replace message parameter keys on the given formatted output.
*
- * @param $message String
- * @param $args Array
+ * @param string $message
+ * @param array $args
* @return string
* @private
*/
*
* @deprecated since 1.18
*
- * @param $key String
- * @param string ... parameters
+ * @param string $key
+ * @param string [$args,...] Parameters
* @return string
*/
function wfMsgHtml( $key ) {
*
* @deprecated since 1.18
*
- * @param $key String
- * @param string ... parameters
+ * @param string $key
+ * @param string [$args,...] Parameters
* @return string
*/
function wfMsgWikiHtml( $key ) {
*
* @deprecated since 1.18. Use Message::isDisabled().
*
- * @param $key String: the message key looked up
- * @return Boolean True if the message *doesn't* exist.
+ * @param string $key The message key looked up
+ * @return bool True if the message *doesn't* exist.
*/
function wfEmptyMsg( $key ) {
wfDeprecated( __METHOD__, '1.21' );
/**
* @todo document
*
- * @param $offset Int
- * @param $limit Int
- * @return String
+ * @param int $offset
+ * @param int $limit
+ * @return string
*/
function wfShowingResults( $offset, $limit ) {
return wfMessage( 'showingresults' )->numParams( $limit, $offset + 1 )->parse();
/**
* Generate (prev x| next x) (20|50|100...) type links for paging
*
- * @param $offset String
- * @param $limit Integer
- * @param $link String
+ * @param string $offset
+ * @param int $limit
+ * @param string $link
* @param string $query optional URL query parameter string
* @param bool $atend optional param for specified if this is the last page
- * @return String
+ * @return string
* @deprecated in 1.19; use Language::viewPrevNext() instead
*/
function wfViewPrevNext( $offset, $limit, $link, $query = '', $atend = false ) {
* @todo document
* @todo FIXME: We may want to blacklist some broken browsers
*
- * @param $force Bool
+ * @param bool $force
* @return bool Whereas client accept gzip compression
*/
function wfClientAcceptsGzip( $force = false ) {
* Converts an Accept-* header into an array mapping string values to quality
* factors
*
- * @param $accept String
+ * @param string $accept
* @param string $def default
- * @return Array
+ * @return float[] Associative array of string => float pairs
*/
function wfAcceptToPrefs( $accept, $def = '*/*' ) {
# No arg means accept anything (per HTTP spec)
* Returns the matching MIME type (or wildcard) if a match, otherwise
* NULL if no match.
*
- * @param $type String
- * @param $avail Array
+ * @param string $type
+ * @param array $avail
* @return string
* @private
*/
* Return a formatted timestamp, or null if input is null.
* For dealing with nullable timestamp columns in the database.
*
- * @param $outputtype Integer
- * @param $ts String
- * @return String
+ * @param int $outputtype
+ * @param string $ts
+ * @return string
*/
function wfTimestampOrNull( $outputtype = TS_UNIX, $ts = null ) {
if ( is_null( $ts ) ) {
/**
* Check if the operating system is Windows
*
- * @return Bool: true if it's Windows, False otherwise.
+ * @return bool True if it's Windows, false otherwise.
*/
function wfIsWindows() {
static $isWindows = null;
/**
* Check if we are running under HHVM
*
- * @return Bool
+ * @return bool
*/
function wfIsHHVM() {
return defined( 'HHVM_VERSION' );
/**
* Swap two variables
*
- * @param $x Mixed
- * @param $y Mixed
+ * @param mixed $x
+ * @param mixed $y
*/
function swap( &$x, &$y ) {
$z = $x;
* NOTE: When possible, use instead the tmpfile() function to create
* temporary files to avoid race conditions on file creation, etc.
*
- * @return String
+ * @return string
*/
function wfTempDir() {
global $wgTmpDirectory;
* Make directory, and make all parent directories if they don't exist
*
* @param string $dir full path to directory to create
- * @param $mode Integer: chmod value to use, default is $wgDirectoryMode
+ * @param int $mode Chmod value to use, default is $wgDirectoryMode
* @param string $caller optional caller param for debugging.
* @throws MWException
* @return bool
}
/**
- * @param $nr Mixed: the number to format
- * @param $acc Integer: the number of digits after the decimal point, default 2
- * @param $round Boolean: whether or not to round the value, default true
- * @return float
+ * @param number $nr The number to format
+ * @param int $acc The number of digits after the decimal point, default 2
+ * @param bool $round Whether or not to round the value, default true
+ * @return string
*/
function wfPercent( $nr, $acc = 2, $round = true ) {
$ret = sprintf( "%.${acc}f", $nr );
*
* I frickin' hate PHP... :P
*
- * @param $setting String
- * @return Bool
+ * @param string $setting
+ * @return bool
*/
function wfIniGetBool( $setting ) {
$val = strtolower( ini_get( $setting ) );
* Also fixes the locale problems on Linux in PHP 5.2.6+ (bug backported to
* earlier distro releases of PHP)
*
- * @param varargs
- * @return String
+ * @param string [$args,...]
+ * @return string
*/
-function wfEscapeShellArg() {
+function wfEscapeShellArg( /*...*/ ) {
wfInitShellLocale();
$args = func_get_args();
/**
* Check if wfShellExec() is effectively disabled via php.ini config
+ *
* @return bool|string False or one of (safemode,disabled)
* @since 1.22
*/
/**
* Execute a shell command, with time and memory limits mirrored from the PHP
* configuration if supported.
+ *
* @param string $cmd Command line, properly escaped for shell.
* @param &$retval null|Mixed optional, will receive the program's exit code.
* (non-zero is usually failure). If there is an error from
/**
* Alias to wfShellWikiCmd()
+ *
* @see wfShellWikiCmd()
*/
function wfShellMaintenanceCmd( $script, array $parameters = array(), array $options = array() ) {
* Generate a shell-escaped command line string to run a MediaWiki cli script.
* Note that $parameters should be a flat array and an option with an argument
* should consist of two consecutive items in the array (do not use "--option value").
+ *
* @param string $script MediaWiki cli script path
* @param array $parameters Arguments and options to the script
* @param array $options Associative array of options:
* 'php': The path to the php executable
* 'wrapper': Path to a PHP wrapper to handle the maintenance script
- * @return Array
+ * @return string
*/
function wfShellWikiCmd( $script, array $parameters = array(), array $options = array() ) {
global $wgPhpCli;
* wfMerge attempts to merge differences between three texts.
* Returns true for a clean merge and false for failure or a conflict.
*
- * @param $old String
- * @param $mine String
- * @param $yours String
- * @param $result String
- * @return Bool
+ * @param string $old
+ * @param string $mine
+ * @param string $yours
+ * @param string $result
+ * @return bool
*/
function wfMerge( $old, $mine, $yours, &$result ) {
global $wgDiff3;
* @param string $before the text before the changes.
* @param string $after the text after the changes.
* @param string $params command-line options for the diff command.
- * @return String: unified diff of $before and $after
+ * @return string Unified diff of $before and $after
*/
function wfDiff( $before, $after, $params = '-u' ) {
if ( $before == $after ) {
*
* @see perldoc -f use
*
- * @param $req_ver Mixed: the version to check, can be a string, an integer, or
+ * @param string|number $req_ver The version to check, can be a string, an integer, or
* a float
* @throws MWException
*/
*
* @see perldoc -f use
*
- * @param $req_ver Mixed: the version to check, can be a string, an integer, or
+ * @param string|number $req_ver The version to check, can be a string, an integer, or
* a float
* @throws MWException
*/
* PHP's basename() only considers '\' a pathchar on Windows and Netware.
* We'll consider it so always, as we don't want '\s' in our Unix paths either.
*
- * @param $path String
+ * @param string $path
* @param string $suffix to remove if present
- * @return String
+ * @return string
*/
function wfBaseName( $path, $suffix = '' ) {
if ( $suffix == '' ) {
*
* @param string $path absolute destination path including target filename
* @param string $from Absolute source path, directory only
- * @return String
+ * @return string
*/
function wfRelativePath( $path, $from ) {
// Normalize mixed input on Windows...
return str_pad( $result, $pad, '0', STR_PAD_LEFT );
}
-/**
- * @return bool
- */
-function wfHttpOnlySafe() {
- global $wgHttpOnlyBlacklist;
-
- if ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) {
- foreach ( $wgHttpOnlyBlacklist as $regex ) {
- if ( preg_match( $regex, $_SERVER['HTTP_USER_AGENT'] ) ) {
- return false;
- }
- }
- }
-
- return true;
-}
-
/**
* Check if there is sufficient entropy in php's built-in session generation
+ *
* @return bool true = there is sufficient entropy
*/
function wfCheckEntropy() {
/**
* Reset the session_id
+ *
* @since 1.22
*/
function wfResetSessionID() {
/**
* Initialise php session
*
- * @param $sessionId Bool
+ * @param bool $sessionId
*/
function wfSetupSession( $sessionId = false ) {
global $wgSessionsInMemcached, $wgSessionsInObjectCache, $wgCookiePath, $wgCookieDomain,
# hasn't already been set to the desired value (that causes errors)
ini_set( 'session.save_handler', $wgSessionHandler );
}
- $httpOnlySafe = wfHttpOnlySafe() && $wgCookieHttpOnly;
- wfDebugLog( 'cookie',
- 'session_set_cookie_params: "' . implode( '", "',
- array(
- 0,
- $wgCookiePath,
- $wgCookieDomain,
- $wgCookieSecure,
- $httpOnlySafe ) ) . '"' );
- session_set_cookie_params( 0, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $httpOnlySafe );
+ session_set_cookie_params(
+ 0, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $wgCookieHttpOnly );
session_cache_limiter( 'private, must-revalidate' );
if ( $sessionId ) {
session_id( $sessionId );
/**
* Get an object from the precompiled serialized directory
*
- * @param $name String
- * @return Mixed: the variable on success, false on failure
+ * @param string $name
+ * @return mixed The variable on success, false on failure
*/
function wfGetPrecompiledData( $name ) {
global $IP;
/**
* Get a cache key
*
- * @param varargs
- * @return String
+ * @param string [$args,...]
+ * @return string
*/
-function wfMemcKey( /*... */ ) {
+function wfMemcKey( /*...*/ ) {
global $wgCachePrefix;
$prefix = $wgCachePrefix === false ? wfWikiID() : $wgCachePrefix;
$args = func_get_args();
/**
* Get a cache key for a foreign DB
*
- * @param $db String
- * @param $prefix String
- * @param varargs String
- * @return String
+ * @param string $db
+ * @param string $prefix
+ * @param string [$args,...]
+ * @return string
*/
-function wfForeignMemcKey( $db, $prefix /*, ... */ ) {
+function wfForeignMemcKey( $db, $prefix /*...*/ ) {
$args = array_slice( func_get_args(), 2 );
if ( $prefix ) {
$key = "$db-$prefix:" . implode( ':', $args );
* Get an ASCII string identifying this wiki
* This is used as a prefix in memcached keys
*
- * @return String
+ * @return string
*/
function wfWikiID() {
global $wgDBprefix, $wgDBname;
/**
* Split a wiki ID into DB name and table prefix
*
- * @param $wiki String
+ * @param string $wiki
*
* @return array
*/
/**
* Get a Database object.
*
- * @param $db Integer: index of the connection to get. May be DB_MASTER for the
+ * @param int $db Index of the connection to get. May be DB_MASTER for the
* master (for write queries), DB_SLAVE for potentially lagged read
* queries, or an integer >= 0 for a particular server.
*
- * @param $groups Mixed: query groups. An array of group names that this query
+ * @param string|string[] $groups Query groups. An array of group names that this query
* belongs to. May contain a single string if the query is only
* in one group.
*
- * @param string $wiki the wiki ID, or false for the current wiki
+ * @param string|bool $wiki The wiki ID, or false for the current wiki
*
* Note: multiple calls to wfGetDB(DB_SLAVE) during the course of one request
* will always return the same object, unless the underlying connection or load
/**
* Get a load balancer object.
*
- * @param string $wiki wiki ID, or false for the current wiki
+ * @param string|bool $wiki wiki ID, or false for the current wiki
* @return LoadBalancer
*/
function wfGetLB( $wiki = false ) {
* Get an object referring to a locally registered file.
* Returns a valid placeholder object if the file does not exist.
*
- * @param $title Title|String
+ * @param Title|string $title
* @return LocalFile|null A File, or null if passed an invalid Title
*/
function wfLocalFile( $title ) {
/**
* Should low-performance queries be disabled?
*
- * @return Boolean
+ * @return bool
* @codeCoverageIgnore
*/
function wfQueriesMustScale() {
* except for 'index' and 'load' which use $wgScript/$wgLoadScript
*
* @param string $script script filename, sans extension
- * @return String
+ * @return string
*/
function wfScript( $script = 'index' ) {
global $wgScriptPath, $wgScriptExtension, $wgScript, $wgLoadScript;
* Convenience function converts boolean values into "true"
* or "false" (string) values
*
- * @param $value Boolean
- * @return String
+ * @param bool $value
+ * @return string
*/
function wfBoolToStr( $value ) {
return $value ? 'true' : 'false';
* a no-op if there are no slaves.
*
* @param int|bool $maxLag (deprecated)
- * @param mixed $wiki Wiki identifier accepted by wfGetLB
+ * @param string|bool $wiki Wiki identifier accepted by wfGetLB
* @param string|bool $cluster Cluster name accepted by LBFactory. Default: false.
*/
function wfWaitForSlaves( $maxLag = false, $wiki = false, $cluster = false ) {
}
/**
- * Count down from $n to zero on the terminal, with a one-second pause
+ * Count down from $seconds to zero on the terminal, with a one-second pause
* between showing each number. For use in command-line scripts.
+ *
* @codeCoverageIgnore
- * @param $n int
+ * @param int $seconds
*/
-function wfCountDown( $n ) {
- for ( $i = $n; $i >= 0; $i-- ) {
- if ( $i != $n ) {
+function wfCountDown( $seconds ) {
+ for ( $i = $seconds; $i >= 0; $i-- ) {
+ if ( $i != $seconds ) {
echo str_repeat( "\x08", strlen( $i + 1 ) );
}
echo $i;
* Additional characters can be defined in $wgIllegalFileChars (see bug 20489)
* By default, $wgIllegalFileChars = ':'
*
- * @param $name Mixed: filename to process
- * @return String
+ * @param string $name Filename to process
+ * @return string
*/
function wfStripIllegalFilenameChars( $name ) {
global $wgIllegalFileChars;
/**
* Set PHP's memory limit to the larger of php.ini or $wgMemoryLimit;
*
- * @return Integer value memory was set to.
+ * @return int Value the memory limit was set to.
*/
function wfMemoryLimit() {
global $wgMemoryLimit;
/**
* Converts shorthand byte notation to integer form
*
- * @param $string String
- * @return Integer
+ * @param string $string
+ * @return int
*/
function wfShorthandToInteger( $string = '' ) {
$string = trim( $string );
* See unit test for examples.
*
* @param string $code The language code.
- * @return String: The language code which complying with BCP 47 standards.
+ * @return string The language code which complying with BCP 47 standards.
*/
function wfBCP47( $code ) {
$codeSegment = explode( '-', $code );
* @param array $args parameters passed to hook functions
* @param string|null $deprecatedVersion optionally mark hook as deprecated with version number
*
- * @return Boolean True if no handler aborted the hook
+ * @return bool True if no handler aborted the hook
*/
function wfRunHooks( $event, array $args = array(), $deprecatedVersion = null ) {
return Hooks::run( $event, $args, $deprecatedVersion );
* Wrapper around php's unpack.
*
* @param string $format The format string (See php's docs)
- * @param $data: A binary string of binary data
- * @param $length integer or false: The minimum length of $data. This is to
+ * @param string $data A binary string of binary data
+ * @param int|bool $length The minimum length of $data or false. This is to
* prevent reading beyond the end of $data. false to disable the check.
*
* Also be careful when using this function to read unsigned 32 bit integer
* i.e. articles where the image may occur inline.
*
* @param string $name the image name to check
- * @param $contextTitle Title|bool the page on which the image occurs, if known
+ * @param Title|bool $contextTitle The page on which the image occurs, if known
* @param string $blacklist wikitext of a file blacklist
* @return bool
*/
* Useful to tell if X-Forwarded-For data is possibly bogus.
* Squid cache servers for the site are whitelisted.
*
- * @param $ip String
+ * @param string $ip
* @return bool
*/
function wfIsTrustedProxy( $ip ) {
/**
* Checks if an IP matches a proxy we've configured.
- * @param $ip String
+ *
+ * @param string $ip
* @return bool
* @since 1.23 Supports CIDR ranges in $wgSquidServersNoPurge
*/
* for primarily page content: links, embedded images, table of contents. Links
* are also used in the skin.
*
+ * @todo: turn this into a legacy interface for HtmlPageLinkRenderer and similar services.
+ *
* @ingroup Skins
*/
class Linker {
private $mTarget = null;
/**
- * @var bool: Whether output should contain table of contents
+ * @var bool: Whether parser output should contain table of contents
*/
private $mEnableTOC = true;
+ /**
+ * @var bool: Whether parser output should contain section edit links
+ */
+ private $mEnableSectionEditLinks = true;
+
/**
* Constructor for OutputPage. This should not be called directly.
* Instead a new RequestContext should be created and it will implicitly create
function addParserOutput( &$parserOutput ) {
$this->addParserOutputNoText( $parserOutput );
$parserOutput->setTOCEnabled( $this->mEnableTOC );
+
+ // Touch section edit links only if not previously disabled
+ if ( $parserOutput->getEditSectionTokens() ) {
+ $parserOutput->setEditSectionTokens( $this->mEnableSectionEditLinks );
+ }
$text = $parserOutput->getText();
wfRunHooks( 'OutputPageBeforeHTML', array( &$this, &$text ) );
$this->addHTML( $text );
public function isTOCEnabled() {
return $this->mEnableTOC;
}
+
+ /**
+ * Enables/disables section edit links, doesn't override __NOEDITSECTION__
+ * @param bool $flag
+ * @since 1.23
+ */
+ public function enableSectionEditLinks( $flag = true ) {
+ $this->mEnableSectionEditLinks = $flag;
+ }
+
+ /**
+ * @return bool
+ * @since 1.23
+ */
+ public function sectionEditLinksEnabled() {
+ return $this->mEnableSectionEditLinks;
+ }
}
* Optionally may contain an interwiki designation or namespace.
* @note This class can fetch various kinds of data from the database;
* however, it does so inefficiently.
+ * @note Consider using a TitleValue object instead. TitleValue is more lightweight
+ * and does not rely on global state or the database.
*
* @internal documentation reviewed 15 Mar 2010
*/
var $mNotificationTimestamp = array(); // /< Associative array of user ID -> timestamp/false
var $mHasSubpage; // /< Whether a page has any subpages
private $mPageLanguage = false; // /< The (string) language code of the page's language and content code.
+ private $mTitleValue = null; // /< A corresponding TitleValue object
// @}
+ /**
+ * B/C kludge: provide a TitleParser for use by Title.
+ * Ideally, Title would have no methods that need this.
+ * Avoid usage of this singleton by using TitleValue
+ * and the associated services when possible.
+ *
+ * @return TitleParser
+ */
+ private static function getTitleParser() {
+ global $wgContLang, $wgLocalInterwikis;
+
+ static $titleCodec = null;
+ static $titleCodecFingerprint = null;
+
+ // $wgContLang and $wgLocalInterwikis may change (especially while testing),
+ // make sure we are using the right one. To detect changes over the course
+ // of a request, we remember a fingerprint of the config used to create the
+ // codec singleton, and re-create it if the fingerprint doesn't match.
+ $fingerprint = spl_object_hash( $wgContLang ) . '|' . join( '+', $wgLocalInterwikis );
+
+ if ( $fingerprint !== $titleCodecFingerprint ) {
+ $titleCodec = null;
+ }
+
+ if ( !$titleCodec ) {
+ $titleCodec = new MediaWikiTitleCodec( $wgContLang, GenderCache::singleton(), $wgLocalInterwikis );
+ $titleCodecFingerprint = $fingerprint;
+ }
+
+ return $titleCodec;
+ }
+
+ /**
+ * B/C kludge: provide a TitleParser for use by Title.
+ * Ideally, Title would have no methods that need this.
+ * Avoid usage of this singleton by using TitleValue
+ * and the associated services when possible.
+ *
+ * @return TitleFormatter
+ */
+ private static function getTitleFormatter() {
+ //NOTE: we know that getTitleParser() returns a MediaWikiTitleCodec,
+ // which implements TitleFormatter.
+ return self::getTitleParser();
+ }
+
/**
* Constructor
*/
}
}
+ /**
+ * Create a new Title from a TitleValue
+ *
+ * @param TitleValue $titleValue, assumed to be safe.
+ *
+ * @return Title
+ */
+ public static function newFromTitleValue( TitleValue $titleValue ) {
+ return self::makeTitle(
+ $titleValue->getNamespace(),
+ $titleValue->getText(),
+ $titleValue->getFragment() );
+ }
+
/**
* Create a new Title from text, such as what one would find in a link. De-
* codes any HTML entities in the text.
$t = new Title();
$t->mDbkeyform = str_replace( ' ', '_', $filteredText );
- $t->mDefaultNamespace = $defaultNamespace;
+ $t->mDefaultNamespace = intval( $defaultNamespace );
if ( $t->secureAndSplit() ) {
if ( $defaultNamespace == NS_MAIN ) {
* Note that this doesn't pick up many things that could be wrong with titles, but that
* replacing this regex with something valid will make many titles valid.
*
+ * @todo: move this into MediaWikiTitleCodec
+ *
* @return String regex string
*/
static function getTitleInvalidRegex() {
return Interwiki::fetch( $this->mInterwiki )->getWikiID();
}
+ /**
+ * Get a TitleValue object representing this Title.
+ *
+ * @note: Not all valid Titles have a corresponding valid TitleValue
+ * (e.g. TitleValues cannot represent page-local links that have a
+ * fragment but no title text).
+ *
+ * @return TitleValue|null
+ */
+ public function getTitleValue() {
+ if ( $this->mTitleValue === null ) {
+ try {
+ $this->mTitleValue = new TitleValue(
+ $this->getNamespace(),
+ $this->getDBkey(),
+ $this->getFragment() );
+ } catch ( InvalidArgumentException $ex ) {
+ wfDebug( __METHOD__ . ': Can\'t create a TitleValue for [[' .
+ $this->getPrefixedText() . ']]: ' . $ex->getMessage() . "\n" );
+ }
+ }
+
+ return $this->mTitleValue;
+ }
+
/**
* Get the text form (spaces not underscores) of the main part
*
* @return String: Namespace text
*/
public function getNsText() {
- global $wgContLang;
-
if ( $this->isExternal() ) {
// This probably shouldn't even happen. ohh man, oh yuck.
// But for interwiki transclusion it sometimes does.
}
}
- if ( $wgContLang->needsGenderDistinction() &&
- MWNamespace::hasGenderDistinction( $this->mNamespace ) ) {
- $gender = GenderCache::singleton()->getGenderOf( $this->getText(), __METHOD__ );
- return $wgContLang->getGenderNsText( $this->mNamespace, $gender );
+ try {
+ $formatter = $this->getTitleFormatter();
+ return $formatter->getNamespaceName( $this->mNamespace, $this->mDbkeyform );
+ } catch ( InvalidArgumentException $ex ) {
+ wfDebug( __METHOD__ . ': ' . $ex->getMessage() . "\n" );
+ return false;
}
-
- return $wgContLang->getNsText( $this->mNamespace );
}
/**
* @return Bool true on success
*/
private function secureAndSplit() {
- global $wgContLang, $wgLocalInterwikis;
-
# Initialisation
$this->mInterwiki = '';
$this->mFragment = '';
$dbkey = $this->mDbkeyform;
- # Strip Unicode bidi override characters.
- # Sometimes they slip into cut-n-pasted page titles, where the
- # override chars get included in list displays.
- $dbkey = preg_replace( '/\xE2\x80[\x8E\x8F\xAA-\xAE]/S', '', $dbkey );
-
- # Clean up whitespace
- # Note: use of the /u option on preg_replace here will cause
- # input with invalid UTF-8 sequences to be nullified out in PHP 5.2.x,
- # conveniently disabling them.
- $dbkey = preg_replace( '/[ _\xA0\x{1680}\x{180E}\x{2000}-\x{200A}\x{2028}\x{2029}\x{202F}\x{205F}\x{3000}]+/u', '_', $dbkey );
- $dbkey = trim( $dbkey, '_' );
-
- if ( strpos( $dbkey, UTF8_REPLACEMENT ) !== false ) {
- # Contained illegal UTF-8 sequences or forbidden Unicode chars.
- return false;
- }
-
- $this->mDbkeyform = $dbkey;
-
- # Initial colon indicates main namespace rather than specified default
- # but should not create invalid {ns,title} pairs such as {0,Project:Foo}
- if ( $dbkey !== '' && ':' == $dbkey[0] ) {
- $this->mNamespace = NS_MAIN;
- $dbkey = substr( $dbkey, 1 ); # remove the colon but continue processing
- $dbkey = trim( $dbkey, '_' ); # remove any subsequent whitespace
- }
-
- if ( $dbkey == '' ) {
- return false;
- }
-
- # Namespace or interwiki prefix
- $firstPass = true;
- $prefixRegexp = "/^(.+?)_*:_*(.*)$/S";
- do {
- $m = array();
- if ( preg_match( $prefixRegexp, $dbkey, $m ) ) {
- $p = $m[1];
- if ( ( $ns = $wgContLang->getNsIndex( $p ) ) !== false ) {
- # Ordinary namespace
- $dbkey = $m[2];
- $this->mNamespace = $ns;
- # For Talk:X pages, check if X has a "namespace" prefix
- if ( $ns == NS_TALK && preg_match( $prefixRegexp, $dbkey, $x ) ) {
- if ( $wgContLang->getNsIndex( $x[1] ) ) {
- # Disallow Talk:File:x type titles...
- return false;
- } elseif ( Interwiki::isValidInterwiki( $x[1] ) ) {
- # Disallow Talk:Interwiki:x type titles...
- return false;
- }
- }
- } elseif ( Interwiki::isValidInterwiki( $p ) ) {
- if ( !$firstPass ) {
- # Can't make a local interwiki link to an interwiki link.
- # That's just crazy!
- return false;
- }
-
- # Interwiki link
- $dbkey = $m[2];
- $this->mInterwiki = $wgContLang->lc( $p );
-
- # Redundant interwiki prefix to the local wiki
- foreach ( $wgLocalInterwikis as $localIW ) {
- if ( 0 == strcasecmp( $this->mInterwiki, $localIW ) ) {
- if ( $dbkey == '' ) {
- # Can't have an empty self-link
- return false;
- }
- $this->mInterwiki = '';
- $firstPass = false;
- # Do another namespace split...
- continue 2;
- }
- }
-
- # If there's an initial colon after the interwiki, that also
- # resets the default namespace
- if ( $dbkey !== '' && $dbkey[0] == ':' ) {
- $this->mNamespace = NS_MAIN;
- $dbkey = substr( $dbkey, 1 );
- }
- }
- # If there's no recognized interwiki or namespace,
- # then let the colon expression be part of the title.
- }
- break;
- } while ( true );
-
- $fragment = strstr( $dbkey, '#' );
- if ( false !== $fragment ) {
- $this->setFragment( $fragment );
- $dbkey = substr( $dbkey, 0, strlen( $dbkey ) - strlen( $fragment ) );
- # remove whitespace again: prevents "Foo_bar_#"
- # becoming "Foo_bar_"
- $dbkey = preg_replace( '/_*$/', '', $dbkey );
- }
-
- # Reject illegal characters.
- $rxTc = self::getTitleInvalidRegex();
- if ( preg_match( $rxTc, $dbkey ) ) {
- return false;
- }
-
- # Pages with "/./" or "/../" appearing in the URLs will often be un-
- # reachable due to the way web browsers deal with 'relative' URLs.
- # Also, they conflict with subpage syntax. Forbid them explicitly.
- if (
- strpos( $dbkey, '.' ) !== false &&
- (
- $dbkey === '.' || $dbkey === '..' ||
- strpos( $dbkey, './' ) === 0 ||
- strpos( $dbkey, '../' ) === 0 ||
- strpos( $dbkey, '/./' ) !== false ||
- strpos( $dbkey, '/../' ) !== false ||
- substr( $dbkey, -2 ) == '/.' ||
- substr( $dbkey, -3 ) == '/..'
- )
- ) {
- return false;
- }
-
- # Magic tilde sequences? Nu-uh!
- if ( strpos( $dbkey, '~~~' ) !== false ) {
- return false;
- }
-
- # Limit the size of titles to 255 bytes. This is typically the size of the
- # underlying database field. We make an exception for special pages, which
- # don't need to be stored in the database, and may edge over 255 bytes due
- # to subpage syntax for long titles, e.g. [[Special:Block/Long name]]
- if (
- ( $this->mNamespace != NS_SPECIAL && strlen( $dbkey ) > 255 )
- || strlen( $dbkey ) > 512
- ) {
- return false;
- }
-
- # Normally, all wiki links are forced to have an initial capital letter so [[foo]]
- # and [[Foo]] point to the same place. Don't force it for interwikis, since the
- # other site might be case-sensitive.
- $this->mUserCaseDBKey = $dbkey;
- if ( !$this->isExternal() ) {
- $dbkey = self::capitalize( $dbkey, $this->mNamespace );
- }
-
- # Can't make a link to a namespace alone... "empty" local links can only be
- # self-links with a fragment identifier.
- if ( $dbkey == '' && !$this->isExternal() && $this->mNamespace != NS_MAIN ) {
- return false;
- }
-
- // Allow IPv6 usernames to start with '::' by canonicalizing IPv6 titles.
- // IP names are not allowed for accounts, and can only be referring to
- // edits from the IP. Given '::' abbreviations and caps/lowercaps,
- // there are numerous ways to present the same IP. Having sp:contribs scan
- // them all is silly and having some show the edits and others not is
- // inconsistent. Same for talk/userpages. Keep them normalized instead.
- if ( $this->mNamespace == NS_USER || $this->mNamespace == NS_USER_TALK ) {
- $dbkey = IP::sanitizeIP( $dbkey );
- }
-
- // Any remaining initial :s are illegal.
- if ( $dbkey !== '' && ':' == $dbkey[0] ) {
+ try {
+ // @note: splitTitleString() is a temporary hack to allow MediaWikiTitleCodec to share
+ // the parsing code with Title, while avoiding massive refactoring.
+ // @todo: get rid of secureAndSplit, refactor parsing code.
+ $parser = $this->getTitleParser();
+ $parts = $parser->splitTitleString( $dbkey, $this->getDefaultNamespace() );
+ } catch ( MalformedTitleException $ex ) {
return false;
}
# Fill fields
- $this->mDbkeyform = $dbkey;
- $this->mUrlform = wfUrlencode( $dbkey );
-
- $this->mTextform = str_replace( '_', ' ', $dbkey );
+ $this->setFragment( '#' . $parts['fragment'] );
+ $this->mInterwiki = $parts['interwiki'];
+ $this->mNamespace = $parts['namespace'];
+ $this->mUserCaseDBKey = $parts['user_case_dbkey'];
+
+ $this->mDbkeyform = $parts['dbkey'];
+ $this->mUrlform = wfUrlencode( $this->mDbkeyform );
+ $this->mTextform = str_replace( '_', ' ', $this->mDbkeyform );
# We already know that some pages won't be in the database!
if ( $this->isExternal() || $this->mNamespace == NS_SPECIAL ) {
$expire = time() + $wgCookieExpiration;
}
- // Don't mark the cookie as httpOnly if the requesting user-agent is
- // known to have trouble with httpOnly cookies.
- if ( !wfHttpOnlySafe() ) {
- $options['httpOnly'] = false;
- }
-
$func = $options['raw'] ? 'setrawcookie' : 'setcookie';
if ( wfRunHooks( 'WebResponseSetCookie', array( &$name, &$value, &$expire, $options ) ) ) {
<?php
/**
- * This does the initial setup for a web request.
+ * This does the initial set up for a web request.
* It does some security checks, starts the profiler and loads the
* configuration, and optionally loads Setup.php depending on whether
* MW_NO_SETUP is defined.
*
+ * Setup.php (if loaded) then sets up GlobalFunctions, the AutoLoader,
+ * and the configuration globals (though not $wgTitle).
+ *
* 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
$info['host'],
isset( $info['port'] ) ? $info['port'] : 80,
$errno,
- $errstr
+ $errstr,
+ // If it takes more than 100ms to connect to ourselves there
+ // is a problem elsewhere.
+ 0.1
);
wfRestoreWarnings();
if ( !$sock ) {
/**
* Create a WikiPage object of the appropriate class for the given title.
*
- * @param $title Title
+ * @param Title $title
+ *
* @throws MWException
- * @return WikiPage object of the appropriate type
+ * @return WikiPage Object of the appropriate type
*/
public static function factory( Title $title ) {
$ns = $title->getNamespace();
}
/**
- * @param $section null|bool|int or a section number (0, 1, 2, T1, T2...)
- * @param string $text new text of the section
- * @param string $sectionTitle new section's subject, only if $section is 'new'
- * @param string $edittime revision timestamp or null to use the current revision
+ * @param mixed $section Null/false, a section number (0, 1, 2, T1, T2, ...) or "new".
+ * @param string $text New text of the section.
+ * @param string $sectionTitle New section's subject, only if $section is "new".
+ * @param string $edittime Revision timestamp or null to use the current revision.
+ *
* @throws MWException
- * @return String new complete article text, or null if error
+ * @return string New complete article text, or null if error.
*
* @deprecated since 1.21, use replaceSectionContent() instead
*/
}
if ( !$this->supportsSections() ) {
- throw new MWException( "sections not supported for content model " . $this->getContentHandler()->getModelID() );
+ throw new MWException( "sections not supported for content model " .
+ $this->getContentHandler()->getModelID() );
}
// could even make section title, but that's not required.
$sectionContent = ContentHandler::makeContent( $text, $this->getTitle() );
- $newContent = $this->replaceSectionContent( $section, $sectionContent, $sectionTitle, $edittime );
+ $newContent = $this->replaceSectionContent( $section, $sectionContent, $sectionTitle,
+ $edittime );
return ContentHandler::getContentText( $newContent );
}
/**
* Returns true if this page's content model supports sections.
*
- * @return boolean whether sections are supported.
+ * @return bool
*
* @todo The skin should check this and not offer section functionality if sections are not supported.
* @todo The EditPage should check this and not offer section functionality if sections are not supported.
}
/**
- * @param $section null|bool|int or a section number (0, 1, 2, T1, T2...)
- * @param $sectionContent Content: new content of the section
- * @param string $sectionTitle new section's subject, only if $section is 'new'
- * @param string $edittime revision timestamp or null to use the current revision
+ * @param mixed $section Null/false, a section number (0, 1, 2, T1, T2, ...) or "new".
+ * @param Content $sectionContent New content of the section.
+ * @param string $sectionTitle New section's subject, only if $section is "new".
+ * @param string $edittime Revision timestamp or null to use the current revision.
*
* @throws MWException
- * @return Content new complete article content, or null if error
+ * @return Content New complete article content, or null if error.
*
* @since 1.21
*/
- public function replaceSectionContent( $section, Content $sectionContent, $sectionTitle = '', $edittime = null ) {
+ public function replaceSectionContent( $section, Content $sectionContent, $sectionTitle = '',
+ $edittime = null ) {
wfProfileIn( __METHOD__ );
if ( strval( $section ) == '' ) {
} else {
if ( !$this->supportsSections() ) {
wfProfileOut( __METHOD__ );
- throw new MWException( "sections not supported for content model " . $this->getContentHandler()->getModelID() );
+ throw new MWException( "sections not supported for content model " .
+ $this->getContentHandler()->getModelID() );
}
// Bug 30711: always use current version when adding a new section
/**
* Take an array of page restrictions and flatten it to a string
* suitable for insertion into the page_restrictions field.
- * @param $limit Array
+ *
+ * @param string[] $limit
+ *
* @throws MWException
- * @return String
+ * @return string
*/
protected static function flattenRestrictions( $limit ) {
if ( !is_array( $limit ) ) {
SearchEngine::create( $params['backend'] ) : SearchEngine::create();
$search->setLimitOffset( $limit + 1, $params['offset'] );
$search->setNamespaces( $params['namespace'] );
- $search->showRedirects = $params['redirects'];
$query = $search->transformSearchTerm( $query );
$query = $search->replacePrefixes( $query );
),
ApiBase::PARAM_ISMULTI => true,
),
- 'redirects' => false,
'offset' => 0,
'limit' => array(
ApiBase::PARAM_DFLT => 10,
' sectiontitle - Adds the title of the matching section',
' hasrelated - Indicates whether a related search is available',
),
- 'redirects' => 'Include redirect pages in the search',
'offset' => 'Use this value to continue paging (return by query)',
'limit' => 'How many total pages to return',
'interwiki' => 'Include interwiki results in the search, if available'
/**
* @param string $thumbName Thumbnail name
+ * @param string $dispositionType Type of disposition (either "attachment" or "inline")
* @return string Content-Disposition header value
*/
- function getThumbDisposition( $thumbName ) {
+ function getThumbDisposition( $thumbName, $dispositionType = 'inline' ) {
$fileName = $this->name; // file name to suggest
$thumbExt = FileBackend::extensionFromPath( $thumbName );
if ( $thumbExt != '' && $thumbExt !== $this->getExtension() ) {
$fileName .= ".$thumbExt";
}
- return FileBackend::makeContentDisposition( 'inline', $fileName );
+ return FileBackend::makeContentDisposition( $dispositionType, $fileName );
}
/**
* @return bool success
*/
protected function mergeViaLock( $key, closure $callback, $exptime = 0, $attempts = 10 ) {
- if ( !$this->lock( $key, 60 ) ) {
+ if ( !$this->lock( $key, 6 ) ) {
return false;
}
* @param $timeout integer [optional]
* @return bool success
*/
- public function lock( $key, $timeout = 60 ) {
+ public function lock( $key, $timeout = 6 ) {
$timestamp = microtime( true ); // starting UNIX timestamp
if ( $this->add( "{$key}:lock", 1, $timeout ) ) {
return true;
<?php
-
/**
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*/
public function getLanguage() {
if ( $this->language === null ) {
- global $wgLang;
- $this->language = $this->request->getVal( 'lang' );
- if ( !$this->language ) {
- $this->language = $wgLang->getCode();
- }
+ // Must be a valid language code after this point (bug 62849)
+ $this->language = RequestContext::sanitizeLangCode( $this->request->getVal( 'lang' ) );
}
return $this->language;
}
if ( $this->direction === null ) {
$this->direction = $this->request->getVal( 'dir' );
if ( !$this->direction ) {
- # directionality based on user language (see bug 6100)
+ // Determine directionality based on user language (bug 6100)
$this->direction = Language::factory( $this->getLanguage() )->getDir();
}
}
/* Protected Members */
protected $modifiedTime = array();
+ protected $configVars = array();
protected $targets = array( 'desktop', 'mobile' );
/* Protected Methods */
/**
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return array
*/
protected function getConfig( $context ) {
+
+ $hash = $context->getHash();
+ if ( isset( $this->configVars[$hash] ) ) {
+ return $this->configVars[$hash];
+ }
+
global $wgLoadScript, $wgScript, $wgStylePath, $wgScriptExtension,
$wgArticlePath, $wgScriptPath, $wgServer, $wgContLang,
$wgVariantArticlePath, $wgActionPaths, $wgVersion,
wfRunHooks( 'ResourceLoaderGetConfigVars', array( &$vars ) );
- return $vars;
+ $this->configVars[$hash] = $vars;
+ return $this->configVars[$hash];
}
/**
- * Gets registration code for all modules
+ * Get registration code for all modules.
*
- * @param $context ResourceLoaderContext object
- * @return String: JavaScript code for registering all modules with the client loader
+ * @param ResourceLoaderContext $context object
+ * @return string JavaScript code for registering all modules with the client loader
*/
public static function getModuleRegistrations( ResourceLoaderContext $context ) {
global $wgCacheEpoch;
wfProfileIn( __METHOD__ );
- $out = '';
- $registrations = array();
$resourceLoader = $context->getResourceLoader();
$target = $context->getRequest()->getVal( 'target', 'desktop' );
- // Register sources
- $out .= ResourceLoader::makeLoaderSourcesScript( $resourceLoader->getSources() );
+ $out = '';
+ $registryData = array();
- // Register modules
+ // Get registry data
foreach ( $resourceLoader->getModuleNames() as $name ) {
$module = $resourceLoader->getModule( $name );
$moduleTargets = $module->getTargets();
if ( !in_array( $target, $moduleTargets ) ) {
continue;
}
- $deps = $module->getDependencies();
- $group = $module->getGroup();
- $source = $module->getSource();
- // Support module loader scripts
- $loader = $module->getLoaderScript();
- if ( $loader !== false ) {
- $version = wfTimestamp( TS_ISO_8601_BASIC,
- $module->getModifiedTime( $context ) );
- $out .= ResourceLoader::makeCustomLoaderScript( $name, $version, $deps, $group, $source, $loader );
- continue;
- }
- // Automatically register module
// getModifiedTime() is supposed to return a UNIX timestamp, but it doesn't always
// seem to do that, and custom implementations might forget. Coerce it to TS_UNIX
$moduleMtime = wfTimestamp( TS_UNIX, $module->getModifiedTime( $context ) );
$mtime = max( $moduleMtime, wfTimestamp( TS_UNIX, $wgCacheEpoch ) );
- if ( !count( $deps ) && $group === null && $source === 'local' ) {
- // Modules without dependencies, a group or a foreign source pass two arguments (name, timestamp) to
- // mw.loader.register()
- $registrations[] = array( $name, $mtime );
- } elseif ( $group === null && $source === 'local' ) {
- // Modules with dependencies but no group or foreign source pass three arguments
- // (name, timestamp, dependencies) to mw.loader.register()
- $registrations[] = array( $name, $mtime, $deps );
- } elseif ( $source === 'local' ) {
- // Modules with a group but no foreign source pass four arguments (name, timestamp, dependencies, group)
- // to mw.loader.register()
- $registrations[] = array( $name, $mtime, $deps, $group );
+ // FIXME: Convert to numbers, wfTimestamp always gives us stings, even for TS_UNIX
+
+ $registryData[ $name ] = array(
+ 'version' => $mtime,
+ 'dependencies' => $module->getDependencies(),
+ 'group' => $module->getGroup(),
+ 'source' => $module->getSource(),
+ 'loader' => $module->getLoaderScript(),
+ );
+ }
+
+ // Register sources
+ $out .= ResourceLoader::makeLoaderSourcesScript( $resourceLoader->getSources() );
+
+ // Concatenate module loader scripts and figure out the different call
+ // signatures for mw.loader.register
+ $registrations = array();
+ foreach ( $registryData as $name => $data ) {
+ if ( $data['loader'] !== false ) {
+ $out .= ResourceLoader::makeCustomLoaderScript(
+ $name,
+ wfTimestamp( TS_ISO_8601_BASIC, $data['version'] ),
+ $data['dependencies'],
+ $data['group'],
+ $data['source'],
+ $data['loader']
+ );
+ continue;
+ }
+
+ if ( !count( $data['dependencies'] ) && $data['group'] === null && $data['source'] === 'local' ) {
+ // Modules without dependencies, a group or a foreign source;
+ // call mw.loader.register(name, timestamp)
+ $registrations[] = array( $name, $data['version'] );
+ } elseif ( $data['group'] === null && $data['source'] === 'local' ) {
+ // Modules with dependencies but no group or foreign source;
+ // call mw.loader.register(name, timestamp, dependencies)
+ $registrations[] = array( $name, $data['version'], $data['dependencies'] );
+ } elseif ( $data['source'] === 'local' ) {
+ // Modules with a group but no foreign source;
+ // call mw.loader.register(name, timestamp, dependencies, group)
+ $registrations[] = array(
+ $name,
+ $data['version'],
+ $data['dependencies'],
+ $data['group']
+ );
} else {
- // Modules with a foreign source pass five arguments (name, timestamp, dependencies, group, source)
- // to mw.loader.register()
- $registrations[] = array( $name, $mtime, $deps, $group, $source );
+ // Modules with a foreign source;
+ // call mw.loader.register(name, timestamp, dependencies, group, source)
+ $registrations[] = array(
+ $name,
+ $data['version'],
+ $data['dependencies'],
+ $data['group'],
+ $data['source']
+ );
}
}
+
+ // Register modules
$out .= ResourceLoader::makeLoaderRegisterScript( $registrations );
wfProfileOut( __METHOD__ );
* This is a helper for getScript(), but can also be called standalone, such
* as when generating an AppCache manifest.
*
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return string
*/
public static function getStartupModulesUrl( ResourceLoaderContext $context ) {
}
/**
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return string
*/
public function getScript( ResourceLoaderContext $context ) {
}
/**
- * @param $context ResourceLoaderContext
+ * @param ResourceLoaderContext $context
* @return array|mixed
*/
public function getModifiedTime( ResourceLoaderContext $context ) {
$time = max(
wfTimestamp( TS_UNIX, $wgCacheEpoch ),
- filemtime( "$IP/resources/startup.js" )
+ filemtime( "$IP/resources/startup.js" ),
+ $this->getHashMtime( $context )
);
// ATTENTION!: Because of the line below, this is not going to cause
return $this->modifiedTime[$hash];
}
+ /**
+ * Hash of all dynamic data embedded in getScript().
+ *
+ * Detect changes to mw.config settings embedded in #getScript (bug 28899).
+ *
+ * @param $context ResourceLoaderContext
+ * @return string: Hash
+ */
+ public function getModifiedHash( ResourceLoaderContext $context ) {
+ global $wgLegacyJavaScriptGlobals;
+
+ $data = array(
+ 'vars' => $this->getConfig( $context ),
+ 'wgLegacyJavaScriptGlobals' => $wgLegacyJavaScriptGlobals,
+ );
+
+ return md5( serialize( $data ) );
+ }
+
/**
* @return string
*/
var $prefix = '';
var $searchTerms = array();
var $namespaces = array( NS_MAIN );
- var $showRedirects = false;
protected $showSuggestion = true;
/// Feature values
*/
public function supports( $feature ) {
switch ( $feature ) {
- case 'list-redirects':
case 'search-update':
return true;
case 'title-suffix-filter':
return new MssqlSearchResultSet( $resultSet, $this->searchTerms );
}
- /**
- * Return a partial WHERE clause to exclude redirects, if so set
- *
- * @return String
- * @private
- */
- function queryRedirect() {
- if ( $this->showRedirects ) {
- return '';
- } else {
- return 'AND page_is_redirect=0';
- }
- }
-
/**
* Return a partial WHERE clause to limit the search to the given namespaces
*
*/
function getQuery( $filteredTerm, $fulltext ) {
return $this->queryLimit( $this->queryMain( $filteredTerm, $fulltext ) . ' ' .
- $this->queryRedirect() . ' ' .
$this->queryNamespaces() . ' ' .
$this->queryRanking( $filteredTerm, $fulltext ) . ' ' );
}
*/
protected function queryFeatures( &$query ) {
foreach ( $this->features as $feature => $value ) {
- if ( $feature === 'list-redirects' && !$value ) {
- $query['conds']['page_is_redirect'] = 0;
- } elseif ( $feature === 'title-suffix-filter' && $value ) {
+ if ( $feature === 'title-suffix-filter' && $value ) {
$query['conds'][] = 'page_title' . $this->db->buildLike( $this->db->anyString(), $value );
}
}
return new MySQLSearchResultSet( $resultSet, $this->searchTerms );
}
- /**
- * Return a partial WHERE clause to exclude redirects, if so set
- * @return String
- */
- function queryRedirect() {
- if ( $this->showRedirects ) {
- return '';
- } else {
- return 'AND page_is_redirect=0';
- }
- }
-
/**
* Return a partial WHERE clause to limit the search to the given namespaces
* @return String
*/
function getQuery( $filteredTerm, $fulltext ) {
return $this->queryLimit( $this->queryMain( $filteredTerm, $fulltext ) . ' ' .
- $this->queryRedirect() . ' ' .
$this->queryNamespaces() . ' ' .
$this->queryRanking( $filteredTerm, $fulltext ) . ' ' );
}
"AND r.rev_text_id = c.old_id AND $fulltext @@ to_tsquery($searchstring)";
}
- ## Redirects
- if ( !$this->showRedirects ) {
- $query .= ' AND page_is_redirect = 0';
- }
-
## Namespaces - defaults to 0
if ( !is_null( $this->namespaces ) ) { // null -> search all
if ( count( $this->namespaces ) < 1 ) {
return new SqliteSearchResultSet( $resultSet, $this->searchTerms, $total );
}
- /**
- * Return a partial WHERE clause to exclude redirects, if so set
- * @return String
- */
- function queryRedirect() {
- if ( $this->showRedirects ) {
- return '';
- } else {
- return 'AND page_is_redirect=0';
- }
- }
-
/**
* Return a partial WHERE clause to limit the search to the given namespaces
* @return String
function getQuery( $filteredTerm, $fulltext ) {
return $this->limitResult(
$this->queryMain( $filteredTerm, $fulltext ) . ' ' .
- $this->queryRedirect() . ' ' .
$this->queryNamespaces()
);
}
$searchindex = $this->db->tableName( 'searchindex' );
return "SELECT COUNT(*) AS c " .
"FROM $page,$searchindex " .
- "WHERE page_id=$searchindex.rowid AND $match" .
- $this->queryRedirect() . ' ' .
+ "WHERE page_id=$searchindex.rowid AND $match " .
$this->queryNamespaces();
}
public function getRows() {
$opts = $this->getOptions();
$conds = $this->buildMainQueryConds( $opts );
+
return $this->doMainQuery( $conds, $opts );
}
*/
protected function fetchOptionsFromRequest( $opts ) {
$opts->fetchValuesFromRequest( $this->getRequest() );
+
return $opts;
}
// }
$dbr = $this->getDB();
+
return $dbr->select(
$tables,
$fields,
* @ingroup SpecialPage
*/
abstract class RedirectSpecialPage extends UnlistedSpecialPage {
-
// Query parameters that can be passed through redirects
protected $mAllowedRedirectParams = array();
if ( $redirect instanceof Title ) {
$url = $redirect->getFullURL( $query );
$this->getOutput()->redirect( $url );
+
return $redirect;
} elseif ( $redirect === true ) {
// Redirect to index.php with query parameters
$url = wfAppendQuery( wfScript( 'index' ), $query );
$this->getOutput()->redirect( $url );
+
return $redirect;
} else {
$class = get_class( $this );
* @ingroup SpecialPage
*/
abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
- // @todo FIXME: Visibility must be declared
- var $redirName, $redirSubpage;
+ /** @var string Name of redirect target */
+ protected $redirName;
+
+ /** @var string Name of subpage of redirect target */
+ protected $redirSubpage;
function __construct(
$name, $redirName, $redirSubpage = false,
*
* @par Hook extension example:
* @code
- * $wgHooks['RedirectSpecialArticleRedirectParams'][] =
- * 'MyExtensionHooks::onRedirectSpecialArticleRedirectParams';
- * public static function onRedirectSpecialArticleRedirectParams( &$redirectParams ) {
- * $redirectParams[] = 'stable';
- * return true;
- * }
+ * $wgHooks['RedirectSpecialArticleRedirectParams'][] =
+ * 'MyExtensionHooks::onRedirectSpecialArticleRedirectParams';
+ * public static function onRedirectSpecialArticleRedirectParams( &$redirectParams ) {
+ * $redirectParams[] = 'stable';
+ * return true;
+ * }
* @endcode
*
* @ingroup SpecialPage
*/
public static function getTitleFor( $name, $subpage = false, $fragment = '' ) {
$name = SpecialPageFactory::getLocalNameFor( $name, $subpage );
+
return Title::makeTitle( NS_SPECIAL, $name, $fragment );
}
*/
function getFile() {
wfDeprecated( __METHOD__, '1.18' );
+
return $this->mFile;
}
if ( !isset( $this->mLocalName ) ) {
$this->mLocalName = SpecialPageFactory::getLocalNameFor( $this->mName );
}
+
return $this->mLocalName;
}
$this->getOutput()->wrapWikiMsg(
"<div class='mw-specialpage-summary'>\n$1\n</div>", $msg );
}
-
}
/**
*/
function getTitle( $subpage = false ) {
wfDeprecated( __METHOD__, '1.23' );
+
return $this->getPageTitle( $subpage );
}
} else {
wfDebug( __METHOD__ . " called and \$mContext is null. " .
"Return RequestContext::getMain(); for sanity\n" );
+
return RequestContext::getMain();
}
}
*/
public function getLang() {
wfDeprecated( __METHOD__, '1.19' );
+
return $this->getLanguage();
}
if ( $this->including() ) {
$message->setInterfaceMessageFlag( false );
}
+
return $message;
}
*/
private static $list = array(
// Maintenance Reports
- 'BrokenRedirects' => 'BrokenRedirectsPage',
- 'Deadendpages' => 'DeadendPagesPage',
- 'DoubleRedirects' => 'DoubleRedirectsPage',
- 'Longpages' => 'LongPagesPage',
- 'Ancientpages' => 'AncientPagesPage',
- 'Lonelypages' => 'LonelyPagesPage',
- 'Fewestrevisions' => 'FewestrevisionsPage',
- 'Withoutinterwiki' => 'WithoutInterwikiPage',
- 'Protectedpages' => 'SpecialProtectedpages',
- 'Protectedtitles' => 'SpecialProtectedtitles',
- 'Shortpages' => 'ShortpagesPage',
- 'Uncategorizedcategories' => 'UncategorizedCategoriesPage',
- 'Uncategorizedimages' => 'UncategorizedImagesPage',
- 'Uncategorizedpages' => 'UncategorizedPagesPage',
- 'Uncategorizedtemplates' => 'UncategorizedTemplatesPage',
- 'Unusedcategories' => 'UnusedCategoriesPage',
- 'Unusedimages' => 'UnusedimagesPage',
- 'Unusedtemplates' => 'UnusedtemplatesPage',
- 'Unwatchedpages' => 'UnwatchedpagesPage',
- 'Wantedcategories' => 'WantedCategoriesPage',
- 'Wantedfiles' => 'WantedFilesPage',
- 'Wantedpages' => 'WantedPagesPage',
- 'Wantedtemplates' => 'WantedTemplatesPage',
+ 'BrokenRedirects' => 'BrokenRedirectsPage',
+ 'Deadendpages' => 'DeadendPagesPage',
+ 'DoubleRedirects' => 'DoubleRedirectsPage',
+ 'Longpages' => 'LongPagesPage',
+ 'Ancientpages' => 'AncientPagesPage',
+ 'Lonelypages' => 'LonelyPagesPage',
+ 'Fewestrevisions' => 'FewestrevisionsPage',
+ 'Withoutinterwiki' => 'WithoutInterwikiPage',
+ 'Protectedpages' => 'SpecialProtectedpages',
+ 'Protectedtitles' => 'SpecialProtectedtitles',
+ 'Shortpages' => 'ShortpagesPage',
+ 'Uncategorizedcategories' => 'UncategorizedCategoriesPage',
+ 'Uncategorizedimages' => 'UncategorizedImagesPage',
+ 'Uncategorizedpages' => 'UncategorizedPagesPage',
+ 'Uncategorizedtemplates' => 'UncategorizedTemplatesPage',
+ 'Unusedcategories' => 'UnusedCategoriesPage',
+ 'Unusedimages' => 'UnusedimagesPage',
+ 'Unusedtemplates' => 'UnusedtemplatesPage',
+ 'Unwatchedpages' => 'UnwatchedpagesPage',
+ 'Wantedcategories' => 'WantedCategoriesPage',
+ 'Wantedfiles' => 'WantedFilesPage',
+ 'Wantedpages' => 'WantedPagesPage',
+ 'Wantedtemplates' => 'WantedTemplatesPage',
// List of pages
- 'Allpages' => 'SpecialAllpages',
- 'Prefixindex' => 'SpecialPrefixindex',
- 'Categories' => 'SpecialCategories',
- 'Listredirects' => 'ListredirectsPage',
- 'PagesWithProp' => 'SpecialPagesWithProp',
+ 'Allpages' => 'SpecialAllpages',
+ 'Prefixindex' => 'SpecialPrefixindex',
+ 'Categories' => 'SpecialCategories',
+ 'Listredirects' => 'ListredirectsPage',
+ 'PagesWithProp' => 'SpecialPagesWithProp',
// Login/create account
- 'Userlogin' => 'LoginForm',
- 'CreateAccount' => 'SpecialCreateAccount',
+ 'Userlogin' => 'LoginForm',
+ 'CreateAccount' => 'SpecialCreateAccount',
// Users and rights
- 'Block' => 'SpecialBlock',
- 'Unblock' => 'SpecialUnblock',
- 'BlockList' => 'SpecialBlockList',
- 'ChangePassword' => 'SpecialChangePassword',
- 'PasswordReset' => 'SpecialPasswordReset',
- 'DeletedContributions' => 'DeletedContributionsPage',
- 'Preferences' => 'SpecialPreferences',
- 'ResetTokens' => 'SpecialResetTokens',
- 'Contributions' => 'SpecialContributions',
- 'Listgrouprights' => 'SpecialListGroupRights',
- 'Listusers' => 'SpecialListUsers',
- 'Listadmins' => 'SpecialListAdmins',
- 'Listbots' => 'SpecialListBots',
- 'Userrights' => 'UserrightsPage',
- 'EditWatchlist' => 'SpecialEditWatchlist',
+ 'Block' => 'SpecialBlock',
+ 'Unblock' => 'SpecialUnblock',
+ 'BlockList' => 'SpecialBlockList',
+ 'ChangePassword' => 'SpecialChangePassword',
+ 'PasswordReset' => 'SpecialPasswordReset',
+ 'DeletedContributions' => 'DeletedContributionsPage',
+ 'Preferences' => 'SpecialPreferences',
+ 'ResetTokens' => 'SpecialResetTokens',
+ 'Contributions' => 'SpecialContributions',
+ 'Listgrouprights' => 'SpecialListGroupRights',
+ 'Listusers' => 'SpecialListUsers',
+ 'Listadmins' => 'SpecialListAdmins',
+ 'Listbots' => 'SpecialListBots',
+ 'Userrights' => 'UserrightsPage',
+ 'EditWatchlist' => 'SpecialEditWatchlist',
// Recent changes and logs
- 'Newimages' => 'SpecialNewFiles',
- 'Log' => 'SpecialLog',
- 'Watchlist' => 'SpecialWatchlist',
- 'Newpages' => 'SpecialNewpages',
- 'Recentchanges' => 'SpecialRecentChanges',
- 'Recentchangeslinked' => 'SpecialRecentChangesLinked',
- 'Tags' => 'SpecialTags',
+ 'Newimages' => 'SpecialNewFiles',
+ 'Log' => 'SpecialLog',
+ 'Watchlist' => 'SpecialWatchlist',
+ 'Newpages' => 'SpecialNewpages',
+ 'Recentchanges' => 'SpecialRecentChanges',
+ 'Recentchangeslinked' => 'SpecialRecentChangesLinked',
+ 'Tags' => 'SpecialTags',
// Media reports and uploads
- 'Listfiles' => 'SpecialListFiles',
- 'Filepath' => 'SpecialFilepath',
- 'MIMEsearch' => 'MIMEsearchPage',
- 'FileDuplicateSearch' => 'FileDuplicateSearchPage',
- 'Upload' => 'SpecialUpload',
- 'UploadStash' => 'SpecialUploadStash',
- 'ListDuplicatedFiles' => 'ListDuplicatedFilesPage',
+ 'Listfiles' => 'SpecialListFiles',
+ 'Filepath' => 'SpecialFilepath',
+ 'MIMEsearch' => 'MIMEsearchPage',
+ 'FileDuplicateSearch' => 'FileDuplicateSearchPage',
+ 'Upload' => 'SpecialUpload',
+ 'UploadStash' => 'SpecialUploadStash',
+ 'ListDuplicatedFiles' => 'ListDuplicatedFilesPage',
// Data and tools
- 'Statistics' => 'SpecialStatistics',
- 'Allmessages' => 'SpecialAllmessages',
- 'Version' => 'SpecialVersion',
- 'Lockdb' => 'SpecialLockdb',
- 'Unlockdb' => 'SpecialUnlockdb',
+ 'Statistics' => 'SpecialStatistics',
+ 'Allmessages' => 'SpecialAllmessages',
+ 'Version' => 'SpecialVersion',
+ 'Lockdb' => 'SpecialLockdb',
+ 'Unlockdb' => 'SpecialUnlockdb',
// Redirecting special pages
- 'LinkSearch' => 'LinkSearchPage',
- 'Randompage' => 'RandomPage',
- 'RandomInCategory' => 'SpecialRandomInCategory',
- 'Randomredirect' => 'SpecialRandomredirect',
+ 'LinkSearch' => 'LinkSearchPage',
+ 'Randompage' => 'RandomPage',
+ 'RandomInCategory' => 'SpecialRandomInCategory',
+ 'Randomredirect' => 'SpecialRandomredirect',
// High use pages
- 'Mostlinkedcategories' => 'MostlinkedCategoriesPage',
- 'Mostimages' => 'MostimagesPage',
- 'Mostinterwikis' => 'MostinterwikisPage',
- 'Mostlinked' => 'MostlinkedPage',
- 'Mostlinkedtemplates' => 'MostlinkedTemplatesPage',
- 'Mostcategories' => 'MostcategoriesPage',
- 'Mostrevisions' => 'MostrevisionsPage',
+ 'Mostlinkedcategories' => 'MostlinkedCategoriesPage',
+ 'Mostimages' => 'MostimagesPage',
+ 'Mostinterwikis' => 'MostinterwikisPage',
+ 'Mostlinked' => 'MostlinkedPage',
+ 'Mostlinkedtemplates' => 'MostlinkedTemplatesPage',
+ 'Mostcategories' => 'MostcategoriesPage',
+ 'Mostrevisions' => 'MostrevisionsPage',
// Page tools
- 'ComparePages' => 'SpecialComparePages',
- 'Export' => 'SpecialExport',
- 'Import' => 'SpecialImport',
- 'Undelete' => 'SpecialUndelete',
- 'Whatlinkshere' => 'SpecialWhatLinksHere',
- 'MergeHistory' => 'SpecialMergeHistory',
- 'ExpandTemplates' => 'SpecialExpandTemplates',
+ 'ComparePages' => 'SpecialComparePages',
+ 'Export' => 'SpecialExport',
+ 'Import' => 'SpecialImport',
+ 'Undelete' => 'SpecialUndelete',
+ 'Whatlinkshere' => 'SpecialWhatLinksHere',
+ 'MergeHistory' => 'SpecialMergeHistory',
+ 'ExpandTemplates' => 'SpecialExpandTemplates',
// Other
- 'Booksources' => 'SpecialBookSources',
+ 'Booksources' => 'SpecialBookSources',
// Unlisted / redirects
- 'Blankpage' => 'SpecialBlankpage',
- 'Diff' => 'SpecialDiff',
- 'Emailuser' => 'SpecialEmailUser',
- 'Movepage' => 'MovePageForm',
- 'Mycontributions' => 'SpecialMycontributions',
- 'Mypage' => 'SpecialMypage',
- 'Mytalk' => 'SpecialMytalk',
- 'Myuploads' => 'SpecialMyuploads',
- 'AllMyUploads' => 'SpecialAllMyUploads',
- 'PermanentLink' => 'SpecialPermanentLink',
- 'Redirect' => 'SpecialRedirect',
- 'Revisiondelete' => 'SpecialRevisionDelete',
- 'RunJobs' => 'SpecialRunJobs',
- 'Specialpages' => 'SpecialSpecialpages',
- 'Userlogout' => 'SpecialUserlogout',
+ 'Blankpage' => 'SpecialBlankpage',
+ 'Diff' => 'SpecialDiff',
+ 'Emailuser' => 'SpecialEmailUser',
+ 'Movepage' => 'MovePageForm',
+ 'Mycontributions' => 'SpecialMycontributions',
+ 'Mypage' => 'SpecialMypage',
+ 'Mytalk' => 'SpecialMytalk',
+ 'Myuploads' => 'SpecialMyuploads',
+ 'AllMyUploads' => 'SpecialAllMyUploads',
+ 'PermanentLink' => 'SpecialPermanentLink',
+ 'Redirect' => 'SpecialRedirect',
+ 'Revisiondelete' => 'SpecialRevisionDelete',
+ 'RunJobs' => 'SpecialRunJobs',
+ 'Specialpages' => 'SpecialSpecialpages',
+ 'Userlogout' => 'SpecialUserlogout',
);
private static $aliases;
wfProfileOut( __METHOD__ );
}
+
return self::$list;
}
// Cast to object: func()[$key] doesn't work, but func()->$key does
self::$aliases = (object)self::$aliases;
}
+
return self::$aliases;
}
*/
public static function exists( $name ) {
list( $title, /*...*/ ) = self::resolveAlias( $name );
+
return property_exists( self::getList(), $title );
}
$rec = self::getList()->$realName;
if ( is_string( $rec ) ) {
$className = $rec;
+
return new $className;
} elseif ( is_array( $rec ) ) {
// @deprecated, officially since 1.18, unofficially since forever
- wfDebug( "Array syntax for \$wgSpecialPages is deprecated, define a subclass of SpecialPage instead." );
+ wfDebug( "Array syntax for \$wgSpecialPages is deprecated, " .
+ "define a subclass of SpecialPage instead." );
$className = array_shift( $rec );
self::getList()->$realName = MWFunction::newObj( $className, $rec );
}
+
return self::getList()->$realName;
} else {
return null;
}
}
}
+
return $pages;
}
$pages[$name] = $page;
}
}
+
return $pages;
}
$pages[$name] = $page;
}
}
+
return $pages;
}
$context->getOutput()->showErrorPage( 'nosuchspecialpage', 'nospecialpagetext' );
wfProfileOut( __METHOD__ );
+
return false;
}
$url = $title->getFullURL( $query );
$context->getOutput()->redirect( $url );
wfProfileOut( __METHOD__ );
+
return $title;
} else {
$context->setTitle( $page->getPageTitle( $par ) );
}
-
} elseif ( !$page->isIncludable() ) {
wfProfileOut( __METHOD__ );
+
return false;
}
$page->run( $par );
wfProfileOut( $profName );
wfProfileOut( __METHOD__ );
+
return true;
}
if ( $subpage !== false && !is_null( $subpage ) ) {
$name = "$name/$subpage";
}
+
return $wgContLang->ucfirst( $name );
}
*/
class SpecialCategories extends SpecialPage {
- function __construct() {
+ /**
+ * @var PageLinkRenderer
+ */
+ protected $linkRenderer = null;
+
+ public function __construct() {
parent::__construct( 'Categories' );
+
+ // Since we don't control the constructor parameters, we can't inject services that way.
+ // Instead, we initialize services in the execute() method, and allow them to be overridden
+ // using the initServices() method.
+ }
+
+ /**
+ * Initialize or override the PageLinkRenderer SpecialCategories collaborates with.
+ * Useful mainly for testing.
+ *
+ * @todo: the pager should also be injected, and de-coupled from the rendering logic.
+ *
+ * @param PageLinkRenderer $linkRenderer
+ */
+ public function setPageLinkRenderer(
+ PageLinkRenderer $linkRenderer
+ ) {
+ $this->linkRenderer = $linkRenderer;
+ }
+
+ /**
+ * Initialize any services we'll need (unless it has already been provided via a setter).
+ * This allows for dependency injection even though we don't control object creation.
+ */
+ private function initServices() {
+ if ( !$this->linkRenderer ) {
+ $lang = $this->getContext()->getLanguage();
+ $titleFormatter = new MediaWikiTitleCodec( $lang, GenderCache::singleton() );
+ $this->linkRenderer = new MediaWikiPageLinkRenderer( $titleFormatter );
+ }
}
- function execute( $par ) {
+ public function execute( $par ) {
+ $this->initServices();
+
$this->setHeaders();
$this->outputHeader();
$this->getOutput()->allowClickjacking();
$from = $this->getRequest()->getText( 'from', $par );
- $cap = new CategoryPager( $this->getContext(), $from );
+ $cap = new CategoryPager( $this->getContext(), $from, $this->linkRenderer );
$cap->doQuery();
$this->getOutput()->addHTML(
* @ingroup SpecialPage Pager
*/
class CategoryPager extends AlphabeticPager {
- function __construct( IContextSource $context, $from ) {
+
+ /**
+ * @var PageLinkRenderer
+ */
+ protected $linkRenderer;
+
+ /**
+ * @param IContextSource $context
+ * @param string $from
+ * @param PageLinkRenderer $linkRenderer
+ */
+ public function __construct( IContextSource $context, $from, PageLinkRenderer $linkRenderer
+ ) {
parent::__construct( $context );
$from = str_replace( ' ', '_', $from );
if ( $from !== '' ) {
$this->setOffset( $from );
$this->setIncludeOffset( true );
}
+
+ $this->linkRenderer = $linkRenderer;
}
function getQueryInfo() {
}
function formatRow( $result ) {
- $title = Title::makeTitle( NS_CATEGORY, $result->cat_title );
- $titleText = Linker::link( $title, htmlspecialchars( $title->getText() ) );
- $count = $this->msg( 'nmembers' )->numParams( $result->cat_pages )->escaped();
+ $title = new TitleValue( NS_CATEGORY, $result->cat_title );
+ $text = $title->getText();
+ $link = $this->linkRenderer->renderHtmlLink( $title, $text );
- return Xml::tags( 'li', null, $this->getLanguage()->specialList( $titleText, $count ) ) . "\n";
+ $count = $this->msg( 'nmembers' )->numParams( $result->cat_pages )->escaped();
+ return Html::rawElement( 'li', null, $this->getLanguage()->specialList( $link, $count ) ) . "\n";
}
public function getStartForm( $from ) {
),
);
+ if ( !$this->getUser()->isLoggedIn() ) {
+ if ( !LoginForm::getLoginToken() ) {
+ LoginForm::setLoginToken();
+ }
+ $fields['LoginOnChangeToken'] = array(
+ 'type' => 'hidden',
+ 'label' => 'Change Password Token',
+ 'default' => LoginForm::getLoginToken(),
+ );
+ }
+
$extraFields = array();
wfRunHooks( 'ChangePasswordForm', array( &$extraFields ) );
foreach ( $extraFields as $extra ) {
return false;
}
+ if ( !$this->getUser()->isLoggedIn()
+ && $request->getVal( 'wpLoginOnChangeToken' ) !== LoginForm::getLoginToken()
+ ) {
+ // Potential CSRF (bug 62497)
+ return false;
+ }
+
+
if ( $request->getCheck( 'wpCancel' ) ) {
$titleObj = Title::newFromText( $request->getVal( 'returnto' ) );
if ( !$titleObj instanceof Title ) {
* to extensions to subscribe to the hook to parse the row.
*/
wfSuppressWarnings();
- $rev = new Revision( $row );
- $validRevision = (bool)$rev->getId();
+ try {
+ $rev = new Revision( $row );
+ $validRevision = (bool)$rev->getId();
+ } catch ( MWException $e ) {
+ $validRevision = false;
+ }
wfRestoreWarnings();
if ( $validRevision ) {
* @ingroup SpecialPage
*/
class LinkSearchPage extends QueryPage {
+
+ /**
+ * @var PageLinkRenderer
+ */
+ protected $linkRenderer = null;
+
function setParams( $params ) {
$this->mQuery = $params['query'];
$this->mNs = $params['namespace'];
function __construct( $name = 'LinkSearch' ) {
parent::__construct( $name );
+
+ // Since we don't control the constructor parameters, we can't inject services that way.
+ // Instead, we initialize services in the execute() method, and allow them to be overridden
+ // using the setServices() method.
+ }
+
+ /**
+ * Initialize or override the PageLinkRenderer LinkSearchPage collaborates with.
+ * Useful mainly for testing.
+ *
+ * @todo: query logic and rendering logic should be split and also injected
+ *
+ * @param PageLinkRenderer $linkRenderer
+ */
+ public function setPageLinkRenderer(
+ PageLinkRenderer $linkRenderer
+ ) {
+ $this->linkRenderer = $linkRenderer;
+ }
+
+ /**
+ * Initialize any services we'll need (unless it has already been provided via a setter).
+ * This allows for dependency injection even though we don't control object creation.
+ */
+ private function initServices() {
+ if ( !$this->linkRenderer ) {
+ $lang = $this->getContext()->getLanguage();
+ $titleFormatter = new MediaWikiTitleCodec( $lang, GenderCache::singleton() );
+ $this->linkRenderer = new MediaWikiPageLinkRenderer( $titleFormatter );
+ }
}
function isCacheable() {
function execute( $par ) {
global $wgUrlProtocols, $wgMiserMode, $wgScript;
+ $this->initServices();
+
$this->setHeaders();
$this->outputHeader();
* @return string
*/
function formatResult( $skin, $result ) {
- $title = Title::makeTitle( $result->namespace, $result->title );
+ $title = new TitleValue( (int)$result->namespace, $result->title );
+ $pageLink = $this->linkRenderer->renderHtmlLink( $title );
+
$url = $result->url;
- $pageLink = Linker::linkKnown( $title );
$urlLink = Linker::makeExternalLink( $url, $url );
return $this->msg( 'linksearch-line' )->rawParams( $urlLink, $pageLink )->escaped();
$image1 = Title::makeTitle( $result->namespace, $result->title );
$dupeSearch = SpecialPage::getTitleFor( 'FileDuplicateSearch', $image1->getDBKey() );
- $msg = wfMessage( 'listduplicatedfiles-entry' )
+ $msg = $this->msg( 'listduplicatedfiles-entry' )
->params( $image1->getText() )
->numParams( $result->value - 1 )
->params( $dupeSearch->getPrefixedDBKey() );
* @ingroup SpecialPage
*/
class SpecialRevisionDelete extends UnlistedSpecialPage {
- /** True if the submit button was clicked, and the form was posted */
- var $submitClicked;
+ /** @var bool Was the DB modified in this request */
+ protected $wasSaved = false;
- /** Target ID list */
- var $ids;
+ /** @var bool True if the submit button was clicked, and the form was posted */
+ private $submitClicked;
- /** Archive name, for reviewing deleted files */
- var $archiveName;
+ /** @var array Target ID list */
+ private $ids;
- /** Edit token for securing image views against XSS */
- var $token;
+ /** @var string Archive name, for reviewing deleted files */
+ private $archiveName;
- /** Title object for target parameter */
- var $targetObj;
+ /** @var string Edit token for securing image views against XSS */
+ private $token;
- /** Deletion type, may be revision, archive, oldimage, filearchive, logging. */
- var $typeName;
+ /** @var Title object for target parameter */
+ private $targetObj;
- /** Array of checkbox specs (message, name, deletion bits) */
- var $checks;
+ /** @var string Deletion type, may be revision, archive, oldimage, filearchive, logging. */
+ private $typeName;
- /** UI Labels about the current type */
- var $typeLabels;
+ /** @var array of checkbox specs (message, name, deletion bits) */
+ private $checks;
- /** The RevDel_List object, storing the list of items to be deleted/undeleted */
- var $list;
+ /** @var array UI Labels about the current type */
+ private $typeLabels;
- /** Was the DB modified in this request */
- protected $wasSaved = false;
+ /** @var RevDel_List object, storing the list of items to be deleted/undeleted */
+ private $revDelList;
+
+ /** @var bool Whether user is allowed to perform the action */
+ private $mIsAllowed;
+
+ /** @var string */
+ private $otherReason;
/**
* UI labels for each type.
*/
- static $UILabels = array(
+ private static $UILabels = array(
'revision' => array(
'check-label' => 'revdelete-hide-text',
'success' => 'revdelete-success',
'failure' => 'revdelete-failure',
'text' => 'revdelete-text-text',
+ 'selected'=> 'revdelete-selected-text',
),
'archive' => array(
'check-label' => 'revdelete-hide-text',
'success' => 'revdelete-success',
'failure' => 'revdelete-failure',
'text' => 'revdelete-text-text',
+ 'selected'=> 'revdelete-selected-text',
),
'oldimage' => array(
'check-label' => 'revdelete-hide-image',
'success' => 'revdelete-success',
'failure' => 'revdelete-failure',
'text' => 'revdelete-text-file',
+ 'selected'=> 'revdelete-selected-file',
),
'filearchive' => array(
'check-label' => 'revdelete-hide-image',
'success' => 'revdelete-success',
'failure' => 'revdelete-failure',
'text' => 'revdelete-text-file',
+ 'selected'=> 'revdelete-selected-file',
),
'logging' => array(
'check-label' => 'revdelete-hide-name',
'success' => 'logdelete-success',
'failure' => 'logdelete-failure',
'text' => 'logdelete-text',
+ 'selected' => 'logdelete-selected',
),
);
* Get the list object for this request
*/
protected function getList() {
- if ( is_null( $this->list ) ) {
- $this->list = RevisionDeleter::createList(
+ if ( is_null( $this->revDelList ) ) {
+ $this->revDelList = RevisionDeleter::createList(
$this->typeName, $this->getContext(), $this->targetObj, $this->ids
);
}
- return $this->list;
+ return $this->revDelList;
}
/**
protected function showForm() {
$userAllowed = true;
- if ( $this->typeName == 'logging' ) {
- $this->getOutput()->addWikiMsg( 'logdelete-selected', $this->getLanguage()->formatNum( count( $this->ids ) ) );
- } else {
- $this->getOutput()->addWikiMsg( 'revdelete-selected',
- $this->targetObj->getPrefixedText(), count( $this->ids ) );
- }
+ $this->getOutput()->wrapWikiMsg( "<strong>$1</strong>", array( $this->typeLabels['selected'],
+ $this->getLanguage()->formatNum( count( $this->ids ) ), $this->targetObj->getPrefixedText() ) );
$this->getOutput()->addHTML( "<ul>" );
$this->getOutput()->setPageTitle( $this->msg( 'actioncomplete' ) );
$this->getOutput()->wrapWikiMsg( "<span class=\"success\">\n$1\n</span>", $this->typeLabels['success'] );
$this->wasSaved = true;
- $this->list->reloadFromMaster();
+ $this->revDelList->reloadFromMaster();
$this->showForm();
}
* @param $bitfield
* @param $reason
* @param $title
- * @return
+ * @return Status
*/
protected function save( $bitfield, $reason, $title ) {
return $this->getList()->setVisibility(
*/
protected $namespaces;
- /**
- * @var bool
- */
- protected $searchRedirects;
-
/**
* @var string
*/
}
}
- // Redirects defaults to true, but we don't know whether it was ticked of or just missing
- $default = $request->getBool( 'profile' ) ? 0 : 1;
- $this->searchRedirects = $request->getBool( 'redirs', $default ) ? 1 : 0;
$this->didYouMeanHtml = ''; # html of did you mean... link
$this->fulltext = $request->getVal( 'fulltext' );
$this->profile = $profile;
$search = $this->getSearchEngine();
$search->setLimitOffset( $this->limit, $this->offset );
$search->setNamespaces( $this->namespaces );
- $search->showRedirects = $this->searchRedirects; // BC
- $search->setFeatureData( 'list-redirects', $this->searchRedirects );
$search->prefix = $this->mPrefix;
$term = $search->transformSearchTerm( $term );
*/
protected function powerSearchOptions() {
$opt = array();
- $opt['redirs'] = $this->searchRedirects ? 1 : 0;
if ( $this->profile !== 'advanced' ) {
$opt['profile'] = $this->profile;
} else {
protected function getProfileForm( $profile, $term ) {
// Hidden stuff
$opts = array();
- $opts['redirs'] = $this->searchRedirects;
$opts['profile'] = $this->profile;
if ( $profile === 'advanced' ) {
$showSections = array( 'namespaceTables' => $namespaceTables );
- // Show redirects check only if backend supports it
- if ( $this->getSearchEngine()->supports( 'list-redirects' ) ) {
- $showSections['redirects'] =
- Xml::checkLabel( $this->msg( 'powersearch-redir' )->text(), 'redirs', 'redirs', $this->searchRedirects );
- }
-
wfRunHooks( 'SpecialSearchPowerBox', array( &$showSections, $term, $opts ) );
$hidden = '';
- unset( $opts['redirs'] );
foreach ( $opts as $key => $value ) {
$hidden .= Html::hidden( $key, $value );
}
foreach ( $namespaces as $n ) {
$opt['ns' . $n] = 1;
}
- $opt['redirs'] = $this->searchRedirects;
$stParams = array_merge(
array(
$middle = ceil( $total / 2 );
$count = 0;
- $out->wrapWikiMsg( "<h2 class=\"mw-specialpagesgroup\" id=\"mw-specialpagesgroup-$group\">$1</h2>\n", "specialpages-group-$group" );
+ $out->wrapWikiMsg(
+ "<h2 class=\"mw-specialpagesgroup\" id=\"mw-specialpagesgroup-$group\">$1</h2>\n",
+ "specialpages-group-$group"
+ );
$out->addHTML(
- Html::openElement( 'table', array( 'style' => 'width:100%;', 'class' => 'mw-specialpages-table' ) ) . "\n" .
+ Html::openElement(
+ 'table',
+ array( 'style' => 'width:100%;', 'class' => 'mw-specialpages-table' )
+ ) . "\n" .
Html::openElement( 'tr' ) . "\n" .
Html::openElement( 'td', array( 'style' => 'width:30%;vertical-align:top' ) ) . "\n" .
Html::openElement( 'ul' ) . "\n"
}
$link = Linker::linkKnown( $title, htmlspecialchars( $desc ) );
- $out->addHTML( Html::rawElement( 'li', array( 'class' => implode( ' ', $pageClasses ) ), $link ) . "\n" );
+ $out->addHTML( Html::rawElement(
+ 'li',
+ array( 'class' => implode( ' ', $pageClasses ) ),
+ $link
+ ) . "\n" );
# Split up the larger groups
$count++;
* @ingroup SpecialPage
*/
class SpecialStatistics extends SpecialPage {
-
private $views, $edits, $good, $images, $total, $users,
$activeUsers = 0;
/**
* Format a row
- * @param $text String: description of the row
- * @param $number Float: a statistical number
- * @param $trExtraParams Array: params to table row, see Html::elememt
- * @param $descMsg String: message key
+ * @param string $text Description of the row
+ * @param float $number A statistical number
+ * @param array $trExtraParams Params to table row, see Html::elememt
+ * @param string $descMsg Message key
* @param array|string $descMsgParam Message parameters
- * @return string table row in HTML format
+ * @return string Table row in HTML format
*/
- private function formatRow( $text, $number, $trExtraParams = array(), $descMsg = '', $descMsgParam = '' ) {
+ private function formatRow( $text, $number, $trExtraParams = array(),
+ $descMsg = '', $descMsgParam = ''
+ ) {
if ( $descMsg ) {
$msg = $this->msg( $descMsg, $descMsgParam );
if ( $msg->exists() ) {
Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-header-pages' )->parse() ) .
Xml::closeElement( 'tr' ) .
$this->formatRow( Linker::linkKnown( SpecialPage::getTitleFor( 'Allpages' ),
- $this->msg( 'statistics-articles' )->parse() ),
- $this->getLanguage()->formatNum( $this->good ),
- array( 'class' => 'mw-statistics-articles' ) ) .
+ $this->msg( 'statistics-articles' )->parse() ),
+ $this->getLanguage()->formatNum( $this->good ),
+ array( 'class' => 'mw-statistics-articles' ) ) .
$this->formatRow( $this->msg( 'statistics-pages' )->parse(),
- $this->getLanguage()->formatNum( $this->total ),
- array( 'class' => 'mw-statistics-pages' ),
- 'statistics-pages-desc' ) .
+ $this->getLanguage()->formatNum( $this->total ),
+ array( 'class' => 'mw-statistics-pages' ),
+ 'statistics-pages-desc' ) .
$this->formatRow( Linker::linkKnown( SpecialPage::getTitleFor( 'Listfiles' ),
- $this->msg( 'statistics-files' )->parse() ),
- $this->getLanguage()->formatNum( $this->images ),
- array( 'class' => 'mw-statistics-files' ) );
+ $this->msg( 'statistics-files' )->parse() ),
+ $this->getLanguage()->formatNum( $this->images ),
+ array( 'class' => 'mw-statistics-files' ) );
}
private function getEditStats() {
return Xml::openElement( 'tr' ) .
Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-header-edits' )->parse() ) .
Xml::closeElement( 'tr' ) .
- $this->formatRow( $this->msg( 'statistics-edits' )->parse(),
- $this->getLanguage()->formatNum( $this->edits ),
- array( 'class' => 'mw-statistics-edits' ) ) .
- $this->formatRow( $this->msg( 'statistics-edits-average' )->parse(),
- $this->getLanguage()->formatNum( sprintf( '%.2f', $this->total ? $this->edits / $this->total : 0 ) ),
- array( 'class' => 'mw-statistics-edits-average' ) );
+ $this->formatRow( $this->msg( 'statistics-edits' )->parse(),
+ $this->getLanguage()->formatNum( $this->edits ),
+ array( 'class' => 'mw-statistics-edits' )
+ ) .
+ $this->formatRow( $this->msg( 'statistics-edits-average' )->parse(),
+ $this->getLanguage()
+ ->formatNum( sprintf( '%.2f', $this->total ? $this->edits / $this->total : 0 ) ),
+ array( 'class' => 'mw-statistics-edits-average' )
+ );
}
private function getUserStats() {
return Xml::openElement( 'tr' ) .
Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-header-users' )->parse() ) .
Xml::closeElement( 'tr' ) .
- $this->formatRow( $this->msg( 'statistics-users' )->parse(),
- $this->getLanguage()->formatNum( $this->users ),
- array( 'class' => 'mw-statistics-users' ) ) .
- $this->formatRow( $this->msg( 'statistics-users-active' )->parse() . ' ' .
- Linker::linkKnown(
- SpecialPage::getTitleFor( 'Activeusers' ),
- $this->msg( 'listgrouprights-members' )->escaped()
- ),
- $this->getLanguage()->formatNum( $this->activeUsers ),
- array( 'class' => 'mw-statistics-users-active' ),
- 'statistics-users-active-desc',
- $this->getLanguage()->formatNum( $wgActiveUserDays ) );
+ $this->formatRow( $this->msg( 'statistics-users' )->parse(),
+ $this->getLanguage()->formatNum( $this->users ),
+ array( 'class' => 'mw-statistics-users' )
+ ) .
+ $this->formatRow( $this->msg( 'statistics-users-active' )->parse() . ' ' .
+ Linker::linkKnown(
+ SpecialPage::getTitleFor( 'Activeusers' ),
+ $this->msg( 'listgrouprights-members' )->escaped()
+ ),
+ $this->getLanguage()->formatNum( $this->activeUsers ),
+ array( 'class' => 'mw-statistics-users-active' ),
+ 'statistics-users-active-desc',
+ $this->getLanguage()->formatNum( $wgActiveUserDays )
+ );
}
private function getGroupStats() {
if ( $res->numRows() > 0 ) {
$text .= Xml::openElement( 'tr' );
- $text .= Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-mostpopular' )->parse() );
+ $text .= Xml::tags(
+ 'th',
+ array( 'colspan' => '2' ),
+ $this->msg( 'statistics-mostpopular' )->parse()
+ );
$text .= Xml::closeElement( 'tr' );
foreach ( $res as $row ) {
$name = $this->msg( $key )->parse();
$number = htmlspecialchars( $value );
- $return .= $this->formatRow( $name, $this->getLanguage()->formatNum( $number ), array( 'class' => 'mw-statistics-hook', 'id' => 'mw-' . $key ) );
+ $return .= $this->formatRow(
+ $name,
+ $this->getLanguage()->formatNum( $number ),
+ array( 'class' => 'mw-statistics-hook', 'id' => 'mw-' . $key )
+ );
}
} else {
// Create the legacy header only once
}
// Recursively remap the legacy structure
- $return .= $this->getOtherStats( array( 'statistics-header-hooks' => array( $header => $items ) ) );
+ $return .= $this->getOtherStats( array( 'statistics-header-hooks' =>
+ array( $header => $items ) ) );
}
}
* Special page lists images which haven't been categorised
*
* @ingroup SpecialPage
+ * @todo FIXME: Use an instance of UncategorizedPagesPage or something
*/
-// @todo FIXME: Use an instance of UncategorizedPagesPage or something
class UncategorizedImagesPage extends ImageQueryPage {
-
function __construct( $name = 'Uncategorizedimages' ) {
parent::__construct( $name );
}
* A special page looking for page without any category.
*
* @ingroup SpecialPage
+ * @todo FIXME: Make $requestedNamespace selectable, unify all subclasses into one
*/
-// @todo FIXME: Make $requestedNamespace selectable, unify all subclasses into one
class UncategorizedPagesPage extends PageQueryPage {
protected $requestedNamespace = false;
// otherwise, page_namespace is requestedNamespace
'conds' => array(
'cl_from IS NULL',
- 'page_namespace' => ( $this->requestedNamespace !== false ? $this->requestedNamespace : MWNamespace::getContentNamespaces() ),
+ 'page_namespace' => $this->requestedNamespace !== false
+ ? $this->requestedNamespace
+ : MWNamespace::getContentNamespaces(),
'page_is_redirect' => 0
),
'join_conds' => array(
* @ingroup SpecialPage
*/
class PageArchive {
- /**
- * @var Title
- */
+ /** @var Title */
protected $title;
- /**
- * @var Status
- */
+ /** @var Status */
protected $fileStatus;
- /**
- * @var Status
- */
+ /** @var Status */
protected $revisionStatus;
function __construct( $title ) {
* Once restored, the items will be removed from the archive tables.
* The deletion log will be updated with an undeletion notice.
*
- * @param array $timestamps Pass an empty array to restore all revisions, otherwise list the ones to undelete.
+ * @param array $timestamps Pass an empty array to restore all revisions,
+ * otherwise list the ones to undelete.
* @param string $comment
* @param array $fileVersions
* @param bool $unsuppress
* @param User $user User performing the action, or null to use $wgUser
- *
- * @return array(number of file revisions restored, number of image revisions restored, log message)
- * on success, false on failure
+ * @return array(number of file revisions restored, number of image revisions
+ * restored, log message) on success, false on failure.
*/
- function undelete( $timestamps, $comment = '', $fileVersions = array(), $unsuppress = false, User $user = null ) {
+ function undelete( $timestamps, $comment = '', $fileVersions = array(),
+ $unsuppress = false, User $user = null
+ ) {
// If both the set of text revisions and file revisions are empty,
// restore everything. Otherwise, just restore the requested items.
$restoreAll = empty( $timestamps ) && empty( $fileVersions );
* to the cur/old tables. If the page currently exists, all revisions will
* be stuffed into old, otherwise the most recent will go into cur.
*
- * @param array $timestamps Pass an empty array to restore all revisions, otherwise list the ones to undelete.
+ * @param array $timestamps Pass an empty array to restore all revisions,
+ * otherwise list the ones to undelete.
* @param bool $unsuppress Remove all ar_deleted/fa_deleted restrictions of seletected revs
* @param string $comment
* @throws ReadOnlyError
if ( $created || $wasnew ) {
// Update site stats, link tables, etc
$user = User::newFromName( $revision->getRawUserText(), false );
- $article->doEditUpdates( $revision, $user, array( 'created' => $created, 'oldcountable' => $oldcountable ) );
+ $article->doEditUpdates(
+ $revision,
+ $user,
+ array( 'created' => $created, 'oldcountable' => $oldcountable )
+ );
}
wfRunHooks( 'ArticleUndelete', array( &$this->title, $created, $comment ) );
* @ingroup SpecialPage
*/
class SpecialUndelete extends SpecialPage {
- var $mAction, $mTarget, $mTimestamp, $mRestore, $mInvert, $mFilename;
- var $mTargetTimestamp, $mAllowed, $mCanView, $mComment, $mToken;
-
- /**
- * @var Title
- */
- var $mTargetObj;
+ private $mAction;
+ private $mTarget;
+ private $mTimestamp;
+ private $mRestore;
+ private $mInvert;
+ private $mFilename;
+ private $mTargetTimestamp;
+ private $mAllowed;
+ private $mCanView;
+ private $mComment;
+ private $mToken;
+
+ /** @var Title */
+ private $mTargetObj;
function __construct() {
parent::__construct( 'Undelete', 'deletedhistory' );
Xml::label( $this->msg( 'undeletecomment' )->text(), 'wpComment' ) .
"</td>
<td class='mw-input'>" .
- Xml::input( 'wpComment', 50, $this->mComment, array( 'id' => 'wpComment', 'autofocus' => true ) ) .
+ Xml::input(
+ 'wpComment',
+ 50,
+ $this->mComment,
+ array( 'id' => 'wpComment', 'autofocus' => true )
+ ) .
"</td>
</tr>
<tr>
<td> </td>
<td class='mw-submit'>" .
- Xml::submitButton( $this->msg( 'undeletebtn' )->text(), array( 'name' => 'restore', 'id' => 'mw-undelete-submit' ) ) . ' ' .
- Xml::submitButton( $this->msg( 'undeleteinvert' )->text(), array( 'name' => 'invert', 'id' => 'mw-undelete-invert' ) ) .
+ Xml::submitButton(
+ $this->msg( 'undeletebtn' )->text(),
+ array( 'name' => 'restore', 'id' => 'mw-undelete-submit' )
+ ) . ' ' .
+ Xml::submitButton(
+ $this->msg( 'undeleteinvert' )->text(),
+ array( 'name' => 'invert', 'id' => 'mw-undelete-invert' )
+ ) .
"</td>
</tr>" .
$unsuppressBox .
$revdlink = Linker::getRevDeleteLink( $user, $rev, $this->mTargetObj );
$revisionRow = $this->msg( 'undelete-revision-row' )
- ->rawParams( $checkBox, $revdlink, $last, $pageLink, $userLink, $minor, $revTextSize, $comment, $tagSummary )
+ ->rawParams(
+ $checkBox,
+ $revdlink,
+ $last,
+ $pageLink,
+ $userLink,
+ $minor,
+ $revTextSize,
+ $comment,
+ $tagSummary
+ )
->escaped();
return Xml::tags( 'li', $attribs, $revisionRow ) . "\n";
// Show revision undeletion warnings and errors
$status = $archive->getRevisionStatus();
if ( $status && !$status->isGood() ) {
- $out->addWikiText( '<div class="error">' . $status->getWikiText( 'cannotundelete', 'cannotundelete' ) . '</div>' );
+ $out->addWikiText( '<div class="error">' .
+ $status->getWikiText(
+ 'cannotundelete',
+ 'cannotundelete'
+ ) . '</div>'
+ );
}
// Show file undeletion warnings and errors
$status = $archive->getFileStatus();
if ( $status && !$status->isGood() ) {
- $out->addWikiText( '<div class="error">' . $status->getWikiText( 'undelete-error-short', 'undelete-error-long' ) . '</div>' );
+ $out->addWikiText( '<div class="error">' .
+ $status->getWikiText(
+ 'undelete-error-short',
+ 'undelete-error-long'
+ ) . '</div>'
+ );
}
}
* @ingroup SpecialPage
*/
class UnusedCategoriesPage extends QueryPage {
+ function __construct( $name = 'Unusedcategories' ) {
+ parent::__construct( $name );
+ }
function isExpensive() {
return true;
}
- function __construct( $name = 'Unusedcategories' ) {
- parent::__construct( $name );
- }
-
function getPageHeader() {
return $this->msg( 'unusedcategoriestext' )->parseAsBlock();
}
* @ingroup SpecialPage
*/
class UnusedtemplatesPage extends QueryPage {
-
function __construct( $name = 'Unusedtemplates' ) {
parent::__construct( $name );
}
}
/** Misc variables **/
- public $mRequest; // The WebRequest or FauxRequest this form is supposed to handle
+
+ /** @var WebRequest|FauxRequest The request this form is supposed to handle */
+ public $mRequest;
public $mSourceType;
- /**
- * @var UploadBase
- */
+ /** @var UploadBase */
public $mUpload;
- /**
- * @var LocalFile
- */
+ /** @var LocalFile */
public $mLocalFile;
public $mUploadClicked;
/** User input variables from the "description" section **/
- public $mDesiredDestName; // The requested target file name
+
+ /** @var string The requested target file name */
+ public $mDesiredDestName;
public $mComment;
public $mLicense;
/** User input variables from the root section **/
+
public $mIgnoreWarning;
public $mWatchthis;
public $mCopyrightStatus;
public $mCopyrightSource;
/** Hidden variables **/
+
public $mDestWarningAck;
- public $mForReUpload; // The user followed an "overwrite this file" link
- public $mCancelUpload; // The user clicked "Cancel and return to upload form" button
+
+ /** @var bool The user followed an "overwrite this file" link */
+ public $mForReUpload;
+
+ /** @var bool The user clicked "Cancel and return to upload form" button */
+ public $mCancelUpload;
public $mTokenOk;
- public $mUploadSuccessful = false; // Subclasses can use this to determine whether a file was uploaded
+
+ /** @var bool Subclasses can use this to determine whether a file was uploaded */
+ public $mUploadSuccessful = false;
/** Text injection points for hooks not using HTMLForm **/
public $uploadFormTextTop;
} else {
$pageText = false;
}
- $status = $this->mUpload->performUpload( $this->mComment, $pageText, $this->mWatchthis, $this->getUser() );
+
+ $status = $this->mUpload->performUpload(
+ $this->mComment,
+ $pageText,
+ $this->mWatchthis,
+ $this->getUser()
+ );
+
if ( !$status->isGood() ) {
$this->showUploadError( $this->getOutput()->parse( $status->getWikiText() ) );
/**
* Get the initial image page text based on a comment and optional file status information
- * @param $comment string
- * @param $license string
- * @param $copyStatus string
- * @param $source string
+ * @param string $comment
+ * @param string $license
+ * @param string $copyStatus
+ * @param string $source
* @return string
*/
- public static function getInitialPageText( $comment = '', $license = '', $copyStatus = '', $source = '' ) {
+ public static function getInitialPageText( $comment = '', $license = '',
+ $copyStatus = '', $source = ''
+ ) {
global $wgUseCopyrightUpload, $wgForceUIMsgAsContentMsg;
$msg = array();
# Print a list of allowed file extensions, if so configured. We ignore
# MIME type here, it's incomprehensible to most people and too long.
global $wgCheckFileExtensions, $wgStrictFileExtensions,
- $wgFileExtensions, $wgFileBlacklist;
+ $wgFileExtensions, $wgFileBlacklist;
if ( $wgCheckFileExtensions ) {
if ( $wgStrictFileExtensions ) {
# Everything not permitted is banned
$extensionsList =
'<div id="mw-upload-permitted">' .
- $this->msg( 'upload-permitted', $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) ) )->parseAsBlock() .
+ $this->msg(
+ 'upload-permitted',
+ $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) )
+ )->parseAsBlock() .
"</div>\n";
} else {
# We have to list both preferred and prohibited
$extensionsList =
'<div id="mw-upload-preferred">' .
- $this->msg( 'upload-preferred', $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) ) )->parseAsBlock() .
+ $this->msg(
+ 'upload-preferred',
+ $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) )
+ )->parseAsBlock() .
"</div>\n" .
'<div id="mw-upload-prohibited">' .
- $this->msg( 'upload-prohibited', $this->getContext()->getLanguage()->commaList( array_unique( $wgFileBlacklist ) ) )->parseAsBlock() .
+ $this->msg(
+ 'upload-prohibited',
+ $this->getContext()->getLanguage()->commaList( array_unique( $wgFileBlacklist ) )
+ )->parseAsBlock() .
"</div>\n";
}
} else {
* Add upload JS to the OutputPage
*/
protected function addUploadJS() {
- global $wgUseAjax, $wgAjaxUploadDestCheck, $wgAjaxLicensePreview, $wgEnableAPI, $wgStrictFileExtensions;
+ global $wgUseAjax, $wgAjaxUploadDestCheck, $wgAjaxLicensePreview,
+ $wgEnableAPI, $wgStrictFileExtensions;
$useAjaxDestCheck = $wgUseAjax && $wgAjaxUploadDestCheck;
$useAjaxLicensePreview = $wgUseAjax && $wgAjaxLicensePreview && $wgEnableAPI;
/**
* Execute page -- can output a file directly or show a listing of them.
*
- * @param string $subPage subpage, e.g. in http://example.com/wiki/Special:UploadStash/foo.jpg, the "foo.jpg" part
+ * @param string $subPage subpage, e.g. in
+ * http://example.com/wiki/Special:UploadStash/foo.jpg, the "foo.jpg" part
* @return Boolean: success
*/
public function execute( $subPage ) {
$message = $e->getMessage();
} catch ( SpecialUploadStashTooLargeException $e ) {
$code = 500;
- $message = 'Cannot serve a file larger than ' . self::MAX_SERVE_BYTES . ' bytes. ' . $e->getMessage();
+ $message = 'Cannot serve a file larger than ' . self::MAX_SERVE_BYTES .
+ ' bytes. ' . $e->getMessage();
} catch ( Exception $e ) {
$code = 500;
$message = $e->getMessage();
* @return boolean success
*/
private function outputThumbFromStash( $file, $params ) {
-
- // this global, if it exists, points to a "scaler", as you might find in the Wikimedia Foundation cluster. See outputRemoteScaledThumb()
- // this is part of our horrible NFS-based system, we create a file on a mount point here, but fetch the scaled file from somewhere else that
- // happens to share it over NFS
+ // this global, if it exists, points to a "scaler", as you might find in
+ // the Wikimedia Foundation cluster. See outputRemoteScaledThumb(). This
+ // is part of our horrible NFS-based system, we create a file on a mount
+ // point here, but fetch the scaled file from somewhere else that
+ // happens to share it over NFS.
global $wgUploadStashScalerBaseUrl;
$flags = 0;
}
/**
- * Scale a file (probably with a locally installed imagemagick, or similar) and output it to STDOUT.
+ * Scale a file (probably with a locally installed imagemagick, or similar)
+ * and output it to STDOUT.
* @param $file File
* @param array $params Scaling parameters ( e.g. array( width => '50' ) );
* @param int $flags Scaling flags ( see File:: constants )
- * @throws MWException
- * @throws UploadStashFileNotFoundException
+ * @throws MWException|UploadStashFileNotFoundException
* @return boolean success
*/
private function outputLocallyScaledThumb( $file, $params, $flags ) {
-
// n.b. this is stupid, we insist on re-transforming the file every time we are invoked. We rely
// on HTTP caching to ensure this doesn't happen.
}
/**
- * Scale a file with a remote "scaler", as exists on the Wikimedia Foundation cluster, and output it to STDOUT.
- * Note: unlike the usual thumbnail process, the web client never sees the cluster URL; we do the whole HTTP transaction to the scaler ourselves
- * and cat the results out.
- * Note: We rely on NFS to have propagated the file contents to the scaler. However, we do not rely on the thumbnail being created in NFS and then
- * propagated back to our filesystem. Instead we take the results of the HTTP request instead.
- * Note: no caching is being done here, although we are instructing the client to cache it forever.
+ * Scale a file with a remote "scaler", as exists on the Wikimedia Foundation
+ * cluster, and output it to STDOUT.
+ * Note: Unlike the usual thumbnail process, the web client never sees the
+ * cluster URL; we do the whole HTTP transaction to the scaler ourselves
+ * and cat the results out.
+ * Note: We rely on NFS to have propagated the file contents to the scaler.
+ * However, we do not rely on the thumbnail being created in NFS and then
+ * propagated back to our filesystem. Instead we take the results of the
+ * HTTP request instead.
+ * Note: No caching is being done here, although we are instructing the
+ * client to cache it forever.
+ *
* @param File $file
* @param array $params Scaling parameters ( e.g. array( width => '50' ) );
- * @param $flags Scaling flags ( see File:: constants )
+ * @param int $flags Scaling flags ( see File:: constants )
* @throws MWException
* @return boolean success
*/
private function outputRemoteScaledThumb( $file, $params, $flags ) {
-
- // this global probably looks something like 'http://upload.wikimedia.org/wikipedia/test/thumb/temp'
- // do not use trailing slash
+ // This global probably looks something like
+ // 'http://upload.wikimedia.org/wikipedia/test/thumb/temp'. Do not use
+ // trailing slash.
global $wgUploadStashScalerBaseUrl;
$scalerBaseUrl = $wgUploadStashScalerBaseUrl;
* Output HTTP response for file
* Side effect: writes HTTP response to STDOUT.
*
- * @param $file File object with a local path (e.g. UnregisteredLocalFile, LocalFile. Oddly these don't share an ancestor!)
+ * @param File $file File object with a local path (e.g. UnregisteredLocalFile,
+ * LocalFile. Oddly these don't share an ancestor!)
* @throws SpecialUploadStashTooLargeException
* @return bool
*/
/**
* Output headers for streaming
- * XXX unsure about encoding as binary; if we received from HTTP perhaps we should use that encoding, concatted with semicolon to mimeType as it usually is.
+ * @todo Unsure about encoding as binary; if we received from HTTP perhaps
+ * we should use that encoding, concatted with semicolon to mimeType as it
+ * usually is.
* Side effect: preps PHP to write headers to STDOUT.
* @param string $contentType String suitable for content-type header
* @param string $size Length in bytes
class SpecialUploadStashTooLargeException extends MWException {
}
-
* @ingroup SpecialPage
*/
class LoginForm extends SpecialPage {
-
const SUCCESS = 0;
const NO_NAME = 1;
const ILLEGAL = 2;
const NEED_TOKEN = 12;
const WRONG_TOKEN = 13;
- var $mUsername, $mPassword, $mRetype, $mReturnTo, $mCookieCheck, $mPosted;
- var $mAction, $mCreateaccount, $mCreateaccountMail;
- var $mLoginattempt, $mRemember, $mEmail, $mDomain, $mLanguage;
- var $mSkipCookieCheck, $mReturnToQuery, $mToken, $mStickHTTPS;
- var $mType, $mReason, $mRealName;
- var $mAbortLoginErrorMsg = null;
+ public $mAbortLoginErrorMsg = null;
+
+ protected $mUsername;
+ protected $mPassword;
+ protected $mRetype;
+ protected $mReturnTo;
+ protected $mCookieCheck;
+ protected $mPosted;
+ protected $mAction;
+ protected $mCreateaccount;
+ protected $mCreateaccountMail;
+ protected $mLoginattempt;
+ protected $mRemember;
+ protected $mEmail;
+ protected $mDomain;
+ protected $mLanguage;
+ protected $mSkipCookieCheck;
+ protected $mReturnToQuery;
+ protected $mToken;
+ protected $mStickHTTPS;
+ protected $mType;
+ protected $mReason;
+ protected $mRealName;
+
private $mTempPasswordUsed;
private $mLoaded = false;
private $mSecureLoginUrl;
- /**
- * @ var WebRequest
- */
+ /** @var WebRequest */
private $mOverrideRequest = null;
- /**
- * Effective request; set at the beginning of load
- *
- * @var WebRequest $mRequest
- */
+ /** @var WebRequest Effective request; set at the beginning of load */
private $mRequest = null;
/**
$this->mAction = $request->getVal( 'action' );
$this->mRemember = $request->getCheck( 'wpRemember' );
$this->mFromHTTP = $request->getBool( 'fromhttp', false );
- $this->mStickHTTPS = ( !$this->mFromHTTP && $request->getProtocol() === 'https' ) || $request->getBool( 'wpForceHttps', false );
+ $this->mStickHTTPS = ( !$this->mFromHTTP && $request->getProtocol() === 'https' )
+ || $request->getBool( 'wpForceHttps', false );
$this->mLanguage = $request->getText( 'uselang' );
$this->mSkipCookieCheck = $request->getCheck( 'wpSkipCookieCheck' );
- $this->mToken = ( $this->mType == 'signup' ) ? $request->getVal( 'wpCreateaccountToken' ) : $request->getVal( 'wpLoginToken' );
+ $this->mToken = $this->mType == 'signup'
+ ? $request->getVal( 'wpCreateaccountToken' )
+ : $request->getVal( 'wpLoginToken' );
$this->mReturnTo = $request->getVal( 'returnto', '' );
$this->mReturnToQuery = $request->getVal( 'returntoquery', '' );
}
# Include checks that will include GlobalBlocking (Bug 38333)
- $permErrors = $this->getPageTitle()->getUserPermissionsErrors( 'createaccount', $currentUser, true );
+ $permErrors = $this->getPageTitle()->getUserPermissionsErrors(
+ 'createaccount',
+ $currentUser,
+ true
+ );
+
if ( count( $permErrors ) ) {
throw new PermissionsError( 'createaccount', $permErrors );
}
return Status::newFatal( 'sorbs_create_account_reason' );
}
- // Normalize the name so that silly things don't cause "invalid username" errors.
- // User::newFromName does some rather strict checking, rejecting e.g. leading/trailing/multiple spaces.
+ // Normalize the name so that silly things don't cause "invalid username"
+ // errors. User::newFromName does some rather strict checking, rejecting
+ // e.g. leading/trailing/multiple spaces.
$title = Title::makeTitleSafe( NS_USER, $this->mUsername );
if ( !is_object( $title ) ) {
return Status::newFatal( 'noname' );
// Hook point to check for exempt from account creation throttle
if ( !wfRunHooks( 'ExemptFromAccountCreationThrottle', array( $ip ) ) ) {
- wfDebug( "LoginForm::exemptFromAccountCreationThrottle: a hook allowed account creation w/o throttle\n" );
+ wfDebug( "LoginForm::exemptFromAccountCreationThrottle: a hook " .
+ "allowed account creation w/o throttle\n" );
} else {
if ( ( $wgAccountCreationThrottle && $currentUser->isPingLimitable() ) ) {
$key = wfMemcKey( 'acctcreate', 'ip', $ip );
function processLogin() {
global $wgMemc, $wgLang, $wgSecureLogin, $wgPasswordAttemptThrottle,
- $wgInvalidPasswordReset;
+ $wgInvalidPasswordReset;
switch ( $this->authenticateUserData() ) {
case self::SUCCESS:
* @param string $emailText message name of email text
* @return Status object
*/
- function mailPasswordInternal( $u, $throttle = true, $emailTitle = 'passwordremindertitle', $emailText = 'passwordremindertext' ) {
+ function mailPasswordInternal( $u, $throttle = true, $emailTitle = 'passwordremindertitle',
+ $emailText = 'passwordremindertext'
+ ) {
global $wgNewPasswordExpiry;
if ( $u->getEmail() == '' ) {
* @ingroup SpecialPage
*/
class SpecialUserlogout extends UnlistedSpecialPage {
-
function __construct() {
parent::__construct( 'Userlogout' );
}
$targetUser->clearInstanceCache(); // bug 38989
}
- if ( $request->getVal( 'conflictcheck-originalgroups' ) !== implode( ',', $targetUser->getGroups() ) ) {
+ if ( $request->getVal( 'conflictcheck-originalgroups' )
+ !== implode( ',', $targetUser->getGroups() )
+ ) {
$out->addWikiMsg( 'userrights-conflict' );
} else {
$this->saveUserGroups(
function switchForm() {
global $wgScript;
$this->getOutput()->addHTML(
- Html::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'name' => 'uluser', 'id' => 'mw-userrights-form1' ) ) .
+ Html::openElement(
+ 'form',
+ array(
+ 'method' => 'get',
+ 'action' => $wgScript,
+ 'name' => 'uluser',
+ 'id' => 'mw-userrights-form1'
+ )
+ ) .
Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() ) .
Xml::fieldset( $this->msg( 'userrights-lookup-user' )->text() ) .
- Xml::inputLabel( $this->msg( 'userrights-user-editname' )->text(), 'user', 'username', 30, str_replace( '_', ' ', $this->mTarget ), array( 'autofocus' => true ) ) . ' ' .
+ Xml::inputLabel(
+ $this->msg( 'userrights-user-editname' )->text(),
+ 'user',
+ 'username',
+ 30,
+ str_replace( '_', ' ', $this->mTarget ),
+ array( 'autofocus' => true )
+ ) . ' ' .
Xml::submitButton( $this->msg( 'editusergroup' )->text() ) .
Html::closeElement( 'fieldset' ) .
Html::closeElement( 'form' ) . "\n"
$grouplist = $this->msg( 'userrights-groupsmember', $count, $user->getName() )->parse();
$grouplist = '<p>' . $grouplist . ' ' . $displayedList . "</p>\n";
}
+
$count = count( $autoList );
if ( $count > 0 ) {
- $autogrouplistintro = $this->msg( 'userrights-groupsmember-auto', $count, $user->getName() )->parse();
+ $autogrouplistintro = $this->msg( 'userrights-groupsmember-auto', $count, $user->getName() )
+ ->parse();
$grouplist .= '<p>' . $autogrouplistintro . ' ' . $displayedAutolist . "</p>\n";
}
);
$this->getOutput()->addHTML(
- Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getPageTitle()->getLocalURL(), 'name' => 'editGroup', 'id' => 'mw-userrights-form2' ) ) .
+ Xml::openElement(
+ 'form',
+ array(
+ 'method' => 'post',
+ 'action' => $this->getPageTitle()->getLocalURL(),
+ 'name' => 'editGroup',
+ 'id' => 'mw-userrights-form2'
+ )
+ ) .
Html::hidden( 'user', $this->mTarget ) .
Html::hidden( 'wpEditToken', $this->getUser()->getEditToken( $this->mTarget ) ) .
- Html::hidden( 'conflictcheck-originalgroups', implode( ',', $user->getGroups() ) ) . // Conflict detection
+ Html::hidden(
+ 'conflictcheck-originalgroups',
+ implode( ',', $user->getGroups() )
+ ) . // Conflict detection
Xml::openElement( 'fieldset' ) .
- Xml::element( 'legend', array(), $this->msg( 'userrights-editusergroup', $user->getName() )->text() ) .
- $this->msg( 'editinguser' )->params( wfEscapeWikiText( $user->getName() ) )->rawParams( $userToolLinks )->parse() .
+ Xml::element(
+ 'legend',
+ array(),
+ $this->msg( 'userrights-editusergroup', $user->getName() )->text()
+ ) .
+ $this->msg( 'editinguser' )->params( wfEscapeWikiText( $user->getName() ) )
+ ->rawParams( $userToolLinks )->parse() .
$this->msg( 'userrights-groups-help', $user->getName() )->parse() .
$grouplist .
Xml::tags( 'p', null, $this->groupCheckboxes( $groups, $user ) ) .
<td></td>
<td class='mw-submit'>" .
Xml::submitButton( $this->msg( 'saveusergroups' )->text(),
- array( 'name' => 'saveusergroups' ) + Linker::tooltipAndAccesskeyAttribs( 'userrights-set' ) ) .
+ array( 'name' => 'saveusergroups' ) +
+ Linker::tooltipAndAccesskeyAttribs( 'userrights-set' )
+ ) .
"</td>
</tr>" .
Xml::closeElement( 'table' ) . "\n" .
continue;
}
// Messages: userrights-changeable-col, userrights-unchangeable-col
- $ret .= Xml::element( 'th', null, $this->msg( 'userrights-' . $name . '-col', count( $column ) )->text() );
+ $ret .= Xml::element(
+ 'th',
+ null,
+ $this->msg( 'userrights-' . $name . '-col', count( $column ) )->text()
+ );
}
+
$ret .= "</tr>\n<tr>\n";
foreach ( $columns as $column ) {
if ( $column === array() ) {
// $this->changeableGroups()['remove'] doesn't work, of course. Thanks, PHP.
$groups = $this->changeableGroups();
- return in_array( $group, $groups['remove'] ) || ( $this->isself && in_array( $group, $groups['remove-self'] ) );
+ return in_array(
+ $group,
+ $groups['remove'] ) || ( $this->isself && in_array( $group, $groups['remove-self'] )
+ );
}
/**
private function canAdd( $group ) {
$groups = $this->changeableGroups();
- return in_array( $group, $groups['add'] ) || ( $this->isself && in_array( $group, $groups['add-self'] ) );
+ return in_array(
+ $group,
+ $groups['add'] ) || ( $this->isself && in_array( $group, $groups['add-self'] )
+ );
}
/**
* Returns $this->getUser()->changeableGroups()
*
- * @return Array array( 'add' => array( addablegroups ), 'remove' => array( removablegroups ), 'add-self' => array( addablegroups to self ), 'remove-self' => array( removable groups from self ) )
+ * @return array array(
+ * 'add' => array( addablegroups ),
+ * 'remove' => array( removablegroups ),
+ * 'add-self' => array( addablegroups to self ),
+ * 'remove-self' => array( removable groups from self )
+ * )
*/
function changeableGroups() {
return $this->getUser()->changeableGroups();
* @ingroup SpecialPage
*/
class SpecialVersion extends SpecialPage {
-
protected $firstExtOpened = false;
protected static $extensionTypes = false;
* @return string
*/
private static function getMediaWikiCredits() {
- $ret = Xml::element( 'h2', array( 'id' => 'mw-version-license' ), wfMessage( 'version-license' )->text() );
+ $ret = Xml::element(
+ 'h2',
+ array( 'id' => 'mw-version-license' ),
+ wfMessage( 'version-license' )->text()
+ );
// This text is always left-to-right.
$ret .= '<div class="plainlinks">';
global $wgLang;
if ( defined( 'MEDIAWIKI_INSTALL' ) ) {
- $othersLink = '[//www.mediawiki.org/wiki/Special:Version/Credits ' . wfMessage( 'version-poweredby-others' )->text() . ']';
+ $othersLink = '[//www.mediawiki.org/wiki/Special:Version/Credits ' .
+ wfMessage( 'version-poweredby-others' )->text() . ']';
} else {
- $othersLink = '[[Special:Version/Credits|' . wfMessage( 'version-poweredby-others' )->text() . ']]';
+ $othersLink = '[[Special:Version/Credits|' .
+ wfMessage( 'version-poweredby-others' )->text() . ']]';
}
- $translatorsLink = '[//translatewiki.net/wiki/Translating:MediaWiki/Credits ' . wfMessage( 'version-poweredby-translators' )->text() . ']';
+ $translatorsLink = '[//translatewiki.net/wiki/Translating:MediaWiki/Credits ' .
+ wfMessage( 'version-poweredby-translators' )->text() . ']';
$authorList = array(
'Magnus Manske', 'Brion Vibber', 'Lee Daniel Crocker',
// Allow a hook to add/remove items.
wfRunHooks( 'SoftwareInfo', array( &$software ) );
- $out = Xml::element( 'h2', array( 'id' => 'mw-version-software' ), wfMessage( 'version-software' )->text() ) .
+ $out = Xml::element(
+ 'h2',
+ array( 'id' => 'mw-version-software' ),
+ wfMessage( 'version-software' )->text()
+ ) .
Xml::openElement( 'table', array( 'class' => 'wikitable plainlinks', 'id' => 'sv-software' ) ) .
"<tr>
<th>" . wfMessage( 'version-software-product' )->text() . "</th>
/**
* @since 1.22 Returns the HEAD date in addition to the sha1 and link
- * @return bool|string wgVersion + HEAD sha1 stripped to the first 7 chars with link and date, or false on failure
+ * @return bool|string wgVersion + HEAD sha1 stripped to the first 7 chars
+ * with link and date, or false on failure
*/
private static function getVersionLinkedGit() {
global $IP, $wgLang;
*/
wfRunHooks( 'SpecialVersionExtensionTypes', array( &$this, &$extensionTypes ) );
- $out = Xml::element( 'h2', array( 'id' => 'mw-version-ext' ), $this->msg( 'version-extensions' )->text() ) .
+ $out = Xml::element(
+ 'h2',
+ array( 'id' => 'mw-version-ext' ),
+ $this->msg( 'version-extensions' )->text()
+ ) .
Xml::openElement( 'table', array( 'class' => 'wikitable plainlinks', 'id' => 'sv-ext' ) );
// Make sure the 'other' type is set to an array.
}
}
- $versionString = Html::rawElement( 'span', array( 'class' => 'mw-version-ext-version' ), $canonicalVersion );
+ $versionString = Html::rawElement(
+ 'span',
+ array( 'class' => 'mw-version-ext-version' ),
+ $canonicalVersion
+ );
+
if ( $vcsVersion ) {
if ( $vcsLink ) {
$vcsVerString = Linker::makeExternalLink(
sort( $list );
}
- return $this->getLanguage()->listToText( array_map( array( __CLASS__, 'arrayToString' ), $list ) );
+ return $this->getLanguage()
+ ->listToText( array_map( array( __CLASS__, 'arrayToString' ), $list ) );
}
}
'dir' => $language->getDir(),
'lang' => $language->getCode()
);
- $out = Html::element( 'h2', array( 'id' => 'mw-version-entrypoints' ), $this->msg( 'version-entrypoints' )->text() ) .
+ $out = Html::element(
+ 'h2',
+ array( 'id' => 'mw-version-entrypoints' ),
+ $this->msg( 'version-entrypoints' )->text()
+ ) .
Html::openElement( 'table',
array(
'class' => 'wikitable plainlinks',
)
) .
Html::openElement( 'tr' ) .
- Html::element( 'th', $thAttribures, $this->msg( 'version-entrypoints-header-entrypoint' )->text() ) .
- Html::element( 'th', $thAttribures, $this->msg( 'version-entrypoints-header-url' )->text() ) .
+ Html::element(
+ 'th',
+ $thAttribures,
+ $this->msg( 'version-entrypoints-header-entrypoint' )->text()
+ ) .
+ Html::element(
+ 'th',
+ $thAttribures,
+ $this->msg( 'version-entrypoints-header-url' )->text()
+ ) .
Html::closeElement( 'tr' );
foreach ( $entryPoints as $message => $value ) {
* @ingroup SpecialPage
*/
class WantedTemplatesPage extends WantedQueryPage {
-
function __construct( $name = 'Wantedtemplates' ) {
parent::__construct( $name );
}
* @ingroup SpecialPage
*/
class SpecialWatchlist extends ChangesListSpecialPage {
- /**
- * Constructor
- */
public function __construct( $page = 'Watchlist', $restriction = 'viewmywatchlist' ) {
parent::__construct( $page, $restriction );
}
// Calculate cutoff
if ( $opts['days'] > 0 ) {
- $conds[] = 'rc_timestamp > ' . $dbr->addQuotes( $dbr->timestamp( time() - intval( $opts['days'] * 86400 ) ) );
+ $conds[] = 'rc_timestamp > ' .
+ $dbr->addQuotes( $dbr->timestamp( time() - intval( $opts['days'] * 86400 ) ) );
}
return $conds;
$label = $this->msg( $value ? 'show' : 'hide' )->escaped();
$options[$name] = 1 - (int)$value;
- return $this->msg( $message )->rawParams( Linker::linkKnown( $this->getPageTitle(), $label, array(), $options ) )->escaped();
+ return $this->msg( $message )
+ ->rawParams( Linker::linkKnown( $this->getPageTitle(), $label, array(), $options ) )
+ ->escaped();
}
protected function hoursLink( $h, $options = array() ) {
protected function daysLink( $d, $options = array() ) {
$options['days'] = $d;
- $message = ( $d ? $this->getLanguage()->formatNum( $d ) : $this->msg( 'watchlistall2' )->escaped() );
+ $message = $d ? $this->getLanguage()->formatNum( $d )
+ : $this->msg( 'watchlistall2' )->escaped();
return Linker::linkKnown(
$this->getPageTitle(),
* @ingroup SpecialPage
*/
class SpecialWhatLinksHere extends IncludableSpecialPage {
-
- /**
- * @var FormOptions
- */
+ /** @var FormOptions */
protected $opts;
protected $selfTitle;
- /**
- * @var Title
- */
+ /** @var Title */
protected $target;
protected $limits = array( 20, 50, 100, 250, 500 );
$out->setPageTitle( $this->msg( 'whatlinkshere-title', $this->target->getPrefixedText() ) );
$out->addBacklinkSubtitle( $this->target );
- $this->showIndirectLinks( 0, $this->target, $opts->getValue( 'limit' ), $opts->getValue( 'from' ), $opts->getValue( 'back' ) );
+ $this->showIndirectLinks(
+ 0,
+ $this->target,
+ $opts->getValue( 'limit' ),
+ $opts->getValue( 'from' ),
+ $opts->getValue( 'back' )
+ );
}
/**
);
}
- if ( ( !$fetchlinks || !$plRes->numRows() ) && ( $hidetrans || !$tlRes->numRows() ) && ( $hideimages || !$ilRes->numRows() ) ) {
+ if ( ( !$fetchlinks || !$plRes->numRows() )
+ && ( $hidetrans || !$tlRes->numRows() )
+ && ( $hideimages || !$ilRes->numRows() )
+ ) {
if ( 0 == $level ) {
if ( !$this->including() ) {
$out->addHTML( $this->whatlinkshereForm() );
}
if ( count( $props ) ) {
- $propsText = $this->msg( 'parentheses' )->rawParams( implode( $msgcache['semicolon-separator'], $props ) )->escaped();
+ $propsText = $this->msg( 'parentheses' )
+ ->rawParams( implode( $msgcache['semicolon-separator'], $props ) )->escaped();
}
# Space for utilities links, with a what-links-here link provided
$wlhLink = $this->wlhLink( $nt, $msgcache['whatlinkshere-links'] );
- $wlh = Xml::wrapClass( $this->msg( 'parentheses' )->rawParams( $wlhLink )->escaped(), 'mw-whatlinkshere-tools' );
+ $wlh = Xml::wrapClass(
+ $this->msg( 'parentheses' )->rawParams( $wlhLink )->escaped(),
+ 'mw-whatlinkshere-tools'
+ );
return $notClose ?
Xml::openElement( 'li' ) . "$link $propsText $dirmark $wlh\n" :
$types[] = 'hideimages';
}
- // Combined message keys: 'whatlinkshere-hideredirs', 'whatlinkshere-hidetrans', 'whatlinkshere-hidelinks', 'whatlinkshere-hideimages'
+ // Combined message keys: 'whatlinkshere-hideredirs', 'whatlinkshere-hidetrans',
+ // 'whatlinkshere-hidelinks', 'whatlinkshere-hideimages'
// To be sure they will be found by grep
foreach ( $types as $type ) {
$chosen = $this->opts->getValue( $type );
$this->makeSelfLink( $msg, array_merge( $changed, $overrides ) ) )->escaped();
}
- return Xml::fieldset( $this->msg( 'whatlinkshere-filters' )->text(), $this->getLanguage()->pipeList( $links ) );
+ return Xml::fieldset(
+ $this->msg( 'whatlinkshere-filters' )->text(),
+ $this->getLanguage()->pipeList( $links )
+ );
}
protected function getGroupName() {
Html::openElement( 'fieldset' ) . "\n" .
Html::element( 'legend', null, $this->msg( 'withoutinterwiki-legend' )->text() ) . "\n" .
Html::hidden( 'title', $t->getPrefixedText() ) . "\n" .
- Xml::inputLabel( $this->msg( 'allpagesprefix' )->text(), 'prefix', 'wiprefix', 20, $prefix ) . "\n" .
+ Xml::inputLabel(
+ $this->msg( 'allpagesprefix' )->text(),
+ 'prefix',
+ 'wiprefix',
+ 20,
+ $prefix
+ ) . "\n" .
Xml::submitButton( $this->msg( 'withoutinterwiki-submit' )->text() ) . "\n" .
Html::closeElement( 'fieldset' ) . "\n" .
Html::closeElement( 'form' );
--- /dev/null
+<?php
+/**
+ * Representation of a page title within %MediaWiki.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * MalformedTitleException is thrown when a TitleParser is unable to parse a title string.
+ *
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+class MalformedTitleException extends Exception {
+
+}
--- /dev/null
+<?php
+/**
+ * A service for generating links from page titles
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * A service for generating links from page titles.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+class MediaWikiPageLinkRenderer implements PageLinkRenderer {
+
+ /**
+ * @var TitleFormatter
+ */
+ protected $formatter;
+
+ /**
+ * @var string
+ */
+ protected $baseUrl;
+
+ /**
+ * @note $formatter and $baseUrl are currently not used for generating links,
+ * since we still rely on the Linker class to generate the actual HTML.
+ * Once this is reversed so that Linker becomes a legacy interface to
+ * HtmlPageLinkRenderer, we will be using them, so it seems prudent to
+ * already declare the dependency and inject them.
+ *
+ * @param TitleFormatter $formatter formatter for generating the target title string
+ * @param string $baseUrl (currently unused, pending refactoring of Linker).
+ * Defaults to $wgArticlePath.
+ */
+ public function __construct( TitleFormatter $formatter, $baseUrl = null ) {
+ if ( $baseUrl === null ) {
+ $baseUrl = $GLOBALS['wgArticlePath'];
+ }
+
+ $this->formatter = $formatter;
+ $this->baseUrl = $baseUrl;
+ }
+
+ /**
+ * Returns the (partial) URL for the given page (including any section identifier).
+ *
+ * @param TitleValue $page The link's target
+ * @param array $params any additional URL parameters.
+ *
+ * @return string
+ */
+ public function getPageUrl( TitleValue $page, $params = array() ) {
+ //TODO: move the code from Linker::linkUrl here!
+ //The below is just a rough estimation!
+
+ $name = $this->formatter->getPrefixedText( $page );
+ $name = str_replace( ' ', '_', $name );
+ $name = wfUrlencode( $name );
+
+ $url = $this->baseUrl . $name;
+
+ if ( $params ) {
+ $separator = ( strpos( $url, '?' ) ) ? '&' : '?';
+ $url .= $separator . wfArrayToCgi( $params );
+ }
+
+ $fragment = $page->getFragment();
+ if ( $fragment !== '' ) {
+ $url = $url . '#' . wfUrlencode( $fragment );
+ }
+
+ return $url;
+ }
+
+ /**
+ * Returns an HTML link to the given page, using the given surface text.
+ *
+ * @param TitleValue $page The link's target
+ * @param string $text The link's surface text (will be derived from $page if not given).
+ *
+ * @return string
+ */
+ public function renderHtmlLink( TitleValue $page, $text = null ) {
+ if ( $text === null ) {
+ $text = $this->formatter->getFullText( $page );
+ }
+
+ // TODO: move the logic implemented by Linker here,
+ // using $this->formatter and $this->baseUrl, and
+ // re-implement Linker to use a HtmlPageLinkRenderer.
+ $title = Title::newFromTitleValue( $page );
+ $link = Linker::link( $title, htmlspecialchars( $text ) );
+ return $link;
+ }
+
+ /**
+ * Returns a wikitext link to the given page, using the given surface text.
+ *
+ * @param TitleValue $page The link's target
+ * @param string $text The link's surface text (will be derived from $page if not given).
+ *
+ * @return string
+ */
+ public function renderWikitextLink( TitleValue $page, $text = null ) {
+ if ( $text === null ) {
+ $text = $this->formatter->getFullText( $page );
+ }
+
+ $name = $this->formatter->getFullText( $page );
+
+ return '[[:' . $name . '|' . wfEscapeWikiText( $text ) . ']]';
+ }
+}
--- /dev/null
+<?php
+/**
+ * A codec for %MediaWiki page titles.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * A codec for %MediaWiki page titles.
+ *
+ * @note: Normalization and validation is applied while parsing, not when formatting.
+ * It's possible to construct a TitleValue with an invalid title, and use MediaWikiTitleCodec
+ * to generate an (invalid) title string from it. TitleValues should be constructed only
+ * via parseTitle() or from a (semi)trusted source, such as the database.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+class MediaWikiTitleCodec implements TitleFormatter, TitleParser {
+
+ /**
+ * @var Language
+ */
+ protected $language;
+
+ /**
+ * @var GenderCache
+ */
+ protected $genderCache;
+
+ /**
+ * @var string[]
+ */
+ protected $localInterwikis;
+
+ /**
+ * @param Language $language the language object to use for localizing namespace names.
+ * @param GenderCache $genderCache the gender cache for generating gendered namespace names
+ * @param string[]|string $localInterwikis
+ */
+ public function __construct( Language $language, GenderCache $genderCache, $localInterwikis = array() ) {
+ $this->language = $language;
+ $this->genderCache = $genderCache;
+ $this->localInterwikis = (array)$localInterwikis;
+ }
+
+ /**
+ * @see TitleFormatter::getNamespaceName()
+ *
+ * @param int $namespace
+ * @param string $text
+ *
+ * @throws InvalidArgumentException if the namespace is invalid
+ * @return String
+ */
+ public function getNamespaceName( $namespace, $text ) {
+ if ( $this->language->needsGenderDistinction() &&
+ MWNamespace::hasGenderDistinction( $namespace ) ) {
+
+ //NOTE: we are assuming here that the title text is a user name!
+ $gender = $this->genderCache->getGenderOf( $text, __METHOD__ );
+ $name = $this->language->getGenderNsText( $namespace, $gender );
+ } else {
+ $name = $this->language->getNsText( $namespace );
+ }
+
+ if ( $name === false ) {
+ throw new InvalidArgumentException( 'Unknown namespace ID: ' . $namespace );
+ }
+
+ return $name;
+ }
+
+ /**
+ * @see TitleFormatter::formatTitle()
+ *
+ * @param int|bool $namespace The namespace ID (or false, if the namespace should be ignored)
+ * @param string $text The page title. Should be valid. Only minimal normalization is applied.
+ * Underscores will be replaced.
+ * @param string $fragment The fragment name (may be empty).
+ *
+ * @throws InvalidArgumentException if the namespace is invalid
+ * @return string
+ */
+ public function formatTitle( $namespace, $text, $fragment = '' ) {
+ if ( $namespace !== false ) {
+ $namespace = $this->getNamespaceName( $namespace, $text );
+
+ if ( $namespace !== '' ) {
+ $text = $namespace . ':' . $text;
+ }
+ }
+
+ if ( $fragment !== '' ) {
+ $text = $text . '#' . $fragment;
+ }
+
+ $text = str_replace( '_', ' ', $text );
+
+ return $text;
+ }
+
+ /**
+ * Parses the given text and constructs a TitleValue. Normalization
+ * is applied according to the rules appropriate for the form specified by $form.
+ *
+ * @param string $text the text to parse
+ * @param int $defaultNamespace namespace to assume per default (usually NS_MAIN)
+ *
+ * @throws MalformedTitleException
+ * @return TitleValue
+ */
+ public function parseTitle( $text, $defaultNamespace ) {
+ // NOTE: this is an ugly cludge that allows this class to share the
+ // code for parsing with the old Title class. The parser code should
+ // be refactored to avoid this.
+ $parts = $this->splitTitleString( $text, $defaultNamespace );
+
+ // Interwiki links are not supported by TitleValue
+ if ( $parts['interwiki'] !== '' ) {
+ throw new MalformedTitleException( 'Title must not contain an interwiki prefix: ' . $text );
+ }
+
+ // Relative fragment links are not supported by TitleValue
+ if ( $parts['dbkey'] === '' ) {
+ throw new MalformedTitleException( 'Title must not be empty: ' . $text );
+ }
+
+ return new TitleValue( $parts['namespace'], $parts['dbkey'], $parts['fragment'] );
+ }
+
+ /**
+ * @see TitleFormatter::getText()
+ *
+ * @param TitleValue $title
+ *
+ * @return string $title->getText()
+ */
+ public function getText( TitleValue $title ) {
+ return $this->formatTitle( false, $title->getText(), '' );
+ }
+
+ /**
+ * @see TitleFormatter::getText()
+ *
+ * @param TitleValue $title
+ *
+ * @return string
+ */
+ public function getPrefixedText( TitleValue $title ) {
+ return $this->formatTitle( $title->getNamespace(), $title->getText(), '' );
+ }
+
+ /**
+ * @see TitleFormatter::getText()
+ *
+ * @param TitleValue $title
+ *
+ * @return string
+ */
+ public function getFullText( TitleValue $title ) {
+ return $this->formatTitle( $title->getNamespace(), $title->getText(), $title->getFragment() );
+ }
+
+ /**
+ * Normalizes and splits a title string.
+ *
+ * This function removes illegal characters, splits off the interwiki and
+ * namespace prefixes, sets the other forms, and canonicalizes
+ * everything.
+ *
+ * @todo: this method is only exposed as a temporary measure to ease refactoring.
+ * It was copied with minimal changes from Title::secureAndSplit().
+ *
+ * @todo: This method should be split up and an appropriate interface
+ * defined for use by the Title class.
+ *
+ * @param string $text
+ * @param int $defaultNamespace
+ *
+ * @throws MalformedTitleException If $text is not a valid title string.
+ * @return array A mapp with the fields 'interwiki', 'fragment', 'namespace',
+ * 'user_case_dbkey', and 'dbkey'.
+ */
+ public function splitTitleString( $text, $defaultNamespace = NS_MAIN ) {
+ $dbkey = str_replace( ' ', '_', $text );
+
+ # Initialisation
+ $parts = array(
+ 'interwiki' => '',
+ 'fragment' => '',
+ 'namespace' => $defaultNamespace,
+ 'dbkey' => $dbkey,
+ 'user_case_dbkey' => $dbkey,
+ );
+
+ # Strip Unicode bidi override characters.
+ # Sometimes they slip into cut-n-pasted page titles, where the
+ # override chars get included in list displays.
+ $dbkey = preg_replace( '/\xE2\x80[\x8E\x8F\xAA-\xAE]/S', '', $dbkey );
+
+ # Clean up whitespace
+ # Note: use of the /u option on preg_replace here will cause
+ # input with invalid UTF-8 sequences to be nullified out in PHP 5.2.x,
+ # conveniently disabling them.
+ $dbkey = preg_replace( '/[ _\xA0\x{1680}\x{180E}\x{2000}-\x{200A}\x{2028}\x{2029}\x{202F}\x{205F}\x{3000}]+/u', '_', $dbkey );
+ $dbkey = trim( $dbkey, '_' );
+
+ if ( strpos( $dbkey, UTF8_REPLACEMENT ) !== false ) {
+ # Contained illegal UTF-8 sequences or forbidden Unicode chars.
+ throw new MalformedTitleException( 'Bad UTF-8 sequences found in title: ' . $text );
+ }
+
+ $parts['dbkey'] = $dbkey;
+
+ # Initial colon indicates main namespace rather than specified default
+ # but should not create invalid {ns,title} pairs such as {0,Project:Foo}
+ if ( $dbkey !== '' && ':' == $dbkey[0] ) {
+ $parts['namespace'] = NS_MAIN;
+ $dbkey = substr( $dbkey, 1 ); # remove the colon but continue processing
+ $dbkey = trim( $dbkey, '_' ); # remove any subsequent whitespace
+ }
+
+ if ( $dbkey == '' ) {
+ throw new MalformedTitleException( 'Empty title: ' . $text );
+ }
+
+ # Namespace or interwiki prefix
+ $firstPass = true;
+ $prefixRegexp = "/^(.+?)_*:_*(.*)$/S";
+ do {
+ $m = array();
+ if ( preg_match( $prefixRegexp, $dbkey, $m ) ) {
+ $p = $m[1];
+ if ( ( $ns = $this->language->getNsIndex( $p ) ) !== false ) {
+ # Ordinary namespace
+ $dbkey = $m[2];
+ $parts['namespace'] = $ns;
+ # For Talk:X pages, check if X has a "namespace" prefix
+ if ( $ns == NS_TALK && preg_match( $prefixRegexp, $dbkey, $x ) ) {
+ if ( $this->language->getNsIndex( $x[1] ) ) {
+ # Disallow Talk:File:x type titles...
+ throw new MalformedTitleException( 'Bad namespace prefix: ' . $text );
+ } elseif ( Interwiki::isValidInterwiki( $x[1] ) ) {
+ //TODO: get rid of global state!
+ # Disallow Talk:Interwiki:x type titles...
+ throw new MalformedTitleException( 'Interwiki prefix found in title: ' . $text );
+ }
+ }
+ } elseif ( Interwiki::isValidInterwiki( $p ) ) {
+ if ( !$firstPass ) {
+ //TODO: get rid of global state!
+ # Can't make a local interwiki link to an interwiki link.
+ # That's just crazy!
+ throw new MalformedTitleException( 'Interwiki prefix found in title: ' . $text );
+ }
+
+ # Interwiki link
+ $dbkey = $m[2];
+ $parts['interwiki'] = $this->language->lc( $p );
+
+ # Redundant interwiki prefix to the local wiki
+ foreach ( $this->localInterwikis as $localIW ) {
+ if ( 0 == strcasecmp( $parts['interwiki'], $localIW ) ) {
+ if ( $dbkey == '' ) {
+ # Can't have an empty self-link
+ throw new MalformedTitleException( 'Local interwiki with empty title: ' . $text );
+ }
+ $parts['interwiki'] = '';
+ $firstPass = false;
+
+ # Do another namespace split...
+ continue 2;
+ }
+ }
+
+ # If there's an initial colon after the interwiki, that also
+ # resets the default namespace
+ if ( $dbkey !== '' && $dbkey[0] == ':' ) {
+ $parts['namespace'] = NS_MAIN;
+ $dbkey = substr( $dbkey, 1 );
+ }
+ }
+ # If there's no recognized interwiki or namespace,
+ # then let the colon expression be part of the title.
+ }
+ break;
+ } while ( true );
+
+ $fragment = strstr( $dbkey, '#' );
+ if ( false !== $fragment ) {
+ $parts['fragment'] = str_replace( '_', ' ', substr( $fragment, 1 ) );
+ $dbkey = substr( $dbkey, 0, strlen( $dbkey ) - strlen( $fragment ) );
+ # remove whitespace again: prevents "Foo_bar_#"
+ # becoming "Foo_bar_"
+ $dbkey = preg_replace( '/_*$/', '', $dbkey );
+ }
+
+ # Reject illegal characters.
+ $rxTc = Title::getTitleInvalidRegex();
+ if ( preg_match( $rxTc, $dbkey ) ) {
+ throw new MalformedTitleException( 'Illegal characters found in title: ' . $text );
+ }
+
+ # Pages with "/./" or "/../" appearing in the URLs will often be un-
+ # reachable due to the way web browsers deal with 'relative' URLs.
+ # Also, they conflict with subpage syntax. Forbid them explicitly.
+ if (
+ strpos( $dbkey, '.' ) !== false &&
+ (
+ $dbkey === '.' || $dbkey === '..' ||
+ strpos( $dbkey, './' ) === 0 ||
+ strpos( $dbkey, '../' ) === 0 ||
+ strpos( $dbkey, '/./' ) !== false ||
+ strpos( $dbkey, '/../' ) !== false ||
+ substr( $dbkey, -2 ) == '/.' ||
+ substr( $dbkey, -3 ) == '/..'
+ )
+ ) {
+ throw new MalformedTitleException( 'Bad title: ' . $text );
+ }
+
+ # Magic tilde sequences? Nu-uh!
+ if ( strpos( $dbkey, '~~~' ) !== false ) {
+ throw new MalformedTitleException( 'Bad title: ' . $text );
+ }
+
+ # Limit the size of titles to 255 bytes. This is typically the size of the
+ # underlying database field. We make an exception for special pages, which
+ # don't need to be stored in the database, and may edge over 255 bytes due
+ # to subpage syntax for long titles, e.g. [[Special:Block/Long name]]
+ if (
+ ( $parts['namespace'] != NS_SPECIAL && strlen( $dbkey ) > 255 )
+ || strlen( $dbkey ) > 512
+ ) {
+ throw new MalformedTitleException( 'Title too long: ' . substr( $dbkey, 0, 255 ) . '...' );
+ }
+
+ # Normally, all wiki links are forced to have an initial capital letter so [[foo]]
+ # and [[Foo]] point to the same place. Don't force it for interwikis, since the
+ # other site might be case-sensitive.
+ $parts['user_case_dbkey'] = $dbkey;
+ if ( $parts['interwiki'] === '' ) {
+ $dbkey = Title::capitalize( $dbkey, $parts['namespace'] );
+ }
+
+ # Can't make a link to a namespace alone... "empty" local links can only be
+ # self-links with a fragment identifier.
+ if ( $dbkey == '' && $parts['interwiki'] === '' ) {
+ if ( $parts['namespace'] != NS_MAIN ) {
+ throw new MalformedTitleException( 'Empty title: ' . $text );
+ }
+ }
+
+ // Allow IPv6 usernames to start with '::' by canonicalizing IPv6 titles.
+ // IP names are not allowed for accounts, and can only be referring to
+ // edits from the IP. Given '::' abbreviations and caps/lowercaps,
+ // there are numerous ways to present the same IP. Having sp:contribs scan
+ // them all is silly and having some show the edits and others not is
+ // inconsistent. Same for talk/userpages. Keep them normalized instead.
+ if ( $parts['namespace'] == NS_USER || $parts['namespace'] == NS_USER_TALK ) {
+ $dbkey = IP::sanitizeIP( $dbkey );
+ }
+
+ // Any remaining initial :s are illegal.
+ if ( $dbkey !== '' && ':' == $dbkey[0] ) {
+ throw new MalformedTitleException( 'Title must not start with a colon: ' . $text );
+ }
+
+ # Fill fields
+ $parts['dbkey'] = $dbkey;
+ return $parts;
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * Represents a link rendering service for %MediaWiki.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * Represents a link rendering service for %MediaWiki.
+ *
+ * This is designed to encapsulate the knowledge about how page titles map to
+ * URLs, and how links are encoded in a given output format.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+interface PageLinkRenderer {
+
+ /**
+ * Returns the URL for the given page.
+ *
+ * @todo expand this to cover the functionality of Linker::linkUrl
+ *
+ * @param TitleValue $page The link's target
+ * @param array $params any additional URL parameters.
+ *
+ * @return string
+ */
+ public function getPageUrl( TitleValue $page, $params = array() );
+
+ /**
+ * Returns an HTML link to the given page, using the given surface text.
+ *
+ * @todo expand this to cover the functionality of Linker::link
+ *
+ * @param TitleValue $page The link's target
+ * @param string $text The link's surface text (will be derived from $page if not given).
+ *
+ * @return string
+ */
+ public function renderHtmlLink( TitleValue $page, $text = null );
+
+ /**
+ * Returns a wikitext link to the given page, using the given surface text.
+ *
+ * @param TitleValue $page The link's target
+ * @param string $text The link's surface text (will be derived from $page if not given).
+ *
+ * @return string
+ */
+ public function renderWikitextLink( TitleValue $page, $text = null );
+
+}
--- /dev/null
+<?php
+/**
+ * A title formatter service for %MediaWiki.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * A title formatter service for MediaWiki.
+ *
+ * This is designed to encapsulate knowledge about conventions for the title
+ * forms to be used in the database, in urls, in wikitext, etc.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+interface TitleFormatter {
+
+ /**
+ * Returns the title formatted for display.
+ * Per default, this includes the namespace but not the fragment.
+ *
+ * @note Normalization is applied if $title is not in TitleValue::TITLE_FORM.
+ *
+ * @param int|bool $namespace The namespace ID (or false, if the namespace should be ignored)
+ * @param string $text The page title
+ * @param string $fragment The fragment name (may be empty).
+ *
+ * @return string
+ */
+ public function formatTitle( $namespace, $text, $fragment = '' );
+
+ /**
+ * Returns the title text formatted for display, without namespace of fragment.
+ *
+ * @note: Only minimal normalization is applied. Consider using TitleValue::getText() directly.
+ *
+ * @param TitleValue $title the title to format
+ *
+ * @return string
+ */
+ public function getText( TitleValue $title );
+
+ /**
+ * Returns the title formatted for display, including the namespace name.
+ *
+ * @param TitleValue $title the title to format
+ *
+ * @return string
+ */
+ public function getPrefixedText( TitleValue $title );
+
+ /**
+ * Returns the title formatted for display, with namespace and fragment.
+ *
+ * @param TitleValue $title the title to format
+ *
+ * @return string
+ */
+ public function getFullText( TitleValue $title );
+
+ /**
+ * Returns the name of the namespace for the given title.
+ *
+ * @note This must take into account gender sensitive namespace names.
+ * @todo Move this to a separate interface
+ *
+ * @param int $namespace
+ * @param string $text
+ *
+ * @throws InvalidArgumentException
+ * @return String
+ */
+ public function getNamespaceName( $namespace, $text );
+}
--- /dev/null
+<?php
+/**
+ * A title parser service for %MediaWiki.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * A title parser service for %MediaWiki.
+ *
+ * This is designed to encapsulate knowledge about conventions for the title
+ * forms to be used in the database, in urls, in wikitext, etc.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+interface TitleParser {
+
+ /**
+ * Parses the given text and constructs a TitleValue. Normalization
+ * is applied according to the rules appropriate for the form specified by $form.
+ *
+ * @note this only parses local page links, interwiki-prefixes etc. are not considered!
+ *
+ * @param string $text the text to parse
+ * @param int $defaultNamespace namespace to assume per default (usually NS_MAIN)
+ *
+ * @throws MalformedTitleException If the text is not a valid representation of a page title.
+ * @return TitleValue
+ */
+ public function parseTitle( $text, $defaultNamespace );
+}
--- /dev/null
+<?php
+/**
+ * Representation of a page title within %MediaWiki.
+ *
+ * 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
+ * @license GPL 2+
+ * @author Daniel Kinzler
+ */
+
+/**
+ * Represents a page (or page fragment) title within %MediaWiki.
+ *
+ * @note In contrast to Title, this is designed to be a plain value object. That is,
+ * it is immutable, does not use global state, and causes no side effects.
+ *
+ * @note TitleValue represents the title of a local page (or fragment of a page).
+ * It does not represent a link, and does not support interwiki prefixes etc.
+ *
+ * @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
+ */
+class TitleValue {
+
+ /**
+ * @var int
+ */
+ protected $namespace;
+
+ /**
+ * @var string
+ */
+ protected $dbkey;
+
+ /**
+ * @var string
+ */
+ protected $fragment;
+
+ /**
+ * Constructs a TitleValue.
+ *
+ * @note: TitleValue expects a valid DB key; typically, a TitleValue is constructed either
+ * from a database entry, or by a TitleParser. We could apply "some" normalization here,
+ * such as substituting spaces by underscores, but that would encourage the use of
+ * un-normalized text when constructing TitleValues. For constructing a TitleValue from
+ * user input or external sources, use a TitleParser.
+ *
+ * @param $namespace int The namespace ID. This is not validated.
+ * @param $dbkey string The page title in valid DBkey form. No normalization is applied.
+ * @param $fragment string The fragment title. Use '' to represent the whole page.
+ * No validation or normalization is applied.
+ *
+ * @throws InvalidArgumentException
+ */
+ public function __construct( $namespace, $dbkey, $fragment = '' ) {
+ if ( !is_int( $namespace ) ) {
+ throw new InvalidArgumentException( '$namespace must be an integer' );
+ }
+
+ if ( !is_string( $dbkey ) ) {
+ throw new InvalidArgumentException( '$dbkey must be a string' );
+ }
+
+ // Sanity check, no full validation or normalization applied here!
+ if ( preg_match( '/^_|[ \r\n\t]|_$/', $dbkey ) ) {
+ throw new InvalidArgumentException( '$dbkey must be a valid DB key: ' . $dbkey );
+ }
+
+ if ( !is_string( $fragment ) ) {
+ throw new InvalidArgumentException( '$fragment must be a string' );
+ }
+
+ if ( $dbkey === '' ) {
+ throw new InvalidArgumentException( '$dbkey must not be empty' );
+ }
+
+ $this->namespace = $namespace;
+ $this->dbkey = $dbkey;
+ $this->fragment = $fragment;
+ }
+
+ /**
+ * @return int
+ */
+ public function getNamespace() {
+ return $this->namespace;
+ }
+
+ /**
+ * @return string
+ */
+ public function getFragment() {
+ return $this->fragment;
+ }
+
+ /**
+ * Returns the title's DB key, as supplied to the constructor,
+ * without namespace prefix or fragment.
+ *
+ * @return string
+ */
+ public function getDBkey() {
+ return $this->dbkey;
+ }
+
+ /**
+ * Returns the title in text form,
+ * without namespace prefix or fragment.
+ *
+ * This is computed from the DB key by replacing any underscores with spaces.
+ *
+ * @note: To get a title string that includes the namespace and/or fragment,
+ * use a TitleFormatter.
+ *
+ * @return string
+ */
+ public function getText() {
+ return str_replace( '_', ' ', $this->getDBkey() );
+ }
+
+ /**
+ * Creates a new TitleValue for a different fragment of the same page.
+ *
+ * @param string $fragment The fragment name, or "" for the entire page.
+ *
+ * @return TitleValue
+ */
+ public function createFragmentTitle( $fragment ) {
+ return new TitleValue( $this->namespace, $this->dbkey, $fragment );
+ }
+
+ /**
+ * Returns a string representation of the title, for logging. This is purely informative
+ * and must not be used programmatically. Use the appropriate TitleFormatter to generate
+ * the correct string representation for a given use.
+ *
+ * @return string
+ */
+ public function __toString() {
+ $name = $this->namespace . ':' . $this->dbkey;
+
+ if ( $this->fragment !== '' ) {
+ $name .= '#' . $this->fragment;
+ }
+
+ return $name;
+ }
+}
wfPHPVersionError( 'index.php' );
}
-# Initialise common code. This gives us access to GlobalFunctions, the
-# AutoLoader, and the globals $wgRequest, $wgOut, $wgUser, $wgLang and
-# $wgContLang, amongst others
require __DIR__ . '/includes/WebStart.php';
$mediaWiki = new MediaWiki();
<?php
/**
- * Version of index.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of index.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
*
* 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
'ar' => 'العربية', # Arabic
'arc' => 'ܐܪܡܝܐ', # Aramaic
'arn' => 'mapudungun', # Mapuche, Mapudungu, Araucanian (Araucano)
+ 'arq' => 'جزائري', # Algerian Spoken Arabic
'ary' => 'Maġribi', # Moroccan Spoken Arabic
'arz' => 'مصرى', # Egyptian Spoken Arabic
'as' => 'অসমীয়া', # Assamese
'hil' => 'Ilonggo', # Hiligaynon
'ho' => 'Hiri Motu', # Hiri Motu
'hr' => 'hrvatski', # Croatian
+ 'hrx' => 'Hunsrik', # Riograndenser Hunsrückisch
'hsb' => 'hornjoserbsce', # Upper Sorbian
'ht' => 'Kreyòl ayisyen', # Haitian Creole French
'hu' => 'magyar', # Hungarian
'revdelete-no-file' => 'الملف المحدد غير موجود.',
'revdelete-show-file-confirm' => 'هل أنت متأكد أنك تريد رؤية مراجعة محذوفة للملف "<nowiki>$1</nowiki>" بتاريخ $2 الساعة $3؟',
'revdelete-show-file-submit' => 'نعم',
-'revdelete-selected' => "'''{{PLURAL:$2|المراجعة المختارة|المراجعات المختارة}} ل[[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:',
'revdelete-confirm' => 'الإداريون الآخرون في {{SITENAME}} سيظل بإمكانهم رؤية المحتوى المخفي ويمكنهم استرجاعه مجددا من خلال هذه الواجهة نفسها، مالم يتم وضع قيود إضافية.
من فضلك أكد أنك تنوي فعل هذا، وأنك تفهم العواقب، وأنك تفعل هذا بالتوافق مع [[{{MediaWiki:Policy-url}}|السياسة]].',
'revdelete-suppress-text' => "الإخفاء ينبغي أن يتم استخدامه '''فقط''' في الحالات التالية:
'noarticletext-nopermission' => 'Hierdie bladsy bevat geen teks nie.
U kan vir die term [[Special:Search/{{PAGENAME}}|in ander bladsye soek]] of
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} die verwante logboeke deursoek]</span>, maar u kan nie die bladsy skep nie.',
-'missing-revision' => 'Die weergawe #$1 van die bladsy "{{PAGENAME}} bestaan nie.
+'missing-revision' => 'Die weergawe #$1 van die bladsy "{{FULLPAGENAME}} bestaan nie.
Dit word meestal veroorsaak deur die volg van \'n verouderde verwysing na \'n bladsy wat verwyder is.
Meer gegewens kan moontlik in die [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} skraplogboek] gevind word.',
'revdelete-no-file' => 'Die gespesifiseerde lêer bestaan nie.',
'revdelete-show-file-confirm' => 'Is u seker u wil die geskrapte weergawe van die lêer "<nowiki>$1</nowiki>" van $2 om $3 sien?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''Geselekteerde {{PLURAL:$2|wysiging|wysigings}} vir [[:$1]]:'''",
-'logdelete-selected' => "'''Geselekteerde {{PLURAL:$1|logboek aksie|logboek aksies}}:'''",
+'logdelete-selected' => 'Geselekteerde {{PLURAL:$1|logboek aksie|logboek aksies}}:',
'revdelete-confirm' => 'Bevestig asseblief dat u dit wil doen, dat u die nagevolge verstaan en dat u dit doen in ooreenstemming met die [[{{MediaWiki:Policy-url}}|beleid]].',
'revdelete-suppress-text' => "Verberging van weergawes mag '''slegs''' in die volgende gevalle gebruik word:
* Potensieel lasterlike inligting
'revdelete-nooldid-title' => 'Version i dëshiruar i pavfleshëm',
'revdelete-nooldid-text' => 'Ose nuk keni përcaktuar një version(e) të dëshiruar për veprimin, ose versioni nuk ekziston, ose po mundoheni të fshihni versionin e tanishëm.',
'revdelete-no-file' => 'Skeda e dhënë nuk ekziston.',
-'revdelete-selected' => "'''{{PLURAL:$2|Versioni i zgjedhur i|Versionet e zgjedhura të}} [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Veprimi i zgjedhur në regjistër|Veprimet e zgjedhura në regjistër}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Veprimi i zgjedhur në regjistër|Veprimet e zgjedhura në regjistër}}:',
'revdelete-legend' => 'Vendosni kufizimet për versionin:',
'revdelete-hide-text' => 'Fshihe tekstin e versionit',
'revdelete-hide-image' => 'Fshih përmbajtjen skedare',
'revdelete-nooldid-text' => 'ይህ ተግባር የሚፈጸምበት ግብ (አላማ) እትም አልወሰኑም።',
'revdelete-no-file' => 'የተወሰነው ፋይል አይኖርም።',
'revdelete-show-file-submit' => 'አዎን',
-'revdelete-selected' => "'''ከ [[:$1]] {{PLURAL:$2|የተመረጡ ዝርያዎች|የተመረጡ ዝርያዎች}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|የተመረጠ መዝገብ ድርጊት|የተመረጡ መዝገብ ድርጊቶች}}፦'''",
+'logdelete-selected' => '{{PLURAL:$1|የተመረጠ መዝገብ ድርጊት|የተመረጡ መዝገብ ድርጊቶች}}፦',
'revdelete-hide-text' => 'የእትሙ ጽሕፈት ይደበቅ',
'revdelete-hide-image' => 'የፋይሉ ይዞታ ይደበቅ',
'revdelete-hide-name' => 'ድርጊትና ግቡ ይደበቅ',
'revdelete-no-file' => 'O fichero especificato no existe.',
'revdelete-show-file-confirm' => 'Seguro que quiere veyer una versión borrata d\'o fichero "<nowiki>$1</nowiki>" d\'o $2 a las $3?',
'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Versión trigata|Versions trigatas}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Escaicimiento d'o rechistro trigato|Escaicimientos d'o rechistro trigatos}}:'''",
+'logdelete-selected' => "{{PLURAL:$1|Escaicimiento d'o rechistro trigato|Escaicimientos d'o rechistro trigatos}}:",
'revdelete-confirm' => "Por favor confirme que ye mirando de fer ísto, que entiende as conseqüencias, y que lo ye fendo d'alcuerdo con [[{{MediaWiki:Policy-url}}|as politicas]].",
'revdelete-suppress-text' => "Os borraus de versions '''nomás''' s'habrían de fer en os siguients casos:
* Información potencialment difamatoria o libelo grieu.
أو [{{fullurl:{{FULLPAGENAME}}|action=edit}} تعديل هذه الصفحة]</span>.',
'noarticletext-nopermission' => 'لا يوجد حاليا أي نص في هذه الصفحة.
يمكنك [[Special:Search/{{PAGENAME}}|البحث عن عنوان هذه الصفحة]] في الصفحات الأخرى، أو <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} البحث في السجلات المتعلقة بها]</span>، لكنك لست مخولاً لإنشاء هذه الصفحة.',
-'missing-revision' => 'المراجعة #$1 من الصفحة المسماة "{{PAGENAME}}" غير موجودة.
+'missing-revision' => 'المراجعة #$1 من الصفحة المسماة "{{FULLPAGENAME}}" غير موجودة.
هذا يحدث عادة عن طريق اتباع وصلة تاريخ قديمة لصفحة تم حذفها.
التفاصيل يمكن إيجادها في [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} سجل الحذف].',
'revdelete-no-file' => 'الملف المحدد غير موجود.',
'revdelete-show-file-confirm' => 'هل أنت متأكد أنك تريد رؤية مراجعة محذوفة للملف "<nowiki>$1</nowiki>" بتاريخ $2 الساعة $3؟',
'revdelete-show-file-submit' => 'نعم',
-'revdelete-selected' => "'''{{PLURAL:$2|المراجعة المختارة|المراجعات المختارة}} ل[[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:',
'revdelete-confirm' => 'الإداريون الآخرون في {{SITENAME}} سيظل بإمكانهم رؤية المحتوى المخفي ويمكنهم استرجاعه مجددا من خلال هذه الواجهة نفسها، مالم يتم وضع قيود إضافية.
من فضلك أكد أنك تنوي فعل هذا، وأنك تفهم العواقب، وأنك تفعل هذا بالتوافق مع [[{{MediaWiki:Policy-url}}|السياسة]].',
'revdelete-suppress-text' => "ينبغي للإخفاء أن يستخدم '''فقط''' في الحالات التالية:
'rev-showdeleted' => 'ܚܘܝ',
'revisiondelete' => 'ܫܘܦ/ܠܐ ܫܘܦ ܬܢܝܬ̈ܐ',
'revdelete-show-file-submit' => 'ܐܝܢ',
-'revdelete-selected' => "'''{{PLURAL:$2|ܬܢܝܬܐ ܓܒܝܬܐ|ܬܢܝܬ̈ܐ ܓܒܝܬܐ}} ܕ [[:$1]]:'''",
'revdelete-hide-text' => 'ܟܬܒܬܐ ܕܬܢܝܬܐ',
'revdelete-hide-image' => 'ܛܫܝ ܚܒܝܫܬ̈ܐ ܕܠܦܦܐ',
'revdelete-hide-name' => 'ܛܫܝ ܥܒܕܐ ܘܢܘܦܐ',
--- /dev/null
+<?php
+/** Algerian Spoken Arabic (جزائري)
+ *
+ * See MessagesQqq.php for message documentation incl. usage of parameters
+ * To improve a translation please visit http://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ * @author Bachounda
+ * @author Oldstoneage
+ */
+
+$fallback = 'ar';
+
+$messages = array(
+# User preference toggles
+'tog-underline' => 'تسطار الوصيلات:',
+'tog-hideminor' => 'خبي الكتيبات الصغيرة في التبديلات التوالا',
+'tog-hidepatrolled' => 'خبي الكتيبات المعسوسه في التبديلات التوالا',
+'tog-newpageshidepatrolled' => 'خبي الباجات المعسوسه اللي في ليستت الباجات الجدد',
+'tog-extendwatchlist' => 'دلي الليسته نتاع التبيعه باش تعرض كامل التبديلات و مشي برك التوالا',
+'tog-usenewrc' => 'اجمع الـتبدالات بل صفحات فل تبدالات الـتالية و الـليستة تاع الـمراقبة (تستحق الـ JavaScript)',
+'tog-numberheadings' => 'رقم اليا عناوين السكسيو',
+'tog-showtoolbar' => 'تبيان باره الكتيبات (يلزمها جافاسكريبت)',
+'tog-editondblclick' => 'كتيبت الباجات بالزوج دركات (يلزمها جافاسكربت)',
+'tog-editsectiononrightclick' => 'اكتيفي كتيبت السكسيوات بالدريك باليمين على العناوين نتاعهم(يتطلب جافاسكريبت)',
+'tog-rememberpassword' => 'اتفكر الدخول تاعي ب هاذ النافيكاتور (ب مدّة حدها{{PLURAL:$1||يوم واحد|يومين|$1 إيّام|$1 يوم}})',
+'tog-watchcreations' => 'زيد الـصفحات اللي نخلقها و الـفيشيّات فل قايمة تاع التتباع تاعي',
+'tog-watchdefault' => 'زيد الـصفحات و الـفيشيّات اللي نبدّلها فل قايمة تاع الـتتباع تاعي',
+'tog-watchmoves' => 'زيد الـصفحات و الـفيشيات اللي نحوّلها فل قايمة تاع الـتباع تاعي',
+'tog-watchdeletion' => 'زيد الـصفحات اللي نفصيها فل قايمة تاع التتباع تاعي',
+'tog-minordefault' => 'ماركي كل التبديلات بلي راهي خفيفه',
+'tog-previewontop' => 'وري شوفه-قبليه للكتبه فوق صندوق الكتيبه',
+'tog-previewonfirst' => 'بين شوفه-قبليه مع اول تبديله',
+'tog-enotifwatchlistpages' => 'ابحت لي إيمال كي تتبدّل صفحة ولا فيشي من الـليستة تاع الـتتباع تاعي',
+'tog-enotifusertalkpages' => 'ابعثلي بريه كل ما تبدلت باجت نقاش ديالي',
+'tog-enotifminoredits' => 'ابعت لي بريه حتا يلا كانت تبدالات صغيرة فلباجات و الـفيشيّات',
+'tog-enotifrevealaddr' => 'بين لادريستي إلكترونيك في براوات الاعلام',
+'tog-shownumberswatching' => 'بين شحال كاين من مستعمل يتبع الباجه',
+'tog-oldsig' => 'خطّ‘لـيدّ اللي كاين',
+'tog-fancysig' => 'اعتبر التوقيع كي كتيبه ويكي (بلا وصيله توماتيك)',
+'tog-uselivepreview' => 'استعمل الـنضرة الـقبلانيّة (تستحق الـ JavaScript) (تجرابيّة)',
+'tog-forceeditsummary' => 'نبّهني كي تندخل كاش صفحة خاوية',
+'tog-watchlisthideown' => 'خبّي الـتبدالات تاوعي فل ليستة تاع الـتتباع',
+'tog-watchlisthidebots' => 'خبّي الـتبدالات تاع الـروبويات فل ليستة تاع التتباع تاعي',
+'tog-watchlisthideminor' => 'خبّي الـتبدالات الـصغيرة من الـليستة تاعي تاع التتباع',
+'tog-watchlisthideliu' => 'خبّي فل قايمة تاع التتباع تاعي الـتبدالات الـمديورة من عند الـمستعمليين الـمتماركيين',
+'tog-watchlisthideanons' => 'خبّي فل قايمة تاع التتباع تاعي الـتبدالات الـمديورة من عند الـمستعمليين الـماشي متماركيين',
+'tog-watchlisthidepatrolled' => 'خبّي الـتبدالات تاع الـمتبّعة فل ليستة تاع التتباع تاعي',
+'tog-ccmeonemails' => 'ابعت لي نسخة تاع الـإيمالات الّي نبعتهم لل مستعمليين لخرين',
+'tog-diffonly' => 'ما تورّيش الـمضمون تاع الـصفحات تحت الـفروقات',
+'tog-showhiddencats' => 'ورّي الـفصلات الـمخبّيين',
+'tog-norollbackdiff' => 'ما تورّيش الـفروق كي تدير رجوع',
+'tog-useeditwarning' => 'نبّهني كي نخرج من صفحة كنت نكتب فيها بلا ما نعمّر الخدمة',
+'tog-prefershttps' => 'نستعمل دايمن توصال مأمون كي ندخل',
+
+'underline-always' => 'ديما',
+'underline-never' => 'ابدا',
+'underline-default' => 'الـقيمة الـعاديّة تاع الـواجهة و الـفلّاك',
+
+# Font style option in Special:Preferences
+'editfont-style' => 'بدّل الـستيل تاع الـكتبة فل قابسة تاع الـكتيبة',
+'editfont-default' => 'نوع‘ الـكتبة الـعادية فل فلّاك',
+'editfont-monospace' => 'الـعرض تاع الـحرف يكون تابت',
+'editfont-sansserif' => 'حروف بلا زوايد',
+'editfont-serif' => 'حروف بل زوايد',
+
+# Dates
+'sunday' => 'الحد',
+'monday' => 'لثنين',
+'tuesday' => 'التلاته',
+'wednesday' => 'لاربعه',
+'thursday' => 'الخميس',
+'friday' => 'الجمعه',
+'saturday' => 'السبت',
+'sun' => 'الحد',
+'mon' => 'لثنين',
+'tue' => 'الثلاثه',
+'wed' => 'لاربعه',
+'thu' => 'الخميس',
+'fri' => 'الجمعه',
+'sat' => 'السبت',
+'january' => 'جانفي',
+'february' => 'فيفري',
+'march' => 'مارس',
+'april' => 'أفريل',
+'may_long' => 'ماي',
+'june' => 'جوان',
+'july' => 'جويليي',
+'august' => 'أوت',
+'september' => 'سبتمبر',
+'october' => 'أكتوبر',
+'november' => 'نوفمبر',
+'december' => 'ديسمبر',
+'january-gen' => 'جانفي',
+'february-gen' => 'فيفري',
+'march-gen' => 'مارس',
+'april-gen' => 'أفريل',
+'may-gen' => 'ماي',
+'june-gen' => 'جوان',
+'july-gen' => 'جويليي',
+'august-gen' => 'أوت',
+'september-gen' => 'سبتمبر',
+'october-gen' => 'أكتوبر',
+'november-gen' => 'نوفمبر',
+'december-gen' => 'ديسمبر',
+'jan' => 'جانفي',
+'feb' => 'فيفري',
+'mar' => 'مارس',
+'apr' => 'أفريل',
+'may' => 'ماي',
+'jun' => 'جوان',
+'jul' => 'جويليي',
+'aug' => 'أوت',
+'sep' => 'سيبتمبر',
+'oct' => 'أوكتوبر',
+'nov' => 'نوفمبر',
+'dec' => 'ديسمبر',
+'january-date' => 'جانفيي $1',
+'february-date' => 'فيفريي $1',
+'march-date' => 'مارس $1',
+'april-date' => 'آفريل $1',
+'may-date' => 'ماي $1',
+'june-date' => 'جوان $1',
+'july-date' => 'جويليي$1',
+'august-date' => 'أوت $1',
+'september-date' => 'سبتامبر $1',
+'october-date' => 'اكتوبر $1',
+'november-date' => 'نوفامبر $1',
+'december-date' => 'ديسمبر $1',
+
+# Categories related messages
+'pagecategories' => '{{PLURAL:$1|فصيلة|فصيلات}}',
+'category_header' => 'الباجه في التصنيف "$1"',
+'subcategories' => 'تصنيفات تحتيه',
+'category-media-header' => 'فيشيي ميلتيميديا فالكاتيكورى "$1"',
+'category-empty' => "''هاذ التصنيف ما فيهش لا باجات و لا ميلتيميديا.''",
+'hidden-categories' => '{{PLURAL:$1|تصنيف مدسوس|تصنيفات مدسوسة}}',
+'hidden-category-category' => 'تصنيفات مخبّية',
+'category-subcat-count' => '{{PLURAL:$2|هاذ التصنيف فيه التصنيف الفرعي التالي|هاذ التصنيف فيه{{PLURAL:$1||التصنيف الفرعي|$1 تصنيفات فرعية}}، من إجمالي $2.}}',
+'category-subcat-count-limited' => 'هاد الـتصنيف يسيع {{PLURAL:$1||التصنيف الفرعي التابع|التصنيفات الفرعية $1 التابعة}}.',
+'category-article-count' => 'هاذ الكاتيكورى فيها {{PLURAL:$2|هاذ الفيشيي|$2 الفيشيي, اللي{{PLURAL:$1|هاذ|نتع$1}} من تحتا}}.',
+'category-article-count-limited' => '{{PLURAL:$1||الصفحة التابعة|الـ $1 ‘ن صفحة التابعة}} مصنّفة ب هاذ التصنيف.',
+'category-file-count' => 'هاذ الكاتيكورى فيها {{PLURAL:$2|هاذ الفيشيي|$2 الفيشيي, اللي{{PLURAL:$1|هاذ|نتع$1}} من تحتا}}.',
+'category-file-count-limited' => '{{PLURAL:$1|الملف التابع مصنّف|الملفات الـ $1 التابعة مصنّفة}} ب هاذ التصنيف.',
+'listingcontinuesabbrev' => 'يُتبع',
+'index-category' => 'صفحات مفهّرسة',
+'noindex-category' => 'باجات مشي مفهرسه',
+'broken-file-category' => 'صفحات فيها وصيلات تاع ملفّات خاسرة',
+
+'about' => 'على هاذ الويكي',
+'article' => 'صفحة تاع محتوى',
+'newwindow' => '(حل في تاقة جديدة)',
+'cancel' => 'انيلي',
+'moredotdotdot' => 'كتر...',
+'morenotlisted' => 'كتر ماشي مليستي...',
+'mypage' => 'باجه',
+'mytalk' => 'نقاش',
+'anontalk' => 'تناقش على الـ ip هادي',
+'navigation' => 'تبحار',
+'and' => ' و',
+
+# Cologne Blue skin
+'qbfind' => 'فتش',
+'qbbrowse' => 'اتجوّل فل مضمون',
+'qbedit' => 'اكتب',
+'qbpageoptions' => 'هاذ الباجه',
+'qbmyoptions' => 'الباجات نتاوعى',
+'faq' => 'المسقسية المتعاوده',
+'faqpage' => 'Project:سؤالات متكرره',
+
+# Vector skin
+'vector-action-addsection' => 'زيد موضوع',
+'vector-action-delete' => 'امحي',
+'vector-action-move' => 'حول',
+'vector-action-protect' => 'بروجي',
+'vector-action-undelete' => 'ردّ كيما كان',
+'vector-action-unprotect' => 'بدّل الـحماية',
+'vector-view-create' => 'أصنع',
+'vector-view-edit' => 'بدل',
+'vector-view-history' => 'روح للتاريخي',
+'vector-view-view' => 'أقرى',
+'vector-view-viewsource' => 'شوف المصدر',
+'actions' => 'أفعال',
+'namespaces' => 'بلاصه تع أسموات',
+'variants' => 'متغيرات',
+
+'navigation-heading' => 'القايمة تاع الـتبحار',
+'errorpagetitle' => 'غلطه',
+'returnto' => 'ولي إلى $1.',
+'tagline' => 'من{{SITENAME}}',
+'help' => 'معاونة',
+'search' => 'فتّش',
+'searchbutton' => 'فتش',
+'go' => 'شايع',
+'searcharticle' => 'روح',
+'history' => 'تاريخ الملف',
+'history_short' => 'تاريخ',
+'updatedmarker' => 'مبدّل منلي الزيارة تاعي الـتالية',
+'printableversion' => 'نسخه نتاع طبيع',
+'permalink' => 'وصيل دايم',
+'print' => 'امبريمي',
+'view' => 'اقرا',
+'edit' => 'بدل',
+'create' => 'أصنع',
+'editthispage' => 'بدّل هاد الـصفحة',
+'create-this-page' => 'خلّق صفحة ب هاد الـعلوان',
+'delete' => 'امحي',
+'deletethispage' => 'امحي هاد الـصفحة',
+'undeletethispage' => 'ردّ الصفحة الّي محيتها',
+'protect' => 'حمايه',
+'protect_change' => 'بدل',
+'newpage' => 'باجه جديده',
+'talkpagelinktext' => 'ناقش',
+'personaltools' => 'ادوالت شخصيه',
+'talk' => 'مناقشه',
+'views' => 'شوفات',
+'toolbox' => 'صندوق الادوات',
+'otherlanguages' => 'بلوغات وحد اوخره',
+'redirectedfrom' => '(محول من $1)',
+'lastmodifiedat' => 'هاد الباجه راهي تبدّلت نهار الـ $1, على الـساعة $2.',
+'jumpto' => 'اقفز ل:',
+'jumptonavigation' => 'تجوال',
+'jumptosearch' => 'تفتاش',
+
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
+'aboutsite' => 'على{{SITENAME}}',
+'aboutpage' => 'Project:على',
+'copyrightpage' => '{{ns:project}}:حقوق النسخ',
+'currentevents' => 'الخبورات',
+'currentevents-url' => 'Project:خبورات',
+'disclaimers' => 'تنبيهات',
+'disclaimerpage' => 'Project:التحذيرات العامه',
+'edithelp' => 'معونة',
+'mainpage' => 'الباجة اللوله',
+'mainpage-description' => 'الباجة اللوله',
+'portal' => 'المجتمع',
+'portal-url' => 'Project:بورطاي المجتمع',
+'privacy' => 'السياسة تاع الخصوصيات (الدين الضيّق)',
+'privacypage' => 'Project:خصوصيه',
+
+'retrievedfrom' => 'جايبينه من "$1"',
+'youhavenewmessages' => 'عندك $1 ($2).',
+'editsection' => 'بدل',
+'editold' => 'بدل',
+'viewsourceold' => 'شوف الاصل',
+'editlink' => 'تبديل',
+'viewsourcelink' => 'شوف العين',
+'editsectionhint' => 'إيديتي الصنف:$1',
+'toc' => 'محتويات',
+'site-rss-feed' => 'تيار آرإسإس $1',
+'site-atom-feed' => '$1 تيار آتوم',
+'page-atom-feed' => '$1 تيار آتوم',
+'red-link-title' => '$1 (الباجه ما كاينش)',
+
+# Short words for each namespace, by default used in the namespace tab in monobook
+'nstab-main' => 'الباجة',
+'nstab-user' => 'باجة{{GENDER:{{BASEPAGENAME}}|المستخدم|المستخدمة}}',
+'nstab-special' => 'باجه خوصوصيّة',
+'nstab-project' => 'باجه مشروع',
+'nstab-image' => 'ملف',
+'nstab-template' => 'مودال',
+'nstab-category' => 'تصنيف',
+
+# General errors
+'missing-article' => 'الداتاباز ما صابتش باجه كان لازم تنصاب، الباجه هي "$1" $2.
+
+نورمالمو يصرا هذا مين اتبع فرق بيريمي والا وصيل تأريخ باجة ممحيه.
+
+إذا ما كانش هذا هو الحال همالا راك طحت في علة تاع البرمجية.
+من فضلك سينياليها لواحد من[[Special:ListUsers/sysop|الإداريين]]، و أعطه مسار هذه الباجه.',
+'missingarticle-rev' => '(رقم الفرسيون: $1)',
+'badtitle' => 'عنوان عيان',
+'badtitletext' => 'عنوان الباجه المطلوب إما ماشي صحيح والا فارغ، وبالاك الوصيل بين اللغات والا بين البروجيات ماشي صحيح.
+بالاك فيه حروف ما تصلحش باس يستعملوها فالعناوين.',
+'viewsource' => 'شوف الاصل',
+
+# Login and logout pages
+'yourname' => 'اسم المستخدم:',
+'yourpassword' => 'كلمة السر:',
+'yourpasswordagain' => 'عاود كتبت كلمت السر:',
+'remembermypassword' => 'اتفكر الدخول تاعي ب هاذ النافيكاتور (ب مدّة حدها{{PLURAL:$1||يوم واحد|يومين|$1 إيّام|$1 يوم}})',
+'login' => 'كونكسيون',
+'nav-login-createaccount' => 'تسجل/ اصنع حساب',
+'loginprompt' => 'لازم تكون الكوكيز لديك ماكتيفيه باش تكونيكتي و تدخل ل{{SITENAME}}.',
+'userlogin' => 'تسجل/ اصنع حساب',
+'userlogout' => 'سجل خروج',
+'nologin' => "ما عندكش حساب مسجل؟ '''$1'''.",
+'nologinlink' => 'اصنع حساب',
+'createaccount' => 'اصنع حساب',
+'gotaccount' => "عندك حساب مسجل؟ '''$1'''.",
+'gotaccountlink' => 'كونكسيون',
+'userlogin-resetlink' => 'نسيت تفاصيل الدخول؟',
+'mailmypassword' => 'أرسل لي كلمة سر جديده',
+'loginlanguagelabel' => 'اللوغه: $1',
+
+# Edit page toolbar
+'bold_sample' => 'كتيبة غليظه',
+'bold_tip' => 'كتيبة غليظه',
+'italic_sample' => 'كتبة مايلة',
+'italic_tip' => 'نص مايل',
+'link_sample' => 'عنوان وصيلة',
+'link_tip' => 'وصيلة داخليه',
+'extlink_sample' => 'http://www.example.com اسم الوصيلة',
+'extlink_tip' => 'وصيلة برانية (ما تنساش البديةhttp://)',
+'headline_sample' => 'كتبة نتاع عنوان كبير',
+'headline_tip' => 'عنوان من المستوى الثاني',
+'nowiki_sample' => 'دخل الكتبة مشي مستفة هنا',
+'nowiki_tip' => 'اهمل طريقةالويكي',
+'image_tip' => 'ملف داخل',
+'media_tip' => 'وصيلة ملف',
+'sig_tip' => 'سنياتورتك بالساعة و التاريخ',
+'hr_tip' => 'خط أفقي (ما تستعملوش بزاف)',
+
+# Edit pages
+'summary' => 'ملخص:',
+'minoredit' => 'هذي تبديلة صغيرة',
+'watchthis' => 'تبع الباجة',
+'savearticle' => 'سجل الباجة',
+'preview' => 'شوفه-قبلي',
+'showpreview' => 'بين معاينة',
+'showdiff' => 'عرض التبديلات',
+'anoneditwarning' => "'''توله:''' راك ما دخلتش.
+غادي يتسجل لادراس آيبي نتاعك في تاريخ هذه الباجه.",
+'newarticle' => '(جديد)',
+'newarticletext' => "راك تبعت وصيلة لباجه لم ما تخدمتش بعد.
+باش تصنع هاذ الباجه ابدا الكتبه فالصندوق التحت (شوف في [$1 زياده باجه المساعده] لمعلومات).
+إذا كانت زيارتك لهاذ الباجه غلطه، ادرك على بوطون''ولى'' في نافيقاتور الإنترنت نتاعك.",
+'noarticletext' => 'لحد الساعه ما كانش حتى نص في هاذ الباجه.
+تقدرو [[Special:Search/{{PAGENAME}}|ترميو تفتيشه على هاذ العنوان]] فالباجات لخرين,
+<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} فتش فالعمليات المربوطه]
+و إلا[{{fullurl:{{FULLPAGENAME}}|action=edit}} أصنع هاذ الباجه]</span>.',
+'noarticletext-nopermission' => 'لحد الساعه ما كانش حتى نص في هاذ الباجه.
+تقدرو [[Special:Search/{{PAGENAME}}|ترميو تفتيشه على هاذ العنوان]] فالباجات لخرين,
+<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} فتش فالعمليات المربوطه]
+و إلا[{{fullurl:{{FULLPAGENAME}}|action=edit}} أصنع هاذ الباجه]</span>.',
+'previewnote' => "'''ما تنساش هذي معاينه قبليه.'''
+لدوك التبديلات دياولك ما تسجلوش!",
+'editing' => 'تحرير $1',
+'editingsection' => 'كتيبه $1 (قسم)',
+'templatesused' => '{{PLURAL:$1||القالب المستعمل|القوالب المستعمله}} في هذه الباجه:',
+'template-protected' => '(محميه)',
+'template-semiprotected' => '(نص حماية )',
+'hiddencategories' => '{{PLURAL:$1|هاد الصفحة ما كايناش فل تصانف المخبّييين|هاد الصفحة كاينة في تصنيف مخبّي واحد|هاد الصفحة كاينة في زوج تاع الـتصانف المخبّيين|هاد الصفحة كاينة في $1 تصنيف مخبّي|هاد الصفحة كاينة في $1 تصنيف مخفبّي|هذه الصفحة كاينة في $1 تصنيف مخبّي}}:',
+'permissionserrorstext-withaction' => 'ما راكش اوتوريزى ل$2، لل{{PLURAL:$1||سبب هاذا|اسباب هاذي}}:',
+'recreate-moveddeleted-warn' => "'''توليه: راك تعاود تصنع باحه اتمحات من قبل.'''
+
+لازم تتأكد بلى الباجه الا نصنعت ماهوش مشكل الا كملت الكتبه فبها.
+ريجيستر المحو و النقل معروض هنا باش تراقب :",
+'moveddeleted-notice' => 'هاذ الباجه تمحات .
+ريجيستر المحو والتنقال للباجه معروضين التحت كريفيرونس.',
+
+# Parser/template warnings
+'post-expand-template-inclusion-warning' => "'''توليه:''' الباجة داخل فيها قوالب بزاف.
+شي قوالب ما غاديش تدخل.",
+'post-expand-template-inclusion-category' => 'الباجات داخل فيها بزاف القوالب',
+'post-expand-template-argument-warning' => "'''توليه:''' هذه الباجه فيها عامل قالب واحد على الأقل عندو حجم تمدد كبير بزاف.
+هاذالعوامل اتمحات.",
+'post-expand-template-argument-category' => 'باجات فيها مدخلات القالب الممحي',
+
+# History pages
+'viewpagelogs' => 'بين العمليات على هاذ الباحه',
+'currentrev-asof' => 'النسخه نتاع دروك تاريجها $1',
+'revisionasof' => 'معاودة تاع الـ $1',
+'revision-info' => 'مراجعه $1 بواسطت $2',
+'previousrevision' => '← نسخة اللوله',
+'nextrevision' => 'فرسيون جايه←',
+'currentrevisionlink' => 'المراجعه الحاليه',
+'cur' => 'الحالي',
+'last' => 'السابق',
+'histlegend' => 'تخيار الفرق: علم على صناديق النسخ للمقارنه و ادرك قارن بين النسخ المختارة والا القفلة التحت .<br />
+مفتاح: (الحالي) = الفرق مع النسخة تع دروك
+(الفايته) = الفرق مع النسخة اللي فاتت، ط = تبديل خفيف',
+'history-fieldset-title' => 'نافيقي في التاريخ',
+'history-show-deleted' => 'المماسكيه برك',
+'histfirst' => 'اول باجه',
+'histlast' => 'باجه تاليه',
+
+# Revision feed
+'history-feed-item-nocomment' => '$1 إلى $2',
+
+# Revision deletion
+'rev-delundel' => 'بين/خبي',
+'revdel-restore' => 'غير كيف راهي تبان',
+
+# Merge log
+'revertmerge' => 'فرق',
+
+# Diffs
+'history-title' => ' «$1»: تاريخ المراجعات',
+'lineno' => 'سطر$1:',
+'compareselectedversions' => 'كومباري بين نسختين مخيرين',
+'editundo' => 'نحي',
+
+# Search results
+'searchresults' => 'ريزيلته نتاع التفتاش',
+'searchresults-title' => 'ريزيلته تاع التحواس "$1"',
+'prevn' => '{{PLURAL:$1|précédente|$1 اللولانيين}}',
+'nextn' => '{{PLURAL:$1|suivante|$1 التاليين}}',
+'prevn-title' => '$1 {{PLURAL:$1|النتيجة التالية|النتايج التواله}}',
+'nextn-title' => '$1 {{PLURAL:$1|النتيجة الجاية|النتايج الجايين}}',
+'shown-title' => 'آفيشي $1 {{PLURAL:$1|نتيجة}} فل صفحة',
+'viewprevnext' => 'شوف($1 {{int:pipe-separator}} $2) ($3).',
+'searchmenu-exists' => "'''كاين باجه اسمها « [[:$1]] » في هاذ الويكي'''",
+'searchmenu-new' => "'''أصنع الباجه « [[:$1|$1]] » في هذ الويكي !'''",
+'searchprofile-articles' => 'باجه تع محتوى',
+'searchprofile-project' => 'باجه تع المعونه و البروجي',
+'searchprofile-images' => 'ميلتيميديا',
+'searchprofile-everything' => 'كلش',
+'searchprofile-advanced' => 'تفتاش متقدم',
+'searchprofile-articles-tooltip' => 'فتش في $1',
+'searchprofile-project-tooltip' => 'فتش في $1',
+'searchprofile-images-tooltip' => 'فتش على ملفات ميلتيميديا',
+'searchprofile-everything-tooltip' => 'فتش في قاع السيت (حتى في باجات المناقشه)',
+'searchprofile-advanced-tooltip' => 'خير إسباسات الأسامي للتفتاش',
+'search-result-size' => '$1 ({{PLURAL:$2|1 كلمة|$2 كلمات}})',
+'search-result-category-size' => '$1 عضو{{PLURAL:$1||s}} ($2 كاتيكورى فرعيه{{PLURAL:$2||s}}, $3 فيشيي{{PLURAL:$3||يات}})',
+'search-redirect' => '(تحويل من $1)',
+'search-section' => '(قسمت‘ $1)',
+'search-suggest' => 'كنت باغي تقول: $1',
+'searchrelated' => 'مرتابطه',
+'searchall' => 'ألكل',
+'showingresultsheader' => "{{PLURAL:$5|نتيجه'''$1'''|نتايج'''$1–$2'''}} تع'''$3''' لـ'''$4'''",
+'search-nonefound' => 'ما كانش نتائج تطابق المسقسية.',
+
+# Preferences page
+'mypreferences' => 'إختيارات',
+'youremail' => 'البريه الالكترونيه:',
+'yourrealname' => 'الاسم الحقاني:',
+'prefs-help-email' => 'لادريس نتع البريه الإلكترونيه بالخاطر، ولكن هي لازمه في حال نسيت كلمت السر نتاعك.',
+'prefs-help-email-others' => 'تقدر تاني تخلي لوخرين يتاصلو بيك في باجت نقاشك ولا في وصيله في باجت مستخدم نتاعك, اذا ارسلك واحد ما يبانش لادريس نتاعك , حتى اذ رديت عليه باش يبان لادريس نتاعك.',
+
+# Special:Log/newusers
+'newuserlogpage' => 'ريجيستر صنعة حسابات المستخدمين',
+
+# Associated actions - in the sentence "You do not have permission to X"
+'action-edit' => 'عدل هاذ الباجه',
+
+# Recent changes
+'nchanges' => '$1 تبديله{{PLURAL:$1||s}}',
+'recentchanges' => 'تبديلات توالا',
+'recentchanges-legend' => 'ابسيون التبديلات التواله',
+'recentchanges-feed-description' => 'تبع التبديلات الجدد للويكي في هاذ التيار .',
+'recentchanges-label-newpage' => ' هاذ التبديل صنع باجه جديده',
+'recentchanges-label-minor' => 'هاذا تبديل صغير',
+'recentchanges-label-bot' => 'هاذ التبديل ندار بروبو',
+'recentchanges-label-unpatrolled' => 'ما تراجعتش هاذ التبديله للآن',
+'rcnotefrom' => "هاهي التبديلات من'''$2''' (ل'''$1''' معروضه).",
+'rclistfrom' => 'بين التبديلات البديه من $1',
+'rcshowhideminor' => '$1 التبديلات الصغير',
+'rcshowhidebots' => '$1 البوتات',
+'rcshowhideliu' => '$1 المستخدمين المسجلين',
+'rcshowhideanons' => '$1 المستخدمين المجهولين',
+'rcshowhidepatr' => '$1 التبديلات المعسوسه',
+'rcshowhidemine' => '$1 تبديلات نتاعي',
+'rclinks' => 'بين آخر $1 تبديل في آخر $2 يوم<br />$3',
+'diff' => 'إختلاف',
+'hist' => 'تاريخ',
+'hide' => 'خبي',
+'show' => 'بين',
+'minoreditletter' => 'ط',
+'newpageletter' => 'ج',
+'boteditletter' => 'ب',
+'rc-enhanced-expand' => 'بين التفاصيل (يلزمها جافاسكريبت)',
+'rc-enhanced-hide' => 'خبي التفاصيل',
+
+# Recent changes linked
+'recentchangeslinked' => 'تبديلات مربوطه',
+'recentchangeslinked-toolbox' => 'تبديلات الباجات المرتبطه',
+'recentchangeslinked-title' => 'التبديلات المرتبطة ب "$1"',
+'recentchangeslinked-summary' => "هاذي ليستة تع التبديلات اللي تمت هاذ الخطرة للباجات الموصولة من باجة معينة (ولا للأعضاء الداخلين في تصنيف معين).
+الصفحات في [[Special:Watchlist|ليستت مراقبة نتاعك]] '''مغلظه'''",
+'recentchangeslinked-page' => 'اسم الباجه:',
+'recentchangeslinked-to' => 'بين التبديلات للباجات الموصولة للباجه المعطية عوضا العكس',
+
+# Upload
+'upload' => 'طلع فيشي',
+'uploadlogpage' => 'ريجيستر رفع الفيشيات',
+'filedesc' => 'ملخص',
+'uploadedimage' => 'راه طلع "[[$1]]"',
+
+'license' => 'ترخيص:',
+'license-header' => 'ترخيص:',
+
+# File description page
+'file-anchor-link' => 'ملف',
+'filehist' => 'تاريخ الفيشيي',
+'filehist-help' => 'ادرك على وقت و تاريخ/باش تشوف الملف كما بان في هاذ الوقت.',
+'filehist-revert' => 'رجع',
+'filehist-current' => 'ذ الوقت',
+'filehist-datetime' => 'تاريخ و الوقت',
+'filehist-thumb' => 'تصويرة مصغرة',
+'filehist-thumbtext' => 'فينيات نتع النسخه $1',
+'filehist-user' => 'مستعمل',
+'filehist-dimensions' => 'القيس',
+'filehist-comment' => 'تعليق',
+'imagelinks' => 'إستعمال الملف',
+'linkstoimage' => '{{PLURAL:$1|الباجة توصل|ال$1 باجات يوصلو}} لهاذ الملف :',
+'nolinkstoimage' => 'ما كانش باجات موصوله لهاذ الفيشي.',
+'sharedupload-desc-here' => 'هاذ الملف جاي من $1. يمكن يكون مستعمل من بروجيات وحد أخرين.
+التوصيف نتاعو في [$2 باجت الصفات] محطوطه هنا لتحت.',
+
+# Random page
+'randompage' => 'باجة على الزهر',
+
+# Statistics
+'statistics' => 'إحصاويّات',
+
+# Miscellaneous special pages
+'nbytes' => '$1 اوكتي{{PLURAL:$1||s}}',
+'nmembers' => '$1 اعضاء{{PLURAL:$1||s}}',
+'prefixindex' => 'كامل الباجات الباديه ب',
+'usercreated' => '{{GENDER:$3|صنعه|صنعته}} في $1 الساعة $2',
+'newpages' => 'باجه جديده',
+'move' => 'عاود التسمية',
+'pager-newer-n' => '{{PLURAL:$1|جديد بزاف 1|جديد بزاف $1}}',
+'pager-older-n' => '{{PLURAL:$1|قديم بزاف 1|قديم بزاف $1}}',
+
+# Book sources
+'booksources' => 'مصادر كتاب',
+'booksources-search-legend' => 'حوس ما بين مصادر الكتب',
+'booksources-go' => 'اذهب',
+
+# Special:Log
+'log' => 'ريجيسترات العمليات',
+
+# Special:AllPages
+'allpages' => 'قاع الباجات',
+'alphaindexline' => '$1 إلى $2',
+'allarticles' => 'قاع الباجات',
+'allpagessubmit' => 'روح',
+
+# Special:Categories
+'categories' => 'تصنيفات',
+
+# Special:LinkSearch
+'linksearch-line' => '$1 موصولة من $2',
+
+# Special:ListGroupRights
+'listgrouprights-members' => '(ليسته الأعضاء)',
+
+# Email user
+'emailuser' => 'ابعث بريه لهاذ المستخدم',
+
+# Watchlist
+'watchlist' => 'ليستة نتاع التابعه',
+'mywatchlist' => 'ليستة نتاع التابعه',
+'watchlistfor2' => 'ل$1 ($2)',
+'watch' => 'تبع',
+'unwatch' => 'ما تزيدش تعس',
+'watchlist-details' => '{{PLURAL:$1||باجه وحده|زوج باجات|$1 باجات|$1 باجه }} في ليستت مراقبتك، بلا ما تعد باجات النقاش.',
+'wlshowlast' => 'بين آخر $1 سوايع $2 يامات$3',
+'watchlist-options' => 'ابسيون ليستت المراقبه',
+
+# Delete
+'actioncomplete' => 'العمليه اندارت',
+'actionfailed' => 'العمليه فشلت',
+'dellogpage' => 'ريجيستر محو الباجات',
+
+# Rollback
+'rollbacklink' => 'ولي',
+
+# Protect
+'protectlogpage' => 'ريجيستر الحمايه',
+'protectedarticle' => 'راه حمى "[[$1]]"',
+
+# Undelete
+'undeletelink' => 'شوف/رجع',
+'undeleteviewlink' => 'شوف',
+
+# Namespace form on various pages
+'namespace' => 'بلاصه تع أسموات',
+'invert' => 'اعكس التخيار',
+'blanknamespace' => 'أساسي',
+
+# Contributions
+'contributions' => 'مساهمات {{GENDER:$1|المستخدم|المستخدمه}}',
+'contributions-title' => 'مساهمات {{GENDER:$1|المستخدم|المستخدمه}} $1',
+'mycontris' => 'مساهماتي',
+'contribsub2' => 'ل$1 ($2)',
+'uctop' => 'ذ الوقت',
+'month' => 'من شهر (وأقدم):',
+'year' => 'من عام (وأقدم):',
+
+'sp-contributions-newbies' => 'اعرض مشاركات الحسابات الجديده برك',
+'sp-contributions-blocklog' => 'ريجيسترالمنع',
+'sp-contributions-uploads' => 'مرفوعات',
+'sp-contributions-logs' => 'ريجيسترات',
+'sp-contributions-talk' => 'نقاش',
+'sp-contributions-search' => 'تفتاش المشاركات',
+'sp-contributions-username' => 'عنوان أيبي والال اسم مستخدم:',
+'sp-contributions-toponly' => 'ما تبين غير المشاركات التوالا نتاع المقالات',
+'sp-contributions-submit' => 'تفتاش',
+
+# What links here
+'whatlinkshere' => 'واش يوصل هنا',
+'whatlinkshere-title' => 'الباجات اللي تقين في "$1"',
+'whatlinkshere-page' => 'الباجه:',
+'linkshere' => "هاذ الباجات يوصلو إلى '''[[:$1]]''':",
+'nolinkshere' => "ما كانش باجه فيها وصيله ل'''[[:$1]]'''.",
+'isredirect' => 'باجت تحويل',
+'istemplate' => 'تضمين',
+'isimage' => 'وصيلة ملف',
+'whatlinkshere-prev' => '{{PLURAL:$1|التالي|ال$1 التاليه}}',
+'whatlinkshere-next' => '{{PLURAL:$1|الجايه|ال$1 الجايه}}',
+'whatlinkshere-links' => '← وصيلات',
+'whatlinkshere-hideredirs' => '$1 التحويلات',
+'whatlinkshere-hidetrans' => '$1 التضمينات',
+'whatlinkshere-hidelinks' => '$1 الوصيلات',
+'whatlinkshere-hideimages' => '$1 وصيلات الفيشيات',
+'whatlinkshere-filters' => 'صفايات',
+
+# Block/unblock
+'ipboptions' => 'ساعتين:2 hours,نهار واحد:1 day,3 نهارات:3 days,سيمانة وحدة:1 week,سيمانتين:2 weeks,شهر واحد:1 month,3 أشهر:3 months,6 أشهر:6 months,عام واحد:1 year,دايم:infinite',
+'ipblocklist' => 'المستخدمون الممنوعون',
+'blocklink' => 'حبس',
+'unblocklink' => 'ديبلوكي',
+'change-blocklink' => 'بدل البلوكاج',
+'contribslink' => 'المساهمات',
+'blocklogpage' => 'ريجيسترالمنع',
+'blocklogentry' => 'منع "[[$1]]" لفترة زمنية مدتها $2 $3',
+'block-log-flags-nocreate' => 'صنعت الحسابات ممنوعه',
+
+# Move page
+'movelogpage' => 'روجيستر التنقال',
+'revertmove' => 'رجع',
+
+# Export
+'export' => 'صدر الباجه',
+
+# Namespace 8 related
+'allmessagesname' => 'الاسم',
+'allmessagesdefault' => 'الكتبه الافتراضيه',
+
+# Thumbnails
+'thumbnail-more' => 'كبر',
+'thumbnail_error' => 'غلطه في خدمت صورة مصغرةالمينياتير: $1',
+
+# Tooltip help for the actions
+'tooltip-pt-userpage' => 'باجتك نتع مستعمل',
+'tooltip-pt-mytalk' => 'باجه نتع نقاشاتك',
+'tooltip-pt-preferences' => 'وش خيرت',
+'tooltip-pt-watchlist' => 'ليستت الباجات الي راك أتبع تبديلاتهم',
+'tooltip-pt-mycontris' => 'ليسته نتع مساهماتك',
+'tooltip-pt-login' => 'مادابيك تسجل الدخول تاعك، بصّح ماشي ملزوم عليك',
+'tooltip-pt-logout' => 'سجل خروج',
+'tooltip-ca-talk' => 'نقاش على باجت المحتوى',
+'tooltip-ca-edit' => 'تنجم تحرر هاذ الباجه ،ماذابيك تستعمل قفله المراجعه قبل ما تحفظ',
+'tooltip-ca-addsection' => 'ابدأ طرف جديد',
+'tooltip-ca-viewsource' => 'هاذ الباجه محميه. و شنو تقدرو تشوفو الأصلي نتاعها',
+'tooltip-ca-history' => 'المراجعات التوالى نتاع الباجه (مع المساهمين نتاوعها)',
+'tooltip-ca-protect' => 'بروتيجي هاذالباجه',
+'tooltip-ca-delete' => 'امحي هاذ الباجه',
+'tooltip-ca-move' => 'بدل أسم هذ الباجه',
+'tooltip-ca-watch' => 'زيد هذ الباجه لليستتك نتاع التتباع',
+'tooltip-ca-unwatch' => 'اقلع هاذ الباجه من الليسته نتاع التتباع',
+'tooltip-search' => ' فتّش في {{SITENAME}}',
+'tooltip-search-go' => 'روح الباجه عندها نفس الآسم إذا كانت كاينه',
+'tooltip-search-fulltext' => 'فتّش على باجه بهاد الكتبة',
+'tooltip-p-logo' => 'روح للباجه اللولانيّه',
+'tooltip-n-mainpage' => 'زور الباجه اللوله',
+'tooltip-n-mainpage-description' => 'زور الباجه لوله',
+'tooltip-n-portal' => 'على الپروجي،واش تنجم تدير، وين تصيب واش تحتاج',
+'tooltip-n-currentevents' => 'تحواس على معلومات أساسية لصوالح صراو ذروك',
+'tooltip-n-recentchanges' => 'الليستة تاع التبديلات التوالا فل ويكي',
+'tooltip-n-randompage' => 'طلّع باجه على الزهر',
+'tooltip-n-help' => 'بلاصة المعونة',
+'tooltip-t-whatlinkshere' => 'ليسته نتاع قاع باجات المحتوى الي توصل هنا',
+'tooltip-t-recentchangeslinked' => 'ليسته نتاع التبديلات التواله نتاع الباجات الي عندهم علاقه بهاذي',
+'tooltip-feed-atom' => 'سيلان آتوم نتاع الباجه',
+'tooltip-t-contributions' => 'شوفان ليسته مساهمات هاذا المستخدم',
+'tooltip-t-emailuser' => 'أرسل بريه لهاذ المستخدم',
+'tooltip-t-upload' => 'أرسل تصويرة و إلا أي ملف ميديا للسرفر',
+'tooltip-t-specialpages' => 'ليستة تاع كامل الباجات الخصوصيّة',
+'tooltip-t-print' => 'نسخه لهاذ الباجه قابله للطبيع',
+'tooltip-t-permalink' => 'توصيله دايمه رايحه لهاذ النسخة نتاع الباجة',
+'tooltip-ca-nstab-main' => 'شوف باجه المحتوى',
+'tooltip-ca-nstab-user' => 'شوف باجت المستعمل',
+'tooltip-ca-nstab-special' => 'هذه الباجه خصوصيه،ما تقدرش تبدل فيها',
+'tooltip-ca-nstab-project' => 'شوف باجت البروجي',
+'tooltip-ca-nstab-image' => 'شوف باجت الملف',
+'tooltip-ca-nstab-template' => 'شوفان القالب',
+'tooltip-ca-nstab-category' => 'شوفان باجة التصنيف',
+'tooltip-minoredit' => 'ماركي هاذا تبديل صغير',
+'tooltip-save' => 'سجل تبديلات نتاعك',
+'tooltip-preview' => 'بين التغييرات نتاعك، من فضلك استخدم هذا قبل ما تنشر!',
+'tooltip-diff' => 'تخلي الشوفان نتاع التبديلات اللي ندارو.',
+'tooltip-compareselectedversions' => 'شوف الفروق بين نسختين مخيرين من هاذ الباجه.',
+'tooltip-watch' => 'زيد هذ الباجه لليستتك نتاع التتباع',
+'tooltip-rollback' => 'يولي : بدركة وحده تآنيلي التبديله و إلا التبديلات نتاع المساهم التالي',
+'tooltip-undo' => '"نحّي" فاصي هاد الـمعاودة و حلّ تاقة تاع تبدال بشوفه قبلانيّه. تخلّي باش ترجع لل معاوده التاليه و تزيد الـسبّة علاش فل قابسه تاع الـحويصله.',
+'tooltip-summary' => 'دخل تلخيص صغير',
+
+# Browsing diffs
+'previousdiff' => '→ التعديل الي قبل',
+'nextdiff' => 'التبديل الجاي ←',
+
+# Media information
+'file-info-size' => '$1 × $2 بكسل حجم الملف: $3، نوع MIME: $4',
+'file-nohires' => 'ما كانش دقه اكثر من هاك',
+'svg-long-desc' => 'فيشيي SVG، أبعاده $1 × $2 بكسل، تاي الفيشي : $3',
+'show-big-image' => 'تصويرة دقة عالية',
+
+# Bad image list
+'bad_image_list' => 'الفورمه كيما التابعة:
+ما كاين غير السطور الّي باديين بل *، الّي يكونو معدودين
+الـوصيل الـلوّل نتاع سطر لازم تكون تاع تصويرة ضايعة.
+كامل الوصيلات لخرين الّي فل سطر، يكونو معدودين كلّي تتنيّات، بل كي الباجات وين الـفيشي يكون باين.',
+
+# Metadata
+'metadata' => 'بايان ميتا',
+'metadata-help' => 'هذا الملف راه فيه معلومات زيادة، بالاك تكون انزادت من عند صواره نيميريك ولا سكانر مين صنع الملف.
+الأصلي، شي تفاصيل بالاك ما تعبرش على الملف المعدل.',
+'metadata-fields' => 'غادي ينعرض الحقل نتاع معطيات الميتا الكاينه في هاذ البريه في باجه التصويرة منين يكون جدول معطيات الميتا مطوياً.
+الحقول لخره تكون مخبية بار ديفو.
+* make
+* model
+* datetimeoriginal
+* exposuretime
+* fnumber
+* isospeedratings
+* focallength
+* artist
+* copyright
+* imagedescription
+* gpslatitude
+* gpslongitude
+* gpsaltitude',
+
+# 'all' in various places, this might be different for inflected languages
+'watchlistall2' => 'لكل',
+'namespacesall' => 'لكل',
+'monthsall' => 'لكل',
+
+# Watchlist editing tools
+'watchlisttools-view' => 'اعرض التبديلات المرتابطه',
+'watchlisttools-edit' => 'اعرض قائمه المراقبه و عدلها',
+'watchlisttools-raw' => 'موديفي ليستت التبيعه الخام',
+
+# Core parser functions
+'duplicate-defaultsort' => '\'\'\'توليه:\'\'\' مفتاح التستيف الافتراضي "$2" ديباسا مفتاح التستيف الافتراضي التالي"$1".',
+
+# Special:SpecialPages
+'specialpages' => 'الباجات الخصوصيه',
+
+# External image whitelist
+'external_image_whitelist' => ' #<pre>خلى هاذ السطر كيما راه
+#حط منثورات التعبيرات المنتظمة (برك الجزء الي يروح بين //) بالتحت
+#هاذ يكون مطابقتها مع مسارات التصاوير البرانيه (الموصولة بصفه مباشره)
+#هاذي الي تشبهغادي تنعرض كتصاور، خلاف هذا برك وصيلة للتصويرة غادي تنعرض
+#السطور اللي تبدأا ب# تعتبر تعليقات
+#هذا لا يتأثر بحالة الحروف
+
+#حط كامل منثورات التعبيرات المنتظمة فوق هذا السطر. خلي هاذ السطر سواسوا كيما هو</pre>',
+
+# Special:Tags
+'tag-filter' => 'صفاية[[Special:Tags|الوشام]]:',
+
+);
'revdelete-no-file' => 'dak l-milef ma kayn-ċ.',
'revdelete-show-file-confirm' => 'waċ mṫ\'kked baġi ṫċof ṃoṛajaĝa mḫdofa ṫaĝ milef "<nowiki>$1</nowiki>" mn $2 l-$3?',
'revdelete-show-file-submit' => 'iyih',
-'revdelete-selected' => "'''{{PLURAL:$2|ṃoṛajaĝa mĥṫaṛa|ṃoṛajaĝaṫ mĥṫaṛa}} d-[[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|ḫadaṫ sijill mĥṫaṛ|aḫdaṫ sijill mĥṫaṛa}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|ḫadaṫ sijill mĥṫaṛ|aḫdaṫ sijill mĥṫaṛa}}:',
'revdelete-legend' => 'dir ḍ-ḍawaḅit dl-vizibiliṫi',
'revdelete-hide-text' => 'khbbi nass lmorajaa',
'revdelete-hide-image' => 'khbi lmohtawa dyal lfichier',
'revdelete-no-file' => 'الملف المتحدد مالوش وجود',
'revdelete-show-file-confirm' => 'انتا متأكد من انك عايز تشوف المراجعه الممسوحه بتاعة الملف "<nowiki>$1</nowiki>" من $2 لحد $3?',
'revdelete-show-file-submit' => 'ايوه',
-'revdelete-selected' => "'''{{PLURAL:$2|المراجعه المختاره|المراجعات المختاره}} بتاعة [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:',
'revdelete-confirm' => 'لو سمحت اتأكدد انك ناوى تعمل كدا, و انك فاهم اللى ح يترتب على كدا, و انك بتعمل كدا بالتوافق مع مع [[{{MediaWiki:Policy-url}}|السياسه]].',
'revdelete-suppress-text' => "الكبت لازم ييتعمل '''بس''' فى الحالات دى:
* معلومات شخصيه مش مناسبه
'noarticletext-nopermission' => 'এই পৃষ্ঠাত বৰ্তমান কোনো পাঠ্য নাই।
আপুনি আন পৃষ্ঠাত [[Special:Search/{{PAGENAME}}|এই শিৰোনামা অনুসন্ধান কৰিব পাৰে]],
বা <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} সম্পৰ্কীয় অভিলেখ অনুসন্ধান কৰিব পাৰে]</span>, কিন্তু এই পৃষ্ঠা সৃষ্টি কৰিবলৈ আপোনাৰ অনুমতি নাই।',
-'missing-revision' => '"{{PAGENAME}}" নামৰ পৃষ্ঠাৰ #$1 সংশোধনৰ অস্তিত্ব নাই।
+'missing-revision' => '"{{FULLPAGENAME}}" নামৰ পৃষ্ঠাৰ #$1 সংশোধনৰ অস্তিত্ব নাই।
সাধাৰণতে বিলোপ কৰা এখন পৃষ্ঠাৰ পুৰণা ইতিহাস লিংক অনুসৰণ কৰিলে এনে হয়।
[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} বিলোপন ল\'গ]ত অধিক তথ্য পাব।',
'revdelete-no-file' => 'নিৰ্ধাৰিত ফাইলটো নাই।',
'revdelete-show-file-confirm' => 'আপুনি "<nowiki>$1</nowiki>" ফাইলৰ বিলোপ কৰা কৰা সংশোধন $2 তাৰিখৰ পৰা $3 সময়ত চাব বিচাৰিছে নেকি?',
'revdelete-show-file-submit' => 'হয়',
-'revdelete-selected' => "'''[[:$1]]-ৰ {{PLURAL:$2|নিৰ্বাচিত সংশোধন|নিৰ্বাচিত সংশোধনসমূহ}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|টা নিৰ্বাচিত ল’গ ভৰ্তি|টা নিৰ্বাচিত ল’গ ভৰ্তি}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|টা নিৰ্বাচিত ল’গ ভৰ্তি|টা নিৰ্বাচিত ল’গ ভৰ্তি}}:',
'revdelete-confirm' => 'অনুগ্ৰহ কৰি সাব্যস্ত কৰক যে আপুনি ইয়াৰ পৰিণাম বুজি আৰু [[{{MediaWiki:Policy-url}}|the policy]] ৰ সৈতে সহমত হৈ এই কামটো কৰিব বিচাৰিছে |',
'revdelete-suppress-text' => "নিবাৰণ '''কেৱল''' তলত দিয়া কাৰণসমূহত ব্যৱহৃত হ’ব:
* সম্ভাব্য ক্ষতিকাৰক তথ্য
o [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta páxina]</span>.',
'noarticletext-nopermission' => 'Nestos momentos nun hai testu nesta páxina.
Pue [[Special:Search/{{PAGENAME}}|buscar esti títulu de páxina]] n\'otres páxines o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar los rexistros rellacionaos]</span>, pero nun tiene permisu pa crear esta páxina.',
-'missing-revision' => 'La revisión #$1 de la páxina llamada "{{PAGENAME}}" nun esiste.
+'missing-revision' => 'La revisión #$1 de la páxina llamada "{{FULLPAGENAME}}" nun esiste.
De vezu la causa d\'esto ye siguir un enllaz antiguu del historial a una páxina que se desanició.
Se puen alcontrar más detalles nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rexistru de desanicios].',
'revdelete-no-file' => 'El ficheru conseñáu nun esiste.',
'revdelete-show-file-confirm' => '¿Tas seguru de que quies ver una versión desaniciada del ficheru "<nowiki>$1</nowiki>" del $2 a les $3?',
'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisión seleicionada|Revisiones seleicionaes}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Socesu del rexistru seleicionáu|Socesos del rexistru seleicionaos}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Socesu del rexistru seleicionáu|Socesos del rexistru seleicionaos}}:',
'revdelete-text-text' => 'Les revisiones desaniciaes inda apaecerán nel historial de la páxina, pero partes del conteníu nun sedrán accesibles al públicu.',
'revdelete-text-file' => 'Les versiones del ficheru desaniciaes inda apaecerán nel historial del ficheru, pero partes del conteníu nun sedrán accesibles al públicu.',
'logdelete-text' => 'Los socesos del rexistru desaniciaos inda apaecerán nos rexistros, pero partes del conteníu nun sedrán accesibles al públicu.',
'revdelete-nooldid-text' => 'Ta skura va bati fli, ont rin va jalaf betaks me bazeyel, ont yawayal da va noeltaf betaks palsel.',
'revdelete-no-file' => 'Bazen iyeltak me krulder.',
'revdelete-show-file-submit' => 'En',
-'revdelete-selected' => "'''{{PLURAL:$2|Reban betaks|Yon reban betaks}} va [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:\$1|Reban \"log\" bif|Yon reban \"log\" bif}} :'''",
+'logdelete-selected' => '{{PLURAL:$1|Reban "log" bif|Yon reban "log" bif}} :',
'revdelete-legend' => 'Skus irutareem',
'revdelete-hide-text' => 'Palsera va betaracek',
'revdelete-hide-image' => 'Palsera va iyeltakcek',
'revdelete-no-file' => 'Axtarılan fayl mövcud deyil',
'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" faylının $2 $3 tarixli silinmiş bir redaktəsini görmək istədiyinizdən əminsizinizmi?',
'revdelete-show-file-submit' => 'Bəli',
-'revdelete-selected' => "'''[[:$1]] səhifəsinin {{PLURAL:$2|seçilmiş versiyası|seçilmiş versiyaları}}:'''",
-'logdelete-selected' => "'''Jurnalın {{PLURAL:$1|seçilmiş qeydi|seçilmiş qeydləri}}:'''",
+'logdelete-selected' => 'Jurnalın {{PLURAL:$1|seçilmiş qeydi|seçilmiş qeydləri}}:',
'revdelete-legend' => 'Məhdudiyyətləri müəyyənləşdir:',
'revdelete-hide-text' => 'Səhifənin bu versiyasının mətnini gizlə',
'revdelete-hide-image' => 'Faylın məzmununu gizlə',
باشقا صحیفهلرده عینی آددا صحیفهنی [[Special:Search/{{PAGENAME}}| آختار]], علاقهلی قئيدلره
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} باخا],
و يا صحیفهنی [{{fullurl:{{FULLPAGENAME}}|action=edit}} redaktə]</span> ائده بیلرسینیز.',
-'missing-revision' => '«{{PAGENAME}}» صحیفهسی اوچون $1 نومرهلی نوسخه یوخدور.
+'missing-revision' => '«{{FULLPAGENAME}}» صحیفهسی اوچون $1 نومرهلی نوسخه یوخدور.
عموماُ بو ایشکال، واختی گئچمیش بیر باغلانتی ایله سیلینمیش بیر صحیفهیه گلنده، قاباغا گلر.
[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} سیلمک سیاهی]سینده باشقا بیلگیلر اولا بیلر.',
'revdelete-no-file' => 'آختاریلان فايل مؤوجود دئيیل',
'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" فایلینین $2 $3 تاریخلی سیلینمیش بیر رئداکتهسینی گؤرمک ایستدیگینیزدن امینسیزینیزمی؟',
'revdelete-show-file-submit' => 'بلی',
-'revdelete-selected' => "[[:$1]] صحیفهسینین {{PLURAL:$2|سئچیلمیش نوسخه لری|سئچیلمیش نوسخه لری }}:'",
'logdelete-selected' => "'ژورنالین {{PLURAL:$1|سئچیلمیش قئیدی|سئچیلمیش قئیدلری}}:'",
'revdelete-confirm' => 'خاهیش ائدیریک، بونو ائتمک ایستدیگینیزی، نتیجهلرینی آنلادیغینیزی، و بونو [[{{MediaWiki:Policy-url}}| پرینسیپلره]] گؤره ائدیر اولدوغونوزو تسدیق ائدین.',
'revdelete-suppress-text' => "ساخلاما 'یالنیز آشاغیداکی حاللار اوچون ایستیفاده ائدیلمهلیدیر:
'noarticletext-nopermission' => 'Хәҙерге ваҡытта был биттә текст юҡ.
Һеҙ башҡа биттәрҙә [[Special:Search/{{PAGENAME}}|был исемде]] йәки
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} журналдағы яҙмаларҙы] эҙләй алаһығыҙ, тик һеҙҙең бит яһау хоҡуғығыҙ юҡ.</span>',
-'missing-revision' => '"{{PAGENAME}}" исемле биттең $1 номерлы өлгөһө юҡ.
+'missing-revision' => '"{{FULLPAGENAME}}" исемле биттең $1 номерлы өлгөһө юҡ.
Был хәл, ғәҙәттә, юйылған биткә яһалған һылтанманын ваҡыты үтеүенән барлыҡҡа килә.
Тулыраҡ мәғлүмәт өсөн ҡарағыҙ: [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} юйыу яҙмалары].',
'revdelete-no-file' => 'Күрһәтелгән файл юҡ.',
'revdelete-show-file-confirm' => '$2, $3 ваҡытлы «<nowiki>$1</nowiki> файлының юйылған версияһын ҡарарға теләүегеҙҙе раҫлайһығыҙмы?',
'revdelete-show-file-submit' => 'Эйе',
-'revdelete-selected' => "'''[[:$1]] битенең {{PLURAL:$2|1=һайланған версияһы|һайланған версиялары}}:'''",
-'logdelete-selected' => "'''Яҙманың {{PLURAL:$1|1=һайланған яҙыуы|һайланған яҙыуҙары}}:'''",
+'logdelete-selected' => 'Яҙманың {{PLURAL:$1|1=һайланған яҙыуы|һайланған яҙыуҙары}}:',
'revdelete-confirm' => 'Зинһар, был ғәмәлде үтәргә теләүегеҙҙе, буласаҡ һөҙөмтәләрҙә аңлауығыҙҙы, [[{{MediaWiki:Policy-url}}|ҡағиҙәләр]] буйынса эшләүегеҙҙе раҫлағыҙ.',
'revdelete-suppress-text' => "Йәшереү '''тик''' киләһе осраҡтарҙа ғына башҡарыла:
،بازبینی مشخص موجود نهنت، یا شما تلاش کنیت هنوکین بازبینی پناه کنیت.',
'revdelete-no-file' => 'فایل مشخص بیتگین موجود نهنت',
'revdelete-show-file-submit' => 'بله',
-'revdelete-selected' => "'''{{PLURAL:$2|بازبینی انتخابی|بازبینی ان انتخابی}} چه [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|رویداد آمار انتخابی|رویداد ان آمار انتخابی}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|رویداد آمار انتخابی|رویداد ان آمار انتخابی}}:',
'revdelete-suppress-text' => "فرونشانی بایدن '''فقط''' په جهلگین موارد استفاده بیت:
* اطلاعات نامناسب شخصی
*: ''نشانی لوگ، شماره تلفن، شماره تامین اجتماعی و دگه.''",
'noarticletext-nopermission' => 'Mayong sa presente nin teksto an pahinang ini.
Ika mapuwedeng [[Special:Search/{{PAGENAME}}|hanapa para kaining titulo kan pahina]] sa iba pang mga pahina,
o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} maghanap sa magkasurundong mga talaan]</span>.',
-'missing-revision' => 'An rebisyon #$1 kan pahina pinagngaranan na "{{PAGENAME}}" bakong eksistido.
+'missing-revision' => 'An rebisyon #$1 kan pahina pinagngaranan na "{{FULLPAGENAME}}" bakong eksistido.
Ini pirmihan na pinagkakausa sa paagi nin pagsusunod nin luwas na petsang historiya nin kasugpunan pasiring sa sarong pahinang pinagpura na.
An mga detalye matatagboan sa [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} pinagpura na talaan].',
'revdelete-no-file' => 'An sagunson na pinaghayag dae tabi eksistido.',
'revdelete-show-file-confirm' => 'Segurado ka tabi na gusto mo matanaw sarong pinagpurang pagbabago kan sagunson "<nowiki>$1</nowiki>" poon $2 sa $3?',
'revdelete-show-file-submit' => 'Iyo tabi',
-'revdelete-selected' => "'''{{PLURAL:$2|Selected revision|Mga piniling pagbabago}} kan [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Selected log event|Mga piniling talaan kan mga pangyayari}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Selected log event|Mga piniling talaan kan mga pangyayari}}:',
'revdelete-confirm' => 'Pakikumpirma tabi na ika tuyong gumibo kaini, na saimong naintindihan an mga konsekuwensiya, asin ta ika pinaghihimo ini na uyon sa [[{{MediaWiki:Policy-url}}|an palisiya]].',
'revdelete-suppress-text' => "An paglulubog dapat '''sana''' magagamit para sa minasunod na mga kaso:
*Potensiyal na libeloso an impormasyon
'tog-previewontop' => 'Папярэдні паказ — над рэдактарскім полем',
'tog-previewonfirst' => 'Папярэдні паказ пры першай праўцы',
'tog-enotifwatchlistpages' => 'Слаць мне эл.пошту, калі мяняецца старонка ў маім спісе назірання',
-'tog-enotifusertalkpages' => 'СлаÑ\86Ñ\8c Ñ\8dл.поÑ\88Ñ\82Ñ\83 пÑ\80а менÑ\8b Ñ\9e маÑ\91й Ñ\80азмоÑ\9eнай Ñ\81Ñ\82аÑ\80онÑ\86Ñ\8b',
+'tog-enotifusertalkpages' => 'Ð\9fаведамлÑ\8fÑ\86Ñ\8c мне на Ñ\8dл.поÑ\88Ñ\82Ñ\83 аб зменаÑ\85 на маÑ\91й Ñ\81Ñ\82аÑ\80онÑ\86Ñ\8b Ñ\80азмоÑ\9e',
'tog-enotifminoredits' => 'Паведамяць мне на эл.пошту пра дробныя праўкі старонак і файлаў',
'tog-enotifrevealaddr' => 'Не скрываць майго адрасу эл.пошты ў паведамленнях',
'tog-shownumberswatching' => 'Паказваць колькасць назіральнікаў',
'revdelete-no-file' => 'Пазначаны файл не існуе.',
'revdelete-show-file-confirm' => 'Ці сапраўды паказаць сцёртую версію файла "<nowiki>$1</nowiki>" ($2 $3)?',
'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|Выбраная версія|Выбраныя версіі}} [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Выбраны запіс|Выбраныя запісы}} журналу:'''",
+'logdelete-selected' => '{{PLURAL:$1|Выбраны запіс|Выбраныя запісы}} журналу:',
'revdelete-confirm' => 'Пацвердзіце, што вы жадаеце гэта зрабіць, што вы разумееце наступствы, і што вы робіце гэта ў адпаведнасці з [[{{MediaWiki:Policy-url}}|арганізацыйнымі правіламі]].',
'revdelete-suppress-text' => "Заглушэнне належыць ужываць '''выключна''' ў наступных выпадках:
* Недапушчальная асабістая інфармацыя
'nchanges' => '$1 {{PLURAL:$1|змена|змены|змен}}',
'recentchanges' => 'Апошнія змены',
'recentchanges-legend' => 'Магчымасці паказу',
-'recentchanges-summary' => 'Гэта апошнія мены на пляцоўцы {{SITENAME}}.',
+'recentchanges-summary' => 'Ð\93Ñ\8dÑ\82а апоÑ\88нÑ\96Ñ\8f зменÑ\8b на плÑ\8fÑ\86оÑ\9eÑ\86Ñ\8b {{SITENAME}}.',
'recentchanges-feed-description' => 'Сачыць за найбольш актуальнымі змяненнямі ў віксе праз гэты струмень навін.',
'recentchanges-label-newpage' => 'Гэтай праўкай была створана новая старонка',
'recentchanges-label-minor' => 'Гэта дробная па значэнні праўка',
'enotif_mailer' => 'Апавяшчальнік {{SITENAME}}',
'enotif_reset' => 'Пазначыць усе старонкі як наведаныя',
'enotif_impersonal_salutation' => 'Шаноўны ўдзельнік {{SITENAME}}',
-'enotif_lastvisited' => 'Гл. $1 каб бачыць усе мены пасля вашага апошняга наведвання.',
+'enotif_lastvisited' => 'Ð\93л. $1 каб баÑ\87Ñ\8bÑ\86Ñ\8c Ñ\83Ñ\81е зменÑ\8b паÑ\81лÑ\8f ваÑ\88ага апоÑ\88нÑ\8fга наведваннÑ\8f.',
'enotif_lastdiff' => 'Гл. $1 каб бачыць гэтую мену.',
'enotif_anon_editor' => 'ананімны ўдзельнік $1',
'enotif_body' => 'Паважаны(ая) $WATCHINGUSERNAME,
'tooltip-n-randompage' => 'Паказаць выпадковую старонку',
'tooltip-n-help' => 'Дзе можна атрымаць тлумачэнні.',
'tooltip-t-whatlinkshere' => 'Спіс вікі-старонак, што спасылаюцца сюды',
-'tooltip-t-recentchangeslinked' => 'Нядаўнія мены ў старонках, на якія спасылаецца гэтая старонка',
+'tooltip-t-recentchangeslinked' => 'Ð\9dÑ\8fдаÑ\9eнÑ\96Ñ\8f зменÑ\8b Ñ\9e Ñ\81Ñ\82аÑ\80онкаÑ\85, на Ñ\8fкÑ\96Ñ\8f Ñ\81паÑ\81Ñ\8bлаеÑ\86Ñ\86а гÑ\8dÑ\82аÑ\8f Ñ\81Ñ\82аÑ\80онка',
'tooltip-feed-rss' => 'RSS-струмень гэтай старонкі',
'tooltip-feed-atom' => 'Струмень навін Atom для гэтай старонкі',
'tooltip-t-contributions' => 'Паказаць пералік укладаў гэтага ўдзельніка',
'livepreview-error' => 'Не ўдалося далучыцца: $1 "$2". Паспрабуйце звычайны перадпаказ.',
# Friendlier slave lag warnings
-'lag-warn-normal' => 'Ð\9cенÑ\8b, навейÑ\88Ñ\8bÑ\8f за $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}}, могÑ\83Ñ\86Ñ\8c не Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 гÑ\8dÑ\82Ñ\8b паказ.',
-'lag-warn-high' => 'Ð\97 пÑ\80Ñ\8bÑ\87Ñ\8bнÑ\8b моÑ\86нÑ\8bÑ\85 заÑ\82Ñ\80Ñ\8bмак на Ñ\81еÑ\80веÑ\80Ñ\8b баз данÑ\8bÑ\85, менÑ\8b, навейÑ\88Ñ\8bÑ\8f за $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}}, могÑ\83Ñ\86Ñ\8c не Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 гÑ\8dÑ\82Ñ\8b паказ.',
+'lag-warn-normal' => 'Ð\97менÑ\8b, зÑ\80обленÑ\8bÑ\8f менÑ\88 за $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}} назад, могÑ\83Ñ\86Ñ\8c не Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 гÑ\8dÑ\82Ñ\8b Ñ\81пÑ\96Ñ\81.',
+'lag-warn-high' => 'Ð\97 пÑ\80Ñ\8bÑ\87Ñ\8bнÑ\8b моÑ\86нÑ\8bÑ\85 заÑ\82Ñ\80Ñ\8bмак на Ñ\81еÑ\80веÑ\80Ñ\8b баз данÑ\8bÑ\85, зменÑ\8b, зÑ\80обленÑ\8bÑ\8f пазней Ñ\87Ñ\8bм $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}} назад, могÑ\83Ñ\86Ñ\8c не Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 гÑ\8dÑ\82Ñ\8b Ñ\81пÑ\96Ñ\81.',
# Watchlist editor
'watchlistedit-numitems' => 'У назіраным {{PLURAL:$1|1 складнік|$1 складнікаў}}, без уліку размоўных старонак.',
альбо [{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} рэдагаваць гэтую старонку]</span>.',
'noarticletext-nopermission' => 'Цяпер на гэтай старонцы тэкст адсутнічае.
Вы можаце [[Special:Search/{{PAGENAME}}|пашукаць назву гэтай старонкі]] на іншых старонках, альбо <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} пашукаць зьвязаныя запісы ў журналах]</span>, але ў вас няма дазволу ствараць гэтую старонку.',
-'missing-revision' => 'Вэрсія старонкі №$1 з назвай «{{PAGENAME}}» не існуе.
+'missing-revision' => 'Вэрсія старонкі №$1 з назвай «{{FULLPAGENAME}}» не існуе.
Звычайна гэта здараецца з-за перахода па састарэлай спасылцы на старонку, якая была выдаленая.
Падрабязнасьці можна знайсьці ў [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журнале выдаленьняў].',
'revdelete-no-file' => 'Пазначаны файл не існуе.',
'revdelete-show-file-confirm' => 'Вы ўпэўненыя, што жадаеце паглядзець выдаленую вэрсію файла «<nowiki>$1</nowiki>» ад $2 $3?',
'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|1=Выбраная вэрсія|Выбраныя вэрсіі}} старонкі [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|1=Выбраны запіс|Выбраныя запісы}} журнала:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|1=Абраная вэрсія|Абраныя вэрсіі}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|1=Абраная вэрсія файла|Абраныя вэрсіі файла}} [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|1=Выбраны запіс|Выбраныя запісы}} журнала:',
'revdelete-text-text' => 'Выдаленыя вэрсіі будуць па-ранейшаму бачныя ў гісторыі старонкі, але некаторыя часткі іх зьместу будуць недаступныя для ўдзельнікаў.',
'revdelete-text-file' => 'Выдаленыя вэрсіі файла будуць па-ранейшаму бачныя ў гісторыі старонкі, але часткі іх зьместу будуць недаступныя для ўдзельнікаў.',
'logdelete-text' => 'Выдаленыя падзеі ў журнале будуць па-ранейшаму даступныя ў журналах, але часткі іх зьместу будуць недаступныя ўдзельнікам.',
# List duplicated files special page
'listduplicatedfiles' => 'Сьпіс файлаў з дублікатамі',
+'listduplicatedfiles-summary' => 'Гэта сьпіс файлаў, дзе самая апошняя вэрсія файла зьяўляецца дублікатам самай апошняй вэрсіі нейкага іншага файла. Улічваюцца толькі лякальныя файлы.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] мае [[$3|$2 {{PLURAL:$2|дублікат|дублікаты|дублікатаў}}]].',
# Unused templates
'unusedtemplates' => 'Шаблёны, якія не выкарыстоўваюцца',
'noarticletext' => 'Тази страница все още не съществува. Можете да [[Special:Search/{{PAGENAME}}|потърсите за заглавието на страницата]] в други страници, да <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} потърсите в дневниците] или [{{fullurl:{{FULLPAGENAME}}|action=edit}} да я създадете]</span>.',
'noarticletext-nopermission' => 'Текущо в тази страница няма текст.
Можете да [[Special:Search/{{PAGENAME}}|потърсите заглавието на тази страница ]] в други страници или да <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} потърсите в съответните дневници]</span>, но нямате права да създадете тази страница.',
-'missing-revision' => 'Версия #$1 на страницата „{{PAGENAME}}“ не съществува.
+'missing-revision' => 'Версия #$1 на страницата „{{FULLPAGENAME}}“ не съществува.
Това обикновено се дължи на препратка от историята на страницата, която е била изтрита.
Подробности могат да бъдат открити в [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневника на изтриванията].',
'revdelete-no-file' => 'Посоченият файл не съществува.',
'revdelete-show-file-confirm' => 'Необходимо е потвърждение, че желаете да прегледате изтритата версия на файла „<nowiki>$1</nowiki>“ от $2 $3.',
'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Избрана версия|Избрани версии}} от '''$1:''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|Избрано събитие|Избрани събития}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Избрано събитие|Избрани събития}}:',
'revdelete-confirm' => 'Необходимо е да потвърдите, че велаете да извършите действието, разбирате последствията и го правите според [[{{MediaWiki:Policy-url}}|политиката]].',
'revdelete-suppress-text' => "Премахването трябва да се използва '''само''' при следните случаи:
*Неподходяща или неприемлива лична информация
'revdelete-no-file' => 'Barakas nang diajuakan kadada.',
'revdelete-show-file-confirm' => 'Pian bujurkah handak maniringi sabuah ralatan tahapus matan barakas "<nowiki>$1</nowiki>" $2 pada $3?',
'revdelete-show-file-submit' => 'Iya-ai',
-'revdelete-selected' => "'''{{PLURAL:$2|Ralatan tapilih|Raralatan tapilih}} matan [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log kajadian tapilih|Log kakajadian tapilih}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log kajadian tapilih|Log kakajadian tapilih}}:',
'revdelete-confirm' => 'Muhun yakinakan bahwasa Pian handak manggawi ini, bahwasa Pian paham sabab akibat, wan bahwasa Pian manggawi ini bapandal awan [[{{MediaWiki:Policy-url}}|kaaripan]].',
'revdelete-suppress-text' => "Panikinan parlu dipuruk gasan kakasus baumpat ini:
* Pina kawa jadi panjalasan pitnah
'gotaccountlink' => 'প্রবেশ',
'userlogin-resetlink' => 'আপনার লগইনের বিস্তারিত তথ্যাদি ভুলে গেছেন?',
'userlogin-resetpassword-link' => 'শব্দচাবি ভুলে গেছেন?',
+'userlogin-helplink2' => 'লগইন সংক্রান্ত সাহায্য',
'userlogin-loggedin' => 'আপনি বর্তমানে {{GENDER:$1|$1}} হিসাবে লগইন আছেন।
অন্য ব্যবহারকারী নামে লগইন করতে চাইলে নিচের ফর্মটি ব্যবহার করুন।',
'userlogin-createanother' => 'আরেকটি অ্যাকাউন্ট তৈরি করুন',
কিংবা [{{fullurl:{{FULLPAGENAME}}|action=edit}} এই পাতাটি সম্পাদনা করতে পারেন]</span>।',
'noarticletext-nopermission' => 'বর্তমানে এই পাতায় কোন লেখা নেই।
আপনি চাইলে অন্য পাতায় [[Special:Search/{{PAGENAME}}| শিরোনামটি অনুসন্ধান করতে পারেন]], অথবা <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} সম্পর্কিত লগ অনুসন্ধান করতে পারেন]</span>, কিন্তু আপনার এই পাতাটি তৈরী করার অনুমতি নেই।',
-'missing-revision' => '"{{PAGENAME}}" এর #$1তম সংস্করণটি প্রদর্শন সম্ভব নয়।
+'missing-revision' => '"{{FULLPAGENAME}}" এর #$1তম সংস্করণটি প্রদর্শন সম্ভব নয়।
সাধারণত মুছে ফেলা হয়েছে এমন পাতার মেয়াদ উত্তীর্ণ ইতিহাস পাতার লিংক ওপেন করার কারণে এটি হতে পারে।
[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} অপসারণ লগে] বিস্তারিত তথ্য জানা যাবে।',
'revdelete-no-file' => 'নির্ধারিত ফাইলটি নেই।',
'revdelete-show-file-confirm' => 'আপনি কি নিশ্চিত যে "<nowiki>$1</nowiki>" ফাইলের $2 তারিখের $3 টার অপসারণ লগ দেখানো হবে?',
'revdelete-show-file-submit' => 'হ্যাঁ',
-'revdelete-selected' => "'''[[:$1]] পাতার {{PLURAL:$2|নির্বাচিত সংশোধন|নির্বাচিত সংশোধনসমূহ}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|টি নির্বাচিত লগ-ঘটনা|টি নির্বাচিত লগ-ঘটনা}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|টি নির্বাচিত লগ-ঘটনা|টি নির্বাচিত লগ-ঘটনা}}:',
'revdelete-confirm' => 'অনুগ্রহ করে নিশ্চিত করুন যে আপনি এটি করতে চাচ্ছিলেন, আপনি এর ফলাফল সম্পর্কে অবগত আছেন, এবং [[{{MediaWiki:Policy-url}}|নীতিমালার]] উপর ভিত্তি করেই এই কাজটি করছেন।',
'revdelete-suppress-text' => "নিচের বিষয়গুলোর ক্ষেত্রেই '''কেবলমাত্র''' চাপাচাপি করা যাবে:
* সম্ভাব্য মানহানিকর তথ্য
'gotaccountlink' => 'Kevreañ',
'userlogin-resetlink' => "Ha disoñjet eo bet ho titouroù kevreañ ganeoc'h ?",
'userlogin-resetpassword-link' => 'Ankouaet ho peus ho ker-tremen ?',
+'userlogin-helplink2' => 'Skoazell evit kevreañ',
'userlogin-loggedin' => "Kevreet oc'h dija evel {{GENDER:$1|$1}}.
Implijit ar furmskrid amañ dindan evit kevreañ evel un implijer all.",
'userlogin-createanother' => 'Krouiñ ur gont all',
'noarticletext-nopermission' => "N'eus, evit ar mare, tamm testenn ebet war ar bajenn-mañ.
Gallout a rit [[Special:Search/{{PAGENAME}}|klask titl ar bajenn-mañ]] war pajennoù all,
pe <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} klask er marilhoù kar]</span>, met n'oc'h ket aotreet da grouiñ ar bajenn-mañ.",
-'missing-revision' => "N'eus ket eus adwel niv. $1 eus ar bajenn anvet « {{PAGENAME}} ».
+'missing-revision' => "N'eus ket eus adwel niv. $1 eus ar bajenn anvet « {{FULLPAGENAME}} ».
C'hoarvezout a ra peurliesañ pa vez heuliet ul liamm istorel dispredet war-zu ur bajenn zo bet dilamet.
Gallout a reot kavout muioc'h a vunudoù e [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} renabl an dilamadurioù].",
'revdelete-no-file' => "N'eus ket eus ar restr spisaet ganeoc'h.",
'revdelete-show-file-confirm' => 'Ha sur oc\'h e fell deoc\'h gwelet stumm diverket ar restr "<nowiki>$1</nowiki>" deiziataet eus an $2 da $3?',
'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Stumm dibabet|Stummoù dibabet}} eus [[:$1]] :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Darvoud eus ar marilh diuzet|Darvoud eus ar marilh diuzet}} :'''",
+'logdelete-selected' => '{{PLURAL:$1|Darvoud eus ar marilh diuzet|Darvoud eus ar marilh diuzet}} :',
'revdelete-confirm' => "Kadarnait eo mat an dra-se a fell deoc'h ober, e komprenit mat ar pezh a empleg, hag en grit en ur zoujañ d'ar [[{{MediaWiki:Policy-url}}|reolennoù]].",
'revdelete-suppress-text' => "Ne zlefe an dilemel bezañ implijet <strong>nemet</strong> abalamour d'an abegoù da-heul :
* Titouroù personel dizere
'prefs-tokenwatchlist' => 'Jedouer',
'prefs-diffs' => "Diforc'hioù",
'prefs-help-prefershttps' => "Efediñ a ray an dibarzh-mañ kentañ gwech ma kevreoc'h.",
+'prefs-tabs-navigation-hint' => 'Titourig : Gallout a rit implijout an touchennoù bir kleiz ha bir dehoù evit merdeiñ etre an ivinelloù e roll an ivinelloù.',
# User preference: email validation using jQuery
'email-address-validity-valid' => "Reizh eo ar chomlec'h postel war a seblant",
'recentchanges-label-plusminus' => 'Kemmet eo ment ar bajenn eus an niver-mañ a oktedoù',
'recentchanges-legend-heading' => "'''Alc'hwez :'''",
'recentchanges-legend-newpage' => '(gwelet ivez [[Special:NewPages|roll ar pajennoù nevez]])',
-'rcnotefrom' => "Setu aze roll ar c'hemmoù c'hoarvezet abaoe an '''$2''' ('''$1''' d'ar muiañ).",
+'rcnotefrom' => "Setu aze roll ar c'hemmoù c'hoarvezet abaoe an <strong>$2</strong> (<strong>$1</strong> d'ar muiañ).",
'rclistfrom' => "Diskouez ar c'hemmoù diwezhañ abaoe an $1.",
'rcshowhideminor' => "$1 ar c'hemmoù dister",
'rcshowhideminor-show' => 'Diskouez',
'uploaddisabledtext' => 'Diweredekaet eo an enporzhiañ restroù.',
'php-uploaddisabledtext' => 'Diweredekaet eo bet ar pellgargañ e PHP. Gwiriit an dibarzh arventennoù file_uploads.',
'uploadscripted' => "Er restr-mañ ez eus kodoù HTML pe skriptoù a c'hallfe bezañ kammgomprenet gant ur merdeer Kenrouedad.",
+'uploadinvalidxml' => "N'eus ket bet gallet dielfennañ an XML er restr ezporzhiet.",
'uploadvirus' => 'Viruzet eo ar restr! Titouroù : $1',
'uploadjava' => "Ur restr ZIP a ra gant Java .class eo homañ.
N'haller ket enporzhiañ restroù Java peogwir e c'haller mont dreist da vevennoù surentez ganto.",
'sp-contributions-blocked-notice-anon' => "Stanket eo ar chomlec'h IP-mañ evit ar mare.
Dindan emañ merket enmont diwezhañ marilh ar stankadennoù, d'ho kelaouiñ :",
'sp-contributions-search' => 'Klask degasadennoù',
+'sp-contributions-suppresslog' => 'degasadennoù diverket un implijer',
'sp-contributions-username' => "Anv implijer pe chomlec'h IP :",
'sp-contributions-toponly' => 'Na ziskouez nemet an adweladennoù diwezhañ',
+'sp-contributions-newonly' => 'Diskouez an aozadennoù a zo krouidigezhioù pajennoù hepken',
'sp-contributions-submit' => 'Klask',
# What links here
'range_block_disabled' => "Diweredekaet eo bet ar stankañ stuc'hadoù IP.",
'ipb_expiry_invalid' => 'amzer termen direizh.',
'ipb_expiry_temp' => "Peurbadus e rank bezañ bloc'hadoù an implijerien guzh.",
-'ipb_hide_invalid' => 'Dibosupl diverkañ ar gont-mañ; evit doare ez eus bet graet re a gemmoù enni.',
+'ipb_hide_invalid' => "Ne c'haller ket dilemel ar gont-mañ : Ouzhpenn {{PLURAL:$1|ur c'hemm|$1 kemm}} zo enni.",
'ipb_already_blocked' => 'Stanket eo "$1" dija',
'ipb-needreblock' => "Stanket eo $1 c'hoazh. Kemmañ an arventennoù a fell deoc'h ?",
'ipb-otherblocks-header' => '{{PLURAL:$1|Stankadenn|Stankadnenoù}} all',
'pageinfo-length' => 'Ment ar bajenn (en oktedoù)',
'pageinfo-article-id' => 'Niverenn ar bajenn',
'pageinfo-language' => 'Yezh ar bajenn',
+'pageinfo-content-model' => "Patrom endalc'had ar bajenn",
'pageinfo-robot-policy' => 'Menegeriñ gant robotoù',
'pageinfo-robot-index' => 'Aotreet',
'pageinfo-robot-noindex' => 'Diaotreet',
'rotate-comment' => 'Skeudenn troet eus $1 {{PLURAL:$1|derez}} a-du gant an heol',
# Limit report
+'limitreport-title' => 'Roadennoù da wellekaat an dielfenner :',
'limitreport-cputime' => 'Amzer implij ar CPU',
'limitreport-cputime-value' => '$1 {{PLURAL:$1|eiladenn}}',
'limitreport-walltime' => 'Amzer implij gwirion',
'limitreport-walltime-value' => '$1 {{PLURAL:$1|eiladenn}}',
+'limitreport-ppvisitednodes' => 'Niver a skoulmoù rakprosesor gweladennet',
+'limitreport-ppgeneratednodes' => 'Niver a skoulmoù rakprosesor ganet',
'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|okted}}',
'limitreport-templateargumentsize' => 'Ment arguzenn ar patrom',
'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|okted}}',
'limitreport-expansiondepth' => 'Donder astenn brasañ',
+'limitreport-expensivefunctioncount' => "Niver a arc'hwelioù dielfennañ koustus",
# Special:ExpandTemplates
'expandtemplates' => 'Emled ar patromoù',
'expand_templates_input' => 'Merkañ ho testenn amañ :',
'expand_templates_output' => "Disoc'h",
'expand_templates_xml_output' => 'Ezvont XML',
+'expand_templates_html_output' => "Disoc'h HTML kriz",
'expand_templates_ok' => 'Mat eo',
'expand_templates_remove_comments' => 'Lemel an notennoù kuit',
'expand_templates_remove_nowiki' => "Diverkañ a ra ar balizennoù <nowiki> en disoc'h",
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tražiti u povezanim zapisima] ili [{{fullurl:{{FULLPAGENAME}}|action=edit}} urediti ovu stranicu]</span>.',
'noarticletext-nopermission' => 'Trenutno nema teksta na ovoj stranici.
Možete [[Special:Search/{{PAGENAME}}|tražiti ovaj naslov stranice]] na drugim stranicama ili <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pretražiti povezane zapisnike]</span>, ali nemate dozvolu da napravite ovu stranicu.',
-'missing-revision' => 'Uređivanje broj $1 na stranici "{{PAGENAME}}" ne postoji.
+'missing-revision' => 'Uređivanje broj $1 na stranici "{{FULLPAGENAME}}" ne postoji.
Ovo se obično dešava kada pratite zastarjelu vezu na stranice koja je obrisana.
Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protokol brisanja].',
'revdelete-no-file' => 'Navedena datoteka ne postoji.',
'revdelete-show-file-confirm' => 'Da li ste sigurni da želite pogledati obrisanu reviziju datoteke "<nowiki>$1</nowiki>" od $2 u $3?',
'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Odabrana revizija|Odabrane revizije}} od [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Označena stavka zapisa|Označene stavke zapisa}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Označena stavka zapisa|Označene stavke zapisa}}:',
'revdelete-confirm' => 'Molimo potvrdite da namjeravate ovo učiniti, da razumijete posljedice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
'revdelete-suppress-text' => "Ograničenja bi trebala biti korištena '''samo''' u slijedećim slučajevima:
* Osjetljive korisničke informacije
o [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear-la ara]</span>.',
'noarticletext-nopermission' => 'Actualment no hi ha text en aquesta pàgina.
Podeu [[Special:Search/{{PAGENAME}}|cercar aquest títol]] en altres pàgines o bé <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercar en els registres relacionats]</span>, però no teniu permisos per crear la pàgina.',
-'missing-revision' => 'La revisió núm. $1 de la pàgina anomenada «{{PAGENAME}}» no existeix.
+'missing-revision' => 'La revisió núm. $1 de la pàgina anomenada «{{FULLPAGENAME}}» no existeix.
Normalment això ocorre quan seguiu un enllaç d’historial desactualitzat que apunta a una pàgina que s’ha suprimit.
Podeu trobar detalls en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registre de supressions].',
'revdelete-no-file' => 'El fitxer especificat no existeix.',
'revdelete-show-file-confirm' => 'Esteu segurs que voleu veure una revisió esborrada del fitxer «<nowiki>$1</nowiki>» de $2 a $3?',
'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisió seleccionada|Revisions seleccionades}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Esdeveniment del registre seleccionat|Esdeveniments del registre seleccionats}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Esdeveniment del registre seleccionat|Esdeveniments del registre seleccionats}}:',
'revdelete-confirm' => "Si us plau, confirmeu que és això el que desitgeu fer, que enteneu les conseqüències, i que esteu fent-ho d'acord amb [[{{MediaWiki:Policy-url}}|les polítiques acordades]].",
'revdelete-suppress-text' => "Les supressions '''només''' han de ser portades a terme en els següents casos:
* Informació potencialment difamatòria
'noarticletext-nopermission' => 'ХӀокх хан чохь кху агӀонца йоза дац.
Шуьга далундерг [[Special:Search/{{PAGENAME}}|лахар ишта хьехош йолу цӀе]] кхечу яззамашкахь,
йа <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} лаха оцуьнах терадерг кхечу тептаршкахь].</span>',
-'missing-revision' => 'АгӀона «{{PAGENAME}}» верси $1 яц.
+'missing-revision' => 'АгӀона «{{FULLPAGENAME}}» верси $1 яц.
Ишта хуьйла ширелла дӀаяьккхина агӀонан хьажораган дихьа делча.
Ма-дара хила мега [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дӀайаьхарш йолу тептар] чохь.',
'revdelete-no-file' => 'Иштта файл яц.',
'revdelete-show-file-confirm' => 'Бакъалла лаьий хьуна дӀаяьккхина файлан версега хьажа «<nowiki>$1</nowiki>» $2 тӀера, $3?',
'revdelete-show-file-submit' => 'Хlаъ',
-'revdelete-selected' => "'''АгӀона [[:$1]] {{PLURAL:$2|1=къастина верси|къастина версеш}}:'''",
-'logdelete-selected' => '<strong>Тептар чура {{PLURAL:$1|хаьржина дӀаяздар|хаьржина дӀаяздарш}}:</strong>',
+'logdelete-selected' => 'Тептар чура {{PLURAL:$1|хаьржина дӀаяздар|хаьржина дӀаяздарш}}:',
'revdelete-confirm' => 'Дехар до, бакъдар ахьа деш дерг [[{{MediaWiki:Policy-url}}|бакъонашца]] деш хилар.',
'revdelete-legend' => 'Доза тохар',
'revdelete-hide-text' => 'Къайладаккха хӀокху агӀона чура йоза',
'unwatchthispage' => 'ДӀадаккха терго яр',
'notanarticle' => 'Бац яззам',
'notvisiblerev' => 'Верси дӀаяьккхина хила',
-'watchlist-details' => 'Хьан тергаме могlамца $1 {{PLURAL:$1|агlо|агlонаш|агlонаш}} ю, дийцаре агlонаша йоцуш.',
+'watchlist-details' => 'Хьан тергаме могӀамца $1 {{PLURAL:$1|агӀо|агонаш}} ю, дийцаре агӀонаша йоцуш.',
'wlheader-enotif' => 'Электронан почте хаамаш байтар латина ду.',
'wlheader-showupdated' => "Хийцам бина агӀонаш '''Ӏаьржа''' шрифтцан билгальяха ю.",
'wlnote2' => 'Лахахьа гайтина {{PLURAL:$1|тӀеххьара сахьт}} чохь бина хийцамаш $2 $3.',
'revdelete-no-file' => 'Ang gi-specify nga payl wala pa.',
'revdelete-show-file-confirm' => 'Sigurado ka nga gusto nimong tan-awon ang napapas nga rebisyon sa payl "<nowiki>$1</nowiki>" sugod sa $2 sa $3?',
'revdelete-show-file-submit' => 'Oo',
-'revdelete-selected' => "'''{{PLURAL:$2|Napiling rebisyon|Napiling mga rebisyon}} sa [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Napiling log event|Mga napiling log event}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Napiling log event|Mga napiling log event}}:',
'revdelete-suppress-text' => "Ang supresyon gamiton '''lamang''' asa mga mosunod nga kaso:
* Dili maayo nga personal nga impormasyon
*: ''adres sa panimalay ug numero sa telepono, social security number, ubp.''",
fana'an guåha attikulo gi [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log muna'susuha].",
'rev-delundel' => "na'annok/nå'na'",
'revisiondelete' => "Na'suha/para håfa muna'suha i tinilaika",
-'revdelete-selected' => "'''{{PLURAL:$2|Tinilaika ma'ayek|Tinilaika manma'ayek}} gi [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Kasun log ni ma'ayek|Kasun log ni manma'ayek}}:'''",
+'logdelete-selected' => "{{PLURAL:$1|Kasun log ni ma'ayek|Kasun log ni manma'ayek}}:",
'revdelete-legend' => "Po'lo i chinemma' lini'e'on siha",
'revdelete-hide-text' => "Nå'na' i tinige' ribision",
'revdelete-hide-image' => "Nå'na' i sinahguan atkibu",
'revdelete-no-file' => 'ئەو پەڕگەی ڕاچاوت کردووە بوونی نیە.',
'revdelete-show-file-confirm' => 'ئایا دڵنیایت دەتەوێ پێداچوونەوەی سڕاوەی پەڕگەی "<nowiki>$1</nowiki>" لە $2، لە $3دا ببیینی؟',
'revdelete-show-file-submit' => 'بەڵێ',
-'revdelete-selected' => "'''{{PLURAL:$2|پێداچوونەوەی هەڵبژێراوی|پێداچوونەوەکانی هەڵبژێراوی}} [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|لۆگی ڕووداوەی هەڵبژێراو|لۆگی ڕووداوە هەڵبژێراوەکان}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|لۆگی ڕووداوەی هەڵبژێراو|لۆگی ڕووداوە هەڵبژێراوەکان}}:',
'revdelete-confirm' => 'تکایە بەڵێن بدە کە دەتەوێ ئەوە بکەی و لە ئەنجامەکانی ئەوە ئاگاداریت و بە پێی [[{{MediaWiki:Policy-url}}|سیاسەتنامە]] ئەنجامی ئەدەی.',
'revdelete-suppress-text' => "بەرگری دەبێ '''تەنها''' بۆ ئەم بابەتانە بەکاربهێندرێت:<br />
* سووکایەتیکردن بە کەسایەتییەک<br />
'currentevents-url' => 'Project:Ultimi evenimenti',
'disclaimers' => 'Avvertimenti',
'disclaimerpage' => 'Project:Avertimenti generali',
-'helppage' => 'Help:Cuntenutu',
'mainpage' => 'Pagina maestra',
'mainpage-description' => 'Pagina maestra',
'portal' => 'Purtone di a cumunità',
Můžete [[Special:Search/{{PAGENAME}}|zkusit tento název vyhledat]] na jiných stránkách, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} prohlédnout si příslušné protokolovací záznamy] nebo [{{fullurl:{{FULLPAGENAME}}|action=edit}} tuto stránku založit]</span>.',
'noarticletext-nopermission' => 'Tato stránka zatím neobsahuje žádný text.
Můžete [[Special:Search/{{PAGENAME}}|zkusit tento název vyhledat]] na jiných stránkách nebo <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} si prohlédnout příslušné protokolovací záznamy]</span>, ale na založení této stránky nemáte oprávnění.',
-'missing-revision' => 'Revize #$1 stránky s názvem „{{PAGENAME}}“ neexistuje.
+'missing-revision' => 'Revize #$1 stránky s názvem „{{FULLPAGENAME}}“ neexistuje.
Toto je obvykle způsobeno tím, že jste následovali zastaralý odkaz historickou verzi stránky, jež byla smazána.
Podrobnosti mohou být uvedeny v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} knize smazaných stránek].',
'revdelete-no-file' => 'Uvedený soubor neexistuje.',
'revdelete-show-file-confirm' => 'Určitě si chcete prohlédnout smazanou revizi souboru „<nowiki>$1</nowiki>“ z $2, $3?',
'revdelete-show-file-submit' => 'Ano',
-'revdelete-selected' => "'''{{PLURAL:$2|Vybraná|Vybrané}} revize stránky [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Vybraná protokolovaná událost|Vybrané protokolované události}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Vybraná|Vybrané}} revize stránky [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Vybraná|Vybrané}} verze souboru [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Vybraná protokolovaná událost|Vybrané protokolované události}}:',
'revdelete-text-text' => 'Smazané editace se budou i nadále zobrazovat v historii stránky, ale části jejich obsahu nebudou veřejně přístupné.',
'revdelete-text-file' => 'Smazané verze souborů se budou i nadále zobrazovat v historii stránky, ale části jejich obsahu nebudou veřejně přístupné.',
'logdelete-text' => 'Smazané protokolovací záznamy se budou i nadále zobrazovat v historii stránky, ale části jejich obsahu nebudou veřejně přístupné.',
# List redirects
'listredirects' => 'Seznam přesměrování',
+# List duplicated files special page
+'listduplicatedfiles' => 'Seznam souborů s duplikáty',
+'listduplicatedfiles-summary' => 'Toto je seznam souborů, u kterých je aktuální revize duplikátem aktuální revize nějakého jiného souboru. Do úvahy se berou jen lokální soubory.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] má [[$3|$2 {{PLURAL:$2|duplikát|duplikáty|duplikátů}}]].',
+
# Unused templates
'unusedtemplates' => 'Nepoužívané šablony',
'unusedtemplatestext' => 'Tato stránka obsahuje seznam všech stran ve jmenném prostoru {{ns:template}}, které nejsou vloženy do žádné jiné strany. Před jejich smazáním nezapomeňte zkontrolovat ostatní odkazy.',
Gallwch [[Special:Search/{{PAGENAME}}|chwilio am y teitl hwn]] ar dudalennau eraill, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} chwilio drwy'r logiau perthnasol], neu [{{fullurl:{{FULLPAGENAME}}|action=edit}} golygu'r dudalen]</span>.",
'noarticletext-nopermission' => "Mae'r dudalen hon yn wag ar hyn o bryd.
Gallwch [[Special:Search/{{PAGENAME}}|chwilio am y teitl hwn]] ar dudalennau eraill, neu gallwch <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} chwilio drwy'r logiau perthnasol]</span>, ond nid yw'r gallu gennych i ddechrau'r dudalen o'r dechrau cyntaf.",
-'missing-revision' => 'Nid yw\'r diwygiad #$1 o\'r dudalen "{{PAGENAME}}" ar gael.
+'missing-revision' => 'Nid yw\'r diwygiad #$1 o\'r dudalen "{{FULLPAGENAME}}" ar gael.
Fel arfer, fe ddigwydd hyn wrth ddilyn hen gyswllt i dudalen sydd wedi ei dileu.
Gallwch weld y manylion yn y [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} lòg dileu].',
'revdelete-no-file' => "Nid yw'r ffeil a nodwyd yn bod.",
'revdelete-show-file-confirm' => 'Ydych chi\'n sicr eich bod am weld y diwygiad dilëedig o\'r ffeil "<nowiki>$1</nowiki>" a roddwyd ar gadw am $3 ar $2?',
'revdelete-show-file-submit' => 'Ydw',
-'revdelete-selected' => "'''Y {{PLURAL:$2|golygiad|golygiad|golygiadau|golygiadau|golygiadau|golygiadau}} dewisedig o [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Digwyddiad|Digwyddiad|Digwyddiadau|Digwyddiadau|Digwyddiadau|Digwyddiadau}} a ddewiswyd o'r lòg:'''",
+'logdelete-selected' => "{{PLURAL:$1|Digwyddiad|Digwyddiad|Digwyddiadau|Digwyddiadau|Digwyddiadau|Digwyddiadau}} a ddewiswyd o'r lòg:",
'revdelete-confirm' => "Byddwch gystal â chadarnhau eich bod yn bwriadu gwneud hyn, eich bod yn deall yr effaith a gaiff, a'ch bod yn ei wneud yn ôl y [[{{MediaWiki:Policy-url}}|y polisi]].",
'revdelete-suppress-text' => "'''Dim ond''' yn yr achosion sy'n dilyn y dylech fentro cuddio gwybodaeth:
* Gwybodaeth a all fod yn enllib
Du kan [[Special:Search/{{PAGENAME}}|søge efter sidenavnet]] på andre sider,
eller <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} søge i relaterede loglister]</span>,
men du har ikke tilladelse til at oprette denne side.',
-'missing-revision' => 'Revision #$1 af siden med navnet "{{PAGENAME}}" eksisterer ikke.
+'missing-revision' => 'Revision #$1 af siden med navnet "{{FULLPAGENAME}}" eksisterer ikke.
Dette skyldes normalt at et forældet historik-link er fulgt til en side der er slettet.
Detaljer kan findes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} sletningsloggen].',
'revdelete-no-file' => 'Den angivne fil findes ikke.',
'revdelete-show-file-confirm' => 'Er du sikker på, at du vil vise en slettet version af filen "<nowiki>$1</nowiki>" fra den $2, klokken $3?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Valgte version|Valgte versioner}} af '''$1:''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valgt logindførsel|Valgte logindførsler}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Valgt logindførsel|Valgte logindførsler}}:',
'revdelete-confirm' => 'Vær venlig at bekræfte at du vil gøre dette, at du forstår konsekvenserne, og at du gør det i overensstemmelse med [[{{MediaWiki:Policy-url}}|retningslinjerne]].',
'revdelete-suppress-text' => "Der bør '''kun''' skjules i de følgende tilfælde:
* Potentielt injurierende oplysninger
oder die zugehörigen <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachten]</span>.',
'noarticletext-nopermission' => 'Diese Seite enthält momentan noch keinen Text, du bist auch nicht berechtigt diese Seite zu erstellen.
Du kannst ihren Titel auf anderen Seiten [[Special:Search/{{PAGENAME}}|suchen]] oder die zugehörigen <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachten].</span>',
-'missing-revision' => 'Die Version $1 der Seite namens „{{PAGENAME}}“ ist nicht vorhanden.
+'missing-revision' => 'Die Version $1 der Seite namens „{{FULLPAGENAME}}“ ist nicht vorhanden.
Dieser Fehler wird normalerweise von einem veralteten Link zur Versionsgeschichte einer Seite verursacht, die zwischenzeitlich gelöscht wurde.
Einzelheiten sind im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Lösch-Logbuch] einsehbar.',
'revdelete-no-file' => 'Die angegebene Datei ist nicht vorhanden.',
'revdelete-show-file-confirm' => 'Bist du sicher, dass du die gelöschte Version der Datei „<nowiki>$1</nowiki>“ vom $2 um $3 Uhr ansehen willst?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Gewählte Version|Gewählte Versionen}} von [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Gewählter Logbucheintrag|Gewählte Logbucheinträge}}:'''",
+'revdelete-selected-text' => 'Ausgewählte {{PLURAL:$1|Version|Versionen}} von [[:$2]]:',
+'revdelete-selected-file' => 'Ausgewählte {{PLURAL:$1|Dateiversion|Dateiversionen}} von [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Gewählter Logbucheintrag|Gewählte Logbucheinträge}}:',
'revdelete-text-text' => 'Gelöschte Versionen verbleiben noch in der Versionsgeschichte, jedoch sind Teile ihres Inhalts für die Öffentlichkeit nicht zugänglich.',
'revdelete-text-file' => 'Gelöschte Dateiversionen verbleiben noch in der Datei-Versionsgeschichte, jedoch sind Teile ihres Inhalts für die Öffentlichkeit nicht zugänglich.',
'logdelete-text' => 'Gelöschte Logbucheinträge verbleiben noch in den Logbüchern, jedoch sind Teile ihres Inhalts für die Öffentlichkeit nicht zugänglich.',
ya zi [{{fullurl:{{FULLPAGENAME}}|action=edit}} ena pele bıvurne]</span>.',
'noarticletext-nopermission' => 'Ena pele de hewna theba çıniyo.
Tı şenay zerreyê pelanê binan de [[Special:Search/{{PAGENAME}}|seba sernameyê na pele cı geyre]], ya zi <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} qeydan miyan de cı geyre]</span>, ema destur çıniyo ke na pele vırazê.',
-'missing-revision' => 'Rewizyonê name dê pela da #$1 "{{PAGENAME}}" dı çıniyo.
+'missing-revision' => 'Rewizyonê name dê pela da #$1 "{{FULLPAGENAME}}" dı çıniyo.
No normal de tarix dê pelanê besterneyan dı ena xırabin asena.
Detayê besternayışi [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} tiya dı] aseno.',
'revdelete-no-file' => 'Dosya diyarkerdiye çıniya.',
'revdelete-show-file-confirm' => 'Şıma eminê ke wazenê çımraviyarnayışê esterıtey na dosya "<nowiki>$1</nowiki>" $2 ra $3 de bıvênê?',
'revdelete-show-file-submit' => 'E',
-'revdelete-selected' => "'''[[:$1]]: ra {{PLURAL:$2|çımraviyarnayışo weçinıte|çımraviyarnayışê weçinıtey}}'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Qeydbiyayışo weçinıte|Qeydbiyayışê weçinıtey}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Qeydbiyayışo weçinıte|Qeydbiyayışê weçinıtey}}:',
'revdelete-confirm' => 'Ma rica keno testiq bike ti ena hereket keno u ti zano neticeyanê herketanê xo u ti ena hereket pê ena [[{{MediaWiki:Policy-url}}|polici]] ra keno.',
'revdelete-suppress-text' => "Wedardış gani '''tenya''' nê halanê cêrênan de bıxebıtiyo:
* Melumatê kıfırio mıhtemel
'noarticletext-nopermission' => 'Tuchylu njejo žeden tekst na toś tom boku.
Móžoš [[Special:Search/{{PAGENAME}}|toś ten bokowy titel]] na drugich bokach pytaś
abo <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} wótpowědne protokole pytaś]</span>, ale njamaš pšawo, toś ten bok napóraś.',
-'missing-revision' => 'Wersija #$1 boka z mjenim "{{PAGENAME}}" njeeksistěrujo.
+'missing-revision' => 'Wersija #$1 boka z mjenim "{{FULLPAGENAME}}" njeeksistěrujo.
Pśicyna jo zwětšego zestarjony wótkaz w historiji k bokoju, kótaryž jo se wulašował.
Drobnostki móžoš w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protokolu wulašowanjow] namakaś.',
'revdelete-no-file' => 'Pódana dataja njeeksistěrujo.',
'revdelete-show-file-confirm' => 'Coš se napšawdu wulašowanu wersiju dataje "<nowiki>$1</nowiki>" wót $2 $3 woglědaś?',
'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Wuzwólona wersija|Wuzwólonej wersiji|Wuzwólone wersije}} wót [[:$1]].'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Wuzwólony protokolowe tšojenje|Wuzwólonej protokolowe tšojeni|wuzwólone protokolowe tšojenja}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Wubrana wersija|Wubranej wersiji|Wubrane wersije}} wót [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Wubrana datajowa wersija|Wubranej datajowej wersiji|Wubrane datajowe wersije}} wót [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Wuzwólony protokolowe tšojenje|Wuzwólonej protokolowe tšojeni|wuzwólone protokolowe tšojenja}}:',
'revdelete-text-text' => 'Wulašowane wersije wóstanu hyšći we wersijowej historiji, ale źěle jich wopśimjeśa njebudu pśistupne zjawnosći.',
'revdelete-text-file' => 'Wulašowane datajowe wersije wóstanu w datajowej historiji, ale źěle jich wopśimjeśa njebudu pśistupne zjawnosći.',
'logdelete-text' => 'Wulašowane protokolowe zapiski wóstanu hyšći w protokolach, ale źěle jich wopśimjeśa njebudu pśistupne zjawnosći.',
# List redirects
'listredirects' => 'Lisćina dalejpósrědnjenjow',
+# List duplicated files special page
+'listduplicatedfiles' => 'Lisćina datajow z duplikatami',
+'listduplicatedfiles-summary' => 'To jo lisćina datajow, źož nejnowša wersija dataje jo duplikat nejnowšeje wersije někakeje drugeje dataje. Jano lokalne dataje se zapśimuju.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ma [[$3|{{PLURAL:$2|duplikat|$2 duplikata|$2 duplikaty|$2 duplikatow}}]].',
+
# Unused templates
'unusedtemplates' => 'Njewužywane pśedłogi',
'unusedtemplatestext' => 'Toś ten bok nalicujo wšykne boki w mjenjowom rumje {{ns:template}}, kótarež njejsu do žednogo drugego boka zawězane. Pšosym kontrolěruj dalšne wótkaze, nježli až je wulašujoš.',
'revdelete-no-file' => 'Pail pinotontu awu poinsuang.',
'revdelete-show-file-confirm' => 'Mongintong ko di sinimakan nopugas do pail "<nowiki>$1</nowiki>" mantad $2 ontok $3?',
'revdelete-show-file-submit' => 'O',
-'revdelete-selected' => "'''{{PLURAL:$2|Sinimakan pinili|Sinimakan nopili}} id [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log kinaantakan nopili|Tongolog kinaantakan it nopili}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log kinaantakan nopili|Tongolog kinaantakan it nopili}}:',
'revdelete-legend' => 'Uludo pogigihum pangangantob',
'revdelete-hide-text' => 'Polisoko sinimakan tiik',
'revdelete-hide-image' => 'Polisoko suang pail',
'gotaccountlink' => 'Và dèinter',
'userlogin-resetlink' => "T'ét scurdê j elemèint p'r al tó ingrès?",
'userlogin-resetpassword-link' => "T' ét scurdê la cêva 'd ingrès?",
+'userlogin-helplink2' => "Ajót per l'ingrès",
'userlogin-loggedin' => "T'ét bèle coleghê {{GENDER:$1|$1}}.
Drōva al mōdul ché sòta cme un êter utèint.",
'userlogin-createanother' => "Fà 'n' êtra utèinsa.",
'resetpass-abort-generic' => "La mudéfica 'd la cêva 'd ingrès l'é stêda fermêda da un şlungamèint.",
'resetpass-expired' => "La cêva 'd ingrès l'é scadûda. Mèt dèinter 'na cêva 'd ingrès nōva per fêr l'ingrès.",
'resetpass-expired-soft' => "La tó cêva 'd ingrès l'é scadûda. T'é perghê ed siēlier 'na nōva o clichêr insém a \"{{int:resetpass-submit-cancel}}\" per turnêrla a mèter dèinter in sègvit.",
+'resetpass-validity-soft' => "La tó cêva 'd ingrès an n'è mìa vâlida:\$1.
+
+T'é perghê ed siēlier 'na nōva o clichêr insém a \"{{int:resetpass-submit-cancel}}\" per turnêrla a impustêr in sègvit.",
# Special:PasswordReset
'passwordreset' => "Câmbia la cêva 'd ingrès",
'anontalkpagetext' => "----'' Còsta l'è la pàgina 'd discusiòun ed 'n utèint sèinsa nòm, ch' an n' à mìa incòra fât 'n' utèinsa o in tót al manēri an n'è mìa drē druvêrla. Per arcgnòsrel l'è dòunca necesâri druvê al só indirés IP. J indirés IP a pōlen èser spartî cun êter utèint. Se t'è un utèint sèinsa nòm e 't pèins che i cumèint in cla pàgina ché an riguêrden mìa tè, [[Special:UserLogin/signup|fa 'n' utèinsa nōva]] o [[Special:UserLogin|vîn dèinter cun còla ch' ét gh'ê bèle]] per schivşêr, in futûr, 'd èser cunfûş cun 'd j êter utèint sèinsa nòm.''",
'noarticletext' => 'In cól mumèint ché la pàgina serchêda l\'é vōda. L\'é pusébil [[Special:Search/{{PAGENAME}}|serchêr sté tétol]] int al j êtri pàgini dal sît, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} serchêr int i regéster coleghê] opór [{{fullurl:{{FULLPAGENAME}}|action=edit}} mudifichêr la pàgina adèsa]</span>.',
'noarticletext-nopermission' => "In cól mumèint ché la pàgina serchêda l'é vōda. L'é pusébil [[Special:Search/{{PAGENAME}}|serchêr sté tétol]] int al j êtri pàgini dal sît o<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} serchêr int i regéster coleghê] <span>, mó an 't gh'ê mìa al permès ed fêr cla pàgina ché.",
-'missing-revision' => "La revişiòun #\$1 'd la pagina \"{{PAGENAME}}\" l' an gh'è mìa. Còst, ed sôlit, a sucēd mèint'r as va drē a 'n colegamèint a 'na pàgina scanşlêda, in 'na stòria, di lavōr fât, mìa arnuvêda. I particulêr a 's pōlen catêr int al [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} regéster dal scanşladûri].",
+'missing-revision' => "La revişiòun #\$1 'd la pagina \"{{FULLPAGENAME}}\" l' an gh'è mìa. Còst, ed sôlit, a sucēd mèint'r as va drē a 'n colegamèint a 'na pàgina scanşlêda, in 'na stòria, di lavōr fât, mìa arnuvêda. I particulêr a 's pōlen catêr int al [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} regéster dal scanşladûri].",
'userpage-userdoesnotexist' => 'L\'inscrisiòun "<nowiki>$1</nowiki>" la cumbîna mìa cun \'n utèint registrê. Ét sicûr ed vrèir fêr o mudifichêr cla pàgina ché.',
'userpage-userdoesnotexist-view' => 'L\'utèin "$1" an n\'à mìa fât l\'inscrisiòun.',
'blocked-notice-logextract' => "Cl'utèint ché adèsa l'é bluchê.
'copyrightwarning' => "Per piaşèir tîn cûnt che tót al colaborasiòun a {{SITENAME}} a vînen cunsidrêdi publichêdi sòta la licèinsa $2 (per i particulêr guêrda $1). S' an 't vō mìa che i tō tèst a pôsen èser cambiê e turnê a publichêr da tót sèinsa lémit, an publichêri mìa ché.<br /> In pió, se 't i póblich ché, a 't dichiâr, sòta la tó responsabilitê, che còl ch' è stê scrét a 't l'ê scrét té personalmèint opór l'é ste cupiê da documèint sèinsa ch' al sìa quacê da nisûn dirét 'd autōr. <strong> Ché insém an pubblichêr mìa materiêl quacê da dirét 'd autōr sèinsa autorişâsiòun! </strong>",
'copyrightwarning2' => "Per piaşèir tîn cûnt che tót al colaborasiòun a {{SITENAME}} a pōlen èser mudifichê, arversê o scanşlê da êtra gînta cla dà 'na mân. S' an 't vō mìa che i tō tèst a pôsen èser cambiê alōra an publichêri mìa ché.<br />In pió, se 't i póblich ché, a 't dichiâr, sòta la tó responsabilitê, che còl ch' è stê scrét a 't l'ê scrét té personalmèint opór l'é ste cupiê da documèint sèinsa ch' al sìa quacê da nisûn dirét 'd autōr (per i particulêr guêrda $1). <strong> Ché insém an pubblichêr mìa materiêl quacê da dirét 'd autōr sèinsa autorişâsiòun! </strong>",
'longpageerror' => "<strong> Erōr: al tèst spidî l'é lòngh {{PLURAL:$1|1|$1}} kilobyte, ch'l'é pió grôs ed l'amzûra mâsima permésa ({{PLURAL:$2|1|$2}} kilobyte). </strong> Al tèst al pôl mìa èser salvê.",
+'readonlywarning' => "<strong>Atensiòun: al databêş l'é stê bluchê per justadûri e dòunca l'é impusébil salvê al mudéfichi in cól mumèint ché.</strong> P'r an pêrdi mìa, l'é pusébil cupiêri còl ch' é stê més dèinter fîn a dès int la caşèla di cambiamèint, incolêrel in un prugrâma tèst e salvêrel per spetêr al şblôch dal databêş.
+
+L'aministradōr ch' l'à bluchê al databêş l'à dê cla spiegasiòun ché: $1",
+'protectedpagewarning' => "<strong> Atensiòun: cla pàgina ché l'é stêda bluchêda in môd che sōl j utèint cun i privilèg 'd aministradōr a pôsen cambiêrla.</strong>
+Per infurmasiòun ché 'd sègvit a vîn scrét l'ûltem elemèint dal regéster:",
+'semiprotectedpagewarning' => "<strong>Nôta:</strong> cla pàgina ché l'é stêda bluchê in môd che sōl j utèint registrê a pôsen cambiêrla.
+Per infurmasiòun ché 'd sègvit è scrét l'ûltem elemèint dal regéster.",
+'cascadeprotectedwarning' => "<strong> Atensiòun: </strong>cla pàgina ché l'é stêda bluchêda in môd che sōl j utèint cun i privilèg 'd aministradō a pôsen cambiêrla. Còst a sucēd perchè la pàgina l'é dèinter in cl'elèinch sòta protesiòun ché 'd sègvit {{PLURAL:$1|pàgina|pàgini}}",
+'titleprotectedwarning' => "<strong> Atensiòun: cla pàgina ché l'é stêda bluchêda in môd che, per fêrla, sién necesâri [[Special:ListGroupRights|dirét specêl]] </strong>
+Per infurmasiòun ché 'd sègvit è scrét l'ûltem elemèint dal regéster.",
'templatesused' => '{{PLURAL:$1|Mudèl druvê|Mudē druvê}} in cla pàgina ché:',
+'templatesusedpreview' => "{{PLURAL:$1|Mudèl druvê|Mudē druvê}} in cla pàgina 'd contròl ché:",
+'templatesusedsection' => '{{PLURAL:$1|Mudèl druvê|Mudē druvê}} in cla sesiòun ché:',
'template-protected' => '(prutèt)',
'template-semiprotected' => '(mèz-prutèt)',
'hiddencategories' => "Cla pàgina ché l' é 'd {{PLURAL:$1|'na categoréia lughêda|$1 categoréi lughêdi}}:",
+'nocreatetext' => "La pusibilitê ed fêr dal pàgini nōvi insém a {{SITENAME}} l'é stêda limitêda a sōl j utèint registrê. L'é pusébil turnê indrē e mudifichêr 'na pògina ch la gh'é bèle,opór [[Special:UserLogin|andêr dèinter o registrêres]].",
+'nocreate-loggedin' => "An 's gh'à mìa i permès necesâri per fêr dal pàgini nōvi.",
+'sectioneditnotsupported-title' => 'Mudéfica dal sesiòun mìa sustgnûda.',
+'sectioneditnotsupported-text' => 'Mudéfica dal sesiòun mìa sustgnûda in cla pàgina ché.',
+'permissionserrors' => 'I permès în mìa asê',
+'permissionserrorstext' => "An 's gh'à mìa i permès necesâri per fêr còl ch'es pèinsa ed fêr per{{PLURAL:$1|cól mutîv ché|chi mutîv ché}}:",
'permissionserrorstext-withaction' => "An 's gh'à mìa i permès necesâri per $2, per{{PLURAL:$1|cól mutîv ché|chi mutîv ché}}:",
'recreate-moveddeleted-warn' => "'''Atensiòun: a s'é drē serchêr ed fêr 'na pàgina bèle scanşlêda tèimp fa'''.
Per cumditê còst l'é l'èlèinch dal scanşladûri e di spustamèint relatîv a la pàgina.",
'moveddeleted-notice' => "Cla pàgina ché l'é stêda scanşlêda. Per infurmasiòun còst l'é l'èlèinch relatîv dal scanşladûri e di spustemèint fât.",
'log-fulllog' => 'Guêrda la stòria dal registrasiòun',
+'edit-hook-aborted' => "La mudéfica l'é stêda scanşlêda da l' hook.
+An n'é mìa stê dê nisóna spiegasiòun.",
+'edit-gone-missing' => "Impusébil arnuvêr la pàgina.
+A sèmbra ch'la sìa stêda scanşlêda.",
'edit-conflict' => "Cuntrâst 'd edisiòun",
+'edit-no-change' => "La mudéfica an n'é mìa stêda cunsidrêda perchè an n'é mìa stê fât di cambiamèint al tèst.",
+'postedit-confirmation' => "La mudéfica l'é stêda salvêda.",
+'edit-already-exists' => "L'é impusébil fêr 'na pàgina nōva.
+La ghé bèle.",
+'defaultmessagetext' => 'Tèst pre-stabilî',
+'content-failed-to-parse' => "L'é impusébil cunsidrêr $2 p'r al mudèl $1:$3",
+'invalid-content-data' => 'Al j infurmasiòn ché dèinter în mìa vâlidi.',
+'content-not-allowed-here' => 'Còl che gh\'é dèinter a"$1" an n\'é mìa permés int al pàgini [[$2]]',
+'editwarning-warning' => "Bandunêr cla pàgina ché a 's pré pêrder tóti 'l mudéfichi fâti. Se t'é fât l'ingrès, ét pō bluchêr cl' avîş ché int la sesiòun \"{{int:prefs-editing}}\" dal tō preferèinsi.",
+'editpage-notsupportedcontentformat-title' => "Cla fōrma ché an n'é mìa sostgnûda.",
+'editpage-notsupportedcontentformat-text' => 'La fōrma dal scrét in $1 la rispèta mìa al mudèl scrét in $2.',
+
+# Content models
+'content-model-wikitext' => 'wikitèst',
+'content-model-text' => 'tèst normêl',
# Parser/template warnings
+'expensive-parserfunction-warning' => "'''Atensiòun:''' cla pàgina ché la gh'à trôpi ciamêdi ala funsiòun parse. A n' in duvré avèir mēno 'd $2, adèsa a {{PLURAL:$1|'gh n'é $1}}.",
+'expensive-parserfunction-category' => 'Pàgini cun trôpi ciamêdi a la funsiòun parser.',
'post-expand-template-inclusion-warning' => "'''Atensiòun:''' la grandèsa di mudē més dèinter l'é trôp grôsa. Soquânt mudē gnirâ mìa més dèinter.",
'post-expand-template-inclusion-category' => "Pàgini in dó la grandèsa di mudē més dèinter la và d'ed sōver dal lémit permés.",
'post-expand-template-argument-warning' => "'''Atensiòun:''' cla pàgina ché la gh'à ûn o pió argumèint ed mudē trôp grôs per èser şlarghê. Chi argomèint ché a gnirân saltê.",
ή να [{{fullurl:{{FULLPAGENAME}}|action=edit}} επεξεργαστείτε τη σελίδα αυτή]</span>.',
'noarticletext-nopermission' => 'Δεν υπάρχει κείμενο σε αυτή τη σελίδα αυτή τη στιγμή.
Μπορείτε να [[Special:Search/{{PAGENAME}}|αναζητήσετε αυτόν τον τίτλο σελίδας]] σε άλλες σελίδες, ή <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} να ψάξετε στις σχετικές καταγραφές]</span>, αλλά δεν έχετε την άδεια να δημιουργήσετε αυτή τη σελίδα.',
-'missing-revision' => 'Δεν υπάρχει αναθεώρηση με αριθμό $1 για τη σελίδα με όνομα «{{PAGENAME}}».
+'missing-revision' => 'Δεν υπάρχει αναθεώρηση με αριθμό $1 για τη σελίδα με όνομα «{{FULLPAGENAME}}».
Αυτό συνήθως προκαλείται από παλιό σύνδεσμο ιστορικού προς σελίδα που έχει διαγραφεί.
Λεπτομέρειες θα βρείτε στο [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ημερολόγιο καταγραφής διαγραφών].',
'revdelete-no-file' => 'Το αρχείο που καθορίσατε δεν υπάρχει.',
'revdelete-show-file-confirm' => 'Είστε σίγουροι ότι θέλετε να δείτε μία διεγραμμένη αναθεώρηση του αρχείου "<nowiki>$1</nowiki>" από τις $2 στις $3;',
'revdelete-show-file-submit' => 'Ναι',
-'revdelete-selected' => "'''{{PLURAL:$2|Επιλεγμένη έκδοση|Επιλεγμένες εκδόσεις}} της [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Επιλεγμένο γεγονός αρχείου καταγραφής|Επιλεγμένα γεγονότα αρχείου καταγραφής}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Επιλεγμένο γεγονός αρχείου καταγραφής|Επιλεγμένα γεγονότα αρχείου καταγραφής}}:',
'revdelete-confirm' => 'Παρακαλούμε επιβεβαιώστε ότι σκοπεύετε να το κάνετε αυτό, ότι αντιλαμβάνεσθε τις συνέπειες, και ότι το κάνετε σύμφωνα με την [[{{MediaWiki:Policy-url}}|πολιτική]].',
'revdelete-suppress-text' => 'Η καταστολή μπορεί να χρησιμοποιηθεί <strong> μόνο </strong> για τις ακόλουθες περιπτώσεις:
* Ενδεχόμενη συκοφαντική δυσφήμιση
'noarticletext-nopermission' => 'There is currently no text in this page.
You can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages, or <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>, but you do not have permission to create this page.',
'noarticletextanon' => '{{int:noarticletext}}', # do not translate or duplicate this message to other languages
-'missing-revision' => 'The revision #$1 of the page named "{{PAGENAME}}" does not exist.
+'missing-revision' => 'The revision #$1 of the page named "{{FULLPAGENAME}}" does not exist.
This is usually caused by following an outdated history link to a page that has been deleted.
Details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
'revdelete-no-file' => 'The file specified does not exist.',
'revdelete-show-file-confirm' => 'Are you sure you want to view a deleted revision of the file "<nowiki>$1</nowiki>" from $2 at $3?',
'revdelete-show-file-submit' => 'Yes',
-'revdelete-selected' => '<strong>{{PLURAL:$2|Selected revision|Selected revisions}} of [[:$1]]:</strong>',
-'logdelete-selected' => '<strong>{{PLURAL:$1|Selected log event|Selected log events}}:</strong>',
+'revdelete-selected-text' => '{{PLURAL:$1|Selected revision|Selected revisions}} of [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Selected file version|Selected file versions}} of [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Selected log event|Selected log events}}:',
'revdelete-text-text' => 'Deleted revisions will still appear in the page history, but parts of their content will be inaccessible to the public.',
'revdelete-text-file' => 'Deleted file versions will still appear in the file history, but parts of their content will be inaccessible to the public.',
'logdelete-text' => 'Deleted log events will still appear in the logs, but parts of their content will be inaccessible to the public.',
'noarticletext-nopermission' => 'Estas neniom da teksto en ĉi tiu paĝo.
Vi povas [[Special:Search/{{PAGENAME}}|serĉi ĉi tiun paĝan titolon]] en aliaj paĝoj,
aŭ <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} serĉi la rilatajn protokolojn]</span>, sed vi ne rajtas krei ĉi tiun paĝon.',
-'missing-revision' => 'La revizio n-ro $1 de la paĝo nomata "{{PAGENAME}}" ne ekzistas.
+'missing-revision' => 'La revizio n-ro $1 de la paĝo nomata "{{FULLPAGENAME}}" ne ekzistas.
Tio kutime estas kaŭzata per sekvado de malaktuala historio-ligilo al paĝo forigita.
Detaloj troveblos en la [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de forigoj].',
'revdelete-no-file' => 'La specifita dosiero ne ekzistas.',
'revdelete-show-file-confirm' => 'Ĉu vi certas ke vi volas vidi forigitan revizion de la dosiero "<nowiki>$1</nowiki>" de $2, $3?',
'revdelete-show-file-submit' => 'Jes',
-'revdelete-selected' => "'''{{PLURAL:$2|Selektata versio|Selektataj versioj}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Selektata protokola evento|Selektataj protokolaj eventoj}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Selektata protokola evento|Selektataj protokolaj eventoj}}:',
'revdelete-confirm' => 'Bonvolu konfirmi ke vi intencias fari ĉi tion, ke vi komprenas la konsekvencojn kaj ke vi faras ĉi tion laŭ [[{{MediaWiki:Policy-url}}|la regularo]].',
'revdelete-suppress-text' => "Subpremo '''nur''' estu uzata por la jenaj kazoj:
* Ebla kalumnia informo
o [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.',
'noarticletext-nopermission' => 'Actualmente no hay texto en esta página.
Puedes [[Special:Search/{{PAGENAME}}|buscar este título de página]] en otras páginas, o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros relacionados]</span>, pero no tienes permiso para crear esta página.',
-'missing-revision' => 'La revisión n.º $1 de la página llamada «{{PAGENAME}}» no existe.
+'missing-revision' => 'La revisión n.º $1 de la página llamada «{{FULLPAGENAME}}» no existe.
Normalmente esto ocurre cuando se sigue un enlace de historial obsoleto que apunta a una página ya borrada.
Puedes encontrar detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].',
'revdelete-no-file' => 'El archivo especificado no existe.',
'revdelete-show-file-confirm' => '¿Quieres ver la revisión borrada del archivo «<nowiki>$1</nowiki>» del $2 a las $3?',
'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisión seleccionada|Revisiones seleccionadas}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Seleccionado un evento|Seleccionados eventos}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Seleccionado un evento|Seleccionados eventos}}:',
'revdelete-text-text' => 'Las revisiones eliminadas aún aparecerán en el historial de la página, pero parte de su contenido será inaccesible para el público.',
'revdelete-text-file' => 'Las versiones de los archivos eliminados aún aparecerán en el historial del archivo, pero partes de su contenido serán inaccesibles para el público.',
'logdelete-text' => 'Las revisiones eliminadas aún aparecerán en el historial de la página, pero parte de su contenido será inaccesible para el público.',
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} uurida asjassepuutuvaid logisid] või [{{fullurl:{{FULLPAGENAME}}|action=edit}} puuduva lehekülje ise luua]</span>.',
'noarticletext-nopermission' => 'Sellel leheküljel pole praegu teksti.
Saad [[Special:Search/{{PAGENAME}}|otsida selle lehekülje pealkirja]] teistelt lehekülgedelt või <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} otsida seonduvatest logidest]</span>, aga sul pole õigust seda lehekülge alustada.',
-'missing-revision' => 'Lehekülje "{{PAGENAME}}" redaktsiooni $1 pole.
+'missing-revision' => 'Lehekülje "{{FULLPAGENAME}}" redaktsiooni $1 pole.
Harilikult tähendab see seda, et sind siia juhatanud link on vananenud ja siin asunud lehekülg on kustutatud.
Üksikasjad leiad [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} kustutamislogist].',
'revdelete-no-file' => 'Faili ei ole.',
'revdelete-show-file-confirm' => 'Kas oled kindel, et soovid häha faili "<nowiki>$1</nowiki>" kustutatud redaktsiooni, mis tehti $2 kell $3?',
'revdelete-show-file-submit' => 'Jah',
-'revdelete-selected' => "'''Valitud {{PLURAL:$2|redaktsioon|redaktsioonid}} leheküljest [[:$1]]:'''",
-'logdelete-selected' => "'''Valitud {{PLURAL:$1|logisissekanne|logisissekanded}}:'''",
+'revdelete-selected-text' => 'Lehekülje [[:$2]] teksti valitud {{PLURAL:$1|redaktsioon|redaktsioonid}}:',
+'revdelete-selected-file' => 'Faili [[:$2]] valitud {{PLURAL:$1|versioon|versioonid}}:',
+'logdelete-selected' => 'Valitud {{PLURAL:$1|logisissekanne|logisissekanded}}:',
'revdelete-text-text' => 'Kustutatud redaktsioonid jäävad lehekülje ajalukku alles, aga osa nende sisust pole kõigile juurdepääsetav.',
'revdelete-text-file' => 'Kustutatud failiversioonid jäävad faili ajalukku alles, aga osa nende sisust pole kõigile juurdepääsetav.',
'logdelete-text' => 'Kustutatud logisündmused jäävad logisse alles, aga osa nende sisust pole kõigile juurdepääsetav.',
# List redirects
'listredirects' => 'Ümbersuunamised',
+# List duplicated files special page
+'listduplicatedfiles' => 'Duplikaatfailide loend',
+'listduplicatedfiles-summary' => 'Siin on loetletud failid, mille viimane versioon on mõne teise faili viimase versiooni duplikaat. Arvesse võetakse ainult kohalikke faile.',
+'listduplicatedfiles-entry' => 'Failil [[:File:$1|$1]] on [[$3|{{PLURAL:$2|üks duplikaat|$2 duplikaati}}]].',
+
# Unused templates
'unusedtemplates' => 'Kasutamata mallid',
'unusedtemplatestext' => 'See lehekülg loetleb kõik leheküljed nimeruumis {{ns:template}}, mida teistel lehekülgedel ei kasutata. Enne kustutamist palun kontrollige, kas siia pole muid linke.',
Kehtivaid blokeeringuid vaata [[Special:BlockList|blokeerimisnimekirjast]].',
'ipb-blockingself' => 'Sa blokeerid iseenda! Kas tahad tõesti seda teha?',
'ipb-confirmhideuser' => 'Avaldasid soovi kasutaja blokeerida ja peita. Kasutaja nimi peidetakse kõigist loenditest ja logisissekannetest. Kas oled kindel, et soovid seda teha?',
+'ipb-confirmaction' => 'Kui oled tõesti kindel, et tahad seda teha, siis vali palun allpool "{{int:ipb-confirm}}".',
'ipb-edit-dropdown' => 'Muuda blokeeringu põhjuseid',
'ipb-unblock-addr' => 'Tühista kasutaja $1 blokeering',
'ipb-unblock' => 'Kasutaja või IP-aadressi vabastamine blokeerimisest',
'revdelete-no-file' => 'Zehazturiko fitxategia ez da existitzen.',
'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" fitxategiaren bertsio ezabatua (eguna: $2; ordua: $3) ikusi nahi duzu?',
'revdelete-show-file-submit' => 'Bai',
-'revdelete-selected' => "'''{{PLURAL:$2|[[:$1]](r)en hautatutako berrikuspena:|[[:$1]](r)en hautatutako berrikuspenak}}'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Aukeratutako log gertakaria|Aukeratutako log gertakariak}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Aukeratutako log gertakaria|Aukeratutako log gertakariak}}:',
'revdelete-confirm' => 'Baiezta ezazu hori dela zure asmoa, ulertzen dituzula ondorioak, eta [[{{MediaWiki:Policy-url}}|irizpideak]] errespetatuz egiten ari zarela hau.',
'revdelete-suppress-text' => "Ezabaketa '''bakarrik''' arrazoi hauek direla eta erabili beharko litzateke:
* Informazio pertsonal desegokia
'revdelete-nooldid-title' => 'Nu ai una revisión destinu',
'revdelete-nooldid-text' => 'Nu as prehisau denguna revisión destinu ondi realizal esta hunción.',
'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisión aseñalá e|Revisionis aseñalás de}} '''[[:$1]]''':'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Eventu el rustrihu aseñalau|Eventus del rustrihu aseñalaus}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Eventu el rustrihu aseñalau|Eventus del rustrihu aseñalaus}}:',
'revdelete-legend' => 'Establecel restricionis de visibiliá',
'revdelete-hide-text' => 'Açonchal el testu la revisión',
'revdelete-hide-image' => 'Açonchal el continiu el archivu',
'noarticletext-nopermission' => 'این صفحه هماکنون متنی ندارد.
شما میتوانید در دیگر صفحهها [[Special:Search/{{PAGENAME}}|این عنوان را جستجو کنید]]،
یا <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} سیاهههای مرتبط را بگردید]</span> ولی شما اجازه ایجاد این صفحه را ندارید.',
-'missing-revision' => 'ویرایش #$1 از صفحهٔ «{{PAGENAME}}» موجود نیست.
+'missing-revision' => 'ویرایش #$1 از صفحهٔ «{{FULLPAGENAME}}» موجود نیست.
معمولاً در اثر پیوند به تاریخچهٔ بهروز نشدهٔ صفحهٔ حذف شده است.
میتوانید جزئیات بیشتر را در [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} سیاههٔ حذف] بیابید.',
'userpage-userdoesnotexist-view' => 'حساب کاربری «$1» ثبت نشدهاست.',
'blocked-notice-logextract' => 'دسترسی این کاربر در حال حاضر بسته است.
آخرین مورد سیاهه قطع دسترسی در زیر آمدهاست:',
-'clearyourcache' => "'''نکته:''' پس از ذخیرهکردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
-*'''فایرفاکس / سافاری:''' کلید ''Shift'' را نگه دارید و روی دکمهٔ ''Reload'' کلیک کنید، یا کلیدهای ''Ctrl-F5'' یا ''Ctrl-R'' را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ''⌘-R'')
-*'''گوگل کروم:'''کلیدهای ''Ctrl+Shift+R'' را با هم فشار دهید. (در رایانههای اپل مکینتاش کلیدهای ''⌘-Shift-R'')
-*'''اینترنت اکسپلورر:''' کلید ''Ctrl'' را نگهدارید و روی دکمهٔ ''Refresh'' کلیک کنید، یا کلیدهای ''Ctrl-F5'' را با هم فشار دهید
-*'''اپرا:''' حافظهٔ نهانی مرورگر را از طریق منوی ''Tools → Preferences'' پاک کنید",
+'clearyourcache' => '<strong>نکته:</strong> پس از ذخیرهکردن ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
+*<strong>فایرفاکس / سافاری:</strong> کلید <em>Shift</em> را نگه دارید و روی دکمهٔ <em>Reload</em> کلیک کنید، یا کلیدهای <em>Ctrl-F5</em> یا <em>Ctrl-R</em> را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای <em>⌘-R</em>)
+*<strong>گوگل کروم:</strong> کلیدهای <em>Ctrl+Shift+R</em> را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای <em>⌘-Shift-R</em>)
+*<strong>اینترنت اکسپلورر:</strong> کلید <em>Ctrl</em> را نگهدارید و روی دکمهٔ <em>Refresh</em> کلیک کنید، یا کلیدهای <em>Ctrl-F5</em> را با هم فشار دهید
+*<strong>اپرا:</strong> حافظهٔ نهانی مرورگر را از طریق منوی <em>Tools → Preferences</em> پاک کنید',
'usercssyoucanpreview' => "'''نکته:''' پیش از ذخیرهکردن پرونده سیاساس خود، با دکمهٔ '''{{int:showpreview}}''' آن را آزمایش کنید.",
'userjsyoucanpreview' => "'''نکته:''' پیش از ذخیرهکردن پروندهٔ جاوااسکریپت خود، با دکمهٔ '''{{int:showpreview}}''' آن را آزمایش کنید.",
'usercsspreview' => "'''فراموش مکنید که شما فقط دارید پیشنمایش سیاساس کاربریتان را میبینید.'''
'revdelete-no-file' => 'پروندهٔ مشخص شده وجود ندارد.',
'revdelete-show-file-confirm' => 'آیا مطمئن هستید که میخواهید یک نسخهٔ حذف شده از پروندهٔ «<nowiki>$1</nowiki>» مورخ $2 ساعت $3 را ببینید؟',
'revdelete-show-file-submit' => 'بله',
-'revdelete-selected' => "'''{{PLURAL:$2|نسخهٔ|نسخههای}} انتخاب شده از [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|مورد|موارد}} انتخاب شده از سیاهه:'''",
+'logdelete-selected' => '{{PLURAL:$1|مورد|موارد}} انتخاب شده از سیاهه:',
'revdelete-confirm' => 'لطفاً تأیید کنید که میخواهید این کار را انجام دهید، عواقب آن را درک میکنید و این کار را طبق [[{{MediaWiki:Policy-url}}|سیاستها]] انجام میدهید.',
'revdelete-suppress-text' => "فرونشانی باید '''تنها''' برای موارد زیر استفاده شود:
* اطلاعات به طور بالقوه افتراآمیز
# Database error messages
'dberr-header' => 'این ویکی یک ایراد دارد',
'dberr-problems' => 'شرمنده! این تارنما از مشکلات فنی رنج میبرد.',
-'dberr-again' => 'چند دقیقه صبر کند و دوباره صفحه را بارگیری کنید.',
+'dberr-again' => 'چند دقیقه صبر کنید و دوباره صفحه را بارگیری کنید.',
'dberr-info' => '(امکان برقراری ارتباط با کارساز پایگاه داده وجود ندارد: $1)',
'dberr-info-hidden' => '(امکان تماس با پایگاهدادهها کارساز امکانپذیر نیست)',
'dberr-usegoogle' => 'شما در این مدت میتوانید با استفاده از گوگل جستجو کنید.',
tai [{{fullurl:{{FULLPAGENAME}}|action=edit}} muokata tätä sivua]</span>.',
'noarticletext-nopermission' => 'Tällä hetkellä tällä sivulla ei ole tekstiä.
Voit [[Special:Search/{{PAGENAME}}|etsiä sivun nimellä]] muilta sivuilta tai <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} hakea aiheeseen liittyviä lokeja]</span>, mutta sinulla ei ole oikeutta luoda tätä sivua.',
-'missing-revision' => 'Sivusta "{{PAGENAME}}" ei ole olemassa versiota $1.
+'missing-revision' => 'Sivusta "{{FULLPAGENAME}}" ei ole olemassa versiota $1.
Yleensä tämä johtuu vanhentuneesta historialinkistä sivulle, joka on poistettu.
Tarkempia tietoja löytyy [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} poistolokista].',
'revdelete-no-file' => 'Määritettyä tiedostoa ei ole olemassa.',
'revdelete-show-file-confirm' => 'Haluatko varmasti nähdä poistetun version tiedostosta <nowiki>$1</nowiki>, joka on tallennettu $2 kello $3?',
'revdelete-show-file-submit' => 'Kyllä',
-'revdelete-selected' => "'''{{PLURAL:$2|Valittu versio|Valitut versiot}} sivusta [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valittu lokimerkintä|Valitut lokimerkinnät}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Valittu versio|Valitut versiot}} kohteesta [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Valittu tiedoston versio|Valitut tiedoston versiot}} kohteesta [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Valittu lokimerkintä|Valitut lokimerkinnät}}:',
'revdelete-text-text' => 'Poistetut versiot näkyvät edelleen sivun historiassa, mutta osa niiden sisällöstä ei enää ole saatavilla julkisesti.',
'revdelete-text-file' => 'Poistetut tiedostoversiot näkyvät yhä sivun historiassa, mutta osa niiden sisällöstä ei ole saatavilla julkisesti.',
'logdelete-text' => 'Poistetut lokimerkinnät näkyvät edelleen lokeissa, mutta osa niiden sisällöstä ei enää ole saatavilla julkisesti.',
'mergelogpagetext' => 'Alla on loki viimeisimmistä muutoshistorioiden yhdistämisistä.',
# Diffs
-'history-title' => 'Sivun "$1" muutoshistoria',
-'difference-title' => 'Ero sivun "$1" versioiden välillä',
-'difference-title-multipage' => 'Erot sivujen "$1" ja "$2" välillä',
+'history-title' => 'Sivun ”$1” muutoshistoria',
+'difference-title' => 'Ero sivun ”$1” versioiden välillä',
+'difference-title-multipage' => 'Erot sivujen ”$1” ja ”$2” välillä',
'difference-multipage' => '(Sivujen välinen eroavaisuus)',
'lineno' => 'Rivi $1:',
'compareselectedversions' => 'Vertaile valittuja versioita',
'modifiedarticleprotection' => 'muutti sivun [[$1]] suojaustasoa',
'unprotectedarticle' => 'poisti suojauksen sivulta [[$1]]',
'movedarticleprotection' => 'siirsi suojausasetukset sivulta [[$2]] sivulle [[$1]]',
-'protect-title' => 'Sivun $1 suojaus',
+'protect-title' => 'Muuta suojausta sivulla ”$1”',
'protect-title-notallowed' => 'Sivun $1 suojaustaso',
'prot_1movedto2' => 'siirsi sivun [[$1]] uudelle nimelle [[$2]]',
'protect-badnamespace-title' => 'Nimiavaruus ei suojattavissa',
'noarticletext-nopermission' => 'Tað er í løtuni ongin tekstur á hesi síðu.
Tú kanst [[Special:Search/{{PAGENAME}}|leita eftir hesum síðuheiti]] á øðrum síðum,
ella <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} leita eftir viðkomandi loggum]</span>, men tú hevur ikki loyvi til at stovna hesa síðu.',
-'missing-revision' => 'Endurskoðan #$1 av síðuni við heitinum "{{PAGENAME}}" er ikki til.
+'missing-revision' => 'Endurskoðan #$1 av síðuni við heitinum "{{FULLPAGENAME}}" er ikki til.
Hetta skyldast vanliga tað, at tú fylgir einari gamlari søguslóð til eina síðu, sum er blivin slettað.
Nærri frágreiðing kanst tú finna í [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} strikingar logginum].',
'revdelete-no-file' => 'Nevnda fíla er ikki til.',
'revdelete-show-file-confirm' => 'Ert tú vís/ur í, at tú ynskir at síggja eina strikaða endurskoðan av fíluni "<nowiki>$1</nowiki>" frá $2 kl. $3?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Valda versjón|Valdar versjónir}} hjá [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Útvald logghending|Útvaldar logghendingar}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Útvald logghending|Útvaldar logghendingar}}:',
'revdelete-confirm' => 'Vinarliga vátta, at tú ætlar at gera hetta, at tú skilir avleiðingarnar, og at tú ger hetta í samsvari við [[{{MediaWiki:Policy-url}}|mannagongdirnar]].',
'revdelete-legend' => 'Set avmarkinga fyri sjónligheit',
'revdelete-hide-text' => 'Versjónstekstur',
'noarticletext-nopermission' => 'Il n\'y a pour l\'instant aucun texte sur cette page.
Vous pouvez [[Special:Search/{{PAGENAME}}|faire une recherche sur ce titre]] dans les autres pages,
ou <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rechercher dans les journaux associés]</span>.',
-'missing-revision' => "La révision n° $1 de la page intitulée « {{PAGENAME}} » n'existe pas.
+'missing-revision' => "La révision n° $1 de la page intitulée « {{FULLPAGENAME}} » n'existe pas.
Cela survient en général en suivant un lien historique obsolète vers une page qui a été supprimée.
Vous pouvez trouver plus de détails dans le [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} journal des suppressions].",
'revdelete-no-file' => "Le fichier spécifié n'existe pas.",
'revdelete-show-file-confirm' => 'Êtes-vous sûr de vouloir voir la révision supprimée du fichier « <nowiki>$1</nowiki> » datant du $2 à $3 ?',
'revdelete-show-file-submit' => 'Oui',
-'revdelete-selected' => "'''{{PLURAL:$2|Version sélectionnée|Versions sélectionnées}} de '''[[:$1]]''' :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Événement d'historique sélectionné|Événements d'historique sélectionnés}} :'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Révision sélectionnée|Révisions sélectionnées}} de [[:$2]] :',
+'revdelete-selected-file' => '{{PLURAL:$1|Version de fichier sélectionnée|Versions de fichier sélectionnées}} de [[:$2]] :',
+'logdelete-selected' => "{{PLURAL:$1|Événement d'historique sélectionné|Événements d'historique sélectionnés}} :",
'revdelete-text-text' => "Les révisions supprimées continueront à apparaître dans l'historique de la page, mais une partie de leur contenu sera inaccessible au public.",
'revdelete-text-file' => "Les versions de fichier supprimées continueront à apparaître dans l'historique des fichiers, mais une partie de leur contenu sera indisponible au public.",
'logdelete-text' => 'Les évènements du journal supprimés continueront à apparaître dans les journaux, mais une partie de leur contenu sera indisponible au public.',
# List duplicated files special page
'listduplicatedfiles' => 'Liste de fichiers en double',
'listduplicatedfiles-summary' => "C'est une liste de fichiers où la version la plus récente du fichier est une copie de la version la plus récente d'un autre fichier. Seuls les fichiers locaux sont examinés.",
-'listduplicatedfiles-entry' => '[[:Fichier:$1|$1]] a [[$3|{{PLURAL:$2|un doublon|$2 doublons}}]].',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] a [[$3|{{PLURAL:$2|un doublon|$2 doublons}}]].',
# Unused templates
'unusedtemplates' => 'Modèles inutilisés',
'sp-contributions-blocked-notice-anon' => "Cette adresse IP est actuellement bloquée.
La dernière entrée du journal des blocages est indiquée ci-dessous à titre d'information :",
'sp-contributions-search' => 'Rechercher les contributions',
-'sp-contributions-suppresslog' => 'contributions des utilisateurs supprimées',
+'sp-contributions-suppresslog' => 'contributions masquées',
'sp-contributions-username' => "Adresse IP ou nom d'utilisateur :",
'sp-contributions-toponly' => 'Ne montrer que les contributions qui sont les dernières des articles',
'sp-contributions-newonly' => 'Afficher uniquement les modifications qui sont des créations de page',
ou ben [{{fullurl:{{FULLPAGENAME}}|action=edit}} fâre cela pâge]</span>.',
'noarticletext-nopermission' => 'Ora y at gins de tèxto dedens cela pâge.
Vos pouede [[Special:Search/{{PAGENAME}}|fâre na rechèrche sur cél titro]] dedens les ôtres pâges ou ben <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rechèrchiér dedens los jornals liyês]</span>, mas vos éd pas la pèrmission de fâre cela pâge.',
-'missing-revision' => 'La vèrsion numerô $1 de la pâge apelâye « {{PAGENAME}} » ègziste pas.
+'missing-revision' => 'La vèrsion numerô $1 de la pâge apelâye « {{FULLPAGENAME}} » ègziste pas.
En g·ènèral cen arreve en siuvent un lim d’un historico dèpassâ de vers na pâge qu’est étâye suprimâye.
Vos pouede trovar més de dètalys sur lo [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jornal de les suprèssions].',
'revdelete-no-file' => 'Lo fichiér spècifiâ ègziste pas.',
'revdelete-show-file-confirm' => 'Est-o que vos éte de sûr de volêr vêre na vèrsion suprimâye du fichiér « <nowiki>$1</nowiki> » du $2 a $3 ?',
'revdelete-show-file-submit' => 'Ouè',
-'revdelete-selected' => "'''{{PLURAL:$2|Vèrsion chouèsia|Vèrsions chouèsies}} de [[:$1]] :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Èvènement du jornal chouèsi|Èvènements du jornal chouèsis}} :'''",
+'logdelete-selected' => '{{PLURAL:$1|Èvènement du jornal chouèsi|Èvènements du jornal chouèsis}} :',
'revdelete-confirm' => 'Se vos plét, confirmâd qu’o est franc cen que vos voléd fâre, que vos en compregnéd les consèquences et pués que vos o féte en acôrd avouéc les [[{{MediaWiki:Policy-url}}|règlles de dedens]].',
'revdelete-suppress-text' => "La rèprèssion dêt étre empleyêe '''ren que''' dens cetos câs :
* Enformacions que pôvont étre difamatouères
<span class="plainlinks">uun [{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} logbuken schük] of detdiar sidj [{{fullurl:{{FULLPAGENAME}}|action=edit}} bewerke]</span>.',
'noarticletext-nopermission' => 'Üüb detdiar sidj stäänt noch niks, oober dü mutst diar uk niks iinskriiw.
Dü könst diar üüb ööder sidjen efter [[Special:Search/{{PAGENAME}}|schük]] of a <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAME}}}} logbuken uunluke].</span>',
-'missing-revision' => 'Det werjuun #$1 faan det sidj "{{PAGENAME}}" jaft at ei.
+'missing-revision' => 'Det werjuun #$1 faan det sidj "{{FULLPAGENAME}}" jaft at ei.
Det komt diar miast faan, dat en ual ferwisang stregen wurden as.
Dü könst det uun\'t [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} logbuk faan stregen sidjen] efterlees.',
'revdelete-no-file' => 'Son dateinööm as ei diar.',
'revdelete-show-file-confirm' => 'Wel dü würelk det stregen werjuun faan det datei „<nowiki>$1</nowiki>“ faan di $2, am a klook $3 uunluke?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Ütjsoocht werjuun|Ütjsoocht werjuunen}} faan [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ütjsoocht logbukiindrach|Ütjsoocht logbukiindracher}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ütjsoocht logbukiindrach|Ütjsoocht logbukiindracher}}:',
'revdelete-text-text' => "Stregen werjuunen bliiw uun't werjuunshistoore, man dialen diarfaan san ei för arken tu sen.",
'revdelete-text-file' => "Stregen datei-werjuunen bliiw uun't werjuunshistoore, man dialen diarfaan san ei för arken tu sen.",
'logdelete-text' => 'Stregen logbuk-iindracher bliiw uun a logbuken, man dialen diarfaan san ei för arken tu sen.',
'revdelete-nooldid-text' => 'Jo hawwe gjin doelferzje(s) foar dizze hanneling opjûn, de oanjûne ferzje bestiet net, of jo besykje de lêste ferzje te ferskûljen.',
'revdelete-no-file' => 'De spesifisearre triem bestiet net.',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''Spesifisearre {{PLURAL:$2|ferzje|ferzjes}} fan [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|keazen lochboekregel|keazen lochboekregels}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|keazen lochboekregel|keazen lochboekregels}}:',
'revdelete-legend' => 'Sichtberensbeheinings ynstelle.',
'revdelete-hide-text' => 'De bewurke tekst ferskûlje',
'revdelete-hide-image' => 'Triem ynhâld ferskûlje',
'revisiondelete' => 'Scrios/díscrios leagain',
'revdelete-show-file-confirm' => 'An bhfuil tú cinnte gur mhaith leat féach ar leasú scriosta don chomhad "<nowiki>$1</nowiki>" ó $2 ag $3?',
'revdelete-show-file-submit' => 'Tá',
-'revdelete-selected' => "'''{{PLURAL:$2|Leagan roghnaithe|Leagain roghnaithe}} [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Teagmhas log roghnaithe|Teagmhais log roghnaithe}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Teagmhas log roghnaithe|Teagmhais log roghnaithe}}:',
'revdelete-hide-text' => 'Folaigh leagan téacs',
'revdelete-radio-same' => 'ná hathraigh',
'revdelete-radio-set' => 'Is ea',
'revisiondelete' => '删除/反删除修改',
'revdelete-nooldid-title' => '冇目标修订',
'revdelete-nooldid-text' => '倷冇话个只操作𠮶目标修改。',
-'revdelete-selected' => "'''拣[[:$1]]𠮶$2回修订:'''",
-'logdelete-selected' => "'''拣'''$1'''𠮶$2只日志事件:'''",
+'logdelete-selected' => '拣$1𠮶$2只日志事件:',
'revdelete-legend' => '设置可见性𠮶限制',
'revdelete-hide-text' => '弆到修改内容',
'revdelete-hide-image' => '弆到档内容',
'revisiondelete' => '刪除/反刪除修改',
'revdelete-nooldid-title' => '冇目標修訂',
'revdelete-nooldid-text' => '倷冇话箇隻操作嗰目标修改。',
-'revdelete-selected' => "'''揀[[:$1]]嗰$2回修訂:'''",
-'logdelete-selected' => "'''揀'''$1'''嗰$2隻日誌事件:'''",
+'logdelete-selected' => '揀$1嗰$2隻日誌事件:',
'revdelete-legend' => '設置可見性嗰限制',
'revdelete-hide-text' => '弆到修改內容',
'revdelete-hide-image' => '弆到檔內容',
no [{{fullurl:{{FULLPAGENAME}}|action=edit}} an duilleag seo a dheasachadh]</span>.',
'noarticletext-nopermission' => 'Chan eil teacsa sam bith san duilleag seo an-dràsta.
\'S urrainn dhut [[Special:Search/{{PAGENAME}}|tiotal na duilleige seo a lorg]] ann an duilleagan eile, no <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} na logaichean co-cheangailte a rannsachadh]</span> ach chan eil cead agad an duilleag seo a chruthachadh.',
-'missing-revision' => 'Chan eil mùthadh #$1 na duilleige "{{PAGENAME}}" ann.
+'missing-revision' => 'Chan eil mùthadh #$1 na duilleige "{{FULLPAGENAME}}" ann.
Mar is trice, tachraidh seo ma leanas tu ceangal san eachdraidh a tha fìor aosta \'s a tha a\' dol gu duilleag a chaidh a sguabadh às.
Gheibh thu mion-fhiosrachadh ann an [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} loga nan duilleagan a chaidh a sguabadh às].',
'revdelete-no-file' => 'Chan eil am faidhle a shònraich thu ann.',
'revdelete-show-file-confirm' => 'A bheil thu cinnteach gu bheil thu airson coimhead air mùthadh an fhaidhle "<nowiki>$1</nowiki>" a chaidh a sguabadh às $2 aig $3?',
'revdelete-show-file-submit' => 'Tha',
-'revdelete-selected' => "'''{{PLURAL:$2|Lèirmheas|Lèirmheasan}} de [[:$1]] a thagh thu:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|An tachartas loga|Na tachartasan loga}} a thagh thu:'''",
+'logdelete-selected' => '{{PLURAL:$1|An tachartas loga|Na tachartasan loga}} a thagh thu:',
'revdelete-confirm' => "Dearbh gu bheil thu airson seo a dhèanamh, gu bheil thu a' tuigsinn na thachras ri linn agus gu bheil thu a' dèanamh seo a-rèir [[{{MediaWiki:Policy-url}}|a' phoileasaidh]].",
'revdelete-suppress-text' => "Cha bu chòir dhut mùchadh a chleachdadh '''ach''' ann an suidheachaidhean mar seo:
* Fiosrachadh a dh'fhaodadh a bhith dìteachail
ou [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar a páxina]</span>.',
'noarticletext-nopermission' => 'Actualmente non hai ningún texto nesta páxina.
Pode [[Special:Search/{{PAGENAME}}|procurar polo título desta páxina]] noutras páxinas ou <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ollar os rexistros relacionados]</span>, pero non ten os permisos necesarios para crear esta páxina.',
-'missing-revision' => 'A revisión nº$1 da páxina chamada "{{PAGENAME}}" non existe.
+'missing-revision' => 'A revisión nº$1 da páxina chamada "{{FULLPAGENAME}}" non existe.
A miúdo, isto está provocado por seguir unha ligazón de historial obsoleta cara a unha páxina que foi borrada.
O [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rexistro de borrados] contén máis detalles.',
'revdelete-no-file' => 'O ficheiro especificado non existe.',
'revdelete-show-file-confirm' => 'Está seguro de querer ver unha revisión borrada do ficheiro "<nowiki>$1</nowiki>" do día $2 ás $3?',
'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:\$2|Revisión seleccionada|Revisións seleccionadas}} de \"[[:\$1]]\":'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Rexistro de evento seleccionado|Rexistro de eventos seleccionados}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Rexistro de evento seleccionado|Rexistro de eventos seleccionados}}:',
'revdelete-confirm' => 'Por favor, confirme que quere levar a cabo esta acción, que comprende as consecuencias e que o fai de acordo [[{{MediaWiki:Policy-url}}|coas políticas]].',
'revdelete-suppress-text' => "A eliminación '''unicamente''' debería utilizarse nos seguintes casos:
* Información potencialmente difamatoria
'revdelete-no-file' => 'Τὸ καθωρισμένον ἀρχεῖον οὐχ ὑπάρχει.',
'revdelete-show-file-confirm' => 'Βέβαιος εἶ περὶ τῆς προβολῆς διαγεγραμμένης ἀναθεωρήσεως τινὸς τοῦ ἀρχείου "<nowiki>$1</nowiki>" ἐκ τῆς $2 ἐν τῇ $3;',
'revdelete-show-file-submit' => 'Ναί',
-'revdelete-selected' => "'''{{PLURAL:$2|Ἐπειλεγμένη ἀναθεώρησις|Ἐπειλεγμέναι ἀναθεωρήσεις}} τοῦ [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ἐπειλεγμένον γεγονὸς καταλόγου|Ἐπειλεγμένα γεγονὀτα καταλόγου}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ἐπειλεγμένον γεγονὸς καταλόγου|Ἐπειλεγμένα γεγονὀτα καταλόγου}}:',
'revdelete-legend' => 'Θέτειν περιορισμοῦς ὁρατότητος',
'revdelete-hide-text' => 'Κρύπτειν κείμενον ἀναθεωρήσεως',
'revdelete-hide-image' => 'Κρύπτειν περιεχόμενον ἀρχείου',
'noarticletext-nopermission' => 'In däre Syte het s zur Zyt no kei Text.
Du chasch dää Titel uf andre Syte [[Special:Search/{{PAGENAME}}|sueche]]
oder <span class="plainlinks">in dr zuegherige [{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbiecher sueche].</span> Du derfsch aber die Syte nit aalege.',
-'missing-revision' => 'D Version $1 vu dr Syte mit Name „{{PAGENAME}}“ git s nit.
+'missing-revision' => 'D Version $1 vu dr Syte mit Name „{{FULLPAGENAME}}“ git s nit.
Dää Fähler chunnt normalerwyys dur e veraltete Link zue dr Versionsgschicht vun ere Syte, wu in dr Zwischezyt glescht woren isch.
Einzelheite chasch im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Lesch-Logbuech] bschaue.',
'revdelete-no-file' => 'D Datei, wu Du aagee hesch, git s nit.',
'revdelete-show-file-confirm' => 'Bisch sicher, ass Du di glescht Version vu dr Datei „<nowiki>$1</nowiki>“ vum $2 am $3 witt aaluege?',
'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Usgwehlti Version|Usgwehlti Versione}} vu [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Usgwehlte Logbuechyytrag|Usgwehlti Logbuechyytreg}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Usgwehlte Logbuechyytrag|Usgwehlti Logbuechyytreg}}:',
'revdelete-confirm' => 'Bitte tue bstetige, ass Du vor hesch, des z mache, d Konsequänze drus verstohsch un s machsch in Inbereinstimmig mit dr [[{{MediaWiki:Policy-url}}|Richtlinie]].',
'revdelete-suppress-text' => "Unterdruckige sotte '''nume''' in däne Fäll bruucht wäre:
* Nit aabrochti Informatione
'revdelete-no-file' => 'વર્ણવેલી ફાઈલ અસ્તિત્વમાં નથી',
'revdelete-show-file-confirm' => 'શું તમને ખાત્રી છે કેતમે $2 તારીખ $3 વાગ્યા સુધીના "<nowiki>$1</nowiki>" ફાઇલ ના ફેરફાર જોવા માંગો છો?',
'revdelete-show-file-submit' => 'હા',
-'revdelete-selected' => "''' [[:$1]] ના {{PLURAL:$2|પસંદ કરેલ ફેરફાર |પસંદ કરેલ ફેરફારો}}: '''",
-'logdelete-selected' => "'''{{PLURAL:$1|પસંદગી કરેલ લોગ ઘટના | પસંદગી કરેલ લોગ ઘટનાઓ }}:'''",
+'logdelete-selected' => '{{PLURAL:$1|પસંદગી કરેલ લોગ ઘટના | પસંદગી કરેલ લોગ ઘટનાઓ }}:',
'revdelete-confirm' => 'કૃપયા પુષ્ટિ કરો કે તમે શું કરી રહ્યા છો તેની અને તેના પરિણામોની તમને જાણ છે અને તમે આ બધું [[{{MediaWiki:Policy-url}}|the policy]] અ6તર્ગત કરી રહ્યાં છો.',
'revdelete-suppress-text' => "બળ પૂર્વક છુપાવવું \"માત્ર\" આજ સંજોગોમાં કરી શકાશે:
* સંભવતઃ ભયાજનક માહિતી
'namespaceprotected' => "汝還無權限編輯'''$1'''名字空間嘅頁面。",
'customcssprotected' => '汝還無權限編輯邇隻CSS頁面,因為其包含矣其他用戶嘅個人設置。',
'customjsprotected' => '汝還無權限去編輯邇隻JavaScript頁面,因為其包含矣另一用戶嘅個人設定。',
+'mycustomcssprotected' => '汝無權限修改邇頁CSS。',
+'mycustomjsprotected' => '汝無編輯邇頁JavaScript之權限。',
+'myprivateinfoprotected' => '汝無權限編輯汝个個人信息。',
+'mypreferencesprotected' => '汝無權限編輯汝个個人設定。',
'ns-specialprotected' => '邇兜特殊頁面係毋做得編輯嘅。',
'titleprotected' => "邇隻標題已經分[[User:$1|$1]]保護來防止建立。理由係''$2''。",
'filereadonlyerror' => '無辦法修改文件「$1」因為文件庫「$2」處於唯讀模式。 !
'yourname' => '用戶名:',
'userlogin-yourname' => '用戶名',
'userlogin-yourname-ph' => '輸入汝嘅用戶名',
+'createacct-another-username-ph' => '輸入用戶名:',
'yourpassword' => '密碼:',
'userlogin-yourpassword' => '密碼',
'userlogin-yourpassword-ph' => '輸入汝嘅密碼',
'gotaccountlink' => '登入',
'userlogin-resetlink' => '毋記得汝嘅登入信息?',
'userlogin-resetpassword-link' => '添忘訖汝嘅密碼?',
+'userlogin-loggedin' => '汝已作為{{GENDER:$1|$1}}登錄。
+利用以下表單以作為另一賬戶登錄。',
'createacct-join' => '輸入汝嘅基本資料:',
+'createacct-another-join' => '在下方輸入新帳號个資訊。',
'createacct-emailrequired' => '電郵地址:',
'createacct-emailoptional' => '電郵地址(可選)',
'createacct-email-ph' => '設置電郵地址',
+'createacct-another-email-ph' => '輸入電郵地址',
'createaccountmail' => '使用一隻臨時嘅隨機密碼,並將其發送到指定嘅電子郵件地址',
'createacct-realname' => '實名(可選)',
'createaccountreason' => '原因:',
'acct_creation_throttle_hit' => '在邇隻wiki上係話訪客利用汝个IP地址在昨天創建矣$1個賬戶,係在邇段時間肚的上限。
結果利用這個IP地址个訪客在邇段時間中無辦法創建更多个賬戶。',
'emailauthenticated' => '汝嘅電郵地址已經於$2 $3確認。',
-'emailnotauthenticated' => '汝嘅郵箱地址<strong>還無分認証</strong>。以下功能將毋會發送任何郵件。',
+'emailnotauthenticated' => '汝个電郵位址還㬟確認。
+將收毋到以下功能相關个電郵。',
'noemailprefs' => '在嘅嘅偏好設定肚指定一隻電子郵件地址來使用邇隻功能。',
'emailconfirmlink' => '確認汝嘅郵箱地址',
'invalidemailaddress' => '郵箱地址格式不正確,請輸入正確个郵箱位址或清空該輸入框。',
+'cannotchangeemail' => '本Wiki毋允許對帳號个電子郵件位址進行變更。',
'emaildisabled' => '邇隻網站毋可以發送電子郵件。',
'accountcreated' => '已建立賬戶',
-'accountcreatedtext' => '$1嘅賬戶已經分建立。',
+'accountcreatedtext' => '[[{{ns:User}}:$1|$1]]([[{{ns:User talk}}:$1|討論]])的賬戶已經畀建立。',
'createaccount-title' => '在{{SITENAME}}肚建立新賬戶',
'createaccount-text' => '有人在{{SITENAME}}肚利用汝嘅電郵創建矣一隻喊做 "$2" 嘅新賬戶($4),密碼係 "$3" 。汝應該立即登入並更改密碼。
如果該賬戶建立錯誤嘅話,汝可以忽略邇條訊息。',
'usernamehasherror' => '用戶名毋可以包含Hash字符',
'login-throttled' => '汝已經嘗試多次登入動作。
-請等陣再試。',
+請等$1後再試。',
'login-abort-generic' => '登入錯誤 - 中止',
'loginlanguagelabel' => '語言:$1',
'suspicious-userlogout' => '汝登出嘅要求已經分拒絕,因為其可能係由已損壞嘅瀏覽器或者緩存代理傳送。',
所指定嘅修訂版本毋存在,或者汝嘗試去隱藏今下嘅修訂版本。',
'revdelete-no-file' => '指定嘅文件毋存在',
'revdelete-show-file-submit' => '係',
-'revdelete-selected' => "'''選取[[:$1]]嘅$2次修訂:'''",
-'logdelete-selected' => "'''Chhí-chhṳ '''$1''' ke $2-ke ngit-ki hong-muk:'''",
+'logdelete-selected' => 'Chhí-chhṳ $1 ke $2-ke ngit-ki hong-muk:',
'revdelete-legend' => 'Sat-thin siû-thin han-chṳ:',
'revdelete-hide-text' => '隱藏修訂版本文字',
'revdelete-hide-image' => '隱藏文件內容',
'search-section' => '(段落 $1)',
'search-suggest' => '汝係毋係尋:$1',
'search-interwiki-caption' => '姊妹計劃',
-'search-interwiki-default' => '$1é \85çµ\90æ\9e\9c:',
+'search-interwiki-default' => 'ä¾\86è\87ª$1å\98\85çµ\90æ\9e\9c:',
'search-interwiki-more' => '(還較多)',
'searchrelated' => '相關',
'searchall' => '全部',
下背係'''$1'''今下嘅保護級別:",
'protect-locked-access' => "汝嘅賬戶權限做毋得修改保護級別。
下背係'''$1'''今下嘅保護級別:",
-'protect-cascadeon' => '下背嘅{{PLURAL:$1|一個|多個}}頁面包含緊本頁面嘅同時,啟動矣連鎖保護,故所本頁面目前也分保護,還吂做得編寫。汝做得設定本頁面嘅保護級別,毋過邇並不會對連鎖保護有所影響。',
+'protect-cascadeon' => '下背嘅$1嘅頁面包含緊本頁面嘅同時,還啟動矣連鎖保護,故所本頁面目前也分保護,還㬟做得編寫。汝做得設定本頁面嘅保護級別,毋過邇影響毋到連鎖保護。',
'protect-default' => '容許所有用戶',
'protect-fallback' => 'Sî-yeu "$1" ke hí-khó',
'protect-level-autoconfirmed' => 'Kim-chṳ́ sîn-ke lâu hàn-mò chu-chhak ke yung-fu',
'whatlinkshere-next' => '後背$1隻',
'whatlinkshere-links' => '←連入',
'whatlinkshere-hideredirs' => '$1重定向',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
'whatlinkshere-hidelinks' => '$1鏈接',
'whatlinkshere-hideimages' => '$1條文件鏈接',
'whatlinkshere-filters' => '過濾器',
באפשרותכם [[Special:Search/{{PAGENAME}}|לחפש את כותרת הדף]] בדפים אחרים,
או <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} לחפש ביומנים הרלוונטיים]</span>,
אך אינכם מורשים ליצור את הדף.',
-'missing-revision' => 'גרסה #$1 של הדף "{{PAGENAME}}" אינה קיימת.
+'missing-revision' => 'גרסה #$1 של הדף "{{FULLPAGENAME}}" אינה קיימת.
זה נגרם בדרך כלל על־ידי לחיצה על קישור ישן לגרסה קודמת של דף שנמחק.
אפשר למצוא פרטים ב[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} יומן המחיקות].',
'userpage-userdoesnotexist' => 'חשבון המשתמש "$1" אינו רשום.
אנא בדקו אם ברצונכם ליצור/לערוך דף זה.',
'userpage-userdoesnotexist-view' => 'חשבון המשתמש "$1" אינו רשום.',
-'blocked-notice-logextract' => '{{GENDER:$1|×\94×\9eשת×\9eש ×\94×\96×\94 ×\97ס×\95×\9d|×\94×\9eשת×\9eשת ×\94×\96×\90ת חסומה}} כרגע.
-הפעולה האחרונה ביומן החסימות מוצגת להלן לעיון:',
+'blocked-notice-logextract' => '{{GENDER:$1|×\94×\9eשת×\9eש ×\94×\96×\94 ×\97ס×\95×\9d|×\94×\9eשת×\9eשת ×\94×\96×\95 חסומה}} כרגע.
+הפעולה האחרונה ביומן החסימות מוצגת להלן:',
'clearyourcache' => "'''הערה:''' לאחר השמירה, עליכם לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
* '''פיירפוקס / ספארי:''' לחצו על Shift בעת לחיצתכם על '''העלה מחדש''' (Reload), או הקישו על ''Ctrl-F5'' או על ''Ctrl-R'' (או על ''<span dir=\"ltr\">⌘-R</span>'' במחשב מק)
* '''גוגל כרום:''' לחצו על ''Ctrl-Shift-R'' (או על ''<span dir=\"ltr\">⌘-Shift-R</span>'' במק)
'revdelete-no-file' => 'הקובץ שציינת אינו קיים.',
'revdelete-show-file-confirm' => 'האם אתם בטוחים שברצונכם לצפות בגרסה המחוקה של הקובץ "<nowiki>$1</nowiki>" מתאריך $3, $2?',
'revdelete-show-file-submit' => 'כן',
-'revdelete-selected' => "'''ה{{PLURAL:$2|גרסה שנבחרה|גרסאות שנבחרו}} מתוך הדף [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|פעולת היומנים שנבחרה|פעולות היומנים שנבחרו}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|הגרסה שנבחרה|הגרסאות שנבחרו}} מתוך [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|גרסת הקובץ שנבחרה|גרסאות הקובץ שנבחרו}} מתוך [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|פעולת היומן שנבחרה|פעולות היומן שנבחרו}}:',
'revdelete-text-text' => 'גרסאות שנמחקו עדיין תופענה בהיסטוריית הדף, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
'revdelete-text-file' => 'גרסאות קבצים שנמחקו עדיין תופענה בהיסטוריית הקובץ, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
-'logdelete-text' => 'פע×\95×\9c×\95ת ×\99×\95×\9e× ×\99×\9d שנמחקו עדיין תופענה בדפי היומנים, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
+'logdelete-text' => 'פע×\95×\9c×\95ת ×\99×\95×\9e×\9f שנמחקו עדיין תופענה בדפי היומנים, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
'revdelete-text-others' => 'מפעילי מערכת אחרים באתר עדיין יוכלו לגשת לתוכן הנסתר ויוכלו לשחזר אותו שוב דרך הממשק הזה, אלא אם כן תוגדרנה הגבלות נוספות.',
'revdelete-confirm' => 'אנא אשרו שזה אכן מה שאתם מתכוונים לעשות, שאתם מבינים את התוצאות של מעשה כזה, ושהמעשה מבוצע בהתאם ל[[{{MediaWiki:Policy-url}}|נוהלי האתר]].',
'revdelete-suppress-text' => "יש להשתמש בהסתרה מלאה '''אך ורק''' במקרים הבאים:
# Book sources
'booksources' => 'משאבי ספרות חיצוניים',
'booksources-search-legend' => 'חיפוש משאבי ספרות חיצוניים',
-'booksources-isbn' => 'מסת"ב:',
+'booksources-isbn' => 'מסת"ב (ISBN):',
'booksources-go' => 'הצגה',
'booksources-text' => 'להלן רשימת קישורים לאתרים אחרים המוכרים ספרים חדשים ויד־שנייה, ושבהם עשוי להיות מידע נוסף לגבי ספרים שאתם מחפשים:',
'booksources-invalid-isbn' => 'המסת"ב שניתן כנראה אינו תקין; אנא בדקו אם ביצעתם טעויות בהעתקה מהמידע המקורי.',
'sp-contributions-logs' => 'יומנים',
'sp-contributions-talk' => 'שיחה',
'sp-contributions-userrights' => 'ניהול הרשאות משתמש',
-'sp-contributions-blocked-notice' => '{{GENDER:$1|×\94×\9eשת×\9eש ×\94×\96×\94 ×\97ס×\95×\9d|×\94×\9eשת×\9eשת ×\94×\96×\90ת חסומה}} כרגע.
-הפעולה האחרונה ביומן החסימות מוצגת להלן לעיון:',
+'sp-contributions-blocked-notice' => '{{GENDER:$1|×\94×\9eשת×\9eש ×\94×\96×\94 ×\97ס×\95×\9d|×\94×\9eשת×\9eשת ×\94×\96×\95 חסומה}} כרגע.
+הפעולה האחרונה ביומן החסימות מוצגת להלן:',
'sp-contributions-blocked-notice-anon' => 'כתובת IP זו חסומה כרגע.
הפעולה האחרונה ביומן החסימות מוצגת להלן:',
'sp-contributions-search' => 'חיפוש תרומות',
'noarticletext-nopermission' => 'फ़िलहाल इस पृष्ठ पर कोई सामग्री नहीं है।
आप अन्य पृष्ठों में [[Special:Search/{{PAGENAME}}|इस शीर्षक की खोज]] कर सकते हैं,
या <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} संबंधित लॉग खोज सकते हैं]</span>, परन्तु आपको यह पृष्ठ बनाने की अनुमति नहीं है।',
-'missing-revision' => '"{{PAGENAME}}" पृष्ठ का अवतरण #$1 मौजूद नहीं है।
+'missing-revision' => '"{{FULLPAGENAME}}" पृष्ठ का अवतरण #$1 मौजूद नहीं है।
आम तौर पर यह एक हटाए गए पृष्ठ के पुराने लिंक पर क्लिक करने से होता है।
अधिक जानकारी के लिए आप [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} हटाने का लॉग] देख सकते हैं।',
'revdelete-no-file' => 'निर्दिष्ट फ़ाइल मौजूद नहीं है।',
'revdelete-show-file-confirm' => 'क्या आप वाकई फ़ाइल "<nowiki>$1</nowiki>" के $2 को $3 बजे बने, हटाए जा चुके अवतरण को देखना चाहते हैं?',
'revdelete-show-file-submit' => 'हाँ',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|का चुना हुआ|के चुने हुए}} अवतरण:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|चुना हुआ|चुने हुए}} लॉग इवेंट:'''",
+'logdelete-selected' => '{{PLURAL:$1|चुना हुआ|चुने हुए}} लॉग इवेंट:',
'revdelete-confirm' => 'पुष्टि करें कि आप यह कार्य करना चाहते हैं, आप इसका परिणाम समझते हैं, और आप ये [[{{MediaWiki:Policy-url}}|नीति]] के अनुसार कर रहे हैं।',
'revdelete-suppress-text' => 'छिपाने का प्रयोग <strong>केवल</strong> इन परिस्थितियों में होना चाहिए:
* संभावित अपमानजनक जानकारी
'delete-warning-toobig' => 'इस पृष्ठ का संपादन इतिहास $1 से अधिक {{PLURAL:$1|अवतरण}} होने की वजह से बहुत बड़ा है।
इसे हटाने से {{SITENAME}} के डाटाबेस की गतिविधियों में व्यवधान आ सकता है;
कृपया सोच समझ कर आगे बढ़ें।',
-'deleting-backlinks-warning' => "'''चेतावनी:''' जो पृष्ठ आप हटाने जा रहे हैं उससे [[विशेष:कड़ियाँ/{{FULLPAGENAME}}|अन्य पृष्ठ]] जुड़ते हैं अथवा उसे ट्रांसक्लूड करते हैं।",
+'deleting-backlinks-warning' => "'''चेतावनी:''' जो पृष्ठ आप हटाने जा रहे हैं उससे [[Special:WhatLinksHere/{{FULLPAGENAME}}|अन्य पृष्ठ]] जुड़ते हैं अथवा उसे ट्रांसक्लूड करते हैं।",
# Rollback
'rollback' => 'संपादन वापिस लें',
'noarticletext-nopermission' => 'Abhi ii panna me koi chij likha nai hae.
Aap sakta hae [[Special:Search/{{PAGENAME}}|ii panna ke title ke khoje]] duusra panna me,
nai to <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>, lekin aap ke ii panna ke banae ke ijaaja tnai hae.',
-'missing-revision' => 'Panna "{{PAGENAME}}" me #$1 badlao nai hae.
+'missing-revision' => 'Panna "{{FULLPAGENAME}}" me #$1 badlao nai hae.
Iske kaaran ii hoe sake hae ki ek mitawa gais panna se link karaa jaawe hae.
Iske baare me aur jaankari [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log] me paawa jaae sake hae.',
'userpage-userdoesnotexist' => 'User account "<nowiki>$1</nowiki>" abi registered nai hai.
'revdelete-no-file' => 'Chuna gais file abhi nai banawa gais hai.',
'revdelete-show-file-confirm' => 'Ka aap sure hai ki aap file ke mitawa gais revision ke dekhe mangtaa hai "<nowiki>$1</nowiki>" $2 se $3 talak?',
'revdelete-show-file-submit' => 'Haan',
-'revdelete-selected' => "'''{{PLURAL:$2|Selected badlao|Selected badlao}} of [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Chuna gais log event|Chuna gais log events}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Chuna gais log event|Chuna gais log events}}:',
'revdelete-confirm' => 'Meharbani kar ke aap ii confirm karo ki aap ii kare mangta hae, aap iske asar ke samajhta hae, aur iske aap [[{{MediaWiki:Policy-url}}|the policy]] ke anusar karta hae.',
'revdelete-suppress-text' => "Suppression ke '''khaali''' ii chij ke khatir kaam me lawa jaae sake hai:
* Aapan baare me jaankari thik nai hai
'noarticletext-nopermission' => 'Wala subong sang teksto ang sini nga panid.
Pwede ka [[Special:Search/{{PAGENAME}}|mangita para sa titulo sang ini nga panid]] sa iban man nga panid,
ukon <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mangita ka sang kaparehas nga logs]</span>.',
-'missing-revision' => 'Ang ini nga pag-ilis nga #$1 sang panid nga ginhinanglan nga "{{PAGENAME}}" wala naga-eksister.
+'missing-revision' => 'Ang ini nga pag-ilis nga #$1 sang panid nga ginhinanglan nga "{{FULLPAGENAME}}" wala naga-eksister.
Ini kalabanan ginabuhat sang nagasunod nga wala na mabag-o nga link sang hisayranay sa isa ka panid nga gindula na.
Ang mga detalye mahimo nga makita sa [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
'revdelete-no-file' => 'Ang ginatumod nga hilera wala naga-eksister.',
'revdelete-show-file-confirm' => 'Sigurado ka bala nga luyag mo makita ang ginpanas nga pagbag-o sang hilera nga "<nowiki>$1</nowiki>" halin sang $2 sa $3?',
'revdelete-show-file-submit' => 'Huo',
-'revdelete-selected' => "'''{{PLURAL:$2|Ginpili nga pagbag-o|Ginpili nga mga pagbag-o}} ni [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ginpili nga hinatabo sa log|Ginpili nga mga hinatabo sa log}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ginpili nga hinatabo sa log|Ginpili nga mga hinatabo sa log}}:',
'revdelete-confirm' => 'Palihog konpermar nga luyag mo ini himuon, nga imo naintiendihan ang mga konsekwensya, kag ginahimo mo ini suno sa [[{{MediaWiki:Policy-url}}|polisiya]].',
'revdelete-suppress-text' => "Ang pagpahugot nagakadapat '''lamang''' nga pagagamiton sa masunod nga kaso:
* Nagapang-guba sang dignindad nga impormasyon
ili [{{fullurl:{{FULLPAGENAME}}|action=edit}} urediti ovu stranicu]</span>.',
'noarticletext-nopermission' => 'Ova stranica nema sadržaja.
Možete [[Special:Search/{{PAGENAME}}|tražiti naslov ove stranice]] na drugim stranicama ili <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pretražiti povezane evidencije]</span>, ali ne možete stvoriti ovu stranicu.',
-'missing-revision' => 'Uređivanje broj $1 na stranici "{{PAGENAME}}" ne postoji.
+'missing-revision' => 'Uređivanje broj $1 na stranici "{{FULLPAGENAME}}" ne postoji.
Ovo je obično uzrokovano kada kliknete na zastarjelu poveznicu na stranice koja je obrisana.
Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} evidenciji brisanja].',
'revdelete-no-file' => 'Navedena datoteka ne postoji.',
'revdelete-show-file-confirm' => 'Jeste li sigurni da želite pregledati izbrisanu inačicu datoteke "<nowiki>$1</nowiki>" od $2 u $3?',
'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Odabrana izmjena|Odabrane izmjene|Odabrane izmjene}} stranice [[$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Odabrani zapis u evidenciji|Odabrani zapisi u evidenciji}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Odabrani zapis u evidenciji|Odabrani zapisi u evidenciji}}:',
'revdelete-confirm' => 'Molimo potvrdite da namjeravate ovo učiniti, da razumijete posljedice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
'revdelete-suppress-text' => "Sklanjanje uređivanja treba raditi '''iznimno''' u slijedećih par slučajeva:
* Privatne informacije neprilične javnom mediju tipa
--- /dev/null
+<?php
+/** Hunsrik (Hunsrik)
+ *
+ * See MessagesQqq.php for message documentation incl. usage of parameters
+ * To improve a translation please visit http://translatewiki.net
+ *
+ * @ingroup Language
+ * @file
+ *
+ * @author Paul Beppler
+ */
+
+$fallback = 'de';
+
+$messages = array(
+# User preference toggles
+'tog-underline' => 'Links (Verbinnunge) unnerstreiche:',
+'tog-hideminor' => 'Klen Ännrunge in den "Letzte Ännrunge" ausblenne',
+'tog-hidepatrolled' => 'Kontrollierte Ännrunge in den "Letzte Ännrungen" ausblenne',
+'tog-newpageshidepatrolled' => 'Kontrollierte Seite bei den "Neie Seite" ausblenne',
+'tog-extendwatchlist' => 'Beobachtungslist erweitre, um statt nuer der letzte Ännrung alle Ännrunge oonzuzeiche.',
+'tog-usenewrc' => 'Ännrunge uff "Letzte Ännrunge" und Beobachtungslist noh Seit gruppiere',
+'tog-numberheadings' => 'Üwerschrifte automatisch nummeriere',
+'tog-showtoolbar' => 'Beoorbeite-Werrekzeichleiste oonzeiche',
+'tog-editondblclick' => 'Seite mit Doppelklick beoorbeite',
+'tog-editsectiononrightclick' => 'Einzelne Abschnitte per Rechtsklick beoorbeite',
+'tog-rememberpassword' => 'Mit dem Browser dauerhaft oongemeldet bleiwe (maximal $1 {{PLURAL:$1|Tooch|Tooche}})',
+'tog-watchcreations' => 'Sellebst erstellt Seite und hochgeloodne Dateie automatisch beobachte',
+'tog-watchdefault' => 'Sellebst geännert Seit und Dateie automatisch beobachte',
+'tog-watchmoves' => 'Sellebst verschobne Seite und Dateie automatisch beobachte',
+'tog-watchdeletion' => 'Sellebst gelöscht Seite und Dateie automatisch beobachte',
+'tog-minordefault' => 'Eichne Ännrunge standardmässich als geringfüchich markiere',
+'tog-previewontop' => 'Vorschau owerhalleb von der Beoorbeitungsfenster oonzeiche',
+'tog-previewonfirst' => 'Beim earscht Beoorbeit immer die Vorschau oonzeiche',
+'tog-enotifwatchlistpages' => 'Bei Ännrungen an beobachtete Seite orrer Dateie E-Mails schicke',
+'tog-enotifusertalkpages' => 'Bei Ännrunge an meiner Benutzer-Diskussionsseit E-Mails schicke',
+'tog-enotifminoredits' => 'Aooch bei klene Ännrunge an Seite und Dateie E-Mails schicke',
+'tog-enotifrevealaddr' => 'Mein E-Mail-Adress in Benachrichtichungs-E-Mails oonzeiche',
+'tog-shownumberswatching' => 'Oonzoohl der beobachtende Benutzer oonzeiche',
+'tog-oldsig' => 'Voarhandne Signatuar:',
+'tog-fancysig' => 'Signatuar als Wikitext behandle (ohne automatische Verlinkung)',
+'tog-uselivepreview' => 'Voarschau sofort oonzeiche (experimentell)',
+'tog-forceeditsummary' => 'Warne, soweit beim Speichre die Zusammerfassung fehlt',
+'tog-watchlisthideown' => 'Eigne Beoorbeitunge in der Beobachtungslist ausblenne',
+'tog-watchlisthidebots' => 'Beoorbeitunge doorrich Bots in der Beobachtungslist ausblenne',
+'tog-watchlisthideminor' => 'Klene Beoorbeitunge in der Beobachtungslist ausblenne',
+'tog-watchlisthideliu' => 'Beoorbeitunge oongemeldeter Benutzer in der Beobachtungslist ausblenne',
+'tog-watchlisthideanons' => 'Beoorbeitunge anonymer Benutzer (IP-Adresse) in der Beobachtungslist ausblennen',
+'tog-watchlisthidepatrolled' => 'Kontrollierte Ännrunge in der Beobachtungslist ausblenne',
+'tog-ccmeonemails' => 'Schick mir Kopiee von der E-Mails, wo ich annre Benutzer schicke',
+'tog-diffonly' => 'Beim Versionsvergleich nuar die Unnerschiede und net die vollständiche Seit oonzeiche',
+'tog-showhiddencats' => 'Oonzeiche versteckter Kategoriee',
+'tog-norollbackdiff' => 'Unnerschied noh dem Zurücksetze unnerdrücke',
+'tog-useeditwarning' => 'Warne, soweit en zur Beoorbeitung geöffnete Seit verloss weard, wo net gespeicherte Ännrunge enthält',
+'tog-prefershttps' => 'Wenn oongemeldet, immer en sichre Verbinnung benutze.',
+
+'underline-always' => 'immer',
+'underline-never' => 'nie',
+'underline-default' => 'abhängig von der Benutzerowerfläche orrer Browserinstellung (d.h. Navegationsprogramminstellung)',
+
+# Font style option in Special:Preferences
+'editfont-style' => 'Schriftoort für den Text im Beoorbeitungsfenster:',
+'editfont-default' => 'Browserstandard',
+'editfont-monospace' => 'Schriftoort (Fontetyp) mit fester Zeichebreit',
+'editfont-sansserif' => 'Serifelose Groteskschrift',
+'editfont-serif' => 'Schrift mit Serife',
+
+# Dates
+'sunday' => 'Sonntach',
+'monday' => 'Montach',
+'tuesday' => 'Dienstach',
+'wednesday' => 'Mittwoch',
+'thursday' => 'Donnerstooch',
+'friday' => 'Freitach',
+'saturday' => 'Samstach',
+'sun' => 'So',
+'mon' => 'Mo',
+'tue' => 'Di',
+'wed' => 'Mi',
+'thu' => 'Do',
+'fri' => 'Fr',
+'sat' => 'Sa',
+'january' => 'Januar',
+'february' => 'Februar',
+'march' => 'März',
+'april' => 'April',
+'may_long' => 'Mai',
+'june' => 'Juni',
+'july' => 'Juli',
+'august' => 'August',
+'september' => 'September',
+'october' => 'Oktober',
+'november' => 'November',
+'december' => 'Dezember',
+'january-gen' => 'Januars',
+'february-gen' => 'Februars',
+'march-gen' => 'Märzes',
+'april-gen' => 'Aprils',
+'may-gen' => 'Mais',
+'june-gen' => 'Junis',
+'july-gen' => 'Julis',
+'august-gen' => 'Augusts',
+'september-gen' => 'Septembers',
+'october-gen' => 'Oktobers',
+'november-gen' => 'Novembers',
+'december-gen' => 'Dezembers',
+'jan' => 'Jan.',
+'feb' => 'Feb.',
+'mar' => 'Mär.',
+'apr' => 'Apr.',
+'may' => 'Mai',
+'jun' => 'Jun.',
+'jul' => 'Jul.',
+'aug' => 'Aug.',
+'sep' => 'Sep.',
+'oct' => 'Okt.',
+'nov' => 'Nov.',
+'dec' => 'Dez.',
+'january-date' => '$1. Januar',
+'february-date' => '$1. Februar',
+'march-date' => '$1. März',
+'april-date' => '$1. April',
+'may-date' => '$1. Mai',
+'june-date' => '$1. Juni',
+'july-date' => '$1. Juli',
+'august-date' => '$1. August',
+'september-date' => '$1. September',
+'october-date' => '$1. Oktober',
+'november-date' => '$1. November',
+'december-date' => '$1. Dezember',
+
+# Categories related messages
+'pagecategories' => '{{PLURAL:$1|Kategorie|Kategoriee}}',
+'category_header' => 'Seite in der Kategorie "$1"',
+'subcategories' => 'Unnerkategoriee',
+'category-media-header' => 'Medie in der Kategorie "$1"',
+'category-empty' => "''Die Kategorie enthält zurzeit ken Seite orrer Medie.''",
+'hidden-categories' => '{{PLURAL:$1|Versteckte Kategorie|Versteckte Kategoriee}}',
+'hidden-category-category' => 'Versteckte Kategoriee',
+'category-subcat-count' => '{{PLURAL:$2|Die Kategorie enthält follichende Unnerkategorie:|{{PLURAL:$1|Follichende Unnerkategorie ist en von insgesamt $2 Unnerkategorie in der Kategorie:|Es werre $1 von insgesamt $2 Unnerkategorie in der Kategorie oongezeichtt:}}}}',
+'category-subcat-count-limited' => 'Die Kategorie enthält follichende {{PLURAL:$1|Unterkategorie|$1 Unnerkategoriee}}:',
+'category-article-count' => '{{PLURAL:$2|Die Kategorie enthält follichende Seit:|{{PLURAL:$1|Follichen Seit ist en von insgesamt $2 Seite in der Kategorie:|Es werre $1 von insgesamt $2 Seite in der Kategorie oongezeicht:}}}}',
+'category-article-count-limited' => 'Follichende {{PLURAL:$1|Seite ist|$1 Seite sind}} in der Kategorie enthalt:',
+'category-file-count' => '{{PLURAL:$2|Die Kategorie enthält follichende Seit:|{{PLURAL:$1|Follichen Seit ist en von insgesamt $2 Seite in der Kategorie:|Es werre $1 von insgesamt $2 Seite in der Kategorie oongezeicht:}}}}',
+'category-file-count-limited' => 'Follichende {{PLURAL:$1|Datei ist|$1 Dateie sind}} in der Kategorie enthalt:',
+'listingcontinuesabbrev' => '(Fortsetzung)',
+'index-category' => 'Indexierte Seite',
+'noindex-category' => 'Nichtindexierte Seite',
+'broken-file-category' => 'Seite mit defekte Dateilinks',
+
+'about' => 'Üwer',
+'article' => 'Seit',
+'newwindow' => '(weard in enem neie Fenster geöffnet)',
+'cancel' => 'Abbreche',
+'moredotdotdot' => 'Mehr …',
+'morenotlisted' => 'Dies List ist net vollständig.',
+'mypage' => 'Eichne Seit',
+'mytalk' => 'Diskussion',
+'anontalk' => 'Diskussionsseit für der IP',
+'navigation' => 'Navegation',
+'and' => ' und',
+
+# Cologne Blue skin
+'qbfind' => 'Finne',
+'qbbrowse' => 'Doorrichsuche',
+'qbedit' => 'Beoorbeite',
+'qbpageoptions' => 'Seiteoptione',
+'qbmyoptions' => 'Meine Seite',
+'faq' => 'Häifich gestellte Froche',
+'faqpage' => 'Project:FAQ',
+
+# Vector skin
+'vector-action-addsection' => 'Abschnitt hinzufüche',
+'vector-action-delete' => 'Lösche',
+'vector-action-move' => 'Verschiebe',
+'vector-action-protect' => 'Schütz',
+'vector-action-undelete' => 'Wiederherstelle',
+'vector-action-unprotect' => 'Seiteschutz ännre',
+'vector-view-create' => 'Erstell',
+'vector-view-edit' => 'Beoorbeite',
+'vector-view-history' => 'Versionsgeschicht',
+'vector-view-view' => 'Lese',
+'vector-view-viewsource' => 'Quelltext oonzeiche',
+'actions' => 'Aktione',
+'namespaces' => 'Noomeräume',
+'variants' => 'Variante',
+
+'navigation-heading' => 'Navigationsmenü',
+'errorpagetitle' => 'Fehler',
+'returnto' => 'Retuar zur Seit $1.',
+'tagline' => 'Aus {{SITENAME}}',
+'help' => 'Hellef',
+'search' => 'Such',
+'searchbutton' => 'Suche',
+'go' => 'Ausführe',
+'searcharticle' => 'Such',
+'history' => 'Versione',
+'history_short' => 'Versionsgeschicht',
+'updatedmarker' => 'Ännrung seit deinem letzte Besuch',
+'printableversion' => 'Druckversion',
+'permalink' => 'Permanenter Link',
+'print' => 'Drucke',
+'view' => 'Lese',
+'edit' => 'Beoorbeite',
+'create' => 'Erstell',
+'editthispage' => 'Seit beoorbeite',
+'create-this-page' => 'Seit erstelle',
+'delete' => 'Lösche',
+'deletethispage' => 'Die Seit lösche',
+'undeletethispage' => 'Die Seit wiederherstelle',
+'undelete_short' => '{{PLURAL:$1|1 Version|$1 Versione}} wiederherstelle',
+'viewdeleted_short' => '{{PLURAL:$1|Ein gelöscht Version|$1 gelöschte Versione}} ansehen',
+'protect' => 'Schütz',
+'protect_change' => 'ännre',
+'protectthispage' => 'Seit schütze',
+'unprotect' => 'Seiteschutz ännre',
+'unprotectthispage' => 'Seitschutz ännre',
+'newpage' => 'Neie Seit',
+'talkpage' => 'Die Seit diskutiere',
+'talkpagelinktext' => 'Diskussion',
+'specialpage' => 'Spezialseit',
+'personaltools' => 'Meine Werkzeiche',
+'postcomment' => 'Neier Abschnitt',
+'articlepage' => 'Inhaltsseit oonzeiche',
+'talk' => 'Diskussion',
+'views' => 'Ansichte',
+'toolbox' => 'Werkzeich',
+'userpage' => 'Benutzerseit oonzeiche',
+'projectpage' => 'Projektseit oonzeiche',
+'imagepage' => 'Dateiseit oonzeiche',
+'mediawikipage' => 'Meldungsseit oonzeiche',
+'templatepage' => 'Voarloocheseit oonzeiche',
+'viewhelppage' => 'Hellefseit oonzeiche',
+'categorypage' => 'Kategorieseit oonzeiche',
+'viewtalkpage' => 'Diskussion',
+'otherlanguages' => 'In annre Sproche',
+'redirectedfrom' => '(Weitergeleitet von $1)',
+'redirectpagesub' => 'Weiterleitung',
+'lastmodifiedat' => 'Die Seit woor zuletzt am $1 um $2 Uhr geännert.',
+'viewcount' => 'Die Seit woard bisher {{PLURAL:$1|einmal|$1 mal}} abgeruff.',
+'protectedpage' => 'Geschützte Seit',
+'jumpto' => 'Wechsle zu:',
+'jumptonavigation' => 'Navigation',
+'jumptosearch' => 'Such',
+'view-pool-error' => 'Entschuldichung, die Server sind im Moment üwerlaschtet.
+Zu viele Benutzer versuche, die Seit zu besuche.
+Bitte woort en Poor Minute, bevoar du das noomo versuchst.
+
+$1',
+'pool-timeout' => 'Zeitablauf im Verloof von das Warte uff die Sperrung',
+'pool-queuefull' => 'Poolwoortschlang ist voll',
+'pool-errorunknown' => 'Unbekannter Fehler',
+
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
+'aboutsite' => 'Üwer {{SITENAME}}',
+'aboutpage' => 'Project:Üwer_{{SITENAME}}',
+'copyright' => 'Der Inhalt ist verfüchbar unner der Lizenz $1, soweit nix anner oongeb ist.',
+'copyrightpage' => '{{ns:project}}:Urheberrechte',
+'currentevents' => 'Aktuelle Ereichnisse',
+'currentevents-url' => 'Project:Aktuelle Ereichnisse',
+'disclaimers' => 'Impressum',
+'disclaimerpage' => 'Project:Impressum',
+'edithelp' => 'Beoorbeitungshellef',
+'mainpage' => 'Hauptseit',
+'mainpage-description' => 'Hauptseit',
+'policy-url' => 'Project:Richtlinie',
+'portal' => 'Gemeinschaftsportal',
+'portal-url' => 'Project:Gemeinschaftsportal',
+'privacy' => 'Dateschutz',
+'privacypage' => 'Project:Dateschutz',
+
+'badaccess' => 'Ken ausreichende Benutzerrechte',
+'badaccess-group0' => 'Du hast net die erforderliche Benutzerrechte für die Aktion.',
+'badaccess-groups' => 'Die Aktion ist uff Benutzer beschränkt, die {{PLURAL:$2|der Grupp|ener der Gruppe}} „$1“ angehören.',
+
+'versionrequired' => 'Version $1 von MediaWiki ist erforderlich.',
+'versionrequiredtext' => 'Version $1 von MediaWiki ist erforderlich und nötich, um die Seit zu nutze.
+Sieh die [[Special:Version|Version sein Seit]]',
+
+'ok' => 'Okay',
+'retrievedfrom' => 'Von „$1“',
+'youhavenewmessages' => '{{PLURAL:$3|Du host}} $1 ($2).',
+'youhavenewmessagesfromusers' => '{{PLURAL:$4|Du host}} $1 von {{PLURAL:$3|en anner Benutzer|$3 annre Benutzer}} ($2).',
+'youhavenewmessagesmanyusers' => 'Du host $1 von viele Benutzre ($2).',
+'newmessageslinkplural' => '{{PLURAL:$1|en neie Nachricht|999=neie Nachrichte}}',
+'newmessagesdifflinkplural' => 'letzte {{PLURAL:$1|Ännrung|999=Ännrunge}}',
+'youhavenewmessagesmulti' => 'Du host neie Nachrichte: $1',
+'editsection' => 'Beoorbeite',
+'editold' => 'Beoorbeite',
+'viewsourceold' => 'Quelltext oonzeiche',
+'editlink' => 'Beoorbeite',
+'viewsourcelink' => 'Quelltext oonzeiche',
+'editsectionhint' => 'Abschnitt beoorbeite: $1',
+'toc' => 'Inhaltsverzeichnis',
+'showtoc' => 'Oonzeiche',
+'hidetoc' => 'Verberriche',
+'collapsible-collapse' => 'Inklappe',
+'collapsible-expand' => 'Ausklappe',
+'thisisdeleted' => '$1 oonsiehn orrer wiederherstelle?',
+'viewdeleted' => '$1 oonzeiche?',
+'restorelink' => '$1 {{PLURAL:$1|gelöschte Version|gelöschte Versione}}',
+'feedlinks' => 'Feed (das ist en Anglizismus, für das was regäb ist, die informatione ren getun sin):',
+'feed-invalid' => 'Ungülticher Feed-Abonnement-Typ.',
+'feed-unavailable' => 'Es stehn ken Feeds zur Verfüchung.',
+'site-rss-feed' => 'RSS-Feed für "$1"',
+'site-atom-feed' => 'Atom-Feed für „$1“',
+'page-rss-feed' => 'RSS-Feed für "$1"',
+'page-atom-feed' => 'Atom-Feed für „$1“',
+'red-link-title' => '$1 (Seit existiert net)',
+'sort-descending' => 'Absteichend sortiere',
+'sort-ascending' => 'Uffsteichend sortiere',
+
+# Short words for each namespace, by default used in the namespace tab in monobook
+'nstab-main' => 'Seit',
+'nstab-user' => 'Benutzerseit',
+'nstab-media' => 'Medieseit',
+'nstab-special' => 'Spezialseit',
+'nstab-project' => 'Projektseit',
+'nstab-image' => 'Datei',
+'nstab-mediawiki' => 'Systemnachricht',
+'nstab-template' => 'Vorlooche',
+'nstab-help' => 'Hellefseit',
+'nstab-category' => 'Kategorie',
+
+# Main script and global functions
+'nosuchaction' => 'Die Aktion gebt es net',
+'nosuchactiontext' => 'Die in der URL oongebne Aktion weard von MediaWiki net unnerstützt.
+Es kann en Schreibfehler in der URL voarliehn orrer es woard en fehlerhafter Link oongeklickt.
+Das kann sich ooch um en Programmierfehler in der Software, wo von {{SITENAME}} benutzt weard, handle.',
+'nosuchspecialpage' => 'Spezialseit net voarhand',
+'nospecialpagetext' => '<strong>Die uffgerufne Spezialseit ist net voarhand.</strong>
+
+All verfüchbare Spezialseite sind in der [[Special:SpecialPages|List von der Spezialseite]] zu finne.',
+
+# General errors
+'error' => 'Fehler',
+'databaseerror' => 'Datebankfehler',
+'databaseerror-text' => 'En Datebankabfrochfehler ist passiert.
+Das könnt uff en Fehler in der Software hindeite.',
+'databaseerror-textcl' => 'Do ist en Datenbankabfrochfehler uffgetret.',
+'databaseerror-query' => 'Abfroch: $1',
+'databaseerror-function' => 'Funktion: $1',
+'databaseerror-error' => 'Fehler: $1',
+'laggedslavemode' => "'''Achtung:''' Die oongezeicht Seit könnte unner Umstände net die letzte Beoorbeitunge enthalte.",
+'readonly' => 'Datebank gesperrt',
+'enterlockreason' => 'Bitte geb en Grund ren, waroom die Datebank gesperrt werre soll und en Abschätzung üwer die Dauer von der Sperrung',
+'readonlytext' => 'Die Datebank ist voarüwergehend für Neiinträche und Ännrunge gesperrt. Bitte versuche es später nochmo.
+
+Grund für der Sperrung: $1',
+'missing-article' => 'Der Text von „$1“ $2 woor net in der Datebank gefund.
+
+Die Seit ist möchlicherweis gelöscht orrer verschob woard.
+
+Falls das net zutrifft, host du eventuell en Fehler in der Software gefund. Bitte melde das enem [[Special:ListUsers/sysop|Administrator]] unner Nennung der URL.',
+'missingarticle-rev' => '(Versionsnummer: $1)',
+'missingarticle-diff' => '(Unnerschied zwischich Versione: $1, $2)',
+'readonly_lag' => 'Die Datebank woard automatisch für Schreibzugriffe gesperrt, domit sich die verteilte Datebankserver (Slaves/Skloove) mit dem Hauptdatebankserver (Master / Meister) abgegleicht sin könne.',
+'internalerror' => 'Interner Fehler',
+'internalerror_info' => 'Interner Fehler: $1',
+'fileappenderrorread' => '„$1“ konnt im Verloof von der Hinzufüche net geles sin.',
+'fileappenderror' => 'Konnt „$1“ net an "$2" oonhänge.',
+'filecopyerror' => 'Die Datei "$1" konnt net noh "$2" kopiert sin.',
+'filerenameerror' => 'Die Datei "$1" konnt net noh "$2" umbenannt sin.',
+'filedeleteerror' => 'Die Datei "$1" konnt net gelöscht sin.',
+'directorycreateerror' => 'Das Verzeichnis "$1" konnt net oongeleht sin.',
+'filenotfound' => 'Die Datei "$1" woard net gefund.',
+'fileexistserror' => 'In die Datei "$1" konnt net geschrieb sin, weil die Datei schon voarhand ist.',
+'unexpected' => 'Unerwoorteter Weart: „$1“ = „$2“',
+'formerror' => 'Fehler: Die Igäb konnte net veroorbeitet sin.',
+'badarticleerror' => 'Die Aktion kann uff die Seit net oongewendt sin.',
+'cannotdelete' => 'Die Seit orrer Datei "$1" kann net gelöscht sin.
+Möchlicherweis woard die bereits von jemand annrem gelöscht.',
+'cannotdelete-title' => 'Seit "$1" kann net gelöscht sin',
+'delete-hook-aborted' => 'Die Löschung woard von en Programmerweitrung zu MediaWiki verhinnert.
+Das ist hierzu ken Erklärung verfüchbar.',
+'no-null-revision' => 'Die neie Nullversion für die Seit "$1" konnt net erstellt sin',
+'badtitle' => 'Ungülticher Titel',
+'badtitletext' => 'Der Titel von der oongeforderte Seit ist ungültich, leer orrer en ungülticher Sprochlink von en anne Wiki.',
+'perfcached' => 'Die follichende Date stamme aus dem Cache und sind möchlicherweis net aktuell. Maximal {{PLURAL:$1|en Ergebnis ist|$1 Ergebnisse sind}} im Cache verfüchbar.',
+'perfcachedts' => 'Die Date stamme aus dem Cache. Der Zeitpunkt von der letzte Aktualisierung: $2, $3 Uhr. Maximal {{PLURAL:$4|en Ergebnis ist|$4 Ergebnisse sind}} im Cache verfüchbar.',
+'querypage-no-updates' => 'Die Aktualisierungsfunktion von der Seit ist zurzeit deaktiviert.
+Die Date werre bis uff Weitres net erneiert.',
+'viewsource' => 'Quelltext oonzeiche',
+'viewsource-title' => 'Der Seit sein Quelltext $1',
+'actionthrottled' => 'Aktionsoonzoohl limitiert',
+'actionthrottledtext' => 'Im Rahme von en Anti-Spam-Massnoohm kann die Aktion in en koorrze Zeitabstand nuar begrenzt oft ausgeführt sin. Die Grenze host du üwerschritt.
+Bittschön versuch es in en poor Minute nochmo.',
+'protectedpagetext' => 'Die Seit woard geschützt, um Beoorbeitunge sowie annre Aktione zu verhinnre.',
+'viewsourcetext' => 'Du kannst den Quelltext von der Seit betrachte und kopiere:',
+'viewyourtext' => "Du kannst den Quelltext '''deiner Beoorbeitung''' von der Seit betrachte und kopiere:",
+'protectedinterface' => 'Dies Seit enthält Text für die Benutzerowerfläch von der Software uff dem Wiki und ist geschützt, um Missbrauch voarzubeiche.
+Nutz bittschön [//translatewiki.net/ translatewiki.net], das Lokalisierungsprojekt von MediaWiki, um Üwersetzungen für alle Wikis hinzuzufüche orrer zu ännre.',
+'editinginterface' => "'''Warnung:''' Die Seit enthält von der MediaWiki-Software genutzte Text.
+Ännrunge uff der Seit wirreke sich uff die Benutzerowerfläch von das Wikis aus.
+Nutze bittschön [//translatewiki.net/ translatewiki.net], das Lokalisierungsprojekt von MediaWiki, um Üwersetzunge für all Wikis hinzuzufüche orrer zu ännre.",
+'cascadeprotected' => 'Die Seit ist zur Beoorbeitung gesperrt. Sie ist in die {{PLURAL:$1|follichende Seit|follichende Seite}} ingebundt, wo mittels von der Kaskadesperroption geschützt {{PLURAL:$1|ist|sind}}:
+$2',
+'namespaceprotected' => "Du host net die erforderliche Berechtichung, um Seite im Noomeraum '''$1''' beoorbeite zu könne.",
+'customcssprotected' => 'Du host net die Berechtichung, die CSS enthaltende Seite zu beoorbeite, weil sie die persönliche Einstellunge von en anner Benutzer enthält.',
+'customjsprotected' => 'Du host net die Berechtivhung, die JavaScript enthaltende Seit zu beoorbeite, weil das sich hierbei um die persönliche Einstellunge von en anner Benutzer handelt.',
+'mycustomcssprotected' => 'Du host ken Berechtichung, die CSS-Seit zu beoorbeite.',
+'mycustomjsprotected' => 'Du host kene Berechtichung, die JavaScript-Seit zu beoorbeit.',
+'myprivateinfoprotected' => 'Du host ken Berechtichung, dein private Informatione zu beoorbeite.',
+'mypreferencesprotected' => 'Du host ken Berechtichung, dein Einstellunge zu beoorbeite.',
+'ns-specialprotected' => 'Spezialseite könne net beoorbeitet sin.',
+'titleprotected' => 'En Seit mit dem Noome kann net oongelht sin.
+Die Sperre woare doorrich [[User:$1|$1]] mit der Begründung \'\'"$2"\'\' ingericht.',
+'filereadonlyerror' => 'Die Datei "$1" kann net verännert sin, weil uff das Dateirepositorium "$2" nuar Lesezugriff möchlich ist.
+
+Der Administrator, wo den Schreibzugriff gesperrt hot, hot der follichende Grund oongäb: "$3".',
+'invalidtitle-knownnamespace' => 'Ungülticher Titel mit Noomeraum "$2" und Text "$3"',
+'invalidtitle-unknownnamespace' => 'Ungülticher Titel mit unbekannter Noomeraumnummer $1 und Text "$2"',
+'exception-nologin' => 'Net oongemeldt',
+'exception-nologin-text' => 'Du musst dich [[Special:Userlogin|oonmelde]], um uff die Seit orrer Aktion zuzugreife se könne.',
+'exception-nologin-text-manual' => 'Du musst dich $1, um uff die Seit orrer Aktion zugreif ze können.',
+
+# Virus scanner
+'virus-badscanner' => "Fehlerhafte Konfiguration: unbekannter Virenscanner: ''$1''",
+'virus-scanfailed' => 'Scan fehlgeschloohn (code $1)',
+'virus-unknownscanner' => 'Unbekannter Virescanner:',
+
+# Login and logout pages
+'logouttext' => "'''Du bist jetzt abgemeldet.'''
+
+Beacht, dass etliche Seit noch oonzeiche könne, dass du oongemeldt bist, solang du net deine Browsercache geleert host.",
+'welcomeuser' => 'Wellkomm, $1!',
+'welcomecreation-msg' => 'Dein Benutzerkonto woard erstellt.
+Vergess net, deine [[Special:Preferences|{{SITENAME}}-Einstellunge]] zu ännre.',
+'yourname' => 'Benutzername:',
+'userlogin-yourname' => 'Benutzernoome',
+'userlogin-yourname-ph' => 'Geb dein Benutzernoome ren',
+'createacct-another-username-ph' => 'Benutzernoome',
+'yourpassword' => 'Passwort:',
+'userlogin-yourpassword' => 'Passwort',
+'userlogin-yourpassword-ph' => 'Geb dein Passwort ren',
+'createacct-yourpassword-ph' => 'Geb dein Passwort ren',
+'yourpasswordagain' => 'Passwort repetiere:',
+'createacct-yourpasswordagain' => 'Passwort bestätiche',
+'createacct-yourpasswordagain-ph' => 'Geb das Passwort erneit ren',
+'remembermypassword' => 'Mit dem Browser dauerhaft oongemeldet bleiwe (maximal $1 {{PLURAL:$1|Tooch|Tooche}})',
+'userlogin-remembermypassword' => 'Oongemeldt bleiwe',
+'userlogin-signwithsecure' => 'Sichre Verbinnung verwenne',
+'yourdomainname' => 'Dein Domain:',
+'password-change-forbidden' => 'Du kannst uff dem Wiki ken Passwörter ännre.',
+'externaldberror' => 'Entweder es lieht en Fehler bei der externe Authentifizierung voar orrer du därrefst dein externes Benutzerkonto net aktualisiere.',
+'login' => 'Oonmelde',
+'nav-login-createaccount' => 'Oonmelde / Benutzerkonto erstelle',
+'loginprompt' => 'Zur Oonmeldung müsse Cookies aktiviert sin.',
+'userlogin' => 'Oonmelde / Benutzerkonto erstelle',
+'userloginnocreate' => 'Oonmelde',
+'logout' => 'Abmelde',
+'userlogout' => 'Abmelde',
+'notloggedin' => 'Nicht oongemeldt',
+'userlogin-noaccount' => 'Du host noch ken Benutzerkonto?',
+'userlogin-joinproject' => '{{SITENAME}} beitrete',
+'nologin' => "Du host ken Benutzerkonto? '''$1'''.",
+'nologinlink' => 'En neie Benutzerkonto erstelle',
+'createaccount' => 'Benutzerkonto erstelle',
+'gotaccount' => "Du host schon en Benutzerkonto? '''$1'''.",
+'gotaccountlink' => 'Oonmelde',
+'userlogin-resetlink' => 'Die Oonmelddate vergess?',
+'userlogin-resetpassword-link' => 'Passwort vergesse?',
+'userlogin-helplink2' => 'Hellef bei der Oonmeldung',
+'userlogin-loggedin' => 'Du bist schon als {{GENDER:$1|$1}} oongemeldt.
+Benutz das unne stehnd Formular, um dich unner enem annren Benutzername oonzumelde.',
+'userlogin-createanother' => 'En weitres Benutzerkonto erstelle',
+'createacct-join' => 'Geb do unne deine Informatione ren.',
+'createacct-another-join' => 'Geb do unne die Informationen von der neie Benutzerkonto ren.',
+'createacct-emailrequired' => 'E-Mail-Adress',
+'createacct-emailoptional' => 'E-Mail-Adress (optional)',
+'createacct-email-ph' => 'Geb dein E-Mail-Adress ren',
+'createacct-another-email-ph' => 'E-Mail-Adress',
+'createaccountmail' => 'En temporäres Zufallspasswort verwenne und an die oongebne E-Mail-Adress verschicke',
+'createacct-realname' => 'Registrierte Noome (optional)',
+'createaccountreason' => 'Grund:',
+'createacct-reason' => 'Begründung',
+'createacct-reason-ph' => 'Waroom erstellst du en annres Benutzerkonto?',
+'createacct-captcha' => 'Sicherheitsprüfung',
+'createacct-imgcaptcha-ph' => 'Geb den Text ren, den wo du uwe siehst.',
+'createacct-submit' => 'Dein Benutzerkonto erstelle',
+'createacct-another-submit' => 'En anner Benutzerkonto erstelle',
+'createacct-benefit-heading' => '{{SITENAME}} weard von Mensche wie dir geschaff.',
+'createacct-benefit-body1' => '{{PLURAL:$1|Bearbeitung|Bearbeitunge}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|Seit|Seite}}',
+'createacct-benefit-body3' => '{{PLURAL:$1|aktiver Autor|aktive Autore}}',
+'badretype' => 'Die beide Passwörter stimme net gleichoortich.',
+'userexists' => 'Der Benutzernoome ist schon vergeb.
+Bittschön wähl en annre.',
+'loginerror' => 'Fehler bei der Oonmeldung',
+'createacct-error' => 'Fehler beim Erstelle von der Benutzerkonto',
+'createaccounterror' => 'Benutzerkonto konnte net erstellt sin: $1',
+'nocookiesnew' => 'Der Benutzerzugang woard erstellt, awer du bist net oongemeldt. {{SITENAME}} benöticht für die Funktion Cookies, bitte aktivier die und meld dich dann mit deinem neie Benutzernoome und dem zugehöriche Passwort an.',
+'nocookieslogin' => '{{SITENAME}} benutzt Cookies zur Oonmeldung von der Benutzer. Du host Cookies deaktiviert, bitte aktivier se und versuch das noohmo.',
+'nocookiesfornew' => 'Das Benutzerkonto woard net erstellt, weil die Dateherkunft net ermittelt sin konnt.
+Das muss sichergestellt sin, dass Cookies aktiviert sind. Donoh die Seit erneut loode und es wieder versuche.',
+'noname' => 'Du musst en gültiche Benutzernoome oongewe.',
+'loginsuccesstitle' => 'Oonmeldung erfollichgreich',
+'loginsuccess' => 'Du bist jetzt als "$1" bei {{SITENAME}} oongemeldt.',
+'nosuchuser' => 'Der Benutzernoome „$1“ existiert net.
+Üwerprüf die Schreibweis (Gross-/Klenschreibung beachte) orrer [[Special:UserLogin/signup|meld dich als neier Benutzer an]].',
+'nosuchusershort' => 'Der Benutzernoome "$1" ist net voarhand. Bitte üwerprüf die Schreibweis.',
+'nouserspecified' => 'Bittschön geb en Benutzernoome an.',
+'login-userblocked' => '{{GENDER:$1|Der Benutzer|Die Benutzrin|Der Benutzer}} ist gesperrt. Die Oonmeldung ist net erlaubt.',
+'wrongpassword' => 'Das Passwort ist falsch. Bittschön versuch das erneit.',
+'wrongpasswordempty' => 'Do woard ken Passwort regeb. Bittschön versuch das erneit.',
+'passwordtooshort' => 'Passwörter müsse minnestens {{PLURAL:$1|1 Zeiche|$1 Zeiche}} lang sin.',
+'password-name-match' => 'Dein Passwort muss sich von deinem Benutzernoome unnerscheide.',
+'password-login-forbidden' => 'Die Verwennung von der Benutzernoome und das Passwort ist net erlaubt.',
+'mailmypassword' => 'Passwort zurücksetze',
+'passwordremindertitle' => 'Neies Passwort für en {{SITENAME}}-Benutzerkonto',
+'passwordremindertext' => 'Jemand mit der IP-Adress $1, wahrscheinlich du sellebst, hot en neies Passwort für die Oonmeldung bei {{SITENAME}} ($4) oongefordert.
+
+Das automatisch generierte Passwort für Benutzer "$2" lautet jetzt: $3
+
+Falls du das wirklich gewünscht host, sollst du dich jetzt oonmelde und das Passwort ännre.
+Das neie Passwort ist {{PLURAL:$5|1 Tooch|$5 Tooch}} gültich.
+
+Bittschön ignorier die E-Mail, falls du se net sellebst oongefordert host. Das alte Passwort bleibt weiterhin gültich.',
+'noemail' => '{{GENDER:$1|Benutzer|Benutzrin|Benutzer}} "$1" hot ken E-Mail-Adress angegeben.',
+'noemailcreate' => 'Du musst en gültiche E-Mail-Adress oongewe',
+'passwordsent' => 'En neies, temporäres Passwort woard an die E-Mail-Adress von Benutzer "$1" geschickt.
+Bittschön meld dich domit an, sobald du es krieht host. Das alte Passwort bleibt weiterhin gültich.',
+'blocked-mailpassword' => 'Die von dir verwennte IP-Adress ist für das Ännre von Seite gesperrt. Um en Missbrauch zu verhinnre, woard die Möchlichkeit zu der Oonfordrung von en neie Passworte ewenfalls ooch gesperrt.',
+'eauthentsent' => 'En Bestätichungs-E-Mail woard an die oongebne Adress verschickt.
+
+Bevoar en E-Mail von annre Benutzer üwer die E-Mail-Funktion empfang sin kann, muss die Adress und ehre tatsächliche Zugehörigkeit zu dem Benutzerkonto earscht bestäticht sin. Bittschön befolliche die Hinweis in der Bestätichungs-E-Mail.',
+'throttled-mailpassword' => 'Do woard innerhalb von der letzte {{PLURAL:$1|Stund|$1 Stunde}} schon en Passwortzurücksetzung-E-Mail oongefordert. Um en Missbrauch von der Funktion zu verhinnre, kann nuar {{PLURAL:$1|emol in jede Stund|alle $1 Stunde}} en Passwortzurücksetzung-E-Mail oongefordert sin.',
+'mailerror' => 'Fehler beim Sende von der E-Mail: $1',
+'acct_creation_throttle_hit' => 'Besucher von das Wiki, wo dein IP-Adress verwenne, honn innerhalleb von der letzte Tooche {{PLURAL:$1|1 Benutzerkonto|$1 Benutzerkonte}} erstellt, was die maximal erlaubte Oonzoohl in die Zeitperiode ist.
+
+Besucher, wo die IP-Adress verwenne, könne momentan ken Benutzerkonte mehr erstelle.',
+'emailauthenticated' => 'Dein E-Mail-Adress woard am $2 um $3 Uhr bestäticht.',
+'emailnotauthenticated' => 'Dein E-Mail-Adress ist noch net bestäticht.
+Die follichende E-Mail-Funktione stehn earst noh erfollichreicher Bestätichung zur Verfüchung.',
+'noemailprefs' => 'Geb en E-Mail-Adress in den Instellunge an, damit die nhfollichende Funktione zur Verfüchung stehn.',
+'emailconfirmlink' => 'E-Mail-Adress konfirmiere und bestätiche (authentifiziere).',
+'invalidemailaddress' => 'Die E-Mail-Adress weard net akzeptiert, weil die en ungültiches Format (eventuell ungültiche Zeiche) scheint zu honn. Bittschön geb en korrekte Adress ren orrer leer das Feld.',
+'cannotchangeemail' => 'E-Mail-Adresse könne in dem Wiki net geändert sin.',
+'emaildisabled' => 'Üwer die Website könne ken E-Mails versandt werre.',
+'accountcreated' => 'Benutzerkonto erstellt',
+'accountcreatedtext' => 'Das Benutzerkonto für [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|Diskussion]]) woard mit Erfolch ingerichtet.',
+'createaccount-title' => 'Erstellung von en Benutzerkonto für {{SITENAME}}',
+'createaccount-text' => 'Do woard für dich en Benutzerkonto "$2" uff {{SITENAME}} ($4) erstellt. Das automatisch generierte Passwort für "$2" ist "$3". Du sollst dich jetzt oonmelde und das Passwort ännre.
+
+Falls das Benutzerkonto irrtümlich oongeleht woard, kannst du die Nachricht ignoriere.',
+'usernamehasherror' => 'Benutzernoome deerfe ken Rautzeiche enthalte',
+'login-throttled' => 'Du host keerzlich zu viele Oonmeldversuche unnernomm.
+Bittachön woort $1, bevoar du das erneit versuchst.',
+'login-abort-generic' => 'Dein Oonmeldung woor net erfollichreich – Abgebroch',
+'loginlanguagelabel' => 'Sproch: $1',
+'suspicious-userlogout' => 'Dein Abmeldeoonfroch woard verweichert, weil die vermutlich von en defekte Browser orrer en Cache-Proxy gesendt woard.',
+'createacct-another-realname-tip' => 'Der bürcherliche registriert Noome ist optional.
+Wenn du ihn oongebst, weard ear für die Zuordnung von der Beiträche verwendt.',
+'pt-login' => 'Oonmelde',
+'pt-login-button' => 'Oonmelde',
+'pt-createaccount' => 'Benutzerkonto erstelle',
+'pt-userlogout' => 'Abmelde',
+
+# Email sending
+'php-mail-error-unknown' => 'Unbekannter Fehler mit der Funktion mail() von PHP',
+'user-mail-no-addy' => 'Versuchte, en E-Mail ohne Oongäb von en E-Mail-Adress zu versende.',
+'user-mail-no-body' => 'Do woard versucht, en E-Mail mit en leere orrer zu koorze Textkörper zu versende.',
+
+# Change password dialog
+'changepassword' => 'Passwort ännre',
+'resetpass_announce' => 'Um die Oonmeldung abzuschliesse, musst du en neies Passwort festlehn.',
+'resetpass_header' => 'Passwort ännre',
+'oldpassword' => 'Altes Passwort:',
+'newpassword' => 'Neies Passwort:',
+'retypenew' => 'Passwort repetiere:',
+'resetpass_submit' => 'Passwort üwermittle und oonmelde',
+'changepassword-success' => 'Dein Passwort woard erfollichreich geännert!',
+'changepassword-throttled' => 'Du host keerzlich zu viele Oonmeldversuche unnernomm.
+Bittachön woort $1, bevoar du das erneit versuchst.',
+'resetpass_forbidden' => 'Das Passwort kann net geännert werre.',
+'resetpass-no-info' => 'Du musst dich oonmelde, um uff die Seit direkt zuzugreife.',
+'resetpass-submit-loggedin' => 'Passwort ännre',
+'resetpass-submit-cancel' => 'Abbreche',
+'resetpass-wrong-oldpass' => 'Ungültiches temporäres orrer aktuelles Passwort.
+Möchlicherweis host du dein Passwort schon erfollichreich geännert orrer en neies temporäres Passwort beantroocht.',
+'resetpass-recycled' => 'Bittschön setz dein Passwort uff en annres Passwort als dein aktuelles wos do jetzt host.',
+'resetpass-temp-emailed' => 'Du host dich mit em temporäre E-Mail-Code oongemeldt.
+Um die Oonmeldung abzuschliesse, musst du jetzt en neies Passwort festlehn:',
+'resetpass-temp-password' => 'Temporäres Passwort:',
+'resetpass-abort-generic' => 'Die Passwortännrung woard doorrich en Erweitrung abgebroch.',
+'resetpass-expired' => 'Dein Passwort ist abgeloof. Bittschön leh en neies Passwort zur Oonmeldung fest.',
+'resetpass-expired-soft' => 'Dein Passwort ist abgeloof und muss zurückgesetzt sin. Bittschön wähl jetzt en neies Passwort aus orrer klick uff "{{int:resetpass-submit-cancel}}", um das später zurückzusetze.',
+'resetpass-validity-soft' => 'Dein Passwort ist net gültich: $1
+
+Bittschön wähl jetzt en neies Passwort orrer klick uff „{{int:resetpass-submit-cancel}}“, um das später zurückzusetze.',
+
+# Special:PasswordReset
+'passwordreset' => 'Passwort zurücksetze',
+'passwordreset-text-one' => 'Füll das Formular aus, um den Passwort zurückzusetze.',
+'passwordreset-text-many' => '{{PLURAL:$1|Füll en von der Felder aus, um en temporäres Passwort por E-Mail zugesandt zu bekomme.}}',
+'passwordreset-legend' => 'Passwort zurücksetze',
+'passwordreset-disabled' => 'Das Zurücksetze von Passwörter woard in dem Wiki deaktiviert.',
+'passwordreset-emaildisabled' => 'Die E-Mail-Funktione worre uff dem Wiki deaktiviert.',
+'passwordreset-username' => 'Benutzernoome:',
+'passwordreset-domain' => 'Domain:',
+'passwordreset-capture' => 'Die E-Mail-Nachricht oonsiehn?',
+'passwordreset-capture-help' => 'Wenn du das Kästche oonkreizt, weard die E-Mail-Nachricht mit dem temporäre Passwort sowohl dir oongezeicht als ooch dem Benutzer zugesandt.',
+'passwordreset-email' => 'E-Mail-Adress',
+'passwordreset-emailtitle' => 'Benutzerkontoinformatione uff {{SITENAME}}',
+'passwordreset-emailtext-ip' => 'Jemand mit der IP-Adress $1, wahrscheinlich du sellebst, hot en Zurücksetzung von dein Passworts bei {{SITENAME}} oongefordert ($4). {{PLURAL:$3|Das follichend Benutzerkonto ist|Die follichende Benutzerkonte sind}}
+mit der E-Mail-Adress verknüpft:
+
+$2
+
+{{PLURAL:$3|Das temporär Passwort looft|Die temporäre Passwörter loofe}} innerhalb von {{PLURAL:$5|em Tooch|$5 Tooche}} ab.
+Du sollst dich oonmelde und en neies Passwort vergewe. Falls jemand annres die Oonfroch getätigt hot orrer du dich wieder an dein ursprüngliches Passwort erinnre kannst und das netmeh
+ännre möchst, kannst du die Nachricht ignoriere und weiterhin dein altes
+Passwort benutze.',
+'passwordreset-emailtext-user' => 'Benutzer $1 bei {{SITENAME}} hot en Zurücksetzung von dein Passwort bei {{SITENAME}} oongefordert ($4). {{PLURAL:$3|Das follichend Benutzerkonto ist|Die follichend Benutzerkonte sind}} mit der E-Mail-Adress verknüpft:
+
+$2
+
+{{PLURAL:$3|Das temporär Passwort looft|Die temporäre Passwörter loofe}} innerhalb von {{PLURAL:$5|em Tooch|$5 Tooche}} ab. Du sollst dich oonmelde und en neies Passwort vergewe. Falls jemand annres die Oonfroch getäticht hot orrer du dich wieder an den ursprüngliches Passwort erinnre kannst und das net ännre möchst, kannst du die Nachricht ignoriere und weiterhin dein altes Passwort benutze.',
+'passwordreset-emailelement' => 'Benutzernoome: $1
+Temporäres Passwort: $2',
+'passwordreset-emailsent' => 'En Passwortzurücksetzung-E-Mail woard versandt.',
+'passwordreset-emailsent-capture' => 'En Passwortzurücksetzung-E-Mail woard versandt, die unne oongezeicht weard.',
+'passwordreset-emailerror-capture' => 'Die unne oongezeichte Passwortzurücksetzungs-E-Mail woard generiert, awer der Versand an {{GENDER:$2|den Benutzer|die Benutzrin}} ist gescheitert: $1',
+
+# Special:ChangeEmail
+'changeemail' => 'E-Mail-Adress ännre',
+'changeemail-header' => 'E-Mail-Adress ännre',
+'changeemail-text' => 'Füll das Formular vollständig aus, um dein E-Mail-Adress zu ännre. Du musst dein Passwort oongewe, um die Ännrung zu bestätiche.',
+'changeemail-no-info' => 'Du musst dich oonmelde, um uff die Seit direkt zuzugreife.',
+'changeemail-oldemail' => 'Aktuell E-Mail-Adress:',
+'changeemail-newemail' => 'Neie E-Mail-Adress:',
+'changeemail-none' => '(ken)',
+'changeemail-password' => 'Dein {{SITENAME}}-Passwort:',
+'changeemail-submit' => 'E-Mail-Adress ännre',
+'changeemail-cancel' => 'Abbreche',
+'changeemail-throttled' => 'Du host keerzlich zu viele Oonmeldversuche unnernomm.
+Bittachön woort $1, bevoar du das erneit versuchst.',
+
+# Special:ResetTokens
+'resettokens' => 'Tokens zurücksetze',
+'resettokens-text' => 'Du kannst Tokens zurücksetze, wo dir den Zugriff uff bestimmte private Date ermöchliche, wo mit deinem Benutzerkonto hier verknüpft sind.
+
+Du sollst das nuar mache, wenn du verguckt die Tokens versiehntlich mit jemandem geteilt host orrer dein Konto gefährdet ist.',
+'resettokens-no-tokens' => 'Do gebts ken Tokens zum Zurücksetze.',
+'resettokens-legend' => 'Tokens zurücksetze',
+'resettokens-tokens' => 'Tokens:',
+'resettokens-token-label' => '$1 (aktueller Weart: $2)',
+'resettokens-watchlist-token' => 'Token für den Webfeed (Atom/RSS) von der [[Special:Watchlist|Ännrunge an Seite uff deiner Beobachtungslist]]',
+'resettokens-done' => 'Tokens zurückgesetzt.',
+'resettokens-resetbutton' => 'Ausgewählte Token ännre',
+
+# Edit page toolbar
+'bold_sample' => 'Fetter Text',
+'bold_tip' => 'Fetter Text',
+'italic_sample' => 'Kursiver Text',
+'italic_tip' => 'Kursiver Text',
+'link_sample' => 'Link-Text',
+'link_tip' => 'Interner Link',
+'extlink_sample' => 'http://www.example.com Link-Text',
+'extlink_tip' => 'Externer Link (http:// beachte)',
+'headline_sample' => 'Ebene-2-Üwerschrift',
+'headline_tip' => 'Ebene-2-Üwerschrift',
+'nowiki_sample' => 'Unformatierte Text hie renfüche',
+'nowiki_tip' => 'Unformatierter Text',
+'image_tip' => 'Dateilink',
+'media_tip' => 'Mediedatei-Link',
+'sig_tip' => 'Dein Signatur mit Zeitstempel',
+'hr_tip' => 'Horizontoole Linie (spoorsam verwenne)',
+
+# Edit pages
+'summary' => 'Zusammerfassung:',
+'subject' => 'Betreff:',
+'minoredit' => 'Nuar Klenichkeite woore verännert',
+'watchthis' => 'Die Seit beobachte',
+'savearticle' => 'Seit speichre',
+'preview' => 'Voarschau',
+'showpreview' => 'Vorschau zeiche',
+'showlivepreview' => 'Sofortiche Voarschau',
+'showdiff' => 'Ändrunge zeiche',
+'anoneditwarning' => "Du beoorbeitest die Seit unoongemeldet. Wenn du sie abspeichre tust, weard dein aktuelle Komputador IP-Adress in der Versionsgeschicht uffgezeichnet und ist domit unwiderruflich und kann '''öffentlich''' gesiehn sind.",
+'anonpreviewwarning' => "''Du bist net oongemeldet. Beim Speichre weard dein IP-Adress in der Versionsgeschicht uffgezeichnet.''",
+'missingsummary' => "'''Hinweis:''' Du host ken Zusammerfassung oongeb. Wenn du erneit uff \"{{int:savearticle}}\" klicke tust, weard dein Ännrung ohne Zusammerfassung üwernomm.",
+'missingcommenttext' => 'Dein Abschnitt enthält ken Text.',
+'missingcommentheader' => "'''Achtung:''' Du host ken Betreff/Üwerschrift ingeb. Wenn du erneit uff \"{{int:savearticle}}\" klicke tust, weard dein Beoorbeitung ohne Üwerschrift gespeichert.",
+'summary-preview' => 'Voarschau von der Zusammerfassungszeil:',
+'subject-preview' => 'Voarschau von der Zusammerfassungszeil:',
+'blockedtitle' => 'Benutzer ist gesperrt',
+'blockedtext' => '\'\'\'Dein Benutzernoome orrer dein IP-Adress woard gesperrt.\'\'\'
+
+Die Sperrung woard vom Administrator $1 doorrichgeführt.
+Als Grund woard \'\'$2\'\' oongeb.
+
+* Die Sperr ehr Beginn: $8
+* Die Sperr ehr End: $6
+* Die Sperr ehr betrifft: $7
+
+Du kannst $1 orrer en von der annre [[{{MediaWiki:Grouppage-sysop}}|Administratoren]] kontaktiere, um üwer die Sperr zu diskutiere.
+Du kannst die "E-Mail an den Benutzer"-Funktion net nutze, solang ken gültige E-Mail-Adress in dein [[Special:Preferences|Benutzerkonto-Einstellunge]] ingetroohn ist orrer die Funktion für dich gesperrt woard.
+Dein aktuell IP-Adresse ist $3 und die Sperrkennung lautet $5.
+Bittschön füch alle Informatione jeder Oonfroche hinzu, wo du stellst.',
+'autoblockedtext' => 'Dein IP-Adress woard automatisch gesperrt, wiel die von em annre Benutzer genutzt woard, wo von $1 gesperrt woard.
+Als Grund wurde angegeben:
+
+:\'\'$2\'\'
+
+* Die Sperr ehr Beginn: $8
+* Die Sperr ehr End: $6
+* Die Sperr betrifft: $7
+
+Du kannst $1 orrer en von der annre [[{{MediaWiki:Grouppage-sysop}}|Administratore]] kontaktiere, um üwer die Sperr zu diskutiere.
+
+Du kannst die "E-Mail an den Benutzer"-Funktion net nutze, solang ken gültiche E-Mail-Adress in dein [[Special:Preferences|Benutzerkonto-Einstellunge]] ingetrooht ist orrer die Funktion für dich gesperrt woard.
+
+Dein aktuell IP-Adress ist $3, und die Sperr-ID ist $5.
+Bittschön füch alle Informatione von jeder Oonfroch hinzu, wo du stelle tust.',
+'blockednoreason' => 'ken Begründung oongeb',
+'whitelistedittext' => 'Du musst dich $1, um Seite beoorbeite zu könne.',
+'confirmedittext' => 'Du musst dein E-Mail-Adress earscht bestätiche, bevoar du Beoorbeitunge doorrichführe kannst. Bittschön ergänz und bestätich dein E-Mail in den [[Special:Preferences|Einstellunge]].',
+'nosuchsectiontitle' => 'Abschnitt net gefund',
+'nosuchsectiontext' => 'Du host versucht, en Abschnitt zu beoorbeite, wo net existiert.
+Vermutlich woard er verschub orrer gelöscht, nohdem du die Seit uffgeruf host.',
+'loginreqtitle' => 'Oonmeldung erforderlich',
+'loginreqlink' => 'Oonmelde',
+'loginreqpagetext' => 'Du musst dich $1, um Seite lese könne.',
+'accmailtitle' => 'Passwort woard verschickt',
+'accmailtext' => "En zufällich generiertes Passwort für [[User talk:$1|$1]] woard an $2 versandt. Es kann uff der Seit ''[[Special:ChangePassword|Passwort ännre]]'' noh der Oonmeldung geännert sin.",
+'newarticle' => '(Nei)',
+'newarticletext' => "Du bist en Link zu en Seit noh gang, wo net voarhand ist.
+Um die Seit oonzulehn, trooh dein Text in das unnestehend Beoorbeitungsfeld ren (weitre Informatione uff der [$1 Hellefseit]).
+Soweit du fälschlicherweise hier bist, klick uff dein Browser sein Schaltfläch '''Retuar'''.",
+'anontalkpagetext' => "----''Dies Seit dient dozu, enem net oongemeldete Benutzer Nachrichte zu hinnerlosse. Es weard sein IP-Adress zur Identifizierung verwenndt. IP-Adresse könne von mehrere Benutzer gemeinsam verwendt sin. Wenn du mit den Kommentare uff der Seit nix oonfänge kannst, richte die sich vermutlich an en frühre Inhaber von deiner IP-Adresse und du kannst se ignoriere. Du kannst dir ooch en [[Special:UserLogin/signup|Benutzerkonto erstelle]] orrer dich [[Special:UserLogin|oonmelde]], um künftich Verwechslunge mit annre anonyme Benutzer zu vermeide.''",
+'noarticletext' => 'Die Seit dohie enthält momentan noch ken Text.
+Du kannst sie <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} beoorbeite]</span>,
+ehre Titel uff annre Seite [[Special:Search/{{PAGENAME}}|suche]]
+orrer die zugehöriche <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachte]</span>.',
+'noarticletext-nopermission' => 'Die Seit dohie enthält momentan noch ken Text.
+Du kannst sie <span class="plainlinks">[{{fullurl:{{FULLPAGENAME}}|action=edit}} beoorbeite]</span>,
+ehre Titel uff annre Seite [[Special:Search/{{PAGENAME}}|suche]]
+orrer die zugehöriche <span class="plainlinks">[{{fullurl:{{#special:Log}}|page={{FULLPAGENAMEE}}}} Logbücher betrachte]</span>.',
+'missing-revision' => 'Die Version $1 von der Seit mit der noomen "{{FULLPAGENAME}}" ist net voarhand.
+
+Der Fehler weard normalerweis von enem veraltete Link zur Versionsgeschicht von en Seit verursacht, wo zwischichzeitlich gelöscht woard.
+Enzelheite sind im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Lösch-Logbuch] einsehbar (visibel).',
+'userpage-userdoesnotexist' => 'Das Benutzerkonto „<nowiki>$1</nowiki>“ ist net voarhand. Bittschön prüf, ob du die Seit werklich erstelle/beoorbeite willst.',
+'userpage-userdoesnotexist-view' => 'Das Benutzerkonto "$1" ist net voarhand.',
+'blocked-notice-logextract' => '{{GENDER:$1|Der Benutzer|Die Benutzrin|Der Benutzer}} ist zurzeit gesperrt.
+Zur Information follicht en aktueller Auszuch aus dem Benutzersperr-Logbuch:',
+'clearyourcache' => "'''Hinweis:''' Leer nh dem Speichre den Browser-Cache, so das du die Ännrunge für se siehn kriehst.
+* '''Firefox/Safari:''' ''Umschalttast'' drücke und gleichzeitich ''Aktualisiere'' oonklicke orrer entweder ''Strg+F5'' orrer ''Strg+R'' (''⌘+R'' uff dem Mac) drücke
+* '''Google Chrome:''' ''Umschalttast+Strg+R'' (''⌘+Umschalttast+R'' uff dem Mac) drücke
+* '''Internet Explorer:''' ''Strg+F5'' drücke orrer ''Strg'' drücke und gleichzeitich ''Aktualisiere'' oonklicke
+* '''Opera:''' ''Extras → Internetspure lösche … → Individuelle Auswahl → Den komplette Cache lösche''",
+'usercssyoucanpreview' => "'''Hinweis:''' Benutz den „{{int:showpreview}}“-Knopp, um dein neies CSS voar dem Speichre zu testiere.",
+'userjsyoucanpreview' => "'''Hinweis:''' Benutz den „{{int:showpreview}}“-Knopp, um dein neies JavaScript voar dem Speichre zu testiere.",
+'usercsspreview' => "'''Beacht, dass du nur en Voarschau von dein Benutzer-CSS betrachte tust.'''
+'''Das woor noch net gespeichert!'''",
+'userjspreview' => "'''Beacht, dass du nuar en Voarschau von dein Benutzer-JavaScripts betrachte tust.'''
+'''Das woor noch net gespeichert!'''",
+'sitecsspreview' => "'''Beachte, dass du nuar en Voarschau von das CSS betrachte tust.'''
+'''Das woard noch net gespeichert!'''",
+'sitejspreview' => "'''Beacht, dass du nuar en Vorschau von das JavaScript betrachte tust.'''
+'''Das woor noch net gespeichert!'''",
+'userinvalidcssjstitle' => "'''Achtung:''' Die Benutzerowerfläch \"\$1\" existiert net. Bedenke, dass benutzerspezifisch .css- und .js-Seite mit em Klenbuchstoob oonfänge müsse, also beispielsweis ''{{ns:user}}:Mustermann/vector.css'' an Stell von ''{{ns:user}}:Mustermann/Vector.css''.",
+'updated' => '(Geännert)',
+'note' => "'''Hinweis:'''",
+'previewnote' => "'''Dies ist nuar en Voarschau.'''
+Die Seit woard noch net gespeichert!",
+'continue-editing' => 'Zum Beoorbeitungsfeld gehn',
+'previewconflict' => 'Die Voarschau gebt den Inhalt von das Textfeld uwe, wieder. So weard die Seit aussiehn, wenn du jetzt speicherst.',
+'session_fail_preview' => "'''Dein Bearbeitung konnt net gespeichert sin, weil Setzungsdate verloar gan sind.
+Bittschön versuch das erneit, indem du unner der follichende Textvoarschau noomo uff \"Seit speichre\" klicke tust.
+Sollt das Problem bestehn bleiwe, [[Special:UserLogout|meld dich ab]] und donoh wieder an.'''",
+'session_fail_preview_html' => "'''Dein Beoorbeitung konnt net gespeichert sin, weil Sitzungsdate verloar gang sind.'''
+
+''Weil in {{SITENAME}} das Speichre von reinem HTML aktiviert ist, woard die Voarschau ausgeblendet, um JavaScript-Attacke voarzubeiche.''
+
+'''Bittschön versuch das erneit, indem du unner der follichende Textvoarschau nohmo uff \"Seit speichre\" klicke tust.
+Sollt das Problem bestehn bleiwe, [[Special:UserLogout|meld dich ab]] und donoh wieder an.'''",
+'token_suffix_mismatch' => "'''Dein Beoorbeitung woard zurückgewies, do dein Browser Zeiche im Beoorbeite-Token verstümmelt hot.
+En Speichrung kann den Seiteinhalt zerstöre. Das geschieht bisweil doorrich die Benutzung von en anonyme Proxy-Dienst, wo fehlerhaft oorbeitet.'''",
+'edit_form_incomplete' => "'''Der Inhalt von das Beoorbeitungsformular hot den Server net vollständich erreicht. Bittschön prüf deine Bearbeitunge uff Vollständigkeit und versuch das erneit.'''",
+'editing' => 'Beoorbeite von „$1“',
+'creating' => 'Erstelle von „$1“',
+'editingsection' => 'Beoorbeite von „$1“ (Abschnitt)',
+'editingcomment' => 'Beoorbeite von "$1" (Abschnitt)',
+'editconflict' => 'Beoorbeitungskonflikt: $1',
+'explainconflict' => "Jemand anners hot die Seit geännert, nohdem du oongefäng host, sie zu beoorbeite.
+Das Textfeld do uwe enthält den aktuell Beoorbeitungsstand von der Seit.
+Das unnre Textfeld enthält dein Ändrunge.
+Bittschön füch dein Ändrungen in das Textfeld do uwe ren.
+'''Nuar''' der Inhalt von dem Textfeld do uwe weard gespeichert, wenn du uff „{{int:savearticle}}“ klicke tust.",
+'yourtext' => 'Dein Text',
+'storedversion' => 'Gespeicherte Version',
+'nonunicodebrowser' => "'''Achtung: Dein Browser kann Unicode-Zeiche net richtich veroorbeite.''' Es weard en Hellefsroutin rengesetzt, um dich zu erlaube, Seite sicher zu beoorbeite: Nicht-ASCII-Zeiche werre dabei im Beoorbeitungsfenster als hexadezimale Codes oongezeicht.",
+'editingold' => "'''Achtung: Du beoorbeitest en alte Version von der Seit. Sofern du sie speicherst, werre all neiere Versionen üwerschrieb.'''",
+'yourdiff' => 'Unnerschiede',
+'copyrightwarning' => "'''Bittschön kopier ken Webseite, die net dein eichne sind, benutz ken urheberrechtlich geschützte Werke ohne Erlaubnis von dem Urheber!'''<br />
+Du gebst uns hiermit dein Zusooch und Versprechung, dass du den Text '''sellebst verfasst''' host, dass der Text Allgemeingut '''(domínio público / public domain)''' ist, orrer dass der '''Urheber''' seine '''Zustimmung''' geb hot. Falls der Text schon woanners veröffentlicht woard, weis bittschön uff der Diskussionsseit druf hin.
+<i>Bittschön beachte, dass alle {{SITENAME}}-Beiträche automatisch unner der \"\$2\" stehn (sieh \$1 für Einzelheite). Falls du net möchst, dass dein Oorweit hier von anre verännert und verbreitet weard, dann klick net uff \"Seite speichre\".</i>",
+'copyrightwarning2' => "Bittschön beacht, dass all Beiträch zu {{SITENAME}} von annre Mitwerrekend beoorbeitet, geännert orrer gelöscht werre könne.
+Reich hie ken Texte ren, falls du net willst, dass die ohne Einschränkung geännert sin könne.
+
+Du bestätichst hiermit ooch, dass du die Texte sellebst geschrieb host orrer die von en gemeinfreie Quell kopiert host
+(weitre Einzelheite unner $1). '''ÜWERTRÄH OHNE GENEHMICHUNG KEN URHEBERRECHTLICH GESCHÜTZTE INHALTE!'''",
+'longpageerror' => "'''Fehler: Der Text, wo du speichre versucht host, ist {{PLURAL:$1|en Kilobyte|$1 Kilobyte}} gross. Das ist grösser als das erlaubte Maximum von {{PLURAL:$2|en Kilobyte|$2 Kilobyte}}.'''
+Der kann net gespeichert sin.",
+'readonlywarning' => "'''Achtung: Die Datebank woard für Woortungsoorbeite gesperrt, so dass dein Ännrunge derzeit könne net gespeichert sin.
+Sichre den Text bittschön lokal uff deim Komputadoar und versuch zu en spätre Zeitpunkt, die Ännrunge zu üwertroon.'''
+
+Grund für die Sperre: $1",
+'protectedpagewarning' => "'''Achtung: Die Seit woard geschützt. Nuar Benutzer mit Administratoarrechte könne die Seit beoorbeite.'''
+Zu der Information follicht der aktuell Logbuchintrooch:",
+'semiprotectedpagewarning' => "'''Halbsperrung:''' Die Seit woard so geschützt, dass nuar registrierte Benutzer die ännre könne.
+Zu der Information follicht der aktuelle Logbuchintrooch:",
+'cascadeprotectedwarning' => "'''Achtung:''' Die Seit woard so geschützt, dass die norre doorrich Benutzer mit Administratoarrechte beoorbeitet werre kann. Sie ist in die {{PLURAL:$1|follichend Seit|follichende Seite}} ingebund, die mittels von der Kaskadesperroption geschützt {{PLURAL:$1|ist|sind}}:",
+'titleprotectedwarning' => "'''Achtung: Die Seiteerstellung woard so geschützt, dass norre Benutzer mit [[Special:ListGroupRights|spezielle Rechte]] die Seit erstelle könne.'''
+Zu der Information follicht der aktuelle Logbuchintrooch:",
+'templatesused' => '{{PLURAL:$1|Die folliched Voarlooche weard|Follichende Voarlooche werre}} uff die Seit verwenndt:',
+'templatesusedpreview' => '{{PLURAL:$1|Die follichend Voarlooche weard|Follichende Voarlooche werre}} von der Seitevoarschau verwendt:',
+'templatesusedsection' => '{{PLURAL:$1|Die follichend Voarlooche weard|Follichend Voarlooche werre}} in dem Abschnitt verwent:',
+'template-protected' => '(schreibgeschützt)',
+'template-semiprotected' => '(schreibgeschützt für unoongemeldete und neie Benutzer)',
+'hiddencategories' => 'Die Seit ist Mitglied von {{PLURAL:$1|1 versteckter Kategorie|$1 versteckte Kategoriee}}:',
+'nocreatetext' => 'Uff {{SITENAME}} woard das Erstelle von neier Seite ingeschränkt. Du kannst bestehnde Seite ännre orrer dich [[Special:UserLogin|oonmelde]].',
+'nocreate-loggedin' => 'Du host net die erforderliche Berechtichung, um neie Seite erstelle zu könne.',
+'sectioneditnotsupported-title' => 'Die Beoorbeitung von Abschnitte weard net unnerstützt',
+'sectioneditnotsupported-text' => 'Die Beoorbeitung von Abschnitte weard uff der Beoorbeitungsseit net unnerstützt.',
+'permissionserrors' => 'Berechtichungsfehler',
+'permissionserrorstext' => 'Du bist net berechticht, die Aktion auszuführe. {{PLURAL:$1|Grund|Gründe}}:',
+'permissionserrorstext-withaction' => 'Du bist aus {{PLURAL:$1|dem follichend Grund|den follichende Gründe}} net berechticht, $2:',
+'recreate-moveddeleted-warn' => "'''Achtung: Du erstellst en Seit, wo schon früher gelöscht woor.'''
+
+Bitte prüf sorrichfältich, ob die erneite Seiteerstellung den Richtlinie entsprecht.
+Zu deiner Information follicht das Lösch- und Verschiebungs-Logbuch mit der Begründung für die voarhergehnd Löschung:",
+'moveddeleted-notice' => 'Die Seit woard gelöscht. Zur Information follicht das Lösch- und Verschiebungs-Logbuch von der Seit.',
+'log-fulllog' => 'Alle Logbuchinträge ansiehn',
+'edit-hook-aborted' => 'Die Beoorbeitung woard ohne Erklärung doorrich en Schnittstell abgebroche.',
+'edit-gone-missing' => 'Die Seit konnt net aktualisiert sin.
+Die woard oonscheinend gelöscht.',
+'edit-conflict' => 'Beoorbeitungskonflikt.',
+'edit-no-change' => 'Dein Beoorbeitung woard ignoriert, do ken Ännrung an dem Text voargenomm woard.',
+'postedit-confirmation' => 'Dein Beoorbeitung woard gespeichert.',
+'edit-already-exists' => 'Die neie Seit konnt net erstellt werre, do sie bereits voarhand ist.',
+'defaultmessagetext' => 'Standardtext',
+'content-failed-to-parse' => 'Parsierung von den Inhalt $2 für Modell $1 fehlgeschlohn: $3',
+'invalid-content-data' => 'Ungültiche Inhaltsdate',
+'content-not-allowed-here' => 'Der Inhalt "$1" ist uff der Seit [[$2]] net erlaubt',
+'editwarning-warning' => 'Das Verlosse von der Seit kann dozu führe, dass dein Ännrungen verloar gehn.
+Wenn du oongemeldt bist, kannst du das Oonzeiche von der Warnung im Bereich „{{int:prefs-editing}}“ deiner Instellunge abschalte.',
+'editpage-notsupportedcontentformat-title' => 'Das Inhaltsformat weard net unnerstützt',
+'editpage-notsupportedcontentformat-text' => 'Das Inhaltsformat $1 weard vom Inhaltsmodell $2 net unnerstützt.',
+
+# Content models
+'content-model-wikitext' => 'Wikitext',
+'content-model-text' => 'Klartext',
+'content-model-javascript' => 'JavaScript',
+'content-model-css' => 'CSS',
+
+# Parser/template warnings
+'expensive-parserfunction-warning' => "'''Achtung:''' Die Seit enthält zu viele Aufrufe uffwändicher Parserfunktione.
+
+Die därref nemehr als wie $2 {{PLURAL:$2|Uffruf|Uffrufe}} honn, do {{PLURAL:$1|ist aktuell $1 Uffruf|sind aktuell $1 Uffrufe}}.",
+'expensive-parserfunction-category' => 'Seite, wo uffwändiche Parserfunktione zu oft uffrufe',
+'post-expand-template-inclusion-warning' => 'Warnung: Die Gröss ingebundner Voarlooche ist zu gross, eniche Voarlooche könne net ingebund sin.',
+'post-expand-template-inclusion-category' => 'Seite, in denen die maximale Grösse ingebundner Voarlooche üwerschritt ist',
+'post-expand-template-argument-warning' => "'''Warnung:''' Die Seit enthält mindestens en Parameter in ener Voarlooche, wo expandiert zu gross ist. Die Parameter werre ignoriert.",
+'post-expand-template-argument-category' => 'Seite mit ignorierte Voarloocheparameter',
+'parser-template-loop-warning' => 'Voarloochschleif entdeckt: [[$1]]',
+'parser-template-recursion-depth-warning' => 'Voarloocherekursionstiefgrenz üwerschritt ($1)',
+'language-converter-depth-warning' => 'Sprochkonvertertieflimit üwerschritt ($1)',
+'node-count-exceeded-category' => 'Seite, wo die Knoteoonzoohl üwerschritt honn',
+'node-count-exceeded-warning' => 'Die Seit hot die Knotepunktoonzoohl üwerschritt.',
+'expansion-depth-exceeded-category' => 'Seite, wo die Expansionstiefe überschritt honn',
+'expansion-depth-exceeded-warning' => 'Die Seit hot die Expansionstiefe üwerschritt.',
+'parser-unstrip-loop-warning' => 'Zirkelbezuch festgestellt',
+'parser-unstrip-recursion-limit' => 'Rekursionsgrenz beim Ufflöse üwerschritt ($1)',
+'converter-manual-rule-error' => 'Bei der manuelle Sprochkonvertierungsrechel woard en Fehler entdeckt.',
+
+# "Undo" feature
+'undo-success' => 'Die Beoorbeitung kann rückgänchig gemacht werre.
+Bittschön prüf den Vergleich do unne, um sicherzustelle, dass du das tun möchst, und speichre dann do unne deine Ändrunge, um die Beoorbeitung rückgängig zu mache.',
+'undo-failure' => 'Die Ännrung konnt net rückgängich gemacht sin, weil der betroffne Abschnitt zwischenzeitlich verännert woard.',
+'undo-norev' => 'Die Beorbeitung konnt net rückgängich gemacht sin, wil die net voarhand ist orrer gelöscht woard.',
+'undo-nochange' => 'Anscheinnd woard die Beoorbeitung schon rückgängich gemacht.',
+'undo-summary' => 'Ändrung $1 von [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskussion]]) rückgängich gemacht.',
+'undo-summary-username-hidden' => 'Ännrung $1 von en versteckte Benutzer rückgängich gemacht.',
+
+# Account creation failure
+'cantcreateaccounttitle' => 'Das Benutzerkonto kann net erstellt sin',
+'cantcreateaccount-text' => "Die Erstellung von en Benutzerkonto raus von der IP-Adresse '''($1)''' woor doorrich [[User:$3|$3]] gesperrt.
+
+Grund der Sperr: ''$2''",
+'cantcreateaccount-range-text' => "Das Erstell von Benutzerkonte von IP-Adressen im Bereich '''$1''', wo dein IP-Adress ('''$4''') enthält, woor von [[User:$3|$3]] gesperrt.
+
+Der oongebne Grund von $3 laut: ''$2''",
+
+# History pages
+'viewpagelogs' => 'Logbücher von der Seit oonzeiche',
+'nohistory' => 'Zu der Seit ist keh Versionsgeschicht voarhand.',
+'currentrev' => 'Aktuelle Version',
+'currentrev-asof' => 'Aktuelle Version vom $2, $3 Uhr',
+'revisionasof' => 'Version vom $2, $3 Uhr',
+'revision-info' => 'Version vom $4, $5 Uhr von $2',
+'previousrevision' => '← Nächstältre Version',
+'nextrevision' => 'Nächstjüngre Version →',
+'currentrevisionlink' => 'Aktuelle Version',
+'cur' => 'Aktuell',
+'next' => 'Nächste',
+'last' => 'Voarheriche',
+'page_first' => 'Oonfang',
+'page_last' => 'letzte',
+'histlegend' => 'Zur Oonzeiche von der Ännrunge enfach die zu vergleichende Versione auswähle und die Schaltfläche „{{int:compareselectedversions}}“ klicke.<br />
+* ({{int:cur}}) = Unnerschied zur aktuelle Version, ({{int:last}}) = Unnerschied zur voarheriche Version
+* Uhrzeit/Datum = Version zu der Zeit, Benutzernoome/der Beoorbeiter sein IP-Adress, {{int:minoreditletter}} = Klen Ännrung',
+'history-fieldset-title' => 'In der Versionsgeschicht suche',
+'history-show-deleted' => 'Nuar gelöschte Versione zeiche',
+'histfirst' => 'ältest',
+'histlast' => 'neiest',
+'historysize' => '({{PLURAL:$1|1 Byte|$1 Bytes}})',
+'historyempty' => '(leer)',
+
+# Revision feed
+'history-feed-title' => 'Versionsgeschicht',
+'history-feed-description' => 'Versionsgeschichte von der Seit in {{SITENAME}}',
+'history-feed-item-nocomment' => '$1 am $3 um $4 Uhr',
+'history-feed-empty' => 'Die verlangte Seit existiert net. Vielleicht woard se abgewischt orrer verschubt. [[Special:Search|Doorrichsuch]] {{SITENAME}} für passende neie Seite.',
+
+# Revision deletion
+'rev-deleted-comment' => '(Zusammerfassung entfernt)',
+'rev-deleted-user' => '(Benutzernoome entfernt)',
+'rev-deleted-event' => '(Logbuchaktion entfernt)',
+'rev-deleted-user-contribs' => '[Benutzernoome orrer IP-Adress entfernt – Beoorbeitung aus Beiträche versteckt]',
+'rev-deleted-text-permission' => "Die Version woard '''ausgewischt'''.
+Nähre Oongäb zum Auswischvoargang sowie en Begründung stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Auswisch-Logbuch].",
+'rev-deleted-text-unhide' => "Die Version woard '''ausgewischt'''.
+Nähre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Auswisch-Logbuch].
+Du kannst [$1 die Version einsiehn], insoweit du möchst.",
+'rev-suppressed-text-unhide' => "Die Version woard '''unnerdrückt'''.
+Nähre Oongäb stehn im [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].
+Du kannst [$1 die Version einsiehn], insoweit du möchst.",
+'rev-deleted-text-view' => "Die Version woard '''abgewischt'''.
+Du kannst se einsiehn, insofern du möchst. Nähre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwasch-Logbuch].",
+'rev-suppressed-text-view' => "Die Version woard '''unnerdrückt'''.
+Du kannst sie einsiehn, sofern du möchst. Nähre Oongäb stehn im [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].",
+'rev-deleted-no-diff' => "Du kannst den Unnerschied net betrachte, weil ene von der Versione '''abgewischt''' woard.
+Details stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwasch-Logbuch].",
+'rev-suppressed-no-diff' => "Du kannst den Versionsunnerschied net betrachte, weil ene von der Versione '''abgewischt''' woard.",
+'rev-deleted-unhide-diff' => "Ene von der Versione von das Versionsunnerschied woard '''abgewischt'''.
+Nähre Oongä stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwäsch-Logbuch].
+Du kannst [$1 die Versionsunnerschied insiehn], soweit du möchst.",
+'rev-suppressed-unhide-diff' => "En von der Versione von das Versionsunnerschied woard '''unnerdrückt'''.
+Näehre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].
+Du kannst [$1 den Versionsunnerschied insiehn], soweit du möchst.",
+'rev-deleted-diff-view' => "En Version von das Versionsunnerschied woard '''abgewischt'''.
+Du kannst den Versionsunnerschied insiehn, soweit du möchst. Näehre Oongäb stehn im [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwisch-Logbuch].",
+'rev-suppressed-diff-view' => "En von der Versione von das Versionsunnerschiede woard '''unnerdrückt'''.
+Du kannst die Versionsunnerschied insiehn, soweit du möchst. Näehre Oongäb stehn im [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} Unnerdrückungs-Logbuch].",
+'rev-delundel' => 'zeiche/verstecke',
+'rev-showdeleted' => 'Zeich',
+'revisiondelete' => 'Versione abwische/wiederhearstelle',
+'revdelete-nooldid-title' => 'Kein Version oongeb',
+'revdelete-nooldid-text' => 'Du host entweder ken Version oongeb, uff die die Aktion ausgeführt win soll, die gewählte Version ist net voarhand orrer du versuchst, die aktuelle Version zu entferne.',
+'revdelete-no-file' => 'Die oongebne Datei ist net voarhand.',
+'revdelete-show-file-confirm' => 'Bist du sicher, dass du die gelöschte Version von der Datei "<nowiki>$1</nowiki>" vom $2 um $3 Uhr oonsiehn willst?',
+'revdelete-show-file-submit' => 'Jo',
+'revdelete-selected-text' => 'Ausgewählte {{PLURAL:$1|Version|Versione}} von [[:$2]]:',
+'revdelete-selected-file' => 'Ausgewählte {{PLURAL:$1|Dateiversion|Dateiversione}} von [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Gewählter Logbucheintrooch|Gewählte Logbucheinträche}}:',
+'revdelete-text-text' => 'Gelöschte Versione verbleibe noch in der Versionsgeschicht, jedoch sind Tele von ihre Inhalt für die Öffentlichkeit net zugänglich.',
+'revdelete-text-file' => 'Gelöschte Dateiversione verbleibe noch in der Datei-Versionsgeschicht, jedoch sind Tele von ehre Inhalt für die Öffentlichkeit net zugänglich.',
+'logdelete-text' => 'Gelöschte Logbucheinträch verbleibe noch in den Logbücher, jedoch sind Tele von ehre Inhalts für die Öffentlichkeit net zugänglich.',
+'revdelete-text-others' => 'Annre Administratore uff {{SITENAME}} honn noch Zugriff uff den versteckte Inhalt und könne ehn ooch mithelfe um der Spezialseit wiederhearstelle, solang ken zusätzliche Beschränkunge festgeleht sin.',
+'revdelete-confirm' => 'Bittschön bestätich, dass du beabsichtichst, das zu tun, die Konsequenze verstehst und es in Üwereinstimmung mit den [[{{MediaWiki:Policy-url}}|Richtlinie]] tust.',
+'revdelete-suppress-text' => "Unnerdrückung sollte '''nuar''' in den follichende Fälle voargenomm sin:
+* Potentiell beleidichende Informatione
+* Unangebrachte persönliche Informatione
+*: ''Adresse, Telefonnummer, Sozialversichrungsnummer, und so weiter''",
+'revdelete-legend' => 'Setz der Sichtbarkeitseinschränkunge',
+'revdelete-hide-text' => 'Der Version sein Text',
+'revdelete-hide-image' => 'Dateiinhalt verstecke',
+'revdelete-hide-name' => 'Logbuchaktion und Ziel verstecke',
+'revdelete-hide-comment' => 'Beoorbeitungszusammerfassung',
+'revdelete-hide-user' => 'Benutzernoome/IP-Adress von der Beoorbeiter',
+'revdelete-hide-restricted' => 'Daten sowohl voar Administratore als wie ooch annre Benutzer unnerdrücke',
+'revdelete-radio-same' => '(nicht ännre)',
+'revdelete-radio-set' => 'Versteckt',
+'revdelete-radio-unset' => 'Sichtbar',
+'revdelete-suppress' => 'Grund von der Abwischung ooch voar Administratore verstecke',
+'revdelete-unsuppress' => 'Inschränkunge für wiederhergestellte Versione uffhebe',
+'revdelete-log' => 'Grund:',
+'revdelete-submit' => 'Uff gewählte {{PLURAL:$1|Version|Versione}} anwenne',
+'revdelete-success' => "'''Die Versionsoonsicht woard aktualisiert.'''",
+'revdelete-failure' => "'''Die Versionssichtbarkeit konnt net aktualisiert sin:'''
+$1",
+'logdelete-success' => "'''Logbuchoonsicht erfollichreich geännert.'''",
+'logdelete-failure' => "'''Logbuchsichtbarkeit kann net geännert sin:'''
+$1",
+'revdel-restore' => 'Sichtbarkeit ännre',
+'pagehist' => 'Versionsgeschicht',
+'deletedhist' => 'Ausgewischte Versione',
+'revdelete-hide-current' => 'Fehler beim Verstecke von der Eintrooch vom $1, $2 Uhr: Das ist die aktuelle Version.
+Sie kann net versteckt sin.',
+'revdelete-show-no-access' => 'Fehler beim Oonzeiche von der Eintrooch vom $1, $2 Uhr: Der Eintrooch woard als "eingeschränkt" markiert.
+Du host druf ken Zugriff.',
+'revdelete-modify-no-access' => 'Fehler beim Beoorbeite von der Eintroohc vom $1, $2 Uhr: Der Eintrooch woard als wie "eingeschränkt" markiert.
+Du host druf ken Zugriff.',
+'revdelete-modify-missing' => 'Fehler beim Beoorbeite von ID $1: Es fehlt in der Datebank!',
+'revdelete-no-change' => "'''Warnung:''' Der Eintrooch vom $1, $2 Uhr besitzt schon die gewünschte Sichtbarkeitseinstellunge.",
+'revdelete-concurrent-change' => 'Fehler beim Beoorbeite von der Eintrooch vom $1, $2 Uhr: Es scheint, als ob der Status von jemandem geännert woard, bevoar du voarhast, ihn zu beoorbeite.
+Bitte prüf die Logbücher.',
+'revdelete-only-restricted' => 'Fehler beim Verstecke von der Eintrooch vom $1, $2 Uhr: Du kannst ken Eintrooch voar Administratore verstecke, ohne en der annre Oonsichtsoptione gewählt zu hoon.',
+'revdelete-reason-dropdown' => '*Allgemeine Abwischgründe
+** Urheberrechtsverletzung
+** Unoongebrachte Kommentare orrer persönliche Informatione
+** Unoongebrachter Benutzernoome
+** Potentiell beleidichende Informatione',
+'revdelete-otherreason' => 'Annre/ergänzender Grund:',
+'revdelete-reasonotherlist' => 'Annrer Grund',
+'revdelete-edit-reasonlist' => 'Abwischgründe beoorbeite',
+'revdelete-offender' => 'Der Version sein Autor:',
+
+# Suppression log
+'suppressionlog' => 'Oversight-Logbuch',
+'suppressionlogtext' => 'Das ist das Logbuch der Oversight-Aktione (Ännrunge von der Sichtbarkeit von Versione, Beoorbeitungskommentare, Benutzernoome und Benutzersperre).
+Sieh die [[Special:BlockList|List von der gesperrte IP-Adresse und Benutzernoome]] für aktuelle Sperre.',
+
+# History merging
+'mergehistory' => 'Versionsgeschichte vereine',
+'mergehistory-header' => 'Mit der Spezialseit kannst du die Versionsgeschicht von en Ursprungsseit mit der Versionsgeschicht von en Zielseit vereine.
+Stell sicher, dass die Versionsgeschicht von en Seit historisch korrekt ist.',
+'mergehistory-box' => 'Versionsgeschichte zwooier Seite vereine',
+'mergehistory-from' => 'Uarsprungsseit:',
+'mergehistory-into' => 'Zielseit:',
+'mergehistory-list' => 'Versione, wo vereinigt sin könne',
+'mergehistory-merge' => 'Die follichende Versione von "[[:$1]]" könne noh "[[:$2]]" üwertroon sin. Markier die Version, bis zu der (einschliesslich) die Versione üwertroon sin solle. Bittschön beacht, dass die Nutzung von der Navigationslink die Auswahl zurücksetzt.',
+'mergehistory-go' => 'Zeich Versione, wo vereinicht sin könne',
+'mergehistory-submit' => 'Vereinich Versione',
+'mergehistory-empty' => 'Do könne ken Versione vereinicht sin.',
+'mergehistory-success' => '{{PLURAL:$3|1 Version|$3 Versione}} von "[[:$1]]" erfollichreich noh „[[:$2]]“ vereinicht.',
+'mergehistory-fail' => 'Versionsvereinichung net möchlich, bittschön prüf die Seit und die Zeitoongäb.',
+'mergehistory-no-source' => 'Uarsprungsseit "$1" ist net voarhand.',
+'mergehistory-no-destination' => 'Zielseit "$1" ist net voarhand.',
+'mergehistory-invalid-source' => 'Uarsprungsseit muss en gülticher Seitnoome sin.',
+'mergehistory-invalid-destination' => 'Zielseit muss en gülticher Seitnoome sin.',
+'mergehistory-autocomment' => '"[[:$1]]" vereinicht noh "[[:$2]]"',
+'mergehistory-comment' => '"[[:$1]]" vereinicht noh "[[:$2]]": $3',
+'mergehistory-same-destination' => 'Ausgangs- und Zielseit deerfe net identisch sin',
+'mergehistory-reason' => 'Grund:',
+
+# Merge log
+'mergelog' => 'Vereinichungs-Logbuch',
+'pagemerge-logentry' => 'vereinichte [[$1]] in [[$2]] (Versione bis $3)',
+'revertmerge' => 'Vereinichung rückgängich mache',
+'mergelogpagetext' => 'Das ist das Logbuch von der vereinichte Versionsgeschichte.',
+
+# Diffs
+'history-title' => '$1: Versionsgeschicht',
+'difference-title' => '$1: Unnerschied zwischich den Versione',
+'difference-title-multipage' => '$1 und $2: Unnerschied zwischich den Seite',
+'difference-multipage' => '(Unnerschied zwischich Seite)',
+'lineno' => 'Zeil $1:',
+'compareselectedversions' => 'Gewählte Versione vergleiche',
+'showhideselectedversions' => 'Gewählte Versione zeiche/verstecke',
+'editundo' => 'rückgängich mache',
+'diff-empty' => '(ken Unnerschied)',
+'diff-multi-sameuser' => '({{PLURAL:$1|En dozwischerlehnde Version|$1 dozwischerlehnde Versione}} von der selwiche Benutzer werre net oongezeicht)',
+'diff-multi-otherusers' => '({{PLURAL:$1|En dozwischerlehnd Version|$1 dozwischerlehnde Versione}} von {{PLURAL:$2|en annre Benutzer|$2 Benutzer}} werre net oongezeicht)',
+'diff-multi-manyusers' => '({{PLURAL:$1|$1 dozwischerlehnde Versione}} von meahr als {{PLURAL:$2|$2 Benutzer}}, die net oongezeicht sin)',
+'difference-missing-revision' => '{{PLURAL:$2|Ein Version|$2 Versione}} der Unnerschiedsoonzeich ($1) {{PLURAL:$2|woard|worre}} net gefund.
+
+Der Fehler weard normalerweis von en veraltete Link zur Versionsgeschicht von en Seit verursacht, wo zwischichzeitlich abgewischt woard.
+Einzelheite sind im [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Abwasch-Logbuch] voarhand.',
+
+# Search results
+'searchresults' => 'Suchergebnisse',
+'searchresults-title' => 'Suchergebnisse für „$1“',
+'toomanymatches' => 'Die Oonzoohl von der Suchergebnisse ist zu gross, bittschön versuch en annre Abfroch.',
+'titlematches' => 'Üwereinstimmunge mit Seitetitle',
+'textmatches' => 'Üwereinstimmunge mit Inhalte',
+'notextmatches' => 'Ken Üwereinstimmunge mit Inhalte',
+'prevn' => '{{PLURAL:$1|voarhericher|vorheriche $1}}',
+'nextn' => '{{PLURAL:$1|nächster|nächste $1}}',
+'prevn-title' => '{{PLURAL:$1|Voarheriches Ergebnis|Vorherige $1 Ergebnisse}}',
+'nextn-title' => '{{PLURAL:$1|Voarheriches Ergebnis|Vorherige $1 Ergebnisse}}',
+'shown-title' => 'Zeiche $1 {{PLURAL:$1|Ergebnis|Ergebnisse}} pro Seit',
+'viewprevnext' => 'Zeiche ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => "'''Es gebt en Seit, wo den Noome \"[[:\$1]]\" hot.'''
+{{PLURAL:\$2|0=|Sieh ooch die annre Suchresultate wo gefund woore.}}",
+'searchmenu-new' => '<strong>Erstell die Seit "[[:$1]]" in dem Wiki.</strong> {{PLURAL:$2|0=|Sieh ooch die üwer dein Such gefundne Seit.|Sieh ooch die gefundne Suchergebnisse.}}',
+'searchprofile-articles' => 'Inhaltsseite',
+'searchprofile-project' => 'Helleft - und Projektseite',
+'searchprofile-images' => 'Multimedia',
+'searchprofile-everything' => 'Alles',
+'searchprofile-advanced' => 'Erweitert',
+'searchprofile-articles-tooltip' => 'Suche in $1',
+'searchprofile-project-tooltip' => 'Such in $1',
+'searchprofile-images-tooltip' => 'Noh Dateie suche',
+'searchprofile-everything-tooltip' => 'Gesamte Inhalt doorrichsuche (inklusive Diskussionsseite)',
+'searchprofile-advanced-tooltip' => 'Such in weitre Noomeräume',
+'search-result-size' => '$1 ({{PLURAL:$2|1 Wort|$2 Wörter}})',
+'search-result-category-size' => '{{PLURAL:$1|1 Seit|$1 Seite}} ({{PLURAL:$2|1 Unnerkategorie|$2 Unnerkategorie}}, {{PLURAL:$3|1 Datei|$3 Dateie}})',
+'search-result-score' => 'Relevanz: $1 %',
+'search-redirect' => '(Weiterleitung von „$1“)',
+'search-section' => '(Abschnitt $1)',
+'search-file-match' => '(treffende Dateiinhalte)',
+'search-suggest' => 'Host du gemeent „$1“?',
+'search-interwiki-caption' => 'Schwesterprojekte',
+'search-interwiki-default' => 'Ergebnisse von $1:',
+'search-interwiki-more' => '(weitre)',
+'search-relatedarticle' => 'Verwandte',
+'searcheverything-enable' => 'In alle Noomeräume suche',
+'searchrelated' => 'verwandt',
+'searchall' => 'alle',
+'showingresults' => "Hier {{PLURAL:$1|ist '''1''' Ergebnis|sind '''$1''' Ergebnisse}}, beginnend mit Nummer '''$2.'''",
+'showingresultsinrange' => 'Unne {{PLURAL:$1|weard <strong>en</strong> Ergebnis|werre bis zu <strong>$1</strong> Ergebnisse}} im Bereich <strong>$2</strong> bis <strong>$3</strong> oongezeicht.',
+'showingresultsnum' => "Hier {{PLURAL:$3|ist '''1''' Ergebnis|sind '''$3''' Ergebnisse}}, beginnend mit Nummer '''$2.'''",
+'showingresultsheader' => "{{PLURAL:$5|Ergebnis '''$1''' von '''$3'''|Ergebnisse '''$1–$2''' von '''$3'''}} für '''$4'''",
+'search-nonefound' => 'Zu deiner Suchoonfroch wore ken Ergebnisse gefund.',
+'powersearch-legend' => 'Erweiterte Such',
+'powersearch-ns' => 'Such in Noomeräume:',
+'powersearch-redir' => 'Weiterleitunge oonzeiche',
+'powersearch-togglelabel' => 'Wähl aus:',
+'powersearch-toggleall' => 'All',
+'powersearch-togglenone' => 'Ken',
+'search-external' => 'Externe Such',
+'searchdisabled' => 'Die {{SITENAME}}-Such ist deaktiviert. Du kannst unnerdessen mit Google suche. Bittschön bedenke, dass der Suchindex von {{SITENAME}} veraltet sin kann.',
+'search-error' => 'Bei der Such ist en Fehler uffgetret: $1',
+
+# Preferences page
+'preferences' => 'Einstellunge',
+'mypreferences' => 'Instellunge',
+'prefs-edits' => 'Oonzoohl von der Bearbeitunge:',
+'prefsnologintext2' => 'Du musst dich $1, um Benutzereinstellunge festzulehn.',
+'prefs-skin' => 'Benutzerowerfläche',
+'skin-preview' => 'Vorschau',
+'datedefault' => 'Standard',
+'prefs-beta' => 'Beta-Funktione',
+'prefs-datetime' => 'Datum und Zeit',
+'prefs-labs' => 'Alpha-Funktione',
+'prefs-user-pages' => 'Benutzerseite',
+'prefs-personal' => 'Benutzerdate',
+'prefs-rc' => 'Letzte Ännrunge',
+'prefs-watchlist' => 'Beobachtungslist',
+'prefs-watchlist-days' => 'Maximale Oonzoohl von der inbezochne Tooche:',
+'prefs-watchlist-days-max' => 'Maximal {{PLURAL:$1|en Tooch|$1 Tooche}}',
+'prefs-watchlist-edits' => 'Maximal Oonzoohl von der oongezeichte Inträche:',
+'prefs-watchlist-edits-max' => 'Maximal 1.000 Inträche',
+'prefs-watchlist-token' => 'Token von der Beobachtungslist:',
+'prefs-misc' => 'Verschiednes',
+'prefs-resetpass' => 'Passwort ännre',
+'prefs-changeemail' => 'E-Mail-Adress ännre',
+'prefs-setemail' => 'E-Mail-Adress festlehn',
+'prefs-email' => 'E-Mail-Optione',
+'prefs-rendering' => 'Aussiehn',
+'saveprefs' => 'Instellunge speichre',
+'restoreprefs' => 'Alle Standardinstellunge wiederhearstelle (in alle Abschnitte)',
+'prefs-editing' => 'Beoorbeite',
+'rows' => 'Zeile:',
+'columns' => 'Spalte:',
+'searchresultshead' => 'Such',
+'stub-threshold' => 'Linkformatierung <a href="#" class="stub">klen Seite</a> (in Bytes):',
+'stub-threshold-disabled' => 'Deaktiviert',
+'recentchangesdays' => 'Oonzoohl von der standardmässich inbezochne Tooche:',
+'recentchangesdays-max' => 'Maximal $1 {{PLURAL:$1|Tooch|Tooche}}',
+'recentchangescount' => 'Oonzoohl von der standardmässich oongezeichte Beoorbeitunge:',
+'prefs-help-recentchangescount' => 'Das umfasst die List von der letzte Ännrunge, die Versionsgeschichte und die Logbücher.',
+'prefs-help-watchlist-token2' => 'Das ist der geheime Schlüssel zum Webfeed von deiner Beobachtungslist.
+Jeder, wo ihn kennt, kann dein Beobachtungslist lese. Tue ihn, dodrum, net teile.
+[[Special:ResetTokens|Klick hier, wenns du ihn zurücksetze musst]].',
+'savedprefs' => 'Dein Einstellunge woorre gespeichert.',
+'timezonelegend' => 'Zeitzone:',
+'localtime' => 'Platzzeit:',
+'timezoneuseserverdefault' => 'Standardzeit von das Wiki nutze ($1)',
+'timezoneuseoffset' => 'Annre (Unnerschied oongewe)',
+'servertime' => 'Aktuelle Zeit uff dem Server:',
+'guesstimezone' => 'Vom Browser üwernehme',
+'timezoneregion-africa' => 'Afrika',
+'timezoneregion-america' => 'Amerika',
+'timezoneregion-antarctica' => 'Antarktis',
+'timezoneregion-arctic' => 'Arktis',
+'timezoneregion-asia' => 'Asie',
+'timezoneregion-atlantic' => 'Atlantischer Ozean',
+'timezoneregion-australia' => 'Australie',
+'timezoneregion-europe' => 'Europa',
+'timezoneregion-indian' => 'Indischer Ozean',
+'timezoneregion-pacific' => 'Pazifischer Ozean',
+'allowemail' => 'E-Mail-Empfang von annre Benutzer ermöchliche',
+'prefs-searchoptions' => 'Such',
+'prefs-namespaces' => 'Noomeräume',
+'defaultns' => 'Annrenfalls in den Noomeräume suche:',
+'default' => 'Voareinstellung',
+'prefs-files' => 'Dateie',
+'prefs-custom-css' => 'Benutzerdefinierte CSS',
+'prefs-custom-js' => 'Benutzerdefiniertes JavaScript',
+'prefs-common-css-js' => 'Gemeinsames CSS/JavaScript von aller Benutzerowerfläche:',
+'prefs-reset-intro' => 'Du kannst die Seit verwenne, um die Einstellunge uff die Standards zurückzusetzen.
+Das kann net meh rückgängich gemacht sin.',
+'prefs-emailconfirm-label' => 'E-Mail-Bestätichung:',
+'youremail' => 'E-Mail-Adress:',
+'username' => '{{GENDER:$1|Benutzernoome}}:',
+'uid' => '{{GENDER:$1|Benutzerkennung}}:',
+'prefs-memberingroups' => '{{GENDER:$2|Mitglied}} von der {{PLURAL:$1|Benutzergrupp|Benutzergruppe}}:',
+'prefs-registration' => 'Oonmeldezeitpunkt:',
+'yourrealname' => 'Dein Noome wie registriert:',
+'yourlanguage' => 'Sproche von der Benutzerowerfläche:',
+'yourvariant' => 'Sprachvariante:',
+'prefs-help-variant' => 'Die bevoarzuchte Schreibvariante orrer Orthografie, in der die Wikiseite oongezeicht werre solle.',
+'yournick' => 'Signatur:',
+'prefs-help-signature' => 'Beiträche uff Diskussionsseite sollte mit „<nowiki>~~~~</nowiki>“ signiert sin, was dann in die Signatur mit Zeitstempel umgewandelt weard.',
+'badsig' => 'Die Syntax von der Signatur ist ungültich; bittschön HTML üwerprüfe.',
+'badsiglength' => 'Die Signatur därref maximal $1 {{PLURAL:$1|Zeiche}} lang sin.',
+'yourgender' => 'Mit was für Geschlecht tust du dich identifiziere?',
+'gender-unknown' => 'Ich möcht hierzu ken Oongäb mache',
+'gender-male' => 'Ich sin männlich',
+'gender-female' => 'Ich sin weiblich',
+'prefs-help-gender' => 'Das ist eine freiwilliche Oongäb.
+Die Software nutzt se, um dich oonzurede sowie als Hinweis für annre doorrich Verwennung von der zutreffende grammatikalische Geschlecht.
+Die Information ist öffentlich.',
+'email' => 'E-Mail',
+'prefs-help-realname' => 'Das ist en freiwilliche Oongäb. Domit kann dein bürgerlicher/registrierte Noome zu deine Beiträche zugeordnet sin.',
+'prefs-help-email' => 'Die oongäb von en E-Mail-Adress ist optional, ermöchlicht awer die Zusendung von en Ersatzpasswort, soweit du dein Passwort vergess host.',
+'prefs-help-email-others' => 'Mit annre Benutzer kannst du ooch üwer die Benutzerdiskussionsseit Kontakt uffnehme, ohne dass du dein Identität ufflehn musst.',
+'prefs-help-email-required' => 'Es weard en gültiche E-Mail-Adress benöticht.',
+'prefs-info' => 'Basisinformatione',
+'prefs-i18n' => 'Sproch',
+'prefs-signature' => 'Signatur',
+'prefs-dateformat' => 'Datumsformat',
+'prefs-timeoffset' => 'Zeitunnerschied',
+'prefs-advancedediting' => 'Allgemeine Optione',
+'prefs-editor' => 'Beoorbeitungsprogramm',
+'prefs-preview' => 'Vorschau',
+'prefs-advancedrc' => 'Erweiterte Optione',
+'prefs-advancedrendering' => 'Erweiterte Optione',
+'prefs-advancedsearchoptions' => 'Erweiterte Optione',
+'prefs-advancedwatchlist' => 'Erweiterte Optione',
+'prefs-displayrc' => 'Oonzeichoptione',
+'prefs-displaysearchoptions' => 'Oonzeichoptione',
+'prefs-displaywatchlist' => 'Oonzeichoptione',
+'prefs-tokenwatchlist' => 'Token',
+'prefs-diffs' => 'Versionsvergleich',
+'prefs-help-prefershttps' => 'Die Instellung weard bei deiner nächste Oonmeldung weerreksam.',
+'prefs-tabs-navigation-hint' => 'Tipp: Du kannst die linke und rechte Pfeiltaste benutze, um zwischich den Registerkoorter in der Reiterlist zu navigiere.',
+
+# User preference: email validation using jQuery
+'email-address-validity-valid' => 'Die E-Mail-Adress scheint gültich zu sin.',
+'email-address-validity-invalid' => 'En gültich E-Mail-Adress ist nötich.',
+
+# User rights
+'userrights' => 'Benutzerrechteverwaltung',
+'userrights-lookup-user' => 'Gruppezugehörigkeit verwalte',
+'userrights-user-editname' => 'Benutzernoome:',
+'editusergroup' => 'Gruppezugehörigkeit ännre',
+'editinguser' => "Ännre Benutzerrechte von '''[[User:$1|$1]]''' $2",
+'userrights-editusergroup' => 'Gruppezugehörigkeit verännre',
+'saveusergroups' => 'Gruppezugehörigkeit ännre',
+'userrights-groupsmember' => 'Mitglied von:',
+'userrights-groupsmember-auto' => 'Automatisch Mitglied von:',
+'userrights-groups-help' => 'Du kannst die Gruppezugehörigkeit {{GENDER:$1|von der Benutzer|die Benutzrin}} ännre:
+* En markierte Kästche bedeitet, dass {{GENDER:$1|der Benutzer|die Benutzrin}} der Grupp Mitglied ist.
+* En nichtmarkierte Kästche bedeitet, dass {{GENDER:$1|der Benutzer|die Benutzrin}} net Mitglied von der Grupp ist.
+* En * bedeitet, dass du das Benutzerrecht noh Erteilung net wieder zurücknehme kannst (orrer umgekeahrt).',
+'userrights-reason' => 'Grund:',
+'userrights-no-interwiki' => 'Du host net die nötiche Berechtichung, um Benutzerrechte in annre Wikis ännre könne.',
+'userrights-nodatabase' => 'Die Datebank $1 ist net voarhand orrer net lokal.',
+'userrights-nologin' => 'Du musst dich mit en Administratoar-Benutzerkonto [[Special:UserLogin|oonmeld]], um Benutzerrechte ännre.',
+'userrights-notallowed' => 'Du verfüchst net üwer die erforderliche Berechtichunge, um Benutzerrechte vergebe orrer entziehe könne.',
+'userrights-changeable-col' => 'Gruppezugehörigkeit, die du ännre kannst',
+'userrights-unchangeable-col' => 'Gruppezugehörigkeit, die du net ännre kannst',
+'userrights-conflict' => 'Benutzerrechteännerungskonflikt! Bittschön üwerprüf und bestätich deine Ännrunge.',
+'userrights-removed-self' => 'Du host dein eichne Rechte erfollichreich entfernt. Du kannst net länger uff die Seit zugreife.',
+
+# Groups
+'group' => 'Grupp:',
+'group-user' => 'Benutzer',
+'group-autoconfirmed' => 'Automatisch bestätichte Benutzer',
+'group-bot' => 'Bots',
+'group-sysop' => 'Administratore',
+'group-bureaucrat' => 'Bürokrate',
+'group-suppress' => 'Oversighter (Üwerwächter)',
+'group-all' => '(alle)',
+
+'group-user-member' => 'Bot',
+'group-autoconfirmed-member' => '{{GENDER:$1|Automatisch bestätichter Benutzer|Automatisch bestätichte Benutzrin}}',
+'group-bot-member' => 'Bot',
+'group-sysop-member' => '{{GENDER:$1|Administratoar|Administratorin}}',
+'group-bureaucrat-member' => '{{GENDER:$1|Bürokrat|Bürokratin}}',
+'group-suppress-member' => '{{GENDER:$1|Oversighter|Oversightrin}}
+(Üwerwächter|Üwerwächtrin)',
+
+'grouppage-user' => '{{ns:project}}:Benutzer',
+'grouppage-autoconfirmed' => '{{ns:project}}:Automatisch bestätichte Benutzer',
+'grouppage-bot' => '{{ns:project}}:Bots',
+'grouppage-sysop' => '{{ns:project}}:Administratore',
+'grouppage-bureaucrat' => '{{ns:project}}:Bürokrate',
+'grouppage-suppress' => '{{ns:project}}:Oversighter (Üwerwächter)',
+
+# Rights
+'right-read' => 'Seite lese',
+'right-edit' => 'Seite beoorbeite',
+'right-createpage' => 'Seite erstelle (ausser Diskussionsseite)',
+'right-createtalk' => 'Diskussionsseite erstelle',
+'right-createaccount' => 'Benutzerkonto erstelle',
+'right-minoredit' => 'Bearbeitunge wie klen markiere',
+'right-move' => 'Seite verschiebe',
+'right-move-subpages' => 'Seite inklusive Unnerseite verschiebe',
+'right-move-rootuserpages' => 'Haupt-Benutzerseite verschiebe',
+'right-movefile' => 'Dateie verschiebe',
+'right-suppressredirect' => 'Beim Verschiebe die Erstellung von en Weiterleitung unnerdrücke',
+'right-upload' => 'Dateie hochloode',
+'right-reupload' => 'Üwerschreibe en voarhandne Datei',
+'right-reupload-own' => 'Üwerschreibe von en zuvoar sellebst hochgeladne Datei',
+'right-reupload-shared' => 'Lokales Üwerschreibe von en in enem gemeinsam genutzte Repositorium voarhandne Datei',
+'right-upload_by_url' => 'Dateie von en URL-Adress hochloode',
+'right-purge' => 'Seitecache leere ohne Rückfroche',
+'right-autoconfirmed' => 'Ken Beschränkung doorrich IP-basiert Limits (limmitatione)',
+'right-bot' => 'Behandlung wie automatischer Prozess',
+'right-nominornewtalk' => 'Klene Beoorbeitunge an Diskussionsseite führe zu kenr "Neie Nachrichte"-Oonzeiche',
+'right-apihighlimits' => 'Höchre Limits (limmitatione) in API-Abfroche',
+'right-writeapi' => 'Benutzung von der writeAPI',
+'right-delete' => 'Seite lösche',
+'right-bigdelete' => 'Seite mit grosser Versionsgeschicht abwische',
+'right-deletelogentry' => 'Enzelne Logbuch-Einträche abwische und wiederherstelle',
+'right-deleterevision' => 'Einzelne Versione von en Seit abwische und wiederherstelle',
+'right-deletedhistory' => 'Abgewischte Versione in der Versionsgeschicht oonsiehn, ohne zugehöriche Text',
+'right-deletedtext' => 'Abgewischte Texte und Versionsunnerschiede zwischich abgewischte Versione oonsiehn',
+'right-browsearchive' => 'Noh abgewischte Seite suche',
+'right-undelete' => 'Seite wiederherstelle',
+'right-suppressrevision' => 'Versione oonsiehn und wiederherstelle, die ooch voar Administratore verborriche sind',
+'right-suppressionlog' => 'Private Logbücher oonsiehn',
+'right-block' => 'Benutzer sperre (Schreibrecht)',
+'right-blockemail' => 'Benutzer am Versende von E-Mails hinnre',
+'right-hideuser' => 'Benutzernoome sperre und verberrich.',
+'right-ipblock-exempt' => 'Ausnoohme von IP-Sperre, automatische Sperre und Rangesperre',
+'right-proxyunbannable' => 'Ausnoohme von automatische Proxysperre',
+'right-unblockself' => 'Sich entsperre',
+'right-protect' => 'Seitenschutzstatus ännre und kaskadengeschützte Seite beoorbeite',
+'right-editprotected' => 'Seite bearbeite, wo als "{{int:protect-level-sysop}}" geschützt sind',
+'right-editsemiprotected' => 'Seite beoorbeite, wo als "{{int:protect-level-autoconfirmed}}" geschützt sind',
+'right-editinterface' => 'Benutzeroberfläche beoorbeite',
+'right-editusercssjs' => 'Fremde CSS- und JavaScript-Dateie beoorbeite',
+'right-editusercss' => 'Fremde CSS-Dateie bearbeite',
+'right-edituserjs' => 'Fremde JavaScript-Dateie boobeite',
+'right-editmyusercss' => 'Eichne Benutzer-CSS-Dateie beoorbeite',
+'right-editmyuserjs' => 'Eichne Benutzer-JavaScript-Dateie beoorbeite',
+'right-viewmywatchlist' => 'Eichne Beobachtungsliste oonsiehn',
+'right-editmywatchlist' => 'Eichne Beobachtungslist beoorbeite. Eniche Aktione ermöchliche das Hinzufüche von Seite ohne das Recht.',
+'right-viewmyprivateinfo' => 'Eichne private Date oonsiehn (beispielsweis E-Mail-Adress, bürcherlicher / registrierte Noome)',
+'right-editmyprivateinfo' => 'Eichne private Date beoorbeite (beispielsweis E-Mail-Adress, bürcherlicher / registrierte Noome)',
+'right-editmyoptions' => 'Eichne Einstellunge beoorbeite',
+'right-rollback' => 'Schnelles Zurücksetze',
+'right-markbotedits' => 'Schnell zurückgesetzte Beoorbeitunge wie Bot-Bearbeitung markiere',
+'right-noratelimit' => 'Ken Beschränkung doorrich Limits',
+'right-import' => 'Seite aus annre Wikis importiere',
+'right-importupload' => 'Seite üwer Hochlade von Dateie importiere',
+'right-patrol' => 'Fremde Beoorbeitunge als kontrolliert markiere',
+'right-autopatrol' => 'Eichne Beoorbeitungen automatisch wie kontrolliert markiere',
+'right-patrolmarks' => 'Kontrollmarkierunge in den letzte Ändrunge siehn',
+'right-unwatchedpages' => 'List von der unbeobachtete Seite oonsiehn',
+'right-mergehistory' => 'Versionsgeschichte von Seite vereine',
+'right-userrights' => 'Benutzerrechte beoorbeite',
+'right-userrights-interwiki' => 'Benutzerrechte in annre Wikis beoorbeite',
+'right-siteadmin' => 'Datebank sperre und entsperre',
+'right-override-export-depth' => 'Exportier Seite einschliesslich verlinkter Seite bis zu en Tief von 5',
+'right-sendemail' => 'E-Mails an annre Benutzer sende',
+'right-passwordreset' => 'Passwort von en Benutzer zurücksetze und die dazu verschickte E-Mail einsiehn',
+
+# Special:Log/newusers
+'newuserlogpage' => 'Neioonmeldungs-Logbuch',
+'newuserlogpagetext' => 'Dies ist en Logbuch von der nei erstellte Benutzerkonte.',
+
+# User rights log
+'rightslog' => 'Rechte-Logbuch',
+'rightslogtext' => 'Das ist das Logbuch von der Ännrunge zu Benutzerrechte.',
+
+# Associated actions - in the sentence "You do not have permission to X"
+'action-read' => 'die Seit zu lese',
+'action-edit' => 'die Seit zu beoorbeite',
+'action-createpage' => 'Seite zu erstelle',
+'action-createtalk' => 'Diskussionsseite erstelle',
+'action-createaccount' => 'der Benutzerkonto erstelle',
+'action-minoredit' => 'die Beoorbeitung als klen markiere',
+'action-move' => 'die Seit verschiebe',
+'action-move-subpages' => 'die Seit und zugehöriche Unnerseite verschiebe',
+'action-move-rootuserpages' => 'Haupt-Benutzerseite verschiebe',
+'action-movefile' => 'Die Datei verschiebe',
+'action-upload' => 'Dateie hochoode',
+'action-reupload' => 'die voarhandne Datei zu üwerschreibe',
+'action-reupload-shared' => 'die Datei aus dem gemeinsam genutzte Repositorium üwerschreibe',
+'action-upload_by_url' => 'Dateie von en Webadress (URL) hochloode',
+'action-writeapi' => 'die API mit Schreibzugriffe verwenne',
+'action-delete' => 'Seite abwische',
+'action-deleterevision' => 'Versione abwische',
+'action-deletedhistory' => 'die List von der abgewischte Versione siehn',
+'action-browsearchive' => 'noh abgewischte Seite suche',
+'action-undelete' => 'die Seit wiederhearstelle',
+'action-suppressrevision' => 'die versteckte Versio einsiehn und wiederhearstelle',
+'action-suppressionlog' => 'das privat Logbuch einsiehn',
+'action-block' => 'den Benutzer sperre',
+'action-protect' => 'den Schutzstatus von Seite ännre',
+'action-rollback' => 'die Ännrunge von der letzte Beoorbeiter von en bestimmter Seit schnell zurücksetze',
+'action-import' => 'Seite aus en andre Wiki importiere',
+'action-importupload' => 'Seite üwer das Hochloode von en Datei importiere',
+'action-patrol' => 'Beoorbeitunge von anne Benutzer wie kontrolliert markiere',
+'action-autopatrol' => 'eichne Beoorbeitunge wie kontrolliert markiere',
+'action-unwatchedpages' => 'die List von der unbeobachtete Seite insiehn',
+'action-mergehistory' => 'die Versionegeschichte von Seite vereine',
+'action-userrights' => 'Benutzerrechte ännre',
+'action-userrights-interwiki' => 'die Rechte von Benutzer in annre Wikis ännre',
+'action-siteadmin' => 'die Datebank sperre orrer frei mache',
+'action-sendemail' => 'E-Mails sende',
+'action-editmywatchlist' => 'dein Beobachtungslist beoorbeite',
+'action-viewmywatchlist' => 'dein Beobachtungslist oonsiehn',
+'action-viewmyprivateinfo' => 'deine private Informatione gucke',
+'action-editmyprivateinfo' => 'deine private Informatione boorbeite',
+
+# Recent changes
+'nchanges' => '$1 {{PLURAL:$1|Ännrung|Ännrunge}}',
+'enhancedrc-since-last-visit' => '$1 {{PLURAL:$1|seit dem letzte Besuch}}',
+'enhancedrc-history' => 'Versionsgeschicht',
+'recentchanges' => 'Letzte Ändrunge',
+'recentchanges-legend' => 'Oonzeicheoptione',
+'recentchanges-summary' => 'Uff der Seit kannst du die letzte Ännrunge in dem Wiki nohverfolche.',
+'recentchanges-noresult' => 'Ken Ännrunge im Verloof von (während) vom dem oongebne Zeitraum entspreche die Kriterie.',
+'recentchanges-feed-description' => 'Verfolliche mit dem Feed die letzte Ännrunge in {{SITENAME}}.',
+'recentchanges-label-newpage' => 'Neie Seit',
+'recentchanges-label-minor' => 'Klen Ännrung',
+'recentchanges-label-bot' => 'Ännrung doorich en Bot',
+'recentchanges-label-unpatrolled' => 'Nicht-kontrollierte Ännrung',
+'recentchanges-label-plusminus' => 'Die Ännrung von der Seitengröss in Bytes',
+'recentchanges-legend-heading' => "'''Legende:'''",
+'recentchanges-legend-newpage' => '(sieh ooch die [[Special:NewPages|List von neier Seite]])',
+'rcnotefrom' => 'Oongezeicht sin die Ännrunge seit <strong>$2</strong> (max. <strong>$1</strong> Einträch).',
+'rclistfrom' => 'Nuar Ännrunge seit $3, $2 Uhr zeiche.',
+'rcshowhideminor' => 'Klene Ändrunge $1',
+'rcshowhideminor-show' => 'oonzeiche',
+'rcshowhideminor-hide' => 'versteck',
+'rcshowhidebots' => 'Bots $1',
+'rcshowhidebots-show' => 'Zeich',
+'rcshowhidebots-hide' => 'Versteck',
+'rcshowhideliu' => 'Registrierte Benutzer $1',
+'rcshowhideliu-show' => 'Zeich',
+'rcshowhideliu-hide' => 'Versteck',
+'rcshowhideanons' => 'Unoongemeldete Benutzer $1',
+'rcshowhideanons-show' => 'Zeich',
+'rcshowhideanons-hide' => 'Versteck',
+'rcshowhidepatr' => 'Kontrollierte Ännrunge $1',
+'rcshowhidepatr-show' => 'Zeich',
+'rcshowhidepatr-hide' => 'Versteck',
+'rcshowhidemine' => 'Eichne Beiträche $1',
+'rcshowhidemine-show' => 'Zeich',
+'rcshowhidemine-hide' => 'Versteck',
+'rclinks' => 'Zeich die letzte $1 Ännrunge von der letzte $2 Tooche.<br />$3',
+'diff' => 'Unnerschied',
+'hist' => 'Versione',
+'hide' => 'Versteck',
+'show' => 'Zeich',
+'minoreditletter' => 'K',
+'newpageletter' => 'N',
+'boteditletter' => 'B',
+'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|beobachtender|beobachtende}} Benutzer]',
+'rc_categories' => 'Nur Seite aus den Kategorie (getrennt mit „|“):',
+'rc_categories_any' => 'Alle',
+'rc-change-size-new' => '$1 {{PLURAL:$1|Byte|Bytes}} noh der Ännrung',
+'newsectionsummary' => 'Neier Abschnitt /* $1 */',
+'rc-enhanced-expand' => 'Einzelheite oonzeiche',
+'rc-enhanced-hide' => 'Einzelheite verstecke',
+'rc-old-title' => 'uarsprünglich erstellt wie "$1"',
+
+# Recent changes linked
+'recentchangeslinked' => 'Ändrungen an verlinkte Seite',
+'recentchangeslinked-feed' => 'Ännrunge an verlinkte Seite',
+'recentchangeslinked-toolbox' => 'Ändrungen an verlinkte Seite',
+'recentchangeslinked-title' => 'Ännrungen an Seite, die von „$1“ verlinkt sind',
+'recentchangeslinked-summary' => "Die Spezialseit listet die letzte Ändrunge an den verlinkte Seite uff (bzw. bei Kategorie an den Mitglieder von der Kategorie). Seite uff deiner [[Special:Watchlist|Beobachtungslist]] sind '''fett''' dorgestellt.",
+'recentchangeslinked-page' => 'Seit:',
+'recentchangeslinked-to' => 'Zeich Ännrunge uff Seite, wo hierher verlinke',
+
+# Upload
+'upload' => 'Dateie hochloode',
+'uploadbtn' => 'Dateie hochloode',
+'reuploaddesc' => 'Abbreche und zurück zur Hochloode-Seit',
+'upload-tryagain' => 'Geännerte Dateibeschreibung abschicke',
+'uploadnologin' => 'Net oongemeldt',
+'uploadnologintext' => 'Du musst dich $1, um Dateie hochloode könne.',
+'upload_directory_missing' => 'Das Upload-Verzeichnis ($1) fehlt und konnt doorrich den Webserver ooch net erstellt sin.',
+'upload_directory_read_only' => 'Der Webserver hot keh Schreibrechte für das Upload-Verzeichnis ($1).',
+'uploaderror' => 'Fehler beim Hochloode',
+'upload-recreate-warning' => "'''Achtung: En Datei mit dem Noome woard schon abgewischt orrer verschob.'''
+
+Es folcht en Auszuch aus dem Abwäsch- und Verschiebungs-Logbuch von er Datei.",
+'uploadtext' => "Benutz das Formular, für neie Dateie hochloode.
+
+Geh zu der [[Special:FileList|List hochgeloodner Dateie]], um voarhandne Dateie zu suche und oonzeiche. Sieh ooch das [[Special:Log/upload|Datei-]] und [[Special:Log/delete|Abwäsch-Logbuch]].
+
+Um en '''Bild''' in en Seit zu verwenne, nutz en Link in der follichend Form:
+* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datei.jpg]]</nowiki></code>''' – für en Vollbild
+* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datei.png|200px|thumb|left|Alternativer Text]]</nowiki></code>''' – für en 200px breites Bild innerhalleb von en Box, mit „Alternativer Text“ als Bildbeschreibung
+* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Datei.ogg]]</nowiki></code>''' – für en direkt Link uff die Datei, ohne Darstellung von der Datei",
+'upload-permitted' => 'Erlaubt Dateitype: $1.',
+'upload-preferred' => 'Bevoarzuchte Dateitype: $1.',
+'upload-prohibited' => 'Net erlaubte Dateitype: $1.',
+'uploadlog' => 'Datei-Logbuch',
+'uploadlogpage' => 'Datei-Logbuch',
+'uploadlogpagetext' => 'Das ist das Logbuch von der hochgeladne Dateie, sieh ooch die [[Special:NewFiles|Galerie von neier Dateie]] für en visuell Üwerblick.',
+'filename' => 'Dateinoome',
+'filedesc' => 'Beschreibung',
+'fileuploadsummary' => 'Beschreibung/Quell:',
+'filereuploadsummary' => 'Dateiännrunge:',
+'filestatus' => 'Copyright-Status:',
+'filesource' => 'Quell:',
+'uploadedfiles' => 'Hochloode',
+'ignorewarning' => 'Warnung ignoriere und Datei speichre',
+'ignorewarnings' => 'Warnunge ignoriere',
+'minlength1' => 'Dateinoome müsse mindestens en Buchstoob lang sin.',
+'illegalfilename' => 'Der Dateinoome "$1" enthält minschtens en net erlaubtes Zeiche. Bittschön benenn die Datei um und versuch, se wieder erneit hochloode.',
+'filename-toolong' => 'Dateinoome deerfe net grösser wie 240 Bytes sin.',
+'badfilename' => 'Der Dateinoome woard in "$1" geännert.',
+'filetype-mime-mismatch' => 'Dateierweitrung ".$1" stimmt net mit dem MIME-Typ ($2) üwerein.',
+'filetype-badmime' => 'Dateie mit dem MIME-Typ "$1" deerfe net hochgeloode sin.',
+'filetype-bad-ie-mime' => 'Die Datei kann net hochgelood sin, weil der Internet Explorer se wie "$1" erkennt, wo en net erlaubter potentiell gefährlicher Dateityp ist.',
+'filetype-unwanted-type' => "'''\".\$1\"''' ist en unerwünschtes Dateiformat. Erlaubt {{PLURAL:\$3|ist das Dateiformat|sind die Dateiformate}}: \$2.",
+'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|ist en net erlaubter Dateityp|sind net erlaubte Dateitype}}.
+{{PLURAL:$3|Erlaubter Dateityp ist|Erlaubte Dateitype sind}} $2.',
+'filetype-missing' => 'Die hochzuloodende Datei hot ken Erweitrung (z. B. ".jpg").',
+'empty-file' => 'Die von dir üwertraoohte Datei hot ken Inhalt.',
+'file-too-large' => 'Die hochgeloodne Datei woor zu gross.',
+'filename-tooshort' => 'Der Dateinoome ist zu koorz.',
+'filetype-banned' => 'Die Dateiendung ist gesperrt.',
+'verification-error' => 'Die Datei hot die Dateiprüfung net bestand.',
+'hookaborted' => 'Der Versuch, die Änrung doorrichzuführe, woard von en Parsererweitrung abgebroch.',
+'illegal-filename' => 'Der Dateinoome ist net zulässich.',
+'overwrite' => 'Das Üwerschreibe von en schon voarhandne Datei ist net erlaubt.',
+'unknown-error' => 'En unbekannter Fehler ist uffgetret.',
+'tmp-create-error' => 'Temporäre Datei konnte net erstellt sin',
+'tmp-write-error' => 'Fehler beim Schreibe von der temporäre Datei',
+'large-file' => 'Die Dateigröss sollt noh Möchlichkeit $1 net üwerschreite. Die Datei ist $2 gross.',
+'largefileserver' => 'Die Datei ist grösser wie die vom Server eingestellte Maximalgröss.',
+'emptyfile' => 'Die hochgeloodene Datei ist leer. Der Grund kann en Tippfehler (verkeahrt geschrieb) im Dateinoome sin. Bitte kontrollier, ob du die Datei weerklich hochloode willst.',
+'windows-nonascii-filename' => 'Das Wiki unnerstützt ken Dateinoome, wo Sonderzeich enthalte.',
+'fileexists' => 'So en Noome Datei is schon voarhand do. Bittschön prüf <strong>[[:$1]]</strong>, soweit wie du dir net sicher bist, obs du se ännre möchst.
+[[$1|thumb]]',
+'filepageexists' => 'En Beschreibungsseit woard bereits wie <strong>[[:$1]]</strong> erstellt, das ist awer ken Datei mit dem Noome voarhand.
+Die ingegebne Beschreibung weard net uff die Beschreibungsseit üwernomm.
+Die Beschreibungsseit musst du noh dem Hochloode von der Datei noch manuell beoorbeite.
+[[$1|thumb]]',
+'fileexists-extension' => 'En Datei mit en ähnlich Noome ist schon voarhand: [[$2|thumb]]
+* Noome von der hochzuloodenden Datei: <strong>[[:$1]]</strong>
+* Noome von der schon voarhandnen Datei: <strong>[[:$2]]</strong>
+Bittschön wähl en anre Noome.',
+'fileexists-thumbnail-yes' => "Bei der Datei scheint das sich um en Bild verringerter Gröss ''(Miniatur)'' zu handle. [[$1|thumb]]
+Bittschön prüf die Datei <strong>[[:$1]]</strong>.
+Wenn es sich um das Bild in Originalgröss handelt, so braucht ken separates Voarschaubild hochgelood sin.",
+'file-thumbnail-no' => "Der Dateinoome beginnt mit <strong>$1</strong>. Das deitet auf en Bild von verringerter Gröss ''(Minitatur)'' hin.
+Bittschön prüf, obs du das Bild in voller Auflösung voarliehen host und lood das unner dem Originalnoome hoch.",
+'fileexists-forbidden' => 'Unner dem Nome existiert schon en Datei und die kann net üwerschrieb sin. Bittschön geh zurück und lood die Datei unner en annre Noome hoch. [[File:$1|thumb|center|$1]]',
+'fileexists-shared-forbidden' => 'Unner dem Noome existiert schon en Datei im zentral Medienarchiv.
+Wenns du die Datei trotzdem hochloode möchst, geh bittschön zurück und änner den Noome.
+[[File:$1|thumb|center|$1]]',
+'file-exists-duplicate' => 'Die Datei ist en Duplikat von der follichende {{PLURAL:$1|Datei|$1 Dateie}}:',
+'file-deleted-duplicate' => 'En mit der identische Datei ([[:$1]]) woard früher abgewischt. Sieh das Abwäsch-Logbuch ein, bevoar du die hochloode tust.',
+'file-deleted-duplicate-notitle' => 'En identische Datei woard kürzlich abgewischt und der Titel woard unnerdrückt.
+Du sollst jemand froche, wo die Möchlichkeit hot, die unnerdrückte Dateidate oonzusiehn, um die Situation voar dem erneite Hochlood zu üwerprüfe.',
+'uploadwarning' => 'Hochloodewarnung',
+'uploadwarning-text' => 'Bittschön änner unner die Dateibeschreibung und versuch das nochmo erneit.',
+'savefile' => 'Datei speichre',
+'uploadedimage' => 'lud „[[$1]]“ hoch',
+'overwroteimage' => 'Hot en nei Version von "[[$1]]" hochgelood',
+'uploaddisabled' => 'Hochloode deaktiviert',
+'copyuploaddisabled' => 'Das Hochloode von URLs ist deaktiviert',
+'uploadfromurl-queued' => 'Dein Hochloode (Upload) befindt sich jetzt in der Woorteschlang.',
+'uploaddisabledtext' => 'Das Hochloode von Dateie ist deaktiviert.',
+'php-uploaddisabledtext' => 'Das Hochloode von Dateie woard in PHP deaktiviert.
+Bittschön üwerprüf die <code>file_uploads</code>-Einstellung.',
+'uploadscripted' => 'Die Datei enthält HTML- orrer Scriptcode, wo irrtümlich von enem Webbrowser ausgeführt werre könnt.',
+'uploadscriptednamespace' => 'Die SVG-Datei enthält den ungültiche Noomeraum „$1“.',
+'uploadinvalidxml' => 'Das XML in der hochgeladne Datei konnt net geparst werre.',
+'uploadvirus' => 'Die Datei enthält en Virus! Details: $1',
+'uploadjava' => 'Dies ist ein ZIP-Datei, wo en CLASS-Datei von Java enthält.
+Das Hochloode von Java-Dateie ist net gestattet, weil sie die Umgehung von Sicherheitseinschränkunge ermöchliche könnte.',
+'upload-source' => 'Quelldatei',
+'sourcefilename' => 'Quelldatei:',
+'sourceurl' => 'Quell-URL:',
+'destfilename' => 'Zielnoome:',
+'upload-maxfilesize' => 'Maximal Dateigröss: $1',
+'upload-description' => 'Dateibeschreibung',
+'upload-options' => 'Hochloodeoptione',
+'watchthisupload' => 'Die Datei beobacht',
+'filewasdeleted' => 'En Datei mit dem Noome woard schon emol hochgelood und zwischichzeitlich wieder abgewischt. Bittschön prüf zuearst den Eintrooch im $1, bevoar du die Datei weerklich speichre tust.',
+'filename-bad-prefix' => "Der Dateinoome beginnt mit '''\"\$1\"'''. Das ist im allgemein der von en Digitalkamera voargebne Dateinoome und doher net seahr aussoognkräftig.
+Bittschön geb der Datei en Noome, wo den Inhalt besser beschreibt.",
+'upload-success-subj' => 'Erfollichreich hochgelood',
+'upload-success-msg' => 'Das Hochloode von [$2] woor erfollichreich. Die ist hier verfüchbar: [[:{{ns:file}}:$1]]',
+'upload-failure-subj' => 'Hochloodfehler',
+'upload-failure-msg' => 'Do hot es en Problem geb - mit deiner hochgeloodne Datei von [$2]:
+
+$1',
+'upload-warning-subj' => 'Hochloodewarnung',
+'upload-warning-msg' => 'Do woor en Problem beim Hochloode von [$2]. Bittschön zum [[Special:Upload/stash/$1|Hochloodformular]] zurückkehre, um das Problem zu behebe.',
+
+'upload-proto-error' => 'Falsches Protokoll',
+'upload-proto-error-text' => 'Die URL muss mit <code>http://</code> orrer <code>ftp://</code> beginne.',
+'upload-file-error' => 'Interner Fehler',
+'upload-file-error-text' => 'Bei der Erstellung en temporäre Datei uff dem Server ist en interner Fehler uffgetret.
+Bittschön informier en [[Special:ListUsers/sysop|Administratoar]].',
+'upload-misc-error' => 'Unbekannter Fehler beim Hochloode',
+'upload-misc-error-text' => 'Beim Hochloode ist en unbekannter Fehler uffgetret.
+Prüf die URL uff Fehler, den Online-Status von der Seite und versuch das wieder erneit.
+Wenn das Problem weiter besteht, informier en [[Special:ListUsers/sysop|Administratoar]].',
+'upload-too-many-redirects' => 'Die URL beinhaltete zu viele Weiterleitunge',
+'upload-unknown-size' => 'Unbekannte Gröss',
+'upload-http-error' => 'En HTTP-Fehler ist uffgetret: $1',
+'upload-copy-upload-invalid-domain' => 'Als Kopie hochloodbare Dateie sind üwer die Domain net verfüchbar.',
+
+# File backend
+'backend-fail-stream' => 'Die Datei $1 konnt net üwertrooht sin.',
+'backend-fail-backup' => 'Die Datei $1 konnt net gesichert sin.',
+'backend-fail-notexists' => 'Die Datei $1 ist net voarhand.',
+'backend-fail-hashes' => 'Die Strohwearte von der Datei könnte net zum Vergleich abgeruf sin.',
+'backend-fail-notsame' => 'Es ist schon en Datei $1 voarhand, wo net identisch ist.',
+'backend-fail-invalidpath' => '$1 ist ken gülticher Pad zum Speichre.',
+'backend-fail-delete' => 'Die Datei $1 konnt net abgewischt sin.',
+'backend-fail-describe' => 'Die Metadate für die Datei "$1" konnte net geännert sin.',
+'backend-fail-alreadyexists' => 'Die Seit $1 ist schon voarhand',
+'backend-fail-store' => 'Die Datei $1 konnt net unner $2 gespeichert sin.',
+'backend-fail-copy' => 'Die Datei $1 konnt net noh $2 kopiert sin.',
+'backend-fail-move' => 'Die Datei $1 konnt net noh $2 verschob sin.',
+'backend-fail-opentemp' => 'Die temporäer Datei konnt nrt geöffnet sin.',
+'backend-fail-writetemp' => 'Die temporäer Datei konnt net geschrieb sin.',
+'backend-fail-closetemp' => 'Die temporäer Datei konnt net geschloss sin.',
+'backend-fail-read' => 'Die Datei $1 konnt net geles sin.',
+'backend-fail-create' => 'Die Datei $1 konnt net gespeichert sin.',
+'backend-fail-maxsize' => 'Die Datei $1 konnt net gespeichert sin, weil die grösser wie {{PLURAL:$2|en Byte|$2 Bytes}} ist.',
+
+# Special:UploadStash
+'uploadstash' => 'Vorabspeichrung beim Hochloode',
+'uploadstash-clear' => 'Die voarab gespeicherte Dateie entferne',
+'uploadstash-nofiles' => 'Do sind ken voarab gespeicherte Dateie voarhand.',
+'uploadstash-badtoken' => 'Das Entferne der voarab gespeicherte Dateie woor erfollichlos, vielleicht weil deine Sitzungsdate abgeloof sind. Bittschön versuch das nochmo erneit.',
+'uploadstash-errclear' => 'Das Entferne der voarab gespeicherte Dateie woo erfollichlos.',
+'uploadstash-refresh' => 'List von der Dateie aktualisiere',
+'invalid-chunk-offset' => 'Ungülticher Startpunkt',
+
+# img_auth script messages
+'img-auth-accessdenied' => 'Zugriff verweichert',
+
+# HTTP errors
+'http-read-error' => 'HTTP-Lesefehler.',
+
+# Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
+'upload-curl-error6' => 'URL ist net erreichbar',
+'upload-curl-error28' => 'Zeitüwerschreitung beim Hochloode',
+
+'license' => 'Lizenz:',
+'license-header' => 'Lizenz',
+'nolicense' => 'Ken Voarauswahl',
+
+# Special:ListFiles
+'listfiles_search_for' => 'Such noh Datei:',
+'imgfile' => 'Datei',
+'listfiles' => 'Dateilist',
+'listfiles_thumb' => 'Voarschaubild',
+'listfiles_date' => 'Datum',
+'listfiles_name' => 'Noome',
+'listfiles_user' => 'Benutzer',
+'listfiles_size' => 'Gröss',
+'listfiles_description' => 'Beschreibung',
+'listfiles_count' => 'Versione',
+'listfiles-show-all' => 'Alte Bildversione einschliesse',
+'listfiles-latestversion' => 'Aktuelle Version',
+'listfiles-latestversion-yes' => 'Jo',
+'listfiles-latestversion-no' => 'Nee',
+
+# File description page
+'file-anchor-link' => 'Datei',
+'filehist' => 'Dateiversione',
+'filehist-help' => 'Klick uff en Zeitpunkt, um die Version zu loode.',
+'filehist-deleteall' => 'Alle Versione abwische',
+'filehist-deleteone' => 'Die Version abwische',
+'filehist-revert' => 'zurücksetze',
+'filehist-current' => 'aktuell',
+'filehist-datetime' => 'Version vom',
+'filehist-thumb' => 'Voarschaubild',
+'filehist-thumbtext' => 'Vorschaubild von der Version vom $2, $3 Uhr',
+'filehist-nothumb' => 'Ken Voarschaubild voarhand',
+'filehist-user' => 'Benutzer',
+'filehist-dimensions' => 'Moss',
+'filehist-filesize' => 'Dateigröss',
+'filehist-comment' => 'Kommentar',
+'filehist-missing' => 'Datei fehlt',
+'imagelinks' => 'Dateiverwennung',
+'linkstoimage' => 'Die {{PLURAL:$1|folliche Seit verwenndt|folliche $1 Seite verwenne}} die Datei:',
+'linkstoimage-more' => 'Meahr als {{PLURAL:$1|en Seit verlinkt|$1 Seite verlinke}} uff dies= Datei.
+Die folliche List zeicht nuar {{PLURAL:$1|den ersten Link|die earschte $1 Links}} uff die Datei.
+En [[Special:WhatLinksHere/$2|vollständiche List]] ist verfüchbar.',
+'nolinkstoimage' => 'Ken Seit benutzt die Datei.',
+'morelinkstoimage' => '[[Special:WhatLinksHere/$1|Weitre Links]] uff die Datei.',
+'linkstoimage-redirect' => '$1 (Dateiweiterleitung) $2',
+'duplicatesoffile' => 'Die {{PLURAL:$1|follichend Datei ist en Duplikat|follichende $1 Dateie sind Duplikate}} von der Datei ([[Special:FileDuplicateSearch/$2|weitre Detalhes]]):',
+'sharedupload' => 'Die Datei stammt aus $1 und därreft von annre Projekte verwendt sin.',
+'sharedupload-desc-here' => 'Die Datei stammt aus $1 und kann von annre Projekte verwennet sin. Die Beschreibung von dene [$2 Dateibeschreibungsseit] weard unne oongezeicht.',
+'filepage-nofile' => 'Do gebts ken Datei mit dem Noome voarhand.',
+'filepage-nofile-link' => 'Do gebts ken Datei mit dem Noome voarhand. Du kannst jedoch [$1 die Datei hochloode].',
+'uploadnewversion-linktext' => 'En neie Version von der Datei hochloode',
+'shared-repo-from' => 'aus $1',
+'shared-repo' => 'en gemeinsam benutzte Medienarchiv',
+'upload-disallowed-here' => 'Du kannst die Datei net üwerschreibe.',
+
+# File reversion
+'filerevert' => 'Zurücksetze von „$1“',
+'filerevert-legend' => 'Datei zurücksetze',
+'filerevert-intro' => "Du setzt die Datei '''[[Media:$1|$1]]''' uff die [$4 Version vom $2, $3 Uhr] zurück.",
+'filerevert-comment' => 'Grund:',
+'filerevert-defaultcomment' => 'Zurückgesetzt uff die Version vom $1, $2 Uhr',
+'filerevert-submit' => 'Zurücksetze',
+'filerevert-success' => "'''[[Media:$1|$1]]''' woard uff die [$4 Version vom $2, $3 Uhr] zurückgesetzt.",
+'filerevert-badversion' => 'Do gebts ken Version von der Datei zu dem oongebne Zeitpunkt.',
+
+# File deletion
+'filedelete' => 'Abwisch $1',
+'filedelete-legend' => 'Abwisch Datei',
+'filedelete-intro' => "Du abwischst die Datei '''\"[[Media:\$1|\$1]]\"''' inklusive ehrer Versionsgeschicht.",
+'filedelete-intro-old' => 'Du abwischst von der Datei \'\'\'"[[Media:$1|$1]]"\'\'\' die [$4 Version vom $2, $3 Uhr].',
+'filedelete-comment' => 'Grund:',
+'filedelete-submit' => 'Abwische',
+'filedelete-success' => "'''\"\$1\"''' woard abgewischt.",
+'filedelete-success-old' => 'Von der Datei \'\'\'"[[Media:$1|$1]]"\'\'\' woard die Version vom $2, $3 Uhr abgewischt.',
+'filedelete-nofile' => "'''\"\$1'''' ist net voarhand.",
+'filedelete-nofile-old' => "Do gebts von '''\"\$1\"''' ken archiviert Version mit den oongebne Attribute.",
+'filedelete-otherreason' => 'Annrer/ergänzender Grund:',
+'filedelete-reason-otherlist' => 'Annrer Grund',
+'filedelete-reason-dropdown' => '* Allgemeine Abwischgründe
+** Uarheberrechtsverletzung
+** Duplikat',
+'filedelete-edit-reasonlist' => 'Abwischgründe beoorbeite',
+'filedelete-maintenance' => 'Das Abwische und Wiederhearstelle von Dateie ist uffgrund von Woortungsoorbeite voarüwergehnd deaktiviert.',
+'filedelete-maintenance-title' => 'Die Datei kann net abgewischt sin.',
+
+# MIME search
+'mimesearch' => 'Such noh MIME-Typ',
+'mimetype' => 'MIME-Typ:',
+'download' => 'Herunnerloode',
+
+# Unwatched pages
+'unwatchedpages' => 'Net beobachtete Seite',
+
+# List redirects
+'listredirects' => 'Weiterleitunge',
+
+# List duplicated files special page
+'listduplicatedfiles' => 'List von der Dateie mit Duplikate',
+
+# Unused templates
+'unusedtemplates' => 'Unbenutzte Vorlooche',
+'unusedtemplateswlh' => 'Annre Links',
+
+# Random page
+'randompage' => 'Zufälliche Seite',
+
+# Random page in category
+'randomincategory' => 'Zufälliche Seit von en Kategorie',
+'randomincategory-selectcategory-submit' => 'Geh, los',
+
+# Random redirect
+'randomredirect' => 'Zufällich Weiterleitung',
+'randomredirect-nopages' => 'Im Noomeraum „$1“ sind ken Weiterleitunge voarhand.',
+
+# Statistics
+'statistics' => 'Statistik',
+'statistics-header-pages' => 'Seitestatistik',
+'statistics-header-edits' => 'Bearbeitungsstatistik',
+'statistics-header-views' => 'Seitenuffrufstatistik',
+'statistics-header-users' => 'Benutzerstatistik',
+'statistics-header-hooks' => 'Annre Statistike',
+'statistics-articles' => 'Inhaltsseite',
+'statistics-pages' => 'Seite',
+'statistics-pages-desc' => 'Alle Seite in dem Wiki, inklusive Diskussionsseite, Weiterleitunge und so weiter',
+'statistics-files' => 'Hochgeloodne Dateie',
+'statistics-edits' => 'Seitebeoorbeitunge',
+'statistics-edits-average' => 'Beoorbeitunge pro Seit im Doorrichschnitt',
+'statistics-views-total' => 'Seitenuffrufe gesamt',
+'statistics-views-peredit' => 'Jede Beoorbeitung ehre Seiteuffrufe',
+'statistics-users' => 'Registrierte [[Special:ListUsers|Benutzer]]',
+'statistics-users-active' => 'Aktive Benutzer',
+'statistics-users-active-desc' => 'Benutzer mit Beoorbeitunge {{PLURAL:$1|während (im verloof von) der letzte 24 Stunde|während (im verloof von) der vergangne $1 Tooche}}',
+'statistics-mostpopular' => 'Meistbesuchte Seite',
+
+'pageswithprop' => 'Seite mit en Seiteneichenschaft',
+'pageswithprop-legend' => 'Seite mit en Seiteeichenschaft',
+'pageswithprop-text' => 'Die Spezialseit tut Seite ufflistiere, wo en bestimmte Seiteeichenschaft verwenne.',
+'pageswithprop-prop' => 'Eichenschaftsnoome:',
+'pageswithprop-submit' => 'Geh, los',
+'pageswithprop-prophidden-long' => 'Langtexteichenschaftsweart versteckt ($1)',
+'pageswithprop-prophidden-binary' => 'Binäreichenschaftsweart versteckt ($1)',
+
+'doubleredirects' => 'Doppelte Weiterleitunge',
+'double-redirect-fixer' => 'RedirectBot',
+
+'brokenredirects' => 'Defekte Weiterleitunge',
+'brokenredirectstext' => 'Die Spezialseit listiert Weiterleitung uff net existierende Seite uff.',
+'brokenredirects-edit' => 'Beoorbeite',
+'brokenredirects-delete' => 'abwische',
+
+'withoutinterwiki' => 'Net zu annre Sproche verlinkende Seite',
+'withoutinterwiki-summary' => 'Die follichende Seite verlinke net uff annre Sprochversione.',
+'withoutinterwiki-legend' => 'Präfix',
+'withoutinterwiki-submit' => 'Zeich',
+
+'fewestrevisions' => 'Seite mit den wenichste Versione',
+
+# Miscellaneous special pages
+'nbytes' => '$1 {{PLURAL:$1|Byte|Bytes}}',
+'ncategories' => '$1 {{PLURAL:$1|Kategorie|Kategoriee}}',
+'ninterwikis' => '{{PLURAL:$1|En Interwikilink|$1 Interwikilinks}}',
+'nlinks' => '{{PLURAL:$1|1 Link|$1 Links}}',
+'nmembers' => '{{PLURAL:$1|1 Eintrooch|$1 Einträche}}',
+'nmemberschanged' => '$1 → {{PLURAL:$2|En Mitglied|$2 Mitglieder}}',
+'nrevisions' => '{{PLURAL:$1|1 Beoorbeitung|$1 Beoorbeitunge}}',
+'nviews' => '{{PLURAL:$1|1 Abfroch|$1 Abfroche}}',
+'nimagelinks' => 'Verwendt uff {{PLURAL:$1|en Seit|$1 Seite}}',
+'ntransclusions' => 'Verwendt uff {{PLURAL:$1|en Seit|$1 Seite}}',
+'specialpage-empty' => 'Do sind aktuell ken zutreffende Einträche voarhand.',
+'lonelypages' => 'Verwaist Seite',
+'lonelypagestext' => 'Die follichenden Seite werre net eingebund orrer das weard net uff sie in {{SITENAME}} verwies.',
+'uncategorizedpages' => 'Net kategorisierte Seite',
+'uncategorizedcategories' => 'Net kategorisierte Kategorie',
+'uncategorizedimages' => 'Net kategorisierte Dateie',
+'uncategorizedtemplates' => 'Net kategorisierte Vorlage',
+'unusedcategories' => 'Verwaiste Kategorie',
+'unusedimages' => 'Verwaiste Dateie',
+'popularpages' => 'Beliebteste Seite',
+'wantedcategories' => 'Gewünschte Kategorie',
+'wantedpages' => 'Gewünschte Seite',
+'wantedpages-badtitle' => 'Ungülticher Titel im Ergebnis: $1',
+'wantedfiles' => 'Gewünschte Dateie',
+'wantedfiletext-cat' => 'Die follichende Dateie werre verwendt, sind jedoch net voarhand. Voarhandne Dateie aus fremde Repositorie könne dennoch hier uffgelistet sin und werre <del>doorrichgestrich</del> für se siehn dogestellt. Zusätzlich werre Seite, wo net voarhandne Dateie enthalle, in die [[:$1]] eingeordnet.',
+'wantedfiletext-nocat' => 'Die follichende Dateie werre verwendt, sind jedoch net voarhand. Voarhandne Dateie aus fremde Repositorie könne dennoch hier uffgelistet sin und werre <del>doorrichgestrich</del> dargestellt.',
+'wantedtemplates' => 'Gewünschte Voarlooche',
+'mostlinked' => 'Seite mit den meiste Links',
+'mostlinkedcategories' => 'Meistbenutzte Kategorie',
+'mostlinkedtemplates' => 'Meistbenutzte Voarlooche',
+'mostcategories' => 'Seiten mit den meiste Kategorie',
+'mostimages' => 'Meistbenutzte Dateie',
+'mostinterwikis' => 'Seite mit den meiste Interwikilinks',
+'mostrevisions' => 'Seite mit den meiste Versione',
+'prefixindex' => 'All Seite (mit Präfix)',
+'prefixindex-namespace' => 'Alle Seite mit Präfix (Nameraum $1)',
+'prefixindex-strip' => 'Präfix in der Liste abschneide',
+'shortpages' => 'Koorze Seite',
+'longpages' => 'Lange Seite',
+'deadendpages' => 'Net verlinkende Seite',
+'deadendpagestext' => 'Die follichende Seite verweise net uff annre Seite von {{SITENAME}}.',
+'protectedpages' => 'Geschützte Seite',
+'protectedpages-indef' => 'Nuar unbeschränkt geschützte Seite zeiche',
+'protectedpages-cascade' => 'Nuar Seite mit Kaskadeschutz',
+'protectedpages-noredirect' => 'Weiterleitunge ausblende',
+'protectedpagesempty' => 'Aktuell sind ken Seite mit den Parameter geschützt.',
+'protectedpages-timestamp' => 'Zeitstempel',
+'protectedpages-page' => 'Seit',
+'protectedpages-expiry' => 'Gültich bis',
+'protectedpages-performer' => 'Geschützt von',
+'protectedpages-params' => 'Schutzparameter',
+'protectedpages-reason' => 'Grund',
+'protectedpages-unknown-timestamp' => 'Unbekannt',
+'protectedpages-unknown-performer' => 'Unbekannter Benutzer',
+'protectedtitles' => 'Geschützte Seitenoome',
+'protectedtitlesempty' => 'Zurzeit sind mit den oongebne Parameter ken Seite zur Neierstellung gesperrt.',
+'listusers' => 'Benutzerverzeichnis',
+'listusers-editsonly' => 'Zeich nuar Benutzer mit Beiträche',
+'listusers-creationsort' => 'Noh Erstelldatum sortiere',
+'listusers-desc' => 'In absteichender Reihenfolche sortiere',
+'usereditcount' => '$1 {{PLURAL:$1|Beoorbeitung|Beoorbeitunge}}',
+'usercreated' => '{{GENDER:$3|Erstellt}} am $1 um $2 Uhr',
+'newpages' => 'Neie Seite',
+'newpages-username' => 'Benutzernoome:',
+'ancientpages' => 'Seit längrem unbeoorbeitete Seite',
+'move' => 'Verschiebe',
+'movethispage' => 'Seit verschiebe',
+'unusedimagestext' => 'Bittschön beacht, dass anre Webseite en Datei mit en direkte URL verlinke könne. Die könnte doher hier uffgelistet sin, obwohl die in aktiver Verwendung ist.',
+'unusedcategoriestext' => 'Die Spezialseit zeicht all Kategorie, wo leer sind, also sellebst ken Kategorie orrer Seite enthalle.',
+'notargettitle' => 'Ken Seit oongeb',
+'notargettext' => 'Du host net oongeb, uff was für Seit die Funktion oongewendt werre soll.',
+'nopagetitle' => 'Seit net voarhand',
+'nopagetext' => 'Die oongebne Seit ist net vorhand.',
+'pager-newer-n' => '{{PLURAL:$1|nächster|nächste $1}}',
+'pager-older-n' => '{{PLURAL:$1|voarhericher|voarheriche $1}}',
+'suppress' => 'Oversight (Üwerwächtung)',
+'querypage-disabled' => 'Die Spezialseit woard aus Gründe von der Leistungserhaltung deaktiviert.',
+
+# Book sources
+'booksources' => 'ISBN-Suche',
+'booksources-search-legend' => 'Such noh Bezugsquelle für Bücher',
+'booksources-go' => 'Suche',
+'booksources-text' => 'Dies ist en List mit Links zu Internetseite, wo neie und gebrauchte Bücher verkoofe. Dort kann das ooch weitre Informationen üwer die Bücher gebe. {{SITENAME}} ist mit kenem von der Oonbieter geschäftlich verbünd.',
+'booksources-invalid-isbn' => 'Vermutlich ist die ISBN ungültich.
+Bittschön prüf, ob die korrekt von der Quell üwertroohr woard.',
+
+# Special:Log
+'specialloguserlabel' => 'Ausführender Benutzer:',
+'speciallogtitlelabel' => 'Ziel (Titel orrer Benutzer):',
+'log' => 'Logbücher',
+'all-logs-page' => 'Alle öffentliche Logbücher',
+'alllogstext' => 'Das ist die kombinierte Oonzeich von all in {{SITENAME}} geführte Logbücher.
+Die Ausgäb kann doorrich die Auswahl von der Logbuchtyp, von der Benutzer orrer der Seitetitel ingeschränkt sin (Gross-/Klenschreibung muss beachtet sin).',
+'logempty' => 'Ken passende Einträch.',
+'log-title-wildcard' => 'Titel beginnt mit …',
+'showhideselectedlogentries' => 'Ausgewählte Logbucheinträch oonzeiche/verstecke',
+
+# Special:AllPages
+'allpages' => 'All Seite',
+'alphaindexline' => '$1 bis $2',
+'nextpage' => 'Nächste Seit ($1)',
+'prevpage' => 'Vorhrich Seit ($1)',
+'allpagesfrom' => 'Seite oonzeiche ab:',
+'allpagesto' => 'Seite oonzeiche bis:',
+'allarticles' => 'Alle Seite',
+'allinnamespace' => 'Alle Seite (Noomeraum: $1)',
+'allpagessubmit' => 'Oonwenne',
+'allpagesprefix' => 'Seite oonzeiche mit Präfix:',
+'allpagesbadtitle' => 'Der ingebne Seitenoome ist ungültich: Der hot entweder en voarangestelltes Sproch-, en Interwiki-Kürzel orrer enthält en orrer mehrre Zeiche, wo in Seitenoome net dürfe verwendt sin.',
+'allpages-bad-ns' => 'Der Noomeraum "$1" ist in {{SITENAME}} net voarhand.',
+'allpages-hide-redirects' => 'Weiterleitunge ausblende',
+
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'Du siehst die gecachte Version (Englisch: "cached version") von der Seit, wo bis zu $1 alt sin kann.',
+'cachedspecial-viewing-cached-ts' => 'Du siehst die gecachte Version (Englisch: "cached version") von der Seit, die möglicherweis net aktuell ist.',
+'cachedspecial-refresh-now' => 'Aktuelle Version oonsiehn.',
+
+# Special:Categories
+'categories' => 'Kategoriee',
+'special-categories-sort-count' => 'Sortierung noh Oonzoohl',
+'special-categories-sort-abc' => 'Sortierung noh Alphabet',
+
+# Special:DeletedContributions
+'deletedcontributions' => 'Abgewischte Beiträch',
+'deletedcontributions-title' => 'Abgewischte Beiträch',
+'sp-deletedcontributions-contribs' => 'Benutzerbeiträche',
+
+# Special:LinkSearch
+'linksearch' => 'Weblinksuch',
+'linksearch-pat' => 'Suchmuster:',
+'linksearch-ns' => 'Noomeraum:',
+'linksearch-ok' => 'Suche',
+'linksearch-line' => '$1 ist verlinkt von $2',
+
+# Special:ListUsers
+'listusersfrom' => 'Zeich Benutzer ab:',
+'listusers-submit' => 'Zeich',
+'listusers-noresult' => 'Ken Benutzer gefund.',
+'listusers-blocked' => '(gesperrt)',
+
+# Special:ActiveUsers
+'activeusers' => 'Aktive Benutzer',
+'activeusers-from' => 'Zeich Benutzer ab:',
+'activeusers-hidebots' => 'Bots ausblende',
+'activeusers-hidesysops' => 'Administratore ausblende (verstecke)',
+'activeusers-noresult' => 'Kene Benutzer gefund.',
+
+# Special:ListGroupRights
+'listgrouprights' => 'Benutzergrupperechte',
+'listgrouprights-group' => 'Grupp:',
+'listgrouprights-rights' => 'Rechte',
+'listgrouprights-helppage' => 'Help:Grupperechte',
+'listgrouprights-members' => '(Mitgliederlist)',
+'listgrouprights-addgroup' => 'Benutzer zu {{PLURAL:$2|der Grupp|die Gruppe}} hinzufügen: $1',
+'listgrouprights-removegroup' => 'Benutzer aus {{PLURAL:$2|die Grupp|die Gruppe}} entferne: $1',
+'listgrouprights-addgroup-all' => 'Benutzer zu alle Gruppe hinzufüche',
+'listgrouprights-removegroup-all' => 'Benutzer aus alle Gruppe entferne',
+'listgrouprights-addgroup-self-all' => 'Kann alle Gruppe zum eichne Konto hinzufüche',
+'listgrouprights-removegroup-self-all' => 'Kann alle Gruppe vom eichne Konto entferne (removiere)',
+
+# Email user
+'mailnologin' => 'Fehler beim E-Mail-Versand',
+'emailuser' => 'E-Mail an den Benutzer',
+'emailuser-title-notarget' => 'E-Mail an Benutzer',
+'emailpage' => 'E-Mail an Benutzer',
+'usermailererror' => 'Das E-Mail-Objekt gab en Fehler zurück:',
+'defemailsubject' => '{{SITENAME}} – E-Mail von Benutzer "$1"',
+'usermaildisabled' => 'E-Mail-Empfang deaktiviert',
+'usermaildisabledtext' => 'Du kannst in dem Wiki keh E-Mails an annre Benutzer sende',
+'noemailtitle' => 'Ken E-Mail-Adress',
+'noemailtext' => 'Der Benutzer hot ken gültiche E-Mail-Adress oongeb.',
+'nowikiemailtitle' => 'E-Mail-Versand net möchlich',
+'nowikiemailtext' => 'Der Benutzer möcht ken E-Mails von annre Benutzer erhalle.',
+'emailnotarget' => 'Nicht vorhandner orrer ungülticher Benutzernoome für den Empfang von en E-Mail.',
+'emailtarget' => 'Benutzernoome von der Empfänger rengebe',
+'emailusername' => 'Benutzernoome:',
+'emailusernamesubmit' => 'Weiter',
+'email-legend' => 'E-Mail an en annre {{SITENAME}}-Benutzer sende',
+'emailfrom' => 'Von:',
+'emailto' => 'An:',
+'emailsubject' => 'Betreff:',
+'emailmessage' => 'Nachricht:',
+'emailsend' => 'Sende',
+'emailccme' => 'Sende en Kopie von der E-Mail an mich',
+'emailccsubject' => 'Kopie von deiner Nachricht an $1: $2',
+'emailsent' => 'E-Mail verschickt',
+'emailsenttext' => 'Dein E-Mail woard verschickt.',
+'emailuserfooter' => 'Die E-Mail woard von {{SITENAME}}-Benutzer "$1" an "$2" gesendt.',
+
+# User Messenger
+'usermessage-summary' => 'Systemnachricht gespeichert.',
+'usermessage-editor' => 'System-Messenger',
+
+# Watchlist
+'watchlist' => 'Beobachtungslist',
+'mywatchlist' => 'Beobachtungslist',
+'watchlistfor2' => 'Von $1 $2',
+'nowatchlist' => 'Do befind sich ken Einträch uff dein Beobachtungslist.',
+'watchlistanontext' => 'Du musst dich $1, um dein Beobachtungslist siehn orrer Einträch uff ihr beoorbeiteno könne.',
+'watchnologin' => 'Net oongemeldt',
+'watchnologintext' => 'Du musst [[Special:UserLogin|oongemeldt]] sin, um dein Beobachtungslist beoorbeite könne.',
+'addwatch' => 'Zur Beobachtungslist hinzufüche',
+'watch' => 'Beobachte',
+'watchthispage' => 'Die Seit beobachte',
+'unwatch' => 'Net mehr beobachte',
+'unwatchthispage' => 'Net meahr beobachte',
+'notanarticle' => 'Ken Seit',
+'notvisiblerev' => 'Versionur woard abgewischt',
+'watchlist-details' => 'Du beobachtest {{PLURAL:$1|en Seit|$1 Seite}}, ohne dass Diskussionsseit gezählt werre.',
+'wlheader-enotif' => 'Der E-Mail-Benachrichtigungsdienst ist aktiviert.',
+'wlheader-showupdated' => "Seite mit noch net gesiehne Ännrunge werre'''fett''' dorgestellt.",
+'watchmethod-recent' => 'Üwerprüfung von der letzte Beoorbeitungen für die Beobachtungslist (mit observierte Seite)',
+'watchmethod-list' => 'Üwerprüfung von der Beobachtungslist noh letzte Beoorbeitunge',
+'wlshowlast' => 'Zeich die Ännrunge von der letzte $1 Stunde, $2 Tooch orrer $3.',
+'watchlist-options' => 'Oonzeichoptione',
+
+# Displayed when you click the "watch" button and it is in the process of watching
+'watching' => 'Beobachte …',
+'unwatching' => 'Netmehr beobachte …',
+
+'enotif_reset' => 'Alle Seite wie besucht markiere',
+'enotif_impersonal_salutation' => '{{SITENAME}}-Benutzer',
+'enotif_subject_deleted' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} abgewischt',
+'enotif_subject_created' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} erstellt',
+'enotif_subject_moved' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} verschob',
+'enotif_subject_restored' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} wiederheargestellt',
+'enotif_subject_changed' => '{{SITENAME}}-Seit $1 woard von {{GENDER:$2|$2}} geännert',
+'enotif_body_intro_deleted' => 'Die {{SITENAME}}-Seit $1 woard am $PAGEEDITDATE von {{GENDER:$2|$2}} abgewischt. Sieh $3.',
+'enotif_body_intro_created' => 'Die {{SITENAME}}-Seit $1 woard am $PAGEEDITDATE von {{GENDER:$2|$2}} erstellt. Sieh $3 für die aktuelle Version.',
+'enotif_anon_editor' => 'Anonymer Benutzer $1',
+
+# Delete
+'deletepage' => 'Seite abwische',
+'confirm' => 'Bestätich',
+'excontent' => 'Inhalt woor: "$1"',
+'exblank' => 'Seit woor leer',
+'delete-confirm' => 'Abwische von „$1“',
+'delete-legend' => 'Abwische',
+'actioncomplete' => 'Aktion beennet',
+'actionfailed' => 'Aktion fehlgeschloohn',
+'dellogpage' => 'Lösch-Logbuch',
+'deletionlog' => 'Abwäsch-Logbuch',
+'reverted' => 'Uff en alte Version zurückgesetzt',
+'deletecomment' => 'Grund:',
+'deleteotherreason' => 'Annrer/ergänzender Grund:',
+'deletereasonotherlist' => 'Annrer Grund',
+'delete-edit-reasonlist' => 'Abwischgründe beoorbeite',
+
+# Rollback
+'rollback' => 'Zurücksetze von der Ännrunge',
+'rollback_short' => 'Zurücksetze',
+'rollbacklink' => 'Zurücksetze',
+'rollbackfailed' => 'Zurücksetze gescheitert',
+
+# Edit tokens
+'sessionfailure-title' => 'Sitzungsfehler',
+
+# Protect
+'protectlogpage' => 'Seiteschutz-Logbuch',
+'protectedarticle' => 'geschützt „[[$1]]“',
+'protect-badnamespace-title' => 'Net-schützbarer Noomeraum',
+'protect-badnamespace-text' => 'Seite von dem Noomeraums könne net geschützt sin.',
+'protect-norestrictiontypes-text' => 'Die Seit kann net geschützt sin, weil ken Beschränkungstype verfüchbar sind.',
+'protect-norestrictiontypes-title' => 'Seite net schützbar',
+'protect-legend' => 'Seiteschutzstatus ännre',
+'protectcomment' => 'Grund:',
+'protectexpiry' => 'Sperrdauer:',
+'protect_expiry_invalid' => 'Die ingebne Dauer ist ungültich.',
+'protect_expiry_old' => 'Die Sperrzeit lieht in der Vergangheit.',
+'protect-unchain-permissions' => 'Separate Sperroptione aktiviere',
+'protect-text' => 'Hier kannst du den Schutzstatus der Seite "$1" insiehn und ännre.',
+'protect-default' => 'Alle Benutzer',
+'protect-level-sysop' => 'Nuar Administratore erlaube',
+'protect-summary-cascade' => 'kaskadierend',
+'protect-expiring' => 'bis $2, $3 Uhr (UTC)',
+'protect-expiring-local' => 'bis $1',
+'protect-expiry-indefinite' => 'unbeschränkt',
+'protect-cascade' => 'Kaskadierende Sperre – alle in die Seite eingebundne Voarlooche werre ewefalls gesperrt.',
+'protect-cantedit' => 'Du kannst die Sperr von der Seit net ännre, weil du ken Berechtichung zum Beoorbeite von der Seit host.',
+'protect-othertime' => 'Anner Sperrdauer:',
+'protect-othertime-op' => 'anner Sperrdauer',
+'protect-existing-expiry' => 'Aktuelles Seiteschutzend: $2, $3 Uhr',
+'protect-otherreason' => 'Annre/ergänzender Grund:',
+'protect-otherreason-op' => 'Annrer Grund',
+'restriction-type' => 'Schutzstatus:',
+'restriction-level' => 'Schutzhöch:',
+'minimum-size' => 'Mindestgröss',
+'maximum-size' => 'Maximalgröss:',
+'pagesize' => '(Bytes)',
+
+# Restrictions (nouns)
+'restriction-edit' => 'Beoorbeite',
+'restriction-move' => 'Verschiebe',
+'restriction-create' => 'Erstell',
+'restriction-upload' => 'Hochlood',
+
+# Restriction levels
+'restriction-level-sysop' => 'geschützt (nuar Administratore)',
+'restriction-level-autoconfirmed' => 'geschützt (nuar oongemeldete, net neie Benutzer)',
+'restriction-level-all' => 'alle',
+
+# Undelete
+'undelete' => 'Abgewischte Seite oonzeiche',
+'undeletepage' => 'Abgewischte Seite oonzeichr und wiederhearstelle',
+'viewdeletedpage' => 'Abgewischte Seite oonzeiche',
+'undelete-fieldset-title' => 'Wiederhearstelle',
+'undelete-nodiff' => 'Ken voarhergehend Version voarhand.',
+'undeletebtn' => 'Wiederherstelle',
+'undeletelink' => 'oonsiehn/wiederherstelle',
+'undeleteviewlink' => 'oongucke',
+'undeleteinvert' => 'Auswahl umkehre',
+'undeletecomment' => 'Grund:',
+'cannotundelete' => 'Die Wiederhearstellung ist fehlgeschlooht:
+$1',
+'undelete-search-title' => 'Noh abgewischte Seite suche',
+'undelete-search-box' => 'Noh abgewischte Seite suche',
+'undelete-search-prefix' => 'Suchbegriff (Wortoonfang ohne Wildcards):',
+'undelete-search-submit' => 'Such',
+'undelete-no-results' => 'Do woard im Archiv ken zum Suchbegriff passend Seit gefund.',
+'undelete-error' => 'Beim Wiederhearstelle von der Seit ist en Fehler uffgetret.',
+'undelete-error-short' => 'Fehler beim Wiederhearstell von der Datei $1',
+'undelete-show-file-submit' => 'Jo',
+
+# Namespace form on various pages
+'namespace' => 'Noomeraum:',
+'invert' => 'Auswoohl umkehre',
+'namespace_association' => 'Zugehöricher Noomeraum',
+'blanknamespace' => '(Seite)',
+
+# Contributions
+'contributions' => '{{GENDER:$1|Benutzerbeiträche}}',
+'contributions-title' => 'Benutzerbeiträche von „$1“',
+'mycontris' => 'Beiträche',
+'contribsub2' => 'Von {{GENDER:$3|$1}} ($2)',
+'uctop' => '(aktuell)',
+'month' => 'und Monat:',
+'year' => 'bis Joahr (und früher):',
+
+'sp-contributions-newbies' => 'Zeich nuar Beiträche von neier Benutzer',
+'sp-contributions-newbies-sub' => 'Von neie Benutzer',
+'sp-contributions-newbies-title' => 'Benutzerbeiträch von neie Benutzer',
+'sp-contributions-blocklog' => 'Sperr-Logbuch',
+'sp-contributions-deleted' => 'Abgewischt Beiträch',
+'sp-contributions-uploads' => 'Hochgeloodne Dateie',
+'sp-contributions-logs' => 'Logbücher',
+'sp-contributions-talk' => 'Diskussion',
+'sp-contributions-userrights' => 'Benutzerrechteverwaltung',
+'sp-contributions-search' => 'Such noh Benutzerbeiträche',
+'sp-contributions-suppresslog' => 'Unnerdrückte Benutzerbeiträch',
+'sp-contributions-username' => 'IP-Adress orrer Benutzernoome:',
+'sp-contributions-toponly' => 'Nuar aktuelle Versione zeiche',
+'sp-contributions-submit' => 'Such',
+
+# What links here
+'whatlinkshere' => 'Links uff die Seit',
+'whatlinkshere-title' => 'Seite, die uff "$1" verlinke',
+'whatlinkshere-page' => 'Seit:',
+'linkshere' => "Die follichende Seite verlinke uff '''\"[[:\$1]]\"''':",
+'nolinkshere' => "Ken Seit verlinkt uff '''„[[:$1]]“'''.",
+'isredirect' => 'Weiterleitungsseit',
+'istemplate' => 'Voarlooche-einbinnunge (transclusões)',
+'isimage' => 'Dateilink',
+'whatlinkshere-prev' => '{{PLURAL:$1|voarhericher|voarheriche $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|nächster|nächste $1}}',
+'whatlinkshere-links' => '← Links',
+'whatlinkshere-hideredirs' => 'Weiterleitunge $1',
+'whatlinkshere-hidetrans' => 'Voarlooche-einbinnunge (transclusões) $1',
+'whatlinkshere-hidelinks' => 'Links $1',
+'whatlinkshere-hideimages' => 'Dateilinks $1',
+'whatlinkshere-filters' => 'Filter',
+
+# Block/unblock
+'autoblockid' => 'Automatisch Sperrung #$1',
+'block' => 'Benutzer sperre',
+'unblock' => 'Benutzer frei mache',
+'blockip' => 'IP-Adress/Benutzer sperre',
+'blockip-legend' => 'IP-Adress/Benutzer sperre',
+'ipadressorusername' => 'IP-Adress orrer Benutzernoome:',
+'ipbexpiry' => 'Sperrdauer:',
+'ipbreason' => 'Grund:',
+'ipbcreateaccount' => 'Erstellung von Benutzerkonte verhinnre',
+'ipbsubmit' => 'IP-Adress/Benutzer sperre',
+'ipbother' => 'Annr Dauer:',
+'ipboptions' => '2 Stunne:2 hours,1 Tooch:1 day,3 Tooch:3 days,1 Woch:1 week,2 Woche:2 weeks,1 Monat:1 month,3 Monate:3 months,6 Monate:6 months,1 Joahr:1 year,unbeschränkt:infinite',
+'ipb-confirm' => 'Sperrung bestätiche',
+'badipaddress' => 'Die IP-Adress hot en falsches Format.',
+'blockipsuccesssub' => 'Die Sperrung woor erfollichreich.',
+'ipb-edit-dropdown' => 'Sperrgründe beoorbeite',
+'ipb-unblock-addr' => '„$1“ freigebe (mache)',
+'ipb-blocklist' => 'Alle aktuelle Sperre oonzeiche',
+'ipb-blocklist-contribs' => 'Benutzerbeiträche von "$1"',
+'unblockip' => 'Benutzer frei mache',
+'ipusubmit' => 'Freigewe (frei mache)',
+'unblocked' => '[[User:$1|$1]] woard freigeb (gemacht)',
+'unblocked-range' => 'Sperr für $1 woard uffgehob',
+'blocklist' => 'Gesperrte Benutzer',
+'ipblocklist' => 'Gesperrte Benutzer',
+'ipblocklist-legend' => 'Such noh en gesperrte Benutzer',
+'blocklist-userblocks' => 'Benutzersperre ausblende (verstecke)',
+'blocklist-tempblocks' => 'Befristete Sperre ausblende (verstecke)',
+'blocklist-addressblocks' => 'Sperre einzelner IP-Adresse ausblende (verstecke)',
+'blocklist-rangeblocks' => 'Bereichssperre ausblende (verstecke)',
+'blocklist-timestamp' => 'Zeitstempel',
+'blocklist-target' => 'Ziel',
+'blocklist-expiry' => 'Sperrdauer bis',
+'blocklist-by' => 'Gesperrt von',
+'blocklist-params' => 'Sperrparameter',
+'blocklist-reason' => 'Grund',
+'ipblocklist-submit' => 'Suche',
+'ipblocklist-localblock' => 'Lokal Sperre',
+'ipblocklist-otherblocks' => 'Annrer {{PLURAL:$1|Sperr|Sperre}}',
+'infiniteblock' => 'unbegrenzt',
+'expiringblock' => 'tut enne am $1 um $2 Uhr',
+'anononlyblock' => 'nuar Anonyme',
+'noautoblockblock' => 'Autoblock deaktiviert',
+'createaccountblock' => 'Erstellung von Benutzerkonte gesperrt',
+'emailblock' => 'E-Mail-Versand gesperrt',
+'blocklist-nousertalk' => 'därref eichne Diskussionsseit net beoorbeite',
+'ipblocklist-empty' => 'Die List enthält ken Einträche.',
+'ipblocklist-no-results' => 'Die gesuchte IP-Adress/der Benutzernoome ist net gesperrt.',
+'blocklink' => 'Sperre',
+'unblocklink' => 'Freigewe',
+'change-blocklink' => 'Sperre ännre',
+'contribslink' => 'Beiträche',
+'emaillink' => 'E-Mail sende',
+'blocklogpage' => 'Benutzersperr-Logbuch',
+'blocklogentry' => 'sperrte „[[$1]]“ für den Zeitraum: $2 $3',
+'unblocklogentry' => 'hob die Sperr von "$1" uff',
+'block-log-flags-anononly' => 'nuar Anonyme',
+'block-log-flags-nocreate' => 'Erstellung von Benutzerkonte gesperrt',
+'block-log-flags-noautoblock' => 'Autoblock deaktiviert',
+'block-log-flags-noemail' => 'E-Mail-Versand gesperrt',
+'block-log-flags-nousertalk' => 'därref eichne Diskussionsseit net beoorbeite',
+'block-log-flags-angry-autoblock' => 'erweiterter Autoblock aktiviert',
+'block-log-flags-hiddenname' => 'Benutzernoome versteckt',
+'range_block_disabled' => 'Die Möchlichkeit, ganze Adressräume zu sperre, ist net aktiviert.',
+'ipb_expiry_invalid' => 'Die eingebne Dauer ist ungültich.',
+'ipb_expiry_temp' => 'Benutzernoome-Sperre mit der Verstecke-Option müsse permanent sin.',
+'ip_range_invalid' => 'Ungülticher IP-Adressbereich.',
+'proxyblocker' => 'Proxy blocker',
+
+# Developer tools
+'lockdb' => 'Datebank sperre',
+'unlockdb' => 'Datebank freigebe (mache)',
+'lockbtn' => 'Datebank sperre',
+'unlockbtn' => 'Datebank freigebe (mache)',
+
+# Move page
+'move-page' => 'Verschiebe von "$1"',
+'move-page-legend' => 'Seit verschiebe',
+'movearticle' => 'Seit verschiebe:',
+'newtitle' => 'Ziel (zu neie Titel):',
+'move-watch' => 'Quell- und Zielseit beobachte',
+'movepagebtn' => 'Seit verschiebe',
+'pagemovedsub' => 'Verschiebung erfollichreich',
+'movepage-moved-redirect' => 'En Weiterleitung woard erstellt.',
+'movepage-moved-noredirect' => 'Die Erstellung von en Weiterleitung woard unnerdrückt.',
+'articleexists' => 'Unner dem Noome existiert schon en Seit. Bittschön wähl en annre Noome.',
+'movelogpage' => 'Verschiebungs-Logbuch',
+'movereason' => 'Grund:',
+'revertmove' => 'zurück verschiebe',
+'delete_and_move' => 'Abwische und verschiebe',
+'delete_and_move_confirm' => 'Jo, Seit abwische',
+'immobile-source-page' => 'Die Seit ist net verschiebbar.',
+'immobile-target-page' => 'Es kann net uff die Zielseit verschob sin.',
+'move-leave-redirect' => 'Weiterleitung erstelle',
+
+# Export
+'export' => 'Seite exportiere',
+'exportall' => 'Alle Seite exportiere',
+'export-submit' => 'Seite exportiere',
+'export-addcattext' => 'Seite aus follichender Kategorie hinzufüche:',
+'export-addcat' => 'Hinzufüche',
+'export-addnstext' => 'Seite aus follichendem Noomeraum hinzufüche:',
+'export-addns' => 'Hinzufüche',
+'export-download' => 'Wie XML-Datei speichre',
+'export-templates' => 'Inklusive Vorlooche',
+'export-pagelinks' => 'Verlinkte Seite automatisch mit exportiere, bis zur Rekursionstiefe von:',
+
+# Namespace 8 related
+'allmessages' => 'MediaWiki-Systemnachrichte',
+'allmessagesname' => 'Noome',
+'allmessagesdefault' => 'Standardtext',
+'allmessagescurrent' => 'Aktueller Text',
+'allmessages-filter-legend' => 'Filter',
+'allmessages-filter-unmodified' => 'Unverännert',
+'allmessages-filter-all' => 'Alle',
+'allmessages-filter-modified' => 'Geännert',
+'allmessages-prefix' => 'Präfixfilter:',
+'allmessages-language' => 'Sproch:',
+'allmessages-filter-submit' => 'Geh, los',
+'allmessages-filter-translate' => 'Üwersetze',
+
+# Thumbnails
+'thumbnail-more' => 'vergrösser',
+'filemissing' => 'Datei fehlt',
+'thumbnail_error' => 'Fehler beim Erstelle von der Voarschaubild: $1',
+'thumbnail_error_remote' => 'Fehlermeldung von $1:
+$2',
+'djvu_page_error' => 'DjVu-Seit ausserhalleb von der Seitbereich',
+
+# Special:Import
+'import' => 'Seite importiere',
+'importinterwiki' => 'Transwiki-Import',
+'import-interwiki-templates' => 'Alle Vorlooche einschliesse',
+'import-interwiki-submit' => 'Importiere',
+'import-interwiki-namespace' => 'Zielnoomeraum:',
+'import-upload-filename' => 'Dateinoome:',
+'import-comment' => 'Grund:',
+'importstart' => 'Importiere Seite …',
+'importbadinterwiki' => 'Falscher Interwiki-Link',
+'importnotext' => 'Leer oder ken Text',
+'importsuccess' => 'Import abgeschloss.',
+'importnofile' => 'Es ist ken Importdatei ausgewählt worre.',
+'import-noarticle' => 'Do woard ken zu importierend Seit oongeb!',
+
+# Import log
+'importlogpage' => 'Import-Logbuch',
+
+# Tooltip help for the actions
+'tooltip-pt-userpage' => 'Dein Benutzerseit',
+'tooltip-pt-mytalk' => 'Dein Diskussionsseit',
+'tooltip-pt-preferences' => 'Eichne Instellunge',
+'tooltip-pt-watchlist' => 'List von der beobachtete Seite',
+'tooltip-pt-mycontris' => 'List eichner Beiträche',
+'tooltip-pt-login' => 'Sich oonzumelde weard zwoor gern gesiehn, ist awer ken Flicht.',
+'tooltip-pt-logout' => 'Abmelde',
+'tooltip-ca-talk' => 'Diskussion zum Seiteinhalt',
+'tooltip-ca-edit' => 'Seit beoorbeite. Bitte voar dem Speichre die Voarschaufunktion benutze.',
+'tooltip-ca-addsection' => 'Neie Abschnitt oonfänge',
+'tooltip-ca-viewsource' => 'Die Seit ist geschützt. Ehr Quelltext kann dennoch oongesiehn und kopiert sin.',
+'tooltip-ca-history' => 'Frühre Versione von der Seit',
+'tooltip-ca-protect' => 'Die Seit schütze',
+'tooltip-ca-delete' => 'Die Seit lösche',
+'tooltip-ca-move' => 'Die Seit verschiebe',
+'tooltip-ca-watch' => 'Die Seit zur persönliche Beobachtungslist hinzufüche',
+'tooltip-ca-unwatch' => 'Die Seit von persönliche Beobachtungslist entferne',
+'tooltip-search' => '{{SITENAME}} doorrichsuche',
+'tooltip-search-go' => 'Geh direkt zu der Seit, wo exakt dem ingebne Noome entsprecht.',
+'tooltip-search-fulltext' => 'Such noh Seite, wo den Text enthalle',
+'tooltip-p-logo' => 'Hauptseit',
+'tooltip-n-mainpage' => 'Hauptseit',
+'tooltip-n-mainpage-description' => 'Hauptseit',
+'tooltip-n-portal' => 'Üwer das Projekt, was du tun kannst, wo was zu finne ist',
+'tooltip-n-currentevents' => 'Hinnergrundinformatione zu aktuelle Ereichnisse',
+'tooltip-n-recentchanges' => 'List von der letzte Ändrunge in {{SITENAME}}',
+'tooltip-n-randompage' => 'Zufälliche Seit uffrufe',
+'tooltip-n-help' => 'Hellefseit oonzeiche',
+'tooltip-t-whatlinkshere' => 'List von aller Seite, wo hierher verlinken',
+'tooltip-t-recentchangeslinked' => 'Letzt Ännrunge an Seite, wo von hier verlinkt sind',
+'tooltip-feed-atom' => 'Atom-Feed die Seit',
+'tooltip-t-contributions' => 'List von dem Benutzer sein Beiträche oonsiehn',
+'tooltip-t-emailuser' => 'En E-Mail an den Benutzer sende',
+'tooltip-t-upload' => 'Dateie hochloode',
+'tooltip-t-specialpages' => 'List aller Spezialseite',
+'tooltip-t-print' => 'Druckoonsicht von der Seit',
+'tooltip-t-permalink' => 'Dauerhafter Link zu der Seiteversion',
+'tooltip-ca-nstab-main' => 'Seiteinhalt oonzeiche',
+'tooltip-ca-nstab-user' => 'Benutzerseite oonzeiche',
+'tooltip-ca-nstab-media' => 'Mediedateieseit oonzeiche',
+'tooltip-ca-nstab-special' => 'Das ist en Spezialseit. Die kann net beoorbeitet sin.',
+'tooltip-ca-nstab-project' => 'Portalseit oonzeiche',
+'tooltip-ca-nstab-image' => 'Dateiseit oonzeiche',
+'tooltip-ca-nstab-mediawiki' => 'MediaWiki-Systemtext oonzeiche',
+'tooltip-ca-nstab-template' => 'Voarlooche oonzeiche',
+'tooltip-ca-nstab-help' => 'Hellefseit oonzeiche',
+'tooltip-ca-nstab-category' => 'Kategorieseit oonzeiche',
+'tooltip-minoredit' => 'Die Ännrung als klen markiere.',
+'tooltip-save' => 'Ändrunge speichre',
+'tooltip-preview' => 'Voarschau von der Ändrunge an die Seit. Bitte voar dem Speichre benutze!',
+'tooltip-diff' => 'Ännrunge am Text zeiche',
+'tooltip-compareselectedversions' => 'Unnerschied zwischich zwooi ausgewählte Versione von der Seit oonzeiche',
+'tooltip-watch' => 'Die Seit zu deiner Beobachtungslist hinzufüche',
+'tooltip-watchlistedit-normal-submit' => 'Einträche entferne',
+'tooltip-watchlistedit-raw-submit' => 'Beobachtungsliste aktualisiere',
+'tooltip-recreate' => 'Seit nei erstelle, obwohl die abgewischt woard',
+'tooltip-upload' => 'Hochloode oonfänge',
+'tooltip-rollback' => '"Retuar" macht all die letzte Seit Ännrunge, wo vom letzte Benutzer gemach sind worre, nuar doorirch ene Klick komplet rückgängich.',
+'tooltip-undo' => '"Umwerfe" Macht ledichlich die en Ännrung rückgängich und zeicht das Resultoot in der Vorschau an, domit in der Zusammenfassungszeil, im Summarium, en Begründung oongeb sin kann.',
+'tooltip-preferences-save' => 'Einstellunge speichre',
+'tooltip-summary' => 'Tue en koorz Zusammerfassung ren gewe.',
+
+# Attribution
+'others' => 'annre',
+'creditspage' => 'Seiteinformatione',
+'nocredits' => 'Für die Seit sind ken Informatione voarhand.',
+
+# Spam protection
+'spamprotectiontitle' => 'Spamschutzfilter',
+
+# Info page
+'pageinfo-header-basic' => 'Basisinformatione',
+'pageinfo-header-edits' => 'Beoorbeitungsgeschicht',
+'pageinfo-header-restrictions' => 'Seiteschutz',
+'pageinfo-header-properties' => 'Seiteeigenschafte',
+'pageinfo-display-title' => 'Oonzeichtitel',
+'pageinfo-default-sort' => 'Standardsortierschlüssel',
+'pageinfo-length' => 'Seitelänge (in Bytes)',
+'pageinfo-article-id' => 'Seitekennnummer',
+'pageinfo-language' => 'Seiteinhaltssproch',
+'pageinfo-content-model' => 'Seiteinhaltsmodell',
+'pageinfo-robot-policy' => 'Indizierung doorrich Suchmaschine',
+'pageinfo-robot-index' => 'Erlaubt',
+'pageinfo-robot-noindex' => ' Net erlaubt',
+'pageinfo-views' => 'Oonzoohl von der Seiteuffrufe',
+'pageinfo-watchers' => 'Oonzoohl von der Seit ehr Beobachter',
+'pageinfo-few-watchers' => 'Wenicher wie {{PLURAL:$1|ein|$1}} Beobachter',
+'pageinfo-redirects-name' => 'Oonzoohl von der Weiterleitunge zu der Seit',
+'pageinfo-subpages-name' => 'Unnerseite von der Seit',
+'pageinfo-firstuser' => 'Seiteersteller',
+'pageinfo-firsttime' => 'Datum von der Seiteerstellung',
+'pageinfo-lastuser' => 'Letzter Bearbeiter',
+'pageinfo-lasttime' => 'Datum von der letzte Bearbeitung',
+'pageinfo-edits' => 'Gesamtzoohl von der Beoorbeitunge',
+'pageinfo-authors' => 'Gesamtzoohl unnerschiedlicher Autore',
+'pageinfo-recent-edits' => 'Anzoohl von der kürzlich erfollichte Beoorbeitung (innerhalleb von der letzte $1)',
+'pageinfo-toolboxlink' => 'Seiteinformatione',
+'pageinfo-redirectsto' => 'Weiterleitunge noh',
+'pageinfo-redirectsto-info' => 'Information',
+'pageinfo-contentpage' => 'Gezählt wie en Inhaltsseit',
+'pageinfo-contentpage-yes' => 'Jo',
+'pageinfo-protect-cascading' => 'Seite mit Kaskadeschutz von hier',
+'pageinfo-protect-cascading-yes' => 'Jo',
+'pageinfo-protect-cascading-from' => 'Seite mit Kaskadeschutz von',
+'pageinfo-category-info' => 'Kategorieinformatione',
+'pageinfo-category-pages' => 'Anzoohl von der Seite',
+'pageinfo-category-subcats' => 'Anzoohl von der Unnerkategoriee',
+'pageinfo-category-files' => 'Oonzoohl von der Dateie',
+
+# Patrolling
+'markaspatrolleddiff' => 'Wie kontrolliert markiere',
+
+# Patrol log
+'patrol-log-page' => 'Kontroll-Logbuch',
+
+# Browsing diffs
+'previousdiff' => '← Zum voarherichen Versionsunnerschied',
+'nextdiff' => 'Zum nächste Versionsunnerschied →',
+
+# Media information
+'file-info-size' => '$1 × $2 Pixel, Dateigröss: $3, MIME-Typ: $4',
+'file-nohires' => 'Ken höchre Ufflösun voarhand.',
+'svg-long-desc' => 'SVG-Datei, Basisgröss: $1 × $2 Pixel, Dateigröss: $3',
+'show-big-image' => 'Originaldatei',
+'file-info-gif-looped' => 'Endlosschleif',
+
+# Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'ago' => 'vor $1',
+'just-now' => 'grood ewe',
+
+# Human-readable timestamps
+'monday-at' => 'Montach um $1',
+'tuesday-at' => 'Dienstach um $1',
+'wednesday-at' => 'Mittwoch um $1',
+'thursday-at' => 'Donnerstach um $1',
+'friday-at' => 'Freitach um $1',
+'saturday-at' => 'Samstach um $1',
+'sunday-at' => 'Sonntach um $1',
+'yesterday-at' => 'Gester um $1',
+
+# Bad image list
+'bad_image_list' => 'Format:
+
+Nuar Zeile, wo mit enem * oonfang, werre ausgewertet. Als earstes noh dem * muss en Link uff en unerwünschte Datei stehn.
+Druff follichende Seitelinks in derselwe Zeile definiere Ausnoohme, in dene ehre Kontext die Datei trotzdem erscheine därref.',
+
+# Metadata
+'metadata' => 'Metadate',
+'metadata-help' => 'Die Datei enthält weitre Informatione, wo in der Rechel von der Digitalkamera orrer dem verwennete Scanner stämme. Doorrich nohträchliche Beoorbeitung von der Originaldatei könne etliche Detalhes verännert gewes sin.',
+'metadata-expand' => 'Erweiterte Detalhes inblende (zeiche)',
+'metadata-collapse' => 'Erweiterte Detalhes ausblende (verstecke)',
+'metadata-fields' => 'Die follichende Felder von der EXIF-Metadate, wo in dem MediaWiki-Systemtext oongeb sind, werre uff Bildbeschreibungsseite mit ingeklappter Metadatetabelle oongezeicht.
+Weitre werre standardmässich net oongezeicht.
+* make
+* model
+* datetimeoriginal
+* exposuretime
+* fnumber
+* isospeedratings
+* focallength
+* artist
+* copyright
+* imagedescription
+* gpslatitude
+* gpslongitude
+* gpsaltitude',
+
+# Exif tags
+'exif-imagewidth' => 'Breit',
+'exif-imagelength' => 'Höch',
+'exif-bitspersample' => 'Bits por Farrebkomponent',
+'exif-compression' => 'Oort von der Kompression',
+'exif-photometricinterpretation' => 'Pixelzusammersetzung',
+'exif-orientation' => 'Kameraausrichtung',
+'exif-samplesperpixel' => 'Oonzoohl von Komponente',
+'exif-planarconfiguration' => 'Dateausrichtung',
+'exif-ycbcrsubsampling' => 'Subsampling Rate von Y bis C',
+'exif-ycbcrpositioning' => 'Y und C Positionierung',
+'exif-xresolution' => 'Horizontale Auflösung',
+'exif-yresolution' => 'Vertikale Auflösung',
+'exif-stripoffsets' => 'Bilddate-Versatz',
+'exif-rowsperstrip' => 'Oonzoohl Zeile por Streife',
+'exif-stripbytecounts' => 'Bytes por komprimiertem Streif',
+'exif-jpeginterchangeformat' => 'Offset zu JPEG SOI',
+'exif-jpeginterchangeformatlength' => 'Gröss von der JPEG-Date in Bytes',
+'exif-whitepoint' => 'Manuell mit Messung',
+'exif-primarychromaticities' => 'Primäre Farreboort',
+'exif-ycbcrcoefficients' => 'YCbCr-Koeffiziente',
+'exif-referenceblackwhite' => 'Schwarz/Weiß-Referenzpunkte',
+'exif-datetime' => 'Speicherzeitpunkt',
+'exif-imagedescription' => 'Bildtitel',
+'exif-make' => 'Hearsteller',
+'exif-model' => 'Modell',
+'exif-software' => 'Software',
+'exif-artist' => 'Fotograf',
+'exif-copyright' => 'Uarheberrechte (Copyright halter)',
+'exif-exifversion' => 'Exif-Version',
+'exif-flashpixversion' => 'nterstützte Flashpix-Version',
+'exif-colorspace' => 'Farrebraum',
+'exif-componentsconfiguration' => 'Bedeitung einzelner Komponente',
+'exif-compressedbitsperpixel' => 'Komprimierte Bits por Pixel',
+'exif-pixelydimension' => 'Bildbreit',
+'exif-pixelxdimension' => 'Bildhöch',
+'exif-usercomment' => 'Benutzerkommentare',
+'exif-relatedsoundfile' => 'Zugehöriche Tondatei',
+'exif-datetimeoriginal' => 'Erfassungszeitpunkt',
+'exif-datetimedigitized' => 'Digitalisierungszeitpunkt',
+'exif-subsectime' => 'Speicherzeitpunkt (1/100 s)',
+'exif-subsectimeoriginal' => 'Erfassungszeitpunkt (1/100 s)',
+'exif-subsectimedigitized' => 'Digitalisierungszeitpunkt (1/100 s)',
+'exif-exposuretime' => 'Belichtungsdauer',
+'exif-exposuretime-format' => '$1 Sekunde ($2)',
+'exif-fnumber' => 'Blend (Englisch: F Number)',
+'exif-exposureprogram' => 'Belichtungsprogramm',
+'exif-spectralsensitivity' => 'Spectral Sensitivity',
+'exif-isospeedratings' => 'Film- orrer Sensoremfindlichkeit (ISO)',
+'exif-shutterspeedvalue' => 'APEX-Belichtungszeitwert',
+'exif-aperturevalue' => 'APEX-Blendenweart',
+'exif-brightnessvalue' => 'APEX-Helligkeitsweart',
+'exif-exposurebiasvalue' => 'Belichtungsvorgab',
+'exif-maxaperturevalue' => 'Grösste Blend',
+'exif-subjectdistance' => 'Entfernung',
+'exif-meteringmode' => 'Messverfoohre',
+'exif-lightsource' => 'Lichtquell',
+'exif-flash' => 'Blitz',
+'exif-focallength' => 'Brennweit',
+'exif-subjectarea' => 'Bereich',
+'exif-flashenergy' => 'Blitzstärrek',
+'exif-focalplanexresolution' => 'Sensorauflösung horizontal',
+'exif-focalplaneyresolution' => 'Sensorauflösung vertikal',
+'exif-focalplaneresolutionunit' => 'Einheit von der Sensorauflösung',
+'exif-subjectlocation' => 'Motivstandplatz',
+'exif-exposureindex' => 'Belichtungsindex',
+'exif-sensingmethod' => 'Messmethode',
+'exif-filesource' => 'Quell von der Datei',
+'exif-scenetype' => 'Szenetyp',
+'exif-customrendered' => 'Benutzerdefiniert Bildveroorbeitung',
+'exif-exposuremode' => 'Belichtungsmodus',
+'exif-whitebalance' => 'Weissabgleich',
+'exif-digitalzoomratio' => 'Digitalzoom',
+'exif-focallengthin35mmfilm' => 'Brennweite (Klenbildäquivalent)',
+'exif-scenecapturetype' => 'Uffnoohmoort',
+'exif-gaincontrol' => 'Verstärkung',
+'exif-contrast' => 'Kontrast',
+'exif-saturation' => 'Sättichung',
+'exif-sharpness' => 'Schärref',
+'exif-devicesettingdescription' => 'Geräteinstellung',
+'exif-subjectdistancerange' => 'Motiventfernung',
+'exif-imageuniqueid' => 'Bild-ID',
+'exif-gpsversionid' => 'GPS-Tag-Version',
+'exif-gpslatituderef' => 'nördl. orrer südl. Breit',
+'exif-gpslatitude' => 'Geografische Breit',
+'exif-gpslongituderef' => 'östl. orrer westl. Länge',
+'exif-gpslongitude' => 'Geografische Länge',
+'exif-gpsaltituderef' => 'Bezuchshöch',
+'exif-gpsaltitude' => 'Höch',
+'exif-gpstimestamp' => 'GPS-Zeit',
+'exif-gpssatellites' => 'Für die Messung benutzte Satellite',
+'exif-gpsstatus' => 'Emfängerstatus',
+'exif-gpsmeasuremode' => 'Messverfoohre',
+'exif-gpsdop' => 'Messgenauigkeit',
+'exif-gpsspeedref' => 'Geschwindichkeitseinheit',
+'exif-gpsspeed' => 'Geschwindichkeit von des GPS-Empfänger',
+'exif-gpstrackref' => 'Referenz für Bewechungsrichtung',
+
+# 'all' in various places, this might be different for inflected languages
+'watchlistall2' => 'all',
+'namespacesall' => 'all',
+'monthsall' => 'all',
+
+# Watchlist editing tools
+'watchlisttools-view' => 'Beobachtungslist: Ännrunge',
+'watchlisttools-edit' => 'normal beoorbeite',
+'watchlisttools-raw' => 'im Listeformat beoorbeite (Import/Export)',
+
+# Core parser functions
+'duplicate-defaultsort' => 'Achtung: Der Sortierungsschlüssel „$2“ üwerschreibt den voarher verwenndte Schlüssel „$1“.',
+
+# Special:SpecialPages
+'specialpages' => 'Spezialseite',
+
+# External image whitelist
+'external_image_whitelist' => ' #Die Zeil net verännre.<pre>
+#Unnestehend könne Fragmente regulärer Ausdrücke (der Tel zwischich den //) ingeb werre.
+#Die werre mit den URLs von Bilder aus externe Quelle vergleicht.
+#En positiver Vergleich führt zur Oonzeiche von das Bild, annerfoolls weard das Bild nuar als Link oongezeicht.
+#Zeile, wo mit en # oonfänge, sin als Kommentar behandelt.
+#Es weard net zwischich Gross- und Klenschreibung unnerschied.
+
+#Fragmente regulärer Ausdrücke noh der Zeile introohn. Die Zeile net verännre.</pre>',
+
+# Special:Tags
+'tag-filter' => '[[Special:Tags|Markierungs]]-Filter:',
+
+);
'noarticletext' => 'Tuchwilu tuta strona žadyn tekst njewobsahuje. Móžeš [[Special:Search/{{PAGENAME}}|tutón titul strony na druhich stronach pytać]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} wotpowědne protokole pytać] abo [{{fullurl:{{FULLPAGENAME}}|action=edit}} tutu stronu wobdźěłać]</span>.',
'noarticletext-nopermission' => 'Tuchwilu žadyn tekst na tutej stronje njeje.
Móžeš [[Special:Search/{{PAGENAME}}|tutón titul strony]] na druhich stronach pytać abo <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pytaj wotpowědne protokole]</span>, ale nimaš prawo, strou wutworić.',
-'missing-revision' => 'Wersija #$1 strony z mjenom "{{PAGENAME}}" njeeksistuje.
+'missing-revision' => 'Wersija #$1 strony z mjenom "{{FULLPAGENAME}}" njeeksistuje.
Přičina je zwjetša zestarjeny wotkaz w stawiznach k stronje, kotraž je so zhašała.
Podrobnosće móžeš w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protokolu wušmórnjenjow] namakać.',
'revdelete-no-file' => 'Podata dataja njeeksistuje.',
'revdelete-show-file-confirm' => 'Chceš sej woprawdźe wušmórnjenu wersiju dataje "<nowiki>$1</nowiki>" wot $2 $3 wobhladać?',
'revdelete-show-file-submit' => 'Haj',
-'revdelete-selected' => "'''{{PLURAL:$2|Wubrana wersija|Wubranej wersiji|Wubrane wersije|Wubranych wersijow}} wot [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Wubrany zapisk z protokola|Wubranej zapiskaj z protokola|Wubrane zapiski z protokola|Wubrane zapiski z protokola}} za '''$1:''''''",
+'revdelete-selected-text' => '{{PLURAL:$1|Wubrana wersija|Wubranej wersiji|Wubrane wersije}} wot [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Wubrana datajowa wersija|Wubranej datajowej wersiji|Wubrane datajowe wersije}} wot [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Wubrany zapisk z protokola|Wubranej zapiskaj z protokola|Wubrane zapiski z protokola|Wubrane zapiski z protokola}} za $1:',
'revdelete-text-text' => 'Zhašane wersije wostanu hišće we wersijowej historiji, ale dźěle jich wobsaha njebudu přistupne zjawnosći.',
'revdelete-text-file' => 'Zhašane datajowe wersije wostanu w datajowej historiji, ale dźěle jich wobsaha njebudu přistupne zjawnosći.',
'logdelete-text' => 'Zhašane protokolowe zapiski wostanu hišće w protokolach, ale dźěle jich wobsaha njebudu přistupne zjawnosći.',
# List redirects
'listredirects' => 'Lisćina daleposrědkowanjow',
+# List duplicated files special page
+'listduplicatedfiles' => 'Lisćina datajow z duplikatami',
+'listduplicatedfiles-summary' => 'To je lisćina datajow, hdźež najnowša wersija dataje je duplikat najnowšeje wersije někajkeje druheje dataje. Jenož lokalne dataje so wobkedźbuja.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ma [[$3|{{PLURAL:$2|duplikat|$2 duplikataj|$2 duplikaty|$2 duplikatow}}]].',
+
# Unused templates
'unusedtemplates' => 'Njewužiwane předłohi',
'unusedtemplatestext' => 'Tuta strona nalistuje wšě strony w mjenowym rumje {{ns:template}}, kotrež so w druhich stronach njewužiwaja. Prošu přepruwuj druhe wotkazy k předłoham, prjedy hač je wušmórnješ.',
'revisiondelete' => 'Efase/Restore, remèt vèsyon sa',
'revdelete-nooldid-title' => 'Pa genyen sib, destinasyon pou revizyon sa',
'revdelete-show-file-submit' => 'Wi',
-'revdelete-selected' => "'''{{PLURAL:$2|Vèsyon ou seleksyone|Vèsyon ou seleksyone yo}} de $1 :'''",
'revdelete-legend' => 'Mete restriksyon nan vizibilite yo :',
'revdelete-hide-text' => 'Kache tèks ki te modifye',
'revdelete-hide-image' => 'Kache kontni fichye a',
vagy [{{fullurl:{{FULLPAGENAME}}|action=edit}} szerkesztheted a lapot].</span>',
'noarticletext-nopermission' => 'Ez a lap jelenleg nem tartalmaz szöveget.
[[Special:Search/{{PAGENAME}}|Rákereshetsz a lap címére]] más lapok tartalmában, vagy <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} megtekintheted a kapcsolódó naplófájlokat]</span>.',
-'missing-revision' => 'A(z) "{{PAGENAME}}" nevű oldal #$1 változata nem létezik.
+'missing-revision' => 'A(z) "{{FULLPAGENAME}}" nevű oldal #$1 változata nem létezik.
Ezt általában egy elavult, törölt oldalra mutató laptörténeti hivatkozás használata okozza. Részletek a [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} törlési naplóban] találhatóak.',
'userpage-userdoesnotexist' => 'Nincs „<nowiki>$1</nowiki>” nevű regisztrált felhasználónk.
'revdelete-no-file' => 'A megadott fájl nem létezik.',
'revdelete-show-file-confirm' => 'Biztosan meg szeretnéd nézni a(z) „<nowiki>$1</nowiki>” $2, $3-i törölt változatát?',
'revdelete-show-file-submit' => 'Igen',
-'revdelete-selected' => "'''A(z) [[:$1]] lap {{PLURAL:$2|kiválasztott változata|kiválasztott változatai}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Kiválasztott naplóesemény|Kiválasztott naplóesemények}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Kiválasztott naplóesemény|Kiválasztott naplóesemények}}:',
'revdelete-confirm' => 'Kérlek erősítsd meg, hogy valóban ezt szeretnéd tenni; megértetted a következményeket, és amit teszel, az összhangban van [[{{MediaWiki:Policy-url}}|az irányelvekkel]].',
'revdelete-suppress-text' => "Az elrejtés '''csak''' a következő esetekben használható:
* Illetlen személyes információk
'revdelete-nooldid-title' => 'Անվավեր նպատակային տարբերակ',
'revdelete-nooldid-text' => 'Դուք կա՛մ չեք նշել նպատակային տարբերակ(ներ)ը այս ֆունկցիայի կատարման համար, կա՛մ նպատակային տարբերակը գոյություն չունի, կա՛մ էլ դուք փորձում եք թաքցնել ընթացիկ տարբերակը։',
'revdelete-show-file-submit' => 'Այո',
-'revdelete-selected' => "'''[[:$1]] էջի ընտրված {{PLURAL:$2|տարբերակը|տարբերակները}}.'''",
-'logdelete-selected' => "'''Տեղեկամատյանի ընտրված {{PLURAL:$1|գրառումը|գրառումները}}.'''",
+'logdelete-selected' => 'Տեղեկամատյանի ընտրված {{PLURAL:$1|գրառումը|գրառումները}}.',
'revdelete-legend' => 'Սահմանել տեսանելիության սահմանափակումներ',
'revdelete-hide-text' => 'Թաքցնել տարբերակի տեքստը',
'revdelete-hide-image' => 'Թաքցնել նիշքի պարունակությունը',
'gotaccountlink' => 'Aperir session',
'userlogin-resetlink' => 'Datos de authentication oblidate?',
'userlogin-resetpassword-link' => 'Contrasigno oblidate?',
+'userlogin-helplink2' => 'Adjuta al accesso',
'userlogin-loggedin' => 'Tu ha jam aperite session como {{GENDER:$1|$1}}.
Usa le formulario sequente pro aperir session como altere usator.',
'userlogin-createanother' => 'Crear un altere conto',
'createacct-another-realname-tip' => 'Le nomine real es optional.
Si tu opta pro dar lo, isto essera usate pro dar al usator attribution pro su contributiones.',
'pt-login' => 'Aperir session',
+'pt-login-button' => 'Aperir session',
'pt-createaccount' => 'Crear conto',
'pt-userlogout' => 'Clauder session',
'resetpass-abort-generic' => 'Le cambio del contrasigno ha essite abortate per un extension.',
'resetpass-expired' => 'Le contrasigno ha expirate. Per favor defini un nove contrasigno pro aperir session.',
'resetpass-expired-soft' => 'Le contrasigno ha expirate e debe esser redefinite. Per favor elige un nove contrasigno ora, o clicca sur "{{int:resetpass-submit-cancel}}" pro redefinir lo plus tarde.',
+'resetpass-validity-soft' => 'Le contrasigno non es valide: $1
+
+Per favor elige un nove contrasigno ora, o clicca sur "{{int:resetpass-submit-cancel}}" pro redefinir lo plus tarde.',
# Special:PasswordReset
'passwordreset' => 'Reinitialisar contrasigno',
'noarticletext-nopermission' => 'In iste momento il non ha texto in iste pagina.
Tu pote [[Special:Search/{{PAGENAME}}|cercar le titulo de iste pagina]] in altere paginas,
o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercar in le registros pertinente], ma tu non ha le permission de crear iste pagina.</span>',
-'missing-revision' => 'Le version №$1 del pagina nominate "{{PAGENAME}}" non existe.
+'missing-revision' => 'Le version №$1 del pagina nominate "{{FULLPAGENAME}}" non existe.
Isto es generalmente causate per sequer un ligamine de historia obsolete a un pagina que ha essite delite.
Detalios se trova in le [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de deletiones].',
'revdelete-no-file' => 'Le file specificate non existe.',
'revdelete-show-file-confirm' => 'Es tu secur de voler vider un version delite del file "<nowiki>$1</nowiki>" del $2 a $3?',
'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:$2|Version seligite|Versiones seligite}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evento|Eventos}} de registro seligite:'''",
+'logdelete-selected' => '{{PLURAL:$1|Evento|Eventos}} de registro seligite:',
+'revdelete-text-text' => 'Versiones delite continua a apparer in le historia del pagina, ma parte de lor contento essera inaccessibile pro le publico.',
+'revdelete-text-file' => 'Versiones delite de un file continua a apparer in le historia del file, ma parte de lor contento essera inaccessibile pro le publico.',
+'logdelete-text' => 'Eventos delite continua a apparer in le registros, ma parte de lor contento essera inaccessibile pro le publico.',
+'revdelete-text-others' => 'Altere administratores in {{SITENAME}} continua a poter acceder al contento abscondite e pote restaurar lo per medio de iste mesme interfacie, a minus que additional restrictiones ha essite definite.',
'revdelete-confirm' => 'Per favor confirma que tu ha le intention de facer isto, que tu comprende le consequentias, e que tu face isto in accordo con [[{{MediaWiki:Policy-url}}|le politica]].',
'revdelete-suppress-text' => "Le suppression debe '''solmente''' esser usate pro le sequente casos:
* Information potentialmente diffamatori
'recentchanges-legend-heading' => "'''Legenda:'''",
'recentchanges-legend-newpage' => '(vide etiam le [[Special:NewPages|lista de nove paginas]])',
'recentchanges-legend-plusminus' => "(''±123'')",
-'rcnotefrom' => 'infra es le modificationes a partir de <b>$2</b> (usque a <b>$1</b>).',
+'rcnotefrom' => 'Ecce le modificationes a partir del <strong>$3 a $4</strong> (usque a <strong>$1</strong> entratas).',
'rclistfrom' => 'Monstrar nove modificationes a partir de $1',
'rcshowhideminor' => '$1 modificationes minor',
'rcshowhideminor-show' => 'Monstrar',
# List redirects
'listredirects' => 'Listar redirectiones',
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista de files con duplicatos',
+'listduplicatedfiles-summary' => 'Isto es un lista de files del quales le version le plus recente es un duplicato del version le plus recente de un altere file. Solmente le files local es examinate.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ha [[$3|{{PLURAL:$2|un duplicato|$2 duplicatos}}]].',
+
# Unused templates
'unusedtemplates' => 'Patronos non usate',
'unusedtemplatestext' => 'Iste pagina es un lista de tote le paginas in le spatio de nomines "{{ns:template}}" que non es includite in un altere pagina.
'delete-warning-toobig' => 'Iste pagina ha un grande historia de modificationes con plus de $1 {{PLURAL:$1|version|versiones}}.
Le deletion de illo pote disrumper le operationes del base de datos de {{SITENAME}};
procede con caution.',
-'deleting-backlinks-warning' => "'''Attention:''' Il ha altere paginas que liga a o transclude le pagina que tu es sur le puncto de deler.",
+'deleting-backlinks-warning' => "'''Attention:''' Il ha [[Special:WhatLinksHere/{{FULLPAGENAME}}|altere paginas]] que liga a o transclude le pagina que tu es sur le puncto de deler.",
# Rollback
'rollback' => 'Revocar modificationes',
'protect-locked-access' => "Tu conto non ha le permission de cambiar le nivellos de protection de paginas.
Ecce le configurationes actual del pagina '''$1''':",
'protect-cascadeon' => 'Iste pagina es actualmente protegite proque illo es includite in le sequente {{PLURAL:$1|pagina, le qual|paginas, le quales}} ha activate le protection in cascada.
-Tu pote cambiar le nivello de protection de iste pagina, ma isto non cambiara le effecto del protection in cascada.',
+Cambiamentos in le nivello de protection de iste pagina non influentia le protection in cascada.',
'protect-default' => 'Permitter a tote le usatores',
'protect-fallback' => 'Permitter solmente al usatores con le privilegio de "$1"',
'protect-level-autoconfirmed' => 'Permitter solmente al usatores autoconfirmate',
'sp-contributions-blocked-notice-anon' => 'Iste adresse IP es actualmente blocate.
Le ultime entrata del registro de blocadas es reproducite hic infra pro information:',
'sp-contributions-search' => 'Cercar contributiones',
+'sp-contributions-suppresslog' => 'contributiones supprimite de usatores',
'sp-contributions-username' => 'Adresse IP o nomine de usator:',
'sp-contributions-toponly' => 'Monstrar solmente le versiones recente',
'sp-contributions-newonly' => 'Monstrar solmente le modificationes que es creationes de pagina',
Anda dapat [[Special:Search/{{PAGENAME}}|melakukan pencarian untuk judul halaman ini]] di halaman-halaman lain, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mencari log terkait], atau [{{fullurl:{{FULLPAGENAME}}|action=edit}} menyunting halaman ini]</span>.',
'noarticletext-nopermission' => '!Saat ini tidak ada teks di halaman ini.
Anda dapat [[Special:Search/{{PAGENAME}}|melakukan pencarian untuk judul halaman ini]] di halaman-halaman lain, atau <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mencari log terkait]</span>, tapi Anda tidak memiliki izin untuk membuat halaman ini',
-'missing-revision' => 'Revisi #$1 halaman berjudul "{{PAGENAME}}" tidak eksks.
+'missing-revision' => 'Revisi #$1 halaman berjudul "{{FULLPAGENAME}}" tidak eksks.
Hal ini biasanya disebabkan oleh tautan versi terdahulu menuju halaman yang sudah dihapus.
Rinciannya dapat ditemukan di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log penghapusan].',
'revdelete-no-file' => 'Berkas yang dituju tidak ditemukan.',
'revdelete-show-file-confirm' => 'Apakah Anda yakin ingin melihat revisi yang telah dihapus dari berkas "<nowiki>$1</nowiki>" per $3, $2?',
'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi|Revisi-revisi}} pilihan dari '''$1''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log|Log-log}} pilihan untuk:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log|Log-log}} pilihan untuk:',
'revdelete-confirm' => 'Tolong konfirmasi bahwa Anda memang bermaksud melakukan ini, memahami konsekuensinya, dan bahwa Anda melakukannya sesuai dengan [[{{MediaWiki:Policy-url}}|kebijakan]].',
'revdelete-suppress-text' => "Penyembunyian revisi '''hanya''' boleh digunakan untuk kasus-kasus berikut:
* Informasi yang berpotensi memfitnah
wenno [{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} urnosem daytoy a panid].',
'noarticletext-nopermission' => 'Awan ti agdama a linaon daytoy a panid.
Mabalinmo ti [[Special:Search/{{PAGENAME}}|agbiruk para iti titulo ti daytoy a panid]] kadagiti sabali a panid, wenno <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} agbiruk kadagiti mainaig a listaan]</span>, ngem awan ti pammalubosmo a mangpartuat ti daytoy a panid.',
-'missing-revision' => 'Ti panagbalbaliw ti #$1 iti daytoy a panid a nanaganan ti "{{PAGENAME}}" ket awan.
+'missing-revision' => 'Ti panagbalbaliw ti #$1 iti daytoy a panid a nanaganan ti "{{FULLPAGENAME}}" ket awan.
Daytoy ket kadawyan a gapuanan babaen ti sumaganad a silpo ti baak a pakasaritaan iti maysa a naikkaten a panid.
Dagiti salaysay ket mabalin a mabirukan idiay [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} listaan ti panagikkat].',
'revdelete-no-file' => 'Awan dayta nainaganan a papeles.',
'revdelete-show-file-confirm' => 'Sigurado kadi a kayatmo ti mangkita ti naikkat a baliwan ti papeles "<nowiki>$1</nowiki>" a naggapu idi $2 idi $3?',
'revdelete-show-file-submit' => 'Wen',
-'revdelete-selected' => "'''{{PLURAL:$2|Napili a nabaliwan|Dagiti napili a nabaliwan}} iti [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ti napili a listaan ti napasamak|Dagiti napili a listaan ti napasamak}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ti napili a listaan ti napasamak|Dagiti napili a listaan ti napasamak}}:',
'revdelete-text-text' => 'Dagiti naikkat a rebision ket agparangto pay laeng iti panid ti pakasaritaan, ngem dagiti paset ti linaonda ket saanton a publiko a maserrekan.',
'revdelete-text-file' => 'Dagiti naikkat a bersion ti papeles ket agparangto pay laeng iti pakasaritaan ti papeles, ngem dagiti paset ti linaonda ket saanton a publiko a maserrekan.',
'logdelete-text' => 'Dagiti naikkat a listaan ti pasamak ket agparangto pay laeng kadagiti listaan, ngem dagiti paset ti linaonda ket saanton a publiko a maserrekan.',
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} leitað í tengdum skrám], eða [{{fullurl:{{FULLPAGENAME}}|action=edit}} breytt henni sjálfur]</span>.',
'noarticletext-nopermission' => 'Það er enginn texti á þessari síðu eins og er.
Þú getur [[Special:Search/{{PAGENAME}}|leitað að þessum titli]] í öðrum síðum, eða <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} leitað í tengdum skrám]</span>, en þú hefur ekki réttindi til þess að stofna þessa síðu.',
-'missing-revision' => 'Útgáfa #$1 síðunnar „{{PAGENAME}}" er ekki til.
+'missing-revision' => 'Útgáfa #$1 síðunnar „{{FULLPAGENAME}}" er ekki til.
Þetta gerist oftast þegar úreld breytingarskrá tengir á síðu sem hefur verið eytt. Frekari upplýsingar eru í [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} eyðingarskránni].',
'userpage-userdoesnotexist' => 'Notandaaðgangurinn „<nowiki>$1</nowiki>“ er ekki skráður.
'revdelete-no-file' => 'Umbeðin skrá er ekki til.',
'revdelete-show-file-confirm' => 'Ertu viss um að þú viljir sjá eydda breytingu af síðunni "<nowiki>$1</nowiki>" frá $2 $3?',
'revdelete-show-file-submit' => 'Já',
-'revdelete-selected' => "'''{{PLURAL:$2|Valin breyting|Valdar breytingar}} fyrir [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valin aðgerð|Valdar aðgerðir}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Valin aðgerð|Valdar aðgerðir}}:',
'revdelete-confirm' => 'Vinsamlegast staðfestu að þú viljir gera þetta, að þú skiljir afleiðingarnar og að þú sért að gera þetta í samræmi við [[{{MediaWiki:Policy-url}}]].',
'revdelete-suppress-text' => "Bælingu á '''eingöngu''' að nota í eftirfarandi tilfellum:
* Mögulegar ærumleiðandi upplýsingar
''Questa è la pagina di discussione di un utente anonimo, che non ha ancora creato un'utenza o comunque non la sta usando. Per identificarlo è quindi necessario usare il numero del suo indirizzo IP. Gli indirizzi IP possono però essere condivisi da più utenti. Se sei un utente anonimo e ritieni che i commenti presenti in questa pagina non si riferiscano a te, [[Special:UserLogin/signup|crea una nuova utenza]] o [[Special:UserLogin|entra con quella che già hai]] per evitare di essere confuso con altri utenti anonimi in futuro.''",
'noarticletext' => 'In questo momento la pagina richiesta è vuota. È possibile [[Special:Search/{{PAGENAME}}|cercare questo titolo]] nelle altre pagine del sito, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercare nei registri correlati] oppure [{{fullurl:{{FULLPAGENAME}}|action=edit}} modificare la pagina ora]</span>.',
'noarticletext-nopermission' => 'In questo momento la pagina richiesta è vuota. È possibile [[Special:Search/{{PAGENAME}}|cercare questo titolo]] nelle altre pagine del sito o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercare nei registri correlati]</span>, ma non hai i permessi per creare questa pagina.',
-'missing-revision' => 'La revisione #$1 della pagina "{{PAGENAME}}" non esiste.
+'missing-revision' => 'La revisione #$1 della pagina "{{FULLPAGENAME}}" non esiste.
Questo si verifica solitamente seguendo un collegamento a una pagina cancellata, in una cronologia non aggiornata.
I dettagli possono essere trovati nel [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro delle cancellazioni].',
'revdelete-no-file' => 'Il file specificato non esiste.',
'revdelete-show-file-confirm' => 'Si desidera visualizzare la versione cancellata del file "<nowiki>$1</nowiki>" del $2 alle $3?',
'revdelete-show-file-submit' => 'Sì',
-'revdelete-selected' => "'''{{PLURAL:$2|Versione selezionata|Versioni selezionate}} di [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evento del registro selezionato|Eventi del registro selezionati}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Versione selezionata|Versioni selezionate}} di [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Versione selezionata|Versioni selezionate}} del file di [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Evento del registro selezionato|Eventi del registro selezionati}}:',
'revdelete-text-text' => 'Le versioni cancellate appariranno ancora nella cronologia della pagina, ma parti del loro contenuto sarà inaccessibile al pubblico.',
'revdelete-text-file' => 'Le versioni di file cancellati appariranno ancora nella cronologia del file, ma parti del loro contenuto sarà inaccessibile al pubblico.',
'logdelete-text' => 'Gli eventi cancellati appariranno ancora nei registri, ma parti del loro contenuto sarà inaccessibile al pubblico.',
または[{{fullurl:{{FULLPAGENAME}}|action=edit}} このページを編集]</span>できます。',
'noarticletext-nopermission' => '現在このページには内容がありません。
他のページ内で[[Special:Search/{{PAGENAME}}|このページ名を検索]]、または<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 関連する記録を検索]</span>できますが、あなたにはこのページを作成する権限はありません。',
-'missing-revision' => '「{{PAGENAME}}」というページの版番号 $1 の版は存在しません。
+'missing-revision' => '「{{FULLPAGENAME}}」というページの版番号 $1 の版は存在しません。
通常、削除されたページの版への古い差分表示や固定リンクをたどった際に、このようなことが起きます。
詳細は[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 削除記録]を参照してください。',
'revdelete-no-file' => '指定されたファイルは存在しません。',
'revdelete-show-file-confirm' => 'ファイル「<nowiki>$1</nowiki>」の削除された$2$3の版を本当に閲覧しますか?',
'revdelete-show-file-submit' => 'はい',
-'revdelete-selected' => '<strong>[[:$1]] の{{PLURAL:$2|選択された版}}:</strong>',
-'logdelete-selected' => '<strong>{{PLURAL:$1|選択された記録項目}}:</strong>',
+'logdelete-selected' => '{{PLURAL:$1|選択された記録項目}}:',
'revdelete-text-others' => '追加の制限を設定しない限り、{{SITENAME}} の他の管理者は非表示コンテンツにまだアクセスでき、この同じインターフェースを通してそれを復元することができます。',
'revdelete-confirm' => 'この操作を行おうとしていること、その結果を理解していること、[[{{MediaWiki:Policy-url}}|方針]]に従っていること、を確認してください。',
'revdelete-suppress-text' => '秘匿は、<strong>以下の場合に限って</strong>使用すべきです:
# List redirects
'listredirects' => '転送ページの一覧',
+# List duplicated files special page
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] には [[$3|{{PLURAL:$2|$2 件の重複ファイル}}]]があります。',
+
# Unused templates
'unusedtemplates' => '使われていないテンプレート',
'unusedtemplatestext' => 'このページでは{{ns:template}}名前空間にあって他のページに読み込まれていないページを一覧にしています。
'noarticletext-nopermission' => 'Saiki ora ana tèks ing kaca iki.
Sampéyan bisa [[Special:Search/{{PAGENAME}}|nggolèki judhul kaca iki]] nèng kaca liya,
utawa <span class="plainlinks">[{{fullurl:{{#Special:Log}}|kaca={{urlencode:{{FULLPAGENAME}}}}}} nggolèki log sing kaitan]</span>, nanging Sampéyan ora nduwèni idin nggawé kaca iki.',
-'missing-revision' => 'Benahan #$1 saka kaca ajeneng "{{PAGENAME}}" ora ana.
+'missing-revision' => 'Benahan #$1 saka kaca ajeneng "{{FULLPAGENAME}}" ora ana.
Iki biasané kasebabaké pranala riwayat sing kedaluwarsa saka kaca kuwi wis dibusak.
Rinciané bisa ditemokaké nèng [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log pambusakan].',
'revdelete-no-file' => 'Berkas sing dituju ora ana.',
'revdelete-show-file-confirm' => 'Apa panjenengan yakin arep mirsani révisi sing wis kabusak saka berkas "<nowiki>$1</nowiki>" ing $2, jam $3?',
'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi kapilih|Revisi kapilih}} dari '''$1''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log kapilih|Log kapilih}} kanggo:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log kapilih|Log kapilih}} kanggo:',
'revdelete-confirm' => 'Mangga pesthèkaké yèn Sampéyan pancèn kudu nglakoni iki, yèn Sampéyan ngerti akibaté, lan yèn Sampéyan ngakoni iki cocok karo [[{{MediaWiki:Policy-url}}|kawicakan]].',
'revdelete-suppress-text' => "Pandhelikan révisi '''mung''' bisa dipigunakaké kanggo kasus ing ngisor:
* Informasi sing kagolong pitnah
'noarticletext-nopermission' => 'ამ დროისთვის ეს გვერდი ცარიელია.
თქვენ შეგიძლიათ [[Special:Search/{{PAGENAME}}|მოძებნოთ ეს სათაური]] სხვა გვერდებზე,
ან <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} მოძებნოთ ჟურნალების შესაბამისი ჩანაწერები].</span> თქვენ არ გაქვთ ამ გვერდის შექმნის ნებართვა.',
-'missing-revision' => 'ვერსია $1 გვერდისათვის „{{PAGENAME}}“ არ არსებობს.
+'missing-revision' => 'ვერსია $1 გვერდისათვის „{{FULLPAGENAME}}“ არ არსებობს.
ეს ჩვეულებრივ ხდება მაშინ, თუ მოძველებული ბმულით გადადიხართ გვერდზე, რომელიც წაიშალა.
დეტალური ინფორმაცია შესაძლებელია იყოს [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} წაშლების ჟურნალში].',
'revdelete-no-file' => 'მოთხოვნილი ფაილი არ არსებობს.',
'revdelete-show-file-confirm' => 'დარწმუნებული ხართ, რომ გსურთ ამ ფაილის წაშლილი ვერსიის ნახვა, „<nowiki>$1</nowiki>“ $2, $3-დან ?',
'revdelete-show-file-submit' => 'ჰო',
-'revdelete-selected' => "'''[[:$1]]-ის {{PLURAL:$2|მონიშნული ცვლილება|მონიშნული ცვლილებები}}:'''",
-'logdelete-selected' => "'''ჟურნალის {{PLURAL:$1|არჩეული ჩანაწერი|არჩეული ჩანაწერები}}:'''",
+'logdelete-selected' => 'ჟურნალის {{PLURAL:$1|არჩეული ჩანაწერი|არჩეული ჩანაწერები}}:',
'revdelete-confirm' => 'გთხოვთ დაადასტუროთ, რომ გსურთ ქმედების განხორციელება. ასევე ვიმედოვნებთ, რომ ყველაფერს აკეთებთ [[{{MediaWiki:Policy-url}}|წესებთან შესაბამისობაში]].',
'revdelete-suppress-text' => "დამალვა შეიძლება განხორციელდეს '''მხოლოდ''' შემდეგ შემთხვევებში:
* პოტენციურად ცილისმწამებლური ინფორმაცია
'rev-deleted-user' => "(paydalanıwshı atı o'shirildi)",
'rev-deleted-event' => "(jurnal ha'reketi o'shirildi)",
'rev-delundel' => "ko'rsetiw/jasırıw",
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|saylang'an nusqası|saylang'an nusqaları}}:'''",
'revdelete-legend' => "Ko'rinis sheklewlerin belgilew",
'revdelete-hide-text' => 'Nusqa tekstin jasır',
'revdelete-hide-image' => "Fayl mag'lıwmatın jasır",
'noarticletext-nopermission' => 'Imira ulac aḍris deg usebter agi.
Tzemreḍ [[Special:Search/{{PAGENAME}}|ad nadiḍ ɣef azwel agi]] deg isebtaren nniḍen,
naɣ <span class="plainlinks">[{{fullurl:{{#Special:Log}}|asebter={{FULLPAGENAMEE}}}} ad nadiḍ deg iɣmisen iqqenen]</span>.',
-'missing-revision' => 'Tacaggart #$1 n usebter s isem « {{PAGENAME}} » ulac-itt.
+'missing-revision' => 'Tacaggart #$1 n usebter s isem « {{FULLPAGENAME}} » ulac-itt.
Acku azday n umezruy, ɣef wayen tsennedeḍ, d-aqbur. Asebter yemḥa.
Tzemreḍ ad affeḍ tilɣa deg [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} uɣmis n isebtar yemḥan].',
'revdelete-no-file' => 'Afaylu id ssefruḍ ur yella ara.',
'revdelete-show-file-confirm' => 'Tebɣriḍ ad mḥuḍ tacaggart n ufaylu « <nowiki>$1</nowiki> » n $2 af $3 ?',
'revdelete-show-file-submit' => 'Ih',
-'revdelete-selected' => "'''{{PLURAL:$2|Tasiwelt tettwafren|Tisiwal ttwafernen}} n [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Tamirt n uɣmis tettwafren|Isallen n uɣmis ttwafernen}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Tamirt n uɣmis tettwafren|Isallen n uɣmis ttwafernen}}:',
'revdelete-confirm' => 'Sergeg ma tebɣiḍ ad xedmeḍ tigawt agi, fehmeḍ inalkamen, dɣa temtawiḍ s [[{{MediaWiki:Policy-url}}|ilugan]].',
'revdelete-suppress-text' => "Ilaq tukksa att illi \"kan\" deg tijṛa agi :
* Tilɣa ahat tinergamin
'revdelete-no-file' => 'Къэгъэлъэгъуа файлыр щыӀэкъым.',
'revdelete-show-file-confirm' => 'Арэзыуэ ущыт уеплъыну файл ихам и версиэ «<nowiki>$1</nowiki>» $2, $3 ?',
'revdelete-show-file-submit' => 'НытӀэ',
-'revdelete-selected' => "'''{{PLURAL:$2|Версиэ хэхар|Версиэ хэхахэр}} напэкӀуэцӀ [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Тхылъ хэхар|Тхылъ хэхахэр}} тхыгъэм:'''",
+'logdelete-selected' => '{{PLURAL:$1|Тхылъ хэхар|Тхылъ хэхахэр}} тхыгъэм:',
'revdelete-confirm' => 'Арэзыгъуэ ет, быщӀэр зэр уи гугъэр, къыхэкӀынур къызэрыбгурыӀуэр, быщӀу хъуамкӀэ [[{{MediaWiki:Policy-url}}|хабзэм]] узэремыбакъуэр.',
'revdelete-suppress-text' => "ГъэпшкӀугъэр щекӀуэкӀыфыну '''къуэдер''' мыбым хуэдэм:
'revdelete-no-file' => 'Dosya diyarkerdiye çina.',
'revdelete-show-file-confirm' => 'Sıma eminê ke wazenê çımraviarnaena esterıtiya na dosya "<nowiki>$1</nowiki>" $2 ra $3 de bıvênê?',
'revdelete-show-file-submit' => 'Heya',
-'revdelete-selected' => "'''[[:$1]]: ra {{PLURAL:$2|Çımraviarnaiso weçinıte|Çımraviarnaisê weçinıtey}}'''",
'revdelete-suppress-text' => "Wedardene gunê '''teyna''' nê halunê cêrênu de bıguriyo:
* Melumatê kıfırio mıhtemel
* Melumatê şexsio bêmınasıb
'revdelete-nooldid-title' => 'نىسانا تۇزەتۋ جارامسىز',
'revdelete-nooldid-text' => 'بۇل جەتەنى ورىنداۋ ٴۇشىن نىسانا تۇزەتۋىن/تۇزەتۋلەرىن كەلتىرىلمەپسىز,
كەلتىرىلگەن تۇزەتۋ جوق, نە اعىمدىق تۇزەتۋدى جاسىرۋ ٴۇشىن ارەكەتتەنىپ كوردىڭىز.',
-'revdelete-selected' => "'''[[:$1]] دەگەننىڭ بولەكتەنگەن {{PLURAL:$2|تۇزەتۋى|تۇزەتۋلەرى}}:'''",
-'logdelete-selected' => "'''بولەكتەنگەن {{PLURAL:$1|جۋرنال وقىيعاسى|جۋرنال وقىيعالارى}}:'''",
+'logdelete-selected' => 'بولەكتەنگەن {{PLURAL:$1|جۋرنال وقىيعاسى|جۋرنال وقىيعالارى}}:',
'revdelete-legend' => 'كورىنىس تىيىمدارىن قويۋ:',
'revdelete-hide-text' => 'تۇزەتۋ ٴماتىنىن جاسىر',
'revdelete-hide-image' => 'فايل ماعلۇماتىن جاسىر',
# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
'aboutsite' => '{{SITENAME}} туралы',
'aboutpage' => 'Project:Жоба туралы',
-'copyright' => 'Мәлімет $1 шартымен жетімді.',
+'copyright' => 'Мәлімет $1 лицензиясы аясында жетімді басқа жағдайда белгіленеді.',
'copyrightpage' => '{{ns:project}}:Авторлық құқықтар',
'currentevents' => 'Ағымдағы оқиғалар',
'currentevents-url' => 'Project:Ағымдағы оқиғалар',
'virus-unknownscanner' => 'белгісіз антивирус:',
# Login and logout pages
-'logouttext' => "'''Жүйеден шықтыңыз.'''
+'logouttext' => "<strong>Жүйеден шықтыңыз.</strong>
Жүйеге кірмесеңіз де {{SITENAME}} жобасын пайдалана аласыз, немесе баяғы не өзге қатысушы ретінде жүйеге <span class='plainlinks'>[$1 қайта кіруіңізге]</span> болады.
Аңғартпа: Кейбір беттер шолғышыңыздың кэшін тазартқанша әлі де жүйеге кіріп отырғаныңыздай көрінуі мүмкін.",
'throttled-mailpassword' => 'Соңғы {{PLURAL:$1|сағатта|$1 сағатта}} құпия сөз ескерту хаты алдақашан жөнелтілді.
Қиянатты қақпайлау үшін, {{PLURAL:$1|сағат|$1 сағат}} сайын тек бір ғана құпия сөз ескерту хаты жөнелтіледі.',
'mailerror' => 'Хат жөнелту қатесі: $1',
-'acct_creation_throttle_hit' => 'Ғафу етіңіз, сіз алдақашан $1 рет тіркелгі жасапсыз. Онан артық жасай алмайсыз.
-Нәтижесінде, осы IP-мекенжаймен кірушілер дәл қазіргі уақытта бірнеше тіркелгі жасай алмайды.',
+'acct_creation_throttle_hit' => 'Сіздің IP-мекенжайыңызбен осы уикиге кірушілер соңғы күнде {{PLURAL:$1|1 тіркелгі|$1 тіркелгі}} жасапты. Одан артық бұл уақыт аралығында рұқсат етілмейді.
+Нәтижесінде осы IP-мекенжайды пайдаланып кірушілер дәл қазіргі уақытта бірнеше тіркелгі жасай алмайды.',
'emailauthenticated' => 'Е-пошта мекен-жайыңыз расталған кезі: $3, $2.',
'emailnotauthenticated' => 'Е-пошта мекен-жайыңыз әлі расталған жоқ.
Келесі әрбір мүмкіндіктер үшін еш хат жөнелтілмейді.',
* '''Google Chrome:''' ''Ctrl-Shift-R'' басыңыз (Mac — ''⌘-Shift-R'')
*'''IE:''' ''Жаңарту'' батырмасын нұқығанда ''Ctrl'' тұтыңыз, не ''Ctrl-F5'' басыңыз; не ''F5'' басыңыз; *'''Opera''' пайданушылары ''Құралдар→Бапталымдар'' дегенге барып бүркемесін толық тазарту жөн.",
'usercssyoucanpreview' => "'''Кеңес:''' Жаңа CSS файлын сақтау алдында «Қарап шығу» батырмасын қолданып сынақтаңыз.",
-'userjsyoucanpreview' => "'''Ақыл-кеңес:''' Жаңа JS файлын сақтау алдында «Қарап шығу» батырмасын қолданып сынақтаңыз.",
-'usercsspreview' => "'''Мынау CSS мәтінін тек қарап шығу екенін ұмытпаңыз, ол әлі сақталған жоқ!'''",
+'userjsyoucanpreview' => '<strong>Ақыл-кеңес:</strong> Жаңа JavaScript файлыңызды сақтау алдында "{{int:showpreview}}" батырмасын қолданып сынақтаңыз.',
+'usercsspreview' => '</strong>Бұл тек қатысушы CSS файлыңызды қарап шығу екенін ұмытпаңыз, ол әлі сақталған жоқ!</strong>',
'userjspreview' => "'''Мынау JavaScript қатысушы бағдарламасын тексеру/қарап шығу екенін ұмытпаңыз, ол әлі сақталған жоқ!'''",
'sitecsspreview' => "'''Мынау CSS қатысушы бағдарламасын тексеру/қарап шығу екенін ұмытпаңыз, ол әлі сақталған жоқ!'''",
'sitejspreview' => "'''Мынау JavaScript кодын тексеру/қарап шығу екенін ұмытпаңыз, ол әлі сақталған жоқ!'''",
'revdelete-nooldid-text' => 'Бұл жетені орындау үшін нысана түзетуін/түзетулерін келтірілмепсіз,
келтірілген түзету жоқ, не ағымдық түзетуді жасыру үшін әрекеттеніп көрдіңіз.',
'revdelete-show-file-submit' => 'Иә',
-'revdelete-selected' => "'''[[:$1]] дегеннің бөлектенген {{PLURAL:$2|түзетуі|түзетулері}}:'''",
-'logdelete-selected' => "'''Бөлектенген {{PLURAL:$1|журнал оқиғасы|журнал оқиғалары}}:'''",
+'logdelete-selected' => 'Бөлектенген {{PLURAL:$1|журнал оқиғасы|журнал оқиғалары}}:',
'revdelete-legend' => 'Көрініс тиымдарын қою:',
'revdelete-hide-text' => 'Түзету мәтінін жасыр',
'revdelete-hide-image' => 'Файл мағлұматын жасыр',
# Suppression log
'suppressionlog' => 'Шеттету журналы',
'suppressionlogtext' => 'Төмендегі тізімде әкімшілерден жасырылған мағлұматқа қатысты жоюлар мен бұғаттаулар беріледі.
-Ағымда әрекеттегі тиым мен бұғаттау тізімі үшін [[Special:IPBlockList|IP бұғаттау тізімін]] қараңыз.',
+Қазіргі әрекет тиымдары және бұғаттау тізімі үшін [[Special:BlockList|бұғаттау тізімін]] қараңыз.',
# History merging
'mergehistory' => 'Беттер тарихын біріктіру',
'searchprofile-project-tooltip' => '$1 іздеу',
'searchprofile-images-tooltip' => 'Файлдарды іздеу',
'searchprofile-everything-tooltip' => 'Барлық беттерден іздеу (талқылау беттерін қоса)',
-'searchprofile-advanced-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-result-score' => 'Арақатынастылығы: $1 %',
'search-interwiki-default' => '$1 нәтиже:',
'search-interwiki-more' => '(көбірек)',
'search-relatedarticle' => 'Қатысты',
-'searcheverything-enable' => 'Ð\91елгÑ\96ленген есім кеңістігінен іздеу',
+'searcheverything-enable' => 'Ð\91аÑ\80лÑ\8bÒ\9b есім кеңістігінен іздеу',
'searchrelated' => 'қатысты',
'searchall' => 'барлық',
'showingresults' => "Төменде нөмір '''$2''' орнынан бастап барынша '''$1''' нәтиже көрсетіледі.",
'upload-proto-error-text' => 'Шеттен жүктеу үшін URL жайлары <code>http://</code> немесе <code>ftp://</code> дегендерден басталу жөн.',
'upload-file-error' => 'Ішкі қате',
'upload-file-error-text' => 'Серверде уақытша файл құрылуы ішкі қатесіне ұшырасты.
-Бұл жүйенің әкімшімен қатынасыңыз.',
+Бұл жүйенің [[Special:ListUsers/sysop|әкімшімен]] қатынасыңыз.',
'upload-misc-error' => 'Жүктеу кезіндегі белгісіз қате',
'upload-misc-error-text' => 'Жүктеу кезінде белгісіз қатеге ұшырасты.
URL жарамды және қатынаулы екенін тексеріп шығыңыз да қайта байқап көріңіз.
-Егер бұл мәселе әлде де қалса, жүйе әкімшімен қатынасыңыз.',
+Егер бұл мәселе әлде де қалса, [[Special:ListUsers/sysop|жүйе әкімшімен]] қатынасыңыз.',
'upload-too-many-redirects' => 'URL шектен тыс жылжытуларға ие',
'upload-unknown-size' => 'Белгісіз өлшем',
'revdelete-nooldid-title' => 'Nısana tüzetw jaramsız',
'revdelete-nooldid-text' => 'Bul jeteni orındaw üşin nısana tüzetwin/tüzetwlerin keltirilmepsiz,
keltirilgen tüzetw joq, ne ağımdıq tüzetwdi jasırw üşin ärekettenip kördiñiz.',
-'revdelete-selected' => "'''[[:$1]] degenniñ bölektengen {{PLURAL:$2|tüzetwi|tüzetwleri}}:'''",
-'logdelete-selected' => "'''Bölektengen {{PLURAL:$1|jwrnal oqïğası|jwrnal oqïğaları}}:'''",
+'logdelete-selected' => 'Bölektengen {{PLURAL:$1|jwrnal oqïğası|jwrnal oqïğaları}}:',
'revdelete-legend' => 'Körinis tïımdarın qoyw:',
'revdelete-hide-text' => 'Tüzetw mätinin jasır',
'revdelete-hide-image' => 'Faýl mağlumatın jasır',
'revdelete-no-file' => 'មិនមានឯកសារដែលអ្នកចង់រកទេ។',
'revdelete-show-file-confirm' => 'តើអ្នកប្រាកដហើយថាអ្នកចង់មើលកំណែប្រែដែលបានលុបនៃឯកសារ "<nowiki>$1</nowiki>" ពី $2 នៅ $3 ?',
'revdelete-show-file-submit' => 'បាទ/ចាស',
-'revdelete-selected' => "'''{{PLURAL:$2|កំណែប្រែដែលបានជ្រើសយក}}របស់[[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|ព្រឹត្តិការណ៍កំណត់ហេតុដែលបានជ្រើសយក}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|ព្រឹត្តិការណ៍កំណត់ហេតុដែលបានជ្រើសយក}}:',
'revdelete-suppress-text' => "ការហាមឃាត់គួរត្រូវបានអនុវត្តិលើករណីដូចខាងក្រោមនេះប៉ុណ្ណោះ៖
* ព័ត៌មានបង្ខូចកេរ្ដិ៍ឈ្មោះធ្ងន់ធ្ងរ
* ព័ត៌មានផ្ទាល់ខ្លួនមិនសមរម្យ
'rev-delundel' => 'ತೋರಿಸು/ಅಡಗಿಸು',
'rev-showdeleted' => 'ತೋರಿಸು',
'revdelete-show-file-submit' => 'ಹೌದು',
-'revdelete-selected' => "'''[[:$1]]ರ ಆಯ್ಕೆಯಾಗಿರುವ {{PLURAL:$2|ಆವೃತ್ತಿ|ಆವೃತ್ತಿಗಳು}}:'''",
'revdelete-legend' => 'ಕಾಣಿಸುವಿಕೆಯ ನಿಬಂಧನೆಗಳನ್ನು ನಿಶ್ಚಯಿಸು',
'revdelete-hide-text' => 'ಬದಲಾವಣೆಯ ಪಠ್ಯವನ್ನು ಅಡಗಿಸು',
'revdelete-hide-image' => 'ಫೈಲಿನಲ್ಲಿರುವ ಮಾಹಿತಿಯನ್ನು ಅಡಗಿಸು',
문서를 직접 [{{fullurl:{{FULLPAGENAME}}|action=edit}} 편집]</span>할 수 있습니다.',
'noarticletext-nopermission' => '이 문서가 현재 존재하지 않습니다.
이 문서와 제목이 비슷한 문서가 있는지 [[Special:Search/{{PAGENAME}}|검색하거나]], 이 문서에 관련된 <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 기록]을 확인할 수 있습니다.</span> 그러나 이 문서를 만들 수 있는 권한은 없습니다.',
-'missing-revision' => '"{{PAGENAME}}"이라는 문서의 #$1판이 존재하지 않습니다.
+'missing-revision' => '"{{FULLPAGENAME}}"이라는 문서의 #$1판이 존재하지 않습니다.
이 문제는 주로 삭제된 문서를 가리키는 오래된 문서 역사 링크로 인해 발생합니다.
자세한 내용은 [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 삭제 기록]에서 확인할 수 있습니다.',
'revdelete-no-file' => '해당 파일이 존재하지 않습니다.',
'revdelete-show-file-confirm' => '정말 "<nowiki>$1</nowiki>" 파일의 삭제된 $2 $3 버전을 보시겠습니까?',
'revdelete-show-file-submit' => '예',
-'revdelete-selected' => "'''[[:$1]]의 {{PLURAL:$2|선택한 판}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|선택한 기록}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|선택한 기록}}:',
'revdelete-text-text' => '삭제된 판은 여전히 문서 역사에 남게 되지만, 그 내용의 일부는 다른 사람들이 접근할 수 없게 됩니다.',
'revdelete-text-file' => '삭제된 파일 버전은 계속 파일 역사에 남게 되지만, 내용의 일부는 다른 사람들이 접근할 수 없게 됩니다.',
'logdelete-text' => '삭제된 로그 내용은 로그에 보여지겠지만, 내용의 일부는 다른 사람들이 접근할 수 없게 됩니다.',
'revdelete-no-file' => 'Белгиленнген файл джокъду.',
'revdelete-show-file-confirm' => '«<nowiki>$1</nowiki>» файлны $2 $3 датада кетерилген версиясына къараргъа излегенигизге ишексизмисиз?',
'revdelete-show-file-submit' => 'Хоу',
-'revdelete-selected' => "'''[[:$1]] бетни {{PLURAL:$2|1=Сайланнган версия|сайланнган версиялары}}:'''",
-'logdelete-selected' => "'''Журналны {{PLURAL:$1|1=Сайланнган джазыу|сайланнган джазыулары}}:'''",
+'logdelete-selected' => 'Журналны {{PLURAL:$1|1=Сайланнган джазыу|сайланнган джазыулары}}:',
'revdelete-confirm' => 'Тилейбиз, буну этерге излегенигизни, эсеблерин ангылагъаныгъызны, эм буну [[{{MediaWiki:Policy-url}}|джорукълагъа]] кёре этгенигизни билдиригиз.',
'revdelete-suppress-text' => "Джашырыу '''джангыз''' бу турумлада этиледи:
* Келишмеген энчи информация
'noarticletext-nopermission' => 'Op dä Sigg es em Momang nix drop.
Do kanns noh däm Tittel vun heh dä Sigg [[Special:Search/{{PAGENAME}}|em Tex op ander Sigge söhke]],
udder en dä zopaß <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} Logbööscher nohloore]</span>.',
-'missing-revision' => 'En Version $1 vun dä Sigg „{{PAGENAME}}“ jidd_et nit.
+'missing-revision' => 'En Version $1 vun dä Sigg „{{FULLPAGENAME}}“ jidd_et nit.
Esu jät kütt för jewöhnlesch, wam_mer enem övverhollte Lengk ob en Sigg follesch, di zweschedren fottjeschmeße woode es.
Mieh doh drövver fengk mer em [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Logbooch vum Sigge Fottschmiiße].',
'revdelete-no-file' => 'De aanjejovve Dattei jidd_et nit.',
'revdelete-show-file-confirm' => 'Beß De sescher, dat De de fottjeschmeße Version vun dä Dattei „<nowiki>$1</nowiki>“ vum $2 oö $3 Uhr aanloore wells?',
'revdelete-show-file-submit' => 'Lohß Jonn!',
-'revdelete-selected' => "'''{{PLURAL:$2|Ein usjewählte Version|$2 usjewählte Versione|Kein Version usjewählt}} vun [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Dä ußjewählte Logboch-Endrach|De Ußjewählte Logboch-Endrähsch}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Dä ußjewählte Logboch-Endrach|De Ußjewählte Logboch-Endrähsch}}:',
'revdelete-confirm' => 'Bes esu joot un doon dat beschtääteje, un donn domet ongerschriive, dat De dat donn wells, dat De weiß, wat dobei eruß kütt, un dat De dat och noh de [[{{MediaWiki:Policy-url}}|Rääjelle]] deihß.',
'revdelete-suppress-text' => "Dat sullt '''blooß''' jedonn wäde för:
* onjesäzlesche Aanjaabe
'revisiondelete' => 'Emendationem delere',
'revdelete-nooldid-title' => 'Emendatio-scopus invalida',
'revdelete-show-file-submit' => 'Sic',
-'revdelete-selected' => "'''{{PLURAL:$2|Emendatio selecta|Emendationes selectae}} paginae [[:$1]]:'''",
'revdelete-legend' => 'Modificare cohibitiones visibilitatis',
'revdelete-hide-text' => 'Textus emendationis',
'revdelete-hide-image' => 'Celare contentum fasciculi',
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} an den entspriechende Logbicher nokucken] oder [{{fullurl:{{FULLPAGENAME}}|action=edit}} sou eng Säit uleeën]</span>.',
'noarticletext-nopermission' => 'Elo ass keen Text op dëser Säit.
Dir kënnt op anere Säiten [[Special:Search/{{PAGENAME}}|no dësem Säitentitel sichen]], oder <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} an de Logbicher sichen]</span>, mä Dir hutt net déi néideg Rechter fir dës Säit unzeleeën.',
-'missing-revision' => 'D\'Versioun #$1 vun der Säit mam Numm "{{PAGENAME}}" gëtt et net.
+'missing-revision' => 'D\'Versioun #$1 vun der Säit mam Numm "{{FULLPAGENAME}}" gëtt et net.
Dat geschitt normalerweis wann Dir op e vereelste Link vun enger Versioun vun enger Säit klickt déi geläscht ginn ass.
Detailer fannt Dir am [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} Logbuch vum Läschen].',
'revdelete-no-file' => 'De Fichier deen ugi war gëtt et net.',
'revdelete-show-file-confirm' => 'Sidd Dir sécher datt Dir déi geläschte Versioun vum Fichier "<nowiki>$1</nowiki>" vum $2 ëm $3 gesi wëllt?',
'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Gewielt Versioun|Gewielt Versioune}} vu(n) [[:$1]] :'''",
-'logdelete-selected' => "'''Ausgewielten {{PLURAL:$1|Evenement|Evenementer}} aus dem Logbuch:'''",
+'logdelete-selected' => 'Ausgewielten {{PLURAL:$1|Evenement|Evenementer}} aus dem Logbuch:',
'revdelete-text-others' => 'Aner Administrateuren op {{SITENAME}} kënnen nach ëmmer de verstoppten Inhalt gesinn an en iwwer deeselwechten Interface nees restauréieren, ausser wann zousätzlech Limitatiounen agestallt sinn.',
'revdelete-confirm' => "Confirméiert w.e.g. datt Dir dat maache wëllt, datt Dir d'Konsequenze verstitt an datt Dir dëst an Aklang mat de [[{{MediaWiki:Policy-url}}|Richtlinne]] maacht.",
'revdelete-suppress-text' => "Ënnerdréckung sollt '''nëmmen''' an dëse Fäll benotzt ginn:
'revdelete-no-file' => "'d Aangegaeve bestandj besteit neet.",
'revdelete-show-file-confirm' => 'Wèt se zeker det se de gewösjdje versie ven \'t bestandj "<nowiki>$1</nowiki>" ven $2 óm $3 wils bekieke?',
'revdelete-show-file-submit' => 'Jao',
-'revdelete-selected' => "'''Geselecteerde {{PLURAL:$2|bewerking|bewerkinge}} van '''[[:$1]]''':'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Geselecteerde log gebeurtenis|Geselecteerde log gebeurtenisse}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Geselecteerde log gebeurtenis|Geselecteerde log gebeurtenisse}}:',
'revdelete-confirm' => "Bevestig des se dit wils doon, des se de consequenties begrieps en des se dit deis in euvereinstömming mit 't geljendj [[{{MediaWiki:Policy-url}}|beleid]].",
'revdelete-suppress-text' => "Versies verbèrge deentj '''allein''' gebroek te waere in de volgende gevalle:
* Ongepaste perseunlike informatie
'myprivateinfoprotected' => 'شما حق ناریت دونسمنیا خصوصی نه ویرایشت بکید',
'mypreferencesprotected' => 'شما حق ناریت ویجگی یا هنی تونه ویرایشت بکید',
'ns-specialprotected' => 'بلگیا ویجه نتونن ویرایشت بوئن',
+'invalidtitle-knownnamespace' => 'نوم نامعتور سی نوم جا "$2" و نیسه "$3"',
+'invalidtitle-unknownnamespace' => 'نوم نامعتور سی شماره نومجا ناشناس $1 و نیسه "$2"',
'exception-nologin' => 'نبوئه وارد بوئيد',
'exception-nologin-text-manual' => 'خواهشمنیدم که $1 تونسه بوئه د ای بلگه دسرسی داشتوه یا کاری انجوم بیئه.',
'gotaccountlink' => 'اومائن',
'userlogin-resetlink' => 'جزییات وامین اومائن تونه د ویر بردیته',
'userlogin-resetpassword-link' => 'پاسورد د ویرتو رئته؟',
+'userlogin-helplink2' => 'هومیاری وا مین اومائن',
+'userlogin-loggedin' => 'شما ایسه د عنوان {{جنس:$1|$1}} اومایته وا مین.
+د فرم هاری سی وا مین اومائن وه عنوان کارور هنی استفاده بکیتو.',
'userlogin-createanother' => 'يه گل حساوهنی راست بكيد',
'createacct-join' => 'دونسمنيا دباره خوتونه د هار وارد بكيد',
'createacct-another-join' => 'دونسمنیا یه گل حساو د هار وارد بکید',
$1 لطفن سی تلاش هنی صبر بکید',
'login-abort-generic' => 'اومائن وامین تو شکست حرد-شکست حرده',
'loginlanguagelabel' => 'زون:$1',
+'pt-login' => 'وا مین اومائن',
+'pt-login-button' => 'وا مین اومائن',
+'pt-createaccount' => 'يه گل حساو راست بكيد',
+'pt-userlogout' => 'د سيستم دراومائن',
# Email sending
'php-mail-error-unknown' => "خطا ناشناس مئن تاوع PHP's mail()",
'user-mail-no-addy' => 'سی کل کردن ایمیل بی نشونه ایمیل صورت گرته',
+'user-mail-no-body' => 'سی کل کردن ایمیل وا مینونه حالی یا کؤچک بیئن سی دلیل غیر علقمنی تلاش بکید.',
# Change password dialog
'changepassword' => 'پاسورد نه آلشت بكيت',
+'resetpass_announce' => 'سی تموم کردن وا مین اومائن، شما باید یه گل پاسورد هنی وارد بکیتو.',
'resetpass_header' => 'پاسورد حساوتونه آلشت بکید',
'oldpassword' => 'پاسورد قدیمی:',
'newpassword' => 'پاسورد تازه:',
'rev-delundel' => 'آلشت وضئيت ديئن',
'rev-showdeleted' => 'نشو دائن',
'revisiondelete' => 'پاک کردن/زنه کردن وانئریا',
+'revdelete-nooldid-title' => 'وانیری تمارزی بیه نامعتوره',
'revdelete-no-file' => 'فایل مشقص بیه وجود ناره.',
'revdelete-show-file-submit' => 'هری',
-'revdelete-selected' => "'''{{جمی:$2|وانیری انتخاو بیه|وانیریا انتخاو بیه}} د[[:$1]]:'''",
+'revdelete-selected-text' => '{{جمی:$1|وانیری گل گر بیه|وانیری گل گر بیه}} د [[:$2]]:',
+'revdelete-selected-file' => '{{جمی:$1|وانیری گل گر بیه|وانیری گل گر بیه}} د [[:$2]]:',
'revdelete-hide-text' => 'متن دوواره دیئن',
'revdelete-hide-image' => 'چی یا مئن فایل قام کو',
'revdelete-hide-name' => 'آرمون و انجوم گر نه قام بکید',
'powersearch-toggleall' => 'همه',
'powersearch-togglenone' => 'هيش كوم',
'search-external' => 'پی جوری د در',
+'search-error' => 'یه گل خطا سی اوسنی که پی جوری می کردیت اتفاق افتائه:$1',
# Preferences page
'preferences' => 'خصوصيات هنی',
'prefs-namespaces' => 'نوم جایا',
'default' => 'پيش فرض',
'prefs-files' => 'فايلا',
+'prefs-common-css-js' => ' سی اس اس/جاوا اسکریپت بهر بیه سی همه پوسه یا:',
'prefs-emailconfirm-label' => 'مئکم کردن ایمیل:',
'youremail' => 'ايميل:',
'username' => '{{جنس:$1|نوم کاروری}}:',
'email-address-validity-invalid' => 'یه گل نشونی ایمیل خو وارد بکید',
# User rights
+'userrights-lookup-user' => 'دسه یا کاروری نه دیوون داری بکیت',
'userrights-user-editname' => 'نوم كاروری ته وارد كو',
'editusergroup' => 'ویرایشت گرویا کاروری',
'userrights-editusergroup' => 'ویرایشت گرویا کاروری',
# Rights
'right-read' => 'حنن بلگیا',
'right-edit' => 'ویرایشت بلگیا',
+'right-createtalk' => 'بلگه یا چک چنه نه راس بکید',
+'right-createaccount' => 'یه گل حساو کاروری تازه راس بکیت',
'right-move' => 'بلگه یا جا وه جا کو',
'right-move-subpages' => 'بلگه یا و زیر بلگه یا شونه جا وه جا کو',
'right-move-rootuserpages' => 'بلگه یا ریشه ای کارور نه جا وه جا کو',
'rcnotefrom' => 'د هار آلشتیا د $2 هیئن(د بال د $1 نشون دئه بیه)',
'rclistfrom' => 'آلشتیا تازه ایی که وا $1 شرو بیه نشونش بئه',
'rcshowhideminor' => 'ويرايشتيا کؤچک $1',
+'rcshowhideminor-show' => 'نشو دئن',
+'rcshowhideminor-hide' => 'قام کردن',
'rcshowhidebots' => '$1 رواتيا یا بوتيا',
+'rcshowhidebots-show' => 'نشو دئن',
+'rcshowhidebots-hide' => 'قام کردن',
'rcshowhideliu' => '$1 کاروريا ثوت نام کرده',
+'rcshowhideliu-show' => 'نشو دئن',
+'rcshowhideliu-hide' => 'قام کردن',
'rcshowhideanons' => '$1 کاروريا ناشناس',
+'rcshowhideanons-show' => 'نشو دئن',
+'rcshowhideanons-hide' => 'قام کردن',
'rcshowhidepatr' => '$1 ویرایشتیا تیه پرس بیه',
+'rcshowhidepatr-show' => 'نشو دئن',
+'rcshowhidepatr-hide' => 'قام کردن',
'rcshowhidemine' => 'ويرايشتيا مه$1',
+'rcshowhidemine-show' => 'نشو دئن',
+'rcshowhidemine-hide' => 'قام کردن',
'rclinks' => 'آخرین آلشتیا $1 نشو بیه د اخرین روزیا $2',
'diff' => 'فرخ',
'hist' => 'ويرگار',
'filereuploadsummary' => 'آلشتیا فایل:',
'filesource' => 'سرچشمه:',
'uploadedfiles' => 'جانیایا سواربیه',
+'ignorewarnings' => 'د هر زنهار تیه پوشی کو',
'badfilename' => 'نوم جانیا د "$1" آلشت بیه.',
'empty-file' => 'فایلی که دئی ته حالی بیه.',
'file-too-large' => 'فایلی که دئی ته فره گپ بی.',
'http-read-error' => 'خطا د حنن اچ تی تی پی.',
# Some likely curl errors. More could be added from <http://curl.haxx.se/libcurl/c/libcurl-errors.html>
+'upload-curl-error6' => 'نبوئه د یو آر ال برسیت',
'upload-curl-error28' => 'تموم بیئن مئلت سی سوار کرد',
'license' => 'ليانس دار بيئن',
'listfiles_user' => 'كارور',
'listfiles_size' => 'انازه',
'listfiles_count' => 'نسقیا',
+'listfiles-show-all' => 'شومل نسقه یا نهاتری عسگیا',
'listfiles-latestversion' => 'نسقه تازه',
'listfiles-latestversion-yes' => 'هری',
'listfiles-latestversion-no' => 'نه',
'statistics-articles' => 'بلگه یا مینونه',
'statistics-pages' => 'بلگیا',
'statistics-files' => 'جانیا یا سوار بیه',
+'statistics-edits-average' => 'میانگین ویرایشت یا سی هر بلگه',
'statistics-views-total' => 'همه نه بوینیت',
'statistics-views-peredit' => 'هر ویرایشت نه بوینیت',
'statistics-users' => 'ثوت نام بیه [[ویجه:نوم گه کاروریا|کاروریا]]',
'prefixindex' => 'همه بلگيا وا پيشون',
'shortpages' => 'بلگه یا کؤچک',
'longpages' => 'بلگه یا گپ',
+'deadendpages' => 'بلگه یا نابود بیئنی',
'protectedpages' => 'بلگه یا حفاظت بيه',
+'protectedpages-page' => 'بلگه',
+'protectedpages-expiry' => 'تموم بیه آ',
+'protectedpages-performer' => 'کارور حفاظت بیه',
+'protectedpages-reason' => 'دلیل',
+'protectedpages-unknown-timestamp' => 'ناشناس',
+'protectedpages-unknown-performer' => 'کارور ناشناس',
'listusers' => 'نوم گه کارور',
'listusers-editsonly' => 'فقط کاروریایی که ویرایشت می کن نشو بیه',
'usercreated' => '{{جنسیت:$3|راس بیه}}د $1 at $2',
'newpages' => 'بلگيا نو',
'newpages-username' => 'نوم كاروری:',
+'ancientpages' => 'بلگه یا نهاتر',
'move' => 'جاوه جا بوئيت',
'movethispage' => 'ای بگله نه جا وه جا كو',
'pager-newer-n' => '{{جمی:$1|وانها تر 1وانها تر $1}}',
'allpages' => 'همه بلگيا',
'alphaindexline' => '$1 د
$2',
+'nextpage' => 'بلگه نهایی($1)',
+'prevpage' => 'بلگه دمایی($1)',
'allarticles' => 'همه بلگيا',
'allpagessubmit' => 'رو',
'allpagesbadtitle' => 'عنوان بلگه حاسته بیه معتور نی،یا یه گل مئن زونی یا مئن ویکی عنوان غلطه.
یه شایت شومل یکی با یا بیشتر کاراکتریا نبوئه که سی ای موضوعیا استفاده بوئن',
+# SpecialCachedPage
+'cachedspecial-refresh-now' => 'دیئن آخری.',
+
# Special:Categories
'categories' => 'دسه يا',
# Special:DeletedContributions
'deletedcontributions' => 'هومیاریا پاک بیه کارور',
+'deletedcontributions-title' => 'هومیاریا پاک بیه کارور',
+'sp-deletedcontributions-contribs' => 'هومیاریا',
# Special:LinkSearch
'linksearch-ns' => 'نوم جا:',
'linksearch-line' => '$1 داره د $2 هوم پیوند بوئه',
# Special:ListUsers
+'listusers-submit' => 'نشو دئن',
'listusers-noresult' => 'هیچ کاروری پیدا نبی',
+'listusers-blocked' => '(قلف بيه)',
# Special:ActiveUsers
'activeusers' => 'نوم گه کاروریا کارکو',
+'activeusers-hidebots' => 'بوتیا قام کو',
+'activeusers-hidesysops' => 'دیوون داریا نه قام کو',
'activeusers-noresult' => 'هیچ کاروری پیدا نبی',
# Special:ListGroupRights
+'listgrouprights-group' => 'دسه',
+'listgrouprights-rights' => 'حقوقیا',
'listgrouprights-members' => '(نوم گه اندومیا)',
+'listgrouprights-addgroup-all' => 'همه گرویا نه اضاف کو',
+'listgrouprights-removegroup-all' => 'همه گرویا نه وردار',
+'listgrouprights-addgroup-self' => ' {{جمی:$2|گروه|گرویا}} نه د حساو: $1 اضاف کو',
# Email user
+'mailnologin' => 'هیپچ نشونی یی کل نبیه',
'emailuser' => 'ای كارور نه ايميل كو',
'emailuser-title-target' => 'ایمیل سی ای {{جنس:$1|کارور}}',
+'emailuser-title-notarget' => 'ایمیل کارور',
'emailpage' => 'ایمیل کارور',
'defemailsubject' => '{{نوم سیل جا}} ایمیل د کارور "$1"',
+'usermaildisabled' => 'ایمیل کارور د کار افتائه',
+'noemailtitle' => 'هیچ نشونی ایمیلی نئ',
'emailusername' => 'نوم كاروری:',
+'emailusernamesubmit' => 'دئن',
+'emailfrom' => 'د:',
+'emailto' => 'سی:',
+'emailsubject' => 'سرون:',
+'emailmessage' => 'پيغوم:',
+'emailsend' => 'كل بيه',
+'emailccme' => 'یه گل وردار د پیغوم مه نه سیم ایمیل کو.',
+'emailccsubject' => ' پیغومتو سی $1:$2 ورداشته بی',
+'emailsent' => 'ایمیل کل بیه',
+'emailsenttext' => 'پیغوم ایمیلی تو کل بیه.',
+
+# User Messenger
+'usermessage-editor' => 'پیغوم فرسن سیستم',
# Watchlist
'watchlist' => 'سیل برگ',
'watchnologin' => 'وارد نبیه',
'watchnologintext' => 'شما سی آلشت دئن سیل برگتو با [[ویجه:وامین اومائن کارور|وامین اومائه]]',
'watch' => 'سيل كردن',
+'watchthispage' => 'ديئن ای بلگه',
'unwatch' => 'ديه نبيه',
+'unwatchthispage' => 'واداشتن دیئن',
'notanarticle' => 'مینونه هیچ بلگه ای نئ',
'watchlist-details' => '{{جمی:$1|$1 بلگه|$1 بلگیا}} د سیل برگتو هیش بلگه قسه کردن نی .',
'wlheader-enotif' => 'وارسیاری ایمیل فعال بیه.',
'wlshowlast' => 'آخرین$1 ساعتیا $2و روزیا $3 نشو بیئه',
'watchlist-options' => 'گزینیا سیل برگ',
+# Displayed when you click the "watch" button and it is in the process of watching
+'watching' => 'د حال دیئن...',
+'unwatching' => 'د حال ندیئن...',
+
'enotif_mailer' => '{{نوم سیلجا}} وارسیاری ایمیل زننه',
'enotif_reset' => 'همه بلگه یا دیئه بینه نشودار بکید',
'enotif_impersonal_salutation' => '{{نوم سیلجا}} کارور',
'enotif_lastvisited' => 'همه آلشتیا$1 د اوسه که شما د آخرین بار دیئته بوینیت.',
+'enotif_anon_editor' => 'کارو ناشناس$1',
# Delete
+'deletepage' => 'پاک کردن بلگه',
+'confirm' => 'مئكم كردن',
'excontent' => 'مینونه :"$1" بی',
'exbeforeblank' => 'مینونه حالی دمایی:"$1" بی',
+'exblank' => 'بلگه حال بی',
+'delete-confirm' => 'پاک کردن"$1"',
+'delete-legend' => 'پاك كردن',
'actioncomplete' => 'عملكرد كامل بيه',
'actionfailed' => 'عملكرد شكست حرده',
'dellogpage' => 'لاگ پاك كردن',
'deletionlog' => 'پهرستنومه پاک بیئن',
+'deletecomment' => 'دليل:',
+'deleteotherreason' => 'دليليا هنی:',
+'deletereasonotherlist' => 'دلیل هنی',
+'deletereason-dropdown' => '* دلیلیا پاک کردن رسم بیه
+** اسپم
+** خراوکاری
+** رعایت نبین کپی رایت
+** درحاست نیسنه
+** نهاورگشت شکست حرده',
# Rollback
'rollbacklink' => 'ورگشتن',
'restriction-type' => 'دسرسی:',
# Restrictions (nouns)
+'restriction-edit' => 'ويرايشت',
'restriction-move' => 'جاوه جا بوئيت',
+'restriction-create' => 'راس كردن',
'restriction-upload' => 'سوار کرد',
# Restriction levels
# Undelete
'undeletelink' => 'بوين/دوواره آماده با',
'undeleteviewlink' => 'ديئن',
+'undeletecomment' => 'دليل:',
'cannotundelete' => 'زنه کردن انجوم نبی:$1',
'undelete-search-title' => 'بلگه یا پاک بیه نه پی جوری کو',
'undelete-search-submit' => 'پی جوری',
'undelete-error-short' => 'خطا پاک نبیئن جانیا:$1',
+'undelete-show-file-submit' => 'هری',
# Namespace form on various pages
'namespace' => 'نوم جا:',
# Block/unblock
'block' => 'منع کارور',
'blockip' => 'منع کارور',
+'ipbreason' => 'دليل:',
'ipbother' => 'وخت هنی:',
'ipboptions' => '2 ساعتیا:2 ساعت,1 رو:1 رو,3 روزا:3 رو,1 هفته:1 هفته,2 هفته یا:2 هفته,1 ما:1 ما,3 ما:3 میا,6 ما:6 مایا,1 سال:1سال,بی حساو:بی حساو',
'ipbhidename' => 'نوم کاروری نه سی ویرایشت یا و نوم گه یا قام کو',
'revdelete-no-file' => 'Nurodytas failas neegzistuoja.',
'revdelete-show-file-confirm' => 'Ar tikrai norite peržiūrėti ištrintą failo „<nowiki>$1</nowiki>“ $2 $3 versiją?',
'revdelete-show-file-submit' => 'Taip',
-'revdelete-selected' => "'''{{PLURAL:$2|Pasirinkta [[:$1]] versija|Pasirinktos [[:$1]] versijos}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Pasirinktas istorijos įvykis|Pasirinkti istorijos įvykiai}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Pasirinktas istorijos įvykis|Pasirinkti istorijos įvykiai}}:',
'revdelete-confirm' => 'Prašome patvirtinti, kad jūs tai ketinate padaryti, kad jūs suprantate padarinius, ir kad jūs tai darote pagal [[{{MediaWiki:Policy-url}}|politiką]].',
'revdelete-suppress-text' => "Ištrynimas turėtų būti taikomas '''tik''' šiais atvejais:
* Netinkama asmeninė informacija
'revdelete-nooldid-title' => 'Nederīga mērķa versija',
'revdelete-no-file' => 'Norādītais fails neeksistē.',
'revdelete-show-file-submit' => 'Jā',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|izvēlētā versija|izvēlētās versijas}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Izvēlētais reģistra ieraksts|Izvēlētie reģistra ieraksti}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Izvēlētais reģistra ieraksts|Izvēlētie reģistra ieraksti}}:',
'revdelete-confirm' => 'Lūdzu apstiprini, ka Tu zini, ko dari, Tu apzinies sekas, tāpat Tu to dari saskaņā ar vadlīnijām.',
'revdelete-suppress-text' => "Paslēpšanu izmantot vienīgi šādos gadījumos:
* potenciāli apmelojoša informācija
'revdelete-no-file' => '指之檔無存也。',
'revdelete-show-file-confirm' => '爾察於$2 $3刪「$1」檔之審?',
'revdelete-show-file-submit' => '善',
-'revdelete-selected' => "'''審[[:$1]]已擇$2:'''",
-'logdelete-selected' => "'''已擇誌$1:'''",
+'logdelete-selected' => '已擇誌$1:',
'revdelete-confirm' => '爾確作之,解之果焉,合之[[{{MediaWiki:Policy-url}}|策]]矣。',
'revdelete-suppress-text' => "'''限'''於此壓:
* 無適之個訊
'revdelete-no-file' => 'विषिष्ट संचिका अछिये नै।',
'revdelete-show-file-confirm' => 'की अहाँ आश्वस्त छी जे अहाँ संचिकाक मेटाएल संशोधन देखऽ चाहै छी "<nowiki>$1</nowiki>" ऐ सँ $2 एतऽ $3?',
'revdelete-show-file-submit' => 'हँ',
-'revdelete-selected' => "'''{{PLURAL:$2|चुनल संशोधन|चुनल संशोधन सभ}} एकर [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|चुनल वृत्तलेख घटना|चुनल वृत्तलेख घटना सभ}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|चुनल वृत्तलेख घटना|चुनल वृत्तलेख घटना सभ}}:',
'revdelete-confirm' => 'कृपा कऽ आश्वस्त भऽ जाउ जे अहाँ ई करऽ चाहै छी, अहाँकेँ एकर परिणामक जनतब अछि, आ अहाँ एकरा [[{{MediaWiki:Policy-url}}|निअम]] क अनुसार कऽ रहल छी।',
'revdelete-suppress-text' => "दबाबैबला काज '''मात्र''' ऐ सभ स्थितिमे प्रयोग करू:
* मानहानिक सम्भावनाबला सूचना
'revdelete-no-file' => 'Berkas sing dituju ora ana.',
'revdelete-show-file-confirm' => 'Apa rika wis mantep arep ndeleng revisi sing wis dibusek nggone berkas "<nowiki>$1</nowiki>" sekang tanggal $2 jam $3?',
'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi kepilih}} sekang [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log kepilih|Log kepilih}} kanggo:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log kepilih|Log kepilih}} kanggo:',
'revdelete-legend' => 'Atur watesan',
'revdelete-hide-text' => 'Tèks revisi',
'revdelete-hide-image' => 'Umpetna isi berkas',
'revdelete-nooldid-title' => 'Аф лац верзиень кочкама',
'revdelete-nooldid-text' => 'Тон ашеть кочка верзие эли верзиет конатнень мархта эряви тянь тиемс, илякс ня верзиетне ашет эли тонт тяряфнят кяшемс тяниень верзиеть.',
'revdelete-show-file-submit' => 'Ина',
-'revdelete-selected' => "''''''$1:'''-нь {{PLURAL:$2|Кочкаф верзиец|Кочкаф верзиенза}}'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Кочкаф сёрматфтомась|кочкаф сёрматфтоматне}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Кочкаф сёрматфтомась|кочкаф сёрматфтоматне}}:',
'revdelete-legend' => 'Арафтомс няемга оторхне',
'revdelete-hide-text' => 'Кяшемс тя лопать верзиенц',
'revdelete-hide-image' => 'Кяшемс файлхнень потмосна',
'noarticletext-nopermission' => "Mbola tsy misy lahatsoratra ao amin'io pejy io.
Azonao atao ny [[Special:Search/{{PAGENAME}}|mikaroka ity lohateny ity]] eny amin'ny pejy hafa na <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mitady ao amin'ny laogy misy fifandraisana]</span>, fa tsy azonao atao ny mamorona ity pejy ity.",
-'missing-revision' => 'Tsy misy ny santiôna #$1 ny pejy "{{PAGENAME}}".
+'missing-revision' => 'Tsy misy ny santiôna #$1 ny pejy "{{FULLPAGENAME}}".
Mitranga izany rehefa manaraka rohin-tantara tola mankany amina pejy voafafa. Ahitana fampahalalana fanampiny ny [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} laogim-pamafana].',
'userpage-userdoesnotexist' => 'Mbola tsy nisoratra anarana ato i « <nowiki>$1</nowiki> ». Marino raha tena hamorona ity pejy ity ianao.',
'revdelete-no-file' => 'Tsy misy ilay rakitra hofafàna.',
'revdelete-show-file-confirm' => "Tapa-kevitra hamafa ny ''revision''-n'i rakitra <nowiki>$1</nowiki> tamin'ny $2 tamin'ny $3 ve ianao ?",
'revdelete-show-file-submit' => 'Eny',
-'revdelete-selected' => "'''{{PLURAL:$2|Votoatiny nosafidiana|Votoatiny nosafidiana}}n'i '''[[:$1]]''' :'''",
-'logdelete-selected' => "'''{{PLURAL:$1||}}Laogy voafidy :'''",
+'logdelete-selected' => '{{PLURAL:$1||}}Laogy voafidy :',
'revdelete-confirm' => 'Amafiso eto ny hevitrao raha hanao io ianao, raha azonao sary an-tsaina ny mety ho vokany, ary raha araka ny [[{{MediaWiki:Policy-url}}|fepetra mihatra]] ny zavatra ataonao.',
'revdelete-suppress-text' => "Ny famafàna pejy dia ampiasaina rehefa :
* Fampahalalana mampiely lainga
Sanak dapek [[Special:Search/{{PAGENAME}}|malakuan pancarian untuak judul laman ko]] di laman-laman lain, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mancari log takaik], atau [{{fullurl:{{FULLPAGENAME}}|action=edit}} manyuntiang laman iko]</span>.',
'noarticletext-nopermission' => 'Kini ko indak ado teks dalam laman ko.
Sanak dapek [[Special:Search/{{PAGENAME}}|malakukan pancarian untuak judul laman ko]] di laman lain, atau <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mancahari log takaik] </span>, tapi Sanak indak punyo izin untuak mambuek laman ko.',
-'missing-revision' => 'Revisi $1 di laman nan banamo "{{PAGENAME}}" ko indak ado.
+'missing-revision' => 'Revisi $1 di laman nan banamo "{{FULLPAGENAME}}" ko indak ado.
Hal iko biasonyo disababkan dek pautan sijarah nan alah kadaluarsa ka laman nan alah diapuih.
Rinciannyo dapek dicaliak di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log pangapuihan].',
'revdelete-no-file' => 'Berkas nan dituju indak basobok.',
'revdelete-show-file-confirm' => 'Apokah Sanak yakin nio mancaliak revisi nan alah dihapuih dari berkas "<nowiki>$1</nowiki>" per $3, $2?',
'revdelete-show-file-submit' => 'Yo',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi piliahan}} dari [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Log piliahan}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Log piliahan}}:',
'revdelete-confirm' => 'Tolong konfirmasi baso Sanak samemang bamakasuik malakuan iko, mamahami konsekuensinyo, dan baso Sanak malakuannyo sasuai jo [[{{MediaWiki:Policy-url}}|kabijakan]].',
'revdelete-suppress-text' => "Panyambunyian revisi '''hanyo''' buliah digunoan untuak kasus-kasus barikuik:
* Informasi paribadi nan indak patuik
или да [{{fullurl:{{FULLPAGENAME}}|action=edit}} ја создадете]</span>.',
'noarticletext-nopermission' => 'Таква страница сè уште не постои.
Можете да проверите [[Special:Search/{{PAGENAME}}|дали насловот се споменува]] во други статии или пак да <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} пребарате поврзаните дневници]</span>, но немате дозвола да ја создадете страницата.',
-'missing-revision' => 'Не ја пронајдов ревизијата бр. $1 на страницата со наслов „{{PAGENAME}}“.
+'missing-revision' => 'Не ја пронајдов ревизијата бр. $1 на страницата со наслов „{{FULLPAGENAME}}“.
Ова обично се должи на застарена врска за разлики што води кон избришана страница.
Повеќе подробности ќе најдете во [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневникот на бришења].',
'revdelete-no-file' => 'Наведената податотека не постои.',
'revdelete-show-file-confirm' => 'Дали сакате да ја погледнете избришаната ревизија на податотеката „<nowiki>$1</nowiki>“ од $2 во $3?',
'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Избрана ревизија|Избрани ревизии}} од [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Одбран настан од дневник|Одбрани настани од дневник}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Избрана ревизија|Избрани ревизии}} на [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Избрана податотечна верзија|Избрани податотечни верзии}} на [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Одбран настан од дневник|Одбрани настани од дневник}}:',
'revdelete-text-text' => 'Избришаните ревизии сепак се појавуваат во историјата, но делови од нивната содржина ќе бидат недостапни за јавноста.',
'revdelete-text-file' => 'Избришаните верзии на податотеките сепак се појавуваат во нејзината историја, но делови од нивната содржина ќе бидат недостапни за јавноста.',
'logdelete-text' => 'Избришаните дневнички ставки сепак се појавуваат во дневниците, но делови од нивната содржина ќе бидат недостапни за јавноста.',
താങ്കൾക്ക് മറ്റുതാളുകളിൽ [[Special:Search/{{PAGENAME}}|ഇതേക്കുറിച്ച് അന്വേഷിക്കുകയോ]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ബന്ധപ്പെട്ട രേഖകൾ പരിശോധിക്കുകയോ], [{{fullurl:{{FULLPAGENAME}}|action=edit}} ഈ താൾ തിരുത്തുകയോ ചെയ്യാവുന്നതാണ്]</span>.',
'noarticletext-nopermission' => 'ഇപ്പോൾ ഈ താളിൽ എഴുത്തുകളൊന്നും ഇല്ല.
താങ്കൾക്ക് മറ്റു താളുകളിൽ [[Special:Search/{{PAGENAME}}|ഈ താളിന്റെ തലക്കെട്ടിനായി തിരയാവുന്നതാണ്]], അല്ലെങ്കിൽ <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ബന്ധപ്പെട്ട രേഖകൾ പരിശോധിക്കാവുന്നതാണ്]</span>. പക്ഷേ ഈ താൾ സൃഷ്ടിക്കാൻ താങ്കൾക്ക് അനുവാദമില്ല.',
-'missing-revision' => '"{{PAGENAME}}" എന്ന താളിന്റെ #$1 എന്ന നാൾപ്പതിപ്പ് നിലവിലില്ല.
+'missing-revision' => '"{{FULLPAGENAME}}" എന്ന താളിന്റെ #$1 എന്ന നാൾപ്പതിപ്പ് നിലവിലില്ല.
മായ്ക്കപ്പെട്ട താളിന്റെ കാലഹരണപ്പെട്ട നാൾവഴി കണ്ണി ഉപയോഗിച്ചാലാണ് സാധാരണ ഇങ്ങനെ സംഭവിക്കുക.
കൂടുതൽ വിവരങ്ങൾ [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} മായ്ക്കൽ രേഖയിൽ] കാണാവുന്നതാണ്.',
'revdelete-no-file' => 'നിർദ്ദേശിച്ച പ്രമാണം നിലവിലില്ല.',
'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" പ്രമാണത്തിന്റെ $2 തീയതി $3 -യ്ക്കു നിലനിന്നിരുന്ന മായ്ക്കപ്പെട്ട പതിപ്പു കാണണം എന്നു താങ്കൾക്ക് ഉറപ്പാണോ?',
'revdelete-show-file-submit' => 'അതെ',
-'revdelete-selected' => "'''[[:$1]] എന്ന താളിന്റെ {{PLURAL:$2|തിരഞ്ഞെടുത്ത പതിപ്പ്|തിരഞ്ഞെടുത്ത പതിപ്പുകൾ}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളത്|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളവ}}:'''",
+'revdelete-selected-text' => '[[:$2]] എന്ന താളിന്റെ {{PLURAL:$1|തിരഞ്ഞെടുത്ത നാൾപ്പതിപ്പ്|തിരഞ്ഞെടുത്ത നാൾപ്പതിപ്പുകൾ}}:',
+'revdelete-selected-file' => '[[:$2]] എന്ന പ്രമാണത്തിന്റെ {{PLURAL:$1|തിരഞ്ഞെടുത്ത പതിപ്പ്|തിരഞ്ഞെടുത്ത പതിപ്പുകൾ}}:',
+'logdelete-selected' => '{{PLURAL:$1|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളത്|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളവ}}:',
'revdelete-text-text' => 'മായ്ക്കപ്പെട്ട നാൾപ്പതിപ്പുകൾ താളിന്റെ നാൾവഴിയിൽ കാണാവുന്നതായിരിക്കുമെങ്കിലും, അവയുടെ ഉള്ളടക്കത്തിന്റെ ചില ഭാഗങ്ങൾ പൊതുജനങ്ങൾക്ക് ലഭ്യമായിരിക്കണമെന്നില്ല.',
'revdelete-text-file' => 'പ്രമാണത്തിന്റെ മായ്ക്കപ്പെട്ട പതിപ്പുകൾ താളിന്റെ നാൾവഴിയിൽ കാണാവുന്നതായിരിക്കുമെങ്കിലും, അവയുടെ ഉള്ളടക്കത്തിന്റെ ചില ഭാഗങ്ങൾ പൊതുജനങ്ങൾക്ക് ലഭ്യമായിരിക്കണമെന്നില്ല.',
'logdelete-text' => 'മായ്ക്കപ്പെട്ട പ്രവൃത്തികൾ പ്രവർത്തന രേഖകളിൽ കാണാവുന്നതായിരിക്കുമെങ്കിലും, അവയുടെ ഉള്ളടക്കത്തിന്റെ ചില ഭാഗങ്ങൾ പൊതുജനങ്ങൾക്ക് ലഭ്യമായിരിക്കണമെന്നില്ല.',
# List redirects
'listredirects' => 'തിരിച്ചുവിടൽ താളുകളുടെ പട്ടിക കാണിക്കുക',
+# List duplicated files special page
+'listduplicatedfiles' => 'പകർപ്പുകളുള്ള പ്രമാണങ്ങളുടെ പട്ടിക',
+'listduplicatedfiles-summary' => 'ഒരു പ്രമാണത്തിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് മറ്റേതെങ്കിലും പ്രമാണത്തിന്റെ ഏറ്റവും പുതിയ പതിപ്പിന്റെ പകർപ്പ് ആണെങ്കിൽ, ഈ പട്ടികയിൽ കാണാവുന്നതാണ്. പ്രാദേശിക പ്രമാണങ്ങൾ മാത്രമാണ് കണക്കിലെടുത്തിരിക്കുന്നത്.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] എന്ന പ്രമാണത്തിന് [[$3|{{PLURAL:$2|ഒരു പകർപ്പ്|$2 പകർപ്പുകൾ}}]] ഉണ്ട്.',
+
# Unused templates
'unusedtemplates' => 'ഉപയോഗിക്കപ്പെടാത്ത ഫലകങ്ങൾ',
'unusedtemplatestext' => '{{ns:template}} എന്ന നാമമേഖലയിൽ ഉള്ളതും ഒരു താളിലും ചേർത്തിട്ടുമില്ലാത്ത എല്ലാ ഫലകതാളുകളുടേയും പട്ടിക ഈ താളിൽ കാണാം. ഫലകങ്ങൾ മായ്ക്കുന്നതിനു മുൻപ് അതു മറ്റൊരു താളിലും ഉപയോഗിക്കുന്നില്ല എന്നുറപ്പാക്കുക.',
'''$1''' എന്ന താളിന്റെ നിലവിലുള്ള ക്രമീകരണം ഇതാണ്:",
'protect-locked-access' => "താളുകളുടെ സംരക്ഷണമാനത്തിൽ വ്യതിയാനം വരുത്തുവാനുള്ള അനുമതി താങ്കളുടെ അംഗത്വത്തിനില്ല.
'''$1''' എന്ന താളിന്റെ നിലവിലുള്ള ക്രമീകരണങ്ങൾ ഇതാ:",
-'protect-cascadeon' => 'à´\88 താൾ നിർà´\9dരിതസà´\82à´°à´\95àµ\8dഷിതമായ (cascading protection) {{PLURAL:$1|à´\92à´°àµ\81 താളിൽ|പല താളàµ\81à´\95ളിൽ}} à´\89ൾപàµ\8dà´ªàµ\86à´\9fàµ\81à´¤àµ\8dതപàµ\8dà´ªàµ\86à´\9fàµ\81à´¤àµ\8dതപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9fà´¿à´°à´¿à´\95àµ\8dà´\95àµ\81à´¨àµ\8dനതിനാൽ à´\87à´¤àµ\8d à´¸à´\82à´°à´\95àµ\8dà´·à´¿à´¤ താളാണàµ\8d. à´\8eà´¨àµ\8dനാൽ താà´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´\88 താളിനàµ\8dà´±àµ\86 à´¸à´\82à´°à´\95àµ\8dഷണമാനà´\82 മാറàµ\8dà´±àµ\81വാൻ à´\95à´´à´¿à´¯àµ\81à´\82, à´\85à´\99àµ\8dà´\99à´¨àµ\86 à´\9aàµ\86à´¯àµ\8dതാൽ നിർà´\9dരിതസà´\82à´°à´\95àµ\8dഷണതàµ\8dതിനàµ\81 മാറ്റം വരികയില്ല.',
+'protect-cascadeon' => 'à´\88 താൾ à´¸à´\82à´°à´\95àµ\8dഷണപരമàµ\8dപരയിൽ à´\89ൾപàµ\8dà´ªàµ\86à´\9fàµ\8dà´\9f (cascading protection) {{PLURAL:$1| താളിൽ| താളàµ\81à´\95ളിൽ}} à´\89ൾപàµ\8dà´ªàµ\86à´\9fàµ\81à´¤àµ\8dതിയിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dനതിനാൽ à´\87à´¤àµ\8d à´¸à´\82à´°à´\95àµ\8dà´·à´¿à´¤ താളാണàµ\8d. à´\8eà´¨àµ\8dനാൽ താà´\99àµ\8dà´\95ൾà´\95àµ\8dà´\95àµ\8d à´\88 താളിനàµ\8dà´±àµ\86 à´¸à´\82à´°à´\95àµ\8dഷണമാനà´\82 മാറàµ\8dà´±àµ\81വാൻ à´\95à´´à´¿à´¯àµ\81à´\82, à´\85à´\99àµ\8dà´\99à´¨àµ\86 à´\9aàµ\86à´¯àµ\8dതാൽ à´¸à´\82à´°à´\95àµ\8dഷണപരമàµ\8dപരയിൽ മാറ്റം വരികയില്ല.',
'protect-default' => 'എല്ലാ ഉപയോക്താക്കളെയും അനുവദിക്കുക',
'protect-fallback' => '"$1" അനുവാദമുള്ള ഉപയോക്താക്കളെ മാത്രം അനുവദിക്കുന്നു',
'protect-level-autoconfirmed' => 'സ്ഥിരീകരിക്കപ്പെട്ട ഉപയോക്താക്കളെ മാത്രം അനുവദിക്കുന്നു',
'revdelete-no-file' => 'Өгөгдсөн файл байхгүй байна.',
'revdelete-show-file-confirm' => '$2-ий $3 дахь "<nowiki>$1</nowiki>" файлын устгагдсан засварыг үзмээр байгаадаа итгэлтэй байна уу?',
'revdelete-show-file-submit' => 'Тийм',
-'revdelete-selected' => "'''[[:$1]]-н {{PLURAL:$2|сонгосон засвар|сонгосон засварууд}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Сонгосон логийн үйл явдал|Сонгосон логийн үйл явдлууд}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Сонгосон логийн үйл явдал|Сонгосон логийн үйл явдлууд}}:',
'revdelete-confirm' => 'Та энэхүү үйлдлийг хийх гэж байгаа, үр дагаварыг ойлгож байгаа, [[{{MediaWiki:Policy-url}}|дүрмийн дагуу]] хийж байгаа гэдгээ батална уу.',
'revdelete-suppress-text' => "'''Зөвхөн'' дараах тохиолдлуудад л далдалгааг хэрэглэнэ:
*Гүтгэсэн, матсан байж болох мэдээлэл
किंवा हा लेख [{{fullurl:{{FULLPAGENAME}}|action=edit}} लिहू शकता]</span>.',
'noarticletext-nopermission' => 'सध्या या लेखात काहीही मजकूर नाही.
तुम्ही विकिपीडियावरील इतर लेखांमध्ये [[Special:Search/{{PAGENAME}}| या मथळ्याचा शोध घेऊ शकता]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAME}}}}आपण या लेखाच्या इतर नोंदी शोधा]</span>,परंतु, आपणास हा लेख लिहीण्याची परवानगी देण्यात येउ शकत नाही.',
-'missing-revision' => '"{{PAGENAME}}" या लेखाचे #$1 हे संस्करण अस्तित्वात नाही.वगळल्या गेलेल्या लेखपानाच्या जुन्या इतिहास-दुव्याचे अनुसरण केल्यामुळे असे होते.याबाबत विस्तृत माहिती [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} वगळलेल्या नोंदी]येथे बघता येईल.',
+'missing-revision' => '"{{FULLPAGENAME}}" या लेखाचे #$1 हे संस्करण अस्तित्वात नाही.वगळल्या गेलेल्या लेखपानाच्या जुन्या इतिहास-दुव्याचे अनुसरण केल्यामुळे असे होते.याबाबत विस्तृत माहिती [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} वगळलेल्या नोंदी]येथे बघता येईल.',
'userpage-userdoesnotexist' => '"<nowiki>$1</nowiki>" सदस्य खात्याची नोंद नाही. कृपया हे पान तुम्ही संपादित किंवा नव्याने तयार करू इच्छिता काय याबद्दल विचार करा.',
'userpage-userdoesnotexist-view' => 'सदस्यखाते "$1" हे नोंदलेले नाही.',
'blocked-notice-logextract' => 'हा सदस्य सध्या प्रतिबंधित आहे.
'revdelete-no-file' => 'नमूद केलेली संचिका अस्तित्वात नाही.',
'revdelete-show-file-confirm' => 'तुम्ही "<nowiki>$1</nowiki>" या संचिकेची $2 ला $3 वेळी वगळलेली आवृत्ती नक्की पहाणार आहात?',
'revdelete-show-file-submit' => 'होय',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|ची निवडलेली आवृत्ती|च्या निवडलेल्या आवृत्त्या}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|निवडलेली नोंदीकृत घटना|निवडलेल्या नोंदीकृत घटना}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|निवडलेली नोंदीकृत घटना|निवडलेल्या नोंदीकृत घटना}}:',
'revdelete-confirm' => "कृपया '''याची खात्री करा''' की तुम्ही जे करीत आहात, त्याचे परिणाम आपण जाणत आहात आणि, ते काम [[{{MediaWiki:Policy-url}}|मीडियाविकीच्या नीती]]नुसार आहे.",
'revdelete-suppress-text' => "लपवण्याचा वापर '''फक्त''' पुढील बाबतीत होतो:
* उच्च दर्जाची बदनामीकारक माहिती
'noarticletext-nopermission' => 'Tiada teks dalam laman ini ketika ini.
Anda boleh [[Special:Search/{{PAGENAME}}|mencari tajuk laman ini]] dalam laman lain,
atau <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mencari log yang berkaitan]</span>.',
-'missing-revision' => 'Semakan #$1 pada halaman "{{PAGENAME}}" tidak wujud.
+'missing-revision' => 'Semakan #$1 pada halaman "{{FULLPAGENAME}}" tidak wujud.
Hal ini biasanya disebabkan oleh pautan sejarah yang lapuk ke halaman yang sudah dihapuskan.
Butirannya boleh didapati di [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} log penghapusan].',
'revdelete-no-file' => 'Fail yang dinyatakan tidak wujud.',
'revdelete-show-file-confirm' => 'Anda pasti anda mahu paparkan semakan yang telah dihapuskan bagi fail "<nowiki>$1</nowiki>" dari $2 pada $3?',
'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Versi|Versi-versi}} '''$1''' yang dipilih:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Peristiwa|Peristiwa-peristiwa}} log yang dipilih:'''",
+'logdelete-selected' => '{{PLURAL:$1|Peristiwa|Peristiwa-peristiwa}} log yang dipilih:',
'revdelete-confirm' => 'Sila sahkan bahawa anda bertujuan melakukan ini, bahawa anda faham akibatnya, dan anda melakukannya menurut [[{{MediaWiki:Policy-url}}| polisi]].',
'revdelete-suppress-text' => "Sekatan seharusnya digunakan '''hanya''' untuk kes-kes berikut:
* maklumat yang mungkin berunsur fitnah
'noarticletext' => "Bħalissa m'hemm l-ebda test f'din il-paġna.
Inti tista' [[Special:Search/{{PAGENAME}}|tfittex it-titlu ta' din il-paġna]] f'paġni oħra, jew <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tfittex ir-reġistri relatati], jew [{{fullurl:{{FULLPAGENAME}}|action=edit}} timmodifika din il-paġna]</span>.",
'noarticletext-nopermission' => "Bħalissa m'hemm l-ebda test f'din il-paġna. Inti tista' [[Special:Search/{{PAGENAME}}|tfittex għal dan it-titlu tal-paġna]] f'paġni oħra, jew <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} fittex ir-reġistri relatati]</span>.",
-'missing-revision' => 'Ir-reviżjoni #$1 tal-paġna bl-isem "{{PAGENAME}}" ma teżistix.
+'missing-revision' => 'Ir-reviżjoni #$1 tal-paġna bl-isem "{{FULLPAGENAME}}" ma teżistix.
Dan ħafna drabi jiġri minħabba li tkun segwejt ħolqa lejn paġna mħassra, f\'kronoloġija li mhix aġġornata.
Id-detallji tista\' ssibhom fir-[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} reġistru tat-tħassir].',
'revdelete-no-file' => 'Il-fajl speċifikat ma jeżistix.',
'revdelete-show-file-confirm' => 'Tinsab ċert li trid tara reviżjoni mħassra tal-fajl "<nowiki>$1</nowiki>" tal-$2 fil-$3?',
'revdelete-show-file-submit' => 'Iva',
-'revdelete-selected' => "'''{{PLURAL:$2|Reviżjoni magħżula|Reviżjonijiet magħżula}} ta' [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Avveniment tar-reġistru magħżul|Avvenimenti tar-reġistri magħżula}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Avveniment tar-reġistru magħżul|Avvenimenti tar-reġistri magħżula}}:',
'revdelete-confirm' => 'Jekk jogħġbok ikkonferma li dan hu dak li tixtieq tagħmel, li tifhem il-konsegwenzi, u li qed tagħmel dan skont il-[[{{MediaWiki:Policy-url}}|politika]].',
'revdelete-suppress-text' => "It-trażżin għandu jintuża '''biss''' għall-każijiet segwenti:
* Potenzjal ta' kontenut libelluż
'revisiondelete' => 'Нардамс/вельмевтемс лиякстомтоматнень',
'revdelete-show-file-confirm' => 'Алкукс ули мелеть ваномс «<nowiki>$1</nowiki>» керьмазонть нардазь ревизиянзо, конась саезь $2-нть эйстэ ды ашти тесэ $3?',
'revdelete-show-file-submit' => 'Ули',
-'revdelete-selected' => "'''[[:$1]]-нь {{PLURAL:$2|1=Кочкань лиякстомтомась|Кочкань лиякстомтоматне}}:'''",
'revdelete-legend' => 'Аравтомс неявомачынь петне',
'revdelete-hide-text' => 'Кекшемс лиякстомтомань текстэнть',
'revdelete-hide-image' => 'Кекшемс мезе файлатнесэ',
'disclaimers' => 'تکذیبنومهئون',
'disclaimerpage' => 'Project:تکذیبنومه',
'edithelp' => 'دچیین رانما',
-'helppage' => 'Help:راهنما',
'mainpage' => 'گت صفحه',
'mainpage-description' => 'گت صفحه',
'policy-url' => 'Project:سیاستون',
# Revision deletion
'rev-delundel' => 'دیار بیّن/فرو بوردن',
-'revdelete-text' => "'''نسخهئون و حذف بئی موارد ره بشنه سیاهه جا و صفحه تاریخچه دله بدین، ولی اتی قسمت از وشونه محتواره بقیه کارورون نتوننه بوینن.'''
-{{SITENAME}} بقیه مدیرون بتوننه اینتا پنهون بئیه محتوا ره هارشن و وشونه حذف بئیون ره احیاء هاکنن، مگر اینکه اتی سری محدودیت ونه رو اعمال بئی باشه.",
'revdel-restore' => 'دیاری تغییر هدائن',
# History merging
'rev-delundel' => 'tiquittāz/tictlātīz',
'revisiondelete' => 'Tiquimpolōz/ahtiquimpolōz tlachiyaliztli',
'revdelete-show-file-submit' => 'Quēmah',
-'revdelete-selected' => "'''{{PLURAL:$2|Tlachiyaliztli ōmoēlēhui|Tlachiyaliztli ōmoēlēhuih}} [[:$1]] ītechcopa:'''",
'revdelete-hide-text' => 'In tlahtlachiyaliztli ītlahcuilōl',
'revdelete-hide-image' => 'Tictlātīz tlahcuilōlli ītlapiyaliz',
'revdelete-radio-set' => 'Tlaīnāyalli',
'yourpassword' => 'Lí ê bi̍t-bé:',
'userlogin-yourpassword' => 'Bi̍t-bé',
'yourpasswordagain' => 'Têng phah bi̍t-bé:',
-'remembermypassword' => 'Kì tiâu góa ê bi̍t-bé (āu-chhiú teng-ji̍p iōng) (for a maximum of $1 {{PLURAL:$1|day|days}})',
+'remembermypassword' => 'Kì tiâu góa ê bi̍t-bé (āu-chhiú teng-ji̍p iōng) (siōng chē kì $1 {{PLURAL:$1|kang|kang}})',
'login' => 'Teng-ji̍p',
'nav-login-createaccount' => 'Teng-ji̍p / khui sin kháu-chō',
'loginprompt' => 'Thiⁿ ē-kha ê chu-liāu thang khui sin hō·-thâu a̍h-sī teng-ji̍p {{SITENAME}}.',
'logout' => 'Teng-chhut',
'userlogout' => 'Teng-chhut',
'notloggedin' => 'Bô teng-ji̍p',
-'nologin' => "Bô-thang teng-ji̍p? '''$1'''.",
+'nologin' => 'Bô kháu-chō thang teng-ji̍p? $1',
'nologinlink' => 'Khui 1 ê kháu-chō',
'createaccount' => 'Khui sin kháu-chō',
'gotaccount' => "Í-keng ū kháu-chō? '''$1'''.",
'nouserspecified' => 'Lí ài chí-tēng chi̍t ê iōng-chiá miâ.',
'wrongpassword' => 'Lí su-ji̍p ê bi̍t-bé ū têng-tâⁿ. Chhiáⁿ têng chhì.',
'wrongpasswordempty' => 'Bi̍t-bé keh-á khang-khang. Chhiáⁿ têng chhì.',
-'mailmypassword' => 'Kià sin bi̍t-bé hō· góa',
+'mailmypassword' => 'Têng siat bi̍t-bé',
'passwordremindertitle' => '{{SITENAME}} the-chheN li e bit-be',
'noemail' => 'Kì-lo̍k bô iōng-chiá "$1" ê e-mail chū-chí.',
'passwordsent' => 'Ū kià sin bi̍t-bé khì "$1" chù-chheh ê e-mail chū-chí. Siu--tio̍h liáu-āu chhiáⁿ têng teng-ji̍p.',
'yourdiff' => 'Chha-pia̍t',
'readonlywarning' => "'''CHÙ-Ì: Chu-liāu-khò· taⁿ só tiâu leh thang pān î-siu khang-khòe, só·-í lí hiān-chú-sî bô thang pó-chûn jīn-hô phian-chi̍p hāng-bo̍k. Lí ē-sái kā siong-koan pō·-hūn tah--ji̍p-khì 1-ê bûn-jī tóng-àn pó-chûn, āu-chhiú chiah koh kè-sio̍k.'''",
'protectedpagewarning' => "'''KÉNG-KÒ: Pún ia̍h só tiâu leh. Kan-taⁿ ū hêng-chèng te̍k-koân ê iōng-chiá (sysop) ē-sái siu-kái.'''",
-'templatesused' => 'Chit ia̍h iōng chia ê pang-bô·:',
+'templatesused' => 'Chit ia̍h iōng {{PLURAL:$1| ê pang-bô·| ê pang-bô·}} :',
'templatesusedpreview' => 'Chit ê preview iōng chia ê pang-bô͘:',
'templatesusedsection' => 'Chit ê section iōng chia ê pang-bô͘:',
'template-protected' => '(pó-hō͘)',
'filehist-thumb' => '細張圖',
'filehist-user' => 'Iōng-chiá',
'imagelinks' => 'tóng-àn sù-iōng ê chōng-hòng',
-'linkstoimage' => 'Í-hā ê ia̍h liân kàu chit ê iáⁿ-siōng:',
+'linkstoimage' => 'ē-kha $1 ê ia̍h ū iōng tio̍h chit ê iáⁿ-siōng:',
'nolinkstoimage' => 'Bô poàⁿ ia̍h liân kàu chit tiuⁿ iáⁿ-siōng.',
# MIME search
'nbytes' => '$1 {{PLURAL:$1|jī-goân|jī-goân}}',
'ncategories' => '$1 {{PLURAL:$1|ê lūi-pia̍t |ê lūi-pia̍t}}',
'nlinks' => '$1 ê liân-kiat',
-'nmembers' => '$1 ê sêng-oân',
+'nmembers' => '$1{{PLURAL:$1|ê sêng-oân|ê sêng-oân}}',
'nrevisions' => '$1 ê siu-tēng-pún',
'lonelypages' => 'Ko·-ia̍h',
'uncategorizedpages' => 'Bô lūi-pia̍t ê ia̍h',
'emailsenttext' => 'Lí ê e-mail í-keng sàng chhut-khì ah.',
# Watchlist
-'watchlist' => 'Kàm-sī-toaⁿ',
+'watchlist' => 'Góa ê kàm-sī-toaⁿ',
'mywatchlist' => 'Góa ê kàm-sī-toaⁿ',
'watchlistfor2' => '予$1 $2',
'nowatchlist' => 'Lí ê kàm-sī-toaⁿ bô pòaⁿ hāng.',
'blanknamespace' => '(Thâu-ia̍h)',
# Contributions
-'contributions' => 'Iōng-chiá ê kòng-hiàn',
+'contributions' => '{{GENDER:$1|Iōng-chiá}} ê kòng-hiàn',
'mycontris' => 'Góa ê kòng-hiàn',
'nocontribs' => 'Chhōe bô tiâu-kiāⁿ ū-tùi ê hāng-bo̍k.',
'uctop' => '(siōng téng ê)',
'disclaimers' => 'Avvertimiènte',
'disclaimerpage' => 'Project:Avvertimiènte generale',
'edithelp' => 'Guida',
-'helppage' => 'Help:Ajùto',
'mainpage' => 'Paggena prencepale',
'mainpage-description' => 'Paggena prencepale',
'policy-url' => 'Project:Policy',
* @author Nghtwlkr
* @author Njardarlogar
* @author Nsaa
+ * @author Pcoombe
* @author Pladask
* @author Purodha
* @author Qaqqalik
'suspicious-userlogout' => 'Din forespørsel om å logge ut ble nektet fordi den så ut til å ha bli sendt av en ødelagt nettleser eller en mellomtjener.',
'createacct-another-realname-tip' => 'Det er frivillig å oppgi ditt egentlige navn.
Hvis du velger å oppgi det, vil det blir anvendt for å gi deg som bruker anerkjennelse',
+'pt-login' => 'Logg inn',
+'pt-createaccount' => 'Opprett konto',
# Email sending
'php-mail-error-unknown' => 'Ukjent feil i PHPs mail()-funksjon',
eller [{{fullurl:{{FULLPAGENAME}}|action=edit}} opprette siden]</span>.',
'noarticletext-nopermission' => 'Det er for tiden ingen tekst på denne siden.
Du kan [[Special:Search/{{PAGENAME}}|søke etter sidens tittel]] blant andre sider, eller <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} søke i relevante logger]</span>.',
-'missing-revision' => 'Revisjonen #$1 av siden med navnet "{{PAGENAME}}" eksisterer ikke.
+'missing-revision' => 'Revisjonen #$1 av siden med navnet "{{FULLPAGENAME}}" eksisterer ikke.
Dette skyldes som regel at en gammel historikklenke er fulgt til en side som er slettet.
Detaljer kan finnes i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} sletteloggen].',
'revdelete-no-file' => 'Den spesifiserte filen finnes ikke.',
'revdelete-show-file-confirm' => 'Er du sikker på at du ønsker å vise en slettet versjon av filen «<nowiki>$1</nowiki>» fra $2 kl. $3?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Valgt revisjon|Valgte revisjoner}} av [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valgt loggoppføring|Valgte loggoppføringer}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Valgt loggoppføring|Valgte loggoppføringer}}:',
'revdelete-confirm' => 'Bekreft at du ønsker å gjøre dette, at du forstår konsekvensene, og at du gjør det i samsvar med [[{{MediaWiki:Policy-url}}|retningslinjene]].',
'revdelete-suppress-text' => "Skjuling bør '''kun''' brukes i følgende tilfeller:
* Mulig injurierende utsagn
'revdelete-no-file' => 'De angeven Datei gifft dat nich.',
'revdelete-show-file-confirm' => 'Wullt du worraftig en wegsmeten Version vun de Datei „<nowiki>$1</nowiki>“ vun $2, $3 ankieken?',
'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Wählte Version|Wählte Versionen}} vun [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Wählt Logbook-Indrag|Wählte Logbook-Indrääg}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Wählt Logbook-Indrag|Wählte Logbook-Indrääg}}:',
'revdelete-suppress-text' => "Ünnerdrücken schull '''blot''' bi disse Fäll bruukt warrn:
* Nich passliche persönliche Information
*: ''Adressen, Telefonnummern, Sozialversekerungsnummern etc.''",
* @author Kaganer
* @author Purodha
* @author Servien
+ * @author Sjoerddebruin
* @author Slomox
* @author Urhixidur
* @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
'noarticletext-nopermission' => 'Op disse zied steet gien tekste.
Je kunnen [[Special:Search/{{PAGENAME}}|zeuken naor disse term]] in aandere ziejen of
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} de logboeken deurzeuken]</span>, mer je hebben gien rechten um disse zied an te maken.',
-'missing-revision' => 'De versie #$1 van de zied "{{PAGENAME}} besteet niet.
+'missing-revision' => 'De versie #$1 van de zied "{{FULLPAGENAME}} besteet niet.
Dit kömp meestentieds deur t volgen van n verouwerde verwiezing naor n zied die vortedaon is.
Waorschienlik ku\'j der meer gegevens over vienen in t [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} vortdologboek].',
'revdelete-no-file' => 't Op-egeven bestaand besteet niet.',
'revdelete-show-file-confirm' => 'Bi\'j der wisse van da\'j de vortedaone versie van t bestaand "<nowiki>$1</nowiki>" van $2 um $3 bekieken willen?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Ekeuzen bewarking|Ekeuzen bewarkingen}} van '''[[:$1]]''':'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ekeuzen logboekboekaksie|Ekeuzen logboekaksies}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ekeuzen logboekboekaksie|Ekeuzen logboekaksies}}:',
'revdelete-confirm' => "Bevestig da'j dit doon wollen, da'j de gevolgen dervan begriepen en da'j t doon in overeenstemming mit t geldende [[{{MediaWiki:Policy-url}}|beleid]].",
'revdelete-suppress-text' => "Onderdrokken ma'j '''allinnig''' gebruken in de volgende gevallen:
* Ongepassen persoonlike informasie
'revdelete-no-file' => 'खुलाइएको पृष्ठ अस्तित्वमा छैन',
'revdelete-show-file-confirm' => 'तपाईँ $2 बाट $3 मा मेटिएको फाइल "<nowiki>$1</nowiki>" को पुनरावलोकन हेर्न चाहनुहुन्छ भन्ने कुरामा निश्चित हुनुहुन्छ ?',
'revdelete-show-file-submit' => 'हो',
-'revdelete-selected' => "'''[[:$1]]को {{PLURAL:$2|छानिएको संस्करण|छानिएका संस्करणहरु}} :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|छानिएको लग घटना|छानिएका लग घटनाहरु}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|छानिएको लग घटना|छानिएका लग घटनाहरु}}:',
'revdelete-legend' => 'दृष्टि बन्देज मिलाउने',
'revdelete-hide-text' => 'पुनरावलोकन पाठ',
'revdelete-hide-image' => 'फाइल कमेन्ट लुकाउने',
'search-section' => '(खण्ड $1)',
'search-suggest' => 'के तपाईको खोजाई : $1 हो?',
'search-interwiki-caption' => 'भगिनी आयोजना',
-'search-interwiki-default' => '$1 नतिजाहरू:',
+'search-interwiki-default' => '$1देखिका नतिजाहरू:',
'search-interwiki-more' => '(अझै)',
'search-relatedarticle' => 'सम्बन्धित',
'searcheverything-enable' => 'सबै नेमस्पेसेजहरुमा खोज्नुहोस्',
'noarticletext-nopermission' => 'Deze pagina bevat geen tekst.
U kunt [[Special:Search/{{PAGENAME}}|naar deze term zoeken]] in andere pagina\'s of
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} de logboeken doorzoeken]</span>, maar u mag de pagina niet aanmaken.',
-'missing-revision' => 'De versie #$1 van de pagina "{{PAGENAME}} bestaat niet.
+'missing-revision' => 'De versie #$1 van de pagina "{{FULLPAGENAME}} bestaat niet.
Dit wordt meestal veroorzaakt door het volgen van een verouderde koppeling naar een pagina die is verwijderd.
Meer gegevens zijn mogelijk te vinden in het [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} verwijderingslogboek].',
'revdelete-no-file' => 'Het opgegeven bestand bestaat niet.',
'revdelete-show-file-confirm' => 'Weet u zeker dat u de verwijderde versie van het bestand "<nowiki>$1</nowiki>" van $2 om $3 wilt bekijken?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''Geselecteerde {{PLURAL:$2|bewerking|bewerkingen}} van [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Geselecteerde logboekhandeling|Geselecteerde logboekhandelingen}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Geselecteerde versie|Geselecteerde versies}} van [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Geselecteerde bestandsversie|Geselecteerde bestandsversies}} van [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Geselecteerde logboekregel|Geselecteerde logboekregels}}:',
'revdelete-text-text' => 'Verwijderde versies zijn nog zichtbaar in de geschiedenis, maar delen van de inhoud zijn niet openbaar.',
'revdelete-text-file' => 'Verwijderde versies zijn nog zichtbaar in de bestandsgeschiedenis, maar delen van de inhoud zijn niet openbaar.',
'logdelete-text' => 'Verwijderde logboekregels zijn nog zichtbaar in de logboeken, maar delen van de inhoud zijn niet openbaar.',
* @author Nghtwlkr
* @author Njardarlogar
* @author Olve Utne
+ * @author Pcoombe
* @author Ranveig
* @author Shauni
* @author Urhixidur
'login-abort-generic' => 'Innlogginga er avbroten.',
'loginlanguagelabel' => 'Språk: $1',
'suspicious-userlogout' => 'Førespurnaden din om å logge ut vart nekta fordi han såg ut til å vere sendt av ein øydelagt nettlesar eller mellomtenar.',
+'pt-login' => 'Logg inn',
+'pt-createaccount' => 'Opprett konto',
# Email sending
'php-mail-error-unknown' => 'Ukjend feil i PHPs mail()-funksjon',
'noarticletext-nopermission' => 'Der er nett no ikkje noko tekst på denne sida.
Du kan [[Special:Search/{{PAGENAME}}|søkja etter sidetittelen]] i andre sider
eller <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} søkja i dei relaterte loggane]</span>, men du har ikkje løyve til å oppretta denne sida.',
-'missing-revision' => 'Versjonen #$1 av sida med namnet «{{PAGENAME}}» finst ikkje.
+'missing-revision' => 'Versjonen #$1 av sida med namnet «{{FULLPAGENAME}}» finst ikkje.
Dette skriv seg som oftast frå at ei forelda historikklenkje vart fylgd til ei side som er sletta.
Detaljar kan ein finna i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} sletteloggen].',
'revdelete-no-file' => 'Fila som vart synt til finst ikkje.',
'revdelete-show-file-confirm' => 'Er du viss på at du ynskjer å sjå ein sletta versjon av fila "<nowiki>$1</nowiki>" frå $2 ved $3?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Vald versjon|Valde versjonar}} av [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Vald loggoppføring|Valde loggoppføringar}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Vald loggoppføring|Valde loggoppføringar}}:',
'revdelete-confirm' => 'Stadfest at du ynskjer å gjera dette, at du skjønar konsekvensane, og at du gjer det i samsvar med [[{{MediaWiki:Policy-url}}|retningslinene]].',
'revdelete-suppress-text' => "Løyning av sideversjonar bør '''berre''' nyttast i desse tilfella:
* Mogeleg ærekrenkjande informasjon
'recentchanges-label-plusminus' => 'Storleiken til sida vart endra med så mange byte',
'recentchanges-legend-heading' => "'''Tyding:'''",
'recentchanges-legend-newpage' => '(sjå dessutan [[Special:NewPages|lista over nye sider]])',
-'rcnotefrom' => "Nedanfor vert opp til '''$1''' endringar sidan ''' $2''' viste.",
+'rcnotefrom' => 'Nedanfor er endringane gjorde sidan <strong>$2</strong> viste (opp til <strong>$1</strong> stykke)',
'rclistfrom' => 'Vis nye endringar sidan $1',
'rcshowhideminor' => '$1 småplukk',
'rcshowhidebots' => '$1 robotar',
'noarticletext-nopermission' => 'Actualament i a pas cap de tèxte dins aquesta pagina.
Podètz [[Special:Search/{{PAGENAME}}|far una recèrca sul títol de la pagina]] dins las autras paginas,
o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} recercar dins los jornals associats]</span>.',
-'missing-revision' => "La revision n° $1 de la pagina intitulada « {{PAGENAME}} » existís pas.
+'missing-revision' => "La revision n° $1 de la pagina intitulada « {{FULLPAGENAME}} » existís pas.
Aquò se produsís en general en seguent un ligam istoric obsolet cap a una pagina qu'es estada suprimida.
Podètz trobar mai de detalhs dins lo [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jornal de las supressions].",
'revdelete-no-file' => 'Lo fichièr especificat existís pas.',
'revdelete-show-file-confirm' => 'Sètz segur(a) que volètz veire la revision suprimida del fichièr « <nowiki>$1</nowiki> » datant del $2 a $3?',
'revdelete-show-file-submit' => 'Òc',
-'revdelete-selected' => "'''{{PLURAL:$2|Version seleccionada|Versions seleccionadas}} de [[:$1]] :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Eveniment d'istoric seleccionat|Eveniments d'istoric seleccionats}} :'''",
+'logdelete-selected' => "{{PLURAL:$1|Eveniment d'istoric seleccionat|Eveniments d'istoric seleccionats}} :",
'revdelete-confirm' => "Confirmatz que volètz efectuar aquesta accion, que ne comprenètz las consequéncias, e qu'o fasètz en acòrd amb [[{{MediaWiki:Policy-url}}|las règlas]].",
'revdelete-suppress-text' => "La supression deu èsser utilizada '''sonque''' dins los cases seguents :
* Informacions potencialament difamatòrias
ଆପଣ [[Special:Search/{{PAGENAME}}|ଏହି ଲେଖାଟିର ନାଆଁ]] ବାକି ପୃଷ୍ଠାମାନଙ୍କରେ ଖୋଜି ପାରନ୍ତି, କିମ୍ବା
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}ରେ ଯୋଡ଼ାଯାଇଥିବା ବାକି ପୃଷ୍ଠାସବୁକୁ ଖୋଜି ପାରନ୍ତି]
</span>, କିନ୍ତୁ ଏହି ପୃଷ୍ଠାଟିକୁ ଆପଣ ତିଆରି କରିପାରିବେ ନାହିଁ ।',
-'missing-revision' => '"{{PAGENAME}}" ନାମରେ ଥିବା ପୃଷ୍ଠାଟିର #$1 ପୁନରାବୃତ୍ତି ନାହିଁ ।
+'missing-revision' => '"{{FULLPAGENAME}}" ନାମରେ ଥିବା ପୃଷ୍ଠାଟିର #$1 ପୁନରାବୃତ୍ତି ନାହିଁ ।
ପୁରୁଣା ହୋଇଯାଇଥିବା ଇତିହାସ ଲିଙ୍କ ଯାହା ଏକ ଲିଭାଯାଇଥିବା ପୃଷ୍ଠାକୁ ଦିଆଯାଇଥିବାରୁ ଏହା ସାଧାରଣତଃ ହୋଇଥାଏ ।
ଅଧିକ ବିବରଣୀ [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log]ରେ ମିଳିପାରିବ ।',
'revdelete-no-file' => 'ଆପଣ ସୂଚିତ କରିଥିବା ଫାଇଲଟି ନାହିଁ ।',
'revdelete-show-file-confirm' => '$2 ତାରିଖ $3 ବେଳେ "<nowiki>$1</nowiki>" ଫାଇଲର ଏକ ଲିଭାଯାଇଥିବା ସଙ୍କଳନକୁ ଦେଖିବାକୁ ଚାହାନ୍ତି ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି ?',
'revdelete-show-file-submit' => 'ହଁ',
-'revdelete-selected' => "'''[[:$1]]ର {{PLURAL:$2|ବଛା ସଙ୍କଳନ|ବଛା ସଙ୍କଳନ}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|ବଛା ଲଗ ଘଟଣା|ବଛା ଲଗ ଘଟଣାବଳୀ}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|ବଛା ଲଗ ଘଟଣା|ବଛା ଲଗ ଘଟଣାବଳୀ}}:',
'revdelete-confirm' => 'ଦୟାକରି ଥୟ କରନ୍ତୁ ଯେ ଆପଣ ଏହା କରିବାକୁ ଚାହୁଁଛନ୍ତି, ଆପଣ ଏହାର ପରିଣାମ ଜାଣନ୍ତି ଓ ଆପଣ [[{{MediaWiki:Policy-url}}|ନୀତି]] ଅନୁସାରେ ଏହା କରୁଛନ୍ତି ।',
'revdelete-suppress-text' => "ଦବାଇ ରଖିବା '''କେବଳ''' ଏହି ତଳଲିଖିତ କ୍ଷେତ୍ରରେ ବ୍ୟବହାର କରାଯିବ:
* ସମ୍ଭାବିତ ଅପମାନଜଣକ ତଥ୍ୟ
кæнæ [{{fullurl:{{FULLPAGENAME}}|action=edit}} скæнын ацы фарс]</span>.',
'noarticletext-nopermission' => 'Ацы фарсы нырмæ текст нæй.
Дæ бон у [[Special:Search/{{PAGENAME}}|бацагурын ацы фарсы ном]] æндæр фæрсты, кæнæ <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} агурын йæ кой логты]</span>, фæлæ дын йæ саразыны бар нæй.',
-'missing-revision' => '"{{grammar:genitive|{{PAGENAME}}}}" фарсæн $1-æм фæлтæр нæй.
+'missing-revision' => '"{{grammar:genitive|{{FULLPAGENAME}}}}" фарсæн $1-æм фæлтæр нæй.
Ай арæх æрцæуы, исчи хафт фарсы зæронд историйы æрвитæны фæдыл куы ацæуы.
Фылдæр гæнæн ис базонын [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} хафыны логы].',
'revdelete-no-file' => 'ਦਿੱਤੀ ਗਈ ਫਾਇਲ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।',
'revdelete-show-file-confirm' => 'ਤੁਹਾਨੂੰ ਯਕੀਨ ਹੈ ਤੁਸੀਂ $2 ਨੂੰ $3 ਦੀ ਫ਼ਾਈਲ "<nowiki>$1</nowiki>" ਦੀ ਮਿਟਾਈ ਗਈ ਰੀਵਿਜ਼ਨ ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?',
'revdelete-show-file-submit' => 'ਹਾਂ',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|ਦੀ ਚੁਣੀ ਹੋਈ ਰੀਵਿਜ਼ਨ|ਦੀਆਂ ਚੁਣੀਆਂ ਹੋਈਆਂ ਰੀਵਿਜ਼ਨਾਂ}}:'''",
'revdelete-legend' => 'ਵੇਖਣ ਪਾਬੰਦੀਆਂ ਸੈੱਟ ਕਰੋ:',
'revdelete-hide-text' => 'ਦੁਹਰਾਈ ਲਿਖਤ',
'revdelete-hide-image' => 'ਫ਼ਾਈਲ ਸਮੱਗਰੀ ਓਹਲੇ',
'revisiondelete' => 'Ilako/e-ilako ing pamanalili',
'revdelete-nooldid-title' => 'E ustung pamanaliling target',
'revdelete-nooldid-text' => 'Mapaliaring ala kang binieng balak a pamanalili (target revision) ba meng daptan ing gamit (function) a iti, ala yu ing mebanggit a pamanaliling iti, o magtangka kang isalikut ya ing kasalungsungan a pamanalili.',
-'revdelete-selected' => "'''{{PLURAL:$2|Mepiling bersion|Mepiling bersion}} ning [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Mepiling miliari king tala/listaan|Mepiling miliari king tala/listaan}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Mepiling miliari king tala/listaan|Mepiling miliari king tala/listaan}}:',
'revdelete-legend' => 'Mitakdang angganan/limitasiun kareng maliaring akit',
'revdelete-hide-text' => 'Isalikut ya ing meyaliling kulitan',
'revdelete-hide-image' => 'Isalikut ya ing laman ning simpan',
'noarticletext-nopermission' => 'Ta strona nie posiada jeszcze zawartości.
Możesz [[Special:Search/{{PAGENAME}}|wyszukać ten tytuł]] w treści innych stron
lub <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} przeszukać powiązane rejestry]</span>, ale nie masz uprawnień do utworzenia tej strony',
-'missing-revision' => 'Wersja #$1 strony "{{PAGENAME}}" nie istnieje.
+'missing-revision' => 'Wersja #$1 strony "{{FULLPAGENAME}}" nie istnieje.
Zazwyczaj jest to spowodowane przestarzałym linkiem do usuniętej strony. Powód usunięcia znajduje się w [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} rejestrze].',
'userpage-userdoesnotexist' => 'Użytkownik „<nowiki>$1</nowiki>” nie jest zarejestrowany.
'revdelete-no-file' => 'Wybrany plik nie istnieje.',
'revdelete-show-file-confirm' => 'Czy jesteś pewien, że chcesz zobaczyć usuniętą wersję pliku „<nowiki>$1</nowiki>” z $2 o $3?',
'revdelete-show-file-submit' => 'Tak',
-'revdelete-selected' => "'''{{PLURAL:$2|Zaznaczona wersja|Zaznaczone wersje}} strony [[:$1]]:'''",
-'logdelete-selected' => "'''Zaznaczone {{PLURAL:$1|zdarzenie|zdarzenia}} z rejestru:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Wybrana wersja|Wybrane wersje}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Wybrana wersja pliku|Wybrane wersje pliku}} [[:$2]]:',
+'logdelete-selected' => 'Zaznaczone {{PLURAL:$1|zdarzenie|zdarzenia}} z rejestru:',
'revdelete-text-text' => 'Usunięte wersje będą nadal widoczne w historii strony, ale niektóre fragmenty ich treści nie będą dostępne dla wszystkich.',
'revdelete-text-file' => 'Usunięte wersje pliku będą nadal widoczne w historii pliku, ale niektóre fragmenty ich treści nie będą dostępne dla wszystkich.',
'revdelete-confirm' => 'Potwierdź, że chcesz to zrobić zgodnie z [[{{MediaWiki:Policy-url}}|zasadami]] i że rozumiesz konsekwencje.',
# List redirects
'listredirects' => 'Lista przekierowań',
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista plików mających duplikaty',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ma [[$3|{{PLURAL:$2|jeden duplikat|$2 duplikaty|$2 duplikatów}}]].',
+
# Unused templates
'unusedtemplates' => 'Nieużywane szablony',
'unusedtemplatestext' => 'Poniżej znajduje się lista wszystkich stron znajdujących się w przestrzeni nazw {{ns:template}}, które nie są używane przez inne strony.
'noarticletext-nopermission' => "Al moment a-i é gnun test ansima a costa pàgina.
A peul [[Special:Search/{{PAGENAME}}|sërché ës tìtol ëd pàgina]] an d'àutre pàgine,
o <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} sërché ant j'argistr colegà]</span>, ma a l'ha pa ël përmess ëd creé costa pàgina.",
-'missing-revision' => "La revision nùmer $1 dla pàgina antitolà «{{PAGENAME}}» a esist pa.
+'missing-revision' => "La revision nùmer $1 dla pàgina antitolà «{{FULLPAGENAME}}» a esist pa.
Sòn a l'é normalment causà da l'andèje dapress a na vej liura stòrica a na pàgina ch'a l'é stàita scancelà. Ij detaj a peulo esse trovà ant ël [registr ëd jë scancelament ëd {{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}].",
'userpage-userdoesnotexist' => "Lë stranòm «<nowiki>$1</nowiki>» a l'é pa registrà. Për piasì ch'a varda se da bon a veul creé o modifiché costa pàgina.",
'revdelete-no-file' => "L'archivi sërcà a-i é pa.",
'revdelete-show-file-confirm' => 'É-lo sigur ëd vorèj vëdde na vërsion scancelà dl\'archivi "<nowiki>$1</nowiki>" da $2 a $3?',
'revdelete-show-file-submit' => 'Bò!',
-'revdelete-selected' => "'''{{PLURAL:$2|Revision|Revision}} selessionà për [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Event|Event}} dël registr selessionà:'''",
+'logdelete-selected' => '{{PLURAL:$1|Event|Event}} dël registr selessionà:',
'revdelete-confirm' => "Për piasì, ch'a confema ch'a veul fé sòn, ch'as rend cont dle conseguense, e ch'a lo fa an acòrd con [[{{MediaWiki:Policy-url}}|le régole]].",
'revdelete-suppress-text' => "La scancelassion a dovrìa '''mach''' esse dovrà an costi cas:
* Anformassion ch'a podrìo esse difamatòrie
'revdelete-no-file' => 'فائل جیہڑی کئی گئی اے ہے ای نئیں۔',
'revdelete-show-file-confirm' => 'تساں نوں کیا پک اے جے تسیں فائل "<nowiki>$1</nowiki>" دی مٹائی ریوین $2 توں $3 تک؟',
'revdelete-show-file-submit' => 'ہاں',
-'revdelete-selected' => "'''{{PLURAL:$2|چنی ریوین|چنیاں ریویناں}} دی [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|چنیا لاگ واقعہ|چنے لاگ واقعے}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|چنیا لاگ واقعہ|چنے لاگ واقعے}}:',
'revdelete-confirm' => 'اے پکا کرلو جے تسیں ایہ کرنا چاندے او، تے توانوں ایدے نتیجے دا پتہ اے، تے تسیں [[{{MediaWiki:Policy-url}}|پالیسی]] تے چل کے ک رۓ او۔',
'revdelete-suppress-text' => "دبانا اودوں ای ٹھیک اے جدوں اے تھلے دتے کۓ مسلیاں لئی ہووے۔
* غلط جانکاری
'revdelete-nooldid-text' => 'Ni etrīnkā di wersiōnins, na kawīdans šis dīlasenis turīlai būtwei izpilnintan, etrīnkta wersiōni ni ekzistijja, anga bandāi di kliptintun bigāntin wersiōnin.',
'revdelete-no-file' => 'Etrīnkts zūrbrukis ni ekzistijja.',
'revdelete-show-file-submit' => 'Jā',
-'revdelete-selected' => "{{PLURAL:$2|Pazentlitā pāusas [[:$1]] wersiōni|Pazentlitas pāusas [[:$1]] wersiōnis}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Pazentlits registeres audāsenis|Pazentlitai redigisenes audāsenei}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Pazentlits registeres audāsenis|Pazentlitai redigisenes audāsenei}}:',
'revdelete-suppress-text' => 'Klipsnan prawerru tērpautun tēr prei:
* Persōniskas dātas etkesnā
*: "buttiska adressi, telapōnas nummeri, sociāla nummeri be t.t."',
'revisiondelete' => 'د ړنگولو/ناړنگولو مخکتنې',
'revdelete-no-file' => 'ځانگړې شوې دوتنه نشته.',
'revdelete-show-file-submit' => 'هو',
-'revdelete-selected' => "'''د [[:$1]] {{PLURAL:$2|ټاکلې بڼه|ټاکلې بڼې}}:'''",
'revdelete-legend' => 'د ښکارېدنې محدوديتونه ټاکل',
'revdelete-hide-text' => 'د مخکتنې متن',
'revdelete-hide-image' => 'د دوتنې مېنځپانگه پټول',
ou [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.',
'noarticletext-nopermission' => 'Ainda não existe texto nesta página.
Pode [[Special:Search/{{PAGENAME}}|pesquisar o título desta página]] noutras páginas, ou <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} procurar nos registos relacionados]</span>, mas não tem permissão para criar esta página.',
-'missing-revision' => 'A revisão #$1 da página denominada "{{PAGENAME}}" não existe.
+'missing-revision' => 'A revisão #$1 da página denominada "{{FULLPAGENAME}}" não existe.
Isto é geralmente causado por seguir um link de histórico desatualizado para uma página que foi eliminada.
Os detalhes podem ser encontrados no [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registo de eliminação].',
'revdelete-no-file' => 'O ficheiro especificado não existe.',
'revdelete-show-file-confirm' => 'Tem a certeza de que quer ver uma revisão eliminada do ficheiro "<nowiki>$1</nowiki>" de $2 às $3?',
'revdelete-show-file-submit' => 'Sim',
-'revdelete-selected' => "'''{{PLURAL:$2|Edição selecionada|Edições selecionadas}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evento do registo selecionado|Eventos do registo selecionados}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Evento do registo selecionado|Eventos do registo selecionados}}:',
'revdelete-text-text' => 'Revisões eliminadas ainda aparecerão no histórico da página, mas parte do seu conteúdo estará inacessível para o público.',
'revdelete-text-file' => 'Versões eliminadas do ficheiro ainda aparecerão no histórico da página, mas parte do seu conteúdo estará inacessível para o público.',
'logdelete-text' => 'Os eventos eliminados ainda aparecerão no histórico da página, mas pare de seu conteúdo será inacessível ao público.',
'cannotchangeemail' => 'A conta de e-mail não pode ser alterada neste wiki.',
'emaildisabled' => 'Este site não tem como enviar e-mails.',
'accountcreated' => 'Conta criada',
-'accountcreatedtext' => 'A conta d eusuários para [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) foi criada.',
+'accountcreatedtext' => 'A conta de usuário para [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) foi criada.',
'createaccount-title' => 'Criação de conta em {{SITENAME}}',
'createaccount-text' => 'Alguém criou uma conta de nome $2 para o seu endereço de email no wiki {{SITENAME}} ($4), tendo como senha "$3".
Você deve se autenticar e alterar sua senha.
'noarticletext-nopermission' => 'No momento, não há conteúdo nesta página
Você pode [[Special:Search/{{PAGENAME}}|pesquisar pelo título desta página]] em outras páginas,
ou <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar por registros relacionados] </span>. Note que, no entanto, você não tem permissão para criar esta página.',
-'missing-revision' => 'A revisão #$1 da página denominada "{{PAGENAME}}" não existe.
+'missing-revision' => 'A revisão #$1 da página denominada "{{FULLPAGENAME}}" não existe.
Isto é geralmente causado por seguir um link de histórico desatualizado para uma página que foi eliminada.
Os detalhes podem ser encontrados no [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de eliminação].',
'revdelete-no-file' => 'O arquivo especificado não existe.',
'revdelete-show-file-confirm' => 'Tem a certeza de que quer visualizar uma revisão eliminada do arquivo "<nowiki>$1</nowiki>" de $2 em $3?',
'revdelete-show-file-submit' => 'Sim',
-'revdelete-selected' => "'''{{PLURAL:$2|Edição selecionada|Edições selecionadas}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evento de registro selecionado|Eventos de registro selecionados}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Evento de registro selecionado|Eventos de registro selecionados}}:',
'revdelete-text-text' => 'Revisões apagadas continuarão a aparecer na página de histórico, mas parte de seus conteúdos estarão inacessíveis ao público.',
'revdelete-text-file' => 'Versões dos arquivos apagados continuarão a aparecer no arquivo de histórico, mas parte de seus conteúdos estarão inacessíveis ao público.',
'logdelete-text' => 'Eventos de log apagados continuarão a aparecer nos logs, mas parte de seus conteúdos estarão inacessíveis ao público.',
'delete-warning-toobig' => 'Esta página possui um longo histórico de edições, com mais de $1 {{PLURAL:$1|edição|edições}}.
Eliminá-la poderá causar problemas na base de dados de {{SITENAME}};
prossiga com cuidado.',
-'deleting-backlinks-warning' => "'''Cuidado:'''[[Special:WhatLinksHere/{{FULLPAGENAME}}|Outras páginas]] se ligam ou redirecionam para a página que você está prestes a deletar.",
+'deleting-backlinks-warning' => "'''Cuidado:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Outras páginas]] se ligam ou redirecionam para a página que você está prestes a deletar.",
# Rollback
'rollback' => 'Reverter edições',
'revdelete-show-file-submit' => 'Reply to {{msg-mw|Revdelete-show-file-confirm}}.
{{Identical|Yes}}',
-'revdelete-selected' => '{{RevisionDelete}}
-Parameters:
-* $1 - page title
-* $2 - number of revisions
-See also:
-* {{msg-mw|Logdelete-selected}}
-[[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]',
'logdelete-selected' => '{{RevisionDelete}}
Parameters:
* $1 - number of log events
+* $2 - localized name of Special:Log, maybe with type as subpage [unused]
See also:
-* {{msg-mw|Revdelete-selected}}',
+* {{msg-mw|Revdelete-selected-text}}
+* {{msg-mw|Revdelete-selected-file}}',
'revdelete-text-text' => '{{RevisionDelete}}
This is the introduction explaining the feature.
# List duplicated files special page
'listduplicatedfiles' => '{{doc-special|ListDuplicatedFiles}}',
'listduplicatedfiles-summary' => 'Summary at top of Special:ListDuplicatedFiles',
-'listduplicatedfiles-entry' => 'A list item on Special:ListDuplicatedFiles. $1 is the file name (no namespace prefix). $2 is the number of duplicates this file has. $3 is the name of the duplicate search page (aka "Special:FileDuplicateSearch/Foo.png" or "Spécial:Recherche_fichier_en_double/Firefox.png")',
+'listduplicatedfiles-entry' => 'A list item on [[Special:ListDuplicatedFiles]]. Parameters:
+* $1 - the file name (no namespace prefix)
+* $2 - the number of duplicates this file has
+* $3 - the name of the duplicate search page (aka "Special:FileDuplicateSearch/Foo.png" or "Spécial:Recherche_fichier_en_double/Firefox.png")',
# Unused templates
'unusedtemplates' => '{{doc-special|UnusedTemplates}}',
* {{msg-mw|Booksources-text|text}}",
'booksources-search-legend' => 'Box heading on [[Special:BookSources|book sources]] special page. The box is for searching for places where a particular book can be bought or viewed.',
'booksources-isbn' => '{{optional}}
+This is a label that appears before a text input field on the Special:BookSources page.
{{Identical|ISBN}}',
'booksources-go' => 'Name of button in [[Special:BookSources]]
'percent' => '{{optional}}',
'parentheses' => '{{optional}}',
'brackets' => '{{Optional}}',
-'quotation-marks' => '{{optional}}
-
-Quotation marks, for quoting, sometimes titles etc., depending on the language.
+'quotation-marks' => 'Quotation marks, for quoting, sometimes titles etc., depending on the language.
See: [[w:Non-English usage of quotation marks|Non-English usage of quotation marks on Wikipedia]].
Kaytam rurayta atinkiman: kay p'anqap sutinta [[Special:Search/{{PAGENAME}}|huk p'anqakunapi maskay]]
icha payman kapuq <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} hallch'akunapi maskay]</span>,
ichataq kay p'anqata kamariyta manam saqillasunkichu.",
-'missing-revision' => "\"{{PAGENAME}}\" nisqa p'anqapaq #\$1 musuqchasqaqa manam kanchu.
+'missing-revision' => "\"{{FULLPAGENAME}}\" nisqa p'anqapaq #\$1 musuqchasqaqa manam kanchu.
Kayqa tukurqanman qullusqa p'anchaman t'inkimuq mawk'ayasqa wiñay kawsay t'inkiraykuchá.
Imaymanata [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} qulluy hallch'apim] tariykiman.",
'revdelete-no-file' => 'Sapaqchasqa willañiqiqa manam kanchu.',
'revdelete-show-file-confirm' => 'Allinta yachankichu "<nowiki>$1</nowiki>" willañiqimanta qullusqa $2-manta $3-pi musuqchasqata qhawayta munaspayki?',
'revdelete-show-file-submit' => 'Arí',
-'revdelete-selected' => "'''{{PLURAL:$2|Akllasqa llamk'apusqa|Akllasqa llamk'apusqakuna}} [[:$1]]-manta:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Akllasqa tukusqa|Akllasqa tukusqakuna}} hallch'api:'''",
+'logdelete-selected' => "{{PLURAL:$1|Akllasqa tukusqa|Akllasqa tukusqakuna}} hallch'api:",
'revdelete-confirm' => 'Ama hina kaspa, takyachiy munayniykita, qatiqninkunata riqsiyniykita, [[{{MediaWiki:Policy-url}}|kawpaykama]] rurayniykitapas.',
'revdelete-suppress-text' => "Pakay ruranata '''kaylla kaptin''' llamk'achiy:
* K'amiqchá willakuna
u [{{fullurl:{{FULLPAGENAME}}|action=edit}} crear questa pagina]</span>.',
'noarticletext-nopermission' => 'Questa pagina na cuntegna actualmain nagin text.
Ti pos [[Special:Search/{{PAGENAME}}|tschertgar quest titel]] en autras paginas u <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tschertgar en ils protocols correspundents]</span>, ma ti n\'has betg ils dretgs da crear questa pagina.',
-'missing-revision' => 'La versiun #$1 da la pagina cun il num "{{PAGENAME}}" n\'exista betg.
+'missing-revision' => 'La versiun #$1 da la pagina cun il num "{{FULLPAGENAME}}" n\'exista betg.
Quai capita savnes sche ti cliccas sin ina colliaziun antiquada en la cronologia per ina pagina ch\'è vegnida stizzada.
Detagls pon vegnri chattads en il [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} protocol da stizzar].',
'revdelete-no-file' => "La datoteca specifitgada n'exista betg.",
'revdelete-show-file-confirm' => 'Es ti segir che ti vuls vesar ina versiun stizzada da la datoteca "<nowiki>$1</nowiki>" dals $2 las $3?',
'revdelete-show-file-submit' => 'Gea',
-'revdelete-selected' => "'''{{PLURAL:$2|Versiun tschernida|Versiuns tschernidas}} da [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Element dal protocol tschernì|Elements dal protocol tschernids}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Element dal protocol tschernì|Elements dal protocol tschernids}}:',
'revdelete-confirm' => 'Confermescha che ti vuls far quai, che ti chapeschas las consequenzas e che ti fas quai en accordanza cun [[{{MediaWiki:Policy-url}}|las directivas]].',
'revdelete-suppress-text' => "Ti duessas '''be''' supprimer en quests cas:
* Infurmaziuns offendentas
sau puteți [{{fullurl:{{FULLPAGENAME}}|action=edit}} crea această pagină]</span>.',
'noarticletext-nopermission' => 'Actualmente, această pagină este lipsită de conținut.
Puteți [[Special:Search/{{PAGENAME}}|căuta acest titlu]] în alte pagini sau puteți <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} căuta înregistrări în jurnale]</span>; nu aveți însă permisiunea de a crea această pagină.',
-'missing-revision' => 'Versiunea nr. $1 a paginii „{{PAGENAME}}” nu există.
+'missing-revision' => 'Versiunea nr. $1 a paginii „{{FULLPAGENAME}}” nu există.
Acest lucru se întâmplă de obicei atunci când se accesează o legătură expirată către istoricul unei pagini șterse.
Detalii se pot găsi în [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} jurnalul ștergerilor].',
'revdelete-no-file' => 'Fișierul specificat nu există.',
'revdelete-show-file-confirm' => 'Sigur doriți să vedeți versiunea ștearsă a fișierului „<nowiki>$1</nowiki>” din $2 ora $3?',
'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Versiunea aleasă|Versiunile alese}} pentru [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Revizia aleasă|Reviziile alese}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Revizia aleasă|Reviziile alese}}:',
'revdelete-text-text' => 'Versiunile șterse vor continua să fie vizibile în istoricul paginii, însă anumite părți ale conținutului acestora vor fi inaccesibile publicului.',
'revdelete-text-file' => 'Versiunile șterse ale fișierului vor continua să fie vizibile în istoricul fișierului, însă anumite părți ale conținutului acestora vor fi inaccesibile publicului.',
'logdelete-text' => 'Evenimentele șterse ale jurnalului vor continua să fie vizibile în jurnale, însă anumite părți ale conținutului acestora vor fi inaccesibile publicului.',
'noarticletext-nopermission' => "Pe mò non ge stè teste jndr'à sta pàgene.
Tu puè [[Special:Search/{{PAGENAME}}|cercà pe stu titole]] jndr'à otre pàggene,
o <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cirche jndr'à l'archivije cullegate]</span>, ma non ge tìne le permesse pe ccrejà sta pàgene.",
-'missing-revision' => "'A revisione #\$1 d'a pàgene chiamate \"{{PAGENAME}}\" non g'esiste.
+'missing-revision' => "'A revisione #\$1 d'a pàgene chiamate \"{{FULLPAGENAME}}\" non g'esiste.
Quiste succede normalmende purcé 'u cunde jè collegate a 'na pàgene ca ha state scangellate.
Le dettaglie le puè acchià jndr'à l'[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} archivije de le scangellaziune].",
'revdelete-no-file' => "'U file specificate non g'esiste.",
'revdelete-show-file-confirm' => 'Si secure ca vuè ccu vide \'a revisione scangellate d\'u file "<nowiki>$1</nowiki>" \'u $2 a le $3?',
'revdelete-show-file-submit' => 'Sìne',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisiona selezionete|Revisiune selezionete}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Fatte de l'archivije selezionete|Fatte de l'archivije selezionete}}:'''",
+'logdelete-selected' => "{{PLURAL:$1|Fatte de l'archivije selezionete|Fatte de l'archivije selezionete}}:",
'revdelete-confirm' => 'Pe piacere conferme ca tu vuè ccu face sta cose, ce tu è capite le conseguenze e ce quidde ca ste face jè in accorde cu le [[{{MediaWiki:Policy-url}}|reghele]] de Uicchipèdie.',
'revdelete-suppress-text' => "'A soppressione adda essere ausate '''sulamende''' jndr'à le case seguende:
* 'Mbormaziune potenzialmende offenzive
'noarticletext-nopermission' => 'В настоящее время на этой странице нет текста.
Вы можете [[Special:Search/{{PAGENAME}}|найти упоминание данного названия]] на других страницах,
или <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} найти соответствующие записи журналов].</span> У вас нет разрешения создать данную страницу.',
-'missing-revision' => 'Версия $1 страницы «{{PAGENAME}}» не существует.
+'missing-revision' => 'Версия $1 страницы «{{FULLPAGENAME}}» не существует.
Это обычно бывает, если последовать по устаревшей ссылке на страницу, которая была удалена.
Подробности могут быть в [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журнале удалений].',
'revdelete-no-file' => 'Указанный файл не существует.',
'revdelete-show-file-confirm' => 'Вы уверены, что вы хотите просмотреть удалённую версию файла «<nowiki>$1</nowiki>» от $2, $3?',
'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|1=Выбранная версия|Выбранные версии}} страницы [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|1=Выбранная запись|Выбранные записи}} журнала:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Выбранная версия|Выбранные версии}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Выбранная версия файла|Выбранные версии файла}} [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|1=Выбранная запись|Выбранные записи}} журнала:',
'revdelete-text-text' => 'Удалённые версии будут по-прежнему видны в истории страницы, но части их содержимого будут недоступны для участников.',
'revdelete-text-file' => 'Удалённые версии файла будут по-прежнему видны в истории страницы, но части их содержимого будут недоступны для участников.',
'logdelete-text' => 'Удалённые события в журнале будут по-прежнему видны в журналах, но части их содержимого будут недоступны для участников.',
або [{{fullurl:{{FULLPAGENAME}}|action=edit}} вытворити сторінку з таков назвов]</span>.',
'noarticletext-nopermission' => 'Теперь на тій сторінцї тексту не є.
Можете [[Special:Search/{{PAGENAME}}|глядати тоту назву]] в іншых сторінках, або <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} глядати в лоґах]</span>, но вы не мате права створити тоту сторінку.',
-'missing-revision' => 'Ревізія #$1 сторінкы з назвов „{{PAGENAME}}“ не є.
+'missing-revision' => 'Ревізія #$1 сторінкы з назвов „{{FULLPAGENAME}}“ не є.
Гевсе звычайно запрічінене так, же наслїдовали сьте застарїлый історічный одказ на сторінку, котра была уж змазана.
Детайлы можуть быти найджены в [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} книзї змазаных сторінок].',
'revdelete-no-file' => 'Зазначеный файл не єствує.',
'revdelete-show-file-confirm' => 'На певно собі хочете посмотрити вылучену ревізію файлу „<nowiki>$1</nowiki>“ з $2, $3?',
'revdelete-show-file-submit' => 'Гей',
-'revdelete-selected' => "'''{{PLURAL:$2|Выбрана ревізія|Выбраны ревізії}} з [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Выбрана протоколована подїя|Выбраны протоколованы подїї}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Выбрана протоколована подїя|Выбраны протоколованы подїї}}:',
'revdelete-confirm' => 'Просиме Вас, потвердьте, же то хочете справды зробити, же собі усвідомлюєте резултат і же є то в згодї з [[{{MediaWiki:Policy-url}}|правилами]].',
'revdelete-suppress-text' => "Затаёваня бы ся мало хосновати ''лем''' в такых припадах:
* Потенціално огваряючі інформації
'oct' => 'ओक्टो.',
'nov' => 'नवे.',
'dec' => 'डिस.',
+'january-date' => 'जनवरी $1',
'february-date' => 'फरवरी $1',
+'march-date' => 'मार्च $1',
+'april-date' => 'अप्रैल $1',
+'may-date' => 'मई $1',
+'june-date' => 'जुन $1',
'july-date' => 'जूलाई $1',
+'august-date' => 'अगस्त $1',
+'september-date' => 'March $1',
'october-date' => 'अक्तूबर $1',
+'november-date' => 'नवम्बर $1',
+'december-date' => 'दिसम्बर $1',
# Categories related messages
'pagecategories' => '{{PLURAL:$1|वर्गः|वर्गाः}}',
'category-subcat-count' => '$2 इत्येषु {{PLURAL:$2|वर्गेऽस्मिन् अधो लिखिताः उपवर्गाः विद्यन्ते |वर्गेऽस्मिन् {{PLURAL:$1|अधो लिखितः उपवर्गः अस्ति|अधो लिखिताः $1 उपवर्गाः सन्ति}}}}',
'category-subcat-count-limited' => 'अस्मिन् वर्गे {{PLURAL:$1|अधो लिखितः $1 वर्गः अस्ति|अधो लिखिताः $1 वर्गाः सन्ति}}',
'category-article-count' => '$2 इत्येषु {{PLURAL:$2|वर्गेऽस्मिन् अधो लिखितानि पृष्ठानि विद्यन्ते |वर्गेऽस्मिन् {{PLURAL:$1|अधो लिखितं पृष्ठम् अस्ति|अधो लिखितानि $1 पृष्ठानि सन्ति}}}}',
-'category-article-count-limited' => 'à¤\85धà¥\8bलिà¤\96ितà¤\82 {{PLURAL:$1|पà¥\83षà¥\8dठमà¥\8d à¤\85सà¥\8dमिनà¥\8d शà¥\8dरà¥\87णà¥\8dयामà¥\8d à¤\85सà¥\8dति|$1 पà¥\83षà¥\8dठाणि à¤\85सà¥\8dमिनà¥\8d शà¥\8dरà¥\87णà¥\8dयाà¤\82 सनà¥\8dति}}।',
+'category-article-count-limited' => 'निमà¥\8dनà¥\8bलà¥\8dलिà¤\96ित{{PLURAL:$1|पà¥\83षà¥\8dठà¤\82|$1 पà¥\83षà¥\8dठानि}} वरà¥\8dà¤\97à¥\87ऽसà¥\8dमिनà¥\8d {{PLURAL:$1|à¤\85सà¥\8dति|$1 सनà¥\8dति}}',
'category-file-count' => '$2 इत्येषु {{PLURAL:$2|वर्गेऽस्मिन् अधो उल्लिखिताः सञ्चिकाः विद्यन्ते |वर्गेऽस्मिन् {{PLURAL:$1|अधो उल्लिखिता सञ्चिका अस्ति|अधो उल्लिखिताः $1 सञ्चिकाः सन्ति}}}}',
'category-file-count-limited' => 'निम्नोल्लिखित{{PLURAL:$1|सञ्चिका|$1 सञ्चिकाः}} वर्गेऽस्मिन् {{PLURAL:$1|अस्ति|$1 सन्ति}}',
-'listingcontinuesabbrev' => 'à¤\86à¤\97ामि.',
+'listingcontinuesabbrev' => 'à¤\85नà¥\81वरà¥\8dततà¥\87',
'index-category' => 'अनुक्रमणिकापृष्ठानि',
'noindex-category' => 'नानुक्रमणिकपृष्ठानि',
'broken-file-category' => 'अविद्यानानां सञ्चिकानाम् आवलिः',
'vector-action-unprotect' => 'संरक्षणं परिवर्तयतु',
'vector-view-create' => 'सृज्यताम्',
'vector-view-edit' => 'सम्पाद्यताम्',
-'vector-view-history' => 'à¤\87तिहासà¤\83 दरà¥\8dश्यताम्',
+'vector-view-history' => 'à¤\87तिहासà¤\83 दà¥\83श्यताम्',
'vector-view-view' => 'पठ्यताम्',
'vector-view-viewsource' => 'स्रोतः दृश्यताम्',
'actions' => 'क्रियाः',
'badaccess' => 'अनुमतिदोषः',
'badaccess-group0' => 'यस्याः क्रियायाः कृते भवान्/भवती उद्युक्ता, तस्यै क्रियायै अनुमति नास्ति ।',
-'badaccess-groups' => 'यस्याः क्रियायाः कृते भवान्/भवती उद्युक्ता, तस्यै क्रियायै $1 {{PLURAL:$2|अस्मिन् समूहे|एतेषु समूहेषु}} अनुमति नास्ति ।',
+'badaccess-groups' => 'यस्याः क्रियायाः कृते भवान्/भवती उद्युक्ता, तस्यै क्रियायै $1 {{PLURAL:$2|अस्मिन् समूहे|एतेषु समूहेषु}} अनुमतिः नास्ति ।',
'versionrequired' => 'मीडीयाविक इत्यस्य $1 संस्करणम् आवश्यकम् ।',
-'versionrequiredtext' => 'अस्य पृष्ठस्य उपयोगार्थं मीडीयाविकि इत्यस्य $1 संस्करणम् आवश्यकम् । पश्यतु [[Special:संस्करणम्|संस्करणानि]].',
+'versionrequiredtext' => 'अस्य पृष्ठस्य उपयोगार्थं मीडीयाविकि इत्यस्य $1 संस्करणम् आवश्यकम् । पश्यतु [[Special:Version|version page]] ।',
'ok' => 'अस्तु',
'pagetitle' => '$1 - {{SITENAME}}',
'youhavenewmessages' => '{{PLURAL:$3|भवतः/भवत्याः कृते}} $1 ($2).',
'youhavenewmessagesfromusers' => '{{PLURAL:$4|भवतः/भवत्याः कृते}} $1 {{PLURAL:$3|अन्यस्मात् योजकात्|$3 अन्येभ्यः योजकेभ्यः}} अस्ति ($2)।',
'youhavenewmessagesmanyusers' => 'नैकेभ्यः योजकेभ्यः ते $1 सन्ति ($2) ।',
-'newmessageslinkplural' => '{{PLURAL:$1|नूतनः सन्देशः|नूतनसन्देशाः}}',
+'newmessageslinkplural' => '{{PLURAL:$1|नà¥\82तनà¤\83 सनà¥\8dदà¥\87शà¤\83|नà¥\82तनाà¤\83 सनà¥\8dदà¥\87शाà¤\83}}',
'newmessagesdifflinkplural' => 'सद्यः {{PLURAL:$1|परिवर्तनम्| परिवर्तनानि}}',
-'youhavenewmessagesmulti' => '$1 अत्र भवते नूतनसन्देशाः सन्ति',
+'youhavenewmessagesmulti' => 'भवते नूतनसन्देशाः सन्ति अत्र $1',
'editsection' => 'सम्पाद्यताम्',
'editold' => 'सम्पाद्यताम्',
'viewsourceold' => 'स्रोतः दृश्यताम्',
# Main script and global functions
'nosuchaction' => 'तादृशं कार्यं न विद्यते',
-'nosuchactiontext' => 'अनेन समरूप-संसाधन-अवस्थापकेन (URL इति) वर्णिता क्रिया अमान्याऽस्ति।
-भवता समरूप-संसाधन-अवस्थापकं अपटंकितं स्यात्, अथवा असुष्ठु संबंधनम् अनुसृतम् स्यात्।
-इदम् {{SITENAME}} इत्यनेन प्रयुक्ते क्रमादेशे त्रुटिर्वा स्यात्।',
-'nosuchspecialpage' => 'तादृशं विशेषपृष्टं न विद्यते',
-'nospecialpagetext' => '<strong>भवता एकम् अमान्यं विशिष्टपृष्ठं याचितम्। </strong>
-मान्यानां विशिष्टपृष्ठाणां सूचिका [[Special:SpecialPages|{{int:specialpages}}]] इत्यत्र प्राप्तुं शक्यते।',
+'nosuchactiontext' => 'अनेन सार्वसङ्केन (URL) दर्शिता क्रिया अयोग्या अस्ति । अयोग्यं त्रुटियुक्तं वा सार्वसङ्केतं भवता/भवत्या लिखितं स्यात् ।',
+'nosuchspecialpage' => 'तादृशं विशेषपृष्ठं न विद्यते',
+'nospecialpagetext' => '<strong>अयोग्यं विशिष्टपृष्ठं भवता/भवत्या ईप्सितम् ।</strong> विद्यमानानि विशिष्टपृष्ठानि [[Special:SpecialPages|{{int:specialpages}}]] अत्र प्राप्यन्ते ।',
# General errors
'error' => 'दोषः',
-'databaseerror' => 'दत्ताधारे दोषः',
-'laggedslavemode' => 'प्राक्प्रबोधनम्:अस्मिन् पृष्ठे सद्योजातानि परिशोधनानि न स्युः ।',
-'readonly' => 'दत्तधारः कीलितः',
-'enterlockreason' => 'तन्त्रितीकरणस्य कारणं ददातु, अपि च आकलितं ददातु यत् तन्त्रणं कदा उद्घाट्यिष्यते।',
-'readonlytext' => 'समंकाधारं वर्तमानकाले तन्त्रितमस्ति नूतनान् प्रविष्टीन् विरुध्य तथा च अन्यानि परिवर्तनानि विरुध्य। इदं नियमिततया समंकाधार परिचर्याऽर्थं तथा स्यात्। तत्पश्चादिदं सामान्यतां संप्राप्स्यति।
-तन्त्रितीकारकेन प्रबन्धकेन इदं कारणं प्रदत्तम्: $1',
+'databaseerror' => 'दत्तांशनिधौ (database) दोषः',
+'databaseerror-text' => 'दत्तांश-प्रश्नस्य (database query) दोषः प्राप्तः ।
+एषः दोषः तन्त्रांशस्य त्रुटिः स्यात् ।',
+'databaseerror-textcl' => 'दत्तांश-प्रश्नस्य (database query) दोषः प्राप्तः ।',
+'databaseerror-query' => 'प्रश्नः: $1',
+'databaseerror-function' => 'नियोज्यम्: $1',
+'databaseerror-error' => 'दोषः: $1',
+'laggedslavemode' => '<strong>पूर्वसूचना :</strong>
+सद्यः परिवर्तनानि अत्र न स्युः ।',
+'readonly' => 'दत्तांशनिधिः (database) कीलितः',
+'enterlockreason' => 'कीलनस्य कारणं ददातु, कीलनं कियान् कालः भविष्यति इति च लिखतु ।',
+'readonlytext' => 'नवीनदत्तांशनिवेशार्थं (database entry) सद्यः दत्तांशः स्थिगितः । नियमितव्यवस्थिकरणानन्तरं पुनः निवेशाय अवकाशः भवति । $1',
'missing-article' => 'दत्तनिधौ (in database) $2 अन्तः कुत्रापि "$1" न प्राप्तम् ।
प्रायः अपाकृतस्य पृष्ठस्य इतिहासदर्शनस्य चेष्टाकाले एवं भवति ।
-तादृशी स्थितिः यदि नास्ति, तर्हि तन्त्रांशे वद्यमाना त्रुटिः भवेत् । कृपया कमपि [[Special:ListUsers/sysop|प्रबन्धकम्]] अस्य पृष्ठस्य सार्वसङ्केतं (U.R.L.) सूच्यताम् ।',
+तादà¥\83शà¥\80 सà¥\8dथितिà¤\83 यदि नासà¥\8dति, तरà¥\8dहि तनà¥\8dतà¥\8dराà¤\82शà¥\87 विदà¥\8dयमाना तà¥\8dरà¥\81à¤\9fिà¤\83 à¤à¤µà¥\87तà¥\8d । à¤\95à¥\83पया à¤\95मपि [[Special:ListUsers/sysop|पà¥\8dरबनà¥\8dधà¤\95मà¥\8d]] à¤\85सà¥\8dय पà¥\83षà¥\8dठसà¥\8dय सारà¥\8dवसà¤\99à¥\8dà¤\95à¥\87तà¤\82 (U.R.L.) सà¥\82à¤\9aà¥\8dयतामà¥\8d ।',
'missingarticle-rev' => '(संस्करणं# :$1)',
-'missingarticle-diff' => '(वà¥\8dयतिरà¥\87à¤\95: $1, $2)',
-'readonly_lag' => 'मà¥\81à¤\96à¥\8dय-समà¤\82à¤\95ाधार-परिवà¥\87शà¤\95à¤\82 à¤\89पमà¥\81à¤\96à¥\8dय-समà¤\82à¤\95ाधार-परिवà¥\87शà¤\95सà¥\8dय सà¤\82पà¥\8dरापणातà¥\8d पà¥\82रà¥\8dवà¥\87 à¤\8fव सà¥\8dवतà¤\83 तनà¥\8dतà¥\8dरितमà¥\8d à¤\85सà¥\8dति।',
+'missingarticle-diff' => '(à¤à¥\87दà¤\83: $1, $2)',
+'readonly_lag' => 'सहायà¤\95तनà¥\8dतà¥\8dराà¤\82शà¤\83 (slave database) यावतà¥\8d मà¥\81à¤\96à¥\8dयतनà¥\8dतà¥\8dराà¤\82शातà¥\8d à¤\95िमपि सà¥\8dवà¥\80à¤\95à¥\81रà¥\8dयातà¥\8d, तावतà¥\8d मà¥\81à¤\96à¥\8dयतनà¥\8dतà¥\8dराà¤\82शà¤\83 तनà¥\8dतà¥\8dराà¤\82शमाधà¥\8dयमà¥\87न सà¥\8dवयमà¥\87व à¤\95à¥\80लितà¤\83 à¤\85à¤à¤µà¤¤à¥\8d',
'internalerror' => 'आन्तरिकः दोषः',
'internalerror_info' => 'आन्तरिकः दोषः: $1',
-'fileappenderrorread' => 'संलग्नीकरणकाले $1 पठितुम् अशक्यम्।',
-'fileappenderror' => '$1 इत्यस्य पश्चात् $2 इति योजयितुं नाशक्नोत्।',
-'filecopyerror' => '$1 इत्येतस्याः संचिकायाः $2 इति प्रतिलिपिं कर्तुं नाशक्नोत्।',
-'filerenameerror' => '$1 इति संचिकायाः $2 इति पुनर्नामकरणं कर्तुं नाशक्नोत्।',
-'filedeleteerror' => '$1 इति सञ्चिकाम् अपाकर्तुं नाशक्नोत्।',
-'directorycreateerror' => '$1 इति निर्देशिकां स्रष्टुं न अपारयत्',
-'filenotfound' => '"$1" इति सञ्चिका न लब्धा।',
-'fileexistserror' => '$1 इति संचिकायां लेखनम् अशक्यम् । सञ्चिका वर्तते एव।',
-'unexpected' => 'अप्रतीक्षितमूल्यम् : "$1"="$2"।',
-'formerror' => 'त्रुटिः : प्रारूपं समर्पयितुं न अपारयत्',
-'badarticleerror' => 'अस्मिन् पृष्ठे एषा क्रिया कर्तुं न शक्या।',
-'cannotdelete' => '$1 इति पृष्ठं संचिका वा अपाकर्तुं नाशक्नोत्।
-इदं खलु केनचिदन्येन पूर्वे एव अपाकृतं स्यात्।',
-'cannotdelete-title' => ' "$1" पृष्ठं निर्मार्जयितुम् अशक्यम्',
-'delete-hook-aborted' => 'आलम्बेन अपमार्जनम् अपनीतम् । अनेन विवरणं न दत्तम् ।',
+'fileappenderrorread' => 'योजनकाले "$1" पठितुं न शक्यते ।',
+'fileappenderror' => '$1 इत्येनं $2 इत्येन सह योजयितुं न शक्यते ।',
+'filecopyerror' => 'Could not copy file "$1" to "$2".',
+'filerenameerror' => '$1 सञ्चिकायाः $2 इति पुनर्नामकरणं निष्फलम् ।',
+'filedeleteerror' => '$1 इति सञ्चिका अपाकर्तुं न शक्यते ।',
+'directorycreateerror' => "'''$1''' इति विभागः रचितुं न शक्यते ।",
+'filenotfound' => '\'"$1"\' सञ्चिका न लब्धा ।',
+'fileexistserror' => '$1 सञ्चिकायां नोल्लेखितं : सञ्चिका वर्तते इति ।',
+'unexpected' => 'अनपेक्षितं मूल्यम् : "$1"="$2"',
+'formerror' => 'दोषः : प्रपत्रं (form) न प्रेषितम्',
+'badarticleerror' => 'अस्मिन् पृष्ठे एषा क्रिया कर्तुं न शक्यते ।',
+'cannotdelete' => "''$1'' इति पृष्ठं सञ्चिका वा अपाकर्तुं न शक्यते ।
+अन्येन केनापि पूर्वमेव एषा सञ्चिका अपाकृता स्यात् ।",
+'cannotdelete-title' => '"$1" पृष्ठम् अपार्कर्तुं न शक्यते',
+'delete-hook-aborted' => 'hook द्वारा अपाकरणक्रिया मध्ये एव स्थगिता । स्थगनस्य कारणं न दत्तम् ।',
+'no-null-revision' => '"$1" एतस्मै पृष्ठाय नवीनं रिक्तं संस्करणं रचितुं न शक्यते',
'badtitle' => 'अशुद्धं शिरोनाम',
-'badtitletext' => 'à¤\87पà¥\8dसितà¤\82 शà¥\80रà¥\8dषà¤\95मà¥\8d à¤\85मानà¥\8dयà¤\82, रिà¤\95à¥\8dतमà¥\8d, à¤\85यà¥\8bà¤\97à¥\8dयà¤\82, à¤\85नà¥\8dयà¤à¤¾à¤·à¥\80यà¤\82, विà¤\95ि-à¤\9cालविहाय च अस्ति । पृष्ठशीर्षकाय अयोग्यानि अक्षराणि चिह्नानि वा तस्मिन् भवेयुः ।',
-'perfcached' => 'à¤\85नà¥\81पदà¥\8bà¤\95à¥\8dतà¤\82 लà¥\87à¤\96à¤\83 à¤\95à¥\88शà¥\8d à¤\87तà¥\8dयà¥\87तसà¥\8dमादà¥\8d à¤\85सà¥\8dति, à¤\85तà¤\83 à¤\85दà¥\8dयतनà¤\82 न सà¥\8dयातà¥\8d। {{PLURAL:$1|one result is|$1 results are}}',
-'perfcachedts' => 'अधोनिदेशितलेखः सञ्चितः । पूर्वपदोन्नतिः $1 । $4 {{PLURAL:}} अधिकाधिकपरिणामः सञ्चये उपलब्धः ।',
-'querypage-no-updates' => 'अस्य पृष्ठस्य परिशोधनं विफलीकृतमस्ति ।
-सद्यः अत्रत्यः विषयः न नवीक्रियते ।',
+'badtitletext' => 'à¤\88पà¥\8dसितà¤\82 शà¥\80रà¥\8dषà¤\95मà¥\8d à¤\85मानà¥\8dयà¤\82, रिà¤\95à¥\8dतमà¥\8d, à¤\85यà¥\8bà¤\97à¥\8dयमà¥\8d, à¤\85नà¥\8dयà¤à¤¾à¤·à¥\80यà¤\82, à¤à¤¾à¤·à¤¾à¤¨à¥\8dतरातà¥\8d विà¤\95ि-à¤\9cालसà¥\8dथलातà¥\8d च अस्ति । पृष्ठशीर्षकाय अयोग्यानि अक्षराणि चिह्नानि वा तस्मिन् भवेयुः ।',
+'perfcached' => 'à¤\85धà¥\8b à¤\89लà¥\8dलिà¤\96िताà¤\83 सà¥\82à¤\9aनाà¤\83 पà¥\81रातनायाà¤\83 à¤\89पसà¥\8dमà¥\83तà¥\8dयाà¤\83 (cached) à¤\97à¥\83हà¥\8dणिताà¤\83, à¤\85तà¤\83 ततà¥\8dर दà¥\8bषाà¤\83 à¤à¤µà¥\87यà¥\81à¤\83 । à¤\85धिà¤\95ाधिà¤\95{{PLURAL:$1|परिणाम|$1परिणामाà¤\83}} à¤\85तà¥\8dर सनà¥\8dति ।',
+'perfcachedts' => 'अधो उल्लिखिताः सूचनाः पुरातनायाः उपस्मृत्याः (cached) गृह्णिताः । तस्यां उपस्मृत्यां $1 समये परिर्वतनम् अभूत् ।
+अधिकाधिक{{PLURAL:$1|परिणाम|$1परिणामाः}} अत्र सन्ति ।',
+'querypage-no-updates' => 'अस्मिन् पृष्ठे परिवर्तनं अधुना प्रतिबन्धितमस्ति । अत्रस्थां पुरातनसूचनां नवीनसूचनया सह अधुना परिर्वतयितुं न शक्यते ।',
'viewsource' => 'स्रोतः दृश्यताम्',
-'viewsource-title' => '$1 इत्येतस्य स्रोतः दृश्यताम् ।',
-'actionthrottled' => 'कार्यम् अवरुद्धम् अस्ति',
-'actionthrottledtext' => "'स्प्याम्'इत्येतस्य अवरोधाय अल्पे काले अत्यधिकवारम् अस्य कार्यकरणम् अवरुद्धम् अस्ति ।
-कृपया किञ्चित्कालानन्तरं पुनः प्रयत्नः क्रियताम् ।",
-'protectedpagetext' => 'सम्पादनस्य अवरोधाय इदं पृष्ठं सुरक्षितमस्ति ।',
-'viewsourcetext' => 'भवान् एतस्य पृष्ठस्य स्रोतः द्रष्टुं तस्य प्रतिलिपिं कर्तुम् अर्हति।',
-'viewyourtext' => "भवान् अस्य पृष्ठस्य स्रोतसि '''भवतः सम्पादनानि''' द्रष्टुं प्रतिलिपिं कर्तुं च अर्हति ।",
-'protectedinterface' => 'इदं पृष्ठं तंत्रांशाय अन्तराफलकं ददाति, तथा च दुरुपयोगात् वारणाय सुरक्षितमस्ति ।',
-'editinginterface' => "'''अवधीयताम्''' तन्त्रांशस्य विन्यासं यत् पृष्ठं रचयति तद् भवान् अधुना सम्पादयति । अत्र कृतानि परिवर्तनानि अन्येषाम् उपयोक्तॄणां पृष्ठविन्यासमपि परिवर्तयन्ति । अनुवादार्थम् [//translatewiki.net/wiki/Main_Page?setlang=sa translatewiki.net] स्थानीयतानयनपरियोजनायाः उपयोगः क्रियताम् ।",
-'cascadeprotected' => 'इदं पृष्ठं संपादनात् सुरक्षितमस्ति, यतः इदं अधोलिखितानां {{PLURAL:$1| पृष्ठस्य|पृष्ठाणां}} सुरक्षा-सोपाने समाहितं वर्तते।
-$2',
-'namespaceprotected' => 'भवान् "$1" इति नामाकाशे विद्यमानान् पृष्ठान् परिवर्तितुं अनुमतिं न धारयति।',
-'customcssprotected' => 'भवान् इदं पृष्ठं सम्पादयितुम् अनुमतः नास्ति, यतो हि अस्मिन् अन्यस्य प्रयोक्तुः वैयक्तिकचयनानि सन्ति।',
-'customjsprotected' => 'भवान् इदं जावालिपियुक्तं पृष्ठं सम्पादयितुम् अनुमतः नास्ति, यतो हि अस्मिन् अन्यस्य प्रयोक्तुः वैयक्तिकचयनानि सन्ति।',
-'ns-specialprotected' => 'विशिष्टानि पृष्ठानि परिवर्तयितुं न शक्यन्ते।',
-'titleprotected' => 'सदस्य [[User:$1|$1]] इत्यनेन एतत्-शीर्षकीयं पृष्ठं सृजनात् वारितमस्ति।
-एतदर्थं प्रदत्तं कारणम् "$2"।',
-'filereadonlyerror' => '"$1" सञ्चिकापरिवर्तनं न शक्यते यतः "$2" शब्दकोशः केवलं पठनयोग्यः । प्रशासकेन पिहितं यः विवरणमिच्छति "$3".',
-'invalidtitle-knownnamespace' => ' "$2" नमावकाशेन "$3" पाठ्येन च युक्तम् अनर्हशीर्षम् ।',
-'invalidtitle-unknownnamespace' => 'अज्ञातनामवाकाशयुता सङ्ख्या $1 पाठ्यः "$2" अपुष्टशीर्षिका ।',
-'exception-nologin' => 'न नामाभिलितम्',
-'exception-nologin-text' => 'एतस्मि पुटि प्रक्रियां वा ते प्रवेशः आवश्यकः ।',
+'viewsource-title' => '$1 इत्येतस्य स्रोतः दृश्यताम्',
+'actionthrottled' => 'अकाले कार्यमेतत् अवरुद्धम् अभवत्',
+'actionthrottledtext' => 'फल्गु(spam)-नियन्त्रणार्थम् एषा क्रिया मर्यादितवारं कर्तुं शक्यते । भवतः/भवत्याः सा मर्यादा समाप्ता । कृपया किञ्चित् कालानन्तरं प्रयत्नं करोतु ।',
+'protectedpagetext' => 'सम्पादनं, अन्यक्रियां च अवरोधयितुम् इदं पृष्ठं संरक्षितमस्ति ।',
+'viewsourcetext' => 'भवान्/भवती एतस्य पृष्ठस्य स्रोतः द्रष्टुं, मुद्रणं (print) कर्तुं च अर्हति ।',
+'viewyourtext' => "भवान्/भवती एतस्मिन् पृष्ठे '''स्वस्य सम्पादनानि'' द्रष्टुं अर्हति, तेषां प्रतिलिपिम् (copy) अपि कर्तुं अर्हति ।",
+'protectedinterface' => 'एतत् पृष्ठं तन्त्रांशाय मध्यस्थपाठं (interface text) प्रयच्छति । इदञ्च पृष्ठम् अयोग्यसम्पादनात् संरक्षितमस्ति ।
+विकि इत्यस्य सर्वेषु बन्धुप्रकल्पेषु अनुवादमिदं योजयितुं कृपया [//translatewiki.net/ translatewiki.net] इत्यस्य मिडीयाविकि-स्थानीयकरणस्य उपयोगं करोतु ।',
+'editinginterface' => '<strong>पूर्वसूचना :</strong> तन्त्रांशाय मध्यस्थपाठं (interface text) प्रयच्छति तादृशस्य पृष्ठस्य भवता/भवत्या सम्पादनं क्रियमाणमस्ति । अस्य विकि-प्रकल्पस्य अन्ययोजकेभ्यः अपि अत्र कृतानि परिवर्तनानि भविष्यन्ति ।
+
+विकि इत्यस्य सर्वेषु बन्धुप्रकल्पेषु अनुवादमिदं योजयितुं कृपया [//translatewiki.net/ translatewiki.net] इत्यस्य मिडीयाविकि-स्थानीयकरणस्य उपयोगं करोतु ।',
+'cascadeprotected' => 'इदं पृष्ठं सम्पादनात् संरक्षितमस्ति । कारणम् एतत् पृष्ठं {{PLURAL:$1|तादृशे पृष्ठे|तादृशेषु पृष्ठेषु}} अन्तर्भवति, यादृशेषु पृष्ठेषु सोपानवत् सुरक्षा अस्ति : $2',
+'namespaceprotected' => "भवान्/भवती '''$1''' नामाकाशे अन्तर्भूतेषु पृष्ठेषु परिवर्तनं कर्तुं न शक्नोति ।",
+'customcssprotected' => 'भवान्/भवती इदं CSS पृष्ठं सम्पादयितुं न शक्नोति । कारणं अन्यस्य योजकस्य वैयक्तिकव्यवस्थापनानि (settings) अत्र सन्ति ।',
+'customjsprotected' => 'भवान्/भवती इदं JavaScript पृष्ठं सम्पादयितुं न शक्नोति । कारणं अन्यस्य योजकस्य वैयक्तिकव्यवस्थापनानि (settings) अत्र सन्ति ।',
+'mycustomcssprotected' => 'भवान्/भवती इदं CSS पृष्ठं सम्पादयितुं न शक्नोति ।',
+'mycustomjsprotected' => 'भवान्/भवती इदं JavaScript पृष्ठं सम्पादयितुं न शक्नोति ।',
+'myprivateinfoprotected' => 'भवान्/भवती अत्र वैयक्तिकसूचनाः सम्पादयितुं न शक्नोति ।',
+'mypreferencesprotected' => 'भवान्/भवती स्वस्य इष्टतमानि सम्पादयितुं न शक्नोति ।',
+'ns-specialprotected' => 'विशिष्टानि पृष्ठानि सम्पादयितुं न शक्यन्ते ।',
+'titleprotected' => '"\'\'$2\'\'" इति कारणत्वात् एतत् शीर्षकं (विषयः) [[User:$1|$1]] इत्यस्मै संरक्षितमस्ति ।',
+'filereadonlyerror' => '"$1" सञ्चिकापरिवर्तितुं न शक्यते । "$2" कोषः अधुना केवलं पठनयोग्यः (read only) अस्ति । येन प्रबन्धकेन एवं कृतं, तेन निम्नकारणं प्रदत्तम् "$3"',
+'invalidtitle-knownnamespace' => '"$2" नमावकाशेन "$3" पाठेन च युक्तम् अयोग्यं शीर्षकम्',
+'invalidtitle-unknownnamespace' => 'अयोग्येन नामवाकाशयुतेन, $1 सङ्ख्यया, "$2" पाठेन युक्तम् अयोग्यं शीर्षकम्',
+'exception-nologin' => 'प्रवेशः न कृतः',
+'exception-nologin-text' => 'एतत् पृष्ठं सम्पादयितुं क्रियां कर्तुं वा [[Special:Userlogin|प्रविश्यताम्]] ।',
+'exception-nologin-text-manual' => 'एतत् पृष्ठं सम्पादयितुं क्रियां कर्तुं वा कृपया $1',
# Virus scanner
-'virus-badscanner' => "à¤\85सà¥\81षà¥\8dठà¥\81 à¤\85à¤à¤¿à¤µà¤¿à¤¨à¥\8dयासà¤\83 : à¤\85à¤\9cà¥\8dà¤\9eातà¤\82 विषाणà¥\81-निरà¥\80à¤\95à¥\8dषितà¥\8dरमà¥\8d: ''$1''",
-'virus-scanfailed' => 'परà¥\80à¤\95à¥\8dषणà¤\82 विफलà¥\80à¤à¥\82तमà¥\8d (à¤\95à¥\82à¤\9fमà¥\8d $1)',
+'virus-badscanner' => "à¤\85यà¥\8bà¤\97à¥\8dयà¤\82 वà¥\8dयवसà¥\8dथापनमà¥\8d : à¤\85à¤\9cà¥\8dà¤\9eातà¤\82 विषाणà¥\81à¤\82 (VIRUS) निरà¥\80à¤\95à¥\8dषà¤\95à¤\83: ''$1''",
+'virus-scanfailed' => 'निरà¥\80à¤\95à¥\8dषणà¤\82 विफलितमà¥\8d (विधà¥\8dयादà¥\87शà¤\83 (code) $1)',
'virus-unknownscanner' => 'अज्ञातं विषाणुप्रतिकारकम्:',
# Login and logout pages
-'logouttext' => "'''भवान् अधुना बहिरागतः ।'''
-
-भवान् {{SITENAME}} इत्येतत् अनामतया प्रयोक्तुं शक्नोति, अथवा भवान् तेनैव प्रयोक्तृनाम्ना, भिन्नप्रयोक्तृनाम्ना वा <span class='plainlinks'>[$1 पुनः प्रवेष्टुं शक्नोति]</span>।
-इदानीमपि कानिचन पृष्ठानि पूर्ववदेव दृश्येरन् । अस्य वारणाय विचरकस्य स्मृतिसञ्चयः रिक्तीक्रियताम् ।",
-'welcomeuser' => 'स्वागतं, हे $1!',
-'welcomecreation-msg' => 'भवतः लेखा रचिताऽस्ति।
-स्वकीयानां [[Special:Preferences|{{SITENAME}} इष्टतमानां]]. निगदनं मा विस्मर्यताम्।',
+'logouttext' => "'''भवान्/भवती अधुना बहिः अस्ति ।'''
+भवान्/भवती {{SITENAME}} इत्येतत् अनामतया प्रयोक्तुं शक्नोति । अथवा तेनैव प्रयोक्तृनाम्ना, भिन्नप्रयोक्तृनाम्ना वा पुनः प्रवेष्टुं शक्नोति ।
+इदानीमपि कानिचन पृष्ठानि पूर्ववदेव दृश्येरन् । तत् वारयितुं गवाक्षस्य (browser) इतिहासः रिक्तीक्रियताम् ।",
+'welcomeuser' => 'स्वागतम्, $1!',
+'welcomecreation-msg' => 'भवता/भवत्या सदस्यता प्राप्ता ।
+स्वस्य [[Special:Preferences|{{SITENAME}} इष्टतमानि]] परिवर्तयितुं मा विस्मरतु ।',
'yourname' => 'योजकनाम:',
-'userlogin-yourname' => 'प्रयोक्तुः नाम',
-'userlogin-yourname-ph' => 'स्वकीयं प्रयोक्तृनाम दीयताम्',
-'yourpassword' => 'कूटशब्दः',
-'userlogin-yourpassword-ph' => 'स्वकीयं कूटशब्दं दीयताम्',
-'createacct-yourpassword-ph' => 'कूटशब्दः प्रविश्यताम्',
-'yourpasswordagain' => 'कूटशब्दः पुनः लिख्यताम् ।',
-'createacct-yourpasswordagain-ph' => 'कूटशब्दः पुनः प्रविश्यताम्',
+'userlogin-yourname' => 'प्रयोक्तृनाम',
+'userlogin-yourname-ph' => 'स्वस्य प्रयोक्तृनाम दीयताम्',
+'createacct-another-username-ph' => 'प्रयोक्तृनाम दीयताम्',
+'yourpassword' => 'कूटशब्दः :',
+'userlogin-yourpassword' => 'कूटशब्दः',
+'userlogin-yourpassword-ph' => 'स्वस्य कूटशब्दः दीयताम्',
+'createacct-yourpassword-ph' => 'कूटशब्दः दीयताम्',
+'yourpasswordagain' => 'कूटशब्दः पुनः लिख्यताम् :',
+'createacct-yourpasswordagain' => 'कूटशब्दस्य पुष्टिं करोतु ।',
+'createacct-yourpasswordagain-ph' => 'कूटशब्दः पुनः दीयताम्',
'remembermypassword' => 'अस्मिन् सङ्गणके मम प्रवेशः स्मर्यताम् (अधिकतमम् $1 {{PLURAL:$1|दिनम्|दिनानि}})',
'userlogin-remembermypassword' => 'अहं प्रविष्टमेव तिष्ठेयम्',
-'yourdomainname' => 'भवतः प्रक्षेत्रम्:',
-'password-change-forbidden' => 'अस्यां विक्यां निकुञ्चं परिवर्तयितुं न शक्नोति ।',
-'externaldberror' => 'तत्र प्रमाणीकरण समंकाधारे त्रुटिर्जाता, अथवा भवान् स्वकीयां बाह्य-लेखां अद्यतनीकर्तुं अनुमतिं न धारयति।',
+'userlogin-signwithsecure' => 'संरक्षितः सम्पर्कः (https) उपयुज्यताम्',
+'yourdomainname' => 'भवतः प्रदेशः (domain) :',
+'password-change-forbidden' => 'अस्मिन् विकि-जालस्थाने भवान्/भवती कूटशब्दान् परिर्वतयितुं न शक्नोति ।',
+'externaldberror' => 'दत्तांशे प्रामाणिकताविषयकः (authentication database) दोषः स्यात् । अथवा स्वस्य बाह्यसदस्यतायां (external account) परिवर्तनं कर्तुम् अनुमतिः न भवेत् ।',
'login' => 'प्रविश्यताम्',
'nav-login-createaccount' => 'प्रविश्यताम् / सदस्यता प्राप्यताम्',
'loginprompt' => '{{SITENAME}} इत्यत्र प्रवेष्टुं ज्ञापकानि (cookies) समर्थीकरणीयानि ।',
'logout' => 'निर्गमनम्',
'userlogout' => 'निर्गमनम्',
'notloggedin' => 'नैव प्रविष्टः',
-'userlogin-noaccount' => 'सदस्यता नास्ति किम्?',
+'userlogin-noaccount' => 'सदस्यता नास्ति किम् ?',
+'userlogin-joinproject' => '{{SITENAME}} सह योजनम्',
'nologin' => 'सदस्यता नास्ति किम् ? $1',
'nologinlink' => 'सदस्यता प्राप्यताम्',
'createaccount' => 'सदस्यता प्राप्यताम्',
'gotaccount' => 'पूर्वमेव योजकः अस्ति किम् ? $1',
'gotaccountlink' => 'प्रविश्यताम्',
-'userlogin-resetlink' => 'प्रवेशविवरणानि विस्मृतानि किम् ?',
-'createacct-join' => 'स्वकीया सूचना अधस्तात् प्रवेश्यताम्।',
-'createaccountmail' => 'ईपत्रद्वारा',
-'createaccountreason' => 'कारणम्',
+'userlogin-resetlink' => 'स्वस्य प्रवेशविवरणानि विस्मृतानि किम् ?',
+'userlogin-resetpassword-link' => 'स्वस्य कूटशब्दः विस्मृतः किम् ?',
+'userlogin-helplink2' => 'प्रवेशविषयकं साहाय्यम्',
+'userlogin-loggedin' => 'भवाता/भवत्या पूर्वस्मादेव {{GENDER:$1|$1}} योजकत्वेन प्रवेशः प्राप्तः अस्ति । भिन्नयोजकत्वेन प्रवेष्टुं निम्नप्रपत्रं पूरयतु ।',
+'userlogin-createanother' => 'अन्यसदस्यता प्राप्यताम्',
+'createacct-join' => 'स्वविषये अधः लिख्यताम् ।',
+'createacct-another-join' => 'नवीनसदस्यतायाः विषये अधः लिख्यताम् ।',
+'createacct-emailrequired' => 'ई-पत्रसङ्केतः',
+'createacct-emailoptional' => 'ई-पत्रसङ्केतः (ऐच्छिकः)',
+'createacct-email-ph' => 'स्वस्य ई-पत्रसङ्केतं लिखतु',
+'createacct-another-email-ph' => 'ई-पत्रसङ्केतः लिख्यताम्',
+'createaccountmail' => 'अस्थायिनम् अशृङ्खलितं कूटशब्दम् उपयुज्य योग्याय ई-पत्रसङ्केताय प्रेश्यताम् ।',
+'createacct-realname' => 'वास्तविकं नाम (ऐच्छिकम्)',
+'createaccountreason' => 'कारणम् :',
'createacct-reason' => 'कारणम्',
-'createacct-reason-ph' => 'भवान् अन्यां लेखां किमर्थं रचितुमिच्छसि?',
-'badretype' => 'भवता प्रदत्ते कूटशब्दे न खलु समाने स्तः। कृपया पुनः लिखतु।',
-'userexists' => 'भवतः प्रदत्तः प्रयोक्तृनाम अन्येन प्रयुज्यमानम् अस्ति। कृपया अन्यदेकं प्रयोक्तृनाम चिनोतु।',
-'loginerror' => 'प्रवेशने प्रमादः',
-'createaccounterror' => '$1 इति लेखां स्रष्टुं न अपारयत्',
-'nocookiesnew' => 'भवतः लेखा सृष्टाऽस्ति, परन्तु भवान् प्रविष्टो नासि।
-{{SITENAME}} इत्यनेन प्रवेशं कर्तुं कुकि इत्येते प्रयुज्यन्ते।
-भवतः पक्षे कुकि इत्येते असमर्थीकृतानि सन्ति।
-कृपया तानि समर्थानि करोतु, तथा स्वकीयेन सदस्यनाम्ना कूटशब्देन च प्रविशतु।',
-'nocookieslogin' => '{{SITENAME}} इत्यत्र प्रयोक्तृणां प्रवेशार्थं कुकि इत्येतेषां प्रयोगः क्रियते।
-भवता कुकि इत्येते असमर्थीकृतानि सन्ति।
-कृपया तानि समर्थीकरोतु पुनश्च प्रयततु।',
+'createacct-reason-ph' => 'भवतः/भवत्याः अन्यसदस्यतां प्राप्तुं किं प्रयोजनमस्ति ?',
+'createacct-captcha' => 'सुरक्षानिरीक्षणम्',
+'createacct-imgcaptcha-ph' => 'उपरि लिखिताः वर्णाः लिख्यताम्',
+'createacct-submit' => 'स्वसदस्यता प्राप्यताम्',
+'createacct-another-submit' => 'अन्यसदस्यता प्राप्यताम्',
+'createacct-benefit-heading' => '{{SITENAME}} इति भवत्सदृशैः जनैः रचितमस्ति ।',
+'createacct-benefit-body1' => '{{PLURAL:$1|सम्पादनम्|सम्पादनानि}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|पृष्ठम्|पृष्ठानि}}',
+'createacct-benefit-body3' => 'नवीन{{PLURAL:$1|योजकः|योजकाः}}',
+'badretype' => 'भवता/भवत्या लिखितौ कूटशब्दौ समानौ न स्तः ।',
+'userexists' => 'भवता/भवत्या ईप्सितं प्रयोक्तृनाम पूर्वस्मादेव विद्यते ।
+कृपया अपरं प्रयोक्तृनाम चिनोतु ।',
+'loginerror' => 'प्रवेशे दोषः',
+'createacct-error' => 'सदस्यताप्राप्तिकाले दोषः',
+'createaccounterror' => '$1 सदस्यता न प्राप्ता :',
+'nocookiesnew' => 'भवता/भवत्या सदस्यता प्राप्ता, परन्तु प्रवेशः न कृतः । {{SITENAME}} इत्यस्य कृते योजकज्ञापकम् (uses cookies) अनिवार्यम् अस्ति ।
+भवता/भवत्या ज्ञापकव्यवस्था असमर्थिता अस्ति ।
+कृपया सा समर्थ्यताम्, ततश्च नवीनसदस्यतायाः प्रयोक्तृनाम्ना प्रविश्यताम् ।',
+'nocookieslogin' => '{{SITENAME}} इत्यत्र ज्ञापकेन (cookies) विना प्रवेशः न शक्यः ।
+भवता/भवत्या ज्ञापकव्यवस्था असमर्थिता अस्ति ।
+कृपया सा समर्थ्यताम्, ततश्च पुनः प्रयासः क्रियताम् ।',
'nocookiesfornew' => 'योजकसदस्यता न सिद्धा यतः स्रोतः प्रमाणीकृतं न जातम् ।
भवता कुक्कीस् इत्येतत् समर्थीकृतानि किम् इति परिशील्य इदं पृष्ठं पुनरारोप्य प्रयतताम् ।',
-'noname' => 'भवता एकं मान्यं प्रयोक्तृ-नाम न प्रदत्तम्।',
-'loginsuccesstitle' => 'स्वागतम्। प्रवेशः सिद्धः।',
-'loginsuccess' => 'भवान् अधुना {{SITENAME}} इत्यत्र "$1" रूपेण प्रविष्टोऽस्ति।',
-'nosuchuser' => 'तत्र $1 इति नाम्ना न कोऽपि प्रयोक्ता विद्यते।
-प्रयोक्तृनाम्नि आंग्ललिपेः लघुभिः दीर्घैश्च अक्षरैः भिन्नता गण्यते।
-स्वकीयां वर्तनीं पुनरीक्षतां, अथवा [[Special:UserLogin/signup|नूतनसदस्यता प्राप्यताम्]]।',
-'nosuchusershort' => '"$1" इति नाम्ना न कोऽपि प्रयोक्ता विद्यते।
-स्वकीयां वर्तनीं पुनरीक्षताम्।',
-'nouserspecified' => 'भवता एकं प्रयोक्तृनाम अवश्यमेव दातव्यम्।',
-'login-userblocked' => 'एषः प्रयोक्ता प्रतिबन्धितः अस्ति। सत्रारम्भाय अनुमतिः नास्ति।',
-'wrongpassword' => 'भवता प्रदत्तः कूटशब्दः त्रुटिपूर्णः अस्ति।
-कृपया पुनः लिख्यताम्।',
-'wrongpasswordempty' => 'लिखितः कूटशब्दः रिक्तः विद्यते।
-कृपया पुनः लिख्यताम्।',
-'passwordtooshort' => 'कूटशब्दः न्यूनातिन्यूनं {{PLURAL:$1| 1 अक्षरात्मकः|$1 अक्षरात्मकमः}} अवश्यमेव भवेत्।',
-'password-name-match' => 'भवतः कूटशब्दः भवतः प्रयोक्तृनामतः अवश्यम् भिन्नं भवेत् ।',
-'password-login-forbidden' => 'अस्य प्रयोक्तृनाम्नः कूटशब्दस्य च प्रयोगः वर्जितोऽस्ति।',
+'noname' => 'भवता/भवत्या योग्यं प्रयोक्तृनाम न प्रदत्तम् ।',
+'loginsuccesstitle' => 'स्वागतं ! प्रवेशः सिद्धः ।',
+'loginsuccess' => 'भवता/भवत्या {{SITENAME}} इत्यत्र "$1"-योजकत्वेन प्रवेशः प्राप्तः ।',
+'nosuchuser' => "'''$1''' नाम्नः न कोऽपि योजकः विद्यते ।
+
+प्रयोक्तृनामानि पक्षानुगुणं (case sensitive) भवन्ति ।
+
+यत् टङ्कितं, तत् पश्यतु अथवा [[Special:UserLogin/signup|नूतनसदस्यता प्राप्यताम्]] ।",
+'nosuchusershort' => "'''$1''' नाम्नः न कोऽपि योजकः विद्यते ।
+
+यत् टङ्कितं, तत् पश्यतु ।",
+'nouserspecified' => 'भवता/भवत्या एकं योग्यं प्रयोक्तृनाम अवश्यमेव दातव्यम् ।',
+'login-userblocked' => 'एषः योजकः प्रतिबन्धितः । प्रविष्टुम् अनुमतिः नास्ति ।',
+'wrongpassword' => 'भवता/भवत्या लिखितः कूटशब्दः त्रुटियुक्तः ।
+कृपया पुनः लिख्यताम् ।',
+'wrongpasswordempty' => 'कूटशब्दपेटिकायां कूटशब्दः न लिखितः ।
+
+कृपया पुनः प्रयासः क्रियताम् ।',
+'passwordtooshort' => 'न्यूनातिन्यूनं {{PLURAL:$1| 1 अक्षरात्मकः|$1 अक्षरात्मकः}} कूटशब्दः भवेदेव ।',
+'password-name-match' => 'भवतः/भवत्याः प्रयोक्तृनाम, कूटशब्दः च समानः न भवेत् ।',
+'password-login-forbidden' => 'अस्य प्रयोक्तृनाम्नः कूटशब्दस्य च प्रयोगः वर्जितोऽस्ति ।',
'mailmypassword' => 'कूटशब्दः परिवर्त्यताम्',
-'passwordremindertitle' => '{{SITENAME}} à¤\87तà¥\8dयà¥\87तदरà¥\8dथà¥\87 नà¥\82तनà¥\8d à¤\85सà¥\8dथायि à¤\95à¥\82à¤\9fशबà¥\8dदमà¥\8d।',
+'passwordremindertitle' => '{{SITENAME}} à¤\87तà¥\8dयसà¥\8dमà¥\88 नà¥\82तनà¤\83 à¤\85सà¥\8dथायà¥\80 à¤\95à¥\82à¤\9fशबà¥\8dदà¤\83 ।',
'passwordremindertext' => 'कश्चित् (भवान् अपि स्यात्, $1 ऐ. पि. सङ्केतात् ) {{SITENAME}} ($4) इत्यस्य कृते नूतनं कूटशब्दं प्रार्थितवान् । तात्कालिकः कूटशब्दः "$2" इति उपयोक्तुः कृते निर्मितः "$3" कृते प्रेषितश्च । यदि अयं भवतः आशयः, भवान् प्रविश्य नूतनं कूटशब्दम् इदानीं चिनोतु । भवतः तात्कालिकः कूटशब्दः {{PLURAL:$5|दिनम्|$5 दिनानि}} यावत् सक्रियः भवति ।
अन्यः कश्चित् एतां प्रार्थनां कृतवान्, अथवा भवानेव पूर्वतनं कृटशब्दं स्मृतवान्, इदानीं तस्य परिवर्तनं न् इच्छति चेत् एतां सूचनाम् अनङ्गीकृत्य पूर्वतनस्य कूटशब्दस्य एव उपयोगं करोतु ।',
-'noemail' => '"$1" इति प्रयोक्तुः कृते न कोऽपि विद्युत्सन्देशसंकेतः पञ्जीकृतोऽस्ति।',
-'noemailcreate' => 'भवता एकः मान्यः विद्युत्सन्देशसंकेतः दातव्यः।',
-'passwordsent' => '"$1" इत्येतस्य कृते पञ्जीकृते विद्युत्सन्देशसंकेते एकः नूतनः कूटशब्दः प्रेषितोऽस्ति।
-कृपया तस्य सम्प्राप्तिपश्चात् पुनः प्रविशतु।',
-'blocked-mailpassword' => 'भवतः आइपी-संकेतः सम्पादनात् प्रतिबन्धितः अस्ति, अतश्च कूटशब्द-पुनरवाप्ति-सुविधायाः प्रयोगादपि वर्जितः, येन हि दुष्प्रयोगः न स्यात्।',
+'noemail' => '"$1" प्रयोक्तुः न कोऽपि ई-पत्रसङ्केतः पञ्जीकृतः अभवत् ।',
+'noemailcreate' => 'भवता/भवत्या मान्यः ई-पत्रसङ्केतः दातव्यः ।',
+'passwordsent' => '"$1" इत्यस्य पञ्जीकृताय ई-पत्रसङ्केताय नवीनः कूटशब्दः प्रेषितः अस्ति ।
+
+कृपया तस्य कूटशब्दस्य उपयोगेन पुनः प्रविश्यताम् ।',
+'blocked-mailpassword' => 'भवतः/भवत्याः अन्तर्जालसंविद् (IP) प्रतिबन्धितः अस्ति ।
+सम्पादनाय अनुमतिः नास्ति, अतः कूटशब्दस्य पुनःप्राप्तिः भवितुं नार्हति ।',
'eauthentsent' => 'भवता प्रदत्ते विद्युत्पत्र-संकेते एकः परिपुष्टिरूपः विद्युत्सन्देशः प्रेषितोऽस्ति।
अन्यः कश्चिद् विद्युत्सन्देशः प्रेषितो भवेत् इत्येतदर्थं भवता तत्सन्देशे प्रदत्ताः निर्देशाः पालितव्याः, येन हि सा विद्युत्सन्देशलेखा भवदीया एव इति सत्यापितो भवेत्।',
'throttled-mailpassword' => 'पूर्वतनायां {{PLURAL:$1|होरस्य|$1 होराणां}} अवधौ भवदर्थं एकः कूटशब्द-पुनःस्मारकम् प्रेषितोऽस्ति।
'emaildisabled' => 'स्थानमेतत् विद्युन्मनपत्रं न प्रेषयति ।',
'accountcreated' => 'सदस्यता प्राप्ता',
'accountcreatedtext' => '$1 इत्येतस्य सदस्यता प्राप्ता अस्ति।',
-'createaccount-title' => '{{SITENAME}} à¤\87तà¥\8dयà¥\87तदरà¥\8dथà¤\82 लà¥\87à¤\96ासà¥\83à¤\9cनम्',
+'createaccount-title' => '{{SITENAME}} à¤\87तà¥\8dयतà¥\8dर सदसà¥\8dयता पà¥\8dरापà¥\8dयताम्',
'createaccount-text' => 'भवतः विद्युत्संदेशसंकेतार्थं केनचित् $2 इति जनेन {{SITENAME}} ($4) इत्यत्र $3 इति कूटशब्दं दत्वा लेखा सृष्टाऽस्ति।
भवता अधुना प्रवेशं कृत्वा कूटशब्दः परिवर्तितव्यः।
'login-abort-generic' => 'भवतः प्रवेशप्रयासः विफलीभूतः - परित्यक्तः',
'loginlanguagelabel' => 'भाषा : $1',
'suspicious-userlogout' => 'भवतः सत्राद् बहिर्गमनस्य अनुरोधः अस्वीकृतोऽस्ति, यस्मादेतत् भग्नादेकस्मात् ब्राउज़र्तः अथवा स्वल्पसञ्चयि-प्रॉक्सितः प्रेषित आसीत्।',
+'pt-login' => 'प्रविश्यताम्',
'pt-login-button' => 'प्रविश्यताम्',
+'pt-createaccount' => 'सदस्यता प्राप्यताम्',
+'pt-userlogout' => 'निर्गमनम्',
# Email sending
'php-mail-error-unknown' => 'पीएच्पी इत्येतस्य mail() फलने अज्ञाता काऽपि त्रुटिर्जाता।',
'image_tip' => 'अन्तर्निहिता सञ्चिका',
'media_sample' => 'उदाहरणम्.ogg',
'media_tip' => 'सञ्चिकासम्बन्धः',
-'sig_tip' => 'समयà¥\8bलà¥\8dलà¥\87न सह à¤à¤µà¤¤à¤\83/à¤à¤µà¤¤à¥\8dयाà¤\83 हसà¥\8dताà¤\95à¥\8dषरà¤\83',
+'sig_tip' => 'समयà¥\8bलà¥\8dलà¥\87à¤\96à¥\87न सह à¤à¤µà¤¤à¤\83/à¤à¤µà¤¤à¥\8dयाà¤\83 हसà¥\8dताà¤\95à¥\8dषरमà¥\8d',
'hr_tip' => 'क्षैतिज-रेखा (न्यूनतया प्रयोक्तव्या)',
# Edit pages
'summary' => 'सारांशः:',
'subject' => 'विषयः/शीर्षकम् :',
-'minoredit' => 'à¤\87दà¤\82 लà¤\98à¥\81 परिवरà¥\8dतनम्',
+'minoredit' => 'à¤\87दà¤\82 लà¤\98à¥\81 समà¥\8dपादनम्',
'watchthis' => 'इदं पृष्ठं निरीक्षताम्',
'savearticle' => 'पृष्ठं रक्ष्यताम्',
'preview' => 'प्राग्दृश्यम्',
सत्रारम्भपश्चात् नूतनायाः अस्याः लेखायाः कूटशब्दः '''[[Special:ChangePassword|कूटशब्दं परिवर्तताम्]]'' इति पृष्ठे परिवर्तितुं शक्यते।",
'newarticle' => '(नूतनम्)',
'newarticletext' => 'भवान्/भवती अनिर्मिते पृष्ठे अस्ति ।
-
-पृष्ठं स्रष्टुम् अधः प्रदत्तायां पेटिकायां टङ्कनं प्रारभतु (साहाय्यार्थं [$1 अत्र] नुदतु ।
-भवान्/भवती यदि क्षतिकारणात् एतत् पृष्ठं प्रति आगच्छत्, तर्हि अस्य गवेषकस्य (browser) "बैक्" इति नुदतु ।',
+पृष्ठं स्रष्टुम् अधः प्रदत्तायां पेटिकायां टङ्कनं प्रारभतु (साहाय्यार्थं [$1 अत्र]) नुदतु ।
+भवान्/भवती यदि क्षतिकारणात् एतत् पृष्ठं प्रति आगच्छत्, तर्हि अस्य गवेषकस्य (browser) Back नुदतु ।',
'anontalkpagetext' => 'तस्य अनामकयोजकस्य, अथवा अनुपयोजकस्य च परिचर्चापुटम् येन एतावति काले स्वस्थनं न निर्मितम् ।
अतः तस्य अभिज्ञानार्थं ऐ.पि.सङ्गेतसङ्ख्या प्रयोजनीया ।
सा समाना सङ्ख्याः अन्ययोजकैः अपि विभक्ता । यदि भवान् अनामकयोजकः, भवता असम्बद्धटीकाः श्रुताः, कृपया स्वस्थनं निर्मीय नामाभिलेखं करोतु । [[Special:UserLogin/signup|create an account]], [[Special:UserLogin|log in]] अन्यानामकयोजकैः सह सम्भूयमनभ्रमैः विमुक्तः भवतु ।',
'noarticletext-nopermission' => 'अस्मिन् पृष्ठे अधुना किमपि न विद्यते । [[Special:Search/{{PAGENAME}}|एषः शब्दः]] येषु पृष्ठेषु अन्तर्भवति, तानि पृष्ठानि अन्वेष्टुं शक्यन्ते ।
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} सम्बद्धेषु पृष्ठेषु अन्वेषणं]
[{{fullurl:{{FULLPAGENAME}}|action=edit}} अस्य पृष्ठस्य सम्पादनं] वा शक्यम्</span>.',
-'missing-revision' => '{{PAGENAME}} इति नामाङ्कितपुटस्य #$1 इति पुनरावृत्तिः अत्र नाश्ति ।
+'missing-revision' => '{{FULLPAGENAME}} इति नामाङ्कितपुटस्य #$1 इति पुनरावृत्तिः अत्र नाश्ति ।
पुटेन सह कालातीतानुबन्धकारणेन एतत् अभवत् ।
विवरणम् अत्र दृश्यते ।[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
'userpage-userdoesnotexist' => '"$1" इति प्रयोक्तृलेखा पञ्जीकृता नास्ति।
'updated' => '(अद्यतनीकृतः)',
'note' => "'''सूचना:'''",
'previewnote' => "'''एतत् केवलं प्राग्दृश्यं वर्तते इति स्मरतु'''
-à¤à¤µà¤¤à¤¾/à¤à¤µà¤¤à¥\8dया à¤\95à¥\83तानि परिवरà¥\8dतनानि à¤\8fतवातà¥\8d न रक्षितानि ।",
+à¤à¤µà¤¤à¤¾/à¤à¤µà¤¤à¥\8dया à¤\95à¥\83तानि परिवरà¥\8dतनानि à¤\8fतवता न रक्षितानि ।",
'continue-editing' => 'सम्पादनम् अनुवर्तताम्',
'previewconflict' => 'अस्मिन् प्राग्दृश्ये दर्शितमस्ति यत् उपरिवर्ति पाठ क्षेत्रस्य पाठः रक्षणपश्चात् कीदृशः दृष्टिगोचरः भविष्यति।',
'session_fail_preview' => "'''क्षम्यताम्! अस्माभिः भवतः सम्पादनस्य संसाधनं न कर्तुं शक्तम् यस्माद्धि सत्रस्य सूचनाः लुप्ताः।'''
'templatesusedsection' => '{{PLURAL:$1|Template|Templates}} अस्मिन् विभागे उपयुक्तम् ।',
'template-protected' => '(संरक्षितम्)',
'template-semiprotected' => 'अर्धसंरक्षितम्',
-'hiddencategories' => 'à¤\87दà¤\82 पà¥\83षà¥\8dठà¤\82 {{PLURAL:$1|1 निà¤\97à¥\82ढà¥\87 वरà¥\8dà¤\97à¥\87 |$1 निà¤\97à¥\82ढà¥\87षà¥\81 वरà¥\8dà¤\97à¥\87षà¥\81}} à¤\85नà¥\8dयतमà¤\82 विदà¥\8dयतà¥\87 :',
+'hiddencategories' => 'à¤\87दà¤\82 पà¥\83षà¥\8dठà¤\82 {{PLURAL:$1|1 निà¤\97à¥\82ढà¥\87 वरà¥\8dà¤\97à¥\87 |$1 निà¤\97à¥\82ढà¥\87षà¥\81 वरà¥\8dà¤\97à¥\87षà¥\81}} à¤\85नà¥\8dतरà¥\8dà¤à¤µà¤¤à¤¿ :',
'nocreatetext' => '{{SITENAME}} नूतनपुटनिर्माणस्य क्षमता नियता । वर्तमानापुटानां सम्पादनार्थं निर्गच्छतु । अथवा [[Special:UserLogin|log in or create an account]].',
'nocreate-loggedin' => 'नूतनपुटनिर्मार्थम् अनुमतिः नास्ति ।',
'sectioneditnotsupported-title' => 'विभागसम्पादनं न पोषितम् ।',
'sectioneditnotsupported-text' => 'अस्मिन् पुटे विभागसम्पादनण् न पोषितम् ।',
'permissionserrors' => 'अनुज्ञा-विभ्रमाः',
'permissionserrorstext' => 'भवान् तत् कर्तुं अनुज्ञां न धारयति {{PLURAL:$1|अधोऽङ्कितात् कारणात् |अधोऽङ्कितेभ्यः कारणेभ्यः:}}',
-'permissionserrorstext-withaction' => '$1 निम्नकारणत्वात् $2 सम्पादनस्य अनुमतिः नास्ति ।',
+'permissionserrorstext-withaction' => '$1 निम्नकारणत्वात् $2 सम्पादनस्य अनुमतिः नास्ति ।
+{{PLURAL:$1|कारणम्|कारणानि}}:',
'recreate-moveddeleted-warn' => "'''पूर्वसूचना: पूर्वम् अपाकृतं पृष्टं भवता रच्यमानम् अस्ति ।'''
अस्य पृष्ठस्य सम्पादनं करणात् प्राक् गभीरतया चिन्तनं करोतु ।
अस्य पृष्ठस्य निर्माणं न्यायसङ्गतम् इति भवतः/भवत्याः मतमस्ति चेत् अत्र परिवर्तनं करोतु । सौकर्यार्थं पृष्ठ-अपाकरणस्य प्राक्तनसम्पादनस्य आवलिः अत्र वर्तते ।",
अत्र $2 संख्यातः {{PLURAL:$2|न्यूनं आह्वानं|न्यूनानि आह्वानानि}} भवितव्यानि, सद्यः तत्र {{PLURAL:$1 $1 आह्वानं विद्यते|$1 आह्वानानि विद्यन्ते}}।",
'expensive-parserfunction-category' => 'प्रभूतेभ्यः जटिलेभ्यः पार्सर्-फंक्शन्-आह्वानेभ्यः युक्तानि पृष्ठाणि।',
'post-expand-template-inclusion-warning' => "'''पूर्वसूचना:''' फलकस्य आकारः बृहत् वर्तते । कानिचन फलकानि नान्तर्भविष्यन्ति ।",
-'post-expand-template-inclusion-category' => 'माहितà¥\80फलकस्य अपेक्षया पृष्ठं बृहत् वर्तते ।',
-'post-expand-template-argument-warning' => "'''पà¥\82रà¥\8dवसà¥\82à¤\9aना''' à¤\85सà¥\8dमिनà¥\8d पà¥\83षà¥\8dठà¥\87 सà¥\8dथितसà¥\8dय फलà¤\95सà¥\8dय à¤\8fà¤\95à¤\83 विà¤\95लà¥\8dपà¤\83 बहà¥\81 बà¥\83हतà¥\8d à¤à¤µà¥\87तà¥\8d । तस्य विकल्पस्य अंशाः अपाकृताः ।",
+'post-expand-template-inclusion-category' => 'सà¥\82à¤\9aनाफलकस्य अपेक्षया पृष्ठं बृहत् वर्तते ।',
+'post-expand-template-argument-warning' => "'''पà¥\82रà¥\8dवसà¥\82à¤\9aना''' à¤\85सà¥\8dमिनà¥\8d पà¥\83षà¥\8dठà¥\87 सà¥\8dथितसà¥\8dय फलà¤\95सà¥\8dय à¤\8fà¤\95à¤\83 विà¤\95लà¥\8dपà¤\83 बहà¥\81 बà¥\83हतà¥\8d वरà¥\8dततà¥\87 । तस्य विकल्पस्य अंशाः अपाकृताः ।",
'post-expand-template-argument-category' => 'येषु पृष्ठेषु फलके स्थिताः विकल्पाः न पूरिताः तेषां पृष्ठानाम् आवलिः',
'parser-template-loop-warning' => 'बिम्बधर-पाशः प्राप्तः: [[$1]]',
'parser-template-recursion-depth-warning' => 'बिम्बधर-पुनरावर्तनार्थं गहनतायाः सीमा अतिक्रान्ताऽस्ति ($1)',
'currentrev' => 'सद्यःकालीना आवृत्तिः',
'currentrev-asof' => '$1 समयस्य संस्करणम्',
'revisionasof' => '$1 इत्यस्य संस्करणं',
-'revision-info' => '$1 परà¥\8dयनà¥\8dतà¤\82 $2 दà¥\8dवारा à¤\9cातानि परिवर्तनानाम् आवलिः',
-'previousrevision' => 'â\86\90 पà¥\81रातनानि सà¤\82सà¥\8dà¤\95रणानि',
+'revision-info' => '$1 परà¥\8dयनà¥\8dतà¤\82 $2 दà¥\8dवारा à¤\9cातानाà¤\82 परिवर्तनानाम् आवलिः',
+'previousrevision' => 'â\86\90 पà¥\81रातनà¤\82 सà¤\82सà¥\8dà¤\95रणमà¥\8d',
'nextrevision' => 'नूतनतरा आवृत्तिः →',
-'currentrevisionlink' => 'सदà¥\8dयà¤\83à¤\95ालà¥\80ना आवृत्तिः',
+'currentrevisionlink' => 'नà¥\82तनतमा आवृत्तिः',
'cur' => 'वर्तमानः',
'next' => 'आगामि',
'last' => 'पूर्वतनम्',
'page_first' => 'प्रथमम्',
'page_last' => 'अन्तिमम्',
'histlegend' => 'भेदस्य चयनम्: आवृत्तिभेदस्य दर्शनाय अग्रे प्रदत्ता रेडियोमञ्जूषा नुद्यताम्, एण्टर्-कुड्मलं नुद्यताम्, अधः दत्तं कुड्मलं वा नुद्यताम् । <br />
-à¤\87तिहासà¤\83: (सदà¥\8dयà¥\8bà¤\9cातमà¥\8d) = नूतनासु आवृत्तिषु भेदः,
-(पà¥\82रà¥\8dवतनमà¥\8d) = पà¥\82रà¥\8dवतनासà¥\81 à¤\86वà¥\83तà¥\8dतिषà¥\81 à¤à¥\87दà¤\83, (लà¤\98à¥\81) = लà¤\98à¥\81 परिवरà¥\8dतनम्',
-'history-fieldset-title' => 'à¤\97वà¥\87षणसà¥\8dय (browser) इतिहासः',
-'history-show-deleted' => 'मातà¥\8dरम् अपाकृतम्',
+नà¥\82तनसà¤\82सà¥\8dà¤\95रणमà¥\8d = नूतनासु आवृत्तिषु भेदः,
+(पà¥\82रà¥\8dवतनमà¥\8d) = पà¥\82रà¥\8dवतनासà¥\81 à¤\86वà¥\83तà¥\8dतिषà¥\81 à¤à¥\87दà¤\83, (लà¤\98à¥\81) = लà¤\98à¥\81 समà¥\8dपादनम्',
+'history-fieldset-title' => 'à¤\85नà¥\8dवà¥\87षणसà¥\8dय (browse) इतिहासः',
+'history-show-deleted' => 'à¤\95à¥\87वलम् अपाकृतम्',
'histfirst' => 'पुरातनतमम्',
'histlast' => 'नूतनतमम्',
'historysize' => '({{PLURAL:$1|1 बैटम्|$1 बैटानि}})',
'revdelete-no-file' => 'निर्दिष्टा सञ्चिका न विद्यते ।',
'revdelete-show-file-confirm' => '$2 तः $3 मध्ये "<nowiki>$1</nowiki>" इति सञ्चिकायाः निरस्तं परिष्करणं भवान् नूनं द्रष्टुम् इच्छति ?',
'revdelete-show-file-submit' => 'आम्',
-'revdelete-selected' => "'''{{PLURAL:$2|Selected revision|Selected revisions}} of [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Selected log event|Selected log events}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Selected log event|Selected log events}}:',
'revdelete-confirm' => 'भवान् एतत् कार्यं करोति इति दढयतु । भवान् अस्य परिणामं जानाति । [[{{MediaWiki:Policy-url}}|the policy]] भवान् एतदनुसारं करोति ।',
'revdelete-suppress-text' => 'अधोनिदेशितपरिस्थितिषु केवलं निग्रहः कार्यः ।
* अवमाननीयाः विषयाः ।
'mergelogpagetext' => 'अतिनूतनविलीनस्य आवली अधो दत्ता यस्य इतिहासः अन्यस्मिन् अस्ति ।',
# Diffs
-'history-title' => '"$1" इत्यस्य आवर्तनेतिहासः :',
+'history-title' => '"$1" इत्यस्य आवर्तनेतिहासः',
'difference-title' => '"$1" इत्यस्य अवतरणमध्ये व्यत्यासः ।',
'difference-title-multipage' => '"$1" तथा "$2" पुटयोः मध्ये व्यत्यासः ।',
'difference-multipage' => 'पुटेषु व्यत्यासः ।',
'lineno' => 'पङ्क्तिः $1:',
-'compareselectedversions' => 'à¤\9aितानामà¥\8d à¤\86वà¥\83तà¥\8dतà¥\80नाà¤\82 तà¥\8bलनà¤\82 क्रियताम्',
+'compareselectedversions' => 'à¤\9aितानामà¥\8d à¤\86वà¥\83तà¥\8dतà¥\80नाà¤\82 तà¥\81लना क्रियताम्',
'showhideselectedversions' => 'चितावतरणानि दर्शयतु/गोपयतु ।',
'editundo' => 'पूर्ववत्',
'diff-multi-manyusers' => '({{PLURAL:$2|योजकेन|$2 योजकैः}} कृता {{PLURAL:$1|मध्यमा आवृत्तिः|$1 मध्यमा आवृत्तयः}} न दर्शिताः ।)',
'titlematches' => 'पुटशीर्षिकामेलाः ।',
'textmatches' => 'पुटपाठस्य मेलाः',
'notextmatches' => 'न कस्यापि पृष्ठस्य पाठः अस्य सममस्ति',
-'prevn' => 'पà¥\81रसà¥\8dतात् {{PLURAL:$1|$1}}',
-'nextn' => 'परसà¥\8dतात् {{PLURAL:$1|$1}}',
-'prevn-title' => 'पà¥\81रसà¥\8dतातà¥\8d {{PLURAL:$1|परिणामः|परिणामाः}}',
-'nextn-title' => 'परसà¥\8dतातà¥\8d {{PLURAL:$1|परिणामः|परिणामाः}}',
+'prevn' => 'पà¥\82रà¥\8dवतनम् {{PLURAL:$1|$1}}',
+'nextn' => 'à¤\85à¤\97à¥\8dरिमम् {{PLURAL:$1|$1}}',
+'prevn-title' => 'पà¥\82रà¥\8dवतन{{PLURAL:$1|परिणामः|परिणामाः}}',
+'nextn-title' => 'à¤\85à¤\97à¥\8dरिम{{PLURAL:$1|परिणामः|परिणामाः}}',
'shown-title' => 'प्रत्येकस्मिन् पृष्ठे $1 {{PLURAL:$1|फलितम्|फलितानि}} दर्श्यताम्',
-'viewprevnext' => 'दरà¥\8dश्यताम् ($1 {{int:pipe-separator}} $2) ($3)',
-'searchmenu-exists' => "'''विकि-जालस्थानेऽस्मिन् \"[[:\$1]]\" नामकं पृष्ठं विद्यते । '''",
+'viewprevnext' => 'दà¥\83श्यताम् ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => '<strong>अस्मिन् विकि-जालस्थाने "[[:$1]]" नामकं पृष्ठं विद्यते ।</strong> {{PLURAL:$2|0=|अन्यपरिणामाः दृश्यन्ताम्}}',
'searchmenu-new' => '<strong> अस्मिन् विकिजालस्थाने "[[:$1]]" इदं पृष्ठं सृज्यताम् ।
</strong>
-{{PLURAL:$2|0=|तव अन्वेषणस्य परिणामोपि दृश्यताम् ।|तव अन्वेषणस्य परिणामाः अपि दृश्यन्ताम्}}',
-'searchprofile-articles' => 'à¤\86नà¥\8dतरà¥\8dविषà¤\95à¤\82 पà¥\83षà¥\8dठà¤\82',
+{{PLURAL:$2|0=|तव à¤\85नà¥\8dवà¥\87षणसà¥\8dय परिणामà¥\8bऽपि दà¥\83शà¥\8dयतामà¥\8d ।|तव à¤\85नà¥\8dवà¥\87षणसà¥\8dय परिणामाà¤\83 à¤\85पि दà¥\83शà¥\8dयनà¥\8dतामà¥\8d}}',
+'searchprofile-articles' => 'विषयसहितानि पà¥\83षà¥\8dठानि',
'searchprofile-project' => 'साहाय्यं, प्रकल्पपृष्ठानि च',
'searchprofile-images' => 'माध्यमसमुच्चयः',
'searchprofile-everything' => 'सर्वम्',
'searchprofile-advanced' => 'प्रगतम्',
'searchprofile-articles-tooltip' => '$1 स्थले अन्विष्यताम्',
'searchprofile-project-tooltip' => '$1 स्थले अन्विष्यताम्',
-'searchprofile-images-tooltip' => 'सञ्चिका अन्विष्यताम्',
-'searchprofile-everything-tooltip' => '(चर्चापृष्ठानि अविहाय) सर्वत्र अन्विष्यताम्',
+'searchprofile-images-tooltip' => 'सञ्चिकाः अन्विष्यन्ताम्',
+'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 सञ्चिकाः}})',
'skin-preview' => 'प्राग्दृश्यम्',
'datedefault' => 'वरीयांसि नास्ति',
'prefs-beta' => 'आवर्णलक्षणानि ।',
-'prefs-datetime' => 'दिनाà¤\82à¤\95 तथा समय',
+'prefs-datetime' => 'दिनाà¤\99à¥\8dà¤\95à¤\83, समयà¤\83 à¤\9a',
'prefs-labs' => 'प्रयोगशालालक्षणानि ।',
'prefs-user-pages' => 'योजकपुटानि ।',
'prefs-personal' => 'योजकः व्यक्तिरेखा',
'timezoneregion-indian' => 'हिंद महासागर',
'timezoneregion-pacific' => 'प्रशांत महासागर',
'allowemail' => 'अन्योपयोजकानां विद्युन्मानसङ्केतं निष्कियं करोतु ।',
-'prefs-searchoptions' => 'अन्वेषणविकल्पाः ।',
+'prefs-searchoptions' => 'अन्वेषणविकल्पाः',
'prefs-namespaces' => 'नामाकाशः :',
'defaultns' => 'अन्यथा एतेषु नामाकाशेषु अन्विषतु ।',
'default' => 'यदभावे',
'email' => 'विद्युत्पत्रव्यवस्था',
'prefs-help-realname' => 'निजनामधेयस्य उल्लेखः आवश्यकः नास्ति ।
यदि ददाति तर्हि अस्य प्रयोगः भवतः योगदानार्थं भवते श्रेयं दातुम् उपयुक्तः भवति ।',
-'prefs-help-email' => 'à¤\88-पतà¥\8dरसà¤\99à¥\8dà¤\95à¥\87तà¤\83 à¤\85निवारà¥\8dयà¤\83 नासà¥\8dति । à¤\95िनà¥\8dतà¥\81 à¤\95à¥\82à¤\9fशबà¥\8dदà¤\83 विसà¥\8dमरà¥\8dयतà¥\87 à¤\9aà¥\87तà¥\8d तसà¥\8dय परिवरà¥\8dतनाय à¤\85वश्यकः भवति ।',
+'prefs-help-email' => 'à¤\88-पतà¥\8dरसà¤\99à¥\8dà¤\95à¥\87तà¤\83 à¤\85निवारà¥\8dयà¤\83 नासà¥\8dति । à¤\95िनà¥\8dतà¥\81 à¤\95à¥\82à¤\9fशबà¥\8dदà¤\83 विसà¥\8dमरà¥\8dयतà¥\87 à¤\9aà¥\87तà¥\8d तसà¥\8dय परिवरà¥\8dतनाय à¤\86वश्यकः भवति ।',
'prefs-help-email-others' => 'योजकपृष्ठ-सम्भाषणपृष्ठयोः माध्यमेन, ई-पत्रमाध्यमेन वा अन्ये योजकाः भवतः/भवत्याः सम्पर्कं कर्तुं शक्नुयुः ।
सम्पर्केऽस्मिन् भवतः/भवत्याः ई-पत्रसङ्केतम् अन्ययोजकाः ज्ञातुं न प्रभवतन्ति ।',
'prefs-help-email-required' => 'विद्युन्मानपत्रसङ्केतः आवश्यकः ।',
# Recent changes
'nchanges' => '$1 {{PLURAL:$1|परिवर्तनम्|परिवर्तनानि}}',
-'recentchanges' => 'सदà¥\8dयपरिवर्तनानि',
-'recentchanges-legend' => 'सद्योजातानां परिवर्तनानां विकल्पाः',
+'recentchanges' => 'नà¥\82तनपरिवर्तनानि',
+'recentchanges-legend' => 'सद्यो जातानां परिवर्तनानां विकल्पाः',
'recentchanges-summary' => 'अस्मिन् विकि-प्रकल्पे सद्योजातानि परिवर्तनानि दृश्यन्ताम्',
-'recentchanges-feed-description' => 'अस्मिन् विकि-प्रकल्पे सद्योजातानि परिवर्तनानि दर्श्यन्ताम्',
+'recentchanges-feed-description' => 'अस्मिन् विकि-प्रकल्पे सद्यो जातानि परिवर्तनानि दर्श्यन्ताम्',
'recentchanges-label-newpage' => 'अनेन सम्पादनेन नूतनपृष्ठस्य रचना अभूत् ।',
-'recentchanges-label-minor' => 'à¤\87दà¤\82 लà¤\98à¥\81 परिवरà¥\8dतनम्',
+'recentchanges-label-minor' => 'à¤\87दà¤\82 लà¤\98à¥\81 समà¥\8dपादनम्',
'recentchanges-label-bot' => 'बोट्-द्वारा कृतं सम्पादनमेतत्',
'recentchanges-label-unpatrolled' => 'एतावता अस्य सम्पादनस्य परिशीलिनं नाभूत् ।',
-'rcnotefrom' => '<strong>$2</strong> तः आरभ्य (<strong>$1</strong> पर्यन्तं) जातानि परिवर्तनानि अधः प्रदर्शिता ।',
+'rcnotefrom' => '<strong>$2</strong> तः आरभ्य (<strong>$1</strong> पर्यन्तं) जातानि परिवर्तनानि अधः प्रदर्शितानि ।',
'rclistfrom' => '$1 पश्चात् जातानि नूतनानि परिवर्तनानि दृश्यन्ताम्',
'rcshowhideminor' => '$1 लघुसम्पादनानि',
'rcshowhidebots' => '$1 बोट् इत्येतानि',
'recentchangeslinked-feed' => 'पृष्ठ-सम्बन्धितानि परिवर्तनानि',
'recentchangeslinked-toolbox' => 'पृष्ठसम्बद्धानि परिवर्तनानि',
'recentchangeslinked-title' => '"$1" इत्यस्मिन् जातानि परिवर्तनानि',
-'recentchangeslinked-summary' => "विशेषपृष्ठेषु वर्गान्तर्गतपृष्ठेषु वा सद्योजातानां परिवर्तनानाम् एषा आवलिः ।
+'recentchangeslinked-summary' => "विशेषपृष्ठेषु वर्गान्तर्गतपृष्ठेषु वा सद्यो जातानां परिवर्तनानाम् एषा आवलिः ।
-[[Special:Watchlist|à¤à¤µà¤¤à¤\83/à¤à¤µà¤¤à¥\8dयाà¤\83 à¤\85वà¥\87à¤\95à¥\8dषणावलिà¤\83]] à¤\85तà¥\8dर विदà¥\8dयमानानि पà¥\83षà¥\8dठानि '''स्थूलाक्षरैः''' दर्शितानि।",
+[[Special:Watchlist|à¤à¤µà¤¤à¤\83/à¤à¤µà¤¤à¥\8dयाà¤\83 à¤\85वà¥\87à¤\95à¥\8dषणावलà¥\8dयाà¤\82]] विदà¥\8dयमानानि पà¥\83षà¥\8dठानि à¤\85तà¥\8dर '''स्थूलाक्षरैः''' दर्शितानि।",
'recentchangeslinked-page' => 'पृष्ठनाम:',
-'recentchangeslinked-to' => 'à¤\85सà¥\8dमिनà¥\8d सà¥\8dथानà¥\87 à¤\85सà¥\8dय पà¥\83षà¥\8dठसà¥\8dय सà¤\82बद्धानां पृष्ठानां परिवर्तनानि दर्श्यन्ताम्',
+'recentchangeslinked-to' => 'à¤\85सà¥\8dमिनà¥\8d सà¥\8dथानà¥\87 à¤\85सà¥\8dय पà¥\83षà¥\8dठसà¥\8dय समà¥\8dबद्धानां पृष्ठानां परिवर्तनानि दर्श्यन्ताम्',
# Upload
'upload' => 'सञ्चिका आरोप्यताम्',
'filehist-comment' => 'टिप्पणी',
'filehist-missing' => 'सञ्चिका विनष्टा ।',
'imagelinks' => 'सञ्चिकायाः उपयोगः',
-'linkstoimage' => '{{PLURAL:$1|अधो निर्दिष्टपृष्ठस्य परिसन्धयः|$1 अधो निर्दिष्टपृष्ठानां परिसन्धिः} अत्र {{PLURAL:$1|संलग्नाः सन्ति|सल्लग्ना अस्ति}} :',
+'linkstoimage' => '{{PLURAL:$1|अधो निर्दिष्टपृष्ठस्य परिसन्धयः संलग्नाः सन्ति|$1 अधो निर्दिष्टपृष्ठानां परिसन्धिः संलग्ना अस्ति}}:',
'linkstoimage-more' => '{{PLURAL:$1|$1}} तः अधिकपुटानि अस्यां सञ्चिकायां योज्यन्ते ।
अधोनिदेशितसूची सञ्चिकाभिः योजनीयपुटानि पश्यति ।{{PLURAL:$1|$1 पृष्ठ|$1 पृष्ठ}}
[[Special:WhatLinksHere/$2|पूर्णसूची]] अपि लभ्यते ।',
'randomredirect-nopages' => '$1नामस्थाने चालनानि न सन्ति ।',
# Statistics
-'statistics' => 'साङ्ख्यकी',
+'statistics' => 'साà¤\99à¥\8dà¤\96à¥\8dयिà¤\95à¥\80',
'statistics-header-pages' => 'पुटसाङ्ख्यिकाः ।',
'statistics-header-edits' => 'सङ्ख्यिकाः सम्पादयतु ।',
'statistics-header-views' => 'साङ्ख्यिकाः अवलोकयतु ।',
'newpages' => 'नवीनपृष्ठानि',
'newpages-username' => 'योजकनामन्:',
'ancientpages' => 'प्राचीनतमानि पृष्ठानि',
-'move' => 'à¤\9aाल्यताम्',
+'move' => 'शà¥\80रà¥\8dषà¤\95à¤\82 परिवरà¥\8dत्यताम्',
'movethispage' => 'इदं पृष्ठं चाल्यताम्',
'unusedimagestext' => 'अधो दत्तसञ्चिकाः सन्ति किन्तु कस्मिंश्चिदपि पुटे न न्यस्ताः ।',
'unusedcategoriestext' => 'निम्नलिखितवर्गाः सन्ति तथापि अन्यपुटं वर्गः वा न उपयुङ्क्ते ।',
'historywarning' => "' पूर्वसूचना ''' भवता अपमर्जनसिद्धपुटे बहुशः $1 इतिहासयुक्तः अस्ति ।{{PLURAL:$1|revision|revisions}}:",
'confirmdeletetext' => 'भवान् एकं पृष्ठं तस्य अखिलेन इतिहासेन सहितं अपाकर्तुं प्रवृत्तोऽस्ति। कृपया सुपुष्टीकरोतु यत् भवतः एतदेव आशयः, यद् भवता अस्य परिणामाः सुविज्ञाताः सन्ति तथा च भवता क्रियैषा [[{{MediaWiki:Policy-url}}| यथानीति]] सम्पाद्यते।',
'actioncomplete' => 'कार्यं सम्पन्नम्',
-'actionfailed' => 'à¤\95ारà¥\8dयà¤\82 रिषà¥\8dà¤\9fà¤\82 (failed)',
+'actionfailed' => 'à¤\95ारà¥\8dयà¤\82 रिषà¥\8dà¤\9fमà¥\8d (failed)',
'deletedtext' => '"$1" इत्येतद् अपाकृतमस्ति।
सद्यःकृतानां अपाकरणानाम् अभिलेखः $2 इत्यस्मिन् पश्यतु।',
'dellogpage' => 'अपाकरणानाम् आवलिः',
'tooltip-invert' => 'चितनामस्थाने परिवर्तनं गोपयितुं मञ्जूषाम् अर्गलयतु ।',
'namespace_association' => 'सम्बद्धं नामस्थानम् ।',
'tooltip-namespace_association' => 'चितनामस्थानेन सह सम्बद्धं विषयनामस्थानम् अथवा सम्भाषणम् अपि उपादातुम् इमां मञ्जूषाम् अर्गलयतु ।',
-'blanknamespace' => '(मà¥\81à¤\96à¥\8dयà¤\83)',
+'blanknamespace' => '(मà¥\81à¤\96à¥\8dयमà¥\8d)',
# Contributions
'contributions' => '{{GENDER:$1|प्रयोक्तॄणां}} योगदानानि',
-'contributions-title' => '$1 à¤\95à¥\83तà¥\87 यà¥\8bà¤\97दानà¤\82',
+'contributions-title' => '$1 à¤\95à¥\83तà¥\87 यà¥\8bà¤\9cà¤\95सà¥\8dय यà¥\8bà¤\97दानानि',
'mycontris' => 'योगदानानि',
'contribsub2' => '($2) कृते {{GENDER:$3|$1}}',
'nocontribs' => 'एतादृशयोग्यताभिः समं परिवर्तनानि न दृष्टानि ।',
नूतनतमा अवरोधाभिलेख-प्रविष्टिः सन्दर्भार्थम् अधस्तात् प्रदत्ताऽस्ति:',
'sp-contributions-search' => 'योगदानानि अन्विष्यन्ताम्',
'sp-contributions-username' => 'अन्तर्जालसंविद् (I P address) योजकनाम वा :',
-'sp-contributions-toponly' => 'समà¥\8dपादनानाà¤\82 à¤\95à¥\87वलà¤\82 नà¥\82तनातमा आवलिः दृश्यताम्',
+'sp-contributions-toponly' => 'समà¥\8dपादनानाà¤\82 नà¥\82तनतमा आवलिः दृश्यताम्',
'sp-contributions-submit' => 'अन्विष्यताम्',
# What links here
'whatlinkshere' => 'अनेन सह सम्बद्धाः',
'whatlinkshere-title' => '"$1" सम्बद्धानि पृष्ठानि',
'whatlinkshere-page' => 'पृष्ठम्:',
-'linkshere' => "'''[[:$1]]''' इत्यनेन सह अधोलिखितानां पृष्ठानां परिसन्धिं करोतु:",
+'linkshere' => "'''[[:$1]]''' इत्यनेन सह अधो लिखितानां पृष्ठानां परिसन्धिं करोतु:",
'nolinkshere' => "'''[[:$1]]''' इत्यनेन सह न किमपि पृष्ठं परिसन्धितम्",
'nolinkshere-ns' => "चितनामस्थानात् '''[[:$1]]''' इत्येनं योजनयोग्यं पुटं नास्ति ।",
'isredirect' => 'अनुप्रेषण-पृष्ठम्',
'istemplate' => 'अन्यलेखभागः (transclusion)',
'isimage' => 'सञ्चिकासम्बन्धः',
'whatlinkshere-prev' => '{{PLURAL:$1|पुरस्तात् (previous) $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|परसà¥\8dतात् $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|à¤\85à¤\97à¥\8dरिमम् $1}}',
'whatlinkshere-links' => '← परिसन्धयः',
-'whatlinkshere-hideredirs' => '$1 पुनर्निर्दिष्टानि',
-'whatlinkshere-hidetrans' => '$1 अन्यलेखभागः (transclusions)',
-'whatlinkshere-hidelinks' => '$1 परिसनà¥\8dधिः',
+'whatlinkshere-hideredirs' => '$1 पुनर्निर्दिष्टानि पृष्ठानि',
+'whatlinkshere-hidetrans' => '$1 à¤\85नà¥\8dयलà¥\87à¤\96à¤à¤¾à¤\97ाà¤\83 (transclusions)',
+'whatlinkshere-hidelinks' => '$1 परिसनà¥\8dधयः',
'whatlinkshere-hideimages' => '$1 चित्रपरिसन्धिः',
'whatlinkshere-filters' => 'शोधनी',
'blocklink' => 'अवरुद्ध्यताम्',
'unblocklink' => 'अवरोधः निरस्त्यताम्',
'change-blocklink' => 'अवरोधः परिवर्त्यताम्',
-'contribslink' => 'यà¥\8bà¤\97दानमà¥\8d',
+'contribslink' => 'यà¥\8bà¤\97दानानि',
'emaillink' => 'विद्युन्मानपत्रं प्रेषयतु ।',
'autoblocker' => 'भवतः ऐपि सङ्केतः स्वयम् अवरुद्धः यः सद्यः काले एव [[User:$1|$1]]" इत्यनेन उपयुक्तः ।
$1 इत्यस्य अवरोधस्य कारणं तु "$2" अस्ति ।',
'tooltip-pt-anontalk' => 'एतस्मात् ऐपिसङ्केतात् सम्पादनस्य परिचर्चा ।',
'tooltip-pt-preferences' => 'भवतः/भवत्याः इष्टतमानि',
'tooltip-pt-watchlist' => 'भवतः/भवत्याः निरीक्षासूच्यां विद्यमानानां पृष्ठानाम् आवलिः',
-'tooltip-pt-mycontris' => 'à¤à¤µà¤¤à¤\83/à¤à¤µà¤¤à¥\8dयाà¤\83 यà¥\8bà¤\97दानसà¥\8dय आवलिः',
+'tooltip-pt-mycontris' => 'à¤à¤µà¤¤à¤\83/à¤à¤µà¤¤à¥\8dयाà¤\83 यà¥\8bà¤\97दानानामà¥\8d आवलिः',
'tooltip-pt-login' => 'सम्प्रवेशाय प्रोत्सहामहे । परन्तु सम्प्रवेशः ऐच्छिकः ।',
'tooltip-pt-logout' => 'निर्गमनम्',
-'tooltip-ca-talk' => 'पà¥\83षà¥\8dठाऽनà¥\8dतरà¥\8dà¤\97ताय विषयाय चर्चा',
+'tooltip-ca-talk' => 'विषयसहितानाà¤\82 पà¥\83षà¥\8dठानाà¤\82 चर्चा',
'tooltip-ca-edit' => 'इदं पृष्ठं सम्पादयितुं शक्यते । रक्षणात्पूर्वं कृपया प्राग्दृश्यं दृश्यताम् ।',
'tooltip-ca-addsection' => 'नूतनविभागः आरभ्यताम्',
-'tooltip-ca-viewsource' => 'à¤\87दà¤\82 पà¥\83षà¥\8dठà¤\82 सà¤\82रà¤\95à¥\8dषितà¤\82 विदà¥\8dयतà¥\87 । à¤\85सà¥\8dय सà¥\8dरà¥\8bतà¤\82 द्रष्टुं शक्यते ।',
+'tooltip-ca-viewsource' => 'à¤\87दà¤\82 पà¥\83षà¥\8dठà¤\82 सà¤\82रà¤\95à¥\8dषितà¤\82 विदà¥\8dयतà¥\87 । à¤\85सà¥\8dय सà¥\8dरà¥\8bतà¤\83 द्रष्टुं शक्यते ।',
'tooltip-ca-history' => 'अस्य पृष्ठस्य पुरातनाऽऽवृत्तिः',
'tooltip-ca-protect' => 'इदं पृष्ठं संरक्ष्यताम्',
'tooltip-ca-unprotect' => 'अस्य पुटास्य सुरक्षां परिवर्तयतु ।',
'tooltip-ca-delete' => 'इदं पृष्ठम् अपाक्रियताम्',
'tooltip-ca-undelete' => 'अस्य पुटस्य अपमर्जनात् पूर्वम् अस्य सम्पादनानि पुनस्थापयतु ।',
-'tooltip-ca-move' => 'à¤\85सà¥\8dय पà¥\83षà¥\8dठसà¥\8dय नाम परिवर्त्यताम्',
+'tooltip-ca-move' => 'à¤\85सà¥\8dय पà¥\83षà¥\8dठसà¥\8dय शà¥\80रà¥\8dषà¤\95à¤\82 परिवर्त्यताम्',
'tooltip-ca-watch' => 'इदं पृष्ठं भवतः/भवत्याः अवेक्षणावल्यां योज्यताम्',
'tooltip-ca-unwatch' => 'भवतः/भवत्याः अवेक्षणसूच्याः इदं पृष्ठं निष्कास्यताम्',
'tooltip-search' => '{{SITENAME}} अन्विष्यताम्',
'tooltip-search-go' => 'समानशिरोनामयुक्तं पृष्ठं विद्यते चेत् तत्र गम्यताम्',
-'tooltip-search-fulltext' => 'à¤\8fनà¤\82 वाà¤\95à¥\8dयाà¤\82शà¤\82 पà¥\83षà¥\8dठà¥\87षà¥\81 अन्विष्यताम्',
+'tooltip-search-fulltext' => 'पà¥\83षà¥\8dठà¥\87षà¥\81 à¤\8fषà¤\83 वाà¤\95à¥\8dयाà¤\82शà¤\83 अन्विष्यताम्',
'tooltip-p-logo' => 'मुख्यपृष्ठं गम्यताम्',
'tooltip-n-mainpage' => 'मुख्यपृष्ठं गम्यताम्',
'tooltip-n-mainpage-description' => 'मुख्यपृष्ठं गम्यताम्',
-'tooltip-n-portal' => 'तà¥\8dवया पà¥\8dरà¤\95लà¥\8dपविषयà¥\87 à¤\95िà¤\82 à¤\95रà¥\8dतà¥\81à¤\82 शà¤\95à¥\8dयतà¥\87, à¤\95à¥\81तà¤\83 साहाय्यं प्राप्तव्यम्',
+'tooltip-n-portal' => 'तà¥\8dवया पà¥\8dरà¤\95लà¥\8dपविषयà¥\87 à¤\95िà¤\82 à¤\95रà¥\8dतà¥\81à¤\82 शà¤\95à¥\8dयतà¥\87, à¤\95à¥\81थà¤\82 साहाय्यं प्राप्तव्यम्',
'tooltip-n-currentevents' => 'वर्तमानप्रसङ्गानां पृष्ठभूमिका प्राप्यताम्',
-'tooltip-n-recentchanges' => 'सदà¥\8dयपरिवर्तनानाम् आवलिः',
+'tooltip-n-recentchanges' => 'नवà¥\80नपरिवर्तनानाम् आवलिः',
'tooltip-n-randompage' => 'अशृङ्खलं (random) पृष्ठं गम्यताम्',
-'tooltip-n-help' => 'à¤\85नà¥\8dवà¥\87षणसà¥\8dथानम्',
+'tooltip-n-help' => 'à¤\85नà¥\8dवà¥\87षणसà¥\8dथलम्',
'tooltip-t-whatlinkshere' => 'अत्र सम्बद्धानां परिसन्धितानां विकि-पृष्ठानाम् आवलिः',
-'tooltip-t-recentchangeslinked' => 'à¤\8fततà¥\8dपà¥\83षà¥\8dठसमà¥\8dबदà¥\8dधà¥\87षà¥\81 पà¥\83षà¥\8dठà¥\87षà¥\81 सदà¥\8dयà¤\9cातानि परिवर्तनानि',
+'tooltip-t-recentchangeslinked' => 'à¤\8fततà¥\8dपà¥\83षà¥\8dठसमà¥\8dबदà¥\8dधà¥\87षà¥\81 पà¥\83षà¥\8dठà¥\87षà¥\81 à¤\9cातानि नवà¥\80नपरिवर्तनानि',
'tooltip-feed-rss' => 'अस्मै पृष्ठाय आर-एस-एस-पूरणम्',
'tooltip-feed-atom' => 'अस्मै पृष्ठाय अणुपूरणम्',
'tooltip-t-contributions' => 'अस्य योजकस्य योगदानानाम् आवलिः',
'tooltip-t-specialpages' => 'सर्वेषां विशिष्टपृष्ठानाम् आवलिः',
'tooltip-t-print' => 'अस्य पृष्ठस्य मुद्रणयोग्या आवृत्तिः',
'tooltip-t-permalink' => 'पृष्ठस्यास्य स्थायिपरिसन्धिः',
-'tooltip-ca-nstab-main' => 'à¤\86नà¥\8dतरà¥\8dविषयà¤\95ं पृष्ठं पश्यतु',
+'tooltip-ca-nstab-main' => 'विषययà¥\81à¤\95à¥\8dतं पृष्ठं पश्यतु',
'tooltip-ca-nstab-user' => 'योजकपृष्ठं दृश्यताम्',
'tooltip-ca-nstab-media' => 'माध्यमपुटम् अवलोकयतु ।',
-'tooltip-ca-nstab-special' => 'à¤\87दमà¥\87à¤\95à¤\82 विशिषà¥\8dà¤\9fà¤\82 पà¥\83षà¥\8dठमà¥\8d, भवान्/भवती इदं पृष्ठं सम्पादयितुं नार्हति ।',
+'tooltip-ca-nstab-special' => 'à¤\87दमà¥\87à¤\95à¤\82 विशिषà¥\8dà¤\9fà¤\82 पà¥\83षà¥\8dठà¤\82, भवान्/भवती इदं पृष्ठं सम्पादयितुं नार्हति ।',
'tooltip-ca-nstab-project' => 'प्रकल्पपृष्ठं दृश्यताम्',
'tooltip-ca-nstab-image' => 'सञ्चिकापृष्ठं दृश्यताम्',
'tooltip-ca-nstab-mediawiki' => 'तन्त्रसन्देशान् अवलोकयतु ।',
'tooltip-ca-nstab-template' => 'फलकं दृश्यताम्',
'tooltip-ca-nstab-help' => 'साहाय्यपुटम् अवलोकयतु ।',
'tooltip-ca-nstab-category' => 'वर्गाणां पृष्ठं दृश्यताम्',
-'tooltip-minoredit' => 'लà¤\98à¥\81परिवरà¥\8dतनतà¥\8dवà¥\87न à¤\87दà¤\82 परिवरà¥\8dतनम् अङ्क्यताम्',
+'tooltip-minoredit' => 'लà¤\98à¥\81समà¥\8dपादनतà¥\8dवà¥\87न à¤\87दà¤\82 समà¥\8dपादनम् अङ्क्यताम्',
'tooltip-save' => 'परिवर्तनानि रक्ष्यन्ताम्',
'tooltip-preview' => 'भवता/भवत्या कृतानां परिवर्तनानां प्राग्दृश्यं दृश्यताम्, रक्षणात्पूर्वं कृपया इदम् उपयुज्यताम्।',
-'tooltip-diff' => 'à¤à¤µà¤¤à¤¾/à¤à¤µà¤¤à¥\8dया à¤\85तà¥\8dर à¤\95à¥\83तानि परिवरà¥\8dतनानि द्रष्टुं शक्यते',
+'tooltip-diff' => 'à¤à¤µà¤¤à¤¾/à¤à¤µà¤¤à¥\8dया à¤\95à¥\83तानि परिवरà¥\8dतनानि à¤\85तà¥\8dर द्रष्टुं शक्यते',
'tooltip-compareselectedversions' => 'पृष्ठस्य द्वयोः चितयोः आवृत्त्योः भेदः दृश्यताम्',
'tooltip-watch' => 'इदं पृष्ठं भवतः/भवत्याः अवेक्षणावल्यां योज्यताम्',
'tooltip-watchlistedit-normal-submit' => 'शीर्षकानि अपनयतु ।',
'tooltip-recreate' => 'एतत्पुटं पूर्वमेव अपमर्जितः अतः पुन सृजतु ।',
'tooltip-upload' => 'उत्तारणम् आरभताम्',
'tooltip-rollback' => '"प्रत्याहरणम् (roll back)" इत्येतत् अन्तिमसम्पादकस्य अन्तिमयोगदानं निराकरोति ।',
-'tooltip-undo' => '"पूर्ववत्" इति अन्तिमसम्पादनम् अपाकरोति, सम्पादनप्रारूपं प्राग्दृश्यरूपेण उद्घाटयति, नवीनसम्पादनान्तरं सम्पादनपृष्ठं प्राग्दृश्यत्वेन प्रदर्शयति च ।
+'tooltip-undo' => '\'"पूर्ववत्"\' इति अन्तिमसम्पादनम् अपाकरोति, सम्पादनप्रारूपं प्राग्दृश्यरूपेण उद्घाटयति, नवीनसम्पादनानन्तरं सम्पादनपृष्ठं प्राग्दृश्यत्वेन प्रदर्शयति च ।
-à¤\85सà¥\8dय साराà¤\82शà¥\87 à¤\85पाà¤\95रणसà¥\8dय à¤\95ारणमपि लà¥\87खितुं शक्यते ।',
+à¤\85सà¥\8dय साराà¤\82शà¥\87 à¤\85पाà¤\95रणसà¥\8dय à¤\95ारणमपि लिखितुं शक्यते ।',
'tooltip-preferences-save' => 'आद्यताः रक्षतु ।',
'tooltip-summary' => 'सङ्क्षिप्तसारांशः योज्यताम्',
# Bad image list
'bad_image_list' => 'अत्र प्रारूपं एवं भवेत् -
-à¤\95à¥\87वलमà¥\8d à¤\86वलà¥\8dयनà¥\8dतरà¥\8dà¤\97ताà¤\83 विषयाà¤\83 (* à¤\87ति à¤\9aिनà¥\8dहात् आरभमाणाः पङ्क्तयः) आकलिताः ।
+à¤\95à¥\87वलमà¥\8d à¤\86वलà¥\8dयनà¥\8dतरà¥\8dà¤\97ताà¤\83 विषयाà¤\83 (* à¤\87ति à¤\9aिहà¥\8dनात् आरभमाणाः पङ्क्तयः) आकलिताः ।
पङ्क्त्यां विद्यमाना प्रथमा परिसन्धिः (link) दोषपूर्णया सञ्चिकया सह परिसन्धिता (linked) स्यादेव । तस्यामेव पङ्क्तौ उत्तरोत्तरं विद्यमानाः परिसन्धयः अपवादिताः ज्ञेयाः, अर्थात् अत्र तेषां पृष्ठानाम् आवलिरेव भविष्यति, येषु एषा सञ्चिका विद्यते ।',
# Metadata
'metadata' => 'प्रदत्तांशः (दत्तांशविषयकदत्तांशः अयम्)',
-'metadata-help' => 'à¤\85नà¥\87न सह विसà¥\8dतà¥\83तमाहितà¥\80 सल्लग्ना अस्ति, प्रतिबिम्बग्राहकेन (scanner) अङ्कीयछायाचित्रग्राहकेन (digital camera ) वा अस्याः सञ्चिकायाः रचना जाता स्यात् ।
+'metadata-help' => 'à¤\85नà¥\87न सह विसà¥\8dतà¥\83तसà¥\82à¤\9aना सल्लग्ना अस्ति, प्रतिबिम्बग्राहकेन (scanner) अङ्कीयछायाचित्रग्राहकेन (digital camera ) वा अस्याः सञ्चिकायाः रचना जाता स्यात् ।
एषा सञ्चिका यदि मूलावस्थात् परिवर्त्यते, तर्हि अत्रस्थानि कानिचित् विवरणानि परिवर्तितसञ्चिकायां पूर्णतया न दृश्यन्ते ।',
'metadata-expand' => 'विस्तारितानि विवरणानि दर्शयतु',
# Watchlist editing tools
'watchlisttools-view' => 'योग्यपरिवर्तनानि दृश्यन्ताम्',
'watchlisttools-edit' => 'अवेक्षणाऽऽवलिः दृश्यतां, सम्पाद्यतां च',
-'watchlisttools-raw' => 'à¤\85पà¤\95à¥\8dवामà¥\8d à¤\85वलà¥\8bà¤\95नावलà¥\80à¤\82 समà¥\8dपादयतà¥\81 ।',
+'watchlisttools-raw' => 'विवरणरहिता à¤\85वलà¥\8bà¤\95नावलिà¤\83 समà¥\8dपादà¥\8dयतामà¥\8d',
# Signatures
'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|अम्भाषणम्]])',
# Core parser functions
'unknown_extension_tag' => 'अज्ञातं वर्तमानसूत्रम् $1',
-'duplicate-defaultsort' => '\'\'\'पà¥\82रà¥\8dवसà¥\82à¤\9aना\'\'\' "$1" à¤\87ति पà¥\81रातनà¤\82 मà¥\82लà¤\95à¥\8dरमाà¤\99à¥\8dà¤\95नà¤\82 à¤\95à¥\81डà¥\8dमलà¤\82 विहाय "$2" à¤\87ति नवà¥\80नà¤\82 मà¥\82लà¤\95à¥\8dरमाà¤\99à¥\8dà¤\95नà¤\95à¥\81णà¥\8dडलतà¥\8dवà¥\87न सà¥\8dवयमà¥\87व नयति à¤\8fततà¥\8d ।',
+'duplicate-defaultsort' => '\'\'\'पूर्वसूचना\'\'\' "$1" इति पुरातनं मूलक्रमाङ्कनकुड्मलं विहाय "$2" इति नवीनं मूलक्रमाङ्कनकुण्डलत्वेन स्वयमेव नयति एतत् ।',
# Special:Version
'version' => 'आवृत्तिः',
# External image whitelist
'external_image_whitelist' => '# एषा पङ्क्तिः न परिवर्त्यताम् <pre>
# अत्र केवलं सामान्यचिह्नानाम् उपयोगः क्रियताम् (यथा // इत्यनयोः मध्ये स्थापनीयः भागः)
-# à¤\87तà¥\8dयसà¥\8dय बहिसà¥\8dतातà¥\8d à¤\86à¤\97तानाà¤\82 à¤\9aितà¥\8dराणाà¤\82 सारà¥\8dवसà¤\99à¥\8dà¤\95à¥\87तà¥\88à¤\83 (U R L) सह तुलना भवति
+# बहिसà¥\8dतातà¥\8d à¤\86à¤\97तानाà¤\82 à¤\9aितà¥\8dराणाà¤\82 सारà¥\8dवसà¤\99à¥\8dà¤\95à¥\87तà¥\88à¤\83 (U R L) सह à¤\8fतà¥\87षाà¤\82 तुलना भवति
# यत् चित्रम् अनुकूलं भवति तत् योज्यते, अन्यथा तस्य चित्रस्य परिसन्धिः योज्यते ।
-# पà¤\99à¥\8dà¤\95तयà¤\83 # à¤\87तसà¥\8dमातà¥\8d à¤\86रà¤à¤¨à¥\8dतà¥\87 । à¤\8fततà¥\8d सà¥\82à¤\9aना à¤\87ति à¤\89à¤\9aà¥\8dयतà¥\87 ।
-# अत्र सर्वं पक्षविगुणं case-insensitive वर्तते
+# याà¤\83 पà¤\99à¥\8dà¤\95à¥\8dतयà¤\83 # à¤\87तà¥\8dयसà¥\8dमातà¥\8d à¤\86रà¤à¤¨à¥\8dतà¥\87, ताà¤\83 सà¥\82à¤\9aनाà¤\83
+# अत्र सर्वं पक्षविगुणं (case-insensitive) वर्तते
# सर्वान् regex भागान् अस्याः पङ्क्तेः उपरि स्थापयतु । एतां पङ्क्तिम् एवमेव स्थापयतु </pre>',
# Special:Tags
'noarticletext-nopermission' => 'Билигин бу сирэй кураанах.
Бу [[Special:Search/{{PAGENAME}}|ааты атын сирэйдэргэ көрдөөн көрүөххүн]] сөп,
эбэтэр <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} сурунаалларга манна сыһыаннаах суруктары булуоххун сөп].</span> Бу сирэйи айар кыаҕыҥ суох.',
-'missing-revision' => '«{{PAGENAME}}» сирэй $1 барыла суох.
+'missing-revision' => '«{{FULLPAGENAME}}» сирэй $1 барыла суох.
Маннык үксүн хайыы-үйэ сотуллубут билэҕэ эргэрбит сигэнэн бардахха буолааччы.
Сиһилии баҕар [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} сотуу сурунаалыгар] баара буолуо.',
'revdelete-no-file' => 'Ыйыллыбыт билэ суох.',
'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" билэ баччаҕа $2, $3 сотуллубут барылын көрүөххүн баҕараҕын дуо?',
'revdelete-show-file-submit' => 'Сөп',
-'revdelete-selected' => "'''[[:$1]] сирэй {{PLURAL:$2|талыллыбыт торума|талыллыбыт торумнара}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Сирэй талыллыбыт историята|Сирэй талыллыбыт историялара}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Сирэй талыллыбыт историята|Сирэй талыллыбыт историялара}}:',
'revdelete-confirm' => 'Бука диэн кырдьык бу дьайыыны онороргун, содула туох буоларын өйдүүргүн уонна [[{{MediaWiki:Policy-url}}|сиэри]] тутуһаргын бигэргэт.',
'revdelete-suppress-text' => "Кистээһин маннык түбэлтэлэргэ '''эрэ''' оҥоһуллар:
'revdelete-no-file' => 'Lu file spicificatu nun esisti.',
'revdelete-show-file-confirm' => 'Si desidira talìari la virsioni cancillata dô file "<nowiki>$1</nowiki>" dô $2 ê $3?',
'revdelete-show-file-submit' => 'Sì',
-'revdelete-selected' => "'''{{PLURAL:$2|Virsioni silizziunata|Virsioni silizziunati}} di [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Eventu dû riggistru silizziunatu|Eventi dû riggistru silizziunati}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Eventu dû riggistru silizziunatu|Eventi dû riggistru silizziunati}}:',
'revdelete-suppress-text' => "La rimozzioni havi a essiri utilizzata '''sulu''' ni sti casi:
* Dati pirsonali inoppurtuni
*: ''ndirizzi, nnummara di telefunu, codici fiscali, ecc.''",
'tog-editondblclick' => 'Eidit pages oan dooble-clap (JavaScript)',
'tog-editsectiononrightclick' => 'Enable section editin bi richt-clapin on section teitles',
'tog-rememberpassword' => 'Mynd ma password oan this browser (fer ae maximum o $1 {{PLURAL:$1|day|days}})',
-'tog-watchcreations' => 'Add pages that Ah cræft n files that Ah uplaid til ma watchleet',
-'tog-watchdefault' => 'Add pages n files that Ah eedit til ma watchleet',
-'tog-watchmoves' => 'Add pages n files that Ah muiv til ma watchleet',
+'tog-watchcreations' => 'Eik pages that Ah cræft n files that Ah uplaid til ma watchleet',
+'tog-watchdefault' => 'Eik pages n files that Ah eedit til ma watchleet',
+'tog-watchmoves' => 'Eik pages n files that Ah muiv til ma watchleet',
'tog-watchdeletion' => 'Eik pages n files that Ah get rid o til ma watchleet',
'tog-minordefault' => 'Mairk aa edits "smaa" bi defaut',
'tog-previewontop' => 'Shaw owerview afore eedit kist n naw efter it',
'faqpage' => 'Project:ASQ',
# Vector skin
-'vector-action-addsection' => 'Add topic',
+'vector-action-addsection' => 'Eik topic',
'vector-action-delete' => 'Delyte',
'vector-action-move' => 'Muiv',
'vector-action-protect' => 'Fend',
The admeenstration that lockit it gied this explanation: $1",
'missing-article' => 'The database didna fynd the tex o ae page that it shid hae foond, cawed "$1" $2.
-Maistlie this is caused bi follaein aen ootdated diff or histerie link til ae page that haes been delytit.
+Maistlie this is caused bi follaein aen ootdated diff or histerie airtin til ae page that\'s been delytit.
Gif this isna the case, ye micht hae foond ae bug in the saffware.
-Please lat aen [[Special:ListUsers/sysop|admeenistrater]] ken aneat this, makin note o the URL.',
+Please lat aen [[Special:ListUsers/sysop|admeenistrater]] ken aneat this, makin ae myndin o the URL.',
'missingarticle-rev' => '(reveesion#: $1)',
'missingarticle-diff' => '(Diff: $1, $2)',
'readonly_lag' => 'The database haes been autaematically lockit while the sclave database servers catch up tae the maister',
'viewsourcetext' => 'Ye can leuk at n copie the soorce o this page:',
'viewyourtext' => 'Ye can see n copie the soorce o <strong>yer eedits</strong> til this page:',
'protectedinterface' => 'This page provides interface tex fer the saffware oan this wiki, n is protected fer tae hinder abuise.
-Tae add or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation waurk.',
-'editinginterface' => "<strong>Warnishment:</strong> Ye'r eiditing ae page that is uised tae provide interface tex fer the saffware.
-Chynges til this page will affect the appearance o the uiser interface fer ither uisers oan this wiki.
-Tae add or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation project.",
+Tae eik or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation waurk.',
+'editinginterface' => "<strong>Warnishment:</strong> Ye'r eeditin ae page that is uised tae provide interface tex fer the saffware.
+Chynges til this page will affect the kithin o the uiser interface fer ither uisers oan this wiki.
+Tae eik or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation waurk.",
'cascadeprotected' => 'This page haes been protectit fae eiditin, cause it is inclædit in the follaein {{PLURAL:$1|page|pages}}, that ar protectit wi the "cascadin" optie turnit oan:
$2',
'namespaceprotected' => "Ye dinna hae permeession tae edit pages in the '''$1''' namespace.",
'accmailtitle' => 'Passwaird sent.',
'accmailtext' => 'Ae randomly generated passwaird fer [[User talk:$1|$1]] haes been sent til $2. It can be chynged oan the <em>[[Special:ChangePassword|chynge passwaird]]</em> page upo loggin in.',
'newarticle' => '(New)',
-'newarticletext' => "Ye'v follaed ae link til ae page that disna exeest yet. Tae cræft the page, stairt typin in the kist ablo (see the [$1 heelp page] fer mair info). Gif ye'r here bi mistak, jist clap yer brouser's <strong>back</strong> button.",
+'newarticletext' => "Ye'v follaed aen airtin til ae page that disna exeest yet. Tae cræft the page, stairt typin in the kist ablo (see the [$1 heelp page] fer mair info). Gif ye'r here bi mistak, jist clap yer brouser's <strong>back</strong> button.",
'anontalkpagetext' => "----
<em>This is the discussion page fer aen anonymoos uiser that's naw cræftit aen accoont yet, or that disna uise it.</em>
We maun therefore uise the numerical IP address tae identifie him/her.
or [{{fullurl:{{FULLPAGENAME}}|action=edit}} eidit this page].</span>',
'noarticletext-nopermission' => 'There isna oni tex in this page the nou.
Ye can [[Special:Search/{{PAGENAME}}|rake fer this page title]] in ither pages, or <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} rake the relatit logs]</span>, but ye dina hae permeession tae mak this page.',
-'missing-revision' => 'The reveesion #$1 o the page named "{{PAGENAME}}" disna exeest.
+'missing-revision' => 'The reveesion #$1 o the page named "{{FULLPAGENAME}}" disna exeest.
This is uissuallie caused bi follaein aen ootdated histerie link til ae page that haes been delytit.
Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} delytion log].',
'revdelete-no-file' => 'The file speceefied disna exeest.',
'revdelete-show-file-confirm' => 'Ar ye sair ye wish tae see ae delytit reveesion o the file "<nowiki>$1</nowiki>" fae $2 at $3?',
'revdelete-show-file-submit' => 'Ai',
-'revdelete-selected' => '<strong>{{PLURAL:$2|Selected reveesion|Selected reveesions}} o [[:$1]]:</strong>',
-'logdelete-selected' => "'''{{PLURAL:$1|Selectit log event|Selectit log events}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Selectit luikower|Selectit luikowers}} o [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Selectit file version|Selectit file versions}} o [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Selectit log event|Selectit log events}}:',
'revdelete-text-text' => 'Delytit reveesions will still kith in the page histerie, bit pairts o thair content will be onaccessible til the publeec.',
'revdelete-text-file' => 'Delytit file versions will still kith in the file histerie, bit pairts o thair content will be onaccessible til the publeec.',
'logdelete-text' => 'Delytit log events will still kith in the logs, bit pairts o thair content will be onaccessible til the publeec.',
'mergehistory-list' => 'Mergeable eidit histerie',
'mergehistory-merge' => 'The follaein reveesions o [[:$1]] can be merged intil [[:$2]].
Uise the radio button column tae merge in yinlie the reveesions cræftit at n afore the speceefied time.
-Mynd that uisin the naveegation links will reset this column.',
+Mynd that uisin the naveegation airtins will reset this column.',
'mergehistory-go' => 'Shaw mergeable eidits',
'mergehistory-submit' => 'Merge reveesions',
'mergehistory-empty' => 'Naw reveesions can be merged.',
'diff-multi-sameuser' => '({{PLURAL:$1|yin intermeediate reveesion|$1 intermeediate reveesions}} bi the same uiser naw shawn)',
'diff-multi-otherusers' => '({{PLURAL:$1|yin intermeediate reveesion|$1 intermeediate reveesions}} bi {{PLURAL:$2|yin ither uiser|$2 uisers}} no shawn)',
'diff-multi-manyusers' => '({{PLURAL:$1|Yin intermeediate reveesion|$1 intermeediate reveesions}} bi mair than $2 {{PLURAL:$2|uiser|uisers}} no shawn)',
-'difference-missing-revision' => '{{PLURAL:$2|Yin reveesion|$2 reveesions}} o this difference ($1) {{PLURAL:$2|was|were}} no fond.
+'difference-missing-revision' => "{{PLURAL:$2|Yin reveesion|$2 reveesions}} o this difference ($1) {{PLURAL:$2|wis|were}} na foond.
-This is usually caused bi follaein aen ootdated diff link til ae page that haes been delytit.
-Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} delytion log].',
+This is usuallie caused bi follaein aen ootdated diff airtin til ae page that's been delytit.
+Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} delytion log].",
# Search results
'searchresults' => 'Rake results',
'prefs-editing' => 'Editin',
'rows' => 'Raws:',
'searchresultshead' => 'Rake result settins',
-'stub-threshold' => 'Threeshaud fer <a href="#" class="stub">stub link</a> formattin (bytes):',
+'stub-threshold' => 'Threeshaud fer <a href="#" class="stub">stub airtin</a> formattin (bytes):',
'stub-threshold-disabled' => 'Tuckie',
'recentchangesdays' => 'Days tae shaw in recynt chynges:',
'recentchangesdays-max' => 'Mucklest $1 {{PLURAL:$1|day|days}}',
'userrights-groupsmember-auto' => 'Impleecit memmer o:',
'userrights-groups-help' => "Ye can alter the groops this uiser is in:
* Ae checkit kist means that the uiser is in that groop.
-* Aen oncheckit kist means that the uiser's no in that groop.
-* Ae * indicates that ye cannae remuiv the groop yince ye'v added it, or vice versa.",
+* Aen oncheckit kist means that the uiser's na in that groop.
+* Ae * indeecates that ye canna remuiv the groop yince ye'v eikit it, or vice versa.",
'userrights-reason' => 'Raison:',
'userrights-no-interwiki' => 'Ye dinna hae permission tae eedit uiser richts oan ither wikis.',
'userrights-nodatabase' => 'Database $1 disna exeest or isna local.',
'userrights-nologin' => 'Ye maun [[Special:UserLogin|log in]] wi aen admeenistrater accoont tae assign uiser richts.',
-'userrights-notallowed' => 'Ye dinna hae permission tae add or remuiv uiser richts.',
+'userrights-notallowed' => 'Ye dinna hae permeession tae eik or remuiv uiser richts.',
'userrights-changeable-col' => 'Groops that ye can chynge',
'userrights-unchangeable-col' => 'Groops ye canna chynge',
'userrights-conflict' => 'Conflict o uiser richts chynges! Please luikower n confirm yer chynges.',
'right-editmyusercss' => 'Eidit yer ain uiser CSS files',
'right-editmyuserjs' => 'Eedit yer ain uiser JavaScript files',
'right-viewmywatchlist' => 'See yer ain watchleet',
-'right-editmywatchlist' => 'Eedit yer ain watchleet. Myd that some actions will still add pages even wioot this richt.',
+'right-editmywatchlist' => 'Eedit yer ain watchleet. Mynd that some actions will still eik pages even wioot this richt.',
'right-viewmyprivateinfo' => 'See yer ain preevate data (e.g. wab-mail address, real name)',
'right-editmyprivateinfo' => 'Eedit yer ain preevate data (e.g. wab-mail address, real name)',
'right-editmyoptions' => 'Eedit yer ain preeferences',
The delytion n muiv log fer this page ar gien here fer conveeneeance:",
'uploadtext' => 'Uise the form ablo tae uplaid files.
-Tae see or rake preeveeooslie uplaided files gang til the [[Special:FileList|leet o uplaided files]], (re)uplaids ar loggit in the [[Special:Log/upload|uplaid log]] ava, delytions in the [[Special:Log/delete|delytion log]].
+Tae see or rake preeveeislie uplaided files gang til the [[Special:FileList|leet o uplaided files]], (re)uplaids ar loggit in the [[Special:Log/upload|uplaid log]] ava, delytions in the [[Special:Log/delete|delytion log]].
-Tae incluid ae file in ae page, uise ae link in yin o the follaein forms:
+Tae incluid ae file in ae page, uise aen airtin in yin o the follaein forms:
* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong> tae uise the ful version o the file
* <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt tex]]</nowiki></code></strong> tae uise ae 200 pixel wide rendeetion in ae kist in the cair margin wi "alt tex" aes descreeption
* <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code></strong> fer linkin directlie til the file wioot displeyin the file.',
'filehist-missing' => 'File missin',
'imagelinks' => 'File uisage',
'linkstoimage' => 'The follaein {{PLURAL:$1|page airts|$1 pages airt}} tae this file:',
-'linkstoimage-more' => 'Mair than $1 {{PLURAL:$1|page links|pages link}} til this file.
-The follaein leet shaws the {{PLURAL:$1|first page link|first $1 page links}} til this file yinlie.
+'linkstoimage-more' => 'Mair than $1 {{PLURAL:$1|page airts|pages airt}} til this file.
+The follaein leet shaws the {{PLURAL:$1|first page airtin|first $1 page airtins}} til this file yinlie.
Ae [[Special:WhatLinksHere/$2|ful leet]] is available.',
-'nolinkstoimage' => "Thaur's nae pages that link til this eemage.",
+'nolinkstoimage' => "Thaur's nae pages that airt til this eemage.",
'morelinkstoimage' => 'See [[Special:WhatLinksHere/$1|mair links]] til this file.',
'linkstoimage-redirect' => '$1 (file reguidal) $2',
'duplicatesoffile' => 'The follaein {{PLURAL:$1|file is ae dupleecate|$1 files ar dupleecates}} o this file ([[Special:FileDuplicateSearch/$2|mair details]]):',
# List redirects
'listredirects' => 'Leet o reguidals',
+# List duplicated files special page
+'listduplicatedfiles' => 'Leet o files wi dupleecates',
+'listduplicatedfiles-summary' => 'This is ae leet o files whaur the maist recynt version o the file is ae duplicate o the maist recynt version o some ither file. Yinlie local files ar conseederit.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] haes [[$3|{{PLURAL:$2|ae dupleecate|$2 dupleecates}}]].',
+
# Unused templates
'unusedtemplates' => 'Templates that arena uised',
-'unusedtemplatestext' => "This page leets aw pages in the {{ns:template}} namespace that's naw incuidit in anither page. Mynd n check fer ither links til the templates afore delytin thaim.",
-'unusedtemplateswlh' => 'ither links',
+'unusedtemplatestext' => "This page leets aw pages in the {{ns:template}} namespace that's naw incuidit in anither page. Mynd n check fer ither airtins til the templates afore delytin thaim.",
+'unusedtemplateswlh' => 'ither airtins',
# Random page
'randompage' => 'Wale page allevolie',
'doubleredirects' => 'Dooble reguidals',
'doubleredirectstext' => 'This page leets pages that reguide til ither reguidal pages.
-Ilka raw contains links til the first n seicont reguidals, n the tairget o the seicont reguidal ava, this is uisuallie the "real" tairget page whaur the first reguidal shid poynt.
+Ilka raw contains airtins til the first n seicont reguidals, n the tairget o the seicont reguidal ava, this is uisuallie the "real" tairget page whaur the first reguidal shid poynt.
<del>Crossed oot</del> entries hae been solved.',
'double-redirect-fixed-move' => '[[$1]] haes been muived.
It nou reguides til [[$2]].',
'brokenredirects-edit' => 'eedit',
'brokenredirects-delete' => 'delyte',
-'withoutinterwiki' => 'Pages athoot leid links',
+'withoutinterwiki' => 'Pages wioot leid airtins',
'withoutinterwiki-summary' => 'The follaein pages dinan link til ither leid versions.',
'withoutinterwiki-legend' => 'Prefix',
'withoutinterwiki-submit' => 'Shaw',
# Miscellaneous special pages
'nbytes' => '$1 {{PLURAL:$1|byte|bytes}}',
'ncategories' => '$1 {{PLURAL:$1|category|categories}}',
-'nlinks' => '$1 {{PLURAL:$1|link|links}}',
+'nlinks' => '$1 {{PLURAL:$1|airtin|airtins}}',
'nmembers' => '$1 {{PLURAL:$1|membir|membirs}}',
'nmemberschanged' => '$1 → $2 {{PLURAL:$2|memmer|memmers}}',
'nrevisions' => '$1 {{PLURAL:$1|reveesion|reveesions}}',
'booksources' => 'Beuk sources',
'booksources-search-legend' => 'Rake fer buik soorces',
'booksources-go' => 'Gang',
-'booksources-text' => "Ablo is ae leet o links til ither sites that sell new n uised buiks, n mmicht hae further information aneat buiks that ye'r seekin ava:",
+'booksources-text' => "Ablo is ae leet o airtins til ither steids that sell new n uised buiks, n micht hae further information aneat buiks that ye'r seekin ava:",
'booksources-invalid-isbn' => 'The gien ISBN disna seem tae be valid; check fer mistaks copiein fae the oreeginal soorce.',
# Special:Log
'sp-deletedcontributions-contribs' => 'contreebutions',
# Special:LinkSearch
-'linksearch' => 'External links rake',
+'linksearch' => 'Ootby airtins rake',
'linksearch-pat' => 'Rake pattern:',
'linksearch-ns' => 'Namespace:',
'linksearch-ok' => 'Rake',
'listgrouprights-rights' => 'Richts',
'listgrouprights-helppage' => 'Help:Groop richts',
'listgrouprights-members' => '(leet o members)',
-'listgrouprights-addgroup' => 'Add {{PLURAL:$2|groop|groops}}: $1',
+'listgrouprights-addgroup' => 'Eik {{PLURAL:$2|groop|groops}}: $1',
'listgrouprights-removegroup' => 'Remuiv {{PLURAL:$2|grop|groops}}: $1',
-'listgrouprights-addgroup-all' => 'Add aw groops',
+'listgrouprights-addgroup-all' => 'Eik aw groops',
'listgrouprights-removegroup-all' => 'Remui aw groops',
-'listgrouprights-addgroup-self' => 'Add {{PLURAL:$2|groop|groops}} til yer accoont: $1',
+'listgrouprights-addgroup-self' => 'Eik {{PLURAL:$2|groop|groops}} til yer accoont: $1',
'listgrouprights-removegroup-self' => 'Remuiv {{PLURAL:$2|groop|groops}} fae yer accoont: $1',
-'listgrouprights-addgroup-self-all' => 'Add aw groops til yer accoont',
+'listgrouprights-addgroup-self-all' => 'Eik aw groops til yer accoont',
'listgrouprights-removegroup-self-all' => 'Remuiv aw groops fae yer accoont',
# Email user
'watchlistanontext' => 'Please $1 tae see or eedit eetems oan yer watchlet.',
'watchnologin' => 'Nae loggit in',
'watchnologintext' => 'Ye maun be [[Special:UserLogin|loggit in]] tae modify yer watchleet.',
-'addwatch' => 'Add til watchleet',
+'addwatch' => 'Eik til watchleet',
'addedwatchtext' => 'The page "[[:$1]]" haes been added til yer [[Special:Watchlist|watchleet]].
Futur chynges til this page n its associated tauk page will be leeted thaur.',
'removewatch' => 'Remuiv fae watchleet',
'delete-warning-toobig' => 'This page haes ae muckle eedit histerie, ower $1 {{PLURAL:$1|reveesion|reveesions}}.
Delytin it micht disrupt database operations o {{SITENAME}};
proceed wi caution.',
-'deleting-backlinks-warning' => "'''Warnishment:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Ither pages]] link til or transcluide the page ye'r aboot tae delyte.",
+'deleting-backlinks-warning' => "'''Warnishment:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Ither pages]] airt til or transcluide the page ye'r aboot tae delyte.",
# Rollback
'rollback' => 'Row back edits',
'sp-contributions-submit' => 'Rake',
# What links here
-'whatlinkshere' => 'Whit links here',
+'whatlinkshere' => 'Whit airts here',
'whatlinkshere-title' => 'Pages that link til "$1"',
'whatlinkshere-page' => 'Page:',
'linkshere' => 'The follaein pages link til <strong>[[:$1]]</strong>:',
'nolinkshere-ns' => 'No pages aiet til <strong>[[:$1]]</strong> in the choosen namespace.',
'isredirect' => 'reguidal page',
'istemplate' => 'transclusion',
-'isimage' => 'file link',
+'isimage' => 'file airtin',
'whatlinkshere-prev' => '{{PLURAL:$1|previous|previous $1}}',
'whatlinkshere-next' => '{{PLURAL:$1|next|next $1}}',
-'whatlinkshere-links' => '← links',
+'whatlinkshere-links' => '← airtins',
'whatlinkshere-hideredirs' => '$1 redirects',
'whatlinkshere-hidetrans' => '$1 transclusions',
-'whatlinkshere-hidelinks' => '$1 links',
+'whatlinkshere-hidelinks' => '$1 airtins',
'whatlinkshere-hideimages' => '$1 file airtins',
'whatlinkshere-filters' => 'Filters',
'ipbreason-dropdown' => '*Commyn block raisons
** Insertin false information
** Remuivin content fae pages
-** Spammin links til external sites
+** Spammin airtins til ootby steids
** Insertin nonsense/gibberish intil pages
** Inteemidatin behavier/harassment
** Abuisin multiple accoonts
The auld title will become ae reguidal page til the new title.
Ye can update reguidals that poynt til the oreeginal title autæmateeclie.
Gif ye chuise na tae, be sair tae check fer [[Special:DoubleRedirects|dooble]] or [[Special:BrokenRedirects|broken reguidals]].
-Ye'r responsible fer makin sair that links continue tae poynt til whaur thay'r supposed to gae.
+Ye'r responsible fer makin sair that airtins continue tae poynt til whaur thay'r supposed to gae.
Mynd that the page will <strong>na</strong> be muived gif thaur is awreadie ae page at the new title, onless the latter is ae reguidal n haes nae past eedit histerie.
This means that ye can rename ae page back til whaur it wis renamed fae gif ye mak ae mistak, n ye canna owerwrite aen exeestin page.
# Export
'export' => 'Export pages',
-'exporttext' => 'Ye can export the tex n eeditin histerie o ae parteecular page or set o pages wrapped in some XML.
+'exporttext' => 'Ye can export the tex n eeditin histerie o ae parteecular page or set o pages wrapt in some XML.
This can be imported intil anither wiki uisin MediaWiki bi waa o the [[Special:Import|import page]].
-Tae export pages, enter the titles in the tex kist ablo, yin title per line, n select whether ye want the Nou reveesion aw auld reveesions ava, wi the page histerie lines, or the Nou reveesion wi the info aneat the laist eedit.
+Tae export pages, enter the titles in the tex kist ablo, yin title per line, n select whather ye want the Nou reveesion aw auld reveesions ava, wi the page histerie lines, or the Nou reveesion wi the info aneat the laist eedit.
-In the latter case ye can uise ae link ava, fer example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] fer the page "[[{{MediaWiki:Mainpage}}]]".',
+In the latter case ye can uise aen airtin ava, fer example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] fer the page "[[{{MediaWiki:Mainpage}}]]".',
'exportall' => 'Export aw pages',
'exportcuronly' => 'Inclæde juist the nou reveesion, naw the ful histerie',
'exportnohistory' => '----
<strong>Mynd:</strong> Exportin the ful histerie o pages throogh this form haes been disabled cause o performance raisons.',
'exportlistauthors' => 'Incluid ae ful leet o contreebuters fer ilka page',
-'export-addcattext' => 'Add pages fae categerie:',
-'export-addnstext' => 'Add pages fae namespace:',
+'export-addcattext' => 'Eik pages fae categerie:',
+'export-addnstext' => 'Eik pages fae namespace:',
'export-download' => 'Hain aes file',
'export-templates' => 'Incluid templates',
'export-pagelinks' => 'Incluid linkt pages til ae depth o:',
'tooltip-ca-delete' => 'Delyte this page',
'tooltip-ca-undelete' => 'Restore the eedits dun oan this page afore it wis delytit',
'tooltip-ca-move' => 'Muiv this page',
-'tooltip-ca-watch' => 'Add this page til yer watchleet',
+'tooltip-ca-watch' => 'Eik this page til yer watchleet',
'tooltip-ca-unwatch' => 'Remove this page frum yer watchleet',
'tooltip-search' => 'Rake {{SITENAME}}',
'tooltip-search-go' => 'Gang til ae page wi this exact name gif exeests',
'tooltip-preview' => 'Luikower yer chynges, please uise this afore hainin!',
'tooltip-diff' => 'Shaw the chynges that ye makit til the tex.',
'tooltip-compareselectedversions' => 'See the differs atween the twa selectit versions o this page.',
-'tooltip-watch' => 'Add this page tae yer watchleet',
+'tooltip-watch' => 'Eik this page til yer watchleet',
'tooltip-watchlistedit-normal-submit' => 'Remuiv titles',
'tooltip-watchlistedit-raw-submit' => 'Update watchleet',
'tooltip-recreate' => "Recræft the page even thoogh it's been delytit",
# Bad image list
'bad_image_list' => 'The format is aes follaes:
-Ainlie leet items (lines stairtin wi *) ar considered. The foremaist link oan ae line maun be ae link til aen ill file. Oni subsequent links oan the same line ar considered tae be exceptions, i,e., pages whaur the eimage can occur inline.',
+Ainlie leet eetems (lines stairtin wi *) ar considered. The foremaist airtin oan ae line maun be aen airtin til aen ill file. Onie subsequent airtins oan the same line ar considered tae be exceptions, i,e., pages whaur the eemage can occur inline.',
# Metadata
'metadata' => 'Metadata',
-'metadata-help' => 'This file contains addeetional speirins, likelie added fae the deegital camera or scanner uised tae cræft or deegitize it.
-Gif the file haes bin modified fae its oreeginal state, some details micht naw fullie reflect the modified file.',
+'metadata-help' => 'This file contains addeetional information, likelie eikit fae the deegital camera or scanner uised tae cræft or deegitise it.
+Gif the file haes bin modeefied fae its oreeginal state, some details micht na fullie reflect the modeefied file.',
'metadata-expand' => 'Shaw extendit details',
'metadata-collapse' => 'Skauk extendit details',
'metadata-fields' => "Eemage metadata fields leetit in this message will be incluidit oan eemage page displey whan the metadata buird is collaps't. Ithers will be skaukt bi defaut.
'confirm-purge-bottom' => 'Purgin ae page clears the cache n forces the maist recynt reveesion tae appear.',
# action=watch/unwatch
-'confirm-watch-top' => 'Add this page til yer watchleet?',
+'confirm-watch-top' => 'Eik this page til yer watchleet?',
'confirm-unwatch-top' => 'Remuiv this page fae yer watchleet?',
# Multipage image navigation
# External image whitelist
'external_image_whitelist' => ' #Lea this line exactlie aes it is<pre>
-#Put regulair expression fragments (juist the pairt that gaes atween the //) ablo
-#Thir will be matched wi the URLs o external (hotlinked) eimages
-#Thae that match will be displeyed aes eimages, itherwise yinlie ae link til the eimage will be shawn
+#Put regulair expression fragments (jist the pairt that gaes atween the //) ablo
+#Thir will be matched wi the URLs o ootby (hotairtit) eemages
+#Thae that match will be displeyed aes eemages, itherwise yinlie aen airtin til the eemage will be shawn
#Lines beginnin wi # ar treated aes comments
#This is case-onsensiteeve
'rightsnone' => '(nane)',
# Feedback
-'feedback-bugornote' => 'Gif yer readie tae describe ae techneecal problem in detail please [$1 report ae bug].
-Itherwise, ye can uiss the easie form ablo. Yer comment will be added til the page "[$3 $2]", alang wi yer uisername.',
+'feedback-bugornote' => 'Gif yer readie tae describe ae techneecal proablem in detail please [$1 report ae bug].
+Itherwise, ye can uiss the easie form ablo. Yer comment will be eikit til the page "[$3 $2]", alang wi yer uisername.',
'feedback-adding' => 'Addin feedback til page...',
'feedback-error1' => 'Mistak: Onrecognised ootcome fae API',
'feedback-error2' => 'Mistak: Eedit failed',
'revdelete-nooldid-title' => 'Versioni nò ippizzificadda',
'revdelete-nooldid-text' => "No ài ippizzificaddu la o li versioni di la pàgina i' li quari eseguì chistha funzioni; pò assé chi nò esisthini.",
'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:$2|Versioni sciubaradda|Versioni sciubaraddi}} di [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Eventu di lu rigisthru sciubaraddu|Eventi di lu rigisthru sciubaraddi}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Eventu di lu rigisthru sciubaraddu|Eventi di lu rigisthru sciubaraddi}}:',
'revdelete-legend' => "Impustha li sighenti limitazioni i'li versioni canzilladdi:",
'revdelete-hide-text' => 'Cua lu testhu di la versioni',
'revdelete-hide-image' => 'Cua li cuntinuddi di lu file',
'disclaimers' => 'Friijavuohta vástideamis',
'disclaimerpage' => 'Project:Friijavuohta vástideamis',
'edithelp' => 'Rievdadanrávvagat',
-'helppage' => 'Help:Sisdoallu',
'mainpage' => 'Váldosiidu',
'mainpage-description' => 'Váldosiidu',
'portal' => 'Gáffestohpu',
'rev-delundel' => 'čájet dahje čiega',
'revisiondelete' => 'Sihko dahje máhcat veršuvnnaid',
'revdelete-nooldid-title' => 'Ii veršuvdna',
-'revdelete-selected' => "'''{{PLURAL:$2|Válljejuvvon veršuvdna|Válljejuvvon veršuvnnat}} siiddus [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Válljejuvvon logmearkkastat|Válljejuvvon logmearkkastagat}}:'''",
-'revdelete-text' => "'''Sihkojuvvon veršuvnnat oidnojit siiddu siidohistorjjás, muhto daid sisdoallu ii leat álmmolaš.'''
-
-Eará bajasdoallit sáhtet lohkat čihkojuvvon sisdoalu ja máhcahit dan.",
+'logdelete-selected' => '{{PLURAL:$1|Válljejuvvon logmearkkastat|Válljejuvvon logmearkkastagat}}:',
'revdelete-legend' => 'Veršuvnna rádjehusat',
'revdelete-hide-text' => 'Čiega veršuvnna sisdoalu',
'revdelete-hide-image' => 'Čiega fiilla sisdoalu',
'rev-delundel' => 'cohuatlöx/cíiitám',
'revisiondelete' => 'Delatom/diidelatom revición',
'revdelete-nooldid-title' => 'Necoccebj aimde revicion',
-'revdelete-selected' => "'''{{PLURAL:$2|Revicion selectonde|Revición selectónde}} $1:'''",
'revdelete-legend' => 'Xuniim restricción',
'revdelete-hide-text' => 'Camaát textuade revicion',
'revdelete-hide-image' => 'Cohuatlöx contentua ciúchan',
# Revision deletion
'rev-delundel' => 'ruodītė/kavuotė',
'revisiondelete' => 'Trintė/atkortė versėjės',
-'logdelete-selected' => "{{PLURAL:$2|Pasėrinkts|Pasėrinktė|Pasėrinktė}} '''$1''' istuorėjės {{PLURAL:$2|atėtėkims|atsėtėkimā|atsėtėkimā}}:",
+'logdelete-selected' => '{{PLURAL:$2|Pasėrinkts|Pasėrinktė|Pasėrinktė}} $1 istuorėjės {{PLURAL:$2|atėtėkims|atsėtėkimā|atsėtėkimā}}:',
'revdelete-unsuppress' => 'Šalėntė apribuojėmos atkortuos versėjės',
'revdel-restore' => 'Keistė veizėmuma',
'revdelete-edit-reasonlist' => 'Keistė trīnėma prīžastis',
'login-abort-generic' => 'Vaša prijava nije bila uspješna – Prekinuto',
'loginlanguagelabel' => 'Jezik: $1',
'suspicious-userlogout' => 'Vaš zahtjev za odjavu je odbijen jer je poslan preko pokvarenog preglednika ili keširanog proksija.',
+'pt-userlogout' => 'Odjavi se / Одјави се',
# Email sending
'php-mail-error-unknown' => 'Nepoznata greška u PHP funkciji mail()',
ili [{{fullurl:{{FULLPAGENAME}}|action=edit}} urediti ovu stranicu]</span>.',
'noarticletext-nopermission' => 'Trenutno nema teksta na ovoj stranici.
Možete [[Special:Search/{{PAGENAME}}|tražiti ovaj naslov stranice]] na drugim stranicama ili <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pretražiti povezane registre]</span>. alio nemate dozvolu za stvaranje ove stranice.',
-'missing-revision' => 'Ne mogu da pronađem izmenu br. $1 na stranici pod nazivom „{{PAGENAME}}“.
+'missing-revision' => 'Ne mogu da pronađem izmenu br. $1 na stranici pod nazivom „{{FULLPAGENAME}}“.
Ovo se obično dešava kada pratite zastarjelu vezu do stranice koja je obrisana.
Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} evidenciji brisanja].',
'revdelete-no-file' => 'Navedena datoteka ne postoji.',
'revdelete-show-file-confirm' => 'Da li ste sigurni da želite pogledati obrisanu reviziju datoteke "<nowiki>$1</nowiki>" od $2 u $3?',
'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Odabrana revizija|Odabrane revizije}} od [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Označena stavka registra|Označene stavke registra}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Označena stavka registra|Označene stavke registra}}:',
'revdelete-confirm' => 'Molimo potvrdite da namjeravate ovo učiniti, da razumijete posljedice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
'revdelete-suppress-text' => "Ograničenja bi trebala biti korištena '''samo''' u sljedećim slučajevima:
* Osjetljive korisničke informacije
# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage).
'aboutsite' => '{{SITENAME}} පිළිබඳ',
'aboutpage' => 'Project:පිළිබඳ',
-'copyright' => ' $1 යටතේ අන්තර්ගතය දැක ගත හැක.',
+'copyright' => ' අන්ලෙසකින් සඳහන්කර නැති සෑම විටෙකම අන්තර්ගතය $1 යටතේ ඇත.',
'copyrightpage' => '{{ns:project}}:කර්තෘ-හිමිකම්',
'currentevents' => 'කාලීන සිදුවීම්',
'currentevents-url' => 'Project:කාලීන සිදුවීම්',
'revdelete-no-file' => 'නිවේශිත ගොනුව නොපවතියි.',
'revdelete-show-file-confirm' => '$2 දින $3 වේලාවේදී මකාදැමුනු "<nowiki>$1</nowiki>" ගොනුවෙහි සංශෝධනයක් නැරඹීමට ඔබ හට සහතික වශයෙන් ඇවැසිද?',
'revdelete-show-file-submit' => 'ඔව්',
-'revdelete-selected' => "'''[[:$1]] හි {{PLURAL:$2|තෝරාගත් සංශෝධනය|තෝරාගත් සංශෝධනයන්}} :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|තෝරාගත් ලඝු-සිදුවීම|තෝරාගත් ලඝු-සිදුවීම්}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|තෝරාගත් ලඝු-සිදුවීම|තෝරාගත් ලඝු-සිදුවීම්}}:',
'revdelete-confirm' => 'කරුණාකර ඔබ මෙය කිරීමට අදහස් කරන බවත්,එහි ප්රතිඵලය අවබෝධ කර ගන්නා බවත්,මෙය සිදු කරනුයේ [[{{MediaWiki:Policy-url}}| ප්රතිපත්තියට]] අනුකූලව බවත් තහවුරු කරන්න.',
'revdelete-suppress-text' => "යටපත්කිරීම පහත අවස්ථාවන්හිදී '''පමණක්''' භාවිතා කල යුතුය:
* නුසුදුසු පෞද්ගලික තොරතුරු
HTML ටැගයන් පිරික්සන්න.',
'badsiglength' => 'ඔබගේ විද්යුත් අත්සන පමණට වඩා දිගු වැඩිය.
එය {{PLURAL:$1|එක් අක්ෂරයකට|අක්ෂරයන් $1 කට}} වඩා කෙටි විය යුතුය.',
-'yourgender' => 'à·\83à·\8aà¶à·\8aâ\80\8dරà·\93/පà·\94රà·\94à·\82 භà·\8fà·\80ය:',
+'yourgender' => 'à¶\94බà¶\9cà·\9a à·\83à·\8aà¶à·\8aâ\80\8dරà·\93/පà·\94රà·\94à·\82 à·\83මà·\8fජභà·\8fà·\80ය à·\83ඳà·\84නà·\8aà¶\9aà·\92රà·\93මට à¶\94බ à·\80ඩà·\8fà¶à·\8aම à¶\9aà·\90මà¶à·\92 à¶\9aà·\99à·\83à·\9aද ?',
'gender-unknown' => 'හෙළි නොකරයි',
'gender-male' => 'පුරුෂ',
'gender-female' => 'ස්ත්රී',
'right-reupload' => 'පවතින ගොනු අධිලිවීමකට ලක්කරන්න (overwrite)',
'right-reupload-own' => 'යමෙකු විසින්ම උඩුගත කෙරුනු පවතින ගොනුවක් අධිලිවීමකට ලක්කරන්න',
'right-reupload-shared' => 'හවුල් මාධ්ය සුරක්ෂිතාගාරයෙහි ගොනු සීමිත අබිබැවීමකට ලක් කරන්න',
-'right-upload_by_url' => 'URL ලà·\92පà·\92නයà¶\9aà·\92නà·\8a (à¶\9aලà·\8fප ලà·\92පà·\92නයà¶\9aà·\92නà·\8a) ගොනුවක් උඩුගත කරන්න',
+'right-upload_by_url' => 'URL ලà·\92පà·\92නයà¶\9aà·\8a à·\80à·\99à¶à·\92නà·\8aගොනුවක් උඩුගත කරන්න',
'right-purge' => 'තහවුරුකිරීමකින් තොරව, පිටුවක් සඳහා අඩවි පූර්වාපේක්ෂි සංචිතය (කෑෂය) විමෝචනය කරන්න',
'right-autoconfirmed' => 'අර්ධ-ආරක්ෂිත පිටු සංස්කරණය කරන්න',
'right-bot' => 'ස්වයංක්රීය ක්රියාවලියක් ලෙස සැළකෙන්න',
'recentchangeslinked-to' => 'ඒ වෙනුවට දී ඇති පිටුවට සබැඳෙන පිටුවල වෙනස්වීම් පෙන්වන්න',
# Upload
-'upload' => 'ගොනුවක් උඩුගත කරන්න',
+'upload' => 'ගොනුවක් උඩුගතකරන්න',
'uploadbtn' => 'ගොනුව උඩුගත කරන්න',
'reuploaddesc' => 'උඩුගත කිරීම අත්හැරදමා උඩුගත කිරීම් ආකෘති පත්රය වෙත යන්න',
'upload-tryagain' => 'වෙනස් කරන ලද ගොනු විස්තරය ඉදිරිපත් කරන්න',
'noarticletext-nopermission' => 'Táto stránka momentálne neobsahuje žiadny text.
Môžete [[Special:Search/{{PAGENAME}}|hľadať názov tejto stránky]] v texte iných stránok
alebo <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} hľadať v súvisiacich záznamoch]</span>, ale nemáte oprávnenie túto stránku vytvoriť.',
-'missing-revision' => 'Revízia #$1 stránky s názvom „{{PAGENAME}}“ neexistuje.
+'missing-revision' => 'Revízia #$1 stránky s názvom „{{FULLPAGENAME}}“ neexistuje.
Pravdepodobne ste nasledovali zastaraný odkaz na historickú verziu stránky, ktorá bola medzičasom odstránená.
Podrobnosti nájdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} zázname zmazaní].',
'revdelete-no-file' => 'Uvedený súbor neexistuje.',
'revdelete-show-file-confirm' => 'Ste si istý, že chcete zobraziť zmazanú revíziu súboru „<nowiki>$1</nowiki>“ z $2 $3?',
'revdelete-show-file-submit' => 'Áno',
-'revdelete-selected' => "'''{{PLURAL:$2|Vybraná jedna revízia|Vybrané $2 revízie|Vybraných $2 revízií}} z [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Vybraná udalosť záznamu|Vybrané udalosti záznamu}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Vybraná udalosť záznamu|Vybrané udalosti záznamu}}:',
'revdelete-confirm' => 'Prosím, potvrďte, že to naozaj chcete vykonať, rozumiete následkom a že to robíte v súlade s [[{{MediaWiki:Policy-url}}|politikou]].',
'revdelete-suppress-text' => "Zatajenie by sa malo používať '''výlučne''' v nasledovných prípadoch:
* Potenciálne hanlivé informácie
'noarticletext' => 'Na tej strani ni trenutno nobenega besedila. Naslov strani lahko poskusite [[Special:Search/{{PAGENAME}}|poiskati]] na drugih straneh, <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} v dnevniških zapisih] ali pa [{{fullurl:{{FULLPAGENAME}}|action=edit}} stran uredite]</span>.',
'noarticletext-nopermission' => 'Na strani trenutno ni nobenega besedila.
Lahko poskusite [[Special:Search/{{PAGENAME}}|poiskati naslov strani]] na drugih straneh ali <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} v povezanih dnevniških zapisih]</span>, vendar za ustvarjanje strani nimate zadostnih dovoljenj.',
-'missing-revision' => 'Redakcija št. $1 strani »{{PAGENAME}}« ne obstaja.
+'missing-revision' => 'Redakcija št. $1 strani »{{FULLPAGENAME}}« ne obstaja.
Po navadi se to zgodi, ko sledite zastareli povezavi na zgodovino strani, ki jo je nekdo izbrisal.
Podrobnosti lahko najdete v [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} dnevniku brisanja].',
'revdelete-no-file' => 'Navedena datoteka ne obstaja.',
'revdelete-show-file-confirm' => 'Ali ste prepričani da si želite ogledati izbrisano verzijo datoteke "<nowiki>$1</nowiki>" od $2 ob $3?',
'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Izbrana redakcija|Izbrani redakciji|Izbrane redakcije}} strani [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Izbran dnevniški dogodek|Izbrana dnevniška dogodka|Izbrani dnevniški dogodki}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Izbrana redakcija|Izbrani redakciji|Izbrane redakcije}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Izbrana redakcija|Izbrani redakciji|Izbrane redakcije}} datoteke [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Izbran dnevniški dogodek|Izbrana dnevniška dogodka|Izbrani dnevniški dogodki}}:',
'revdelete-text-text' => 'Izbrisane redakcije bodo še vedno prikazane v zgodovini strani, vendar bodo deli njihovih vsebin nedostopni javnosti.',
'revdelete-text-file' => 'Izbrisane različice datoteke bodo še vedno prikazane v zgodovini datoteke, vendar bodo deli njihovih vsebin nedostopni javnosti.',
'logdelete-text' => 'Izbrisani dnevniški vnosi bodo še vedno prikazani v dnevnikih, vendar bodo deli njihovih vsebin nedostopni javnosti.',
'revdelete-nooldid-text' => 'Du host entweder kenne Version oagegahn, uff de diese Aksjonn ausgefiehrt waan sull, de gewählte Version ies ne vorhanden oder du versichst, de aktuelle Version zu entferna.',
'revdelete-no-file' => 'De oagegeahne Datei existiert ne.',
'revdelete-show-file-submit' => 'Ju',
-'revdelete-selected' => "'''{{PLURAL:$2|Ausgewählte Version|Ausgewählte Versionen}} vu [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Ausgewählter Logbucheintrag|Ausgewählte Logbucheinträge}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Ausgewählter Logbucheintrag|Ausgewählte Logbucheinträge}}:',
'revdelete-legend' => 'Setza der Sichtbarkeits-Einschränkunga',
'revdelete-hide-text' => 'Text dar Version verstecka',
'revdelete-hide-image' => 'Bildinhalt verstecka',
ose [{{fullurl:{{FULLPAGENAME}}|action=edit}} të redaktoni këtë faqe]</span>.',
'noarticletext-nopermission' => 'Për momentin faqja e kërkuar është bosh.
Ju mund të [[Special:Search/{{PAGENAME}}|kërkoni këtë titiull]] në faqet e tjera, ose të <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} këtkoni regjistrat e ngjashëm]</span>, por ju nuk mundeni ta krijoni këtë faqe.',
-'missing-revision' => 'Inspektimi #$1 i faqes me emrin "{{PAGENAME}}" nuk ekziston.
+'missing-revision' => 'Inspektimi #$1 i faqes me emrin "{{FULLPAGENAME}}" nuk ekziston.
Kjo zakonisht shkaktuar duke ndjekur një lidhje të vjetër tek një faqe që është fshirë. Hollësitë mund të gjenden në [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} regjistrin e fshirjeve].',
'userpage-userdoesnotexist' => 'Llogaria e përdoruesit "<nowiki>$1</nowiki>" nuk është e regjistruar.
'revdelete-no-file' => 'Skeda e dhënë nuk ekziston.',
'revdelete-show-file-confirm' => 'Jeni i/e sigurt se dëshironi të shikoni një version të grisur të skedës "<nowiki>$1</nowiki>" nga $2 tek $3?',
'revdelete-show-file-submit' => 'Po',
-'revdelete-selected' => "'''{{PLURAL:$2|Versioni i zgjedhur i|Versionet e zgjedhura të}} [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Veprimi i zgjedhur në regjistër|Veprimet e zgjedhura në regjistër}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Veprimi i zgjedhur në regjistër|Veprimet e zgjedhura në regjistër}}:',
'revdelete-confirm' => 'Ju lutem konfirmoni që keni ndër mënd ta bëni këtë, që i kuptoni pasojat, dhe që ju po veproni në përputhje me [[{{MediaWiki:Policy-url}}|politiken]].',
'revdelete-suppress-text' => "Shuarje duhet'''vetëm'''të përdoret për rastet e mëposhtme:
* Potencialisht e informacionit shpifës
'gotaccountlink' => 'Пријава',
'userlogin-resetlink' => 'Заборавили сте податке за пријаву?',
'userlogin-resetpassword-link' => 'Заборавили сте лозинку?',
+'userlogin-helplink2' => 'Помоћ при пријављивању',
'userlogin-loggedin' => 'Већ сте пријављени као {{GENDER:$1|$1}}.
Користите доњи образац да бисте се пријавили као други корисник.',
'userlogin-createanother' => 'Отвори још један налог',
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} претражити сродне извештаје] или [{{fullurl:{{FULLPAGENAME}}|action=edit}} уредити страницу]</span>.',
'noarticletext-nopermission' => 'На овој страници тренутно нема садржаја.
Можете [[Special:Search/{{PAGENAME}}|потражити овај наслов]] на другим страницама или <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} претражити сродне дневнике]</span>, али немате дозволу да направите ову страницу.',
-'missing-revision' => 'Не могу да пронађем измену бр. $1 на страници под називом „{{PAGENAME}}“.
+'missing-revision' => 'Не могу да пронађем измену бр. $1 на страници под називом „{{FULLPAGENAME}}“.
Ово се обично дешава када пратите застарелу везу до странице која је обрисана.
Више информација можете пронаћи у [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} дневнику брисања].',
'revdelete-no-file' => 'Тражена датотека не постоји.',
'revdelete-show-file-confirm' => 'Желите ли да видите обрисану измену датотеке „<nowiki>$1</nowiki>“ од $2; $3?',
'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Изабрана измена|Изабране измене}} странице [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Изабрана ставка у историји|Изабране ставке у историји}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Изабрана ставка у историји|Изабране ставке у историји}}:',
'revdelete-confirm' => 'Потврдите да намеравате ово урадити, да разумете последице и да то чините у складу с [[{{MediaWiki:Policy-url}}|правилима]].',
'revdelete-suppress-text' => "Сакривање измена би требало користити '''само''' у следећим случајевима:
* Злонамерни или погрдни подаци
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pretražiti srodne izveštaje] ili [{{fullurl:{{FULLPAGENAME}}|action=edit}} urediti stranicu]</span>.',
'noarticletext-nopermission' => 'Na ovoj stranici trenutno nema sadržaja.
Možete [[Special:Search/{{PAGENAME}}|potražiti ovaj naslov]] na drugim stranicama ili <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} pretražiti srodne dnevnike]</span>, ali nemate dozvolu da napravite ovu stranicu.',
-'missing-revision' => 'Ne mogu da pronađem izmenu br. $1 na stranici pod nazivom „{{PAGENAME}}“.
+'missing-revision' => 'Ne mogu da pronađem izmenu br. $1 na stranici pod nazivom „{{FULLPAGENAME}}“.
Ovo se obično dešava kada pratite zastarelu vezu do stranice koja je obrisana.
Više informacija možete pronaći u [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} dnevniku brisanja].',
'revdelete-no-file' => 'Tražena datoteka ne postoji.',
'revdelete-show-file-confirm' => 'Želite li da vidite obrisanu izmenu datoteke „<nowiki>$1</nowiki>“ od $2; $3?',
'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Izabrana izmena|Izabrane izmene}} stranice [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Izabrana stavka u istoriji|Izabrane stavke u istoriji}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Izabrana stavka u istoriji|Izabrane stavke u istoriji}}:',
'revdelete-confirm' => 'Potvrdite da nameravate ovo uraditi, da razumete posledice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
'revdelete-suppress-text' => "Sakrivanje izmena bi trebalo koristiti '''samo''' u sledećim slučajevima:
* Zlonamerni ili pogrdni podaci
'revdelete-no-file' => 'Ju anroate Doatäi bestoant nit.',
'revdelete-show-file-confirm' => 'Bäst du sicher, dät du ju läskede Version fon ju Doatäi „<nowiki>$1</nowiki>“ fon dän $2 uum $3 Uure bekiekje wolt?',
'revdelete-show-file-submit' => 'Jee',
-'revdelete-selected' => "'''{{PLURAL:$2|Uutwäälde Version|Uutwäälde Versione}} fon [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Uutwäälden Logboukiendraach|Uutwäälde Logboukiendraage}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Uutwäälden Logboukiendraach|Uutwäälde Logboukiendraage}}:',
'revdelete-confirm' => 'Bestäätigje, dät du dit wuddelk dwo wolt, dät du do Konsequenze ferstoanst un dät in Uureenstimmenge mäd do [[{{MediaWiki:Policy-url}}|Gjuchtlienjen]] dääst.',
'revdelete-suppress-text' => "Unnerdrukkengen skuulen '''bloot''' in do foulgjende Fälle foarnuumen waide:
* Uunpaasende persöönelke Informatione
'revdelete-no-file' => 'Berkas anu ditujul teu kapanggih.',
'revdelete-show-file-confirm' => 'Anjeun yakin rék nempo révisi anu geus dihapus dina koropak "<nowiki>$1</nowiki>" ti $2 nepi ka $3?',
'revdelete-show-file-submit' => 'Enya',
-'revdelete-selected' => "'''{{PLURAL:$2|Révisi pilihan|Révisi pilihan}} pikeun '''$1''''''",
-'logdelete-selected' => "'''{{PLURAL:$1|pilihan keur log|pilihan keur log}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|pilihan keur log|pilihan keur log}}:',
'revdelete-confirm' => 'Mangga geura konfirmasi yen Anjeun gaduh maksad pikeun ngalakukeun hal ieu, paham kana konsekwensina, tur nu dilakukeun ieu teh luyu sareng [[{{MediaWiki:Policy-url}}|kawijakanana]]',
'revdelete-suppress-text' => "Nyumputkeun revisi '''ukur''' bisa digunakeun keur kasus-kasus di handap ieu:
* Informasi nu boga potensi mitenah
'noarticletext-nopermission' => 'Det finns för tillfället ingen text på denna sida.
Du kan [[Special:Search/{{PAGENAME}}|söka efter denna sidas titel]] på andra sidor,
eller <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} söka i relaterade loggar]</span> men du har inte behörighet att skapa sidan.',
-'missing-revision' => 'Revisionen #$1 av sidan med namnet "{{PAGENAME}}" finns inte.
+'missing-revision' => 'Revisionen #$1 av sidan med namnet "{{FULLPAGENAME}}" finns inte.
Detta orsakas vanligen av efter en gammal historiklänk till en sida som har raderats.
Detaljer kan hittas i [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} raderingsloggen].',
'revdelete-no-file' => 'Den specificerade filen finns inte.',
'revdelete-show-file-confirm' => 'Är du säker på att du vill visa en raderad version av filen "<nowiki>$1</nowiki>" från den $2 klockan $3?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Vald version|Valda versioner}} av [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Vald loggåtgärd|Valda loggåtgärder}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Vald version|Valda versioner}} av [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Vald filversion|Valda filversioner}} av [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|Vald loggåtgärd|Valda loggåtgärder}}:',
'revdelete-text-text' => 'Raderade sidversioner kommer fortfarande synas i sidans historik, men delar av innehållet kommer inte att bli tillgängligt offentligt.',
'revdelete-text-file' => 'Raderade filversioner kommer fortfarande synas i filens historik, men delar av innehållet kommer inte att bli tillgängligt offentligt.',
'logdelete-text' => 'Raderade logghändelser kommer fortfarande synas i loggarna, men delar av innehållet kommer inte att bli tillgängligt offentligt.',
# List redirects
'listredirects' => 'Lista över omdirigeringar',
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista över filer med dubbletter',
+'listduplicatedfiles-summary' => 'Detta är en lista över filer där den senaste versionen av filen är en dubblett av den senaste versionen av någon annan fil. Endast lokala filer behandlas.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] har [[$3|{{PLURAL:$2|en dubblett|$2 dubbletter}}]].',
+
# Unused templates
'unusedtemplates' => 'Oanvända mallar',
'unusedtemplatestext' => 'Denna sida listar alla sidor i {{ns:template}}-namnrymden som inte inkluderas på någon annan sida.
'revdelete-no-file' => 'Faili ulilotaja halipatikani.',
'revdelete-show-file-confirm' => 'Ni kweli kwamba unataka kulitazama pitio lililofutwa la faili linaloitwa "<nowiki>$1</nowiki>" la tarehe $2 na saa $3?',
'revdelete-show-file-submit' => 'Ndiyo',
-'revdelete-selected' => "'''{{PLURAL:$2|Pitio lililoteuliwa|Mapitio yaliyoteuliwa}} ya [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Tukio la kumbukumbu lililoteuliwa|Matukio ya kumbukumbu yaliyoteuliwa}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Tukio la kumbukumbu lililoteuliwa|Matukio ya kumbukumbu yaliyoteuliwa}}:',
'revdelete-confirm' => 'Tafadhali uthibitishe kwamba unataka kufanya hivyo, pamoja na kwamba unaelewa matokeo yake, na unafanya hivyo kutokana na [[{{MediaWiki:Policy-url}}|sera yetu]].',
'revdelete-suppress-text' => "Kuficha kunaruhisiwa '''tu''' wakati hizo:
* Taarifa zinazowezekana kwamba ni za kukashifu
'revdelete-no-file' => 'Ńy mo tygo plika.',
'revdelete-show-file-confirm' => 'Jeżeś echt pewny co chcesz uobejzdrzeć wyćepano wersyjo plika „<nowiki>$1</nowiki>” s $2 $3?',
'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Wybrano wersyjo|Wybrane wersyje}} zajty [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Wybrane zdarzyńy ze rejeru|Wybrane zdarzyńa ze rejeru}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Wybrane zdarzyńy ze rejeru|Wybrane zdarzyńa ze rejeru}}:',
'revdelete-legend' => 'Naštaluj uograńičyńo lo wersyji:',
'revdelete-hide-text' => 'Schrůń tekst wersyji',
'revdelete-hide-image' => 'Schrůń zawartość plika',
'noarticletext-nopermission' => 'தற்பொழுது இப்பக்கத்தில் உரை எதுவும் இல்லை.
நீங்கள் [[Special:Search/{{PAGENAME}}|பக்கத் தலைப்பை வைத்து]] அல்லது மற்ற பக்கங்களில்,
அல்லது <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} அல்லது தேடுதல் தொடர்பான பதிவுகளில் தேடலாம்.]</span>, ஆனால் இந்தப் பக்கத்தை உருவாக்க அனுமதியில்லை.',
-'missing-revision' => "இந்த பரிசீலனை # $1 '' {{PAGENAME}}' பெயருள்ள பக்கத்தின் இல்லை.!N வேடிக்கையானN!இது தான் வழக்கமாக ஏற்பட்டிருக்கலாம் நீக்கப்பட்டுள்ளது பக்கத்திற்கு outdated வரலாறு இணைப்பை தொடர்ந்து.
+'missing-revision' => "இந்த பரிசீலனை # $1 '' {{FULLPAGENAME}}' பெயருள்ள பக்கத்தின் இல்லை.!N வேடிக்கையானN!இது தான் வழக்கமாக ஏற்பட்டிருக்கலாம் நீக்கப்பட்டுள்ளது பக்கத்திற்கு outdated வரலாறு இணைப்பை தொடர்ந்து.
விவரங்கள் முடியும் கண்டறிய, [{{fullurl: {{# சிறப்பு: குறிப்பேடு}} / delete|page = {{FULLPAGENAMEE}}}} நீக்குதல் குறிப்பேடு].",
'userpage-userdoesnotexist' => '"<nowiki>$1</nowiki>" என்றக் கணக்கு இன்னமும் பதிவுச் செய்யப்படவில்லை. இதை உருவாக்க/தொகுக்க வேண்டுமா என்பதை உறுதிப்படுத்தவும்.',
'userpage-userdoesnotexist-view' => 'பயனர் கணக்கு "$1" பதியப்படவில்லை',
'revdelete-no-file' => 'தாங்கள் குறிப்பிட்ட கோப்புக்கள் இங்கில்லை.',
'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" கோப்பின் $2-தேதி, $3-நேரத்தில் நீக்கப்பட்ட திருத்தத்தை தாங்கள் காணவேண்டுமா ?',
'revdelete-show-file-submit' => 'ஆம்',
-'revdelete-selected' => "'''[[:$1]] பக்கத்தின் தெரிவுச் செய்யப்பட்ட {{PLURAL:$2|திருத்தம்|திருத்தங்கள்}}:'''",
-'logdelete-selected' => "'''தெரிவு செய்யப்பட்ட பதிகை {{PLURAL:$1|நிகழ்வு|நிகழ்வுகள்}}:'''",
+'logdelete-selected' => 'தெரிவு செய்யப்பட்ட பதிகை {{PLURAL:$1|நிகழ்வு|நிகழ்வுகள்}}:',
'revdelete-confirm' => 'நீங்கள் கண்டிப்பாக இதைச் செய்ய விரும்புகிறீர்கள் என்பதையும், இதன் விளைவுகளை புரிந்துகொண்டிருக்கின்றீர்கள் என்பதையும், மேலும் நீங்கள் [[{{MediaWiki:Policy-url}}|செயல் திட்டம்]] படி செய்கிறீர்கள் என்பதையும் உறுதிசெயுங்கள்.',
'revdelete-suppress-text' => "ஒடுக்கப்படுவது கீழ்காணும் '''காரணங்களுக்காக''' மட்டுமே செய்யப்படும்.
*அவதூறான தீங்கு விளைவிக்கக்கூடிய தகவல்
లేదా [{{fullurl:{{FULLPAGENAME}}|action=edit}} ఈ పేజీని మార్చవచ్చు]</span>.',
'noarticletext-nopermission' => 'ప్రస్తుతం ఈ పేజీలో పాఠ్యమేమీ లేదు.
మీరు ఇతర పేజీలలో [[Special:Search/{{PAGENAME}}|ఈ పేజీ శీర్షిక కోసం వెతకవచ్చు]], లేదా <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} సంబంధిత చిట్టాలలో వెతకవచ్చు]</span>, కానీ ఈ పేజీని సృష్టించడానికి మీకు అనుమతి లేదు.',
-'missing-revision' => '"{{PAGENAME}}" అనే పేజీ యొక్క కూర్పు #$1 ఉనికిలో లేదు. సాధారణంగా ఏదైనా తొలగించబడిన పేజీ యొక్క కాలం చెల్లిన చరితం లింకును నొక్కినపుడు ఇది జరుగుతుంది. వివరాలు [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} తొలగింపు లాగ్] లో దొరుకుతాయి.',
+'missing-revision' => '"{{FULLPAGENAME}}" అనే పేజీ యొక్క కూర్పు #$1 ఉనికిలో లేదు. సాధారణంగా ఏదైనా తొలగించబడిన పేజీ యొక్క కాలం చెల్లిన చరితం లింకును నొక్కినపుడు ఇది జరుగుతుంది. వివరాలు [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} తొలగింపు లాగ్] లో దొరుకుతాయి.',
'userpage-userdoesnotexist' => '"$1" అనే వాడుకరి ఖాతా నమోదయిలేదు. మీరు ఈ పేజీని సృష్టించాలని/సరిదిద్దాలని అనుకుంటున్నారేమో చూడండి.',
'userpage-userdoesnotexist-view' => 'వాడుకరి ఖాతా "$1" నమోదుకాలేదు.',
'blocked-notice-logextract' => 'ప్రస్తుతం ఈ వాడుకరిని నిరోధించారు.
'revdelete-no-file' => 'పేర్కొన్న ఫైలు ఉనికిలో లేదు.',
'revdelete-show-file-confirm' => 'మీరు నిజంగానే "<nowiki>$1</nowiki>" ఫైలు యొక్క $2 $3 నాటి తొలగించిన కూర్పుని చూడాలనుకుంటున్నారా?',
'revdelete-show-file-submit' => 'అవును',
-'revdelete-selected' => '<strong>[[:$1]] యొక్క {{PLURAL:$2|ఎంచుకున్న కూర్పు|ఎంచుకున్న కూర్పులు}}:</strong>',
-'logdelete-selected' => '<strong>{{PLURAL:$1|ఎంచుకున్న చిట్టా ఘటన|ఎంచుకున్న చిట్టా ఘటనలు}}:</strong>',
+'logdelete-selected' => '{{PLURAL:$1|ఎంచుకున్న చిట్టా ఘటన|ఎంచుకున్న చిట్టా ఘటనలు}}:',
'revdelete-text-text' => 'తొలగించిన కూర్పులు పేజీ చరిత్రలో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.',
'revdelete-text-file' => 'తొలగించిన ఫైలు కూర్పులు పేజీ చరిత్రలో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.',
'logdelete-text' => 'తొలగించిన ఘటనలు లాగ్లో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.',
'disclaimers' => 'Avisu legál',
'disclaimerpage' => 'Project:Avisu legál',
'edithelp' => 'Ajuda kona-ba edita',
-'helppage' => 'Help:Konteúdu',
'mainpage' => 'Pájina Mahuluk',
'mainpage-description' => 'Pájina Mahuluk',
'portal' => 'Portál komunidade nian',
'revisiondelete' => 'Нусхаҳои ҳазф/эҳёӣ',
'revdelete-nooldid-title' => 'Нусхаи мақсади номӯътабар',
'revdelete-nooldid-text' => 'Шумо ин ё он нусхаи(ҳои) мақсадро барои иҷрои ин амал мушаххас накардаед, нусхаи мушаххасшуда вуҷуд надорад, ё шумо дар ҳоли кӯшиши пинҳон кардани нусхаи кунуниаш ҳастед.',
-'revdelete-selected' => "'''{{PLURAL:$2|Нусхаи интихобшуда|Нусхаҳои интихобшуда}} аз [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Гузориши маврид интихобшуда|Гузориши мавориди интихобшуда}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Гузориши маврид интихобшуда|Гузориши мавориди интихобшуда}}:',
'revdelete-legend' => 'Танзими маҳдудиятҳои падидорӣ',
'revdelete-hide-text' => 'Пинҳон кардани нусхаи матн',
'revdelete-hide-image' => 'Пинҳон кардани мӯҳтавиёти парванда',
'revisiondelete' => 'Nusxahoi hazf/ehjoī',
'revdelete-nooldid-title' => "Nusxai maqsadi nomū'tabar",
'revdelete-nooldid-text' => 'Şumo in jo on nusxai(hoi) maqsadro baroi içroi in amal muşaxxas nakardaed, nusxai muşaxxasşuda vuçud nadorad, jo şumo dar holi kūşişi pinhon kardani nusxai kununiaş hasted.',
-'revdelete-selected' => "'''{{PLURAL:$2|Nusxai intixobşuda|Nusxahoi intixobşuda}} az [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Guzorişi mavrid intixobşuda|Guzorişi mavoridi intixobşuda}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Guzorişi mavrid intixobşuda|Guzorişi mavoridi intixobşuda}}:',
'revdelete-legend' => 'Tanzimi mahdudijathoi padidorī',
'revdelete-hide-text' => 'Pinhon kardani nusxai matn',
'revdelete-hide-image' => 'Pinhon kardani mūhtavijoti parvanda',
คุณสามารถ[[Special:Search/{{PAGENAME}}|ค้นหาชื่อหน้านี้]]ในหน้าอื่น หรือ<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ค้นหาปูมที่เกี่ยวข้อง] หรือ[{{fullurl:{{FULLPAGENAME}}|action=edit}} แก้ไขหน้านี้]</span>',
'noarticletext-nopermission' => 'ปัจจุบันไม่มีเนื้อหาในหน้านี้
คุณสามารถ[[Special:Search/{{PAGENAME}}|ค้นหาชื่อหน้านี้]]ในหน้าอื่น หรือ<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ค้นหาปูมที่เกี่ยวข้อง]</span> แต่คุณไม่มีสิทธิสร้างหน้านี้',
-'missing-revision' => 'ไม่มีรุ่น #$1 ของหน้าชื่อ "{{PAGENAME}}"
+'missing-revision' => 'ไม่มีรุ่น #$1 ของหน้าชื่อ "{{FULLPAGENAME}}"
โดยปกติเกิดจากการเข้าลิงก์ประวัติเก่าของหน้าที่ถูกลบไปแล้ว
ดูรายละเอียดได้ที่[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ปูมการลบ]',
'revdelete-no-file' => 'ไม่มีไฟล์ที่ระบุ',
'revdelete-show-file-confirm' => 'คุณแน่ใจที่จะดูรุ่นที่ถูกลบของไฟล์ "<nowiki>$1</nowiki>" เมื่อวันที่ $2 เวลา $3 หรือไม่',
'revdelete-show-file-submit' => 'ใช่',
-'revdelete-selected' => "'''{{PLURAL:$2|รุ่นการปรับปรุงที่ถูกเลือก|รุ่นการปรับปรุงที่ถูกเลือก}}ของ [[:$1]] :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|เหตุการณ์ปูมที่เลือก|เหตุการณ์ปูมที่เลือก}} :'''",
+'logdelete-selected' => '{{PLURAL:$1|เหตุการณ์ปูมที่เลือก|เหตุการณ์ปูมที่เลือก}} :',
'revdelete-text-text' => 'รุ่นที่ถูกลบจะยังปรากฏในประวัติหน้า แต่สาธารณะจะไม่สามารถเข้าถึงเนื้อหาบางส่วนได้',
'revdelete-text-file' => 'รุ่นที่ถูกลบจะยังปรากฏในประวัติไฟล์ แต่สาธารณะจะไม่สามารถเข้าถึงเนื้อหาบางส่วนได้',
'logdelete-text' => 'รายการปูมที่ถูกลบจะยังปรากฏในปูม แต่สาธารณะจะไม่สามารถเข้าถึงเนื้อหาบางส่วนได้',
'revdelete-no-file' => 'Görkezilen faýl ýok.',
'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" faýlynyň $3, $2 seneli öçürilen wersiýasyny görmek isleýäniňiz çynyňyzmy?',
'revdelete-show-file-submit' => 'Hawa',
-'revdelete-selected' => "'''[[:$1]] sahypasynyň {{PLURAL:$2|saýlanylan wersiýasy|saýlanylan wersiýalary}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Saýlanylan gündelik wakasy|Saýlanylan gündelik wakalary}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Saýlanylan gündelik wakasy|Saýlanylan gündelik wakalary}}:',
'revdelete-confirm' => 'Şu işi anyk isleýändigiňizi, ýagny onuň netijelerine düşünýändiňizi we [[{{MediaWiki:Policy-url}}|kadalar boýunça]] amala aşyrýandygyňyzy tassyklamagyňyzy haýyş edýäris.',
'revdelete-suppress-text' => "Gizlemeklik '''diňe''' aşakdaky ýagdaýlarda ulanylmalydyr:
* Potensial taýdan töhmetçilikli maglumat
'databaseerror' => 'Kamalian sa kalipunan ng datos',
'databaseerror-text' => 'Mayroong kamalian sa pagtanong o pag-query sa database.
Maaring ipinapahiwatig nito ang depekto o bug sa software.',
+'databaseerror-textcl' => 'May nangyaring depekto sa pag-query ng database.',
+'databaseerror-error' => 'Depekto: $1',
'laggedslavemode' => "'''Babala:''' Maaaring hindi naglalaman ang pahina ng mga huling dagdag.",
'readonly' => 'Nakakandado ang kalipunan ng datos',
'enterlockreason' => 'Maglagay ng dahilan sa pagkakandado, kasama ang taya kung kailan magtatapos ang pagkakandado',
'cannotdelete-title' => 'Hindi maibura ang pahinang "$1"',
'delete-hook-aborted' => 'Pinigil ng sungkit ang pagbura.
Walang ibinigay na paliwanag.',
+'no-null-revision' => 'Hindi makalikha ng bagong "null" para sa pahina na "$1"',
'badtitle' => 'Hindi kanais-nais na pamagat',
'badtitletext' => 'Ang hiniling na pamagat ng pahina ay hindi katanggap-tanggap, wala, o isang may-maling kawing na pamagat na pangugnayang-wika (interwika) o pangugnayang wiki (interwiki).
Maaaring naglalaman ito ng isa o higit pang mga panitik (karakter) na hindi maaaring gamitin para sa mga pamagat.',
'actionthrottled' => 'Hinadlangan ang gawain',
'actionthrottledtext' => "Bilang paraang panglaban sa ''spam'', pinigalan kang magawa ang galaw na ito nang maraming ulit sa loob ng maikling panahon, at lumabis ka na sa limitasyong ito.
Pakisubok na lang ulit pagkaraan ng kaunting mga minuto.",
-'protectedpagetext' => 'Kinandado ang pahinang ito upang mahadlangang ang pagbago.',
+'protectedpagetext' => 'Kinandado ang pahinang ito upang mahadlangang ang pagbago o ibang aksyon.',
'viewsourcetext' => 'Maaari mong tingnan at kopyahin ang pinagmulan ng pahinang ito:',
'viewyourtext' => "Matitingnan at makukopya mo ang pinagmulan ng '''mga pagbabago''' papunta sa pahinang ito:",
-'protectedinterface' => "Nagbibigay ang pahinang ito ng tekstong panghangganan (''interface'') para sa sopwer, at ikinandado para maiwasan ang pangaabuso.",
+'protectedinterface' => 'Nagbibigay ang pahinang ito ng tekstong interface para sa software, at ikinandado para maiwasan ang pangaabuso.
+Upang dagdagan o baguhin ang mga salin para sa lahat ng mga wiki, pakigamit ang [//translatewiki.net/ translatewiki.net], ang proyekto para sa lokalisasyon ng MediaWiki.',
'editinginterface' => "'''Babala:''' Binabago mo ang isang pahinang ginagamit sa pagbibigay ng tekstong panghangganan para sa sopwer.
Makaaapekto ang mga pagbago sa pahinang ito sa anyo ng hangganang (''interface'') pantagagamit na para sa ibang mga tagagamit sa wiking ito.
Upang magdagag o magbago ng mga salinwika, isaaalang-alang na lang po ang paggamit ng [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], ang proyekto para sa lokalisasyon ng MediaWiki.",
'customjsprotected' => 'Wala kang pahintulot na baguhin ang pahina ng JavaScript na ito, dahil naglalaman ito ng mga katakdaang pansarili ng ibang tagagamit.',
'mycustomcssprotected' => 'Wala kang pahintulot na baguhin itong pahinang CSS.',
'mycustomjsprotected' => 'Wala kang pahintulot na baguhin itong pahinang JavaScript.',
+'myprivateinfoprotected' => 'Wala kang pahintulot na baguhin ang iyong pribadong impormasyon.',
+'mypreferencesprotected' => 'Wala kang pahintulot na baguhin ang iyong mga kagustuhan.',
'ns-specialprotected' => 'Hindi pwedeng baguhin ang mga natatanging pahina.',
'titleprotected' => "Nakasanggalang ang pamagat na ito mula sa paglikha ni [[User:$1|$1]].
Ang ibinigay na dahilan ay ''$2''.",
'invalidtitle-knownnamespace' => 'Hindi katanggap-tanggap na pamagat na may puwang na pampangalang "$2" at tekstong "$3"',
'invalidtitle-unknownnamespace' => 'Hindi katanggap-tanggap na pamagat na mayroong hindi nalalamang bilang na pampuwang ng pangalan na $1 at tekstong "$2"',
'exception-nologin' => 'Hindi nakalagda',
-'exception-nologin-text' => 'Ang pahina o kilos na ito ay nangangailangan ng paglagda mo sa wiking ito.',
+'exception-nologin-text' => '[[Natatangi:Paglagda_ng_tagagamit|Mag-login]] upang ma-access ang aksyon o pahinang ito.',
+'exception-nologin-text-manual' => '$1 upang ma-access ang pahina o aksyong ito.',
# Virus scanner
'virus-badscanner' => "Masamang kompigurasyon: hindi kilalang tagahagilap (iskaner) ng birus: ''$1''",
'virus-unknownscanner' => 'hindi kilalang panlaban sa birus:',
# Login and logout pages
-'logouttext' => "'''Nakaalis ka na sa pagkakalagda.'''
+'logouttext' => '<strong>Nakaalis ka na sa pagkaka-login.</strong>
-Maaari kang tumuloy sa paggamit ng {{SITENAME}} nang hindi nakikilala (anonimo), o maaaring kang <span class='plainlinks'>[$1 lumagda/tumala muli]</span> bilang kapareho o ibang tagagamit.
-Tandaan na may ilang pahinang maaaring magpatuloy na nagpapakitang parang nakalagda ka pa rin, hanggang sa linisin mo ang iyong baunang pambasa-basa (''browser cache'').",
+Tandaan na may ilang mga pahina na patuloy na nagpapakita na parang hindi ka naka-login, hanggang alisin mo ang iyong <i>browser cache</i>.',
'welcomeuser' => 'Mabuhay, $1!',
'welcomecreation-msg' => 'Nilikha na ang iyong kuwenta.
Huwag kalimutang baguhin ang iyong [[Special:Preferences|mga kagustuhan sa {{SITENAME}}]].',
'yourname' => 'Bansag:',
-'userlogin-yourname' => 'Pangngalan',
-'userlogin-yourname-ph' => 'Ilagay ang iyong Pangalan',
+'userlogin-yourname' => 'Pangalan',
+'userlogin-yourname-ph' => 'Ilagay ang iyong pangalan',
'createacct-another-username-ph' => 'Ilagay ang Pangalan',
-'yourpassword' => 'Hudyat:',
-'userlogin-yourpassword' => 'Hudyat',
-'userlogin-yourpassword-ph' => 'Ipasok ang iyong hudyat',
+'yourpassword' => 'Password:',
+'userlogin-yourpassword' => 'Password',
+'userlogin-yourpassword-ph' => 'Ipasok ang iyong password',
'createacct-yourpassword-ph' => 'Ilagay ang hudyat (password)',
-'yourpasswordagain' => 'Hudyat mo uli:',
+'yourpasswordagain' => 'Password mo uli:',
'createacct-yourpasswordagain' => 'Tiyakin ang hudyat',
'createacct-yourpasswordagain-ph' => 'Muling ilagay ang hudyat (password)',
'remembermypassword' => 'Tandaan ang paglagda ko sa kompyuter na ito (pinakamarami na ang $1 {{PLURAL:$1|araw|mga araw}})',
-'userlogin-remembermypassword' => 'Panatilihin akong nakalagda',
+'userlogin-remembermypassword' => 'Panatilihin akong naka-login',
'userlogin-signwithsecure' => 'Gumamit ng ligtas na koneksyon',
'yourdomainname' => 'Dominyo mo:',
-'password-change-forbidden' => 'Hindi mo maaaring palitan ang mga hudyat sa wiking ito.',
+'password-change-forbidden' => 'Hindi mo maaaring palitan ang mga password sa wiking ito.',
'externaldberror' => 'Maaaring may kamalian sa pagpapatotoo ng kalipunan ng mga dato o kaya hindi ka pinahintulutang isapanahon ng iyong panlabas na kuwenta o patnugutan.',
'login' => 'Lumagda',
'nav-login-createaccount' => 'Lumagda / lumikha ng kuwenta',
'logout' => 'Umalis sa pagkakalagda',
'userlogout' => 'Umalis sa pagkakalagda',
'notloggedin' => 'Hindi nakalagda',
-'userlogin-noaccount' => 'Wala ka pa bang kuwenta?',
+'userlogin-noaccount' => 'Wala ka pa bang akawnt?',
'userlogin-joinproject' => 'Sumali sa {{SITENAME}}',
'nologin' => 'Wala ka pang kuwenta? $1.',
'nologinlink' => 'Lumikha ng kuwenta',
'createaccount' => 'Lumikha ng akawnt',
'gotaccount' => 'May kuwenta ka na ba? $1.',
'gotaccountlink' => 'Lumagda',
-'userlogin-resetlink' => 'Nakalimutan mo ang iyong mga detalyeng panglagda?',
-'userlogin-resetpassword-link' => 'Nakalimutan ba ang iyong hudyat (password)?',
+'userlogin-resetlink' => 'Nakalimutan mo ang iyong mga detalyeng pang-login?',
+'userlogin-resetpassword-link' => 'Nakalimutan ba ang iyong password?',
+'userlogin-helplink2' => 'Tulong sa pag-login',
+'userlogin-loggedin' => 'Naka-login ka na bilang {{GENDER:$1|$1}}. Gamitin ang form sa ibaba upang maka-login bilang ibang tagagamit o user.',
'userlogin-createanother' => 'Lumikha ng iba pang akawnt',
'createacct-join' => 'Ilagay ang iyong impormasyon sa ibaba.',
'createacct-another-join' => 'Ilagay ang impormasyon ng bagong akawnt sa ibaba.',
'createacct-emailrequired' => 'Direksiyong e-liham:',
-'createaccountmail' => 'Gumamit ng pansamantalang walang-piling hudyat at ipadala ito sa direksiyong e-liham na nakasaad sa ibaba',
+'createacct-emailoptional' => 'Email (hindi kailangan)',
+'createacct-email-ph' => 'Ipasok ang iyong email address',
+'createacct-another-email-ph' => 'Ipasok ang email address',
+'createaccountmail' => 'Gumamit ng pansamantalang random na password at ipadala ito sa email na nakasaad sa ibaba',
'createacct-realname' => 'Tunay na pangalan (maaaring wala)',
'createaccountreason' => 'Dahilan:',
'createacct-reason' => 'Dahilan',
'createacct-reason-ph' => 'Bakit ka gagawa ng isa pang akawnt?',
+'createacct-captcha' => 'Siyasatin ang seguridad',
'createacct-imgcaptcha-ph' => 'Ilagay ang tekstong makikita sa itaas.',
+'createacct-submit' => 'Likhain ang iyong akawnt',
+'createacct-another-submit' => 'Lumikha ng ibang akawnt',
'createacct-benefit-heading' => '{{SITENAME}} ay nilikha ng mga taong iyong katulad.',
-'badretype' => 'Hindi magkatugma ang ipinasok mong mga hudyat.',
+'createacct-benefit-body1' => '{{PLURAL:$1|pagbabago|mga pagbabago}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pahina|mga pahina}}',
+'createacct-benefit-body3' => 'kamakailang {{PLURAL:$1|nag-ambag|mga nag-ambag}}',
+'badretype' => 'Hindi magkatugma ang ipinasok mong mga password.',
'userexists' => 'May gumagamit na ng ipinasok na bansag.
Pumili po ng ibang pangalan.',
'loginerror' => 'Kamalian sa paglagda',
Pakitingnan ang iyong pagbabaybay.',
'nouserspecified' => 'Kailangang tukuyin mo ang isang pangalang pantagagamit.',
'login-userblocked' => 'Hinarang ang tagagamit na ito. Hindi pinahihintulutan ang paglalagda.',
-'wrongpassword' => 'Mali ang ipinasok na hudyat.
+'wrongpassword' => 'Mali ang ipinasok na password.
Pakisubok muli.',
-'wrongpasswordempty' => 'Walang laman ang ipinasok na hudyat.
+'wrongpasswordempty' => 'Walang laman ang ipinasok na password.
Pakisubok muli.',
-'passwordtooshort' => 'Ang mga hudyat ay dapat mayroong {{PLURAL:$1|1 panitik|$1 panitik}} (karakter).',
-'password-name-match' => 'Dapat magkaiba ang hudyat mo sa bansag mo.',
-'password-login-forbidden' => 'Ipinagbabawal ang paggamit ng ganitong pangalan ng tagagamit at hudyat.',
-'mailmypassword' => 'Baguhin ang hudyat',
-'passwordremindertitle' => 'Bagong pansamantalang hudyat para sa {{SITENAME}}',
+'passwordtooshort' => 'Ang mga password ay dapat mayroong {{PLURAL:$1|1 panitik|$1 panitik}} (karakter).',
+'password-name-match' => 'Dapat magkaiba ang password mo sa bansag o username mo.',
+'password-login-forbidden' => 'Ipinagbabawal ang paggamit ng ganitong pangalan ng tagagamit at password.',
+'mailmypassword' => 'Baguhin ang password',
+'passwordremindertitle' => 'Bagong pansamantalang password para sa {{SITENAME}}',
'passwordremindertext' => 'Mayroong (na maaaring ikaw, mula sa adres ng IP na $1) humiling ng isang bagong
-hudyat para sa {{SITENAME}} ($4). Isang pansamantalang hudyat ang nilikha
+password para sa {{SITENAME}} ($4). Isang pansamantalang password ang nilikha
para sa tagagamit na "$2" at itinakda sa "$3". Kung ito ang iyong pakay,
-kailangan mo na ngayong lumagda/tumala at pumili ng isang bagong hudyat.
-Mawawala/magtatapos ang bisa ang pansamantala mong hudyat sa loob ng {{PLURAL:$5|isang araw|$5 araw}}.
+kailangan mo na ngayong mag-login at pumili ng isang bagong password.
+Mawawala/magtatapos ang bisa ang pansamantala mong password sa loob ng {{PLURAL:$5|isang araw|$5 araw}}.
-Kung ibang tao ang humiling nito, o kung naalala mo na ang iyong hudyat,
+Kung ibang tao ang humiling nito, o kung naalala mo na ang iyong password,
at hindi mo na ibig pang baguhin ito, maaari mong huwag pansinin ang mensaheng ito at
-magpatuloy sa paggamit ng iyong lumang hudyat.',
+magpatuloy sa paggamit ng iyong lumang password.',
'noemail' => 'Walang nakatalang adres ng e-liham para sa tagagamit na "$1".',
'noemailcreate' => 'Kailangan mong magbigay ng may-bisang direksiyong e-liham',
'passwordsent' => 'Isang bagong hudyat ang ipinadala sa adres ng e-liham na nakatala para kay "$1".
Lumagda/Tumala lang po muli pagkaraan mong matanggap ito.',
'blocked-mailpassword' => 'Hinarangan sa paggawa ng mga pagbabago ang iyong adres ng IP, at kaya hindi rin pinapahintulutang gumamit ng tungkuling makabawi ng hudyat para maiwasan ang pangaabuso.',
-'eauthentsent' => 'Nagpadala ng isang e-liham na pangkompirmasyon doon sa iniharap na direksiyong e-liham.
-Bago magpadala ng iba pang e-liham sa kuwenta, kailangan mong sundin ang mga tagubiling nasa loob ng e-liham, para mapatunayang iyo talaga ang kuwenta.',
-'throttled-mailpassword' => 'Nagpadala na ng isang paalalang panghudyat, nitong huling {{PLURAL:$1|oras|$1 oras}}.
-Para maiwasin ang pangaabuso, isang paalalang panghudyat lang ang ipapadala bawat {{PLURAL:$1|oras|$1 oras}}.',
+'eauthentsent' => 'Nagpadala ng isang email na pangkompirmasyon doon sa tinukoy na email address.
+Bago magpadala ng iba email sa akawnt, kailangan mong sundin ang mga tagubiling nasa loob ng email, para mapatunayang iyo talaga ang akawnt.',
+'throttled-mailpassword' => 'Nagpadala na ng isang paalalang pang-password, nitong huling {{PLURAL:$1|oras|$1 oras}}.
+Para maiwasin ang pangaabuso, isang paalalang pang-password lamang ang ipapadala bawat {{PLURAL:$1|oras|$1 oras}}.',
'mailerror' => 'Kamalian sa pagpapadala ng liham: $1',
'acct_creation_throttle_hit' => 'Ang mga panauhin sa wiking ito na gumagamit ng direksiyong IP mo ay nakalikha na ng {{PLURAL:$1|1 kuwenta|$1 kuwenta}} sa loob ng huling araw, na siyang pinakamataas na pinapahintulutan sa loob ng sakop ng panahong ito.
Bilang kinalabasan, ang mga panauhing gumagamit ng ganitong direksiyong IP ay hindi na muna makakalikha ng anumang karagdagang kuwenta sa ngayon.',
-'emailauthenticated' => 'Napatunayan na ang iyong direksiyong e-liham sa $2 noong $3.',
-'emailnotauthenticated' => 'Hindi pa napapatunayan ang iyong direksiyong e-liham.
-Walang e-liham na ipapadala para sa anumang sumusunod na tampok na kasangkapang-katangian.',
+'emailauthenticated' => 'Napatunayan na ang iyong email address sa $2 noong $3.',
+'emailnotauthenticated' => 'Hindi pa napapatunayan ang iyong email address.
+Walang email na ipapadala para sa anumang sumusunod na mga tampok o features.',
'noemailprefs' => 'Tumukoy ng isang direksiyong e-liham sa loob ng mga nais mo upang gumana ang mga kasangkapang-katangiang ito.',
'emailconfirmlink' => 'Pakikompirma ang iyong direksiyong e-liham.',
'invalidemailaddress' => 'Hindi matatanggap ang direksiyong e-liham na ito dahil tila mayroon itong maling anyo.
Maaari mong huwag pansinin ang mensaheng ito, kung mali ang paglikha ng kuwentang ito.',
'usernamehasherror' => 'Hindi maaaring maglaman ng mga panitik na pantadtad ang pangalan ng tagagamit',
-'login-throttled' => 'Masyadong marami ang ginawa mong kamakailan lang na mga pagsubok sa paglagdang papasok.
-Maghintay po muna bago subukan uli.',
+'login-throttled' => 'Masyadong madami ang kamakailan lamang mong pagsubok sa pag-login.
+Maghintay po muna ng $1 bago subukan uli.',
'login-abort-generic' => 'Bigo ang paglagda mo - Pinigil',
'loginlanguagelabel' => 'Wika: $1',
'suspicious-userlogout' => "Tinanggihan ang inyong kahilingang umalis sa pagkalagda dahil tila ito ay ipinadala ng sirang pambasa-basa o apoderadong pambaon (''caching proxy'')",
+'createacct-another-realname-tip' => 'Hindi kinakailangan ang tunay na pangalan.
+Kung nais mo na ibigay ito, gagamitin ito para sa pagbibigay ng atribusyon para sa kanilang gawa.',
+'pt-login' => 'Mag-login',
+'pt-login-button' => 'Mag-login',
'pt-createaccount' => 'Lumikha ng akawnt',
'pt-userlogout' => 'Umalis sa pagkakatala',
# Email sending
'php-mail-error-unknown' => 'Hindi malamang kamalian sa tungkulin ng liham ng PHP ()',
'user-mail-no-addy' => 'Sinubukang magpadala ng e-liham na walang tirahan na para sa e-liham.',
+'user-mail-no-body' => 'Sinubukan na magpadala ng email na walang laman o maikling laman.',
# Change password dialog
-'changepassword' => 'Baguhin ang hudyat',
+'changepassword' => 'Baguhin ang password',
'resetpass_announce' => 'Para sa ganap na pagtala, magtalaga ng panibagong password.',
'resetpass_text' => '<!-- Magdagdag ng teksto rito -->',
-'resetpass_header' => 'Baguhin ang hudyat ng kuwenta',
-'oldpassword' => 'Lumang hudyat:',
-'newpassword' => 'Bagong hudyat:',
-'retypenew' => 'Ipasok muli ang bagong hudyat:',
-'resetpass_submit' => 'Itakda ang hudyat at lumagda',
-'changepassword-success' => 'Matagumpay na nabago ang iyong hudyat! Inilalagda ka na ngayon...',
-'resetpass_forbidden' => 'Hindi mababago ang mga hudyat',
+'resetpass_header' => 'Baguhin ang password ng akawnt',
+'oldpassword' => 'Lumang password:',
+'newpassword' => 'Bagong password:',
+'retypenew' => 'Ipasok muli ang bagong password:',
+'resetpass_submit' => 'Itakda ang password at mag-login',
+'changepassword-success' => 'Matagumpay na nabago ang iyong password!',
+'changepassword-throttled' => 'Masyadong madami ang kamakailan lamang mong pagsubok sa pag-login.
+Maghintay po muna ng $1 bago subukan uli.',
+'resetpass_forbidden' => 'Hindi mababago ang mga password',
'resetpass-no-info' => 'Nakalagda ka dapat para tuwirang mapuntahan ang pahina ito.',
-'resetpass-submit-loggedin' => 'Baguhin ang hudyat',
+'resetpass-submit-loggedin' => 'Baguhin ang password',
'resetpass-submit-cancel' => 'Kanselahin',
-'resetpass-wrong-oldpass' => 'Hindi tanggap na pansamantala o pangkasalukuyang hudyat.
-Maaaring matagumpay mo nang nabago ang iyong hudyat o nakahiling na ng isang bagong pansamantalang hudyat.',
+'resetpass-wrong-oldpass' => 'Hindi balido na pansamantala o pangkasalukuyang password.
+Maaaring matagumpay mo nang nabago ang iyong password o nakahiling na ng isang bagong pansamantalang password.',
'resetpass-recycled' => 'Ireset ang iyong password sa pamamagitan ng paggamit ng iba pa maliban sa iyong ginagamit sa kasalukuyan.',
'resetpass-temp-emailed' => 'Nakapagtala sa pamamagitan ng pansamantalang email code.
Para sa ganap na pagtatala, magtakda ng panibagong password dito:',
-'resetpass-temp-password' => 'Pansamantalang hudyat:',
-'resetpass-expired-soft' => 'Napaso na ang iyong password at kailangan ireset. Pumili ng bagong password o iklik ang cancel upang i-reset sa ibang pagkakataon.',
+'resetpass-temp-password' => 'Pansamantalang password:',
+'resetpass-abort-generic' => 'Inuurong sa pamamagitan ng isan extensyon ang pagpalit ng password.',
+'resetpass-expired' => 'Paso na ang iyong password. Pakipalit ng bagong password upang maka-login.',
+'resetpass-expired-soft' => 'Napaso na ang iyong password at kailangan i-reset. Pumili ng bagong password o i-klik ang "{{int:resetpass-submit-cancel}}" upang i-reset sa ibang pagkakataon.',
+'resetpass-validity-soft' => 'Hindi matanggap ang iyong password: $1
+
+Pumili ng bagong password ngayon, o i-klik ang "{{int:resetpass-submit-cancel}}" para i-reset ito sa ibang pagkakataon.',
# Special:PasswordReset
-'passwordreset' => 'Muling pagtatakda ng hudyat',
-'passwordreset-legend' => 'Itakdang muli ang hudyat',
-'passwordreset-disabled' => 'Hindi pinagagana sa wiking ito ang muling mga pagtatakda ng hudyat.',
+'passwordreset' => 'Muling pagtatakda ng password',
+'passwordreset-text-one' => 'Ikumpleto ang form na ito upang makatanggap ng pansamantalang password sa pamamagitan ng email.',
+'passwordreset-text-many' => '{{PLURAL:$1|Ipasok sa isa sa mga field upang makatanggap ng isang pansamantalang password sa pamamagitan ng email.}}',
+'passwordreset-legend' => 'Itakdang muli ang password',
+'passwordreset-disabled' => 'Hindi pinagagana sa wiking ito ang muling mga pagtatakda ng password.',
+'passwordreset-emaildisabled' => 'Hindi pinagana ang email features sa wiking ito.',
'passwordreset-username' => 'Pangalan ng tagagamit:',
'passwordreset-domain' => 'Nasasakupan:',
'passwordreset-capture' => 'Tingnan ang lumabas na e-liham?',
'passwordreset-capture-help' => 'Kapag tsetsekan mo ang kahong ito, ang e-liham (may pansamantalang hudyat) ay ipapakita sa iyo at ipapadala rin sa tagagamit.',
'passwordreset-email' => 'Direksiyong e-liham:',
'passwordreset-emailtitle' => 'Mga detalye ng kuwenta sa {{SITENAME}}',
-'passwordreset-emailtext-ip' => 'Isang tao (marahil ay ikaw, mula sa direksiyong IP na $1) ang humiling ng isang paalala sa iyong mga detalye ng kuwenta para sa {{SITENAME}} ($4). Ang sumusunod na {{PLURAL:$3|kuwenta ng tagagamit ay|mga kuwenta ng tagagamit ay}} may kaugnayan sa direksiyong e-liham na ito:
+'passwordreset-emailtext-ip' => 'Isang tao (marahil ay ikaw, mula sa IP address na $1) ang humiling ng isang paalala sa iyong mga detalye ng kuwenta para sa {{SITENAME}} ($4). Ang sumusunod na {{PLURAL:$3|akawant ng tagagamit ay|mga akawnt ng tagagamit ay}} may kaugnayan sa email address na ito:
$2
-{{PLURAL:$3|Ang pansamantalang hudyat na ito|Ang mga pansamantalang hudyat na ito}} ay mawawalan ng bisa sa loob ng {{PLURAL:$5|isang araw|$5 mga araw}}.
-Dapat kang lumagda at pumili ng isang bagong hudyat ngayon. Kung ibang tao ang gumawa ng kahilingang ito, o kung naalala mo na ang orihinal mong hudyat, at hindi mo na nais palitan ito, maaari mong huwag nang pansinin ang mensaheng ito at magpatuloy sa paggamit ng luma mong hudyat.',
+{{PLURAL:$3|Ang pansamantalang hudyat na ito|Ang mga pansamantalang hudyat na ito}} ay mawawalan ng bisa sa loob ng {{PLURAL:$5|isang araw|$5 araw}}.
+Dapat kang mag-login at pumili ng isang bagong password ngayon. Kung ibang tao ang gumawa ng kahilingang ito, o kung naalala mo na ang orihinal mong password, at hindi mo na nais palitan ito, maaari mong huwag nang pansinin ang mensaheng ito at magpatuloy sa paggamit ng luma mong password.',
'passwordreset-emailtext-user' => 'Ang tagagamit na si $1 sa {{SITENAME}} ay humiling ng isang paalala ng iyong mga akawnt ng detalye para sa {{SITENAME}}
($4). Ang sumusunod na pangtagagamit na {{PLURAL:$3|akawnt ay|mga akawnt ay}} may kaugnayan sa tirahang ito ng e-liham:
{{PLURAL:$3|Ang pansamantalang hudyat na ito|Ang pansamantalang mga hudyat na ito}} mawawalan ng bias sa loob ng {{PLURAL:$5|isang araw|$5 mga araw}}.
Dapat kang lumagda at pumili ng isang hudyat ngayon. Kung ibang tao ang gumawa ng kahilingang ito, o kung naalala mo na ang iyong orihinal na hudyat, at hindi mo na nais palitan pa ito, maaari mong huwag nang pansinin ang mensaheng ito at magpatuloy sa paggamit ng iyong lumang hudyat.',
'passwordreset-emailelement' => 'Pangalan ng tagagamit: $1
-Pansamantalang hudyat: $2',
+Pansamantalang password: $2',
'passwordreset-emailsent' => 'Naipadala na ang isang e-liham na pampaalala.',
'passwordreset-emailsent-capture' => 'Naipadala na ang isang e-liham na paalala, na ipinapakita sa ibaba.',
'passwordreset-emailerror-capture' => 'Nalikha na ang isang e-liham na paalala, na ipinapakita sa ibaba, subalit nabigo ang pagpapadala sa tagagamit: $1',
'changeemail-oldemail' => 'Kasalukuyang direksiyong e-liham:',
'changeemail-newemail' => 'Bagong direksiyong e-liham:',
'changeemail-none' => '(wala)',
+'changeemail-password' => 'Ang iyong {{SITENAME}} password:',
'changeemail-submit' => 'Baguhin ang e-liham',
'changeemail-cancel' => 'Kanselahin',
+'changeemail-throttled' => 'Masyadong madami ang kamakailan lamang mong pagsubok sa pag-login.
+Maghintay po muna ng $1 bago subukan uli.',
+
+# Special:ResetTokens
+'resettokens' => 'I-reset ang mga token o susi',
# Edit page toolbar
'bold_sample' => 'Makapal na panitik',
'loginreqtitle' => 'Paglagda/Pagtala Kailangan',
'loginreqlink' => 'lumagda/tumala',
'loginreqpagetext' => 'Kailangan mong $1 para matanaw ang ibang mga pahina.',
-'accmailtitle' => 'Ipinadala na ang hudyat.',
+'accmailtitle' => 'Ipinadala na ang password.',
'accmailtext' => "Ipinadala na sa $2 ang isang hudyat na nilikha ng pagkakataon para kay [[User talk:$1|$1]]. Maaari itong baguhin sa pahinang ''[[Special:ChangePassword|palitan ng hudyat]]'' kapag lumagdang papasok.",
'newarticle' => '(Bago)',
'newarticletext' => "Sinundan mo ang isang kawing para sa isang pahinang hindi pa umiiral.
'noarticletext-nopermission' => 'Kasalukuyang walang teksto sa pahinang ito.
Maaari mong [[Special:Search/{{PAGENAME}}|hanapin ang pamagat ng pahinang ito]] sa ibang mga pahina,
o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} maghanap sa kaugnay na mga talaan]</span>.',
-'missing-revision' => 'Hindi umiiral ang rebisyong #$1 ng pahinang napangalanang "{{PAGENAME}}".
+'missing-revision' => 'Hindi umiiral ang rebisyong #$1 ng pahinang napangalanang "{{FULLPAGENAME}}".
Karaniwang itong dulot ng pagsunod sa isang wala na sa panahong kawing ng kasaysayan na papunta sa isang pahinang nabura na.
Matatagpuan ang mga detalye sa loob ng [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} talaan ng pagbura].',
Tila binura na ito.',
'edit-conflict' => 'Alitan sa pagbabago.',
'edit-no-change' => 'Binalewala ang pagbabago mo, dahil walang pagbabagong ginawa sa teksto.',
+'postedit-confirmation' => 'Naitala na ang iyong pagbabago.',
'edit-already-exists' => 'Hindi makalikha ng isang bagong pahina.
Umiiral na ito.',
'defaultmessagetext' => 'Nakatakdang teksto ng mensahe',
'revdelete-no-file' => 'Hindi umiiral ang tinutukoy na talaksan.',
'revdelete-show-file-confirm' => 'Nakatitiyak ka bang nais mong tanawin ang isang binurang pagbabago ng talaksang "<nowiki>$1</nowiki>" mula $2 noong $3?',
'revdelete-show-file-submit' => 'Oo',
-'revdelete-selected' => "{{PLURAL:$2|Piniling|Mga piniling}} pagbabago ng '''$1:'''",
'logdelete-selected' => '{{PLURAL:$1|Piniling tala ng pangyayari|Piniling tala ng mga pangyayari}}:',
'revdelete-confirm' => 'Pakitiyak po na nais mo itong gawin, na nauunawaan mo ang mga kahihinatnan, at na ginagawa mo ito alinsunod sa [[{{MediaWiki:Policy-url}}|patakaran]].',
'revdelete-suppress-text' => "Ang paglilingid ay dapat na gamitin '''lamang''' para sa sumusunod na mga pagkakataon:
'prefs-watchlist-edits-max' => 'Pinakamataas na bilang: 1000',
'prefs-watchlist-token' => 'Balap ng talaan ng mga binabantayan:',
'prefs-misc' => 'Bala-balaki',
-'prefs-resetpass' => 'Baguhin ang hudyat',
+'prefs-resetpass' => 'Baguhin ang password',
'prefs-changeemail' => 'Baguhin ang direksiyong e-liham',
'prefs-setemail' => 'Magtakda ng direksiyong e-liham',
'prefs-email' => 'Mga pagpipilian para sa e-liham',
'email' => 'E-liham',
'prefs-help-realname' => "Opsyonal ('di-talaga kailangan) ang tunay na pangalan.
Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para iyong mga ginawa.",
-'prefs-help-email' => 'Hindi talaga kailangang may tirahan ng e-liham, subalit kailangan para sa muling pagtatakda ng hudyat, kung makalimutan mo ang hudyat mo.',
+'prefs-help-email' => 'Hindi kailangang may email address, subalit kailangan ito para sa muling pagtatakda ng password, kung makalimutan mo ang password mo.',
'prefs-help-email-others' => 'Mapipili mo rin na makipag-ugnayan sa iyo ang iba sa pamamagitan ng iyong pahina ng tagagamit o usapan na hindi kailangang ilantad ang katauhan mo.',
'prefs-help-email-required' => 'Kailangan ang direksiyong e-liham.',
'prefs-info' => 'Saligang kabatiran',
'prefs-dateformat' => 'Anyo ng petsa',
'prefs-timeoffset' => 'Pagtatama ng oras',
'prefs-advancedediting' => 'Masulong na mga mapagpipilian',
+'prefs-preview' => 'Paunang tingin',
'prefs-advancedrc' => 'Masulong na mga mapagpipilian',
'prefs-advancedrendering' => 'Masulong na mga mapagpipilian',
'prefs-advancedsearchoptions' => 'Masulong na mga mapagpipilian',
'prefs-displayrc' => 'Ipakita ang mga pagpipilian',
'prefs-displaysearchoptions' => 'Ipakita ang mga pagpipilian',
'prefs-displaywatchlist' => 'Ipakita ang mga pagpipilian',
+'prefs-tokenwatchlist' => 'Token o susi',
'prefs-diffs' => 'Mga pagkakaiba',
# User preference: email validation using jQuery
'right-siteadmin' => 'Ikandado at alisin ang pagkakakandado ng kalipunan ng dato',
'right-override-export-depth' => 'Iluwas ang mga pahina na kabilang ang mga pahinang nakakawing magpahanggang sa isang lalim na 5',
'right-sendemail' => 'Magpadala ng e-liham sa ibang mga tagagamit',
-'right-passwordreset' => 'Tingnan ang mga e-liham ng muling pagtatakda ng hudyat',
+'right-passwordreset' => 'Tingnan ang mga email ng muling pagtatakda ng password',
# Special:Log/newusers
'newuserlogpage' => 'Talaan ng paglikha ng tagagamit',
'rcnotefrom' => "Nasa ibaba ang mga pagbabago mula pa noong '''$2''' (ipinapakita ang magpahanggang sa '''$1''').",
'rclistfrom' => 'Ipakita ang bagong mga pagbabago simula sa $1',
'rcshowhideminor' => '$1 maliliit na mga pagbabago',
+'rcshowhideminor-show' => 'Ipakita',
+'rcshowhideminor-hide' => 'Itago',
'rcshowhidebots' => "$1 mga ''bot''",
-'rcshowhideliu' => '$1 nakalagdang mga tagagamit',
+'rcshowhidebots-show' => 'Ipakita',
+'rcshowhidebots-hide' => 'Itago',
+'rcshowhideliu' => '$1 nakatalang mga tagagamit',
+'rcshowhideliu-show' => 'Ipakita',
+'rcshowhideliu-hide' => 'Itago',
'rcshowhideanons' => '$1 hindi kilalang mga tagagamit',
+'rcshowhideanons-show' => 'Ipakita',
+'rcshowhideanons-hide' => 'Itago',
'rcshowhidepatr' => '$1 napatrolyang mga pagbabago',
+'rcshowhidepatr-show' => 'Ipakita',
+'rcshowhidepatr-hide' => 'Itago',
'rcshowhidemine' => '$1 mga pagbabago ko',
+'rcshowhidemine-show' => 'Ipakita',
+'rcshowhidemine-hide' => 'Itago',
'rclinks' => 'Ipakita ang huling $1 mga pagbabago sa loob ng huling $2 mga araw<br />$3',
'diff' => 'pagkakaiba',
'hist' => 'kasaysayan',
'rc-change-size' => '$1',
'rc-change-size-new' => '$1 {{PLURAL:$1|byte|mga byte}} pagkaraan ng pagbabago',
'newsectionsummary' => '/* $1 */ bagong seksyon',
-'rc-enhanced-expand' => 'Ipakita ang mga detalye (kailangan ng JavaScript)',
+'rc-enhanced-expand' => 'Ipakita ang mga detalye',
'rc-enhanced-hide' => 'Itago ang mga detalye',
'rc-old-title' => 'dating nalikha bilang "$1"',
'reuploaddesc' => 'Kanselahin/Iurong ang pagkarga at magbalik sa pormularyo ng pagkakarga',
'upload-tryagain' => 'Ipasa ang binagong paglalarawan ng talaksan',
'uploadnologin' => 'Hindi nakalagda',
-'uploadnologintext' => 'Dapat ikaw ay [[Special:UserLogin|nakalagda]]
-upang makapagkarga ng talaksan.',
+'uploadnologintext' => '$1 upang makapag-upload ng files.',
'upload_directory_missing' => 'Nawawala ang direktoryo ng pagkarga ($1) at hindi na mailikha ng webserver.',
'upload_directory_read_only' => 'Ang direktoryo ng pagkarga ($1) ay hindi maisulat ng webserver.',
'uploaderror' => 'Kamalian sa pagkarga',
'listfiles_size' => 'Sukat',
'listfiles_description' => 'Paglalarawan',
'listfiles_count' => 'Mga bersiyon',
+'listfiles-latestversion-yes' => 'Oo',
+'listfiles-latestversion-no' => 'Hindi',
# File description page
'file-anchor-link' => 'Talaksan',
'randompage' => 'Pahinang walang-pili',
'randompage-nopages' => 'Walang mga pahina sa sumusunod na {{PLURAL:$2|ngalan-espasyo|mga ngalan-espasyo}}: $1.',
+# Random page in category
+'randomincategory-selectcategory-submit' => 'Gawin',
+
# Random redirect
'randomredirect' => 'Pagkargang walang-pili',
'randomredirect-nopages' => 'Walang mga pagkarga sa ngalan-espasyong "$1".',
'protectedpages-indef' => 'Mga walang katiyakang proteksyon lamang',
'protectedpages-cascade' => 'Baita-baitang na mga panananggalang lamang',
'protectedpagesempty' => 'Sa kasalukuyan, walang mga pahinang nakasanggalang na may ganitong mga parametro.',
+'protectedpages-page' => 'Pahina',
+'protectedpages-reason' => 'Dahilan',
+'protectedpages-unknown-timestamp' => 'Hindi alam',
+'protectedpages-unknown-performer' => 'Hindi alam na tagagamit o user',
'protectedtitles' => 'Nakasanggalang na mga pamagat',
'protectedtitlesempty' => 'Walang pamagat ang kasalukuyang nakaprotekta sa binigay na parametro.',
'listusers' => 'Tala ng tagagamit',
'usermessage-template' => 'MediaWiki:UserMessage',
# Watchlist
-'watchlist' => 'Mga binabantayan ko',
+'watchlist' => 'Talaan ng mga binabantayan',
'mywatchlist' => 'Bantayan',
'watchlistfor2' => 'Para sa $1 $2',
'nowatchlist' => 'Wala kang pahinang binabantayan.',
* <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' => 'Lumagda / lumikha ng kuwenta',
+'specialpages-group-login' => 'Mag-login / lumikha ng akawnt',
'specialpages-group-changes' => 'Mga huling binago at mga tala',
'specialpages-group-media' => 'Mga ulat ng midya at mga pagkarga',
'specialpages-group-users' => 'Mga tagagamit at mga karapatan',
'gotaccountlink' => 'Oturum açın',
'userlogin-resetlink' => 'Giriş bilgilerinizi mi unuttunuz?',
'userlogin-resetpassword-link' => 'Parolanızı mı unuttunuz?',
+'userlogin-helplink2' => 'Oturum açma konusunda yardım alın',
'userlogin-loggedin' => 'Zaten {{GENDER:$1|$1}} olarak oturum açtınız.
Başka bir kullanıcı olarak oturum açmak için aşağıdaki formu kullanın.',
'userlogin-createanother' => 'Başka bir hesap oluşturun',
ya da bu sayfayı [{{fullurl:{{FULLPAGENAME}}|action=edit}} değiştirebilirsiniz]</span>.',
'noarticletext-nopermission' => 'Bu sayfa şu anda boştur.
Bu başlığı [[Special:Search/{{PAGENAME}}|diğer sayfalarda arayabilir]] ya da <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} ilgili kayıtları tarayabilirsiniz].</span>',
-'missing-revision' => '"{{PAGENAME}}" sayfasının #$1 sürümü yok.
+'missing-revision' => '"{{FULLPAGENAME}}" sayfasının #$1 sürümü yok.
Bu duruma genellikle silinmiş bir sayfaya eski tarihli bir bağlantının takip edilmesi neden olur.
'revdelete-no-file' => 'Belirtilen dosya mevcut değil.',
'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" dosyasının $2 $3 tarihli silinmiş bir revizyonunu görmek istediğinize emin misiniz?',
'revdelete-show-file-submit' => 'Evet',
-'revdelete-selected' => "'''[[:$1]] sayfasının {{PLURAL:$2|seçili değişikliği|seçili değişiklikleri}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Seçili kayıt olayı|Seçili kayıt olayları}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Seçili kayıt olayı|Seçili kayıt olayları}}:',
'revdelete-confirm' => 'Lütfen, bunu yapmak istediğinizi , sonuçlarını anladığınızı, ve bunu [[{{MediaWiki:Policy-url}}|ilkelere]] göre yapıyor olduğunuzu onaylayın.',
'revdelete-suppress-text' => "Saklama '''sadece''' aşağıdaki durumlarda kullanılmalıdır:
* Muhtemel iftira niteliğindeki bilgi
# List redirects
'listredirects' => 'Yönlendirmeleri listele',
+# List duplicated files special page
+'listduplicatedfiles' => 'Kopyası bulunan dosyalar listesi',
+
# Unused templates
'unusedtemplates' => 'Kullanılmayan şablonlar',
'unusedtemplatestext' => 'Bu sayfa, {{ns:template}} alan adında bulunan ve diğer sayfalara eklenmemiş olan sayfaları listeler. Şablonlara olan diğer bağlantıları da kontrol etmeden silmeyiniz.',
'revdelete-no-file' => 'Бу файл юк.',
'revdelete-show-file-confirm' => 'Сез чыннан да «<nowiki>$1</nowiki>» файлының бетерелгән $2, $3 версиясен карарга телисезме??',
'revdelete-show-file-submit' => 'Әйе',
-'revdelete-selected' => "'''[[:$1]] битенең {{PLURAL:$2|1=Сайланган юрама|сайланган юрамалары}}:'''",
-'logdelete-selected' => "'''Журналның {{PLURAL:$1|1=Сайланган язма|сайланган язмалары}} :'''",
+'logdelete-selected' => 'Журналның {{PLURAL:$1|1=Сайланган язма|сайланган язмалары}} :',
'revdelete-legend' => 'Чикләүләр урнаштыр:',
'revdelete-hide-text' => 'Битнең бу юрамасы текстын яшер',
'revdelete-hide-image' => 'Файл эчендәгеләрне качыр',
'rcshowhidebots' => 'ботларны $1',
'rcshowhidebots-show' => 'күрсәт',
'rcshowhidebots-hide' => 'яшер',
-'rcshowhideliu' => 'Теркәлгән кулланучыларны $1',
+'rcshowhideliu' => 'теркәлгән кулланучыларны $1',
'rcshowhideliu-show' => 'күрсәт',
'rcshowhideliu-hide' => 'яшер',
'rcshowhideanons' => 'кермәгән кулланучыларны $1',
[{{fullurl:{{FULLPAGENAME}}|action=edit}} بۇ بەتنى تەھرىرلىيەلەيسىز]</span>',
'noarticletext-nopermission' => 'بۇ بەتتە ھازىرچە مەزمۇن يوق.
سىز باشقا بەتتە [[Special:Search/{{PAGENAME}}|بۇ بەتنىڭ ماۋزۇسىنى ئىزدىيەلەيسىز]] ياكى <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}}] مۇناسىۋەتلىك خاتىرىسىنى ئىزدىيەلەيسىز،</span>لىكىن سزنىڭ بەت قۇرۇش ھوقوقىڭز يوق.',
-'missing-revision' => '"{{PAGENAME}}" ئاتلىق بەتنىڭ تۈزىتىلگەن نەشرى #$1 مەۋجۇت ئەمەس.
+'missing-revision' => '"{{FULLPAGENAME}}" ئاتلىق بەتنىڭ تۈزىتىلگەن نەشرى #$1 مەۋجۇت ئەمەس.
ئادەتتە بۇ ئۆچۈرۈلگەن بىر بەتنىڭ ئۇلانمىسىغا كىرگەنلىك سەۋەبىدىن بولىدۇ.
تەپسىلىي ئۇچۇرنى [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} ئۆچۈرۈش خاتىرىسى] دىن تاپقىلى بولىدۇ.',
'revdelete-no-file' => 'ھۆججەت بەلگىلىمىسى مەۋجۇد ئەمەس.',
'revdelete-show-file-confirm' => '$2 $3 دىكى "<nowiki>$1</nowiki>" نىڭ ئۆچۈرۈلگەن تۈزىتىلگەن نەشرىنى راستىنلا كۆرەمسىز؟',
'revdelete-show-file-submit' => 'ھەئە',
-'revdelete-selected' => "'''[[:$1]] نىڭ {{PLURAL:$2|تاللانغان تۈزىتىش نەشرى|تاللانغان تۈزىتىش نەشرى}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|تاللانغان خاتىرە تۈرى|تاللانغان خاتىرە تۈرى}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|تاللانغان خاتىرە تۈرى|تاللانغان خاتىرە تۈرى}}:',
'revdelete-confirm' => 'بۇ مەشغۇلاتنى ئىجرا قىلسىڭىز ئاقىۋىتىنى چۈشىنىدىغانلىقىڭىزنى ھەمدە بۇ پروگراممىنىڭ [[{{MediaWiki:Policy-url}}|سىياسەت]]كە ئۇيغۇن كېلىدىغانلىقىنى جەزملەڭ.',
'revdelete-suppress-text' => "'''پەقەت''' تۆۋەندىكى ئەھۋاللار يۈز بەرگەندىلا زىيارەت چەكلىنىدۇ:
* نامۇۋاپىق شەخسىي ئۇچۇر
'noarticletext-nopermission' => 'Зараз на цій сторінці немає тексту.
Ви можете [[Special:Search/{{PAGENAME}}|пошукати цю назву]] на інших сторінках,
або <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} пошукати пов\'язані записи в журналах]</span>, але ви не маєте дозволу на створення такої сторінки.',
-'missing-revision' => 'Версія #$1 сторінки «{{PAGENAME}}» не існує.
+'missing-revision' => 'Версія #$1 сторінки «{{FULLPAGENAME}}» не існує.
Імовірно, Ви перейшли за застарілим посиланням на вилучену сторінку.
Подробиці можна дізнатися з [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} журналу вилучень].',
'revdelete-no-file' => 'Зазначений файл не існує.',
'revdelete-show-file-confirm' => 'Ви впевнені, що хочете переглянути вилучену версію файлу «<nowiki>$1</nowiki>» від $3 $2?',
'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|1=Обрана версія|Обрані версії}} сторінки [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|1=Обраний запис|Обрані записи}} журналу:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Вибрана редакція|Вибрані редакції}} із [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Вибрана версія файлу|Вибрані версії файлу}} із [[:$2]]:',
+'logdelete-selected' => '{{PLURAL:$1|1=Обраний запис|Обрані записи}} журналу:',
'revdelete-text-text' => 'Видалені версії будуть як і раніше видно в історії сторінки, але їх частини вмісту будуть доступні для учасників.',
'revdelete-text-file' => 'Видалені версії файлу будуть як і раніше видно в історії сторінки, але їх частини вмісту будуть доступні для учасників.',
'logdelete-text' => 'Видалені події в журналі будуть як і раніше видно в журналах, але частини їх вмісту будуть доступні для учасників.',
'revisiondelete' => 'نظرثانی حذف کریں/واپس لائیں',
'revdelete-nooldid-title' => 'ناقص مقصود نظرثانی',
'revdelete-show-file-submit' => 'ہاں',
-'revdelete-selected' => "'''[[:$1]] کی {{PLURAL:$2|منتخب نظرثانی|منتخب نظرثانیاں}}:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|منتخب واقعۂ نوشتہ|منتخب واقعاتِ نوشتہ}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|منتخب واقعۂ نوشتہ|منتخب واقعاتِ نوشتہ}}:',
'revdelete-confirm' => 'برائے مہربانی! یقین دِہانی کرلیجئے کہ آپ واقعی ایسا کرنا چاہتے ہیں، آپ اِس کے نتائج سے باخبر ہیں، اور آپ یہ [[{{MediaWiki:Policy-url}}|پالیسی]] کے مطابق کررہے ہیں.',
'revdelete-legend' => 'رویتی پابندیاں لگائیں',
'revdelete-hide-text' => 'نظرثانی متن چھپاؤ',
'noarticletext-nopermission' => 'In sto momento no ghe xe nissun testo su sta pagina.
Te pol [[Special:Search/{{PAGENAME}}|sercar sto titolo de pagina]] in altre pagine,
o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} sercar in tei registri ligà a sta pagina]</span>, ma no te ghè el parmesso de crear sta pagina.',
-'missing-revision' => 'Ła revixion #$1 de ła pàjina "{{PAGENAME}}" nó ła existe.',
+'missing-revision' => 'Ła revixion #$1 de ła pàjina "{{FULLPAGENAME}}" nó ła existe.',
'userpage-userdoesnotexist' => 'L\'account "<nowiki>$1</nowiki>" no\'l corisponde mìa a un utente registrà. Verifica se te voli dal bon crear o modificar sta pagina.',
'userpage-userdoesnotexist-view' => 'L\'utensa "$1" no la xe gnancora registrà.',
'blocked-notice-logextract' => "Sto utente xè atualmente blocà.
'revdelete-no-file' => "El file indicà no l'esiste mia.",
'revdelete-show-file-confirm' => 'Vuto dal bon vardar la version scancelà del file "<nowiki>$1</nowiki>" del $2 a le $3?',
'revdelete-show-file-submit' => 'Sì',
-'revdelete-selected' => "'''{{PLURAL:$2|Version selezionà|Versioni selezionà}} de [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evento del registro selezionà|Eventi del registro selezionè}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Evento del registro selezionà|Eventi del registro selezionè}}:',
'revdelete-confirm' => 'Par piaser, conferma che vol far sta azion, che te capissi le so conseguense, e che te sì drio operar secondo le [[{{MediaWiki:Policy-url}}|linee guida]].',
'revdelete-suppress-text' => "La sopression la se dovarìa doparar '''solo''' in sti casi qua:
'revdelete-nooldid-text' => 'Tö et olgoi valinuded metversijad (metversijoid) necen funkcijan oigetes.',
'revdelete-no-file' => 'Mugošt failad ei ole.',
'revdelete-show-file-submit' => 'Ka',
-'revdelete-selected' => "'''{{PLURAL:$2|Valitud versii|Valitud versijad}} lehtpolišpäi [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valitud kirjutez aigkirjas|Valitud kirjutesed aigkirjas}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Valitud kirjutez aigkirjas|Valitud kirjutesed aigkirjas}}:',
'revdelete-legend' => 'Säta kaidendused',
'revdelete-hide-text' => 'Redakcijan tekst',
'revdelete-hide-image' => 'Peitta failan südäiolend',
hoặc [{{fullurl:{{FULLPAGENAME}}|action=edit}} sửa đổi trang này]</span>.',
'noarticletext-nopermission' => 'Trang này hiện đang trống.
Bạn có thể [[Special:Search/{{PAGENAME}}|tìm kiếm tựa trang này]] tại các trang khác, hoặc <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} tìm kiếm các nhật trình liên quan]</span>, nhưng bạn không có phép tạo trang này.',
-'missing-revision' => 'Phiên bản #$1 của trang có tên “{{PAGENAME}}” không tồn tại.
+'missing-revision' => 'Phiên bản #$1 của trang có tên “{{FULLPAGENAME}}” không tồn tại.
Lỗi này thường xuất hiện đối khi theo dõi liên kết lỗi thời đến phiên bản cũ của một trang đã bị xóa.
Xem chi tiết trong [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} nhật trình xóa].',
'revdelete-no-file' => 'Tập tin chỉ định không tồn tại.',
'revdelete-show-file-confirm' => 'Bạn có chắc muốn xem phiên bản đã bị xóa của tập tin “<nowiki>$1</nowiki>” từ ngày $2 vào lúc $3?',
'revdelete-show-file-submit' => 'Có',
-'revdelete-selected' => "'''{{PLURAL:$2|Phiên bản|Các phiên bản}} được chọn của [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Nhật trình đã chọn|Các nhật trình đã chọn}}:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Phiên bản|Các phiên bản}} [[:$2]] được chọn:',
+'revdelete-selected-file' => '{{PLURAL:$1|Phiên bản|Các phiên bản}} tập tin [[:$2]] được chọn:',
+'logdelete-selected' => '{{PLURAL:$1|Nhật trình đã chọn|Các nhật trình đã chọn}}:',
'revdelete-text-text' => 'Các phiên bản đã xóa sẽ tiếp tục xuất hiện trong lịch sử trang, nhưng một số phần của nội dung sẽ bị ẩn khỏi công chúng.',
'revdelete-text-file' => 'Các phiên bản tập tin đã xóa sẽ tiếp tục xuất hiện trong lịch sử tập tin, nhưng một số phần của nội dung sẽ bị ẩn khỏi công chúng.',
'logdelete-text' => 'Các sự kiện đã xóa sẽ tiếp tục xuất hiện trong nhật trình, nhưng một số phần của nội dung sẽ bị ẩn khỏi công chúng.',
# List redirects
'listredirects' => 'Danh sách trang đổi hướng',
+# List duplicated files special page
+'listduplicatedfiles' => 'Danh sách các tập tin có bản sao',
+'listduplicatedfiles-summary' => 'Đây là danh sách các tập tin là bản sao của tập tin khác, chỉ tính theo phiên bản mới nhất của các tập tin địa phương.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] có [[$3|{{PLURAL:$2|một bản sao|$2 bản sao}}]].',
+
# Unused templates
'unusedtemplates' => 'Bản mẫu chưa dùng',
'unusedtemplatestext' => 'Trang này liệt kê tất cả các trang trong không gian tên {{ns:template}} mà chưa được dùng trong trang nào khác.
'revdelete-nooldid-text' => 'U no elevälol zeilafomami(s) pro dun at, u fomam pelevälöl no dabinon, u steifülol ad klänedön fomami anuik.',
'revdelete-show-file-confirm' => 'Vilol-li fümiko logön revidi pemoüköl ragiva: „<nowiki>$1</nowiki>“ dätü $2 tü $3?',
'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:$2|Fomam|Fomams}} pevalöl pada: [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Lisedajenot|Lisedajenots}} pevälöl:'''",
+'logdelete-selected' => '{{PLURAL:$1|Lisedajenot|Lisedajenots}} pevälöl:',
'revdelete-legend' => 'Levälön miedükamis logova:',
'revdelete-hide-text' => 'Klänedön vödemi revida',
'revdelete-hide-image' => 'Klänedön ragivaninädi',
'revisiondelete' => 'Kistudaq/võtaq tagasi lehe kujjõ',
'revdelete-nooldid-title' => 'Säänest otsitavat kujjo olõ-i',
'revdelete-nooldid-text' => 'Sa olõ-i valinuq kujjo vai kujjõ.',
-'revdelete-selected' => "'''{{PLURAL:$2|Valit kujo|Validuq kujoq}} lehele [[:$1]]'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Valit muutminõ|Validuq muutmisõq}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Valit muutminõ|Validuq muutmisõq}}:',
'revdelete-legend' => 'Nättävüse piirdmiseq',
'revdelete-hide-text' => 'Käkiq kujo sisu',
'revdelete-hide-image' => 'Käkiq teedüstü sissu',
'rev-delundel' => 'mostrer/catchî',
'revisiondelete' => 'Disfacer/rapexhî des modêyes',
'revdelete-show-file-submit' => 'Oyi',
-'revdelete-selected' => "'''{{PLURAL:$2|Tchoezeye modêye|Tchoezeyès modêyes}} di [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Evenmint tchoezi|Evenmints tchoezis}} ezès djournås:'''",
+'logdelete-selected' => '{{PLURAL:$1|Evenmint tchoezi|Evenmints tchoezis}} ezès djournås:',
'revdelete-legend' => 'Defini des restriccions sol voeyaedje',
'revdelete-hide-text' => "Catchî l' tecse del modêye",
'revdelete-hide-comment' => "Catchî l' comintaire di candjmint",
'noarticletext-nopermission' => 'Waray yana nahasurat hini nga pakli
Puyde hi ikaw [[Special:Search/{{PAGENAME}}|magbiling han ngaran hini nga pakli]] ha iba nga mga pakli,
o <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} mamiling han mga nanginginlabot nga mga talaan]</span>, kundi diri ka gintutugotan hin paghímò hini nga pakli.',
-'missing-revision' => 'Waray na an rebisyon #$1 han pakli nga ginngaranan nga "{{PAGENAME}}".
+'missing-revision' => 'Waray na an rebisyon #$1 han pakli nga ginngaranan nga "{{FULLPAGENAME}}".
Ini in agsob tungod han pagsunod hin daan nga sumpay hin kaagi ha pakli nga ginpara.
An mga detalye in mabibilngan ha [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].',
'revdelete-no-file' => 'Dencukaay bi amul',
'revdelete-show-file-confirm' => 'Ndax wóor na ne bëgg ngaa wone sumb bees far bu bii dencukaay "<nowiki>$1</nowiki>" bu $2 ci $3?',
'revdelete-show-file-submit' => 'Waaw',
-'revdelete-selected' => "'''{{PLURAL:$2|Sumbum '''$1''' mi falu|Sumbi '''$1''' yi falu}} :'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Xew-xewu yéenekaay bi falu|Xew-xewi yéenekaay yi falu}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Xew-xewu yéenekaay bi falu|Xew-xewi yéenekaay yi falu}}:',
'revdelete-legend' => 'Taxawal ay digal ci sumb yi ñu far:',
'revdelete-hide-text' => 'Nëbb mbindum sumb bi',
'revdelete-hide-image' => 'Nëbb ëmbiitu dencukaay bi',
'revdelete-no-file' => '指定文件弗存在。',
'revdelete-show-file-confirm' => '侬阿是真个要查看文件“<nowiki>$1</nowiki>”垃拉$2 $3已经删除个修订?',
'revdelete-show-file-submit' => '是',
-'revdelete-selected' => "'''选取'''[[:$1]]'''个$2趟修订:'''",
-'logdelete-selected' => "'''选取'''$1'''个日志事件:'''",
+'logdelete-selected' => '选取$1个日志事件:',
'revdelete-confirm' => '假使侬想箇能介做个闲话,请确认侬已经清爽箇能介做个后果,外加箇个程序符合[[{{MediaWiki:Policy-url}}|政策]]。',
'revdelete-suppress-text' => "'''只有'''出现下头眼情况再应阻止访问:
* 弗适合个个人信息
'titlematches' => '页面标题匹配',
'textmatches' => '页面内容匹配',
'notextmatches' => '呒没匹配个页面文本',
-'prevn' => '上个 $1',
+'prevn' => '前$1个',
'nextn' => '下个 {{PLURAL:$1|$1}}',
'prevn-title' => '前$1个结果',
'nextn-title' => '后$1个结果',
'whatlinkshere-next' => '后$1个',
'whatlinkshere-links' => '←链进',
'whatlinkshere-hideredirs' => '$1转戳',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
'whatlinkshere-hidelinks' => '$1链接',
'whatlinkshere-filters' => '过滤器',
'tog-watchlisthidepatrolled' => 'באַהאַלטן פאַטראלירטע רעדאַקטירונגען פֿון דער אויפֿפאַסונג ליסטע',
'tog-ccmeonemails' => 'שיק מיר קאפיעס פון בליצבריוו וואס איך שיק צו אנדערע באַניצער',
'tog-diffonly' => 'ווייז נישט אינהאלט אונטער די דיפערענץ',
-'tog-showhiddencats' => 'ווײַז באהאלטענע קאטעגאריעס',
+'tog-showhiddencats' => 'ווײַזן באהאלטענע קאטעגאריעס',
'tog-norollbackdiff' => 'היפט איבער ווײַזן אונטערשייד נאכן אויספֿירן א צוריקדריי',
'tog-useeditwarning' => 'שטעלן א ווארענונג ווען איך לאז איבער א רעדאקטירונג בלאט מיט נישט אויפגעהיטענע ענדערונגען',
'tog-prefershttps' => 'ניצט שטענדיק א זיכערע פארבינדונג ווען ארײַנגלאגירט',
'noarticletext-nopermission' => 'דערווײַל איז נישט פאַראַן קיין שום טעקסט אין דעם בלאַט.
איר קענט [[Special:Search/{{PAGENAME}}| זוכן דעם בלאט טיטל]] אין אנדערע בלעטער,
אדער <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} נאָכזוכן די רעלעוואנטע לאגביכער]</span>., אבער איר זענט נישט ערלויבט צו שאפֿן דעם בלאט.',
-'missing-revision' => 'די רעוויזיע #$1 פונעם בלאט "{{PAGENAME}}" עקזיסטירט נישט.
+'missing-revision' => 'די רעוויזיע #$1 פונעם בלאט "{{FULLPAGENAME}}" עקזיסטירט נישט.
דאס געשעט געוויינלעך פון פאלגן א פארעלטערטן היסטאריע לינק צו א בלאט וואס איז געווארן אויסגעמעקט.
פרטים קען מען געפינען אינעם [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} אויסמעקונג לאגבוך].',
'revdelete-no-file' => 'די ספעציפֿירטע טעקע עקזיסטירט נישט.',
'revdelete-show-file-confirm' => 'צי זענט איר זעכער איר ווילט באַקוקן אַן אויסגעמעקטע רעוויזיע פון דער טעקע "<nowiki>$1</nowiki>" פון $2 בשעה $3?',
'revdelete-show-file-submit' => 'יא',
-'revdelete-selected' => "'''{{PLURAL:$2|אויסדערוויילטע ווערסיע| אויסדערוויילטע ווערסיעס}} פון [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1| אויסדערוויילטע לאג אקציע|אויסדערוויילטע לאג אקציעס}}:'''",
+'logdelete-selected' => '{{PLURAL:$1| אויסדערוויילטע לאג אקציע|אויסדערוויילטע לאג אקציעס}}:',
'revdelete-confirm' => 'זייט אזוי גוט און באשטעטיקט אז דאס איז טאקע אייער כוונה, אז איר פארשטייט די קאנסעקווענצן, און אז איר טוט דאס לויט [[{{MediaWiki:Policy-url}}|דער פאליסי]].',
'revdelete-suppress-text' => "אונטערדרוקן זאל בלויז גענוצט ווערן '''נאר''' אין די פאלגנדע פעלער:
* אינפארמאציע וואס קען זיין מוציא שם רע
'tags-intro' => 'דער בלאַט ווײַזט די טאַגן מיט וואס דאס ווייכווארג קען צייכענען אַ רעדאַגירונג, און זייער באַטייַט.',
'tags-tag' => 'טאַג נאָמען',
'tags-display-header' => 'אויסזען אין ענדערונג רשימות',
-'tags-description-header' => 'פֿולי באַשרייַבונג פון באַטײַט',
+'tags-description-header' => 'פֿולע באַשרייַבונג פון באַטײַט',
+'tags-active-header' => 'אַקטיוו?',
'tags-hitcount-header' => 'מארקירטע ענדערונגען',
+'tags-active-yes' => 'יא',
+'tags-active-no' => 'ניין',
'tags-edit' => 'רעדאַקטירן',
'tags-hitcount' => ' {{PLURAL:$1|ענדערונג|$1 ענדערונגען}}',
'noarticletext-nopermission' => 'Lọ́wọ́lọ́wọ́ kò sí ìkọ̀ nínú ojúewé yìí.
Ẹ le [[Special:Search/{{PAGENAME}}|wá àkọlé ojúewé yìí]] nínú àwọn ojúewé mìíràn, tàbí
<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} wá àwọn àkọọ́lẹ̀ tó bámu]</span>, sùgbọ́n ẹ kò ní àṣẹ láti ṣ\'ẹ̀dá ojúewé yìí.',
-'missing-revision' => 'Àtúnyẹ̀wò #$1 ojúewé tó únjẹ́ "{{PAGENAME}}" kò sí.
+'missing-revision' => 'Àtúnyẹ̀wò #$1 ojúewé tó únjẹ́ "{{FULLPAGENAME}}" kò sí.
Èyí únsábà ṣẹlẹ̀ nítorípé ẹ tẹ̀lé ìtàn àjápọ̀ tí kò ṣiṣẹ́ mọ́ wá sí orí ojúewé tó ti jẹ́ píparẹ́.
Ẹ̀kúnrẹ́rẹ́ wà nínú [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} àkọọ́lẹ̀ ìparẹ́].',
'revdelete-no-file' => 'Fáìlì tójẹ́ títọ́kasí kò sí.',
'revdelete-show-file-confirm' => 'Ṣé ẹ ní ìdálójú pé ẹ fẹ́ wo àtúnyẹ̀wó píparẹ́ ti fáìlì "<nowiki>$1</nowiki>" látọjọ́ $2 ní ago $3?',
'revdelete-show-file-submit' => 'Bẹ́ẹ̀ni',
-'revdelete-selected' => "'''{{PLURAL:$2|Àtúnyẹ̀wò síṣàyàn|Àwọn àtúnyẹ̀wò síṣàyàn}} fún [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Àkọọ́lẹ̀ ìṣẹ̀lẹ̀ síṣàyàn|Àwọn àkọọ́lẹ̀ ìṣẹ̀lẹ̀ síṣàyàn}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Àkọọ́lẹ̀ ìṣẹ̀lẹ̀ síṣàyàn|Àwọn àkọọ́lẹ̀ ìṣẹ̀lẹ̀ síṣàyàn}}:',
'revdelete-confirm' => 'Ẹ jọ̀wọ́ ẹ rídájú pé ohun tí ẹ fẹ́ ṣe nìyí, pé ohun tí yíò ṣẹlẹ̀ yé yín, bẹ́ẹ̀sìni pé ẹ̀ únṣe é lọ́nà tó bá [[{{MediaWiki:Policy-url}}|àdéhùn]] mu.',
'revdelete-suppress-text' => "Ìrẹ̀mọ́lẹ̀ gbọ́dọ̀ jẹ́ lílò fún àwọn ìṣẹ̀lẹ̀ ìsàlẹ̀ wọ̀nyí '''nìkan''':
*Ọ̀rọ̀ tó le fa ẹjọ́ wá
'revdelete-no-file' => '指定嘅檔案未存在。',
'revdelete-show-file-confirm' => '你係咪真係想去睇響$2 $3刪咗 "$1" 嘅檔案修訂?',
'revdelete-show-file-submit' => '係',
-'revdelete-selected' => "'''揀[[:$1]]嘅$2次修訂:'''",
-'logdelete-selected' => "'''揀[[:$1]]嘅日誌事件:'''",
+'logdelete-selected' => '揀[[:$1]]嘅日誌事件:',
'revdelete-confirm' => '請確認你肯定去做嘅話,你就要明白到後果,同埋呢個程序符合[[{{MediaWiki:Policy-url}}|政策]]。',
'revdelete-suppress-text' => "壓制'''只'''應該響下面嘅情況之下進行:
* 唔合適嘅個人資料
'whatlinkshere-next' => '後$1版',
'whatlinkshere-links' => '← 連結',
'whatlinkshere-hideredirs' => '$1跳轉',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
'whatlinkshere-hidelinks' => '$1連結',
'whatlinkshere-hideimages' => '$1檔案連結',
'whatlinkshere-filters' => '過濾器',
'revisiondelete' => 'Versies verwiederen/trugplekken',
'revdelete-nooldid-title' => 'Hin doelversie',
'revdelete-nooldid-text' => 'Je ei hin doelversie(s) voe deêze handelienge opeheven, de aneheven versie besti nie, of je probeer de lèste versie te verberhen.',
-'revdelete-selected' => "'''Hesillecteerde {{PLURAL:$2|bewerkieng|bewerkiengen}} van [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|Hesillecteerde logboekactie|Hesillecteerde logboekacties}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|Hesillecteerde logboekactie|Hesillecteerde logboekacties}}:',
'revdelete-legend' => "Zichbaereidsbeperkiengen instell'n",
'revdelete-hide-text' => 'De bewerkte tekst verberhen',
'revdelete-hide-image' => 'Bestandsinoud verberhen',
'category-file-count-limited' => '以下{{PLURAL:$1|文件|$1个文件}}属于当前分类。',
'listingcontinuesabbrev' => '续',
'index-category' => '可索引页面',
-'noindex-category' => '禁止索引的页面',
+'noindex-category' => '不可索引页面',
'broken-file-category' => '有受损文件链接的页面',
'categoryviewer-pagedlinks' => '($1)($2)',
'virus-unknownscanner' => '未知的反病毒软件:',
# Login and logout pages
-'logouttext' => "'''您现在已经退出。'''
+'logouttext' => '<strong>你现在已经退出登录。</strong>
-请注意一些页面可能仍然显示您为登录状态,直到您清空您的浏览器缓存为止。",
+请注意,某些页面可能在你清除你的浏览器缓存之前,继续显示你处于登录状态。',
'welcomeuser' => '欢迎,$1!',
'welcomecreation-msg' => '你的账户已创建。请不要忘记更改你的[[Special:Preferences|{{SITENAME}}设置]]。',
'yourname' => '用户名:',
'yourpassword' => '密码:',
'userlogin-yourpassword' => '密码',
'userlogin-yourpassword-ph' => '请输入你的密码',
-'createacct-yourpassword-ph' => '请输入一个密码',
+'createacct-yourpassword-ph' => '请输入密码',
'yourpasswordagain' => '请再次输入密码:',
'createacct-yourpasswordagain' => '确认密码',
'createacct-yourpasswordagain-ph' => '请再次输入密码',
'createacct-another-join' => '在下方输入新帐户信息。',
'createacct-emailrequired' => '电子邮件地址',
'createacct-emailoptional' => '电子邮件地址(可选)',
-'createacct-email-ph' => '请输入您的电子邮件地址',
+'createacct-email-ph' => '请输入你的电子邮件地址',
'createacct-another-email-ph' => '输入电子邮件地址',
'createaccountmail' => '使用一个临时的随机密码并将其发送到指定的电子邮件地址中',
'createacct-realname' => '真实姓名 (可选)',
'createacct-reason-ph' => '你为什么要创建另一个账户',
'createacct-captcha' => '安全检查',
'createacct-imgcaptcha-ph' => '请输入上图中的文字',
-'createacct-submit' => '创建您的账户',
+'createacct-submit' => '创建你的账户',
'createacct-another-submit' => '创建另一个账户',
-'createacct-benefit-heading' => '{{SITENAME}}æ\98¯ç\94±å\83\8fæ\82¨è¿\99æ ·ç\9a\84人建ç«\8b的。',
+'createacct-benefit-heading' => '{{SITENAME}}æ\98¯ç\94±å\90\8cä½ ä¸\80æ ·ç\9a\84人们æ\9e\84ç\91的。',
'createacct-benefit-body1' => '{{PLURAL:$1|次编辑}}',
'createacct-benefit-body2' => '{{PLURAL:$1|个页面}}',
'createacct-benefit-body3' => '位最近{{PLURAL:$1|贡献者}}',
'anontalkpagetext' => "---- ''这是一个还未建立账户的匿名用户的讨论页, 因此我们只能用IP地址来与他或她联络。该IP地址可能由几名用户共享。如果您是一名匿名用户并认为此页上的评语与您无关,请[[Special:UserLogin/signup|创建新账户]]或[[Special:UserLogin|登录]]以避免在未来与其他匿名用户混淆。''",
'noarticletext' => '本页面目前没有内容。你可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索本页标题]]、<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 编辑本页面]。</span>',
'noarticletext-nopermission' => '本页面目前没有内容。你可以在其他页面中[[Special:Search/{{PAGENAME}}|搜索本页标题]]或<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜索相关日志]</span>,但你没有权限创建本页面。',
-'missing-revision' => '“{{PAGENAME}}”的修订#$1不存在。
+'missing-revision' => '“{{FULLPAGENAME}}”的修订#$1不存在。
这通常是因为进入了一个已被删除的页面的历史链接。
详细信息可以在[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 删除日志]中找到。',
'revdelete-no-file' => '指定的文件不存在。',
'revdelete-show-file-confirm' => '确定要查看文件“<nowiki>$1</nowiki>”于$2$3被删除的版本吗?',
'revdelete-show-file-submit' => '是',
-'revdelete-selected' => "'''选取'''[[:$1]]'''的$2次修订:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|选取的日志项目}}:'''",
+'revdelete-selected-text' => '已选择[[:$2]]的$1个版本:',
+'revdelete-selected-file' => '已选择文件[[:$2]]的$1个版本:',
+'logdelete-selected' => '{{PLURAL:$1|选取的日志项目}}:',
'revdelete-text-text' => '已删除修订仍将在页面历史中显示,但涉及部分的内容将对公众不可见。',
'revdelete-text-file' => '已删除文件版本仍将在文件历史中显示,但涉及部分的内容将对公众不可见。',
'logdelete-text' => '已删除日志事件仍将在日志中显示,但涉及部分的内容将对公众不可见。',
'showingresultsheader' => "关于'''$4'''的{{PLURAL:$5|第'''$1'''条结果,共'''$3'''条结果|第'''$1~$2'''条结果,共'''$3'''条结果}}",
'search-nonefound' => '找不到和查询相匹配的结果。',
'powersearch-legend' => '高级搜索',
-'powersearch-ns' => '在以下的名字空间中搜索:',
+'powersearch-ns' => '搜索名字空间:',
'powersearch-redir' => '列出重定向',
'powersearch-togglelabel' => '选择:',
'powersearch-toggleall' => '全选',
'group-sysop' => '管理员',
'group-bureaucrat' => '行政员',
'group-suppress' => '监督',
-'group-all' => '(全部)',
+'group-all' => '(所有)',
'group-user-member' => '{{GENDER:$1|用户}}',
'group-autoconfirmed-member' => '自动确认用户',
'rcshowhidemine' => '$1我的编辑',
'rcshowhidemine-show' => '显示',
'rcshowhidemine-hide' => '隐藏',
-'rclinks' => '显示最后$2天的最后$1个更改<br />$3',
+'rclinks' => '显示过去$2天的最后$1个更改<br />$3',
'diff' => '差异',
'hist' => '历史',
'hide' => '隐藏',
'file-anchor-link' => '文件',
'filehist' => '文件历史',
'filehist-help' => '单击某个日期/时间查看对应时刻的文件。',
-'filehist-deleteall' => '删除全部',
+'filehist-deleteall' => '删除所有',
'filehist-deleteone' => '删除',
'filehist-revert' => '恢复',
'filehist-current' => '当前',
'filehist-user' => '用户',
'filehist-dimensions' => '大小',
'filehist-filesize' => '文件大小',
-'filehist-comment' => '评论',
+'filehist-comment' => '备注',
'filehist-missing' => '文件遗失',
'imagelinks' => '文件用途',
'linkstoimage' => '以下{{PLURAL:$1|页面|$1个页面}}链接至本文件:',
'watchmethod-list' => '查看监视页中的最新修改',
'watchlistcontains' => '您的监视列表包含$1个页面。',
'iteminvalidname' => "页面'$1'错误,无效命名...",
-'wlnote2' => '以ä¸\8bæ\98¯æ\9c\80è¿\91<strong>$1</strong>å°\8fæ\97¶ç\9a\84å\8f\98å\8c\96,截至$2 $3。',
+'wlnote2' => 'ä¸\8bé\9d¢æ\98¯è¿\87å\8e»{{PLURAL:$1|<strong>$1</strong>å°\8fæ\97¶}}ç\9a\84æ\9b´æ\94¹,截至$2 $3。',
'wlshowlast' => '显示过去$1小时$2天$3',
'watchlist-options' => '监视列表选项',
'isredirect' => '重定向页面',
'istemplate' => '包含',
'isimage' => '文件链接',
-'whatlinkshere-prev' => '上$1个',
-'whatlinkshere-next' => '下$1个',
-'whatlinkshere-links' => '←链入页面',
-'whatlinkshere-hideredirs' => '$1重定向页',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-prev' => '{{PLURAL:$1|前|前$1个}}',
+'whatlinkshere-next' => '{{PLURAL:$1|后|后$1个}}',
+'whatlinkshere-links' => '←链接',
+'whatlinkshere-hideredirs' => '$1重定向',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
'whatlinkshere-hidelinks' => '$1链接',
-'whatlinkshere-hideimages' => '$1个文件链接',
+'whatlinkshere-hideimages' => '$1文件链接',
'whatlinkshere-filters' => '过滤器',
# Block/unblock
此外您还可以利用链接导出文件,例如您可以使用[[{{#Special:Export}}/{{MediaWiki:Mainpage}}]]导出“[[{{MediaWiki:Mainpage}}]]”页面。',
'exportall' => '导出所有页面',
-'exportcuronly' => 'ä»\85å\8c\85å\90«å½\93å\89\8dç\9a\84修订ï¼\8cè\80\8cä¸\8dæ\98¯å\85¨é\83¨ç\9a\84历史。',
+'exportcuronly' => 'ä»\85å\8c\85å\90«å½\93å\89\8dç\89\88æ\9c¬ï¼\8cè\80\8cä¸\8dæ\98¯å®\8cæ\95´历史。',
'exportnohistory' => "----
'''注意:'''由于性能原因,从此表单导出页面的全部历史已被禁用。",
'exportlistauthors' => '为每个页面包含贡献者的完整列表',
'allmessages-filter-legend' => '过滤',
'allmessages-filter' => '按自定义状态过滤:',
'allmessages-filter-unmodified' => '未修改',
-'allmessages-filter-all' => '全部',
+'allmessages-filter-all' => '所有',
'allmessages-filter-modified' => '曾修改',
'allmessages-prefix' => '以前缀过滤:',
'allmessages-language' => '语言:',
'tooltip-n-recentchanges' => '本wiki最近更改的列表',
'tooltip-n-randompage' => '载入一个随机页面',
'tooltip-n-help' => '查找帮助的地方',
-'tooltip-t-whatlinkshere' => '所有链至本页的维基页面的列表',
+'tooltip-t-whatlinkshere' => '所有链接至本页面的wiki页面的列表',
'tooltip-t-recentchangeslinked' => '链自本页的页面的最近更改',
'tooltip-feed-rss' => '本页面的RSS源',
'tooltip-feed-atom' => '本页面的Atom源',
# 'all' in various places, this might be different for inflected languages
'watchlistall2' => '所有',
-'namespacesall' => '全部',
-'monthsall' => '全部',
+'namespacesall' => '所有',
+'monthsall' => '所有',
# Email address confirmation
'confirmemail' => '确认邮箱地址',
# Separators for various lists, etc.
'comma-separator' => '、',
'colon-separator' => ':',
+'pipe-separator' => ' | ',
'word-separator' => '',
'parentheses' => '($1)',
'quotation-marks' => '“$1”',
'watchlistedit-raw-removed' => '$1个标题被删除:',
# Watchlist editing tools
-'watchlisttools-view' => '查看有关更改',
+'watchlisttools-view' => '查看相关更改',
'watchlisttools-edit' => '查看并编辑监视列表',
'watchlisttools-raw' => '编辑原始监视列表',
或[{{fullurl:{{FULLPAGENAME}}|action=edit}} 編輯此頁]</span>。',
'noarticletext-nopermission' => '此頁目前沒有內容。
您可以在其它頁[[Special:Search/{{PAGENAME}}|搜尋此頁標題]],或<span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 搜尋有關日誌]</span>,但您沒有權限建立此頁。',
-'missing-revision' => '「{{PAGENAME}}」的#$1修訂版本不存在。
+'missing-revision' => '「{{FULLPAGENAME}}」的#$1修訂版本不存在。
這通常是因為過時的頁面歷史鏈接被刪除。
詳情請閱[{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} 刪除日誌]。',
'revdelete-no-file' => '指定的檔案不存在。',
'revdelete-show-file-confirm' => '{{GENDER:|你|妳|你}}是否真的是想去檢視於$2 $3刪除「<nowiki>$1</nowiki>」的檔案修訂?',
'revdelete-show-file-submit' => '是',
-'revdelete-selected' => "'''選取[[:$1]]的$2次修訂:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|選取的日誌項目}}:'''",
+'revdelete-selected-text' => '已選定[[:$2]]之$1個版本:',
+'revdelete-selected-file' => '已選定檔案[[:$2]]之$1個版本:',
+'logdelete-selected' => '{{PLURAL:$1|選取的日誌項目}}:',
'revdelete-text-text' => '已刪除修訂版本仍將出現於頁面歷史中,唯將不公開內容訪問。',
'revdelete-text-file' => '已刪除檔案版本仍將出現於檔案歷史中,唯將不公開內容訪問。',
'logdelete-text' => '已刪除日誌活動仍將出現於日誌中,唯將不公開內容訪問。',
'contribsub2' => '{{GENDER:$3|$1}} 的貢獻 ($2)',
'nocontribs' => '沒有找到符合特徵的更改。',
'uctop' => '(最新修改)',
-'month' => '從該月份 (或更早):',
-'year' => '從該年份 (或更早):',
+'month' => '截止月份:',
+'year' => '截止年份:',
'sp-contributions-newbies' => '只顯示新建立之用戶的貢獻',
'sp-contributions-newbies-sub' => '新手',
'whatlinkshere-next' => '後$1個',
'whatlinkshere-links' => '← 連入',
'whatlinkshere-hideredirs' => '$1重定向',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
'whatlinkshere-hidelinks' => '$1連結',
'whatlinkshere-hideimages' => '$1檔案連結',
'whatlinkshere-filters' => '搜尋',
<?php
/**
- * Version of load.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of load.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
*
* 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
$IP . '/includes/htmlform/',
$IP . '/includes/installer/',
$IP . '/includes/interwiki/',
- $IP . '/includes/job/',
+ $IP . '/includes/jobqueue/',
$IP . '/includes/json/',
$IP . '/includes/logging/',
$IP . '/includes/media/',
protected function doShim( $jsondir ) {
$shim = <<<'PHP'
<?php
+/**
+ * This is a backwards-compatibility shim, generated by:
+ * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
+ *
+ * Beginning with MediaWiki 1.23, translation strings are stored in json files,
+ * and the EXTENSION.i18n.php file only exists to provide compatibility with
+ * older releases of MediaWiki. For more information about this migration, see:
+ * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
+ *
+ * This shim maintains compatibility back to MediaWiki 1.17.
+ */
$messages = array();
$GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function ( $cache, $code, &$cachedData ) {
$codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
"../../resources/mediawiki.page/mediawiki.page.watch.ajax.js",
"../../resources/mediawiki.api",
"../../resources/mediawiki.language",
+ "../../resources/jquery/jquery.arrowSteps.js",
+ "../../resources/jquery/jquery.autoEllipsis.js",
+ "../../resources/jquery/jquery.badge.js",
+ "../../resources/jquery/jquery.byteLimit.js",
"../../resources/jquery/jquery.localize.js",
"../../resources/jquery/jquery.spinner.js",
"../../resources/oojs",
'revdelete-no-file',
'revdelete-show-file-confirm',
'revdelete-show-file-submit',
- 'revdelete-selected',
+ 'revdelete-selected-text',
+ 'revdelete-selected-file',
'logdelete-selected',
'revdelete-text-text',
'revdelete-text-file',
jsduck \
--config=$MWCORE_DIR/maintenance/jsduck/config.json \
--footer="Documentation for MediaWiki core ($JSDUCK_MWVERSION). Generated on {DATE} by {JSDUCK} {VERSION}." \
-&& echo 'JSDuck execution finished.'
-
-ln -s ../../resources $MWCORE_DIR/docs/js/modules
+&& echo 'JSDuck execution finished.' \
+&& ln -s ../../resources $MWCORE_DIR/docs/js/modules
define( 'MW_CONFIG_CALLBACK', 'Installer::overrideConfig' );
define( 'MEDIAWIKI_INSTALL', true );
+// Resolve relative to regular MediaWiki root
+// instead of mw-config subdirectory.
chdir( dirname( __DIR__ ) );
require dirname( __DIR__ ) . '/includes/WebStart.php';
<?php
/**
- * Version of mw-config/index.php to used in web server requiring .php5
- * extension to execute scripts with PHP5 engine.
+ * Version of mw-config/index.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
*
* 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
* @file
*/
-define('MW_INSTALL_PHP5_EXT', 1);
+define( 'MW_INSTALL_PHP5_EXT', 1 );
+
require './index.php';
<?php
/**
- * Version of opensearch_desc.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of opensearch_desc.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
*
* 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
--- /dev/null
+<?php
+/**
+ * Version of profileinfo.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
+ *
+ * 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
+ */
+
+require './profileinfo.php';
$(eval KSS_RL_TMP := $(shell mktemp /tmp/tmp.XXXXXXXXXX))
@curl -sG "${MEDIAWIKI_LOAD_URL}?modules=mediawiki.ui|mediawiki.ui.button&only=styles" > $(KSS_RL_TMP)
@node_modules/.bin/kss-node mediawiki.ui mediawiki.ui/docs --css $(KSS_RL_TMP) -t styleguide-template
+ @rm $(KSS_RL_TMP)
+
+kssopen: kss
@echo Opening the generated style guide...
- @command -v xdg-open >/dev/null 2>&1 || { open ${PWD}/mediawiki.ui/docs/index.html; exit 1; }
+ @command -v xdg-open >/dev/null 2>&1 || { open ${PWD}/mediawiki.ui/docs/index.html; exit 0; }
@xdg-open ${PWD}/mediawiki.ui/docs/index.html
- @rm $(KSS_RL_TMP)
nodecheck:
@scripts/nodecheck.sh
),
'skinStyles' => array(
'default' => 'resources/oojs-ui/oojs-ui-apex.css',
- 'minerva' => array(),
+ 'minerva' => 'resources/oojs-ui/oojs-ui-agora.css',
),
'messages' => array(
'ooui-dialog-action-close',
-/**
+/*!
* jQuery arrowSteps plugin
* Copyright Neil Kandalgaonkar, 2010
*
* (see http://www.fsf.org/licensing/licenses/gpl.html).
* Derivative works and later versions of the code must be free software
* licensed under the same or a compatible license.
- *
- *
- * DESCRIPTION
- *
- * Show users their progress through a series of steps, via a row of items that fit
- * together like arrows. One item can be highlighted at a time.
- *
- *
- * SYNOPSIS
- *
- * <ul id="robin-hood-daffy">
- * <li id="guard"><div>Guard!</div></li>
- * <li id="turn"><div>Turn!</div></li>
- * <li id="parry"><div>Parry!</div></li>
- * <li id="dodge"><div>Dodge!</div></li>
- * <li id="spin"><div>Spin!</div></li>
- * <li id="ha"><div>Ha!</div></li>
- * <li id="thrust"><div>Thrust!</div></li>
- * </ul>
- *
- * <script>
- * $( '#robin-hood-daffy' ).arrowSteps();
- *
- * $( '#robin-hood-daffy' ).arrowStepsHighlight( '#guard' );
- * // 'Guard!' is highlighted.
- *
- * // ... user completes the 'guard' step ...
- *
- * $( '#robin-hood-daffy' ).arrowStepsHighlight( '#turn' );
- * // 'Turn!' is highlighted.
- * </script>
- *
+ */
+
+/**
+ * @class jQuery.plugin.arrowSteps
*/
( function ( $ ) {
+ /**
+ * Show users their progress through a series of steps, via a row of items that fit
+ * together like arrows. One item can be highlighted at a time.
+ *
+ * <ul id="robin-hood-daffy">
+ * <li id="guard"><div>Guard!</div></li>
+ * <li id="turn"><div>Turn!</div></li>
+ * <li id="parry"><div>Parry!</div></li>
+ * <li id="dodge"><div>Dodge!</div></li>
+ * <li id="spin"><div>Spin!</div></li>
+ * <li id="ha"><div>Ha!</div></li>
+ * <li id="thrust"><div>Thrust!</div></li>
+ * </ul>
+ *
+ * <script>
+ * $( '#robin-hood-daffy' ).arrowSteps();
+ * </script>
+ *
+ * @return {jQuery}
+ * @chainable
+ */
$.fn.arrowSteps = function () {
var $steps, width, arrowWidth,
paddingSide = $( 'body' ).hasClass( 'rtl' ) ? 'padding-left' : 'padding-right';
return this;
};
+ /**
+ * Highlights the element selected by the selector.
+ *
+ * $( '#robin-hood-daffy' ).arrowStepsHighlight( '#guard' );
+ * // 'Guard!' is highlighted.
+ *
+ * // ... user completes the 'guard' step ...
+ *
+ * $( '#robin-hood-daffy' ).arrowStepsHighlight( '#turn' );
+ * // 'Turn!' is highlighted.
+ *
+ * @param {string} selector
+ */
$.fn.arrowStepsHighlight = function ( selector ) {
var $previous,
$steps = this.data( 'arrowSteps' );
} );
};
+ /**
+ * @class jQuery
+ * @mixins jQuery.plugin.arrowSteps
+ */
}( jQuery ) );
/**
- * Plugin that automatically truncates the plain text contents of an element
- * and adds an ellipsis.
+ * @class jQuery.plugin.autoEllipsis
*/
( function ( $ ) {
// Use a separate cache when match highlighting is enabled
matchTextCache = {};
+/**
+ * Automatically truncate the plain text contents of an element and add an ellipsis
+ *
+ * @param {Object} options
+ * @param {'center'|'left'|'right'} [options.position='center'] Where to remove text.
+ * @param {boolean} [options.tooltip=false] Whether to show a tooltip with the remainder
+ * of the text.
+ * @param {boolean} [options.restoreText=false] Whether to save the text for restoring
+ * later.
+ * @param {boolean} [options.hasSpan=false] Whether the element is already a container,
+ * or if the library should create a new container for it.
+ * @param {string|null} [options.matchText=null] Text to highlight, e.g. search terms.
+ * @return {jQuery}
+ * @chainable
+ */
$.fn.autoEllipsis = function ( options ) {
options = $.extend( {
position: 'center',
} );
};
+/**
+ * @class jQuery
+ * @mixins jQuery.plugin.autoEllipsis
+ */
+
}( jQuery ) );
-/**
+/*!
* jQuery Badge plugin
*
* @license MIT
- */
-
-/**
+ *
* @author Ryan Kaldari <rkaldari@wikimedia.org>, 2012
* @author Andrew Garrett <agarrett@wikimedia.org>, 2012
* @author Marius Hoch <hoo@online.de>, 2012
*
* This program is distributed WITHOUT ANY WARRANTY.
*/
+
+/**
+ * @class jQuery.plugin.badge
+ */
( function ( $, mw ) {
/**
- * Allows you to put a "badge" on an item on the page. The badge container
- * will be appended to the selected element(s).
- * See mediawiki.org/wiki/ResourceLoader/Default_modules#jQuery.badge
+ * Put a badge on an item on the page. The badge container will be appended to the selected element(s).
+ *
+ * $element.badge( text );
+ * $element.badge( 5 );
+ * $element.badge( '100+' );
+ * $element.badge( text, inline );
+ * $element.badge( 'New', true );
*
* @param {number|string} text The value to display in the badge. If the value is falsey (0,
* null, false, '', etc.), any existing badge will be removed.
- * @param {boolean} inline True if the badge should be displayed inline, false
- * if the badge should overlay the parent element (default is inline)
- * @param {boolean} displayZero True if the number zero should be displayed,
+ * @param {boolean} [inline=true] True if the badge should be displayed inline, false
+ * if the badge should overlay the parent element.
+ * @param {boolean} [displayZero=false] True if the number zero should be displayed,
* false if the number zero should result in the badge being hidden
- * (default is zero will result in the badge being hidden)
+ * @return {jQuery}
+ * @chainable
*/
$.fn.badge = function ( text, inline, displayZero ) {
var $badge = this.find( '.mw-badge' ),
}
return this;
};
+
+ /**
+ * @class jQuery
+ * @mixins jQuery.plugin.badge
+ */
}( jQuery, mediaWiki ) );
/**
- * jQuery byteLimit plugin.
- *
- * @author Jan Paul Posma, 2011
- * @author Timo Tijhof, 2011-2012
+ * @class jQuery.plugin.byteLimit
*/
( function ( $ ) {
* "fobo", not "foba". Basically emulating the native maxlength by
* reconstructing where the insertion occured.
*
+ * @private
* @param {string} safeVal Known value that was previously returned by this
* function, if none, pass empty string.
* @param {string} newVal New value that may have to be trimmed down.
* @param {number} byteLimit Number of bytes the value may be in size.
- * @param {Function} fn [optional] See $.fn.byteLimit.
- * @return {Object} Object with:
- * - {string} newVal
- * - {boolean} trimmed
+ * @param {Function} [fn] See jQuery.byteLimit.
+ * @return {Object}
+ * @return {string} return.newVal
+ * @return {boolean} return.trimmed
*/
function trimValForByteLength( safeVal, newVal, byteLimit, fn ) {
var startMatches, endMatches, matchesLen, inpParts,
* value), a filter function (in case the limit should apply to something other than the
* exact input value), or both. Order of parameters is important!
*
- * @context {jQuery} Instance of jQuery for one or more input elements
- * @param {Number} limit [optional] Limit to enforce, fallsback to maxLength-attribute,
+ * @param {number} [limit] Limit to enforce, fallsback to maxLength-attribute,
* called with fetched value as argument.
- * @param {Function} fn [optional] Function to call on the string before assessing the length.
- * @return {jQuery} The context
+ * @param {Function} [fn] Function to call on the string before assessing the length.
+ * @return {jQuery}
+ * @chainable
*/
$.fn.byteLimit = function ( limit, fn ) {
// If the first argument is the function,
} );
} );
};
+
+ /**
+ * @class jQuery
+ * @mixins jQuery.plugin.byteLimit
+ */
}( jQuery ) );
* Appends something like this to the body...
* <p>You may not get there all in one piece.</p>
*
- * @method
* @param {Object} options Map of options to be used while localizing
* @param {string} options.prefix String to prepend to all message keys
* @param {Object} options.keys Message key aliases, used for remapping keys to a template
* @param {Object} options.params Lists of parameters to use with certain message keys
* @return {jQuery}
+ * @chainable
*/
$.fn.localize = function ( options ) {
var $target = this,
$.extend( mw.Api.prototype, {
/**
* Determine if a category exists.
- * @param {mw.Title} title
+ *
+ * @param {mw.Title|string} title
* @param {Function} [ok] Success callback (deprecated)
* @param {Function} [err] Error callback (deprecated)
* @return {jQuery.Promise}
/**
* Get a list of categories that match a certain prefix.
*
- * E.g. given "Foo", return "Food", "Foolish people", "Foosball tables" ...
+ * E.g. given "Foo", return "Food", "Foolish people", "Foosball tables"...
*
* @param {string} prefix Prefix to match.
* @param {Function} [ok] Success callback (deprecated)
},
/**
- * Get the categories that a particular page on the wiki belongs to
- * @param {mw.Title} title
+ * Get the categories that a particular page on the wiki belongs to.
+ *
+ * @param {mw.Title|string} title
* @param {Function} [ok] Success callback (deprecated)
* @param {Function} [err] Error callback (deprecated)
* @param {boolean} [async=true] Asynchronousness
.fail( err )
.promise( { abort: apiPromise.abort } );
}
-
} );
/**
$.extend( mw.Api.prototype, {
/**
- * Convinience method for 'action=parse'.
+ * Convenience method for 'action=parse'.
*
* @param {string} wikitext
* @param {Function} [ok] Success callback (deprecated)
*/
function doWatchInternal( pages, ok, err, addParams ) {
// XXX: Parameter addParams is undocumented because we inherit this
- // documentation in the public method..
+ // documentation in the public method...
var apiPromise = this.post(
$.extend(
{
unwatch: function ( pages, ok, err ) {
return doWatchInternal.call( this, pages, ok, err, { unwatch: 1 } );
}
-
} );
/**
*
* Example: Fill the string to length 10 with '+' characters on the right.
*
- * pad('blah', 10, '+', true); // => 'blah++++++'
+ * pad( 'blah', 10, '+', true ); // => 'blah++++++'
*
* @private
* @param {string} text The string to pad
* consideration to local customs.
*
* Adapted from dojo/number library with thanks
- * http://dojotoolkit.org/reference-guide/1.8/dojo/number.html
+ * <http://dojotoolkit.org/reference-guide/1.8/dojo/number.html>
*
* @private
* @param {number} value the number to be formatted, ignores sign
* Vector.
*/
-// FIXME: remove import for button styles as soon as extensions using mediawiki.ui are
-// updated to use mediawiki.ui.button as well.
@import "components/utilities";
-@import "components/default/buttons";
@import "components/default/forms";
* Provide Agora appearance for mw-ui-* classes when using the Vector skin.
*/
-// FIXME: remove import for button styles as soon as extensions using mediawiki.ui are
-// updated to use mediawiki.ui.button as well.
-
// Typography
//
// We prefer the usage of Georgia Bold for all headings. Georgia Regular is used to place emphasis on pull-out or short quotations. This latter usage should be used sparingly.
// Styleguide 1.
@import "components/utilities";
-@import "components/vector/buttons";
@import "components/vector/forms";
@import "components/vector/containers";
/**
* Example to declare existing titles:
+ *
* Title.exist.set( ['User:John_Doe', ...] );
- * Eample to declare titles nonexistent:
+ *
+ * Example to declare titles nonexistent:
+ *
* Title.exist.set( ['File:Foo_bar.jpg', ...], false );
*
* @static
/**
- * Library for simple URI parsing and manipulation. Dependencies: mw, jQuery.
+ * Library for simple URI parsing and manipulation.
*
* Intended to be minimal, but featureful; do not expect full RFC 3986 compliance. The use cases we
* have in mind are constructing 'next page' or 'previous page' URLs, detecting whether we need to
* (N.b., 'password' is technically not allowed for HTTP URIs, but it is possible with other kinds
* of URIs.)
*
- * Parsing based on parseUri 1.2.2 (c) Steven Levithan <stevenlevithan.com>, MIT License.
- * http://stevenlevithan.com/demo/parseuri/js/
+ * Parsing based on parseUri 1.2.2 (c) Steven Levithan <http://stevenlevithan.com>, MIT License.
+ * <http://stevenlevithan.com/demo/parseuri/js/>
*
* @class mw.Uri
*/
*
* @param {boolean} [instantToggle=false]
* @return {jQuery}
+ * @chainable
*/
$.fn.goIn = function ( instantToggle ) {
if ( instantToggle === true ) {
*
* @param {boolean} [instantToggle=false]
* @return jQuery
+ * @chainable
*/
$.fn.goOut = function ( instantToggle ) {
if ( instantToggle === true ) {
// Can't use jQuery.getScript because that only uses <script> for cross-domain,
// it uses XHR and eval for same-domain scripts, which we don't want because it
// messes up line numbers.
- // The below is based on jQuery ([jquery@1.8.2]/src/ajax/script.js)
+ // The below is based on jQuery ([jquery@1.9.1]/src/ajax/script.js)
- // IE-safe way of getting the <head>. document.head isn't supported
- // in old IE, and doesn't work when in the <head>.
+ // IE-safe way of getting an append target. In old IE document.head isn't supported
+ // and its getElementsByTagName can't find <head> until </head> is parsed.
done = false;
- head = document.getElementsByTagName( 'head' )[0] || document.body;
+ head = document.head || document.getElementsByTagName( 'head' )[0] || document.documentElement;
script = document.createElement( 'script' );
script.async = true;
document.body.appendChild( script );
} );
} else {
- head.appendChild( script );
+ // Circumvent IE6 bugs with base elements (jqbug.com/2709, jqbug.com/4378)
+ // by prepending instead of appending.
+ head.insertBefore( script, head.firstChild );
}
} else {
document.write( mw.html.element( 'script', { 'src': src }, '' ) );
*
* @param {string|Array} dependencies Module name or array of modules names the callback
* dependends on to be ready before executing
- * @param {Function} [ready] callback to execute when all dependencies are ready
- * @param {Function} [error] callback to execute when if dependencies have a errors
+ * @param {Function} [ready] Callback to execute when all dependencies are ready
+ * @param {Function} [error] Callback to execute if one or more dependencies failed
+ * @return {jQuery.Promise}
*/
using: function ( dependencies, ready, error ) {
- var tod = typeof dependencies;
- // Validate input
- if ( tod !== 'object' && tod !== 'string' ) {
- throw new Error( 'dependencies must be a string or an array, not a ' + tod );
- }
+ var deferred = $.Deferred();
+
// Allow calling with a single dependency as a string
- if ( tod === 'string' ) {
+ if ( typeof dependencies === 'string' ) {
dependencies = [ dependencies ];
+ } else if ( !$.isArray( dependencies ) ) {
+ // Invalid input
+ throw new Error( 'Dependencies must be a string or an array' );
+ }
+
+ if ( ready ) {
+ deferred.done( ready );
+ }
+ if ( error ) {
+ deferred.fail( error );
}
+
// Resolve entire dependency map
dependencies = resolve( dependencies );
if ( allReady( dependencies ) ) {
// Run ready immediately
- if ( $.isFunction( ready ) ) {
- ready();
- }
+ deferred.resolve();
} else if ( filter( ['error', 'missing'], dependencies ).length ) {
// Execute error immediately if any dependencies have errors
- if ( $.isFunction( error ) ) {
- error( new Error( 'one or more dependencies have state "error" or "missing"' ),
- dependencies );
- }
+ deferred.reject(
+ new Error( 'One or more dependencies failed to load' ),
+ dependencies
+ );
} else {
// Not all dependencies are ready: queue up a request
- request( dependencies, ready, error );
+ request( dependencies, deferred.resolve, deferred.reject );
}
+
+ return deferred.promise();
},
/**
* The try / catch block is used for JSON & localStorage feature detection.
* See the in-line documentation for Modernizr's localStorage feature detection
* code for a full account of why we need a try / catch:
- * https://github.com/Modernizr/Modernizr/blob/v2.7.1/modernizr.js#L771-L796
+ * <https://github.com/Modernizr/Modernizr/blob/v2.7.1/modernizr.js#L771-L796>.
*/
init: function () {
var raw, data;
* @param {string} name The tag name.
* @param {Object} attrs An object with members mapping element names to values
* @param {Mixed} contents The contents of the element. May be either:
+ *
* - string: The string is escaped.
- * - null or undefined: The short closing form is used, e.g. <br/>.
+ * - null or undefined: The short closing form is used, e.g. `<br/>`.
* - this.Raw: The value attribute is included without escaping.
* - this.Cdata: The value attribute is included, and an exception is
* thrown if it contains an illegal ETAGO delimiter.
- * See http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.3.2
+ * See <http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.3.2>.
*/
element: function ( name, attrs, contents ) {
var v, attrName, s = '<' + name;
/**
* Get the link to a page name (relative to `wgServer`),
*
- * @param {string} str Page name to get the link for.
+ * @param {string} str Page name
* @param {Object} [params] A mapping of query parameter names to values,
- * e.g. `{ action: 'edit' }`.
- * @return {string} Location for a page with name of `str` or boolean false on error.
+ * e.g. `{ action: 'edit' }`
+ * @return {string} Url of the page with name of `str`
*/
getUrl: function ( str, params ) {
- var url = mw.config.get( 'wgArticlePath' ).replace( '$1',
- util.wikiUrlencode( typeof str === 'string' ? str : mw.config.get( 'wgPageName' ) ) );
+ var url = mw.config.get( 'wgArticlePath' ).replace(
+ '$1',
+ util.wikiUrlencode( typeof str === 'string' ? str : mw.config.get( 'wgPageName' ) )
+ );
+
if ( params && !$.isEmptyObject( params ) ) {
- url += url.indexOf( '?' ) !== -1 ? '&' : '?';
- url += $.param( params );
+ url += ( url.indexOf( '?' ) !== -1 ? '&' : '?' ) + $.param( params );
}
+
return url;
},
"ooui-dialog-action-close": "Cerrar",
"ooui-outline-control-move-down": "Mover abajo",
"ooui-outline-control-move-up": "Mover arriba",
+ "ooui-outline-control-remove": "Eliminar elemento",
"ooui-toolbar-more": "Más"
}
\ No newline at end of file
"ooui-dialog-action-close": "Sule",
"ooui-outline-control-move-down": "Liiguta üksust allapoole",
"ooui-outline-control-move-up": "Liiguta üksust ülespoole",
+ "ooui-outline-control-remove": "Eemalda üksus",
"ooui-toolbar-more": "Veel"
}
\ No newline at end of file
"Ansumang",
"Devayon",
"Rajesh",
- "Siddhartha Ghai"
+ "Siddhartha Ghai",
+ "Goelujjwal"
]
},
"ooui-dialog-action-close": "बंद करें",
"ooui-outline-control-move-down": "प्रविष्टि नीचे ले जाएँ",
"ooui-outline-control-move-up": "प्रविष्टि ऊपर ले जाएँ",
+ "ooui-outline-control-remove": "आइटम हटाएँ",
"ooui-toolbar-more": "अधिक"
}
\ No newline at end of file
"ooui-dialog-action-close": "Жабу",
"ooui-outline-control-move-down": "Элементті төмен жылжыту",
"ooui-outline-control-move-up": "Элементті жоғары жылжыту",
+ "ooui-outline-control-remove": "Элементті алып тастау",
"ooui-toolbar-more": "толығырақ"
}
\ No newline at end of file
{
"@metadata": {
"authors": [
- "AlimanRuna"
+ "AlimanRuna",
+ "Jduranboger"
]
},
"ooui-dialog-action-close": "Wichq'ay",
"ooui-outline-control-move-down": "Qallawata uraykuchiy",
"ooui-outline-control-move-up": "Qallawata huqariy",
+ "ooui-outline-control-remove": "P'anqa sutikunata qichuy",
"ooui-toolbar-more": "Aswan"
}
\ No newline at end of file
--- /dev/null
+.oo-ui-window-head {
+ height: 3.35em;
+ border-bottom: 1px solid #dddddd;
+}
+
+.oo-ui-window-body {
+ padding: 2em 3.35em;
+}
+
+.oo-ui-window-icon {
+ width: 3.35em;
+ height: 3.35em;
+ background-size: 2em auto;
+ border-left: 1px solid #dddddd;
+}
+
+.oo-ui-window-title {
+ line-height: 3.35em;
+}
+
+.oo-ui-buttonedElement.oo-ui-indicatedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator,
+.oo-ui-buttonedElement.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
+ width: 3.35em;
+ height: 3.35em;
+ background-size: 2em auto;
+}
+
+.oo-ui-optionWidget {
+ padding: 0.8em 1em 0.8em 3.35em;
+ font-weight: bold;
+ border-bottom: 1px solid #dddddd;
+}
+
+.oo-ui-optionWidget.oo-ui-indicatedElement .oo-ui-labeledElement-label {
+ padding-right: 1.5em;
+}
+
+.oo-ui-optionWidget-level-0 {
+ padding-left: 3.5em;
+}
+
+.oo-ui-optionWidget-level-0 .oo-ui-iconedElement-icon {
+ left: 1em;
+}
+
+.oo-ui-optionWidget-level-1 {
+ padding-left: 5em;
+}
+
+.oo-ui-optionWidget-level-1 .oo-ui-iconedElement-icon {
+ left: 2.5em;
+}
+
+.oo-ui-optionWidget-level-2 {
+ padding-left: 6.5em;
+}
+
+.oo-ui-optionWidget-level-2 .oo-ui-iconedElement-icon {
+ left: 4em;
+}
+
+.oo-ui-buttonOptionWidget {
+ padding: 0;
+}
+
+.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+ color: #ffffff;
+ background: #347bff;
+}
+
+.oo-ui-menuSectionItemWidget {
+ font-weight: normal;
+ color: #777777;
+ border: none;
+}
+
+.oo-ui-textInputWidget input,
+.oo-ui-textInputWidget textarea {
+ padding: .8em 1em;
+}
\ No newline at end of file
box-shadow: 0 0 0.66em rgba(0, 0, 0, 0.25);
}
+.oo-ui-frame-content {
+ font-family: sans-serif;
+ font-size: 0.8em;
+}
+
.oo-ui-toolbar-bar {
background: #f8fbfd;
background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #f1f7fb));
transition: border-color 300ms ease-in-out;
}
-.oo-ui-toolGroup:hover {
+.oo-ui-toolGroup.oo-ui-widget-enabled:hover {
border-color: rgba(0, 0, 0, 0.1);
}
-.oo-ui-toolGroup .oo-ui-tool-link .oo-ui-tool-title {
+.oo-ui-toolGroup.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-tool-title {
color: #000;
}
+.oo-ui-window-body {
+ padding: 0 0.75em;
+}
+
+.oo-ui-window-icon {
+ width: 2em;
+ height: 2em;
+ margin-right: 0.5em;
+ line-height: 2em;
+}
+
.oo-ui-window-title {
+ line-height: 2em;
color: #333;
}
.oo-ui-buttonedElement.oo-ui-indicatedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator,
.oo-ui-buttonedElement.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
+ width: 1.9em;
+ height: 1.9em;
opacity: 0.8;
}
.oo-ui-buttonedElement-frameless .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
- -webkit-transition: opacity 200ms;
- -moz-transition: opacity 200ms;
- -ms-transition: opacity 200ms;
- -o-transition: opacity 200ms;
- transition: opacity 200ms;
+ /* Don't animate opacities for now, causes wiggling in Chrome (bug 63020) */
+
+ /*.oo-ui-transition(opacity 200ms);*/
+
}
.oo-ui-buttonedElement-frameless .oo-ui-buttonedElement-button:hover > .oo-ui-iconedElement-icon,
border-bottom-right-radius: 0.25em;
}
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover {
+.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
+ opacity: 0.8;
+}
+
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover {
border-color: rgba(0, 0, 0, 0.2);
}
-.oo-ui-barToolGroup .oo-ui-tool-active.oo-ui-widget-enabled {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled {
background: #f8fbfd;
background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #f1f7fb), color-stop(100%, #ffffff));
background-image: -webkit-linear-gradient(top, #f1f7fb 0%, #ffffff 100%);
box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07);
}
-.oo-ui-barToolGroup .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-active.oo-ui-widget-enabled + .oo-ui-tool-active.oo-ui-widget-enabled {
border-left-color: rgba(0, 0, 0, 0.1);
}
-.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
- opacity: 0.8;
-}
-
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
opacity: 0.2;
}
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
opacity: 0.8;
}
-.oo-ui-barToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconedElement-icon {
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool.oo-ui-widget-enabled:hover .oo-ui-tool-link .oo-ui-iconedElement-icon {
opacity: 1;
}
+.oo-ui-barToolGroup.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+ opacity: 0.2;
+}
+
.oo-ui-listToolGroup.oo-ui-popupToolGroup-active {
border-color: rgba(0, 0, 0, 0.2);
}
opacity: 0.2;
}
+.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator,
+.oo-ui-listToolGroup.oo-ui-widget-disabled .oo-ui-iconedElement-icon {
+ opacity: 0.2;
+}
+
.oo-ui-menuToolGroup {
border-color: rgba(0, 0, 0, 0.1);
}
-.oo-ui-menuToolGroup:hover {
+.oo-ui-menuToolGroup.oo-ui-widget-enabled:hover {
border-color: rgba(0, 0, 0, 0.2);
}
border-color: rgba(0, 0, 0, 0.25);
}
-.oo-ui-menuToolGroup .oo-ui-tool:hover {
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-enabled:hover {
background-color: #e1f3ff;
}
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-tool-title {
+ color: #ccc;
+}
+
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link .oo-ui-iconedElement-icon {
+ opacity: 0.2;
+}
+
+.oo-ui-menuToolGroup.oo-ui-widget-disabled {
+ color: #ccc;
+ text-shadow: 0 1px 1px #fff;
+ background-color: #f3f3f3;
+ border-color: #ddd;
+}
+
+.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator,
+.oo-ui-menuToolGroup.oo-ui-widget-disabled .oo-ui-iconedElement-icon {
+ opacity: 0.2;
+}
+
.oo-ui-popupToolGroup-handle .oo-ui-indicatedElement-indicator,
.oo-ui-popupToolGroup-handle .oo-ui-iconedElement-icon {
opacity: 0.8;
box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07);
}
+.oo-ui-optionWidget {
+ padding: 0.5em 2em 0.5em 3em;
+}
+
.oo-ui-optionWidget-highlighted {
background-color: #e1f3ff;
}
background-color: #a7dcff;
}
+.oo-ui-optionWidget.oo-ui-widget-disabled {
+ color: #ccc;
+}
+
.oo-ui-menuWidget {
margin-top: -1px;
background: #fff;
white-space: nowrap;
}
+.oo-ui-buttonOptionWidget {
+ padding: 0;
+}
+
.oo-ui-buttonOptionWidget.oo-ui-optionWidget-selected,
.oo-ui-buttonOptionWidget.oo-ui-optionWidget-highlighted {
background-color: transparent;
opacity: 0.8;
}
+.oo-ui-inlineMenuWidget.oo-ui-widget-disabled .oo-ui-inlineMenuWidget-handle {
+ color: #ccc;
+ text-shadow: 0 1px 1px #fff;
+ background-color: #f3f3f3;
+ border-color: #ddd;
+}
+
+.oo-ui-inlineMenuWidget.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator {
+ opacity: 0.2;
+}
+
.oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted {
background-color: #e1f3ff;
}
.oo-ui-menuSectionItemWidget {
+ padding: 0.33em 0.75em;
color: #888;
}
font-size: 1.1em;
}
+.oo-ui-outlineItemWidget.oo-ui-indicatedElement .oo-ui-labeledElement-label {
+ padding-right: 1.5em;
+}
+
+.oo-ui-outlineItemWidget-level-0 {
+ padding-left: 3.5em;
+}
+
+.oo-ui-outlineItemWidget-level-0 .oo-ui-iconedElement-icon {
+ left: 1em;
+}
+
+.oo-ui-outlineItemWidget-level-1 {
+ padding-left: 5em;
+}
+
+.oo-ui-outlineItemWidget-level-1 .oo-ui-iconedElement-icon {
+ left: 2.5em;
+}
+
+.oo-ui-outlineItemWidget-level-2 {
+ padding-left: 6.5em;
+}
+
+.oo-ui-outlineItemWidget-level-2 .oo-ui-iconedElement-icon {
+ left: 4em;
+}
+
.oo-ui-outlineItemWidget.oo-ui-optionWidget-selected {
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
background-color: #a7dcff;
box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.2);
}
+.oo-ui-textInputWidget {
+ width: 20em;
+}
+
.oo-ui-textInputWidget input,
.oo-ui-textInputWidget textarea {
+ padding: 0.5em;
font-family: sans-serif;
font-size: 1em;
background-color: #fff;
transition: border-color 200ms, box-shadow 200ms;
}
+.oo-ui-textInputWidget-decorated input,
+.oo-ui-textInputWidget-decorated textarea {
+ padding-left: 2em;
+}
+
+.oo-ui-textInputWidget-icon {
+ width: 2em;
+}
+
.oo-ui-textInputWidget.oo-ui-widget-enabled input:focus,
.oo-ui-textInputWidget.oo-ui-widget-enabled textarea:focus {
border-color: #a7dcff;
/*!
- * OOjs UI v0.1.0
+ * OOjs UI v0.1.0-pre (23fb1b6144)
* https://www.mediawiki.org/wiki/OOjs_UI
*
* Copyright 2011–2014 OOjs Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: Mon Mar 24 2014 17:35:46 GMT-0700 (PDT)
+ * Date: Thu Mar 27 2014 14:49:30 GMT-0700 (PDT)
*/
-( function () {
+( function ( OO ) {
'use strict';
/**
*
* @constructor
* @param {OO.ui.ToolFactory} toolFactory Factory for creating tools
+ * @param {OO.ui.ToolGroupFactory} toolGroupFactory Factory for creating tool groups
* @param {Object} [config] Configuration options
* @cfg {boolean} [actions] Add an actions section opposite to the tools
* @cfg {boolean} [shadow] Add a shadow below the toolbar
*/
-OO.ui.Toolbar = function OoUiToolbar( toolFactory, config ) {
+OO.ui.Toolbar = function OoUiToolbar( toolFactory, toolGroupFactory, config ) {
// Configuration initialization
config = config || {};
// Properties
this.toolFactory = toolFactory;
+ this.toolGroupFactory = toolGroupFactory;
this.groups = [];
this.tools = {};
this.$bar = this.$( '<div>' );
return this.toolFactory;
};
+/**
+ * Get the tool group factory.
+ *
+ * @return {OO.Factory} Tool group factory
+ */
+OO.ui.Toolbar.prototype.getToolGroupFactory = function () {
+ return this.toolGroupFactory;
+};
+
/**
* Handles mouse down events.
*
OO.ui.Toolbar.prototype.setup = function ( groups ) {
var i, len, type, group,
items = [],
- // TODO: Use a registry instead
- defaultType = 'bar',
- constructors = {
- 'bar': OO.ui.BarToolGroup,
- 'list': OO.ui.ListToolGroup,
- 'menu': OO.ui.MenuToolGroup
- };
+ defaultType = 'bar';
// Cleanup previous groups
this.reset();
group.label = 'ooui-toolbar-more';
}
}
- type = constructors[group.type] ? group.type : defaultType;
+ // Check type has been registered
+ type = this.getToolGroupFactory().lookup( group.type ) ? group.type : defaultType;
items.push(
- new constructors[type]( this, $.extend( { '$': this.$ }, group ) )
+ this.getToolGroupFactory().create( type, this, $.extend( { '$': this.$ }, group ) )
);
}
this.addItems( items );
}
this.$element.remove();
};
+/**
+ * Factory for tools.
+ *
+ * @class
+ * @extends OO.Factory
+ * @constructor
+ */
+OO.ui.ToolGroupFactory = function OoUiToolGroupFactory() {
+ // Parent constructor
+ OO.Factory.call( this );
+
+ var i, l,
+ defaultClasses = this.constructor.static.getDefaultClasses();
+
+ // Register default toolgroups
+ for ( i = 0, l = defaultClasses.length; i < l; i++ ) {
+ this.register( defaultClasses[i] );
+ }
+};
+
+/* Inheritance */
+
+OO.inheritClass( OO.ui.ToolGroupFactory, OO.Factory );
+
+/* Static Methods */
+
+/**
+ * Get a default set of classes to be registered on construction
+ * @return {Function[]} Default classes
+ */
+OO.ui.ToolGroupFactory.static.getDefaultClasses = function () {
+ return [
+ OO.ui.BarToolGroup,
+ OO.ui.ListToolGroup,
+ OO.ui.MenuToolGroup
+ ];
+};
/**
* Layout made of a fieldset and optional legend.
*
OO.ui.BarToolGroup.static.titleTooltips = true;
OO.ui.BarToolGroup.static.accelTooltips = true;
+
+OO.ui.BarToolGroup.static.name = 'bar';
/**
* Popup list of tools with an icon and optional label.
*
/* Static Properties */
OO.ui.ListToolGroup.static.accelTooltips = true;
+
+OO.ui.ListToolGroup.static.name = 'list';
/**
* Drop down menu layout of tools as selectable menu items.
*
OO.ui.MenuToolGroup.static.accelTooltips = true;
+OO.ui.MenuToolGroup.static.name = 'menu';
+
/* Methods */
/**
}
}
- this.setLabel( labelTexts.join( ', ' ) );
+ this.setLabel( labelTexts.join( ', ' ) || ' ' );
};
/**
* UserInterface popup tool.
/**
* Group widget.
*
+ * Mixin for OO.ui.Widget subclasses.
+ *
* Use together with OO.ui.ItemWidget to make disabled state inheritable.
*
* @class
var i, len;
// Parent method
+ // Note this is calling OO.ui.Widget; we're assuming the class this is mixed into
+ // is a subclass of OO.ui.Widget.
OO.ui.Widget.prototype.setDisabled.call( this, disabled );
// During construction, #setDisabled is called before the OO.ui.GroupElement constructor
* @param {OO.ui.MenuItemWidget} item Selected menu item
*/
OO.ui.InlineMenuWidget.prototype.onMenuSelect = function ( item ) {
- this.setLabel( item.getLabel() );
+ var selectedLabel = item.getLabel();
+
+ // If the label is a DOM element, clone it, because setLabel will append() it
+ if ( selectedLabel instanceof jQuery ) {
+ selectedLabel = selectedLabel.clone();
+ }
+
+ this.setLabel( selectedLabel );
};
/**
this.setValue( !this.value );
}
};
-}() );
+}( OO ) );
/*!
- * OOjs UI v0.1.0
+ * OOjs UI v0.1.0-pre (23fb1b6144)
* https://www.mediawiki.org/wiki/OOjs_UI
*
* Copyright 2011–2014 OOjs Team and other contributors.
* Released under the MIT license
* http://oojs.mit-license.org
*
- * Date: Mon Mar 24 2014 17:35:46 GMT-0700 (PDT)
+ * Date: Thu Mar 27 2014 14:49:30 GMT-0700 (PDT)
*/
/* Textures */
background: none;
}
-.oo-ui-frame-content {
- font-family: sans-serif;
- font-size: 0.8em;
-}
-
.oo-ui-toolbar {
clear: both;
}
-webkit-touch-callout: none;
}
-.oo-ui-window-body {
- padding: 0 0.75em;
-}
-
.oo-ui-window-icon {
float: left;
- width: 2em;
- height: 2em;
- margin-right: 0.5em;
- line-height: 2em;
- background-position: right center;
+ background-position: center center;
background-repeat: no-repeat;
}
.oo-ui-window-title {
float: left;
- line-height: 2em;
white-space: nowrap;
cursor: default;
}
.oo-ui-buttonedElement.oo-ui-indicatedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator,
.oo-ui-buttonedElement.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
display: inline-block;
- width: 1.9em;
- height: 1.9em;
vertical-align: middle;
background-position: center center;
background-repeat: no-repeat;
display: block;
height: 1.5em;
padding: 0.25em;
- cursor: pointer;
}
.oo-ui-barToolGroup .oo-ui-tool-link .oo-ui-iconedElement-icon {
display: none;
}
+.oo-ui-barToolGroup.oo-ui-widget-enabled .oo-ui-tool-link {
+ cursor: pointer;
+}
+
.oo-ui-listToolGroup .oo-ui-toolGroup-tools {
padding: 0.25em;
}
background-image: /* @embed */ url(images/icons/check.png);
}
+.oo-ui-menuToolGroup .oo-ui-tool.oo-ui-widget-disabled .oo-ui-tool-link {
+ cursor: default;
+}
+
.oo-ui-popupToolGroup {
position: relative;
height: 2em;
line-height: 2.6em;
}
+.oo-ui-popupToolGroup.oo-ui-widget-disabled .oo-ui-popupToolGroup-handle {
+ cursor: default;
+}
+
.oo-ui-popupToolGroup.oo-ui-iconedElement .oo-ui-popupToolGroup-handle .oo-ui-labeledElement-label {
margin-left: 3em;
}
.oo-ui-optionWidget {
position: relative;
display: block;
- padding: 0.5em 2em 0.5em 3em;
margin: 0;
list-style: none;
cursor: pointer;
}
.oo-ui-optionWidget .oo-ui-labeledElement-label {
+ display: block;
overflow: hidden;
line-height: 1.5em;
text-overflow: ellipsis;
.oo-ui-buttonOptionWidget {
display: inline-block;
- padding: 0;
background-color: transparent;
}
}
.oo-ui-inlineMenuWidget .oo-ui-menuWidget {
+ z-index: 1;
width: 100%;
}
+.oo-ui-inlineMenuWidget.oo-ui-widget-disabled .oo-ui-inlineMenuWidget-handle {
+ cursor: default;
+}
+
.oo-ui-menuItemWidget {
position: relative;
}
}
.oo-ui-menuSectionItemWidget {
- padding: 0.33em 0.75em;
cursor: default;
}
-webkit-touch-callout: none;
}
-.oo-ui-outlineItemWidget.oo-ui-indicatedElement .oo-ui-labeledElement-label {
- padding-right: 1.5em;
-}
-
-.oo-ui-outlineItemWidget-level-0 {
- padding-left: 3.5em;
-}
-
-.oo-ui-outlineItemWidget-level-0 .oo-ui-iconedElement-icon {
- left: 1em;
-}
-
-.oo-ui-outlineItemWidget-level-1 {
- padding-left: 5em;
-}
-
-.oo-ui-outlineItemWidget-level-1 .oo-ui-iconedElement-icon {
- left: 2.5em;
-}
-
-.oo-ui-outlineItemWidget-level-2 {
- padding-left: 6.5em;
-}
-
-.oo-ui-outlineItemWidget-level-2 .oo-ui-iconedElement-icon {
- left: 4em;
-}
-
.oo-ui-popupButtonWidget {
position: relative;
}
.oo-ui-textInputWidget {
position: relative;
- width: 20em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
.oo-ui-textInputWidget textarea {
display: inline-block;
width: 100%;
- padding: 0.5em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
resize: none;
}
-.oo-ui-textInputWidget-decorated input,
-.oo-ui-textInputWidget-decorated textarea {
- padding-left: 2em;
-}
-
.oo-ui-textInputWidget-icon {
position: absolute;
top: 0;
left: 0;
- width: 2em;
height: 100%;
background-position: right center;
background-repeat: no-repeat;
.oo-ui-toggleSwitchWidget {
position: relative;
display: inline-block;
- width: 3em;
+ width: 4em;
height: 2em;
overflow: hidden;
vertical-align: middle;
}
.oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip {
- left: 1.25em;
+ left: 2.25em;
margin-left: -2px;
}
cd -
# Copy files from dist/ to resources/oojs-ui
-cp -a $1/dist/{oojs-ui.js,oojs-ui.svg.css,oojs-ui-apex.css,images,i18n} resources/oojs-ui/
+cp -a $1/dist/{oojs-ui.js,oojs-ui.svg.css,oojs-ui-apex.css,oojs-ui-agora.css,images,i18n} resources/oojs-ui/
# Figure out what the new version is
NEWVERSION=$(oojsuiversion)
# Generate commit summary
img.thumbborder {
border: 1px solid #dddddd;
}
-
-/**
- * Basic styles for the user login and create account forms
- */
-#loginend {
- margin: 0.5em;
-}
-
-#loginend table {
- width: 100%;
-}
margin-top: 2em;
}
-#loginend, #signupend {
- clear: both;
-}
-
#userloginprompt, #languagelinks {
font-size: 85%;
}
}
body {
background-color: @menu-background-color;
- font-size: @body-font-size;
}
/* Content */
background-color: @body-background-color;
color: @content-font-color;
direction: ltr;
+
+ .mw-editsection {
+ font-family: @content-font-family;
+ }
+
+ p {
+ line-height: inherit;
+ margin: 0.5em 0;
+ }
+
+ h1,
+ h2,
+ #firstHeading {
+ font-family: @content-heading-font-family;
+ line-height: @heading-line-height;
+ margin-bottom: 0.25em;
+ padding: 0;
+ }
+
+ h1,
+ #firstHeading {
+ font-size: @content-heading-font-size;
+ margin-top: 0;
+ }
+
+ h2 {
+ font-size: 1.5em;
+ margin-top: 1em;
+ }
+
+ h3,
+ h4,
+ h5,
+ h6 {
+ line-height: @content-line-height;
+ margin-top: 0.3em;
+ margin-bottom: 0;
+ padding-bottom: 0;
+ }
+
+ h3 {
+ font-size: 1.17em;
+ }
+
+ h3,
+ h4 {
+ font-weight: bold;
+ }
+
+ h4,
+ h5,
+ h6 {
+ font-size: 100%; /* (reset) */
+ }
+
+ #toc h2,
+ .toc h2 {
+ font-size: 100%; /* (reset) */
+ font-family: @content-font-family;
+ }
+
+ // Prevent citations and subscripts from interfering with the line-height
+ sup,
+ sub {
+ line-height: 1;
+ }
}
/* Hide empty portlets */
font-size: 0.8em;
}
-#firstHeading {
- padding-top: 0;
- margin-top: 0;
- font-size: @content-heading-font-size;
-}
-
.redirectText {
font-size: 140%;
}
@html-font-size: 1em;
-@body-font-size: 1em;
-
// Page content
// FIXME: Use global variable since Echo and CentralNotice use this variable
@content-border-color: #a7d7f9;
-@content-font-family: sans-serif;
-@content-font-color: black;
-@content-font-size: 0.8em;
-@content-line-height: 1.5em;
+@content-font-family: Arimo, "Liberation Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+@content-font-color: #252525;
+@content-font-size: 0.875em;
+@content-line-height: 1.6;
@content-padding: 1em;
-@content-heading-font-size: 1.6em;
-@content-heading-font-family: sans-serif;
+@content-heading-font-size: 1.8em;
+@content-heading-font-family: "Linux Libertine", Georgia, Times, serif;
@body-background-color: #fff;
+@heading-line-height: 1.3;
// Navigation
@menu-background-color: #f6f6f6;
self::deleteFiles(
array(
"$dir/3/3a/Foobar.jpg",
- "$dir/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg",
- "$dir/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg",
- "$dir/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/1000px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/100px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/137px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/1500px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/177px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/206px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/20px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/265px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/274px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/300px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/30px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/330px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/353px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/400px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/40px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/440px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/442px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/450px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/50px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/600px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/70px-Foobar.jpg",
+ "$dir/thumb/3/3a/Foobar.jpg/75px-Foobar.jpg",
"$dir/thumb/3/3a/Foobar.jpg/960px-Foobar.jpg",
"$dir/e/ea/Thumb.png",
"$dir/f/ff/Foobar.svg",
"$dir/thumb/f/ff/Foobar.svg/180px-Foobar.svg.png",
- "$dir/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png",
- "$dir/thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png",
+ "$dir/thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png",
"$dir/thumb/f/ff/Foobar.svg/270px-Foobar.svg.png",
+ "$dir/thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png",
+ "$dir/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png",
+ "$dir/thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png",
"$dir/thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.png",
+ "$dir/thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png",
"$dir/thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png",
"$dir/math/f/a/5/fa50b8b616463173474302ca3e63586b.png",
array(
"$dir/3/3a",
"$dir/3",
- "$dir/thumb/6/65",
- "$dir/thumb/6",
"$dir/thumb/3/3a/Foobar.jpg",
"$dir/thumb/3/3a",
"$dir/thumb/3",
# See https://www.mediawiki.org/wiki/Help:Images#Size_and_frame
# and https://bugzilla.wikimedia.org/show_bug.cgi?id=62258
# Foobar has actual size of 1941x220
-# 1. Thumbs & frameless always reduce, can't be enlarged
+# 1. Thumbs & frameless always reduce, can't be enlarged unless it's
+# a scalable format.
# 2. Framed images ignore width; always render at default size.
# If given a height, they respect height but continue to ignore width.
# 3. "Unspecified format" and border are the only types which can be
!! end
!! test
-Image: thumbs can't be enlarged past original size
+Image: bitmap thumbs can't be enlarged past original size, but vector can.
!! options
parsoid=wt2html,wt2wt,html2html
!! wikitext
[[File:Foobar.jpg|thumb|2000px]]
+
+[[File:Foobar.svg|thumb|2000px]]
!! html/php
<div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" class="thumbimage" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div></div></div></div>
+<div class="thumb tright"><div class="thumbinner" style="width:2002px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="Foobar.svg" src="http://example.com/images/thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png" width="2000" height="1500" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div></div></div></div>
!! html/parsoid
<figure typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></figure>
+<figure typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="1500" width="2000"/></a></figure>
!! end
!! test
!! end
!! test
-Image: frameless can't be enlarged past original size
+Image: bitmap frameless can't be enlarged past original size, but vector can
!! options
parsoid=wt2html,wt2wt,html2html
!! wikitext
[[File:Foobar.jpg|frameless|2000px]]
+
+[[File:Foobar.svg|frameless|2000px]]
!! html/php
<p><a href="/wiki/File:Foobar.jpg" class="image"><img alt="Foobar.jpg" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
+</p><p><a href="/wiki/File:Foobar.svg" class="image"><img alt="Foobar.svg" src="http://example.com/images/thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png" width="2000" height="1500" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png 2x" /></a>
</p>
!! html/parsoid
<p><span typeof="mw:Image/Frameless"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
+<p><span typeof="mw:Image/Frameless"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="1500" width="2000"/></a></span></p>
!! end
!! test
!! options
!! wikitext
[[File:Foobar.svg|thumb|caption]]
-!! html
+!! html/php
<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="165" width="220"/></a><figcaption>caption</figcaption></figure>
!! end
!! test
SVG thumbnails with language de
!! options
+parsoid=wt2html,wt2wt,html2html
!! wikitext
[[File:Foobar.svg|thumb|caption|lang=de]]
-!! html
+!! html/php
<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/index.php?title=File:Foobar.svg&lang=de" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>caption</div></div></div>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" lang="de" height="165" width="220"/></a><figcaption>caption</figcaption></figure>
!! end
!! test
SVG thumbnails with invalid language code
!! options
+parsoid=wt2html,wt2wt,html2html
!! wikitext
[[File:Foobar.svg|thumb|caption|lang=invalid.language.code]]
-!! html
+!! html/php
<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.svg" class="image"><img alt="" src="http://example.com/images/thumb/f/ff/Foobar.svg/180px-Foobar.svg.png" width="180" height="135" class="thumbimage" srcset="http://example.com/images/thumb/f/ff/Foobar.svg/270px-Foobar.svg.png 1.5x, http://example.com/images/thumb/f/ff/Foobar.svg/360px-Foobar.svg.png 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.svg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>lang=invalid.language.code</div></div></div>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.svg"><img resource="./File:Foobar.svg" src="//example.com/images/f/ff/Foobar.svg" height="165" width="220"/></a><figcaption>lang=invalid.language.code</figcaption></figure>
!! end
!! test
BUG 1887: A ISBN with a thumbnail
!! wikitext
-[[Image:foobar.jpg|thumb|ISBN 1235467890]]
-!! html
+[[File:Foobar.jpg|thumb|ISBN 1235467890]]
+!! html/php
<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div><a href="/wiki/Special:BookSources/1235467890" class="internal mw-magiclink-isbn">ISBN 1235467890</a></div></div></div>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption><a href="Special:BookSources/1235467890" rel="mw:ExtLink">ISBN 1235467890</a></figcaption></figure>
!! end
!! test
BUG 1887: A RFC with a thumbnail
!! wikitext
-[[Image:foobar.jpg|thumb|This is RFC 12354]]
-!! html
+[[File:Foobar.jpg|thumb|This is RFC 12354]]
+!! html/php
<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is <a class="external mw-magiclink-rfc" rel="nofollow" href="//tools.ietf.org/html/rfc12354">RFC 12354</a></div></div></div>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>This is <a href="//tools.ietf.org/html/rfc12354" rel="mw:ExtLink">RFC 12354</a></figcaption></figure>
!! end
!! test
BUG 1887: A mailto link with a thumbnail
!! wikitext
-[[Image:foobar.jpg|thumb|Please mailto:nobody@example.com]]
-!! html
+[[File:Foobar.jpg|thumb|Please mailto:nobody@example.com]]
+!! html/php
<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>Please <a rel="nofollow" class="external free" href="mailto:nobody@example.com">mailto:nobody@example.com</a></div></div></div>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>Please <a rel="mw:ExtLink" href="mailto:nobody@example.com">mailto:nobody@example.com</a></figcaption></figure>
!! end
# Pending resolution to bug 368
!! test
BUG 648: Frameless image caption with a link
!! wikitext
-[[Image:foobar.jpg|text with a [[link]] in it]]
-!! html
+[[File:Foobar.jpg|text with a [[link]] in it]]
+!! html/php
<p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a link in it"><img alt="text with a link in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
</p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[link]] in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
!! end
!! test
BUG 648: Frameless image caption with a link (suffix)
!! wikitext
-[[Image:foobar.jpg|text with a [[link]]foo in it]]
-!! html
+[[File:Foobar.jpg|text with a [[link]]foo in it]]
+!! html/php
<p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a linkfoo in it"><img alt="text with a linkfoo in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
</p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[link]]foo in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
!! end
!! test
BUG 648: Frameless image caption with an interwiki link
!! wikitext
-[[Image:foobar.jpg|text with a [[MeatBall:Link]] in it]]
-!! html
+[[File:Foobar.jpg|text with a [[MeatBall:Link]] in it]]
+!! html/php
<p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a MeatBall:Link in it"><img alt="text with a MeatBall:Link in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
</p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[MeatBall:Link]] in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
!! end
!! test
BUG 648: Frameless image caption with a piped interwiki link
!! wikitext
-[[Image:foobar.jpg|text with a [[MeatBall:Link|link]] in it]]
-!! html
+[[File:Foobar.jpg|text with a [[MeatBall:Link|link]] in it]]
+!! html/php
<p><a href="/wiki/File:Foobar.jpg" class="image" title="text with a link in it"><img alt="text with a link in it" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
</p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"text with a [[MeatBall:Link|link]] in it"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
!! end
!! test
Escape HTML special chars in image alt text
!! wikitext
-[[Image:foobar.jpg|& < > "]]
-!! html
+[[File:Foobar.jpg|& < > "]]
+!! html/php
<p><a href="/wiki/File:Foobar.jpg" class="image" title="& < > ""><img alt="& < > "" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
</p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"& < > \""}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
!! end
!! test
BUG 499: Alt text should have Ӓ, not &1234;
!! wikitext
-[[Image:foobar.jpg|♀]]
-!! html
+[[File:Foobar.jpg|♀]]
+!! html/php
<p><a href="/wiki/File:Foobar.jpg" class="image" title="♀"><img alt="♀" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
</p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"&#9792;"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
!! end
!! test
Broken image caption with link
+!! options
+parsoid=wt2html,wt2wt,html2html
!! wikitext
[[Image:Foobar.jpg|thumb|This is a broken caption. But [[Main Page|this]] is just an ordinary link.
-!! html
+!! html/php
<p>[[Image:Foobar.jpg|thumb|This is a broken caption. But <a href="/wiki/Main_Page" title="Main Page">this</a> is just an ordinary link.
</p>
+!! html/parsoid
+<p>[[Image:Foobar.jpg|thumb|This is a broken caption. But <a rel="mw:WikiLink" href="Main_Page">this</a> is just an ordinary link.</p>
!! end
!! test
Image caption containing another image
!! wikitext
-[[Image:Foobar.jpg|thumb|This is a caption with another [[Image:icon.png|image]] inside it!]]
-!! html
-<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is a caption with another <a href="/index.php?title=Special:Upload&wpDestFile=Icon.png" class="new" title="File:Icon.png">image</a> inside it!</div></div></div>
+[[File:Foobar.jpg|thumb|This is a caption with another [[File:Thumb.png|image]] inside it!]]
+!! html/php
+<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>This is a caption with another <a href="/wiki/File:Thumb.png" class="image" title="image"><img alt="image" src="http://example.com/images/e/ea/Thumb.png" width="135" height="135" /></a> inside it!</div></div></div>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption>This is a caption with another <span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"image"}'><a href="File:Thumb.png"><img resource="./File:Thumb.png" src="//example.com/images/e/ea/Thumb.png" height="135" width="135"/></a></span> inside it!</figcaption></figure>
!! end
!! test
-Image caption containing a newline
+Image: caption containing a newline
!! wikitext
-[[Image:Foobar.jpg|This
+[[File:Foobar.jpg|This
*is some text]]
-!! html
+!! html/php
<p><a href="/wiki/File:Foobar.jpg" class="image" title="This *is some text"><img alt="This *is some text" src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220" /></a>
</p>
+!! html/parsoid
+<p><span class="mw-default-size" typeof="mw:Image" data-mw='{"caption":"This\n*is some text"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="220" width="1941"/></a></span></p>
!!end
!!test
-Parsoid: Image caption containing leading space
+Image: caption containing leading space
(The leading space should not trigger nowiki escaping in wt2wt mode)
!! wikitext
-[[Image:Foobar.jpg|thumb| bar]]
-!! html
+[[File:Foobar.jpg|thumb| bar]]
+!! html/php
<div class="thumb tright"><div class="thumbinner" style="width:182px;"><a href="/wiki/File:Foobar.jpg" class="image"><img alt="" src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" width="180" height="20" class="thumbimage" srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a> <div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" class="internal" title="Enlarge"><img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>bar</div></div></div>
+!! html/parsoid
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="25" width="220"/></a><figcaption> bar</figcaption></figure>
!!end
!! test
-Images: caption containing a table
+Image: caption containing a table
+!! options
+parsoid=wt2html,wt2wt,html2html
!! wikitext
[[Image:Foobar.jpg|thumb|200px|This is an example image thumbnail caption with a table
{|
</p>
!! end
+!! test
+ISBN with empty prefix (parsoid test)
+!! wikitext
+ISBN 1234567890
+!! html/parsoid
+<p><a href="Special:BookSources/1234567890" rel="mw:ExtLink">ISBN 1234567890</a></p>
+!! end
+
!! test
Bug 22905: <abbr> followed by ISBN followed by </a>
!! wikitext
!! test
Image: Modifying size of an image (1)
!! options
-parsoid=html2wt
+parsoid={
+ "modes": ["wt2wt"],
+ "changes": [
+ ["img[height]", "attr", "height", "22"],
+ ["img[width]", "attr", "width", "200"]
+ ]
+}
!! wikitext
+[[Image:Foobar.jpg|230x230px]]
+!! wikitext/edited
[[Image:Foobar.jpg|200x200px]]
-!! html
-<p><span typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"230x230px"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/230px-Foobar.jpg" height="22" width="200" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"26","width":"230"},"sa":{"resource":"Image:Foobar.jpg"}}'/></a></span></p>
!!end
!! test
Image: Modifying size of an image (2)
!! options
-parsoid=html2wt
+parsoid={
+ "modes": ["wt2wt"],
+ "changes": [
+ ["img[height]", "attr", "height", "100"],
+ ["img[width]", "attr", "width", "500"]
+ ]
+}
!! wikitext
+[[Image:Foobar.jpg|230x230px]]
+!! wikitext/edited
[[Image:Foobar.jpg|500x500px]]
-!! html
-<p><span typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"230x230px"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/230px-Foobar.jpg" height="100" width="500" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"26","width":"230"},"sa":{"resource":"Image:Foobar.jpg"}}'/></a></span></p>
!!end
-# note that the data-parsoid value conflicts with the figure's class
+# Change in size is ignored so long as class='mw-default-size'
+!! test
+Image: Modifying size of an image (3)
+!! options
+parsoid={
+ "modes": ["wt2wt"],
+ "changes": [
+ ["figure[class]", "removeClass", "mw-default-size"],
+ ["figure img", "attr", "height", "19"],
+ ["figure img", "attr", "width", "170"]
+ ]
+}
+!! wikitext
+[[Image:Foobar.jpg|thumb]]
+!! wikitext/edited
+[[Image:Foobar.jpg|thumb|170x170px]]
+!!end
+
!! test
Image: Modifying alignment of an image (bug 48665)
!! options
-parsoid=html2wt
+parsoid={
+ "modes": ["wt2wt"],
+ "changes": [
+ ["figure[class]", "removeClass", "mw-halign-right"],
+ ["figure[class]", "addClass", "mw-halign-left"]
+ ]
+}
!! wikitext
+[[Image:Foobar.jpg|thumb|caption|right]]
+!! wikitext/edited
[[Image:Foobar.jpg|thumb|caption|left]]
-!! html
-<figure class="mw-default-size mw-halign-left" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"caption"},{"ck":"right","ak":"right"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="20" width="180" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"20","width":"180"},"sa":{"resource":"Image:Foobar.jpg"}}'/></a><figcaption>caption</figcaption></figure>
+!! end
+
+!! test
+Image: Modifying mw-default-size of an frameless image (bug 62805)
+!! options
+parsoid={
+ "modes": ["wt2wt"],
+ "changes": [
+ ["figure.mw-default-size", "removeClass", "mw-default-size"]
+ ]
+}
+!! wikitext
+[[Image:Foobar.jpg|frameless|right]]
+!! wikitext/edited
+[[Image:Foobar.jpg|frameless|right|220x220px]]
!! end
!! test
Image: Modifying valign of an image (bug 49221)
!! options
-parsoid=html2wt
+parsoid={
+ "modes": ["wt2wt"],
+ "changes": [
+ ["*[typeof=\"mw:Image\"]", "removeClass", "mw-valign-middle"],
+ ["*[typeof=\"mw:Image\"]", "addClass", "mw-valign-text-top"]
+ ]
+}
!! wikitext
+[[File:Foobar.jpg|20px|middle]]
+!! wikitext/edited
[[File:Foobar.jpg|20px|text-top]]
-!! html
-<p><span class="mw-valign-text-top" typeof="mw:Image" data-parsoid='{"optList":[{"ck":"width","ak":"20px"},{"ck":"text_top","ak":"text-top"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/20px-Foobar.jpg" height="2" width="20" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"2","width":"20"},"sa":{"resource":"File:Foobar.jpg"}}'/></a></span></p>
!! end
!! test
Image: Modifying alt attribute of an image (bug 56400)
!! options
-parsoid=html2wt
+parsoid={
+ "modes": ["wt2wt"],
+ "changes": [
+ ["img[alt]", "attr", "alt", "some alternate edited text"]
+ ]
+}
!! wikitext
+[[File:Foobar.jpg|thumb|some caption|alt=some alternate text]]
+!! wikitext/edited
[[File:Foobar.jpg|thumb|some caption|alt=some alternate edited text]]
-!! html
-<figure class="mw-default-size" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"some caption"},{"ck":"alt","ak":"alt=some alternate text"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img alt="some alternate edited text" resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="20" width="180" data-parsoid='{"a":{"alt":"some alternate edited text","resource":"./File:Foobar.jpg","height":"20","width":"180"},"sa":{"alt":"alt=some alternate edited text","resource":"File:Foobar.jpg"}}'/></a><figcaption>some caption</figcaption></figure>
!!end
!! test
Image: Modifying caption of an image
!! options
-parsoid=html2wt
+parsoid={
+ "modes": ["wt2wt"],
+ "changes": [
+ ["figcaption", "text", "new caption"]
+ ]
+}
!! wikitext
+[[Image:Foobar.jpg|thumb|original caption]]
+!! wikitext/edited
[[Image:Foobar.jpg|thumb|new caption]]
-!! html
-<figure class="mw-default-size" typeof="mw:Image/Thumb" data-parsoid='{"optList":[{"ck":"thumbnail","ak":"thumb"},{"ck":"caption","ak":"original caption"}]}'><a href="./File:Foobar.jpg" data-parsoid='{"a":{"href":"./File:Foobar.jpg"}}'><img resource="./File:Foobar.jpg" src="//example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg" height="20" width="180" data-parsoid='{"a":{"resource":"./File:Foobar.jpg","height":"20","width":"180"},"sa":{"resource":"Image:Foobar.jpg"}}'/></a><figcaption>new caption</figcaption></figure>
!!end
!! test
!!end
!! test
-Images: upright option (parsoid)
+Image: upright option (parsoid)
!! options
parsoid
!! wikitext
!!end
!! test
-Images: upright option is ignored on inline and frame images (parsoid)
+Image: upright option is ignored on inline and frame images (parsoid)
!! options
parsoid
!! wikitext
<p><span typeof="mw:Image" data-mw='{"caption":"caption"}'><a href="File:Foobar.jpg"><img resource="./File:Foobar.jpg" src="//example.com/images/3/3a/Foobar.jpg" height="57" width="500"/></a></span></p>
!!end
+!! test
+Image: from basic HTML (1)
+!! options
+parsoid=html2wt
+!! html/parsoid
+<span typeof="mw:Image">
+ <img src="File:Foobar.jpg" width=100 height=100 alt="Alt">
+</span>
+!! wikitext
+[[File:Foobar.jpg|link=|alt=Alt|100x100px]]
+!! end
+
+!! test
+Image: from basic HTML (2)
+!! options
+parsoid=html2wt
+!! html/parsoid
+<img src="File:Foobar.jpg" width=100 height=100 alt="Alt">
+!! wikitext
+[[File:Foobar.jpg|link=|alt=Alt|100x100px]]
+!! end
+
+!! test
+Image: from basic HTML (3)
+!! options
+parsoid=html2wt
+!! html/parsoid
+<a href="Main"><img src="File:Foobar.jpg" width=100 height=100 alt="Alt"></a>
+!! wikitext
+[[File:Foobar.jpg|link=Main|alt=Alt|100x100px]]
+!! end
+
+!! test
+Image: from basic HTML (4)
+!! options
+parsoid=html2wt
+!! html/parsoid
+<img src="File:Foobar.jpg">
+!! wikitext
+[[File:Foobar.jpg|link=]]
+!! end
+
!! test
Lists: Serialize correctly even when list content is wrapped in p-tags (like VE does)
!! options
/**
* @group Database
* ^--- needed for language cache stuff
+ *
+ * @group Title
*/
class TitleTest extends MediaWikiTestCase {
protected function setUp() {
* See also mediawiki.Title.test.js
* @covers Title::secureAndSplit
* @todo This method should be split into 2 separate tests each with a provider
+ * @note: This mainly tests MediaWikiTitleCodec::parseTitle().
*/
public function testSecureAndSplit() {
$this->setMwGlobals( array(
'A \'B\'',
'.com',
'~',
+ '#',
'"',
'\'',
'Talk:Sandbox',
str_repeat( 'x', 256 ),
// Namespace prefix without actual title
'Talk:',
+ 'Talk:#',
'Category: ',
'Category: #bar',
// interwiki prefix
parent::setUp();
//cli tool setup
- $wgDjvuRenderer = $wgDjvuRenderer ? $wgDjvuRenderer : '/usr/local/bin/ddjvu';
- $wgDjvuDump = $wgDjvuDump ? $wgDjvuDump : '/usr/local/bin/djvudump';
- $wgDjvuToXML = $wgDjvuToXML ? $wgDjvuToXML : '/usr/local/bin/djvutoxml';
+ $wgDjvuRenderer = $wgDjvuRenderer ? $wgDjvuRenderer : '/usr/bin/ddjvu';
+ $wgDjvuDump = $wgDjvuDump ? $wgDjvuDump : '/usr/bin/djvudump';
+ $wgDjvuToXML = $wgDjvuToXML ? $wgDjvuToXML : '/usr/bin/djvutoxml';
if (
!$this->checkIfToolExists( $wgDjvuRenderer ) ||
!$this->checkIfToolExists( $wgDjvuDump ) ||
self::deleteFiles(
array(
"$base/local-public/3/3a/Foobar.jpg",
- "$base/local-thumb/3/3a/Foobar.jpg/180px-Foobar.jpg",
- "$base/local-thumb/3/3a/Foobar.jpg/200px-Foobar.jpg",
- "$base/local-thumb/3/3a/Foobar.jpg/640px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/1000px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/100px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/120px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/1280px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/137px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/1500px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/177px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/180px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/200px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/206px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/20px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/220px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/265px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/270px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/274px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/300px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/30px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/330px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/353px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/360px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/400px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/40px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/440px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/442px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/450px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/50px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/600px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/640px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/70px-Foobar.jpg",
+ "$base/local-thumb/3/3a/Foobar.jpg/75px-Foobar.jpg",
"$base/local-thumb/3/3a/Foobar.jpg/960px-Foobar.jpg",
"$base/local-public/e/ea/Thumb.png",
"$base/local-public/0/09/Bad.jpg",
"$base/local-public/f/ff/Foobar.svg",
- "$base/local-thumb/f/ff/Foobar.svg/180px-Foobar.svg.jpg",
- "$base/local-thumb/f/ff/Foobar.svg/270px-Foobar.svg.jpg",
- "$base/local-thumb/f/ff/Foobar.svg/360px-Foobar.svg.jpg",
- "$base/local-thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.jpg",
- "$base/local-thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.jpg",
- "$base/local-thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.jpg",
+ "$base/local-thumb/f/ff/Foobar.svg/180px-Foobar.svg.png",
+ "$base/local-thumb/f/ff/Foobar.svg/2000px-Foobar.svg.png",
+ "$base/local-thumb/f/ff/Foobar.svg/270px-Foobar.svg.png",
+ "$base/local-thumb/f/ff/Foobar.svg/3000px-Foobar.svg.png",
+ "$base/local-thumb/f/ff/Foobar.svg/360px-Foobar.svg.png",
+ "$base/local-thumb/f/ff/Foobar.svg/4000px-Foobar.svg.png",
+ "$base/local-thumb/f/ff/Foobar.svg/langde-180px-Foobar.svg.png",
+ "$base/local-thumb/f/ff/Foobar.svg/langde-270px-Foobar.svg.png",
+ "$base/local-thumb/f/ff/Foobar.svg/langde-360px-Foobar.svg.png",
"$base/local-public/math/f/a/5/fa50b8b616463173474302ca3e63586b.png",
)
( function ( $ ) {
- QUnit.module( 'jquery.color', QUnit.newMwEnvironment() );
+ QUnit.module( 'jquery.color', QUnit.newMwEnvironment( {
+ setup: function () {
+ this.clock = this.sandbox.useFakeTimers();
+ }
+ } ) );
- QUnit.asyncTest( 'animate', 3, function ( assert ) {
+ QUnit.test( 'animate', 1, function ( assert ) {
var $canvas = $( '<div>' ).css( 'background-color', '#fff' );
- $canvas.animate( { backgroundColor: '#000' }, 4 ).promise().then( function () {
+ $canvas.animate( { backgroundColor: '#000' }, 10 ).promise().then( function () {
var endColors = $.colorUtil.getRGB( $canvas.css( 'background-color' ) );
- assert.strictEqual( endColors[0], 0 );
- assert.strictEqual( endColors[1], 0 );
- assert.strictEqual( endColors[2], 0 );
- QUnit.start();
+ assert.deepEqual( endColors, [0, 0, 0], 'end state' );
} );
+
+ this.clock.tick( 20 );
} );
}( jQuery ) );
} );
} );
+ QUnit.asyncTest( 'mw.loader.using( .. ).promise', 2, function ( assert ) {
+ var isAwesomeDone;
+
+ mw.loader.testCallback = function () {
+ QUnit.start();
+ assert.strictEqual( isAwesomeDone, undefined, 'Implementing module is.awesome: isAwesomeDone should still be undefined' );
+ isAwesomeDone = true;
+ };
+
+ mw.loader.implement( 'test.promise', [QUnit.fixurl( mw.config.get( 'wgScriptPath' ) + '/tests/qunit/data/callMwLoaderTestCallback.js' )], {}, {} );
+
+ mw.loader.using( 'test.promise' )
+ .done( function () {
+
+ // /sample/awesome.js declares the "mw.loader.testCallback" function
+ // which contains a call to start() and ok()
+ assert.strictEqual( isAwesomeDone, true, 'test.promise module should\'ve caused isAwesomeDone to be true' );
+ delete mw.loader.testCallback;
+
+ } )
+ .fail( function () {
+ QUnit.start();
+ assert.ok( false, 'Error callback fired while loader.using "test.promise" module' );
+ } );
+ } );
+
QUnit.asyncTest( 'mw.loader.implement( styles={ "css": [text, ..] } )', 2, function ( assert ) {
var $element = $( '<div class="mw-test-implement-a"></div>' ).appendTo( '#qunit-fixture' );
}
}
+ $dispositionType = isset( $params['download'] ) ? 'attachment' : 'inline';
+
// Suggest a good name for users downloading this thumbnail
- $headers[] = "Content-Disposition: {$img->getThumbDisposition( $thumbName )}";
+ $headers[] = "Content-Disposition: {$img->getThumbDisposition( $thumbName, $dispositionType )}";
if ( count( $varyHeader ) ) {
$headers[] = 'Vary: ' . implode( ', ', $varyHeader );
<?php
/**
- * Version of thumb.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of thumb.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
*
* 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
define( 'THUMB_HANDLER', true );
-# Execute thumb.php, having set THUMB_HANDLER so that
-# it knows to extract params from a thumbnail file URL.
+// Execute thumb.php, having set THUMB_HANDLER so that
+// it knows to extract params from a thumbnail file URL.
require __DIR__ . '/thumb.php';
<?php
/**
- * Version of thumb_handler.php to used in web server requiring .php5 extension
- * to execute scripts with PHP5 engine.
+ * Version of thumb_handler.php to be used in web servers that require the .php5
+ * extension to execute scripts with the PHP5 engine.
*
* 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
<?php
-// stub file for compatibility with older versions
+// Stub file for compatibility with older versions of MediaWiki
include_once './index.php';