Special:Version
* Edit notices can now be translated.
* (bug 22887) Add warning and tracking category for preprocessor errors
+* (bug 31704) Allow selection of associated namespace on the watchlist
=== Bug fixes in 1.20 ===
* (bug 30245) Use the correct way to construct a log page title.
* (bug 32492) API now allows editing using pageid
* (bug 32497) API now allows changing of protection level using pageid
* (bug 32498) API now allows comparing pages using pageids
+* (bug 30975) API import of pages with invalid characters in this wiki leads to Fatal Error
+* (bug 30488) API now allows listing of backlinks/embeddedin/imageusage per pageid
=== Languages updated in 1.20 ===
* @return string Return the text of this revision
*/
public function getContent() {
- global $wgUser;
-
wfProfileIn( __METHOD__ );
if ( $this->mPage->getID() === 0 ) {
$text = '';
}
} else {
- $text = wfMsgExt( $wgUser->isLoggedIn() ? 'noarticletext' : 'noarticletextanon', 'parsemag' );
+ $text = wfMsgExt( $this->getContext()->getUser()->isLoggedIn() ? 'noarticletext' : 'noarticletextanon', 'parsemag' );
}
wfProfileOut( __METHOD__ );
* @return int The old id for the request
*/
public function getOldIDFromRequest() {
- global $wgRequest;
-
$this->mRedirectUrl = false;
- $oldid = $wgRequest->getIntOrNull( 'oldid' );
+ $request = $this->getContext()->getRequest();
+ $oldid = $request->getIntOrNull( 'oldid' );
if ( $oldid === null ) {
return 0;
}
}
- if ( $wgRequest->getVal( 'direction' ) == 'next' ) {
+ if ( $request->getVal( 'direction' ) == 'next' ) {
$nextid = $this->getTitle()->getNextRevisionID( $oldid );
if ( $nextid ) {
$oldid = $nextid;
} else {
$this->mRedirectUrl = $this->getTitle()->getFullURL( 'redirect=no' );
}
- } elseif ( $wgRequest->getVal( 'direction' ) == 'prev' ) {
+ } elseif ( $request->getVal( 'direction' ) == 'prev' ) {
$previd = $this->getTitle()->getPreviousRevisionID( $oldid );
if ( $previd ) {
$oldid = $previd;
* page of the given title.
*/
public function view() {
- global $wgUser, $wgOut, $wgRequest, $wgParser;
- global $wgUseFileCache, $wgUseETag, $wgDebugToolbar;
+ global $wgParser, $wgUseFileCache, $wgUseETag, $wgDebugToolbar;
wfProfileIn( __METHOD__ );
# the first call of this method even if $oldid is used way below.
$oldid = $this->getOldID();
+ $user = $this->getContext()->getUser();
# Another whitelist check in case getOldID() is altering the title
- $permErrors = $this->getTitle()->getUserPermissionsErrors( 'read', $wgUser );
+ $permErrors = $this->getTitle()->getUserPermissionsErrors( 'read', $user );
if ( count( $permErrors ) ) {
wfDebug( __METHOD__ . ": denied on secondary read check\n" );
wfProfileOut( __METHOD__ );
throw new PermissionsError( 'read', $permErrors );
}
+ $outputPage = $this->getContext()->getOutput();
# getOldID() may as well want us to redirect somewhere else
if ( $this->mRedirectUrl ) {
- $wgOut->redirect( $this->mRedirectUrl );
+ $outputPage->redirect( $this->mRedirectUrl );
wfDebug( __METHOD__ . ": redirecting due to oldid\n" );
wfProfileOut( __METHOD__ );
}
# If we got diff in the query, we want to see a diff page instead of the article.
- if ( $wgRequest->getCheck( 'diff' ) ) {
+ if ( $this->getContext()->getRequest()->getCheck( 'diff' ) ) {
wfDebug( __METHOD__ . ": showing diff page\n" );
$this->showDiffPage();
wfProfileOut( __METHOD__ );
}
# Set page title (may be overridden by DISPLAYTITLE)
- $wgOut->setPageTitle( $this->getTitle()->getPrefixedText() );
+ $outputPage->setPageTitle( $this->getTitle()->getPrefixedText() );
- $wgOut->setArticleFlag( true );
+ $outputPage->setArticleFlag( true );
# Allow frames by default
- $wgOut->allowClickjacking();
+ $outputPage->allowClickjacking();
$parserCache = ParserCache::singleton();
$parserOptions = $this->getParserOptions();
# Render printable version, use printable version cache
- if ( $wgOut->isPrintable() ) {
+ if ( $outputPage->isPrintable() ) {
$parserOptions->setIsPrintable( true );
$parserOptions->setEditSection( false );
} elseif ( !$this->isCurrent() || !$this->getTitle()->quickUserCan( 'edit' ) ) {
# Try client and file cache
if ( !$wgDebugToolbar && $oldid === 0 && $this->mPage->checkTouched() ) {
if ( $wgUseETag ) {
- $wgOut->setETag( $parserCache->getETag( $this, $parserOptions ) );
+ $outputPage->setETag( $parserCache->getETag( $this, $parserOptions ) );
}
# Is it client cached?
- if ( $wgOut->checkLastModified( $this->mPage->getTouched() ) ) {
+ if ( $outputPage->checkLastModified( $this->mPage->getTouched() ) ) {
wfDebug( __METHOD__ . ": done 304\n" );
wfProfileOut( __METHOD__ );
} elseif ( $wgUseFileCache && $this->tryFileCache() ) {
wfDebug( __METHOD__ . ": done file cache\n" );
# tell wgOut that output is taken care of
- $wgOut->disable();
- $this->mPage->doViewUpdates( $wgUser );
+ $outputPage->disable();
+ $this->mPage->doViewUpdates( $user );
wfProfileOut( __METHOD__ );
return;
# Should the parser cache be used?
$useParserCache = $this->mPage->isParserCacheUsed( $parserOptions, $oldid );
wfDebug( 'Article::view using parser cache: ' . ( $useParserCache ? 'yes' : 'no' ) . "\n" );
- if ( $wgUser->getStubThreshold() ) {
+ if ( $user->getStubThreshold() ) {
wfIncrStats( 'pcache_miss_stub' );
}
} else {
wfDebug( __METHOD__ . ": showing parser cache contents\n" );
}
- $wgOut->addParserOutput( $this->mParserOutput );
+ $outputPage->addParserOutput( $this->mParserOutput );
# Ensure that UI elements requiring revision ID have
# the correct version information.
- $wgOut->setRevisionId( $this->mPage->getLatest() );
+ $outputPage->setRevisionId( $this->mPage->getLatest() );
# Preload timestamp to avoid a DB hit
$cachedTimestamp = $this->mParserOutput->getTimestamp();
if ( $cachedTimestamp !== null ) {
- $wgOut->setRevisionTimestamp( $cachedTimestamp );
+ $outputPage->setRevisionTimestamp( $cachedTimestamp );
$this->mPage->setTimestamp( $cachedTimestamp );
}
$outputDone = true;
# Ensure that UI elements requiring revision ID have
# the correct version information.
- $wgOut->setRevisionId( $this->getRevIdFetched() );
+ $outputPage->setRevisionId( $this->getRevIdFetched() );
# Preload timestamp to avoid a DB hit
- $wgOut->setRevisionTimestamp( $this->getTimestamp() );
+ $outputPage->setRevisionTimestamp( $this->getTimestamp() );
# Pages containing custom CSS or JavaScript get special treatment
if ( $this->getTitle()->isCssOrJsPage() || $this->getTitle()->isCssJsSubpage() ) {
wfDebug( __METHOD__ . ": showing CSS/JS source\n" );
$this->showCssOrJsPage();
$outputDone = true;
- } elseif( !wfRunHooks( 'ArticleViewCustom', array( $this->mContent, $this->getTitle(), $wgOut ) ) ) {
+ } elseif( !wfRunHooks( 'ArticleViewCustom', array( $this->mContent, $this->getTitle(), $outputPage ) ) ) {
# Allow extensions do their own custom view for certain pages
$outputDone = true;
} else {
if ( $rt ) {
wfDebug( __METHOD__ . ": showing redirect=no page\n" );
# Viewing a redirect page (e.g. with parameter redirect=no)
- $wgOut->addHTML( $this->viewRedirect( $rt ) );
+ $outputPage->addHTML( $this->viewRedirect( $rt ) );
# Parse just to get categories, displaytitle, etc.
$this->mParserOutput = $wgParser->parse( $text, $this->getTitle(), $parserOptions );
- $wgOut->addParserOutputNoText( $this->mParserOutput );
+ $outputPage->addParserOutputNoText( $this->mParserOutput );
$outputDone = true;
}
}
if ( !$poolArticleView->execute() ) {
$error = $poolArticleView->getError();
if ( $error ) {
- $wgOut->clearHTML(); // for release() errors
- $wgOut->enableClientCache( false );
- $wgOut->setRobotPolicy( 'noindex,nofollow' );
+ $outputPage->clearHTML(); // for release() errors
+ $outputPage->enableClientCache( false );
+ $outputPage->setRobotPolicy( 'noindex,nofollow' );
$errortext = $error->getWikiText( false, 'view-pool-error' );
- $wgOut->addWikiText( '<div class="errorbox">' . $errortext . '</div>' );
+ $outputPage->addWikiText( '<div class="errorbox">' . $errortext . '</div>' );
}
# Connection or timeout error
wfProfileOut( __METHOD__ );
}
$this->mParserOutput = $poolArticleView->getParserOutput();
- $wgOut->addParserOutput( $this->mParserOutput );
+ $outputPage->addParserOutput( $this->mParserOutput );
# Don't cache a dirty ParserOutput object
if ( $poolArticleView->getIsDirty() ) {
- $wgOut->setSquidMaxage( 0 );
- $wgOut->addHTML( "<!-- parser cache is expired, sending anyway due to pool overload-->\n" );
+ $outputPage->setSquidMaxage( 0 );
+ $outputPage->addHTML( "<!-- parser cache is expired, sending anyway due to pool overload-->\n" );
}
$outputDone = true;
if ( $this->getTitle()->isMainPage() ) {
$msg = wfMessage( 'pagetitle-view-mainpage' )->inContentLanguage();
if ( !$msg->isDisabled() ) {
- $wgOut->setHTMLTitle( $msg->title( $this->getTitle() )->text() );
+ $outputPage->setHTMLTitle( $msg->title( $this->getTitle() )->text() );
}
}
# Check for any __NOINDEX__ tags on the page using $pOutput
$policy = $this->getRobotPolicy( 'view', $pOutput );
- $wgOut->setIndexPolicy( $policy['index'] );
- $wgOut->setFollowPolicy( $policy['follow'] );
+ $outputPage->setIndexPolicy( $policy['index'] );
+ $outputPage->setFollowPolicy( $policy['follow'] );
$this->showViewFooter();
- $this->mPage->doViewUpdates( $wgUser );
+ $this->mPage->doViewUpdates( $user );
wfProfileOut( __METHOD__ );
}
* @param $pOutput ParserOutput
*/
public function adjustDisplayTitle( ParserOutput $pOutput ) {
- global $wgOut;
# Adjust the title if it was set by displaytitle, -{T|}- or language conversion
$titleText = $pOutput->getTitleText();
if ( strval( $titleText ) !== '' ) {
- $wgOut->setPageTitle( $titleText );
+ $this->getContext()->getOutput()->setPageTitle( $titleText );
}
}
* Article::view() only, other callers should use the DifferenceEngine class.
*/
public function showDiffPage() {
- global $wgRequest, $wgUser;
-
- $diff = $wgRequest->getVal( 'diff' );
- $rcid = $wgRequest->getVal( 'rcid' );
- $diffOnly = $wgRequest->getBool( 'diffonly', $wgUser->getOption( 'diffonly' ) );
- $purge = $wgRequest->getVal( 'action' ) == 'purge';
- $unhide = $wgRequest->getInt( 'unhide' ) == 1;
+ $request = $this->getContext()->getRequest();
+ $user = $this->getContext()->getUser();
+ $diff = $request->getVal( 'diff' );
+ $rcid = $request->getVal( 'rcid' );
+ $diffOnly = $request->getBool( 'diffonly', $user->getOption( 'diffonly' ) );
+ $purge = $request->getVal( 'action' ) == 'purge';
+ $unhide = $request->getInt( 'unhide' ) == 1;
$oldid = $this->getOldID();
$de = new DifferenceEngine( $this->getContext(), $oldid, $diff, $rcid, $purge, $unhide );
if ( $diff == 0 || $diff == $this->mPage->getLatest() ) {
# Run view updates for current revision only
- $this->mPage->doViewUpdates( $wgUser );
+ $this->mPage->doViewUpdates( $user );
}
}
* page views.
*/
protected function showCssOrJsPage() {
- global $wgOut;
-
$dir = $this->getContext()->getLanguage()->getDir();
$lang = $this->getContext()->getLanguage()->getCode();
- $wgOut->wrapWikiMsg( "<div id='mw-clearyourcache' lang='$lang' dir='$dir' class='mw-content-$dir'>\n$1\n</div>",
+ $outputPage = $this->getContext()->getOutput();
+ $outputPage->wrapWikiMsg( "<div id='mw-clearyourcache' lang='$lang' dir='$dir' class='mw-content-$dir'>\n$1\n</div>",
'clearyourcache' );
// Give hooks a chance to customise the output
- if ( wfRunHooks( 'ShowRawCssJs', array( $this->mContent, $this->getTitle(), $wgOut ) ) ) {
+ if ( wfRunHooks( 'ShowRawCssJs', array( $this->mContent, $this->getTitle(), $outputPage ) ) ) {
// Wrap the whole lot in a <pre> and don't parse
$m = array();
preg_match( '!\.(css|js)$!u', $this->getTitle()->getText(), $m );
- $wgOut->addHTML( "<pre class=\"mw-code mw-{$m[1]}\" dir=\"ltr\">\n" );
- $wgOut->addHTML( htmlspecialchars( $this->mContent ) );
- $wgOut->addHTML( "\n</pre>\n" );
+ $outputPage->addHTML( "<pre class=\"mw-code mw-{$m[1]}\" dir=\"ltr\">\n" );
+ $outputPage->addHTML( htmlspecialchars( $this->mContent ) );
+ $outputPage->addHTML( "\n</pre>\n" );
}
}
* TODO: actions other than 'view'
*/
public function getRobotPolicy( $action, $pOutput ) {
- global $wgOut, $wgArticleRobotPolicies, $wgNamespaceRobotPolicies;
- global $wgDefaultRobotPolicy, $wgRequest;
+ global $wgArticleRobotPolicies, $wgNamespaceRobotPolicies, $wgDefaultRobotPolicy;
$ns = $this->getTitle()->getNamespace();
'index' => 'noindex',
'follow' => 'nofollow'
);
- } elseif ( $wgOut->isPrintable() ) {
+ } elseif ( $this->getContext()->getOutput()->isPrintable() ) {
# Discourage indexing of printable versions, but encourage following
return array(
'index' => 'noindex',
'follow' => 'follow'
);
- } elseif ( $wgRequest->getInt( 'curid' ) ) {
+ } elseif ( $this->getContext()->getRequest()->getInt( 'curid' ) ) {
# For ?curid=x urls, disallow indexing
return array(
'index' => 'noindex',
/**
* If this request is a redirect view, send "redirected from" subtitle to
- * $wgOut. Returns true if the header was needed, false if this is not a
- * redirect view. Handles both local and remote redirects.
+ * the output. Returns true if the header was needed, false if this is not
+ * a redirect view. Handles both local and remote redirects.
*
* @return boolean
*/
public function showRedirectedFromHeader() {
- global $wgOut, $wgRequest, $wgRedirectSources;
+ global $wgRedirectSources;
+ $outputPage = $this->getContext()->getOutput();
- $rdfrom = $wgRequest->getVal( 'rdfrom' );
+ $rdfrom = $this->getContext()->getRequest()->getVal( 'rdfrom' );
if ( isset( $this->mRedirectedFrom ) ) {
// This is an internally redirected page view.
array( 'redirect' => 'no' )
);
- $wgOut->addSubtitle( wfMessage( 'redirectedfrom' )->rawParams( $redir ) );
+ $outputPage->addSubtitle( wfMessage( 'redirectedfrom' )->rawParams( $redir ) );
// Set the fragment if one was specified in the redirect
if ( strval( $this->getTitle()->getFragment() ) != '' ) {
$fragment = Xml::escapeJsString( $this->getTitle()->getFragmentForURL() );
- $wgOut->addInlineScript( "redirectToFragment(\"$fragment\");" );
+ $outputPage->addInlineScript( "redirectToFragment(\"$fragment\");" );
}
// Add a <link rel="canonical"> tag
- $wgOut->addLink( array( 'rel' => 'canonical',
+ $outputPage->addLink( array( 'rel' => 'canonical',
'href' => $this->getTitle()->getLocalURL() )
);
- // Tell $wgOut the user arrived at this article through a redirect
- $wgOut->setRedirectedFrom( $this->mRedirectedFrom );
+ // Tell the output object that the user arrived at this article through a redirect
+ $outputPage->setRedirectedFrom( $this->mRedirectedFrom );
return true;
}
// If it was reported from a trusted site, supply a backlink.
if ( $wgRedirectSources && preg_match( $wgRedirectSources, $rdfrom ) ) {
$redir = Linker::makeExternalLink( $rdfrom, $rdfrom );
- $wgOut->addSubtitle( wfMessage( 'redirectedfrom' )->rawParams( $redir ) );
+ $outputPage->addSubtitle( wfMessage( 'redirectedfrom' )->rawParams( $redir ) );
return true;
}
* [[MediaWiki:Talkpagetext]]. For Article::view().
*/
public function showNamespaceHeader() {
- global $wgOut;
-
if ( $this->getTitle()->isTalkPage() ) {
if ( !wfMessage( 'talkpageheader' )->isDisabled() ) {
- $wgOut->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' ) );
}
}
}
* Show the footer section of an ordinary page view
*/
public function showViewFooter() {
- global $wgOut;
-
# 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() ) ) {
- $wgOut->addWikiMsg( 'anontalkpagetext' );
+ $this->getContext()->getOutput()->addWikiMsg( 'anontalkpagetext' );
}
# If we have been passed an &rcid= parameter, we want to give the user a
* desired, does nothing.
*/
public function showPatrolFooter() {
- global $wgOut, $wgRequest, $wgUser;
-
- $rcid = $wgRequest->getVal( 'rcid' );
+ $request = $this->getContext()->getRequest();
+ $outputPage = $this->getContext()->getOutput();
+ $rcid = $request->getVal( 'rcid' );
if ( !$rcid || !$this->getTitle()->quickUserCan( 'patrol' ) ) {
return;
}
- $token = $wgUser->getEditToken( $rcid );
- $wgOut->preventClickjacking();
+ $token = $request->getUser()->getEditToken( $rcid );
+ $outputPage->preventClickjacking();
- $wgOut->addHTML(
+ $outputPage->addHTML(
"<div class='patrollink'>" .
wfMsgHtml(
'markaspatrolledlink',
* namespace, show the default message text. To be called from Article::view().
*/
public function showMissingArticle() {
- global $wgOut, $wgRequest, $wgUser, $wgSend404Code;
+ global $wgSend404Code;
+ $outputPage = $this->getContext()->getOutput();
# 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 ) {
$ip = User::isIP( $rootPart );
if ( !($user && $user->isLoggedIn()) && !$ip ) { # User does not exist
- $wgOut->wrapWikiMsg( "<div class=\"mw-userpage-userdoesnotexist error\">\n\$1\n</div>",
+ $outputPage->wrapWikiMsg( "<div class=\"mw-userpage-userdoesnotexist error\">\n\$1\n</div>",
array( 'userpage-userdoesnotexist-view', wfEscapeWikiText( $rootPart ) ) );
} elseif ( $user->isBlocked() ) { # Show log extract if the user is currently blocked
LogEventsList::showLogExtract(
- $wgOut,
+ $outputPage,
'block',
$user->getUserPage()->getPrefixedText(),
'',
wfRunHooks( 'ShowMissingArticle', array( $this ) );
# Show delete and move logs
- LogEventsList::showLogExtract( $wgOut, array( 'delete', 'move' ), $this->getTitle()->getPrefixedText(), '',
+ LogEventsList::showLogExtract( $outputPage, array( 'delete', 'move' ), $this->getTitle()->getPrefixedText(), '',
array( 'lim' => 10,
'conds' => array( "log_action != 'revision'" ),
'showIfEmpty' => false,
if ( !$this->mPage->hasViewableContent() && $wgSend404Code ) {
// If there's no backing content, send a 404 Not Found
// for better machine handling of broken links.
- $wgRequest->response()->header( "HTTP/1.1 404 Not Found" );
+ $this->getContext()->getRequest()->response()->header( "HTTP/1.1 404 Not Found" );
}
$hookResult = wfRunHooks( 'BeforeDisplayNoArticleText', array( $this ) );
// Use the default message text
$text = $this->getTitle()->getDefaultMessageText();
} else {
- $createErrors = $this->getTitle()->getUserPermissionsErrors( 'create', $wgUser );
- $editErrors = $this->getTitle()->getUserPermissionsErrors( 'edit', $wgUser );
+ $createErrors = $this->getTitle()->getUserPermissionsErrors( 'create', $this->getContext()->getUser() );
+ $editErrors = $this->getTitle()->getUserPermissionsErrors( 'edit', $this->getContext()->getUser() );
$errors = array_merge( $createErrors, $editErrors );
if ( !count( $errors ) ) {
}
$text = "<div class='noarticletext'>\n$text\n</div>";
- $wgOut->addWikiText( $text );
+ $outputPage->addWikiText( $text );
}
/**
* If the revision requested for view is deleted, check permissions.
- * Send either an error message or a warning header to $wgOut.
+ * Send either an error message or a warning header to the output.
*
* @return boolean true if the view is allowed, false if not.
*/
public function showDeletedRevisionHeader() {
- global $wgOut, $wgRequest;
-
if ( !$this->mRevision->isDeleted( Revision::DELETED_TEXT ) ) {
// Not deleted
return true;
}
+ $outputPage = $this->getContext()->getOutput();
// If the user is not allowed to see it...
if ( !$this->mRevision->userCan( Revision::DELETED_TEXT ) ) {
- $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1\n</div>\n",
+ $outputPage->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1\n</div>\n",
'rev-deleted-text-permission' );
return false;
// If the user needs to confirm that they want to see it...
- } elseif ( $wgRequest->getInt( 'unhide' ) != 1 ) {
+ } elseif ( $this->getContext()->getRequest()->getInt( 'unhide' ) != 1 ) {
# Give explanation and add a link to view the revision...
$oldid = intval( $this->getOldID() );
$link = $this->getTitle()->getFullUrl( "oldid={$oldid}&unhide=1" );
$msg = $this->mRevision->isDeleted( Revision::DELETED_RESTRICTED ) ?
'rev-suppressed-text-unhide' : 'rev-deleted-text-unhide';
- $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1\n</div>\n",
+ $outputPage->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1\n</div>\n",
array( $msg, $link ) );
return false;
} else {
$msg = $this->mRevision->isDeleted( Revision::DELETED_RESTRICTED ) ?
'rev-suppressed-text-view' : 'rev-deleted-text-view';
- $wgOut->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1\n</div>\n", $msg );
+ $outputPage->wrapWikiMsg( "<div class='mw-warning plainlinks'>\n$1\n</div>\n", $msg );
return true;
}
* @param $oldid String: revision ID of this article revision
*/
public function setOldSubtitle( $oldid = 0 ) {
- global $wgLang, $wgOut, $wgUser, $wgRequest;
-
if ( !wfRunHooks( 'DisplayOldSubtitle', array( &$this, &$oldid ) ) ) {
return;
}
- $unhide = $wgRequest->getInt( 'unhide' ) == 1;
+ $unhide = $this->getContext()->getRequest()->getInt( 'unhide' ) == 1;
# Cascade unhide param in links for easy deletion browsing
$extraParams = array();
$timestamp = $revision->getTimestamp();
$current = ( $oldid == $this->mPage->getLatest() );
- $td = $wgLang->timeanddate( $timestamp, true );
- $tddate = $wgLang->date( $timestamp, true );
- $tdtime = $wgLang->time( $timestamp, true );
+ $language = $this->getContext()->getLanguage();
+ $td = $language->timeanddate( $timestamp, true );
+ $tddate = $language->date( $timestamp, true );
+ $tdtime = $language->time( $timestamp, true );
# Show user links if allowed to see them. If hidden, then show them only if requested...
$userlinks = Linker::revUserTools( $revision, !$unhide );
? 'revision-info-current'
: 'revision-info';
- $wgOut->addSubtitle( "<div id=\"mw-{$infomsg}\">" . wfMessage( $infomsg,
+ $outputPage = $this->getContext()->getOutput();
+ $outputPage->addSubtitle( "<div id=\"mw-{$infomsg}\">" . wfMessage( $infomsg,
$td )->rawParams( $userlinks )->params( $revision->getID(), $tddate,
$tdtime, $revision->getUser() )->parse() . "</div>" );
array( 'known', 'noclasses' )
);
- $cdel = Linker::getRevDeleteLink( $wgUser, $revision, $this->getTitle() );
+ $cdel = Linker::getRevDeleteLink( $this->getContext()->getUser(), $revision, $this->getTitle() );
if ( $cdel !== '' ) {
$cdel .= ' ';
}
- $wgOut->addSubtitle( "<div id=\"mw-revision-nav\">" . $cdel .
+ $outputPage->addSubtitle( "<div id=\"mw-revision-nav\">" . $cdel .
wfMsgExt( 'revision-nav', array( 'escapenoentities', 'parsemag', 'replaceafter' ),
$prevdiff, $prevlink, $lnk, $curdiff, $nextlink, $nextdiff ) . "</div>" );
}
* @return string containing HMTL with redirect link
*/
public function viewRedirect( $target, $appendSubtitle = true, $forceKnown = false ) {
- global $wgOut, $wgStylePath;
+ global $wgStylePath;
if ( !is_array( $target ) ) {
$target = array( $target );
$imageDir = $lang->getDir();
if ( $appendSubtitle ) {
- $wgOut->appendSubtitle( wfMsgHtml( 'redirectpagesub' ) );
+ $this->getContext()->getOutput()->appendSubtitle( wfMsgHtml( 'redirectpagesub' ) );
}
// the loop prepends the arrow image before the link, so the first case needs to be outside
* Handle action=render
*/
public function render() {
- global $wgOut;
-
- $wgOut->setArticleBodyOnly( true );
+ $this->getContext()->getOutput()->setArticleBodyOnly( true );
$this->view();
}
* UI entry point for page deletion
*/
public function delete() {
- global $wgOut, $wgRequest, $wgLang;
-
# This code desperately needs to be totally rewritten
$title = $this->getTitle();
$conds = $title->pageCond();
$latest = $dbw->selectField( 'page', 'page_latest', $conds, __METHOD__ );
if ( $latest === false ) {
- $wgOut->setPageTitle( wfMessage( 'cannotdelete-title', $title->getPrefixedText() ) );
- $wgOut->wrapWikiMsg( "<div class=\"error mw-error-cannotdelete\">\n$1\n</div>",
+ $outputPage = $this->getContext()->getOutput();
+ $outputPage->setPageTitle( wfMessage( 'cannotdelete-title', $title->getPrefixedText() ) );
+ $outputPage->wrapWikiMsg( "<div class=\"error mw-error-cannotdelete\">\n$1\n</div>",
array( 'cannotdelete', wfEscapeWikiText( $title->getPrefixedText() ) )
);
- $wgOut->addHTML( Xml::element( 'h2', null, LogPage::logName( 'delete' ) ) );
+ $outputPage->addHTML( Xml::element( 'h2', null, LogPage::logName( 'delete' ) ) );
LogEventsList::showLogExtract(
- $wgOut,
+ $outputPage,
'delete',
$title->getPrefixedText()
);
return;
}
- $deleteReasonList = $wgRequest->getText( 'wpDeleteReasonList', 'other' );
- $deleteReason = $wgRequest->getText( 'wpReason' );
+ $request = $this->getContext()->getRequest();
+ $deleteReasonList = $request->getText( 'wpDeleteReasonList', 'other' );
+ $deleteReason = $request->getText( 'wpReason' );
if ( $deleteReasonList == 'other' ) {
$reason = $deleteReason;
$reason = $deleteReasonList;
}
- if ( $wgRequest->wasPosted() && $user->matchEditToken( $wgRequest->getVal( 'wpEditToken' ),
+ if ( $request->wasPosted() && $user->matchEditToken( $request->getVal( 'wpEditToken' ),
array( 'delete', $this->getTitle()->getPrefixedText() ) ) )
{
# Flag to hide all contents of the archived revisions
- $suppress = $wgRequest->getVal( 'wpSuppress' ) && $user->isAllowed( 'suppressrevision' );
+ $suppress = $request->getVal( 'wpSuppress' ) && $user->isAllowed( 'suppressrevision' );
$this->doDelete( $reason, $suppress );
- if ( $wgRequest->getCheck( 'wpWatch' ) && $user->isLoggedIn() ) {
+ if ( $request->getCheck( 'wpWatch' ) && $user->isLoggedIn() ) {
$this->doWatch();
} elseif ( $title->userIsWatching() ) {
$this->doUnwatch();
if ( $hasHistory ) {
$revisions = $this->mTitle->estimateRevisionCount();
// @todo FIXME: i18n issue/patchwork message
- $wgOut->addHTML( '<strong class="mw-delete-warning-revisions">' .
- wfMsgExt( 'historywarning', array( 'parseinline' ), $wgLang->formatNum( $revisions ) ) .
+ $this->getContext()->getOutput()->addHTML( '<strong class="mw-delete-warning-revisions">' .
+ wfMsgExt( 'historywarning', array( 'parseinline' ), $this->getContext()->getLanguage()->formatNum( $revisions ) ) .
wfMsgHtml( 'word-separator' ) . Linker::link( $title,
wfMsgHtml( 'history' ),
array( 'rel' => 'archives' ),
if ( $this->mTitle->isBigDeletion() ) {
global $wgDeleteRevisionsLimit;
- $wgOut->wrapWikiMsg( "<div class='error'>\n$1\n</div>\n",
- array( 'delete-warning-toobig', $wgLang->formatNum( $wgDeleteRevisionsLimit ) ) );
+ $this->getContext()->getOutput()->wrapWikiMsg( "<div class='error'>\n$1\n</div>\n",
+ array( 'delete-warning-toobig', $this->getContext()->getLanguage()->formatNum( $wgDeleteRevisionsLimit ) ) );
}
}
* @param $reason String: prefilled reason
*/
public function confirmDelete( $reason ) {
- global $wgOut;
-
wfDebug( "Article::confirmDelete\n" );
- $wgOut->setPageTitle( wfMessage( 'delete-confirm', $this->getTitle()->getPrefixedText() ) );
- $wgOut->addBacklinkSubtitle( $this->getTitle() );
- $wgOut->setRobotPolicy( 'noindex,nofollow' );
- $wgOut->addWikiMsg( 'confirmdeletetext' );
+ $outputPage = $this->getContext()->getOutput();
+ $outputPage->setPageTitle( wfMessage( 'delete-confirm', $this->getTitle()->getPrefixedText() ) );
+ $outputPage->addBacklinkSubtitle( $this->getTitle() );
+ $outputPage->setRobotPolicy( 'noindex,nofollow' );
+ $outputPage->addWikiMsg( 'confirmdeletetext' );
- wfRunHooks( 'ArticleConfirmDelete', array( $this, $wgOut, &$reason ) );
+ wfRunHooks( 'ArticleConfirmDelete', array( $this, $outputPage, &$reason ) );
$user = $this->getContext()->getUser();
$form .= '<p class="mw-delete-editreasons">' . $link . '</p>';
}
- $wgOut->addHTML( $form );
- $wgOut->addHTML( Xml::element( 'h2', null, LogPage::logName( 'delete' ) ) );
- LogEventsList::showLogExtract( $wgOut, 'delete',
+ $outputPage->addHTML( $form );
+ $outputPage->addHTML( Xml::element( 'h2', null, LogPage::logName( 'delete' ) ) );
+ LogEventsList::showLogExtract( $outputPage, 'delete',
$this->getTitle()->getPrefixedText()
);
}
* @param $suppress bool
*/
public function doDelete( $reason, $suppress = false ) {
- global $wgOut;
-
$error = '';
+ $outputPage = $this->getContext()->getOutput();
if ( $this->mPage->doDeleteArticle( $reason, $suppress, 0, true, $error ) ) {
$deleted = $this->getTitle()->getPrefixedText();
- $wgOut->setPageTitle( wfMessage( 'actioncomplete' ) );
- $wgOut->setRobotPolicy( 'noindex,nofollow' );
+ $outputPage->setPageTitle( wfMessage( 'actioncomplete' ) );
+ $outputPage->setRobotPolicy( 'noindex,nofollow' );
$loglink = '[[Special:Log/delete|' . wfMsgNoTrans( 'deletionlog' ) . ']]';
- $wgOut->addWikiMsg( 'deletedtext', wfEscapeWikiText( $deleted ), $loglink );
- $wgOut->returnToMain( false );
+ $outputPage->addWikiMsg( 'deletedtext', wfEscapeWikiText( $deleted ), $loglink );
+ $outputPage->returnToMain( false );
} else {
- $wgOut->setPageTitle( wfMessage( 'cannotdelete-title', $this->getTitle()->getPrefixedText() ) );
+ $outputPage->setPageTitle( wfMessage( 'cannotdelete-title', $this->getTitle()->getPrefixedText() ) );
if ( $error == '' ) {
- $wgOut->wrapWikiMsg( "<div class=\"error mw-error-cannotdelete\">\n$1\n</div>",
+ $outputPage->wrapWikiMsg( "<div class=\"error mw-error-cannotdelete\">\n$1\n</div>",
array( 'cannotdelete', wfEscapeWikiText( $this->getTitle()->getPrefixedText() ) )
);
- $wgOut->addHTML( Xml::element( 'h2', null, LogPage::logName( 'delete' ) ) );
+ $outputPage->addHTML( Xml::element( 'h2', null, LogPage::logName( 'delete' ) ) );
LogEventsList::showLogExtract(
- $wgOut,
+ $outputPage,
'delete',
$this->getTitle()->getPrefixedText()
);
} else {
- $wgOut->addHTML( $error );
+ $outputPage->addHTML( $error );
}
}
}
* @return ParserOutput or false if the given revsion ID is not found
*/
public function getParserOutput( $oldid = null, User $user = null ) {
- global $wgUser;
-
- $user = is_null( $user ) ? $wgUser : $user;
+ $user = is_null( $user ) ? $this->getContext()->getUser() : $user;
$parserOptions = $this->mPage->makeParserOptions( $user );
return $this->mPage->getParserOutput( $parserOptions, $oldid );
* @return ParserOptions
*/
public function getParserOptions() {
- global $wgUser;
if ( !$this->mParserOptions ) {
- $this->mParserOptions = $this->mPage->makeParserOptions( $wgUser );
+ $this->mParserOptions = $this->mPage->makeParserOptions( $this->getContext()->getUser() );
}
// Clone to allow modifications of the return value without affecting cache
return clone $this->mParserOptions;
}
/**
- * Add this page to $wgUser's watchlist
+ * Add this page to the current user's watchlist
*
* This is safe to be called multiple times
*
* @deprecated since 1.18
*/
public function doWatch() {
- global $wgUser;
wfDeprecated( __METHOD__, '1.18' );
- return WatchAction::doWatch( $this->getTitle(), $wgUser );
+ return WatchAction::doWatch( $this->getTitle(), $this->getContext()->getUser() );
}
/**
* @deprecated since 1.18
*/
public function doUnwatch() {
- global $wgUser;
wfDeprecated( __METHOD__, '1.18' );
- return WatchAction::doUnwatch( $this->getTitle(), $wgUser );
+ return WatchAction::doUnwatch( $this->getTitle(), $this->getContext()->getUser() );
}
/**
* Output a redirect back to the article.
* This is typically used after an edit.
*
- * @deprecated in 1.18; call $wgOut->redirect() directly
+ * @deprecated in 1.18; call OutputPage::redirect() directly
* @param $noRedir Boolean: add redirect=no
* @param $sectionAnchor String: section to redirect to, including "#"
* @param $extraQuery String: extra query params
*/
public function doRedirect( $noRedir = false, $sectionAnchor = '', $extraQuery = '' ) {
wfDeprecated( __METHOD__, '1.18' );
- global $wgOut;
-
if ( $noRedir ) {
$query = 'redirect=no';
if ( $extraQuery )
$query = $extraQuery;
}
- $wgOut->redirect( $this->getTitle()->getFullURL( $query ) . $sectionAnchor );
+ $this->getContext()->getOutput()->redirect( $this->getTitle()->getFullURL( $query ) . $sectionAnchor );
}
/**
* @return array
*/
public function doRollback( $fromP, $summary, $token, $bot, &$resultDetails, User $user = null ) {
- global $wgUser;
- $user = is_null( $user ) ? $wgUser : $user;
+ $user = is_null( $user ) ? $this->getContext()->getUser() : $user;
return $this->mPage->doRollback( $fromP, $summary, $token, $bot, $resultDetails, $user );
}
* @return array
*/
public function commitRollback( $fromP, $summary, $bot, &$resultDetails, User $guser = null ) {
- global $wgUser;
- $guser = is_null( $guser ) ? $wgUser : $guser;
+ $guser = is_null( $guser ) ? $this->getContext()->getUser() : $guser;
return $this->mPage->commitRollback( $fromP, $summary, $bot, $resultDetails, $guser );
}
# If we just undid one rev, use an autosummary
$firstrev = $oldrev->getNext();
- if ( $firstrev->getId() == $undo ) {
+ if ( $firstrev && $firstrev->getId() == $undo ) {
$undoSummary = wfMsgForContent( 'undo-summary', $undo, $undorev->getUserText() );
if ( $this->summary === '' ) {
$this->summary = $undoSummary;
const TEXT = 0;
const STUB = 1;
+ var $buffer;
+
+ var $text;
+
+ /**
+ * @var DumpOutput
+ */
+ var $sink;
+
/**
* If using WikiExporter::STREAM to stream a large amount of data,
* provide a database connection which is not managed by
' AND page_title=' . $this->db->addQuotes( $title->getDBkey() ) );
}
+ /**
+ * @param $name string
+ * @throws MWException
+ */
public function pageByName( $name ) {
$title = Title::newFromText( $name );
if ( is_null( $title ) ) {
}
}
+ /**
+ * @param $names array
+ */
public function pagesByName( $names ) {
foreach ( $names as $name ) {
$this->pageByName( $name );
$this->dumpFrom( '' );
}
+ /**
+ * @param $start int
+ * @param $end int
+ */
public function logsByRange( $start, $end ) {
$condition = 'log_id >= ' . intval( $start );
if ( $end ) {
$this->dumpFrom( $condition );
}
- # Generates the distinct list of authors of an article
- # Not called by default (depends on $this->list_authors)
- # Can be set by Special:Export when not exporting whole history
+ /**
+ * Generates the distinct list of authors of an article
+ * Not called by default (depends on $this->list_authors)
+ * Can be set by Special:Export when not exporting whole history
+ *
+ * @param $cond
+ */
protected function do_list_authors( $cond ) {
wfProfileIn( __METHOD__ );
$this->author_list = "<contributors>";
wfProfileOut( __METHOD__ );
}
+ /**
+ * @param $cond string
+ * @throws MWException
+ * @throws Exception
+ */
protected function dumpFrom( $cond = '' ) {
wfProfileIn( __METHOD__ );
# For logging dumps...
}
}
+ /**
+ * @param $resultset array
+ */
protected function outputLogStream( $resultset ) {
foreach ( $resultset as $row ) {
$output = $this->writer->writeLogItem( $row );
$this->siteInfo();
}
+ /**
+ * @return string
+ */
function siteInfo() {
$info = array(
$this->sitename(),
"\n </siteinfo>\n";
}
+ /**
+ * @return string
+ */
function sitename() {
global $wgSitename;
return Xml::element( 'sitename', array(), $wgSitename );
}
+ /**
+ * @return string
+ */
function generator() {
global $wgVersion;
return Xml::element( 'generator', array(), "MediaWiki $wgVersion" );
}
+ /**
+ * @return string
+ */
function homelink() {
return Xml::element( 'base', array(), Title::newMainPage()->getCanonicalUrl() );
}
+ /**
+ * @return string
+ */
function caseSetting() {
global $wgCapitalLinks;
// "case-insensitive" option is reserved for future
return Xml::element( 'case', array(), $sensitivity );
}
+ /**
+ * @return string
+ */
function namespaces() {
global $wgContLang;
$spaces = "<namespaces>\n";
if ( $row->rev_deleted & Revision::DELETED_COMMENT ) {
$out .= " " . Xml::element( 'comment', array( 'deleted' => 'deleted' ) ) . "\n";
} elseif ( $row->rev_comment != '' ) {
- $out .= " " . Xml::elementClean( 'comment', null, strval( $row->rev_comment ) ) . "\n";
+ $out .= " " . Xml::elementClean( 'comment', array(), strval( $row->rev_comment ) ) . "\n";
}
$text = '';
return $out;
}
+ /**
+ * @param $timestamp string
+ * @return string
+ */
function writeTimestamp( $timestamp ) {
$ts = wfTimestamp( TS_ISO_8601, $timestamp );
return " " . Xml::element( 'timestamp', null, $ts ) . "\n";
}
+ /**
+ * @param $id
+ * @param $text string
+ * @return string
+ */
function writeContributor( $id, $text ) {
$out = " <contributor>\n";
if ( $id || !IP::isValid( $text ) ) {
/**
* Warning! This data is potentially inconsistent. :(
+ * @param $row
+ * @param $dumpContents bool
* @return string
*/
function writeUploads( $row, $dumpContents = false ) {
* @ingroup Dump
*/
class DumpOutput {
+
+ /**
+ * @param $string string
+ */
function writeOpenStream( $string ) {
$this->write( $string );
}
+ /**
+ * @param $string string
+ */
function writeCloseStream( $string ) {
$this->write( $string );
}
+ /**
+ * @param $page
+ * @param $string string
+ */
function writeOpenPage( $page, $string ) {
$this->write( $string );
}
+ /**
+ * @param $string string
+ */
function writeClosePage( $string ) {
$this->write( $string );
}
+ /**
+ * @param $rev
+ * @param $string string
+ */
function writeRevision( $rev, $string ) {
$this->write( $string );
}
+ /**
+ * @param $rev
+ * @param $string string
+ */
function writeLogItem( $rev, $string ) {
$this->write( $string );
}
/**
* Override to write to a different stream type.
+ * @param $string string
* @return bool
*/
function write( $string ) {
class DumpFileOutput extends DumpOutput {
protected $handle = false, $filename;
+ /**
+ * @param $file
+ */
function __construct( $file ) {
$this->handle = fopen( $file, "wt" );
$this->filename = $file;
}
+ /**
+ * @param $string string
+ */
function writeCloseStream( $string ) {
parent::writeCloseStream( $string );
if ( $this->handle ) {
}
}
+ /**
+ * @param $string string
+ */
function write( $string ) {
fputs( $this->handle, $string );
}
+ /**
+ * @param $newname
+ */
function closeRenameAndReopen( $newname ) {
$this->closeAndRename( $newname, true );
}
+ /**
+ * @param $newname
+ * @throws MWException
+ */
function renameOrException( $newname ) {
if (! rename( $this->filename, $newname ) ) {
throw new MWException( __METHOD__ . ": rename of file {$this->filename} to $newname failed\n" );
}
}
+ /**
+ * @param $newname array
+ * @return mixed
+ * @throws MWException
+ */
function checkRenameArgCount( $newname ) {
if ( is_array( $newname ) ) {
if ( count( $newname ) > 1 ) {
return $newname;
}
+ /**
+ * @param $newname mixed
+ * @param $open bool
+ */
function closeAndRename( $newname, $open = false ) {
$newname = $this->checkRenameArgCount( $newname );
if ( $newname ) {
}
}
+ /**
+ * @return string|null
+ */
function getFilenames() {
return $this->filename;
}
protected $command, $filename;
protected $procOpenResource = false;
+ /**
+ * @param $command
+ * @param $file null
+ */
function __construct( $command, $file = null ) {
if ( !is_null( $file ) ) {
$command .= " > " . wfEscapeShellArg( $file );
$this->filename = $file;
}
+ /**
+ * @param $string string
+ */
function writeCloseStream( $string ) {
parent::writeCloseStream( $string );
if ( $this->procOpenResource ) {
}
}
+ /**
+ * @param $command
+ */
function startCommand( $command ) {
$spec = array(
0 => array( "pipe", "r" ),
$this->handle = $pipes[0];
}
+ /**
+ * @param mixed $newname
+ */
function closeRenameAndReopen( $newname ) {
$this->closeAndRename( $newname, true );
}
+ /**
+ * @param $newname mixed
+ * @param $open bool
+ */
function closeAndRename( $newname, $open = false ) {
$newname = $this->checkRenameArgCount( $newname );
if ( $newname ) {
* @ingroup Dump
*/
class DumpGZipOutput extends DumpPipeOutput {
+
+ /**
+ * @param $file string
+ */
function __construct( $file ) {
parent::__construct( "gzip", $file );
}
* @ingroup Dump
*/
class DumpBZip2Output extends DumpPipeOutput {
+
+ /**
+ * @param $file string
+ */
function __construct( $file ) {
parent::__construct( "bzip2", $file );
}
* @ingroup Dump
*/
class Dump7ZipOutput extends DumpPipeOutput {
+
+ /**
+ * @param $file string
+ */
function __construct( $file ) {
$command = $this->setup7zCommand( $file );
parent::__construct( $command );
$this->filename = $file;
}
+ /**
+ * @param $file string
+ * @return string
+ */
function setup7zCommand( $file ) {
$command = "7za a -bd -si " . wfEscapeShellArg( $file );
// Suppress annoying useless crap from p7zip
return( $command );
}
+ /**
+ * @param $newname string
+ * @param $open bool
+ */
function closeAndRename( $newname, $open = false ) {
$newname = $this->checkRenameArgCount( $newname );
if ( $newname ) {
}
}
-
-
/**
* Dump output filter class.
* This just does output filtering and streaming; XML formatting is done
* @ingroup Dump
*/
class DumpFilter {
+
+ /**
+ * @var DumpOutput
+ */
+ protected $sink;
+
+ /**
+ * @var bool
+ */
+ protected $sendingThisPage;
+
+ /**
+ * @param $sink DumpOutput
+ */
function __construct( &$sink ) {
$this->sink =& $sink;
}
+ /**
+ * @param $string string
+ */
function writeOpenStream( $string ) {
$this->sink->writeOpenStream( $string );
}
+ /**
+ * @param $string string
+ */
function writeCloseStream( $string ) {
$this->sink->writeCloseStream( $string );
}
+ /**
+ * @param $page
+ * @param $string string
+ */
function writeOpenPage( $page, $string ) {
$this->sendingThisPage = $this->pass( $page, $string );
if ( $this->sendingThisPage ) {
}
}
+ /**
+ * @param $string string
+ */
function writeClosePage( $string ) {
if ( $this->sendingThisPage ) {
$this->sink->writeClosePage( $string );
}
}
+ /**
+ * @param $rev
+ * @param $string string
+ */
function writeRevision( $rev, $string ) {
if ( $this->sendingThisPage ) {
$this->sink->writeRevision( $rev, $string );
}
}
+ /**
+ * @param $rev
+ * @param $string string
+ */
function writeLogItem( $rev, $string ) {
$this->sink->writeRevision( $rev, $string );
}
+ /**
+ * @param $newname string
+ */
function closeRenameAndReopen( $newname ) {
$this->sink->closeRenameAndReopen( $newname );
}
+ /**
+ * @param $newname string
+ * @param $open bool
+ */
function closeAndRename( $newname, $open = false ) {
$this->sink->closeAndRename( $newname, $open );
}
+ /**
+ * @return array
+ */
function getFilenames() {
return $this->sink->getFilenames();
}
/**
* Override for page-based filter types.
+ * @param $page
* @return bool
*/
function pass( $page ) {
* @ingroup Dump
*/
class DumpNotalkFilter extends DumpFilter {
+
+ /**
+ * @param $page
+ * @return bool
+ */
function pass( $page ) {
return !MWNamespace::isTalk( $page->page_namespace );
}
var $invert = false;
var $namespaces = array();
+ /**
+ * @param $sink DumpOutput
+ * @param $param
+ */
function __construct( &$sink, $param ) {
parent::__construct( $sink );
}
}
+ /**
+ * @param $page
+ * @return bool
+ */
function pass( $page ) {
$match = isset( $this->namespaces[$page->page_namespace] );
return $this->invert xor $match;
class DumpLatestFilter extends DumpFilter {
var $page, $pageString, $rev, $revString;
+ /**
+ * @param $page
+ * @param $string string
+ */
function writeOpenPage( $page, $string ) {
$this->page = $page;
$this->pageString = $string;
}
+ /**
+ * @param $string string
+ */
function writeClosePage( $string ) {
if ( $this->rev ) {
$this->sink->writeOpenPage( $this->page, $this->pageString );
$this->pageString = null;
}
+ /**
+ * @param $rev
+ * @param $string string
+ */
function writeRevision( $rev, $string ) {
if ( $rev->rev_id == $this->page->page_latest ) {
$this->rev = $rev;
* @ingroup Dump
*/
class DumpMultiWriter {
+
+ /**
+ * @param $sinks
+ */
function __construct( $sinks ) {
$this->sinks = $sinks;
$this->count = count( $sinks );
}
+ /**
+ * @param $string string
+ */
function writeOpenStream( $string ) {
for ( $i = 0; $i < $this->count; $i++ ) {
$this->sinks[$i]->writeOpenStream( $string );
}
}
+ /**
+ * @param $string string
+ */
function writeCloseStream( $string ) {
for ( $i = 0; $i < $this->count; $i++ ) {
$this->sinks[$i]->writeCloseStream( $string );
}
}
+ /**
+ * @param $page
+ * @param $string string
+ */
function writeOpenPage( $page, $string ) {
for ( $i = 0; $i < $this->count; $i++ ) {
$this->sinks[$i]->writeOpenPage( $page, $string );
}
}
+ /**
+ * @param $string
+ */
function writeClosePage( $string ) {
for ( $i = 0; $i < $this->count; $i++ ) {
$this->sinks[$i]->writeClosePage( $string );
}
}
+ /**
+ * @param $rev
+ * @param $string
+ */
function writeRevision( $rev, $string ) {
for ( $i = 0; $i < $this->count; $i++ ) {
$this->sinks[$i]->writeRevision( $rev, $string );
}
}
+ /**
+ * @param $newnames
+ */
function closeRenameAndReopen( $newnames ) {
$this->closeAndRename( $newnames, true );
}
+ /**
+ * @param $newnames array
+ * @param bool $open
+ */
function closeAndRename( $newnames, $open = false ) {
for ( $i = 0; $i < $this->count; $i++ ) {
$this->sinks[$i]->closeAndRename( $newnames[$i], $open );
}
}
+ /**
+ * @return array
+ */
function getFilenames() {
$filenames = array();
for ( $i = 0; $i < $this->count; $i++ ) {
}
+/**
+ * @param $string string
+ * @return string
+ */
function xmlsafe( $string ) {
wfProfileIn( __FUNCTION__ );
} elseif ( $this->getRequest()->getVal( 'mode' ) == 'file' ) {
$type = "Edit file";
$image = wfLocalFile( $this->getTitle() );
- $urls = array( 'File' => array(
- 'Extension' => $image->getExtension(),
- 'URL' => $image->getCanonicalURL()
- ) );
+ if ( $image ) {
+ $urls = array(
+ 'File' => array(
+ 'Extension' => $image->getExtension(),
+ 'URL' => $image->getCanonicalURL()
+ )
+ );
+ } else{
+ $urls = array();
+ }
} else {
$type = "Edit text";
# *.wiki file extension is used by some editors for syntax
if ( preg_match( "/ref: (.*)/", $HEAD, $m ) ) {
return rtrim( $m[1] );
} else {
- return $HEAD;
+ return rtrim( $HEAD );
}
}
var $mRedirect = null; // /< Is the article at this title a redirect?
var $mNotificationTimestamp = array(); // /< Associative array of user ID -> timestamp/false
var $mBacklinkCache = null; // /< Cache of links to this title
+ var $mHasSubpage; // /< Whether a page has any subpages
// @}
* fied by a prefix. If you want to force a specific namespace even if
* $text might begin with a namespace prefix, use makeTitle() or
* makeTitleSafe().
- * @return Title, or null on an error.
+ * @throws MWException
+ * @return Title|null - Title or null on an error.
*/
public static function newFromText( $text, $defaultNamespace = NS_MAIN ) {
if ( is_object( $text ) ) {
* This is MUCH simpler than individually testing for equivilance
* against both NS_USER and NS_USER_TALK, and is also forward compatible.
* @since 1.19
+ * @param $ns int
* @return bool
*/
public function hasSubjectNamespace( $ns ) {
* andthe wfArrayToCGI moved to getLocalURL();
*
* @since 1.19 (r105919)
+ * @param $query
+ * @param $query2 bool
* @return String
*/
private static function fixUrlQueryArgs( $query, $query2 = false ) {
* See getLocalURL for the arguments.
*
* @see self::getLocalURL
+ * @param $query string
+ * @param $query2 bool|string
* @return String the URL
*/
public function escapeLocalURL( $query = '', $query2 = false ) {
/**
* Get the expiry time for the restriction against a given action
*
+ * @param $action
* @return String|Bool 14-char timestamp, or 'infinity' if the page is protected forever
- * or not protected at all, or false if the action is not recognised.
+ * or not protected at all, or false if the action is not recognised.
*/
public function getRestrictionExpiry( $action ) {
if ( !$this->mRestrictionsLoaded ) {
* $wgLang (such as special pages, which are in the user language).
*
* @since 1.18
- * @return object Language
+ * @return Language
*/
public function getPageLanguage() {
global $wgLang;
* @param &$cascade Integer. Set to false if cascading protection isn't allowed.
* @param $expiry Array: per restriction type expiration
* @param $user User The user updating the restrictions
- * @return bool true on success
+ * @return Status
*/
public function doUpdateRestrictions( array $limit, array $expiry, &$cascade, $reason, User $user ) {
global $wgContLang;
/**
* @return array
*/
- public function getTitleOrPageIdErrorMessage( ) {
- return $this->getRequireOnlyOneParameterErrorMessages( array( 'title', 'pageid' ) );
+ public function getTitleOrPageIdErrorMessage() {
+ return array_merge(
+ $this->getRequireOnlyOneParameterErrorMessages( array( 'title', 'pageid' ) ),
+ array(
+ array( 'invalidtitle', 'title' ),
+ array( 'nosuchpageid', 'pageid' ),
+ )
+ );
}
/**
return array_merge( parent::getPossibleErrors(),
$this->getTitleOrPageIdErrorMessage(),
array(
- array( 'invalidtitle', 'title' ),
- array( 'nosuchpageid', 'pageid' ),
array( 'notanarticle' ),
array( 'hookaborted', 'error' ),
array( 'delete-toobig', 'limit' ),
return array_merge( parent::getPossibleErrors(),
$this->getTitleOrPageIdErrorMessage(),
array(
- array( 'nosuchpageid', 'pageid' ),
array( 'missingtext' ),
- array( 'invalidtitle', 'title' ),
array( 'createonly-exists' ),
array( 'nocreate-missing' ),
array( 'nosuchrevid', 'undo' ),
'sectiontitle' => 'The title for a new section',
'text' => 'Page content',
'token' => array( 'Edit token. You can get one of these through prop=info.',
- 'The token should always be sent as the last parameter, or at least, after the text parameter'
+ "The token should always be sent as the last parameter, or at least, after the {$p}text parameter"
),
- 'summary' => 'Edit summary. Also section title when section=new',
+ 'summary' => "Edit summary. Also section title when {$p}section=new and {$p}sectiontitle is not set",
'minor' => 'Minor edit',
'notminor' => 'Non-minor edit',
'bot' => 'Mark this edit as bot',
'basetimestamp' => array( 'Timestamp of the base revision (obtained through prop=revisions&rvprop=timestamp).',
- 'Used to detect edit conflicts; leave unset to ignore conflicts.'
+ 'Used to detect edit conflicts; leave unset to ignore conflicts'
),
'starttimestamp' => array( 'Timestamp when you obtained the edit token.',
'Used to detect edit conflicts; leave unset to ignore conflicts'
'md5' => array( "The MD5 hash of the {$p}text parameter, or the {$p}prependtext and {$p}appendtext parameters concatenated.",
'If set, the edit won\'t be done unless the hash is correct' ),
'prependtext' => "Add this text to the beginning of the page. Overrides {$p}text",
- 'appendtext' => "Add this text to the end of the page. Overrides {$p}text",
+ 'appendtext' => array( "Add this text to the end of the page. Overrides {$p}text.",
+ "Use {$p}section=new to append a new section" ),
'undo' => "Undo this revision. Overrides {$p}text, {$p}prependtext and {$p}appendtext",
'undoafter' => 'Undo all revisions from undo to this one. If not set, just undo one revision',
'redirect' => 'Automatically resolve redirects',
public function getParamDescription() {
$params = array(
- 'filename' => 'Target filename',
+ 'filename' => 'Target filename without the File: prefix',
'token' => 'Edit token. You can get one of these through prop=info',
'comment' => 'Upload comment',
'archivename' => 'Archive name of the revision to revert to',
You are looking at the HTML representation of the <?php echo( $this->mFormat ); ?> format.<br />
HTML is good for debugging, but is unsuitable for application use.<br />
Specify the format parameter to change the output format.<br />
-To see the non HTML representation of the <?php echo( $this->mFormat ); ?> format, set format=<?php echo( $this->mFormat ); ?>.<br />
+To see the non HTML representation of the <?php echo( $this->mFormat ); ?> format, set format=<?php echo( strtolower( $this->mFormat ) ); ?>.<br />
See the <a href='https://www.mediawiki.org/wiki/API'>complete documentation</a>, or
<a href='<?php echo( $script ); ?>'>API help</a> for more information.
</small>
function reportPage( $title, $origTitle, $revisionCount, $successCount, $pageInfo ) {
// Add a result entry
$r = array();
- ApiQueryBase::addTitleInfo( $r, $title );
- $r['revisions'] = intval( $successCount );
+
+ if ( $title === null ) {\r
+ # Invalid or non-importable title
+ $r['title'] = $pageInfo['title'];
+ $r['invalid'] = '';\r
+ } else {\r
+ ApiQueryBase::addTitleInfo( $r, $title );
+ $r['revisions'] = intval( $successCount );
+ }
+
$this->mResultArr[] = $r;
// Piggyback on the parent to do the logging
// The parser needs $wgTitle to be set, apparently the
// $title parameter in Parser::parse isn't enough *sigh*
// TODO: Does this still need $wgTitle?
- global $wgParser, $wgTitle, $wgLang;
+ global $wgParser, $wgTitle;
// Currently unnecessary, code to act as a safeguard against any change in current behaviour of uselang breaks
$oldLang = null;
- if ( isset( $params['uselang'] ) && $params['uselang'] != $wgLang->getCode() ) {
- $oldLang = $wgLang; // Backup wgLang
- $wgLang = Language::factory( $params['uselang'] );
+ if ( isset( $params['uselang'] ) && $params['uselang'] != $this->getContext()->getLanguage()->getCode() ) {
+ $oldLang = $this->getContext()->getLanguage(); // Backup language
+ $this->getContext()->setLanguage( Language::factory( $params['uselang'] ) );
}
$popts = ParserOptions::newFromContext( $this->getContext() );
$result->addValue( null, $this->getModuleName(), $result_array );
if ( !is_null( $oldLang ) ) {
- $wgLang = $oldLang; // Reset $wgLang to $oldLang
+ $this->getContext()->setLanguage( $oldLang ); // Reset language to $oldLang
}
}
// Try the parser cache first
// getParserOutput will save to Parser cache if able
$pout = $page->getParserOutput( $popts );
+ if ( !$pout ) {
+ $this->dieUsage( "There is no revision ID {$page->getLatest()}", 'missingrev' );
+ }
if ( $getWikitext ) {
$this->text = $page->getRawText();
}
return array_merge( parent::getPossibleErrors(),
$this->getTitleOrPageIdErrorMessage(),
array(
- array( 'invalidtitle', 'title' ),
- array( 'nosuchpageid', 'pageid' ),
array( 'toofewexpiries', 'noofexpiries', 'noofprotections' ),
array( 'create-titleexists' ),
array( 'missingtitle-createonly' ),
if ( !is_null( $this->params['continue'] ) ) {
$this->parseContinueParam();
} else {
- if ( $this->params['title'] !== '' ) {
- $title = Title::newFromText( $this->params['title'] );
- if ( !$title ) {
- $this->dieUsageMsg( array( 'invalidtitle', $this->params['title'] ) );
- } else {
- $this->rootTitle = $title;
- }
- }
+ $this->rootTitle = $this->getTitleOrPageId( $this->params );
}
// only image titles are allowed for the root in imageinfo mode
$retval = array(
'title' => array(
ApiBase::PARAM_TYPE => 'string',
- ApiBase::PARAM_REQUIRED => true
+ ),
+ 'pageid' => array(
+ ApiBase::PARAM_TYPE => 'integer',
),
'continue' => null,
'namespace' => array(
public function getParamDescription() {
$retval = array(
- 'title' => 'Title to search',
+ 'title' => "Title to search. Cannot be used together with {$this->bl_code}pageid",
+ 'pageid' => "Pageid to search. Cannot be used together with {$this->bl_code}title",
'continue' => 'When more results are available, use this to continue',
'namespace' => 'The namespace to enumerate',
);
}
public function getPossibleErrors() {
- return array_merge( parent::getPossibleErrors(), array(
- array( 'invalidtitle', 'title' ),
- array( 'code' => 'bad_image_title', 'info' => "The title for {$this->getModuleName()} query must be an image" ),
- array( 'code' => '_badcontinue', 'info' => 'Invalid continue param. You should pass the original value returned by the previous query' ),
- ) );
+ return array_merge( parent::getPossibleErrors(),
+ $this->getTitleOrPageIdErrorMessage(),
+ array(
+ array( 'code' => 'bad_image_title', 'info' => "The title for {$this->getModuleName()} query must be an image" ),
+ array( 'code' => '_badcontinue', 'info' => 'Invalid continue param. You should pass the original value returned by the previous query' ),
+ )
+ );
}
public function getExamples() {
array(
array( 'code' => 'invalidcategory', 'info' => 'The category name you entered is not valid' ),
array( 'code' => 'badcontinue', 'info' => 'Invalid continue param. You should pass the original value returned by the previous query' ),
- array( 'nosuchpageid', 'pageid' ),
)
);
}
' mime - Adds MIME of the image',
' metadata - Lists EXIF metadata for the version of the image',
' bitdepth - Adds the bit depth of the version',
- ),
+ ),
);
}
public function getExamples() {
return array(
'api.php?action=query&list=iwbacklinks&iwbltitle=Test&iwblprefix=wikibooks',
- 'api.php?action=query&generator=iwbacklinks&giwbltitle=Test&iwblprefix=wikibooks&prop=info'
+ 'api.php?action=query&generator=iwbacklinks&giwbltitle=Test&giwblprefix=wikibooks&prop=info'
);
}
public function getExamples() {
return array(
'api.php?action=query&list=langbacklinks&lbltitle=Test&lbllang=fr',
- 'api.php?action=query&generator=langbacklinks&glbltitle=Test&lbllang=fr&prop=info'
+ 'api.php?action=query&generator=langbacklinks&glbltitle=Test&glbllang=fr&prop=info'
);
}
);
}
- $dir = ( $params['dir'] == 'descending' ? ' DESC' : '' );
- if ( isset( $params['lang'] ) ) {
+ $dir = ( $params['dir'] == 'descending' ? ' DESC' : '' );
+ if ( isset( $params['lang'] ) ) {
$this->addWhereFld( 'll_lang', $params['lang'] );
if ( isset( $params['title'] ) ) {
$this->addWhereFld( 'll_title', $params['title'] );
if ( !is_null( $show ) ) {
$show = array_flip( $show );
if ( ( isset( $show['minor'] ) && isset( $show['!minor'] ) )
- || ( isset( $show['patrolled'] ) && isset( $show['!patrolled'] ) ) ) {
+ || ( isset( $show['patrolled'] ) && isset( $show['!patrolled'] ) ) ) {
$this->dieUsageMsg( 'show' );
}
}
protected function getCurrentUserInfo() {
- global $wgRequest, $wgHiddenPrefs;
+ global $wgHiddenPrefs;
$user = $this->getUser();
$result = $this->getResult();
$vals = array();
}
if ( isset( $this->prop['acceptlang'] ) ) {
- $langs = $wgRequest->getAcceptLang();
+ $langs = $this->getRequest()->getAcceptLang();
$acceptLang = array();
foreach ( $langs as $lang => $val ) {
$r = array( 'q' => $val );
return $this->tokenFunctions;
}
- /**
- * @param $user User
- * @return String
- */
+ /**
+ * @param $user User
+ * @return String
+ */
public static function getUserrightsToken( $user ) {
global $wgUser;
// Since the permissions check for userrights is non-trivial,
$info['title'] = $titleObj->getPrefixedText();
$info['revisions'] = intval( $retval[0] );
$info['fileversions'] = intval( $retval[1] );
- $info['reason'] = intval( $retval[2] );
+ $info['reason'] = $retval[2];
$this->getResult()->addValue( null, $this->getModuleName(), $info );
}
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
+ * @file
* @ingroup Database
*/
<?php
+/**
+ * Debug toolbar related code
+ *
+ * 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
+ */
/**
* New debugger system that outputs a toolbar on page view
protected $backends = array();
protected function __construct() {}
- protected function __clone() {}
/**
* @return FileBackendGroup
$this->type = $type;
}
- protected function __clone() {}
-
/**
* Get a ScopedLock object representing a lock on resource paths.
* Any locks are released once this object goes out of scope.
protected $managers = array();
protected function __construct() {}
- protected function __clone() {}
-
/**
* @return LockManagerGroup
*/
* - formatting log entries based on database fields
* - user is now part of the action message
*
+ * 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
* @author Niklas Laxström
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
/**
* Contains classes for formatting log entries
*
+ * 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
* @author Niklas Laxström
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
<?php
-
/**
- * Class containing static functions for working with
- * logs of patrol events
+ * Specific methods for the patrol log.
+ *
+ * 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
* @author Rob Church <robchur@gmail.com>
* @author Niklas Laxström
*/
+
+/**
+ * Class containing static functions for working with
+ * logs of patrol events
+ */
class PatrolLog {
/**
<?php
+/**
+ * Object caching using PHP's APC accelerator.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Cache
+ */
/**
* This is a wrapper for APC's shared memory functions
<?php
+/**
+ * Object caching using DBA backend.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Cache
+ */
/**
* Cache that uses DBA as a backend.
<?php
+/**
+ * Object caching using the Ehcache RESTful web service.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Cache
+ */
/**
* Client for the Ehcache RESTful web service - http://ehcache.org/documentation/cache_server.html
* TODO: Simplify configuration and add to the installer.
+ *
+ * @ingroup Cache
*/
class EhcacheBagOStuff extends BagOStuff {
var $servers, $cacheName, $connectTimeout, $timeout, $curlOptions,
<?php
+/**
+ * Dummy object caching.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Cache
+ */
/**
* A BagOStuff object with no objects in it. Used to provide a no-op object to calling code.
<?php
+/**
+ * Object caching using PHP arrays.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Cache
+ */
/**
* This is a test of the interface, mainly. It stores things in an associative
<?php
/**
+ * Memcached client for PHP.
+ *
* +---------------------------------------------------------------------------+
* | memcached client, PHP |
* +---------------------------------------------------------------------------+
$this->_debugprint( sprintf( "MemCache: delete %s (%s)\n", $key, $res ) );
}
- if ( $res == "DELETED" ) {
+ if ( $res == "DELETED" || $res == "NOT_FOUND" ) {
return true;
}
+
return false;
}
<?php
+/**
+ * Object caching using memcached.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Cache
+ */
/**
* A wrapper class for the pure-PHP memcached client, exposing a BagOStuff interface.
+ *
+ * @ingroup Cache
*/
class MemcachedPhpBagOStuff extends BagOStuff {
<?php
+/**
+ * Wrapper for object caching in different caches.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Cache
+ */
/**
* A cache class that replicates all writes to multiple child caches. Reads
* are implemented by reading from the caches in the order they are given in
* the configuration until a cache gives a positive result.
+ *
+ * @ingroup Cache
*/
class MultiWriteBagOStuff extends BagOStuff {
var $caches;
<?php
/**
- * Functions to get cache objects
+ * Functions to get cache objects.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Cache
*/
+
+/**
+ * Functions to get cache objects
+ *
+ * @ingroup Cache
+ */
class ObjectCache {
static $instances = array();
<?php
+/**
+ * Object caching using a SQL database.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Cache
+ */
/**
* Class to store objects in the database
<?php
+/**
+ * Object caching using WinCache.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Cache
+ */
/**
* Wrapper for WinCache object caching functions; identical interface
<?php
+/**
+ * Object caching using XCache.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Cache
+ */
/**
* Wrapper for XCache object caching functions; identical interface
/**
* Link functions provided by MediaWiki core; experimental
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup Parser
*/
/**
/**
* Parser functions provided by MediaWiki core
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup Parser
*/
/**
/**
* Tag hooks provided by MediaWiki core
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup Parser
*/
/**
/**
* Date formatter
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup Parser
*/
/**
/**
* Holder of replacement pairs for wiki links
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup Parser
*/
/**
<?php
/**
- * @defgroup Parser Parser
+ * PHP parser that converts wiki markup to HTML.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Parser
- * File for Parser and related classes
*/
+/**
+ * @defgroup Parser Parser
+ */
/**
* PHP Parser - Processes wiki markup (which uses a more user-friendly
/**
* Cache for outputs of the PHP parser
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup Cache Parser
*/
/**
<?php
/**
- * \brief Options for the PHP parser
+ * Options for the PHP parser
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Parser
/**
* Output of the PHP parser
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Parser
*/
* @todo document
* @ingroup Parser
*/
-
class CacheTime {
var $mVersion = Parser::VERSION, # Compatibility check
$mCacheTime = '', # Time when this object was generated, or -1 for uncacheable. Used in ParserCache.
/**
* Fake parser that output the difference of two different parsers
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup Parser
*/
/**
/**
* Modified version of the PHP parser with hooks for wiki links; experimental
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup Parser
*/
/**
/**
* Interfaces for preprocessors
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup Parser
*/
/**
/**
* Preprocessor using PHP's dom extension
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Parser
*/
/**
* Preprocessor using PHP arrays
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Parser
*/
* A preprocessor optimised for HipHop, using HipHop-specific syntax.
* vim: ft=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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Parser
*/
<?php
+/**
+ * Holder for stripped items when parsing wiki markup.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Parser
+ */
/**
* @todo document, briefly.
/**
* HTML validation and correction
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup Parser
*/
/**
*
* This re-uses some of the parser's UNIQ tricks, though some of it is private so it's
* duplicated. Perhaps we should create an abstract marker hiding class.
+ *
+ * @ingroup Parser
*/
class MWTidyWrapper {
<?php
/**
- * @defgroup Profiler Profiler
+ * Base class and functions for profiling.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup Profiler
* This file is only included if profiling is enabled
*/
+/**
+ * @defgroup Profiler Profiler
+ */
+
/**
* Begin profiling of a function
* @param $functionname String: name of the function we will profile
<?php
/**
+ * Base class for simple profiling.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Profiler
*/
<?php
/**
+ * Profiler showing output in page source.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Profiler
*/
<?php
/**
+ * Profiler showing execution trace.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Profiler
*/
<?php
/**
+ * Profiler sending messages over UDP.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Profiler
*/
<?php
/**
- * Stub profiling functions
+ * Stub profiling functions.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Profiler
*/
+
+/**
+ * Stub profiler that does nothing
+ *
+ * @ingroup Profiler
+ */
class ProfilerStub extends Profiler {
public function isStub() {
return true;
<?php
/**
+ * Base class for resource loading system.
+ *
* 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
<?php
/**
+ * Context for resource loader modules.
+ *
* 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
<?php
/**
+ * Resource loader module based on local JavaScript/CSS files.
+ *
* 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
<?php
+/**
+ * Resource loader module for MediaWiki:Filepage.css
+ *
+ * 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
+ */
+
/**
* ResourceLoader definition for MediaWiki:Filepage.css
*/
<?php
/**
+ * Resource loader module for populating language specific data.
+ *
* 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
<?php
/**
+ * Abstraction for resource loader modules.
+ *
* 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
<?php
/**
+ * Resource loader for site customizations for users without JavaScript enabled.
+ *
* 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
<?php
/**
+ * Resource loader module for site customizations.
+ *
* 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
<?php
/**
+ * Module for resource loader initialization.
+ *
* 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
<?php
/**
+ * Resource loader module for user preference customizations.
+ *
* 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
<?php
/**
+ * Resource loader module for user customizations.
+ *
* 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
<?php
/**
+ * Resource loader module for user customizations.
+ *
* 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
<?php
/**
+ * Resource loader module for user preference customizations.
+ *
* 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
<?php
/**
+ * Resource loader module for user tokens.
+ *
* 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
<?php
/**
+ * Abstraction for resource loader modules which pull from wiki pages.
+ *
* 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
<?php
+/**
+ * Base implementations for deletable items.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup RevisionDelete
+ */
+
/**
* List for revision table items
*
<?php
+/**
+ * Interface definition for deletable items.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup RevisionDelete
+ */
/**
* Abstract base class for a list of deletable items. The list class
<?php
/**
- * Backend functions for suppressing and unsuppressing all references to a given user,
- * used when blocking with HideUser enabled. This was spun out of SpecialBlockip.php
- * in 1.18; at some point it needs to be rewritten to either use RevisionDelete abstraction,
- * or at least schema abstraction.
+ * Backend functions for suppressing and unsuppressing all references to a given user.
*
* 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
* @ingroup RevisionDelete
*/
+
+/**
+ * Backend functions for suppressing and unsuppressing all references to a given user,
+ * used when blocking with HideUser enabled. This was spun out of SpecialBlockip.php
+ * in 1.18; at some point it needs to be rewritten to either use RevisionDelete abstraction,
+ * or at least schema abstraction.
+ *
+ * @ingroup RevisionDelete
+ */
class RevisionDeleteUser {
/**
/**
* Revision/log/file deletion backend
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup RevisionDelete
*/
/**
/**
* Basic search 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
* @ingroup Search
*/
*
* See deferred.txt
*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
* @ingroup Search
*/
if ( $request->getVal( 'contribs' ) == 'newbie' ) {
$target = 'newbies';
$this->opts['contribs'] = 'newbie';
+ } elseif ( $par === 'newbies' ) { // b/c for WMF
+ $target = 'newbies';
+ $this->opts['contribs'] = 'newbie';
} else {
$this->opts['contribs'] = 'user';
}
} else {
$condition['rev_user_text'] = $this->target;
$index = 'usertext_timestamp';
- }
+ }
}
if ( $this->deletedOnly ) {
$condition[] = "rev_deleted != '0'";
* @defgroup Watchlist Users watchlist handling
*/
+/**
+ * Implements Special:EditWatchlist
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup SpecialPage
+ * @ingroup Watchlist
+ */
+
/**
* Provides the UI through which users can perform editing
* operations on their watchlist
*
+ * @ingroup SpecialPage
* @ingroup Watchlist
* @author Rob Church <robchur@gmail.com>
*/
<?php
/**
- * @ingroup SpecialPage
+ * Implements Special:JavaScriptTest
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
* @file
+ * @ingroup SpecialPage
*/
/**
public function getFeedObject( $feedFormat ){
$changesFeed = new ChangesFeed( $feedFormat, 'rcfeed' );
$formatter = $changesFeed->getFeedObject(
- wfMsgForContent( 'recentchanges' ),
- wfMsgForContent( 'recentchanges-feed-description' ),
+ $this->msg( 'recentchanges' )->inContentLanguage()->text(),
+ $this->msg( 'recentchanges-feed-description' )->inContentLanguage()->text(),
$this->getTitle()->getFullURL()
);
return array( $changesFeed, $formatter );
$extraOpts = $this->getExtraOptions( $opts );
$extraOptsCount = count( $extraOpts );
$count = 0;
- $submit = ' ' . Xml::submitbutton( wfMsg( 'allpagessubmit' ) );
+ $submit = ' ' . Xml::submitbutton( $this->msg( 'allpagessubmit' )->text() );
$out = Xml::openElement( 'table', array( 'class' => 'mw-recentchanges-table' ) );
foreach( $extraOpts as $name => $optionRow ) {
$panelString = implode( "\n", $panel );
$this->getOutput()->addHTML(
- Xml::fieldset( wfMsg( 'recentchanges-legend' ), $panelString, array( 'class' => 'rcoptions' ) )
+ Xml::fieldset( $this->msg( 'recentchanges-legend' )->text(), $panelString, array( 'class' => 'rcoptions' ) )
);
$this->setBottomText( $opts );
$this->getOutput()->addWikiText(
Html::rawElement( 'p',
array( 'lang' => $wgContLang->getCode(), 'dir' => $wgContLang->getDir() ),
- "\n" . wfMsgForContentNoTrans( 'recentchangestext' ) . "\n"
+ "\n" . $this->msg( 'recentchangestext' )->inContentLanguage()->plain() . "\n"
),
/* $lineStart */ false,
/* $interface */ false
array( 'selected' => $opts['namespace'], 'all' => '' ),
array( 'name' => 'namespace', 'id' => 'namespace' )
);
- $nsLabel = Xml::label( wfMsg( 'namespace' ), 'namespace' );
+ $nsLabel = Xml::label( $this->msg( 'namespace' )->text(), 'namespace' );
$invert = Xml::checkLabel(
- wfMsg( 'invert' ), 'invert', 'nsinvert',
+ $this->msg( 'invert' )->text(), 'invert', 'nsinvert',
$opts['invert'],
- array( 'title' => wfMsg( 'tooltip-invert' ) )
+ array( 'title' => $this->msg( 'tooltip-invert' )->text() )
);
$associated = Xml::checkLabel(
- wfMsg( 'namespace_association' ), 'associated', 'nsassociated',
+ $this->msg( 'namespace_association' )->text(), 'associated', 'nsassociated',
$opts['associated'],
- array( 'title' => wfMsg( 'tooltip-namespace_association' ) )
+ array( 'title' => $this->msg( 'tooltip-namespace_association' )->text() )
);
return array( $nsLabel, "$nsSelect $invert $associated" );
}
* @return Array
*/
protected function categoryFilterForm( FormOptions $opts ) {
- list( $label, $input ) = Xml::inputLabelSep( wfMsg( 'rc_categories' ),
+ list( $label, $input ) = Xml::inputLabelSep( $this->msg( 'rc_categories' )->text(),
'categories', 'mw-categories', false, $opts['categories'] );
- $input .= ' ' . Xml::checkLabel( wfMsg( 'rc_categories_any' ),
+ $input .= ' ' . Xml::checkLabel( $this->msg( 'rc_categories_any' )->text(),
'categories_any', 'mw-categories_any', $opts['categories_any'] );
return array( $label, $input );
$options = $nondefaults + $defaults;
$note = '';
- if( !wfEmptyMsg( 'rclegend' ) ) {
- $note .= '<div class="mw-rclegend">' .
- wfMsgExt( 'rclegend', array( 'parseinline' ) ) . "</div>\n";
+ $msg = $this->msg( 'rclegend' );
+ if( !$msg->isDisabled() ) {
+ $note .= '<div class="mw-rclegend">' . $msg->parse() . "</div>\n";
}
+
+ $lang = $this->getLanguage();
+ $user = $this->getUser();
if( $options['from'] ) {
- $note .= wfMsgExt( 'rcnotefrom', array( 'parseinline' ),
- $this->getLanguage()->formatNum( $options['limit'] ),
- $this->getLanguage()->timeanddate( $options['from'], true ),
- $this->getLanguage()->date( $options['from'], true ),
- $this->getLanguage()->time( $options['from'], true ) ) . '<br />';
+ $note .= $this->msg( 'rcnotefrom' )->numParams( $options['limit'] )->params(
+ $lang->userTimeAndDate( $options['from'], $user ),
+ $lang->userDate( $options['from'], $user ),
+ $lang->userTime( $options['from'], $user ) )->parse() . '<br />';
}
# Sort data for display and make sure it's unique after we've added user data.
// limit links
foreach( $wgRCLinkLimits as $value ) {
- $cl[] = $this->makeOptionsLink( $this->getLanguage()->formatNum( $value ),
+ $cl[] = $this->makeOptionsLink( $lang->formatNum( $value ),
array( 'limit' => $value ), $nondefaults, $value == $options['limit'] );
}
- $cl = $this->getLanguage()->pipeList( $cl );
+ $cl = $lang->pipeList( $cl );
// day links, reset 'from' to none
foreach( $wgRCLinkDays as $value ) {
- $dl[] = $this->makeOptionsLink( $this->getLanguage()->formatNum( $value ),
+ $dl[] = $this->makeOptionsLink( $lang->formatNum( $value ),
array( 'days' => $value, 'from' => '' ), $nondefaults, $value == $options['days'] );
}
- $dl = $this->getLanguage()->pipeList( $dl );
+ $dl = $lang->pipeList( $dl );
// show/hide links
- $showhide = array( wfMsg( 'show' ), wfMsg( 'hide' ) );
+ $showhide = array( $this->msg( 'show' )->text(), $this->msg( 'hide' )->text() );
$filters = array(
'hideminor' => 'rcshowhideminor',
'hidebots' => 'rcshowhidebots',
$filters[$key] = $params['msg'];
}
// Disable some if needed
- if ( !$this->getUser()->useRCPatrol() ) {
+ if ( !$user->useRCPatrol() ) {
unset( $filters['hidepatrolled'] );
}
foreach ( $filters as $key => $msg ) {
$link = $this->makeOptionsLink( $showhide[1 - $options[$key]],
array( $key => 1-$options[$key] ), $nondefaults );
- $links[] = wfMsgHtml( $msg, $link );
+ $links[] = $this->msg( $msg )->rawParams( $link )->escaped();
}
// show from this onward link
$timestamp = wfTimestampNow();
- $now = $this->getLanguage()->timeanddate( $timestamp, true );
+ $now = $lang->userTimeAndDate( $timestamp, $user );
$tl = $this->makeOptionsLink(
$now, array( 'from' => $timestamp ), $nondefaults
);
- $rclinks = wfMsgExt( 'rclinks', array( 'parseinline', 'replaceafter' ),
- $cl, $dl, $this->getLanguage()->pipeList( $links ) );
- $rclistfrom = wfMsgExt( 'rclistfrom', array( 'parseinline', 'replaceafter' ), $tl );
+ $rclinks = $this->msg( 'rclinks' )->rawParams( $cl, $dl, $lang->pipeList( $links ) )->parse();
+ $rclistfrom = $this->msg( 'rclistfrom' )->rawParams( $tl )->parse();
return "{$note}$rclinks<br />$rclistfrom";
}
public function getFeedObject( $feedFormat ){
$feed = new ChangesFeed( $feedFormat, false );
$feedObj = $feed->getFeedObject(
- wfMsgForContent( 'recentchangeslinked-title', $this->getTargetTitle()->getPrefixedText() ),
- wfMsgForContent( 'recentchangeslinked-feed' ),
+ $this->msg( 'recentchangeslinked-title', $this->getTargetTitle()->getPrefixedText() )
+ ->inContentLanguage()->text(),
+ $this->msg( 'recentchangeslinked-feed' )->inContentLanguage()->text(),
$this->getTitle()->getFullUrl()
);
return array( $feed, $feedObj );
$opts->consumeValues( array( 'showlinkedto', 'target', 'tagfilter' ) );
$extraOpts = array();
$extraOpts['namespace'] = $this->namespaceFilterForm( $opts );
- $extraOpts['target'] = array( wfMsgHtml( 'recentchangeslinked-page' ),
+ $extraOpts['target'] = array( $this->msg( 'recentchangeslinked-page' )->escaped(),
Xml::input( 'target', 40, str_replace('_',' ',$opts['target']) ) .
Xml::check( 'showlinkedto', $opts['showlinkedto'], array('id' => 'showlinkedto') ) . ' ' .
- Xml::label( wfMsg("recentchangeslinked-to"), 'showlinkedto' ) );
+ Xml::label( $this->msg( 'recentchangeslinked-to' )->text(), 'showlinkedto' ) );
$tagFilter = ChangeTags::buildTagFilterSelector( $opts['tagfilter'] );
if ($tagFilter) {
$extraOpts['tagfilter'] = $tagFilter;
<?php
/**
+ * Implements Special:Unblock
+ *
* 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
/* bool */ 'hideOwn' => (int)$user->getBoolOption( 'watchlisthideown' ),
/* ? */ 'namespace' => 'all',
/* ? */ 'invert' => false,
+ /* bool */ 'associated' => false,
);
$this->customFilters = array();
wfRunHooks( 'SpecialWatchlistFilters', array( $this, &$this->customFilters ) );
# Get namespace value, if supplied, and prepare a WHERE fragment
$nameSpace = $request->getIntOrNull( 'namespace' );
- $invert = $request->getIntOrNull( 'invert' );
+ $invert = $request->getBool( 'invert' );
+ $associated = $request->getBool( 'associated' );
if ( !is_null( $nameSpace ) ) {
+ $eq_op = $invert ? '!=' : '=';\r
+ $bool_op = $invert ? 'AND' : 'OR';
$nameSpace = intval( $nameSpace ); // paranioa
- if ( $invert ) {
- $nameSpaceClause = "rc_namespace != $nameSpace";
+ if ( !$associated ) {
+ $nameSpaceClause = "rc_namespace $eq_op $nameSpace";
} else {
- $nameSpaceClause = "rc_namespace = $nameSpace";
+ $associatedNS = MWNamespace::getAssociated( $nameSpace );\r
+ $nameSpaceClause =
+ "rc_namespace $eq_op $nameSpace " .\r
+ $bool_op .\r
+ " rc_namespace $eq_op $associatedNS";
}
} else {
$nameSpace = '';
}
$values['namespace'] = $nameSpace;
$values['invert'] = $invert;
+ $values['associated'] = $associated;
if( is_null( $values['days'] ) || !is_numeric( $values['days'] ) ) {
$big = 1000; /* The magical big */
$tables = array( 'recentchanges', 'watchlist' );
$fields = array( $dbr->tableName( 'recentchanges' ) . '.*' );
$join_conds = array(
- 'watchlist' => array('INNER JOIN',"wl_user='{$user->getId()}' AND wl_namespace=rc_namespace AND wl_title=rc_title"),
+ 'watchlist' => array(
+ 'INNER JOIN',
+ array(
+ 'wl_user' => $user->getId(),
+ 'wl_namespace=rc_namespace',
+ 'wl_title=rc_title'
+ ),
+ ),
);
$options = array( 'ORDER BY' => 'rc_timestamp DESC' );
if( $wgShowUpdatedMarker ) {
'class' => 'namespaceselector',
)
) . ' ';
- $form .= Xml::checkLabel( $this->msg( 'invert' )->text(), 'invert', 'nsinvert', $invert ) . ' ';
+ $form .= Xml::checkLabel(
+ $this->msg( 'invert' )->text(),
+ 'invert',
+ 'nsinvert',
+ $invert,
+ array( 'title' => $this->msg( 'tooltip-invert' )->text() )
+ ) . ' ';
+ $form .= Xml::checkLabel(
+ $this->msg( 'namespace_association' )->text(),
+ 'associated',
+ 'associated',
+ $associated,
+ array( 'title' => $this->msg( 'tooltip-namespace_association' )->text() )
+ ) . ' ';
$form .= Xml::submitButton( $this->msg( 'allpagessubmit' )->text() ) . '</p>';
$form .= Html::hidden( 'days', $values['days'] );
foreach ( $filters as $key => $msg ) {
'yourrealname' => 'الاسم الحقيقي:',
'yourlanguage' => 'اللغة:',
'yourvariant' => 'لهجة المحتوى:',
+'prefs-help-variant' => 'عرض لهجتك المفضلة أو إملاؤها في صفحات المحتوى لهذا الويكي.',
'yournick' => 'التوقيع:',
'prefs-help-signature' => 'يجب أن توقع تعليقات صفحات النقاش باستخدام "<nowiki>~~~~</nowiki>" الذي سيحول إلى توقيعك مع طابع زمني.',
'badsig' => 'توقيع خام غير صحيح؛ تحقق من وسوم HTML.',
'action-suppressionlog' => 'رؤية هذا السجل الخاص',
'action-block' => 'منع هذا المستخدم من التعديل',
'action-protect' => 'تغيير مستويات الحماية لهذه الصفحة',
+'action-rollback' => 'استرجاع تعديلات آخر مستخدم عدل صفحة معينة سريعا',
'action-import' => 'استيراد هذه الصفحة من ويكي آخر',
'action-importupload' => 'استيراد هذه الصفحة من ملف مرفوع',
'action-patrol' => 'التعليم على تعديلات الآخرين كمراجعة',
'upload-http-error' => 'صودف خطأ HTTP: $1',
# File backend
+'backend-fail-stream' => 'لا يمكن عرض الملف $1.',
+'backend-fail-backup' => 'لا يمكن صنع نسخة أحتياطية للملف $1.',
'backend-fail-notexists' => 'الملف $1 غير موجود.',
+'backend-fail-notsame' => 'يوجد بالفعل ملف غير متطابق في $1.',
+'backend-fail-invalidpath' => '$1 ليس مسارا صالحا للتخزين.',
+'backend-fail-delete' => 'لم يمكن حذف الملف $1.',
+'backend-fail-alreadyexists' => 'الملف $1 موجود بالفعل.',
+'backend-fail-store' => 'لا يمكن تخزين الملف $1 في $2 .',
'backend-fail-copy' => 'لا يمكن نسخ الملف $1 إلى $2 .',
+'backend-fail-move' => 'تعذر نقل ملف $1 إلى $2 .',
'backend-fail-opentemp' => 'تعذّر فتح ملف مؤقت.',
'backend-fail-writetemp' => 'تعذّرت كتابة ملف مؤقت.',
'backend-fail-closetemp' => 'تعذّر إغلاق ملف مؤقت.',
+'backend-fail-read' => 'لا يمكن قراءة الملف $1.',
+'backend-fail-create' => 'تعذر إنشاء الملف $1.',
+
+# Lock manager
+'lockmanager-notlocked' => 'تعذر فتح "$1"، الملف غير مغلق.',
+'lockmanager-fail-closelock' => 'تعذر إغلاق ملف التأمين "$1".',
+'lockmanager-fail-deletelock' => 'تعذر حذف ملف التأمين "$1".',
+'lockmanager-fail-acquirelock' => 'لا يمكن الحصول على تأمين لـ "$1".',
+'lockmanager-fail-openlock' => 'تعذر إغلاق ملف التأمين "$1".',
+'lockmanager-fail-releaselock' => 'تعذر تحرير التأمين لـ "$1"..',
+'lockmanager-fail-db-bucket' => 'تعذر الإتصال بعدد كافي من قواعد تأمين البيانات في الحزمة $1.',
+'lockmanager-fail-db-release' => 'تعذر تحرير الأقفال في قاعدة البيانات $1.',
+'lockmanager-fail-svr-release' => 'تعذر تحرير الأقفال على الخادم $1.',
# ZipDirectoryReader
'zip-file-open-error' => 'صودف خطأ أثناء فتح الملف لفحوصات ZIP.',
'uploadstash-badtoken' => 'لم ينجح أداء ذلك العمل، ربما لأن وثائق تفويض التحرير الخاصة بك منتهية الصلاحية. حاول مرة أخرى.',
'uploadstash-errclear' => 'لم تنجح عملية مسح الملفات.',
'uploadstash-refresh' => 'تحديث قائمة الملفات',
+'invalid-chunk-offset' => 'قطعة أوفست غير صالحة',
# img_auth script messages
'img-auth-accessdenied' => 'رفض الوصول',
من فضلك انظر [$2 صفحة وصف الملف] لمزيد من المعلومات.',
'sharedupload-desc-here' => 'هذا الملف من $1 ويمكن استخدامه بواسطة المشاريع الأخرى.
الوصف على [$2 صفحة وصف الملف] هناك معروض بالأسفل.',
+'sharedupload-desc-edit' => 'هذا ملف من $1 وقد يكون مستخدما في مشاريع أخرى.
+يمكن لك تريد أن تعدل وصف الملف في [$2 صفحته] هناك.',
+'sharedupload-desc-create' => 'هذا ملف من $1 وقد يكون مستخدما في مشاريع أخرى.
+يمكن لك تريد أن تعدل وصف الملف في [$2 صفحته] هناك.',
'filepage-nofile' => 'لا ملف موجود بهذا الاسم.',
'filepage-nofile-link' => 'لا يوجد ملف بهذا الاسم، لكن يمكنك [$1 رفعه].',
'uploadnewversion-linktext' => 'ارفع نسخة جديدة من هذا الملف',
'wantedpages' => 'صفحات مطلوبة',
'wantedpages-badtitle' => 'عنوان غير صحيح في مجموعة النتائج: $1',
'wantedfiles' => 'ملفات مطلوبة',
+'wantedfiletext-cat' => 'الملفات التالية مستعملة ولكن لا وجود لها. يمكن سرد ملفات من مستودعات خارجية بالرغم من وجودها. سيتم <del>محو</del> أي أيجابيات كاذبة. بالإضافة، أي صفحات تتضمن الملفات الغير موجودة تم سردها في [[:$1]].',
+'wantedfiletext-nocat' => 'الملفات التالية مستعملة ولكن غير متوفرة. يمكن سرد ملفات من مستودعات خارجية بالرغم من وجودها. سيتم <del>محو</del> أي أيجابيات كاذبة.',
'wantedtemplates' => 'قوالب مطلوبة',
'mostlinked' => 'أكثر الصفحات وصلا',
'mostlinkedcategories' => 'أكثر التصنيفات ارتباطا',
'mostimages' => 'أكثر الملفات ارتباطا',
'mostrevisions' => 'أكثر الصفحات تعديلا',
'prefixindex' => 'كل الصفحات بالبادئة',
+'prefixindex-namespace' => 'كل الصفحات مع بادئة ($1 مساحة الأسم)',
'shortpages' => 'صفحات قصيرة',
'longpages' => 'صفحات طويلة',
'deadendpages' => 'صفحات نهاية مسدودة',
'protect-title' => 'ضبط مستوى الحماية ل"$1"',
'protect-title-notallowed' => 'عرض مستوى الحماية ل "$1"',
'prot_1movedto2' => 'نُقلت [[$1]] إلى [[$2]]',
+'protect-badnamespace-title' => 'مساحة إسم غير محمية',
+'protect-badnamespace-text' => 'لا يمكن حماية الصفحات الموجودة في مساحة الإسم',
'protect-legend' => 'تأكيد الحماية',
'protectcomment' => 'السبب:',
'protectexpiry' => 'تنتهي في:',
'undelete-cleanup-error' => 'خطأ حذف ملف أرشيف غير مستخدم "$1".',
'undelete-missing-filearchive' => 'غير قادر على استرجاع ملف الأرشيف رقم $1 لأنه ليس في قاعدة البيانات.
ربما يكون قد تم استرجاعه.',
+'undelete-error' => 'وقع خطأ عند إلغاء حذف الصفحة',
'undelete-error-short' => 'خطأ استرجاع ملف: $1',
'undelete-error-long' => 'حدثت أخطاء أثناء استرجاع الملف:
'exportcuronly' => 'ضمن المراجعة الحالية فقط، وليس التاريخ الكامل',
'exportnohistory' => "----
ملاحظة:''' تصدير التاريخ الكامل للصفحات من خلال هذه الاستمارة تم تعطيله لأسباب تتعلق بالأداء'''",
+'exportlistauthors' => 'أضف قائمة كاملة بالمساهمين لكل صفحة',
'export-submit' => 'صدر',
'export-addcattext' => 'أضف صفحات من تصنيف:',
'export-addcat' => 'أضف',
'thumbnail_error' => 'خطأ في إنشاء صورة مصغرة: $1',
'djvu_page_error' => 'صفحة DjVu خارج النطاق',
'djvu_no_xml' => 'لا يمكن جلب XML لملف DjVu',
+'thumbnail-temp-create' => 'تعذر إنشاء ملف الصورة المصغرة المؤقت',
+'thumbnail-dest-create' => 'تعذر حفظ الصورة المصغرة للوجهة',
'thumbnail_invalid_params' => 'محددات التصغير غير صحيحة',
'thumbnail_dest_directory' => 'غير قادر على إنشاء المجلد الهدف',
'thumbnail_image-type' => 'نوع الصورة غير مدعوم',
'userinvalidcssjstitle' => "'''সতৰ্কবাণী:''' \"\$1\" নামৰ কোনো আৱৰণ নাই। Custom .css আৰু .js পৃষ্ঠাই সৰুফলাৰ শিৰোনামা ব্যৱহাৰ কৰে, যেনে- {{ns:user}}:Foo/Vector.css ৰ সলনি {{ns:user}}:Foo/vector.css।",
'updated' => "(আপডেট কৰা হ'ল)",
'note' => "'''টোকা:'''",
-'previewnote' => "'''এয়া প্ৰাকদৰ্শনহে মাথোন। পৰিৱৰ্তনসমূহ এতিয়ও সংৰক্ষণ কৰা হোৱা নাই!'''",
+'previewnote' => "'''মনত ৰাখিব এয়া মাথোন প্ৰাক্দৰ্শনহে।'''
+আপোনাৰ সালসলনিসমূহ এতিয়াও সংৰক্ষণ কৰা হোৱা নাই!",
'previewconflict' => 'এই প্ৰাকদৰ্শনে ওপৰৰ সম্পাদনা ক্ষেত্ৰৰ লেখা সাঁচি ৰাখিলে যেনেকুৱা দেখা যাব তেনেকুৱা দেখাইছে ।',
'session_fail_preview' => "'''দুঃখিত! চেচন ডাটা হেৰাই যোৱাৰ কাৰণে আপোনাৰ সম্পাদনা কৃতকাৰ্য্য নহ'ল ।'''
অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক ।
# Suppression log
'suppressionlog' => 'নিবাৰণ ল’গ',
-'suppressionlogtext' => 'প্ৰশাসকৰ পৰা গোপনে ৰখা অৱলুপ্তি আৰু প্ৰতিবন্ধকৰ তালিকা তলত দিয়া হৈছে ।
-বৰ্তমান কাৰ্য্যৰত নিষেধ আৰু প্ৰতিবন্ধকসমূহৰ বাবে [[Special:BlockList|IP প্ৰতিবন্ধক তালিকা]] ।',
+'suppressionlogtext' => 'পà§\8dৰশাসà¦\95ৰ পৰা à¦\97à§\8bপনà§\87 ৰà¦\96া সমল সমà§\8dপৰà§\8dà¦\95à§\80য় à¦\85ৱলà§\81পà§\8dতি à¦\86ৰà§\81 পà§\8dৰতিবনà§\8dধà¦\95ৰ তালিà¦\95া তলত দিয়া হà§\88à¦\9bà§\87 ।
+বৰà§\8dতমান à¦\95াৰà§\8dযà§\8dযৰত নিষà§\87ধ à¦\86ৰà§\81 পà§\8dৰতিবনà§\8dধà¦\95সমà§\82হৰ বাবà§\87 [[Special:BlockList|IP পà§\8dৰতিবনà§\8dধà¦\95 তালিà¦\95া]] à¦\9aাà¦\93à¦\95।',
# History merging
'mergehistory' => 'পৃষ্ঠাৰ ইতিহাসবোৰ মিলাই দিয়ক',
'ipb-confirm' => 'প্ৰতিবন্ধক নিশ্চিত কৰক',
'badipaddress' => 'অগ্ৰহণযোগ্য আই-পি ঠিকনা',
'blockipsuccesssub' => "বাৰণ কৰা সফল হ'ল",
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]]ক বাধা দিয়া হৈছে ।<br />
-প্ৰতিবন্ধকৰ পুনৰ্বিবেচনাৰ বাবে [[Special:BlockList|IP প্ৰতিবন্ধক তালিকা]]',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]]ক বাধা দিয়া হৈছে।<br />
+প্ৰতিবন্ধকৰ পুনৰ্বিবেচনাৰ বাবে [[Special:BlockList|প্ৰতিবন্ধক তালিকা]] চাওক।',
'ipb-blockingself' => 'আপুনি নিজকে বাধাপ্ৰদান কৰিব বিচাৰিছে ! আপুনি নিশ্চিতনে আপুনি এনে কৰিব ?',
'ipb-confirmhideuser' => 'আপুনি "সদস্য গোপন কৰক" বৈশিষ্ট সক্ৰিয় থকা এজন সদস্যক বাৰণ কৰিবলৈ ওলাইছে । এই কাৰ্যই সকলো তালিকা আৰু ল\'গ ভৰ্তিৰ পৰা তেওঁৰ নাম আঁতৰাই পেলাব । এই কাম কৰিব বুলি আপুনি নিশ্চিতনে ?',
'ipb-edit-dropdown' => 'প্ৰতিবন্ধকৰ কাৰণসমূহ সম্পাদনা কৰক',
তথ্যসূত্ৰ হিছাপে নিবাৰণ ল’গ তলত দিয়া হ’ল ।',
'blocklogentry' => '"[[$1]]" ক $2 $3 লৈ সাল-সলনি কৰাৰ পৰা বাৰণ কৰা হৈছে।',
'reblock-logentry' => '[[$1]]ৰ প্ৰতিবন্ধক ছেটিং ম্যাদ উকলা সময় $2 $3ৰ সৈতে সলনি কৰা হ’ল ।',
-'blocklogtext' => 'এই ল’গখন অৱৰোধ কৰা আৰু অৱৰোধ আঁতৰ কৰা সদস্য সম্পৰ্কীয় ।
-স্বয়ংক্ৰিয়ভাৱে প্ৰতিবন্ধক পোৱা আই.পি. ঠিকনাবোৰ ইয়াত তালিকাভুক্ত কৰা হোৱা নাই ।
-সামà§\8dপà§\8dৰতিà¦\95 à¦\95াৰà§\8dযৰত নিষà§\87ধ à¦\86ৰà§\81 পà§\8dৰতিবনà§\8dধà¦\95ৰ বাবà§\87 [[Special:BlockList|à¦\86à¦\87.পি. পà§\8dৰতিবনà§\8dধà¦\95 তালিà¦\95া]] à¦\9aাà¦\93à¦\95 ।',
+'blocklogtext' => 'এই ল’গখন অৱৰোধ কৰা আৰু অৱৰোধ আঁতৰ কৰা সদস্য সম্পৰ্কীয়।
+স্বয়ংক্ৰিয়ভাৱে প্ৰতিবন্ধক পোৱা আই.পি. ঠিকনাবোৰ ইয়াত তালিকাভুক্ত কৰা হোৱা নাই।
+সামà§\8dপà§\8dৰতিà¦\95 à¦\95াৰà§\8dযৰত নিষà§\87ধ à¦\86ৰà§\81 পà§\8dৰতিবনà§\8dধà¦\95ৰ বাবà§\87 [[Special:BlockList|পà§\8dৰতিবনà§\8dধà¦\95 তালিà¦\95া]] à¦\9aাà¦\93à¦\95।',
'unblocklogentry' => '$1 বাৰণ উঠাই লোৱা হ’ল',
'block-log-flags-anononly' => 'কেৱল বেনামী সদস্য',
'block-log-flags-nocreate' => 'একাউন্ট সৃষ্টি নিষ্ক্ৰিয় কৰা হৈছে',
'parser-template-loop-warning' => 'Hai una rueda de plantíes: [[$1]]',
'parser-template-recursion-depth-warning' => 'Se pasó la llende de fondura recursiva de les plantíes ($1)',
'language-converter-depth-warning' => 'Se pasó la llende de fondura del convertidor de llingües ($1)',
+'node-count-exceeded-category' => 'Páxines onde se pasó la cuenta de nodios',
+'node-count-exceeded-warning' => 'La páxina pasó la cuenta de nodios',
+'expansion-depth-exceeded-category' => "Páxines onde se pasó la fondura d'espansión",
+'expansion-depth-exceeded-warning' => "La páxina pasó la fondura d'espansión",
# "Undo" feature
'undo-success' => "La edición se pue esfacer.
'previewconflict' => 'Bu sınaq göstərişidir və yaddaşda saxlayacağınız təqdirdə mətnin redaktə səhifəsinin yuxarı hissəsində nəticənin necə olacağını göstərir.',
'session_fail_preview' => "'''Üzr istəyirik! Sizin redaktəniz saxlanılmadı. Serverdə identifikasiyanızla bağlı problemlər yaranmışdır. Lütfən bir daha təkrar edin. Problem həll olunmazsa hesabınızdan çıxın və yenidən daxil olun.'''",
'editing' => 'Redaktə $1',
+'creating' => 'Qurulur $1',
'editingsection' => 'Redaktə $1 (bölmə)',
'editingcomment' => 'Redaktə et $1 (yeni bölmə)',
'editconflict' => 'Eyni vaxtda redaktə: $1',
'allpagesnext' => 'Sonrakı',
'allpagessubmit' => 'Seç',
'allpagesprefix' => 'Bu prefiksli səhifələri göstər:',
+'allpages-hide-redirects' => 'Yönləndirmələri gizlət',
# Special:Categories
'categories' => 'Kateqoriyalar',
'version-poweredby-others' => 'digərləri',
'version-software-product' => 'Məhsul',
'version-software-version' => 'Versiya',
+'version-entrypoints-header-url' => 'URL',
# Special:FilePath
'filepath' => 'Fayl yolu',
'api-error-unknownerror' => 'Naməlum xəta: "$1".',
'api-error-uploaddisabled' => 'Bu vikidə fayl yükləmə mümkün deyil.',
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|saniyə|saniyə}}',
+'duration-minutes' => '$1 {{PLURAL:$1|dəqiqə|dəqiqə}}',
+'duration-hours' => '$1 {{PLURAL:$1|saat|saat}}',
+'duration-days' => '$1 {{PLURAL:$1|gün|gün}}',
+'duration-weeks' => '$1 {{PLURAL:$1|həftə|həftə}}',
+'duration-years' => '$1 {{PLURAL:$1|il|il}}',
+'duration-decades' => '$1 {{PLURAL:$1|onillik|onillik}}',
+'duration-centuries' => '$1 {{PLURAL:$1|əsr|əsr}}',
+'duration-millennia' => '$1 {{PLURAL:$1|minillik|minillik}}',
+
);
* @author Kaganer
* @author Reedy
* @author Roustammr
+ * @author Sagan
* @author Timming
* @author Рустам Нурыев
* @author ҒатаУлла
'versionrequiredtext' => 'Был бит менән эшләү өсөн MediaWiki-ның $1 версияһы кәрәк. [[Special:Version|Ҡулланылған версия тураһында мәғлүмәт битен]] ҡара.',
'ok' => 'Тамам',
+'pagetitle' => '{{SITENAME}} проектынан',
'retrievedfrom' => 'Сығанағы — «$1»',
'youhavenewmessages' => 'Яңы $1 бар ($2).',
'newmessageslink' => 'яңы хәбәр',
'badipaddress' => 'IP адрес дөрөҫ түгел',
'blockipsuccesssub' => 'Бикләү уңышлы башҡарылды',
'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] бикләнде.<br />
-[[Special:BlockList|Бикләнгән IP адрестарҙы]] ҡарарға.',
+Биктәрҙе күреү өсөн [[Special:BlockList|бикләнгән IP адрестарҙы]] ҡарағыҙ.',
'ipb-blockingself' => 'Һеҙ үҙегеҙҙе бикләргә теләйһегеҙ! Быны эшләүҙе раҫлайһығыҙмы?',
'ipb-confirmhideuser' => '"Ҡулланыусыны йәшер" ғәмәлдә саҡта ҡулланыусыны блокларға теләйһегеҙ. Уның исеме исемлектәрҙә һәм журналдарҙа күренмәйәсәк. Быны эшләргә теләүегеҙҙе раҫлайһығыҙмы?',
'ipb-edit-dropdown' => 'Бикләү сәбәптәрен мөхәррирләргә',
Түбәндә белешмә өсөн йәшереү яҙмалары журналы килтерелгән:',
'blocklogentry' => '[[$1]] бикләгән, тамамланыу ваҡыты: $2 $3',
'reblock-logentry' => '[[$1]] ҡатнашыусыһының бикләү көйләүҙәрен үҙгәрткән, тамамланыу ваҡыты — $2 $3',
-'blocklogtext' => 'Ҡатнашыусыларҙы бикләү һәм бикте алыу яҙмалары журналы.
-Авто бикләнеүсе IP адрестар бында күрһәтелмәй.
+'blocklogtext' => 'Ҡатнашыусыларҙы бикләү һәм бикте алыу журналы.
+Автоматик бикләнгән IP адрестар бында күрһәтелмәй.
[[Special:BlockList|Ғәмәлдәге тыйыуҙырҙы һәм бикләүҙәрҙе]] ҡарай алаһығыҙ.',
'unblocklogentry' => '$1 ҡулланыусыһының блокланыу ваҡыты тамамланды',
'block-log-flags-anononly' => 'танылмаған ҡатнашыусылар ғына',
'note' => "'''Заўвага: '''",
'previewnote' => "'''Гэта толькі папярэдні прагляд.'''
Вашыя зьмены яшчэ не былі захаваныя!",
+'continue-editing' => 'Працягнуць рэдагаваньне',
'previewconflict' => 'Гэта папярэдні прагляд тэксту зь верхняга вакна рэдагаваньня, так ён будзе выглядаць, калі Вы вырашыце яго захаваць.',
'session_fail_preview' => "'''Не атрымалася захаваць Вашую праўку праз тое, што былі страчаныя зьвесткі пра сэсію.
Калі ласка, паспрабуйце яшчэ раз. Калі памылка ня зьнікне, паспрабуйце [[Special:UserLogout|выйсьці з сыстэмы]] і ўвайсьці ізноў.'''",
'parser-template-loop-warning' => 'Выяўлены цыкль у шаблёнах: [[$1]]',
'parser-template-recursion-depth-warning' => 'Перавышана мяжа глыбіні рэкурсіі шаблёнаў ($1)',
'language-converter-depth-warning' => 'Перавышанае абмежаваньне глыбіні канвэртару варыянтаў мовы ($1)',
+'node-count-exceeded-category' => 'Старонкі зь перавышанай колькасьцю вузлоў',
+'node-count-exceeded-warning' => 'Старонка перавысіла дазволеную колькасьць вузлоў',
+'expansion-depth-exceeded-category' => 'Старонкі зь перавышанай глыбінёй уключэньня',
+'expansion-depth-exceeded-warning' => 'Старонка перавысіла дазволеную глыбіню ўключэньняў',
# "Undo" feature
'undo-success' => 'Рэдагаваньне можа быць адмененае. Калі ласка, параўнайце адрозьненьні паміж вэрсіямі, каб упэўніцца, што гэта адпаведныя зьмены, а потым запішыце зьмены для сканчэньня рэдагаваньня.',
'ipb-confirm' => 'Пацьвердзіць блякаваньне',
'badipaddress' => 'Некарэктны IP-адрас',
'blockipsuccesssub' => 'Блякаваньне пасьпяховае',
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] {{GENDER:$1|быў заблякаваны|была заблякаваная}}.
-<br />Глядзіце [[Special:BlockList|сьпіс заблякаваных IP-адрасоў]] дзеля перагляду блякаваньняў.',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] {{GENDER:$1|быў заблякаваны|была заблякаваная}}.<br />
+Глядзіце [[Special:BlockList|сьпіс блякаваньняў]] дзеля іх перагляду.',
'ipb-blockingself' => 'Вы зьбіраецеся заблякаваць самога сябе! Вы ўпэўнены, што жадаеце гэта зрабіць?',
'ipb-confirmhideuser' => 'Вы зьбіраецеся заблякаваць удзельніка са статусам «схаваны». Гэтае дзеяньне прывядзе да таго, што яго імя зьявіцца ва ўсіх сьпісах і журналах уваходу. Вы ўпэўнены, што жадаеце гэта зрабіць?',
'ipb-edit-dropdown' => 'Рэдагаваць прычыны блякіровак',
'blocklog-showsuppresslog' => 'Гэты ўдзельнік ужо заблякаваны і схаваны. Журнал хаваньняў пададзены ніжэй:',
'blocklogentry' => 'заблякаваны [[$1]] на тэрмін: $2 $3',
'reblock-logentry' => 'зьмененыя парамэтры блякаваньня для [[$1]] на тэрмін: з $2 да $3',
-'blocklogtext' => 'Гэта журнал уліку блякаваньняў і разблякаваньняў удзельнікаў. Аўтаматычна заблякаваныя IP-адрасы не пазначаныя. Глядзіце [[Special:BlockList|сьпіс заблякаваных IP-адрасоў]], каб пабачыць дзейныя ў гэты момант блякаваньні.',
+'blocklogtext' => 'Гэта журнал уліку блякаваньняў і разблякаваньняў удзельнікаў.
+Аўтаматычна заблякаваныя IP-адрасы не пазначаныя.
+Глядзіце [[Special:BlockList|сьпіс блякаваньняў]], каб пабачыць дзейныя ў гэты момант блякаваньні.',
'unblocklogentry' => 'разблякаваны $1',
'block-log-flags-anononly' => 'толькі ананімныя ўдзельнікі',
'block-log-flags-nocreate' => 'стварэньне рахункаў забароненае',
'version-software' => 'Усталяванае праграмнае забесьпячэньне',
'version-software-product' => 'Прадукт',
'version-software-version' => 'Вэрсія',
+'version-entrypoints' => 'Уваходныя адрасы',
+'version-entrypoints-header-entrypoint' => 'Пункт уваходу',
+'version-entrypoints-header-url' => 'URL',
# Special:FilePath
'filepath' => 'Шлях да файла',
'updated' => '(обновена)',
'note' => "'''Забележка:'''",
'previewnote' => "'''Това е само предварителен преглед. Промените все още не са съхранени!'''",
+'continue-editing' => 'Продължаване на редактирането',
'previewconflict' => 'Този предварителен преглед отразява текста в горната текстова кутия така, както би се показал, ако съхраните.',
'session_fail_preview' => "'''За съжаление редакцията ви не успя да бъде обработена поради загуба на данните за текущата сесия. Опитайте отново. Ако все още не работи, опитайте да [[Special:UserLogout|излезете]] и да влезете отново.'''",
'session_fail_preview_html' => "'''За съжаление редакцията ви не беше записана поради изтичането на сесията ви.'''
'token_suffix_mismatch' => "'''Редакцията ви беше отхвърлена, защото браузърът ви е развалил пунктуационните знаци в редакционната отметка. Евентуалното съхранение би унищожило съдържанието на страницата. Понякога това се случва при използването на грешно работещи анонимни междинни сървъри.'''",
'edit_form_incomplete' => "'''Някои части от формуляра за редактиране не достигнаха до сървъра; проверете дали редакциите ви са непокътнати и опитайте отново.'''",
'editing' => 'Редактиране на „$1“',
+'creating' => 'Създаване на $1',
'editingsection' => 'Редактиране на „$1“ (раздел)',
'editingcomment' => 'Редактиране на „$1“ (нов раздел)',
'editconflict' => 'Различна редакция: $1',
'allpagesprefix' => 'Показване на страници, започващи със:',
'allpagesbadtitle' => 'Зададеното име е невалидно. Възможно е да съдържа междуезикова или междупроектна представка или пък знаци, които не могат да се използват в заглавия.',
'allpages-bad-ns' => 'В {{SITENAME}} не съществува именно пространство „$1“.',
+'allpages-hide-redirects' => 'Скриване на пренасочванията',
# Special:Categories
'categories' => 'Категории',
'undelete-bad-store-key' => 'Не е възможно възстановяването на файловата версия с времеви отпечатък $1: файлът е липсвал преди изтриването.',
'undelete-cleanup-error' => 'Грешка при изтриване на неизползвания архивен файл „$1“.',
'undelete-missing-filearchive' => 'Не е възможно възстановяването на файла с ID $1, защото не присъства в базата от данни. Вероятно вече е възстановен.',
+'undelete-error' => 'Грешка при възстановяване на страницата',
'undelete-error-short' => 'Грешка при възстановяването на изтрития файл: $1',
'undelete-error-long' => 'Възникнаха грешки при възстановяването на изтрития файл:
'exif-serialnumber' => 'Сериен номер на фотоапарата',
'exif-cameraownername' => 'Собственик на фотоапарата',
'exif-label' => 'Етикет',
+'exif-datetimemetadata' => 'Дата на последна модификация на метаданните',
'exif-nickname' => 'Неформално име на изображението',
'exif-rating' => 'Рейтинг (от 5)',
'exif-rightscertificate' => 'Сертификат за управление на правата',
+'exif-copyrighted' => 'Авторскоправен статут',
'exif-copyrightowner' => 'Носител на авторското право',
'exif-usageterms' => 'Условия за използване',
'exif-originaldocumentid' => 'Уникален номер на оригиналния документ',
'logentry-delete-restore' => '$1 възстанови страницата $3',
'logentry-suppress-revision' => '$1 тайно промени видимостта на {{PLURAL:$5|една версия|$5 версии}} на страницата $3: $4',
'logentry-suppress-revision-legacy' => '$1 тайно промени видимостта на версиите на страница $3',
+'revdelete-content-hid' => 'скрито съдържание',
+'revdelete-summary-hid' => 'скрито резюме на редакцията',
+'revdelete-uname-hid' => 'скрито потребителско име',
'revdelete-restricted' => 'добавени ограничения за администраторите',
'revdelete-unrestricted' => 'премахнати ограничения за администраторите',
+'logentry-move-move' => '$1 премести страницата $3 към заглавие $4',
+'logentry-move-move-noredirect' => '$1 премести страницата $3 към заглавие $4 без да оставя пренасочване',
'logentry-move-move_redir' => '$1 премести страницата $3 като $4 (върху пренасочване)',
+'logentry-move-move_redir-noredirect' => '$1 премести върху пренасочване страницата $3 към заглавие $4 (без пренасочване)',
'logentry-patrol-patrol' => '$1 отбеляза като патрулирана версия $4 на страницата „$3“',
'logentry-patrol-patrol-auto' => '$1 автоматично отбеляза като патрулирана версия $4 на страницата $3',
'logentry-newusers-newusers' => '$1 създаде потребителска сметка',
'api-error-uploaddisabled' => 'Достъпът за качване на файлове в това уики е прекратен.',
'api-error-verification-error' => 'Файлът може би е повреден или има грешно разширение.',
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|секунда|секунди}}',
+'duration-minutes' => '$1 {{PLURAL:$1|минута|минути}}',
+'duration-hours' => '$1 {{PLURAL:$1|час|часа}}',
+'duration-days' => '$1 {{PLURAL:$1|ден|дни}}',
+'duration-weeks' => '$1 {{PLURAL:$1|седмица|седмици}}',
+'duration-years' => '$1 {{PLURAL:$1|година|години}}',
+'duration-decades' => '$1 {{PLURAL:$1|десетилетие|десетилетия}}',
+'duration-centuries' => '$1 {{PLURAL:$1|век|века}}',
+'duration-millennia' => '$1 {{PLURAL:$1|хилядолетие|хилядолетия}}',
+
);
Katasunduk gasan pamakai hanyar nangini kawa diubah pintang tungkaran ''[[Special:ChangePassword|ubah katasunduk]]'' wayah babuat log.",
'newarticle' => '(Hanyar)',
'newarticletext' => "Pian maumpati sabuah tautan ka tungkaran nang baluman ada lagi. Gasan maulah tungkaran, mulai ja mangatik pada kutak di bawah (lihati [[{{MediaWiki:Helppage}}|tungkaran patulung]] gasan panjalasan labih). Amun Pian ka sia cagaran tasalah, klik picikan '''back''' di panjalajah web Pian.",
-'anontalkpagetext' => "----''Ini adalah tungkaran pamandiran gasan pamuruk kada bangaran nang baluman maulah akun pulang, atawa kada mamuruknya. Kami tapaksa mamuruk numurik alamat IP hagan maminanduinya.
-Alamat IP nangkaini kawaai dipuruk ulih babarapa pamuruk.
+'anontalkpagetext' => "----''Ngini adalah tungkaran pamandiran gasan pamakai kada bangaran nang baluman ma-ulah akun pulang, atawa kada mamakainya. Kami tapaksa mamakai numurik alamat IP hagan maminanduinya.
+Alamat IP nangkaini kawaai dipuruk ulih babarapa pamakai.
Amun Pian adalah pamuruk kada bangaran wan marasa kumin nang kada pas ta ka Pian, muhun [[Special:UserLogin/signup|ulah sabuah akun]] or [[Special:UserLogin|babuat log]] hagan mahindari kabingungan awan pamuruk kada bangaran lain kaina.",
'noarticletext' => 'Parhatan ini kadada naskah di tungkaran ini.
Pian kawa [[Special:Search/{{PAGENAME}}|manggagai gasan judul ini]] pintang tungkaran lain,
Inatakan bahwasa saragam tungkaran-tungkaran .css wan .js mamuruk aksara halus, cuntuh {{ns:user}}:Foo/vector.css sawagai tandingan {{ns:user}}:Foo/Vector.css.",
'updated' => '(Dihanyarakan)',
'note' => "'''Catatan:'''",
-'previewnote' => "'''Ingatakanlah bahwasa ini titilikan haja nang balum disimpan!'''",
+'previewnote' => "'''Ingatakanlah bahwasa ngini titilikan haja''' Parubahan Pian nang baluman disimpan!",
'previewconflict' => 'Titilikan ini mancarminakan naskah dalam naskah wilayah atas babakan sawagai mana ini akan mancungul amun disimpan.',
'session_fail_preview' => "'''Ampun! Kami kada kawa manarusakan babakan Pian karana kahilangan sési data.'''
Cubai pang sa'asa pulang.
Nangini ambahanu tajadi amun Pian mamuruk sabuah layanan proxy buggy bapandal web kada bangaran.",
'edit_form_incomplete' => "'''Babarapa hagian matan purmulir babakan kada sampai server; pariksa pulang apakah babakan Pian tatap utuh wan cubai lagi.'''",
'editing' => 'Mambabak $1',
+'creating' => 'Ma-ulah $1',
'editingsection' => 'Mambabak $1 (hagian)',
'editingcomment' => 'Mambabak $1 (hagian hanyar)',
'editconflict' => 'Babakan bacakut: $1',
Amun Pian kada hakun tulisan Pian dibabak kada baumpat lalu, lalu ai kada usah manyumbang di sia.<br />
Pian jua bajanji ka kami amun Pian manulis ini saurangan, atawa manjumput ini matan sabuah asal mula ampun umum atawa nang samacam asal mula bibas (lihati $1 gasan rarincian).
'''Jangan kirimkan gawian bahak cipta kada baijin!'''",
-'longpageerror' => "'''Kasalahan: Naskah nang Pian kirim panjangnya $1 kilubita, nangapa tapanjang pada pamanjangnya nang kawa $2 kilubita.'''
+'longpageerror' => "'''Kasalahan: Naskah nang Pian kirim panjangnya {{PLURAL:$1|asa kilubita|$1 kilubita}}, nangapa tapanjang pada pamanjangnya nang kawa {{PLURAL:$2|asa kilubita|$2 kilubita}}.'''
Nangini kada kawa disimpan.",
'readonlywarning' => "'''Paringatan: Basis data sudah tasunduk gasan diharagu, jadinya Pian kada kawa manyimpan babakab Pian parhatan ini.'''
Pian kawa amun handak cut-n-paste naskah ka sabuah barakas naskah wan simpan ini gasan kaina.
'edit-no-change' => 'Babakan Pian diabaiakan, karana kadada parubahan diulah ka naskah ini.',
'edit-already-exists' => 'Kada kawa maulah sabuah tungkaran hanyar.
Nangini sudah ada.',
+'defaultmessagetext' => 'Naskah baku pasan',
# Parser/template warnings
'expensive-parserfunction-warning' => "'''Paringatan:''' Tungkaran ini mangandung kabanyakan pungsi parser kiauan.
# Suppression log
'suppressionlog' => 'Log panikinan',
-'suppressionlogtext' => 'Nang di bawah adalah sabuah daptar matan pahahapusan wan Pamblublukiran tamasuk isi tasungkup matan papambakal. Lihati [[Special:IPBlockList|Daptar IP diblukir]] gasan daptar matan uprasi tahanyar tatangatan wan blublukir.',
+'suppressionlogtext' => 'Nang di bawah adalah sabuting daptar matan pahapusan wan pamblukiran tamasuk isi tasungkup matan pambakal. Lihati [[Special:BlockList|Daptar diblukir]] gasan daptar matan uprasi tahanyar tatangatan wan blukir.',
# History merging
'mergehistory' => 'Gabungakan hahalam tungkaran',
'historywarning' => "'''Paringatan:''' Tungkaran nang Pian pasal hagan hapus baisi sabuah halam sakitar $1 {{PLURAL:$1|ralatan|raralatan}}:",
'confirmdeletetext' => 'Pian handak mahapus sabuah tungkaran awan samunyaan halamnya.
Muhun mamastiakan amun Pian handak manggawi ini, bahwasa Pian paham akibatnya, wan apa nang Pian gawi ini sasuai awan [[{{MediaWiki:Policy-url}}|kabijakan {{SITENAME}}]].',
-'actioncomplete' => 'Pangulahan tuntung',
+'actioncomplete' => 'Pa-ulahan tuntung',
'actionfailed' => 'Palakuan luput',
'deletedtext' => '"$1" sudah tahapus. Lihati $2 sabuah rakaman gasan nang hanyar ni tahapus.',
'dellogpage' => 'Log pahapusan',
'ipb-confirm' => 'Yakinakan blukir',
'badipaddress' => 'Alamat IP kada sah',
'blockipsuccesssub' => 'Pamblukiran ruhui',
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] sudah diblukir.<br />
-Janaki [[Special:BlockList|daptar IP dibluk]] hagan maniring-pulang blukir.',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] hudah diblukir.<br />
+Janaki [[Special:BlockList|daptar dibluk]] hagan maniring-pulang blukir.',
'ipb-blockingself' => 'Pian pasal mamblukir Pian surang! Bujurkah Pian mahandaki ngitu?',
'ipb-confirmhideuser' => 'Pian pasal mamblukir saurang pamuruk awan "sungkupakan pamuruk" di-kawa-akan. Ngini akan manikin/kadada ngaran pamuruk dalam samunyaan daptar wan log masukan. Pian yakin kah handak manggawi ngitu?',
'ipb-edit-dropdown' => 'Aalasan pamblukiran babakan',
'blocklogentry' => 'mamblukir [[$1]] sampai wayah $2 $3',
'reblock-logentry' => 'setelan blukir diubah gasan [[$1]] awan sabuah wayah kadaluarsa $2 $3',
'blocklogtext' => 'Ngini adalah log matan blukir wan lapas-blukir pamuruk.
-Blukir alamat IP utumatis kada didaptar.
-Janaki [[Special:BlockList|daptar IP diblukir]] gasan daptar oparasi diikat wan diblukir tadamini.',
+Blukir alamat IP utumatis kada tadaptar.
+Janaki [[Special:BlockList|daptar diblukir]] gasan daptar uprasi dibabat wan pamblukiran pahanyarnya.',
'unblocklogentry' => 'Mahilangakan blukir "$1"',
'block-log-flags-anononly' => 'papamuruk kada bangaran haja',
'block-log-flags-nocreate' => 'Paulahan akun dipajahakan',
'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|ralatan|raralatan}} matan $2',
# Tooltip help for the actions
-'tooltip-pt-userpage' => 'Tungkaran pamuruk Pian',
+'tooltip-pt-userpage' => 'Tungkaran pamakai Pian',
'tooltip-pt-anonuserpage' => 'Tungkaran pamuruk matan alamat IP Pian mambabak sawagai',
'tooltip-pt-mytalk' => 'Tungkaran pamandiran Pian',
'tooltip-pt-anontalk' => 'Pamandiran pasal bababakan matan alamat IP ngini',
'svg-long-desc' => 'Barakas SVG, nominal $1 × $2 piksel, basar barakas: $3',
'show-big-image' => 'Ukuran hibak',
'show-big-image-preview' => 'Takaran tilikan ngini: $1.',
-'show-big-image-other' => 'Resolusi lain: $1.',
+'show-big-image-other' => '{{PLURAL:$2|Risulusi|Risulusi}} lain: $1.',
'show-big-image-size' => '$1 × $2 piksal',
'file-info-gif-looped' => 'mambulat',
'file-info-gif-frames' => '$1 {{PLURAL:$1|pigura|pipigura}}',
'logentry-move-move_redir-noredirect' => '$1 diugah tungkaran $3 ka $4 lung sabuah paugahan awan-kada maninggalakan sabuah paugahan',
'logentry-patrol-patrol' => "$1 diciri'i ralatan $4 matan tungkaran $3 taawasi",
'logentry-patrol-patrol-auto' => "$1 utumatis diciri'i ralatan $4 matan tungkaran $3 taawasi",
-'logentry-newusers-newusers' => '$1 diulah sabuah akun pamuruk',
-'logentry-newusers-create' => '$1 diulah sabuah akun pamuruk',
-'logentry-newusers-create2' => '$1 diulah sabuah akun pamuruk $3',
+'logentry-newusers-newusers' => '$1 ma-ulah sabuting akun pamakai',
+'logentry-newusers-create' => '$1 ma-ulah sabuting akun pamakai',
+'logentry-newusers-create2' => '$1 ma-ulah sabuting akun pamakai $3',
'logentry-newusers-autocreate' => 'Akun $1 utumatis diulah',
'newuserlog-byemail' => 'Katasunduk dikirimakan lung suril.',
'customjsprotected' => 'আপনার এই জাভাস্ক্রিপ্ট পাতাটি সম্পাদনা করার অনুমতি নেই, কারণ এ পাতায় অন্য ব্যবহারকারীর নিজস্ব সেটিংস রয়েছে।',
'ns-specialprotected' => '{{ns:special}} নামস্থানে পাতাসমূহ সম্পাদনা করা যাবে না।',
'titleprotected' => "[[User:$1|$1]]-কে এই শিরোনামের পাতা সৃষ্টি করতে বাধা দেয়া হচ্ছে। কারণ: ''$2''।",
+'filereadonlyerror' => '"$1" ফাইলটিকে পরিবর্তন করা সম্ভব হচ্ছে না কারন "$2" ফাইল রিপোসিটোরি রিড-অনলি-মোডে আছে।
+
+একজন প্রশাসক যিনি এটাকে লকড করেছেন তার যৌক্তিকতা দেওয়া হল: "$3"',
# Virus scanner
'virus-badscanner' => "ভুল কনফিগারেশন: অজ্ঞাত ভাইরাস স্কেনার: ''$1''",
'emailconfirmlink' => 'আপনার ই-মেইলের ঠিকানা নিশ্চিত করুন',
'invalidemailaddress' => 'এই ই-মেইল ঠিকানাটি গ্রহণযোগ্য নয়, কারণ সম্ভবত এটি সঠিক ফরম্যাটে লেখা হয়নি। অনুগ্রহ করে সঠিক ফরম্যাটে লেখা ই-মেইল ঠিকানা দিন, অথবা ক্ষেত্রটি খালি রাখুন।',
'cannotchangeemail' => 'একাউন্ট ইমেইল ঠিকানা এই উইকিতে পরিবর্তন করা যাবে না।',
+'emaildisabled' => 'এই সাইটটিতে ই-মেইল প্রদানের সুবিধা নেই।',
'accountcreated' => 'অ্যাকাউন্ট তৈরি করা হয়েছে',
'accountcreatedtext' => '$1 এর জন্য ব্যবহারকারী অ্যাকাউন্ট তৈরি করা হয়েছে।',
'createaccount-title' => '{{SITENAME}}-এর জন্য অ্যাকাউন্ট সৃষ্টি',
'passwordreset-username' => 'ব্যবহারকারী নাম:',
'passwordreset-domain' => 'ডোমেইন:',
'passwordreset-capture' => 'অনুসন্ধানের ফলাফলের ইমেইল দেখুন?',
+'passwordreset-capture-help' => 'আপনি যদি এই চেক বক্সে ক্লিক করেন, তবে অস্থায়ী শব্দচাবিসহ একটি ই-মেইল আপনাকে দেখানো হবে ও সেইসাথে ব্যবহারকারীকে তা পাঠানো হবে।',
'passwordreset-email' => 'ইমেইল ঠিকানা:',
'passwordreset-emailtitle' => '{{SITENAME}} সাইটে ব্যবহারকারীর বিস্তারিত তথ্যাদি',
'passwordreset-emailtext-ip' => 'কেউ একজন (সম্ভবত আপনি, $1 আইপি ঠিকানা থেকে) {{SITENAME}} ($4) সাইটের জন্য আপনার
'userpage-userdoesnotexist-view' => 'ব্যবহারকারী অ্যাকাউন্ট "$1" অনিবন্ধিত।',
'blocked-notice-logextract' => 'এই ব্যবহারকারী বর্তমানে ব্লক রয়েছে।
রেফারেন্সের জন্য সাম্প্রতিক ব্লক লগ ভুক্তি নিচে দেওয়া হল:',
-'clearyourcache' => "'''লক্ষ্য করুন:আপনার পছন্দগুলো রক্ষা করার পর পরিবর্তনগুলো দেখার জন্য আপনাকে ব্রাউজারের ক্যাশ এড়াতে হতে পারে।'''
-*'''ফায়ারফক্স/সাফারি:''' ''শিফট'' কী চেপে ধরে ''রিলোড''-এ ক্লিক করুন, কিংবা হয় ''কন্ট্রোল-F5'' অথবা ''কন্ট্রোল-R''(ম্যাক-এ ''কমান্ড-R'') একসাথে চাপুন;
-*'''গুগল ক্রোম:''' ''কন্ট্রোল-শিফট-R'' (ম্যাক-এ ''কমান্ড-শিফট-R'') চাপতে হবে
-*'''ইন্টারনেট এক্সপ্লোরার:''' ''কন্ট্রোল'' চেপে ধরে ''রিফ্রেশ''-এ ক্লিক করুন, কিংবা ''কন্ট্রোল-F5'' চাপুন
-*'''কংকারার:''' কেবল ''রিলোড'' ক্লিক করলেই বা ''F5'' চাপলেই চলবে;
-*'''অপেরা:''' ''Tools→Preferences''-এ গিয়ে ক্যাশ পরিষ্কার করে নিন;",
+'clearyourcache' => "'''লক্ষ্য করুন:''' সংরক্ষণের পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারে ক্যাশে পরিস্কার করার প্রয়োজন হতে পারে।
+* '''ফায়ারফক্স / সাফারি:''' ''শিফট'' কি ধরে রাখা অবস্থায় ''রিলোড''-এ ক্লিক করুন, অথবা ''Ctrl-F5'' বা ''Ctrl-R'' (ম্যাক-এ ''⌘-R'') চাপুন
+* '''গুগল ক্রোম:''' ''Ctrl-Shift-R'' (ম্যাক-এ ''⌘-Shift-R'') চাপুন
+* '''ইন্টারনেট এক্সপ্লোরার:''' ''Ctrl'' কি ধরে রাখা অবস্থায় ''রিফ্রেশ''-এ ক্লিক করুন, অথবা ''Ctrl-F5'' চাপুন
+* '''কনকুয়েরার:''' ''রিলোড''-এ ক্লিক করুন বা ''F5'' চাপুন
+* '''অপেরা:''' ''টুলস → প্রিফারেন্স''-এ গিয়ে ক্যাশে পরিস্কার করে নিন",
'usercssyoucanpreview' => "'''পরামর্শ:''' \"{{int:showpreview}}\" বোতাম ব্যবহার করে সংরক্ষণের আগে আপনার নতুন CSS পরীক্ষা করুন।",
'userjsyoucanpreview' => "'''পরামর্শ:''' \"{{int:showpreview}}\" বোতাম ব্যবহার করে সংরক্ষণের আগে আপনার নতুন JavaScript পরীক্ষা করুন।",
'usercsspreview' => "'''মনে রাখবেন আপনি আপনার জন্য বরাদ্ধকৃত সিএসএস প্রাকদর্শন করছেন।
'note' => "'''নোট:'''",
'previewnote' => "'''খেয়াল করুন, এটি একটি প্রাকদর্শন মাত্র।'''
আপনার পরিবর্তন এখনও সংরক্ষণ করা হয়নি!",
+'continue-editing' => 'সম্পাদনা চালিয়ে যান',
'previewconflict' => 'এই প্রাকদর্শনটি সম্পাদনা ক্ষেত্রের উপরের অংশটির টেক্সট সংরক্ষণ করলে যেরকম দেখাবে, তা দেখাচ্ছে।',
'session_fail_preview' => "'''দুঃখিত! সেশন ডাটা হারিয়ে যাওয়ার কারণে আপনার সম্পাদনাটি সংরক্ষণ করা সম্ভব হয়নি। দয়া করে লেখাটি আবার জমা দেয়ার চেষ্টা করুন। যদি এতেও কাজ না হয়, তবে অ্যাকাউন্ট থেকে বেরিয়ে গিয়ে আবার অ্যাকাউন্টে প্রবেশ করে চেষ্টা করুন।'''",
'session_fail_preview_html' => "'''দুঃখিত! সেশন উপাত্ত হারিয়ে যাওয়ার কারণে আমরা আপনার সম্পাদনাটি প্রক্রিয়া করতে পারিনি।'''
'token_suffix_mismatch' => "'''আপনার সম্পাদনাটি প্রত্যাখ্যান করা হয়েছে, কারণ আপনার ক্লায়েন্ট প্রোগ্রামটি সম্পাদনা টেক্সটের বিরামচিহ্নগুলি গুলিয়ে ফেলেছে। পাতাটির টেক্সটে যাতে ক্ষতি না হয় সেজন্য সম্পাদনাটি প্রত্যাখ্যান করা হয়েছে। আপনি কোন ত্রুটিপূর্ণ ওয়েব-ভিত্তিক বেনামী প্রক্সি সেবা ব্যবহার করলে এরকম হতে পারে।'''",
'edit_form_incomplete' => "'''আপনার সম্পাদনার কিছু অংশ সার্ভারে পৌছায় নি; আপনার সম্পাদনা সম্পূর্ণরুপে আছে কিনা নিশ্চিত হয়ে আবার চেষ্টা করুন'''",
'editing' => 'সম্পাদনা করছেন: $1',
+'creating' => '$1 পাতাটি তৈরি করছেন',
'editingsection' => 'সম্পাদনা করছেন $1 (অনুচ্ছেদ)',
'editingcomment' => 'সম্পাদনা করছেন $1 (নতুন অনুচ্ছেদ)',
'editconflict' => 'সম্পাদনা দ্বন্দ্ব: $1',
আপনি আরো প্রতিজ্ঞা করছেন যে, এই লেখাগুলো আপনি নিজে লিখেছেন, বা সাধারণের ব্যবহারের জন্য উন্মুক্ত কোন উৎস থেকে সংগ্রহ করেছেন।
'''স্বত্ব সংরক্ষিত কোন লেখা স্বত্বাধিকারীর অনুমতি ছাড়া এখানে জমা দেবেন না!'''",
'copyrightwarning2' => "অনুগ্রহ করে লক্ষ করুন: {{SITENAME}}-এর এই ভুক্তিতে আপনার লেখা বা অবদান অন্যান্য ব্যবহারকারীরা পরিবর্তন বা পরিবর্ধন করতে, এমনকি মুছে ফেলতে পারবেন। {{SITENAME}} এ আপনার সকল লেখালেখি/অবদান গনু ফ্রি ডকুমেন্টেশনের ($1) আওতায় বিনামূল্যে প্রাপ্য ও হস্তান্তরযোগ্য। আপনার জমা দেয়া লেখা যে কেউ হৃদয়হীনভাবে সম্পাদনা করতে এবং যথেচ্ছভাবে ব্যবহার করতে পারেন। আপনি যদি এ ব্যাপারে একমত না হন, তাহলে এখানে আপনার লেখা জমা দেবেন না। আপনি আরো প্রতিজ্ঞা করছেন যে, এই লেখাগুলো আপনি নিজে লিখেছেন (তবে কোন মৌলিক গবেষণা নয়) বা সাধারণের ব্যবহারের জন্য উন্মুক্ত কোন উৎস থেকে সংগ্রহ করেছেন। '''স্বত্ব সংরক্ষিত কোন লেখা স্বত্বাধিকারীর অনুমতি ছাড়া এখানে জমা দেবেন না।'''",
-'longpageerror' => "'''ত্রুটি: আপনার জমা দেয়া টেক্সটের পরিমাণ $1 কিলোবাইট, যা সর্বোচ্চ সীমা $2 কিলোবাইটের চেয়ে বেশি। এটি সংরক্ষণ করা সম্ভব নয়।'''",
+'longpageerror' => " '''ত্রুটি: আপনার জমা দেয়া টেক্সটের পরিমাণ $1 কিলোবাইট, যা সর্বোচ্চ সীমা $2 কিলোবাইটের চেয়ে বেশি। এটি সংরক্ষণ করা সম্ভব নয়।'''",
'readonlywarning' => "'''সতর্কীকরণ: রক্ষণাবেক্ষণের জন্য ডাটাবেজ অবরুদ্ধ রাখা হয়েছে, তাই এই মুহূর্তে আপনার সম্পাদনা সংরক্ষণ করতে পারবেন না।
আপনি চাইলে লেখাটি কাট এবং পেষ্ট করে ভবিষ্যতের জন্য কোন টেক্সট ফাইলে সংরক্ষণ করতে পারেন।'''
'edit-no-change' => 'আপনার সম্পাদনাটি উপেক্ষা করা হয়েছে, কারণ লেখাতে কোনো পরিবর্তন করা হয়নি।',
'edit-already-exists' => 'নতুন পাতা সৃষ্টি করা যায়নি।
পাতাটি ইতিমধ্যেই বিদ্যমান।',
+'defaultmessagetext' => 'আদি টেক্সট',
# Parser/template warnings
'expensive-parserfunction-warning' => "'''সতর্ক হোন:''' এই পাতাটি অনেক বেশি পরিমাণে এক্সপেনসিভ পার্সার ফাংশন কল রয়েছে।
তাই এই আর্গুমেন্টটি বাদ দেওয়া হয়েছে।",
'post-expand-template-argument-category' => 'বাদ ফর্মা আর্গুমেন্ট ধারণকারী পাতা',
'parser-template-loop-warning' => 'টেম্পলেট লুপ সনাক্ত হয়েছে: [[$1]]',
+'parser-template-recursion-depth-warning' => 'টেমপ্লেট পুনরাবৃত্তি (রিকার্শন) ডেপথ্ সীমা অতক্রম করেছে ($1)',
+'language-converter-depth-warning' => 'ভাষা পরিবর্তন ডেপথ্ সীমা অতক্রম করেছে ($1)',
# "Undo" feature
'undo-success' => 'সম্পাদনাটি বাতিল করা যাবে। অনুগ্রহ করে নিচের তুলনাটি পরীক্ষা করে দেখুন ও নিশ্চিত করুন যে এটাই আপনি করতে চান, এবং তারপর নিচের সম্পাদনাগুলি সংরক্ষণ করে সম্পাদনাটির বাতিল প্রক্রিয়া সমাপ্ত করুন।',
'revdelete-submit' => 'নির্বাচিত {{PLURAL:$1|সংশোধনে|সংশোধসমূহে}} প্রয়োগ করো',
'revdelete-success' => "'''সংশোধন দৃশ্যমানতা সফলভাবে হালনাগাদ করা হয়েছে।'''",
'logdelete-success' => "'''ঘটনা দৃশ্যমানতা সফলভাবে স্থাপন করা হয়েছে।'''",
+'logdelete-failure' => "'''লগ-এর দৃশ্যমানতা নির্ধারণ সম্ভব হচ্ছে না:'''
+$1",
'revdel-restore' => 'দৃশ্যমানতা পরিবর্তন করো',
'revdel-restore-deleted' => 'অপসারিত সংস্করণ',
'revdel-restore-visible' => 'প্রদর্শনযোগ্য সংস্করণ',
'userrights-lookup-user' => 'ব্যবহারকারী দল ব্যবস্থাপনা করুন',
'userrights-user-editname' => 'ব্যবহারকারীর নাম লিখুন:',
'editusergroup' => 'ব্যবহারকারীর দল সম্পাদনা করো',
-'editinguser' => "ব্যবহারকারী সম্পাদনা করছেন '''[[User:$1|$1]]''' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])",
+'editinguser' => "'''[[User:$1|$1]]''' $2 ব্যবহারকারীর জন্য ব্যবহারকারী অধিকার পরিবর্তন করছেন",
'userrights-editusergroup' => 'ব্যবহারকারীর দল সম্পাদনা করো',
'saveusergroups' => 'ব্যবহারকারীর দল সংরক্ষণ করো',
'userrights-groupsmember' => 'সদস্য:',
'illegalfilename' => '"$1" ফাইলনামটিতে এমন কিছু ক্যারেক্টার আছে যেগুলি পাতার শিরোনামে ব্যবহার করা অবৈধ। অনুগ্রহ করে ফাইলটি নতুন করে নামকরণ করুন এবং তারপর আপলোড করার চেষ্টা করুন।',
'badfilename' => 'ফাইলের নামটি পরিবর্তন করে $1" করা হয়েছে।',
'filetype-badmime' => '"$1" MIME ধরনের ফাইল আপলোড করা যাবে না।',
+'filetype-bad-ie-mime' => 'এই ফাইলটি আপলোড করা সম্ভব নয় কারণ ইন্টারনেট এক্সপ্লোরার একে "$1" হিসেবে সনাক্ত করতে পারে, যা অননুমোদিত এবং সম্ভাব্য ক্ষতিকারক ফাইল টাইপ।',
'filetype-unwanted-type' => "'''\".\$1\"''' ফাইল ধরনটি অগ্রহণযোগ্য।
পছন্দনীয় {{PLURAL:\$3|ফাইলের ধরন|ফাইলের ধরনগুলো}} হলো \$2।",
'filetype-banned-type' => '\'\'\'".$1"\'\'\' {{PLURAL:$4|ফাইল ধরনটি অনুমোদিত নয়|ফাইল ধরনগুলো অনুমোদিত নয়}}। অনুমোদিত {{PLURAL:$3|ফাইলের ধরন|ফাইলের ধরনগুলো}} হল $2।',
'filename-tooshort' => 'ফাইল নামটি খুব ছোট।',
'filetype-banned' => 'এই ধরনের ফাইল নিষিদ্ধ।',
'illegal-filename' => 'ফাইলের এই নামটি গ্রহণযোগ্য নয়।',
+'overwrite' => 'বিদ্যমান কোনো ফাইল প্রতিস্থাপন গ্রহণযোগ্য নয়।',
'unknown-error' => 'একটি অজানা ত্রুটি দেখা দিয়েছে।',
'tmp-create-error' => 'অস্থায়ী ফাইল তৈরি করা যাবে না।',
'tmp-write-error' => 'অস্থায়ী ফাইলে লিখতে সমস্যা হয়েছে।',
'large-file' => '$1-এর চেয়ে বড় আকারের ফাইল সুপারিশ করা হয় না; এই ফাইলটি $2।',
'largefileserver' => 'সার্ভারে যতখানি অনুমোদিত তার চেয়ে এই ফাইলের আকার বড়।',
'emptyfile' => 'আপনি যে ফাইলটি আপলোড করেছেন, তা খালি মনে হচ্ছে। ফাইলের নামে টাইপিং ত্রুটির কারণে এরকম হতে পারে। অনুগ্রহ করে পরীক্ষা করে দেখুন আপনি আসলেই এই ফাইলটি আপলোড করতে চান কি না।',
+'windows-nonascii-filename' => 'এই উইকি বিশেষ ক্যারেক্টারসমৃদ্ধ ফাইলের নাম সমর্থন করে না।',
'fileexists' => "এই নামের একটি ফাইল ইতিমধ্যেই বিদ্যমান। অনুগ্রহ করে '''<tt>[[:$1]]</tt>''' পরীক্ষা করে দেখুন, যদি আপনি এটি পরিবর্তনের ব্যাপারে নিশ্চিত না হন। [[$1|thumb]]",
'fileexists-extension' => "একই নামের আরেকটি ফাইল আছে: [[$2|thumb]]
* আপলোড করা ফাইলের নাম: '''<tt>[[:$1]]</tt>'''
'overwroteimage' => '"[[$1]]"-এর একটি নতুন সংস্করণ আপলোড করা হয়েছে',
'uploaddisabled' => 'আপলোড নিষ্ক্রিয় আছে',
'copyuploaddisabled' => 'ইউআরএল এর মাধ্যমে আপলোড নিস্ক্রিয় রয়েছে।',
+'uploadfromurl-queued' => 'আপনার আপলোড সারিবদ্ধ হয়েছে।',
'uploaddisabledtext' => 'ফাইল আপলোড নিষ্ক্রিয়।',
'php-uploaddisabledtext' => 'পিএইপি -এ ফাইল আপলোড নিস্ক্রিয় রয়েছে।
অনুগ্রহ করে file_uploads সেটিং পরীক্ষা করুন।',
'filewasdeleted' => 'এই নামের একটি ফাইল পূর্বে আপলোড করা হয়েছিল এবং তারপর মুছে ফেলা হয়েছিল। আপনি ফাইলটি আবার আপলোড করার আগে $1 পরীক্ষা করে দেখুন।',
'filename-bad-prefix' => "আপনি যে ফাইলটি আপলোড করছেন, তার নাম '''\"\$1\"''' দিয়ে শুরু হয়েছে। এ ধরনের নাম সাধারণত ডিজিটাল ক্যামেরাগুলি স্বয়ংক্রিয়ভাবে দিয়ে থাকে এবং এগুলি ব্যাখ্যামূলক নয়। অনুগ্রহ করে আপনার ফাইলের জন্য আরও ব্যাখ্যামূলক একটি নাম পছন্দ করুন।",
'upload-success-subj' => 'আপলোড সফল হয়েছে',
+'upload-success-msg' => '[$2] থেকে আপনার আপলোড সফল হয়েছে। এটি এখানে: [[:{{ns:file}}:$1]] পাওয়া যাবে',
'upload-failure-subj' => 'আপলোড সমস্যা',
'upload-warning-subj' => 'আপলোড সতর্কীকরণ',
+'upload-warning-msg' => '[$2] থেকে করা আপনার আপলোডে সমস্যা হয়েছে। সমস্যার সমাধানকল্পে আপনাকে সম্ভবত [[Special:Upload/stash/$1|আপলোড ফর্ম]]-এ ফিরে যেতে হবে।',
'upload-proto-error' => 'ভুল প্রোটোকল',
'upload-proto-error-text' => 'দূরবর্তী আপলোডের জন্য URLগুলি <code>http://</code> বা <code>ftp://</code> দিয়ে শুরু হওয়া আবশ্যক।',
'http-invalid-url' => 'ভুল ইউআরএল: $1',
'http-read-error' => 'HTTP পঠন ত্রুটি।',
'http-timed-out' => 'HTTP অনুরোধের সময় পার হয়েছে।',
+'http-curl-error' => 'ইউআরএল নিয়ে আসার ক্ষেত্রে ত্রুটি: $1',
'http-host-unreachable' => 'URL-এ পৌঁছানো যায়নি',
'http-bad-status' => 'HTTP অনুরোধের সময় কোন সমস্যা হয়েছে: $1 $2',
** ফাইলের অনুলিপি',
'filedelete-edit-reasonlist' => 'অপসারণের কারণ সম্পাদনা',
'filedelete-maintenance' => 'রক্ষণাবেক্ষণের সময় ফাইল অপরাসণ এবং পুনরুদ্ধার সাময়িকভাবে নিস্ক্রিয় রয়েছে।',
+'filedelete-maintenance-title' => 'ফাইলটি অপসারণ করা সম্ভব নয়',
# MIME search
'mimesearch' => 'MIME অনুসন্ধান',
'statistics-users-active-desc' => 'ব্যবহারকারী যারা বিগত {{PLURAL:$1|দিনে|$1 দিনে}} একটি কাজ করেছেন।',
'statistics-mostpopular' => 'সবচেয়ে বেশী বার দেখা পাতাসমূহ',
-'disambiguations' => 'দ্ব্যর্থতা-দূরীকরণ পাতাসমূহ',
+'disambiguations' => 'দ্ব্যর্থতা-দূরীকরণ পাতাসমূহে সংযোগকৃত পাতাসমূহ',
'disambiguationspage' => 'Template:দ্ব্যর্থতা_নিরসন',
'disambiguations-text' => "নিচের পাতাগুলি থেকে একটি '''দ্ব্যর্থতা নিরসন পাতা'''-তে সংযোগ আছে। এর পরিবর্তে এগুলি থেকে একটি উপযুক্ত বিষয়ে সংযোগ থাকা আবশ্যক।<br />যদি কোন পাতায় এমন কোন টেমপ্লেট থাকে যেটিতে [[MediaWiki:Disambiguationspage]] থেকে সংযোগ আছে, তবে সেই পাতাটিকে একটি দ্ব্যর্থতা নিরসন পাতা হিসেবে গণ্য করা হয়।",
'allpagesprefix' => 'এই উপসর্গবিশিষ্ট পাতাগুলো দেখাও:',
'allpagesbadtitle' => 'প্রদত্ত পাতার শিরোনামটি অবৈধ ছিল অথবা এটিতে কোন আন্তঃভাষা বা আন্তঃউইকি উপসর্গ ছিল। এটিতে এক বা একাধিক ক্যারেক্টার থাকতে পারে যা শিরোনামে ব্যবহার করা সম্ভব নয়।',
'allpages-bad-ns' => '{{SITENAME}}-এ "$1" নামের কোন নামস্থান নেই।',
+'allpages-hide-redirects' => 'পুনর্নির্দেশনাগুলো লুকাও',
+
+# SpecialCachedPage
+'cachedspecial-refresh-now' => 'সাম্প্রতিকগুলো প্রদর্শন করো।',
# Special:Categories
'categories' => 'বিষয়শ্রেণীসমূহ',
'import-logentry-interwiki' => '$1 উইকি-স্থানান্তরিত',
'import-logentry-interwiki-detail' => '$2-এর করা $1 {{PLURAL:$1|সংশোধন|টি সংশোধন}}',
+# JavaScriptTest
+'javascripttest' => 'জাভাস্ক্রিপ্ট পরীক্ষা',
+
# Tooltip help for the actions
'tooltip-pt-userpage' => 'আপনার ব্যবহারকারী পাতা',
'tooltip-pt-anonuserpage' => 'যে আইপি ঠিকানা থেকে আপনি সম্পাদনা করছেন, তার ব্যবহারকারী পাতা',
'tooltip-diff' => 'আপনি টেক্সটে কী কী পরিবর্তন করেছেন, তা দেখানো হোক।',
'tooltip-compareselectedversions' => 'এই পাতার দুইটি নির্বাচিত সংস্করণের মধ্যে তুলনা দেখুন।',
'tooltip-watch' => 'এই পাতাটি আমার নজরতালিকায় যোগ করো',
+'tooltip-watchlistedit-normal-submit' => 'শিরোনাম অপসারণ',
'tooltip-recreate' => 'মুছে ফেলা সত্ত্বেও পাতাটি পুনরায় সৃষ্টি করুন',
'tooltip-upload' => 'আপলোড শুরু করো',
'tooltip-rollback' => '"পুনর্বহাল" এই পাতায় সর্বশেষ অবদানকারীর সম্পাদনাসমূহ বাতিল করে পাতাটিকে পূর্বাবস্থায় ফিরিয়ে দেয়',
# Pseudotags used for GPSDestDistanceRef
'exif-gpsdestdistance-k' => 'কিলোমিটার',
'exif-gpsdestdistance-m' => 'ফাইল',
+'exif-gpsdestdistance-n' => 'নটিক্যাল মাইল',
'exif-gpsdop-excellent' => 'খুব ভাল ($1)',
'exif-gpsdop-good' => 'ভাল ($1)',
'exif-rating-rejected' => 'প্রত্যাখাত',
+'exif-iimcategory-ace' => 'শিল্প, সংস্কৃতি এবং বিনোদন',
'exif-iimcategory-clj' => 'অপরাধ ও আইন',
'exif-iimcategory-dis' => 'দুর্যোগ ও দুর্ঘটনা',
'exif-iimcategory-fin' => 'অর্থনীতি এবং বাণিজ্য',
# action=purge
'confirm_purge_button' => 'ঠিক আছে',
'confirm-purge-top' => 'এই পাতার ক্যাশে পরিষ্কার করতে চান?',
+'confirm-purge-bottom' => 'পাতার ক্যাশে পরিস্কারের ফলে তা আপনাকে পাতাটির সবচেয়ে সাম্প্রতিক সংস্করণ প্রদর্শনে বাধ্য করে।',
# action=watch/unwatch
'confirm-watch-button' => 'ঠিক আছে',
'confirm-watch-top' => 'এই পাতাটি আপনার নজরতালিকায় যুক্ত করা হবে?',
'confirm-unwatch-button' => 'ঠিক আছে',
+'confirm-unwatch-top' => 'এই পাতাটি আপনার নজরতালিকা থেকে সরিয়ে ফেলতে ইচ্ছুক?',
# Multipage image navigation
'imgmultipageprev' => '← পূর্ববর্তী পাতা',
'version-software' => 'ইনস্টলকৃত সফটওয়্যার',
'version-software-product' => 'পণ্য',
'version-software-version' => 'সংস্করণ',
+'version-entrypoints-header-url' => 'ইউআরএল',
# Special:FilePath
'filepath' => 'ফাইলের পাথ',
# New logging system
'logentry-delete-delete' => '$1 কর্তৃক $3 পাতাটি অপসারিত হয়েছে',
'logentry-delete-restore' => '$1 কর্তৃক $3 পাতাটি ফিরিয়ে আনা হয়েছে',
+'revdelete-content-hid' => 'বিষয়বস্তু লুকায়িত',
+'revdelete-summary-hid' => 'সম্পাদনা সারাংশ লুকায়িত',
+'revdelete-uname-hid' => 'ব্যবহারকারী নাম লুকায়িত',
+'revdelete-content-unhid' => 'বিষয়বস্তু প্রদর্শিত',
+'revdelete-summary-unhid' => 'সম্পাদনা সারাংশ প্রদর্শিত',
+'revdelete-uname-unhid' => 'ব্যবহারকারী নাম প্রদর্শিত',
'revdelete-restricted' => 'এই সীমাবদ্ধতা প্রশাসকের ক্ষেত্রে প্রয়োগ করো',
'revdelete-unrestricted' => 'এই সীমাবদ্ধতা প্রশাসকের ক্ষেত্রে তুলে নাও',
+'logentry-move-move' => '$1 ব্যবহারকারী $3 পাতাটিকে $4 শিরোনামে স্থানান্তর করেছেন',
+'logentry-move-move-noredirect' => '$1 ব্যবহারকারী $3 পাতাটিকে $4 শিরোনামে কোনো পুনর্নির্দেশনা ছাড়াই স্থানান্তর করেছেন',
+'logentry-move-move_redir' => '$1 ব্যবহারকারী $3 পাতাটিকে $4 শিরোনামে পুনির্নির্দেশনার ওপর দিয়ে স্থানান্তর করেছেন',
+'logentry-move-move_redir-noredirect' => '$1 ব্যবহারকারী $3 পাতাটিকে $4 শিরোনামে পুনর্নির্দেশনার ওপর দিয়ে কোনো পুনর্নির্দেশনা ছাড়াই স্থানান্তর করেছেন',
+'logentry-patrol-patrol' => '$1 ব্যবহারকারী $3 পাতার $4 নম্বর সংস্করণ পরীক্ষিত বলে চিহ্নিত করেছেন',
+'logentry-patrol-patrol-auto' => '$1 ব্যবহারকারী স্বয়ংক্রিয়ভাবে $3 পাতার $4 নম্বর সংস্করণ পরীক্ষিত বলে চিহ্নিত করেছেন',
+'logentry-newusers-newusers' => '$1 একটি অ্যাকাউন্ট তৈরি করেছেন',
+'logentry-newusers-create' => '$1 একটি অ্যাকাউন্ট তৈরি করেছেন',
+'logentry-newusers-create2' => '$1 ব্যবহারকারী $3 নামে একটি অ্যাকাউন্ট তৈরি করেছেন',
+'logentry-newusers-autocreate' => '$1 অ্যাকাউন্টটি স্বয়ংক্রিয়ভাবে তৈরি হয়েছে',
'newuserlog-byemail' => 'শব্দচাবি ইমেইলের মাধ্যমে পাঠানো হয়েছে',
# Feedback
'feedback-error2' => 'ত্রুটি: সম্পাদনা ব্যর্থ',
'feedback-error3' => 'ত্রুটি: এপিআই থেকে কোন সাড়া নেই',
'feedback-close' => 'সম্পন্ন',
+'feedback-bugnew' => 'আমি পরীক্ষা করেছি। নতুন একটি বাগ রিপোর্ট করুন।',
# API errors
'api-error-badaccess-groups' => 'আপনার এই উইকিতে ফাইল আপলোডের অনুমতি নেই।',
'api-error-duplicate-archive-popup-title' => 'অনুলিপি {{PLURAL:$1|ফাইল|ফাইল}} যা ইতমধ্যে অপসারণ করা হয়েছে',
'api-error-duplicate-popup-title' => 'অনুলিপি {{PLURAL:$1|ফাইল|ফাইল}}',
'api-error-empty-file' => 'আপনার জমাদানকৃত ফাইলটি খালি।',
+'api-error-emptypage' => 'নতুন ও খালি পাতা তৈরি গ্রহণযোগ্য নয়।',
'api-error-fetchfileerror' => 'অভ্যন্তরীণ ত্রুটি: ফাইল নিয়ে আসার সময় কোনো সমস্যা হয়েছিলো।',
'api-error-file-too-large' => 'আপনার জমাদানকৃত ফাইলটি অনেক বড়।',
'api-error-filename-tooshort' => 'এই ফাইল নামটি খুবই ছোট।',
'api-error-unknown-code' => 'অজানা ত্রুটি: "$1"',
'api-error-unknown-error' => 'অভ্যন্তরীণ ত্রুটি: আপনার ফাইলটি আপলোড করার সময় কিছু সমস্যা হয়েছে।',
'api-error-unknown-warning' => 'অজানা সতর্কীকরণ: $1',
+'api-error-unknownerror' => 'অজানা ত্রুটি: "$1"',
'api-error-uploaddisabled' => 'এই উইকির জন্য আপলোড সুবিধা নিস্ক্রিয় রয়েছে।',
'api-error-verification-error' => 'সম্ভবত এই ফাইলটি ত্রুটিপূর্ণ অথবা এর এক্সটেনশনটি ভুল।',
'note' => "'''Notenn :'''",
'previewnote' => "'''Diwallit mat, n'eus ken ur rakweled eus an destenn-mañ.'''
N'eo ket bet enrollet ho kemmoù evit c'hoazh !",
+'continue-editing' => "Kenderc'hel da gemmañ",
'previewconflict' => 'Gant ar rakweled e teu testenn ar bajenn war wel evel ma vo pa vo bet enrollet.',
'session_fail_preview' => "'''Ho tigarez! N'eus ket bet tu da enrollañ ho kemmoù rak kollet eo bet roadennoù an dalc'h.'''
Klaskit en-dro mar plij.
'parser-template-loop-warning' => "Patrom e kelc'h detektet : [[$1]]",
'parser-template-recursion-depth-warning' => 'Tizhet bevenn donder galvoù ar patromoù ($1)',
'language-converter-depth-warning' => "Aet eur en tu all d'ar vevenn amdreiñ yezhoù ($1)",
+'node-count-exceeded-category' => "Pajennoù m'eur aet en tu all d'an niver a skoulmoù",
+'node-count-exceeded-warning' => "Pajenn a ya en tu all d'an niver a skoulmoù",
+'expansion-depth-exceeded-category' => "Pajennoù m'eur aet dreist d'an donder astenn",
+'expansion-depth-exceeded-warning' => "Pajenn a ya dreist d'an donder astenn",
# "Undo" feature
'undo-success' => "Gallout a reer disteurel ar c'hemmoù-mañ. Gwiriit, mar plij, gant ar geñveriadenn a-is evit bezañ sur eo an dra-se a fell deoc'h ober; goude-se enrollit ar c'hemmoù a-is a-benn echuiñ disteurel ar c'hemmoù.",
'feedback-bugornote' => "Ma'z oc'h prest da zeskrivañ ur gudenn deknikel dre ar munud e c'hallit [\$1 kemenn un draen].
A-hend-all e c'hallit ober gant ar furmskrid eeunaet dindan. Ouzhpennet e vo hoc'h evezhiadenn d'ar bajenn \"[\$3 \$2]\", a-gevret gant hoc'h anv implijer hag anv ar merdeer a rit gantañ.",
'feedback-subject' => 'Danvez :',
-'feedback-message' => 'Kemennadenn:',
+'feedback-message' => 'Kemennadenn :',
'feedback-cancel' => 'Nullañ',
'feedback-submit' => 'Kas ho soñj',
'feedback-adding' => "Oc'h ouzhpennañ ho soñj war ar bajenn...",
'parser-template-loop-warning' => 'Nalezena smyčka šablon: [[$1]]',
'parser-template-recursion-depth-warning' => 'Překročen limit hloubky rekurzivního vkládání šablon ($1)',
'language-converter-depth-warning' => 'Překročen limit vnoření u jazykové konverze ($1)',
+'node-count-exceeded-category' => 'Stránky překračující počet uzlů',
+'node-count-exceeded-warning' => 'Stránka překročila počet uzlů',
+'expansion-depth-exceeded-category' => 'Stránky překračující hloubku expanze',
+'expansion-depth-exceeded-warning' => 'Stránka překročila hloubku expanze',
# "Undo" feature
'undo-success' => 'Editace může být zrušena. Zkontrolujte a pak potvrďte změny zobrazené níže.',
'updated' => '(Diweddariad)',
'note' => "'''Dalier sylw:'''",
'previewnote' => "'''Cofiwch taw rhagolwg yw hwn.''' Nid yw eich gwaith wedi ei roi ar gadw eto!",
+'continue-editing' => 'Parhau i olygu',
'previewconflict' => "Mae'r rhagolwg hwn yn dangos y testun yn yr ardal golygu uchaf, fel ag y byddai'n ymddangos petaech yn rhoi'r dudalen ar gadw.",
'session_fail_preview' => "'''Ymddiheurwn! Methwyd prosesu eich golygiad gan fod rhan o ddata'r sesiwn wedi'i golli. Ceisiwch eto.
Os digwydd yr un peth eto, ceisiwch [[Special:UserLogout|allgofnodi]] ac yna mewngofnodi eto.'''",
'allpages-bad-ns' => 'Nid oes gan {{SITENAME}} barth o\'r enw "$1".',
'allpages-hide-redirects' => 'Cuddio tudalennau ailgyfeirio',
+# SpecialCachedPage
+'cachedspecial-refresh-now' => 'Gweld y diwygiad diweddaraf.',
+
# Special:Categories
'categories' => 'Categorïau',
'categoriespagetext' => "Mae'r {{PLURAL:$1|categori|categori|categorïau|categorïau|categorïau|categorïau}} isod yn cynnwys tudalennau neu ffeiliau amlgyfrwng.
'duration-weeks' => '$1 {{PLURAL:$1|wythnos}}',
'duration-years' => '$1 {{PLURAL:$1|mlynedd|mlynedd|flynedd|mlynedd|mlynedd|mlynedd}}',
'duration-decades' => '$1 {{PLURAL:$1|degawd|degawd|ddegawd|degawd|degawd|degawd}}',
-'duration-centuries' => '$1 {{PLURAL:$1|canrif|canrif|ganrif|chanrif|chanrif|canrif}}',
+'duration-centuries' => '$1 {{PLURAL:$1|canmlwydd|ganmlwydd|ganmlwydd|canmlwydd|chanmlwydd|canmlwydd}}',
+'duration-millennia' => '$1 {{PLURAL:$1|milflwydd|filflwydd|filflwydd|milflwydd|milflwydd|milflwydd}}',
);
'parser-template-loop-warning' => 'Vorlagenschleife entdeckt: [[$1]]',
'parser-template-recursion-depth-warning' => 'Vorlagenrekursionstiefengrenze überschritten ($1)',
'language-converter-depth-warning' => 'Sprachkonvertertiefenlimit überschritten ($1)',
+'node-count-exceeded-category' => 'Seiten, die die Knotenanzahl überschritten haben',
+'node-count-exceeded-warning' => 'Die Seite hat die Knotenpunktanzahl überschritten.',
+'expansion-depth-exceeded-category' => 'Seiten, die die Expansionstiefe überschritten haben',
+'expansion-depth-exceeded-warning' => 'Die Seite hat die Expansionstiefe überschritten.',
# "Undo" feature
'undo-success' => 'Die Bearbeitung kann rückgängig gemacht werden.
* ({{int:cur}}) = Unterschied zur aktuellen Version, ({{int:last}}) = Unterschied zur vorherigen Version
* Uhrzeit/Datum = Version zu dieser Zeit, Benutzername/IP-Adresse des Bearbeiters, {{int:minoreditletter}} = Kleine Änderung',
'history-fieldset-title' => 'In der Versionsgeschichte suchen',
-'history-show-deleted' => 'nur gelöschte Versionen',
+'history-show-deleted' => 'Nur gelöschte Versionen zeigen',
'histfirst' => 'Älteste',
'histlast' => 'Neueste',
'historysize' => '({{PLURAL:$1|1 Byte|$1 Bytes}})',
'qbpageoptions' => 'Ena pele',
'qbpageinfo' => 'Gıre',
'qbmyoptions' => 'Pelê mı',
-'qbspecialpages' => 'Pelê Mêniye',
+'qbspecialpages' => 'Peley xısusi',
'faq' => 'PZP (Persê ke zehf persiyenê)',
'faqpage' => 'Project: PZP',
'history_short' => 'Tarix',
'updatedmarker' => 'cıkewtena mına peyêne ra dıme biyo rocane',
'printableversion' => 'Asayışê çapkerdışi',
-'permalink' => 'Gıreyo jûqere',
+'permalink' => 'Gıreyo daimi',
'print' => 'Çap ke',
'view' => 'Bıvêne',
'edit' => 'Bıvurne',
'newpage' => 'Pela newiye',
'talkpage' => 'Ena pele sero werêne',
'talkpagelinktext' => 'Werênayış',
-'specialpage' => 'Pela xase',
+'specialpage' => 'Pela xısusi',
'personaltools' => 'Hacetê şexsi',
'postcomment' => 'Qısımo newe',
'articlepage' => 'Pela zerreki bıvêne',
'showtoc' => 'bımocne',
'hidetoc' => 'bınımne',
'collapsible-collapse' => 'Kılmever ke',
-'collapsible-expand' => 'Hera',
+'collapsible-expand' => 'Hera ke',
'thisisdeleted' => 'Bıvêne ya zi $1 peyser bia?',
'viewdeleted' => '$1 bıvêne?',
'restorelink' => '{{PLURAL:$1|yew vurnayışo esterıte|$1 vurnayışê esterıtey}}',
'nstab-main' => 'Pele',
'nstab-user' => 'Pela Karberi',
'nstab-media' => 'Pela Medya',
-'nstab-special' => 'Pela xase',
+'nstab-special' => 'Pela xısusi',
'nstab-project' => 'Pela Procey',
'nstab-image' => 'Dosya',
'nstab-mediawiki' => 'Mesac',
'cascadeprotected' => 'No pel de vurnayiş qedexe biyo, çunke şıma tuşa "kademeyın" aqtif kerdo u no {{PLURAL:$1|pelo|pelo}} pawıteyo de xebıtyeno:
$2',
'namespaceprotected' => "No '''$1''' ca de icazetê şıma çino şıma pel rêz keri.",
-'ns-specialprotected' => 'Pelê mêniye nênê vurnayış.',
+'ns-specialprotected' => 'Peley xısusi nênê vurnayış.',
'titleprotected' => 'Eno [[User:$1|$1]] zerreyê ena peli nişeno vuriye.
Sebeb: "\'\'$2\'\'".',
Kaberê bini ke şıma de kewti irtıbat, adresa e-postey şıma eşkera nêbena.',
'prefs-help-email-required' => 'E-mail adrese mecburiya.',
'prefs-info' => 'Enformasyonê temelî',
-'prefs-i18n' => 'Beynelbinel kerdişî',
+'prefs-i18n' => 'Şaryayış kerdış',
'prefs-signature' => 'İmza',
'prefs-dateformat' => 'Formatê tarixi',
'prefs-timeoffset' => 'Wext offset',
'blanknamespace' => '(Ser)',
# Contributions
-'contributions' => 'İştiraqê karberi',
+'contributions' => 'İştirakê karberi',
'contributions-title' => '$1 de iştırakê karberi',
'mycontris' => 'İştırakê mı',
'contribsub2' => 'Semedê $1 ($2)',
'export-pagelinks' => 'behsê xorıniya pelê pêrabesteyani:',
# Namespace 8 related
-'allmessages' => 'Mesajanê sistemi',
+'allmessages' => 'Mesacê sistemi',
'allmessagesname' => 'Name',
'allmessagesdefault' => 'nuşteyo orjinal',
'allmessagescurrent' => 'nuşte yo ke şuxuliyeno',
Na rêze de her gırêyo bin zey istisna vêniyeno, yanê pelê ke dosya beno ke sero rêzbiyaye asena.',
# Metadata
-'metadata' => 'Metadata',
+'metadata' => 'Melumato serên',
'metadata-help' => 'Ena dosya dı zafyer informasyoni esto. Belki ena dosya yew kamareyo dijital ya zi skaner ra vıraziyo.
Eg ena dosya, kondisyonê orcinali ra bıvuriya, belki detayanê hemi nıeseno.',
-'metadata-expand' => 'Extended detayan bımoc',
+'metadata-expand' => 'Detayan bımocne',
'metadata-collapse' => 'extended details bınım',
'metadata-fields' => 'Resımê meydanê metadataê ke na pele de benê lista, pela resımmocnaene de ke tabloê metadata gına waro, gureniyenê.
Ê bini zey sayekerdoğan nımiyenê.
'confirm-unwatch-top' => 'Ena pele lista xoya seyirkerdışi ra bıvece?',
# Multipage image navigation
-'imgmultipageprev' => 'peleyê verin',
+'imgmultipageprev' => '← peleyê verin',
'imgmultipagenext' => 'pelo serîn →',
'imgmultigo' => 'Şı!',
'imgmultigoto' => 'Şi pel $1',
'fileduplicatesearch-noresults' => 'Ebe namey "$1" ra dosya nêdiyayê.',
# Special:SpecialPages
-'specialpages' => 'Pelê mêniye',
+'specialpages' => 'Peley xısusi',
'specialpages-note' => '----
* Xısusi pelaya normal
* <span class="mw-specialpagerestricted">Xısusi peleyê keı rê ray nê deyaya.</span>
* @ingroup Language
* @file
*
+ * @author Dbc334
* @author Derbeth
* @author Dunak
* @author Dundak
'parser-template-loop-warning' => 'Pśedłogowa šlejfa namakana: [[$1]]',
'parser-template-recursion-depth-warning' => 'Limit rekursijneje dłymi pśedłogi pśekšocony ($1)',
'language-converter-depth-warning' => 'Limit dłymokosći rěcnego konwertera pśekšocony ($1)',
+'node-count-exceeded-category' => 'Boki, źož licba sukow jo pśekšocona',
+'node-count-exceeded-warning' => 'Bok jo licbu sukow pśekšocył',
+'expansion-depth-exceeded-category' => 'Boki, źož ekspansiska dłymokosć jo pśekšocona',
+'expansion-depth-exceeded-warning' => 'Bok jo ekspansisku dłymokosć pśekšocył',
# "Undo" feature
'undo-success' => 'Wobźěłanje móžo se wótpóraś. Pšosym pśeglěduj dołojcne pśirownowanje aby se wěsty był, až to wót wěrnosći coš, a pón składuj změny, aby se wobźěłanje doskóńcnje wótpórało.',
'prefs-skin' => 'Šat',
'skin-preview' => 'Pśeglěd',
'datedefault' => 'Standard',
-'prefs-beta' => 'Betafunkcije',
+'prefs-beta' => 'Preizkusne funkcije',
'prefs-datetime' => 'Datum a cas',
'prefs-labs' => 'Laborowe funkcije',
'prefs-personal' => 'Wužywarski profil',
'upload-curl-error28-text' => 'Bok pśedłujko njejo wótegronił. Kontrolěruj, lic jo bok online, pócakaj wokognuśe a wopytaj pón hyšći raz. Móžo byś zmysłapołne, w drugem casu hyšći raz proběrowaś.',
'license' => 'Licenca:',
-'license-header' => 'Licencowanje',
+'license-header' => 'Licencěrowanje',
'nolicense' => 'Nic njejo wuzwólone.',
'license-nopreview' => '(Pśeglěd njejo móžny.)',
'upload_source_url' => ' (płaśeca, zjawnje pśistupna URL)',
'exif-gpsdestdistance' => 'Distanca k celowemu městnu',
'exif-gpsprocessingmethod' => 'Mě metody pśeźěłanja GPS',
'exif-gpsareainformation' => 'Mě wobcerka GPS',
-'exif-gpsdatestamp' => 'Datum GPS',
+'exif-gpsdatestamp' => 'GPS-datum',
'exif-gpsdifferential' => 'Diferencialna korektura GPS',
'exif-jpegfilecomment' => 'Komentar JPEG-dataje',
'exif-keywords' => 'Klucowe słowa',
'tog-showjumplinks' => 'Ενεργοποίησε τους συνδέσμους προσβασιμότητας του τύπου "μετάβαση σε"',
'tog-uselivepreview' => 'Χρησιμοποίησε άμεση προεπισκόπηση (JavaScript) (Πειραματικό)',
'tog-forceeditsummary' => 'Ειδοποίησέ με όταν εισάγω μια κενή σύνοψη επεξεργασίας',
-'tog-watchlisthideown' => 'Απόκρυψε τις επεξεργασίες μου απο τη λίστα παρακολούθησης',
-'tog-watchlisthidebots' => 'Απόκρυψε τις επεξεργασίες των bots από τη λίστα παρακολούθησης',
+'tog-watchlisthideown' => 'Απόκρυψε τις επεξεργασίες μου από τη λίστα παρακολούθησης',
+'tog-watchlisthidebots' => 'Απόκρυψε τις επεξεργασίες των bot από τη λίστα παρακολούθησης',
'tog-watchlisthideminor' => 'Απόκρυψε τις μικρής σημασίας επεξεργασίες από τη λίστα παρακολούθησης',
'tog-watchlisthideliu' => 'Απόκρυψη επεξεργασιών συνδεδεμένων χρηστών από τη λίστα παρακολούθησης',
'tog-watchlisthideanons' => 'Απόκρυψη επεξεργασιών ανωνύμων χρηστών από τη λίστα παρακολούθησης',
'ns-specialprotected' => 'Σελίδες στον τομέα {{ns:special}} δεν γίνεται να επεξεργαστούν.',
'titleprotected' => "Αυτός ο τίτλος έχει προστατευθεί από την δημιουργία από τον [[User:$1|$1]].
Ο λόγος που δίνεται είναι ''$2''.",
+'filereadonlyerror' => 'Δεν είναι δυνατή η τροποποίηση του αρχείου " $1 " επειδή το αποθετήριο αρχείων " $2 " είναι σε κατάσταση λειτουργίας μόνο για ανάγνωση.
+
+Ο διαχειριστής που το κλείδωσε προσφέρει αυτή την αιτιολόγηση: " $3 ".',
# Virus scanner
'virus-badscanner' => "Λάθος ρύθμιση: άγνωστος ανιχνευτής ιών: ''$1''",
'emailconfirmlink' => 'Επαληθεύστε την ηλεκτρονική σας διεύθυνση',
'invalidemailaddress' => 'Η ηλεκτρονική διεύθυνση δεν μπορεί να γίνει δεκτή γιατί ενδεχομένως δεν έχει έγκυρη μορφή. Παρακαλούμε συμπληρώστε μια σωστά διαμορφωμένη διεύθυνση ή αφήστε το πεδίο κενό.',
'cannotchangeemail' => "Οι διευθύνσεις ηλεκτρονικού ταχυδρομείου του λογαριασμού δεν μπορούν να αλλάξουν σ' αυτό το wiki.",
+'emaildisabled' => 'Αυτός ο ιστότοπος δεν μπορεί να στείλει μηνύματα ηλεκτρονικού ταχυδρομείου.',
'accountcreated' => 'Ο λογαριασμός δημιουργήθηκε',
'accountcreatedtext' => 'Ο λογαριασμός χρήστη για τον/την $1 έχει δημιουργηθεί.',
'createaccount-title' => 'Δημιουργία λογαριασμού για {{SITENAME}}',
'userinvalidcssjstitle' => "'''Προσοχή:''' Δεν υπάρχει skin με τίτλο \"\$1\". Θυμηθείτε οι προσαρμοσμένες σελίδες .css και .js χρησιμοποιούν έναν τίτλο με μικρά γράμματα, π.χ. {{ns:user}}:Foo/vector.css σε αντίθεση με το {{ns:user}}:Foo/Vector.css.",
'updated' => '(Ενημερώθηκε)',
'note' => "'''Προσοχή: '''",
-'previewnote' => "'''Σας υπενθυμίζουμε ότι βλέπετε μόνον την προεπισκόπηση -δεν έχετε ακόμα αποθηκεύσει τις αλλαγές σας!'''",
+'previewnote' => "'''Να θυμάστε ότι αυτή είναι μόνο μια προεπισκόπηση.'''
+Οι αλλαγές σας δεν έχουν ακόμη αποθηκευτεί!",
+'continue-editing' => 'Συνέχεια επεξεργασίας',
'previewconflict' => 'Αυτή η προεπισκόπηση απεικονίζει το κείμενο στην επάνω περιοχή επεξεργασίας κειμένου, όπως θα εμφανιστεί εάν επιλέξετε να το αποθηκεύσετε.',
'session_fail_preview' => "'''Συγγνώμη! Δεν μπορούσαμε να διεκπεραιώσουμε την επεξεργασία σας λόγω απώλειας των δεδομένων της συνεδρίας.
Παρακαλώ προσπαθήστε ξανά. Αν δεν δουλεύει ξανά, δοκιμάστε να αποσυνδεθείτε και να συνδεθείτε πάλι.'''",
Αυτό μερικές φορές συμβαίνει όταν χρησιμοποιείται ένας ανώνυμος διακομιστής μεσολάβησης διαθέσιμος μέσω του παγκόσμιου ιστού με σφάλματα.'''",
'edit_form_incomplete' => "'''Ορισμένα τμήματα της φόρμας επεξεργασίας δεν έφθασαν στο διακομιστή. Ελέγξτε ότι οι αλλαγές σας είναι άθικτες και προσπαθήστε ξανά.'''",
'editing' => 'Επεξεργασία $1',
+'creating' => 'Δημιουργία: $1',
'editingsection' => 'Επεξεργασία $1 (τμήμα)',
'editingcomment' => 'Επεξεργασία $1 (νέο τμήμα)',
'editconflict' => 'Σύγκρουση επεξεργασίας: $1',
'edit-no-change' => 'Η επεξεργασία σας αγνοήθηκε, επειδή δεν έγινε καμία αλλαγή στο κείμενο.',
'edit-already-exists' => 'Δεν ήταν εφικτό να δημιουργηθεί η νέα σελίδα.
Υπάρχει ήδη.',
+'defaultmessagetext' => 'Προεπιλεγμένο κείμενο μηνύματος',
# Parser/template warnings
'expensive-parserfunction-warning' => 'Προειδοποίηση: Αυτή η σελίδα περιέχει πάρα πολύ ακριβό αναλυτή λειτουργικών κλήσεων.
# Suppression log
'suppressionlog' => 'Κατάλογος διαγραφών',
-'suppressionlogtext' => 'Παρακάτω βρίσκεται μία λίστα με τις διαγραφές και τις φραγές σχετικές με περιεχόμενο που έχει κρυφθεί από τους διαχειριστές.
+'suppressionlogtext' => 'Παρακάτω βρίσκεται μία λίστα με τις διαγραφές και τις φραγές σχετικό με περιεχόμενο που έχει αποκρυβεί από τους διαχειριστές.
Δείτε την [[Special:BlockList|λίστα φραγών IP]] για τις τρέχουσες λειτουργικές απαγορεύσεις και φραγές.',
# History merging
'newsectionsummary' => '/* $1 */ νέα ενότητα',
'rc-enhanced-expand' => 'Εμφάνιση λεπτομερειών (απαιτείται JavaScript)',
'rc-enhanced-hide' => 'Απόκρυψη λεπτομερειών',
+'rc-old-title' => 'αρχικά δημιουργήθηκε ως " $1 "',
# Recent changes linked
'recentchangeslinked' => 'Σχετικές αλλαγές',
Παρακαλούμε δείτε τη [$2 σελίδα περιγραφής του αρχείου] για περισσότερες πληροφορίες.',
'sharedupload-desc-here' => 'Το αρχείο είναι από το $1 και ενδέχεται να χρησιμοποιείται από άλλα εγχειρήματα.
Η περιγραφή στη [$2 σελίδα περιγραφής αρχείου] εμφανίζεται παρακάτω.',
+'sharedupload-desc-edit' => 'Αυτό το αρχείο είναι από $1 και μπορεί να χρησιμοποιείται από άλλα εγχειρήματα.
+Ίσως θέλετε να επεξεργαστείτε την περιγραφή του στην [$2 σελίδα περιγραφής αρχείου] εκεί.',
+'sharedupload-desc-create' => 'Αυτό το αρχείο είναι από $1 και μπορεί να χρησιμοποιείται από άλλα εγχειρήματα.
+Ίσως θέλετε να επεξεργαστείτε την περιγραφή του στην [$2 σελίδα περιγραφής αρχείου] εκεί.',
'filepage-nofile' => 'Κανένα αρχείο με αυτό το όνομα δεν υπάρχει',
'filepage-nofile-link' => 'Δεν υπάρχει τέτοιο αρχείο, αλλἀ μπορείτε να [$1 το επιφορτώσετε].',
'uploadnewversion-linktext' => 'Φορτώστε μια νέα έκδοση αυτού του αρχείου',
'allpagesprefix' => 'Προβολή των σελίδων με πρόθεμα:',
'allpagesbadtitle' => 'Ο δοσμένος τίτλος σελίδας ήταν άκυρος ή είχε ένα διαγλωσσικό ή δια-wiki πρόθεμα. Μπορεί να περιέχει έναν ή περισσότερους χαρακτήρες οι οποίοι δεν μπορούν να χρησιμοποιοθούν σε τίτλους.',
'allpages-bad-ns' => 'Το {{SITENAME}} δεν έχει τον τομέα "$1".',
+'allpages-hide-redirects' => 'Απόκρυψη ανακατευθύνσεων',
+
+# SpecialCachedPage
+'cachedspecial-refresh-now' => 'Προβολή τελευταίας.',
# Special:Categories
'categories' => 'Κατηγορίες',
'linksearch-pat' => 'Μοτίβο αναζήτησης:',
'linksearch-ns' => 'Περιοχή:',
'linksearch-ok' => 'Αναζήτηση',
-'linksearch-text' => '',
+'linksearch-text' => 'Χαρακτήρες όπως "*.wikipedia.org" μπορούν να χρησιμοποιηθούν.
+Χρειάζεται τουλάχιστον ένα domain ανώτατου επιπέδου, για παράδειγμα "*.org".<br />
+Υποστηριζόμενα πρωτόκολλα: <tt> $1 </tt> (μην προσθέτετε οποιαδήποτε από αυτές στην αναζήτησή σας).',
'linksearch-line' => 'Η $1 συνδεδεμένη από την $2',
'linksearch-error' => 'Λέξεις-μπαλαντέρ μπορεί να εμφανιστούν μόνο στην αρχή τού ονόματος ιστοτόπου (hostname).',
'protect-title-notallowed' => 'Εμφάνιση επιπέδου προστασίας για την "$1"',
'prot_1movedto2' => 'Η [[$1]] μετακινήθηκε στη θέση [[$2]]',
'protect-badnamespace-title' => 'Μη-προστατευόμενη ομάδα σελίδων',
+'protect-badnamespace-text' => 'Οι σελίδες σε αυτόν τον ονοματοχώρο δεν μπορούν να κλειδωθούν.',
'protect-legend' => 'Επιβεβαίωση κλειδώματος',
'protectcomment' => 'Αιτία:',
'protectexpiry' => 'Λήξη',
'ipb-confirm' => 'Επιβεβαίωση φραγής',
'badipaddress' => 'Άκυρη διεύθυνση IP.',
'blockipsuccesssub' => 'Η φραγή ολοκληρώθηκε επιτυχώς.',
-'blockipsuccesstext' => 'Η διεύθυνση [[Special:Contributions/$1|$1]] έχει υποστεί φραγή.<br />
-Î\94είÏ\84ε Ï\84η [[Special:BlockList|λίÏ\83Ï\84α διεÏ\85θÏ\8dνÏ\83εÏ\89ν IP Ï\80οÏ\85 ÎÏ\87οÏ\85ν Ï\85Ï\80οÏ\83Ï\84εί Ï\86Ï\81αγή]] για να Ï\84ο εÏ\80ιβεβαιÏ\8eÏ\83εÏ\84ε.',
+'blockipsuccesstext' => '{{GENDER:$1|Ο|Η}} [[Special:Contributions/$1|$1]] έχει υποστεί φραγή.<br />
+Î\94είÏ\84ε Ï\84ον [[Special:BlockList|καÏ\84άλογο Ï\86Ï\81αγÏ\8eν]] για να εÏ\80οÏ\80Ï\84εÏ\8dÏ\83εÏ\84ε Ï\84ιÏ\82 Ï\86Ï\81αγÎÏ\82.',
'ipb-blockingself' => 'Είστε έτοιμος να επιβάλετε φραγή στον ευατό σας! Είστε σίγουροι ότι θέλετε να το κάνετε αυτό;',
'ipb-confirmhideuser' => 'Είστε {{GENDER:|έτοιμος|έτοιμη}} να μπλοκάρετε ένα χρήστη με ενεργοποιημένη την "απόκρυψη χρήστη" . Αυτό θα καταστείλει το όνομα του χρήστη σε όλες τις λίστες και τις καταχωρήσεις ημερολογίου. Είστε {{GENDER:|σίγουρος|σίγουρη}} ότι θέλετε να το κάνετε αυτό;',
'ipb-edit-dropdown' => 'Επεξεργασία λόγων φραγής',
'blocklogentry' => 'O/H [[$1]] φράχθηκε με χρόνο λήξης $2 $3',
'reblock-logentry' => 'άλλαξε τις ρυθμίσεις φραγής για τον/την [[$1]] με χρόνο λήξης $2 $3',
'blocklogtext' => 'Αυτό είναι ένα αρχείο καταγραφής των ενεργειών φραγής και κατάργησης φραγής χρηστών.
-Δεν συμπεριλαμβάνονται οι διευθύνσεις IP που υπέστησαν αυτόματα φραγή.
-Δείτε τον [[Special:BlockList|κατάλογο φραγμένων διευθύνσεων IP]] για τη λίστα των τρεχόντων ενεργών αποκλεισμών και φραγών.',
+Δεν συμπεριλαμβάνονται οι διευθύνσεις IP που υπέστησαν φραγή αυτόματα.
+Δείτε τον [[Special:BlockList|κατάλογο φραγών]] για τη λίστα των τρεχόντων ενεργών αποκλεισμών και φραγών.',
'unblocklogentry' => 'Άρση φραγής του "$1"',
'block-log-flags-anononly' => 'μόνο ανώνυμοι χρήστες',
'block-log-flags-nocreate' => 'δημιουργία λογαριασμού απενεργοποιημένη',
'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|αναθεώρηση|αναθεωρήσεις}} από $2',
# JavaScriptTest
+'javascripttest' => 'Δοκιμή JavaScript',
'javascripttest-disabled' => 'Αυτή η λειτουργία έχει απενεργοποιηθεί.',
# Tooltip help for the actions
'tooltip-diff' => 'Προβολή των αλλαγών που κάνατε στο κείμενο.',
'tooltip-compareselectedversions' => 'Εμφάνιση των διαφορών ανάμεσα στις δύο αναθεωρήσεις της σελίδας που έχετε επιλέξει.',
'tooltip-watch' => 'Προσθήκη της σελίδας στη λίστα παρακολούθησης',
+'tooltip-watchlistedit-normal-submit' => 'Μετακίνηση τίτλων',
'tooltip-watchlistedit-raw-submit' => 'Ενημέρωση λίστας παρακολούθησης',
'tooltip-recreate' => 'Ξαναδημιούργησε τη σελίδα παρόλο που έχει διαγραφεί',
'tooltip-upload' => 'Έναρξη φόρτωσης',
'watchlisttools-edit' => 'Δείτε και επεξεργαστείτε τη λίστα παρακολούθησης',
'watchlisttools-raw' => 'Επεξεργαστείτε την πρωτογενή λίστα παρακολούθησης',
+# Signatures
+'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|συζήτηση]])',
+
# Core parser functions
'unknown_extension_tag' => 'Άγνωστη ετικέτα επέκτασης "$1"',
'duplicate-defaultsort' => 'Προσοχή: Το προκαθορισμένο κλειδί ταξινόμησης "$2" υπερκαλύπτει το προηγούμενο "$1".',
'version-software' => 'Εγκατεστημένο λογισμικό',
'version-software-product' => 'Προϊόν',
'version-software-version' => 'Έκδοση',
+'version-entrypoints-header-url' => 'URL',
# Special:FilePath
'filepath' => 'Διαδρομή αρχείου',
# New logging system
'logentry-delete-delete' => 'Ο/η $1 διέγραψε τη σελίδα $3',
'logentry-delete-restore' => 'Ο/η $1 αποκατέστησε τη σελίδα $3',
+'logentry-delete-event' => '$1 άλλαξε την ορατότητα σε {{PLURAL:$5|ένα γεγονός καταγραφής|$5 log events}} στο $3: $4',
'revdelete-content-hid' => 'το περιεχόμενο αποκρύφθηκε',
'revdelete-summary-hid' => 'Η σύνοψη επεξεργασίας αποκρύφθηκε',
'revdelete-uname-hid' => 'Το όνομα χρήστη αποκρύφθηκε',
'revdelete-restricted' => 'εφάρμοσε περιορισμούς στους sysops',
'revdelete-unrestricted' => 'αφαίρεσε περιορισμούς στους sysops',
-'logentry-newusers-create' => '$1 δημιούργησε έναν λογαριασμό χρήστη',
+'logentry-move-move' => '{{GENDER:$1|Ο|Η}} $1 μετακίνησε τη σελίδα $3 στη $4',
+'logentry-move-move-noredirect' => '{{GENDER:$1|Ο|Η}} $1 μετακίνησε τη σελίδα $3 στη $4 χωρίς να αφήσει ανακατεύθυνση',
+'logentry-move-move_redir' => '{{GENDER:$1|Ο|Η}} $1 μετακίνησε τη σελίδα $3 στη $4 πάνω από την ανανακατεύθυνση',
+'logentry-move-move_redir-noredirect' => '{{GENDER:$1|Ο|Η}} $1 μετακίνησε την σελίδα $3 στην $4 πάνω από ανακατεύθυνση χωρίς να αφήσει ανακατεύθυνση',
+'logentry-patrol-patrol' => '{{GENDER:$1|Ο|Η}} $1 σήμανε την έκδοση $4 της σελίδας $3 ως ελεγμένη',
+'logentry-patrol-patrol-auto' => '{{GENDER:$1|Ο|Η}} $1 αυτόματα σήμανε την έκδοση $4 της σελίδας $3 ως ελεγμένη',
+'logentry-newusers-newusers' => '{{GENDER:$1|Ο|Η}} $1 δημιούργησε έναν λογαριασμό χρήστη',
+'logentry-newusers-create' => '{{GENDER:$1|Ο|Η}} $1 δημιούργησε έναν λογαριασμό χρήστη',
+'logentry-newusers-create2' => '{{GENDER:$1|Ο|Η}} $1 δημιούργησε τον λογαριασμό χρήστη $3',
'logentry-newusers-autocreate' => 'Ο λογαριασμός $1 δημιουργήθηκε αυτόματα',
'newuserlog-byemail' => 'ο κωδικός έχει σταλεί μέσω ηλεκτρονικού μηνύματος',
'feedback-error3' => 'Σφάλμα: Καμία απάντηση από το API',
'feedback-thanks' => 'Ευχαριστούμε! Τα σχόλιά σας έχουν καταχωρηθεί στη σελίδα "[$2 $1]".',
'feedback-close' => 'Ολοκληρώθηκε',
+'feedback-bugnew' => 'Έλεγξα. Αναφέρετε ένα νέο σφάλμα',
# API errors
'api-error-badaccess-groups' => 'Δεν επιτρέπεται να ανεβάσετε αρχεία σε αυτό το wiki.',
'api-error-uploaddisabled' => 'Η επιφόρτωση είναι απενεργοποιημένη σε αυτό το wiki.',
'api-error-verification-error' => 'Αυτό το αρχείο μπορεί να είναι κατεστραμμένο, ή να έχει λανθασμένη επέκταση.',
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|δευτερόλεπτο|δευτερόλεπτα}}',
+'duration-minutes' => '$1 {{PLURAL:$1|λεπτό|λεπτά}}',
+'duration-hours' => '$1 {{PLURAL:$1|ώρα|ώρες}}',
+'duration-days' => '$1 {{PLURAL:$1|μέρα|μέρες}}',
+'duration-weeks' => '$1 {{PLURAL:$1|εβδομάδα|εβδομάδες}}',
+'duration-years' => '$1 {{PLURAL:$1|χρόνο|χρόνια}}',
+'duration-decades' => '$1 {{PLURAL:$1|δεκαετία|δεκαετίες}}',
+'duration-centuries' => '$1 {{PLURAL:$1|Αιώνα|αιώνες}}',
+'duration-millennia' => '$1 {{PLURAL:$1|Χιλιετία|Χιλιετίες}}',
+
);
Rememoru ke individuaj .css-aj kaj .js-aj paĝoj uzas minusklan titolon, ekz. {{ns:user}}:Foo/vector.css kontraŭe al {{ns:user}}:Foo/Vector.css.",
'updated' => '(Ŝanĝo registrita)',
'note' => "'''Noto:'''",
-'previewnote' => "'''Memoru, ke ĉi tio estas nur antaŭrigardo kaj ankoraŭ ne konservita!'''",
+'previewnote' => "'''Memoru, ke ĉi tio estas nur antaŭrigardo.'''
+Viaj ŝanĝoj ne ankoraŭ estas konservitaj!",
'previewconflict' => 'La jena antaŭrigardo montras la tekston el la supra tekstujo,
kiel ĝi aperos se vi elektos konservi la paĝon.',
'session_fail_preview' => "'''Ni ne povas procezi vian redakton pro perdo de seancaj datenoj.
Ĉi tiel malofte okazas kiam vi uzas fuŝan TTT-an anoniman prokurilon.'''",
'edit_form_incomplete' => "'''Kelkaj partoj de la redaktada formo ne atingis la servilon; rekontrolu ke via redakto estas ĝusta kaj reprovu.'''",
'editing' => 'Redaktado de $1',
+'creating' => 'Kreado de $1',
'editingsection' => 'Redaktante $1 (sekcion)',
'editingcomment' => 'Redaktante $1 (nova sekcio)',
'editconflict' => 'Redakta konflikto: $1',
'parser-template-loop-warning' => 'Detectado bucle de plantilla: [[$1]]',
'parser-template-recursion-depth-warning' => 'Se ha excedido el límite de recursión de plantillas ($1)',
'language-converter-depth-warning' => 'El límite de profundidad del convertidor de idioma ha excedido ($1)',
+'node-count-exceeded-category' => 'Páginas donde se supera el número de nodos',
+'node-count-exceeded-warning' => 'Página que ha superado el número de nodos',
+'expansion-depth-exceeded-category' => 'Páginas donde se supera la profundidad de expansión',
+'expansion-depth-exceeded-warning' => 'Página que ha superado la profundidad de expansión',
# "Undo" feature
'undo-success' => 'La edición puede deshacerse. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así deshacer la edición.',
'watchnochange' => 'Valittuna ajanjaksona yhtäkään tarkkailemistasi sivuista ei muokattu.',
'watchlist-details' => 'Tarkkailulistalla on {{PLURAL:$1|$1 sivu|$1 sivua}} keskustelusivuja mukaan laskematta.',
'wlheader-enotif' => '* Sähköposti-ilmoitukset ovat käytössä.',
-'wlheader-showupdated' => "* Sivut, joita on muokattu viimeisen käyntisi jälkeen on '''lihavoitu'''.",
+'wlheader-showupdated' => "* Sivut, joita on muokattu viimeisen käyntisi jälkeen, on '''lihavoitu'''.",
'watchmethod-recent' => 'tarkistetaan tuoreimpia muutoksia tarkkailluille sivuille',
'watchmethod-list' => 'tarkistetaan tarkkailtujen sivujen tuoreimmat muutokset',
'watchlistcontains' => 'Tarkkailulistallasi on {{PLURAL:$1|yksi sivu|$1 sivua}}.',
'parser-template-loop-warning' => 'Modèle en boucle détecté : [[$1]]',
'parser-template-recursion-depth-warning' => 'Limite de profondeur des appels de modèles dépassée ($1)',
'language-converter-depth-warning' => 'Limite de profondeur du convertisseur de langue dépassée ($1)',
+'node-count-exceeded-category' => 'Pages où nombre de nœuds est dépassé',
+'node-count-exceeded-warning' => 'Page dépassant le nombre de nœuds',
+'expansion-depth-exceeded-category' => "Pages où la profondeur d'expansion est dépassée",
+'expansion-depth-exceeded-warning' => "Page dépassant la profondeur d'expansion",
# "Undo" feature
'undo-success' => 'Cette modification va être défaite. Veuillez vérifier les modifications ci-dessous, puis publier si c’est bien ce que vous voulez faire.',
'filedelete-otherreason' => 'Outro motivo:',
'filedelete-reason-otherlist' => 'Outro motivo',
'filedelete-reason-dropdown' => '*Motivos frecuentes para borrar
-** Violación dos dereitos de autor
+** Violación dos dereitos de autoría
** Ficheiro duplicado',
'filedelete-edit-reasonlist' => 'Editar os motivos de borrado',
'filedelete-maintenance' => 'Os borrados e restauracións de ficheiros están desactivados temporalmente durante o mantemento.',
'deleteotherreason' => 'Outro motivo:',
'deletereasonotherlist' => 'Outro motivo',
'deletereason-dropdown' => '*Motivos frecuentes para borrar
-** Solicitado polo autor
-** Violación dos dereitos de autor
+** Solicitado pola persoa que o creou
+** Violación dos dereitos de autoría
** Vandalismo',
'delete-edit-reasonlist' => 'Editar os motivos de borrado',
'delete-toobig' => 'Esta páxina conta cun historial longo, de máis {{PLURAL:$1|dunha revisión|de $1 revisións}}.
'version-entrypoints' => 'Enderezos URL de punto de entrada',
'version-entrypoints-header-entrypoint' => 'Punto de entrada',
'version-entrypoints-header-url' => 'URL',
+'version-entrypoints-articlepath' => '[https://www.mediawiki.org/wiki/Manual:$wgArticlePath Ruta do artigo]',
+'version-entrypoints-scriptpath' => '[https://www.mediawiki.org/wiki/Manual:$wgScriptPath Ruta da escritura]',
# Special:FilePath
'filepath' => 'Ruta do ficheiro',
'parser-template-loop-warning' => 'נמצאה תבנית הקוראת לעצמה: [[$1]]',
'parser-template-recursion-depth-warning' => 'עומק התבניות המוכללות זו בזו עבר את המגבלה ($1)',
'language-converter-depth-warning' => 'עומק ממיר השפה עבר את המגבלה ($1)',
+'node-count-exceeded-category' => 'דפים שבהם מספר הצמתים גדול מדי',
+'node-count-exceeded-warning' => 'מספר הצמתים בדף גדול מדי',
+'expansion-depth-exceeded-category' => 'דפים שבהם עומק ההרחבה גדול מדי',
+'expansion-depth-exceeded-warning' => 'עומק ההרחבה בדף גדול מדי',
# "Undo" feature
'undo-success' => 'ניתן לבטל את העריכה. אנא בִדקו את השוואת הגרסאות למטה כדי לוודא שזה מה שאתם רוצים לעשות, ואז שמרו את השינויים למטה כדי לבצע את ביטול העריכה.',
ऐसा तब भी हो सकता है यदि आप कोई खराब वेब-आधारित अनामक प्रौक्सी प्रयोग कर रहे हों।",
'edit_form_incomplete' => "'''सम्पादन फ़ॉर्म के कुछ भाग सर्वर तक नहीं पहुँच पाए; जाँच लें कि आपके द्वारा किये बदलाव अक्षुण्ण हैं, और सहेजने का पुनः यत्न करें।'''",
'editing' => '$1 सम्पादन',
+'creating' => '$1 बनाएँ',
'editingsection' => '$1 सम्पादन (अनुभाग)',
'editingcomment' => '$1 सम्पादन (नया अनुभाग)',
'editconflict' => 'संपादन अंतर्विरोध: $1',
यह पहले से मौजूद है।',
# Parser/template warnings
-'expensive-parserfunction-warning' => "'''à¤\9aà¥\87तावनà¥\80:''' à¤\87स पà¥\83षà¥\8dठपर बहà¥\81त à¤\85धिà¤\95 सà¤\82à¤\96à¥\8dया मà¥\87à¤\82 à¤\95à¥\80मतà¥\80 पारà¥\8dसर à¥\9eंक्शनों का प्रयोग किया गया है।
+'expensive-parserfunction-warning' => "'''à¤\9aà¥\87तावनà¥\80:''' à¤\87स पà¥\83षà¥\8dठपर बहà¥\81त à¤\85धिà¤\95 सà¤\82à¤\96à¥\8dया मà¥\87à¤\82 à¤\95à¥\80मतà¥\80 पारà¥\8dसर फ़ंक्शनों का प्रयोग किया गया है।
-इनका प्रयोग $2 से कम बार होना चाहिये, इस समय प्रयोग $1 बार है।",
+इनका प्रयोग $2 से कम बार होना चाहिये, इस समय प्रयोग $1 बार {{PLURAL:$2|है|हैं}}।",
'expensive-parserfunction-category' => 'कीमती पार्सर फ़ंक्शनों का अत्यधिक प्रयोग कर रहे पृष्ठ',
'post-expand-template-inclusion-warning' => "'''चेतावनी:''' साँचे जुड़ने की सीमा पार हो चुकी है।
कुछ साँचे नहीं जुड़ेंगे।",
# Suppression log
'suppressionlog' => 'छुपाने की लॉग',
-'suppressionlogtext' => 'नीचे प्रबंधकों से छुपाये गए ब्लॉक और हटाये गये पृष्ठों की सूची है। मौजूदा ब्लॉक एवं बैन देखने के लिये [[Special:BlockList|आइ॰पी ब्लॉक सूची]] देखें।',
+'suppressionlogtext' => 'नीचे प्रबंधकों से छुपाये गए ब्लॉक और हटाये गये पृष्ठों की सूची है।
+मौजूदा ब्लॉक एवं बैन देखने के लिये [[Special:BlockList|ब्लॉक सूची]] देखें।',
# History merging
'mergehistory' => 'पृष्ठ के इतिहास एकत्रित करें',
'watchnologin' => 'लॉग इन नहीं किया है',
'watchnologintext' => 'ध्यानसूची में बदलाव के लिये [[Special:UserLogin|लॉग इन]] करना आवश्यक है।',
'addwatch' => 'ध्यानसूची में जोड़ें',
-'addedwatchtext' => 'आपकी [[Special:Watchlist|ध्यानसूची]] में "<nowiki>$1</nowiki>" का समावेश कर दिया गया है।
-भविष्य में इस पृष्ठ तथा इस पृष्ठ की वार्ता में होने वाले बदलाव आपकी ध्यानसूची में दिखेंगे तथा [[Special:RecentChanges|हाल में हुए बदलावों की सूची]] में यह पृष्ठ बोल्ड दिखेगा ताकि आप आसानी से इसका ध्यान रख सकें।
+'addedwatchtext' => 'आपकी [[Special:Watchlist|ध्यानसूची]] में "[[:$1]]" पृष्ठ का समावेश कर दिया गया है।
+भविष्य में इस पृष्ठ तथा इसके वार्ता पृष्ठ में होने वाले बदलाव आपकी ध्यानसूची में दिखेंगे तथा [[Special:RecentChanges|हाल में हुए बदलावों की सूची]] में यह पृष्ठ बोल्ड दिखेगा ताकि आप आसानी से इसका ध्यान रख सकें।
-<p>अगर आपको इस पृष्ठ को अपनी ध्यानसूची से निकालना हो तो "ध्यान हटायें" पर क्लिक करें।',
+अगर आपको इस पृष्ठ को अपनी ध्यानसूची से निकालना हो तो "ध्यान हटायें" पर क्लिक करें।',
'removewatch' => 'ध्यानसूची से हटाएँ',
'removedwatchtext' => '"[[:$1]]" नामक पृष्ठ को आपकी [[Special:Watchlist|ध्यानसूची]] से हटा दिया गया है।',
'watch' => 'ध्यान रखें',
# Contributions
'contributions' => 'सदस्य योगदान',
-'contributions-title' => '$1 à¤\95à¥\87 लिà¤\8f सदसà¥\8dयà¥\8bà¤\82 à¤\95à¥\87 यà¥\8bà¤\97दान',
+'contributions-title' => '$1 के योगदान',
'mycontris' => 'मेरा योगदान',
'contribsub2' => '$1 के लिये ($2)',
'nocontribs' => 'इन कसौटियों से मिलनेवाले बदलाव मिले नहीं।',
'nolinkshere-ns' => "चुने हुए नामस्थानसे '''[[:$1]]''' को जुडने वाले पृष्ठ नहीं हैं।",
'isredirect' => 'पुनर्निर्देशन पृष्ठ',
'istemplate' => 'मिलाईयें',
-'isimage' => 'सà¤\82à¤\9aिà¤\95ा à¤\95ि à¤\95ड़à¥\80',
+'isimage' => 'फ़ाà¤\87ल पà¥\8dरयà¥\8bà¤\97',
'whatlinkshere-prev' => '{{PLURAL:$1|पिछला|पिछले $1}}',
'whatlinkshere-next' => '{{PLURAL:$1|अगला|अगले $1}}',
'whatlinkshere-links' => '← कड़ियाँ',
पृष्ठों को निर्यात करने के लिए, नीचे विषय वस्तु संदूक में शीर्षक प्रवेश करें, एक शीर्षक प्रति पंक्ति, और चुने कि आप वर्त्तमान अवतरण के साथ पुराने अवतरण भी चाहते हैं कि नहीं, या पिछले संपादन के बारे में जानकारी के साथ केवल वर्त्तमान अवतरण चाहते हैं।
बाद वाली स्थिति के लिए आप एक सम्पर्क भी प्रयोग कर सकते हैं, उदाहरण के लिए, "[[{{MediaWiki:Mainpage}}]]" पृष्ठ के लिए [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]]।',
+'exportall' => 'सभी पृष्ठ निर्यात करें',
'exportcuronly' => 'पूरा इतिहास नहीं चाहियें, सिर्फ अभी का अवतरण अंतर्भूत करें',
'exportnohistory' => "----
'''सूचना:''' इस फॉर्म का इस्तेमाल कर पृष्ठका पूरा इतिहास निर्यात करना परफॉर्मेन्स के चलते रोक दिया गया हैं।",
'version-software' => 'इन्स्टॉल की हुई प्रणाली',
'version-software-product' => 'प्रोडक्ट',
'version-software-version' => 'अवतरण',
+'version-entrypoints-header-url' => 'यू॰आर॰एल',
# Special:FilePath
'filepath' => 'सञ्चिका पथ',
'logentry-newusers-newusers' => '$1 created उपयोगकर्ता के खाता',
'logentry-newusers-create' => '$1 created उपयोगकर्ता के खाता',
'logentry-newusers-create2' => '$1 created a user account $3',
-'logentry-newusers-autocreate' => 'à¤\96ातà¥\87 $1 था created सà¥\8dवà¤\9aालित रà¥\82प सà¥\87',
+'logentry-newusers-autocreate' => 'à¤\96ातà¥\87 $1 सà¥\8dवà¤\9aालित रà¥\82प सà¥\87 बनाया à¤\97या',
'newuserlog-byemail' => 'कूटशब्द इ-मेल द्वारा भेजा गया हैं',
# Feedback
'api-error-uploaddisabled' => 'इस विकि पर अपलोड अक्षम है.',
'api-error-verification-error' => 'यह फ़ाइल दूषित हो सकती है, या गलत एक्सटेंशन है।',
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|सॅकेंड}}',
+'duration-minutes' => '$1 {{PLURAL:$1|मिनट}}',
+'duration-hours' => '$1 {{PLURAL:$1|घंटा|घंटे}}',
+'duration-days' => '$1 {{PLURAL:$1|दिन}}',
+'duration-weeks' => '$1 {{PLURAL:$1|सप्ताह}}',
+'duration-years' => '$1 {{PLURAL:$1|वर्ष}}',
+'duration-decades' => '$1 {{PLURAL:$1|दशक}}',
+'duration-centuries' => '$1 {{PLURAL:$1|शताब्दी}}',
+'duration-millennia' => '$1 {{PLURAL:$1|सहस्राब्दी}}',
+
);
'parser-template-loop-warning' => 'Předłohowa sekla wotkryta: [[$1]]',
'parser-template-recursion-depth-warning' => 'Limit za rekursijnu hłubokosć předłohi překročeny ($1)',
'language-converter-depth-warning' => 'Limit hłubokosće rěčneho konwertera překročena ($1)',
+'node-count-exceeded-category' => 'Strony, hdźež ličba sukow je překročena',
+'node-count-exceeded-warning' => 'Strona je ličbu sukow překročiła',
+'expansion-depth-exceeded-category' => 'Strony, hdźež ekspansiska hłubokosć je překročena',
+'expansion-depth-exceeded-warning' => 'Strona je ekspansisku hłubokosć překročił',
# "Undo" feature
'undo-success' => 'Wersija je so wuspěšnje wotstroniła. Prošu přepruwuj deleka w přirunanskim napohledźe, hač twoja změna bu přewzata a klikń potom na „Składować”, zo by změnu składował.',
'parser-template-loop-warning' => 'Recursion infinite detegite in patrono: [[$1]]',
'parser-template-recursion-depth-warning' => 'Limite de recursion del patrono excedite ($1)',
'language-converter-depth-warning' => 'Limite de profunditate del conversor de lingua excedite ($1)',
+'node-count-exceeded-category' => 'Paginas in que le numero de nodos excede le limite',
+'node-count-exceeded-warning' => 'Le numero de nodos in iste pagina excede le limite',
+'expansion-depth-exceeded-category' => 'Paginas in que le profunditate de expansion excede le limite',
+'expansion-depth-exceeded-warning' => 'Le profunditate de expansion in iste pagina excede le limite',
# "Undo" feature
'undo-success' => 'Le modification pote esser disfacite.
Þetta getur gerst þegar þú notar bilaðan vafra eða ónafngreinda vefsels þjónustu.",
'edit_form_incomplete' => "'''Sumir hlutar breytingarinnar bárust ekki til vefþjónsins; athugaðu hvort breytingin þín er óbreytt og reyndu aftur.'''",
'editing' => 'Breyti $1',
+'creating' => 'Skapa $1',
'editingsection' => 'Breyti $1 (hluta)',
'editingcomment' => 'Breyti $1 (nýr hluti)',
'editconflict' => 'Breytingaárekstur: $1',
'confirmemail_success' => 'Netfang þitt hefur verið staðfest. Þú getur nú [[Special:UserLogin|skráð þig inn]] og vafrað um wiki-kerfið.',
'confirmemail_loggedin' => 'Netfang þitt hefur verið staðfest.',
'confirmemail_error' => 'Eitthvað fór úrskeiðis við vistun staðfestingarinnar.',
-'confirmemail_subject' => '{{SITENAME}} netfangs-staðfesting',
+'confirmemail_subject' => 'Staðfesting netfangs á {{SITENAME}}',
'confirmemail_body' => 'Einhver, sennilega þú, með vistfangið $1 hefur skráð sig á {{SITENAME}} undir notandanafninu „$2“ og gefið upp þetta netfang.
Til að staðfesta að það hafi verið þú sem skráðir þig undir þessu nafni, og til þess að virkja póstsendingar í gegnum {{SITENAME}}, skaltu opna þennan tengil í vafranum þínum:
'sectioneditnotsupported-text' => 'このページでは節単位編集はサポートされません。',
'permissionserrors' => '認証エラー',
'permissionserrorstext' => 'あなたにはこの操作を行う権限はありません。{{PLURAL:$1|理由}}は以下の通りです:',
-'permissionserrorstext-withaction' => 'あなたには$2を行う権限がありません。{{PLURAL:$1|理由}}は以下の通りです:',
+'permissionserrorstext-withaction' => 'あなたには「$2」を行う権限はありません。{{PLURAL:$1|理由}}は以下の通りです:',
'recreate-moveddeleted-warn' => "'''警告:以前削除されたページを再作成しようとしています。'''
このページの編集を続行するのが適切かどうか確認してください。
これらの値は省略されました。",
'post-expand-template-argument-category' => '省略されたテンプレート引数を含むページ',
'parser-template-loop-warning' => 'テンプレートのループが検出されました:[[$1]]',
-'parser-template-recursion-depth-warning' => 'テンプレートの再帰深さ($1)が上限値を超えました',
-'language-converter-depth-warning' => '言語変換機能が深度制限($1)を超えました',
+'parser-template-recursion-depth-warning' => 'テンプレートの再帰の深さ($1)が上限を超えました',
+'language-converter-depth-warning' => '言語変換機能の深さ($1)が制限を超えました',
+'node-count-exceeded-category' => 'ノード数が制限を超えたページ',
+'node-count-exceeded-warning' => 'ページがノード数の制限を超えました',
+'expansion-depth-exceeded-category' => '展開の深さ制限を超えたページ',
+'expansion-depth-exceeded-warning' => 'ページが展開の深さ制限を超えました',
# "Undo" feature
-'undo-success' => 'ã\81\93ã\81®ç·¨é\9b\86ã\82\92å\8f\96ã\82\8aæ¶\88ã\81\99ã\81\93ã\81¨ã\81\8cã\81§ã\81\8dます。
+'undo-success' => 'ã\81\93ã\81®ç·¨é\9b\86ã\82\92å\8f\96ã\82\8aæ¶\88ã\81\9bます。
下記の差分を確認し、本当に取り消すべきだと確認してから、変更を保存して取り消しを完了してください。',
'undo-failure' => '中間の版での編集と競合したため、取り消せませんでした。',
'undo-norev' => '取り消そうとした編集が存在しないか削除済みのため取り消せませんでした。',
'last' => '前',
'page_first' => '先頭',
'page_last' => '末尾',
-'histlegend' => "差分の選択:比較したい版のラジオボタンを選択し、エンターキーを押すか、下部のボタンを押します。<br />
+'histlegend' => "差分の選択:比較したい版のラジオボタンを選択し、Enterキーを押すか、下部のボタンを押します。<br />
凡例:'''({{int:cur}})'''=最新版との比較、'''({{int:last}})'''=直前の版との比較、'''{{int:minoreditletter}}'''=細部の編集",
'history-fieldset-title' => '履歴の閲覧',
'history-show-deleted' => '削除済みのみ',
'qbsettings-fixedright' => '右端',
'qbsettings-floatingleft' => 'ウィンドウの左上に固定',
'qbsettings-floatingright' => 'ウィンドウの右上に固定',
-'qbsettings-directionality' => 'あなたの言語のスクリプトの方向に応じて固定',
+'qbsettings-directionality' => 'あなたの言語の文字体系の書字方向に応じて固定',
# Preferences page
'preferences' => '個人設定',
# Rights
'right-read' => 'ページを閲覧',
'right-edit' => 'ページを編集',
-'right-createpage' => '(議論ページ以外の)ページを作成',
+'right-createpage' => 'ページ(議論ページ以外)を作成',
'right-createtalk' => '議論ページを作成',
'right-createaccount' => '新しい利用者アカウントを作成',
'right-minoredit' => '細部の編集の印を付ける',
'right-move' => 'ページの移動',
'right-move-subpages' => '下位ページを含めてページを移動',
-'right-move-rootuserpages' => 'å\88©ç\94¨è\80\85ã\83\9aã\83¼ã\82¸æ\9c¬ä½\93ã\81®移動',
+'right-move-rootuserpages' => 'å\88©ç\94¨è\80\85ã\83\9aã\83¼ã\82¸æ\9c¬ä½\93ã\82\92移動',
'right-movefile' => 'ファイルの移動',
'right-suppressredirect' => 'ページの移動の際に元のページ名からのリダイレクトを作成しない',
-'right-upload' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\81®アップロード',
-'right-reupload' => '存在するファイルの上書き',
-'right-reupload-own' => '自らがアップロードした存在するファイルの上書き',
+'right-upload' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\82\92アップロード',
+'right-reupload' => '既存のファイルに上書き',
+'right-reupload-own' => '自分がアップロードした既存のファイルに上書き',
'right-reupload-shared' => '共有メディアリポジトリ上のファイルのローカルでの上書き',
-'right-upload_by_url' => 'URLã\81\8bã\82\89ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81®アップロード',
+'right-upload_by_url' => 'URLã\81\8bã\82\89ã\83\95ã\82¡ã\82¤ã\83«ã\82\92アップロード',
'right-purge' => '確認を省略してサイトのキャッシュを破棄',
'right-autoconfirmed' => '半保護されたページを編集',
-'right-bot' => '自動処理として認識',
+'right-bot' => '自動処理と認識させる',
'right-nominornewtalk' => '議論ページへ細部の編集をしたときに、新しいメッセージのお知らせを表示しない',
'right-apihighlimits' => 'API要求でより高い制限値の使用',
'right-writeapi' => '書き込みAPIの使用',
'right-delete' => 'ページの削除',
-'right-bigdelete' => '大ã\81\8dã\81ªå±¥æ´ã\81®ã\81\82ã\82\8bã\83\9aã\83¼ã\82¸ã\81®削除',
+'right-bigdelete' => '大ã\81\8dã\81ªå±¥æ´ã\81\8cã\81\82ã\82\8bã\83\9aã\83¼ã\82¸ã\82\92削除',
'right-deleterevision' => 'ページの特定の版の削除と復帰',
-'right-deletedhistory' => '関連する本文を除く、削除された履歴項目の閲覧',
-'right-deletedtext' => 'å\89\8aé\99¤ã\81\95ã\82\8cã\81\9fæ\9c¬æ\96\87ã\81¨å\89\8aé\99¤ã\81\95ã\82\8cã\81\9fç\89\88é\96\93ã\81®å·®å\88\86ã\81®閲覧',
-'right-browsearchive' => 'å\89\8aé\99¤ã\81\95ã\82\8cã\81\9fã\83\9aã\83¼ã\82¸ã\81®検索',
+'right-deletedhistory' => '削除された履歴項目(関連する本文を除く)を閲覧',
+'right-deletedtext' => 'å\89\8aé\99¤ã\81\95ã\82\8cã\81\9fæ\9c¬æ\96\87ã\81¨å\89\8aé\99¤ã\81\95ã\82\8cã\81\9fç\89\88é\96\93ã\81®å·®å\88\86ã\82\92閲覧',
+'right-browsearchive' => 'å\89\8aé\99¤ã\81\95ã\82\8cã\81\9fã\83\9aã\83¼ã\82¸ã\82\92検索',
'right-undelete' => 'ページの復帰',
'right-suppressrevision' => '管理者から隠された版の確認と復元',
-'right-suppressionlog' => 'é\9d\9eå\85¬é\96\8bè¨\98é\8c²ã\81®閲覧',
+'right-suppressionlog' => 'é\9d\9eå\85¬é\96\8bè¨\98é\8c²ã\82\92閲覧',
'right-block' => '他の利用者の編集をブロック',
'right-blockemail' => '利用者のメール送信をブロック',
-'right-hideuser' => 'å\88©ç\94¨è\80\85å\90\8dã\83\96ã\83ã\83\83ã\82¯ã\81\97ã\80\81公開記録から隠す',
+'right-hideuser' => 'å\88©ç\94¨è\80\85å\90\8dã\82\92ã\83\96ã\83ã\83\83ã\82¯ã\81\97ã\81¦公開記録から隠す',
'right-ipblock-exempt' => 'IPブロック、自動ブロック、広域ブロックを回避',
'right-proxyunbannable' => 'プロキシの自動ブロックを回避',
'right-unblockself' => '自分自身に対するブロックを解除',
'right-markbotedits' => '巻き戻しをボットの編集として扱う',
'right-noratelimit' => '速度制限を受けない',
'right-import' => '他のウィキからのページ取り込み',
-'right-importupload' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\82¢ã\83\83ã\83\97ã\83ã\83¼ã\83\89ã\81\8bã\82\89ã\81®ã\83\9aã\83¼ã\82¸ã\81®取り込み',
+'right-importupload' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\82¢ã\83\83ã\83\97ã\83ã\83¼ã\83\89ã\81«ã\82\88ã\82\8bã\83\9aã\83¼ã\82¸取り込み',
'right-patrol' => '他人の編集を巡回済みにする',
'right-autopatrol' => '自分の編集を自動的に巡回済みにする',
'right-patrolmarks' => '最近の更新で巡回済み印を閲覧',
-'right-unwatchedpages' => 'ã\82¦ã\82©ã\83\83ã\83\81ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\83\9aã\83¼ã\82¸ä¸\80覧ã\81®閲覧',
+'right-unwatchedpages' => 'ã\82¦ã\82©ã\83\83ã\83\81ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\83\9aã\83¼ã\82¸ä¸\80覧ã\82\92閲覧',
'right-mergehistory' => 'ページ履歴の統合',
'right-userrights' => '全利用者権限を編集',
'right-userrights-interwiki' => '他のウィキの利用者の利用者権限を編集',
'right-siteadmin' => 'データベースのロックおよびロック解除',
'right-override-export-depth' => 'リンク先ページを5階層まで含めて書き出す',
'right-sendemail' => '他の利用者にメールを送信',
-'right-passwordreset' => 'パスワード再設定メールを閲覧する',
+'right-passwordreset' => 'パスワード再設定メールを閲覧',
# User rights log
'rightslog' => '利用者権限変更記録',
'action-move-subpages' => 'このページと下位ページの移動',
'action-move-rootuserpages' => '利用者ページ本体の移動',
'action-movefile' => 'このファイルの移動',
-'action-upload' => 'ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81®アップロード',
+'action-upload' => 'ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92アップロード',
'action-reupload' => 'この既存のファイルに上書き',
'action-reupload-shared' => '共有リポジトリにあるこのファイルに上書き',
'action-upload_by_url' => 'URLからこのファイルをアップロード',
'action-deleterevision' => 'この版を削除',
'action-deletedhistory' => 'このページの削除履歴を表示',
'action-browsearchive' => '削除されたページの検索',
-'action-undelete' => 'ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81®復帰',
+'action-undelete' => 'ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\82\92復帰',
'action-suppressrevision' => '隠された版の確認と復元',
'action-suppressionlog' => 'この非公開記録の表示',
'action-block' => 'この利用者の編集をブロック',
'action-protect' => 'このページの保護レベルを変更',
'action-rollback' => '特定ページを最後に編集した利用者の編集を即時巻き戻し',
'action-import' => 'このページを他のウィキから取り込む',
-'action-importupload' => 'ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\82\92ã\83\95ã\82¡ã\82¤ã\83«ã\82¢ã\83\83ã\83\97ã\83ã\83¼ã\83\89ã\81\8bã\82\89取り込む',
+'action-importupload' => 'ã\83\95ã\82¡ã\82¤ã\83«ã\82¢ã\83\83ã\83\97ã\83ã\83¼ã\83\89ã\81§ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81«取り込む',
'action-patrol' => '他の利用者の編集を巡回済みにする',
'action-autopatrol' => '自身の編集を巡回済みにする',
-'action-unwatchedpages' => 'ã\82¦ã\82©ã\83\83ã\83\81ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\83\9aã\83¼ã\82¸ä¸\80覧ã\81®表示',
+'action-unwatchedpages' => 'ã\82¦ã\82©ã\83\83ã\83\81ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\83\9aã\83¼ã\82¸ä¸\80覧ã\82\92表示',
'action-mergehistory' => 'このページの履歴を統合',
'action-userrights' => '全利用者権限の変更',
'action-userrights-interwiki' => '他のウィキ上の利用者の利用者権限変更',
'tooltip-pt-logout' => 'ログアウト',
'tooltip-ca-talk' => '本文ページについての議論',
'tooltip-ca-edit' => 'このページを編集できます。保存する前にプレビューボタンを使用してください。',
-'tooltip-ca-addsection' => '新しい節を開始する',
+'tooltip-ca-addsection' => '新しい節を開始',
'tooltip-ca-viewsource' => 'このページは保護されています。
ページのソースを閲覧できます。',
'tooltip-ca-history' => 'このページの過去の版',
'tooltip-ca-nstab-template' => 'テンプレートを表示',
'tooltip-ca-nstab-help' => 'ヘルプページを表示',
'tooltip-ca-nstab-category' => 'カテゴリページを閲覧',
-'tooltip-minoredit' => 'ã\81\93ã\81®ç·¨é\9b\86ã\82\92ç´°é\83¨ã\81®å¤\89æ\9b´ã\81¨ã\83\9eã\83¼ã\82¯',
+'tooltip-minoredit' => 'ã\81\93ã\81®ç·¨é\9b\86ã\81«ç´°é\83¨ã\81®å¤\89æ\9b´ã\81®å\8d°ã\82\92ä»\98ã\81\91ã\82\8b',
'tooltip-save' => '変更を保存',
'tooltip-preview' => '変更をプレビューで確認できます。保存前に使用してください!',
'tooltip-diff' => '文章への変更を表示',
'colon-separator' => ':',
'pipe-separator' => ' | ',
'word-separator' => '',
-'parentheses' => '($1)',
+'parentheses' => '($1)',
# Multipage image navigation
'imgmultipageprev' => '←前ページ',
'updated' => '(바뀜)',
'note' => "'''주의:'''",
'previewnote' => "'''이 화면은 미리 보기입니다'''. 편집한 내용은 아직 저장되지 않았습니다!",
+'continue-editing' => '계속 편집하기',
'previewconflict' => '이 미리 보기는 저장할 때의 모습, 즉 위쪽 편집창의 문서를 반영합니다.',
'session_fail_preview' => "'''세션 데이터가 없어져 편집을 저장하지 못했습니다.
다시 시도해도 되지 않으면 [[Special:UserLogout|로그아웃]]한 다음 다시 로그인해 보십시오.'''",
'allpages-bad-ns' => '{{SITENAME}}에서는 ‘$1’ 이름공간을 사용하지 않습니다.',
'allpages-hide-redirects' => '넘겨주기 숨기기',
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => '지금 이 문서의 캐시된 버전을 보고 있습니다. 이 버전은 최대 $1만큼 지난 버전일 가능성이 있습니다.',
+'cachedspecial-refresh-now' => '최신 버전 보기.',
+
# Special:Categories
'categories' => '분류',
'categoriespagetext' => '{{PLURAL:$1}}문서나 자료를 담고 있는 분류 목록입니다.
'ipb-confirm' => '차단 확인',
'badipaddress' => '잘못된 IP 주소',
'blockipsuccesssub' => '차단 완료',
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] 사용자가 차단되었습니다. 차단된 사용자 목록은 [[Special:BlockList|여기]]에서 볼 수 있습니다.',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] 사용자가 차단되었습니다.<br />
+차단된 사용자 목록은 [[Special:BlockList|여기]]에서 볼 수 있습니다.',
'ipb-blockingself' => '자기 자신을 차단하려고 합니다. 정말로 실행할까요?',
'ipb-confirmhideuser' => '당신은 사용자를 차단하면서 "계정 숨기기" 설정을 선택했습니다. 이로써 모든 기록에서 이 사용자의 계정 이름을 숨기게 됩니다. 정말로 계정을 숨기시겠습니까?',
'ipb-edit-dropdown' => '차단 이유 목록 편집하기',
Себеби: браузеригиз редактор терезеде пунктуация белгилени терс кёргюзеди, аны ючюн статьяны тексти бузулургъа боллукъду.
Бу халатлары болгъан аноним веб-проксилени хайырландырылгъанлары ючюн болургъа боллукъду'''",
'editing' => '«$1» бетни тюрлендириу',
+'creating' => '«$1» бетни къурау',
'editingsection' => '«$1» бетде бёлюмню тюрлендириу',
'editingcomment' => '«$1» бетни тюрлендириу (джангы бёлюм)',
'editconflict' => 'Тюрлендириу конфликт: $1',
'unblocked-id' => '$1 тыйылыу къоратылгъанды',
'ipblocklist' => 'Блок этилиннген IP-адресле эм къошулуучуланы атлары',
'ipblocklist-legend' => 'Тыйылгъан къошулуучуну аты',
+'blocklist-expiry' => 'Бошалыу датасы',
'blocklist-reason' => 'Чурум',
'ipblocklist-submit' => 'Таб',
'ipblocklist-localblock' => 'Локал блокга салыу',
'tooltip-diff' => 'Тюрлендириулеригизни кёрюгюз',
'tooltip-compareselectedversions' => 'Бу бетни сайланнган эки версиясыны араларында башхалыкъларын кёр',
'tooltip-watch' => 'Бу бетни кёзюгюзде тургъан тизмеге къош',
+'tooltip-watchlistedit-normal-submit' => 'Белгиленнген атланы кетер',
+'tooltip-watchlistedit-raw-submit' => 'Кёзде тургъан тизмени джангырт',
'tooltip-recreate' => 'Кетерилгенина къарамай бетни ызына къайтар',
'tooltip-upload' => 'Джюклеуню башла',
'tooltip-rollback' => 'Бир басхан бла ахыр къошулуучуну тюрлендиргенин кетер',
'spam_reverting' => '$1 бла джибериую болмагъан ахыр версиягъа къайтылады',
'spam_blanking' => 'Бютеу версияла $1 бетге джибериу тутадыла, ариуланадыла',
+# Info page
+'pageinfo-title' => '«$1» бетни юсюнден информация',
+'pageinfo-header-edits' => 'Тюрлендириуле',
+'pageinfo-header-watchlist' => 'Кёзде тургъан тизме',
+'pageinfo-header-views' => 'Къараула',
+'pageinfo-subjectpage' => 'Бет',
+'pageinfo-talkpage' => 'Сюзюу бет',
+'pageinfo-watchers' => 'Кёргенлени саны',
+'pageinfo-edits' => 'Тюрлендириулени саны',
+'pageinfo-authors' => 'Авторланы саны',
+
# Skin names
'skinname-standard' => 'Стандарт',
'skinname-nostalgia' => 'Ностальгия',
'file-nohires' => 'Мындан ары ачыкъланнган версиясы джокъду',
'svg-long-desc' => 'SVG файл, шартлы $1 × $2 пиксель, файлны ёлчеми: $3',
'show-big-image' => 'Толу ачыкълау',
+'show-big-image-preview' => 'Ал къарауда уллулугъу: $1.',
+'show-big-image-size' => '$1 × $2 пиксель',
'file-info-gif-looped' => 'тогъайланнганды',
'file-info-gif-frames' => '$1 {{PLURAL:$1|фрейм|фрейм}}',
'file-info-png-looped' => 'тогъайланнганды',
'bydate' => 'Хронологиягъа кёре',
'sp-newimages-showfrom' => '$1, $2 замандан башлаб джангы файлланы кёргюз',
+# Video information, used by Language::formatTimePeriod() to format lengths in the above messages
+'seconds' => '{{PLURAL:$1|$1 секунд|$1 секунд}}',
+'minutes' => '{{PLURAL:$1|$1 минут|$1 минут}}',
+'hours' => '{{PLURAL:$1|$1 сагъат|$1 сагъат}}',
+'days' => '{{PLURAL:$1|$1 кюн|$1 кюн}}',
+'ago' => '$1 алгъа',
+
# Bad image list
'bad_image_list' => 'Формат былай болургъа керекди:
'metadata-help' => 'Файл, кёбюсюне цифралы камерала бла, неда сканерле бла къошулгъан, къошакъ билгилени тутаргъа болады. Файл къуралгъанындан сора тюрлендирилген эсе, бир-бир параметрлери бусагъатдагъы суратына келишмезге болур.',
'metadata-expand' => 'Дагъыда билгиле кёргюз',
'metadata-collapse' => 'Къошакъ билгилени джашыр',
-'metadata-fields' => 'Ð\91Ñ\83 Ñ\81пиÑ\81окда келÑ\82иÑ\80илинген меÑ\82аданнÑ\8bйлени Ñ\82изгинлеÑ\80и, Ñ\81Ñ\83Ñ\80аÑ\82нÑ\8b беÑ\82инде Ñ\82Ñ\8bнгÑ\8bлаÑ\83 бла кÑ\91Ñ\80гÑ\8eзÑ\82Ñ\8eлÑ\8eнлÑ\8eкдÑ\8eле, кÑ\8aалгÑ\8aанла джашырылыныб боллукъдула.
+'metadata-fields' => 'Ð\91Ñ\83 Ñ\82измеде келÑ\82иÑ\80илген Ñ\81Ñ\83Ñ\80аÑ\82 меÑ\82абилгилеи Ñ\82изгинлеÑ\80и, Ñ\81Ñ\83Ñ\80аÑ\82нÑ\8b беÑ\82инде кÑ\91Ñ\80гÑ\8eзÑ\8eллÑ\8eкдÑ\8eле, кÑ\8aалгÑ\8aанла Ñ\82Ñ\8bнгÑ\8bлаÑ\83 бла джашырылыныб боллукъдула.
* make
* model
* datetimeoriginal
'exif-gpsareainformation' => 'GPS тёгерекни аты',
'exif-gpsdatestamp' => 'GPS заман',
'exif-gpsdifferential' => 'GPS дифференциялы тюзетиу',
+'exif-jpegfilecomment' => 'JPEG-файлны белгиси',
+'exif-keywords' => 'Ачхыч сёзле',
+'exif-countrydest' => 'Суратланнган кърал',
+'exif-provinceorstatedest' => 'Суратланнган провинция, территория неда штат',
+'exif-citydest' => 'Суратланнган шахар',
+'exif-objectname' => 'Къысха аты',
+'exif-specialinstructions' => 'Энчи ангылатыула',
'exif-headline' => 'Башлыкъ',
+'exif-credit' => 'Суратны берген',
+'exif-source' => 'Къайнакъ',
+'exif-editstatus' => 'Суратны редакцион статусу',
'exif-urgency' => 'Бу сагъатха магъаналылыгъы',
+'exif-fixtureidentifier' => 'Колонканы аты',
+'exif-locationdest' => 'Суратланнган джер',
+'exif-objectcycle' => 'Бу сурат ючюн сутканы кёзюую',
+'exif-contact' => 'Контактлы информация',
'exif-writer' => 'Текстни автору',
'exif-languagecode' => 'Тил',
'exif-iimversion' => 'IIM версиясы',
'exif-iimcategory' => 'Категория',
+'exif-iimsupplementalcategory' => 'Къошакъ категорияла',
'exif-datetimeexpires' => 'Бу датадан сора хайырланмагъыз:',
'exif-datetimereleased' => 'Чыкъгъан датасы:',
'exif-identifier' => 'Идентификатор',
'exif-lens' => 'Хайырланнган объектив',
+'exif-serialnumber' => 'Камераны сериялы номери',
'exif-cameraownername' => 'Камераны иеси',
'exif-label' => 'Белги',
+'exif-datetimemetadata' => 'Метабилгилени ахыр тюрлениулерини датасы',
+'exif-nickname' => 'Суратны, формализмли болмагъан аты',
'exif-rating' => 'Багъа (5-ден)',
+'exif-rightscertificate' => 'Хакъланы джюрютюу сертификат',
+'exif-copyrighted' => 'Автор хакъланы статусу:',
+'exif-copyrightowner' => 'Автор хакъланы иеси',
+'exif-usageterms' => 'Хайырланыуну шартлары',
+'exif-pngfilecomment' => 'PNG-файлны белгиси',
'exif-disclaimer' => 'Джууаблылыкъны унамау',
+'exif-contentwarning' => 'Ичиндегисини юсюнден эсгертиу',
+'exif-giffilecomment' => 'GIF-файлны белгиси',
'exif-intellectualgenre' => 'Объектни типи',
+'exif-subjectnewscode' => 'Теманы коду',
+'exif-scenecode' => 'IPTC сахнаны коду',
+'exif-event' => 'Суратланнган болуу',
+'exif-organisationinimage' => 'Суратланнган организация',
+'exif-personinimage' => 'Суратланнган адам',
# EXIF attributes
'exif-compression-1' => 'Къысдырылмагъан',
+'exif-compression-3' => 'CCITT Group 3, факс кодлау',
+'exif-compression-4' => 'CCITT Group 4, факс кодлау',
'exif-copyrighted-true' => 'Автор хакъла бла джакъланыбды',
'exif-copyrighted-false' => 'Джамагъат мюлк',
'exif-gpslongitude-e' => 'Кюнчыгъыш узунлукъ',
'exif-gpslongitude-w' => 'Кюнбатыш узунлукъ',
+# Pseudotags used for GPSAltitudeRef
+'exif-gpsaltitude-above-sealevel' => '$1 {{PLURAL:$1|метрге|метрге}} тенгизден мийик',
+'exif-gpsaltitude-below-sealevel' => '$1 {{PLURAL:$1|метрге|метрге}} тенгизден алаша',
+
'exif-gpsstatus-a' => 'Ёлчелеу бошалмагъанды',
'exif-gpsstatus-v' => 'Ёлчелеу бошалгъанды',
'exif-dc-contributor' => 'Автор нёгерле',
'exif-dc-coverage' => 'Медианы кенгликле чеклери бла заман чеклери',
+'exif-dc-date' => 'Дата(ла)',
+'exif-dc-publisher' => 'Басмагъа чыгъаргъан',
+'exif-dc-relation' => 'Байламлы медиа',
+'exif-dc-rights' => 'Хакъла',
+'exif-dc-source' => 'Къайнакъ медиа',
+'exif-dc-type' => 'Медианы типи',
+'exif-rating-rejected' => 'Къабыл этилмеди',
+
+'exif-isospeedratings-overflow' => '65535-ден уллуду',
+
+'exif-iimcategory-ace' => 'Санат, культура эм кёз ачыу',
+'exif-iimcategory-clj' => 'Аманлыкъчылыкъ эм закон',
+'exif-iimcategory-dis' => 'Катастрофала эм аварияла',
+'exif-iimcategory-fin' => 'Экономика эм бизнес',
'exif-iimcategory-edu' => 'Окъуу',
+'exif-iimcategory-evn' => 'Тёгерекдеги табийгъат',
'exif-iimcategory-hth' => 'Саулукъ',
+'exif-iimcategory-hum' => 'Интересли хапарла',
'exif-iimcategory-lab' => 'Урунуу',
+'exif-iimcategory-lif' => 'Джашау хал эм бош заман',
'exif-iimcategory-pol' => 'Политика',
'exif-iimcategory-rel' => 'Дин бла ийнам',
+'exif-iimcategory-sci' => 'Илму эм техника',
'exif-iimcategory-soi' => 'Социал соруула',
'exif-iimcategory-spo' => 'Спорт',
'exif-iimcategory-war' => 'Къазауатла, конфликтле эмда къозгъалыула',
'confirm-purge-top' => 'Бу бетни кеши кетерилсинми?',
'confirm-purge-bottom' => 'Бетни кеши кетерилгенден сора, андан сора келген версиясы кёргюзюллюкдю.',
+# action=watch/unwatch
+'confirm-watch-button' => 'ОК',
+'confirm-unwatch-button' => 'ОК',
+
# Separators for various lists, etc.
'semicolon-separator' => '; ',
'percent' => '$1%',
'version-software' => 'Салыннган программа баджарыу',
'version-software-product' => 'Продукт',
'version-software-version' => 'Версия',
+'version-entrypoints-header-url' => 'URL',
# Special:FilePath
'filepath' => 'Файлгъа джол',
'sqlite-no-fts' => '$1 толу текст излеуню хайырландыра билмеген',
# New logging system
+'revdelete-content-hid' => 'ичиндегиси джашырылыбды',
'revdelete-summary-hid' => 'тюрлендириуню ачыкълауу джашырылыбды',
+'revdelete-uname-hid' => 'къошулуучуну аты джашырылыбды',
'revdelete-uname-unhid' => 'къошулуучуну аты ачылды',
'revdelete-restricted' => 'администраторла ючюн этилген чеклениуле',
'revdelete-unrestricted' => 'администратолра ючюн этилген чеклениуле къоратылгъандыла',
+'logentry-move-move' => '$1, $3 бетни атын $4 деб тюрлендирди',
'logentry-patrol-patrol-auto' => '$1, $3 бетни $4 версиясын автомат халда тинтиб чыкъды',
'newuserlog-byemail' => 'пароль электрон почта бла джиберилгенди',
# Feedback
'feedback-subject' => 'Тема:',
'feedback-message' => 'Билдириу:',
+'feedback-cancel' => 'Ызына алыу',
'feedback-submit' => 'Оюмунгу джибер',
+'feedback-error2' => 'Халат. Тюзетиу ётмеди',
+'feedback-close' => 'Тындырылды',
# API errors
'api-error-badtoken' => 'Ич халат: терс токен.',
+'api-error-duplicate-popup-title' => ' {{PLURAL:$1|Файлны|Файлны}} дубликаты',
'api-error-empty-file' => 'Сиз ийген файлны ичи бошду.',
'api-error-emptypage' => 'Ичи бош болгъан джангы бетле къураргъа болмайды.',
'api-error-file-too-large' => 'Сиз ийген файл асыры уллуду.',
'api-error-illegal-filename' => 'Джарамагъан файл ат.',
'api-error-invalid-file-key' => 'Ич халат: болджаллы асыраучу джерде файл табылмады.',
'api-error-mustbeposted' => 'Ич халат: соруу, HTTP POST инструкцияны излейди.',
+'api-error-ok-but-empty' => 'Ич халат: сервер джууаб бермейди.',
+'api-error-unclassified' => 'Белгили болмагъан халат чыкъды',
'api-error-unknown-code' => 'Билинмеген халат: «$1».',
+'api-error-unknown-error' => 'Ич халат: файлны джюклерге излеген сагъатда не эсе да терс болду.',
'api-error-unknown-warning' => 'Билинмеген билдириу: $1',
'api-error-unknownerror' => 'Билинмеген халат: «$1».',
'api-error-uploaddisabled' => 'Бу викиде файлла джюклеу амал джукъланыбды',
'tog-previewonfirst' => 'Li cem guherandinê hertim yekemîn pêşdîtinê nîşan bide',
'tog-nocache' => 'Vegirtina rûpelan bisekinîne',
'tog-enotifwatchlistpages' => 'Heke rûpeleke ez dişopînim hate guhertin ji min re E-nameyekê bişîne',
-'tog-enotifusertalkpages' => 'Dema rûpela min a Guftûgoyê hate guhertin e-nameyekê ji min re bişîne',
+'tog-enotifusertalkpages' => 'Dema rûpela min a Gotûbêjê hate guhertin e-nameyekê ji min re bişîne',
'tog-enotifminoredits' => 'Ji bo guhertinên biçûk jî E-nameyekê ji min re bişîne',
'tog-enotifrevealaddr' => 'Navnîşana e-nameya min di agahdariyên e-nameyan de nîşan bide',
'tog-shownumberswatching' => 'Nîşan bide, çiqas bikarhêner dişopînin',
'moredotdotdot' => 'Bêhtir...',
'mypage' => 'Rûpela min',
'mytalk' => 'Rûpela gotûbêja min',
-'anontalk' => 'Guftûgo ji bo vê IPê',
+'anontalk' => "Gotûbêj ji bo vê IP'ê",
'navigation' => 'Navîgasyon',
'and' => ' û',
'unprotect' => 'Parastinê rake',
'unprotectthispage' => 'Parastina vê rûpelê rake',
'newpage' => 'Rûpela nû',
-'talkpage' => 'Vê rûpelê guftûgo bike',
+'talkpage' => 'Vê rûpelê gotûbêj bike',
'talkpagelinktext' => 'Nîqaş',
'specialpage' => 'Rûpela taybet',
'personaltools' => 'Amûrên kesane',
'postcomment' => 'Beşeke nû',
'articlepage' => 'Li rûpela naverokê binêre',
-'talk' => 'Guftûgo',
+'talk' => 'Gotûbêj',
'views' => 'Dîtin',
'toolbox' => 'Qutiya amûran',
'userpage' => 'Li rûpela vê/vî bikarhênerê/î binêre',
'templatepage' => 'Rûpela şablonê bibîne',
'viewhelppage' => 'Rûpela alîkariyê bibîne',
'categorypage' => 'Li rûpela kategoriyê binêre',
-'viewtalkpage' => 'Li guftûgoyê binêre',
+'viewtalkpage' => 'Li gotûbêjê binêre',
'otherlanguages' => 'Zimanên din',
'redirectedfrom' => '(ji $1 hate beralîkirin)',
'redirectpagesub' => 'Rûpelê beralî bike',
'newarticletext' => "Ev rûpel hîn tune. Eger tu bixwazî vê rûpelê çêkî, dest bi nivîsandinê bike û piştre qeyd bike. '''Wêrek be''', biceribîne!<br />
Ji bo alîkariyê binêre: [[{{MediaWiki:Helppage}}|Alîkarî]].<br />
Heke tu bi şaşîtî hatî, bizîvire rûpela berê.",
-'anontalkpagetext' => "----''Ev rûpela guftûgo ye ji bo bikarhênerên nediyarkirî ku hîn hesabekî xwe çênekirine an jî bikarnaînin. Ji ber vê yekê divê em wan bi navnîşana IP ya hejmarî nîşan bikin. Navnîşaneke IP dikare ji aliyê gelek kesan ve were bikaranîn. Heger tu bikarhênerekî nediyarkirî bî û bawerdikî ku nirxandinên bê peywend di der barê te de hatine kirin ji kerema xwe re [[Special:UserLogin|hesabekî xwe veke an jî têkeve]] da ku tu xwe ji tevlîheviyên bi bikarhênerên din re biparêzî.''",
+'anontalkpagetext' => "----''Ev rûpela gotûbêjê ye ji bo bikarhênerên nediyarkirî ku hîn hesabekî xwe çênekirine an jî bikarnaînin. Ji ber vê yekê divê em wan bi navnîşana IP ya hejmarî nîşan bikin. Navnîşaneke IP dikare ji aliyê gelek kesan ve were bikaranîn. Heger tu bikarhênerekî nediyarkirî bî û bawerdikî ku nirxandinên bê peywend di der barê te de hatine kirin ji kerema xwe re [[Special:UserLogin|hesabekî xwe veke an jî têkeve]] da ku tu xwe ji tevlîheviyên bi bikarhênerên din re biparêzî.''",
'noarticletext' => 'Ev rûpel niha vala ye, tu dikarî [[Special:Search/{{PAGENAME}}|Di nav gotarên din de li "{{PAGENAME}}" bigere]] an [{{fullurl:{{FULLPAGENAME}}|action=edit}} vê rûpelê biguherînî].',
'noarticletext-nopermission' => 'Ev rûpel niha vala ye, tu dikarî [[Special:Search/{{PAGENAME}}|Di nav gotarên din de li "{{PAGENAME}}" bigere]] an [{{fullurl:{{FULLPAGENAME}}|action=edit}} vê rûpelê biguherînî].
Ev rûpel niha vala ye, tu dikarî [[Special:Search/{{PAGENAME}}|Di nav gotarên din de li "{{PAGENAME}}" bigere]] an [{{fullurl:{{FULLPAGENAME}}|action=edit}} vê rûpelê biguherînî].',
# "Undo" feature
'undo-success' => 'Ev guherandina kane were şondakirin. Xêra xwe ferqê piştî tomarkirinê bibîne û seke, ku tu ew versîyona dixwazê û tomarbike. Eger te şaşbûnekî kir, xêra xwe derkeve.',
'undo-failure' => 'Ev guherandina nikane were şondakirin ji ber ku guherandinên piştî wê.',
-'undo-summary' => 'Guhertoya $1 ya [[Special:Contributions/$2|$2]] ([[User talk:$2|guftûgo]]) şûnde kir',
+'undo-summary' => 'Guhertoya $1 ya [[Special:Contributions/$2|$2]] ([[User talk:$2|gotûbêj]]) şûnde kir',
# Account creation failure
'cantcreateaccounttitle' => 'Hesab nikarîbû were çêkirin',
'action-read' => 'Vê rûpelê bixwîne',
'action-edit' => 'vê rûpelê biguherîne',
'action-createpage' => 'rûpelan çêke',
-'action-createtalk' => 'rûpelên guftûgoyan çêke',
+'action-createtalk' => 'rûpelên gotûbêjan çêke',
'action-createaccount' => "vê account'ê bikarhênerê çêke",
'action-minoredit' => 'vê weke guhertineke biçûk nîşan bide',
'action-move' => 'vê rûpelê bigerîne',
'watchnologintext' => 'Ji bo xeyrandinê lîsteya te ya şopandinê tu gireke xwe [[Special:UserLogin|qedy kiribe]].',
'addwatch' => 'Tevlî lîsteya şopandinê bike',
'addedwatchtext' => "Rûpela \"<nowiki>\$1</nowiki>\" çû ser [[Special:Watchlist|lîsteya te ya şopandinê]].
-Li dahatû de her guhartoyek li wê rûpelê û rûpela guftûgo ya wê were kirin li vir dêt nîşan dan,
+Li dahatû de her guhartoyek li wê rûpelê û rûpela gotûbêjê wê were kirin li vir dêt nîşan dan,
Li rûpela [[Special:RecentChanges|Guherandinên dawî]] jî ji bo hasan dîtina wê, ew rûpel bi '''Nivîsa estûr''' dê nîşan dayîn.
'unwatchthispage' => 'Êdî neşopîne',
'notanarticle' => 'Ne gotar e',
'watchnochange' => 'Ne rûpelek, yê tu dişopînê, hate xeyrandin di vê wextê da, yê tu dixazê bibînê.',
-'watchlist-details' => '* {{PLURAL:$1|Rûpelek tê|$1 rûpel tên}} şopandin, rûpelên guftûgoyê netên jimartin.',
+'watchlist-details' => '* {{PLURAL:$1|Rûpelek tê|$1 rûpel tên}} şopandin, rûpelên gotûbêjê nayên jimartin.',
'wlheader-enotif' => '* Agahdariya E-nameyê pêk tê.',
'wlheader-showupdated' => "* Ew rûpel yê hatin xeyrandin jilkî te li wan sekir di '''nivîsa estûr''' tên pêşandin.",
'watchlistcontains' => 'Di lîsteya şopandina te de {{PLURAL:$1|rûpelek heye|$1 rûpel hene}}.',
'rollbacklink' => 'bizivirîne pêş',
'cantrollback' => "Guharto naye vegerandin; bikarhêrê dawî, '''tenya''' nivîskarê wê rûpelê ye.",
'alreadyrolled' => 'Guherandina dawiya [[$1]]
-bi [[User:$2|$2]] ([[User talk:$2|guftûgo]]) venizivre; keseke din wê rûpelê zivrandiye an guherandiye.
+bi [[User:$2|$2]] ([[User talk:$2|gotûbêj]]) venizivre; keseke din wê rûpelê zivrandiye an guherandiye.
-Guhartoya dawî bi [[User:$3|$3]] ([[User talk:$3|guftûgo]]).',
+Guhartoya dawî bi [[User:$3|$3]] ([[User talk:$3|gotûbêj]]).',
'editcomment' => "Kurtenivîsê guherandinê ev bû: \"''\$1''\".",
'revertpage' => 'Guherandina $2 hat betal kirin, vegerand guhartoya dawî ya $1',
'rollback-success' => 'Guherandina $1 şondakir; dîsa guharte verzyona $2.',
'ipbotheroption' => 'yên din',
'ipbotherreason' => 'Sedemekî din',
'ipbhidename' => 'Navê bikarhêner / adresê IP ji "pirtûkê" astengkirinê, lîsteya astengkirinên nuh û lîsteya bikarhêneran veşêre',
-'ipbwatchuser' => 'Rûpelên bikarhêner û guftûgoyê bişopîne',
+'ipbwatchuser' => 'Rûpelên bikarhêner û gotûbêjê bişopîne',
'ipb-confirm' => 'Astengkirinê piştrast bike',
'badipaddress' => 'Bikarhêner bi vî navî tune',
'blockipsuccesssub' => 'Astengkirin serkeftî bû',
'noautoblockblock' => 'astengkirina otomatîk hatîye temirandin',
'createaccountblock' => 'çêkirina hesaban hate qedexekirin',
'emailblock' => 'E-Mail hate girtin',
-'blocklist-nousertalk' => 'nikarê rûpela gûftugoya xwe biguherînê',
+'blocklist-nousertalk' => 'nikare rûpela gotûbêja xwe biguherîne',
'ipblocklist-empty' => 'Lîsteya astengkirinê vala ye.',
'ipblocklist-no-results' => "Ew IP'ya ya bikarhênera nehatîye astengkirin.",
'blocklink' => 'asteng bike',
'block-log-flags-nocreate' => 'çêkirina hesaban hate qedexekirin',
'block-log-flags-noautoblock' => 'astengkirina otomatik tune',
'block-log-flags-noemail' => 'Şandina e-nameyan hatîye qedexekirin',
-'block-log-flags-nousertalk' => 'nikare guftûgoyê xwe biguherîne',
+'block-log-flags-nousertalk' => 'nikare gotûbêja xwe biguherîne',
'block-log-flags-hiddenname' => 'navê bikarhêneriyê yê veşartî',
'ipb_expiry_invalid' => 'Dem ne serrast e.',
'ipb_already_blocked' => '"$1" berê hatîye astengkirin',
'articleexists' => 'Rûpela bi vî navî heye, an navê ku te hilbijart derbas nabe. Navekî din hilbijêre.',
'cantmove-titleprotected' => 'Tu nikanê vê rûpelê bervê vê cihê bigerînê ji ber ku sernava nuh tê parastin ji bo çêkirinê',
'movedto' => 'bû',
-'movetalk' => "Rûpela '''guftûgo''' ya wê jî bigerîne, eger gengaz be.",
+'movetalk' => "Rûpela '''gotûbêj'''a wê jî bigerîne, eger gengaz be.",
'movepage-page-exists' => 'Rûpela $1 berê heye û ew nikane otomatîk were jêbirin.',
'movepage-page-moved' => 'Rûpela $1 çû cihê $2.',
'movepage-page-unmoved' => 'Rûpela $1 nikanî çûba ciha $2.',
# Tooltip help for the actions
'tooltip-pt-userpage' => 'Rûpela min',
'tooltip-pt-anonuserpage' => 'The user page for the ip you',
-'tooltip-pt-mytalk' => 'Rûpela guftûgo ya min',
+'tooltip-pt-mytalk' => 'Rûpela min a gotûbêjê',
'tooltip-pt-preferences' => 'Tercîhên min',
'tooltip-pt-watchlist' => 'The list of pages you',
'tooltip-pt-mycontris' => 'Lîsteya beşdariyên min',
'tooltip-pt-logout' => 'Derkeve (Log out)',
-'tooltip-ca-talk' => 'Guftûgo li ser rûpela naverokê',
+'tooltip-ca-talk' => 'Gotûbêj li ser rûpela naverokê',
'tooltip-ca-edit' => 'Vê rûpelê biguherîne! Berê qeydkirinê bişkoka "Pêşdîtin',
'tooltip-ca-addsection' => 'Beşekê zêde bike.',
'tooltip-ca-viewsource' => 'Ev rûpela tê parastin. Tu dikarê bes li çavkanîyê sekê.',
'lag-warn-high' => 'Ji bo westinê sistêmê ew xeyrandin, yê piştî $1 sanîyan hatine çêkirin netên wêşendan.',
# Watchlist editor
-'watchlistedit-numitems' => 'Di lîsteya te ya şopandinê de {{PLURAL:$1|gotarek heye.|$1 gotar hene.}} (ji xeynî rûpela guftûgoyan).',
+'watchlistedit-numitems' => 'Di lîsteya te ya şopandinê de {{PLURAL:$1|gotarek heye.|$1 gotar hene.}} (ji xeynî rûpela gotûbêjan).',
'watchlistedit-noitems' => 'Di lîsteya te ya şopandinê de gotar tune ne.',
'watchlistedit-normal-title' => 'Lîsteya xwe ya şopandinê biguherîne',
'watchlistedit-normal-legend' => 'Gotaran ji lîsteya min ya şopandinê rake',
'backend-fail-closetemp' => 'Den temporäre Fichier konnt net zougemaach ginn.',
'backend-fail-read' => 'De Fichier $1 konnt net geliest ginn.',
'backend-fail-create' => 'De Fichier $1 konnt net ugeluecht ginn.',
+'backend-fail-maxsize' => 'De Fichier $1 konnt net generéiert gi well e méi grouss ass wéi {{PLURAL:$2|ee Byte|$2 Byten}}.',
'backend-fail-readonly' => 'De Späicher-Backend "$1" kann elo nëmme geliest ginn (read-only). De Grond deen ugi gouf war: "$2"',
# Lock manager
'version-software' => 'Installéiert Software',
'version-software-product' => 'Produkt',
'version-software-version' => 'Versioun',
+'version-entrypoints' => 'URLe vun Agangspunkten',
+'version-entrypoints-header-entrypoint' => 'Agangspunkt',
'version-entrypoints-header-url' => 'URL',
# Special:FilePath
'token_suffix_mismatch' => "'''Jūsų pakeitimas buvo atmestas, nes jūsų naršyklė iškraipė skyrybos ženklus keitimo žymėje. Keitimas buvo atmestas norint apsaugoti puslapio tekstą nuo sugadinimo. Taip kartais būna, kai jūs naudojate anoniminį tarpinio serverio paslaugą.'''",
'edit_form_incomplete' => "'''Kai redaguoti formos dalys nepasiekė serverio; du kartus patikrinti, kad jūsų pakeitimai yra nesugadintos ir bandykite dar kartą.'''",
'editing' => 'Taisomas $1',
+'creating' => 'Kuriama $1',
'editingsection' => 'Taisomas $1 (skyrelis)',
'editingcomment' => 'Taisomas $1 (komentaras)',
'editconflict' => 'Išpręskite konfliktą: $1',
# Suppression log
'suppressionlog' => 'Trynimo istorija',
'suppressionlogtext' => 'Žemiau yra trynimų ir blokavimų sąrašas, įtraukiant turinį, paslėptą nuo administratorių.
-Žiūrėkite [[Special:BlockList|IP blokavimų sąrašą]], kad rastumėte dabar veikiančius draudimus ir blokavimus.',
+Žiūrėkite [[Special:BlockList|blokavimų sąrašą]], kad rastumėte dabar veikiančius draudimus ir blokavimus.',
# History merging
'mergehistory' => 'Sujungti puslapių istorijas',
'reblock-logentry' => 'pakeisti [[$1]] blokavimo nustatymai, naujas blokavimo laikas – $2 $3',
'blocklogtext' => 'Čia yra naudotojų blokavimo ir atblokavimo sąrašas.
Automatiškai blokuoti IP adresai neišvardinti.
-Jei norite pamatyti dabar blokuojamus adresus, žiūrėkite [[Special:BlockList|IP blokavimų sąrašą]].',
+Jei norite pamatyti dabar blokuojamus adresus, žiūrėkite [[Special:BlockList|blokavimų sąrašą]].',
'unblocklogentry' => 'atblokavo $1',
'block-log-flags-anononly' => 'tik anoniminiai naudotojai',
'block-log-flags-nocreate' => 'paskyrų kūrimas išjungtas',
'category-article-count' => "{{PLURAL:$2|He pawl hian hemi phêk chauh hi a nei. | Hê'ng phek {{PLURAL:$1||$1-te}} hi he pawlah hian a awm, avaia $2 zingah.}}",
'category-article-count-limited' => '{{PLURAL: $1 |$1He|$1 Heng}} phekte hi hë pawl, i en mékah hian a awm.',
'category-file-count' => '{{PLURAL:$2|He pawl hian hë taksa chauh hi a kengtel.|{{PLURAL:$1|He taksa $1 |Heng taksa $1-te}} hi he pawlah hian a awm, a vaia $2 zingah}}',
-'category-file-count-limited' => '{{PLURAL:$1|He taksa (file)|$1Heng taksate}} hi hemi pawl, i en mékah hian a awm.',
+'category-file-count-limited' => '{{PLURAL:$1|He taksa|$1Heng taksate}} hi hemi pawl, i en mékah hian a awm.',
'listingcontinuesabbrev' => 'chhunz.',
'index-category' => 'Phêk tarlante',
'noindex-category' => 'Phêk tarlan lohte',
'passwordreset' => 'Thurûk ziakţha rawh',
'passwordreset-legend' => 'Thurûk ziakţha rawh',
'passwordreset-username' => 'Hmangtu hming:',
+'passwordreset-domain' => 'Huamchin:',
'passwordreset-email' => 'E-chenhmun:',
'passwordreset-emailtitle' => '{{SITENAME}}-a siangchan chanchin kim',
'passwordreset-emailelement' => 'Hmangtuhming: $1
'note' => "'''Hriat tùr:'''",
'previewnote' => "'''Heihi endikna chauh a ni tih hrereng ang che.'''
I tihdanglamna dahţhat a la ni lo!",
+'session_fail_preview_html' => "'''A pawi hlë mai! Ṭhutchhúng chanchin vawnna hloh avangin i siamṭhatna dahṭhat theih a ni lo.'''
+
+''{{SITENAME}}-in HTML hel a tihzalen avangin hë enlâwkna hi JavaScript beihna laka invèn fimkhur nan thup bo a ni.''
+
+'''Hei hi siamṭhat tumna dànzui pangngai a nih chuan khawngaihin dahṭhat tum nawn leh rawh.'''
+I la dahṭhat theih loh cheu chuan [[Special:UserLogout|chhuah phawt ]] a, luh nawn leh hmang tein han bei vêl chhin lä.",
'editing' => '$1 i siam(ţha) mék',
'editingsection' => '$1 (hlawm) i siam(ţha) mék',
'editingcomment' => '$1 (hlawm thar) i siam(ţha) mék',
'yourtext' => 'I thu tah hian:',
'storedversion' => 'Ennawnna vawnţhat',
'yourdiff' => 'Danglamnate',
+'protectedpagewarning' => "'''Vaukhanna: Hë phêk hi roreltute chauhvin an siamṭhat theihna tùrin vènhim a ni.'''
+I rawn atan ziaka chanchin dah hnuhnüng ber kan rawn chhawp chhuak e:",
'semiprotectedpagewarning' => "'''Hriat tùr:''' He phêk hi hmangtu inziaklûtte chauhvin an tihdanglam theihna tùra vènhim a ni.
I rawn tùrin siamm-danglamna chanchin ziaka kan dahţhat thar ber a hnuaiah khuan kan chhawp e:",
'templatesused' => 'He phêka {{PLURAL:$1|siamsa hman|siamsa hmante}}',
'boteditletter' => 'k',
'rc-enhanced-expand' => 'Tilang kim rawh (JavaScript a ngai)',
'rc-enhanced-hide' => 'Thup ţhenna',
+'rc-old-title' => 'Atìra "&1" tih hming pú-a siam.',
# Recent changes linked
'recentchangeslinked' => 'Tihdanglam anpuite',
+'recentchangeslinked-feed' => 'Tihdanglam anpuite',
'recentchangeslinked-toolbox' => 'Tihdanglam anpuite',
'recentchangeslinked-title' => '"$1" kaihhnawih tihdanglamnate',
'recentchangeslinked-noresult' => 'I hun thlan chhungah hian a phek zawmpui tihdanglam pakhat mah a awm lo.',
'upload_directory_missing' => 'Hlankai bawmpui ($1) a awm lo va, Rangserverin a siam thei lo bawl.',
'upload_directory_read_only' => 'Hlankai bawmpui ($1) hi Rangserver in a ziak thei lo.',
'uploaderror' => 'Hlankai sual',
+'upload-recreate-warning' => "'''Vaukhànna: Hemi hming pu taksa hi sawn tawh emaw paih tawh a ni.'''
+
+I ràwnah paihna leh sawnna chhinchhiahna thuziak kan rawn chhawpchhuak e:",
'upload-permitted' => 'Taksa phal chiho: $1.',
'upload-preferred' => 'Taksa duh deuh bîk: $1.',
'upload-prohibited' => 'Taksa khap: $1.',
'listfiles_count' => 'Chhuah',
# File description page
-'file-anchor-link' => 'Taksa (file)',
+'file-anchor-link' => 'Taksa',
'filehist' => 'A chanchin enna',
'filehist-help' => 'A hunlaia a lan dan en tùrin a hun/ni-ah hmet rawh.',
'filehist-deleteall' => 'a vaiin nuaibo rawh',
'sp-deletedcontributions-contribs' => 'kutthawhnate',
# Special:LinkSearch
+'linksearch-ns' => 'Hminghmun:',
'linksearch-ok' => 'Zawng rawh',
'linksearch-line' => '$1 hi $2 aţanga thlunzawm a ni',
'parser-template-loop-warning' => 'Пронајдена е јамка во шаблонот: [[$1]]',
'parser-template-recursion-depth-warning' => 'Ограничувањето на рекурзивната длабочина надмината во шаблонот ($1)',
'language-converter-depth-warning' => 'Надмината е границата на длабочината на јазичниот претворач ($1)',
+'node-count-exceeded-category' => 'Страници каде е надминат бројот на јазли',
+'node-count-exceeded-warning' => 'Страницата го надмина бројот на јазли',
+'expansion-depth-exceeded-category' => 'Страници каде е надмината длабочината на проширувањето',
+'expansion-depth-exceeded-warning' => 'Страницата ја надмина длабочината на проширувањето',
# "Undo" feature
'undo-success' => 'Уредувањето може да се откаже.
'badtitle' => 'അസാധുവായ തലക്കെട്ട്',
'badtitletext' => 'താങ്കൾ ആവശ്യപ്പെട്ട തലക്കെട്ടുള്ള ഒരു താൾ നിലവിലില്ല. ഇതു തെറ്റായി അന്തർഭാഷാ/അന്തർവിക്കി കണ്ണി ചെയ്യപ്പെട്ടതു മൂലമോ, തലക്കെട്ടിൽ ഉപയോഗിക്കരുതാത്ത അക്ഷരരൂപങ്ങൾ ഉപയോഗിച്ചതു മൂലമോ സംഭവിച്ചതായിരിക്കാം.',
'perfcached' => 'താഴെ കൊടുത്തിരിക്കുന്ന വിവരം ശേഖരിച്ചു വെച്ചിരിക്കുന്നതാണ്, അതുകൊണ്ട് ചിലപ്പോൾ പുതിയതായിരിക്കണമെന്നില്ല. പരമാവധി {{PLURAL:$1|ഒരു ഫലം|$1 ഫലങ്ങൾ}} ശേഖരിച്ചുവെച്ചിരിക്കുന്നവയിൽ ഉണ്ട്.',
-'perfcachedts' => 'താഴെയുള്ള വിവരങ്ങൾ ശേഖരിച്ച് വെച്ചവയിൽ പെടുന്നു, അവസാനം പുതുക്കിയത് $1-നു ആണ്. പരമാവധി {{PLURAL:$4|ഒരു ഫലം|$4 ഫലങ്ങൾ}} ശേഖരിച്ചുവെച്ചിരിക്കുന്നവയിൽ ഉണ്ട്. സാധാരണ ഗതിയിൽ $4 ആയിരമായിരിക്കും.',
+'perfcachedts' => 'താഴെയുള്ള വിവരങ്ങൾ ശേഖരിച്ച് വെച്ചവയിൽ പെടുന്നു, അവസാനം പുതുക്കിയത് $1-നു ആണ്. പരമാവധി {{PLURAL:$4|ഒരു ഫലം|$4 ഫലങ്ങൾ}} ശേഖരിച്ചുവെച്ചിരിക്കുന്നവയിൽ ഉണ്ട്.',
'querypage-no-updates' => 'ഈ താളിന്റെ പുതുക്കൽ തൽക്കാലം നടക്കുന്നില്ല. ഇവിടുള്ള വിവരങ്ങൾ ഏറ്റവും പുതിയതാവണമെന്നില്ല.',
'wrong_wfQuery_params' => 'wfQuery()എന്നതിലേക്ക് തെറ്റായ പരാമീറ്ററുകൾ<br />
നിർദ്ദേശം: $1<br />
'parser-template-loop-warning' => 'ഫലകക്കുരുക്ക് കണ്ടെത്തിയിരിക്കുന്നു: [[$1]]',
'parser-template-recursion-depth-warning' => 'ഫലകത്തിന്റെ പുനരാവർത്തന ആഴത്തിന്റെ പരിധി കഴിഞ്ഞിരിക്കുന്നു ($1)',
'language-converter-depth-warning' => 'ഭാഷ മാറ്റൽ ഉപകരണത്തിന്റെ ആഴത്തിന്റെ പരിധി കവിഞ്ഞിരിക്കുന്നു ($1)',
+'node-count-exceeded-warning' => 'താൾ നോഡ്-എണ്ണം അധികരിച്ചിരിക്കുന്നു',
# "Undo" feature
'undo-success' => 'ഈ തിരുത്തൽ താങ്കൾക്ക് തിരസ്ക്കരിക്കാവുന്നതാണ്. താഴെ കൊടുത്തിരിക്കുന്ന പതിപ്പുകൾ തമ്മിലുള്ള താരതമ്യം ഒന്നുകൂടി പരിശോധിച്ച് ഈ പ്രവൃത്തി ചെയ്യണോ എന്ന് ഒന്നുകൂടി ഉറപ്പാക്കുക. ഉറപ്പാണെങ്കിൽ തിരുത്തൽ തിരസ്ക്കരിക്കുവാൻ താൾ സേവ് ചെയ്യുക.',
'statistics-users-active-desc' => 'കഴിഞ്ഞ {{PLURAL:$1|ദിവസം|$1 ദിവസങ്ങൾക്കുള്ളിൽ}} പ്രവർത്തിച്ചിട്ടുള്ള ഉപയോക്താക്കൾ',
'statistics-mostpopular' => 'ഏറ്റവുമധികം സന്ദർശിക്കപ്പെട്ട താളുകൾ',
-'disambiguations' => 'വിവക്ഷിത താളുകളിലേയ്ക്ക് കണ്ണിചേർക്കുന്ന താളുകൾ',
+'disambiguations' => 'വിവà´\95àµ\8dà´·à´¿à´¤ താളàµ\81à´\95ളിലàµ\87à´¯àµ\8dà´\95àµ\8dà´\95àµ\8d à´\95à´£àµ\8dണിà´\9aàµ\87ർതàµ\8dതിരിà´\95àµ\8dà´\95àµ\81à´¨àµ\8dà´¨ താളàµ\81à´\95ൾ',
'disambiguationspage' => 'Template:വിവക്ഷകൾ',
'disambiguations-text' => 'താഴെ കൊടുത്തിരിക്കുന്ന താളുകൾ വിവക്ഷിതങ്ങൾ താളിലേക്കു കണ്ണി ചേർക്കപ്പെട്ടിരിക്കുന്നു. അതിനു പകരം അവ ലേഖനതാളുകളിലേക്കു കണ്ണി ചേക്കേണ്ടതാണ്. <br /> ഒരു താളിനെ വിവക്ഷിത താൾ ആയി പരിഗണിക്കണമെങ്കിൽ അതു [[MediaWiki:Disambiguationspage]] എന്ന താളിൽ നിന്നു കണ്ണി ചേർക്കപ്പെട്ട ഒരു ഫലകം ഉപയോഗിക്കണം.',
'tog-previewontop' => 'झलक संपादन खिडकीच्या आधी दाखवा',
'tog-previewonfirst' => 'पहिल्या संपादनानंतर झलक दाखवा',
'tog-nocache' => 'न्याहाळकाची पान सय (कॅशिंग) अक्षम (निकमी) करा',
-'tog-enotifwatchlistpages' => 'माà¤\9dà¥\8dया पहाऱà¥\8dयाà¤\9aà¥\8dया सà¥\82à¤\9aà¥\80मधà¥\80ल (नितà¥\8dय पहाणà¥\8dयात à¤\85सलà¥\87लà¥\80 सà¥\82à¤\9aà¥\80) पान बदललà¥\8dयास मला à¤\88-मà¥\87ल पाठवा',
+'tog-enotifwatchlistpages' => 'माà¤\9dà¥\8dया नितà¥\8dय पाहाणà¥\8dयात à¤\85सलà¥\87लà¥\80 सà¥\82à¤\9aà¥\80मधà¥\8dयà¥\87 à¤\85सलà¥\87लà¥\8dया पानामधà¥\8dयà¥\87 बदल à¤\9dालà¥\8dयास मला विपतà¥\8dर (à¤\88-मà¥\87ल) पाठवा.',
'tog-enotifusertalkpages' => 'माझ्या चर्चा पानावर बदल झाल्यास मला विरोप (ई-मेल) पाठवा',
'tog-enotifminoredits' => 'मला छोट्या बदलांकरीता सुद्धा विरोप पाठवा',
'tog-enotifrevealaddr' => 'सूचना विरोपात माझा विरोपाचा (ई-मेल ) पत्ता दाखवा',
'parser-template-loop-warning' => 'Gelung templat dikesan: [[$1]]',
'parser-template-recursion-depth-warning' => 'Had pengulangan templat dilebihi ($1)',
'language-converter-depth-warning' => 'Had kedalaman penukar bahasa dilepasi ($1)',
+'node-count-exceeded-category' => 'Laman yang melebihi had kiraan nod',
+'node-count-exceeded-warning' => 'Laman terlebih kiraan nod',
+'expansion-depth-exceeded-category' => 'Laman yang melebihi had kedalaman peluasan',
+'expansion-depth-exceeded-warning' => 'Laman terlebih dalam peluasan',
# "Undo" feature
'undo-success' => 'Suntingan ini boleh dibatalkan. Sila semak perbandingan di bawah untuk mengesahkan bahawa anda betul-betul mahu melakukan tindakan ini, kemudian simpan perubahan tersebut.',
'parser-template-loop-warning' => 'Er is een kringloop in sjablonen geconstateerd: [[$1]]',
'parser-template-recursion-depth-warning' => 'De recursiediepte voor sjablonen is overschreden ($1)',
'language-converter-depth-warning' => 'De dieptelimiet voor de taalconvertor is overschreden ($1)',
+'node-count-exceeded-category' => "Pagina's waar het maximaal aantal nodes is overschreden",
+'node-count-exceeded-warning' => 'Op de pagina is het maximale aantal nodes overschreden',
+'expansion-depth-exceeded-category' => "Pagina's waar de expansiediepte is overschreden",
+'expansion-depth-exceeded-warning' => 'De pagina bevat te veel sjablonen',
# "Undo" feature
'undo-success' => 'Deze bewerking kan ongedaan gemaakt worden.
'january' => 'ଜାନୁଆରୀ',
'february' => 'ଫେବୃଆରୀ',
'march' => 'ମାର୍ଚ୍ଚ',
-'april' => 'à¬\8fପà\8dରିଲ',
+'april' => 'à¬\85ପà\8dରà\87ଲ',
'may_long' => 'ମେ',
'june' => 'ଜୁନ',
'july' => 'ଜୁଲାଇ',
'january-gen' => 'ଜାନୁଆରୀ',
'february-gen' => 'ଫେବୃଆରୀ',
'march-gen' => 'ମାର୍ଚ୍ଚ',
-'april-gen' => 'à¬\8fପà\8dରିଲ',
+'april-gen' => 'à¬\85ପà\8dରà\87ଲ',
'may-gen' => 'ମେ',
'june-gen' => 'ଜୁନ',
'july-gen' => 'ଜୁଲାଇ',
'jan' => 'ଜାନୁଆରୀ',
'feb' => 'ଫେବୃଆରୀ',
'mar' => 'ମାର୍ଚ୍ଚ',
-'apr' => 'à¬\8fପà\8dରିଲ',
+'apr' => 'à¬\85ପà\8dରà\87ଲ',
'may' => 'ମେ',
'jun' => 'ଜୁନ',
'jul' => 'ଜୁଲାଇ',
'category-subcat-count' => '{{ਕੁਲ $2 ਸ਼੍ਰੇਣੀਆਂ ਵਿਚੌਂ , PLURAL:$2|ਇਸ ਸ਼੍ਰੇਣੀ ਵਿਚ ਸਿਰਫ਼ ਹੇਠ ਲਿਖੀ ਸ਼੍ਰੇਣੀ ਹੈ|ਇਸ ਸ਼੍ਰੇਣੀ ਵਿਚ ਨਿਮਿਨਲਿਖਿਤ {{PLURAL:$1|ਉਪ ਸ਼੍ਰੇਣੀ ਹੈ|$1ਉਪਸ਼੍ਰੇਣੀਆਂ ਹਨ}} }}',
'category-article-count' => '{{ ਕੁਲ $2 ਲੇਖਾਂ ਵਿਚੌਂ , PLURAL:$2| ਇਸ ਸ਼੍ਰੇਣੀ ਵਿਚ ਸਿਰਫ਼ ਨਿਮਨਲਿਖਿਤ {{PLURAL:$1|ਲੇਖ ਹੈ|$1 ਲੇਖ ਹਨ}}, }}',
'listingcontinuesabbrev' => 'ਅਗੇ.',
+'noindex-category' => 'ਕ੍ਰਮਸੂਚੀ ਰਹਿਤ ਸਫ਼ੇ',
'about' => 'ਇਸ ਬਾਰੇ',
'article' => 'ਸਮੱਗਰੀ ਪੇਜ',
'yourtext' => 'ਤੁਹਾਡਾ ਟੈਕਸਟ',
'storedversion' => 'ਸੰਭਾਲਿਆ ਵਰਜਨ',
'yourdiff' => 'ਅੰਤਰ',
-'templatesused' => 'à¨\87ਸ ਪà©\87à¨\9c à¨\89ੱਤà©\87 à¨\9fà©\88ਪਲà©\87à¨\9f ਵਰਤਿà¨\86 à¨\9cਾà¨\82ਦਾ ਹà©\88:',
+'templatesused' => 'à¨\87ਸ ਸਫà©\87 ਤà©\87 ਪà©\8dਰà©\8dਯà©\8bà¨\97ਿਤ {{PLURAL:$1|ਫਰਮਾ|ਫਰਮà©\87}}:',
'templatesusedpreview' => "{{PLURAL:$1|ਟੈਪਲੇਟ|ਟੈਪਲੇਟ}} ਇਹ ਝਲਕ 'ਚ ਵਰਤੇ ਜਾਂਦੇ ਹਨ:",
'templatesusedsection' => 'ਇਹ ਸ਼ੈਕਸ਼ਨ ਵਿੱਚ ਟੈਪਲੇਟ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ:',
'template-protected' => '(ਸੁਰੱਖਿਅਤ)',
# Parser/template warnings
'post-expand-template-inclusion-warning' => "'''ਖ਼ਬਰਦਾਰ: ਸੰਚੇ ਦਾ ਅਕਾਰ ਬਹੁਤ ਵੱਡਾ ਹੈ।ਕੁਝ ਸੰਚੇ ਛੁਟ ਜਾਣਗੇ।",
'post-expand-template-inclusion-category' => 'ਉਹ ਪੰਨੇ ਜਿਥੇ ਸੰਚਿਆਂ ਦਾ ਅਕਾਰ ਨਿਣਮਿਤ ਹੱਦ ਤੌਂ ਵੱਧ ਹੈ।',
+'post-expand-template-argument-warning' => "'''ਖ਼ਬਰਦਾਰ'''ਇਸ ਸਫ਼ੇ ਤੇ ਕਿਸੇ ਫ਼ਰਮੇ ਵਿਚ ਘੱਟੋ ਘੱਟ ਇਕ ਸਁਘਟਕ ਐਸਾ ਹੈ ਜਿਸ ਦਾ ਵਿਸਤ੍ਰਿਤ ਰੂਪ ਬਹੁਤ ਵੱਡਾ ਹੈ।ਐਸੇ ਸਁਘਟਕਾਂ ਨੂਁ ਛੱਡ ਦਿੱਤਾ ਗਿਆ ਹੈ।",
+'post-expand-template-argument-category' => 'ਐਸੇ ਸਫ਼ੇ ਜਿਨ੍ਹਾਂ ਵਿਚ ਫ਼ਰਮੇ ਦੇ ਸਁਘਟਕ ਛੁੱਟ ਗਏ ਹਨ ।',
# Account creation failure
'cantcreateaccounttitle' => 'ਅਕਾਊਂਟ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ',
'last' => 'ਆਖਰੀ',
'page_first' => 'ਪਹਿਲਾਂ',
'page_last' => 'ਆਖਰੀ',
+'history-fieldset-title' => 'ਇਤਿਹਾਸ ਤੇ ਇਕ ਨਜ਼ਰ ਮਾਰੋ ।',
'history-show-deleted' => 'ਕੇਵਲ ਮਿਟਾਏ ਗਏ',
'histfirst' => 'ਸਭ ਤੋਂ ਪਹਿਲਾਂ',
'histlast' => 'ਸਭ ਤੋਂ ਨਵਾਂ',
'recentchangeslinked-feed' => 'ਸਬੰਧਿਤ ਬਦਲਾਅ',
'recentchangeslinked-toolbox' => 'ਸਬੰਧਿਤ ਬਦਲਾਅ',
'recentchangeslinked-title' => '"$1" ਨਾਲ ਸੰਬੰਧਿਤ ਬਦਲਾਅ',
+'recentchangeslinked-noresult' => 'ਜੁੜੇ ਹੋਏ ਸਫਿਆਂ ਤੇ ,ਦਿੱਤੇ ਸਮੇਂ ਵਿਚ ਕੁਝ ਨਹੀਂ ਬਦਲਿਆ ।',
'recentchangeslinked-summary' => 'ਇਹ ਸੂਚੀ ਊਨ੍ਹਾਂ ਪੰਨਿਆਂ ,ਜੋ ਇਕ ਖਾਸ ਪੰਨੇ ਨਾਲ ਸੰਬੰਧਿਤ ਹਨ, (ਯਾ ਕਿਸੇ ਖਾਸ ਸ਼੍ਰੇਣੀ ਦੇ ਮੈਂਬਰਾਂ) ਦੇ ਹਾਲ ਵਿਚ ਹੋਏ ਬਦਲਾਵਾਂ ਨੂੰ ਦਰਸ਼ਾਂਦੀ ਹੈ [[Special:Watchlist|ਤੁਹਾਡੀ ਦ੍ਰਿਸ਼ਟੀ ਗੋਚਰ ਸੂਚੀ]] ਵਿਚ ਮੌਜੂਦ ਪੰਨੇ ਮੋਟੇ ਅਖਰਾਂ ਵਿਚ ਦਿਖਾਈ ਦੇਣਗੇ।',
'recentchangeslinked-page' => 'ਸਫ਼ਾ ਨਾਂ:',
'recentchangeslinked-to' => 'ਇਸ ਦੇ ਬਦਲੇ ਇਸ ਪੰਨੇ ਨਾਲ ਜੁੜੇ ਪੰਨਿਆਂ ਵਿਚ ਹੋਏ ਬਦਲਾਅ ਦਿਖਾਓ',
# Watchlist
'watchlist' => 'ਮੇਰੀ ਵਾਚ-ਲਿਸਟ',
'mywatchlist' => 'ਮੇਰੀ ਵਾਚ-ਲਿਸਟ',
+'watchlistfor2' => '$1 $2 ਲਈ',
'watchnologin' => 'ਲਾਗਇਨ ਨਹੀਂ',
'watch' => 'ਵਾਚ',
'watchthispage' => 'ਇਹ ਪੇਜ ਵਾਚ ਕਰੋ',
'sp-contributions-newbies-sub' => 'ਨਵੇਂ ਅਕਾਊਂਟਾਂ ਲਈ',
'sp-contributions-blocklog' => 'ਪਾਬੰਦੀ ਲਾਗ',
+'sp-contributions-uploads' => 'ਅਪਲੋਡ',
'sp-contributions-logs' => 'ਲਾਗ',
'sp-contributions-talk' => 'ਗੱਲਬਾਤ',
'sp-contributions-search' => 'ਯੋਗਦਾਨ ਖੋਜੋ',
'whatlinkshere-next' => '{{PLURAL:$1|ਅਗਲਾ|ਅਗਲੇ $1}}',
'whatlinkshere-links' => '← ਲਿੰਕ',
'whatlinkshere-hideredirs' => '$1 ਗੈਰਸਿਧਾ',
+'whatlinkshere-hidetrans' => '$1 ਇੱਥੇ ਕੀ ਕੀ ਜੁੜਦਾ ਹੈ।',
'whatlinkshere-hidelinks' => '$1 ਲਿੰਕ',
'whatlinkshere-hideimages' => '$1 ਸੰਬੰਧਿਤ ਚਿਤਰ',
'whatlinkshere-filters' => 'ਫਿਲਟਰ',
# Thumbnails
'thumbnail-more' => 'ਫੈਲਾਓ',
'filemissing' => 'ਫਾਇਲ ਗੁੰਮ ਹੈ',
+'thumbnail_error' => 'ਅਁਗੂਠਾ ਝਲਕ ਬਨਾਉਣ ਵਿਚ ਗਲਤੀ ਹੋਈ ਹੈ : $1',
# Special:Import
'import' => 'ਪੇਜ ਇੰਪੋਰਟ ਕਰੋ',
'movepage-moved-noredirect' => "La creassion ëd na ridiression a l'é stàita scancelà.",
'articleexists' => "Na pàgina che as ciama parej a-i é già, ò pura ël nòm che a l'ha sërnù a va nen bin.<br />
Che as sërna, për piasì, un nòm diferent për st'artìcol.",
-'cantmove-titleprotected' => "As peul pa fesse San Martin ambelelì, për via che col tìtol-lì a l'é stàit proibì e a peul pa ess-ie na pàgina ciamà parej",
+'cantmove-titleprotected' => "As peul pa fesse San Martin ambelelì, për via che col tìtol-lì a l'é stàit proibì e a peul pa ess-ie na pàgina ciamà parèj",
'talkexists' => "La pàgina a l'é staita bin tramudà, ma a l'é pa podusse tramudé soa pàgina ëd discussion, përchè a-i në j'é già n'àutra ant la pàgina con ël tìtol neuv. Për piasì, che a modìfica a man ij contnù dle doe pàgine ëd discussion, an manera che as perdo nen dij pensé anteressant.",
'movedto' => 'tramudà a',
-'movetalk' => "Podend, tramuda ëdcò la pàgina ëd discussion che a l'ha tacà.",
+'movetalk' => "Tramudé ëdcò la pàgina ëd discussion che a l'ha tacà",
'move-subpages' => 'Tramuda le sotpàgine (fin a $1)',
'move-talk-subpages' => 'Tramuda le sotpàgine ëd na pàgina ëd discussion (fin a $1)',
'movepage-page-exists' => 'La pàgina $1 a esist già e a peul pa esse coatà automaticament.',
'''تر اوسه پورې دا نه دی خوندي شوی!'''",
'updated' => '(تازه)',
'note' => "'''يادونه:'''",
-'previewnote' => "'''دا يواځې مخليدنه ده، تاسې چې کوم بدلونونه ترسره کړي، لا تر اوسه پورې نه دي خوندي شوي!'''",
+'previewnote' => "'''هېر مو نه شي چې دا يواځې يوه مخليدنه ده.'''
+ستاسې لخوا ترسره شوي بدلونونه لا تر اوسه پورې نه دي خوندي شوي!!",
'editing' => 'د $1 سمونه',
'editingsection' => 'سمونه $1 (برخه)',
'editingcomment' => 'د $1 سمون (نوې برخه)',
'upload-http-error' => 'د HTTP يوه ستونزه رامېنځ ته شوې: $1',
# File backend
+'backend-fail-delete' => 'د "$1" دوتنه ړنګه نه شوه.',
'backend-fail-alreadyexists' => 'د $1 دوتنه له پخوا نه شته.',
+'backend-fail-read' => 'د "$1" دوتنه نه شي لوستل کېدای.',
+'backend-fail-create' => 'د "$1" دوتنه نه شي جوړېدای.',
# ZipDirectoryReader
'zip-wrong-format' => 'ځانګړې شوې دوتنه يوه ZIP دوتنه نه وه.',
'ipb-confirm' => 'د بنديز تاييد',
'badipaddress' => 'ناسمه IP پته',
'blockipsuccesssub' => 'بنديز په برياليتوب سره ولګېده',
-'blockipsuccesstext' => 'د [[Special:Contributions/$1|$1]] مخه نيول شوې.
-<br />د مخنيول شويو خلکو د کتنې لپاره، د [[Special:BlockList|مخنيول شويو IP لړليک]] وګورۍ.',
+'blockipsuccesstext' => 'په [[Special:Contributions/$1|$1]] بنديز لګېدلی.<br />
+د بنديزونو د څارلو لپاره [[Special:BlockList|بنديز لړليک]] وګورۍ.',
'ipb-edit-dropdown' => 'د بنديز سببونه سمول',
'ipb-unblock-addr' => 'له $1 بنديز ليرې کول',
'ipb-unblock' => 'له يوه کارن-نوم يا IP پتې بنديز ليري کول',
# Import log
'importlogpage' => 'د واردولو يادښت',
+# JavaScriptTest
+'javascripttest' => 'د جاوا سکرېپټ آزمېښت',
+
# Tooltip help for the actions
'tooltip-pt-userpage' => 'ستاسې کارن مخ',
'tooltip-pt-mytalk' => 'ستاسې د خبرواترو مخ',
'tooltip-diff' => 'دا هغه بدلونونه چې تاسې په متن کې ترسره کړي، ښکاره کوي. [alt-v]',
'tooltip-compareselectedversions' => 'د همدې مخ د دوو ټاکل شويو بڼو تر مېنځ توپيرونه وګورۍ.',
'tooltip-watch' => 'دا مخ ستاسې کتنلړ کې ورګډوي [alt-w]',
+'tooltip-upload' => 'د پورته کولو پيل',
'tooltip-rollback' => 'په همدې مخ کې "په شابېول" د وروستني ونډوال سمون (سمونونه) په يوه کلېک په څټ ورګرځوي.',
'tooltip-undo' => '"ناکړ" همدا سمون پر شا ګرځوي او د سمون کړکۍ د مخکتنې په بڼه پرانيزي.
دا کړنه د لنډيز په برخه کې د سمونونو د سببونو د ورګډولو آسانتيا برابروي.',
'svg-long-desc' => 'SVG دوتنه، نومېنلي $1 × $2 پېکسل، د دوتنې کچه: $3',
'show-big-image' => 'بشپړ بېلن نښې',
'file-info-gif-frames' => '$1 {{PLURAL:$1|چوکاټ|چوکاټونه}}',
+'file-info-png-repeat' => '$1 {{PLURAL:$1|ځل|ځله}} وغږېده',
'file-info-png-frames' => '$1 {{PLURAL:$1|چوکاټ|چوکاټونه}}',
# Special:NewFiles
'exif-model' => 'د کامرې ماډل',
'exif-software' => 'کارېدلې ساوترۍ',
'exif-artist' => 'ليکوال',
+'exif-copyright' => 'د رښتو خاوند',
'exif-colorspace' => 'رنګ تشيال',
'exif-pixelydimension' => 'د انځور سور',
'exif-pixelxdimension' => 'د انځور جګوالی',
'exif-objectname' => 'لنډ سرليک',
'exif-headline' => 'سرليک',
'exif-source' => 'سرچينه',
-'exif-contact' => 'د اړيکې مالومات',
+'exif-contact' => 'د اړيکو مالومات',
'exif-writer' => 'ليکوال',
'exif-languagecode' => 'ژبه',
'exif-iimcategory' => 'وېشنيزه',
'exif-datetimeexpires' => 'مه يې کاروۍ وروسته له',
+'exif-datetimereleased' => 'خپرېدلی په',
'exif-identifier' => 'پېژندنه',
'exif-lens' => 'کارېدلې لېنز',
'exif-serialnumber' => 'د کامرې پرله پسې شمېره',
'exif-cameraownername' => 'د کامرې خاوند',
'exif-label' => 'نښکه',
+'exif-copyrighted' => 'د رښتو دريځ',
+'exif-copyrightowner' => 'د رښتو خاوند',
+'exif-usageterms' => 'د کارولو شرايط',
'exif-pngfilecomment' => 'د PNG دوتنې تبصره',
'exif-disclaimer' => 'ردادعاليک',
'exif-giffilecomment' => 'د GIF دوتنې تبصره',
+'exif-copyrighted-true' => 'په رښتو سمبال',
+'exif-copyrighted-false' => 'ټولګړی شپول',
+
'exif-unknowndate' => 'نامالومه نېټه',
'exif-orientation-1' => 'نورمال',
'exif-lightsource-1' => 'د ورځې رڼا',
'exif-lightsource-4' => 'فلش',
'exif-lightsource-9' => 'ښه هوا',
+'exif-lightsource-10' => 'ورېځ پوښلې هوا',
'exif-lightsource-11' => 'سيوری',
'exif-lightsource-255' => 'د رڼا بله سرچينه',
'iranian-calendar-m11' => 'سلواغه',
'iranian-calendar-m12' => 'کب',
+# Signatures
+'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|خبرې اترې]])',
+
# Special:Version
'version' => 'بڼه',
'version-extensions' => 'لګېدلي شاتاړي',
'feedback-close' => 'ترسره شو',
# API errors
+'api-error-duplicate-popup-title' => 'غبرګونې {{PLURAL:$1|دوتنه|دوتنې}}.',
'api-error-empty-file' => 'کومه دوتنه چې تاسې دلته سپارلې هغه تشه ده.',
'api-error-file-too-large' => 'کومه دوتنه چې تاسې دلته سپارلې ډېره لويه ده.',
'api-error-filename-tooshort' => 'د دوتنې نوم ډېر لنډ دی.',
'api-error-unknown-warning' => 'ناڅرګنده ګواښنه: "$1".',
'api-error-unknownerror' => 'ناڅرګنده تېروتنه: "$1".',
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|ثانيه|ثانيې}}',
+'duration-minutes' => '$1 {{PLURAL:$1|دقيقه|دقيقې}}',
+'duration-hours' => '$1 {{PLURAL:$1|ساعت|ساعتونه}}',
+'duration-days' => '$1 {{PLURAL:$1|ورځ|ورځې}}',
+'duration-weeks' => '$1 {{PLURAL:$1|اونۍ|اونۍ}}',
+'duration-years' => '$1 {{PLURAL:$1|کال|کالونه}}',
+'duration-decades' => '$1 {{PLURAL:$1|لسيزه|لسيزې}}',
+'duration-centuries' => '$1 {{PLURAL:$1|پېړۍ|پېړۍ}}',
+'duration-millennia' => '$1 {{PLURAL:$1|زرمه|زرمې}}',
+
);
'parser-template-loop-warning' => 'Ciclo de predefinições detectado: [[$1]]',
'parser-template-recursion-depth-warning' => 'Foi excedido o limite da profundidade de recursividade nas predefinições ($1)',
'language-converter-depth-warning' => 'O limite de profundidade do conversor de línguas excedeu a ($1)',
+'node-count-exceeded-category' => 'Páginas em que o total de nós é excedido',
+'node-count-exceeded-warning' => 'A página excedeu o total de nós',
+'expansion-depth-exceeded-category' => 'Páginas em que a profundidade de expansão é excedida',
+'expansion-depth-exceeded-warning' => 'A página excedeu a profundidade de expansão',
# "Undo" feature
'undo-success' => 'É possível desfazer a edição.
Certifique-se de que tem os cookies ativados, recarregue esta página e tente novamente.',
'noname' => 'Você não colocou um nome de usuário válido.',
'loginsuccesstitle' => 'Login bem sucedido',
-'loginsuccess' => "'''Agora você está autenticado ao wiki {{SITENAME}} como \"\$1\"'''.",
+'loginsuccess' => "'''Agora você está {{GENDER:autenticado|autenticada}} ao wiki {{SITENAME}} como \"\$1\"'''.",
'nosuchuser' => 'Não existe nenhum usuário com o nome "$1".
Os nomes de usuário são sensíveis à capitalização.
Verifique a ortografia, ou [[Special:UserLogin/signup|crie uma nova conta]].',
'note' => "'''Nota:'''",
'previewnote' => "'''Lembre-se de que isto é apenas uma previsão.'''
Suas alterações ainda não foram salvas!",
+'continue-editing' => 'Continuar editando',
'previewconflict' => 'Esta previsão reflete o texto que está na área de edição acima e como ele aparecerá se você escolher salvar.',
'session_fail_preview' => "'''Pedimos desculpas, mas não foi possível processar a sua edição devido à perda de dados da sua sessão.
Por favor tente novamente.
Por favor veja a [$2 página de descrição do arquivo] para mais informações.',
'sharedupload-desc-here' => 'Este arquivo é do $1 e pode ser utilizado por outros projetos.
A descrição na sua [$2 página de descrição de arquivo] é exibida abaixo.',
+'sharedupload-desc-edit' => 'Este arquivo é do $1 e pode ser utilizado por outros projetos.
+Talvez você deseje editar a descrição na sua [$2 página de descrição de arquivo] por lá.',
+'sharedupload-desc-create' => 'Este arquivo é do $1 e pode ser utilizado por outros projetos.
+Talvez você deseje editar a descrição na sua [$2 página de descrição de arquivo] por lá.',
'filepage-nofile' => 'Não existe nenhum arquivo com esse nome.',
'filepage-nofile-link' => 'Não existe nenhum arquivo com este nome, mas você pode [$1 carregá-lo].',
'uploadnewversion-linktext' => 'Enviar uma nova versão deste arquivo',
'wantedpages' => 'Páginas pedidas',
'wantedpages-badtitle' => 'Título inválido no conjunto de resultados: $1',
'wantedfiles' => 'Arquivos pedidos',
+'wantedfiletext-cat' => 'Os seguintes arquivos são usados, mas não existem. Arquivos de repositórios externos podem acabar sendo listados apesar de existirem. Esses falsos positivos aparecerão <del>riscados</del>. As páginas que incluem arquivos inexistentes são listadas em [[:$1]].',
+'wantedfiletext-nocat' => 'Os seguintes arquivos são usados, mas não existem. Arquivos de repositórios externos podem acabar sendo listados apesar de existirem. Esses falsos positivos aparecerão <del>riscados</del>.',
'wantedtemplates' => 'Predefinições pedidas',
'mostlinked' => 'Páginas com mais afluentes',
'mostlinkedcategories' => 'Categorias com mais membros',
'mostimages' => 'Imagens com mais afluentes',
'mostrevisions' => 'Páginas de conteúdo com mais revisões',
'prefixindex' => 'Todas as páginas com prefixo',
+'prefixindex-namespace' => 'Todas as páginas com prefixo (espaço nominal $1)',
'shortpages' => 'Páginas curtas',
'longpages' => 'Páginas longas',
'deadendpages' => 'Páginas sem saída',
'allpages-bad-ns' => '{{SITENAME}} não possui o espaço nominal "$1".',
'allpages-hide-redirects' => 'Ocultar redirecionamentos',
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => 'Você está visualizando uma versão de cache desta página que pode ser de $1 atrás.',
+'cachedspecial-viewing-cached-ts' => 'Você está visualizando uma versão de cache desta página que pode estar desatualizada.',
+'cachedspecial-refresh-now' => 'Ver a mais recente.',
+
# Special:Categories
'categories' => 'Categorias',
'categoriespagetext' => '{{PLURAL:$1|A seguinte categoria contém|As seguintes contém}} páginas ou mídia.
'ipb-confirm' => 'Confirmar bloqueio',
'badipaddress' => 'Endereço de IP inválido',
'blockipsuccesssub' => 'Bloqueio bem sucedido',
-'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] foi bloqueado.<br />
-Consulte a [[Special:BlockList|lista de IPs bloqueados]] para rever os bloqueios.',
+'blockipsuccesstext' => '[[Special:Contributions/$1|$1]] foi {{GENDER:$1|bloqueado|bloqueada}}.<br />
+Consulte a [[Special:BlockList|lista de bloqueios]].',
'ipb-blockingself' => 'Você está prestes a bloquear-se a si próprio. Você tem a certeza de que pretende fazê-lo?',
'ipb-confirmhideuser' => 'Você está prestes a bloquear um utilizador com "Ocultar nome de utilizador/IP" ativado. Isto irá suprimir o nome do usuário de todas as listas e entradas dos registos. Tem a certeza de que pretende fazê-lo?',
'ipb-edit-dropdown' => 'Editar motivos de bloqueio',
'reblock-logentry' => 'modificou parâmetros de bloqueio de [[$1]] $3. O bloqueio expira em $2.',
'blocklogtext' => 'Este é um registro de ações de bloqueio e desbloqueio.
Endereços IP sujeitos a bloqueio automático não são listados.
-Consulte a [[Special:BlockList|lista de IPs bloqueados]] para obter a lista de bloqueios e banimentos atualmente válidos.',
+Consulte a [[Special:BlockList|lista de bloqueios]] para obter a lista de bloqueios e banimentos em efeito neste momento.',
'unblocklogentry' => 'desbloqueou $1',
'block-log-flags-anononly' => 'apenas usuários anônimos',
'block-log-flags-nocreate' => 'criação de contas desabilitada',
'thumbnail_error' => 'Erro ao criar miniatura: $1',
'djvu_page_error' => 'página DjVu inacessível',
'djvu_no_xml' => 'Não foi possível acessar o XML do arquivo DjVU',
+'thumbnail-temp-create' => 'Não foi possível criar o arquivo temporário de miniatura',
+'thumbnail-dest-create' => 'Não foi possível salvar a miniatura no destino',
'thumbnail_invalid_params' => 'Parâmetros de miniatura inválidos',
'thumbnail_dest_directory' => 'Não foi possível criar o diretório de destino',
'thumbnail_image-type' => 'Tipo de imagem não suportado',
'import-invalid-interwiki' => 'Não é possível importar do wiki especificado.',
'import-error-edit' => 'A página "$1" não foi importada porque você não tem permissão para editá-la.',
'import-error-create' => 'A página "$1" não foi importada porque você não tem permissão para criá-la.',
+'import-error-interwiki' => 'A página "$1" não pôde ser importada pois seu nome está reservado para um link interwik.',
+'import-error-special' => 'A página "$1" não pôde ser importada porque ela pertence a um espaço nominal especial que não suporta páginas.',
+'import-error-invalid' => 'A página "$1" não pôde ser importada por seu nome ser inválido.',
# Import log
'importlogpage' => 'Registro de importações',
# JavaScriptTest
'javascripttest' => 'Teste de JavaScript',
+'javascripttest-disabled' => 'Essa função não foi habilitada neste wiki.',
+'javascripttest-title' => 'Executando testes para $1',
'javascripttest-pagetext-noframework' => 'Esta página é exclusiva para testes de JavaScript.',
+'javascripttest-pagetext-unknownframework' => 'A estrutura de testes "$1" é desconhecida.',
+'javascripttest-pagetext-frameworks' => 'Escolha uma das seguintes estruturas de teste: $1',
+'javascripttest-pagetext-skins' => 'Escolha o tema para executar os testes:',
+'javascripttest-qunit-intro' => 'Veja a [$1 documentação de testes] no mediawiki.org.',
# Tooltip help for the actions
'tooltip-pt-userpage' => 'Sua página de usuário',
'version-software' => 'Software instalado',
'version-software-product' => 'Produto',
'version-software-version' => 'Versão',
+'version-entrypoints-header-url' => 'URL',
# Special:FilePath
'filepath' => 'Diretório do arquivo',
'newuserlog-byemail' => 'senha enviada por correio-eletrônico',
# Feedback
+'feedback-bugornote' => 'Se você está preparado para descrever detalhadamente um problema técnico, [$1 relate um bug].
+Caso contrário, você poderá usar o formulário simplificado a seguir. Seu comentário será adicionado à página "[$3 $2]", junto com o seu nome de usuário e o navegador que estiver usando neste momento.',
'feedback-subject' => 'Assunto:',
'feedback-message' => 'Mensagem:',
'feedback-cancel' => 'Cancelar',
'feedback-error1' => 'Erro: O resultado da API não foi reconhecido',
'feedback-error2' => 'Erro: A edição falhou',
'feedback-error3' => 'Erro: A API não responde',
+'feedback-thanks' => 'Obrigado! O seu comentário foi adicionado à página "[ $2 $1 ]".',
'feedback-close' => 'Feito',
+'feedback-bugcheck' => 'Perfeito! Apenas verifique se não é um dos [$1 bugs já conhecidos].',
+'feedback-bugnew' => 'Eu verifiquei. Relatar um bug novo',
# API errors
'api-error-badaccess-groups' => 'Você não tem permissão para enviar arquivos para este wiki.',
'api-error-uploaddisabled' => 'Este wiki está com o upload de arquivos desabilitado.',
'api-error-verification-error' => 'Este arquivo pode estar corrompido ou ter a extensão errada.',
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|segundo|segundos}}',
+'duration-minutes' => '$1 {{PLURAL:$1|minuto|minutos}}',
+'duration-hours' => '$1 {{PLURAL:$1|hora|horas}}',
+'duration-days' => '$1 {{PLURAL:$1|dia|dias}}',
+'duration-weeks' => '$1 {{PLURAL:$1|semana|semanas}}',
+'duration-years' => '$1 {{PLURAL:$1|ano|anos}}',
+'duration-decades' => '$1 {{PLURAL:$1|década|décadas}}',
+'duration-centuries' => '$1 {{PLURAL:$1|século|séculos}}',
+'duration-millennia' => '$1 {{PLURAL:$1|milênio|milênios}}',
+
);
* @author Sborsody
* @author Seb35
* @author Sherbrooke
+ * @author Shirayuki
* @author Shushruth
* @author Siebrand
* @author Singularity
'nocookieslogin' => "This message is displayed when someone tried to login, but the browser doesn't accept cookies.",
'nocookiesfornew' => "This message is displayed when the user tried to create a new account, but it failed the cross-site request forgery (CSRF) check. It could be blocking an attack, but most likely, the browser isn't accepting cookies.",
'nocookiesforlogin' => "{{optional}}
-This message is displayed when someone tried to login and the CSRF failed (most likely, the browser doesn't accept cookies). Defaults to nocookieslogin",
+This message is displayed when someone tried to login and the CSRF failed (most likely, the browser doesn't accept cookies).
+
+Defaults to '''nocookieslogin''' ({{int:nocookieslogin}})",
'loginsuccesstitle' => 'The title of the page saying that you are logged in. The content of the page is the message "[[MediaWiki:Loginsuccess/{{SUBPAGENAME}}]]".',
'loginsuccess' => 'The content of the page saying that you are logged in. The title of the page is "[[MediaWiki:Loginsuccesstitle/{{SUBPAGENAME}}|{{int:loginsuccesstitle}}]]". $1 is the name of the logged in user.
'language-converter-depth-warning' => 'Error message shown when a page uses too deeply nested language conversion syntax
* <tt>$1</tt> is the value of the depth limit',
+'node-count-exceeded-category' => 'This message is used as a category name for a [[mw:Help:Tracking categories|tracking category]] where pages are placed automatically if the node-count of the preprocessor exceeds the limit.',
+'node-count-exceeded-warning' => 'Error message shown when a page exceeded the node-count limit of the preprocessor
+
+* <tt>$1</tt> is the value of the node-count limit
+* <tt>$2</tt> is the value of the max node-count limit',
+'expansion-depth-exceeded-category' => 'This message is used as a category name for a [[mw:Help:Tracking categories|tracking category]] where pages are placed automatically if the expansion depth of the preprocessor exceeds the limit.',
+'expansion-depth-exceeded-warning' => 'Error message shown when a page exceeded the expansion depth limit of the preprocessor
+
+* <tt>$1</tt> is the value of the depth limit
+* <tt>$2</tt> is the value of the max depth limit',
# "Undo" feature
'undo-success' => 'Text on special page to confirm edit revert. You arrive on this page by clicking on the "undo" link on a revision history special page.
'customjsprotected' => "Manam saqillasunkichu kay JavaScript p'anqata llamk'apuyta, huk ruraqpa kikin tiyachisqankunayuq kaptinmi.",
'ns-specialprotected' => "{{ns:special}} suti k'itipi p'anqakunaqa manam llamk'apunallachu.",
'titleprotected' => "Kay p'anqa sutitaqa [[User:$1|$1]] sutiyuq ruraq kamariymanta hark'arqanmi, kayraykum nispa: ''$2''.",
+'filereadonlyerror' => 'Manam atinichu "$1" sutiyuq willañiqita hukchayta, "$2" sutiyuq willañiqi churamuna ñawirillanapaq kachkaptinmi.
+
+Amachaq kamachiqqa kayrayku amachani nispa nirqanmi: "$3".',
# Virus scanner
'virus-badscanner' => "Manam allintachu churapusqa: mana riqsisqa añaw maskaq: ''$1''",
'emailconfirmlink' => 'E-chaski imamaytaykita takyachiy',
'invalidemailaddress' => "E-chaski imamaytaykiqa manam allinchu, manachá allinta qillqasqa. Ama hina kaspa, musuq allin sananchayuq imamaytaykita qillqamuy icha k'itichata ch'usaqchay.",
'cannotchangeemail' => 'Ruraqpa rakiqunanpi e-chaski imamaytakunaqa kay wikipi manam hukchanallachu.',
+'emaildisabled' => 'Kay tiyayqa e-chaskita manam kachayta atinchu.',
'accountcreated' => 'Rakiqunaqa kichasqañam',
'accountcreatedtext' => '$1 sutiyuq ruraqpa rakiqunanqa kichasqañam.',
'createaccount-title' => '{{SITENAME}}paq musuq rakiqunata kichariy',
'userinvalidcssjstitle' => "'''Paqtataq:''' Manam kanchu \"\$1\" qara. Yuyariy, kikinpa .css, .js p'anqankunaqa uchuy sanampa umalliyuqmi, ahinataq {{ns:user}}:Foo/vector.css manataq {{ns:user}}:Foo/Vector.css nisqachu.",
'updated' => '(Musuqchasqa)',
'note' => "'''Musyay:'''",
-'previewnote' => "'''Yuyaykuy: Kayqa manaraq waqaychaspa qhawariymi!'''",
+'previewnote' => "'''Yuyaykuy: Kayqa qhawariyllam.'''
+Llamk'apusqaykiqa manaraqmi waqaychasqachu!",
+'continue-editing' => "Llamk'apuyta qatiykuy",
'previewconflict' => "Rikuchkanki kay p'anqataqa, ima hinachus waqaychasqa kanqa.",
'session_fail_preview' => "'''Achachaw! Llamk'apusqaykiqa manam waqaychasqachu, llamk'ana tiyaypa willankuna chinkaptinmi. Ama hina kaspa, musuqmanta ruraykachay. Mana atispaykiqa, [[Special:UserLogout|lluqsispa]] musuqmanta yaykuy.'''",
'session_fail_preview_html' => "'''Achachaw! Llamk'apusqaykiqa manam waqaychasqachu, llamk'ana tiyaypa willankuna chinkaptinmi.'''
Kayqa maykunapi tukukun, mana allin wakichisqa proxy sirwiytam llamk'achiptiyki.'''",
'edit_form_incomplete' => "'''Llamk'apuna hunt'ana p'anqamanta huk willasqakunaqa sirwiqman manam chayarqanchu; llamk'apusqaykikuna allinlla kachkaymanta iskaylla llanchispa musuqmanta ruraykachay.'''",
'editing' => "Llamk'apuspa: $1",
+'creating' => 'Kamarispa: $1',
'editingsection' => "Llamk'apuspa: $1 (raki)",
'editingcomment' => "Llamk'apuspa: $1 (musuq raki)",
'editconflict' => 'Ruray taripanakuy: $1',
'edit-no-change' => "Manapuni hukchaptiykim, llamk'apusqayki manam hallch'asqachu.",
'edit-already-exists' => "Manam atinichu musuq p'anqata kamariyta.
Kachkañam.",
+'defaultmessagetext' => 'Ñawpaq qillqa',
# Parser/template warnings
'expensive-parserfunction-warning' => "Paqtataq: Kay p'anqaqa nisyu achka qullqipaq t'ikrana rurana qayayniyuqmi.
'parser-template-loop-warning' => 'Muyurikuq pusapunam tarisqa: [[$1]]',
'parser-template-recursion-depth-warning' => 'Pusapunap muyurikuy saywanmi yallisqa ($1)',
'language-converter-depth-warning' => "Rimay t'ikranap ukhu kayninpa saywanqa yallisqam ($1)",
+'node-count-exceeded-category' => "Watasqakunata nisyu yupayniyuq p'anqakuna",
+'node-count-exceeded-warning' => "P'anqaqa watasqakunata nisyu yupayniyuqmi",
+'expansion-depth-exceeded-category' => "Nisyu mast'ariy ukhu kaqniyuq p'anqakuna",
+'expansion-depth-exceeded-warning' => "P'anqaqa nisyu mast'ariy ukhu kaqniyuqmi",
# "Undo" feature
'undo-success' => 'Rurasqata kutichiyta atinkim. Manaraq kutichispaykiqa, kay qatiq wakichayta qhawariy rikunaykipaq chiqapta munasqaykichu manallachu, chaymantataq waqaychay kutichinapaq.',
# Suppression log
'suppressionlog' => "Ñit'ipay hallch'asqa",
-'suppressionlogtext' => "Kay qatiq sutisuyupiqa ñaqha qullusqakunatam hark'asqakunatapas rikunki, kamachiqkunamanta pakasqa samiqniyuq. [[Special:BlockList|IP hark'ay sutisuyuta]] qhaway kunan hark'asqakunata rikunaykipaq.",
+'suppressionlogtext' => "Kay qatiq sutisuyupiqa ñaqha qullusqakunatam hark'asqakunatapas rikunki, kamachiqkunamanta pakasqa samiqniyuq. [[Special:BlockList|Hark'ay sutisuyuta]] qhaway kunan hark'asqakunata rikunaykipaq.",
# History merging
'mergehistory' => "P'anqa wiñay kawsaykunata huñuy",
'newsectionsummary' => 'Musuq raki: /* $1 */',
'rc-enhanced-expand' => 'Imaymanachakunata rikuchiy (JavaScript kananmi)',
'rc-enhanced-hide' => 'Imaymanachakunata pakay',
+'rc-old-title' => 'ñawpaqta "$1" sutiwan kamarisqa',
# Recent changes linked
'recentchangeslinked' => "Hukchasqa t'inkimuq",
'backend-fail-closetemp' => "Manam atinichu mit'alla willañiqita wichq'ayta.",
'backend-fail-read' => 'Manam atinichu $1 sutiyuq willañiqita ñawiriyta.',
'backend-fail-create' => 'Manam atinichu $1 sutiyuq willañiqita kamariyta.',
+'backend-fail-maxsize' => 'Manam atinichu $1 sutiyuq willañiqita kamariyta, {{PLURAL:$2|huk bytemanta|$2 bytemanta}} aswan hatun kaptinmi.',
'backend-fail-readonly' => '"$1" sutiyuq willañiqi hallch\'ana sirwiqqa ñawirinallapaqmi kachkan, kayrayku: "$2"',
'backend-fail-synced' => '"$1" sutiyuq willañiqiqa manam sinchichu kachkan ukhupi willañiqi hallch\'ana sirwiqkunapi',
'backend-fail-connect' => 'Manam atinichu "$1" sutiyuq willañiqi hallch\'ana sirwiqwan t\'inkinakuyta.',
'backend-fail-contenttype' => 'Manam atinichu "$1" nisqapi hallch\'ana willañiqip samiqninpa layanta yuqanchayta.',
'backend-fail-batchsize' => "Willañiqi hallch'ana sirwiqmanqa $1 willañiqi {{PLURAL:$1|ruranayuq|ruranayuq}} tawqam qusqa; saywataq $2 {{PLURAL:$1|ruranam|ruranam}}.",
+# File journal errors
+'filejournal-fail-dbconnect' => "Manam atinichu \"\$1\" sutiyuq willañiqi hallch'ana sirwiqpaq p'unchawnintin hallch'awan t'inkiyta.",
+'filejournal-fail-dbquery' => 'Manam atinichu "$1" sutiyuq willañiqi hallch\'ana sirwiqpaq p\'unchawnintin hallch\'ata musuqchayta.',
+
# Lock manager
'lockmanager-notlocked' => 'Manam atinichu "$1" nisqata paskayta; manam hark\'asqachu.',
'lockmanager-fail-closelock' => 'Manam atinichu "$1" nisqapaq hark\'ana willañiqita wichq\'ayta.',
Ama hina kaspa, [$2 willañiqi ch'uyanchana p'anqata] qhaway astawan willachikunaykipaq.",
'sharedupload-desc-here' => "Kay p'anqaqa $1 nisqamantam. Huk ruraykamaykunapipas llamk'achinapaq kanman.
[$2 Willañiqi ch'uyanchana p'anqanpi] ch'uyanchaytaqa kay qatiqpim rikunki.",
+'sharedupload-desc-edit' => "Kay p'anqaqa $1 nisqamantam. Huk ruraykamaykunapipas llamk'achinapaq kanman.
+[$2 Willañiqi ch'uyanchana p'anqanpi] ch'uyanchayta llamk'apuytachá munaykiman.",
+'sharedupload-desc-create' => "Kay p'anqaqa $1 nisqamantam. Huk ruraykamaykunapipas llamk'achinapaq kanman.
+[$2 Willañiqi ch'uyanchana p'anqanpi] ch'uyanchayta llamk'apuytachá munaykiman.",
'filepage-nofile' => 'Manam kanchu kay sutiyuq willañiqi.',
'filepage-nofile-link' => 'Manam kanchu kay sutiyuq willañiqi, ichataq [$1 churkuytam] atinki.',
'uploadnewversion-linktext' => 'Kay willañiqi ñaqha musuqchasqata churkuy',
'allpagesprefix' => "Rikuchiy kay k'askaqwan qallariq p'anqakunata:",
'allpagesbadtitle' => "Qusqa p'anqap sutinqa manam allinchu icha rimaypura, interwiki ñawpa k'askaqniyuq. P'anqa sutipaq mana saqillasqa sananchayuqchá.",
'allpages-bad-ns' => '{{SITENAME}} tiyaypiqa "$1" suti k\'iti manam kanchu.',
+'allpages-hide-redirects' => 'Pusapunakunata pakay',
+
+# SpecialCachedPage
+'cachedspecial-viewing-cached-ttl' => "Kay p'anqapaq hallch'asqa musuqchasqatam rikuchkanki, $1 pachakamam ñaqha kanman.",
+'cachedspecial-viewing-cached-ts' => "Kay p'anqapaq hallch'asqa musuqchasqatam rikuchkanki, manachá kunallan musuqchasqachu kanman.",
+'cachedspecial-refresh-now' => 'Qhipaq kaqta qhaway.',
# Special:Categories
'categories' => 'Katiguriyakuna',
'ipb-confirm' => "Hark'ayta takyachiy",
'badipaddress' => 'IP huchhaqa manam allinchu.',
'blockipsuccesssub' => "Ruraqqa hark'asqañam",
-'blockipsuccesstext' => "[[Special:Contributions/$1|$1]] huchhayuq tiyayqa hark'asqañam. <br />[[Special:BlockList|Hark'asqakunamanta p'anqata]] qhaway hark'akunata hukchanaykipaq.",
+'blockipsuccesstext' => "[[Special:Contributions/$1|$1]] nisqaqa hark'asqam. <br />[[Special:BlockList|Hark'ay sutisuyuta]] qhaway hark'akunata hukchanaykipaq.",
'ipb-blockingself' => "Kikiykitam hark'aykachachkanki! Chiqapta kayta rurayta munankichu?",
'ipb-confirmhideuser' => 'Ruraqta hark\'aykachachkanki, payman "Ruraqta pakay" nisqam. Chaywanqa manam pipas chay ruraqpa sutinta ima sutisuyupipas hallch\'apipas rikunqachu. Chiqapta kayta rurayta munankichu?',
'ipb-edit-dropdown' => "Hark'aypa hamunta llamk'apuy",
'blocklog-showsuppresslog' => "Kay ruraqqa ñawpaqta hark'asqam pakasqapas. Ñit'ipay hallch'ataqa kaypim rikunki willasunaykipaq:",
'blocklogentry' => "hark'an [[$1]]-ta kay pachakama: $2 $3",
'reblock-logentry' => "hukchan [[$1]]-paq hark'ana allinchanakunata kay pachakama hark'aspa: $2 $3",
-'blocklogtext' => "Kayqa ruraqta hark'asqakunap qispichisqakunappas hallch'anmi. Kikinmanta hark'asqa tiyaykunataqa manam kaypi rikunkichu. [[Special:BlockList|Hark'asqakunamanta p'anqata]] qhaway kunan hark'asqakunata rikunaykipaq.",
+'blocklogtext' => "Kayqa ruraqta hark'asqakunap qispichisqakunappas hallch'anmi. Kikinmanta hark'asqa tiyaykunataqa manam kaypi rikunkichu. [[Special:BlockList|Hark'ay sutisuyuta]] qhaway kunan hark'asqakunata rikunaykipaq.",
'unblocklogentry' => 'paskan "$1"-ta hark\'asqa kaymanta',
'block-log-flags-anononly' => 'sutinnaqlla',
'block-log-flags-nocreate' => 'rakiquna kichariyman ama nisqa',
# JavaScriptTest
'javascripttest' => 'JavaScript llanchiy',
-'javascripttest-disabled' => 'Kay ruranamanqa ama nisqam.',
+'javascripttest-disabled' => 'Kay ruranaqa kay wikipi manam atichisqachu.',
'javascripttest-title' => '$1 llanchiykunam richkan',
'javascripttest-pagetext-noframework' => "Kay p'anqaqa JavaScript llanchina purichinallapaqmi kachun.",
'javascripttest-pagetext-unknownframework' => 'Mana riqsisqa "$1" nisqa llanchina inchu ruray',
'version-software' => "Tiyachisqa llamp'u kaq",
'version-software-product' => 'Ruruchisqa',
'version-software-version' => 'Musuqchasqa',
+'version-entrypoints' => "Yaykuna t'uksi URL",
+'version-entrypoints-header-entrypoint' => "Yaykuna t'uksi",
+'version-entrypoints-header-url' => 'URL tiyay',
# Special:FilePath
'filepath' => 'Willañiqi ñan',
'api-error-uploaddisabled' => 'Kay wikipiqa manam churkuyta atinkichu.',
'api-error-verification-error' => "Kay willañiqiqa waqllisqachá, icha pantasqa k'askaqniyuqchá.",
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|sikundu|sikundukuna}}',
+'duration-minutes' => '$1 {{PLURAL:$1|minutu|minutukuna}}',
+'duration-hours' => '$1 {{PLURAL:$1|ura|urakuna}}',
+'duration-days' => "{{PLURAL:$1|p'unchaw|p'unchawkuna}}",
+'duration-weeks' => '{{PLURAL:$1|simana|simanakuna}}',
+'duration-years' => '{{PLURAL:$1|wata|watakuna}}',
+'duration-decades' => '{{PLURAL:$1|chunkawata|chunkawatakuna}}',
+'duration-centuries' => '{{PLURAL:$1|pachakwata|pachakwatakuna}}',
+'duration-millennia' => '{{PLURAL:$1|waranqawata|waranqawatakuna}}',
+
);
'parser-template-loop-warning' => 'Buclă de formate detectată: [[$1]]',
'parser-template-recursion-depth-warning' => 'Limită de adâncime a recursiei depășită ($1)',
'language-converter-depth-warning' => 'Limita adâncimii convertorului de limbă a fost depășită ($1)',
+'node-count-exceeded-category' => 'Pagini unde numărul de noduri este depășit',
+'node-count-exceeded-warning' => 'Pagina a depășit numărul de noduri',
# "Undo" feature
'undo-success' => 'Modificarea poate fi anulată. Verificați diferența de dedesupt și apoi salvați pentru a termina anularea modificării.',
'note' => "'''Vide Bbuene:'''",
'previewnote' => "'''Arrecuerdete queste è sole 'n'andeprime.'''
le cangiaminde non g'onne state angore reggistrate!",
+'continue-editing' => "Condinue 'u cangiamende",
'previewconflict' => "Sta andeprime fece vedè 'u teste ca ste jndr'à 'u teste de l'area de sus cumme avène fore ce tu decide cu reggistre.",
'session_fail_preview' => "'''Ne dispiace! Non ge putime processà 'u cangiamende tue purcè s'a perse 'a sessione de le date.
Pe piacere pruève 'n'otra vote.
'api-error-filename-tooshort' => "'U nome d'u file jè troppe curte.",
'api-error-filetype-banned' => 'Stu tipe de file jè vietate.',
'api-error-filetype-missing' => "'U file jè senze 'n'estenzione.",
+'api-error-hookaborted' => "'U cangiamende ca tu stè pruève a ffà ha state inderrotte da 'n'estenzione.",
'api-error-http' => "Errore inderne: Non ge se riesce a collegà a 'u server",
'api-error-illegal-filename' => "'U nome d'u file non g'è permesse.",
'api-error-invalid-file-key' => "Errore inderne: 'U file non ge se iacchie jndr'à memorie temboranèe.",
* @author Mahitgar
* @author Naveen Sankar
* @author Omnipaedista
+ * @author Shantanoo
* @author Shijualex
* @author Shubha
* @author Vibhijain
'notitlematches' => 'न कस्यापि पृष्ठस्य शीर्षकम् अस्य समम्।',
'notextmatches' => 'न कस्यापि पृष्ठस्य पाठः अस्य सममस्ति',
'prevn' => 'प्राक्तनानि {{PLURAL:$1|$1}}',
-'nextn' => 'अग्रिमाणि{{PLURAL:$1|$1}}',
+'nextn' => 'अग्रिमाणि {{PLURAL:$1|$1}}',
'prevn-title' => 'प्राक्तन-{{PLURAL:$1|फलितम्| फलितानि}}',
'nextn-title' => 'प्राक्तन-{{PLURAL:$1|फलितम्| फलितानि}}',
'shown-title' => 'प्रत्येकस्मिन् पृष्ठे $1 {{PLURAL:$1|फलितम्|फलितानि}} दर्श्यताम्',
'''Siddu chistu è nu tintativu liggìttimu di canciamentu, arriprova. Siddu lu prubbrema pirsisti, si pò pruvari a [[Special:UserLogout|sculligàrisi]] e effittuari n'accessu novu.'''",
'token_suffix_mismatch' => "'''Lu canciamentu nun fu sarvatu pirchì lu client ammustrau di gèstiri 'n modu sbagghiatu li caràttiri di puntiggiatura nta lu token assuciatu a iddu. P'evitari na curruzzioni pussìbbili dô testu dâ pàggina, fu rifiutatu tuttu lu canciamentu. Sta situazzioni pò virificàrisi, certi voti, quannu s'adòpiranu arcuni sirvizza di proxy anònimi via web chi prisèntanu bug.'''",
'editing' => 'Canciu di la vuci "$1"',
+'creating' => 'Stai criannu $1',
'editingsection' => 'Canciamentu di $1 (sezzioni)',
'editingcomment' => 'Canciu di $1 (nova sizzioni)',
'editconflict' => "Cunflittu d'edizzioni supra $1",
''Kadaogi šėtom pruojekte grīnasės HTML īr ijongts, parveiza īr pasliepta kāp atsargoma prėimonė priš JavaScript atakas.''
'''Jei tā teisiets keitėma bandīms, prašuom pamiegint viel. Jei šėtā napaded, pamieginkėt atsėjongtė ėr prėsėjongtė atgal.'''",
'editing' => 'Taisuoms straipsnis - $1',
+'creating' => 'Dėrbama $1',
'editingsection' => 'Taisuoms $1 (skėrsnelis)',
'editingcomment' => 'Taisuoms $1 (naus skīrius)',
'editconflict' => 'Ėšpreskėt kuonflėkta: $1',
'ns-specialprotected' => 'Posebne stranice se ne mogu uređivati.',
'titleprotected' => 'Naslov stranice je zaštićen od postavljanja od strane korisnika [[User:$1|$1]].
Kao razlog je naveden "\'\'$2\'\'".',
+'filereadonlyerror' => 'Ne mogu da izmenim datoteku „$1“ jer je riznica „$2“ u režimu za čitanje.
+
+Administrator koji ju je zaključao ponudio je sledeće objašnjenje: „$3“.',
# Virus scanner
'virus-badscanner' => "Loša konfiguracija: nepoznati anti-virus program: ''$1''",
'invalidemailaddress' => 'Ova e-mail adresa ne može biti prihvaćena jer je u neodgovarajućem obliku.
Molimo vas da unesete ispravnu adresu ili ostavite prazno polje.',
'cannotchangeemail' => 'Na ovom wikiju ne možete promeniti e-mail adresu računa.',
+'emaildisabled' => 'Ova web-stranica ne može da šalje e-poruke.',
'accountcreated' => 'Korisnički račun je napravljen',
'accountcreatedtext' => 'Korisnički račun za $1 je napravljen.',
'createaccount-title' => 'Pravljenje korisničkog računa za {{SITENAME}}',
Ne zaboravite da imena stranica s .css i .js kodom počinju malim slovom, npr. {{ns:user}}:Foo/vector.css, a ne {{ns:user}}:Foo/Vector.css.",
'updated' => '(Osvježeno)',
'note' => "'''Napomena:'''",
-'previewnote' => "'''Upamtite da je ovo samo pretpregled.'''
-Vaše izmjene još uvijek nisu snimljene!",
+'previewnote' => "'''Ne zaboravite da je ovo samo pregled'''
+Izmjene stranice nisu još sačuvane!",
+'continue-editing' => 'Nastavak uređivanja',
'previewconflict' => 'Ovaj pretpregled reflektuje tekst u gornjem polju
kako će izgledati ako pritisnete "Snimi stranicu".',
'session_fail_preview' => "'''Izvinjavamo se! Nismo mogli obraditi vašu izmjenu zbog gubitka podataka o prijavi. Molimo pokušajte ponovno. Ako i dalje ne bude radilo, pokušajte se [[Special:UserLogout|odjaviti]] i ponovno prijaviti.'''",
To se događa ponekad kad korisite problematični anonimni proxy koji je baziran na web-u.",
'edit_form_incomplete' => "'''Neki dijelovi uređivačkog obrasca nisu došli do servera; dvaput provjerite da su vaše izmjene nepromjenjene i pokušajte ponovno.'''",
'editing' => 'Uređujete $1',
+'creating' => 'Stvaranje $1',
'editingsection' => 'Uređujete $1 (sekciju)',
'editingcomment' => 'Uređujete $1 (nova sekcija)',
'editconflict' => 'Sukobljenje izmjene: $1',
'edit-no-change' => 'Vaša izmjena je ignorirana, jer nije bilo promjena teksta stranice.',
'edit-already-exists' => 'Stranica nije mogla biti kreirana.
Izgleda da već postoji.',
+'defaultmessagetext' => 'Uobičajeni tekst poruke',
# Parser/template warnings
'expensive-parserfunction-warning' => 'Upozorenje: Ova stranica sadrži previše poziva opterećujućih parserskih funkcija.
# Suppression log
'suppressionlog' => 'Registri sakrivanja',
-'suppressionlogtext' => 'Ispod je spisak brisanja i blokiranja koja su povezana sa sadržajem koji je sakriven od administratora. Vidi [[Special:IPBlockList|spisak IP blokiranja]] za pregled trenutno važećih blokada.',
+'suppressionlogtext' => 'Ispod je spisak brisanja i blokiranja koja su povezana sa sadržajem koji je sakriven od administratora.
+Vidi [[Special:BlockList|spisak blokiranja]] za pregled trenutno važećih blokada.',
# History merging
'mergehistory' => 'Spoji historije stranice',
'newsectionsummary' => '/* $1 */ nova sekcija',
'rc-enhanced-expand' => 'Pokaži detalje (neophodan JavaScript)',
'rc-enhanced-hide' => 'Sakrij detalje',
+'rc-old-title' => 'prvobitno kreirano kao "$1"',
# Recent changes linked
'recentchangeslinked' => 'Srodne izmjene',
'backend-fail-closetemp' => 'Ne mogu da zatvorim privremenu datoteku.',
'backend-fail-read' => 'Ne mogu da pročitam datoteku $1.',
'backend-fail-create' => 'Ne mogu da napravim datoteku $1.',
+'backend-fail-maxsize' => 'Ne mogu da napravim datoteku $1 jer je veća od {{PLURAL:$2|$2 bajta|$2 bajta|$2 bajtova}}.',
'backend-fail-readonly' => 'Skladišna osnova „$1“ trenutno ne može da se zapisuje. Navedeni razlog glasi: „$2“',
'backend-fail-synced' => 'Datoteka „$1“ je nedosledna između unutrašnjih skladišnih osnova',
'backend-fail-connect' => 'Ne mogu da se povežem sa skladišnom osnovom „$1“.',
Molimo pogledajte [$2 stranicu opisa datoteke] za ostale informacije.',
'sharedupload-desc-here' => 'Ova datoteka je sa $1 i može se koristiti i na drugim projektima.
Opis sa njene [$2 stranice opisa datoteke] je prikazan ispod.',
+'sharedupload-desc-edit' => 'Ova datoteka se nalazi na $1 i može da se koristi na drugim projektima.
+Njen opis možete da izmenite na [$2 odgovarajućoj stranici].',
+'sharedupload-desc-create' => 'Ova datoteka se nalazi na $1 i može da se koristi na drugim projektima.
+Njen opis možete da izmenite na [$2 odgovarajućoj stranici].',
'filepage-nofile' => 'Ne postoji datoteka s ovim nazivom.',
'filepage-nofile-link' => 'Ne postoji datoteka s ovim imenom, ali je možete [$1 postaviti].',
'uploadnewversion-linktext' => 'Postavite novu verziju ove datoteke/fajla',
'allpagesbadtitle' => 'Dati naziv stranice je nepravilan ili ima međujezički ili interwiki prefiks.
Možda sadrži jedan ili više znakova koji se ne mogu koristiti u naslovima.',
'allpages-bad-ns' => '{{SITENAME}} nema imenski prostor "$1".',
+'allpages-hide-redirects' => 'Sakrij preusmerenja',
# Special:Categories
'categories' => 'Kategorije',
'blocklogentry' => 'blokiran [[$1]] s rokom: $2 $3',
'reblock-logentry' => 'promjena postavki blokiranja za [[$1]] sa vremenom isteka u $2 $3',
'blocklogtext' => 'Ovo je historija akcija blokiranja i deblokiranja korisnika.
-Automatsko blokirane IP adrese nisu uspisane ovde.
-Pogledajte [[Special:BlockList|blokirane IP adrese]] za spisak trenutnih zabrana i blokiranja.',
+Automatski blokirane IP adrese nisu navedene ovdje.
+Pogledajte [[Special:BlockList|spisak blokiranja]] za spisak trenutnih zabrana i blokiranja.',
'unblocklogentry' => 'deblokiran $1',
'block-log-flags-anononly' => 'samo anonimni korisnici',
'block-log-flags-nocreate' => 'pravljenje računa onemogućeno',
# JavaScriptTest
'javascripttest' => 'Javaskript test',
-'javascripttest-disabled' => 'Ova funkcija je onemogućena.',
+'javascripttest-disabled' => 'Ova funkcija je onemogućena na ovom wikiju.',
'javascripttest-title' => 'Izvršavanje testova za $1',
'javascripttest-pagetext-noframework' => 'Ova stranica je rezervisana za izvršavanje javaskript testova.',
'javascripttest-pagetext-unknownframework' => 'Nepoznati radni okvir „$1“.',
'version-software' => 'Instalirani softver',
'version-software-product' => 'Proizvod',
'version-software-version' => 'Verzija',
+'version-entrypoints-header-url' => 'URL',
# Special:FilePath
'filepath' => 'Putanja datoteke',
'api-error-uploaddisabled' => 'Postavljanje je onemogućeno na ovoj wiki.',
'api-error-verification-error' => 'Ova datoteka je možda oštećenja ili ima pogrešan nastavak.',
+# Durations
+'duration-seconds' => '$1 {{PLURAL:$1|sekunda|sekunde}}',
+'duration-minutes' => '$1 {{PLURAL:$1|minuta|minuta}}',
+'duration-hours' => '$1 {{PLURAL:$1|sat|sati}}',
+'duration-days' => '$1 {{PLURAL:$1|dan|dana}}',
+'duration-weeks' => '$1 {{PLURAL:$1|sedmica|sedmica}}',
+'duration-years' => '$1 {{PLURAL:$1|godina|godina}}',
+'duration-decades' => '$1 {{PLURAL:$1|decenija|decenija}}',
+'duration-centuries' => '$1 {{PLURAL:$1|vijek|vijekova}}',
+'duration-millennia' => '$1 {{PLURAL:$1|milenijum|milenijuma}}',
+
);
'mainpage' => 'මුල් පිටුව',
'mainpage-description' => 'මුල් පිටුව',
'policy-url' => 'Project:ප්රතිපත්තිය',
-'portal' => 'පà·\8aâ\80\8dරජà·\8f දà·\8aà·\80à·\8fරය',
-'portal-url' => 'Project:පà·\8aâ\80\8dරජà·\8f දà·\8aà·\80à·\8fරය',
+'portal' => 'පà·\8aâ\80\8dරජà·\8f පà·\92à·\80à·\92à·\83à·\94ම',
+'portal-url' => 'Project:පà·\8aâ\80\8dරජà·\8f පà·\92à·\80à·\92à·\83à·\94ම',
'privacy' => 'පුද්ගලිකත්ව ප්රතිපත්තිය',
'privacypage' => 'Project:පුද්ගලිකත්ව ප්රතිපත්තිය',
'editinginterface' => "'''අවවාදයයි:''' මෘදුකාංගයට අතුරුමුව පෙළ සැපයීමට භාවිතා වන පිටුවක් ඔබ විසින් සංස්කරණය කරනු ලබයි.
මෙම පිටුවට සිදු කරන වෙනස්වීම් විසින් අනෙකුත් පරිශීලකයන්ගේ පරිශීලක අතුරුමුවෙහි පෙනුමට බලපෑම් එල්ල කෙරෙනු ඇත.
පරිවර්තන සඳහා, මීඩියාවිකි ප්රාදේශීයකරන ව්යාපෘතිය, [//translatewiki.net/wiki/Main_Page?setlang=si translatewiki.net], භාවිතා කිරීම සලකා බැලීමට කාරුණික වන්න.",
-'sqlhidden' => '(එස්කිවුඑල් විපරම සඟවා ඇත)',
+'sqlhidden' => '(SQL query සඟවා ඇත)',
'cascadeprotected' => '"තීරු දර්ශන" විකල්පය සක්රීයනය කොට එමගින් ආරක්ෂණය කල පහත දැක්වෙන {{PLURAL:$1|පිටුව|පිටු}} අඩංගු කර ඇති බැවින්, මෙම පිටුව සංස්කරණය කිරීමෙන් වලකා ඇත:
$2',
'namespaceprotected' => "'''$1''' නාමඅවකාශයෙහි පිටු සංස්කරණය කිරීමට ඔබහට අවසර නොමැත.",
ඔබගේ බ්රවුසරයෙහි පූර්වාපේක්ෂී සංචිතය (කෑෂය) පිරිසිදුකරන තෙක්, සමහරක් පිටු විසින් ඔබ තවදුරටත් පිවිසී ඇති බවක් දිගටම පෙන්නුම් කිරීමට ඉඩ ඇත.",
'welcomecreation' => '== ආයුබෝවන්, $1! ==
-à¶\94බâ\80\8dà¶\9cà·\9a à¶\9cà·\92ණà·\94ම à¶à·\90නà·\93 à¶\87à¶.
+à¶\94බâ\80\8dà¶\9cà·\9a à¶\9cà·\92ණà·\94ම à¶à¶±à¶± ලදà·\93.
ඔබගේ [[Special:Preferences|{{SITENAME}} අභිරුචි ]] වෙනස් කිරීම අමතක නොකරන්න.',
'yourname' => 'පරිශීලක නාමය:',
'yourpassword' => 'මුරපදය:',
රීති ප්රකාරව .css හා .js පිටු විසින් ඉංග්රීසි කුඩා-අකුරු ශීර්ෂ භාවිතා කෙරෙන බව සිහි තබා ගන්න, නිදසුන. {{ns:user}}:Foo/vector.css මිස {{ns:user}}:Foo/Vector.css නොවන බව.",
'updated' => '(යාවත්කාලීන)',
'note' => "'''සටහන:'''",
-'previewnote' => "'''මà·\99ය පà·\99රදà·\83à·\94නà¶\9aà·\8a පමණà·\92.'''
-à¶\94බà¶\9cà·\9a à·\80à·\99නà·\83à·\8aà¶\9aà·\92රà·\93මà·\8a à¶à·\80මà¶à·\8a à·\83à·\94රà¶\9aà·\8aà·\82à·\92à¶Â කොට නොමැත!",
+'previewnote' => "'''මà·\99ය පà·\99රදà·\83à·\94නà¶\9aà·\8a පමණà¶\9aà·\8a බà·\80 à·\83à·\92à·\84à·\92à¶à¶¶à·\8fà¶\9cනà·\8aන.'''
+à¶\94බà¶\9cà·\9a à·\80à·\99නà·\83à·\8aà¶\9aà·\92රà·\93මà·\8a à¶à·\80මà¶à·\8a à·\83à·\94රà·\90à¶\9aà·\93මට ලà¶\9aà·\8a කොට නොමැත!",
'previewconflict' => 'ඔබ විසින් සුරැකීම තෝරාගත්තොත්, ඉහළ පෙළ සංස්කරණ සරියෙහි, පෙළ දර්ශනය විය හැකි අයුර මෙම පෙර-දසුනෙන් ආවර්ජනය වේ.',
'session_fail_preview' => "'''කණගාටුයි! සැසි දත්ත හානියක් හේතුවෙන් අප විසින් ඔබගේ සංස්කරණය ක්රියායයනය කිරීමට නොහැකි වී ඇත.
කරුණාකර නැවත උත්සාහ කරන්න.
සංස්කරණය නිෂ්ප්රභා කරන ලද්දේ පිටු පෙළ දූෂණය වීම වැලැක්වීමටය.
දෝෂ-සපිරි වෙබ්-පාදක නිර්නාමික නියුතු සේවාවක් ඔබ විසින් භාවිත කිරීම නිසා මෙය සමහරවිට සිදුවිය හැක.'''",
'editing' => '$1 සංස්කරණය කරමින් පවතියි',
+'creating' => '$1 තනමින්',
'editingsection' => '$1 (ඡේදය) සංස්කරණය කරමින් පවතියි',
'editingcomment' => '$1 සංස්කරණය කරමින් පවතියි (නව ඡේදයක්)',
'editconflict' => 'සංස්කරණ ගැටුම: $1',
එය දැනටමත් පවතියි.',
# Parser/template warnings
-'expensive-parserfunction-warning' => 'අවවාදයයි: මෙම පිටුවෙහි අධිවැය ව්යාකරණ විග්රහ ශ්රිත කැඳවුම් පමණට වඩා ඇත.
+'expensive-parserfunction-warning' => 'අවවාදයයි: මෙම පිටුවෙහි අධිවැය ව්යාකරණ විග්රහ ශ්රිත කැඳවුම් (expensive parser function calls) පමණට වඩා ඇත.
එහි තිබිය යුතු වූයේ {{PLURAL:$2|එක් කැඳවුමකට |කැඳවුම් $2 ට }} අඩුවෙන් වුවද, මෙහි දැනට {{PLURAL:$1|එක් කැඳවුමක්|කැඳවුම් $1 ක්}} අඩංගුව ඇත.',
'expensive-parserfunction-category' => 'අධිවැය ව්යාකරණ විග්රහ ශ්රිත කැඳවුම් පමණට වඩා ඇති පිටු',
'revdelete-modify-no-access' => '$1 දින, $2 වේලාවෙහි, අයිතමය වෙනස්කිරීමෙහිදී දෝෂයක් ඇතිවී ඇත: මෙම අයිතමය "පරිසීමිත" ලෙසින් සලකුණු කර ඇත.
ඔබට ඒ සඳහා ප්රවේශයන් නොමැත.',
'revdelete-modify-missing' => 'අනන්යාංක $1 දරණ අයිතමය වෙනස් කිරීමෙහිදී දෝෂයක් ඇතිවී ඇත: එය දත්ත ගබඩාවෙන් අස්ථානගතවී ඇත!',
-'revdelete-no-change' => "'''à¶\85à·\80à·\80à·\8fදයයà·\92:''' $1 දà·\92න, $2 à·\80à·\9aලà·\8fà·\80à·\99à·\84à·\92, à¶\85යà·\92à¶à¶¸à¶º දà·\90නටමà¶à·\8a දà·\98à·\81à·\8aâ\80\8dයà¶à·\8f පරà·\92à·\83à·\8aථà·\92à¶à·\93නà·\8a à¶\89ලà·\8aලà·\8f à·\83à·\92ට ඇත.",
+'revdelete-no-change' => "'''à¶\85à·\80à·\80à·\8fදයයà·\92:''' $1 දà·\92න, $2 à·\80à·\9aලà·\8fà·\80à·\99à·\84à·\92, à¶\85යà·\92à¶à¶¸à¶º දà·\90නටමà¶à·\8a දà·\98à·\81à·\8aâ\80\8dයà¶à·\8f à·\83à·\90à¶\9aà·\83à·\94මà·\8a à¶\89ලà·\8aලà·\8f ඇත.",
'revdelete-concurrent-change' => '$1 දින, $2 වේලාවෙහි, අයිතමය වෙනස් කිරීමෙහිදී දෝෂයක් ඇතිවී ඇත: එය වෙනස්කිරීමට ඔබ උත්සාහ ගන්නා අතරතුරදී තවත් අයෙකු විසින් එහි ස්තිතිය වෙනස් කර ඇති බවක් පෙනෙන්නට ඇත.
කරුණාකර ලඝු-සටහන් පරික්ෂාකර බලන්න.',
'revdelete-only-restricted' => '$2 දිනැති අයිතමය සැඟවීමේ දෝෂය , $1:අනෙකුත් සැඟවීම් විකල්පයන් අතුරින් එකක් තෝරාගන්නේ නැතිව, පරිපාලකයන්ගේ දර්ශනයෙන් අයිතමයන් සැඟවීම ඔබහට සිදුකල නොහැක.',
'mergehistory-empty' => 'සංශෝධනයන් කිසිවක් ඒකාබද්ධ කල නොහැක.',
'mergehistory-success' => ' [[:$1]] හි {{PLURAL:$3|සංශෝධනයක්|සංශෝධන $3 ක්}}සාර්ථක ලෙස [[:$2]] හා සමග ඒකාබද්ධ කරන ලදි.',
'mergehistory-fail' => 'ඉතිහාස ඒකාබද්ධය සිදු කල නොහැක, පිටු හා වේලා පරාමිතීන් නැවත පිරික්සා බලන්න.',
-'mergehistory-no-source' => 'මූල පිටුව $1 කොපවතී.',
+'mergehistory-no-source' => 'මූලාශ පිටුව $1 නොපවතී.',
'mergehistory-no-destination' => 'අන්ත පිටුව $1 නොපවතී.',
'mergehistory-invalid-source' => 'මූල පිටුව නීතික ශීර්ෂයක් සහිත විය යුතුය.',
'mergehistory-invalid-destination' => 'අන්ත පිටුව නීතික ශීර්ෂයක් සහිත විය යුතුය.',
'timezoneuseserverdefault' => 'විකියෙහි සාමාන්ය විදිහ භාවිත කරන්න ($1)',
'timezoneuseoffset' => 'වෙනත් (හිලව්ව නියමාකාරයෙන් දක්වන්න)',
'timezoneoffset' => 'Offset¹:',
-'servertime' => 'සර්වරයේ වේලාව:',
+'servertime' => "ස'වරයේ වේලාව:",
'guesstimezone' => 'බ්රවුසරයෙන් පුරවන්න',
'timezoneregion-africa' => 'අප්රිකාව',
-'timezoneregion-america' => 'à¶\87මරිකාව',
+'timezoneregion-america' => 'à¶\85මà·\99රිකාව',
'timezoneregion-antarctica' => 'ඇන්ටාටිකාව',
'timezoneregion-arctic' => 'අත්ලාන්තික්',
'timezoneregion-asia' => 'ආසියාව',
'prefs-dateformat' => 'දින ආකෘතිය',
'prefs-timeoffset' => 'වේලා හිලව්ව',
'prefs-advancedediting' => 'වැඩිදුර තෝරාගැනීම් සැකසුම්',
-'prefs-advancedrc' => 'පà·\8aâ\80\8dරà¶\9cචà·\80à·\92à¶\9aලà·\8aපයනà·\8a',
-'prefs-advancedrendering' => 'පà·\8aâ\80\8dරà¶\9cචà·\80à·\92à¶\9aලà·\8aපයනà·\8a',
+'prefs-advancedrc' => 'à·\80à·\90ඩà·\92දà·\94ර à·\83à·\90à¶\9aà·\83à·\94මà·\8a à¶à·\9dරà·\8fà¶\9cà·\90නà·\93ම',
+'prefs-advancedrendering' => 'à·\80à·\90ඩà·\92දà·\94ර à·\83à·\90à¶\9aà·\83à·\94මà·\8a à¶à·\9dරà·\8fà¶\9cà·\90නà·\93ම',
'prefs-advancedsearchoptions' => 'ප්රගත විකල්පයන්',
-'prefs-advancedwatchlist' => 'පà·\8aâ\80\8dරà¶\9cචà·\80à·\92à¶\9aලà·\8aපයනà·\8a',
-'prefs-displayrc' => 'දරà·\8aà·\81න à·\80à·\92à¶\9aලà·\8aපයනà·\8a',
+'prefs-advancedwatchlist' => 'à·\80à·\90ඩà·\92දà·\94ර à·\83à·\90à¶\9aà·\83à·\94මà·\8a à¶à·\9dරà·\8fà¶\9cà·\90නà·\93ම',
+'prefs-displayrc' => 'දරà·\8aà·\81න à·\83à·\90à¶\9aà·\83à·\94මà·\8a à¶à·\9dරà·\8fà¶\9cà·\90නà·\93ම',
'prefs-displaysearchoptions' => 'විකල්ප පෙන්වන්න',
'prefs-displaywatchlist' => 'විකල්ප පෙන්වන්න',
'prefs-diffs' => 'වෙනස',
# User preference: e-mail validation using jQuery
'email-address-validity-valid' => 'විද්යුත්-තැපැල් ලිපිනය අනීතික බවක් පෙනෙයි.',
-'email-address-validity-invalid' => 'නà·\93à¶à·\92à¶\9a à·\80à·\92දà·\8aâ\80\8dයà·\94à¶à·\8a-à¶à·\90පà·\90ල් ලිපිනයක් ඇතුලත් කරන්න',
+'email-address-validity-invalid' => 'à·\80ලà¶\82à¶\9cà·\94 à·\80à·\92දà·\8aâ\80\8dයà·\94à¶් ලිපිනයක් ඇතුලත් කරන්න',
# User rights
'userrights' => 'පරිශීලක හිමිකම් කළමනාකරණය',
'upload-file-error' => 'අභ්යන්තර දෝෂය',
'upload-file-error-text' => 'සේවාදායකයෙහි තාවකාලික ගොනුවක් තැනීමට උත්සාහ දැරීමෙහිදී අභ්යන්තර දෝෂයක් හට ගැනිණි.
කරුණාකර [[Special:ListUsers/sysop|පරිපාලකවරයෙක්]] වෙත යොමුවන්න.',
-'upload-misc-error' => 'à¶\85ඥà·\8fචඋඩුගත කිරීම් දෝෂය',
+'upload-misc-error' => 'à·\84ඳà·\94නà·\8f නà·\9cà¶\9cà¶à·\8a උඩුගත කිරීම් දෝෂය',
'upload-misc-error-text' => 'උඩුගත කිරීමේදී හඳුනාගත නොහැකි දෝෂයක් සිදුවිය.
URLහි නීතික බව හා ප්රවේශ්ය බව තහවුරුකරගෙන නැවත උත්සාහ කරන්න.
ගැටළුව තවදුරටත් පවතී නම්, [[Special:ListUsers/sysop|පරිපාලකවරයෙකු]] අමතන්න.',
'usercreated' => '$1 දින $2 වේලාවේදී {{GENDER:$3|තනන ලදි}}',
'newpages' => 'අළුත් පිටු',
'newpages-username' => 'පරිශීලක-නාමය:',
-'ancientpages' => 'පà·\94රà·\8fණà¶ම පිටු',
+'ancientpages' => 'පà·\90රණà·\92ම පිටු',
'move' => 'ගෙනයන්න',
'movethispage' => 'මෙම පිටුව ගෙන යන්න',
'unusedimagestext' => 'පහත ගොනු පවතින නමුත් ඒවා කිසිදු පිටුවකට කාවද්දා නොමැත.
'block-log-flags-angry-autoblock' => 'ආවර්ධිත ස්වයංක්රීය වාරණය සක්රීය කරන ලදි',
'block-log-flags-hiddenname' => 'පරිශීලක-නාමය සඟවා ඇත',
'range_block_disabled' => 'පරාස වාරණයන් සිදුකිරීමට පරිපාලක වරුන්ට ඇති හැකියාව අක්රීය කරන ලදි.',
-'ipb_expiry_invalid' => 'à¶\89à¶\9aà·\94à¶à·\8aà·\80à·\93මà·\9a à¶\9aà·\8fලය à¶\85නà·\93à¶à·\92à¶\9aය.',
+'ipb_expiry_invalid' => 'à¶\9aලà·\8aà¶\89à¶\9aà·\94à¶à·\8aà·\80à·\93මà·\9a à·\80à·\9aලà·\8fà·\80 à·\80ලà¶\82à¶\9cà·\94 නà·\90à¶.',
'ipb_expiry_temp' => 'සැඟවුනු පරිශීලක-නාම වාරණයන් ස්ථීර ඒවා විය යුතුය.',
'ipb_hide_invalid' => 'මෙම ගිණුම යටපත්කිරීම කල නොහැකියි; පමණට වඩා සංස්කරණ සිදු කර ඇතිවා විය හැක.',
'ipb_already_blocked' => '"$1" දැනටමත් වාරණයට ලක් කර ඇත',
අන්ත පිටුව "[[:$1]]" දැනටමත් පවතියි.
එය මකාදමා ගෙනයාම සඳහා පෙත එළි කිරීමට ඔබ හට ඇවැසිද?',
'delete_and_move_confirm' => 'ඔව්, පිටුව මකා දමන්න',
-'delete_and_move_reason' => '"[[$1]]" ගෙනයෑම සඳහා ඉඩ ලබාගැනීම සඳහා මකාදමන ලදී',
+'delete_and_move_reason' => '"[[$1]]" ගෙනයෑමට ඉඩ ලබාගැනීම සඳහා මකාදමන ලදී',
'selfmove' => 'මූල හා අන්ත ශීර්ෂ දෙකම එකමය;
පිටුවක් එය වෙතම ගෙන යා නොහැක.',
'immobile-source-namespace' => '"$1" නාමඅවකාශයෙහි පිටු ගෙනයාම සිදුකල නොහැක',
'immobile-target-namespace' => '"$1" නාමඅවකාශය වෙත පිටු ගෙනයාම සිදුකල නොහැක',
-'immobile-target-namespace-iw' => 'à¶\85නà·\8aà¶à¶»à·\8aà·\80à·\92à¶\9aà·\93 à·\83බà·\90ඳà·\92ය, පà·\92ටà·\94 à¶\9cà·\99නයà·\91ම à·\83ඳà·\84à·\8f නà·\93à¶à·\92à¶\9a à¶\91ලà·\8aලයක් නොවේ.',
+'immobile-target-namespace-iw' => 'à¶\85නà·\8aà¶à¶»à·\8aà·\80à·\92à¶\9aà·\93 à·\83බà·\90ඳà·\92ය, පà·\92ටà·\94 à¶\9cà·\99නයà·\91ම à·\83ඳà·\84à·\8f à·\80ලà¶\82à¶\9cà·\94 à¶\89ලà¶\9aà·\8aà¶\9aයක් නොවේ.',
'immobile-source-page' => 'මෙම පිටුව ගෙනයාහැක්කක් නොවේ.',
'immobile-target-page' => 'එම අන්ත ශීර්ෂයට ගෙන යෑම කල නොහැක.',
'imagenocrossnamespace' => 'ගොනුවක්, ගොනුවක්-නොවන නාමඅවකාශයකට ගෙනයෑම කල නොහැක',
'nonfile-cannot-move-to-file' => 'ගොනුවක්-නොවන්න ගොනු නාමඅවකාශයට ගෙනයෑම කල නොහැක',
-'imagetypemismatch' => 'නව ගොනු ප්රසර්ජනය එහි වර්ගය හා නොගැලපේ',
-'imageinvalidfilename' => 'ඉලක්කගත ගොනු නාමය අනීතිකයි',
-'fix-double-redirects' => 'මà·\94ලà·\8a à·\81à·\93රà·\8aà·\82යට à¶\91ලà·\8aලà·\80න à¶\9aà·\92à·\83à·\92යමà·\8a යà·\85à·\92-යà·\9cමà·\94à·\80à·\93මà·\8a à¶\8bඩà·\94à¶\9cචකරන්න',
-'move-leave-redirect' => 'යà·\85à·\92-යà·\9cමà·\94à·\80à¶\9aà·\8a à·\84à·\90ර දමන්න',
+'imagetypemismatch' => 'නව ගොනු ප්රසර්ජනය(extension) එහි වර්ගය හා නොගැලපේ',
+'imageinvalidfilename' => 'ඉලක්ක ගොනු නාමය වලංගුනැත',
+'fix-double-redirects' => 'මà·\94ලà·\8a මà·\8fà¶à·\98à¶\9aà·\8fà·\80ට à¶\91ලà·\8aලà·\80න යà·\85à·\92-යà·\9cමà·\94 à¶\85පà·\8aඩà·\9aටà·\8a කරන්න',
+'move-leave-redirect' => 'යà·\85à·\92-යà·\9cමà·\94à·\80à¶\9aà·\8a à·\83à¶\9aà·\83à·\8f à¶\9cà·\99නයන්න',
'protectedpagemovewarning' => "'''අවවාදයයි:''' පරිපාලක වරප්රසාද සතු පරිශීලකයන්ට පමණක් ගෙන යෑ හැකි පරිදී මෙම පිටුව අවුරා ඇත.
ආසන්නතම ලඝු සටහන යොමුවන් සඳහා පහතින් සපයනු ලැබේ:",
'semiprotectedpagemovewarning' => "'''සටහන:''' ලේඛනගත පරිශීලකයන්ට පමණක් ගෙන යෑ හැකි පරිදි මෙම පිටුව අවුරා ඇත.
'filedelete-archive-read-only' => 'වෙබ්සේවාදායකය විසින් "$1"සංරක්ෂික විරෙක්ටරියට ලිවීම සිදුකල නොහැක.',
# Browsing diffs
-'previousdiff' => 'â\86\90 පà·\90රà·\90ණà·\92 à·\83à¶\82à·\83à·\8aà¶\9aරණය',
-'nextdiff' => 'නවීන සංස්කරණය →',
+'previousdiff' => 'â\86\90 පà·\90රණà·\92 à·\83à¶\82à·\83à·\8aà¶\9aරණ',
+'nextdiff' => 'නව සංස්කරණ →',
# Media information
'mediawarning' => "'''අවවාදයයි''': අනිෂ්ට කේතයන් මෙම ගොනුවෙහි අඩංගු විය හැක.
'exif-countrycreated' => 'රූපය ගන්නා ලද රට',
'exif-countrycodecreated' => 'රූපය ගන්නා ලද රටෙහි කේතය',
'exif-provinceorstatecreated' => 'රූපය ගන්නා ලද පළාත හෝ ප්රාන්තය',
-'exif-citycreated' => 'රà·\96පය à¶\9cනà·\8aනà·\8f ලද නà¶\9cරය',
+'exif-citycreated' => 'රà·\96පය à¶\9cනà·\8aනà·\8f ලද පà·\94රà·\80රය',
'exif-sublocationcreated' => 'රූපය ගන්නා ලද නගර උප-ස්ථානය',
'exif-worldregiondest' => 'ලෝක ප්රදේශය දක්වා ඇත',
'exif-countrydest' => 'පෙන්වනලද රට',
'exif-sublocationdest' => 'පුරවරයේ උප-ස්ථානය දක්වා ඇත',
'exif-objectname' => 'කෙටි මාතෘකාව',
'exif-specialinstructions' => 'විශේෂ උපදෙස්',
-'exif-headline' => 'à·\81ිරස්තලය',
+'exif-headline' => 'à·\83ිරස්තලය',
'exif-credit' => 'විශ්වාසය/ප්රතිපාදකයා',
'exif-source' => ' මූලාශ්රය',
'exif-editstatus' => 'රූපයේ සංස්කරණ තත්ත්වය',
'exif-event' => 'විස්තර දක්වන ලද සිද්ධිය',
'exif-organisationinimage' => 'විස්තර දක්වන ලද සංවිධානය',
'exif-personinimage' => 'පුද්ගලික වචනයෙන් විස්තර කරන ලද',
-'exif-originalimageheight' => 'à¶\9aà·\90පà·\94මට පෙර රූපයෙහි උස',
+'exif-originalimageheight' => 'à¶\9aපà·\8aපà·\8fදà·\94à·\80ට පෙර රූපයෙහි උස',
# EXIF attributes
'exif-compression-1' => 'අසංක්ෂිප්ත',
'exif-photometricinterpretation-2' => 'RGB',
'exif-photometricinterpretation-6' => 'YCbCr',
-'exif-unknowndate' => 'à¶\85ඥà·\8fචදිනයකි',
+'exif-unknowndate' => 'නà·\9cදනà·\8aනà·\8f දිනයකි',
'exif-orientation-1' => 'සාමාන්ය',
'exif-orientation-2' => 'තිරස වටා පෙරලා',
'exif-exposuremode-1' => 'හස්තීය නිරාවරණය',
'exif-exposuremode-2' => 'ස්වයං සමුච්චය',
-'exif-whitebalance-0' => 'à·\83à·\8aà·\80යà¶\82à¶\9aà·\8aâ\80\8dරà·\93ය à·\81à·\8aà·\80à·\9aචතුලනය',
-'exif-whitebalance-1' => 'à·\84à·\83à·\8aà¶à·\93ය à·\81à·\8aà·\80à·\9aචà¶à·\94ලනය',
+'exif-whitebalance-0' => 'à·\83à·\94දà·\94 පà·\8fට à·\83à·\8aà·\80යà¶\82à¶\9aà·\8aâ\80\8dරà·\93යà·\80 තුලනය',
+'exif-whitebalance-1' => 'à¶\94බà·\80à·\92à·\83à·\92නà·\8a à·\83à·\94දà·\94 පà·\8fට à¶à·\94ලනයà¶\9aà·\92රà·\93ම',
'exif-scenecapturetype-0' => 'සම්මත',
'exif-scenecapturetype-1' => 'භූතල තලීය',
'exif-dc-source' => 'මූලාශ්ර මාධ්ය',
'exif-dc-type' => 'මාධ්ය වර්ගය',
-'exif-rating-rejected' => 'ප්රතික්ෂිප්ත',
+'exif-rating-rejected' => 'ප්රතික්ෂේපිත',
'exif-isospeedratings-overflow' => '65535 ට වඩා විශාලතර',
# Friendlier slave lag warnings
'lag-warn-normal' => '{{PLURAL:$1|තත්පරයකට|තත්පර $1 කට}} වඩා නැවුම් වෙනස්වීම්, ලැයිස්තුවෙහි පෙන්නුම් නොවීමට ඉඩ ඇත.',
-'lag-warn-high' => 'දත්ත-ගබඩා සේවාදායකයෙහි අධික විලම්බය නිසා, වෙනස්වීමට පසු ගතවූයේ {{PLURAL:$1|එක් තත්පරයක්|තත්පර $1 ක්}} පමණක් නම්, ලැයිස්තුවෙහි අන්තර්ගතවී නොතිබිය හැක.',
+'lag-warn-high' => "දත්තසංචිත ස'වරයේ අධි විලම්බය නිසා, වෙනස්වීමට පසු ගතවූයේ {{PLURAL:$1|එක් තත්පරයක්|තත්පර $1 ක්}} පමණක් නම්, ලැයිස්තුවෙහි අන්තර්ගතවී නොතිබිය හැක.",
# Watchlist editor
'watchlistedit-numitems' => 'සාකච්ඡා පිටු ගණනය නොකල විට, ඔබගේ මුර-ලැයිස්තුවෙහි {{PLURAL:$1|ශීර්ෂ එකක්|ශීර්ෂ $1 ක්}} අඩංගු වේ.',
'version-hook-name' => 'හසුරු නම',
'version-hook-subscribedby' => 'දායකවී ඇත්තේ',
'version-version' => '(අනුවාදය $1)',
-'version-license' => 'බලපà¶à·\8aâ\80\8dරය',
+'version-license' => 'à·\80රපà¶',
'version-poweredby-credits' => "මෙම විකිය '''[//www.mediawiki.org/ MediaWiki]''' මගින් බලගන්වා ඇත, copyright © 2001-$1 $2.",
'version-poweredby-others' => 'අනෙකුත්',
'version-license-info' => 'MediaWiki යනු නිදහස් මෘදුකාංගයකි; නිදහස් මෘදුකාංග පදනමේ (Free Software Foundation) හි GNU General Public License නම් බලපත්රයේ වගන්තිවලට අනුව ඔබට එය නැවත බෙදාහැරීම සහ/හෝ සංස්කරණය කළ හැක; ඒ, එම බලපත්රයේ 2වන හෝ (ඔබට කැමති නම්) ඉන්පසු එන සංස්කරණයකට අනුවය.
* <span class="mw-specialpagecached">කෑෂිත විශේෂ පිටු (යල් පැන ගිය විය හැක).</span>',
'specialpages-group-maintenance' => 'නඩත්තු වාර්තා',
'specialpages-group-other' => 'අනෙකුත් විශේෂ පිටු',
-'specialpages-group-login' => 'පà·\8aâ\80\8dරà·\80à·\92à·\82à·\8aට à·\80න්න / ගිණුමක් තනන්න',
+'specialpages-group-login' => 'පà·\92à·\80à·\92à·\83à·\99න්න / ගිණුමක් තනන්න',
'specialpages-group-changes' => 'මෑත වෙනස්වීම් හා ලඝු-සටහන්',
'specialpages-group-media' => 'මාධ්ය වාර්තා හා උඩුගත කිරීම්',
'specialpages-group-users' => 'පරිශීලකයන් හා හිමිකම්',
'specialpages-group-pagetools' => 'පිටු මෙවලම්',
'specialpages-group-wiki' => 'විකි දත්ත හා මෙවලම්',
'specialpages-group-redirects' => 'විශේෂ පිටු යළි-යොමුකිරීම',
-'specialpages-group-spam' => 'à¶\85යà·\8fචà·\92à¶-à¶à·\90පà·\91ල මෙවලම්',
+'specialpages-group-spam' => 'à·\83à·\8aපà·\91මà·\8a මෙවලම්',
# Special:BlankPage
'blankpage' => 'හිස් පිටුව',
-'intentionallyblankpage' => 'මà·\99ම පà·\92ටà·\94à·\80 à¶\85භà·\92පà·\8aâ\80\8dරà·\9aà¶à·\80 à·\84à·\92à·\83à·\8aà·\80 à¶à¶¶à¶± ලදà·\92',
+'intentionallyblankpage' => 'මà·\99ම පà·\92ටà·\94à·\80 à·\83à·\92à¶à·\8fමà¶à·\8fම à·\84à·\92à·\83à·\8aà·\80 à¶à¶¶à·\8f à¶\87à¶.',
# External image whitelist
'external_image_whitelist' => '#මෙම පේළිය මෙම අයුරින්ම තිබීමට ඉඩ හරින්න <pre>
'api-error-ok-but-empty' => 'අභ්යන්තර දෝෂය: සර්වරයෙන් ප්රතිචාරයක් නොමැත.',
'api-error-overwrite' => 'දැනටමත් තිබෙන ගොනුවක් යටපත් කෙරුමට ඉඩදෙනු නොලැබේ.',
'api-error-stashfailed' => 'අභ්යන්තර දෝෂය: තාවකාලික ගොනුව සුරක්ෂිත කිරීමට සර්වරයට නොහැකි වුනි.',
-'api-error-timeout' => 'බලාපොරොත්තු වූ කාලය තුල සර්වරය ප්රතිචාර නොදක්වන ලදී.',
+'api-error-timeout' => 'බලාපොරොත්තු වූ කාලය තුල ස"වරය ප්රතිචාර නොදක්වන ලදී.',
'api-error-unclassified' => 'හඳුනා නොගත් දෝෂයක් ඇතිවිය.',
'api-error-unknown-code' => 'නොදත් දෝෂය: "$1"',
'api-error-unknown-error' => 'අභ්යන්තර දෝෂය: ඔබ මෙම ගොනුව උඩුගත කිරීමට තැත් කිරීමේදී කුමක්දෝ වැරදුණා.',
'api-error-unknown-warning' => 'නොදත් අවවාදය: $1',
'api-error-unknownerror' => 'හඳුනාගත නොහැකි දෝෂය: "$1".',
'api-error-uploaddisabled' => 'මෙම විකියෙහි උඩුගතකිරීම අක්රිය කොට ඇත.',
-'api-error-verification-error' => 'මà·\99ම à¶\9cà·\9cනà·\94à·\80 à·\83මà·\84රà·\80à·\92ට දà·\96à·\82à·\92චà·\80à·\93 à¶\87à¶, à·\84à·\9d à¶\91යට à·\80à·\90රදà·\92 à·\80à·\92à·\83à·\8aà¶à·\92රà·\8aණයà¶\9aà·\8a à¶\87à¶.',
+'api-error-verification-error' => 'මà·\99ම à¶\9cà·\9cනà·\94à·\80 පà·\85à·\94දà·\94à·\80à·\93 à·\84à·\9d à¶\91යට à·\80à·\90රදà·\92 à·\80à·\92à·\83à·\8aà¶à·\92රà·\8aණයà¶\9aà·\8a (extension) à¶\87à¶à·\94à·\80à·\8f à·\80à·\92යà·\84à·\90à¶\9a.',
);
'tog-watchlisthideown' => 'Na spisku nadzorov skrij moja urejanja',
'tog-watchlisthidebots' => 'Na spisku nadzorov skrij urejanja botov',
'tog-watchlisthideminor' => 'Skrij manjša urejanja na spisku nadzorov',
-'tog-watchlisthideliu' => 'Skrij urejanja prijavljenih uporabnikov v spisku nadzorov',
-'tog-watchlisthideanons' => 'Skrij urejanja anonimnih uporabnikov v spisku nadzorov',
+'tog-watchlisthideliu' => 'Skrij urejanja prijavljenih uporabnikov na spisku nadzorov',
+'tog-watchlisthideanons' => 'Skrij urejanja anonimnih uporabnikov na spisku nadzorov',
'tog-watchlisthidepatrolled' => 'Skrij pregledana urejanja s spiska nadzorov',
'tog-ccmeonemails' => 'Pošlji mi kopijo e-pošt, ki jih pošljem drugim uporabnikom',
'tog-diffonly' => 'Ne prikaži vsebine strani pod primerjavo',
'createaccount' => 'Ustvari račun',
'gotaccount' => 'Račun že imate? $1.',
'gotaccountlink' => 'Prijavite se',
-'userlogin-resetlink' => 'Ste pozabili svoje podatke za prijavo?',
+'userlogin-resetlink' => 'Ste pozabili svoje prijavne podatke?',
'createaccountmail' => 'Po e-pošti',
'createaccountreason' => 'Razlog:',
'badretype' => 'Gesli, ki ste ju vnesli, se ne ujemata.',
'changeemail-oldemail' => 'Trenutni e-poštni naslov:',
'changeemail-newemail' => 'Novi e-poštni naslov:',
'changeemail-none' => '(noben)',
-'changeemail-submit' => 'Spremeni e-pošto',
+'changeemail-submit' => 'Spremeni e-naslov',
'changeemail-cancel' => 'Prekliči',
# Edit page toolbar
Vedite, da .css in .js strani po meri uporabljajo naslov z malo začetnico, npr. {{ns:user}}:Blabla/vector.css namesto {{ns:user}}:Blabla/Vector.css.",
'updated' => '(Posodobljeno)',
'note' => "'''Opomba:'''",
-'previewnote' => "'''Pomnite, da je to le predogled strani.'''
+'previewnote' => "'''Pomnite, da stran le predogledujete.'''
Vaših sprememb še nismo shranili!",
-'continue-editing' => 'Nadaljuj z urejanjem',
+'continue-editing' => 'Nadaljujte z urejanjem',
'previewconflict' => 'V prikazanem predogledu je v zgornjem predelu urejanja navedeno besedilo, kakor se bo prikazalo, če ga boste shranili.',
'session_fail_preview' => "'''Oprostite! Zaradi izgube podatkov o seji nam vašega urejanja žal ni uspelo obdelati.'''
Prosimo, poskusite znova.
'parser-template-loop-warning' => 'V predlogi je bila odkrita zanka: [[$1]]',
'parser-template-recursion-depth-warning' => 'Prekoračena globina rekurzije predlog ($1)',
'language-converter-depth-warning' => 'Prekoračena globina pretvorbe jezikov ($1)',
+'node-count-exceeded-category' => 'Strani s prekoračenim številom vozlišč',
+'node-count-exceeded-warning' => 'Stran je prekoračila število vozlišč',
+'expansion-depth-exceeded-category' => 'Strani s prekoračeno globino razširitve',
+'expansion-depth-exceeded-warning' => 'Stran je prekoračila globino razširitve',
# "Undo" feature
'undo-success' => 'Urejanje ste razveljavili. Prosim, potrdite in nato shranite spodnje spremembe.',
'prefs-watchlist-token' => 'Ključ spiska nadzorov:',
'prefs-misc' => 'Druge nastavitve',
'prefs-resetpass' => 'Spremeni geslo',
-'prefs-changeemail' => 'Spremeni e-pošto',
+'prefs-changeemail' => 'Spremeni e-poštni naslov',
'prefs-setemail' => 'Nastavi e-poštni naslov',
'prefs-email' => 'Možnosti e-pošte',
'prefs-rendering' => 'Videz',
'resultsperpage' => 'Prikazanih zadetkov na stran:',
'stub-threshold' => 'Prag označevanja <a href="#" class="stub">škrbin</a> (v bajtih):',
'stub-threshold-disabled' => 'Onemogočeno',
-'recentchangesdays' => 'Število dni prikazanih v zadnjih spremembah:',
+'recentchangesdays' => 'Število dni, prikazanih v zadnjih spremembah:',
'recentchangesdays-max' => 'Največ $1 {{PLURAL:$1|dan|dneva|dnevi|dni}}',
'recentchangescount' => 'Privzeto število prikazanih urejanj:',
-'prefs-help-recentchangescount' => 'To vključuje zadnje spremembe, zgodovine strani in dnevniške zapise.',
+'prefs-help-recentchangescount' => 'Vključuje zadnje spremembe, zgodovine strani in dnevniške zapise.',
'prefs-help-watchlist-token' => 'Izpolnjevanje tega polja s skrivnim ključem bo ustvarilo vir RSS za vaš spisek nadzorov.
Kdorkoli pozna ta ključ bo lahko bral vaš spisek nadzorov, zato izbrite varen in čim daljši ključ.
Tukaj je naključno ustvarjena vrednost, ki jo lahko uporabite: $1',
'email' => 'E-pošta',
'prefs-help-realname' => 'Pravo ime je neobvezno.
Če se ga odločite navesti, bo uporabljeno za priznavanje vašega dela.',
-'prefs-help-email' => 'E-poštni naslov ni obvezen, vendar vam omogoča, da vam v primeru pozabljenega gesla pošljemo novo.',
-'prefs-help-email-others' => 'Poleg tega vpisan e-poštni naslov omogoča drugim, da vam lahko pošiljajo elektronsko pošto brez razkritja vaše istovetnosti.',
+'prefs-help-email' => 'E-poštni naslov ni obvezen, vendar omogoča, da vam v primeru pozabljenega gesla pošljemo novo.',
+'prefs-help-email-others' => 'Omogočite lahko tudi možnost, da vam lahko ostali uporabniki pošiljajo e-pošto prek vaše uporabniške ali pogovorne strani.
+Ko vas drugi uporabniki kontaktirajo, jim vašega e-poštnega naslova ne bomo razkrili.',
'prefs-help-email-required' => 'E-poštni naslov je obvezen.',
'prefs-info' => 'Osnovni podatki',
'prefs-i18n' => 'Internacionalizacija',
'prefs-signature' => 'Podpis',
'prefs-dateformat' => 'Zapis datuma',
-'prefs-timeoffset' => 'Čas za izravnavo',
+'prefs-timeoffset' => 'Časovni odmik',
'prefs-advancedediting' => 'Napredne možnosti',
'prefs-advancedrc' => 'Napredne možnosti',
'prefs-advancedrendering' => 'Napredne možnosti',
'recentchanges-label-newpage' => 'S tem urejanjem je bila ustvarjena nova stran',
'recentchanges-label-minor' => 'Manjše urejanje',
'recentchanges-label-bot' => 'To urejanje je bilo izvedeno z botom',
-'recentchanges-label-unpatrolled' => 'To urejanje še ni bilo pregledano',
+'recentchanges-label-unpatrolled' => 'Urejanje še ni bilo pregledano',
'rcnote' => "Prikazujem {{PLURAL:$1|zadnjo spremembo|zadnji '''$1''' spremembi|zadnje '''$1''' spremembe|zadnjih '''$1''' sprememb|zadnjih '''$1''' sprememb}} v {{PLURAL:$2|zadnjem|zadnjih|zadnjih|zadnjih|zadnjih}} '''$2''' {{PLURAL:$2|dnevu|dneh|dneh|dneh|dneh}}, od $5, $4.",
'rcnotefrom' => "Navedene so spremembe od '''$2''' dalje (prikazujem jih do '''$1''').",
'rclistfrom' => 'Prikaži spremembe od $1 naprej',
'diff' => 'prim',
'hist' => 'zgod',
'hide' => 'skrij',
-'show' => 'prikaži',
+'show' => 'Prikaži',
'minoreditletter' => 'm',
'newpageletter' => 'N',
'boteditletter' => 'b',
Dnevnik brisanja in prestavitev za to stran sta navedena tukaj:",
'uploadtext' => "Spodnji obrazec lahko uporabite za nalaganje datotek.
-Za ogled ali iskanje že naloženih pojdite na [[Special:FileList|seznam naloženih datotek]], ponovne naložitve so zapisane tudi v [[Special:Log/upload|dnevniku nalaganja]], izbrisi pa v [[Special:Log/delete|dnevniku brisanja]].
+Za ogled ali iskanje že naloženih pojdite na [[Special:FileList|seznam naloženih datotek]]; ponovna nalaganja so zabeležena tudi v [[Special:Log/upload|dnevniku nalaganja]], izbrisi pa v [[Special:Log/delete|dnevniku brisanja]].
-Datoteko lahko na želeno stran vključite z naslednjo skladnjo
+Datoteko lahko na želeno stran vključite na naslednje načine:
* '''<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datoteka.jpg]]</nowiki></tt>''' (polna velikost)
-* '''<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datoteka.jpg|200px|thumb|left|opisno besedilo]]</nowiki></tt>''' (slika pomanjšana na velikost 200px, uokvirjena, z levo poravnavo in opisom »opisno besedilo«)
+* '''<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:Datoteka.jpg|200px|thumb|left|opisno besedilo]]</nowiki></tt>''' (slika pomanjšana na 200 slikovnih pik širine, uokvirjena, z levo poravnavo in opisom »opisno besedilo«)
* '''<tt><nowiki>[[</nowiki>{{ns:media}}<nowiki>:Datoteka.ogg]]</nowiki></tt>''' (neposredna povezava z datoteko)",
'upload-permitted' => 'Dovoljene vrste datotek: $1.',
'upload-preferred' => 'Priporočene vrste datotek: $1.',
'morelinkstoimage' => 'Preglejte [[Special:WhatLinksHere/$1|več povezav]] na to datoteko.',
'linkstoimage-redirect' => '$1 (preusmeritev datoteke) $2',
'duplicatesoffile' => '{{PLURAL:$1|Sledeča datoteka je dvojnik|Sledeči datoteki sta dvojnika|Sledeče $1 datoteke so dvojniki|Sledečih $1 datotek so dvojniki}} te datoteke ([[Special:FileDuplicateSearch/$2|več podrobnosti]]):',
-'sharedupload' => 'Datoteka je del $1 in se lahko uporabi v drugih projektih.',
-'sharedupload-desc-there' => 'Ta datoteka je iz $1 in se lahko uporablja v drugih projektih.
+'sharedupload' => 'Datoteka je del projekta $1 in se lahko uporabi v drugih projektih.',
+'sharedupload-desc-there' => 'Datoteka je iz projekta $1 in se lahko uporablja v drugih projektih.
Prosimo, oglejte si [$2 opisno stran datoteke] za dodatne informacije.',
-'sharedupload-desc-here' => 'Ta datoteka je iz $1 in se lahko uporablja v drugih projektih.
+'sharedupload-desc-here' => 'Datoteka je iz projekta $1 in se lahko uporablja v drugih projektih.
Povzetek na njeni [$2 opisni strani datoteke] je prikazan spodaj.',
'sharedupload-desc-edit' => 'Datoteka je z $1 in jo morda uporabljajo drugi projekti.
Morda želite urediti njeno opisno stran na tamkajšnji [$2 opisni strani datoteke].',
'unwatchthispage' => 'Prenehaj opazovati stran',
'notanarticle' => 'Ni članek',
'notvisiblerev' => 'Redakcija je bila izbrisana',
-'watchnochange' => 'V prikazanem časovnem obdobju se ni spremenila nobena med nadzorovanimi stranmi.',
+'watchnochange' => 'V prikazanem časovnem obdobju ni nihče spremenil nadzorovanih strani.',
'watchlist-details' => 'Spremljate $1 {{PLURAL:$1|stran|strani|strani|strani|strani}} (pogovorne strani niso vštete).',
'wlheader-enotif' => '* Obveščanje po elektronski pošti je omogočeno.',
'wlheader-showupdated' => "* Od vašega zadnjega ogleda spremenjene strani so prikazanje '''krepko'''.",
'tooltip-ca-delete' => 'Brišite stran',
'tooltip-ca-undelete' => 'Obnovite pred izbrisom napravljena urejanja strani.',
'tooltip-ca-move' => 'Preimenujte stran',
-'tooltip-ca-watch' => 'Dodajte stran na seznam nadzorov',
-'tooltip-ca-unwatch' => 'Odstranite stran s seznama nadzorov',
+'tooltip-ca-watch' => 'Dodajte stran na spisek nadzorov',
+'tooltip-ca-unwatch' => 'Odstranite stran s spiska nadzorov',
'tooltip-search' => 'Preiščite wiki',
'tooltip-search-go' => 'Pojdi na strani z natanko takim imenom, če obstaja',
'tooltip-search-fulltext' => 'Najde vneseno besedilo po straneh',
'note' => "'''Напомена:'''",
'previewnote' => "'''Имајте у виду да је ово само преглед.'''
Ваше измене још нису сачуване!",
+'continue-editing' => 'Настави уређивање',
'previewconflict' => 'Овај преглед осликава како ће текст у текстуалном оквиру изгледати.',
'session_fail_preview' => "'''Нисмо могли да обрадимо вашу измену због губитка података сесије.'''
Покушајте поново.
'tog-shownumberswatching' => 'Antaal fon do beooboachtjende Benutsere anwiese',
'tog-oldsig' => 'Foarbekiek fon ju aktuälle Signatuur:',
'tog-fancysig' => 'Unnerskrift as Wikitext behonnelje (sunner automatiske Ferlinkenge)',
-'tog-externaleditor' => 'Externen Editor as Standoard benutsje (bloot foar Experte, der mouten spezielle Ienstaalengen ap dän oaine Computer moaked wäide.
-[//www.mediawiki.org/wiki/Manual:External_editors Moor Information hiertou.])',
+'tog-externaleditor' => 'Externen Editor as Standoard benutsje (bloot foar Experte, der mouten spezielle Ienstaalengen ap dän oaine Computer moaked wäide. [//www.mediawiki.org/wiki/Manual:External_editors Moor Information hiertou.])',
'tog-externaldiff' => 'Extern Diff-Program as Standoard benutsje (bloot foar Experte, der mouten spezielle Ienstaalengen ap dän oaine Computer moaked wäide.
[//www.mediawiki.org/wiki/Manual:External_editors Wiedere Informatione hiertou.])',
'tog-showjumplinks' => '"Wikselje tou"-Links muugelk moakje',
'note' => "'''Obs!'''",
'previewnote' => "'''Kom ihåg att detta bara är en förhandsvisning.'''
Dina ändringar har ännu inte sparats!",
+'continue-editing' => 'Fortsätt redigera',
'previewconflict' => 'Den här förhandsvisningen är resultatet av den
redigerbara texten ovanför,
så som det kommer att se ut om du väljer att spara.',
'parser-template-loop-warning' => 'Mall-loop upptäckt: [[$1]]',
'parser-template-recursion-depth-warning' => 'Gräns för mallrekursionsdjup överskriden ($1)',
'language-converter-depth-warning' => 'Gräns för språkkonverteringsdjup överskriden ($1)',
+'node-count-exceeded-category' => 'Sidor där antal nodar har överskrids',
+'node-count-exceeded-warning' => 'Sidan har överskridit antalet nodar',
+'expansion-depth-exceeded-category' => 'Sidor där expansionsdjupet överskrids',
+'expansion-depth-exceeded-warning' => 'Sidan överskrider expansionsdjupet',
# "Undo" feature
'undo-success' => 'Redigeringen kan göras ogjord.
'version-software' => 'Installerad programvara',
'version-software-product' => 'Produkt',
'version-software-version' => 'Version',
+'version-entrypoints' => 'StartpunktsURLer',
'version-entrypoints-header-entrypoint' => 'Ingångspunkt',
'version-entrypoints-header-url' => 'URL',
ในบางครั้งปัญหานี้จะเกิดขึ้นถ้าคุณใช้บริการเว็บพร็อกซีนิรนามที่มีบั๊ก",
'edit_form_incomplete' => "'''บางส่วนของแบบฟอร์มแก้ไขไม่ได้ติดต่อเซิร์ฟเวอร์ ตรวจสอบอีกครั้งว่าการแก้ไขของคุณยังคงอยู่และลองใหม่อีกครั้ง'''",
'editing' => 'กำลังแก้ไข $1',
+'creating' => 'สร้างหน้า $1',
'editingsection' => 'กำลังแก้ไข $1 (เฉพาะส่วน)',
'editingcomment' => 'กำลังแก้ไข $1 (หัวข้อใหม่)',
'editconflict' => 'แก้ไขชนกัน: $1',
[[Special:Search|ค้นหาในวิกินี้]] สำหรับหน้าอื่นที่อาจเกี่ยวข้อง',
# Revision deletion
-'rev-deleted-comment' => '(à¸\84วามà¹\80หà¹\87à¸\99ถูกลบออก)',
+'rev-deleted-comment' => '(à¸\84ำà¸à¸\98ิà¸\9aายà¸à¸¢à¹\88าà¸\87ยà¹\88à¸ถูกลบออก)',
'rev-deleted-user' => '(ชื่อผู้ใช้ถูกลบออก)',
'rev-deleted-event' => '(หน้าที่ใส่เข้ามาถูกลบออก)',
'rev-deleted-user-contribs' => '[ชื่อผู้ใช้หรือหมายเลขไอพีถูกลบแล้ว - การแก้ไขถูกซ่อนจากรายการแก้ไข]',
'allpagesprefix' => 'Buraya yazdığınız harflerle başlayan sayfaları listeleyin:',
'allpagesbadtitle' => 'Girilen sayfa ismi diller arası bağlantı ya da vikiler arası bağlantı içerdiğinden geçerli değil. Başlıklarda kullanılması yasak olan bir ya da daha çok karakter içeriyor olabilir.',
'allpages-bad-ns' => '{{SITENAME}} sitesinde "$1" ad alanı yok.',
+'allpages-hide-redirects' => 'Yönlendirmeleri gizle',
# Special:Categories
'categories' => 'Kategoriler',
'currentrev' => 'Амгы үе үндүрери',
'currentrev-asof' => 'Амгы $1 үениң бижээни',
'revisionasof' => '$1 версиязы',
+'revision-info' => '$2 киржикчиниң $1 хүнүнде киирилдези',
'previousrevision' => '←Артык эрги үндүрери',
'nextrevision' => 'Артык чаа үндүрери→',
'currentrevisionlink' => 'Амгы үе үндүрери',
'searchprofile-advanced-tooltip' => 'Айыткан аттар делгемнеринден дилээри',
'search-result-size' => '$1 ({{PLURAL:$2|$2 сөс}})',
'search-section' => '(«$1» деп салбыр)',
+'search-suggest' => 'Силер «$1» деп бодадыңар чадавас',
'search-interwiki-more' => '(артык)',
'search-mwsuggest-enabled' => 'саналдар',
'search-mwsuggest-disabled' => 'саналдар чок',
'statistics' => 'Статистика',
'statistics-pages' => 'Арыннар',
+'disambiguationspage' => 'Майык: уш-бажы билдинмес',
+
'brokenredirects-edit' => 'өскертири',
'brokenredirects-delete' => 'ырадыры',
'whatlinkshere-next' => '{{PLURAL:$1|дараазында|дараазында $1}}',
'whatlinkshere-links' => '← холбаалар',
'whatlinkshere-hideredirs' => '$1-че шиглиглер',
+'whatlinkshere-hidetrans' => '$1 даңзылааннар',
'whatlinkshere-hidelinks' => 'холбааларны $1',
'whatlinkshere-hideimages' => 'Чурумалдың холбааларын $1',
'whatlinkshere-filters' => 'Шүүрлер',
'ipblocklist-submit' => 'Дилээр',
'infiniteblock' => 'кезээ-мөңгеде',
'blocklink' => 'кызыгаарлаары',
+'unblocklink' => 'ажыдып хостаар',
'change-blocklink' => 'кызыгаарлаашкынны өскертири',
'contribslink' => 'немелделер',
'blocklogpage' => 'Кызыгаарлаашкынның журналы',
# Media information
'widthheightpage' => '$1x$2, $3 {{PLURAL:$3|арын}}',
'file-info-size' => '$1 × $2 пиксел, Файл хемчээли: $3, MIME янзызы: $4',
+'file-nohires' => 'Оон улуг хевири чок',
'svg-long-desc' => 'SVG файл, $1 x $2 пиксел, файл хемчээли: $3',
'show-big-image' => 'Улуг чурук',
'show-big-image-size' => '$1 × $2 пиксел',
* @ingroup Language
* @file
*
+ * @author Alunardon90
* @author BrokenArrow
* @author Candalua
* @author Frigotoni
'tog-enotifminoredits' => 'Avìseme par e-mail anca par i canbiamenti picenini',
'tog-enotifrevealaddr' => 'Fà védar el me indirisso e-mail in tei messagi de aviso',
'tog-shownumberswatching' => 'Mostra el numaro de utenti che i ga ła pajina en oservasion',
-'tog-oldsig' => 'Anteprima de la firma:',
+'tog-oldsig' => 'Anteprima de ła firma:',
'tog-fancysig' => 'Interpreta i comandi wiki in te la firma (sensa colegamento automatego)',
-'tog-externaleditor' => "Dopara par default on editor de testo esterno (soło par utenti esperti, el richiede l'uso de impostasion particołari sol proprio computer)",
-'tog-externaldiff' => "Dopara par default on programa de diff esterno (soło par utenti esperti, el richiede l'uso de impostasion particołari sol proprio computer)",
+'tog-externaleditor' => "Dopara par default un editor de testo esterno (soło par utenti esperti. Richiede l'uxo de inpostasion particołari sol proprio computer)",
+'tog-externaldiff' => "Dopara par default un programa de diff esterno (soło par utenti esperti. Richiede l'uxo de inpostasion particołari sol proprio computer)",
'tog-showjumplinks' => 'Ativa i cołegamenti acesibiłi "va a"',
'tog-uselivepreview' => 'Ativa ła funsion "Line preview" (el richiede JavaScript; sperimentałe)',
'tog-forceeditsummary' => "Chiedi conferma se l'ozeto de ła modifega el xé vodo",
'vector-action-move' => 'Sposta',
'vector-action-protect' => 'Protezi',
'vector-action-undelete' => 'Recupera',
-'vector-action-unprotect' => 'Sbloca',
+'vector-action-unprotect' => 'Canbia ła protesion',
'vector-simplesearch-preference' => "Intaca i sugerimenti di ricerca avansadi (solo par l'interfacia Vector)",
'vector-view-create' => 'Crea',
'vector-view-edit' => 'Canbia',
'delete' => 'Scansela',
'deletethispage' => 'Scansela sta pagina',
'undelete_short' => 'Recupera {{PLURAL:$1|na revision|$1 revision}}',
+'viewdeleted_short' => 'Vedi {{PLURAL:$1|na modifega cancełà|$1 modifeghe cancełade}}',
'protect' => 'Protezi',
'protect_change' => 'canbia',
'protectthispage' => 'Protezi sta pagina',
-'unprotect' => 'Sbloca',
-'unprotectthispage' => 'Cava ła protesion a sta pajina',
+'unprotect' => 'Canbia ła protesion',
+'unprotectthispage' => 'Canbia ła protesion de sta pajina',
'newpage' => 'Pagina nova',
'talkpage' => 'Pagina de discussion',
'talkpagelinktext' => 'Discussion',
'toc' => 'Indice',
'showtoc' => 'mostra',
'hidetoc' => 'scondi',
+'collapsible-collapse' => 'Conprimi',
+'collapsible-expand' => 'Espandi',
'thisisdeleted' => 'Varda o ripristina $1?',
'viewdeleted' => 'Varda $1?',
'restorelink' => '{{PLURAL:$1|un canbiamento scanselà|$1 canbiamenti scanselà}}',
'page-rss-feed' => 'Feed RSS par "$1"',
'page-atom-feed' => 'Feed Atom par "$1"',
'red-link-title' => '$1 (sta pagina no la ghe xe)',
+'sort-descending' => 'Ordinamento decresente',
+'sort-ascending' => 'Ordinamento cresente',
# Short words for each namespace, by default used in the namespace tab in monobook
'nstab-main' => 'Voxe',
'badarticleerror' => 'Operasion no consentia par sta pajina.',
'cannotdelete' => 'No xè sta posibiłe scansełare el file "$1".
Podaria esare sta zà scansełà da qualcun altro.',
+'cannotdelete-title' => 'Inposibiłe ełiminare ła pajina "$1"',
'badtitle' => 'Titoło mia justo',
'badtitletext' => "El titoło de ła pajina richiesta xè vodo, erà o con carateri no amesi opure el deriva da n'erore ne i cołegamenti tra siti wiki diversi o version en łengue diverse de ło steso sito.",
-'perfcached' => 'Sti dati qua no i vien mia azornà in tenpo reale, ma solo na olta ogni tanto. A maximum of {{PLURAL:$1|one result is|$1 results are}} available in the cache.',
-'perfcachedts' => "Sti dati qua i xe stà azornà l'ultima olta el $1. A maximum of {{PLURAL:$4|one result is|$4 results are}} available in the cache.",
+'perfcached' => 'Sti dati vien tiradi fora da na copia "cache" del database e łi podarìa no esare ajornadi. Inte ła cache xe {{PLURAL:$1|disponibiłe un rixultado|xe disponibiłi $1 rixultadi}}.',
+'perfcachedts' => "Sti dati cua xe stà ajornadi l'ultima volta el $1. Inte ła cache xe disponibiłe al masimo {{PLURAL:$4|on rexultado|$4 rexultadi}}.",
'querypage-no-updates' => "L'azornamento periodico de sta pagina el xe sospeso.
I dati che ghè qua drento no i xe azornà.",
'wrong_wfQuery_params' => 'Erore ne i parametri invià a ła funsion wfQuery()<br />
'ns-specialprotected' => 'No xè posibiłe modifegare łe pajine spesałi.',
'titleprotected' => 'Ła creasion de na pajina con sto titoło xè sta blocà da [[User:$1|$1]].
Ła modivasion xè ła seguente: "$2".',
+'filereadonlyerror' => 'No xe stà posibiłe modifegare el file "$1" parché el repository de file "$2" xe in modałità de soła letura.
+
+L\'aministradore che ło ga blocà ga fornìo sta spiegasion: "$3".',
# Virus scanner
'virus-badscanner' => 'Erore de configurasion: antivirus sconossuo: "$1"',
'createaccountmail' => 'Par e-mail',
'createaccountreason' => 'Motivassion:',
'badretype' => 'Le do password le xe difarenti.',
-'userexists' => 'Sto nome utente se lo gà zà tolto qualchedun altro.
-Tòtene uno difarente.',
+'userexists' => 'El nome utente inserido vien xa doparà da cualchedun altro.
+Prova co un nome utente difarente.',
'loginerror' => "Erore ne l'aceso",
'createaccounterror' => "No se pole crear l'utente: $1",
'nocookiesnew' => "Ła rejistrasion xè sta conpletà, ma no xè sta posibiłe asedare a {{SITENAME}} parché i cookie i xè disativai. Riprovare l'aceso con el nome utente e ła password pena creai dopo aver ativà i cookie nel proprio browser.",
'emailconfirmlink' => 'Conferma el to indirizo de e-mail',
'invalidemailaddress' => "L'indirisso email no'l pode èssar acetà parché el gà un formato mìa valido.
Inserissi un indirisso valido o svoda la casèła.",
+'cannotchangeemail' => "I indirisi de posta ełetronega de l'account no połe esare canbiadi inte sto projeto wiki.",
+'emaildisabled' => 'Sto sito no połe spedire mesaji de posta ełetronega.',
'accountcreated' => 'Acesso creà',
'accountcreatedtext' => "Xè stà creà un acesso par l'utente $1.",
'createaccount-title' => 'Creazion de un acesso a {{SITENAME}}',
'usernamehasherror' => "El nome utente no'l pode contegner caràteri hash",
'login-throttled' => 'Te ghè fato massa tentativi de autenticarte.
Spèta un tocheto prima de proàr da novo.',
+'login-abort-generic' => 'El to login no xe riusido - Anułà.',
'loginlanguagelabel' => 'Lengua: $1',
'suspicious-userlogout' => 'Ła to richiesta de disconesion xè sta negà parché e a senbra invià da on browser non funsionante o on proxy de caching.',
+# E-mail sending
+'php-mail-error-unknown' => "Erore sconosudo nte'l funsionamento deła posta ełetronega PHP",
+'user-mail-no-addy' => 'Te ghe provà spedire un mesajo de posta ełetronega sensa un indiriso.',
+
# Change password dialog
'resetpass' => 'Cànbia la password',
'resetpass_announce' => "L'acesso el xe stà efetuà con un codice tenporaneo, mandà par e-mail. Par conpletar l'acesso bisogna inpostar na password nova:",
Forse te ghè zà canbià la to password o te ghè domandà na password tenporanea nova.',
'resetpass-temp-password' => 'Password tenporanea:',
+# Special:PasswordReset
+'passwordreset' => 'Rinposta ła password',
+'passwordreset-text' => 'Conpleta sto moduło par riçevare i detaji del to account via posta ełetronega.',
+'passwordreset-legend' => 'Rinposta ła password',
+'passwordreset-disabled' => 'Ła rinpostasion deła password xe stà dixabiłità so sto projeto wiki.',
+'passwordreset-pretext' => '{{PLURAL:$1|| Inserisi una dełe porsion de dati cua soto}}',
+'passwordreset-username' => 'Nome utente:',
+'passwordreset-domain' => 'Dominio',
+'passwordreset-capture' => 'Vixuałixare el contenuto del mesajo de posta ełetronega?',
+'passwordreset-capture-help' => "Se se sełesiona sta caxeła, l'indiriso de posta ełetronega (co' ła password tenporanea) ve vegnarà mostrà anca a voialtri oltre che esare invià a 'l utente.",
+'passwordreset-email' => 'Indiriso de posta ełetronega',
+'passwordreset-emailtitle' => "Detaji de l'account so {{SITENAME}}",
+'passwordreset-emailtext-ip' => "Cualcheduni (probabilmente ti, co indiriso IP $1) ga richiesto l'invio de na nova password par l'aceso a {{SITENAME}} ($4). {{PLURAL:$3|L'utente asocià|I utenti asociadi}} a sto indiriso de posta ełetronega łi xe:
+
+$2
+
+{{PLURAL:$3|Sta password tenporanea ła scadarà|Ste password tenporanee łe scadarà}} dopo {{PLURAL:$5|un dì|$5 dì}}.
+Sarìa mejo acedare e deçidare na nova password sùito.
+
+Se no te si stà ti a fare ła richiesta, o se te te ghe ricordà ła password originałe e no te vołi pi canbiarla, te połi ignorare sto mesajo e continuar doparare ła to password vecia.",
+
# Edit page toolbar
'bold_sample' => 'Testo in grosso',
'bold_tip' => 'Testo in grosso',
'userinvalidcssjstitle' => "'''Ocio:''' No ghe xe nissuna skin con nome \"\$1\". Nota che le pagine par i .css e .js personalizà le gà l'iniziale del titolo minuscola, par esenpio {{ns:user}}:Esenpio/vector.css e no {{ns:user}}:Esenpio/Vector.css.",
'updated' => '(Agiornà)',
'note' => "'''Nota:'''",
-'previewnote' => "'''Sta qua la xe solo n'anteprima; i canbiamenti a la pagina NO i xe gnancora stà salvà!'''",
+'previewnote' => "Sta cua ła xe soło n'anteprima; i canbiamenti a ła pajina NO i xe gnancora stà salvài!",
'previewconflict' => 'Sta anteprima la corisponde al testo ne la casèla de edizion de sora, e la fa védar come vegnarà fora la pagina se te machi "Salva la pagina" in sto momento.',
'session_fail_preview' => "No xè stà possibiłe salvar le to modifiche parché i dati de la session i xè andai persi.
Par piaser, riproa da novo.
'parser-template-loop-warning' => 'Phát hiện bản mẫu lặp vòng: [[$1]]',
'parser-template-recursion-depth-warning' => 'Bản mẫu đã vượt quá giới hạn về độ sâu đệ quy ($1)',
'language-converter-depth-warning' => 'Đã vượt quá giới hạn độ sâu của bộ chuyển đổi ngôn ngữ ($1)',
+'node-count-exceeded-category' => 'Những trang có số nốt vượt quá giới hạn cho phép',
+'node-count-exceeded-warning' => 'Trang có nhiều nốt quá',
+'expansion-depth-exceeded-category' => 'Những trang có độ sâu bung bản mẫu vượt quá giới hạn cho phép',
+'expansion-depth-exceeded-warning' => 'Trang bung bản mẫu sâu quá',
# "Undo" feature
'undo-success' => 'Các sửa đổi có thể được lùi lại. Xin hãy kiểm tra phần so sánh bên dưới để xác nhận lại những gì bạn muốn làm, sau đó lưu thay đổi ở dưới để hoàn tất việc lùi lại sửa đổi.',
# Export
'export' => 'Ìkójáde àwọn ojúewé',
+'exportall' => 'Ìkójáde gbogbo àwọn ojúewé',
'export-submit' => 'Kósíta',
'export-addcattext' => 'Àfikún àwọn ojúewé láti inú ẹ̀ka:',
'export-addcat' => 'Ìròpọ̀',
'protectthispage' => '保护本页',
'unprotect' => '更改保护',
'unprotectthispage' => '更改本页面的保护',
-'newpage' => 'æ\9c\80æ\96°é¡µé\9d¢',
+'newpage' => '新页面',
'talkpage' => '讨论本页',
'talkpagelinktext' => '讨论',
'specialpage' => '特殊页面',
'notextmatches' => '没有页面内容匹配',
'prevn' => '前$1个',
'nextn' => '后$1个',
-'prevn-title' => '前$1项结果',
-'nextn-title' => '后$1项结果',
+'prevn-title' => '前$1个结果',
+'nextn-title' => '后$1个结果',
'shown-title' => '每页显示$1项结果',
'viewprevnext' => '查看($1{{int:pipe-separator}}$2)($3)',
'searchmenu-legend' => '搜索选项',
'prefs-rc' => '最近更改',
'prefs-watchlist' => '监视列表',
'prefs-watchlist-days' => '监视列表中显示的天数:',
-'prefs-watchlist-days-max' => '最多$1{{PLURAL:$1|天}}',
+'prefs-watchlist-days-max' => '最多$1天',
'prefs-watchlist-edits' => '扩展监视列表中显示的最大更改数:',
'prefs-watchlist-edits-max' => '最大数量:1000',
'prefs-watchlist-token' => '监视列表权标:',
'listusers-creationsort' => '按建立日期排序',
'usereditcount' => '$1次编辑',
'usercreated' => '$1 $2{{GENDER:$3|创建}}',
-'newpages' => 'æ\9c\80æ\96°é¡µé\9d¢',
+'newpages' => '新页面',
'newpages-username' => '用户名:',
'ancientpages' => '最早页面',
'move' => '移动',
<!-- /sitenotice -->
<?php endif; ?>
<!-- firstHeading -->
- <h1 id="firstHeading" class="firstHeading">
- <span dir="auto"><?php $this->html( 'title' ) ?></span>
- </h1>
+ <h1 id="firstHeading" class="firstHeading"><span dir="auto"><?php $this->html( 'title' ) ?></span></h1>
<!-- /firstHeading -->
<!-- bodyContent -->
<div id="bodyContent">
margin-left: 11em;
padding: 1.25em;
}
-div#mw-panel div.portal div.body {
+#mw-panel {
padding-left: 0.5em;
}
-div#mw-panel div.portal h5 {
- padding-left: 2.25em;
-}
#p-search {
margin-right: 1em;
}
-webkit-transition: left 250ms;
-o-transition: left 250ms;
}
-div#mw-panel div.portal div.body,
-div#mw-panel div.portal h5 {
+#mw-panel {
transition: padding-left 250ms;
-moz-transition: padding-left 250ms;
-webkit-transition: padding-left 250ms;
}
// Output a notice when running with older versions of PHPUnit
-if ( !version_compare( PHPUnit_Runner_Version::id(), "3.4.1", ">" ) ) {
+if ( version_compare( PHPUnit_Runner_Version::id(), "3.6.7", "<" ) ) {
echo <<<EOF
********************************************************************************
-These tests run best with version PHPUnit 3.4.2 or better. Earlier versions may
+These tests run best with version PHPUnit 3.6.7 or better. Earlier versions may
show failures because earlier versions of PHPUnit do not properly implement
dependencies.
public function setUp() {
if ( !CdbReader::haveExtension() ) {
- $this->markTestIncomplete( 'This test requires native CDB support to be present.' );
+ $this->markTestSkipped( 'Native CDB support is not available' );
}
}
function __construct() {
parent::__construct();
+ global $wgEnableEmail;
$this->users['noemail'] = new User;
$this->context = new RequestContext;
$this->context->setTitle( Title::newFromText('PreferencesTest') );
+
+ //some tests depends on email setting
+ $wgEnableEmail = true;
}
/**
*/
public function testInNamespace( $title, $ns, $expectedBool ) {
$title = Title::newFromText( $title );
- $this->assertEquals( $title->inNamespace( $ns ), $expectedBool );
+ $this->assertEquals( $expectedBool, $title->inNamespace( $ns ) );
}
public function testInNamespaces() {
$this->assertEquals( $expectedBool, $title->hasSubjectNamespace( $ns ) );
}
+ public function dataIsCssOrJsPage() {
+ return array(
+ array( 'Foo', false ),
+ array( 'Foo.js', false ),
+ array( 'Foo/bar.js', false ),
+ array( 'User:Foo', false ),
+ array( 'User:Foo.js', false ),
+ array( 'User:Foo/bar.js', false ),
+ array( 'User:Foo/bar.css', false ),
+ array( 'User talk:Foo/bar.css', false ),
+ array( 'User:Foo/bar.js.xxx', false ),
+ array( 'User:Foo/bar.xxx', false ),
+ array( 'MediaWiki:Foo.js', true ),
+ array( 'MediaWiki:Foo.css', true ),
+ array( 'MediaWiki:Foo.JS', false ),
+ array( 'MediaWiki:Foo.CSS', false ),
+ array( 'MediaWiki:Foo.css.xxx', false ),
+ );
+ }
+
+ /**
+ * @dataProvider dataIsCssOrJsPage
+ */
+ public function testIsCssOrJsPage( $title, $expectedBool ) {
+ $title = Title::newFromText( $title );
+ $this->assertEquals( $expectedBool, $title->isCssOrJsPage() );
+ }
+
+
+ public function dataIsCssJsSubpage() {
+ return array(
+ array( 'Foo', false ),
+ array( 'Foo.js', false ),
+ array( 'Foo/bar.js', false ),
+ array( 'User:Foo', false ),
+ array( 'User:Foo.js', false ),
+ array( 'User:Foo/bar.js', true ),
+ array( 'User:Foo/bar.css', true ),
+ array( 'User talk:Foo/bar.css', false ),
+ array( 'User:Foo/bar.js.xxx', false ),
+ array( 'User:Foo/bar.xxx', false ),
+ array( 'MediaWiki:Foo.js', false ),
+ array( 'User:Foo/bar.JS', false ),
+ array( 'User:Foo/bar.CSS', false ),
+ );
+ }
+
+ /**
+ * @dataProvider dataIsCssJsSubpage
+ */
+ public function testIsCssJsSubpage( $title, $expectedBool ) {
+ $title = Title::newFromText( $title );
+ $this->assertEquals( $expectedBool, $title->isCssJsSubpage() );
+ }
+
+ public function dataIsCssSubpage() {
+ return array(
+ array( 'Foo', false ),
+ array( 'Foo.css', false ),
+ array( 'User:Foo', false ),
+ array( 'User:Foo.js', false ),
+ array( 'User:Foo.css', false ),
+ array( 'User:Foo/bar.js', false ),
+ array( 'User:Foo/bar.css', true ),
+ );
+ }
+
+ /**
+ * @dataProvider dataIsCssSubpage
+ */
+ public function testIsCssSubpage( $title, $expectedBool ) {
+ $title = Title::newFromText( $title );
+ $this->assertEquals( $expectedBool, $title->isCssSubpage() );
+ }
+
+ public function dataIsJsSubpage() {
+ return array(
+ array( 'Foo', false ),
+ array( 'Foo.css', false ),
+ array( 'User:Foo', false ),
+ array( 'User:Foo.js', false ),
+ array( 'User:Foo.css', false ),
+ array( 'User:Foo/bar.js', true ),
+ array( 'User:Foo/bar.css', false ),
+ );
+ }
+
+ /**
+ * @dataProvider dataIsJsSubpage
+ */
+ public function testIsJsSubpage( $title, $expectedBool ) {
+ $title = Title::newFromText( $title );
+ $this->assertEquals( $expectedBool, $title->isJsSubpage() );
+ }
+
+ public function dataIsWikitextPage() {
+ return array(
+ array( 'Foo', true ),
+ array( 'Foo.js', true ),
+ array( 'Foo/bar.js', true ),
+ array( 'User:Foo', true ),
+ array( 'User:Foo.js', true ),
+ array( 'User:Foo/bar.js', false ),
+ array( 'User:Foo/bar.css', false ),
+ array( 'User talk:Foo/bar.css', true ),
+ array( 'User:Foo/bar.js.xxx', true ),
+ array( 'User:Foo/bar.xxx', true ),
+ array( 'MediaWiki:Foo.js', false ),
+ array( 'MediaWiki:Foo.css', false ),
+ array( 'MediaWiki:Foo/bar.css', false ),
+ array( 'User:Foo/bar.JS', true ),
+ array( 'User:Foo/bar.CSS', true ),
+ );
+ }
+
+ /**
+ * @dataProvider dataIsWikitextPage
+ */
+ public function testIsWikitextPage( $title, $expectedBool ) {
+ $title = Title::newFromText( $title );
+ $this->assertEquals( $expectedBool, $title->isWikitextPage() );
+ }
+
}
-<?php\r
-\r
-/**\r
- * @group Database\r
- * @group Cache\r
- */\r
-class GenderCacheTest extends MediaWikiLangTestCase {\r
-\r
- function setUp() {\r
- parent::setUp();\r
- //ensure the correct default gender\r
- $wgDefaultUserOptions['gender'] = 'unknown';\r
- }\r
-\r
- function addDBData() {\r
- $user = User::newFromName( 'UTMale' );\r
- if( $user->getID() == 0 ) {\r
- $user->addToDatabase();\r
- $user->setPassword( 'UTMalePassword' );\r
- }\r
- //ensure the right gender\r
- $user->setOption( 'gender', 'male' );\r
- $user->saveSettings();\r
-\r
- $user = User::newFromName( 'UTFemale' );\r
- if( $user->getID() == 0 ) {\r
- $user->addToDatabase();\r
- $user->setPassword( 'UTFemalePassword' );\r
- }\r
- //ensure the right gender\r
- $user->setOption( 'gender', 'female' );\r
- $user->saveSettings();\r
-\r
- $user = User::newFromName( 'UTDefaultGender' );\r
- if( $user->getID() == 0 ) {\r
- $user->addToDatabase();\r
- $user->setPassword( 'UTDefaultGenderPassword' );\r
- }\r
- //ensure the default gender\r
- $user->setOption( 'gender', null );\r
- $user->saveSettings();\r
- }\r
-\r
- /**\r
- * test usernames\r
- *\r
- * @dataProvider dataUserName\r
- */\r
- function testUserName( $username, $expectedGender ) {\r
- $genderCache = GenderCache::singleton();\r
- $gender = $genderCache->getGenderOf( $username );\r
- $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );\r
- }\r
-\r
- /**\r
- * genderCache should work with user objects, too\r
- *\r
- * @dataProvider dataUserName\r
- */\r
- function testUserObjects( $username, $expectedGender ) {\r
- $genderCache = GenderCache::singleton();\r
- $user = User::newFromName( $username );\r
- $gender = $genderCache->getGenderOf( $user );\r
- $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );\r
- }\r
-\r
- function dataUserName() {\r
- return array(\r
- array( 'UTMale', 'male' ),\r
- array( 'UTFemale', 'female' ),\r
- array( 'UTDefaultGender', 'unknown' ),\r
- array( 'UTNotExist', 'unknown' ),\r
- //some not valid user\r
- array( '127.0.0.1', 'unknown' ),\r
- array( 'user@test', 'unknown' ),\r
- );\r
- }\r
-\r
- /**\r
- * test strip of subpages to avoid unnecessary queries\r
- * against the never existing username\r
- *\r
- * @dataProvider dataStripSubpages\r
- */\r
- function testStripSubpages( $pageWithSubpage, $expectedGender ) {\r
- $genderCache = GenderCache::singleton();\r
- $gender = $genderCache->getGenderOf( $pageWithSubpage );\r
- $this->assertEquals( $gender, $expectedGender, "GenderCache must strip of subpages" );\r
- }\r
-\r
- function dataStripSubpages() {\r
- return array(\r
- array( 'UTMale/subpage', 'male' ),\r
- array( 'UTFemale/subpage', 'female' ),\r
- array( 'UTDefaultGender/subpage', 'unknown' ),\r
- array( 'UTNotExist/subpage', 'unknown' ),\r
- array( '127.0.0.1/subpage', 'unknown' ),\r
- );\r
- }\r
-}\r
+<?php
+
+/**
+ * @group Database
+ * @group Cache
+ */
+class GenderCacheTest extends MediaWikiLangTestCase {
+
+ function setUp() {
+ global $wgDefaultUserOptions;
+ parent::setUp();
+ //ensure the correct default gender
+ $wgDefaultUserOptions['gender'] = 'unknown';
+ }
+
+ function addDBData() {
+ $user = User::newFromName( 'UTMale' );
+ if( $user->getID() == 0 ) {
+ $user->addToDatabase();
+ $user->setPassword( 'UTMalePassword' );
+ }
+ //ensure the right gender
+ $user->setOption( 'gender', 'male' );
+ $user->saveSettings();
+
+ $user = User::newFromName( 'UTFemale' );
+ if( $user->getID() == 0 ) {
+ $user->addToDatabase();
+ $user->setPassword( 'UTFemalePassword' );
+ }
+ //ensure the right gender
+ $user->setOption( 'gender', 'female' );
+ $user->saveSettings();
+
+ $user = User::newFromName( 'UTDefaultGender' );
+ if( $user->getID() == 0 ) {
+ $user->addToDatabase();
+ $user->setPassword( 'UTDefaultGenderPassword' );
+ }
+ //ensure the default gender
+ $user->setOption( 'gender', null );
+ $user->saveSettings();
+ }
+
+ /**
+ * test usernames
+ *
+ * @dataProvider dataUserName
+ */
+ function testUserName( $username, $expectedGender ) {
+ $genderCache = GenderCache::singleton();
+ $gender = $genderCache->getGenderOf( $username );
+ $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );
+ }
+
+ /**
+ * genderCache should work with user objects, too
+ *
+ * @dataProvider dataUserName
+ */
+ function testUserObjects( $username, $expectedGender ) {
+ $genderCache = GenderCache::singleton();
+ $user = User::newFromName( $username );
+ $gender = $genderCache->getGenderOf( $user );
+ $this->assertEquals( $gender, $expectedGender, "GenderCache normal" );
+ }
+
+ function dataUserName() {
+ return array(
+ array( 'UTMale', 'male' ),
+ array( 'UTFemale', 'female' ),
+ array( 'UTDefaultGender', 'unknown' ),
+ array( 'UTNotExist', 'unknown' ),
+ //some not valid user
+ array( '127.0.0.1', 'unknown' ),
+ array( 'user@test', 'unknown' ),
+ );
+ }
+
+ /**
+ * test strip of subpages to avoid unnecessary queries
+ * against the never existing username
+ *
+ * @dataProvider dataStripSubpages
+ */
+ function testStripSubpages( $pageWithSubpage, $expectedGender ) {
+ $genderCache = GenderCache::singleton();
+ $gender = $genderCache->getGenderOf( $pageWithSubpage );
+ $this->assertEquals( $gender, $expectedGender, "GenderCache must strip of subpages" );
+ }
+
+ function dataStripSubpages() {
+ return array(
+ array( 'UTMale/subpage', 'male' ),
+ array( 'UTFemale/subpage', 'female' ),
+ array( 'UTDefaultGender/subpage', 'unknown' ),
+ array( 'UTNotExist/subpage', 'unknown' ),
+ array( '127.0.0.1/subpage', 'unknown' ),
+ );
+ }
+}
require_once( 'PHPUnit/Runner/Version.php' );
if( PHPUnit_Runner_Version::id() !== '@package_version@'
- && version_compare( PHPUnit_Runner_Version::id(), '3.5.0', '<' ) ) {
- die( 'PHPUnit 3.5 or later required, you have ' . PHPUnit_Runner_Version::id() . ".\n" );
+ && version_compare( PHPUnit_Runner_Version::id(), '3.6.7', '<' ) ) {
+ die( 'PHPUnit 3.6.7 or later required, you have ' . PHPUnit_Runner_Version::id() . ".\n" );
}
require_once( 'PHPUnit/Autoload.php' );