# Pre-fill content with error message so that if something
# fails we'll have something telling us what we intended.
//XXX: this isn't page content but a UI message. horrible.
- $this->mContentObject = new MessageContent( 'missing-revision', array( $oldid ), array() ) ;
+ $this->mContentObject = new MessageContent( 'missing-revision', array( $oldid ), array() );
if ( $oldid ) {
# $this->mRevision might already be fetched by getOldIDFromRequest()
'oldid' => $oldid
) + $extraParams
);
- $prev = $this->getTitle()->getPreviousRevisionID( $oldid ) ;
+ $prev = $this->getTitle()->getPreviousRevisionID( $oldid );
$prevlink = $prev
? Linker::linkKnown(
$this->getTitle(),
*/
define( 'DB_SLAVE', -1 ); # Read from the slave (or only server)
define( 'DB_MASTER', -2 ); # Write to master (or only server)
-define( 'DB_LAST', -3 ); # Whatever database was used last
/**@}*/
# Obsolete aliases
define( 'DB_READ', -1 );
define( 'DB_WRITE', -2 );
+define( 'DB_LAST', -3 ); # deprecated since 2008, usage throws exception
/**@{
return false;
case self::AS_PARSE_ERROR:
- $wgOut->addWikiText( '<div class="error">' . $status->getWikiText() . '</div>');
+ $wgOut->addWikiText( '<div class="error">' . $status->getWikiText() . '</div>' );
return true;
case self::AS_SUCCESS_NEW_ARTICLE:
} catch ( MWContentSerializationException $ex ) {
// this can't really happen, but be nice if it does.
$msg = wfMessage( 'content-failed-to-parse', $this->contentModel, $this->contentFormat, $ex->getMessage() );
- $wgOut->addWikiText( '<div class="error">' . $msg->text() . '</div>');
+ $wgOut->addWikiText( '<div class="error">' . $msg->text() . '</div>' );
}
}
$this->showDiff();
} catch ( MWContentSerializationException $ex ) {
$msg = wfMessage( 'content-failed-to-parse', $this->contentModel, $this->contentFormat, $ex->getMessage() );
- $wgOut->addWikiText( '<div class="error">' . $msg->text() . '</div>');
+ $wgOut->addWikiText( '<div class="error">' . $msg->text() . '</div>' );
}
}
}
if ( $this->mTriedSave && !$this->mTokenOk ) {
if ( $this->mTokenOkExceptSuffix ) {
- $note = wfMessage( 'token_suffix_mismatch' )->plain() ;
+ $note = wfMessage( 'token_suffix_mismatch' )->plain();
} else {
- $note = wfMessage( 'session_fail_preview' )->plain() ;
+ $note = wfMessage( 'session_fail_preview' )->plain();
}
} elseif ( $this->incompleteForm ) {
- $note = wfMessage( 'edit_form_incomplete' )->plain() ;
+ $note = wfMessage( 'edit_form_incomplete' )->plain();
} else {
$note = wfMessage( 'previewnote' )->plain() .
' [[#' . self::EDITFORM_ID . '|' . $wgLang->getArrow() . ' ' . wfMessage( 'continue-editing' )->text() . ']]';
* @ingroup SpecialPage Dump
*/
class WikiExporter {
- var $list_authors = false ; # Return distinct author list (when not returning full history)
- var $author_list = "" ;
+ var $list_authors = false; # Return distinct author list (when not returning full history)
+ var $author_list = "";
var $dumpUploads = false;
var $dumpUploadFileContents = false;
* @param $newname mixed File name. May be a string or an array with one element
*/
function closeRenameAndReopen( $newname ) {
- return;
}
/**
* @param $open bool If true, a new file with the old filename will be opened again for writing (default: false)
*/
function closeAndRename( $newname, $open = false ) {
- return;
}
/**
* @return null
*/
function getFilenames() {
- return NULL;
+ return null;
}
}
$row->rc_last_oldid, $row->rc_this_oldid,
$timestamp,
($row->rc_deleted & Revision::DELETED_COMMENT)
- ? wfMessage('rev-deleted-comment')->escaped()
+ ? wfMessage( 'rev-deleted-comment' )->escaped()
: $row->rc_comment,
$actiontext
);
protected static function getDiffLink( Title $title, $newid, $oldid = null ) {
$queryParameters = ($oldid == null)
? "diff={$newid}"
- : "diff={$newid}&oldid={$oldid}" ;
+ : "diff={$newid}&oldid={$oldid}";
$diffUrl = $title->getFullUrl( $queryParameters );
$diffLink = Html::element( 'a', array( 'href' => $diffUrl ),
$icon = $wgStylePath.'/common/images/'.$icon;
}
- $s = Html::openElement( 'div', array( 'class' => "mw-infobox $class") );
+ $s = Html::openElement( 'div', array( 'class' => "mw-infobox $class" ) );
$s .= Html::openElement( 'div', array( 'class' => 'mw-infobox-left' ) ).
Html::element( 'img',
if ( Http::isLocalURL( $this->url ) || $this->noProxy ) {
$this->proxy = '';
} elseif ( $wgHTTPProxy ) {
- $this->proxy = $wgHTTPProxy ;
+ $this->proxy = $wgHTTPProxy;
} elseif ( getenv( "http_proxy" ) ) {
$this->proxy = getenv( "http_proxy" );
}
* @param $alt String: Alt text for the image
* @param $link String: Override image link (optional)
*/
- function add( $title, $html = '', $alt = '', $link = '') {
+ function add( $title, $html = '', $alt = '', $link = '' ) {
if ( $title instanceof File ) {
// Old calling convention
$title = $title->getTitle();
array(),
array( 'known', 'noclasses' )
) . "<br />\n" :
- '' ;
+ '';
# ATTENTION: The newline after <div class="gallerytext"> is needed to accommodate htmltidy which
# in version 4.8.6 generated crackpot html in its absence, see:
$dirmark = $lang->getDirMarkEntity();
$request = $this->getContext()->getRequest();
- $sizeSel = intval( $user->getOption( 'imagesize' ) );
- if ( !isset( $wgImageLimits[$sizeSel] ) ) {
- $sizeSel = User::getDefaultOption( 'imagesize' );
-
- // The user offset might still be incorrect, specially if
- // $wgImageLimits got changed (see bug #8858).
- if ( !isset( $wgImageLimits[$sizeSel] ) ) {
- // Default to the first offset in $wgImageLimits
- $sizeSel = 0;
- }
- }
- $max = $wgImageLimits[$sizeSel];
+ $max = $this->getImageLimitsFromOption( $user, 'imagesize' );
$maxWidth = $max[0];
$maxHeight = $max[1];
} else {
# Creating thumb links triggers thumbnail generation.
# Just generate the thumb for the current users prefs.
- $thumbOption = $user->getOption( 'thumbsize' );
- $thumbSizes = array( isset( $wgImageLimits[$thumbOption] )
- ? $wgImageLimits[$thumbOption]
- : $wgImageLimits[User::getDefaultOption( 'thumbsize' )] );
+ $thumbSizes = array( $this->getImageLimitsFromOption( $user, 'thumbsize' ) );
}
# Generate thumbnails or thumbnail links as needed...
$otherSizes = array();
$wrap = "<div class=\"sharedUploadNotice\">\n$1\n</div>\n";
$repo = $this->mPage->getFile()->getRepo()->getDisplayName();
- if ( $descUrl && $descText && wfMessage( 'sharedupload-desc-here' )->plain() !== '-' ) {
+ if ( $descUrl && $descText && wfMessage( 'sharedupload-desc-here' )->plain() !== '-' ) {
$out->wrapWikiMsg( $wrap, array( 'sharedupload-desc-here', $repo, $descUrl ) );
} elseif ( $descUrl && wfMessage( 'sharedupload-desc-there' )->plain() !== '-' ) {
$out->wrapWikiMsg( $wrap, array( 'sharedupload-desc-there', $repo, $descUrl ) );
$ul = Html::rawElement(
'ul',
- array( 'class' => 'mw-imagepage-redirectstofile'),
+ array( 'class' => 'mw-imagepage-redirectstofile' ),
$li
) . "\n";
$liContents = wfMessage( 'linkstoimage-redirect' )->rawParams(
return $a->page_namespace - $b->page_namespace;
}
}
+
+ /**
+ * Returns the corrosponding $wgImageLimits entry for the selected user option
+ *
+ * @param $user User
+ * @param $optionName string Name of a option to check, typically imagesize or thumbsize
+ * @return array
+ * @since 1.21
+ */
+ public function getImageLimitsFromOption( $user, $optionName ) {
+ global $wgImageLimits;
+
+ $option = intval( $user->getOption( $optionName ) );
+ if ( !isset( $wgImageLimits[$option] ) ) {
+ $option = User::getDefaultOption( $optionName );
+ }
+
+ // The user offset might still be incorrect, specially if
+ // $wgImageLimits got changed (see bug #8858).
+ if ( !isset( $wgImageLimits[$option] ) ) {
+ // Default to the first offset in $wgImageLimits
+ $option = 0;
+ }
+
+ return isset( $wgImageLimits[$option] )
+ ? $wgImageLimits[$option]
+ : array( 800, 600 ); // if nothing is set, fallback to a hardcoded default
+ }
}
/**
while ( $this->reader->read() ) {
if ( $this->reader->nodeType == XmlReader::END_ELEMENT &&
- $this->reader->name == 'logitem') {
+ $this->reader->name == 'logitem' ) {
break;
}
while ( $skip ? $this->reader->next() : $this->reader->read() ) {
if ( $this->reader->nodeType == XmlReader::END_ELEMENT &&
- $this->reader->name == 'page') {
+ $this->reader->name == 'page' ) {
break;
}
while ( $skip ? $this->reader->next() : $this->reader->read() ) {
if ( $this->reader->nodeType == XmlReader::END_ELEMENT &&
- $this->reader->name == 'revision') {
+ $this->reader->name == 'revision' ) {
break;
}
while ( $skip ? $this->reader->next() : $this->reader->read() ) {
if ( $this->reader->nodeType == XmlReader::END_ELEMENT &&
- $this->reader->name == 'upload') {
+ $this->reader->name == 'upload' ) {
break;
}
while ( $this->reader->read() ) {
if ( $this->reader->nodeType == XmlReader::END_ELEMENT &&
- $this->reader->name == 'contributor') {
+ $this->reader->name == 'contributor' ) {
break;
}
}
if ( $script_type ) {
- if ( $script_type !== "UTF-8" && $script_type !== "ASCII") {
+ if ( $script_type !== "UTF-8" && $script_type !== "ASCII" ) {
// Quick and dirty fold down to ASCII!
$pack = array( 'UTF-16BE' => 'n*', 'UTF-16LE' => 'v*' );
$chars = unpack( $pack[$script_type], substr( $head, 2 ) );
wfDebug( __METHOD__ . ": proxy caching with ESI; {$this->mLastModified} **\n", false );
# start with a shorter timeout for initial testing
# header( 'Surrogate-Control: max-age=2678400+2678400, content="ESI/1.0"');
- $response->header( 'Surrogate-Control: max-age=' . $wgSquidMaxage . '+' . $this->mSquidMaxage . ', content="ESI/1.0"');
+ $response->header( 'Surrogate-Control: max-age=' . $wgSquidMaxage . '+' . $this->mSquidMaxage . ', content="ESI/1.0"' );
$response->header( 'Cache-Control: s-maxage=0, must-revalidate, max-age=0' );
} else {
# We'll purge the proxy cache for anons explicitly, but require end user agents
if ( $wgEnableEmail ) {
$helpMessages[] = $wgEmailConfirmToEdit
? 'prefs-help-email-required'
- : 'prefs-help-email' ;
+ : 'prefs-help-email';
if( $wgEnableUserEmail ) {
// additional messages when users can send email to each other
* @var Title
*/
var $mMovedToTitle = false;
- var $numberofWatchingusers = 0 ; # Dummy to prevent error message in SpecialRecentchangeslinked
+ var $numberofWatchingusers = 0; # Dummy to prevent error message in SpecialRecentchangeslinked
var $notificationtimestamp;
# Factory methods
$trail = "curid=" . (int)( $this->mAttribs['rc_cur_id'] ) .
"&oldid=" . (int)( $this->mAttribs['rc_last_oldid'] );
if ( $forceCur ) {
- $trail .= '&diff=0' ;
+ $trail .= '&diff=0';
} else {
$trail .= '&diff=' . (int)( $this->mAttribs['rc_this_oldid'] );
}
if ( $szdiff < -500 ) {
$szdiff = "\002$szdiff\002";
} elseif ( $szdiff >= 0 ) {
- $szdiff = '+' . $szdiff ;
+ $szdiff = '+' . $szdiff;
}
// @todo i18n with parentheses in content language?
- $szdiff = '(' . $szdiff . ')' ;
+ $szdiff = '(' . $szdiff . ')';
} else {
$szdiff = '';
}
*/
static function escapeClass( $class ) {
// Convert ugly stuff to underscores and kill underscores in ugly places
- return rtrim(preg_replace(
- array('/(^[0-9\\-])|[\\x00-\\x20!"#$%&\'()*+,.\\/:;<=>?@[\\]^`{|}~]|\\xC2\\xA0/','/_+/'),
+ return rtrim( preg_replace(
+ array( '/(^[0-9\\-])|[\\x00-\\x20!"#$%&\'()*+,.\\/:;<=>?@[\\]^`{|}~]|\\xC2\\xA0/', '/_+/' ),
'_',
- $class ), '_');
+ $class ), '_' );
}
/**
$ret = Sanitizer::normalizeEntity( $matches[1] );
} elseif( $matches[2] != '' ) {
$ret = Sanitizer::decCharReference( $matches[2] );
- } elseif( $matches[3] != '' ) {
+ } elseif( $matches[3] != '' ) {
$ret = Sanitizer::hexCharReference( $matches[3] );
}
if( is_null( $ret ) ) {
return Sanitizer::decodeEntity( $matches[1] );
} elseif( $matches[2] != '' ) {
return Sanitizer::decodeChar( intval( $matches[2] ) );
- } elseif( $matches[3] != '' ) {
+ } elseif( $matches[3] != '' ) {
return Sanitizer::decodeChar( hexdec( $matches[3] ) );
}
# Last case should be an ampersand by itself
// Please note strings below are enclosed in brackets [], this make the
// hyphen "-" a range indicator. Hence it is double backslashed below.
// See bug 26948
- $rfc5322_atext = "a-z0-9!#$%&'*+\\-\/=?^_`{|}~" ;
- $rfc1034_ldh_str = "a-z0-9\\-" ;
+ $rfc5322_atext = "a-z0-9!#$%&'*+\\-\/=?^_`{|}~";
+ $rfc1034_ldh_str = "a-z0-9\\-";
$HTML5_email_regexp = "/
^ # start of string
[$rfc1034_ldh_str]+ # First domain part
(\\.[$rfc1034_ldh_str]+)* # Following part prefixed with a dot
$ # End of string
- /ix" ; // case Insensitive, eXtended
+ /ix"; // case Insensitive, eXtended
return (bool) preg_match( $HTML5_email_regexp, $addr );
}
if ( !empty( $wgActionPaths ) && !isset( $wgActionPaths['view'] ) ) {
# 'view' is assumed the default action path everywhere in the code
# but is rarely filled in $wgActionPaths
- $wgActionPaths['view'] = $wgArticlePath ;
+ $wgActionPaths['view'] = $wgArticlePath;
}
if ( $wgStylePath === false ) $wgStylePath = "$wgScriptPath/skins";
// NOTE: nested transactions are not supported, only start a transaction if none is open
if ( $this->mDb->trxLevel() === 0 ) {
- $this->mDb->begin( get_class( $this ) . '::beginTransaction' );
+ $this->mDb->begin( get_class( $this ) . '::beginTransaction' );
$this->mHasTransaction = true;
}
}
$t->mDbkeyform = str_replace( ' ', '_', $filteredText );
$t->mDefaultNamespace = $defaultNamespace;
- static $cachedcount = 0 ;
+ static $cachedcount = 0;
if ( $t->secureAndSplit() ) {
if ( $defaultNamespace == NS_MAIN ) {
if ( $cachedcount >= self::CACHE_MAX ) {
if ( !isset( $this->mTitleProtection ) ) {
$dbr = wfGetDB( DB_SLAVE );
- $res = $dbr->select( 'protected_titles', '*',
+ $res = $dbr->select(
+ 'protected_titles',
+ array( 'pt_user', 'pt_reason', 'pt_expiry', 'pt_create_perm' ),
array( 'pt_namespace' => $this->getNamespace(), 'pt_title' => $this->getDBkey() ),
- __METHOD__ );
+ __METHOD__
+ );
// fetchRow returns false if there are no rows.
$this->mTitleProtection = $dbr->fetchRow( $res );
$res = $dbr->select(
'page_restrictions',
- '*',
+ array( 'pr_type', 'pr_expiry', 'pr_level', 'pr_cascade' ),
array( 'pr_page' => $this->getArticleID() ),
__METHOD__
);
$dbr = wfGetDB( DB_SLAVE );
- $res = $dbr->select( 'categorylinks', '*',
- array(
- 'cl_from' => $titleKey,
- ),
- __METHOD__,
- array()
+ $res = $dbr->select(
+ 'categorylinks',
+ 'cl_to',
+ array( 'cl_from' => $titleKey ),
+ __METHOD__
);
if ( $res->numRows() > 0 ) {
global $wgVariantArticlePath, $wgContLang;
if( $wgVariantArticlePath ) {
$router->add( $wgVariantArticlePath,
- array( 'variant' => '$2'),
+ array( 'variant' => '$2' ),
array( '$2' => $wgContLang->getVariants() )
);
}
// Also reported when ini_get('cgi.fix_pathinfo')==false
$matches['title'] = substr( $_SERVER['ORIG_PATH_INFO'], 1 );
- } elseif ( isset( $_SERVER['PATH_INFO'] ) && ($_SERVER['PATH_INFO'] != '') ) {
+ } elseif ( isset( $_SERVER['PATH_INFO'] ) && $_SERVER['PATH_INFO'] != '' ) {
// Regular old PATH_INFO yay
$matches['title'] = substr( $_SERVER['PATH_INFO'], 1 );
}
# This must be done before any globals are set by the code
if ( ini_get( 'register_globals' ) ) {
if ( isset( $_REQUEST['GLOBALS'] ) || isset( $_FILES['GLOBALS'] ) ) {
- die( '<a href="http://www.hardened-php.net/globals-problem">$GLOBALS overwrite vulnerability</a>');
+ die( '<a href="http://www.hardened-php.net/globals-problem">$GLOBALS overwrite vulnerability</a>' );
}
$verboten = array(
'GLOBALS',
* @param $contents String: NULL to make an open tag only; '' for a contentless closed tag (default)
* @return string
*/
- public static function elementClean( $element, $attribs = array(), $contents = '') {
+ public static function elementClean( $element, $attribs = array(), $contents = '' ) {
global $wgContLang;
if( $attribs ) {
$attribs = array_map( array( 'UtfNormal', 'cleanUp' ), $attribs );
foreach( $fields as $labelmsg => $input ) {
$id = "mw-$labelmsg";
$form .= Xml::openElement( 'tr', array( 'id' => $id ) );
- $form .= Xml::tags( 'td', array( 'class' => 'mw-label'), wfMessage( $labelmsg )->parse() );
+ $form .= Xml::tags( 'td', array( 'class' => 'mw-label' ), wfMessage( $labelmsg )->parse() );
$form .= Xml::openElement( 'td', array( 'class' => 'mw-input' ) ) . $input . Xml::closeElement( 'td' );
$form .= Xml::closeElement( 'tr' );
}
$oldid = $this->page->getLatest();
}
$prev = $this->getTitle()->getPreviousRevisionId( $oldid );
- $oldid = $prev ? $prev : -1 ;
+ $oldid = $prev ? $prev : -1;
break;
case 'cur':
$oldid = 0;
if ( $rev->isCurrent() ) {
// May get from/save to parser cache
$p_result = $this->getParsedContent( $pageObj, $popts,
- $pageid, isset( $prop['wikitext'] ) ) ;
+ $pageid, isset( $prop['wikitext'] ) );
} else { // This is an old revision, so get the text differently
$this->content = $rev->getContent( Revision::FOR_THIS_USER, $this->getUser() );
// Potentially cached
$p_result = $this->getParsedContent( $pageObj, $popts, $pageid,
- isset( $prop['wikitext'] ) ) ;
+ isset( $prop['wikitext'] ) );
}
} else { // Not $oldid, $pageid, $page. Hence based on $text
$titleObj = Title::newFromText( $title );
$this->addFields( LocalFile::selectFields() );
$ascendingOrder = true;
- if ( $params['dir'] == 'descending' || $params['dir'] == 'older') {
+ if ( $params['dir'] == 'descending' || $params['dir'] == 'older' ) {
$ascendingOrder = false;
}
$lang = $langObj->getCode();
$customisedMessages = AllmessagesTablePager::getCustomisedStatuses(
- array_map( array( $langObj, 'ucfirst'), $messages_target ), $lang, $lang != $wgContLang->getCode() );
+ array_map( array( $langObj, 'ucfirst' ), $messages_target ), $lang, $lang != $wgContLang->getCode() );
$customised = $params['customised'] === 'modified';
}
// Ignore namespace and unique due to inability to know whether they were purposely set
foreach( array( 'from', 'to', 'prefix', /*'namespace',*/ 'continue', /*'unique'*/ ) as $p ) {
if ( !is_null( $params[$p] ) ) {
- $this->dieUsage( "The '{$p}' parameter cannot be used in modes 1 or 2", 'badparams');
+ $this->dieUsage( "The '{$p}' parameter cannot be used in modes 1 or 2", 'badparams' );
}
}
} else {
foreach( array( 'start', 'end' ) as $p ) {
if ( !is_null( $params[$p] ) ) {
- $this->dieUsage( "The {$p} parameter cannot be used in mode 3", 'badparams');
+ $this->dieUsage( "The {$p} parameter cannot be used in mode 3", 'badparams' );
}
}
}
'unblock' => array( 'ApiQueryInfo', 'getUnblockToken' ),
'email' => array( 'ApiQueryInfo', 'getEmailToken' ),
'import' => array( 'ApiQueryInfo', 'getImportToken' ),
- 'watch' => array( 'ApiQueryInfo', 'getWatchToken'),
+ 'watch' => array( 'ApiQueryInfo', 'getWatchToken' ),
);
wfRunHooks( 'APIQueryInfoTokens', array( &$this->tokenFunctions ) );
return $this->tokenFunctions;
public function appendExtensionTags( $property ) {
global $wgParser;
$wgParser->firstCallInit();
- $tags = array_map( array( $this, 'formatParserTags'), $wgParser->getTags() );
+ $tags = array_map( array( $this, 'formatParserTags' ), $wgParser->getTags() );
$this->getResult()->setIndexedTagName( $tags, 't' );
return $this->getResult()->addValue( 'query', $property, $tags );
}
$result = $this->getResult();
if ( !$params['filekey'] && !$params['sessionkey'] ) {
- $this->dieUsage( "One of filekey or sessionkey must be supplied", 'nofilekey');
+ $this->dieUsage( "One of filekey or sessionkey must be supplied", 'nofilekey' );
}
// Alias sessionkey to filekey, but give an existing filekey precedence.
$fileKey = $stashFile->getFileKey();
} catch ( MWException $e ) {
$message = 'Stashing temporary file failed: ' . get_class( $e ) . ' ' . $e->getMessage();
- wfDebug( __METHOD__ . ' ' . $message . "\n");
+ wfDebug( __METHOD__ . ' ' . $message . "\n" );
throw new MWException( $message );
}
return $fileKey;
protected function checkAsyncDownloadEnabled() {
global $wgAllowAsyncCopyUploads;
if ( !$wgAllowAsyncCopyUploads ) {
- $this->dieUsage( 'Asynchronous copy uploads disabled', 'asynccopyuploaddisabled');
+ $this->dieUsage( 'Asynchronous copy uploads disabled', 'asynccopyuploaddisabled' );
}
}
$this->checkCacheDirs(); // build parent dir
if ( !file_put_contents( $this->cachePath(), $text, LOCK_EX ) ) {
- wfDebug( __METHOD__ . "() failed saving ". $this->cachePath() . "\n");
+ wfDebug( __METHOD__ . "() failed saving ". $this->cachePath() . "\n" );
$this->mCached = null;
return false;
}
public function loadFromFileCache( IContextSource $context ) {
global $wgMimeType, $wgLanguageCode;
- wfDebug( __METHOD__ . "()\n");
+ wfDebug( __METHOD__ . "()\n" );
$filename = $this->cachePath();
$context->getOutput()->sendCacheControl();
// Also delete cached sidebar... just in case it is affected
$codes = array( $code );
- if ( $code === 'en' ) {
+ if ( $code === 'en' ) {
// Delete all sidebars, like for example on action=purge on the
// sidebar messages
$codes = array_keys( Language::fetchLanguageNames() );
$blurlArr = $title->getSquidURLs();
if ( $res->numRows() <= $wgMaxSquidPurgeTitles ) {
foreach ( $res as $BL ) {
- $tobj = Title::makeTitle( $BL->page_namespace, $BL->page_title ) ;
+ $tobj = Title::makeTitle( $BL->page_namespace, $BL->page_title );
$blurlArr[] = $tobj->getInternalURL();
}
}
*
* @since 1.21
*/
- public function replaceSection( $section, Content $with, $sectionTitle = '' ) {
+ public function replaceSection( $section, Content $with, $sectionTitle = '' ) {
return null;
}
* @param $sectionTitle String: new section's subject, only if $section is 'new'
* @return string Complete article text, or null if error
*/
- public function replaceSection( $section, Content $with, $sectionTitle = '' );
+ public function replaceSection( $section, Content $with, $sectionTitle = '' );
/**
* Returns a Content object with pre-save transformations applied (or this
* @ingroup Database
*/
class DatabaseMssql extends DatabaseBase {
- var $mInsertId = NULL;
- var $mLastResult = NULL;
- var $mAffectedRows = NULL;
+ var $mInsertId = null;
+ var $mLastResult = null;
+ var $mAffectedRows = null;
var $mPort;
// $this->limitResult();
if ( preg_match( '/\bLIMIT\s*/i', $sql ) ) {
// massage LIMIT -> TopN
- $sql = $this->LimitToTopN( $sql ) ;
+ $sql = $this->LimitToTopN( $sql );
}
// MSSQL doesn't have EXTRACT(epoch FROM XXX)
$sql = "sp_helpindex '" . $table . "'";
$res = $this->query( $sql, $fname );
if ( !$res ) {
- return NULL;
+ return null;
}
$result = array();
if ( $k == $identity ) {
if( !is_null($v) ) {
// there is a value being passed to us, we need to turn on and off inserted identity
- $sqlPre = "SET IDENTITY_INSERT $table ON;" ;
+ $sqlPre = "SET IDENTITY_INSERT $table ON;";
$sqlPost = ";SET IDENTITY_INSERT $table OFF;";
} else {
if ( $ret === false ) {
throw new DBQueryError( $this, $this->getErrors(), $this->lastErrno(), $sql, $fname );
- } elseif ( $ret != NULL ) {
+ } elseif ( $ret != null ) {
// remember number of rows affected
$this->mAffectedRows = sqlsrv_rows_affected( $ret );
if ( !is_null($identity) ) {
if ( $ret === false ) {
throw new DBQueryError( $this, $this->getErrors(), $this->lastErrno(), /*$sql*/ '', $fname );
- } elseif ( $ret != NULL ) {
+ } elseif ( $ret != null ) {
// remember number of rows affected
$this->mAffectedRows = sqlsrv_rows_affected( $ret );
return $ret;
}
- return NULL;
+ return null;
}
/**
public function free() {
unset( $this->mRows );
- return;
}
}
function unionQueries( $sqls, $all ) {
$glue = ' UNION ALL ';
- return 'SELECT * ' . ( $all ? '':'/* UNION_UNIQUE */ ' ) . 'FROM (' . implode( $glue, $sqls ) . ')' ;
+ return 'SELECT * ' . ( $all ? '':'/* UNION_UNIQUE */ ' ) . 'FROM (' . implode( $glue, $sqls ) . ')';
}
function wasDeadlock() {
}
public function removeIdentifierQuotes( $s ) {
- return strpos( $s, '/*Q*/' ) === FALSE ? $s : substr( $s, 5 );
+ return strpos( $s, '/*Q*/' ) === false ? $s : substr( $s, 5 );
}
public function isQuotedIdentifier( $s ) {
- return strpos( $s, '/*Q*/' ) !== FALSE;
+ return strpos( $s, '/*Q*/' ) !== false;
}
private function wrapFieldForWhere( $table, &$col, &$val ) {
} else {
if( isset( $knownThumbUrls[$sizekey] ) ) {
wfDebug( __METHOD__ . ': Got thumburl from local cache: ' .
- "{$knownThumbUrls[$sizekey]} \n");
+ "{$knownThumbUrls[$sizekey]} \n" );
return $knownThumbUrls[$sizekey];
}
/* This size is not yet known */
if( !$this->title || $this->title->getNamespace() == NS_FILE ) {
$this->dataLoaded = true; // set it here, to have also true on miss
$dbr = wfGetDB( DB_SLAVE );
- $row = $dbr->selectRow( 'filearchive',
- array(
- 'fa_id',
- 'fa_name',
- 'fa_archive_name',
- 'fa_storage_key',
- 'fa_storage_group',
- 'fa_size',
- 'fa_bits',
- 'fa_width',
- 'fa_height',
- 'fa_metadata',
- 'fa_media_type',
- 'fa_major_mime',
- 'fa_minor_mime',
- 'fa_description',
- 'fa_user',
- 'fa_user_text',
- 'fa_timestamp',
- 'fa_deleted',
- 'fa_sha1' ),
+ $row = $dbr->selectRow(
+ 'filearchive',
+ self::selectFields(),
$conds,
__METHOD__,
- array( 'ORDER BY' => 'fa_timestamp DESC')
+ array( 'ORDER BY' => 'fa_timestamp DESC' )
);
if ( !$row ) {
// this revision does not exist?
return $file;
}
+ /**
+ * Fields in the filearchive table
+ * @return array
+ */
+ static function selectFields() {
+ return array(
+ 'fa_id',
+ 'fa_name',
+ 'fa_archive_name',
+ 'fa_storage_key',
+ 'fa_storage_group',
+ 'fa_size',
+ 'fa_bits',
+ 'fa_width',
+ 'fa_height',
+ 'fa_metadata',
+ 'fa_media_type',
+ 'fa_major_mime',
+ 'fa_minor_mime',
+ 'fa_description',
+ 'fa_user',
+ 'fa_user_text',
+ 'fa_timestamp',
+ 'fa_deleted',
+ 'fa_sha1',
+ );
+ }
+
/**
* Load ArchivedFile object fields from a DB row.
*
// Directory where file should be
// This happened occasionally due to broken migration code in 1.5
// Rename to broken-*
- for ( $i = 0; $i < 100 ; $i++ ) {
+ for ( $i = 0; $i < 100; $i++ ) {
$broken = $this->repo->getZonePath( 'public' ) . "/broken-$i-$thumbName";
if ( !file_exists( $broken ) ) {
rename( $thumbPath, $broken );
$conditions[] = 'fa_id IN (' . $dbw->makeList( $this->ids ) . ')';
}
- $result = $dbw->select( 'filearchive', '*',
+ $result = $dbw->select(
+ 'filearchive',
+ ArchivedFile::selectFields(),
$conditions,
__METHOD__,
array( 'ORDER BY' => 'fa_timestamp DESC' )
$text = preg_replace( '/^\t\t/m', '::', $text );
$text = preg_replace( '/^\t/m', ':', $text );
// turn (bug nnnn) into links
- $text = preg_replace_callback('/bug (\d+)/', array( $this, 'replaceBugLinks' ), $text );
+ $text = preg_replace_callback( '/bug (\d+)/', array( $this, 'replaceBugLinks' ), $text );
// add links to manual to every global variable mentioned
- $text = preg_replace_callback('/(\$wg[a-z0-9_]+)/i', array( $this, 'replaceConfigLinks' ), $text );
+ $text = preg_replace_callback( '/(\$wg[a-z0-9_]+)/i', array( $this, 'replaceConfigLinks' ), $text );
return $text;
}
'config-mysql-utf8' => 'UTF-8',
'config-site-name' => 'Όνομα του βίκι:',
'config-site-name-blank' => 'Εισαγάγετε όνομα ιστοχώρου.',
- 'config-project-namespace' => 'ΠεÏ\81ιοÏ\87ή ονÏ\8cμαÏ\84ος εγχειρήματος:',
+ 'config-project-namespace' => 'Î\9fνομαÏ\84οÏ\87Ï\8eÏ\81ος εγχειρήματος:',
'config-ns-generic' => 'Εγχείρημα',
'config-ns-site-name' => 'Ίδιο με το όνομα του wiki: $1',
'config-ns-other' => 'Άλλο (προσδιορίστε)',
$this->startForm();
$this->addHTML( "<ul>" );
$results = $this->parent->performInstallation(
- array( $this, 'startStage'),
+ array( $this, 'startStage' ),
array( $this, 'endStage' )
);
$this->addHTML( "</ul>" );
}
public function startStage( $step ) {
- $this->addHTML( "<li>" . wfMessage( "config-install-$step" )->escaped() . wfMessage( 'ellipsis')->escaped() );
+ $this->addHTML( "<li>" . wfMessage( "config-install-$step" )->escaped() . wfMessage( 'ellipsis' )->escaped() );
if ( $step == 'extension-tables' ) {
$this->startLiveBox();
}
} elseif ( $page != '' ) {
$urlParam['page'] = $page;
}
- if ( $user != '')
+ if ( $user != '' )
$urlParam['user'] = $user;
if ( !is_array( $types ) ) # Make it an array, if it isn't
$types = array( $types );
$parameters = $entry->getParameters();
// @see LogPage::actionText()
// Text of title the action is aimed at.
- $target = $entry->getTarget()->getPrefixedText() ;
+ $target = $entry->getTarget()->getPrefixedText();
$text = null;
switch( $entry->getType() ) {
case 'move':
# Text layer
if ( isset( $wgDjvuTxt ) ) {
wfProfileIn( 'djvutxt' );
- $cmd = wfEscapeShellArg( $wgDjvuTxt ) . ' --detail=page ' . wfEscapeShellArg( $this->mFilename ) ;
+ $cmd = wfEscapeShellArg( $wgDjvuTxt ) . ' --detail=page ' . wfEscapeShellArg( $this->mFilename );
wfDebug( __METHOD__ . ": $cmd\n" );
$retval = '';
$txt = wfShellExec( $cmd, $retval, array(), array( 'memory' => self::DJVUTXT_MEMORY_LIMIT ) );
$txt = preg_replace_callback( $reg, array( $this, 'pageTextCallback' ), $txt );
$txt = "<DjVuTxt>\n<HEAD></HEAD>\n<BODY>\n" . $txt . "</BODY>\n</DjVuTxt>\n";
$xml = preg_replace( "/<DjVuXML>/", "<mw-djvu><DjVuXML>", $xml, 1 );
- $xml = $xml . $txt. '</mw-djvu>' ;
+ $xml = $xml . $txt. '</mw-djvu>';
}
}
wfProfileOut( __METHOD__ );
$this->exifPropToOrd( 'SceneType' );
$this->charCodeString( 'UserComment' );
- $this->charCodeString( 'GPSProcessingMethod');
+ $this->charCodeString( 'GPSProcessingMethod' );
$this->charCodeString( 'GPSAreaInformation' );
//ComponentsConfiguration should really be an array instead of a string...
}
if ( $action === true ) {
- wfDebugLog( $this->log, "$class::$fname: accepted: '$in' (type: $type)\n");
+ wfDebugLog( $this->log, "$class::$fname: accepted: '$in' (type: $type)\n" );
} elseif ( $action === false ) {
- wfDebugLog( $this->log, "$class::$fname: rejected: '$in' (type: $type)\n");
+ wfDebugLog( $this->log, "$class::$fname: rejected: '$in' (type: $type)\n" );
} elseif ( $action === null ) {
- wfDebugLog( $this->log, "$class::$fname: input was: '$in' (type: $type)\n");
+ wfDebugLog( $this->log, "$class::$fname: input was: '$in' (type: $type)\n" );
} else {
- wfDebugLog( $this->log, "$class::$fname: $action (type: $type; content: '$in')\n");
+ wfDebugLog( $this->log, "$class::$fname: $action (type: $type; content: '$in')\n" );
}
}
if ( $metadata === self::OLD_BROKEN_FILE ) {
# Old special value indicating that there is no EXIF data in the file.
# or that there was an error well extracting the metadata.
- wfDebug( __METHOD__ . ": back-compat version\n");
+ wfDebug( __METHOD__ . ": back-compat version\n" );
return self::METADATA_COMPATIBLE;
}
if ( $metadata === self::BROKEN_FILE ) {
if ( $subTag != 'fired' && $subValue == 0 ) {
continue;
}
- $fullTag = $tag . '-' . $subTag ;
+ $fullTag = $tag . '-' . $subTag;
$flashMsgs[] = self::msg( $fullTag, $subValue );
}
$val = $wgLang->commaList( $flashMsgs );
$dateOnly = true;
}
- if ( !( preg_match('/\d\d\d\d\d\d[-+]\d\d\d\d/', $time)
- && preg_match('/\d\d\d\d\d\d\d\d/', $date)
+ if ( !( preg_match( '/\d\d\d\d\d\d[-+]\d\d\d\d/', $time )
+ && preg_match( '/\d\d\d\d\d\d\d\d/', $date )
&& substr( $date, 0, 4 ) !== '0000'
&& substr( $date, 4, 2 ) !== '00'
&& substr( $date, 6, 2 ) !== '00'
// for example: the date 00000400 means the photo was taken in
// April, but the year and day is unknown. We don't process these
// types of incomplete dates atm.
- wfDebugLog( 'iptc', "IPTC: invalid time ( $time ) or date ( $date )");
+ wfDebugLog( 'iptc', "IPTC: invalid time ( $time ) or date ( $date )" );
return null;
}
static function getHandler( $type ) {
global $wgMediaHandlers;
if ( !isset( $wgMediaHandlers[$type] ) ) {
- wfDebug( __METHOD__ . ": no handler found for $type.\n");
+ wfDebug( __METHOD__ . ": no handler found for $type.\n" );
return false;
}
$class = $wgMediaHandlers[$type];
default:
//this should be impossible to get to
throw new MWException( "Invalid BOM" );
- break;
-
}
-
} else {
// standard specifically says, if no bom assume utf-8
$this->charset = 'UTF-8';
* @param $elm String Namespace of element followed by a space and then tag name of element.
*/
private function endElementModeIgnore ( $elm ) {
-
if ( $this->curItem[0] === $elm ) {
array_shift( $this->curItem );
array_shift( $this->mode );
}
- return;
-
}
/**
if ( $elm === self::NS_RDF . ' RDF'
|| $elm === 'adobe:ns:meta/ xmpmeta'
- || $elm === 'adobe:ns:meta/ xapmeta')
+ || $elm === 'adobe:ns:meta/ xapmeta' )
{
/* ignore. */
return;
if ( count( $this->mode ) === 0 ) {
// This should not happen.
- throw new MWException('Error extracting XMP, '
+ throw new MWException( 'Error extracting XMP, '
. "encountered <$elm> with no mode" );
}
break;
default:
throw new MWException( 'StartElement in unknown mode: ' . $this->mode[0] );
- break;
}
}
// We do < 0 here instead of < -1 here, since
// the values between 0 and -1 are also illegal
// as -1 is meant as a special reject rating.
- wfDebugLog( 'XMP', __METHOD__ . " Rating too low, setting to -1 (Rejected)");
+ wfDebugLog( 'XMP', __METHOD__ . " Rating too low, setting to -1 (Rejected)" );
$val = '-1';
return;
}
if ( $nVal > 5 ) {
- wfDebugLog( 'XMP', __METHOD__ . " Rating too high, setting to 5");
+ wfDebugLog( 'XMP', __METHOD__ . " Rating too high, setting to 5" );
$val = '5';
return;
}
}
fclose( $in );
-$out = fopen("Utf8Case.php", "wt");
+$out = fopen( "Utf8Case.php", "wt" );
if( $out ) {
$outUpperChars = escapeArray( $wikiUpperChars );
$outLowerChars = escapeArray( $wikiLowerChars );
* @return ObjectCache
*/
static function newAccelerator( $params ) {
- if ( function_exists( 'apc_fetch') ) {
+ if ( function_exists( 'apc_fetch' ) ) {
$id = 'apc';
} elseif( function_exists( 'xcache_get' ) && wfIniGetBool( 'xcache.var_size' ) ) {
$id = 'xcache';
* @param $prefix String [optional]
* @return string
*/
- function makeHolder( $nt, $text = '', $query = array(), $trail = '', $prefix = '' ) {
+ function makeHolder( $nt, $text = '', $query = array(), $trail = '', $prefix = '' ) {
wfProfileIn( __METHOD__ );
if ( !is_object( $nt ) ) {
# Fail gracefully
$out .= "</tr>\n";
}
if ( !array_pop( $has_opened_tr ) ) {
- $out .= "<tr><td></td></tr>\n" ;
+ $out .= "<tr><td></td></tr>\n";
}
$out .= "</table>\n";
# Hook to suspend the parser in this state
if ( !wfRunHooks( 'ParserBeforeInternalParse', array( &$this, &$text, &$this->mStripState ) ) ) {
wfProfileOut( __METHOD__ );
- return $text ;
+ return $text;
}
# if $frame is provided, then use $frame for replacing any variables
if ( $firstspace == -1 ) {
$firstspace = $i;
}
- } elseif ( $x2 === ' ') {
+ } elseif ( $x2 === ' ' ) {
if ( $firstsingleletterword == -1 ) {
$firstsingleletterword = $i;
}
wfProfileIn( __METHOD__ );
wfProfileIn( __METHOD__ . '-setup' );
- static $tc = FALSE, $e1, $e1_img;
+ static $tc = false, $e1, $e1_img;
# the % is needed to support urlencoded titles as well
if ( !$tc ) {
$tc = Title::legalChars() . '#%';
wfProfileOut( __METHOD__ . '-setup' );
# Loop for each link
- for ( ; $line !== false && $line !== null ; $a->next(), $line = $a->current() ) {
+ for ( ; $line !== false && $line !== null; $a->next(), $line = $a->current() ) {
# Check for excessive memory usage
if ( $holders->isBig() ) {
# Too big
}
$trail = "";
} else { # Invalid form; output directly
- $s .= $prefix . '[[' . $line ;
+ $s .= $prefix . '[[' . $line;
wfProfileOut( __METHOD__ . "-e1" );
continue;
}
# PROTO: where PROTO is a valid URL protocol; these
# should be external links.
if ( preg_match( '/^(?i:' . $this->mUrlProtocols . ')/', $m[1] ) ) {
- $s .= $prefix . '[[' . $line ;
+ $s .= $prefix . '[[' . $line;
wfProfileOut( __METHOD__ . "-misc" );
continue;
}
$output .= $this->nextItem( substr( $prefix, -1 ) );
$paragraphStack = false;
- if ( substr( $prefix, -1 ) === ';') {
+ if ( substr( $prefix, -1 ) === ';' ) {
# The one nasty exception: definition lists work like this:
# ; title : definition text
# So we check for : in the remainder text to split up the
wfProfileIn( __METHOD__ . "-paragraph" );
# No prefix (not in list)--go to paragraph mode
# XXX: use a stack for nestable elements like span, table and div
- $openmatch = preg_match('/(?:<table|<blockquote|<h1|<h2|<h3|<h4|<h5|<h6|<pre|<tr|<p|<ul|<ol|<dl|<li|<\\/tr|<\\/td|<\\/th)/iS', $t );
+ $openmatch = preg_match( '/(?:<table|<blockquote|<h1|<h2|<h3|<h4|<h5|<h6|<pre|<tr|<p|<ul|<ol|<dl|<li|<\\/tr|<\\/td|<\\/th)/iS', $t );
$closematch = preg_match(
'/(?:<\\/table|<\\/blockquote|<\\/h1|<\\/h2|<\\/h3|<\\/h4|<\\/h5|<\\/h6|'.
'<td|<th|<\\/?div|<hr|<\\/pre|<\\/p|'.$this->mUniqPrefix . '-pre|<\\/li|<\\/ul|<\\/ol|<\\/dl|<\\/?center)/iS', $t );
$sectionIndex = false;
$numbering = '';
$markerMatches = array();
- if ( preg_match("/^$markerRegex/", $headline, $markerMatches ) ) {
+ if ( preg_match( "/^$markerRegex/", $headline, $markerMatches ) ) {
$serial = $markerMatches[1];
list( $titleText, $sectionIndex ) = $this->mHeadings[$serial];
$isTemplate = ( $titleText != $baseTitleText );
} else { # Inline image
if ( !isset( $params['frame']['alt'] ) ) {
# No alt text, use the "caption" for the alt text
- if ( $caption !== '') {
+ if ( $caption !== '' ) {
$params['frame']['alt'] = $this->stripAltText( $caption, $holders );
} else {
# No caption, fall back to using the filename for the
if ( in_array( 'stubthreshold', $forOptions ) ) {
$confstr .= '!' . $this->mStubThreshold;
} else {
- $confstr .= '!*' ;
+ $confstr .= '!*';
}
if ( in_array( 'dateformat', $forOptions ) ) {
wfProfileIn( __METHOD__ );
wfProfileIn( __METHOD__ . '-setup' );
- static $tc = FALSE, $titleRegex; //$e1, $e1_img;
+ static $tc = false, $titleRegex; //$e1, $e1_img;
if( !$tc ) {
# the % is needed to support urlencoded titles as well
$tc = Title::legalChars() . '#%';
foreach( $this->ids as $timestamp ) {
$archiveNames[] = $timestamp . '!' . $this->title->getDBkey();
}
- return $db->select( 'oldimage', '*',
+ return $db->select(
+ 'oldimage',
+ OldLocalFile::selectFields(),
array(
'oi_name' => $this->title->getDBkey(),
'oi_archive_name' => $archiveNames
*/
public function doQuery( $db ) {
$ids = array_map( 'intval', $this->ids );
- return $db->select( 'filearchive', '*',
+ return $db->select(
+ 'filearchive',
+ ArchivedFile::selectFields(),
array(
'fa_name' => $this->title->getDBkey(),
'fa_id' => $ids
if ( $pageName !== false ) {
$pageName = $this->toDBKey( trim( $pageName ) );
- $url = str_replace( '$1', wfUrlencode( $pageName ), $url ) ;
+ $url = str_replace( '$1', wfUrlencode( $pageName ), $url );
}
return $url;
}
if ( $pageName !== false ) {
- $url = str_replace( '$1', rawurlencode( $pageName ), $url ) ;
+ $url = str_replace( '$1', rawurlencode( $pageName ), $url );
}
return $url;
( $this->opts['target'] ? array() : array( 'autofocus' )
)
) . ' '
- ) ;
+ );
$namespaceSelection =
Xml::tags( 'td', array( 'class' => 'mw-label' ),
array( 'title' => $this->msg( 'tooltip-namespace_association' )->text(), 'class' => 'mw-input' )
) . ' '
)
- ) ;
+ );
if ( $this->getUser()->isAllowed( 'deletedhistory' ) ) {
$deletedOnlyCheck = Html::rawElement( 'span', array( 'style' => 'white-space: nowrap' ),
$this->msg( 'sp-contributions-submit' )->text(),
array( 'class' => 'mw-submit' )
)
- ) ;
+ );
$form .=
Xml::fieldset( $this->msg( 'sp-contributions-search' )->text() ) .
$page = $request->getText( 'pages' );
$nsindex = $request->getText( 'nsindex', '' );
- if ( strval( $nsindex ) !== '' ) {
+ if ( strval( $nsindex ) !== '' ) {
/**
* Same implementation as above, so same @todo
*/
$list_authors = $request->getCheck( 'listauthors' );
if ( !$this->curonly || !$wgExportAllowListContributors ) {
- $list_authors = false ;
+ $list_authors = false;
}
if ( $this->doExport ) {
$options['GROUP BY'] = $this->creationSort ? 'user_id' : 'user_name';
$query = array(
- 'tables' => array( 'user', 'user_groups', 'ipblocks'),
+ 'tables' => array( 'user', 'user_groups', 'ipblocks' ),
'fields' => array(
'user_name' => $this->creationSort ? 'MAX(user_name)' : 'user_name',
'user_id' => $this->creationSort ? 'user_id' : 'MAX(user_id)',
'tables' => array( 'page' ),
'fields' => array( 'namespace' => 'page_namespace',
'title' => 'page_title',
- 'value' => 'page_counter'),
+ 'value' => 'page_counter' ),
'conds' => array( 'page_is_redirect' => 0,
'page_namespace' => MWNamespace::getContentNamespaces() ) );
}
'hideredirects' => $hideredirects,
);
- if( $namespace || ($prefix == '')) {
+ if( $namespace || $prefix == '' ) {
// Keep the namespace even if it's 0 for empty prefixes.
// This tells us we're not just a holdover from old links.
$query['namespace'] = $namespace;
# Should advanced UI be used?
$this->searchAdvanced = ($this->profile === 'advanced');
$out = $this->getOutput();
- if( strval( $term ) !== '' ) {
+ if( strval( $term ) !== '' ) {
$out->setPageTitle( $this->msg( 'searchresults' ) );
$out->setHTMLTitle( $this->msg( 'pagetitle' )->rawParams(
$this->msg( 'searchresults-title' )->rawParams( $term )->text()
);
}
$out .= Xml::closeElement( 'ul' );
- $out .= Xml::closeElement( 'div' ) ;
+ $out .= Xml::closeElement( 'div' );
// Results-info
if ( $resultsShown > 0 ) {
function listFiles() {
if( $this->title->getNamespace() == NS_FILE ) {
$dbr = wfGetDB( DB_SLAVE );
- $res = $dbr->select( 'filearchive',
- array(
- 'fa_id',
- 'fa_name',
- 'fa_archive_name',
- 'fa_storage_key',
- 'fa_storage_group',
- 'fa_size',
- 'fa_width',
- 'fa_height',
- 'fa_bits',
- 'fa_metadata',
- 'fa_media_type',
- 'fa_major_mime',
- 'fa_minor_mime',
- 'fa_description',
- 'fa_user',
- 'fa_user_text',
- 'fa_timestamp',
- 'fa_deleted',
- 'fa_sha1' ),
+ $res = $dbr->select(
+ 'filearchive',
+ ArchivedFile::selectFields(),
array( 'fa_name' => $this->title->getDBkey() ),
__METHOD__,
array( 'ORDER BY' => 'fa_timestamp DESC' ) );
global $wgVerifyMimeType;
wfProfileIn( __METHOD__ );
if ( $wgVerifyMimeType ) {
- wfDebug ( "\n\nmime: <$mime> extension: <{$this->mFinalExtension}>\n\n");
+ wfDebug ( "\n\nmime: <$mime> extension: <{$this->mFinalExtension}>\n\n" );
global $wgMimeTypeBlacklist;
if ( $this->checkFileExtension( $mime, $wgMimeTypeBlacklist ) ) {
wfProfileOut( __METHOD__ );
if( $index === null ) {
$index = $this->getChunkIndex();
}
- return $this->mFileKey . '.' . $index ;
+ return $this->mFileKey . '.' . $index;
}
}
'diff-multi' => '({{PLURAL:$1|پیاچوونەوەیەکی نێوانی|$1 پیاچوونەوەی نێوانی}}ی {{PLURAL:$2|بەکارھێنەرێک|$2 بەکارھێنەر}} نیشان نەدراوە)',
# Search results
-'searchresults' => 'ئەنجامەکانی گەڕان',
-'searchresults-title' => 'ئەنجامەکانی گەڕان بۆ "$1"',
+'searchresults' => 'ئاکامەکانی گەڕان',
+'searchresults-title' => 'ئاکامەکانی گەڕان بۆ «$1»',
'searchresulttext' => 'بۆ زانیاری زیاتر دەربارەی گەڕان {{SITENAME}} ، بڕوانە لە [[{{MediaWiki:Helppage}}|{{int:help}}]].',
'searchsubtitle' => "گەڕایت بۆ '''[[:$1]]''' ([[Special:Prefixindex/$1|ھەموو ئەو پەڕانەی بە «$1»ەوە دەستپێدەکەن]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|ھەموو ئەو پەڕانەی بەستەریان ھەیە بۆ «$1»]])",
'searchsubtitleinvalid' => "گەڕایت بۆ '''$1'''",
'gotaccount' => "Oes cyfrif gennych eisoes? '''$1'''.",
'gotaccountlink' => 'Mewngofnodwch',
'userlogin-resetlink' => 'Ydych chi wedi anghofio eich manylion mewngofnodi?',
-'createaccountmail' => 'trwy e-bost',
+'createaccountmail' => "Defnyddier cyfrinair ar hap dros dro a'i anfon i'r cyfeiriad e-bost isod",
'createaccountreason' => 'Rheswm:',
'badretype' => "Nid yw'r cyfrineiriau'n union yr un fath.",
'userexists' => 'Mae rhywun arall wedi dewis yr enw defnyddiwr hwn.
'edit-already-exists' => 'Ni ellid creu tudalen newydd.
Mae ar gael yn barod.',
'defaultmessagetext' => 'Y testun rhagosodedig',
+'content-failed-to-parse' => "Ni lwyddwyd i ddosrannu'r cynnwys sydd ar ffurf $2 yn ôl y model $1: $3",
+'invalid-content-data' => "Data annilys i'r cynnwys",
+'content-not-allowed-here' => 'Nid yw cynnwys ar ffurf "$1" yn cael ei ganiatau ar y dudalen [[$2]]',
# Content models
'content-model-wikitext' => 'cystrawen wici',
'search-interwiki-default' => 'Y canlyniadau o $1:',
'search-interwiki-more' => '(rhagor)',
'search-relatedarticle' => 'Erthyglau eraill tebyg',
-'mwsuggest-disable' => 'Analluogi awgrymiadau AJAX',
+'mwsuggest-disable' => 'Analluogi awgrymiadau chwilio',
'searcheverything-enable' => 'Chwilio pob parth',
'searchrelated' => 'erthyglau eraill tebyg',
'searchall' => 'oll',
'backend-fail-notsame' => "Mae ffeil gwahanol a'r enw $1 arni eisoes ar gael.",
'backend-fail-invalidpath' => 'Nid yw $1 yn lwybr dilys i roi ffeil ar gadw.',
'backend-fail-delete' => "Wedi methu dileu'r ffeil $1.",
+'backend-fail-describe' => 'Ni lwyddwyd newid metadata\'r ffeil "$1".',
'backend-fail-alreadyexists' => "Mae'r ffeil $1 ar gael yn barod.",
'backend-fail-store' => "Wedi methu rhoi'r ffeil $1 ar gadw yn $2.",
'backend-fail-copy' => "Wedi methu copïo'r ffeil $1 i $2.",
'enotif_subject_restored' => 'Adferwyd y dudalen $1 ar {{SITENAME}} gan {{gender:$2|$2}}',
'enotif_subject_changed' => 'Newidiwyd y dudalen $1 ar {{SITENAME}} gan {{gender:$2|$2}}',
'enotif_body_intro_deleted' => 'Dilewyd y dudalen $1 ar {{SITENAME}} ar $PAGEEDITDATE gan {{gender:$2|$2}}, gweler $3.',
+'enotif_body_intro_created' => 'Dechrëwyd y dudalen $1 ar {{SITENAME}} ar $PAGEEDITDATE gan {{gender:$2|$2}}. Gweler y diwygiad cyfredol ohoni ar $3.',
+'enotif_body_intro_moved' => 'Symudwyd y dudalen $1 ar {{SITENAME}} ar $PAGEEDITDATE gan {{gender:$2|$2}}. Gweler y diwygiad cyfredol ar $3.',
+'enotif_body_intro_restored' => 'Adferwyd y dudalen $1 ar {{SITENAME}} ar $PAGEEDITDATE gan {{gender:$2|$2}}. Gweler y diwygiad cyfredol ohoni ar $3.',
+'enotif_body_intro_changed' => 'Newidiwyd y dudalen $1 ar {{SITENAME}} ar $PAGEEDITDATE gan {{gender:$2|$2}}. Gweler y diwygiad cyfredol ohoni ar $3.',
'enotif_lastvisited' => 'Gwelwch $1 am bob newid ers eich ymweliad blaenorol.',
'enotif_lastdiff' => 'Gallwch weld y newid ar $1.',
'enotif_anon_editor' => 'defnyddiwr anhysbys $1',
[[Special:BrokenRedirects|dudalennau ailgyfeirio nad ydynt yn ailgyfeirio]].
Chi sy'n gyfrifol am sicrhau bod cysylltiadau yn cyfeirio at y tudalennau cywir.
-Sylwer '''na''' chaiff y dudalen ei symud os oes tudalen a'r enw newydd ar gael yn barod, oni bai ei bod hi'n dudalen ailgyfeirio ac nad oes hanes golygu ganddi.
+Sylwer '''na''' chaiff y dudalen ei symud os oes tudalen a'r enw newydd ar gael yn barod, oni bai bod y dudalen a'r enw newydd yn dudalen ailgyfeirio ac nad oes hanes golygu ganddi.
Mae hyn yn golygu y gallwch ailenwi tudalen yn ôl i'w henw gwreiddiol os ydych yn gwneud camgymeriad, ond na allwch drosysgrifo tudalen sy'n bodoli'n barod.
'''Rhybudd!'''
'pageinfo-robot-noindex' => 'Ni ellir ei rhestru gan beiriannau chwilio',
'pageinfo-views' => 'Nifer yr ymweliadau',
'pageinfo-watchers' => 'Nifer gwylwyr y dudalen',
+'pageinfo-few-watchers' => 'Llai na $1 {{PLURAL:$1|gwyliwr|gwyliwr|wyliwr|gwyliwr|o wylwyr}}',
'pageinfo-redirects-name' => "Nifer yr ailgyfeiriadau i'r dudalen hon",
'pageinfo-subpages-name' => "Nifer yr is-dudalennau i'r dudalen hon",
'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|ailgyfeiriad}}; $3 {{PLURAL:$3|is-dudalen arall}})',
'file-nohires' => 'Wedi ei chwyddo hyd yr eithaf.',
'svg-long-desc' => 'Ffeil SVG, maint mewn enw $1 × $2 picsel, maint y ffeil: $3',
'svg-long-desc-animated' => 'Ffeil SVG animeiddiedig, maint mewn enw $1 × $2 picsel, maint y ffeil: $3',
+'svg-long-error' => 'Ffeil SVG annilys: $1',
'show-big-image' => 'Maint llawn',
'show-big-image-preview' => 'Maint y rhagolwg: $1.',
'show-big-image-other' => '{{PLURAL:$2|Datrysiad arall|Datrysiad arall|Datrysiadau eraill|Datrysiadau eraill|Datrysiadau eraill|Datrysiadau eraill}}: $1.',
'version-license' => 'Trwydded',
'version-poweredby-credits' => "Mae'r wici hwn wedi'i nerthu gan '''[//www.mediawiki.org/ MediaWiki]''', hawlfraint © 2001 - $1 $2.",
'version-poweredby-others' => 'eraill',
+'version-credits-summary' => 'Hoffem gydnabod cyfraniad y bobl canlynol i [[Special:Version|MediaWiki]].',
'version-license-info' => "Meddalwedd rhydd yw MediaWiki; gallwch ei ddefnyddio a'i addasu yn ôl termau'r GNU General Public License a gyhoeddir gan Free Software Foundation; naill ai fersiwn 2 o'r Drwydded, neu unrhyw fersiwn diweddarach o'ch dewis.
Cyhoeddir MediaWiki yn y gobaith y bydd o ddefnydd, ond HEB UNRHYW WARANT; heb hyd yn oed gwarant ymhlyg o FARCHNADWYEDD nag o FOD YN ADDAS AT RYW BWRPAS ARBENNIG. Gweler y GNU General Public License am fanylion pellach.
'search-interwiki-default' => '{{PLURAL:$1|et resultat|$1 resultater}}:',
'search-interwiki-more' => '(mere)',
'search-relatedarticle' => 'Relateret',
-'mwsuggest-disable' => 'Slå AJAX-forslag fra',
+'mwsuggest-disable' => 'Slå søgningsforslag fra',
'searcheverything-enable' => 'Søg i alle navnerum',
'searchrelated' => 'relateret',
'searchall' => 'alle',
# Move page
'move-page' => 'Flyt $1',
'move-page-legend' => 'Flyt side',
-'movepagetext' => "Når du bruger formularen herunder vil du få omdøbt en side og flyttet hele sidens historie til det nye navn. Den gamle titel vil blive en omdirigeringsside til den nye titel. Henvisninger til den gamle titel vil ikke blive ændret. Sørg for at tjekke for dobbelte eller dårlige omdirigeringer. Du er ansvarlig for, at alle henvisninger stadig peger derhen, hvor det er meningen de skal pege. Bemærk at siden '''ikke''' kan flyttes hvis der allerede er en side med den nye titel, medmindre den side er tom eller er en omdirigering uden nogen historie. Det betyder at du kan flytte en side tilbage hvor den kom fra, hvis du kommer til at lave en fejl. <b>ADVARSEL!</b> Dette kan være en drastisk og uventet ændring for en populær side; vær sikker på, at du forstår konsekvenserne af dette før du fortsætter.",
+'movepagetext' => "Når du bruger formularen herunder, vil du få omdøbt en side og flyttet hele sidens historie til det nye navn.
+Den gamle titel vil blive en omdirigeringsside til den nye titel.
+Du kan opdatere omdirigeringer, der peger på den oprindelige titel, automatisk.
+Hvis du vælger ikke at opdatere dem automatisk, så sørg for at tjekke efter [[Special:DoubleRedirects|dobbelte]] eller [[Special:BrokenRedirects|dårlige omdirigeringer]].
+Du er ansvarlig for, at alle henvisninger stadig peger derhen, hvor det er meningen de skal pege.
+
+Bemærk at siden '''ikke''' kan flyttes, hvis der allerede er en side med den nye titel, medmindre den side er en omdirigering uden nogen redigeringshistorik.
+Det betyder, at du kan flytte en side tilbage hvor den kom fra, hvis du kommer til at lave en fejl, og det betyder, at du ikke kan overskrive en eksisterende side.
+
+'''ADVARSEL!'''
+Dette kan være en drastisk og uventet ændring for en populær side; vær sikker på, at du forstår konsekvenserne af dette før du fortsætter.",
'movepagetext-noredirectfixer' => "Brug formularen herunder du vil omdøbe en side og flyttet hele sidens historie til det nye navn.
Den gamle titel vil blive en omdirigeringsside til den nye titel.
Vær sikker på at tjekke for [[Special:DoubleRedirects|dobbelte]] eller [[Special:BrokenRedirects|ødelagte omdirigeringer]].
'pageinfo-robot-noindex' => 'Ikke indekserbar',
'pageinfo-views' => 'Antal visninger',
'pageinfo-watchers' => 'Antal brugere, der overvåger siden',
+'pageinfo-few-watchers' => 'Overvåget af færre end $1 {{PLURAL:$1|bruger|brugere}}',
'pageinfo-redirects-name' => 'Omdirigeringer til denne side',
'pageinfo-subpages-name' => 'Undersider til denne side',
'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|omdirigering|omdirigeringer}}; $3 {{PLURAL:$3|der ikke er en omdirigering|der ikke er omdirigeringer}})',
Gronidło za toś to nowe konto dajo se na boku ''[[Special:ChangePassword|Gronidło změniś]]'' pśi pśizjawjenju změniś.",
'newarticle' => '(Nowy nastawk)',
'newarticletext' => "Sy slědował wótkaz na bok, kótaryž hyšći njeeksistěrujo.
-Aby bok napórał, zapiš do kašćika dołojce (glědaj [[{{MediaWiki:Helppage}}|bok pomocy]] za dalšne informacije). Jolic sy zamólnje how, klikni na tłocašk '''Slědk'' w swójom wobglědowaku.",
+Aby bok napórał, zapiš do kašćika dołojce (glědaj [[{{MediaWiki:Helppage}}|bok pomocy]] za dalšne informacije). Jolic sy zamólnje how, klikni na tłocašk '''Slědk''' w swójom wobglědowaku.",
'anontalkpagetext' => "---- ''Toś jo diskusijny bok za anonymnego wužywarja, kótaryž njejo dotychměst žedno wužywarske konto załožył abo swójo konto njewužywa. Togodla dejmy numerisku IP-adresu wužywaś, aby jogo/ju identificěrowali. Taka IP-adresa dajo se wót wšakich wužywarjow wužywaś. Jolic sy anonymny wužywaŕ a se mysliš, až su se njerelewantne komentary na tebje měrili, [[Special:UserLogin/signup|załož konto]] abo [[Special:UserLogin|pśizjaw se]], aby se w pśichoźe zmuśenje z drugimi anonymnymi wužywarjami wobinuł.''",
'noarticletext' => 'Dotychměst toś ten bok hyšći njewopśimujo žeden tekst. Móžoš w drugich bokach [[Special:Search/{{PAGENAME}}|titel togo boka pytaś]], <span class="plainlinks">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} wótpowědne protokole pytaś] abo [{{fullurl:{{FULLPAGENAME}}|action=edit}} toś ten bok wobźěłaś]</span>.',
'noarticletext-nopermission' => 'Tuchylu njejo žeden tekst na toś tom boku.
'newwindow' => '(ανοίγει σε ξεχωριστό παράθυρο)',
'cancel' => 'Ακύρωση',
'moredotdotdot' => 'Περισσότερα...',
+'morenotlisted' => 'Περισσότερα δεν αναφέρονται...',
'mypage' => 'Σελίδα',
'mytalk' => 'Συζήτηση',
'anontalk' => 'Οι συζητήσεις αυτής της διεύθυνσης IP',
# E-mail sending
'php-mail-error-unknown' => 'Άγνωστο σφάλμα στη συνάρτηση mail() της PHP.',
'user-mail-no-addy' => 'Προσπαθήσατε να στείλετε e-mail χωρίς μια διεύθυνση e-mail.',
+'user-mail-no-body' => 'Προσπάθησε να στείλει e-mail με ένα κενό ή αδικαιολόγητα σύντομο σώμα.',
# Change password dialog
'resetpass' => 'Αλλαγή κωδικού πρόσβασης',
'search-interwiki-default' => '$1 αποτελέσματα:',
'search-interwiki-more' => '(περισσότερα)',
'search-relatedarticle' => 'Σχετικά',
-'mwsuggest-disable' => 'Î\91Ï\80ενεÏ\81γοÏ\80οίηÏ\83η Ï\84Ï\89ν Ï\80Ï\81οÏ\84άÏ\83εÏ\89ν AJAX',
+'mwsuggest-disable' => 'Î\91Ï\80ενεÏ\81γοÏ\80οίηÏ\83η Ï\80Ï\81οÏ\84άÏ\83εÏ\89ν αναζήÏ\84ηÏ\83ηÏ\82',
'searcheverything-enable' => 'Αναζήτηση σε όλες τις περιοχές ονομάτων',
'searchrelated' => 'σχετικά',
'searchall' => 'όλα',
'showingresults' => "Δείτε παρακάτω μέχρι τα {{PLURAL:$1|'''1'''αποτέλεσμα|'''$1''' αποτελέσματα}} ξεκινώντας με #'''$2'''.",
'showingresultsnum' => "Εμφάνιση {{PLURAL:$3|'''1''' αποτελέσματος|'''$3''' αποτελεσμάτων}} αρχίζοντας με #'''$2'''.",
'showingresultsheader' => "{{PLURAL:$5|Αποτέλεσμα '''$1''' από '''$3'''|Αποτελέσματα '''$1 - $2''' από '''$3'''}} για '''$4'''",
-'nonefound' => "'''ΣημείÏ\89Ï\83η''': Î\9fι ανεÏ\80ιÏ\84Ï\85Ï\87είÏ\82 αναζηÏ\84ήÏ\83ειÏ\82 οÏ\86είλονÏ\84αι Ï\83Ï\85νήθÏ\89Ï\82 Ï\83Ï\84ο Ï\8cÏ\84ι ÎÏ\87οÏ\85με Ï\83Ï\85μÏ\80εÏ\81ιλάβει Ï\83Ï\84α κÏ\81ιÏ\84ήÏ\81ια μÏ\8cνο Ï\83Ï\85γκεκÏ\81ιμÎνεÏ\82 Ï\80εÏ\81ιοÏ\87ÎÏ\82 ονομάÏ\84Ï\89ν. Î\94οκιμάÏ\83Ï\84ε να Ï\80Ï\81οÏ\83θÎÏ\83εÏ\84ε Ï\84ο Ï\80Ï\81Ï\8cθεμα ''all:'' - ''Ï\8cλα:'' Ï\83Ï\84ην αναζήÏ\84ηÏ\83η για να Ï\88άξεÏ\84ε Ï\83ε Ï\8cλα Ï\84α Ï\80εÏ\81ιεÏ\87Ï\8cμενα (Ï\83Ï\85μÏ\80εÏ\81ιλαμβανÏ\8cμενÏ\89ν Ï\84Ï\89ν Ï\83ελίδÏ\89ν Ï\83Ï\85ζηÏ\84ήÏ\83εÏ\89Ï\82, Ï\80Ï\81οÏ\84á½\90Ï\80Ï\89ν κÏ\84λ.) ή Ï\87Ï\81ηÏ\83ιμοÏ\80οιήÏ\83Ï\84ε Ï\84ην εÏ\80ιθÏ\85μηÏ\84ή Ï\80εÏ\81ιοÏ\87ή ονομάÏ\84Ï\89ν.",
+'nonefound' => "'''ΣημείÏ\89Ï\83η''': Î\9fι ανεÏ\80ιÏ\84Ï\85Ï\87είÏ\82 αναζηÏ\84ήÏ\83ειÏ\82 οÏ\86είλονÏ\84αι Ï\83Ï\85νήθÏ\89Ï\82 Ï\83Ï\84ο Ï\8cÏ\84ι ÎÏ\87οÏ\85με Ï\83Ï\85μÏ\80εÏ\81ιλάβει Ï\83Ï\84α κÏ\81ιÏ\84ήÏ\81ια μÏ\8cνο Ï\83Ï\85γκεκÏ\81ιμÎνοÏ\85Ï\82 ονομαÏ\84οÏ\87Ï\8eÏ\81οÏ\85Ï\82. Î\94οκιμάÏ\83Ï\84ε να Ï\80Ï\81οÏ\83θÎÏ\83εÏ\84ε Ï\84ο Ï\80Ï\81Ï\8cθεμα ''all:'' - ''Ï\8cλα:'' Ï\83Ï\84ην αναζήÏ\84ηÏ\83η για να Ï\88άξεÏ\84ε Ï\83ε Ï\8cλα Ï\84α Ï\80εÏ\81ιεÏ\87Ï\8cμενα (Ï\83Ï\85μÏ\80εÏ\81ιλαμβανÏ\8cμενÏ\89ν Ï\84Ï\89ν Ï\83ελίδÏ\89ν Ï\83Ï\85ζηÏ\84ήÏ\83εÏ\89Ï\82, Ï\80Ï\81οÏ\84Ï\8dÏ\80Ï\89ν κÏ\84λ.) ή Ï\87Ï\81ηÏ\83ιμοÏ\80οιήÏ\83Ï\84ε Ï\84ον εÏ\80ιθÏ\85μηÏ\84Ï\8c ονομαÏ\84οÏ\87Ï\8eÏ\81ο.",
'search-nonefound' => 'Δεν υπάρχουν αποτελέσματα που να ταιριάζουν με την αναζήτησή σας.',
'powersearch' => 'Αναλυτική αναζήτηση',
'powersearch-legend' => 'Αναλυτική αναζήτηση',
# Random page
'randompage' => 'Τυχαία σελίδα',
-'randompage-nopages' => 'Δεν υπάρχουν σελίδες σε {{PLURAL:$2|αυτή την περιοχή ονομάτων|αυτές τις περιοχές ονομάτων}}: $1.',
+'randompage-nopages' => 'Δεν υπάρχουν σελίδες {{PLURAL:$2|στον ακόλουθο ονοματοχώρο|στους ακόλουθους ονοματοχώρους}}: $1.',
# Random redirect
'randomredirect' => 'Τυχαία ανακατεύθυνση',
-'randomredirect-nopages' => 'Δεν υπάρχουν ανακατευθύνσεις σε αυτή την περιοχή ονόματος "$1".',
+'randomredirect-nopages' => 'Δεν υπάρχουν ανακατευθύνσεις στον ονοματοχώρο "$1".',
# Statistics
'statistics' => 'Στατιστικά',
'mostinterwikis' => 'Σελίδες με τους περισσότερους διαγλωσσικούς συνδέσμους',
'mostrevisions' => 'Άρθρα με τις περισσότερες αναθεωρήσεις',
'prefixindex' => 'Όλες οι σελίδες με πρόθεμα',
-'prefixindex-namespace' => 'Όλες οι σελίδες με πρόθεμα (περιοχής $1)',
+'prefixindex-namespace' => 'Όλες οι σελίδες με πρόθεμα (ονοματοχώρος $1)',
'shortpages' => 'Σύντομες σελίδες',
'longpages' => 'Εκτενείς σελίδες',
'deadendpages' => 'Αδιέξοδες σελίδες',
'allpagesfrom' => 'Εμφάνιση σελίδων που αρχίζουν από:',
'allpagesto' => 'Εμφάνιση σελίδων που λήγουν σε:',
'allarticles' => 'Όλα τα άρθρα',
-'allinnamespace' => 'Î\8cλεÏ\82 οι Ï\83ελίδεÏ\82 (Ï\83Ï\84ην Ï\80εÏ\81ιοÏ\87ή $1)',
+'allinnamespace' => 'Î\8cλεÏ\82 οι Ï\83ελίδεÏ\82 (Ï\83Ï\84ον ονομαÏ\84οÏ\87Ï\8eÏ\81ο $1)',
'allnotinnamespace' => 'Όλες οι σελίδες (που δεν βρίσκονται στην περιοχή $1)',
'allpagesprev' => 'Προηγούμενες',
'allpagesnext' => 'Επόμενες',
'prot_1movedto2' => 'Η [[$1]] μετακινήθηκε στη θέση [[$2]]',
'protect-badnamespace-title' => 'Μη-προστατευόμενη ομάδα σελίδων',
'protect-badnamespace-text' => 'Οι σελίδες σε αυτόν τον ονοματοχώρο δεν μπορούν να κλειδωθούν.',
+'protect-norestrictiontypes-title' => 'Μη-προστατευόμενη σελίδα',
'protect-legend' => 'Επιβεβαίωση κλειδώματος',
'protectcomment' => 'Αιτία:',
'protectexpiry' => 'Λήξη',
'undelete-show-file-submit' => 'Ναι',
# Namespace form on various pages
-'namespace' => 'ΠεÏ\81ιοÏ\87ή:',
+'namespace' => 'Î\9fνομαÏ\84οÏ\87Ï\8eÏ\81οÏ\82:',
'invert' => 'Αντιστροφή της επιλογής',
'tooltip-invert' => 'Επιλέξτε αυτό το πλαίσιο για να αποκρύψετε αλλαγές σε σελίδες μέσα στον επιλεγμένο χώρο ονομάτων (και των συσχετικών χώρων ονομάτων, εάν επιλεγχθούν)',
'namespace_association' => 'Συσχετισμένος ονοματοχώρος',
-'tooltip-namespace_association' => 'Επιλέξτε αυτό το πλαίσιο για να συμπεριλάβετε τον χώρο ονομάτων συζήτησης ή θέματος που σχετίζονται με τον επιλεγμένο χώρο ονομάτων',
+'tooltip-namespace_association' => 'Επιλέξτε αυτό το κουτάκι για να συμπεριλάβετε τον ονοματοχώρο συζήτησης ή θέματος που σχετίζεται με τον επιλεγμένο ονοματοχώρο',
'blanknamespace' => '(Αρχική περιοχή)',
# Contributions
'whatlinkshere-page' => 'Σελίδα:',
'linkshere' => "Οι ακόλουθες σελίδες συνδέουν στη σελίδα '''[[:$1]]''':",
'nolinkshere' => "Δεν υπάρχουν σελίδες που να συνδέουν στη σελίδα '''[[:$1]]'''.",
-'nolinkshere-ns' => "Î\9aαμία Ï\83ελίδα δεν Ï\83Ï\85νδÎει Ï\83Ï\84ο '''[[:$1]]''' Ï\83Ï\84ην εÏ\80ιλεγμÎνη Ï\80εÏ\81ιοÏ\87ή ονομάÏ\84Ï\89ν.",
+'nolinkshere-ns' => "Î\9aαμία Ï\83ελίδα δεν Ï\83Ï\85νδÎει Ï\83Ï\84ο '''[[:$1]]''' Ï\83Ï\84ον εÏ\80ιλεγμÎνο ονομαÏ\84οÏ\87Ï\8eÏ\81ο.",
'isredirect' => 'σελίδα ανακατεύθυνσης',
'istemplate' => 'ενσωμάτωση',
'isimage' => 'σύνδεσμος αρχείου',
Αν επιλέξετε να μην ενημερωθούν αυτόματα, μην ξεχάσετε να ελέγξετε για [[Special:DoubleRedirects|διπλές]] ή [[Special:BrokenRedirects|κατεστραμμένες ανακατευθύνσεις]].
Είναι δική σας ευθύνη να επιβεβαιώσετε ότι οι σύνδεσμοι εξακολουθούν να δείχνουν προς τη σωστή κατεύθυνση.
-Λάβετε υπόψιν σας ότι η σελίδα '''δεν''' θα μετακινηθεί αν υπάρχει ήδη μια άλλη σελίδα υπό το νέο τίτλο, εκτός αν η σελίδα αυτή είναι κενή ή ανακατεύθυνση και δεν έχει ιστορικό επεξεργασίας.
+Λάβετε υπόψιν σας ότι η σελίδα '''δεν''' θα μετακινηθεί αν υπάρχει ήδη μια άλλη σελίδα υπό το νέο τίτλο, εκτός αν η σελίδα αυτή είναι ανακατεύθυνση και δεν έχει ιστορικό επεξεργασίας.
+
Αυτό σημαίνει ότι σε περίπτωση λάθους μπορείτε να μετονομάσετε ξανά μια σελίδα δίνοντας της την αρχική της ονομασία αλλά δεν μπορείτε να αντικαταστήσετε μια υπάρχουσα σελίδα.
'''ΠΡΟΣΟΧΗ!'''
'delete_and_move_confirm' => 'Ναι, διέγραψε τη σελίδα',
'delete_and_move_reason' => 'Διαγράφηκε για να δημιουργήσει χώρο για μετακίνηση από το "[[$1]]"',
'selfmove' => 'Ο τίτλος προέλευσης είναι ο ίδιος με τον τίτλο προορισμού -δεν είναι δυνατόν να μετακινηθεί μια σελίδα προς τον εαυτό της.',
-'immobile-source-namespace' => 'Î\94εν μÏ\80οÏ\81οÏ\8dν να μεÏ\84ακινηθοÏ\8dν Ï\83ελίδεÏ\82 Ï\83Ï\84η Ï\80εÏ\81ιοÏ\87ή "$1"',
-'immobile-target-namespace' => 'Î\94εν μÏ\80οÏ\81οÏ\8dν να μεÏ\84ακινηθοÏ\8dν Ï\83ελίδεÏ\82 Ï\83Ï\84ην Ï\80εÏ\81ιοÏ\87ή "$1"',
+'immobile-source-namespace' => 'Î\94εν μÏ\80οÏ\81οÏ\8dν να μεÏ\84ακινηθοÏ\8dν Ï\83ελίδεÏ\82 Ï\83Ï\84ον ονομαÏ\84οÏ\87Ï\8eÏ\81ο "$1"',
+'immobile-target-namespace' => 'Î\94εν μÏ\80οÏ\81οÏ\8dν να μεÏ\84ακινηθοÏ\8dν Ï\83ελίδεÏ\82 Ï\83Ï\84ον ονομαÏ\84οÏ\87Ï\8eÏ\81ο "$1"',
'immobile-target-namespace-iw' => 'Ο σύνδεσμος-interwiki δεν είναι έγκυρος στόχος για την μετακίνηση σελίδας.',
'immobile-source-page' => 'Αυτή η σελίδα δεν είναι δυνατό να μετακινηθεί.',
'immobile-target-page' => 'Δεν μπορεί να μετακινηθεί σε αυτόν τον τίτλο.',
'import-interwiki-history' => 'Αντιγραφή όλων των εκδόσεων του ιστορικού για αυτή τη σελίδα',
'import-interwiki-templates' => 'Συμπερίληψη όλων των προτύπων',
'import-interwiki-submit' => 'Εισαγωγή',
-'import-interwiki-namespace' => 'Î Ï\81οοÏ\81ιÏ\83μÏ\8cÏ\82 Ï\83Ï\84ην Ï\80εÏ\81ιοÏ\87ή ονομάÏ\84Ï\89ν:',
+'import-interwiki-namespace' => 'Î Ï\81οοÏ\81ιÏ\83μÏ\8cÏ\82 Ï\83Ï\84ον ονομαÏ\84οÏ\87Ï\8eÏ\81ο:',
'import-upload-filename' => 'Όνομα αρχείου:',
'import-comment' => 'Σχόλιο:',
'importtext' => 'Παρακαλούμε εξάγετε το αρχείο από το πηγαίο wiki (χρησιμοποιώντας το [[Special:Export|εργαλείο εξαγωγής]]), αποθηκεύστε το στον υπολογιστή σας και μεταφορτώστε το από εκεί.',
'pageinfo-protect-cascading' => 'Οι προστασίες ξεκινούν τη διαδοχή τους από εδώ',
'pageinfo-protect-cascading-yes' => 'Ναι',
'pageinfo-protect-cascading-from' => 'Οι προστασίες ξεκινούν τη διαδοχή τους από',
+'pageinfo-category-info' => 'Πληροφορίες κατηγορίας',
'pageinfo-category-pages' => 'Αριθμός σελίδων',
'pageinfo-category-subcats' => 'Αριθμός υποκατηγοριών',
'pageinfo-category-files' => 'Αριθμός αρχείων',
'minutes' => '{{PLURAL:$1|$1 λεπτό|$1 λεπτά}}',
'hours' => '{{PLURAL:$1|$1 ώρα|$1 ώρες}}',
'days' => '{{PLURAL:$1|$1 μέρα|$1 μέρες}}',
+'months' => '{{PLURAL:$1|$1 μήνας|$1 μήνες}}',
+'years' => '{{PLURAL:$1|$1 έτος|$1 έτη}}',
'ago' => '$1 πριν',
'just-now' => 'μόλις τώρα',
'api-error-ok-but-empty' => 'Εσωτερικό σφάλμα: δεν υπάρχει απάντηση από το διακομιστή.',
'api-error-overwrite' => 'Αντικατάσταση ενός υπάρχοντος αρχείου δεν επιτρέπεται.',
'api-error-stashfailed' => 'Εσωτερικό σφάλμα: ο διακομιστής απέτυχε να αποθηκεύσει το προσωρινό αρχείο.',
+'api-error-publishfailed' => 'Εσωτερικό σφάλμα: ο διακομιστής απέτυχε να αποθηκεύσει το προσωρινό αρχείο.',
'api-error-timeout' => 'Ο διακομιστής δεν αποκρίθηκε εντός του αναμενόμενου χρόνου.',
'api-error-unclassified' => 'Προέκυψε ένα άγνωστο σφάλμα.',
'api-error-unknown-code' => 'Άγνωστο σφάλμα: "$1"',
# E-mail user
'mailnologin' => 'Ninguna dirección de envio',
'mailnologintext' => 'Debes [[Special:UserLogin|iniciar sesión]] y tener una dirección electrónica válida en tus [[Special:Preferences|preferencias]] para enviar un correo electrónico a otros usuarios.',
-'emailuser' => 'Enviar correo electrónico a este usuario',
+'emailuser' => 'Enviar un correo electrónico a {{GENDER:{{BASEPAGENAME}}|este usuario|esta usuaria}}',
'emailuser-title-target' => 'Enviar un correo electrónico a {{GENDER:$1|este usuario|esta usuaria}}',
'emailuser-title-notarget' => 'Enviar un correo electrónico al usuario',
'emailpage' => 'Correo electrónico a usuario',
'search-interwiki-default' => 'Resultados en $1:',
'search-interwiki-more' => '(máis)',
'search-relatedarticle' => 'Relacionado',
-'mwsuggest-disable' => 'Deshabilitar as suxestións AJAX',
+'mwsuggest-disable' => 'Desactivar as suxestións de procura',
'searcheverything-enable' => 'Procurar en todos os espazos de nomes',
'searchrelated' => 'relacionado',
'searchall' => 'todo',
'action-sendemail' => 'enviar correos electrónicos',
# Recent changes
-'nchanges' => '$1 {{PLURAL:$1|cambio|cambios}}',
+'nchanges' => '$1 {{PLURAL:$1|modificación|modificacións}}',
'recentchanges' => 'Cambios recentes',
'recentchanges-legend' => 'Opcións dos cambios',
'recentchanges-summary' => 'Nesta páxina pode seguir as modificacións máis recentes feitas no wiki.',
'pageinfo-robot-noindex' => 'Non indexable',
'pageinfo-views' => 'Número de visitas',
'pageinfo-watchers' => 'Número de vixiantes da páxina',
+'pageinfo-few-watchers' => 'Menos de $1 {{PLURAL:$1|vixiante|vixiantes}}',
'pageinfo-redirects-name' => 'Redireccións cara a esta páxina',
'pageinfo-subpages-name' => 'Subpáxinas desta páxina',
'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|redirección|redireccións}}; $3 {{PLURAL:$3|non-redirección|non-redireccións}})',
'tags-description-header' => 'Descrición completa do significado',
'tags-hitcount-header' => 'Edicións etiquetadas',
'tags-edit' => 'editar',
-'tags-hitcount' => '$1 {{PLURAL:$1|cambio|cambios}}',
+'tags-hitcount' => '$1 {{PLURAL:$1|modificación|modificacións}}',
# Special:ComparePages
'comparepages' => 'Comparar páxinas',
'search-interwiki-default' => 'תוצאות ב{{GRAMMAR:תחילית|$1}}:',
'search-interwiki-more' => '(עוד)',
'search-relatedarticle' => 'קשור',
-'mwsuggest-disable' => 'ביטול הצעות AJAX',
+'mwsuggest-disable' => 'ביטול הצעות חיפוש',
'searcheverything-enable' => 'חיפוש בכל מרחבי השם',
'searchrelated' => 'קשור',
'searchall' => 'הכול',
'pageinfo-robot-noindex' => 'לא יכול להיאסף למפתחות חיפוש',
'pageinfo-views' => 'מספר הצפיות',
'pageinfo-watchers' => 'מספר העוקבים אחר הדף',
+'pageinfo-few-watchers' => 'פחות מ{{PLURAL:$1|עוקב אחד|־$1 עוקבים}}',
'pageinfo-redirects-name' => 'הפניות לדף זה',
'pageinfo-subpages-name' => 'דפי־משנה של דף זה',
'pageinfo-subpages-value' => '$1 ({{PLURAL:$2|הפניה אחת|$2 הפניות}}; {{PLURAL:$3|דף רגיל אחד|$3 דפים רגילים}})',
'search-interwiki-default' => '$1 találat',
'search-interwiki-more' => '(több)',
'search-relatedarticle' => 'Kapcsolódó',
-'mwsuggest-disable' => 'AJAX-alapú keresési javaslatok letiltása',
+'mwsuggest-disable' => 'Keresési javaslatok letiltása',
'searcheverything-enable' => 'Keresés az összes névtérben',
'searchrelated' => 'kapcsolódó',
'searchall' => 'mind',
'search-interwiki-default' => 'Hasil $1:',
'search-interwiki-more' => '(selanjutnya)',
'search-relatedarticle' => 'Berkaitan',
-'mwsuggest-disable' => 'Non-aktifkan saran AJAX',
+'mwsuggest-disable' => 'Non-aktifkan saran pencarian',
'searcheverything-enable' => 'Cari di semua ruang nama',
'searchrelated' => 'berkaitan',
'searchall' => 'semua',
'search-interwiki-default' => '$1 útkomur:',
'search-interwiki-more' => '(fleiri)',
'search-relatedarticle' => 'Tengt',
-'mwsuggest-disable' => 'Gera AJAX-uppástungur óvirkar',
+'mwsuggest-disable' => 'Gera leitar uppástungur óvirkar',
'searcheverything-enable' => 'Leita í öllum nafnrýmum',
'searchrelated' => 'tengt',
'searchall' => 'öllum',
# E-mail sending
'php-mail-error-unknown' => 'ამოუცნობი შეცდომა PHP-ის mail() ფუნქციაში',
'user-mail-no-addy' => 'ცდილობდა ელ-ფოსტის გაგზავნას ელ-ფოსტის მისამართის გარეშე.',
+'user-mail-no-body' => 'ცდილობდა ცარიელი ან უაზროდ მოკლე შინაარსის ელექტრონული წერილის გაგზავნას.',
# Change password dialog
'resetpass' => 'შეცვალეთ პაროლი',
'search-interwiki-default' => 'შედეგები $1-დან:',
'search-interwiki-more' => '(გაგრძელება)',
'search-relatedarticle' => 'დაკავშირებული',
-'mwsuggest-disable' => 'გათიშეთ AJAX დახმარებები',
+'mwsuggest-disable' => 'გათიშეთ ძიების შეთავაზებები',
'searcheverything-enable' => 'ძიება სახელთა ყველა სივრცეებში',
'searchrelated' => 'მიბმული',
'searchall' => 'ყველა',
'prefs-help-watchlist-token' => 'ამ ველის შევსება საიდუმლო გასაღებით შექმნის RSS ტრანსლაციას თქვენი კონტროლის სიისთვის.
ყველა, ვინც იცის გასაღები, შესძლებს იხილოს თქვენი კონტროლის სია. ფრთხილად იყავით საიდუმლო მნიშვნელობის არჩევისას.
თქვენ შეგიძლიათ გამოიყენოთ ასევე შემთვევითი მნიშვნელობა: $1',
-'savedprefs' => 'თქვენს მიერ შერჩეული პარამეტრები დამახსოვრებულია.',
+'savedprefs' => 'თქვენ მიერ შერჩეული პარამეტრები დამახსოვრებულია.',
'timezonelegend' => 'სასაათო სარტყელი:',
'localtime' => 'ადგილობრივი დრო:',
'timezoneuseserverdefault' => 'გამოიყენე ნაგულისხმევი პარამეტრები ($1)',
'prot_1movedto2' => '[[$1]] გადატანილია გვერდზე [[$2]]',
'protect-badnamespace-title' => 'დაუცველი სახელთა სივრცე',
'protect-badnamespace-text' => 'ამ სახელთა სივრცის გვერდების დაცვა შეუძლებელია.',
+'protect-norestrictiontypes-text' => 'ამ გვერდის დაცვა შეუძლებელია, რადგან მისთვის არ არსებობს შესაბამისი დაცვის ტიპი.',
'protect-norestrictiontypes-title' => 'დაუცველი გვერდი',
'protect-legend' => 'დაცვის დადასტურება',
'protectcomment' => 'მიზეზი:',
'pageinfo-robot-noindex' => 'არ ინდექსირდება',
'pageinfo-views' => 'ხილვების რაოდენობა',
'pageinfo-watchers' => 'გვერდის დამკვირვებელთა რაოდენობა',
+'pageinfo-few-watchers' => 'სულ მცირე $1 {{PLURAL:$1|დამკვირვებელი|დამკვირვებელი}}',
'pageinfo-redirects-name' => 'გადამისამართება ამ გვერდზე',
'pageinfo-redirects-value' => '$1',
'pageinfo-subpages-name' => 'ამ გვერდის ქვეგვერდები',
'search-interwiki-default' => '$1 Resultater:',
'search-interwiki-more' => '(méi)',
'search-relatedarticle' => 'A Verbindung',
-'mwsuggest-disable' => 'Ajax-Virschléi ausschalten',
+'mwsuggest-disable' => 'Sich-Virschléi ausschalten',
'searcheverything-enable' => 'An allen Nummraim sichen',
'searchrelated' => 'a Verbindng',
'searchall' => 'all',
'pageinfo-robot-noindex' => 'Net indexéierbar',
'pageinfo-views' => 'Zuel vun de Kéieren déi dës Säit gekuckt gouf',
'pageinfo-watchers' => "Zuel vun de Benotzer déi d'Säit iwwerwaachen",
+'pageinfo-few-watchers' => 'Manner wéi $1 {{PLURAL:$1|Benotzer deen iwwerwaacht|Benotzer déi iwwerwaachen}}',
'pageinfo-redirects-name' => 'Viruleedungen op dës Säit',
'pageinfo-subpages-name' => 'Ënnersäite vun dëser Säit',
'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|Viruleedung|Viruleedungen}}; $3 {{PLURAL:$3|Ënnersäit|Ënnersäiten}})',
'search-interwiki-default' => 'Најдено на $1:',
'search-interwiki-more' => '(уште)',
'search-relatedarticle' => 'Поврзано',
-'mwsuggest-disable' => 'Оневозможи AJAX-предлози',
+'mwsuggest-disable' => 'Оневозможи предлози во пребарувањето',
'searcheverything-enable' => 'Барај во сите именски простори',
'searchrelated' => 'поврзано',
'searchall' => 'сè',
'search-interwiki-default' => '$1 resultaten:',
'search-interwiki-more' => '(meer)',
'search-relatedarticle' => 'Gerelateerd',
-'mwsuggest-disable' => 'Suggesties via AJAX uitschakelen',
+'mwsuggest-disable' => 'Zoekuggesties uitschakelen',
'searcheverything-enable' => 'In alle naamruimten zoeken',
'searchrelated' => 'gerelateerd',
'searchall' => 'alle',
'search-interwiki-default' => '$1 ଫଳାଫଳ:',
'search-interwiki-more' => '(ଅଧିକ)',
'search-relatedarticle' => 'ଯୋଡ଼ା',
-'mwsuggest-disable' => 'AJAX ମତାମତକୁ ଅଚଳ କରାଇବେ',
+'mwsuggest-disable' => 'ଖୋଜା ମତାମତକୁ ଅଚଳ କରାଇବେ',
'searcheverything-enable' => 'ସବୁଗୁଡ଼ିକ ନେମସ୍ପେସରେ ଖୋଜିବେ',
'searchrelated' => 'ଯୋଡ଼ା',
'searchall' => 'ସବୁ',
'pageinfo-robot-noindex' => 'ସୂଚୀପତ୍ର କରିହେଉନଥିବା',
'pageinfo-views' => 'ଦେଖଣା ସଂଖ୍ୟା',
'pageinfo-watchers' => 'ପୃଷ୍ଠା ଦେଖଣାହାରି ସଂଖ୍ୟା',
+'pageinfo-few-watchers' => '$1ରୁ କମ {{PLURAL:$1|ଦେଖଣାକାରୀ|ଦେଖଣାକାରୀଗଣ}}',
'pageinfo-redirects-name' => 'ଏହି ପୃଷ୍ଠାକୁ ଲେଉଟାଣି ଅଛି',
'pageinfo-subpages-name' => 'ଏହି ପୃଷ୍ଠାରେ ଥିବା ଉପପୃଷ୍ଠା',
'pageinfo-subpages-value' => '$1 ($2 {{PLURAL:$2|redirect|redirects}}; $3 {{PLURAL:$3|non-redirect|non-redirects}})',
'protectlogpage' => 'Zabezpieczone',
'protectlogtext' => 'Poniżej znajduje się lista zmian w zabezpieczeniu pojedynczych stron.
Wszystkie aktywne zabezpieczenia odnajdziesz na liście [[Special:ProtectedPages|zabezpieczonych stron]].',
-'protectedarticle' => 'zabezpieczył [[$1]]',
-'modifiedarticleprotection' => 'zmienił poziom zabezpieczenia [[$1]]',
+'protectedarticle' => '{{GENDER:$2|zabezpieczył|zabezpieczyła}} [[$1]]',
+'modifiedarticleprotection' => '{{GENDER:$2|zmienił|zmieniła}} poziom zabezpieczenia [[$1]]',
'unprotectedarticle' => 'odbezpieczył [[$1]]',
'movedarticleprotection' => 'przeniósł ustawienia zabezpieczeń z [[$2]] do [[$1]]',
'protect-title' => 'Zmiana poziomu zabezpieczenia „$1”',
'blocklogpage' => 'Historia blokad',
'blocklog-showlog' => '{{GENDER:$1|Ten użytkownik był|Ta użytkowniczka była}} już wcześniej {{GENDER:$1|blokowany|blokowana}}. Poniżej znajduje się rejestr blokad:',
'blocklog-showsuppresslog' => '{{GENDER:$1|Ten użytkownik był|Ta użytkowniczka była}} już wcześniej {{GENDER:$1|blokowany oraz ukrywany|blokowana oraz ukrywana}}. Poniżej znajduje się rejestr ukrywania:',
-'blocklogentry' => '{{GENDER:$2|zablokował|zablokowała}} [[$1]], czas blokady: $2 $3',
-'reblock-logentry' => 'zmienia ustawienia blokady dla [[$1]], czas blokady: $2 $3',
+'blocklogentry' => 'zablokował(a) [[$1]], czas blokady: $2 $3',
+'reblock-logentry' => '{{GENDER:$2|zmienił|zmieniła}} ustawienia blokady dla [[$1]], czas blokady: $2 $3',
'blocklogtext' => 'Poniżej znajduje się lista blokad założonych i zdjętych z poszczególnych adresów IP.
Na liście nie znajdą się adresy IP, które zablokowano w sposób automatyczny.
By przejrzeć listę obecnie aktywnych blokad, przejdź na stronę [[Special:BlockList|zablokowanych adresów i użytkowników]].',
-'unblocklogentry' => 'zdejmuje blokadę $1',
+'unblocklogentry' => '{{GENDER:$2|zdjął|zdjęła}} blokadę $1',
'block-log-flags-anononly' => 'tylko anonimowi',
'block-log-flags-nocreate' => 'blokada tworzenia konta',
'block-log-flags-noautoblock' => 'automatyczne blokowanie wyłączone',
# Import log
'importlogpage' => 'Rejestr importu',
'importlogpagetext' => 'Rejestr przeprowadzonych importów stron z innych serwisów wiki.',
-'import-logentry-upload' => 'importuje [[$1]] przez przesłanie pliku',
+'import-logentry-upload' => '{{GENDER:$2|zaimportował|zaimportowała}} [[$1]] przez przesłanie pliku',
'import-logentry-upload-detail' => '$1 {{PLURAL:$1|wersja|wersje|wersji}}',
-'import-logentry-interwiki' => 'importuje $1 używając transwiki',
+'import-logentry-interwiki' => '{{GENDER:$2|zaimportował|zaimportowała}} $1 używając transwiki',
'import-logentry-interwiki-detail' => '$1 {{PLURAL:$1|wersja|wersje|wersji}} z $2',
# JavaScriptTest
'search-interwiki-default' => 'Resultados de $1:',
'search-interwiki-more' => '(mais)',
'search-relatedarticle' => 'Relacionado',
-'mwsuggest-disable' => 'Desactivar sugestões AJAX',
+'mwsuggest-disable' => 'Desactivar sugestões de pesquisa',
'searcheverything-enable' => 'Pesquisar em todos os espaços nominais',
'searchrelated' => 'relacionados',
'searchall' => 'todos',
'linksearch-pat' => 'Padrão de busca:',
'linksearch-ns' => 'Espaço nominal:',
'linksearch-ok' => 'Prosseguir',
-'linksearch-text' => 'É possível usar caracteres de substituição \'\'(wildcards)\'\', como por exemplo: "*.wikipedia.org".
+'linksearch-text' => 'É possível usar caracteres de substituição \'\'(wildcards)\'\', tais como "*.wikipedia.org".
É necessário, pelo menos, um domínio de topo, por exemplo "*.org".<br />
-Protocolos suportados: <code>$1</code> (não adicione nenhum destes na sua pesquisa).',
+{{PLURAL:$2|Protocolo suportado|Protocolos suportados}}: <code>$1</code> (será utilizado http:// se não for especificado um protocolo).',
'linksearch-line' => 'Link para $1 na página $2',
'linksearch-error' => "Caracteres de substituição ''(wildcards)'' só podem ser usados no início do endereço.",
# Special:ActiveUsers
'activeusers' => 'Utilizadores activos',
'activeusers-intro' => 'Esta é uma lista dos utilizadores com qualquer tipo de actividade {{PLURAL:$1|no último dia|nos últimos $1 dias}}.',
-'activeusers-count' => '$1 {{PLURAL:$1|edição recente|edições recentes}} {{PLURAL:$3|no último dia|nos últimos $3 dias}}',
+'activeusers-count' => '$1 {{PLURAL:$1|ação|ações}} {{PLURAL:$3|no último dia|nos últimos $3 dias}}',
'activeusers-from' => 'Mostrar utilizadores começando por:',
'activeusers-hidebots' => 'Esconder robôs',
'activeusers-hidesysops' => 'Esconder administradores',
'protect-cascadeon' => 'Esta página está protegida porque se encontra incluída {{PLURAL:$1|na página listada a seguir, protegida|nas páginas listadas a seguir, protegidas}} com protecção em cascata.
Pode alterar o nível de protecção desta página, mas isso não afectará a protecção em cascata.',
'protect-default' => 'Permitir todos os utilizadores',
-'protect-fallback' => 'É necessário o privilégio de "$1"',
+'protect-fallback' => 'Permitir apenas utilizadores com o privilégio de "$1"',
'protect-level-autoconfirmed' => 'Bloquear utilizadores novos e não registados',
'protect-level-sysop' => 'Apenas administradores',
'protect-summary-cascade' => 'em cascata',
* @author Crazymadlover
* @author Daemorris
* @author Danielsouzat
+ * @author Dicionarista
* @author Diego Queiroz
* @author Eduardo.mps
* @author Emufarmers
'search-interwiki-default' => 'Resultados de $1:',
'search-interwiki-more' => '(mais)',
'search-relatedarticle' => 'Relacionado',
-'mwsuggest-disable' => 'Desativar sugestões AJAX',
+'mwsuggest-disable' => 'Desativar sugestões de pesquisa',
'searcheverything-enable' => 'Procurar em todos os espaços nominais',
'searchrelated' => 'relacionados',
'searchall' => 'todos',
'resultsperpage' => 'Resultados por página:',
'stub-threshold' => 'Links para páginas de conteúdo aparecerão <a href="#" class="stub">desta forma</a> se elas possuírem menos de (bytes):',
'stub-threshold-disabled' => 'Desabilitado',
-'recentchangesdays' => 'Dias a serem exibidos nas Mudanças recentes:',
+'recentchangesdays' => 'Dias a apresentar nas mudanças recentes:',
'recentchangesdays-max' => '(máximo: $1 {{PLURAL:$1|dia|dias}})',
'recentchangescount' => 'Número de edições a serem exibidas por padrão:',
'prefs-help-recentchangescount' => 'Isto inclui mudanças recentes, histórico de páginas e registros.',
'recentchanges-feed-description' => 'Acompanhe neste feed as mudanças mais recentes do wiki.',
'recentchanges-label-newpage' => 'Esta edição criou uma nova página',
'recentchanges-label-minor' => 'Esta é uma edição menor',
-'recentchanges-label-bot' => 'Esta edição foi feita por um bot',
+'recentchanges-label-bot' => 'Esta edição foi feita por um robô',
'recentchanges-label-unpatrolled' => 'Esta edição ainda não foi patrulhada',
'rcnote' => "A seguir {{PLURAL:$1|está listada '''uma''' alteração ocorrida|estão listadas '''$1''' alterações ocorridas}} {{PLURAL:$2|no último dia|nos últimos '''$2''' dias}}, a partir das $5 de $4.",
'rcnotefrom' => "Seguem as alterações desde as '''$4''' de '''$3''' (limitadas a '''$1''').",
'numberofarticles' => array( '1', 'ARTIHKKALIIDMEARRI', 'NUMBEROFARTICLES' ),
);
+$separatorTransformTable = array( ',' => "\xc2\xa0", '.' => ',' );
+
$linkTrail = '/^(:?[a-zàáâçčʒǯđðéèêëǧǥȟíìîïıǩŋñóòôõßšŧúùûýÿüžþæøåäö]+)(.*)$/sDu';
$messages = array(
'search-interwiki-default' => 'Matokeo toka $1:',
'search-interwiki-more' => '(zaidi)',
'search-relatedarticle' => 'Zingine zinazofanana',
-'mwsuggest-disable' => 'Kutoonyesha mapendekezo ya AJAX',
+'mwsuggest-disable' => 'Kutoonyesha mapendekezo ya kutafuta',
'searcheverything-enable' => 'Tafuta katika maeneo yote ya wiki',
'searchrelated' => 'zingine zinazofanana',
'searchall' => 'zote',
$this->assertEquals(
' empty_string=""',
Html::expandAttributes( array( 'empty_string' => '' ) ),
- 'Attribtue values are always quoted (wgWellFormedXml): Empty string'
+ 'Attribute values are always quoted (wgWellFormedXml): Empty string'
);
$this->assertEquals(
' key="value"',
Html::expandAttributes( array( 'key' => 'value' ) ),
- 'Attribtue values are always quoted (wgWellFormedXml): Simple string'
+ 'Attribute values are always quoted (wgWellFormedXml): Simple string'
);
$this->assertEquals(
' one="1"',
Html::expandAttributes( array( 'one' => 1 ) ),
- 'Attribtue values are always quoted (wgWellFormedXml): Number 1'
+ 'Attribute values are always quoted (wgWellFormedXml): Number 1'
);
$this->assertEquals(
' zero="0"',
Html::expandAttributes( array( 'zero' => 0 ) ),
- 'Attribtue values are always quoted (wgWellFormedXml): Number 0'
+ 'Attribute values are always quoted (wgWellFormedXml): Number 0'
);
}